testcafe 3.3.0-rc.1 → 3.3.0

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.
@@ -3758,7 +3758,7 @@ window['%hammerhead%'].utils.removeInjectedScript();
3758
3758
  _a[RUNTIME_ERRORS.cannotImportESMInCommonsJS] = 'Cannot import the {esModule} ECMAScript module from {targetFile}. Use a dynamic import() statement or enable the --esm CLI flag.',
3759
3759
  _a[RUNTIME_ERRORS.setNativeAutomationForUnsupportedBrowsers] = 'The "{browser}" do not support the Native Automation mode. Use the "disable native automation" option to continue.',
3760
3760
  _a[RUNTIME_ERRORS.cannotRunLegacyTestsInNativeAutomationMode] = 'TestCafe cannot run legacy tests in Native Automation mode. Disable native automation to continue.',
3761
- _a[RUNTIME_ERRORS.setUserProfileInNativeAutomation] = 'The "userProfile" option is enabled for the following browsers: "{browsers}".\nThe "userProfile" option is not supported in the Native Automation mode.\nUse the "disable native automation" option or remove "userProfile" option to continue.',
3761
+ _a[RUNTIME_ERRORS.setUserProfileInNativeAutomation] = 'Cannot initialize the test run. When TestCafe uses native automation, it can only launch browsers with an empty user profile. Disable native automation, or remove the "userProfile" suffix from the following browser aliases: "{browsers}".',
3762
3762
  _a);
3763
3763
 
3764
3764
  var timeLimitedPromiseTimeoutExpiredTemplate = TEMPLATES[RUNTIME_ERRORS.timeLimitedPromiseTimeoutExpired];
@@ -1 +1 @@
1
- window["%hammerhead%"].utils.removeInjectedScript(),function gi(Ei){var vi=Ei.document;!function(d,u){var f="default"in d?d.default:d;u=u&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u;var e=f.utils.browser,t={alt:18,ctrl:17,meta:91,shift:16},n={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=","{":"[","}":"]",":":";",'"':"'","|":"\\","<":",",">":".","?":"/","±":"§"},o={backspace:8,capslock:20,delete:46,down:40,end:35,enter:13,esc:27,home:36,ins:45,left:37,pagedown:34,pageup:33,right:39,space:32,tab:9,up:38},r={left:e.isIE?"Left":"ArrowLeft",down:e.isIE?"Down":"ArrowDown",right:e.isIE?"Right":"ArrowRight",up:e.isIE?"Up":"ArrowUp",backspace:"Backspace",capslock:"CapsLock",delete:"Delete",end:"End",enter:"Enter",esc:"Escape",home:"Home",ins:"Insert",pagedown:"PageDown",pageup:"PageUp",space:e.isIE?"Spacebar":" ",tab:"Tab",alt:"Alt",ctrl:"Control",meta:"Meta",shift:"Shift"};function i(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}var a={modifiers:t,shiftMap:n,specialKeys:o,keyProperty:r,modifiersMap:{option:"alt"},symbolCharCodeToKeyCode:{96:192,91:219,93:221,92:220,59:186,39:222,44:188,45:e.isFirefox?173:189,46:190,47:191},symbolKeysCharCodes:{109:45,173:45,186:59,187:61,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39,110:46,96:48,97:49,98:50,99:51,100:52,101:53,102:54,103:55,104:56,105:57,107:43,106:42,111:47},reversedModifiers:i(t),reversedShiftMap:i(n),reversedSpecialKeys:i(o),reversedKeyProperty:i(r),newLineKeys:["enter","\n","\r"]},s=f.Promise,l=f.nativeMethods;function c(t){return new s(function(e){return l.setTimeout.call(Ei,e,t)})}var h=(p.prototype._startListening=function(){var t=this;this._emitter.onRequestSend(function(e){return t._onRequestSend(e)}),this._emitter.onRequestCompleted(function(e){return t._onRequestCompleted(e)}),this._emitter.onRequestError(function(e){return t._onRequestError(e)})},p.prototype._offListening=function(){this._emitter.offAll()},p.prototype._onRequestSend=function(e){this._collectingReqs&&this._requests.add(e)},p.prototype._onRequestCompleted=function(e){var t=this;c(this._delays.additionalRequestsCollection).then(function(){return t._onRequestFinished(e)})},p.prototype._onRequestFinished=function(e){this._requests.has(e)&&(this._requests.delete(e),this._collectingReqs||this._requests.size||!this._watchdog||this._finishWaiting())},p.prototype._onRequestError=function(e){this._onRequestFinished(e)},p.prototype._finishWaiting=function(){this._watchdog&&((0,d.nativeMethods.clearTimeout)(this._watchdog),this._watchdog=null),this._requests.clear(),this._offListening(),this._waitResolve()},p.prototype.wait=function(e){var n=this;return c(e?this._delays.pageInitialRequestsCollection:this._delays.requestsCollection).then(function(){return new d.Promise(function(e){var t;n._collectingReqs=!1,n._waitResolve=e,n._requests.size?(t=d.nativeMethods.setTimeout,n._watchdog=t(function(){return n._finishWaiting()},p.TIMEOUT)):n._finishWaiting()})})},p.TIMEOUT=3e3,p);function p(e,t){var n,o,r;void 0===t&&(t={}),this._delays={requestsCollection:null!==(n=t.requestsCollection)&&void 0!==n?n:50,additionalRequestsCollection:null!==(o=t.additionalRequestsCollection)&&void 0!==o?o:50,pageInitialRequestsCollection:null!==(r=t.pageInitialRequestsCollection)&&void 0!==r?r:50},this._emitter=e,this._waitResolve=null,this._watchdog=null,this._requests=new Set,this._collectingReqs=!0,this._startListening()}var m=function(e,t){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function g(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function E(e,a,s,l){return new(s=s||u)(function(n,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function r(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,r)}i((l=l.apply(e,a||[])).next())})}function v(n,o){var r,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function e(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;l&&t[l=0]&&(s=0),s;)try{if(r=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=o.call(n,s)}catch(e){t=[6,e],i=0}finally{r=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function y(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||((o=o||Array.prototype.slice.call(t,0,r))[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}var b=(C.prototype.on=function(e,t){this._eventsListeners[e]||(this._eventsListeners[e]=[]),this._eventsListeners[e].push(t)},C.prototype.once=function(n,o){var r=this;this.on(n,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.off(n,o),o.apply(void 0,e)})},C.prototype.off=function(e,t){var n=this._eventsListeners[e];n&&(this._eventsListeners[e]=d.nativeMethods.arrayFilter.call(n,function(e){return e!==t}))},C.prototype.offAll=function(e){e?this._eventsListeners[e]=[]:this._eventsListeners={}},C.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var o=this._eventsListeners[t];if(o)for(var r=0;r<o.length;r++)try{o[r].apply(this,e)}catch(e){if(!(e.message&&-1<e.message.indexOf("freed script")))throw e;this.off(t,o[r])}},C);function C(){this._eventsListeners={}}var S,w="request-send",T="request-completed",_="request-error",I=(g(P,S=b),P.prototype._addHammerheadListener=function(e,t){f.on(e,t),this._hammerheadListenersInfo.push({evt:e,listener:t})},P.prototype.onRequestSend=function(e){this.on(w,e)},P.prototype.onRequestCompleted=function(e){this.on(T,e)},P.prototype.onRequestError=function(e){this.on(_,e)},P.prototype.offAll=function(){S.prototype.offAll.call(this);for(var e=0,t=this._hammerheadListenersInfo;e<t.length;e++){var n=t[e];f.off.call(f,n.evt,n.listener)}},P);function P(){var n=S.call(this)||this;return n._hammerheadListenersInfo=[],n._addHammerheadListener(f.EVENTS.beforeXhrSend,function(e){var t=e.xhr;return n.emit(w,t)}),n._addHammerheadListener(f.EVENTS.xhrCompleted,function(e){var t=e.xhr;return n.emit(T,t)}),n._addHammerheadListener(f.EVENTS.xhrError,function(e){var t=e.xhr;return n.emit(_,t)}),n._addHammerheadListener(f.EVENTS.fetchSent,function(e){n.emit(w,e),e.then(function(){return n.emit(T,e)},function(){return n.emit(_,e)})}),n}var N=(R.prototype._startListening=function(){var t=this;this._emitter.onScriptAdded(function(e){return t._onScriptElementAdded(e)}),this._emitter.onScriptLoadedOrFailed(function(e){return t._onScriptLoadedOrFailed(e)})},R.prototype._offListening=function(){this._emitter.offAll()},R.prototype._onScriptElementAdded=function(e){var t=this,n=(0,d.nativeMethods.setTimeout)(function(){return t._onScriptLoadedOrFailed(e,!0)},R.LOADING_TIMEOUT);this._scripts.set(e,n)},R.prototype._onScriptLoadedOrFailed=function(e,t){var n=this;void 0===t&&(t=!1),this._scripts.has(e)&&(t||(0,d.nativeMethods.clearTimeout)(this._scripts.get(e)),this._scripts.delete(e),this._scripts.size||c(25).then(function(){n._waitResolve&&!n._scripts.size&&n._finishWaiting()}))},R.prototype._finishWaiting=function(){this._watchdog&&((0,d.nativeMethods.clearTimeout)(this._watchdog),this._watchdog=null),this._scripts.clear(),this._offListening(),this._waitResolve(),this._waitResolve=null},R.prototype.wait=function(){var n=this;return new d.Promise(function(e){var t;n._waitResolve=e,n._scripts.size?(t=d.nativeMethods.setTimeout,n._watchdog=t(function(){return n._finishWaiting()},R.TIMEOUT)):n._finishWaiting()})},R.TIMEOUT=3e3,R.LOADING_TIMEOUT=2e3,R);function R(e){this._emitter=e,this._watchdog=null,this._waitResolve=null,this._scripts=new Map,this._startListening()}var M,x=f.nativeMethods,O="script-added",F="script-loaded-or-failed",A=(g(L,M=b),L.prototype._onScriptElementAdded=function(e){var t,n=this,o=x.scriptSrcGetter.call(e);void 0!==o&&""!==o&&(this.emit(O,e),t=function(){x.removeEventListener.call(e,"load",t),x.removeEventListener.call(e,"error",t),n.emit(F,e)},x.addEventListener.call(e,"load",t),x.addEventListener.call(e,"error",t))},L.prototype.onScriptAdded=function(e){this.on(O,e)},L.prototype.onScriptLoadedOrFailed=function(e){this.on(F,e)},L.prototype.offAll=function(){M.prototype.offAll.call(this),f.off(f.EVENTS.scriptElementAdded,this._onScriptElementAdded)},L);function L(){var n=M.call(this)||this;return n._scriptElementAddedListener=function(e){var t=e.el;return n._onScriptElementAdded(t)},f.on(f.EVENTS.scriptElementAdded,n._scriptElementAddedListener),n}function V(e){var t="array"+e.charAt(0).toUpperCase()+e.slice(1),n=d.nativeMethods[t];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n.call.apply(n,e)}}var W=V("filter"),H=V("map"),k=V("slice"),D=V("splice"),U=V("unshift"),B=V("forEach"),q=V("indexOf"),G=V("some"),j=V("reverse"),z=V("reduce"),J=V("concat"),K=V("join"),Y=V("every");function X(e,t){if(d.nativeMethods.arrayFind)return d.nativeMethods.arrayFind.call(e,t);for(var n=e.length,o=0;o<n;o++)if(t(e[o],o,e))return e[o];return null}var Q=Object.freeze({__proto__:null,filter:W,map:H,slice:k,splice:D,unshift:U,forEach:B,indexOf:q,some:G,reverse:j,reduce:z,concat:J,join:K,every:Y,isArray:function(e){return"[object Array]"===d.nativeMethods.objectToString.call(e)},from:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(d.nativeMethods.arrayFrom)return d.nativeMethods.arrayFrom.apply(d.nativeMethods,y([e],t,!1));for(var o=[],r=e.length,i=0;i<r;i++)o.push(e[i]);return o},find:X,remove:function(e,t){var n=d.nativeMethods.arrayIndexOf.call(e,t);-1<n&&d.nativeMethods.arraySplice.call(e,n,1)},equals:function(e,t){if(e.length!==t.length)return!1;for(var n=0,o=e.length;n<o;n++)if(e[n]!==t[n])return!1;return!0},getCommonElement:function(e,t){for(var n=0;n<e.length;n++)for(var o=0;o<t.length;o++)if(e[n]===t[o])return e[n];return null}}),$=f.utils.browser,Z=f.nativeMethods,ee=f.utils.style.get,te=f.utils.dom.getActiveElement,ne=f.utils.dom.findDocument,oe=f.utils.dom.find,re=f.utils.dom.isElementInDocument,ie=f.utils.dom.isElementInIframe,ae=f.utils.dom.getIframeByElement,se=f.utils.dom.isCrossDomainWindows,le=f.utils.dom.getSelectParent,ce=f.utils.dom.getChildVisibleIndex,ue=f.utils.dom.getSelectVisibleChildren,de=f.utils.dom.isElementNode,fe=f.utils.dom.isTextNode,he=f.utils.dom.isRenderedNode,pe=f.utils.dom.isIframeElement,me=f.utils.dom.isInputElement,ge=f.utils.dom.isButtonElement,Ee=f.utils.dom.isFileInput,ve=f.utils.dom.isTextAreaElement,ye=f.utils.dom.isAnchorElement,be=f.utils.dom.isImgElement,Ce=f.utils.dom.isFormElement,Se=f.utils.dom.isLabelElement,we=f.utils.dom.isSelectElement,Te=f.utils.dom.isRadioButtonElement,_e=f.utils.dom.isColorInputElement,Ie=f.utils.dom.isCheckboxElement,Pe=f.utils.dom.isOptionElement,Ne=f.utils.dom.isSVGElement,Re=f.utils.dom.isMapElement,Me=f.utils.dom.isBodyElement,xe=f.utils.dom.isHtmlElement,Oe=f.utils.dom.isDocument,Fe=f.utils.dom.isWindow,Ae=f.utils.dom.isTextEditableInput,Le=f.utils.dom.isTextEditableElement,Ve=f.utils.dom.isTextEditableElementAndEditingAllowed,We=f.utils.dom.isContentEditableElement,He=f.utils.dom.isDomElement,ke=f.utils.dom.isShadowUIElement,De=f.utils.dom.isShadowRoot,Ue=f.utils.dom.isElementFocusable,Be=f.utils.dom.isHammerheadAttr,qe=f.utils.dom.isElementReadOnly,Ge=f.utils.dom.getScrollbarSize,je=f.utils.dom.getMapContainer,ze=f.utils.dom.getTagName,Je=f.utils.dom.closest,Ke=f.utils.dom.getParents,Ye=f.utils.dom.findParent,Xe=f.utils.dom.getTopSameDomainWindow,Qe=f.utils.dom.getParentExceptShadowRoot;function $e(e,t){var n,o={el:n=e,skip:n.shadowRoot&&n.tabIndex<0,children:{}};if(e=e.shadowRoot||e,pe(e)&&(e=Z.contentDocumentGetter.call(e)),e&&(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE||e.nodeType===Node.DOCUMENT_NODE))for(var r=0,i=function(e){for(var t,n=e.querySelectorAll("*"),o=function(e){for(var t=[],n=0;n<e.length;n++)"none"===ee(e[n],"display")&&t.push(e[n]);return t}(n),r=/^(input|button|select|textarea)$/,i=[],a=null,s=null,l=null,c=!1,u=0;u<n.length;u++){a=n[u],s=ze(a),l=Ze(a),c=!1,function(e,t,n){var o=null;return t.nodeType===Node.DOCUMENT_NODE&&(o=Z.documentActiveElementGetter.call(t)),e===o||!(e.disabled||"none"===ee(e,"display")||"hidden"===ee(e,"visibility")||($.isIE||$.isAndroid)&&Pe(e)||null!==n&&n<0)}(a,e,l)&&(r.test(s)||a.shadowRoot||pe(a)?c=!0:ye(a)&&a.hasAttribute("href")&&(c=""!==a.getAttribute("href")||!$.isIE||null!==l),""!==(t=a.getAttribute("contenteditable"))&&"true"!==t||(c=!0),null!==l&&(c=!0),c&&i.push(a))}return W(i,function(e){return!et(o,e)})}(e);r<i.length;r++){var a=i[r],s=!t||a.tabIndex<=0?-1:a.tabIndex;o.children[s]=o.children[s]||[],o.children[s].push($e(a,t))}return o}function Ze(e){var t=Z.getAttribute.call(e,"tabindex");return null!==t&&(t=parseInt(t,10),t=isNaN(t)?null:t),t}function et(e,t){return e.contains?e.contains(t):G(e,function(e){return e.contains(t)})}function tt(e,t){if(ot(t,e))return!0;for(var n=Z.nodeChildNodesGetter.call(e),o=lt(n),r=0;r<o;r++){var i=n[r];if(!ke(i)&&tt(i,t))return!0}return!1}function nt(e,t){var n=e.querySelectorAll(ze(t));return q(n,t)}function ot(e,t){return e&&t&&e.isSameNode?e.isSameNode(t):e===t}function rt(t){if(!t.setTimeout)return!1;var e=null;try{e=t.frameElement}catch(e){return!!t.top}return!(!$.isFirefox&&!$.isWebKit||t.top===t||e)||!(!e||!Z.contentDocumentGetter.call(e))}function it(e){try{return e.top===e}catch(e){return!1}}function at(e){var t=[];oe(vi,"*",function(e){"IFRAME"===e.tagName&&t.push(e),e.shadowRoot&&oe(e.shadowRoot,"iframe",function(e){return t.push(e)})});for(var n=0;n<t.length;n++)if(Z.contentWindowGetter.call(t[n])===e)return t[n];return null}function st(e){return Z.htmlCollectionLengthGetter.call(e)}function lt(e){return Z.nodeListLengthGetter.call(e)}function ct(e){return Z.inputValueGetter.call(e)}function ut(e){return Z.textAreaValueGetter.call(e)}function dt(e,t){return Z.inputValueSetter.call(e,t)}function ft(e,t){return Z.textAreaValueSetter.call(e,t)}function ht(e){return me(e)?ct(e):ve(e)?ut(e):e.value}function pt(e){return e&&e.getRootNode&&ne(e)!==e.getRootNode()}var mt=Object.freeze({__proto__:null,getActiveElement:te,findDocument:ne,find:oe,isElementInDocument:re,isElementInIframe:ie,getIframeByElement:ae,isCrossDomainWindows:se,getSelectParent:le,getChildVisibleIndex:ce,getSelectVisibleChildren:ue,isElementNode:de,isTextNode:fe,isRenderedNode:he,isIframeElement:pe,isInputElement:me,isButtonElement:ge,isFileInput:Ee,isTextAreaElement:ve,isAnchorElement:ye,isImgElement:be,isFormElement:Ce,isLabelElement:Se,isSelectElement:we,isRadioButtonElement:Te,isColorInputElement:_e,isCheckboxElement:Ie,isOptionElement:Pe,isSVGElement:Ne,isMapElement:Re,isBodyElement:Me,isHtmlElement:xe,isDocument:Oe,isWindow:Fe,isTextEditableInput:Ae,isTextEditableElement:Le,isTextEditableElementAndEditingAllowed:Ve,isContentEditableElement:We,isDomElement:He,isShadowUIElement:ke,isShadowRoot:De,isElementFocusable:Ue,isHammerheadAttr:Be,isElementReadOnly:qe,getScrollbarSize:Ge,getMapContainer:je,getTagName:ze,closest:Je,getParents:Ke,findParent:Ye,getTopSameDomainWindow:Xe,getParentExceptShadowRoot:Qe,getFocusableElements:function(e,t){return void 0===t&&(t=!1),function e(t){var n,o=[];for(n in t.skip||t.el.nodeType===Node.DOCUMENT_NODE||pe(t.el)||o.push(t.el),t.children)for(var r=0,i=t.children[n];r<i.length;r++){var a=i[r];o.push.apply(o,e(a))}return o}($e(e,t))},getTabIndexAttributeIntValue:Ze,containsElement:et,getTextareaIndentInLine:function(e,t){var n=ut(e);if(!n)return 0;var o=n.substring(0,t);return t-(-1===o.lastIndexOf("\n")?0:o.lastIndexOf("\n")+1)},getTextareaLineNumberByPosition:function(e,t){for(var n=ut(e).split("\n"),o=0,r=0,i=0;o<=t;i++){if(t<=o+n[i].length){r=i;break}o+=n[i].length+1}return r},getTextareaPositionByLineAndOffset:function(e,t,n){for(var o=ut(e).split("\n"),r=0,i=0;i<t;i++)r+=o[i].length+1;return r+n},blocksImplicitSubmission:function(e){return($.isSafari?/^(text|password|color|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:$.isFirefox?/^(text|password|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:$.isIE?/^(text|password|color|date|time|datetime|datetime-local|email|file|month|number|search|tel|url|week|image)$/i:/^(text|password|datetime|email|number|search|tel|url|image)$/i).test(e.type)},isEditableElement:function(e,t){return t?Ve(e)||We(e):Le(e)||We(e)},isElementContainsNode:tt,isOptionGroupElement:function(e){return"[object HTMLOptGroupElement]"===f.utils.dom.instanceToString(e)},getElementIndexInParent:nt,isTheSameNode:ot,getElementDescription:function(e){var t,n,o={id:"id",name:"name",class:"className"},r=[];for(t in r.push("<"),r.push(ze(e)),o)!o.hasOwnProperty(t)||(n=e[o[t]])&&r.push(" "+t+'="'+n+'"');return r.push(">"),r.join("")},getFocusableParent:function(e){for(var t=Ke(e),n=0;n<t.length;n++)if(Ue(t[n]))return t[n];return null},remove:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},isIFrameWindowInDOM:rt,isTopWindow:it,findIframeByWindow:at,isEditableFormElement:function(e){return Le(e)||we(e)},getCommonAncestor:function(e,t){if(ot(e,t))return e;for(var n=[e].concat(Ke(e)),o=t;o;){if(-1<q(n,o))return o;o=Z.nodeParentNodeGetter.call(o)}return o},getChildrenLength:st,getChildNodesLength:lt,getInputValue:ct,getTextAreaValue:ut,setInputValue:dt,setTextAreaValue:ft,getElementValue:ht,setElementValue:function(e,t){return me(e)?dt(e,t):ve(e)?ft(e,t):e.value=t},isShadowElement:pt,contains:function(t,e){return!(!t||!e)&&(t.contains?t.contains(e):!!Ye(e,!0,function(e){return e===t}))},isNodeEqual:function(e,t){return e===t},getNodeText:function(e){return Z.nodeTextContentGetter.call(e)},getImgMapName:function(e){return e.useMap.substring(1)},getDocumentElement:function(e){return e.document.documentElement},isDocumentElement:function(e){return e===vi.documentElement}}),gt=f.Promise,Et=f.nativeMethods,vt=f.eventSandbox.listeners,yt=f.utils.browser,bt=f.utils.event.BUTTON,Ct=f.utils.event.BUTTONS_PARAMETER,St=f.utils.event.DOM_EVENTS,wt=f.utils.event.WHICH_PARAMETER,Tt=f.utils.event.preventDefault;function _t(e,t,n,o){yt.isIE11&&Fe(e)?Et.windowAddEventListener.call(e,t,n,o):Et.addEventListener.call(e,t,n,o)}function It(e,t,n,o){yt.isIE11&&Fe(e)?Et.windowRemoveEventListener.call(e,t,n,o):Et.removeEventListener.call(e,t,n,o)}function Pt(){var n=[],e=!1;function t(){e||(vi.body?(e=!0,n.forEach(function(e){return e()})):Et.setTimeout.call(Ei,t,1))}function o(){(rt(Ei)||it(Ei))&&(It(vi,"DOMContentLoaded",o),t())}return"complete"===vi.readyState?Et.setTimeout.call(Ei,o,1):_t(vi,"DOMContentLoaded",o),{then:function(e){return t=e,new gt(function(e){return n.push(function(){return e(t())})});var t}}}var Nt,Rt,Mt=Object.freeze({__proto__:null,BUTTON:bt,BUTTONS_PARAMETER:Ct,DOM_EVENTS:St,WHICH_PARAMETER:wt,preventDefault:Tt,bind:_t,unbind:It,documentReady:function(e){return void 0===e&&(e=0),Pt().then(function(){return vt.getEventListeners(Ei,"load").length?gt.race([new gt(function(e){return _t(Ei,"load",e)}),c(e)]):null})}});(Rt=Nt=Nt||{}).ready="ready",Rt.readyForBrowserManipulation="ready-for-browser-manipulation",Rt.waitForFileDownload="wait-for-file-download";var xt=Nt,Ot=f.Promise,Ft=f.utils.browser,At=f.nativeMethods,Lt=f.transport,Vt=30,Wt=500,Ht=!1,kt=null,Dt=!1;function Ut(){if(Ft.isIE)return function(e){qt&&At.clearTimeout.call(Ei,qt),Bt=!0,qt=At.setTimeout.call(Ei,function(){qt=null,Bt=!1,Gt.forEach(function(e){return e()}),Gt=[]},e)}(Vt),void c(0).then(function(){var e;"loading"===vi.readyState&&((e=At.documentActiveElementGetter.call(vi))&&ye(e)&&e.hasAttribute("download")||(Ht=!0))});Ht=!0}var Bt=!1,qt=null,Gt=[],jt=Object.freeze({__proto__:null,init:function(){f.on(f.EVENTS.beforeUnload,Ut),_t(Ei,"unload",function(){Ht=!0})},watchForPageNavigationTriggers:function(){kt=function(){Dt=!0},f.on(f.EVENTS.pageNavigationTriggered,kt)},wait:function(e){void 0===e&&(e=!kt||Dt?400:0),kt&&(f.off(f.EVENTS.pageNavigationTriggered,kt),kt=null);var t=c(e).then(function(){return Ht?c(Wt).then(function(){return Lt.queuedAsyncServiceMsg({cmd:xt.waitForFileDownload})}).then(function(e){if(!e)return new Ot(function(){})}).then(function(){Ht=!1}):Bt?new Ot(function(e){return Gt.push(e)}):void 0}),n=c(15e3).then(function(){Ht=!1});return Ot.race([t,n])}}),zt=b,Jt=Object.freeze({__proto__:null,EventEmitter:zt,inherit:function(e,t){function n(){}n.prototype=t.prototype,f.utils.extend(e.prototype,new n),(e.prototype.constructor=e).base=t.prototype}}),Kt=d.eventSandbox.listeners;function Yt(){this.initialized=!1,this.stopPropagationFlag=!1,this.events=new zt}var Xt=(Yt.prototype._internalListener=function(e,t,n,o,r){this.events.emit("scroll",e),this.stopPropagationFlag&&(o(),r())},Yt.prototype.init=function(){var n=this;this.initialized||(this.initialized=!0,Kt.initElementListening(Ei,["scroll"]),Kt.addFirstInternalEventBeforeListener(Ei,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n._internalListener.apply(n,e)}))},Yt.prototype.waitForScroll=function(e){var t=this,n=null,o=new d.Promise(function(e){n=e});return o.cancel=function(){return t.events.off("scroll",n)},this.initialized?this.handleScrollEvents(e,n):n(),o},Yt.prototype.handleScrollEvents=function(n,e){var o=this;this.events.once("scroll",e),pt(n)&&(Kt.initElementListening(n,["scroll"]),Kt.addFirstInternalEventBeforeListener(n,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];o._internalListener.apply(o,e),Kt.cancelElementListening(n)}))},Yt.prototype.stopPropagation=function(){this.stopPropagationFlag=!0},Yt.prototype.enablePropagation=function(){this.stopPropagationFlag=!1},new Yt),Qt=($t.create=function(e){return new $t(e.top,e.right,e.bottom,e.left)},$t.prototype.add=function(e){return this.top+=e.top,this.right+=e.right,this.bottom+=e.bottom,this.left+=e.left,this},$t.prototype.sub=function(e){return"top"in e&&(this.top-=e.top,this.left-=e.left),this.bottom-=e.bottom,this.right-=e.right,this},$t.prototype.round=function(e,t){return void 0===e&&(e=Math.round),void 0===t&&(t=e),this.top=e(this.top),this.right=t(this.right),this.bottom=t(this.bottom),this.left=e(this.left),this},$t.prototype.contains=function(e){return e.x>=this.left&&e.x<=this.right&&e.y>=this.top&&e.y<=this.bottom},$t);function $t(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=0),this.top=e,this.right=t,this.bottom=n,this.left=o}var Zt=f.utils.style,en=f.utils.style.getBordersWidth,tn=f.utils.style.getComputedStyle,nn=f.utils.style.getElementMargin,on=f.utils.style.getElementPadding,rn=f.utils.style.getElementScroll,an=f.utils.style.getOptionHeight,sn=f.utils.style.getSelectElementSize,ln=f.utils.style.isElementVisible,cn=f.utils.style.isVisibleChild,un=f.utils.style.getWidth,dn=f.utils.style.getHeight,fn=f.utils.style.getInnerWidth,hn=f.utils.style.getInnerHeight,pn=f.utils.style.getScrollLeft,mn=f.utils.style.getScrollTop,gn=f.utils.style.setScrollLeft,En=f.utils.style.setScrollTop,vn=f.utils.style.get,yn=f.utils.style.getBordersWidthFloat,bn=f.utils.style.getElementPaddingFloat;function Cn(e,t,n){for(var o in"string"==typeof t&&Zt.set(e,t,n),t)t.hasOwnProperty(o)&&Zt.set(e,o,t[o])}function Sn(e,t,n){return e<t?n:e<n?t:Math.max(n,t)}function wn(e){return!!Ye(e,!0,function(e){return de(e)&&"hidden"===Zt.get(e,"visibility")})}function Tn(e){return!!Ye(e,!0,function(e){return de(e)&&"none"===Zt.get(e,"display")})}function _n(e){return!he(e)||Tn(e)||wn(e)}function In(e){return e&&!(e.offsetHeight<=0&&e.offsetWidth<=0)}function Pn(e){return de(e)&&"fixed"===Zt.get(e,"position")}var Nn=Object.freeze({__proto__:null,getBordersWidth:en,getComputedStyle:tn,getElementMargin:nn,getElementPadding:on,getElementScroll:rn,getOptionHeight:an,getSelectElementSize:sn,isElementVisible:ln,isSelectVisibleChild:cn,getWidth:un,getHeight:dn,getInnerWidth:fn,getInnerHeight:hn,getScrollLeft:pn,getScrollTop:mn,setScrollLeft:gn,setScrollTop:En,get:vn,getBordersWidthFloat:yn,getElementPaddingFloat:bn,set:Cn,getViewportDimensions:function(){return{width:Sn(Ei.innerWidth,vi.documentElement.clientWidth,vi.body.clientWidth),height:Sn(Ei.innerHeight,vi.documentElement.clientHeight,vi.body.clientHeight)}},getWindowDimensions:function(e){return new Qt(0,un(e),dn(e),0)},isHiddenNode:wn,isNotDisplayedNode:Tn,isNotVisibleNode:_n,hasDimensions:In,isFixedElement:Pn}),Rn=d.utils.browser,Mn=d.eventSandbox.listeners,xn=d.eventSandbox.eventSimulator,On=["click","mousedown","mouseup","dblclick","contextmenu","mousemove","mouseover","mouseout","touchstart","touchmove","touchend","keydown","keypress","input","keyup","change","focus","blur","MSPointerDown","MSPointerMove","MSPointerOver","MSPointerOut","MSPointerUp","pointerdown","pointermove","pointerover","pointerout","pointerup"],Fn=123;function An(e,t,n,o,r){var i,a=d.nativeMethods.eventTargetGetter.call(e)||e.srcElement;if(!t&&!ke(a)){if(/^key/.test(e.type)&&((i=e).shiftKey&&i.ctrlKey||(i.altKey||i.metaKey)&&Rn.isMacPlatform||i.keyCode===Fn))return void r();if("blur"===e.type)if(Rn.isIE&&Rn.version<12){var s,l=Fe(a),c=!l&&"none"===vn(a,"display"),u=!1;l||c||(s=Ke(a),u=W(s,function(e){return"none"===vn(e,"display")})),(c||u.length)&&d.eventSandbox.timers.deferFunction(function(){xn.blur(a)})}else if(a!==Ei&&a!==Ei.document&&!In(a))return;n()}}var Ln=(Vn.create=function(e){return"left"in e?new Vn(e.left,e.top):"right"in e?new Vn(e.right,e.bottom):new Vn(e.x,e.y)},Vn.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},Vn.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},Vn.prototype.round=function(e){return void 0===e&&(e=Math.round),this.x=e(this.x),this.y=e(this.y),this},Vn.prototype.eql=function(e){return this.x===e.x&&this.y===e.y},Vn.prototype.mul=function(e){return this.x*=e,this.y*=e,this},Vn.prototype.distance=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Vn);function Vn(e,t){this.x=e,this.y=t}var Wn=/auto|scroll|hidden/i,Hn="visible";function kn(e){var t,n=vn(e,"overflowX"),o=vn(e,"overflowY"),r=Wn.test(n),i=Wn.test(o),a=ne(e).documentElement,s=e.scrollHeight;return(d.utils.browser.isChrome||d.utils.browser.isFirefox||d.utils.browser.isSafari)&&(t=e.getBoundingClientRect().top,s=s-a.getBoundingClientRect().top+t),(r||i)&&s>a.scrollHeight}function Dn(e){if(Me(e))return kn(e);if(xe(e))return function(e){var t=vn(e,"overflowX"),n=vn(e,"overflowY");if("hidden"===t&&"hidden"===n)return!1;var o=e.scrollHeight>e.clientHeight,r=e.scrollWidth>e.clientWidth;if(o||r)return!0;var i=e.getElementsByTagName("body")[0];if(!i)return!1;if(kn(i))return!1;var a=Math.min(e.clientWidth,i.clientWidth),s=Math.min(e.clientHeight,i.clientHeight);return i.scrollHeight>s||i.scrollWidth>a}(e);var t,n,o,r,i,a=(n=vn(t=e,"overflowX"),o=vn(t,"overflowY"),r=Wn.test(n),i=Wn.test(o),d.utils.browser.isIE&&(r=r||i&&n===Hn,i=i||r&&o===Hn),new Ln(r,i));if(!a.x&&!a.y)return!1;var s=a.y&&e.scrollHeight>e.clientHeight;return a.x&&e.scrollWidth>e.clientWidth||s}function Un(e){var t,n,o=Ke(e);return!ie(e)||(t=ae(e))&&(n=Ke(t),o.concat(n)),d.nativeMethods.arrayFilter.call(o,Dn)}var Bn=Object.freeze({__proto__:null,hasScroll:Dn,getScrollableParents:Un}),qn=f.shadowUI,Gn=f.nativeMethods,jn="disabled";function zn(){this.currentEl=null,this.optionList=null,this.groups=[],this.options=[]}var Jn=(zn.prototype._createOption=function(e,t){var n=vi.createElement("div"),o=e.disabled||"optgroup"===ze(e.parentElement)&&e.parentElement.disabled,r="option"===ze(e)?e.text:"";Gn.nodeTextContentSetter.call(n,r),t.appendChild(n),qn.addClass(n,"tcOption"),o&&(qn.addClass(n,jn),Cn(n,"color",vn(e,"color"))),this.options.push(n)},zn.prototype._createGroup=function(e,t){var n=vi.createElement("div");Gn.nodeTextContentSetter.call(n,e.label||" "),t.appendChild(n),qn.addClass(n,"tcOptionGroup"),e.disabled&&(qn.addClass(n,jn),Cn(n,"color",vn(e,"color"))),this.createChildren(e.children,n),this.groups.push(n)},zn.prototype.clear=function(){this.optionList=null,this.currentEl=null,this.options=[],this.groups=[]},zn.prototype.createChildren=function(e,t){for(var n=st(e),o=0;o<n;o++)Pe(e[o])?this._createOption(e[o],t):"optgroup"===ze(e[o])&&this._createGroup(e[o],t)},zn.prototype.getEmulatedChildElement=function(e){var t="optgroup"===ze(e),n=nt(this.currentEl,e);return t?this.groups[n]:this.options[n]},zn.prototype.isOptionListExpanded=function(e){return e?e===this.currentEl:!!this.currentEl},zn.prototype.isOptionElementVisible=function(e){var t=le(e);if(!t)return!0;var n=this.isOptionListExpanded(t),o=sn(t);return n||1<o},new zn),Kn=function(e,t,n,o,r,i){this.width=e,this.height=t,this.left=n.x,this.top=n.y,this.right=n.x+e,this.bottom=n.y+t,this.border=o,this.scrollbar=i,this.scroll=r},Yn={notElementOrTextNode:function(e){return"\n The ".concat(e," is neither a DOM element nor a text node.\n ")},elOutsideBounds:function(e,t){return"\n The ".concat(t," (").concat(e,") is located outside the the layout viewport.\n ")},elHasWidthOrHeightZero:function(e,t,n,o){return"\n The ".concat(t," (").concat(e,") is too small to be visible: ").concat(n,"px x ").concat(o,"px.\n ")},elHasDisplayNone:function(e,t){return"\n The ".concat(t," (").concat(e,") is invisible. \n The value of its 'display' property is 'none'.\n ")},parentHasDisplayNone:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible. \n It descends from an element that has the 'display: none' property (").concat(n,").\n ")},elHasVisibilityHidden:function(e,t){return"\n The ".concat(t," (").concat(e,") is invisible.\n The value of its 'visibility' property is 'hidden'.\n ")},parentHasVisibilityHidden:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible.\n It descends from an element that has the 'visibility: hidden' property (").concat(n,").\n ")},elHasVisibilityCollapse:function(e,t){return"\n The ".concat(t," (").concat(e,") is invisible.\n The value of its 'visibility' property is 'collapse'.\n ")},parentHasVisibilityCollapse:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible.\n It descends from an element that has the 'visibility: collapse' property (").concat(n,").\n ")},elNotRendered:function(e,t){return"\n The ".concat(t," (").concat(e,") has not been rendered.\n ")},optionNotVisible:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible. \n The parent element (").concat(n,") is collapsed, and its length is shorter than 2.\n ")},mapContainerNotVisible:function(e,t){return"\n The action target (".concat(e,") is invisible because ").concat(t,"\n ")}},Xn=f.utils.html,Qn=f.nativeMethods,$n=10;function Zn(e){if(!e)return"";var t,n,o,r=Qn.cloneNode.call(e),i=Xn.cleanUpHtml(Qn.elementOuterHTMLGetter.call(r)),a=(t=Qn.nodeTextContentGetter.call(e),n=$n,void 0===o&&(o="..."),t.length<n?t:t.substring(0,n-o.length)+o),s=Qn.elementChildrenGetter.call(e);return 0<Qn.htmlCollectionLengthGetter.call(s)?i.replace("></",">...</"):a?i.replace("></",">".concat(a,"</")):i}var eo=f.utils.position.getElementRectangle,to=f.utils.position.getOffsetPosition,no=f.utils.position.offsetToClientCoords;function oo(e){var t,n,o,r,i=xe(e),a=i?e.getElementsByTagName("body")[0]:null,s=e.getBoundingClientRect(),l=Qt.create(en(e)),c=rn(e),u=ie(e),d="BackCompat"===e.ownerDocument.compatMode,f=i?new Ln(0,0):Ln.create(s),h=s.height,p=s.width;i&&(p=a&&d?(h=a.clientHeight,a.clientWidth):(h=e.clientHeight,e.clientWidth)),!u||(t=ae(e))&&(n=to(t),o=no(Ln.create(n)),r=en(t),f.add(o).add(Ln.create(r)),i&&l.add(r));var m=!i&&fn(e)!==e.clientWidth,g=!i&&hn(e)!==e.clientHeight,E={right:m?Ge():0,bottom:g?Ge():0};return new Kn(p,h,f,l,c,E)}function ro(e){var t=e.x,n=e.y,o=vi.getElementFromPoint||vi.elementFromPoint,r=null;try{r=o.call(vi,t,n)}catch(e){return null}for(null===r&&(r=o.call(vi,t-1,n-1));r&&r.shadowRoot&&r.shadowRoot.elementFromPoint;){var i=r.shadowRoot.elementFromPoint(t,n);if(!i||r===i)break;r=i}return r}function io(e,t){return Qt.create({top:e.top-t.top,left:e.left-t.left,right:t.right-e.right,bottom:t.bottom-e.bottom}).sub(t.border).sub(t.scrollbar).round(Math.ceil,Math.floor)}function ao(e){var t=/^touch/.test(e.type)&&e.targetTouches?e.targetTouches[0]||e.changedTouches[0]:e,n=0===t.pageX&&0===t.pageY,o=0!==t.clientX||0!==t.clientY;if((null===t.pageX||n&&o)&&null!==t.clientX){var r=ne(e.target||e.srcElement),i=r.documentElement,a=r.body;return new Ln(Math.round(t.clientX+(i&&i.scrollLeft||a&&a.scrollLeft||0)-(i.clientLeft||0)),Math.round(t.clientY+(i&&i.scrollTop||a&&a.scrollTop||0)-(i.clientTop||0)))}return new Ln(Math.round(t.pageX),Math.round(t.pageY))}function so(e){return!fo(e)}function lo(e){return"hidden"===vn(e,"visibility")}function co(e){return"collapse"===vn(e,"visibility")}function uo(e){return"none"===vn(e,"display")}function fo(e){return!pt(e)&&(lo(e)||co(e)||uo(e))}function ho(e){var t=eo(e);return 0===t.width||0===t.height}function po(e){return e.replace(/.*The/,"its")}var mo=Object.freeze({__proto__:null,getElementRectangle:eo,getOffsetPosition:to,offsetToClientCoords:no,getClientDimensions:oo,getElementFromPoint:ro,calcRelativePosition:io,getIframeClientCoordinates:function(e){var t=to(e),n=t.left,o=t.top,r=no({x:n,y:o}),i=en(e),a=on(e),s=r.x+i.left+a.left,l=r.y+i.top+a.top;return new Qt(l,s+un(e),l+dn(e),s)},containsOffset:function(e,t,n){var o=oo(e),r=Math.max(e.scrollWidth,o.width),i=Math.max(e.scrollHeight,o.height),a=o.scrollbar.right+o.border.left+o.border.right+r,s=o.scrollbar.bottom+o.border.top+o.border.bottom+i;return(void 0===t||0<=t&&t<=a)&&(void 0===n||0<=n&&n<=s)},getEventAbsoluteCoordinates:function(e){var t,n,o,r=e.target||e.srcElement,i=ao(e),a=ne(r),s=0,l=0;return!ie(a.documentElement)||(t=ae(a))&&(n=to(t),o=en(t),s=n.left+o.left,l=n.top+o.top),new Ln(i.x+s,i.y+l)},getEventPageCoordinates:ao,getIframePointRelativeToParentFrame:function(e,t){var n=at(t),o=to(n),r=en(n),i=on(n);return no({x:e.x+o.left+r.left+i.left,y:e.y+o.top+r.top+i.top})},findCenter:function(e){var t=eo(e);return new Ln(Math.round(t.left+t.width/2),Math.round(t.top+t.height/2))},getClientPosition:function(e){var t=to(e),n=t.left,o=t.top,r=no({x:n,y:o});return r.x=Math.round(r.x),r.y=Math.round(r.y),r},isInRectangle:function(e,t){var n=e.x,o=e.y;return n>=t.left&&n<=t.right&&o>=t.top&&o<=t.bottom},getWindowPosition:function(){var e=Ei.screenLeft||Ei.screenX,t=Ei.screenTop||Ei.screenY;return new Ln(e,t)},isIframeVisible:so,isElementVisible:function e(t){if(!He(t)&&!fe(t))return!1;if(Pe(t)||"optgroup"===ze(t))return Jn.isOptionElementVisible(t);if(pe(t))return so(t);if(Ne(t))return!Ye(t,!0,fo)&&!ho(t);if(fe(t))return!_n(t);if(!We(t)&&ho(t))return!1;if(Re(t)){var n=je(Je(t,"map"));return!!n&&e(n)}return In(t)&&!fo(t)},getSubHiddenReason:po,getHiddenReason:function e(t,n){if(void 0===n&&(n="action target"),!t)return null;var o=fe(t);if(!He(t)&&!o)return Yn.notElementOrTextNode(n);var r=o?t.data:Zn(t),i=t.offsetHeight,a=t.offsetWidth;if((Pe(t)||"optgroup"===ze(t))&&!Jn.isOptionElementVisible(t)){var s=Zn(le(t));return Yn.optionNotVisible(r,n,s)}if(Re(t)){var l=po(e(je(Je(t,"map")),"container")||"");return Yn.mapContainerNotVisible(r,l)}var c=Ye(t,!1,lo);if(c)return Yn.parentHasVisibilityHidden(r,n,Zn(c));var u=Ye(t,!1,co);if(u)return Yn.parentHasVisibilityCollapse(r,n,Zn(u));var d=Ye(t,!1,uo);return d?Yn.parentHasDisplayNone(r,n,Zn(d)):lo(t)?Yn.elHasVisibilityHidden(r,n):co(t)?Yn.elHasVisibilityCollapse(r,n):uo(t)?Yn.elHasDisplayNone(r,n):fe(t)&&!he(t)?Yn.elNotRendered(r,n):!We(t)&&ho(t)||!In(t)?Yn.elHasWidthOrHeightZero(r,n,a,i):null},getElOutsideBoundsReason:function e(t,n){void 0===n&&(n="action target");var o=Zn(t);if(Re(t)){var r=po(e(je(Je(t,"map")),"container")||"");return Yn.mapContainerNotVisible(o,r)}return Yn.elOutsideBounds(o,n)}});function go(n,o){return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:t=0,e.label=1;case 1:return t<n?[4,o(t)]:[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})}var Eo=Object.freeze({__proto__:null,whilst:function(t,n){return E(this,void 0,void 0,function(){return v(this,function(e){switch(e.label){case 0:return t()?[4,n()]:[3,2];case 1:return e.sent(),[3,0];case 2:return[2]}})})},times:go,each:function(r,i){return E(this,void 0,void 0,function(){var t,n,o;return v(this,function(e){switch(e.label){case 0:t=0,n=r,e.label=1;case 1:return t<n.length?(o=n[t],[4,i(o)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})}}),vo=f.Promise,yo=f.eventSandbox.message;function bo(e,o,t){return new vo(function(n){yo.on(yo.SERVICE_MSG_RECEIVED_EVENT,function e(t){t.message.cmd===o&&(yo.off(yo.SERVICE_MSG_RECEIVED_EVENT,e),n(t.message))}),yo.sendServiceMsg(e,t)})}var Co=(So._isScrollValuesChanged=function(e,t){return pn(e)!==t.left||mn(e)!==t.top},So.prototype._setScroll=function(e,t){var n=this,o=t.left,r=t.top,i=xe(e)?ne(e):e,a={left:pn(i),top:mn(i)},o=Math.max(o,0),r=Math.max(r,0),s=Xt.waitForScroll(i);return gn(i,o),En(i,r),So._isScrollValuesChanged(i,a)?s=s.then(function(){n._scrollWasPerformed||(n._scrollWasPerformed=So._isScrollValuesChanged(i,a))}):(s.cancel(),d.Promise.resolve())},So.prototype._getScrollToPoint=function(e,t,n){var o=Math.floor(e.width/2),r=Math.floor(e.height/2),i=this._scrollToCenter?o:Math.min(n.left,o),a=this._scrollToCenter?r:Math.min(n.top,r),s=e.scroll,l=s.left,c=s.top,u=t.x>=l+e.width-i,d=t.x<=l+i,f=t.y>=c+e.height-a,h=t.y<=c+a;return u?l=t.x-e.width+i:d&&(l=t.x-i),f?c=t.y-e.height+a:h&&(c=t.y-a),{left:l,top:c}},So.prototype._getScrollToFullChildView=function(e,t,n){var o,r,i,a,s={left:null,top:null},l=e.width>=t.width,c=e.height>=t.height,u=io(t,e);return l&&(o=e.width-t.width,r=Math.min(n.left,o),this._scrollToCenter&&(r=o/2),u.left<r?s.left=Math.round(e.scroll.left+u.left-r):u.right<r&&(s.left=Math.round(e.scroll.left+Math.min(u.left,-u.right)+r))),c&&(i=e.height-t.height,a=Math.min(n.top,i),this._scrollToCenter&&(a=i/2),u.top<a?s.top=Math.round(e.scroll.top+u.top-a):u.bottom<a&&(s.top=Math.round(e.scroll.top+Math.min(u.top,-u.bottom)+a))),s},So._getChildPoint=function(e,t,n){return Ln.create(t).sub(Ln.create(e)).add(Ln.create(e.scroll)).add(Ln.create(t.border)).add(n)},So.prototype._getScrollPosition=function(e,t,n,o){var r=So._getChildPoint(e,t,n),i=this._getScrollToPoint(e,r,o),a=this._getScrollToFullChildView(e,t,o);return{left:Math.max(null===a.left?i.left:a.left,0),top:Math.max(null===a.top?i.top:a.top,0)}},So._getChildPointAfterScroll=function(e,t,n,o){return Ln.create(t).add(Ln.create(e.scroll)).sub(Ln.create(n)).add(o)},So.prototype._isChildFullyVisible=function(e,t,n){var o=So._getChildPointAfterScroll(e,t,e.scroll,n),r=this._getScrollPosition(e,t,n,{left:0,top:0}),i=r.left,a=r.top;return!this._isTargetElementObscuredInPoint(o)&&i===e.scroll.left&&a===e.scroll.top},So.prototype._scrollToChild=function(e,t,n){for(var o=oo(e),r=oo(t),i=fn(Ei),a=hn(Ei),s=o.scroll,l=!this._isChildFullyVisible(o,r,n);l;){s=this._getScrollPosition(o,r,n,this._maxScrollMargin);var c=So._getChildPointAfterScroll(o,r,s,n),u=this._isTargetElementObscuredInPoint(c);this._maxScrollMargin.left+=20,this._maxScrollMargin.left>=i&&(this._maxScrollMargin.left=50,this._maxScrollMargin.top+=20),l=u&&this._maxScrollMargin.top<a}return this._maxScrollMargin={left:50,top:50},this._setScroll(e,s)},So.prototype._scrollElement=function(){if(!Dn(this._element))return d.Promise.resolve();var e=oo(this._element),t=this._getScrollToPoint(e,this._offsets,this._maxScrollMargin);return this._setScroll(this._element,t)},So.prototype._scrollParents=function(){var t,n,o=this,r=Un(this._element),i=this._element,e=pn(i),a=mn(i),s=Ln.create(this._offsets).sub(new Ln(e,a).round()),l=go(r.length,function(e){return o._scrollToChild(r[e],i,s).then(function(){t=oo(i),n=oo(r[e]),s.add(Ln.create(t)).sub(Ln.create(n)).add(Ln.create(n.border)),i=r[e]})}),c={scrollWasPerformed:this._scrollWasPerformed,offsetX:s.x,offsetY:s.y,maxScrollMargin:this._maxScrollMargin};return l.then(function(){var e;if(!o._skipParentFrames&&(e=Ei).top!==e)return c.cmd=So.SCROLL_REQUEST_CMD,bo(c,So.SCROLL_RESPONSE_CMD,Ei.parent)}).then(function(){return o._scrollWasPerformed})},So._getFixedAncestorOrSelf=function(e){return Ye(e,!0,Pn)},So.prototype._isTargetElementObscuredInPoint=function(e){var t=ro(e);if(!t)return!1;var n=So._getFixedAncestorOrSelf(t);return!!n&&!n.contains(this._element)},So.prototype.run=function(){var e=this;return this._scrollElement().then(function(){return e._scrollParents()})},So.SCROLL_REQUEST_CMD="automation|scroll|request",So.SCROLL_RESPONSE_CMD="automation|scroll|response",So);function So(e,t,n){this._element=e,this._offsets=new Ln(t.offsetX,t.offsetY),this._scrollToCenter=!!t.scrollToCenter,this._skipParentFrames=!!t.skipParentFrames,this._maxScrollMargin=n||{left:50,top:50},this._scrollWasPerformed=!1}function wo(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return!lt(t)&&Wo(e)?e:X(t,Wo)}function To(e){return X(d.nativeMethods.nodeChildNodesGetter.call(e),function(e){return Wo(e)||!Ho(e)&&To(e)})}function _o(e){return fe(e)||de(e)&&ln(e)}function Io(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return W(t,_o)}function Po(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return G(t,_o)}function No(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return G(t,function(e){return Jo(e,!0)})}function Ro(e,t){var n,o;if(!ke(e)&&!ke(t)){var r=d.nativeMethods.nodeChildNodesGetter.call(t);return!ot(t,e)&&lt(r)&&/div|p/.test(ze(t))&&(n=To(e))&&!ot(t,n)&&(o=Oo(n))&&!ot(t,o)&&wo(t)}}function Mo(e,t){var n,o,r,i=he(t);if(!ke(e)&&!ke(t)){var a=d.nativeMethods.nodeChildNodesGetter.call(t);if(!ot(t,e)&&(i&&de(t)&&lt(a)&&!/div|p/.test(ze(t))||Wo(t)&&!ot(t,e)&&t.nodeValue.length)){if(i&&de(t)){if(!(n=To(e))||ot(t,n))return;if(!(o=Oo(n))||ot(t,o))return}return(r=function(e){for(var t=null,n=e;!t&&(n=n.previousSibling);)if(!Ho(n)&&!Vo(n)){t=n;break}return t}(t))&&de(r)&&/div|p/.test(ze(r))&&wo(r)}}}function xo(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=lt(r),a=null,s=t?Wo:fe;if(!i&&s(e))return e;for(var l=0;l<i;l++){if(n=r[l],o=de(n)&&!We(n),s(n))return n;if(he(n)&&Po(n)&&!o&&(a=xo(n,t)))return a}return a}function Oo(e){return xo(e,!0)}function Fo(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=lt(r),a=null;if(!i&&Wo(e))return e;for(var s=i-1;0<=s;s--){if(n=r[s],o=de(n)&&!We(n),fe(n)&&(!t||!Vo(n)))return n;if(he(n)&&Po(n)&&!o&&(a=Fo(n,!1)))return a}return a}function Ao(e,t){if(!e||!e.length)return 0;for(var n=e.length,o=t||0,r=o;r<n&&(10===e.charCodeAt(r)||32===e.charCodeAt(r));r++)o++;return o}function Lo(e){if(!e||!e.length)return 0;for(var t=e.length,n=t,o=t-1;0<=o&&(10===e.charCodeAt(o)||32===e.charCodeAt(o));o--)n--;return n}function Vo(e){if(!fe(e))return!1;var t=e.nodeValue,n=Ao(t),o=Lo(t);return n===t.length&&0===o}function Wo(e){return fe(e)&&!Vo(e)}function Ho(e){return!he(e)||ke(e)}function ko(e){var t=e.getAttribute?e.getAttribute("contenteditable"):null;return""===t||"true"===t}function Do(e){var t=Ke(e);if(ko(e)&&We(e))return e;var n=ne(e);return"on"===n.designMode?n.body:X(t,function(e){return ko(e)&&We(e)})}function Uo(e,t){if(ot(e,t))return ot(t,Do(e))?e:d.nativeMethods.nodeParentNodeGetter.call(e);var n=[],o=Do(e),r=null;if(!tt(o,t))return null;for(r=e;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))n.push(r);for(r=t;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))if(-1!==q(n,r))return r;return o}function Bo(e,t){var n=null,o=null,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=lt(r),a=i<=t;if(ke(e))return{node:e,offset:t};if(a?n=r[i-1]:(n=r[t],o=0),ke(n)){if(i<=1)return{node:e,offset:0};(a=i<=t-1)?n=r[i-2]:(n=r[t-1],o=0)}for(;!Ho(n)&&de(n);){var s=Io(n);if(!s.length){o=0;break}n=s[a?s.length-1:0]}return 0===o||Ho(n)||(o=n.nodeValue?n.nodeValue.length:0),{node:n,offset:o}}function qo(e,t,n){var o=n?t.focusNode:t.anchorNode,r=n?t.focusOffset:t.anchorOffset,i={node:o,offset:r};return(ot(e,o)||de(o))&&No(o)&&(i=Bo(o,r)),{node:i.node,offset:i.offset}}function Go(e,t,n){var o=n?t.anchorNode:t.focusNode,r=n?t.anchorOffset:t.focusOffset,i={node:o,offset:r};return(ot(e,o)||de(o))&&No(o)&&(i=Bo(o,r)),{node:i.node,offset:i.offset}}function jo(e,t,n){return Yo(e,qo(e,t,n))}function zo(e,t,n){return Yo(e,Go(e,t,n))}function Jo(e,t){if(_n(e))return!1;if(fe(e))return!0;if(!de(e))return!1;if(No(e))return t;var n=d.nativeMethods.nodeParentNodeGetter.call(e),o=!We(n),r=Io(e),i=G(r,function(e){return"br"===ze(e)});return o||i}function Ko(s,e){var l={node:null,offset:e};return function e(t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(t),i=lt(r);if(l.node)return l;if(Ho(t))return l;if(fe(t)){if(l.offset<=t.nodeValue.length)return l.node=t,l;t.nodeValue.length&&(!l.node&&Mo(s,t)&&l.offset--,l.offset-=t.nodeValue.length)}else if(de(t)){if(!_o(t))return l;if(0===l.offset&&Jo(t,!1))return l.node=t,l.offset=(n=t,o=0,X(d.nativeMethods.nodeChildNodesGetter.call(n),function(e,t){return o=t,"br"===ze(e)})?o:0),l;(l.node||!Ro(s,t)&&!Mo(s,t))&&(i||"br"!==ze(t))||l.offset--}for(var a=0;a<i;a++)l=e(r[a]);return l}(s)}function Yo(i,e){var a=e.node,s=e.offset,l=0,c=!1;return function e(t){var n=d.nativeMethods.nodeChildNodesGetter.call(t),o=lt(n);if(c)return l;if(ot(a,t))return(Ro(i,t)||Mo(i,t))&&l++,c=!0,l+s;if(Ho(t))return l;!o&&t.nodeValue&&t.nodeValue.length?(!c&&Mo(i,t)&&l++,l+=t.nodeValue.length):(!o&&de(t)&&"br"===ze(t)||!c&&(Ro(i,t)||Mo(i,t)))&&l++;for(var r=0;r<o;r++)l=e(n[r]);return l}(i)}function Xo(e){var t,n,o,r,i,a=fe(e)?e:Fo(e,!0);if(!a||(t=a,o=fe(n=e)?n:xo(n,!1),r=t===o,i=t.nodeValue===String.fromCharCode(10),r&&i&&function(e,t){for(var n=["pre","pre-wrap","pre-line"];e!==t;)if(e=d.nativeMethods.nodeParentNodeGetter.call(e),-1<q(n,vn(e,"white-space")))return 1}(t,n)))return 0;var s=ne(e).createRange();return s.selectNodeContents(a),Yo(e,{node:a,offset:s.endOffset})}var Qo=Object.freeze({__proto__:null,getFirstVisibleTextNode:Oo,getLastTextNode:Fo,getFirstNonWhitespaceSymbolIndex:Ao,getLastNonWhitespaceSymbolIndex:Lo,isInvisibleTextNode:Vo,findContentEditableParent:Do,getNearestCommonAncestor:Uo,getSelection:function(e,t,n){return{startPos:qo(e,t,n),endPos:Go(e,t,n)}},getSelectionStartPosition:jo,getSelectionEndPosition:zo,calculateNodeAndOffsetByPosition:Ko,calculatePositionByNodeAndOffset:Yo,getElementBySelection:function(e){var t=Uo(e.anchorNode,e.focusNode);return fe(t)?t.parentElement:t},getFirstVisiblePosition:function(e){var t=fe(e)?e:Oo(e),n=ne(e).createRange();return t?(n.selectNodeContents(t),Yo(e,{node:t,offset:n.startOffset})):0},getLastVisiblePosition:Xo,getContentEditableValue:function(e){return H(function e(t){var n=[],o=d.nativeMethods.nodeChildNodesGetter.call(t),r=lt(o);Ho(t)||r||!fe(t)||n.push(t);for(var i=0;i<r;i++)n=n.concat(e(o[i]));return n}(e),function(e){return e.nodeValue}).join("")}}),$o=f.utils.browser,Zo=f.nativeMethods,er=f.eventSandbox.selection,tr="backward",nr="forward",or="none",rr=or,ir=0,ar=0,sr=0,lr=0,cr=0,ur=0;function dr(e,t,n,o){var r,i,a,s=null,l=null,c=!1;void 0!==t&&void 0!==n&&n<t&&(a=t,t=n,n=a,c=!0),void 0===t&&(l={node:(r=Oo(e))||e,offset:r&&r.nodeValue?Ao(r.nodeValue):0}),void 0===n&&(s={node:(i=Fo(e,!0))||e,offset:i&&i.nodeValue?Lo(i.nodeValue):0}),l=l||Ko(e,t),s=s||Ko(e,n),l.node&&s.node&&(c?Er(s,l,o):Er(l,s,o))}function fr(e){var t=e?ne(e):vi,n=t.getSelection(),o=null,r=!1;return n&&(n.isCollapsed||((o=t.createRange()).setStart(n.anchorNode,n.anchorOffset),o.setEnd(n.focusNode,n.focusOffset),r=o.collapsed,o.detach())),r}function hr(e,t,n){var o=Yo(e,t);return Yo(e,n)<o}function pr(e){return We(e)?vr(e)?jo(e,gr(e),fr(e)):0:er.getSelection(e).start}function mr(e){return We(e)?vr(e)?zo(e,gr(e),fr(e)):0:er.getSelection(e).end}function gr(e){var t=ne(e);return t?t.getSelection():Ei.getSelection()}function Er(e,t,n){var o=e.node,r=t.node,i=o.nodeValue?o.length:0,a=r.nodeValue?r.length:0,s=e.offset,l=t.offset;de(o)&&s||(s=Math.min(i,e.offset)),de(r)&&l||(l=Math.min(a,t.offset));var c=Do(o),u=hr(c,e,t),d=gr(c),f=ne(c).createRange();er.wrapSetterSelection(c,function(){var e;d.removeAllRanges(),u?$o.isIE?(f.setStart(r,l),f.setEnd(o,s),d.addRange(f)):(f.setStart(o,s),f.setEnd(o,s),d.addRange(f),e=function(e,t){try{d.extend(e,t)}catch(e){return!1}return!0},($o.isSafari||$o.isChrome&&$o.version<58)&&Vo(r)?e(r,Math.min(l,1))||e(r,0):e(r,l)):(f.setStart(o,s),f.setEnd(r,l),d.addRange(f))},n,!0)}function vr(e){var t=gr(e);return!(!t.anchorNode||!t.focusNode)&&tt(e,t.anchorNode)&&tt(e,t.focusNode)}$o.isIE&&_t(vi,"selectionchange",function(){var e=null,t=null,n=null;try{if(this.selection)t=this.selection.createRange();else{if(!(e=Zo.documentActiveElementGetter.call(this))||!Le(e))return void(rr=or);var o,r=pr(e),i=mr(e);e.createTextRange?((t=e.createTextRange()).collapse(!0),t.moveStart("character",r),t.moveEnd("character",i-r)):vi.createRange&&(t=vi.createRange(),o=f.nativeMethods.nodeFirstChildGetter.call(e),t.setStart(o,r),t.setEnd(o,i),n=t.getBoundingClientRect())}}catch(e){return void(rr=or)}var a=n?Math.ceil(n.left):t.offsetLeft,s=n?Math.ceil(n.top):t.offsetTop,l=n?Math.ceil(n.height):t.boundingHeight,c=n?Math.ceil(n.width):t.boundingWidth,u=t.htmlText?t.htmlText.length:0;!function(e,t,n,o,r){if(r)switch(rr){case or:t===ur&&(e===lr||sr<n)?rr=nr:(e<lr||t<ur)&&(rr=tr);break;case nr:if(e===lr&&t===ur||e<lr&&sr<n||t===ur&&n===sr&&cr<r&&e+o!==ir)break;(e<lr||t<ur)&&(rr=tr);break;case tr:if((e<lr||t<ur)&&cr<r)break;t===ar&&(ir<=e||sr<n)&&(rr=nr)}else ir=e,ar=t,rr=or;sr=n,lr=e,cr=r,ur=t}(a,s,l,c,n?t.toString().length:u)},!0);var yr,br,Cr=Object.freeze({__proto__:null,hasInverseSelectionContentEditable:fr,isInverseSelectionContentEditable:hr,getSelectionStart:pr,getSelectionEnd:mr,hasInverseSelection:function(e){return We(e)?fr(e):(er.getSelection(e).direction||rr)===tr},getSelectionByElement:gr,select:function(e,t,n){var o,r,i,a;We(e)?dr(e,t,n,!0):(o=t||0,i=!1,a=null,(r=void 0===n?ht(e).length:n)<o&&(a=o,o=r,r=a,i=!0),er.setSelection(e,o,r,i?tr:nr),rr=t===n?or:i?tr:nr)},selectByNodesAndOffsets:Er,deleteSelectionContents:function(e,t){var n,o,r,i,a,s,l,c,u,d,f,h,p=pr(e),m=mr(e);t&&dr(e),p!==m&&(n=gr(e),o=n.anchorNode,r=n.focusNode,i=n.anchorOffset,a=n.focusOffset,s=Ao(o.nodeValue),l=Lo(o.nodeValue),c=Ao(r.nodeValue),u=Lo(r.nodeValue),f=d=null,fe(o)&&(i<s&&0!==i?d=0:i!==o.nodeValue.length&&(Vo(o)&&0!==i||l<i)&&(d=o.nodeValue.length)),fe(r)&&(a<c&&0!==a?f=0:a!==r.nodeValue.length&&(Vo(r)&&0!==a||u<a)&&(f=r.nodeValue.length)),($o.isWebKit||$o.isIE&&11<$o.version)&&(null!==d&&(o.nodeValue=0===d?o.nodeValue.substring(s):o.nodeValue.substring(0,l)),null!==f&&(r.nodeValue=0===f?r.nodeValue.substring(c):r.nodeValue.substring(0,u))),null===d&&null===f||Er({node:o,offset:d=null!==d?0===d?d:o.nodeValue.length:i},{node:r,offset:f=null!==f?0===f?f:r.nodeValue.length:a}),function(e){var t=gr(e),n=t.rangeCount;if(n)for(var o=0;o<n;o++)t.getRangeAt(o).deleteContents()}(e),(h=gr(e)).rangeCount&&!h.getRangeAt(0).collapsed&&h.getRangeAt(0).collapse(!0))},setCursorToLastVisiblePosition:function(e){var t=Xo(e);dr(e,t,t)},hasElementContainsSelection:vr}),Sr=f.Promise,wr=f.nativeMethods,Tr={cannotCreateMultipleLiveModeRunners:"E1000",cannotRunLiveModeRunnerMultipleTimes:"E1001",browserDisconnected:"E1002",cannotRunAgainstDisconnectedBrowsers:"E1003",cannotEstablishBrowserConnection:"E1004",cannotFindBrowser:"E1005",browserProviderNotFound:"E1006",browserNotSet:"E1007",testFilesNotFound:"E1008",noTestsToRun:"E1009",cannotFindReporterForAlias:"E1010",multipleSameStreamReporters:"E1011",optionValueIsNotValidRegExp:"E1012",optionValueIsNotValidKeyValue:"E1013",invalidSpeedValue:"E1014",invalidConcurrencyFactor:"E1015",cannotDivideRemotesCountByConcurrency:"E1016",portsOptionRequiresTwoNumbers:"E1017",portIsNotFree:"E1018",invalidHostname:"E1019",cannotFindSpecifiedTestSource:"E1020",clientFunctionCodeIsNotAFunction:"E1021",selectorInitializedWithWrongType:"E1022",clientFunctionCannotResolveTestRun:"E1023",regeneratorInClientFunctionCode:"E1024",invalidClientFunctionTestRunBinding:"E1025",invalidValueType:"E1026",unsupportedUrlProtocol:"E1027",testControllerProxyCannotResolveTestRun:"E1028",timeLimitedPromiseTimeoutExpired:"E1029",noTestsToRunDueFiltering:"E1030",cannotSetVideoOptionsWithoutBaseVideoPathSpecified:"E1031",multipleAPIMethodCallForbidden:"E1032",invalidReporterOutput:"E1033",cannotReadSSLCertFile:"E1034",cannotPrepareTestsDueToError:"E1035",cannotParseRawFile:"E1036",testedAppFailedWithError:"E1037",unableToOpenBrowser:"E1038",requestHookConfigureAPIError:"E1039",forbiddenCharatersInScreenshotPath:"E1040",cannotFindFFMPEG:"E1041",compositeArgumentsError:"E1042",cannotFindTypescriptConfigurationFile:"E1043",clientScriptInitializerIsNotSpecified:"E1044",clientScriptBasePathIsNotSpecified:"E1045",clientScriptInitializerMultipleContentSources:"E1046",cannotLoadClientScriptFromPath:"E1047",clientScriptModuleEntryPointPathCalculationError:"E1048",methodIsNotAvailableForAnIPCHost:"E1049",tooLargeIPCPayload:"E1050",malformedIPCMessage:"E1051",unexpectedIPCHeadPacket:"E1052",unexpectedIPCBodyPacket:"E1053",unexpectedIPCTailPacket:"E1054",cannotRunLocalNonHeadlessBrowserWithoutDisplay:"E1057",uncaughtErrorInReporter:"E1058",roleInitializedWithRelativeUrl:"E1059",typeScriptCompilerLoadingError:"E1060",cannotCustomizeSpecifiedCompilers:"E1061",cannotEnableRetryTestPagesOption:"E1062",browserConnectionError:"E1063",testRunRequestInDisconnectedBrowser:"E1064",invalidQuarantineOption:"E1065",invalidQuarantineParametersRatio:"E1066",invalidAttemptLimitValue:"E1067",invalidSuccessThresholdValue:"E1068",cannotSetConcurrencyWithCDPPort:"E1069",cannotFindTestcafeConfigurationFile:"E1070",requestUrlInvalidValueError:"E1072",requestRuntimeError:"E1073",requestCannotResolveTestRun:"E1074",relativeBaseUrl:"E1075",invalidSkipJsErrorsOptionsObjectProperty:"E1076",invalidSkipJsErrorsCallbackWithOptionsProperty:"E1077",invalidCommandInJsonCompiler:"E1078",invalidCustomActionsOptionType:"E1079",invalidCustomActionType:"E1080",cannotImportESMInCommonsJS:"E1081",setNativeAutomationForUnsupportedBrowsers:"E1082",cannotReadConfigFile:"E1083",cannotParseConfigFile:"E1084",cannotRunLegacyTestsInNativeAutomationMode:"E1085",setUserProfileInNativeAutomation:"E1086"};(br=yr=yr||{}).TooHighConcurrencyFactor="TooHighConcurrencyFactor",br.UseBrowserInitOption="UseBrowserInitOption",br.RestErrorCauses="RestErrorCauses";var _r,Ir,Pr,Nr,Rr,Mr=yr,xr=", ",Or='"';function Fr(e,t){return"".concat(t).concat(e).concat(t)}function Ar(e,t,n){void 0===t&&(t=xr),void 0===n&&(n=Or);var o=y([],e,!0);if(-1<t.indexOf("\n"))return o.map(function(e){return Fr(e,n)}).join(t);if(1===o.length)return Fr(o[0],n);if(2===o.length){var r=e[0],i=e[1];return"".concat(Fr(r,n)," and ").concat(Fr(i,n))}var a=o.pop(),s=o.map(function(e){return Fr(e,n)}).join(t);return"".concat(s,", and ").concat(Fr(a,n))}(Ir=_r=_r||{}).message="message",Ir.stack="stack",Ir.pageUrl="pageUrl",(Nr=Pr=Pr||{}).fn="fn",Nr.dependencies="dependencies";var Lr,Vr="https://testcafe.io/documentation/402639/reference/command-line-interface#file-pathglob-pattern",Wr="https://testcafe.io/documentation/402638/reference/configuration-file#filter",Hr="https://testcafe.io/documentation/402828/guides/concepts/browsers#test-in-headless-mode",kr="https://testcafe.io/documentation/404150/guides/advanced-guides/custom-test-actions",Dr=((Rr={})[Tr.cannotCreateMultipleLiveModeRunners]="Cannot launch multiple live mode instances of the TestCafe test runner.",Rr[Tr.cannotRunLiveModeRunnerMultipleTimes]="Cannot launch the same live mode instance of the TestCafe test runner multiple times.",Rr[Tr.browserDisconnected]="The {userAgent} browser disconnected. If you did not close the browser yourself, browser performance or network issues may be at fault.",Rr[Tr.cannotRunAgainstDisconnectedBrowsers]="The following browsers disconnected: {userAgents}. Cannot run further tests.",Rr[Tr.testRunRequestInDisconnectedBrowser]='"{browser}" disconnected during test execution.',Rr[Tr.cannotEstablishBrowserConnection]="Cannot establish one or more browser connections.",Rr[Tr.cannotFindBrowser]='Cannot find the browser. "{browser}" is neither a known browser alias, nor a path to an executable file.',Rr[Tr.browserProviderNotFound]='Cannot find the "{providerName}" browser provider.',Rr[Tr.browserNotSet]="You have not specified a browser.",Rr[Tr.testFilesNotFound]='Could not find test files at the following location: "{cwd}".\nCheck patterns for errors:\n\n{sourceList}\n\nor launch TestCafe from a different directory.\n'+"For more information on how to specify test locations, see ".concat(Vr,"."),Rr[Tr.noTestsToRun]="Source files do not contain valid 'fixture' and 'test' declarations.",Rr[Tr.noTestsToRunDueFiltering]="No tests match your filter.\n"+"See ".concat(Wr,"."),Rr[Tr.multipleSameStreamReporters]='Reporters cannot share output streams. The following reporters interfere with one another: "{reporters}".',Rr[Tr.optionValueIsNotValidRegExp]='The "{optionName}" option does not contain a valid regular expression.',Rr[Tr.optionValueIsNotValidKeyValue]='The "{optionName}" option does not contain a valid key-value pair.',Rr[Tr.invalidQuarantineOption]='The "{optionName}" option does not exist. Specify "attemptLimit" and "successThreshold" to configure quarantine mode.',Rr[Tr.invalidQuarantineParametersRatio]='The value of "attemptLimit" ({attemptLimit}) should be greater then the value of "successThreshold" ({successThreshold}).',Rr[Tr.invalidAttemptLimitValue]='The "{attemptLimit}" parameter only accepts values of {MIN_ATTEMPT_LIMIT} and up.',Rr[Tr.invalidSuccessThresholdValue]='The "{successThreshold}" parameter only accepts values of {MIN_SUCCESS_THRESHOLD} and up.',Rr[Tr.invalidSpeedValue]="Speed should be a number between 0.01 and 1.",Rr[Tr.invalidConcurrencyFactor]="The concurrency factor should be an integer greater than or equal to 1.",Rr[Tr.cannotDivideRemotesCountByConcurrency]="The number of remote browsers should be divisible by the concurrency factor.",Rr[Tr.cannotSetConcurrencyWithCDPPort]='The value of the "concurrency" option includes the CDP port.',Rr[Tr.portsOptionRequiresTwoNumbers]='The "--ports" option requires two arguments.',Rr[Tr.portIsNotFree]="Port {portNum} is occupied by another process.",Rr[Tr.invalidHostname]='Cannot resolve hostname "{hostname}".',Rr[Tr.cannotFindSpecifiedTestSource]='Cannot find a test file at "{path}".',Rr[Tr.clientFunctionCodeIsNotAFunction]="Cannot initialize a ClientFunction because {#instantiationCallsiteName} is {type}, and not a function.",Rr[Tr.selectorInitializedWithWrongType]="Cannot initialize a Selector because {#instantiationCallsiteName} is {type}, and not one of the following: a CSS selector string, a Selector object, a node snapshot, a function, or a Promise returned by a Selector.",Rr[Tr.clientFunctionCannotResolveTestRun]="{#instantiationCallsiteName} does not have test controller access. To execute {#instantiationCallsiteName} from a Node.js API callback, bind the test controller object to the function with the `.with({ boundTestRun: t })` method. Note that you cannot execute {#instantiationCallsiteName} outside test code.",Rr[Tr.requestCannotResolveTestRun]='"request" does not have test controller access.',Rr[Tr.regeneratorInClientFunctionCode]='{#instantiationCallsiteName} code, arguments or dependencies cannot contain generators or "async/await" syntax (use Promises instead).',Rr[Tr.invalidClientFunctionTestRunBinding]='Cannot resolve the "boundTestRun" option because its value is not a test controller.',Rr[Tr.invalidValueType]="{smthg} ({actual}) is not of expected type ({type}).",Rr[Tr.unsupportedUrlProtocol]='Invalid {what}: "{url}". TestCafe cannot execute the test because the {what} includes the {protocol} protocol. TestCafe supports the following protocols: http://, https:// and file://.',Rr[Tr.testControllerProxyCannotResolveTestRun]="The action does not have implicit test controller access. Reference the 't' object to gain it.",Rr[Tr.timeLimitedPromiseTimeoutExpired]="A Promise timed out.",Rr[Tr.cannotSetVideoOptionsWithoutBaseVideoPathSpecified]="You cannot manage advanced video parameters when the video recording capability is off. Specify the root storage folder for video content to enable video recording.",Rr[Tr.multipleAPIMethodCallForbidden]='You cannot call the "{methodName}" method more than once. Specify an array of parameters instead.',Rr[Tr.invalidReporterOutput]="Specify a file name or a writable stream as the reporter's output target.",Rr[Tr.cannotReadSSLCertFile]='Unable to read the file referenced by the "{option}" ssl option ("{path}"). Error details:\n\n{err}',Rr[Tr.cannotPrepareTestsDueToError]="Cannot prepare tests due to the following error:\n\n{errMessage}",Rr[Tr.cannotParseRawFile]='Cannot parse a raw test file at "{path}" due to the following error:\n\n{errMessage}',Rr[Tr.testedAppFailedWithError]="The web application failed with the following error:\n\n{errMessage}",Rr[Tr.unableToOpenBrowser]='Unable to open the "{alias}" browser due to the following error:\n\n{errMessage}',Rr[Tr.requestHookConfigureAPIError]="Attempt to configure a request hook resulted in the following error:\n\n{requestHookName}: {errMsg}",Rr[Tr.forbiddenCharatersInScreenshotPath]='There are forbidden characters in the "{screenshotPath}" {screenshotPathType}:\n {forbiddenCharsDescription}',Rr[Tr.cannotFindFFMPEG]="TestCafe cannot record videos because it cannot locate the FFmpeg executable. Try one of the following solutions:\n\n* add the path of the FFmpeg installation directory to the PATH environment variable,\n* specify the path of the FFmpeg executable in the FFMPEG_PATH environment variable or the ffmpegPath option,\n* install the @ffmpeg-installer/ffmpeg npm package.",Rr[Tr.cannotReadConfigFile]='Failed to read the "{path}" configuration file from disk. Error details:\n\n{err}',Rr[Tr.cannotParseConfigFile]='Failed to parse the "{path}" configuration file. The file contains invalid JSON syntax. \n\nError details:\n\n{err}',Rr[Tr.cannotFindReporterForAlias]='Failed to load the "{name}" reporter. Please check the parameter for errors. Error details:\n\n{err}',Rr[Tr.cannotFindTypescriptConfigurationFile]='"{filePath}" is not a valid TypeScript configuration file.',Rr[Tr.clientScriptInitializerIsNotSpecified]="Initialize your client script with one of the following: a JavaScript script, a JavaScript file path, or the name of a JavaScript module.",Rr[Tr.clientScriptBasePathIsNotSpecified]="Specify the base path for the client script file.",Rr[Tr.clientScriptInitializerMultipleContentSources]="Client scripts can only have one initializer: JavaScript code, a JavaScript file path, or the name of a JavaScript module.",Rr[Tr.cannotLoadClientScriptFromPath]="Cannot load a client script from {path}.\n{errorMessage}",Rr[Tr.clientScriptModuleEntryPointPathCalculationError]="A client script tried to load a JavaScript module that TestCafe cannot locate:\n\n{errorMessage}.",Rr[Tr.methodIsNotAvailableForAnIPCHost]="This method cannot be called on a service host.",Rr[Tr.tooLargeIPCPayload]="The specified payload is too large to form an IPC packet.",Rr[Tr.malformedIPCMessage]="Cannot process a malformed IPC message.",Rr[Tr.unexpectedIPCHeadPacket]="Cannot create an IPC message due to an unexpected IPC head packet.",Rr[Tr.unexpectedIPCBodyPacket]="Cannot create an IPC message due to an unexpected IPC body packet.",Rr[Tr.unexpectedIPCTailPacket]="Cannot create an IPC message due to an unexpected IPC tail packet.",Rr[Tr.cannotRunLocalNonHeadlessBrowserWithoutDisplay]="Your Linux installation does not have a graphic subsystem to run {browserAlias} with a GUI. You can launch the browser in headless mode. If you use a portable browser executable, specify the browser alias before the path instead of the 'path' prefix. "+"For more information, see ".concat(Hr),Rr[Tr.uncaughtErrorInReporter]='The "{methodName}" method of the "{reporterName}" reporter produced an uncaught error. Error details:\n{originalError}',Rr[Tr.roleInitializedWithRelativeUrl]="You cannot specify relative login page URLs in the Role constructor. Use an absolute URL.",Rr[Tr.typeScriptCompilerLoadingError]="Cannot load the TypeScript compiler.\n{originErrorMessage}.",Rr[Tr.cannotCustomizeSpecifiedCompilers]="You cannot specify options for the {noncustomizableCompilerList} compiler{suffix}.",Rr[Tr.cannotEnableRetryTestPagesOption]="Cannot enable the 'retryTestPages' option. Apply one of the following two solutions:\n-- set the 'hostname' option to 'localhost'\n-- run TestCafe over HTTPS\n",Rr[Tr.browserConnectionError]="{originErrorMessage}\n{numOfNotOpenedConnection} of {numOfAllConnections} browser connections have not been established:\n{listOfNotOpenedConnections}\n\nHints:\n{listOfHints}",Rr[Mr.TooHighConcurrencyFactor]="The host machine may not be powerful enough to handle the specified concurrency factor ({concurrencyFactor}). Decrease the concurrency factor or allocate more computing resources to the host machine.",Rr[Mr.UseBrowserInitOption]="Increase the Browser Initialization Timeout if its value is too low (currently: {browserInitTimeoutMsg}). The timeout determines how long TestCafe waits for browsers to be ready.",Rr[Mr.RestErrorCauses]="The error can also be caused by network issues or remote device failure. Make sure that your network connection is stable and you can reach the remote device.",Rr[Tr.cannotFindTestcafeConfigurationFile]="Cannot locate a TestCafe configuration file at {filePath}. Either the file does not exist, or the path is invalid.",Rr[Tr.relativeBaseUrl]='The value of the baseUrl argument cannot be relative: "{baseUrl}"',Rr[Tr.requestUrlInvalidValueError]="The request url is invalid ({actualValue}).",Rr[Tr.requestRuntimeError]="The request was interrupted by an error:\n{message}",Rr[Tr.invalidSkipJsErrorsOptionsObjectProperty]='The "{optionName}" option does not exist. Use the following options to configure skipJsErrors: '.concat(Ar(Object.keys(_r)),"."),Rr[Tr.invalidSkipJsErrorsCallbackWithOptionsProperty]='The "{optionName}" option does not exist. Use the following options to configure skipJsErrors callbacks: '.concat(Ar(Object.keys(Pr)),"."),Rr[Tr.invalidCommandInJsonCompiler]='TestCafe terminated the test run. The "{path}" file contains an unknown Chrome User Flow action "{action}". Remove the action to continue. Refer to the following article for the definitive list of supported Chrome User Flow actions: https://testcafe.io/documentation/403998/guides/experimental-capabilities/chrome-replay-support#supported-replay-actions',Rr[Tr.invalidCustomActionsOptionType]="The value of the customActions option does not belong to type Object. Refer to the following article for custom action setup instructions: ".concat(kr),Rr[Tr.invalidCustomActionType]='TestCafe cannot parse the "{actionName}" action, because the action definition is invalid. Format the definition in accordance with the custom actions guide: '.concat(kr),Rr[Tr.cannotImportESMInCommonsJS]="Cannot import the {esModule} ECMAScript module from {targetFile}. Use a dynamic import() statement or enable the --esm CLI flag.",Rr[Tr.setNativeAutomationForUnsupportedBrowsers]='The "{browser}" do not support the Native Automation mode. Use the "disable native automation" option to continue.',Rr[Tr.cannotRunLegacyTestsInNativeAutomationMode]="TestCafe cannot run legacy tests in Native Automation mode. Disable native automation to continue.",Rr[Tr.setUserProfileInNativeAutomation]='The "userProfile" option is enabled for the following browsers: "{browsers}".\nThe "userProfile" option is not supported in the Native Automation mode.\nUse the "disable native automation" option or remove "userProfile" option to continue.',Rr[Tr.timeLimitedPromiseTimeoutExpired]),Ur=(g(Br,Lr=Error),Br);function Br(){var e=Lr.call(this,Dr)||this;return e.code=Tr.timeLimitedPromiseTimeoutExpired,e}function qr(e){var t=e.replace(/^\+/g,"plus").replace(/\+\+/g,"+plus").split("+");return H(t,function(e){return e.replace("plus","+")})}function Gr(e){var t=1===e.length||"space"===e?e:e.toLowerCase();return a.modifiersMap[t]&&(t=a.modifiersMap[t]),t}var jr,zr,Jr=f.utils.trim,Kr={run:"run",idle:"idle"};(zr=jr=jr||{}).ok="ok",zr.closing="closing";var Yr=jr,Xr="file://",Qr=vi.location.href,$r=vi.location.origin,Zr=$r+"/service-worker.js",ei=!1,ti=null,ni=eval;function oi(t){return new u(function(e){return setTimeout(e,t)})}function ri(e,r,t){var n=void 0===t?{}:t,o=n.method,i=void 0===o?"GET":o,a=n.data,s=void 0===a?null:a,l=n.parseResponse,c=void 0===l||l;return new u(function(t,n){var o=r();o.open(i,e,!0),o.onreadystatechange=function(){var e;4===o.readyState&&(200===o.status?((e=o.responseText||"")&&c&&(e=JSON.parse(o.responseText)),t(e)):n("disconnected"))},o.send(s)})}function ii(e){return Qr.toLowerCase()===e.toLowerCase()}function ai(){ei=!1}function si(e,t){ri(t.openFileProtocolUrl,t.createXHR,{method:"POST",data:JSON.stringify({url:e.url})})}function li(e,t){var n,o,r,i,a;ai(),void 0===(a=e.url)&&(a=""),0===a.indexOf(Xr)?si(e,t):(o=t,r=(n=e).url.indexOf("#"),i=-1!==r&&n.url.slice(0,r)===Qr.slice(0,r),vi.location=n.url,o.nativeAutomation&&i&&vi.location.reload())}function ci(e){return(e.cmd===Kr.run||e.cmd===Kr.idle)&&!ii(e.url)}function ui(e,r,t){var i=e.statusUrl,a=e.openFileProtocolUrl,n=void 0===t?{}:t,s=n.manualRedirect,l=n.nativeAutomation;return E(this,void 0,void 0,function(){var n,o;return v(this,function(e){switch(e.label){case 0:return[4,ri(i,r)];case 1:return n=e.sent(),(o=l?(t=n).cmd!==Kr.idle||ci(t):ci(n))&&!s&&li(n,{createXHR:r,openFileProtocolUrl:a,nativeAutomation:l}),[2,{command:n,redirecting:o}]}var t})})}var di=Object.freeze({__proto__:null,delay:oi,sendXHR:ri,startHeartbeat:function(e,t){function n(){ri(e,t).then(function(e){e.code!==Yr.closing||ii(e.url)||(ai(),vi.location=e.url)})}ti=Ei.setInterval(n,2e3),n()},stopHeartbeat:function(){Ei.clearInterval(ti)},startInitScriptExecution:function(e,t){ei=!0,function e(t,n){ei&&ri(t,n).then(function(e){return e.code?ri(t,n,{method:"POST",data:JSON.stringify(ni(e.code))}):null}).then(function(){Ei.setTimeout(function(){return e(t,n)},1e3)})}(e,t)},stopInitScriptExecution:ai,redirectUsingCdp:si,redirect:li,checkStatus:function(){for(var r,i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return E(this,void 0,void 0,function(){var t,n,o;return v(this,function(e){switch(e.label){case 0:n=t=null,o=0,e.label=1;case 1:return o<5?[4,function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,ui.apply(void 0,n)];case 1:return[2,e.sent()];case 2:return t=e.sent(),console.error(t),[2,{error:t}];case 3:return[2]}})})}.apply(void 0,i)]:[3,5];case 2:return r=e.sent(),t=r.error,n=function(e,t){var n={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}(r,["error"]),t?[4,oi(1e3)]:[2,n];case 3:e.sent(),e.label=4;case 4:return o++,[3,1];case 5:throw t}})})},enableRetryingTestPages:function(){return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:if(!navigator.serviceWorker)return[2];e.label=1;case 1:return e.trys.push([1,4,,5]),[4,navigator.serviceWorker.register(Zr,{scope:$r})];case 2:return e.sent(),[4,navigator.serviceWorker.ready];case 3:return e.sent(),[3,5];case 4:return t=e.sent(),console.error(t),[3,5];case 5:return[2]}})})},getActiveWindowId:function(e,t){return ri(e,t)},setActiveWindowId:function(e,t,n){return ri(e,t,{method:"POST",data:JSON.stringify({windowId:n})})},closeWindow:function(e,t,n){return ri(e,t,{method:"POST",data:JSON.stringify({windowId:n})})},dispatchNativeAutomationEvent:function(n,o,r,i){return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:return t=JSON.stringify({type:r,options:i}),[4,ri(n,o,{method:"POST",data:t})];case 1:return e.sent(),[2]}})})},dispatchNativeAutomationEventSequence:function(t,n,o){return E(this,void 0,void 0,function(){return v(this,function(e){switch(e.label){case 0:return[4,ri(t,n,{method:"POST",data:JSON.stringify(o)})];case 1:return e.sent(),[2]}})})},parseSelector:function(e,t,n){return ri(e,t,{method:"POST",data:JSON.stringify({selector:n})})}}),fi={};fi.RequestBarrier=h,fi.ClientRequestEmitter=I,fi.ScriptExecutionBarrier=N,fi.ScriptExecutionEmitter=A,fi.pageUnloadBarrier=jt,fi.preventRealEvents=function(){Mn.initElementListening(Ei,On),Mn.addFirstInternalEventBeforeListener(Ei,On,An),Xt.init()},fi.disableRealEventsPreventing=function(){Mn.removeInternalEventBeforeListener(Ei,On,An)},fi.scrollController=Xt,fi.ScrollAutomation=Co,fi.selectController=Jn,fi.serviceUtils=Jt,fi.domUtils=mt,fi.contentEditable=Qo,fi.positionUtils=mo,fi.styleUtils=Nn,fi.scrollUtils=Bn,fi.eventUtils=Mt,fi.arrayUtils=Q,fi.promiseUtils=Eo,fi.textSelection=Cr,fi.waitFor=function(i,a,s){return new Sr(function(e,t){var n,o,r=i();r?e(r):(n=wr.setInterval.call(Ei,function(){(r=i())&&(wr.clearInterval.call(Ei,n),wr.clearTimeout.call(Ei,o),e(r))},a),o=wr.setTimeout.call(Ei,function(){wr.clearInterval.call(Ei,n),t()},s))})},fi.delay=c,fi.getTimeLimitedPromise=function(e,t){return d.Promise.race([e,c(t).then(function(){return d.Promise.reject(new Ur)})])},fi.noop=function(){},fi.getKeyArray=qr,fi.getSanitizedKey=Gr,fi.parseKeySequence=function(e){if("string"!=typeof e)return{error:!0};var t=(e=Jr(e).replace(/\s+/g," ")).length,n=e.charAt(t-1),o=e.charAt(t-2);1<t&&"+"===n&&!/[+ ]/.test(o)&&(e=e.substring(0,e.length-1));var r=e.split(" ");return{combinations:r,error:G(r,function(e){var t=qr(e);return G(t,function(e){var t=1===e.length||"space"===e,n=Gr(e),o=a.modifiers[n],r=a.specialKeys[n];return!(t||o||r)})}),keys:e}},fi.sendRequestToFrame=bo,fi.KEY_MAPS=a,fi.browser=di,fi.stringifyElement=Zn,fi.selectorTextFilter=function o(e,r,i,a){function t(e){for(var t=e.childNodes.length,n=0;n<t;n++)if(o(e.childNodes[n],r,i,a))return!0;return!1}function n(e){return a instanceof RegExp?a.test(e):a===e.trim()}if(1===e.nodeType)return n(e.innerText||e.textContent);if(9!==e.nodeType)return 11===e.nodeType?t(e):n(e.textContent);var s=e.querySelector("head"),l=e.querySelector("body");return t(s)||t(l)},fi.selectorAttributeFilter=function(e,t,n,o,r){if(1!==e.nodeType)return!1;function i(e,t){return"string"==typeof t?t===e:t.test(e)}for(var a,s=e.attributes,l=0;l<s.length;l++)if(i((a=s[l]).nodeName,o)&&(!r||i(a.nodeValue,r)))return!0;return!1},fi.TEST_RUN_ERRORS={uncaughtErrorOnPage:"E1",uncaughtErrorInTestCode:"E2",uncaughtNonErrorObjectInTestCode:"E3",uncaughtErrorInClientFunctionCode:"E4",uncaughtErrorInCustomDOMPropertyCode:"E5",unhandledPromiseRejection:"E6",uncaughtException:"E7",missingAwaitError:"E8",actionIntegerOptionError:"E9",actionPositiveIntegerOptionError:"E10",actionBooleanOptionError:"E11",actionSpeedOptionError:"E12",actionOptionsTypeError:"E14",actionBooleanArgumentError:"E15",actionStringArgumentError:"E16",actionNullableStringArgumentError:"E17",actionStringOrStringArrayArgumentError:"E18",actionStringArrayElementError:"E19",actionIntegerArgumentError:"E20",actionRoleArgumentError:"E21",actionPositiveIntegerArgumentError:"E22",actionSelectorError:"E23",actionElementNotFoundError:"E24",actionElementIsInvisibleError:"E26",actionSelectorMatchesWrongNodeTypeError:"E27",actionAdditionalElementNotFoundError:"E28",actionAdditionalElementIsInvisibleError:"E29",actionAdditionalSelectorMatchesWrongNodeTypeError:"E30",actionElementNonEditableError:"E31",actionElementNotTextAreaError:"E32",actionElementNonContentEditableError:"E33",actionElementIsNotFileInputError:"E34",actionRootContainerNotFoundError:"E35",actionIncorrectKeysError:"E36",actionCannotFindFileToUploadError:"E37",actionUnsupportedDeviceTypeError:"E38",actionIframeIsNotLoadedError:"E39",actionElementNotIframeError:"E40",actionInvalidScrollTargetError:"E41",currentIframeIsNotLoadedError:"E42",currentIframeNotFoundError:"E43",currentIframeIsInvisibleError:"E44",nativeDialogNotHandledError:"E45",uncaughtErrorInNativeDialogHandler:"E46",setTestSpeedArgumentError:"E47",setNativeDialogHandlerCodeWrongTypeError:"E48",clientFunctionExecutionInterruptionError:"E49",domNodeClientFunctionResultError:"E50",invalidSelectorResultError:"E51",cannotObtainInfoForElementSpecifiedBySelectorError:"E52",externalAssertionLibraryError:"E53",pageLoadError:"E54",windowDimensionsOverflowError:"E55",forbiddenCharactersInScreenshotPathError:"E56",invalidElementScreenshotDimensionsError:"E57",roleSwitchInRoleInitializerError:"E58",assertionExecutableArgumentError:"E59",assertionWithoutMethodCallError:"E60",assertionUnawaitedPromiseError:"E61",requestHookNotImplementedError:"E62",requestHookUnhandledError:"E63",uncaughtErrorInCustomClientScriptCode:"E64",uncaughtErrorInCustomClientScriptCodeLoadedFromModule:"E65",uncaughtErrorInCustomScript:"E66",uncaughtTestCafeErrorInCustomScript:"E67",childWindowIsNotLoadedError:"E68",childWindowNotFoundError:"E69",cannotSwitchToWindowError:"E70",closeChildWindowError:"E71",childWindowClosedBeforeSwitchingError:"E72",cannotCloseWindowWithChildrenError:"E73",targetWindowNotFoundError:"E74",parentWindowNotFoundError:"E76",previousWindowNotFoundError:"E77",switchToWindowPredicateError:"E78",actionFunctionArgumentError:"E79",multipleWindowsModeIsDisabledError:"E80",multipleWindowsModeIsNotSupportedInRemoteBrowserError:"E81",cannotCloseWindowWithoutParent:"E82",cannotRestoreChildWindowError:"E83",executionTimeoutExceeded:"E84",actionRequiredCookieArguments:"E85",actionCookieArgumentError:"E86",actionCookieArgumentsError:"E87",actionUrlCookieArgumentError:"E88",actionUrlsCookieArgumentError:"E89",actionStringOptionError:"E90",actionDateOptionError:"E91",actionNumberOptionError:"E92",actionUrlOptionError:"E93",actionUrlSearchParamsOptionError:"E94",actionObjectOptionError:"E95",actionUrlArgumentError:"E96",actionStringOrRegexOptionError:"E97",actionSkipJsErrorsArgumentError:"E98",actionFunctionOptionError:"E99",actionInvalidObjectPropertyError:"E100",actionElementIsNotTargetError:"E101",multipleWindowsModeIsNotSupportedInNativeAutomationError:"E102"},fi.RUNTIME_ERRORS=Tr;var hi=f.nativeMethods,pi=f.EVENTS.evalIframeScript;hi.objectDefineProperty(Ei,"%testCafeCore%",{configurable:!0,value:fi}),f.on(pi,function(e){return gi(hi.contentWindowGetter.call(e.iframe))});var mi=f.eventSandbox.message;mi.on(mi.SERVICE_MSG_RECEIVED_EVENT,function(e){var t,n,o,r,i;e.message.cmd===Co.SCROLL_REQUEST_CMD&&(n=(t=e.message).offsetX,o=t.offsetY,r=t.maxScrollMargin,i=at(e.source),new Co(i,{offsetX:n,offsetY:o},r).run().then(function(){return mi.sendServiceMsg({cmd:Co.SCROLL_RESPONSE_CMD},e.source)}))})}(Ei["%hammerhead%"],Ei["%hammerhead%"].Promise)}(window);
1
+ window["%hammerhead%"].utils.removeInjectedScript(),function gi(Ei){var vi=Ei.document;!function(d,u){var f="default"in d?d.default:d;u=u&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u;var e=f.utils.browser,t={alt:18,ctrl:17,meta:91,shift:16},n={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=","{":"[","}":"]",":":";",'"':"'","|":"\\","<":",",">":".","?":"/","±":"§"},o={backspace:8,capslock:20,delete:46,down:40,end:35,enter:13,esc:27,home:36,ins:45,left:37,pagedown:34,pageup:33,right:39,space:32,tab:9,up:38},r={left:e.isIE?"Left":"ArrowLeft",down:e.isIE?"Down":"ArrowDown",right:e.isIE?"Right":"ArrowRight",up:e.isIE?"Up":"ArrowUp",backspace:"Backspace",capslock:"CapsLock",delete:"Delete",end:"End",enter:"Enter",esc:"Escape",home:"Home",ins:"Insert",pagedown:"PageDown",pageup:"PageUp",space:e.isIE?"Spacebar":" ",tab:"Tab",alt:"Alt",ctrl:"Control",meta:"Meta",shift:"Shift"};function i(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}var a={modifiers:t,shiftMap:n,specialKeys:o,keyProperty:r,modifiersMap:{option:"alt"},symbolCharCodeToKeyCode:{96:192,91:219,93:221,92:220,59:186,39:222,44:188,45:e.isFirefox?173:189,46:190,47:191},symbolKeysCharCodes:{109:45,173:45,186:59,187:61,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39,110:46,96:48,97:49,98:50,99:51,100:52,101:53,102:54,103:55,104:56,105:57,107:43,106:42,111:47},reversedModifiers:i(t),reversedShiftMap:i(n),reversedSpecialKeys:i(o),reversedKeyProperty:i(r),newLineKeys:["enter","\n","\r"]},s=f.Promise,l=f.nativeMethods;function c(t){return new s(function(e){return l.setTimeout.call(Ei,e,t)})}var h=(p.prototype._startListening=function(){var t=this;this._emitter.onRequestSend(function(e){return t._onRequestSend(e)}),this._emitter.onRequestCompleted(function(e){return t._onRequestCompleted(e)}),this._emitter.onRequestError(function(e){return t._onRequestError(e)})},p.prototype._offListening=function(){this._emitter.offAll()},p.prototype._onRequestSend=function(e){this._collectingReqs&&this._requests.add(e)},p.prototype._onRequestCompleted=function(e){var t=this;c(this._delays.additionalRequestsCollection).then(function(){return t._onRequestFinished(e)})},p.prototype._onRequestFinished=function(e){this._requests.has(e)&&(this._requests.delete(e),this._collectingReqs||this._requests.size||!this._watchdog||this._finishWaiting())},p.prototype._onRequestError=function(e){this._onRequestFinished(e)},p.prototype._finishWaiting=function(){this._watchdog&&((0,d.nativeMethods.clearTimeout)(this._watchdog),this._watchdog=null),this._requests.clear(),this._offListening(),this._waitResolve()},p.prototype.wait=function(e){var n=this;return c(e?this._delays.pageInitialRequestsCollection:this._delays.requestsCollection).then(function(){return new d.Promise(function(e){var t;n._collectingReqs=!1,n._waitResolve=e,n._requests.size?(t=d.nativeMethods.setTimeout,n._watchdog=t(function(){return n._finishWaiting()},p.TIMEOUT)):n._finishWaiting()})})},p.TIMEOUT=3e3,p);function p(e,t){var n,o,r;void 0===t&&(t={}),this._delays={requestsCollection:null!==(n=t.requestsCollection)&&void 0!==n?n:50,additionalRequestsCollection:null!==(o=t.additionalRequestsCollection)&&void 0!==o?o:50,pageInitialRequestsCollection:null!==(r=t.pageInitialRequestsCollection)&&void 0!==r?r:50},this._emitter=e,this._waitResolve=null,this._watchdog=null,this._requests=new Set,this._collectingReqs=!0,this._startListening()}var m=function(e,t){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function g(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function E(e,a,s,l){return new(s=s||u)(function(n,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function r(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,r)}i((l=l.apply(e,a||[])).next())})}function v(n,o){var r,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function e(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;l&&t[l=0]&&(s=0),s;)try{if(r=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=o.call(n,s)}catch(e){t=[6,e],i=0}finally{r=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function y(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||((o=o||Array.prototype.slice.call(t,0,r))[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}var b=(C.prototype.on=function(e,t){this._eventsListeners[e]||(this._eventsListeners[e]=[]),this._eventsListeners[e].push(t)},C.prototype.once=function(n,o){var r=this;this.on(n,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.off(n,o),o.apply(void 0,e)})},C.prototype.off=function(e,t){var n=this._eventsListeners[e];n&&(this._eventsListeners[e]=d.nativeMethods.arrayFilter.call(n,function(e){return e!==t}))},C.prototype.offAll=function(e){e?this._eventsListeners[e]=[]:this._eventsListeners={}},C.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var o=this._eventsListeners[t];if(o)for(var r=0;r<o.length;r++)try{o[r].apply(this,e)}catch(e){if(!(e.message&&-1<e.message.indexOf("freed script")))throw e;this.off(t,o[r])}},C);function C(){this._eventsListeners={}}var S,w="request-send",T="request-completed",_="request-error",I=(g(P,S=b),P.prototype._addHammerheadListener=function(e,t){f.on(e,t),this._hammerheadListenersInfo.push({evt:e,listener:t})},P.prototype.onRequestSend=function(e){this.on(w,e)},P.prototype.onRequestCompleted=function(e){this.on(T,e)},P.prototype.onRequestError=function(e){this.on(_,e)},P.prototype.offAll=function(){S.prototype.offAll.call(this);for(var e=0,t=this._hammerheadListenersInfo;e<t.length;e++){var n=t[e];f.off.call(f,n.evt,n.listener)}},P);function P(){var n=S.call(this)||this;return n._hammerheadListenersInfo=[],n._addHammerheadListener(f.EVENTS.beforeXhrSend,function(e){var t=e.xhr;return n.emit(w,t)}),n._addHammerheadListener(f.EVENTS.xhrCompleted,function(e){var t=e.xhr;return n.emit(T,t)}),n._addHammerheadListener(f.EVENTS.xhrError,function(e){var t=e.xhr;return n.emit(_,t)}),n._addHammerheadListener(f.EVENTS.fetchSent,function(e){n.emit(w,e),e.then(function(){return n.emit(T,e)},function(){return n.emit(_,e)})}),n}var N=(R.prototype._startListening=function(){var t=this;this._emitter.onScriptAdded(function(e){return t._onScriptElementAdded(e)}),this._emitter.onScriptLoadedOrFailed(function(e){return t._onScriptLoadedOrFailed(e)})},R.prototype._offListening=function(){this._emitter.offAll()},R.prototype._onScriptElementAdded=function(e){var t=this,n=(0,d.nativeMethods.setTimeout)(function(){return t._onScriptLoadedOrFailed(e,!0)},R.LOADING_TIMEOUT);this._scripts.set(e,n)},R.prototype._onScriptLoadedOrFailed=function(e,t){var n=this;void 0===t&&(t=!1),this._scripts.has(e)&&(t||(0,d.nativeMethods.clearTimeout)(this._scripts.get(e)),this._scripts.delete(e),this._scripts.size||c(25).then(function(){n._waitResolve&&!n._scripts.size&&n._finishWaiting()}))},R.prototype._finishWaiting=function(){this._watchdog&&((0,d.nativeMethods.clearTimeout)(this._watchdog),this._watchdog=null),this._scripts.clear(),this._offListening(),this._waitResolve(),this._waitResolve=null},R.prototype.wait=function(){var n=this;return new d.Promise(function(e){var t;n._waitResolve=e,n._scripts.size?(t=d.nativeMethods.setTimeout,n._watchdog=t(function(){return n._finishWaiting()},R.TIMEOUT)):n._finishWaiting()})},R.TIMEOUT=3e3,R.LOADING_TIMEOUT=2e3,R);function R(e){this._emitter=e,this._watchdog=null,this._waitResolve=null,this._scripts=new Map,this._startListening()}var M,x=f.nativeMethods,O="script-added",F="script-loaded-or-failed",A=(g(L,M=b),L.prototype._onScriptElementAdded=function(e){var t,n=this,o=x.scriptSrcGetter.call(e);void 0!==o&&""!==o&&(this.emit(O,e),t=function(){x.removeEventListener.call(e,"load",t),x.removeEventListener.call(e,"error",t),n.emit(F,e)},x.addEventListener.call(e,"load",t),x.addEventListener.call(e,"error",t))},L.prototype.onScriptAdded=function(e){this.on(O,e)},L.prototype.onScriptLoadedOrFailed=function(e){this.on(F,e)},L.prototype.offAll=function(){M.prototype.offAll.call(this),f.off(f.EVENTS.scriptElementAdded,this._onScriptElementAdded)},L);function L(){var n=M.call(this)||this;return n._scriptElementAddedListener=function(e){var t=e.el;return n._onScriptElementAdded(t)},f.on(f.EVENTS.scriptElementAdded,n._scriptElementAddedListener),n}function V(e){var t="array"+e.charAt(0).toUpperCase()+e.slice(1),n=d.nativeMethods[t];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n.call.apply(n,e)}}var W=V("filter"),H=V("map"),k=V("slice"),D=V("splice"),U=V("unshift"),B=V("forEach"),q=V("indexOf"),G=V("some"),j=V("reverse"),z=V("reduce"),J=V("concat"),K=V("join"),Y=V("every");function X(e,t){if(d.nativeMethods.arrayFind)return d.nativeMethods.arrayFind.call(e,t);for(var n=e.length,o=0;o<n;o++)if(t(e[o],o,e))return e[o];return null}var Q=Object.freeze({__proto__:null,filter:W,map:H,slice:k,splice:D,unshift:U,forEach:B,indexOf:q,some:G,reverse:j,reduce:z,concat:J,join:K,every:Y,isArray:function(e){return"[object Array]"===d.nativeMethods.objectToString.call(e)},from:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(d.nativeMethods.arrayFrom)return d.nativeMethods.arrayFrom.apply(d.nativeMethods,y([e],t,!1));for(var o=[],r=e.length,i=0;i<r;i++)o.push(e[i]);return o},find:X,remove:function(e,t){var n=d.nativeMethods.arrayIndexOf.call(e,t);-1<n&&d.nativeMethods.arraySplice.call(e,n,1)},equals:function(e,t){if(e.length!==t.length)return!1;for(var n=0,o=e.length;n<o;n++)if(e[n]!==t[n])return!1;return!0},getCommonElement:function(e,t){for(var n=0;n<e.length;n++)for(var o=0;o<t.length;o++)if(e[n]===t[o])return e[n];return null}}),$=f.utils.browser,Z=f.nativeMethods,ee=f.utils.style.get,te=f.utils.dom.getActiveElement,ne=f.utils.dom.findDocument,oe=f.utils.dom.find,re=f.utils.dom.isElementInDocument,ie=f.utils.dom.isElementInIframe,ae=f.utils.dom.getIframeByElement,se=f.utils.dom.isCrossDomainWindows,le=f.utils.dom.getSelectParent,ce=f.utils.dom.getChildVisibleIndex,ue=f.utils.dom.getSelectVisibleChildren,de=f.utils.dom.isElementNode,fe=f.utils.dom.isTextNode,he=f.utils.dom.isRenderedNode,pe=f.utils.dom.isIframeElement,me=f.utils.dom.isInputElement,ge=f.utils.dom.isButtonElement,Ee=f.utils.dom.isFileInput,ve=f.utils.dom.isTextAreaElement,ye=f.utils.dom.isAnchorElement,be=f.utils.dom.isImgElement,Ce=f.utils.dom.isFormElement,Se=f.utils.dom.isLabelElement,we=f.utils.dom.isSelectElement,Te=f.utils.dom.isRadioButtonElement,_e=f.utils.dom.isColorInputElement,Ie=f.utils.dom.isCheckboxElement,Pe=f.utils.dom.isOptionElement,Ne=f.utils.dom.isSVGElement,Re=f.utils.dom.isMapElement,Me=f.utils.dom.isBodyElement,xe=f.utils.dom.isHtmlElement,Oe=f.utils.dom.isDocument,Fe=f.utils.dom.isWindow,Ae=f.utils.dom.isTextEditableInput,Le=f.utils.dom.isTextEditableElement,Ve=f.utils.dom.isTextEditableElementAndEditingAllowed,We=f.utils.dom.isContentEditableElement,He=f.utils.dom.isDomElement,ke=f.utils.dom.isShadowUIElement,De=f.utils.dom.isShadowRoot,Ue=f.utils.dom.isElementFocusable,Be=f.utils.dom.isHammerheadAttr,qe=f.utils.dom.isElementReadOnly,Ge=f.utils.dom.getScrollbarSize,je=f.utils.dom.getMapContainer,ze=f.utils.dom.getTagName,Je=f.utils.dom.closest,Ke=f.utils.dom.getParents,Ye=f.utils.dom.findParent,Xe=f.utils.dom.getTopSameDomainWindow,Qe=f.utils.dom.getParentExceptShadowRoot;function $e(e,t){var n,o={el:n=e,skip:n.shadowRoot&&n.tabIndex<0,children:{}};if(e=e.shadowRoot||e,pe(e)&&(e=Z.contentDocumentGetter.call(e)),e&&(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE||e.nodeType===Node.DOCUMENT_NODE))for(var r=0,i=function(e){for(var t,n=e.querySelectorAll("*"),o=function(e){for(var t=[],n=0;n<e.length;n++)"none"===ee(e[n],"display")&&t.push(e[n]);return t}(n),r=/^(input|button|select|textarea)$/,i=[],a=null,s=null,l=null,c=!1,u=0;u<n.length;u++){a=n[u],s=ze(a),l=Ze(a),c=!1,function(e,t,n){var o=null;return t.nodeType===Node.DOCUMENT_NODE&&(o=Z.documentActiveElementGetter.call(t)),e===o||!(e.disabled||"none"===ee(e,"display")||"hidden"===ee(e,"visibility")||($.isIE||$.isAndroid)&&Pe(e)||null!==n&&n<0)}(a,e,l)&&(r.test(s)||a.shadowRoot||pe(a)?c=!0:ye(a)&&a.hasAttribute("href")&&(c=""!==a.getAttribute("href")||!$.isIE||null!==l),""!==(t=a.getAttribute("contenteditable"))&&"true"!==t||(c=!0),null!==l&&(c=!0),c&&i.push(a))}return W(i,function(e){return!et(o,e)})}(e);r<i.length;r++){var a=i[r],s=!t||a.tabIndex<=0?-1:a.tabIndex;o.children[s]=o.children[s]||[],o.children[s].push($e(a,t))}return o}function Ze(e){var t=Z.getAttribute.call(e,"tabindex");return null!==t&&(t=parseInt(t,10),t=isNaN(t)?null:t),t}function et(e,t){return e.contains?e.contains(t):G(e,function(e){return e.contains(t)})}function tt(e,t){if(ot(t,e))return!0;for(var n=Z.nodeChildNodesGetter.call(e),o=lt(n),r=0;r<o;r++){var i=n[r];if(!ke(i)&&tt(i,t))return!0}return!1}function nt(e,t){var n=e.querySelectorAll(ze(t));return q(n,t)}function ot(e,t){return e&&t&&e.isSameNode?e.isSameNode(t):e===t}function rt(t){if(!t.setTimeout)return!1;var e=null;try{e=t.frameElement}catch(e){return!!t.top}return!(!$.isFirefox&&!$.isWebKit||t.top===t||e)||!(!e||!Z.contentDocumentGetter.call(e))}function it(e){try{return e.top===e}catch(e){return!1}}function at(e){var t=[];oe(vi,"*",function(e){"IFRAME"===e.tagName&&t.push(e),e.shadowRoot&&oe(e.shadowRoot,"iframe",function(e){return t.push(e)})});for(var n=0;n<t.length;n++)if(Z.contentWindowGetter.call(t[n])===e)return t[n];return null}function st(e){return Z.htmlCollectionLengthGetter.call(e)}function lt(e){return Z.nodeListLengthGetter.call(e)}function ct(e){return Z.inputValueGetter.call(e)}function ut(e){return Z.textAreaValueGetter.call(e)}function dt(e,t){return Z.inputValueSetter.call(e,t)}function ft(e,t){return Z.textAreaValueSetter.call(e,t)}function ht(e){return me(e)?ct(e):ve(e)?ut(e):e.value}function pt(e){return e&&e.getRootNode&&ne(e)!==e.getRootNode()}var mt=Object.freeze({__proto__:null,getActiveElement:te,findDocument:ne,find:oe,isElementInDocument:re,isElementInIframe:ie,getIframeByElement:ae,isCrossDomainWindows:se,getSelectParent:le,getChildVisibleIndex:ce,getSelectVisibleChildren:ue,isElementNode:de,isTextNode:fe,isRenderedNode:he,isIframeElement:pe,isInputElement:me,isButtonElement:ge,isFileInput:Ee,isTextAreaElement:ve,isAnchorElement:ye,isImgElement:be,isFormElement:Ce,isLabelElement:Se,isSelectElement:we,isRadioButtonElement:Te,isColorInputElement:_e,isCheckboxElement:Ie,isOptionElement:Pe,isSVGElement:Ne,isMapElement:Re,isBodyElement:Me,isHtmlElement:xe,isDocument:Oe,isWindow:Fe,isTextEditableInput:Ae,isTextEditableElement:Le,isTextEditableElementAndEditingAllowed:Ve,isContentEditableElement:We,isDomElement:He,isShadowUIElement:ke,isShadowRoot:De,isElementFocusable:Ue,isHammerheadAttr:Be,isElementReadOnly:qe,getScrollbarSize:Ge,getMapContainer:je,getTagName:ze,closest:Je,getParents:Ke,findParent:Ye,getTopSameDomainWindow:Xe,getParentExceptShadowRoot:Qe,getFocusableElements:function(e,t){return void 0===t&&(t=!1),function e(t){var n,o=[];for(n in t.skip||t.el.nodeType===Node.DOCUMENT_NODE||pe(t.el)||o.push(t.el),t.children)for(var r=0,i=t.children[n];r<i.length;r++){var a=i[r];o.push.apply(o,e(a))}return o}($e(e,t))},getTabIndexAttributeIntValue:Ze,containsElement:et,getTextareaIndentInLine:function(e,t){var n=ut(e);if(!n)return 0;var o=n.substring(0,t);return t-(-1===o.lastIndexOf("\n")?0:o.lastIndexOf("\n")+1)},getTextareaLineNumberByPosition:function(e,t){for(var n=ut(e).split("\n"),o=0,r=0,i=0;o<=t;i++){if(t<=o+n[i].length){r=i;break}o+=n[i].length+1}return r},getTextareaPositionByLineAndOffset:function(e,t,n){for(var o=ut(e).split("\n"),r=0,i=0;i<t;i++)r+=o[i].length+1;return r+n},blocksImplicitSubmission:function(e){return($.isSafari?/^(text|password|color|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:$.isFirefox?/^(text|password|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:$.isIE?/^(text|password|color|date|time|datetime|datetime-local|email|file|month|number|search|tel|url|week|image)$/i:/^(text|password|datetime|email|number|search|tel|url|image)$/i).test(e.type)},isEditableElement:function(e,t){return t?Ve(e)||We(e):Le(e)||We(e)},isElementContainsNode:tt,isOptionGroupElement:function(e){return"[object HTMLOptGroupElement]"===f.utils.dom.instanceToString(e)},getElementIndexInParent:nt,isTheSameNode:ot,getElementDescription:function(e){var t,n,o={id:"id",name:"name",class:"className"},r=[];for(t in r.push("<"),r.push(ze(e)),o)!o.hasOwnProperty(t)||(n=e[o[t]])&&r.push(" "+t+'="'+n+'"');return r.push(">"),r.join("")},getFocusableParent:function(e){for(var t=Ke(e),n=0;n<t.length;n++)if(Ue(t[n]))return t[n];return null},remove:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},isIFrameWindowInDOM:rt,isTopWindow:it,findIframeByWindow:at,isEditableFormElement:function(e){return Le(e)||we(e)},getCommonAncestor:function(e,t){if(ot(e,t))return e;for(var n=[e].concat(Ke(e)),o=t;o;){if(-1<q(n,o))return o;o=Z.nodeParentNodeGetter.call(o)}return o},getChildrenLength:st,getChildNodesLength:lt,getInputValue:ct,getTextAreaValue:ut,setInputValue:dt,setTextAreaValue:ft,getElementValue:ht,setElementValue:function(e,t){return me(e)?dt(e,t):ve(e)?ft(e,t):e.value=t},isShadowElement:pt,contains:function(t,e){return!(!t||!e)&&(t.contains?t.contains(e):!!Ye(e,!0,function(e){return e===t}))},isNodeEqual:function(e,t){return e===t},getNodeText:function(e){return Z.nodeTextContentGetter.call(e)},getImgMapName:function(e){return e.useMap.substring(1)},getDocumentElement:function(e){return e.document.documentElement},isDocumentElement:function(e){return e===vi.documentElement}}),gt=f.Promise,Et=f.nativeMethods,vt=f.eventSandbox.listeners,yt=f.utils.browser,bt=f.utils.event.BUTTON,Ct=f.utils.event.BUTTONS_PARAMETER,St=f.utils.event.DOM_EVENTS,wt=f.utils.event.WHICH_PARAMETER,Tt=f.utils.event.preventDefault;function _t(e,t,n,o){yt.isIE11&&Fe(e)?Et.windowAddEventListener.call(e,t,n,o):Et.addEventListener.call(e,t,n,o)}function It(e,t,n,o){yt.isIE11&&Fe(e)?Et.windowRemoveEventListener.call(e,t,n,o):Et.removeEventListener.call(e,t,n,o)}function Pt(){var n=[],e=!1;function t(){e||(vi.body?(e=!0,n.forEach(function(e){return e()})):Et.setTimeout.call(Ei,t,1))}function o(){(rt(Ei)||it(Ei))&&(It(vi,"DOMContentLoaded",o),t())}return"complete"===vi.readyState?Et.setTimeout.call(Ei,o,1):_t(vi,"DOMContentLoaded",o),{then:function(e){return t=e,new gt(function(e){return n.push(function(){return e(t())})});var t}}}var Nt,Rt,Mt=Object.freeze({__proto__:null,BUTTON:bt,BUTTONS_PARAMETER:Ct,DOM_EVENTS:St,WHICH_PARAMETER:wt,preventDefault:Tt,bind:_t,unbind:It,documentReady:function(e){return void 0===e&&(e=0),Pt().then(function(){return vt.getEventListeners(Ei,"load").length?gt.race([new gt(function(e){return _t(Ei,"load",e)}),c(e)]):null})}});(Rt=Nt=Nt||{}).ready="ready",Rt.readyForBrowserManipulation="ready-for-browser-manipulation",Rt.waitForFileDownload="wait-for-file-download";var xt=Nt,Ot=f.Promise,Ft=f.utils.browser,At=f.nativeMethods,Lt=f.transport,Vt=30,Wt=500,Ht=!1,kt=null,Dt=!1;function Ut(){if(Ft.isIE)return function(e){qt&&At.clearTimeout.call(Ei,qt),Bt=!0,qt=At.setTimeout.call(Ei,function(){qt=null,Bt=!1,Gt.forEach(function(e){return e()}),Gt=[]},e)}(Vt),void c(0).then(function(){var e;"loading"===vi.readyState&&((e=At.documentActiveElementGetter.call(vi))&&ye(e)&&e.hasAttribute("download")||(Ht=!0))});Ht=!0}var Bt=!1,qt=null,Gt=[],jt=Object.freeze({__proto__:null,init:function(){f.on(f.EVENTS.beforeUnload,Ut),_t(Ei,"unload",function(){Ht=!0})},watchForPageNavigationTriggers:function(){kt=function(){Dt=!0},f.on(f.EVENTS.pageNavigationTriggered,kt)},wait:function(e){void 0===e&&(e=!kt||Dt?400:0),kt&&(f.off(f.EVENTS.pageNavigationTriggered,kt),kt=null);var t=c(e).then(function(){return Ht?c(Wt).then(function(){return Lt.queuedAsyncServiceMsg({cmd:xt.waitForFileDownload})}).then(function(e){if(!e)return new Ot(function(){})}).then(function(){Ht=!1}):Bt?new Ot(function(e){return Gt.push(e)}):void 0}),n=c(15e3).then(function(){Ht=!1});return Ot.race([t,n])}}),zt=b,Jt=Object.freeze({__proto__:null,EventEmitter:zt,inherit:function(e,t){function n(){}n.prototype=t.prototype,f.utils.extend(e.prototype,new n),(e.prototype.constructor=e).base=t.prototype}}),Kt=d.eventSandbox.listeners;function Yt(){this.initialized=!1,this.stopPropagationFlag=!1,this.events=new zt}var Xt=(Yt.prototype._internalListener=function(e,t,n,o,r){this.events.emit("scroll",e),this.stopPropagationFlag&&(o(),r())},Yt.prototype.init=function(){var n=this;this.initialized||(this.initialized=!0,Kt.initElementListening(Ei,["scroll"]),Kt.addFirstInternalEventBeforeListener(Ei,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n._internalListener.apply(n,e)}))},Yt.prototype.waitForScroll=function(e){var t=this,n=null,o=new d.Promise(function(e){n=e});return o.cancel=function(){return t.events.off("scroll",n)},this.initialized?this.handleScrollEvents(e,n):n(),o},Yt.prototype.handleScrollEvents=function(n,e){var o=this;this.events.once("scroll",e),pt(n)&&(Kt.initElementListening(n,["scroll"]),Kt.addFirstInternalEventBeforeListener(n,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];o._internalListener.apply(o,e),Kt.cancelElementListening(n)}))},Yt.prototype.stopPropagation=function(){this.stopPropagationFlag=!0},Yt.prototype.enablePropagation=function(){this.stopPropagationFlag=!1},new Yt),Qt=($t.create=function(e){return new $t(e.top,e.right,e.bottom,e.left)},$t.prototype.add=function(e){return this.top+=e.top,this.right+=e.right,this.bottom+=e.bottom,this.left+=e.left,this},$t.prototype.sub=function(e){return"top"in e&&(this.top-=e.top,this.left-=e.left),this.bottom-=e.bottom,this.right-=e.right,this},$t.prototype.round=function(e,t){return void 0===e&&(e=Math.round),void 0===t&&(t=e),this.top=e(this.top),this.right=t(this.right),this.bottom=t(this.bottom),this.left=e(this.left),this},$t.prototype.contains=function(e){return e.x>=this.left&&e.x<=this.right&&e.y>=this.top&&e.y<=this.bottom},$t);function $t(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=0),this.top=e,this.right=t,this.bottom=n,this.left=o}var Zt=f.utils.style,en=f.utils.style.getBordersWidth,tn=f.utils.style.getComputedStyle,nn=f.utils.style.getElementMargin,on=f.utils.style.getElementPadding,rn=f.utils.style.getElementScroll,an=f.utils.style.getOptionHeight,sn=f.utils.style.getSelectElementSize,ln=f.utils.style.isElementVisible,cn=f.utils.style.isVisibleChild,un=f.utils.style.getWidth,dn=f.utils.style.getHeight,fn=f.utils.style.getInnerWidth,hn=f.utils.style.getInnerHeight,pn=f.utils.style.getScrollLeft,mn=f.utils.style.getScrollTop,gn=f.utils.style.setScrollLeft,En=f.utils.style.setScrollTop,vn=f.utils.style.get,yn=f.utils.style.getBordersWidthFloat,bn=f.utils.style.getElementPaddingFloat;function Cn(e,t,n){for(var o in"string"==typeof t&&Zt.set(e,t,n),t)t.hasOwnProperty(o)&&Zt.set(e,o,t[o])}function Sn(e,t,n){return e<t?n:e<n?t:Math.max(n,t)}function wn(e){return!!Ye(e,!0,function(e){return de(e)&&"hidden"===Zt.get(e,"visibility")})}function Tn(e){return!!Ye(e,!0,function(e){return de(e)&&"none"===Zt.get(e,"display")})}function _n(e){return!he(e)||Tn(e)||wn(e)}function In(e){return e&&!(e.offsetHeight<=0&&e.offsetWidth<=0)}function Pn(e){return de(e)&&"fixed"===Zt.get(e,"position")}var Nn=Object.freeze({__proto__:null,getBordersWidth:en,getComputedStyle:tn,getElementMargin:nn,getElementPadding:on,getElementScroll:rn,getOptionHeight:an,getSelectElementSize:sn,isElementVisible:ln,isSelectVisibleChild:cn,getWidth:un,getHeight:dn,getInnerWidth:fn,getInnerHeight:hn,getScrollLeft:pn,getScrollTop:mn,setScrollLeft:gn,setScrollTop:En,get:vn,getBordersWidthFloat:yn,getElementPaddingFloat:bn,set:Cn,getViewportDimensions:function(){return{width:Sn(Ei.innerWidth,vi.documentElement.clientWidth,vi.body.clientWidth),height:Sn(Ei.innerHeight,vi.documentElement.clientHeight,vi.body.clientHeight)}},getWindowDimensions:function(e){return new Qt(0,un(e),dn(e),0)},isHiddenNode:wn,isNotDisplayedNode:Tn,isNotVisibleNode:_n,hasDimensions:In,isFixedElement:Pn}),Rn=d.utils.browser,Mn=d.eventSandbox.listeners,xn=d.eventSandbox.eventSimulator,On=["click","mousedown","mouseup","dblclick","contextmenu","mousemove","mouseover","mouseout","touchstart","touchmove","touchend","keydown","keypress","input","keyup","change","focus","blur","MSPointerDown","MSPointerMove","MSPointerOver","MSPointerOut","MSPointerUp","pointerdown","pointermove","pointerover","pointerout","pointerup"],Fn=123;function An(e,t,n,o,r){var i,a=d.nativeMethods.eventTargetGetter.call(e)||e.srcElement;if(!t&&!ke(a)){if(/^key/.test(e.type)&&((i=e).shiftKey&&i.ctrlKey||(i.altKey||i.metaKey)&&Rn.isMacPlatform||i.keyCode===Fn))return void r();if("blur"===e.type)if(Rn.isIE&&Rn.version<12){var s,l=Fe(a),c=!l&&"none"===vn(a,"display"),u=!1;l||c||(s=Ke(a),u=W(s,function(e){return"none"===vn(e,"display")})),(c||u.length)&&d.eventSandbox.timers.deferFunction(function(){xn.blur(a)})}else if(a!==Ei&&a!==Ei.document&&!In(a))return;n()}}var Ln=(Vn.create=function(e){return"left"in e?new Vn(e.left,e.top):"right"in e?new Vn(e.right,e.bottom):new Vn(e.x,e.y)},Vn.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},Vn.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},Vn.prototype.round=function(e){return void 0===e&&(e=Math.round),this.x=e(this.x),this.y=e(this.y),this},Vn.prototype.eql=function(e){return this.x===e.x&&this.y===e.y},Vn.prototype.mul=function(e){return this.x*=e,this.y*=e,this},Vn.prototype.distance=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Vn);function Vn(e,t){this.x=e,this.y=t}var Wn=/auto|scroll|hidden/i,Hn="visible";function kn(e){var t,n=vn(e,"overflowX"),o=vn(e,"overflowY"),r=Wn.test(n),i=Wn.test(o),a=ne(e).documentElement,s=e.scrollHeight;return(d.utils.browser.isChrome||d.utils.browser.isFirefox||d.utils.browser.isSafari)&&(t=e.getBoundingClientRect().top,s=s-a.getBoundingClientRect().top+t),(r||i)&&s>a.scrollHeight}function Dn(e){if(Me(e))return kn(e);if(xe(e))return function(e){var t=vn(e,"overflowX"),n=vn(e,"overflowY");if("hidden"===t&&"hidden"===n)return!1;var o=e.scrollHeight>e.clientHeight,r=e.scrollWidth>e.clientWidth;if(o||r)return!0;var i=e.getElementsByTagName("body")[0];if(!i)return!1;if(kn(i))return!1;var a=Math.min(e.clientWidth,i.clientWidth),s=Math.min(e.clientHeight,i.clientHeight);return i.scrollHeight>s||i.scrollWidth>a}(e);var t,n,o,r,i,a=(n=vn(t=e,"overflowX"),o=vn(t,"overflowY"),r=Wn.test(n),i=Wn.test(o),d.utils.browser.isIE&&(r=r||i&&n===Hn,i=i||r&&o===Hn),new Ln(r,i));if(!a.x&&!a.y)return!1;var s=a.y&&e.scrollHeight>e.clientHeight;return a.x&&e.scrollWidth>e.clientWidth||s}function Un(e){var t,n,o=Ke(e);return!ie(e)||(t=ae(e))&&(n=Ke(t),o.concat(n)),d.nativeMethods.arrayFilter.call(o,Dn)}var Bn=Object.freeze({__proto__:null,hasScroll:Dn,getScrollableParents:Un}),qn=f.shadowUI,Gn=f.nativeMethods,jn="disabled";function zn(){this.currentEl=null,this.optionList=null,this.groups=[],this.options=[]}var Jn=(zn.prototype._createOption=function(e,t){var n=vi.createElement("div"),o=e.disabled||"optgroup"===ze(e.parentElement)&&e.parentElement.disabled,r="option"===ze(e)?e.text:"";Gn.nodeTextContentSetter.call(n,r),t.appendChild(n),qn.addClass(n,"tcOption"),o&&(qn.addClass(n,jn),Cn(n,"color",vn(e,"color"))),this.options.push(n)},zn.prototype._createGroup=function(e,t){var n=vi.createElement("div");Gn.nodeTextContentSetter.call(n,e.label||" "),t.appendChild(n),qn.addClass(n,"tcOptionGroup"),e.disabled&&(qn.addClass(n,jn),Cn(n,"color",vn(e,"color"))),this.createChildren(e.children,n),this.groups.push(n)},zn.prototype.clear=function(){this.optionList=null,this.currentEl=null,this.options=[],this.groups=[]},zn.prototype.createChildren=function(e,t){for(var n=st(e),o=0;o<n;o++)Pe(e[o])?this._createOption(e[o],t):"optgroup"===ze(e[o])&&this._createGroup(e[o],t)},zn.prototype.getEmulatedChildElement=function(e){var t="optgroup"===ze(e),n=nt(this.currentEl,e);return t?this.groups[n]:this.options[n]},zn.prototype.isOptionListExpanded=function(e){return e?e===this.currentEl:!!this.currentEl},zn.prototype.isOptionElementVisible=function(e){var t=le(e);if(!t)return!0;var n=this.isOptionListExpanded(t),o=sn(t);return n||1<o},new zn),Kn=function(e,t,n,o,r,i){this.width=e,this.height=t,this.left=n.x,this.top=n.y,this.right=n.x+e,this.bottom=n.y+t,this.border=o,this.scrollbar=i,this.scroll=r},Yn={notElementOrTextNode:function(e){return"\n The ".concat(e," is neither a DOM element nor a text node.\n ")},elOutsideBounds:function(e,t){return"\n The ".concat(t," (").concat(e,") is located outside the the layout viewport.\n ")},elHasWidthOrHeightZero:function(e,t,n,o){return"\n The ".concat(t," (").concat(e,") is too small to be visible: ").concat(n,"px x ").concat(o,"px.\n ")},elHasDisplayNone:function(e,t){return"\n The ".concat(t," (").concat(e,") is invisible. \n The value of its 'display' property is 'none'.\n ")},parentHasDisplayNone:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible. \n It descends from an element that has the 'display: none' property (").concat(n,").\n ")},elHasVisibilityHidden:function(e,t){return"\n The ".concat(t," (").concat(e,") is invisible.\n The value of its 'visibility' property is 'hidden'.\n ")},parentHasVisibilityHidden:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible.\n It descends from an element that has the 'visibility: hidden' property (").concat(n,").\n ")},elHasVisibilityCollapse:function(e,t){return"\n The ".concat(t," (").concat(e,") is invisible.\n The value of its 'visibility' property is 'collapse'.\n ")},parentHasVisibilityCollapse:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible.\n It descends from an element that has the 'visibility: collapse' property (").concat(n,").\n ")},elNotRendered:function(e,t){return"\n The ".concat(t," (").concat(e,") has not been rendered.\n ")},optionNotVisible:function(e,t,n){return"\n The ".concat(t," (").concat(e,") is invisible. \n The parent element (").concat(n,") is collapsed, and its length is shorter than 2.\n ")},mapContainerNotVisible:function(e,t){return"\n The action target (".concat(e,") is invisible because ").concat(t,"\n ")}},Xn=f.utils.html,Qn=f.nativeMethods,$n=10;function Zn(e){if(!e)return"";var t,n,o,r=Qn.cloneNode.call(e),i=Xn.cleanUpHtml(Qn.elementOuterHTMLGetter.call(r)),a=(t=Qn.nodeTextContentGetter.call(e),n=$n,void 0===o&&(o="..."),t.length<n?t:t.substring(0,n-o.length)+o),s=Qn.elementChildrenGetter.call(e);return 0<Qn.htmlCollectionLengthGetter.call(s)?i.replace("></",">...</"):a?i.replace("></",">".concat(a,"</")):i}var eo=f.utils.position.getElementRectangle,to=f.utils.position.getOffsetPosition,no=f.utils.position.offsetToClientCoords;function oo(e){var t,n,o,r,i=xe(e),a=i?e.getElementsByTagName("body")[0]:null,s=e.getBoundingClientRect(),l=Qt.create(en(e)),c=rn(e),u=ie(e),d="BackCompat"===e.ownerDocument.compatMode,f=i?new Ln(0,0):Ln.create(s),h=s.height,p=s.width;i&&(p=a&&d?(h=a.clientHeight,a.clientWidth):(h=e.clientHeight,e.clientWidth)),!u||(t=ae(e))&&(n=to(t),o=no(Ln.create(n)),r=en(t),f.add(o).add(Ln.create(r)),i&&l.add(r));var m=!i&&fn(e)!==e.clientWidth,g=!i&&hn(e)!==e.clientHeight,E={right:m?Ge():0,bottom:g?Ge():0};return new Kn(p,h,f,l,c,E)}function ro(e){var t=e.x,n=e.y,o=vi.getElementFromPoint||vi.elementFromPoint,r=null;try{r=o.call(vi,t,n)}catch(e){return null}for(null===r&&(r=o.call(vi,t-1,n-1));r&&r.shadowRoot&&r.shadowRoot.elementFromPoint;){var i=r.shadowRoot.elementFromPoint(t,n);if(!i||r===i)break;r=i}return r}function io(e,t){return Qt.create({top:e.top-t.top,left:e.left-t.left,right:t.right-e.right,bottom:t.bottom-e.bottom}).sub(t.border).sub(t.scrollbar).round(Math.ceil,Math.floor)}function ao(e){var t=/^touch/.test(e.type)&&e.targetTouches?e.targetTouches[0]||e.changedTouches[0]:e,n=0===t.pageX&&0===t.pageY,o=0!==t.clientX||0!==t.clientY;if((null===t.pageX||n&&o)&&null!==t.clientX){var r=ne(e.target||e.srcElement),i=r.documentElement,a=r.body;return new Ln(Math.round(t.clientX+(i&&i.scrollLeft||a&&a.scrollLeft||0)-(i.clientLeft||0)),Math.round(t.clientY+(i&&i.scrollTop||a&&a.scrollTop||0)-(i.clientTop||0)))}return new Ln(Math.round(t.pageX),Math.round(t.pageY))}function so(e){return!fo(e)}function lo(e){return"hidden"===vn(e,"visibility")}function co(e){return"collapse"===vn(e,"visibility")}function uo(e){return"none"===vn(e,"display")}function fo(e){return!pt(e)&&(lo(e)||co(e)||uo(e))}function ho(e){var t=eo(e);return 0===t.width||0===t.height}function po(e){return e.replace(/.*The/,"its")}var mo=Object.freeze({__proto__:null,getElementRectangle:eo,getOffsetPosition:to,offsetToClientCoords:no,getClientDimensions:oo,getElementFromPoint:ro,calcRelativePosition:io,getIframeClientCoordinates:function(e){var t=to(e),n=t.left,o=t.top,r=no({x:n,y:o}),i=en(e),a=on(e),s=r.x+i.left+a.left,l=r.y+i.top+a.top;return new Qt(l,s+un(e),l+dn(e),s)},containsOffset:function(e,t,n){var o=oo(e),r=Math.max(e.scrollWidth,o.width),i=Math.max(e.scrollHeight,o.height),a=o.scrollbar.right+o.border.left+o.border.right+r,s=o.scrollbar.bottom+o.border.top+o.border.bottom+i;return(void 0===t||0<=t&&t<=a)&&(void 0===n||0<=n&&n<=s)},getEventAbsoluteCoordinates:function(e){var t,n,o,r=e.target||e.srcElement,i=ao(e),a=ne(r),s=0,l=0;return!ie(a.documentElement)||(t=ae(a))&&(n=to(t),o=en(t),s=n.left+o.left,l=n.top+o.top),new Ln(i.x+s,i.y+l)},getEventPageCoordinates:ao,getIframePointRelativeToParentFrame:function(e,t){var n=at(t),o=to(n),r=en(n),i=on(n);return no({x:e.x+o.left+r.left+i.left,y:e.y+o.top+r.top+i.top})},findCenter:function(e){var t=eo(e);return new Ln(Math.round(t.left+t.width/2),Math.round(t.top+t.height/2))},getClientPosition:function(e){var t=to(e),n=t.left,o=t.top,r=no({x:n,y:o});return r.x=Math.round(r.x),r.y=Math.round(r.y),r},isInRectangle:function(e,t){var n=e.x,o=e.y;return n>=t.left&&n<=t.right&&o>=t.top&&o<=t.bottom},getWindowPosition:function(){var e=Ei.screenLeft||Ei.screenX,t=Ei.screenTop||Ei.screenY;return new Ln(e,t)},isIframeVisible:so,isElementVisible:function e(t){if(!He(t)&&!fe(t))return!1;if(Pe(t)||"optgroup"===ze(t))return Jn.isOptionElementVisible(t);if(pe(t))return so(t);if(Ne(t))return!Ye(t,!0,fo)&&!ho(t);if(fe(t))return!_n(t);if(!We(t)&&ho(t))return!1;if(Re(t)){var n=je(Je(t,"map"));return!!n&&e(n)}return In(t)&&!fo(t)},getSubHiddenReason:po,getHiddenReason:function e(t,n){if(void 0===n&&(n="action target"),!t)return null;var o=fe(t);if(!He(t)&&!o)return Yn.notElementOrTextNode(n);var r=o?t.data:Zn(t),i=t.offsetHeight,a=t.offsetWidth;if((Pe(t)||"optgroup"===ze(t))&&!Jn.isOptionElementVisible(t)){var s=Zn(le(t));return Yn.optionNotVisible(r,n,s)}if(Re(t)){var l=po(e(je(Je(t,"map")),"container")||"");return Yn.mapContainerNotVisible(r,l)}var c=Ye(t,!1,lo);if(c)return Yn.parentHasVisibilityHidden(r,n,Zn(c));var u=Ye(t,!1,co);if(u)return Yn.parentHasVisibilityCollapse(r,n,Zn(u));var d=Ye(t,!1,uo);return d?Yn.parentHasDisplayNone(r,n,Zn(d)):lo(t)?Yn.elHasVisibilityHidden(r,n):co(t)?Yn.elHasVisibilityCollapse(r,n):uo(t)?Yn.elHasDisplayNone(r,n):fe(t)&&!he(t)?Yn.elNotRendered(r,n):!We(t)&&ho(t)||!In(t)?Yn.elHasWidthOrHeightZero(r,n,a,i):null},getElOutsideBoundsReason:function e(t,n){void 0===n&&(n="action target");var o=Zn(t);if(Re(t)){var r=po(e(je(Je(t,"map")),"container")||"");return Yn.mapContainerNotVisible(o,r)}return Yn.elOutsideBounds(o,n)}});function go(n,o){return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:t=0,e.label=1;case 1:return t<n?[4,o(t)]:[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})}var Eo=Object.freeze({__proto__:null,whilst:function(t,n){return E(this,void 0,void 0,function(){return v(this,function(e){switch(e.label){case 0:return t()?[4,n()]:[3,2];case 1:return e.sent(),[3,0];case 2:return[2]}})})},times:go,each:function(r,i){return E(this,void 0,void 0,function(){var t,n,o;return v(this,function(e){switch(e.label){case 0:t=0,n=r,e.label=1;case 1:return t<n.length?(o=n[t],[4,i(o)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})}}),vo=f.Promise,yo=f.eventSandbox.message;function bo(e,o,t){return new vo(function(n){yo.on(yo.SERVICE_MSG_RECEIVED_EVENT,function e(t){t.message.cmd===o&&(yo.off(yo.SERVICE_MSG_RECEIVED_EVENT,e),n(t.message))}),yo.sendServiceMsg(e,t)})}var Co=(So._isScrollValuesChanged=function(e,t){return pn(e)!==t.left||mn(e)!==t.top},So.prototype._setScroll=function(e,t){var n=this,o=t.left,r=t.top,i=xe(e)?ne(e):e,a={left:pn(i),top:mn(i)},o=Math.max(o,0),r=Math.max(r,0),s=Xt.waitForScroll(i);return gn(i,o),En(i,r),So._isScrollValuesChanged(i,a)?s=s.then(function(){n._scrollWasPerformed||(n._scrollWasPerformed=So._isScrollValuesChanged(i,a))}):(s.cancel(),d.Promise.resolve())},So.prototype._getScrollToPoint=function(e,t,n){var o=Math.floor(e.width/2),r=Math.floor(e.height/2),i=this._scrollToCenter?o:Math.min(n.left,o),a=this._scrollToCenter?r:Math.min(n.top,r),s=e.scroll,l=s.left,c=s.top,u=t.x>=l+e.width-i,d=t.x<=l+i,f=t.y>=c+e.height-a,h=t.y<=c+a;return u?l=t.x-e.width+i:d&&(l=t.x-i),f?c=t.y-e.height+a:h&&(c=t.y-a),{left:l,top:c}},So.prototype._getScrollToFullChildView=function(e,t,n){var o,r,i,a,s={left:null,top:null},l=e.width>=t.width,c=e.height>=t.height,u=io(t,e);return l&&(o=e.width-t.width,r=Math.min(n.left,o),this._scrollToCenter&&(r=o/2),u.left<r?s.left=Math.round(e.scroll.left+u.left-r):u.right<r&&(s.left=Math.round(e.scroll.left+Math.min(u.left,-u.right)+r))),c&&(i=e.height-t.height,a=Math.min(n.top,i),this._scrollToCenter&&(a=i/2),u.top<a?s.top=Math.round(e.scroll.top+u.top-a):u.bottom<a&&(s.top=Math.round(e.scroll.top+Math.min(u.top,-u.bottom)+a))),s},So._getChildPoint=function(e,t,n){return Ln.create(t).sub(Ln.create(e)).add(Ln.create(e.scroll)).add(Ln.create(t.border)).add(n)},So.prototype._getScrollPosition=function(e,t,n,o){var r=So._getChildPoint(e,t,n),i=this._getScrollToPoint(e,r,o),a=this._getScrollToFullChildView(e,t,o);return{left:Math.max(null===a.left?i.left:a.left,0),top:Math.max(null===a.top?i.top:a.top,0)}},So._getChildPointAfterScroll=function(e,t,n,o){return Ln.create(t).add(Ln.create(e.scroll)).sub(Ln.create(n)).add(o)},So.prototype._isChildFullyVisible=function(e,t,n){var o=So._getChildPointAfterScroll(e,t,e.scroll,n),r=this._getScrollPosition(e,t,n,{left:0,top:0}),i=r.left,a=r.top;return!this._isTargetElementObscuredInPoint(o)&&i===e.scroll.left&&a===e.scroll.top},So.prototype._scrollToChild=function(e,t,n){for(var o=oo(e),r=oo(t),i=fn(Ei),a=hn(Ei),s=o.scroll,l=!this._isChildFullyVisible(o,r,n);l;){s=this._getScrollPosition(o,r,n,this._maxScrollMargin);var c=So._getChildPointAfterScroll(o,r,s,n),u=this._isTargetElementObscuredInPoint(c);this._maxScrollMargin.left+=20,this._maxScrollMargin.left>=i&&(this._maxScrollMargin.left=50,this._maxScrollMargin.top+=20),l=u&&this._maxScrollMargin.top<a}return this._maxScrollMargin={left:50,top:50},this._setScroll(e,s)},So.prototype._scrollElement=function(){if(!Dn(this._element))return d.Promise.resolve();var e=oo(this._element),t=this._getScrollToPoint(e,this._offsets,this._maxScrollMargin);return this._setScroll(this._element,t)},So.prototype._scrollParents=function(){var t,n,o=this,r=Un(this._element),i=this._element,e=pn(i),a=mn(i),s=Ln.create(this._offsets).sub(new Ln(e,a).round()),l=go(r.length,function(e){return o._scrollToChild(r[e],i,s).then(function(){t=oo(i),n=oo(r[e]),s.add(Ln.create(t)).sub(Ln.create(n)).add(Ln.create(n.border)),i=r[e]})}),c={scrollWasPerformed:this._scrollWasPerformed,offsetX:s.x,offsetY:s.y,maxScrollMargin:this._maxScrollMargin};return l.then(function(){var e;if(!o._skipParentFrames&&(e=Ei).top!==e)return c.cmd=So.SCROLL_REQUEST_CMD,bo(c,So.SCROLL_RESPONSE_CMD,Ei.parent)}).then(function(){return o._scrollWasPerformed})},So._getFixedAncestorOrSelf=function(e){return Ye(e,!0,Pn)},So.prototype._isTargetElementObscuredInPoint=function(e){var t=ro(e);if(!t)return!1;var n=So._getFixedAncestorOrSelf(t);return!!n&&!n.contains(this._element)},So.prototype.run=function(){var e=this;return this._scrollElement().then(function(){return e._scrollParents()})},So.SCROLL_REQUEST_CMD="automation|scroll|request",So.SCROLL_RESPONSE_CMD="automation|scroll|response",So);function So(e,t,n){this._element=e,this._offsets=new Ln(t.offsetX,t.offsetY),this._scrollToCenter=!!t.scrollToCenter,this._skipParentFrames=!!t.skipParentFrames,this._maxScrollMargin=n||{left:50,top:50},this._scrollWasPerformed=!1}function wo(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return!lt(t)&&Wo(e)?e:X(t,Wo)}function To(e){return X(d.nativeMethods.nodeChildNodesGetter.call(e),function(e){return Wo(e)||!Ho(e)&&To(e)})}function _o(e){return fe(e)||de(e)&&ln(e)}function Io(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return W(t,_o)}function Po(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return G(t,_o)}function No(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return G(t,function(e){return Jo(e,!0)})}function Ro(e,t){var n,o;if(!ke(e)&&!ke(t)){var r=d.nativeMethods.nodeChildNodesGetter.call(t);return!ot(t,e)&&lt(r)&&/div|p/.test(ze(t))&&(n=To(e))&&!ot(t,n)&&(o=Oo(n))&&!ot(t,o)&&wo(t)}}function Mo(e,t){var n,o,r,i=he(t);if(!ke(e)&&!ke(t)){var a=d.nativeMethods.nodeChildNodesGetter.call(t);if(!ot(t,e)&&(i&&de(t)&&lt(a)&&!/div|p/.test(ze(t))||Wo(t)&&!ot(t,e)&&t.nodeValue.length)){if(i&&de(t)){if(!(n=To(e))||ot(t,n))return;if(!(o=Oo(n))||ot(t,o))return}return(r=function(e){for(var t=null,n=e;!t&&(n=n.previousSibling);)if(!Ho(n)&&!Vo(n)){t=n;break}return t}(t))&&de(r)&&/div|p/.test(ze(r))&&wo(r)}}}function xo(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=lt(r),a=null,s=t?Wo:fe;if(!i&&s(e))return e;for(var l=0;l<i;l++){if(n=r[l],o=de(n)&&!We(n),s(n))return n;if(he(n)&&Po(n)&&!o&&(a=xo(n,t)))return a}return a}function Oo(e){return xo(e,!0)}function Fo(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=lt(r),a=null;if(!i&&Wo(e))return e;for(var s=i-1;0<=s;s--){if(n=r[s],o=de(n)&&!We(n),fe(n)&&(!t||!Vo(n)))return n;if(he(n)&&Po(n)&&!o&&(a=Fo(n,!1)))return a}return a}function Ao(e,t){if(!e||!e.length)return 0;for(var n=e.length,o=t||0,r=o;r<n&&(10===e.charCodeAt(r)||32===e.charCodeAt(r));r++)o++;return o}function Lo(e){if(!e||!e.length)return 0;for(var t=e.length,n=t,o=t-1;0<=o&&(10===e.charCodeAt(o)||32===e.charCodeAt(o));o--)n--;return n}function Vo(e){if(!fe(e))return!1;var t=e.nodeValue,n=Ao(t),o=Lo(t);return n===t.length&&0===o}function Wo(e){return fe(e)&&!Vo(e)}function Ho(e){return!he(e)||ke(e)}function ko(e){var t=e.getAttribute?e.getAttribute("contenteditable"):null;return""===t||"true"===t}function Do(e){var t=Ke(e);if(ko(e)&&We(e))return e;var n=ne(e);return"on"===n.designMode?n.body:X(t,function(e){return ko(e)&&We(e)})}function Uo(e,t){if(ot(e,t))return ot(t,Do(e))?e:d.nativeMethods.nodeParentNodeGetter.call(e);var n=[],o=Do(e),r=null;if(!tt(o,t))return null;for(r=e;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))n.push(r);for(r=t;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))if(-1!==q(n,r))return r;return o}function Bo(e,t){var n=null,o=null,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=lt(r),a=i<=t;if(ke(e))return{node:e,offset:t};if(a?n=r[i-1]:(n=r[t],o=0),ke(n)){if(i<=1)return{node:e,offset:0};(a=i<=t-1)?n=r[i-2]:(n=r[t-1],o=0)}for(;!Ho(n)&&de(n);){var s=Io(n);if(!s.length){o=0;break}n=s[a?s.length-1:0]}return 0===o||Ho(n)||(o=n.nodeValue?n.nodeValue.length:0),{node:n,offset:o}}function qo(e,t,n){var o=n?t.focusNode:t.anchorNode,r=n?t.focusOffset:t.anchorOffset,i={node:o,offset:r};return(ot(e,o)||de(o))&&No(o)&&(i=Bo(o,r)),{node:i.node,offset:i.offset}}function Go(e,t,n){var o=n?t.anchorNode:t.focusNode,r=n?t.anchorOffset:t.focusOffset,i={node:o,offset:r};return(ot(e,o)||de(o))&&No(o)&&(i=Bo(o,r)),{node:i.node,offset:i.offset}}function jo(e,t,n){return Yo(e,qo(e,t,n))}function zo(e,t,n){return Yo(e,Go(e,t,n))}function Jo(e,t){if(_n(e))return!1;if(fe(e))return!0;if(!de(e))return!1;if(No(e))return t;var n=d.nativeMethods.nodeParentNodeGetter.call(e),o=!We(n),r=Io(e),i=G(r,function(e){return"br"===ze(e)});return o||i}function Ko(s,e){var l={node:null,offset:e};return function e(t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(t),i=lt(r);if(l.node)return l;if(Ho(t))return l;if(fe(t)){if(l.offset<=t.nodeValue.length)return l.node=t,l;t.nodeValue.length&&(!l.node&&Mo(s,t)&&l.offset--,l.offset-=t.nodeValue.length)}else if(de(t)){if(!_o(t))return l;if(0===l.offset&&Jo(t,!1))return l.node=t,l.offset=(n=t,o=0,X(d.nativeMethods.nodeChildNodesGetter.call(n),function(e,t){return o=t,"br"===ze(e)})?o:0),l;(l.node||!Ro(s,t)&&!Mo(s,t))&&(i||"br"!==ze(t))||l.offset--}for(var a=0;a<i;a++)l=e(r[a]);return l}(s)}function Yo(i,e){var a=e.node,s=e.offset,l=0,c=!1;return function e(t){var n=d.nativeMethods.nodeChildNodesGetter.call(t),o=lt(n);if(c)return l;if(ot(a,t))return(Ro(i,t)||Mo(i,t))&&l++,c=!0,l+s;if(Ho(t))return l;!o&&t.nodeValue&&t.nodeValue.length?(!c&&Mo(i,t)&&l++,l+=t.nodeValue.length):(!o&&de(t)&&"br"===ze(t)||!c&&(Ro(i,t)||Mo(i,t)))&&l++;for(var r=0;r<o;r++)l=e(n[r]);return l}(i)}function Xo(e){var t,n,o,r,i,a=fe(e)?e:Fo(e,!0);if(!a||(t=a,o=fe(n=e)?n:xo(n,!1),r=t===o,i=t.nodeValue===String.fromCharCode(10),r&&i&&function(e,t){for(var n=["pre","pre-wrap","pre-line"];e!==t;)if(e=d.nativeMethods.nodeParentNodeGetter.call(e),-1<q(n,vn(e,"white-space")))return 1}(t,n)))return 0;var s=ne(e).createRange();return s.selectNodeContents(a),Yo(e,{node:a,offset:s.endOffset})}var Qo=Object.freeze({__proto__:null,getFirstVisibleTextNode:Oo,getLastTextNode:Fo,getFirstNonWhitespaceSymbolIndex:Ao,getLastNonWhitespaceSymbolIndex:Lo,isInvisibleTextNode:Vo,findContentEditableParent:Do,getNearestCommonAncestor:Uo,getSelection:function(e,t,n){return{startPos:qo(e,t,n),endPos:Go(e,t,n)}},getSelectionStartPosition:jo,getSelectionEndPosition:zo,calculateNodeAndOffsetByPosition:Ko,calculatePositionByNodeAndOffset:Yo,getElementBySelection:function(e){var t=Uo(e.anchorNode,e.focusNode);return fe(t)?t.parentElement:t},getFirstVisiblePosition:function(e){var t=fe(e)?e:Oo(e),n=ne(e).createRange();return t?(n.selectNodeContents(t),Yo(e,{node:t,offset:n.startOffset})):0},getLastVisiblePosition:Xo,getContentEditableValue:function(e){return H(function e(t){var n=[],o=d.nativeMethods.nodeChildNodesGetter.call(t),r=lt(o);Ho(t)||r||!fe(t)||n.push(t);for(var i=0;i<r;i++)n=n.concat(e(o[i]));return n}(e),function(e){return e.nodeValue}).join("")}}),$o=f.utils.browser,Zo=f.nativeMethods,er=f.eventSandbox.selection,tr="backward",nr="forward",or="none",rr=or,ir=0,ar=0,sr=0,lr=0,cr=0,ur=0;function dr(e,t,n,o){var r,i,a,s=null,l=null,c=!1;void 0!==t&&void 0!==n&&n<t&&(a=t,t=n,n=a,c=!0),void 0===t&&(l={node:(r=Oo(e))||e,offset:r&&r.nodeValue?Ao(r.nodeValue):0}),void 0===n&&(s={node:(i=Fo(e,!0))||e,offset:i&&i.nodeValue?Lo(i.nodeValue):0}),l=l||Ko(e,t),s=s||Ko(e,n),l.node&&s.node&&(c?Er(s,l,o):Er(l,s,o))}function fr(e){var t=e?ne(e):vi,n=t.getSelection(),o=null,r=!1;return n&&(n.isCollapsed||((o=t.createRange()).setStart(n.anchorNode,n.anchorOffset),o.setEnd(n.focusNode,n.focusOffset),r=o.collapsed,o.detach())),r}function hr(e,t,n){var o=Yo(e,t);return Yo(e,n)<o}function pr(e){return We(e)?vr(e)?jo(e,gr(e),fr(e)):0:er.getSelection(e).start}function mr(e){return We(e)?vr(e)?zo(e,gr(e),fr(e)):0:er.getSelection(e).end}function gr(e){var t=ne(e);return t?t.getSelection():Ei.getSelection()}function Er(e,t,n){var o=e.node,r=t.node,i=o.nodeValue?o.length:0,a=r.nodeValue?r.length:0,s=e.offset,l=t.offset;de(o)&&s||(s=Math.min(i,e.offset)),de(r)&&l||(l=Math.min(a,t.offset));var c=Do(o),u=hr(c,e,t),d=gr(c),f=ne(c).createRange();er.wrapSetterSelection(c,function(){var e;d.removeAllRanges(),u?$o.isIE?(f.setStart(r,l),f.setEnd(o,s),d.addRange(f)):(f.setStart(o,s),f.setEnd(o,s),d.addRange(f),e=function(e,t){try{d.extend(e,t)}catch(e){return!1}return!0},($o.isSafari||$o.isChrome&&$o.version<58)&&Vo(r)?e(r,Math.min(l,1))||e(r,0):e(r,l)):(f.setStart(o,s),f.setEnd(r,l),d.addRange(f))},n,!0)}function vr(e){var t=gr(e);return!(!t.anchorNode||!t.focusNode)&&tt(e,t.anchorNode)&&tt(e,t.focusNode)}$o.isIE&&_t(vi,"selectionchange",function(){var e=null,t=null,n=null;try{if(this.selection)t=this.selection.createRange();else{if(!(e=Zo.documentActiveElementGetter.call(this))||!Le(e))return void(rr=or);var o,r=pr(e),i=mr(e);e.createTextRange?((t=e.createTextRange()).collapse(!0),t.moveStart("character",r),t.moveEnd("character",i-r)):vi.createRange&&(t=vi.createRange(),o=f.nativeMethods.nodeFirstChildGetter.call(e),t.setStart(o,r),t.setEnd(o,i),n=t.getBoundingClientRect())}}catch(e){return void(rr=or)}var a=n?Math.ceil(n.left):t.offsetLeft,s=n?Math.ceil(n.top):t.offsetTop,l=n?Math.ceil(n.height):t.boundingHeight,c=n?Math.ceil(n.width):t.boundingWidth,u=t.htmlText?t.htmlText.length:0;!function(e,t,n,o,r){if(r)switch(rr){case or:t===ur&&(e===lr||sr<n)?rr=nr:(e<lr||t<ur)&&(rr=tr);break;case nr:if(e===lr&&t===ur||e<lr&&sr<n||t===ur&&n===sr&&cr<r&&e+o!==ir)break;(e<lr||t<ur)&&(rr=tr);break;case tr:if((e<lr||t<ur)&&cr<r)break;t===ar&&(ir<=e||sr<n)&&(rr=nr)}else ir=e,ar=t,rr=or;sr=n,lr=e,cr=r,ur=t}(a,s,l,c,n?t.toString().length:u)},!0);var yr,br,Cr=Object.freeze({__proto__:null,hasInverseSelectionContentEditable:fr,isInverseSelectionContentEditable:hr,getSelectionStart:pr,getSelectionEnd:mr,hasInverseSelection:function(e){return We(e)?fr(e):(er.getSelection(e).direction||rr)===tr},getSelectionByElement:gr,select:function(e,t,n){var o,r,i,a;We(e)?dr(e,t,n,!0):(o=t||0,i=!1,a=null,(r=void 0===n?ht(e).length:n)<o&&(a=o,o=r,r=a,i=!0),er.setSelection(e,o,r,i?tr:nr),rr=t===n?or:i?tr:nr)},selectByNodesAndOffsets:Er,deleteSelectionContents:function(e,t){var n,o,r,i,a,s,l,c,u,d,f,h,p=pr(e),m=mr(e);t&&dr(e),p!==m&&(n=gr(e),o=n.anchorNode,r=n.focusNode,i=n.anchorOffset,a=n.focusOffset,s=Ao(o.nodeValue),l=Lo(o.nodeValue),c=Ao(r.nodeValue),u=Lo(r.nodeValue),f=d=null,fe(o)&&(i<s&&0!==i?d=0:i!==o.nodeValue.length&&(Vo(o)&&0!==i||l<i)&&(d=o.nodeValue.length)),fe(r)&&(a<c&&0!==a?f=0:a!==r.nodeValue.length&&(Vo(r)&&0!==a||u<a)&&(f=r.nodeValue.length)),($o.isWebKit||$o.isIE&&11<$o.version)&&(null!==d&&(o.nodeValue=0===d?o.nodeValue.substring(s):o.nodeValue.substring(0,l)),null!==f&&(r.nodeValue=0===f?r.nodeValue.substring(c):r.nodeValue.substring(0,u))),null===d&&null===f||Er({node:o,offset:d=null!==d?0===d?d:o.nodeValue.length:i},{node:r,offset:f=null!==f?0===f?f:r.nodeValue.length:a}),function(e){var t=gr(e),n=t.rangeCount;if(n)for(var o=0;o<n;o++)t.getRangeAt(o).deleteContents()}(e),(h=gr(e)).rangeCount&&!h.getRangeAt(0).collapsed&&h.getRangeAt(0).collapse(!0))},setCursorToLastVisiblePosition:function(e){var t=Xo(e);dr(e,t,t)},hasElementContainsSelection:vr}),Sr=f.Promise,wr=f.nativeMethods,Tr={cannotCreateMultipleLiveModeRunners:"E1000",cannotRunLiveModeRunnerMultipleTimes:"E1001",browserDisconnected:"E1002",cannotRunAgainstDisconnectedBrowsers:"E1003",cannotEstablishBrowserConnection:"E1004",cannotFindBrowser:"E1005",browserProviderNotFound:"E1006",browserNotSet:"E1007",testFilesNotFound:"E1008",noTestsToRun:"E1009",cannotFindReporterForAlias:"E1010",multipleSameStreamReporters:"E1011",optionValueIsNotValidRegExp:"E1012",optionValueIsNotValidKeyValue:"E1013",invalidSpeedValue:"E1014",invalidConcurrencyFactor:"E1015",cannotDivideRemotesCountByConcurrency:"E1016",portsOptionRequiresTwoNumbers:"E1017",portIsNotFree:"E1018",invalidHostname:"E1019",cannotFindSpecifiedTestSource:"E1020",clientFunctionCodeIsNotAFunction:"E1021",selectorInitializedWithWrongType:"E1022",clientFunctionCannotResolveTestRun:"E1023",regeneratorInClientFunctionCode:"E1024",invalidClientFunctionTestRunBinding:"E1025",invalidValueType:"E1026",unsupportedUrlProtocol:"E1027",testControllerProxyCannotResolveTestRun:"E1028",timeLimitedPromiseTimeoutExpired:"E1029",noTestsToRunDueFiltering:"E1030",cannotSetVideoOptionsWithoutBaseVideoPathSpecified:"E1031",multipleAPIMethodCallForbidden:"E1032",invalidReporterOutput:"E1033",cannotReadSSLCertFile:"E1034",cannotPrepareTestsDueToError:"E1035",cannotParseRawFile:"E1036",testedAppFailedWithError:"E1037",unableToOpenBrowser:"E1038",requestHookConfigureAPIError:"E1039",forbiddenCharatersInScreenshotPath:"E1040",cannotFindFFMPEG:"E1041",compositeArgumentsError:"E1042",cannotFindTypescriptConfigurationFile:"E1043",clientScriptInitializerIsNotSpecified:"E1044",clientScriptBasePathIsNotSpecified:"E1045",clientScriptInitializerMultipleContentSources:"E1046",cannotLoadClientScriptFromPath:"E1047",clientScriptModuleEntryPointPathCalculationError:"E1048",methodIsNotAvailableForAnIPCHost:"E1049",tooLargeIPCPayload:"E1050",malformedIPCMessage:"E1051",unexpectedIPCHeadPacket:"E1052",unexpectedIPCBodyPacket:"E1053",unexpectedIPCTailPacket:"E1054",cannotRunLocalNonHeadlessBrowserWithoutDisplay:"E1057",uncaughtErrorInReporter:"E1058",roleInitializedWithRelativeUrl:"E1059",typeScriptCompilerLoadingError:"E1060",cannotCustomizeSpecifiedCompilers:"E1061",cannotEnableRetryTestPagesOption:"E1062",browserConnectionError:"E1063",testRunRequestInDisconnectedBrowser:"E1064",invalidQuarantineOption:"E1065",invalidQuarantineParametersRatio:"E1066",invalidAttemptLimitValue:"E1067",invalidSuccessThresholdValue:"E1068",cannotSetConcurrencyWithCDPPort:"E1069",cannotFindTestcafeConfigurationFile:"E1070",requestUrlInvalidValueError:"E1072",requestRuntimeError:"E1073",requestCannotResolveTestRun:"E1074",relativeBaseUrl:"E1075",invalidSkipJsErrorsOptionsObjectProperty:"E1076",invalidSkipJsErrorsCallbackWithOptionsProperty:"E1077",invalidCommandInJsonCompiler:"E1078",invalidCustomActionsOptionType:"E1079",invalidCustomActionType:"E1080",cannotImportESMInCommonsJS:"E1081",setNativeAutomationForUnsupportedBrowsers:"E1082",cannotReadConfigFile:"E1083",cannotParseConfigFile:"E1084",cannotRunLegacyTestsInNativeAutomationMode:"E1085",setUserProfileInNativeAutomation:"E1086"};(br=yr=yr||{}).TooHighConcurrencyFactor="TooHighConcurrencyFactor",br.UseBrowserInitOption="UseBrowserInitOption",br.RestErrorCauses="RestErrorCauses";var _r,Ir,Pr,Nr,Rr,Mr=yr,xr=", ",Or='"';function Fr(e,t){return"".concat(t).concat(e).concat(t)}function Ar(e,t,n){void 0===t&&(t=xr),void 0===n&&(n=Or);var o=y([],e,!0);if(-1<t.indexOf("\n"))return o.map(function(e){return Fr(e,n)}).join(t);if(1===o.length)return Fr(o[0],n);if(2===o.length){var r=e[0],i=e[1];return"".concat(Fr(r,n)," and ").concat(Fr(i,n))}var a=o.pop(),s=o.map(function(e){return Fr(e,n)}).join(t);return"".concat(s,", and ").concat(Fr(a,n))}(Ir=_r=_r||{}).message="message",Ir.stack="stack",Ir.pageUrl="pageUrl",(Nr=Pr=Pr||{}).fn="fn",Nr.dependencies="dependencies";var Lr,Vr="https://testcafe.io/documentation/402639/reference/command-line-interface#file-pathglob-pattern",Wr="https://testcafe.io/documentation/402638/reference/configuration-file#filter",Hr="https://testcafe.io/documentation/402828/guides/concepts/browsers#test-in-headless-mode",kr="https://testcafe.io/documentation/404150/guides/advanced-guides/custom-test-actions",Dr=((Rr={})[Tr.cannotCreateMultipleLiveModeRunners]="Cannot launch multiple live mode instances of the TestCafe test runner.",Rr[Tr.cannotRunLiveModeRunnerMultipleTimes]="Cannot launch the same live mode instance of the TestCafe test runner multiple times.",Rr[Tr.browserDisconnected]="The {userAgent} browser disconnected. If you did not close the browser yourself, browser performance or network issues may be at fault.",Rr[Tr.cannotRunAgainstDisconnectedBrowsers]="The following browsers disconnected: {userAgents}. Cannot run further tests.",Rr[Tr.testRunRequestInDisconnectedBrowser]='"{browser}" disconnected during test execution.',Rr[Tr.cannotEstablishBrowserConnection]="Cannot establish one or more browser connections.",Rr[Tr.cannotFindBrowser]='Cannot find the browser. "{browser}" is neither a known browser alias, nor a path to an executable file.',Rr[Tr.browserProviderNotFound]='Cannot find the "{providerName}" browser provider.',Rr[Tr.browserNotSet]="You have not specified a browser.",Rr[Tr.testFilesNotFound]='Could not find test files at the following location: "{cwd}".\nCheck patterns for errors:\n\n{sourceList}\n\nor launch TestCafe from a different directory.\n'+"For more information on how to specify test locations, see ".concat(Vr,"."),Rr[Tr.noTestsToRun]="Source files do not contain valid 'fixture' and 'test' declarations.",Rr[Tr.noTestsToRunDueFiltering]="No tests match your filter.\n"+"See ".concat(Wr,"."),Rr[Tr.multipleSameStreamReporters]='Reporters cannot share output streams. The following reporters interfere with one another: "{reporters}".',Rr[Tr.optionValueIsNotValidRegExp]='The "{optionName}" option does not contain a valid regular expression.',Rr[Tr.optionValueIsNotValidKeyValue]='The "{optionName}" option does not contain a valid key-value pair.',Rr[Tr.invalidQuarantineOption]='The "{optionName}" option does not exist. Specify "attemptLimit" and "successThreshold" to configure quarantine mode.',Rr[Tr.invalidQuarantineParametersRatio]='The value of "attemptLimit" ({attemptLimit}) should be greater then the value of "successThreshold" ({successThreshold}).',Rr[Tr.invalidAttemptLimitValue]='The "{attemptLimit}" parameter only accepts values of {MIN_ATTEMPT_LIMIT} and up.',Rr[Tr.invalidSuccessThresholdValue]='The "{successThreshold}" parameter only accepts values of {MIN_SUCCESS_THRESHOLD} and up.',Rr[Tr.invalidSpeedValue]="Speed should be a number between 0.01 and 1.",Rr[Tr.invalidConcurrencyFactor]="The concurrency factor should be an integer greater than or equal to 1.",Rr[Tr.cannotDivideRemotesCountByConcurrency]="The number of remote browsers should be divisible by the concurrency factor.",Rr[Tr.cannotSetConcurrencyWithCDPPort]='The value of the "concurrency" option includes the CDP port.',Rr[Tr.portsOptionRequiresTwoNumbers]='The "--ports" option requires two arguments.',Rr[Tr.portIsNotFree]="Port {portNum} is occupied by another process.",Rr[Tr.invalidHostname]='Cannot resolve hostname "{hostname}".',Rr[Tr.cannotFindSpecifiedTestSource]='Cannot find a test file at "{path}".',Rr[Tr.clientFunctionCodeIsNotAFunction]="Cannot initialize a ClientFunction because {#instantiationCallsiteName} is {type}, and not a function.",Rr[Tr.selectorInitializedWithWrongType]="Cannot initialize a Selector because {#instantiationCallsiteName} is {type}, and not one of the following: a CSS selector string, a Selector object, a node snapshot, a function, or a Promise returned by a Selector.",Rr[Tr.clientFunctionCannotResolveTestRun]="{#instantiationCallsiteName} does not have test controller access. To execute {#instantiationCallsiteName} from a Node.js API callback, bind the test controller object to the function with the `.with({ boundTestRun: t })` method. Note that you cannot execute {#instantiationCallsiteName} outside test code.",Rr[Tr.requestCannotResolveTestRun]='"request" does not have test controller access.',Rr[Tr.regeneratorInClientFunctionCode]='{#instantiationCallsiteName} code, arguments or dependencies cannot contain generators or "async/await" syntax (use Promises instead).',Rr[Tr.invalidClientFunctionTestRunBinding]='Cannot resolve the "boundTestRun" option because its value is not a test controller.',Rr[Tr.invalidValueType]="{smthg} ({actual}) is not of expected type ({type}).",Rr[Tr.unsupportedUrlProtocol]='Invalid {what}: "{url}". TestCafe cannot execute the test because the {what} includes the {protocol} protocol. TestCafe supports the following protocols: http://, https:// and file://.',Rr[Tr.testControllerProxyCannotResolveTestRun]="The action does not have implicit test controller access. Reference the 't' object to gain it.",Rr[Tr.timeLimitedPromiseTimeoutExpired]="A Promise timed out.",Rr[Tr.cannotSetVideoOptionsWithoutBaseVideoPathSpecified]="You cannot manage advanced video parameters when the video recording capability is off. Specify the root storage folder for video content to enable video recording.",Rr[Tr.multipleAPIMethodCallForbidden]='You cannot call the "{methodName}" method more than once. Specify an array of parameters instead.',Rr[Tr.invalidReporterOutput]="Specify a file name or a writable stream as the reporter's output target.",Rr[Tr.cannotReadSSLCertFile]='Unable to read the file referenced by the "{option}" ssl option ("{path}"). Error details:\n\n{err}',Rr[Tr.cannotPrepareTestsDueToError]="Cannot prepare tests due to the following error:\n\n{errMessage}",Rr[Tr.cannotParseRawFile]='Cannot parse a raw test file at "{path}" due to the following error:\n\n{errMessage}',Rr[Tr.testedAppFailedWithError]="The web application failed with the following error:\n\n{errMessage}",Rr[Tr.unableToOpenBrowser]='Unable to open the "{alias}" browser due to the following error:\n\n{errMessage}',Rr[Tr.requestHookConfigureAPIError]="Attempt to configure a request hook resulted in the following error:\n\n{requestHookName}: {errMsg}",Rr[Tr.forbiddenCharatersInScreenshotPath]='There are forbidden characters in the "{screenshotPath}" {screenshotPathType}:\n {forbiddenCharsDescription}',Rr[Tr.cannotFindFFMPEG]="TestCafe cannot record videos because it cannot locate the FFmpeg executable. Try one of the following solutions:\n\n* add the path of the FFmpeg installation directory to the PATH environment variable,\n* specify the path of the FFmpeg executable in the FFMPEG_PATH environment variable or the ffmpegPath option,\n* install the @ffmpeg-installer/ffmpeg npm package.",Rr[Tr.cannotReadConfigFile]='Failed to read the "{path}" configuration file from disk. Error details:\n\n{err}',Rr[Tr.cannotParseConfigFile]='Failed to parse the "{path}" configuration file. The file contains invalid JSON syntax. \n\nError details:\n\n{err}',Rr[Tr.cannotFindReporterForAlias]='Failed to load the "{name}" reporter. Please check the parameter for errors. Error details:\n\n{err}',Rr[Tr.cannotFindTypescriptConfigurationFile]='"{filePath}" is not a valid TypeScript configuration file.',Rr[Tr.clientScriptInitializerIsNotSpecified]="Initialize your client script with one of the following: a JavaScript script, a JavaScript file path, or the name of a JavaScript module.",Rr[Tr.clientScriptBasePathIsNotSpecified]="Specify the base path for the client script file.",Rr[Tr.clientScriptInitializerMultipleContentSources]="Client scripts can only have one initializer: JavaScript code, a JavaScript file path, or the name of a JavaScript module.",Rr[Tr.cannotLoadClientScriptFromPath]="Cannot load a client script from {path}.\n{errorMessage}",Rr[Tr.clientScriptModuleEntryPointPathCalculationError]="A client script tried to load a JavaScript module that TestCafe cannot locate:\n\n{errorMessage}.",Rr[Tr.methodIsNotAvailableForAnIPCHost]="This method cannot be called on a service host.",Rr[Tr.tooLargeIPCPayload]="The specified payload is too large to form an IPC packet.",Rr[Tr.malformedIPCMessage]="Cannot process a malformed IPC message.",Rr[Tr.unexpectedIPCHeadPacket]="Cannot create an IPC message due to an unexpected IPC head packet.",Rr[Tr.unexpectedIPCBodyPacket]="Cannot create an IPC message due to an unexpected IPC body packet.",Rr[Tr.unexpectedIPCTailPacket]="Cannot create an IPC message due to an unexpected IPC tail packet.",Rr[Tr.cannotRunLocalNonHeadlessBrowserWithoutDisplay]="Your Linux installation does not have a graphic subsystem to run {browserAlias} with a GUI. You can launch the browser in headless mode. If you use a portable browser executable, specify the browser alias before the path instead of the 'path' prefix. "+"For more information, see ".concat(Hr),Rr[Tr.uncaughtErrorInReporter]='The "{methodName}" method of the "{reporterName}" reporter produced an uncaught error. Error details:\n{originalError}',Rr[Tr.roleInitializedWithRelativeUrl]="You cannot specify relative login page URLs in the Role constructor. Use an absolute URL.",Rr[Tr.typeScriptCompilerLoadingError]="Cannot load the TypeScript compiler.\n{originErrorMessage}.",Rr[Tr.cannotCustomizeSpecifiedCompilers]="You cannot specify options for the {noncustomizableCompilerList} compiler{suffix}.",Rr[Tr.cannotEnableRetryTestPagesOption]="Cannot enable the 'retryTestPages' option. Apply one of the following two solutions:\n-- set the 'hostname' option to 'localhost'\n-- run TestCafe over HTTPS\n",Rr[Tr.browserConnectionError]="{originErrorMessage}\n{numOfNotOpenedConnection} of {numOfAllConnections} browser connections have not been established:\n{listOfNotOpenedConnections}\n\nHints:\n{listOfHints}",Rr[Mr.TooHighConcurrencyFactor]="The host machine may not be powerful enough to handle the specified concurrency factor ({concurrencyFactor}). Decrease the concurrency factor or allocate more computing resources to the host machine.",Rr[Mr.UseBrowserInitOption]="Increase the Browser Initialization Timeout if its value is too low (currently: {browserInitTimeoutMsg}). The timeout determines how long TestCafe waits for browsers to be ready.",Rr[Mr.RestErrorCauses]="The error can also be caused by network issues or remote device failure. Make sure that your network connection is stable and you can reach the remote device.",Rr[Tr.cannotFindTestcafeConfigurationFile]="Cannot locate a TestCafe configuration file at {filePath}. Either the file does not exist, or the path is invalid.",Rr[Tr.relativeBaseUrl]='The value of the baseUrl argument cannot be relative: "{baseUrl}"',Rr[Tr.requestUrlInvalidValueError]="The request url is invalid ({actualValue}).",Rr[Tr.requestRuntimeError]="The request was interrupted by an error:\n{message}",Rr[Tr.invalidSkipJsErrorsOptionsObjectProperty]='The "{optionName}" option does not exist. Use the following options to configure skipJsErrors: '.concat(Ar(Object.keys(_r)),"."),Rr[Tr.invalidSkipJsErrorsCallbackWithOptionsProperty]='The "{optionName}" option does not exist. Use the following options to configure skipJsErrors callbacks: '.concat(Ar(Object.keys(Pr)),"."),Rr[Tr.invalidCommandInJsonCompiler]='TestCafe terminated the test run. The "{path}" file contains an unknown Chrome User Flow action "{action}". Remove the action to continue. Refer to the following article for the definitive list of supported Chrome User Flow actions: https://testcafe.io/documentation/403998/guides/experimental-capabilities/chrome-replay-support#supported-replay-actions',Rr[Tr.invalidCustomActionsOptionType]="The value of the customActions option does not belong to type Object. Refer to the following article for custom action setup instructions: ".concat(kr),Rr[Tr.invalidCustomActionType]='TestCafe cannot parse the "{actionName}" action, because the action definition is invalid. Format the definition in accordance with the custom actions guide: '.concat(kr),Rr[Tr.cannotImportESMInCommonsJS]="Cannot import the {esModule} ECMAScript module from {targetFile}. Use a dynamic import() statement or enable the --esm CLI flag.",Rr[Tr.setNativeAutomationForUnsupportedBrowsers]='The "{browser}" do not support the Native Automation mode. Use the "disable native automation" option to continue.',Rr[Tr.cannotRunLegacyTestsInNativeAutomationMode]="TestCafe cannot run legacy tests in Native Automation mode. Disable native automation to continue.",Rr[Tr.setUserProfileInNativeAutomation]='Cannot initialize the test run. When TestCafe uses native automation, it can only launch browsers with an empty user profile. Disable native automation, or remove the "userProfile" suffix from the following browser aliases: "{browsers}".',Rr[Tr.timeLimitedPromiseTimeoutExpired]),Ur=(g(Br,Lr=Error),Br);function Br(){var e=Lr.call(this,Dr)||this;return e.code=Tr.timeLimitedPromiseTimeoutExpired,e}function qr(e){var t=e.replace(/^\+/g,"plus").replace(/\+\+/g,"+plus").split("+");return H(t,function(e){return e.replace("plus","+")})}function Gr(e){var t=1===e.length||"space"===e?e:e.toLowerCase();return a.modifiersMap[t]&&(t=a.modifiersMap[t]),t}var jr,zr,Jr=f.utils.trim,Kr={run:"run",idle:"idle"};(zr=jr=jr||{}).ok="ok",zr.closing="closing";var Yr=jr,Xr="file://",Qr=vi.location.href,$r=vi.location.origin,Zr=$r+"/service-worker.js",ei=!1,ti=null,ni=eval;function oi(t){return new u(function(e){return setTimeout(e,t)})}function ri(e,r,t){var n=void 0===t?{}:t,o=n.method,i=void 0===o?"GET":o,a=n.data,s=void 0===a?null:a,l=n.parseResponse,c=void 0===l||l;return new u(function(t,n){var o=r();o.open(i,e,!0),o.onreadystatechange=function(){var e;4===o.readyState&&(200===o.status?((e=o.responseText||"")&&c&&(e=JSON.parse(o.responseText)),t(e)):n("disconnected"))},o.send(s)})}function ii(e){return Qr.toLowerCase()===e.toLowerCase()}function ai(){ei=!1}function si(e,t){ri(t.openFileProtocolUrl,t.createXHR,{method:"POST",data:JSON.stringify({url:e.url})})}function li(e,t){var n,o,r,i,a;ai(),void 0===(a=e.url)&&(a=""),0===a.indexOf(Xr)?si(e,t):(o=t,r=(n=e).url.indexOf("#"),i=-1!==r&&n.url.slice(0,r)===Qr.slice(0,r),vi.location=n.url,o.nativeAutomation&&i&&vi.location.reload())}function ci(e){return(e.cmd===Kr.run||e.cmd===Kr.idle)&&!ii(e.url)}function ui(e,r,t){var i=e.statusUrl,a=e.openFileProtocolUrl,n=void 0===t?{}:t,s=n.manualRedirect,l=n.nativeAutomation;return E(this,void 0,void 0,function(){var n,o;return v(this,function(e){switch(e.label){case 0:return[4,ri(i,r)];case 1:return n=e.sent(),(o=l?(t=n).cmd!==Kr.idle||ci(t):ci(n))&&!s&&li(n,{createXHR:r,openFileProtocolUrl:a,nativeAutomation:l}),[2,{command:n,redirecting:o}]}var t})})}var di=Object.freeze({__proto__:null,delay:oi,sendXHR:ri,startHeartbeat:function(e,t){function n(){ri(e,t).then(function(e){e.code!==Yr.closing||ii(e.url)||(ai(),vi.location=e.url)})}ti=Ei.setInterval(n,2e3),n()},stopHeartbeat:function(){Ei.clearInterval(ti)},startInitScriptExecution:function(e,t){ei=!0,function e(t,n){ei&&ri(t,n).then(function(e){return e.code?ri(t,n,{method:"POST",data:JSON.stringify(ni(e.code))}):null}).then(function(){Ei.setTimeout(function(){return e(t,n)},1e3)})}(e,t)},stopInitScriptExecution:ai,redirectUsingCdp:si,redirect:li,checkStatus:function(){for(var r,i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return E(this,void 0,void 0,function(){var t,n,o;return v(this,function(e){switch(e.label){case 0:n=t=null,o=0,e.label=1;case 1:return o<5?[4,function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,ui.apply(void 0,n)];case 1:return[2,e.sent()];case 2:return t=e.sent(),console.error(t),[2,{error:t}];case 3:return[2]}})})}.apply(void 0,i)]:[3,5];case 2:return r=e.sent(),t=r.error,n=function(e,t){var n={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}(r,["error"]),t?[4,oi(1e3)]:[2,n];case 3:e.sent(),e.label=4;case 4:return o++,[3,1];case 5:throw t}})})},enableRetryingTestPages:function(){return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:if(!navigator.serviceWorker)return[2];e.label=1;case 1:return e.trys.push([1,4,,5]),[4,navigator.serviceWorker.register(Zr,{scope:$r})];case 2:return e.sent(),[4,navigator.serviceWorker.ready];case 3:return e.sent(),[3,5];case 4:return t=e.sent(),console.error(t),[3,5];case 5:return[2]}})})},getActiveWindowId:function(e,t){return ri(e,t)},setActiveWindowId:function(e,t,n){return ri(e,t,{method:"POST",data:JSON.stringify({windowId:n})})},closeWindow:function(e,t,n){return ri(e,t,{method:"POST",data:JSON.stringify({windowId:n})})},dispatchNativeAutomationEvent:function(n,o,r,i){return E(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:return t=JSON.stringify({type:r,options:i}),[4,ri(n,o,{method:"POST",data:t})];case 1:return e.sent(),[2]}})})},dispatchNativeAutomationEventSequence:function(t,n,o){return E(this,void 0,void 0,function(){return v(this,function(e){switch(e.label){case 0:return[4,ri(t,n,{method:"POST",data:JSON.stringify(o)})];case 1:return e.sent(),[2]}})})},parseSelector:function(e,t,n){return ri(e,t,{method:"POST",data:JSON.stringify({selector:n})})}}),fi={};fi.RequestBarrier=h,fi.ClientRequestEmitter=I,fi.ScriptExecutionBarrier=N,fi.ScriptExecutionEmitter=A,fi.pageUnloadBarrier=jt,fi.preventRealEvents=function(){Mn.initElementListening(Ei,On),Mn.addFirstInternalEventBeforeListener(Ei,On,An),Xt.init()},fi.disableRealEventsPreventing=function(){Mn.removeInternalEventBeforeListener(Ei,On,An)},fi.scrollController=Xt,fi.ScrollAutomation=Co,fi.selectController=Jn,fi.serviceUtils=Jt,fi.domUtils=mt,fi.contentEditable=Qo,fi.positionUtils=mo,fi.styleUtils=Nn,fi.scrollUtils=Bn,fi.eventUtils=Mt,fi.arrayUtils=Q,fi.promiseUtils=Eo,fi.textSelection=Cr,fi.waitFor=function(i,a,s){return new Sr(function(e,t){var n,o,r=i();r?e(r):(n=wr.setInterval.call(Ei,function(){(r=i())&&(wr.clearInterval.call(Ei,n),wr.clearTimeout.call(Ei,o),e(r))},a),o=wr.setTimeout.call(Ei,function(){wr.clearInterval.call(Ei,n),t()},s))})},fi.delay=c,fi.getTimeLimitedPromise=function(e,t){return d.Promise.race([e,c(t).then(function(){return d.Promise.reject(new Ur)})])},fi.noop=function(){},fi.getKeyArray=qr,fi.getSanitizedKey=Gr,fi.parseKeySequence=function(e){if("string"!=typeof e)return{error:!0};var t=(e=Jr(e).replace(/\s+/g," ")).length,n=e.charAt(t-1),o=e.charAt(t-2);1<t&&"+"===n&&!/[+ ]/.test(o)&&(e=e.substring(0,e.length-1));var r=e.split(" ");return{combinations:r,error:G(r,function(e){var t=qr(e);return G(t,function(e){var t=1===e.length||"space"===e,n=Gr(e),o=a.modifiers[n],r=a.specialKeys[n];return!(t||o||r)})}),keys:e}},fi.sendRequestToFrame=bo,fi.KEY_MAPS=a,fi.browser=di,fi.stringifyElement=Zn,fi.selectorTextFilter=function o(e,r,i,a){function t(e){for(var t=e.childNodes.length,n=0;n<t;n++)if(o(e.childNodes[n],r,i,a))return!0;return!1}function n(e){return a instanceof RegExp?a.test(e):a===e.trim()}if(1===e.nodeType)return n(e.innerText||e.textContent);if(9!==e.nodeType)return 11===e.nodeType?t(e):n(e.textContent);var s=e.querySelector("head"),l=e.querySelector("body");return t(s)||t(l)},fi.selectorAttributeFilter=function(e,t,n,o,r){if(1!==e.nodeType)return!1;function i(e,t){return"string"==typeof t?t===e:t.test(e)}for(var a,s=e.attributes,l=0;l<s.length;l++)if(i((a=s[l]).nodeName,o)&&(!r||i(a.nodeValue,r)))return!0;return!1},fi.TEST_RUN_ERRORS={uncaughtErrorOnPage:"E1",uncaughtErrorInTestCode:"E2",uncaughtNonErrorObjectInTestCode:"E3",uncaughtErrorInClientFunctionCode:"E4",uncaughtErrorInCustomDOMPropertyCode:"E5",unhandledPromiseRejection:"E6",uncaughtException:"E7",missingAwaitError:"E8",actionIntegerOptionError:"E9",actionPositiveIntegerOptionError:"E10",actionBooleanOptionError:"E11",actionSpeedOptionError:"E12",actionOptionsTypeError:"E14",actionBooleanArgumentError:"E15",actionStringArgumentError:"E16",actionNullableStringArgumentError:"E17",actionStringOrStringArrayArgumentError:"E18",actionStringArrayElementError:"E19",actionIntegerArgumentError:"E20",actionRoleArgumentError:"E21",actionPositiveIntegerArgumentError:"E22",actionSelectorError:"E23",actionElementNotFoundError:"E24",actionElementIsInvisibleError:"E26",actionSelectorMatchesWrongNodeTypeError:"E27",actionAdditionalElementNotFoundError:"E28",actionAdditionalElementIsInvisibleError:"E29",actionAdditionalSelectorMatchesWrongNodeTypeError:"E30",actionElementNonEditableError:"E31",actionElementNotTextAreaError:"E32",actionElementNonContentEditableError:"E33",actionElementIsNotFileInputError:"E34",actionRootContainerNotFoundError:"E35",actionIncorrectKeysError:"E36",actionCannotFindFileToUploadError:"E37",actionUnsupportedDeviceTypeError:"E38",actionIframeIsNotLoadedError:"E39",actionElementNotIframeError:"E40",actionInvalidScrollTargetError:"E41",currentIframeIsNotLoadedError:"E42",currentIframeNotFoundError:"E43",currentIframeIsInvisibleError:"E44",nativeDialogNotHandledError:"E45",uncaughtErrorInNativeDialogHandler:"E46",setTestSpeedArgumentError:"E47",setNativeDialogHandlerCodeWrongTypeError:"E48",clientFunctionExecutionInterruptionError:"E49",domNodeClientFunctionResultError:"E50",invalidSelectorResultError:"E51",cannotObtainInfoForElementSpecifiedBySelectorError:"E52",externalAssertionLibraryError:"E53",pageLoadError:"E54",windowDimensionsOverflowError:"E55",forbiddenCharactersInScreenshotPathError:"E56",invalidElementScreenshotDimensionsError:"E57",roleSwitchInRoleInitializerError:"E58",assertionExecutableArgumentError:"E59",assertionWithoutMethodCallError:"E60",assertionUnawaitedPromiseError:"E61",requestHookNotImplementedError:"E62",requestHookUnhandledError:"E63",uncaughtErrorInCustomClientScriptCode:"E64",uncaughtErrorInCustomClientScriptCodeLoadedFromModule:"E65",uncaughtErrorInCustomScript:"E66",uncaughtTestCafeErrorInCustomScript:"E67",childWindowIsNotLoadedError:"E68",childWindowNotFoundError:"E69",cannotSwitchToWindowError:"E70",closeChildWindowError:"E71",childWindowClosedBeforeSwitchingError:"E72",cannotCloseWindowWithChildrenError:"E73",targetWindowNotFoundError:"E74",parentWindowNotFoundError:"E76",previousWindowNotFoundError:"E77",switchToWindowPredicateError:"E78",actionFunctionArgumentError:"E79",multipleWindowsModeIsDisabledError:"E80",multipleWindowsModeIsNotSupportedInRemoteBrowserError:"E81",cannotCloseWindowWithoutParent:"E82",cannotRestoreChildWindowError:"E83",executionTimeoutExceeded:"E84",actionRequiredCookieArguments:"E85",actionCookieArgumentError:"E86",actionCookieArgumentsError:"E87",actionUrlCookieArgumentError:"E88",actionUrlsCookieArgumentError:"E89",actionStringOptionError:"E90",actionDateOptionError:"E91",actionNumberOptionError:"E92",actionUrlOptionError:"E93",actionUrlSearchParamsOptionError:"E94",actionObjectOptionError:"E95",actionUrlArgumentError:"E96",actionStringOrRegexOptionError:"E97",actionSkipJsErrorsArgumentError:"E98",actionFunctionOptionError:"E99",actionInvalidObjectPropertyError:"E100",actionElementIsNotTargetError:"E101",multipleWindowsModeIsNotSupportedInNativeAutomationError:"E102"},fi.RUNTIME_ERRORS=Tr;var hi=f.nativeMethods,pi=f.EVENTS.evalIframeScript;hi.objectDefineProperty(Ei,"%testCafeCore%",{configurable:!0,value:fi}),f.on(pi,function(e){return gi(hi.contentWindowGetter.call(e.iframe))});var mi=f.eventSandbox.message;mi.on(mi.SERVICE_MSG_RECEIVED_EVENT,function(e){var t,n,o,r,i;e.message.cmd===Co.SCROLL_REQUEST_CMD&&(n=(t=e.message).offsetX,o=t.offsetY,r=t.maxScrollMargin,i=at(e.source),new Co(i,{offsetX:n,offsetY:o},r).run().then(function(){return mi.sendServiceMsg({cmd:Co.SCROLL_RESPONSE_CMD},e.source)}))})}(Ei["%hammerhead%"],Ei["%hammerhead%"].Promise)}(window);
@@ -138,7 +138,7 @@ exports.default = {
138
138
  [types_1.RUNTIME_ERRORS.cannotImportESMInCommonsJS]: 'Cannot import the {esModule} ECMAScript module from {targetFile}. Use a dynamic import() statement or enable the --esm CLI flag.',
139
139
  [types_1.RUNTIME_ERRORS.setNativeAutomationForUnsupportedBrowsers]: 'The "{browser}" do not support the Native Automation mode. Use the "disable native automation" option to continue.',
140
140
  [types_1.RUNTIME_ERRORS.cannotRunLegacyTestsInNativeAutomationMode]: 'TestCafe cannot run legacy tests in Native Automation mode. Disable native automation to continue.',
141
- [types_1.RUNTIME_ERRORS.setUserProfileInNativeAutomation]: 'The "userProfile" option is enabled for the following browsers: "{browsers}".\nThe "userProfile" option is not supported in the Native Automation mode.\nUse the "disable native automation" option or remove "userProfile" option to continue.',
141
+ [types_1.RUNTIME_ERRORS.setUserProfileInNativeAutomation]: 'Cannot initialize the test run. When TestCafe uses native automation, it can only launch browsers with an empty user profile. Disable native automation, or remove the "userProfile" suffix from the following browser aliases: "{browsers}".',
142
142
  };
143
143
  module.exports = exports.default;
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9ydW50aW1lL3RlbXBsYXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFOzs7OztBQUVoRSxvQ0FBMEM7QUFDMUMsdUZBQThFO0FBQzlFLCtDQUFpRTtBQUNqRSxpR0FBZ0s7QUFFaEssTUFBTSxtQkFBbUIsR0FBRztJQUN4QixxQkFBcUIsRUFBRSxpR0FBaUc7SUFDeEgsZUFBZSxFQUFRLDhFQUE4RTtJQUNyRyxhQUFhLEVBQVUseUZBQXlGO0lBQ2hILGNBQWMsRUFBUyxxRkFBcUY7Q0FDL0csQ0FBQztBQUVGLGtCQUFlO0lBQ1gsQ0FBQyxzQkFBYyxDQUFDLG1DQUFtQyxDQUFDLEVBQUcseUVBQXlFO0lBQ2hJLENBQUMsc0JBQWMsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLHVGQUF1RjtJQUM5SSxDQUFDLHNCQUFjLENBQUMsbUJBQW1CLENBQUMsRUFBbUIseUlBQXlJO0lBQ2hNLENBQUMsc0JBQWMsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLDhFQUE4RTtJQUNySSxDQUFDLHNCQUFjLENBQUMsbUNBQW1DLENBQUMsRUFBRyxpREFBaUQ7SUFDeEcsQ0FBQyxzQkFBYyxDQUFDLGdDQUFnQyxDQUFDLEVBQU0sbURBQW1EO0lBQzFHLENBQUMsc0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFxQiwwR0FBMEc7SUFDakssQ0FBQyxzQkFBYyxDQUFDLHVCQUF1QixDQUFDLEVBQWUsb0RBQW9EO0lBQzNHLENBQUMsc0JBQWMsQ0FBQyxhQUFhLENBQUMsRUFBeUIsbUNBQW1DO0lBQzFGLENBQUMsc0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFxQixpRUFBaUU7UUFDakUsZ0NBQWdDO1FBQ2hDLGtCQUFrQjtRQUNsQixrREFBa0Q7UUFDbEQsOERBQThELG1CQUFtQixDQUFD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QyxJQUFJLENBQUMsd0VBQTBDLENBQUMsQ0FBQyxHQUFHO0lBQzFQLENBQUMsc0JBQWMsQ0FBQyw4Q0FBOEMsQ0FBQyxFQUFFLDRHQUE0RyxJQUFBLG9DQUEyQixFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0VBQWlELENBQUMsQ0FBQyxHQUFHO0lBQzNRLENBQUMsc0JBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFvQixtV0FBbVc7SUFDcGEsQ0FBQyxzQkFBYyxDQUFDLDhCQUE4QixDQUFDLEVBQWtCLDhJQUErSSxtQkFBbUIsQ0FBQyxjQUFlLEVBQUU7SUFDclAsQ0FBQyxzQkFBYyxDQUFDLHVCQUF1QixDQUFDLEVBQXlCLGlLQUFrSyxtQkFBbUIsQ0FBQyxjQUFlLEVBQUU7SUFDeFEsQ0FBQyxzQkFBYyxDQUFDLDBCQUEwQixDQUFDLEVBQXNCLGtJQUFrSTtJQUNuTSxDQUFDLHNCQUFjLENBQUMseUNBQXlDLENBQUMsRUFBTyxvSEFBb0g7SUFDckwsQ0FBQyxzQkFBYyxDQUFDLDBDQUEwQyxDQUFDLEVBQU0sb0dBQW9HO0lBQ3JLLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFnQixpUEFBaVA7Q0FDclQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdBUk5JTkc6IHRoaXMgZmlsZSBpcyB1c2VkIGJ5IGJvdGggdGhlIGNsaWVudCBhbmQgdGhlIHNlcnZlci5cbi8vIERvIG5vdCB1c2UgYW55IGJyb3dzZXIgb3Igbm9kZS1zcGVjaWZpYyBBUEkhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IFJVTlRJTUVfRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IEJyb3dzZXJDb25uZWN0aW9uRXJyb3JIaW50IGZyb20gJy4uLy4uL2Jyb3dzZXIvY29ubmVjdGlvbi9lcnJvci1oaW50cyc7XG5pbXBvcnQgeyBnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuaW1wb3J0IHsgU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTLCBTS0lQX0pTX0VSUk9SU19DQUxMQkFDS19XSVRIX09QVElPTlNfT1BUSU9OX05BTUVTIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9za2lwLWpzLWVycm9ycy1vcHRpb24tbmFtZXMnO1xuXG5jb25zdCBET0NVTUVOVEFUSU9OX0xJTktTID0ge1xuICAgIFRFU1RfU09VUkNFX1BBUkFNRVRFUjogJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDI2MzkvcmVmZXJlbmNlL2NvbW1hbmQtbGluZS1pbnRlcmZhY2UjZmlsZS1wYXRoZ2xvYi1wYXR0ZXJuJyxcbiAgICBGSUxURVJfU0VUVElOR1M6ICAgICAgICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDAyNjM4L3JlZmVyZW5jZS9jb25maWd1cmF0aW9uLWZpbGUjZmlsdGVyJyxcbiAgICBIRUFETEVTU19NT0RFOiAgICAgICAgICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDAyODI4L2d1aWRlcy9jb25jZXB0cy9icm93c2VycyN0ZXN0LWluLWhlYWRsZXNzLW1vZGUnLFxuICAgIENVU1RPTV9BQ1RJT05TOiAgICAgICAgJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDQxNTAvZ3VpZGVzL2FkdmFuY2VkLWd1aWRlcy9jdXN0b20tdGVzdC1hY3Rpb25zJyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90Q3JlYXRlTXVsdGlwbGVMaXZlTW9kZVJ1bm5lcnNdOiAgJ0Nhbm5vdCBsYXVuY2ggbXVsdGlwbGUgbGl2ZSBtb2RlIGluc3RhbmNlcyBvZiB0aGUgVGVzdENhZmUgdGVzdCBydW5uZXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UnVuTGl2ZU1vZGVSdW5uZXJNdWx0aXBsZVRpbWVzXTogJ0Nhbm5vdCBsYXVuY2ggdGhlIHNhbWUgbGl2ZSBtb2RlIGluc3RhbmNlIG9mIHRoZSBUZXN0Q2FmZSB0ZXN0IHJ1bm5lciBtdWx0aXBsZSB0aW1lcy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5icm93c2VyRGlzY29ubmVjdGVkXTogICAgICAgICAgICAgICAgICAnVGhlIHt1c2VyQWdlbnR9IGJyb3dzZXIgZGlzY29ubmVjdGVkLiBJZiB5b3UgZGlkIG5vdCBjbG9zZSB0aGUgYnJvd3NlciB5b3Vyc2VsZiwgYnJvd3NlciBwZXJmb3JtYW5jZSBvciBuZXR3b3JrIGlzc3VlcyBtYXkgYmUgYXQgZmF1bHQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UnVuQWdhaW5zdERpc2Nvbm5lY3RlZEJyb3dzZXJzXTogJ1RoZSBmb2xsb3dpbmcgYnJvd3NlcnMgZGlzY29ubmVjdGVkOiB7dXNlckFnZW50c30uIENhbm5vdCBydW4gZnVydGhlciB0ZXN0cy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50ZXN0UnVuUmVxdWVzdEluRGlzY29ubmVjdGVkQnJvd3Nlcl06ICAnXCJ7YnJvd3Nlcn1cIiBkaXNjb25uZWN0ZWQgZHVyaW5nIHRlc3QgZXhlY3V0aW9uLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEVzdGFibGlzaEJyb3dzZXJDb25uZWN0aW9uXTogICAgICdDYW5ub3QgZXN0YWJsaXNoIG9uZSBvciBtb3JlIGJyb3dzZXIgY29ubmVjdGlvbnMuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZEJyb3dzZXJdOiAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBmaW5kIHRoZSBicm93c2VyLiBcInticm93c2VyfVwiIGlzIG5laXRoZXIgYSBrbm93biBicm93c2VyIGFsaWFzLCBub3IgYSBwYXRoIHRvIGFuIGV4ZWN1dGFibGUgZmlsZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5icm93c2VyUHJvdmlkZXJOb3RGb3VuZF06ICAgICAgICAgICAgICAnQ2Fubm90IGZpbmQgdGhlIFwie3Byb3ZpZGVyTmFtZX1cIiBicm93c2VyIHByb3ZpZGVyLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmJyb3dzZXJOb3RTZXRdOiAgICAgICAgICAgICAgICAgICAgICAgICdZb3UgaGF2ZSBub3Qgc3BlY2lmaWVkIGEgYnJvd3Nlci4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50ZXN0RmlsZXNOb3RGb3VuZF06ICAgICAgICAgICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgdGVzdCBmaWxlcyBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uOiBcIntjd2R9XCIuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVjayBwYXR0ZXJucyBmb3IgZXJyb3JzOlxcblxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne3NvdXJjZUxpc3R9XFxuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvciBsYXVuY2ggVGVzdENhZmUgZnJvbSBhIGRpZmZlcmVudCBkaXJlY3RvcnkuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8gc3BlY2lmeSB0ZXN0IGxvY2F0aW9ucywgc2VlICR7RE9DVU1FTlRBVElPTl9MSU5LUy5URVNUX1NPVVJDRV9QQVJBTUVURVJ9LmAsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMubm9UZXN0c1RvUnVuXTogXCJTb3VyY2UgZmlsZXMgZG8gbm90IGNvbnRhaW4gdmFsaWQgJ2ZpeHR1cmUnIGFuZCAndGVzdCcgZGVjbGFyYXRpb25zLlwiLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLm5vVGVzdHNUb1J1bkR1ZUZpbHRlcmluZ106ICdObyB0ZXN0cyBtYXRjaCB5b3VyIGZpbHRlci5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFNlZSAke0RPQ1VNRU5UQVRJT05fTElOS1MuRklMVEVSX1NFVFRJTkdTfS5gLFxuICAgIFtSVU5USU1FX0VSUk9SUy5tdWx0aXBsZVNhbWVTdHJlYW1SZXBvcnRlcnNdOiAgICAgICAgICAgICAgICAgICAgICAgICdSZXBvcnRlcnMgY2Fubm90IHNoYXJlIG91dHB1dCBzdHJlYW1zLiBUaGUgZm9sbG93aW5nIHJlcG9ydGVycyBpbnRlcmZlcmUgd2l0aCBvbmUgYW5vdGhlcjogXCJ7cmVwb3J0ZXJzfVwiLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm9wdGlvblZhbHVlSXNOb3RWYWxpZFJlZ0V4cF06ICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgcmVndWxhciBleHByZXNzaW9uLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm9wdGlvblZhbHVlSXNOb3RWYWxpZEtleVZhbHVlXTogICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQga2V5LXZhbHVlIHBhaXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFF1YXJhbnRpbmVPcHRpb25dOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGV4aXN0LiBTcGVjaWZ5IFwiYXR0ZW1wdExpbWl0XCIgYW5kIFwic3VjY2Vzc1RocmVzaG9sZFwiIHRvIGNvbmZpZ3VyZSBxdWFyYW50aW5lIG1vZGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFF1YXJhbnRpbmVQYXJhbWV0ZXJzUmF0aW9dOiAgICAgICAgICAgICAgICAgICAnVGhlIHZhbHVlIG9mIFwiYXR0ZW1wdExpbWl0XCIgKHthdHRlbXB0TGltaXR9KSBzaG91bGQgYmUgZ3JlYXRlciB0aGVuIHRoZSB2YWx1ZSBvZiBcInN1Y2Nlc3NUaHJlc2hvbGRcIiAoe3N1Y2Nlc3NUaHJlc2hvbGR9KS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkQXR0ZW1wdExpbWl0VmFsdWVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgXCJ7YXR0ZW1wdExpbWl0fVwiIHBhcmFtZXRlciBvbmx5IGFjY2VwdHMgdmFsdWVzIG9mIHtNSU5fQVRURU1QVF9MSU1JVH0gYW5kIHVwLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTdWNjZXNzVGhyZXNob2xkVmFsdWVdOiAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntzdWNjZXNzVGhyZXNob2xkfVwiIHBhcmFtZXRlciBvbmx5IGFjY2VwdHMgdmFsdWVzIG9mIHtNSU5fU1VDQ0VTU19USFJFU0hPTER9IGFuZCB1cC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkU3BlZWRWYWx1ZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcGVlZCBzaG91bGQgYmUgYSBudW1iZXIgYmV0d2VlbiAwLjAxIGFuZCAxLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDb25jdXJyZW5jeUZhY3Rvcl06ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBjb25jdXJyZW5jeSBmYWN0b3Igc2hvdWxkIGJlIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RGl2aWRlUmVtb3Rlc0NvdW50QnlDb25jdXJyZW5jeV06ICAgICAgICAgICAgICAnVGhlIG51bWJlciBvZiByZW1vdGUgYnJvd3NlcnMgc2hvdWxkIGJlIGRpdmlzaWJsZSBieSB0aGUgY29uY3VycmVuY3kgZmFjdG9yLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFNldENvbmN1cnJlbmN5V2l0aENEUFBvcnRdOiAgICAgICAgICAgICAgICAgICAgJ1RoZSB2YWx1ZSBvZiB0aGUgXCJjb25jdXJyZW5jeVwiIG9wdGlvbiBpbmNsdWRlcyB0aGUgQ0RQIHBvcnQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucG9ydHNPcHRpb25SZXF1aXJlc1R3b051bWJlcnNdOiAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwiLS1wb3J0c1wiIG9wdGlvbiByZXF1aXJlcyB0d28gYXJndW1lbnRzLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnBvcnRJc05vdEZyZWVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQge3BvcnROdW19IGlzIG9jY3VwaWVkIGJ5IGFub3RoZXIgcHJvY2Vzcy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkSG9zdG5hbWVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgcmVzb2x2ZSBob3N0bmFtZSBcIntob3N0bmFtZX1cIi4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kU3BlY2lmaWVkVGVzdFNvdXJjZV06ICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgZmluZCBhIHRlc3QgZmlsZSBhdCBcIntwYXRofVwiLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudEZ1bmN0aW9uQ29kZUlzTm90QUZ1bmN0aW9uXTogICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBpbml0aWFsaXplIGEgQ2xpZW50RnVuY3Rpb24gYmVjYXVzZSB7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGlzIHt0eXBlfSwgYW5kIG5vdCBhIGZ1bmN0aW9uLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnNlbGVjdG9ySW5pdGlhbGl6ZWRXaXRoV3JvbmdUeXBlXTogICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBpbml0aWFsaXplIGEgU2VsZWN0b3IgYmVjYXVzZSB7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGlzIHt0eXBlfSwgYW5kIG5vdCBvbmUgb2YgdGhlIGZvbGxvd2luZzogYSBDU1Mgc2VsZWN0b3Igc3RyaW5nLCBhIFNlbGVjdG9yIG9iamVjdCwgYSBub2RlIHNuYXBzaG90LCBhIGZ1bmN0aW9uLCBvciBhIFByb21pc2UgcmV0dXJuZWQgYnkgYSBTZWxlY3Rvci4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jbGllbnRGdW5jdGlvbkNhbm5vdFJlc29sdmVUZXN0UnVuXTogICAgICAgICAgICAgICAgICd7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGRvZXMgbm90IGhhdmUgdGVzdCBjb250cm9sbGVyIGFjY2Vzcy4gVG8gZXhlY3V0ZSB7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGZyb20gYSBOb2RlLmpzIEFQSSBjYWxsYmFjaywgYmluZCB0aGUgdGVzdCBjb250cm9sbGVyIG9iamVjdCB0byB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgYC53aXRoKHsgYm91bmRUZXN0UnVuOiB0IH0pYCBtZXRob2QuIE5vdGUgdGhhdCB5b3UgY2Fubm90IGV4ZWN1dGUgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBvdXRzaWRlIHRlc3QgY29kZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5yZXF1ZXN0Q2Fubm90UmVzb2x2ZVRlc3RSdW5dOiAgICAgICAgICAgICAgICAgICAgICAgICdcInJlcXVlc3RcIiBkb2VzIG5vdCBoYXZlIHRlc3QgY29udHJvbGxlciBhY2Nlc3MuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVnZW5lcmF0b3JJbkNsaWVudEZ1bmN0aW9uQ29kZV06ICAgICAgICAgICAgICAgICAgICBgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBjb2RlLCBhcmd1bWVudHMgb3IgZGVwZW5kZW5jaWVzIGNhbm5vdCBjb250YWluIGdlbmVyYXRvcnMgb3IgXCJhc3luYy9hd2FpdFwiIHN5bnRheCAodXNlIFByb21pc2VzIGluc3RlYWQpLmAsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDbGllbnRGdW5jdGlvblRlc3RSdW5CaW5kaW5nXTogICAgICAgICAgICAgICAgJ0Nhbm5vdCByZXNvbHZlIHRoZSBcImJvdW5kVGVzdFJ1blwiIG9wdGlvbiBiZWNhdXNlIGl0cyB2YWx1ZSBpcyBub3QgYSB0ZXN0IGNvbnRyb2xsZXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFZhbHVlVHlwZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne3NtdGhnfSAoe2FjdHVhbH0pIGlzIG5vdCBvZiBleHBlY3RlZCB0eXBlICh7dHlwZX0pLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuc3VwcG9ydGVkVXJsUHJvdG9jb2xdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ludmFsaWQge3doYXR9OiBcInt1cmx9XCIuIFRlc3RDYWZlIGNhbm5vdCBleGVjdXRlIHRoZSB0ZXN0IGJlY2F1c2UgdGhlIHt3aGF0fSBpbmNsdWRlcyB0aGUge3Byb3RvY29sfSBwcm90b2NvbC4gVGVzdENhZmUgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBwcm90b2NvbHM6IGh0dHA6Ly8sIGh0dHBzOi8vIGFuZCBmaWxlOi8vLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RDb250cm9sbGVyUHJveHlDYW5ub3RSZXNvbHZlVGVzdFJ1bl06ICAgICAgICAgICAgYFRoZSBhY3Rpb24gZG9lcyBub3QgaGF2ZSBpbXBsaWNpdCB0ZXN0IGNvbnRyb2xsZXIgYWNjZXNzLiBSZWZlcmVuY2UgdGhlICd0JyBvYmplY3QgdG8gZ2FpbiBpdC5gLFxuICAgIFtSVU5USU1FX0VSUk9SUy50aW1lTGltaXRlZFByb21pc2VUaW1lb3V0RXhwaXJlZF06ICAgICAgICAgICAgICAgICAgICdBIFByb21pc2UgdGltZWQgb3V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFNldFZpZGVvT3B0aW9uc1dpdGhvdXRCYXNlVmlkZW9QYXRoU3BlY2lmaWVkXTogJ1lvdSBjYW5ub3QgbWFuYWdlIGFkdmFuY2VkIHZpZGVvIHBhcmFtZXRlcnMgd2hlbiB0aGUgdmlkZW8gcmVjb3JkaW5nIGNhcGFiaWxpdHkgaXMgb2ZmLiBTcGVjaWZ5IHRoZSByb290IHN0b3JhZ2UgZm9sZGVyIGZvciB2aWRlbyBjb250ZW50IHRvIGVuYWJsZSB2aWRlbyByZWNvcmRpbmcuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMubXVsdGlwbGVBUElNZXRob2RDYWxsRm9yYmlkZGVuXTogICAgICAgICAgICAgICAgICAgICAnWW91IGNhbm5vdCBjYWxsIHRoZSBcInttZXRob2ROYW1lfVwiIG1ldGhvZCBtb3JlIHRoYW4gb25jZS4gU3BlY2lmeSBhbiBhcnJheSBvZiBwYXJhbWV0ZXJzIGluc3RlYWQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFJlcG9ydGVyT3V0cHV0XTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNwZWNpZnkgYSBmaWxlIG5hbWUgb3IgYSB3cml0YWJsZSBzdHJlYW0gYXMgdGhlIHJlcG9ydGVyJ3Mgb3V0cHV0IHRhcmdldC5cIixcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UmVhZFNTTENlcnRGaWxlXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIHJlYWQgdGhlIGZpbGUgcmVmZXJlbmNlZCBieSB0aGUgXCJ7b3B0aW9ufVwiIHNzbCBvcHRpb24gKFwie3BhdGh9XCIpLiBFcnJvciBkZXRhaWxzOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vycn0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFByZXBhcmVUZXN0c0R1ZVRvRXJyb3JdOiAnQ2Fubm90IHByZXBhcmUgdGVzdHMgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vyck1lc3NhZ2V9JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RQYXJzZVJhd0ZpbGVdOiAnQ2Fubm90IHBhcnNlIGEgcmF3IHRlc3QgZmlsZSBhdCBcIntwYXRofVwiIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyTWVzc2FnZX0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RlZEFwcEZhaWxlZFdpdGhFcnJvcl06ICdUaGUgd2ViIGFwcGxpY2F0aW9uIGZhaWxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tlcnJNZXNzYWdlfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMudW5hYmxlVG9PcGVuQnJvd3Nlcl06ICdVbmFibGUgdG8gb3BlbiB0aGUgXCJ7YWxpYXN9XCIgYnJvd3NlciBkdWUgdG8gdGhlIGZvbGxvd2luZyBlcnJvcjpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyTWVzc2FnZX0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnJlcXVlc3RIb29rQ29uZmlndXJlQVBJRXJyb3JdOiAnQXR0ZW1wdCB0byBjb25maWd1cmUgYSByZXF1ZXN0IGhvb2sgcmVzdWx0ZWQgaW4gdGhlIGZvbGxvd2luZyBlcnJvcjpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7cmVxdWVzdEhvb2tOYW1lfToge2Vyck1zZ30nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmZvcmJpZGRlbkNoYXJhdGVyc0luU2NyZWVuc2hvdFBhdGhdOiAnVGhlcmUgYXJlIGZvcmJpZGRlbiBjaGFyYWN0ZXJzIGluIHRoZSBcIntzY3JlZW5zaG90UGF0aH1cIiB7c2NyZWVuc2hvdFBhdGhUeXBlfTpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcge2ZvcmJpZGRlbkNoYXJzRGVzY3JpcHRpb259JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kRkZNUEVHXTogJ1Rlc3RDYWZlIGNhbm5vdCByZWNvcmQgdmlkZW9zIGJlY2F1c2UgaXQgY2Fubm90IGxvY2F0ZSB0aGUgRkZtcGVnIGV4ZWN1dGFibGUuIFRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzb2x1dGlvbnM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKiBhZGQgdGhlIHBhdGggb2YgdGhlIEZGbXBlZyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHRvIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLFxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyogc3BlY2lmeSB0aGUgcGF0aCBvZiB0aGUgRkZtcGVnIGV4ZWN1dGFibGUgaW4gdGhlIEZGTVBFR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZSBmZm1wZWdQYXRoIG9wdGlvbixcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqIGluc3RhbGwgdGhlIEBmZm1wZWctaW5zdGFsbGVyL2ZmbXBlZyBucG0gcGFja2FnZS4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJlYWRDb25maWdGaWxlXTogJ0ZhaWxlZCB0byByZWFkIHRoZSBcIntwYXRofVwiIGNvbmZpZ3VyYXRpb24gZmlsZSBmcm9tIGRpc2suIEVycm9yIGRldGFpbHM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UGFyc2VDb25maWdGaWxlXTogJ0ZhaWxlZCB0byBwYXJzZSB0aGUgXCJ7cGF0aH1cIiBjb25maWd1cmF0aW9uIGZpbGUuIFRoZSBmaWxlIGNvbnRhaW5zIGludmFsaWQgSlNPTiBzeW50YXguIFxcblxcbkVycm9yIGRldGFpbHM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZFJlcG9ydGVyRm9yQWxpYXNdOiAnRmFpbGVkIHRvIGxvYWQgdGhlIFwie25hbWV9XCIgcmVwb3J0ZXIuIFBsZWFzZSBjaGVjayB0aGUgcGFyYW1ldGVyIGZvciBlcnJvcnMuIEVycm9yIGRldGFpbHM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZFR5cGVzY3JpcHRDb25maWd1cmF0aW9uRmlsZV06ICAgICAgICAgICAgJ1wie2ZpbGVQYXRofVwiIGlzIG5vdCBhIHZhbGlkIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudFNjcmlwdEluaXRpYWxpemVySXNOb3RTcGVjaWZpZWRdOiAgICAgICAgICAgICdJbml0aWFsaXplIHlvdXIgY2xpZW50IHNjcmlwdCB3aXRoIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBhIEphdmFTY3JpcHQgc2NyaXB0LCBhIEphdmFTY3JpcHQgZmlsZSBwYXRoLCBvciB0aGUgbmFtZSBvZiBhIEphdmFTY3JpcHQgbW9kdWxlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudFNjcmlwdEJhc2VQYXRoSXNOb3RTcGVjaWZpZWRdOiAgICAgICAgICAgICAgICdTcGVjaWZ5IHRoZSBiYXNlIHBhdGggZm9yIHRoZSBjbGllbnQgc2NyaXB0IGZpbGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2xpZW50U2NyaXB0SW5pdGlhbGl6ZXJNdWx0aXBsZUNvbnRlbnRTb3VyY2VzXTogICAgJ0NsaWVudCBzY3JpcHRzIGNhbiBvbmx5IGhhdmUgb25lIGluaXRpYWxpemVyOiBKYXZhU2NyaXB0IGNvZGUsIGEgSmF2YVNjcmlwdCBmaWxlIHBhdGgsIG9yIHRoZSBuYW1lIG9mIGEgSmF2YVNjcmlwdCBtb2R1bGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90TG9hZENsaWVudFNjcmlwdEZyb21QYXRoXTogICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBsb2FkIGEgY2xpZW50IHNjcmlwdCBmcm9tIHtwYXRofS5cXG57ZXJyb3JNZXNzYWdlfScsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudFNjcmlwdE1vZHVsZUVudHJ5UG9pbnRQYXRoQ2FsY3VsYXRpb25FcnJvcl06ICdBIGNsaWVudCBzY3JpcHQgdHJpZWQgdG8gbG9hZCBhIEphdmFTY3JpcHQgbW9kdWxlIHRoYXQgVGVzdENhZmUgY2Fubm90IGxvY2F0ZTpcXG5cXG57ZXJyb3JNZXNzYWdlfS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5tZXRob2RJc05vdEF2YWlsYWJsZUZvckFuSVBDSG9zdF06ICAgICAgICAgICAgICAgICAnVGhpcyBtZXRob2QgY2Fubm90IGJlIGNhbGxlZCBvbiBhIHNlcnZpY2UgaG9zdC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50b29MYXJnZUlQQ1BheWxvYWRdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIHNwZWNpZmllZCBwYXlsb2FkIGlzIHRvbyBsYXJnZSB0byBmb3JtIGFuIElQQyBwYWNrZXQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMubWFsZm9ybWVkSVBDTWVzc2FnZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBwcm9jZXNzIGEgbWFsZm9ybWVkIElQQyBtZXNzYWdlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuZXhwZWN0ZWRJUENIZWFkUGFja2V0XTogICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgY3JlYXRlIGFuIElQQyBtZXNzYWdlIGR1ZSB0byBhbiB1bmV4cGVjdGVkIElQQyBoZWFkIHBhY2tldC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy51bmV4cGVjdGVkSVBDQm9keVBhY2tldF06ICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBhbiBJUEMgbWVzc2FnZSBkdWUgdG8gYW4gdW5leHBlY3RlZCBJUEMgYm9keSBwYWNrZXQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMudW5leHBlY3RlZElQQ1RhaWxQYWNrZXRdOiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBjcmVhdGUgYW4gSVBDIG1lc3NhZ2UgZHVlIHRvIGFuIHVuZXhwZWN0ZWQgSVBDIHRhaWwgcGFja2V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJ1bkxvY2FsTm9uSGVhZGxlc3NCcm93c2VyV2l0aG91dERpc3BsYXldOlxuICAgICAgICAnWW91ciBMaW51eCBpbnN0YWxsYXRpb24gZG9lcyBub3QgaGF2ZSBhIGdyYXBoaWMgc3Vic3lzdGVtIHRvIHJ1biB7YnJvd3NlckFsaWFzfSB3aXRoIGEgR1VJLiAnICtcbiAgICAgICAgJ1lvdSBjYW4gbGF1bmNoIHRoZSBicm93c2VyIGluIGhlYWRsZXNzIG1vZGUuICcgK1xuICAgICAgICAnSWYgeW91IHVzZSBhIHBvcnRhYmxlIGJyb3dzZXIgZXhlY3V0YWJsZSwgJyArXG4gICAgICAgIFwic3BlY2lmeSB0aGUgYnJvd3NlciBhbGlhcyBiZWZvcmUgdGhlIHBhdGggaW5zdGVhZCBvZiB0aGUgJ3BhdGgnIHByZWZpeC4gXCIgK1xuICAgICAgICBgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSAke0RPQ1VNRU5UQVRJT05fTElOS1MuSEVBRExFU1NfTU9ERX1gLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuY2F1Z2h0RXJyb3JJblJlcG9ydGVyXTogICAgICAgICAgICdUaGUgXCJ7bWV0aG9kTmFtZX1cIiBtZXRob2Qgb2YgdGhlIFwie3JlcG9ydGVyTmFtZX1cIiByZXBvcnRlciBwcm9kdWNlZCBhbiB1bmNhdWdodCBlcnJvci4gRXJyb3IgZGV0YWlsczpcXG57b3JpZ2luYWxFcnJvcn0nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5yb2xlSW5pdGlhbGl6ZWRXaXRoUmVsYXRpdmVVcmxdOiAgICAnWW91IGNhbm5vdCBzcGVjaWZ5IHJlbGF0aXZlIGxvZ2luIHBhZ2UgVVJMcyBpbiB0aGUgUm9sZSBjb25zdHJ1Y3Rvci4gVXNlIGFuIGFic29sdXRlIFVSTC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50eXBlU2NyaXB0Q29tcGlsZXJMb2FkaW5nRXJyb3JdOiAgICAnQ2Fubm90IGxvYWQgdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIuXFxue29yaWdpbkVycm9yTWVzc2FnZX0uJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90Q3VzdG9taXplU3BlY2lmaWVkQ29tcGlsZXJzXTogJ1lvdSBjYW5ub3Qgc3BlY2lmeSBvcHRpb25zIGZvciB0aGUge25vbmN1c3RvbWl6YWJsZUNvbXBpbGVyTGlzdH0gY29tcGlsZXJ7c3VmZml4fS4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEVuYWJsZVJldHJ5VGVzdFBhZ2VzT3B0aW9uXTpcbiAgICAgICAgJ0Nhbm5vdCBlbmFibGUgdGhlIFxcJ3JldHJ5VGVzdFBhZ2VzXFwnIG9wdGlvbi4gQXBwbHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgdHdvIHNvbHV0aW9uczpcXG4nICtcbiAgICAgICAgJy0tIHNldCB0aGUgXFwnaG9zdG5hbWVcXCcgb3B0aW9uIHRvIFxcJ2xvY2FsaG9zdFxcJ1xcbicgK1xuICAgICAgICAnLS0gcnVuIFRlc3RDYWZlIG92ZXIgSFRUUFNcXG4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmJyb3dzZXJDb25uZWN0aW9uRXJyb3JdOiAgICAgICAgICAgICAgICd7b3JpZ2luRXJyb3JNZXNzYWdlfVxcbntudW1PZk5vdE9wZW5lZENvbm5lY3Rpb259IG9mIHtudW1PZkFsbENvbm5lY3Rpb25zfSBicm93c2VyIGNvbm5lY3Rpb25zIGhhdmUgbm90IGJlZW4gZXN0YWJsaXNoZWQ6XFxue2xpc3RPZk5vdE9wZW5lZENvbm5lY3Rpb25zfVxcblxcbkhpbnRzOlxcbntsaXN0T2ZIaW50c30nLFxuICAgIFtCcm93c2VyQ29ubmVjdGlvbkVycm9ySGludC5Ub29IaWdoQ29uY3VycmVuY3lGYWN0b3JdOiAnVGhlIGhvc3QgbWFjaGluZSBtYXkgbm90IGJlIHBvd2VyZnVsIGVub3VnaCB0byBoYW5kbGUgdGhlIHNwZWNpZmllZCBjb25jdXJyZW5jeSBmYWN0b3IgKHtjb25jdXJyZW5jeUZhY3Rvcn0pLiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlY3JlYXNlIHRoZSBjb25jdXJyZW5jeSBmYWN0b3Igb3IgYWxsb2NhdGUgbW9yZSBjb21wdXRpbmcgcmVzb3VyY2VzIHRvIHRoZSBob3N0IG1hY2hpbmUuJyxcbiAgICBbQnJvd3NlckNvbm5lY3Rpb25FcnJvckhpbnQuVXNlQnJvd3NlckluaXRPcHRpb25dOiAgICAgICAgICAgICAgICdJbmNyZWFzZSB0aGUgQnJvd3NlciBJbml0aWFsaXphdGlvbiBUaW1lb3V0IGlmIGl0cyB2YWx1ZSBpcyB0b28gbG93IChjdXJyZW50bHk6IHticm93c2VySW5pdFRpbWVvdXRNc2d9KS4gVGhlIHRpbWVvdXQgZGV0ZXJtaW5lcyBob3cgbG9uZyBUZXN0Q2FmZSB3YWl0cyBmb3IgYnJvd3NlcnMgdG8gYmUgcmVhZHkuJyxcbiAgICBbQnJvd3NlckNvbm5lY3Rpb25FcnJvckhpbnQuUmVzdEVycm9yQ2F1c2VzXTogICAgICAgICAgICAgICAgICAgICdUaGUgZXJyb3IgY2FuIGFsc28gYmUgY2F1c2VkIGJ5IG5ldHdvcmsgaXNzdWVzIG9yIHJlbW90ZSBkZXZpY2UgZmFpbHVyZS4gTWFrZSBzdXJlIHRoYXQgeW91ciBuZXR3b3JrIGNvbm5lY3Rpb24gaXMgc3RhYmxlIGFuZCB5b3UgY2FuIHJlYWNoIHRoZSByZW1vdGUgZGV2aWNlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEZpbmRUZXN0Y2FmZUNvbmZpZ3VyYXRpb25GaWxlXTogICAgICAgICAgICAnQ2Fubm90IGxvY2F0ZSBhIFRlc3RDYWZlIGNvbmZpZ3VyYXRpb24gZmlsZSBhdCB7ZmlsZVBhdGh9LiBFaXRoZXIgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QsIG9yIHRoZSBwYXRoIGlzIGludmFsaWQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVsYXRpdmVCYXNlVXJsXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgdmFsdWUgb2YgdGhlIGJhc2VVcmwgYXJndW1lbnQgY2Fubm90IGJlIHJlbGF0aXZlOiBcIntiYXNlVXJsfVwiJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVxdWVzdFVybEludmFsaWRWYWx1ZUVycm9yXTogICAgICAgICAgICAgICAgICAgICdUaGUgcmVxdWVzdCB1cmwgaXMgaW52YWxpZCAoe2FjdHVhbFZhbHVlfSkuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVxdWVzdFJ1bnRpbWVFcnJvcl06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgcmVxdWVzdCB3YXMgaW50ZXJydXB0ZWQgYnkgYW4gZXJyb3I6XFxue21lc3NhZ2V9JyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFNraXBKc0Vycm9yc09wdGlvbnNPYmplY3RQcm9wZXJ0eV06ICAgICAgIGBUaGUgXCJ7b3B0aW9uTmFtZX1cIiBvcHRpb24gZG9lcyBub3QgZXhpc3QuIFVzZSB0aGUgZm9sbG93aW5nIG9wdGlvbnMgdG8gY29uZmlndXJlIHNraXBKc0Vycm9yczogJHtnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcoT2JqZWN0LmtleXMoU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTKSl9LmAsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zUHJvcGVydHldOiBgVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGV4aXN0LiBVc2UgdGhlIGZvbGxvd2luZyBvcHRpb25zIHRvIGNvbmZpZ3VyZSBza2lwSnNFcnJvcnMgY2FsbGJhY2tzOiAke2dldENvbmNhdGVuYXRlZFZhbHVlc1N0cmluZyhPYmplY3Qua2V5cyhTS0lQX0pTX0VSUk9SU19DQUxMQkFDS19XSVRIX09QVElPTlNfT1BUSU9OX05BTUVTKSl9LmAsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDb21tYW5kSW5Kc29uQ29tcGlsZXJdOiAgICAgICAgICAgICAgICAgICBgVGVzdENhZmUgdGVybWluYXRlZCB0aGUgdGVzdCBydW4uIFRoZSBcIntwYXRofVwiIGZpbGUgY29udGFpbnMgYW4gdW5rbm93biBDaHJvbWUgVXNlciBGbG93IGFjdGlvbiBcInthY3Rpb259XCIuIFJlbW92ZSB0aGUgYWN0aW9uIHRvIGNvbnRpbnVlLiBSZWZlciB0byB0aGUgZm9sbG93aW5nIGFydGljbGUgZm9yIHRoZSBkZWZpbml0aXZlIGxpc3Qgb2Ygc3VwcG9ydGVkIENocm9tZSBVc2VyIEZsb3cgYWN0aW9uczogaHR0cHM6Ly90ZXN0Y2FmZS5pby9kb2N1bWVudGF0aW9uLzQwMzk5OC9ndWlkZXMvZXhwZXJpbWVudGFsLWNhcGFiaWxpdGllcy9jaHJvbWUtcmVwbGF5LXN1cHBvcnQjc3VwcG9ydGVkLXJlcGxheS1hY3Rpb25zYCxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZEN1c3RvbUFjdGlvbnNPcHRpb25UeXBlXTogICAgICAgICAgICAgICAgIGBUaGUgdmFsdWUgb2YgdGhlIGN1c3RvbUFjdGlvbnMgb3B0aW9uIGRvZXMgbm90IGJlbG9uZyB0byB0eXBlIE9iamVjdC4gUmVmZXIgdG8gdGhlIGZvbGxvd2luZyBhcnRpY2xlIGZvciBjdXN0b20gYWN0aW9uIHNldHVwIGluc3RydWN0aW9uczogJHsgRE9DVU1FTlRBVElPTl9MSU5LUy5DVVNUT01fQUNUSU9OUyB9YCxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZEN1c3RvbUFjdGlvblR5cGVdOiAgICAgICAgICAgICAgICAgICAgICAgIGBUZXN0Q2FmZSBjYW5ub3QgcGFyc2UgdGhlIFwie2FjdGlvbk5hbWV9XCIgYWN0aW9uLCBiZWNhdXNlIHRoZSBhY3Rpb24gZGVmaW5pdGlvbiBpcyBpbnZhbGlkLiBGb3JtYXQgdGhlIGRlZmluaXRpb24gaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBjdXN0b20gYWN0aW9ucyBndWlkZTogJHsgRE9DVU1FTlRBVElPTl9MSU5LUy5DVVNUT01fQUNUSU9OUyB9YCxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90SW1wb3J0RVNNSW5Db21tb25zSlNdOiAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgaW1wb3J0IHRoZSB7ZXNNb2R1bGV9IEVDTUFTY3JpcHQgbW9kdWxlIGZyb20ge3RhcmdldEZpbGV9LiBVc2UgYSBkeW5hbWljIGltcG9ydCgpIHN0YXRlbWVudCBvciBlbmFibGUgdGhlIC0tZXNtIENMSSBmbGFnLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnNldE5hdGl2ZUF1dG9tYXRpb25Gb3JVbnN1cHBvcnRlZEJyb3dzZXJzXTogICAgICAnVGhlIFwie2Jyb3dzZXJ9XCIgZG8gbm90IHN1cHBvcnQgdGhlIE5hdGl2ZSBBdXRvbWF0aW9uIG1vZGUuIFVzZSB0aGUgXCJkaXNhYmxlIG5hdGl2ZSBhdXRvbWF0aW9uXCIgb3B0aW9uIHRvIGNvbnRpbnVlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJ1bkxlZ2FjeVRlc3RzSW5OYXRpdmVBdXRvbWF0aW9uTW9kZV06ICAgICAnVGVzdENhZmUgY2Fubm90IHJ1biBsZWdhY3kgdGVzdHMgaW4gTmF0aXZlIEF1dG9tYXRpb24gbW9kZS4gRGlzYWJsZSBuYXRpdmUgYXV0b21hdGlvbiB0byBjb250aW51ZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5zZXRVc2VyUHJvZmlsZUluTmF0aXZlQXV0b21hdGlvbl06ICAgICAgICAgICAgICAgJ1RoZSBcInVzZXJQcm9maWxlXCIgb3B0aW9uIGlzIGVuYWJsZWQgZm9yIHRoZSBmb2xsb3dpbmcgYnJvd3NlcnM6IFwie2Jyb3dzZXJzfVwiLlxcblRoZSBcInVzZXJQcm9maWxlXCIgb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIE5hdGl2ZSBBdXRvbWF0aW9uIG1vZGUuXFxuVXNlIHRoZSBcImRpc2FibGUgbmF0aXZlIGF1dG9tYXRpb25cIiBvcHRpb24gb3IgcmVtb3ZlIFwidXNlclByb2ZpbGVcIiBvcHRpb24gdG8gY29udGludWUuJyxcbn07XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9ydW50aW1lL3RlbXBsYXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsZ0VBQWdFOzs7OztBQUVoRSxvQ0FBMEM7QUFDMUMsdUZBQThFO0FBQzlFLCtDQUFpRTtBQUNqRSxpR0FBZ0s7QUFFaEssTUFBTSxtQkFBbUIsR0FBRztJQUN4QixxQkFBcUIsRUFBRSxpR0FBaUc7SUFDeEgsZUFBZSxFQUFRLDhFQUE4RTtJQUNyRyxhQUFhLEVBQVUseUZBQXlGO0lBQ2hILGNBQWMsRUFBUyxxRkFBcUY7Q0FDL0csQ0FBQztBQUVGLGtCQUFlO0lBQ1gsQ0FBQyxzQkFBYyxDQUFDLG1DQUFtQyxDQUFDLEVBQUcseUVBQXlFO0lBQ2hJLENBQUMsc0JBQWMsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLHVGQUF1RjtJQUM5SSxDQUFDLHNCQUFjLENBQUMsbUJBQW1CLENBQUMsRUFBbUIseUlBQXlJO0lBQ2hNLENBQUMsc0JBQWMsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLDhFQUE4RTtJQUNySSxDQUFDLHNCQUFjLENBQUMsbUNBQW1DLENBQUMsRUFBRyxpREFBaUQ7SUFDeEcsQ0FBQyxzQkFBYyxDQUFDLGdDQUFnQyxDQUFDLEVBQU0sbURBQW1EO0lBQzFHLENBQUMsc0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFxQiwwR0FBMEc7SUFDakssQ0FBQyxzQkFBYyxDQUFDLHVCQUF1QixDQUFDLEVBQWUsb0RBQW9EO0lBQzNHLENBQUMsc0JBQWMsQ0FBQyxhQUFhLENBQUMsRUFBeUIsbUNBQW1DO0lBQzFGLENBQUMsc0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFxQixpRUFBaUU7UUFDakUsZ0NBQWdDO1FBQ2hDLGtCQUFrQjtRQUNsQixrREFBa0Q7UUFDbEQsOERBQThELG1CQUFtQixDQUFD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QyxJQUFJLENBQUMsd0VBQTBDLENBQUMsQ0FBQyxHQUFHO0lBQzFQLENBQUMsc0JBQWMsQ0FBQyw4Q0FBOEMsQ0FBQyxFQUFFLDRHQUE0RyxJQUFBLG9DQUEyQixFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0VBQWlELENBQUMsQ0FBQyxHQUFHO0lBQzNRLENBQUMsc0JBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFvQixtV0FBbVc7SUFDcGEsQ0FBQyxzQkFBYyxDQUFDLDhCQUE4QixDQUFDLEVBQWtCLDhJQUErSSxtQkFBbUIsQ0FBQyxjQUFlLEVBQUU7SUFDclAsQ0FBQyxzQkFBYyxDQUFDLHVCQUF1QixDQUFDLEVBQXlCLGlLQUFrSyxtQkFBbUIsQ0FBQyxjQUFlLEVBQUU7SUFDeFEsQ0FBQyxzQkFBYyxDQUFDLDBCQUEwQixDQUFDLEVBQXNCLGtJQUFrSTtJQUNuTSxDQUFDLHNCQUFjLENBQUMseUNBQXlDLENBQUMsRUFBTyxvSEFBb0g7SUFDckwsQ0FBQyxzQkFBYyxDQUFDLDBDQUEwQyxDQUFDLEVBQU0sb0dBQW9HO0lBQ3JLLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFnQiwrT0FBK087Q0FDblQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdBUk5JTkc6IHRoaXMgZmlsZSBpcyB1c2VkIGJ5IGJvdGggdGhlIGNsaWVudCBhbmQgdGhlIHNlcnZlci5cbi8vIERvIG5vdCB1c2UgYW55IGJyb3dzZXIgb3Igbm9kZS1zcGVjaWZpYyBBUEkhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IFJVTlRJTUVfRVJST1JTIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IEJyb3dzZXJDb25uZWN0aW9uRXJyb3JIaW50IGZyb20gJy4uLy4uL2Jyb3dzZXIvY29ubmVjdGlvbi9lcnJvci1oaW50cyc7XG5pbXBvcnQgeyBnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuaW1wb3J0IHsgU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTLCBTS0lQX0pTX0VSUk9SU19DQUxMQkFDS19XSVRIX09QVElPTlNfT1BUSU9OX05BTUVTIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9za2lwLWpzLWVycm9ycy1vcHRpb24tbmFtZXMnO1xuXG5jb25zdCBET0NVTUVOVEFUSU9OX0xJTktTID0ge1xuICAgIFRFU1RfU09VUkNFX1BBUkFNRVRFUjogJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDI2MzkvcmVmZXJlbmNlL2NvbW1hbmQtbGluZS1pbnRlcmZhY2UjZmlsZS1wYXRoZ2xvYi1wYXR0ZXJuJyxcbiAgICBGSUxURVJfU0VUVElOR1M6ICAgICAgICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDAyNjM4L3JlZmVyZW5jZS9jb25maWd1cmF0aW9uLWZpbGUjZmlsdGVyJyxcbiAgICBIRUFETEVTU19NT0RFOiAgICAgICAgICdodHRwczovL3Rlc3RjYWZlLmlvL2RvY3VtZW50YXRpb24vNDAyODI4L2d1aWRlcy9jb25jZXB0cy9icm93c2VycyN0ZXN0LWluLWhlYWRsZXNzLW1vZGUnLFxuICAgIENVU1RPTV9BQ1RJT05TOiAgICAgICAgJ2h0dHBzOi8vdGVzdGNhZmUuaW8vZG9jdW1lbnRhdGlvbi80MDQxNTAvZ3VpZGVzL2FkdmFuY2VkLWd1aWRlcy9jdXN0b20tdGVzdC1hY3Rpb25zJyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90Q3JlYXRlTXVsdGlwbGVMaXZlTW9kZVJ1bm5lcnNdOiAgJ0Nhbm5vdCBsYXVuY2ggbXVsdGlwbGUgbGl2ZSBtb2RlIGluc3RhbmNlcyBvZiB0aGUgVGVzdENhZmUgdGVzdCBydW5uZXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UnVuTGl2ZU1vZGVSdW5uZXJNdWx0aXBsZVRpbWVzXTogJ0Nhbm5vdCBsYXVuY2ggdGhlIHNhbWUgbGl2ZSBtb2RlIGluc3RhbmNlIG9mIHRoZSBUZXN0Q2FmZSB0ZXN0IHJ1bm5lciBtdWx0aXBsZSB0aW1lcy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5icm93c2VyRGlzY29ubmVjdGVkXTogICAgICAgICAgICAgICAgICAnVGhlIHt1c2VyQWdlbnR9IGJyb3dzZXIgZGlzY29ubmVjdGVkLiBJZiB5b3UgZGlkIG5vdCBjbG9zZSB0aGUgYnJvd3NlciB5b3Vyc2VsZiwgYnJvd3NlciBwZXJmb3JtYW5jZSBvciBuZXR3b3JrIGlzc3VlcyBtYXkgYmUgYXQgZmF1bHQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UnVuQWdhaW5zdERpc2Nvbm5lY3RlZEJyb3dzZXJzXTogJ1RoZSBmb2xsb3dpbmcgYnJvd3NlcnMgZGlzY29ubmVjdGVkOiB7dXNlckFnZW50c30uIENhbm5vdCBydW4gZnVydGhlciB0ZXN0cy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50ZXN0UnVuUmVxdWVzdEluRGlzY29ubmVjdGVkQnJvd3Nlcl06ICAnXCJ7YnJvd3Nlcn1cIiBkaXNjb25uZWN0ZWQgZHVyaW5nIHRlc3QgZXhlY3V0aW9uLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEVzdGFibGlzaEJyb3dzZXJDb25uZWN0aW9uXTogICAgICdDYW5ub3QgZXN0YWJsaXNoIG9uZSBvciBtb3JlIGJyb3dzZXIgY29ubmVjdGlvbnMuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZEJyb3dzZXJdOiAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBmaW5kIHRoZSBicm93c2VyLiBcInticm93c2VyfVwiIGlzIG5laXRoZXIgYSBrbm93biBicm93c2VyIGFsaWFzLCBub3IgYSBwYXRoIHRvIGFuIGV4ZWN1dGFibGUgZmlsZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5icm93c2VyUHJvdmlkZXJOb3RGb3VuZF06ICAgICAgICAgICAgICAnQ2Fubm90IGZpbmQgdGhlIFwie3Byb3ZpZGVyTmFtZX1cIiBicm93c2VyIHByb3ZpZGVyLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmJyb3dzZXJOb3RTZXRdOiAgICAgICAgICAgICAgICAgICAgICAgICdZb3UgaGF2ZSBub3Qgc3BlY2lmaWVkIGEgYnJvd3Nlci4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50ZXN0RmlsZXNOb3RGb3VuZF06ICAgICAgICAgICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgdGVzdCBmaWxlcyBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uOiBcIntjd2R9XCIuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVjayBwYXR0ZXJucyBmb3IgZXJyb3JzOlxcblxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne3NvdXJjZUxpc3R9XFxuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvciBsYXVuY2ggVGVzdENhZmUgZnJvbSBhIGRpZmZlcmVudCBkaXJlY3RvcnkuXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8gc3BlY2lmeSB0ZXN0IGxvY2F0aW9ucywgc2VlICR7RE9DVU1FTlRBVElPTl9MSU5LUy5URVNUX1NPVVJDRV9QQVJBTUVURVJ9LmAsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMubm9UZXN0c1RvUnVuXTogXCJTb3VyY2UgZmlsZXMgZG8gbm90IGNvbnRhaW4gdmFsaWQgJ2ZpeHR1cmUnIGFuZCAndGVzdCcgZGVjbGFyYXRpb25zLlwiLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLm5vVGVzdHNUb1J1bkR1ZUZpbHRlcmluZ106ICdObyB0ZXN0cyBtYXRjaCB5b3VyIGZpbHRlci5cXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFNlZSAke0RPQ1VNRU5UQVRJT05fTElOS1MuRklMVEVSX1NFVFRJTkdTfS5gLFxuICAgIFtSVU5USU1FX0VSUk9SUy5tdWx0aXBsZVNhbWVTdHJlYW1SZXBvcnRlcnNdOiAgICAgICAgICAgICAgICAgICAgICAgICdSZXBvcnRlcnMgY2Fubm90IHNoYXJlIG91dHB1dCBzdHJlYW1zLiBUaGUgZm9sbG93aW5nIHJlcG9ydGVycyBpbnRlcmZlcmUgd2l0aCBvbmUgYW5vdGhlcjogXCJ7cmVwb3J0ZXJzfVwiLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm9wdGlvblZhbHVlSXNOb3RWYWxpZFJlZ0V4cF06ICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgcmVndWxhciBleHByZXNzaW9uLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLm9wdGlvblZhbHVlSXNOb3RWYWxpZEtleVZhbHVlXTogICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntvcHRpb25OYW1lfVwiIG9wdGlvbiBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQga2V5LXZhbHVlIHBhaXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFF1YXJhbnRpbmVPcHRpb25dOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGV4aXN0LiBTcGVjaWZ5IFwiYXR0ZW1wdExpbWl0XCIgYW5kIFwic3VjY2Vzc1RocmVzaG9sZFwiIHRvIGNvbmZpZ3VyZSBxdWFyYW50aW5lIG1vZGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFF1YXJhbnRpbmVQYXJhbWV0ZXJzUmF0aW9dOiAgICAgICAgICAgICAgICAgICAnVGhlIHZhbHVlIG9mIFwiYXR0ZW1wdExpbWl0XCIgKHthdHRlbXB0TGltaXR9KSBzaG91bGQgYmUgZ3JlYXRlciB0aGVuIHRoZSB2YWx1ZSBvZiBcInN1Y2Nlc3NUaHJlc2hvbGRcIiAoe3N1Y2Nlc3NUaHJlc2hvbGR9KS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkQXR0ZW1wdExpbWl0VmFsdWVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgXCJ7YXR0ZW1wdExpbWl0fVwiIHBhcmFtZXRlciBvbmx5IGFjY2VwdHMgdmFsdWVzIG9mIHtNSU5fQVRURU1QVF9MSU1JVH0gYW5kIHVwLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTdWNjZXNzVGhyZXNob2xkVmFsdWVdOiAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBcIntzdWNjZXNzVGhyZXNob2xkfVwiIHBhcmFtZXRlciBvbmx5IGFjY2VwdHMgdmFsdWVzIG9mIHtNSU5fU1VDQ0VTU19USFJFU0hPTER9IGFuZCB1cC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkU3BlZWRWYWx1ZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTcGVlZCBzaG91bGQgYmUgYSBudW1iZXIgYmV0d2VlbiAwLjAxIGFuZCAxLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDb25jdXJyZW5jeUZhY3Rvcl06ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBjb25jdXJyZW5jeSBmYWN0b3Igc2hvdWxkIGJlIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RGl2aWRlUmVtb3Rlc0NvdW50QnlDb25jdXJyZW5jeV06ICAgICAgICAgICAgICAnVGhlIG51bWJlciBvZiByZW1vdGUgYnJvd3NlcnMgc2hvdWxkIGJlIGRpdmlzaWJsZSBieSB0aGUgY29uY3VycmVuY3kgZmFjdG9yLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFNldENvbmN1cnJlbmN5V2l0aENEUFBvcnRdOiAgICAgICAgICAgICAgICAgICAgJ1RoZSB2YWx1ZSBvZiB0aGUgXCJjb25jdXJyZW5jeVwiIG9wdGlvbiBpbmNsdWRlcyB0aGUgQ0RQIHBvcnQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucG9ydHNPcHRpb25SZXF1aXJlc1R3b051bWJlcnNdOiAgICAgICAgICAgICAgICAgICAgICAnVGhlIFwiLS1wb3J0c1wiIG9wdGlvbiByZXF1aXJlcyB0d28gYXJndW1lbnRzLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnBvcnRJc05vdEZyZWVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BvcnQge3BvcnROdW19IGlzIG9jY3VwaWVkIGJ5IGFub3RoZXIgcHJvY2Vzcy4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5pbnZhbGlkSG9zdG5hbWVdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgcmVzb2x2ZSBob3N0bmFtZSBcIntob3N0bmFtZX1cIi4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kU3BlY2lmaWVkVGVzdFNvdXJjZV06ICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgZmluZCBhIHRlc3QgZmlsZSBhdCBcIntwYXRofVwiLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudEZ1bmN0aW9uQ29kZUlzTm90QUZ1bmN0aW9uXTogICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBpbml0aWFsaXplIGEgQ2xpZW50RnVuY3Rpb24gYmVjYXVzZSB7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGlzIHt0eXBlfSwgYW5kIG5vdCBhIGZ1bmN0aW9uLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnNlbGVjdG9ySW5pdGlhbGl6ZWRXaXRoV3JvbmdUeXBlXTogICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBpbml0aWFsaXplIGEgU2VsZWN0b3IgYmVjYXVzZSB7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGlzIHt0eXBlfSwgYW5kIG5vdCBvbmUgb2YgdGhlIGZvbGxvd2luZzogYSBDU1Mgc2VsZWN0b3Igc3RyaW5nLCBhIFNlbGVjdG9yIG9iamVjdCwgYSBub2RlIHNuYXBzaG90LCBhIGZ1bmN0aW9uLCBvciBhIFByb21pc2UgcmV0dXJuZWQgYnkgYSBTZWxlY3Rvci4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5jbGllbnRGdW5jdGlvbkNhbm5vdFJlc29sdmVUZXN0UnVuXTogICAgICAgICAgICAgICAgICd7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGRvZXMgbm90IGhhdmUgdGVzdCBjb250cm9sbGVyIGFjY2Vzcy4gVG8gZXhlY3V0ZSB7I2luc3RhbnRpYXRpb25DYWxsc2l0ZU5hbWV9IGZyb20gYSBOb2RlLmpzIEFQSSBjYWxsYmFjaywgYmluZCB0aGUgdGVzdCBjb250cm9sbGVyIG9iamVjdCB0byB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgYC53aXRoKHsgYm91bmRUZXN0UnVuOiB0IH0pYCBtZXRob2QuIE5vdGUgdGhhdCB5b3UgY2Fubm90IGV4ZWN1dGUgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBvdXRzaWRlIHRlc3QgY29kZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5yZXF1ZXN0Q2Fubm90UmVzb2x2ZVRlc3RSdW5dOiAgICAgICAgICAgICAgICAgICAgICAgICdcInJlcXVlc3RcIiBkb2VzIG5vdCBoYXZlIHRlc3QgY29udHJvbGxlciBhY2Nlc3MuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVnZW5lcmF0b3JJbkNsaWVudEZ1bmN0aW9uQ29kZV06ICAgICAgICAgICAgICAgICAgICBgeyNpbnN0YW50aWF0aW9uQ2FsbHNpdGVOYW1lfSBjb2RlLCBhcmd1bWVudHMgb3IgZGVwZW5kZW5jaWVzIGNhbm5vdCBjb250YWluIGdlbmVyYXRvcnMgb3IgXCJhc3luYy9hd2FpdFwiIHN5bnRheCAodXNlIFByb21pc2VzIGluc3RlYWQpLmAsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDbGllbnRGdW5jdGlvblRlc3RSdW5CaW5kaW5nXTogICAgICAgICAgICAgICAgJ0Nhbm5vdCByZXNvbHZlIHRoZSBcImJvdW5kVGVzdFJ1blwiIG9wdGlvbiBiZWNhdXNlIGl0cyB2YWx1ZSBpcyBub3QgYSB0ZXN0IGNvbnRyb2xsZXIuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFZhbHVlVHlwZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne3NtdGhnfSAoe2FjdHVhbH0pIGlzIG5vdCBvZiBleHBlY3RlZCB0eXBlICh7dHlwZX0pLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuc3VwcG9ydGVkVXJsUHJvdG9jb2xdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ludmFsaWQge3doYXR9OiBcInt1cmx9XCIuIFRlc3RDYWZlIGNhbm5vdCBleGVjdXRlIHRoZSB0ZXN0IGJlY2F1c2UgdGhlIHt3aGF0fSBpbmNsdWRlcyB0aGUge3Byb3RvY29sfSBwcm90b2NvbC4gVGVzdENhZmUgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBwcm90b2NvbHM6IGh0dHA6Ly8sIGh0dHBzOi8vIGFuZCBmaWxlOi8vLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RDb250cm9sbGVyUHJveHlDYW5ub3RSZXNvbHZlVGVzdFJ1bl06ICAgICAgICAgICAgYFRoZSBhY3Rpb24gZG9lcyBub3QgaGF2ZSBpbXBsaWNpdCB0ZXN0IGNvbnRyb2xsZXIgYWNjZXNzLiBSZWZlcmVuY2UgdGhlICd0JyBvYmplY3QgdG8gZ2FpbiBpdC5gLFxuICAgIFtSVU5USU1FX0VSUk9SUy50aW1lTGltaXRlZFByb21pc2VUaW1lb3V0RXhwaXJlZF06ICAgICAgICAgICAgICAgICAgICdBIFByb21pc2UgdGltZWQgb3V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFNldFZpZGVvT3B0aW9uc1dpdGhvdXRCYXNlVmlkZW9QYXRoU3BlY2lmaWVkXTogJ1lvdSBjYW5ub3QgbWFuYWdlIGFkdmFuY2VkIHZpZGVvIHBhcmFtZXRlcnMgd2hlbiB0aGUgdmlkZW8gcmVjb3JkaW5nIGNhcGFiaWxpdHkgaXMgb2ZmLiBTcGVjaWZ5IHRoZSByb290IHN0b3JhZ2UgZm9sZGVyIGZvciB2aWRlbyBjb250ZW50IHRvIGVuYWJsZSB2aWRlbyByZWNvcmRpbmcuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMubXVsdGlwbGVBUElNZXRob2RDYWxsRm9yYmlkZGVuXTogICAgICAgICAgICAgICAgICAgICAnWW91IGNhbm5vdCBjYWxsIHRoZSBcInttZXRob2ROYW1lfVwiIG1ldGhvZCBtb3JlIHRoYW4gb25jZS4gU3BlY2lmeSBhbiBhcnJheSBvZiBwYXJhbWV0ZXJzIGluc3RlYWQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFJlcG9ydGVyT3V0cHV0XTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlNwZWNpZnkgYSBmaWxlIG5hbWUgb3IgYSB3cml0YWJsZSBzdHJlYW0gYXMgdGhlIHJlcG9ydGVyJ3Mgb3V0cHV0IHRhcmdldC5cIixcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UmVhZFNTTENlcnRGaWxlXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIHJlYWQgdGhlIGZpbGUgcmVmZXJlbmNlZCBieSB0aGUgXCJ7b3B0aW9ufVwiIHNzbCBvcHRpb24gKFwie3BhdGh9XCIpLiBFcnJvciBkZXRhaWxzOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vycn0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFByZXBhcmVUZXN0c0R1ZVRvRXJyb3JdOiAnQ2Fubm90IHByZXBhcmUgdGVzdHMgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne2Vyck1lc3NhZ2V9JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RQYXJzZVJhd0ZpbGVdOiAnQ2Fubm90IHBhcnNlIGEgcmF3IHRlc3QgZmlsZSBhdCBcIntwYXRofVwiIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yOlxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyTWVzc2FnZX0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnRlc3RlZEFwcEZhaWxlZFdpdGhFcnJvcl06ICdUaGUgd2ViIGFwcGxpY2F0aW9uIGZhaWxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZXJyb3I6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tlcnJNZXNzYWdlfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMudW5hYmxlVG9PcGVuQnJvd3Nlcl06ICdVbmFibGUgdG8gb3BlbiB0aGUgXCJ7YWxpYXN9XCIgYnJvd3NlciBkdWUgdG8gdGhlIGZvbGxvd2luZyBlcnJvcjpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyTWVzc2FnZX0nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnJlcXVlc3RIb29rQ29uZmlndXJlQVBJRXJyb3JdOiAnQXR0ZW1wdCB0byBjb25maWd1cmUgYSByZXF1ZXN0IGhvb2sgcmVzdWx0ZWQgaW4gdGhlIGZvbGxvd2luZyBlcnJvcjpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7cmVxdWVzdEhvb2tOYW1lfToge2Vyck1zZ30nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmZvcmJpZGRlbkNoYXJhdGVyc0luU2NyZWVuc2hvdFBhdGhdOiAnVGhlcmUgYXJlIGZvcmJpZGRlbiBjaGFyYWN0ZXJzIGluIHRoZSBcIntzY3JlZW5zaG90UGF0aH1cIiB7c2NyZWVuc2hvdFBhdGhUeXBlfTpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcge2ZvcmJpZGRlbkNoYXJzRGVzY3JpcHRpb259JyxcblxuICAgIFtSVU5USU1FX0VSUk9SUy5jYW5ub3RGaW5kRkZNUEVHXTogJ1Rlc3RDYWZlIGNhbm5vdCByZWNvcmQgdmlkZW9zIGJlY2F1c2UgaXQgY2Fubm90IGxvY2F0ZSB0aGUgRkZtcGVnIGV4ZWN1dGFibGUuIFRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzb2x1dGlvbnM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKiBhZGQgdGhlIHBhdGggb2YgdGhlIEZGbXBlZyBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHRvIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLFxcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyogc3BlY2lmeSB0aGUgcGF0aCBvZiB0aGUgRkZtcGVnIGV4ZWN1dGFibGUgaW4gdGhlIEZGTVBFR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZSBmZm1wZWdQYXRoIG9wdGlvbixcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqIGluc3RhbGwgdGhlIEBmZm1wZWctaW5zdGFsbGVyL2ZmbXBlZyBucG0gcGFja2FnZS4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJlYWRDb25maWdGaWxlXTogJ0ZhaWxlZCB0byByZWFkIHRoZSBcIntwYXRofVwiIGNvbmZpZ3VyYXRpb24gZmlsZSBmcm9tIGRpc2suIEVycm9yIGRldGFpbHM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90UGFyc2VDb25maWdGaWxlXTogJ0ZhaWxlZCB0byBwYXJzZSB0aGUgXCJ7cGF0aH1cIiBjb25maWd1cmF0aW9uIGZpbGUuIFRoZSBmaWxlIGNvbnRhaW5zIGludmFsaWQgSlNPTiBzeW50YXguIFxcblxcbkVycm9yIGRldGFpbHM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZFJlcG9ydGVyRm9yQWxpYXNdOiAnRmFpbGVkIHRvIGxvYWQgdGhlIFwie25hbWV9XCIgcmVwb3J0ZXIuIFBsZWFzZSBjaGVjayB0aGUgcGFyYW1ldGVyIGZvciBlcnJvcnMuIEVycm9yIGRldGFpbHM6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7ZXJyfScsXG5cbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90RmluZFR5cGVzY3JpcHRDb25maWd1cmF0aW9uRmlsZV06ICAgICAgICAgICAgJ1wie2ZpbGVQYXRofVwiIGlzIG5vdCBhIHZhbGlkIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudFNjcmlwdEluaXRpYWxpemVySXNOb3RTcGVjaWZpZWRdOiAgICAgICAgICAgICdJbml0aWFsaXplIHlvdXIgY2xpZW50IHNjcmlwdCB3aXRoIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBhIEphdmFTY3JpcHQgc2NyaXB0LCBhIEphdmFTY3JpcHQgZmlsZSBwYXRoLCBvciB0aGUgbmFtZSBvZiBhIEphdmFTY3JpcHQgbW9kdWxlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudFNjcmlwdEJhc2VQYXRoSXNOb3RTcGVjaWZpZWRdOiAgICAgICAgICAgICAgICdTcGVjaWZ5IHRoZSBiYXNlIHBhdGggZm9yIHRoZSBjbGllbnQgc2NyaXB0IGZpbGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2xpZW50U2NyaXB0SW5pdGlhbGl6ZXJNdWx0aXBsZUNvbnRlbnRTb3VyY2VzXTogICAgJ0NsaWVudCBzY3JpcHRzIGNhbiBvbmx5IGhhdmUgb25lIGluaXRpYWxpemVyOiBKYXZhU2NyaXB0IGNvZGUsIGEgSmF2YVNjcmlwdCBmaWxlIHBhdGgsIG9yIHRoZSBuYW1lIG9mIGEgSmF2YVNjcmlwdCBtb2R1bGUuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90TG9hZENsaWVudFNjcmlwdEZyb21QYXRoXTogICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBsb2FkIGEgY2xpZW50IHNjcmlwdCBmcm9tIHtwYXRofS5cXG57ZXJyb3JNZXNzYWdlfScsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNsaWVudFNjcmlwdE1vZHVsZUVudHJ5UG9pbnRQYXRoQ2FsY3VsYXRpb25FcnJvcl06ICdBIGNsaWVudCBzY3JpcHQgdHJpZWQgdG8gbG9hZCBhIEphdmFTY3JpcHQgbW9kdWxlIHRoYXQgVGVzdENhZmUgY2Fubm90IGxvY2F0ZTpcXG5cXG57ZXJyb3JNZXNzYWdlfS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5tZXRob2RJc05vdEF2YWlsYWJsZUZvckFuSVBDSG9zdF06ICAgICAgICAgICAgICAgICAnVGhpcyBtZXRob2QgY2Fubm90IGJlIGNhbGxlZCBvbiBhIHNlcnZpY2UgaG9zdC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50b29MYXJnZUlQQ1BheWxvYWRdOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIHNwZWNpZmllZCBwYXlsb2FkIGlzIHRvbyBsYXJnZSB0byBmb3JtIGFuIElQQyBwYWNrZXQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMubWFsZm9ybWVkSVBDTWVzc2FnZV06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBwcm9jZXNzIGEgbWFsZm9ybWVkIElQQyBtZXNzYWdlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuZXhwZWN0ZWRJUENIZWFkUGFja2V0XTogICAgICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgY3JlYXRlIGFuIElQQyBtZXNzYWdlIGR1ZSB0byBhbiB1bmV4cGVjdGVkIElQQyBoZWFkIHBhY2tldC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy51bmV4cGVjdGVkSVBDQm9keVBhY2tldF06ICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBhbiBJUEMgbWVzc2FnZSBkdWUgdG8gYW4gdW5leHBlY3RlZCBJUEMgYm9keSBwYWNrZXQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMudW5leHBlY3RlZElQQ1RhaWxQYWNrZXRdOiAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBjcmVhdGUgYW4gSVBDIG1lc3NhZ2UgZHVlIHRvIGFuIHVuZXhwZWN0ZWQgSVBDIHRhaWwgcGFja2V0LicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJ1bkxvY2FsTm9uSGVhZGxlc3NCcm93c2VyV2l0aG91dERpc3BsYXldOlxuICAgICAgICAnWW91ciBMaW51eCBpbnN0YWxsYXRpb24gZG9lcyBub3QgaGF2ZSBhIGdyYXBoaWMgc3Vic3lzdGVtIHRvIHJ1biB7YnJvd3NlckFsaWFzfSB3aXRoIGEgR1VJLiAnICtcbiAgICAgICAgJ1lvdSBjYW4gbGF1bmNoIHRoZSBicm93c2VyIGluIGhlYWRsZXNzIG1vZGUuICcgK1xuICAgICAgICAnSWYgeW91IHVzZSBhIHBvcnRhYmxlIGJyb3dzZXIgZXhlY3V0YWJsZSwgJyArXG4gICAgICAgIFwic3BlY2lmeSB0aGUgYnJvd3NlciBhbGlhcyBiZWZvcmUgdGhlIHBhdGggaW5zdGVhZCBvZiB0aGUgJ3BhdGgnIHByZWZpeC4gXCIgK1xuICAgICAgICBgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSAke0RPQ1VNRU5UQVRJT05fTElOS1MuSEVBRExFU1NfTU9ERX1gLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLnVuY2F1Z2h0RXJyb3JJblJlcG9ydGVyXTogICAgICAgICAgICdUaGUgXCJ7bWV0aG9kTmFtZX1cIiBtZXRob2Qgb2YgdGhlIFwie3JlcG9ydGVyTmFtZX1cIiByZXBvcnRlciBwcm9kdWNlZCBhbiB1bmNhdWdodCBlcnJvci4gRXJyb3IgZGV0YWlsczpcXG57b3JpZ2luYWxFcnJvcn0nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5yb2xlSW5pdGlhbGl6ZWRXaXRoUmVsYXRpdmVVcmxdOiAgICAnWW91IGNhbm5vdCBzcGVjaWZ5IHJlbGF0aXZlIGxvZ2luIHBhZ2UgVVJMcyBpbiB0aGUgUm9sZSBjb25zdHJ1Y3Rvci4gVXNlIGFuIGFic29sdXRlIFVSTC4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy50eXBlU2NyaXB0Q29tcGlsZXJMb2FkaW5nRXJyb3JdOiAgICAnQ2Fubm90IGxvYWQgdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIuXFxue29yaWdpbkVycm9yTWVzc2FnZX0uJyxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90Q3VzdG9taXplU3BlY2lmaWVkQ29tcGlsZXJzXTogJ1lvdSBjYW5ub3Qgc3BlY2lmeSBvcHRpb25zIGZvciB0aGUge25vbmN1c3RvbWl6YWJsZUNvbXBpbGVyTGlzdH0gY29tcGlsZXJ7c3VmZml4fS4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEVuYWJsZVJldHJ5VGVzdFBhZ2VzT3B0aW9uXTpcbiAgICAgICAgJ0Nhbm5vdCBlbmFibGUgdGhlIFxcJ3JldHJ5VGVzdFBhZ2VzXFwnIG9wdGlvbi4gQXBwbHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgdHdvIHNvbHV0aW9uczpcXG4nICtcbiAgICAgICAgJy0tIHNldCB0aGUgXFwnaG9zdG5hbWVcXCcgb3B0aW9uIHRvIFxcJ2xvY2FsaG9zdFxcJ1xcbicgK1xuICAgICAgICAnLS0gcnVuIFRlc3RDYWZlIG92ZXIgSFRUUFNcXG4nLFxuXG4gICAgW1JVTlRJTUVfRVJST1JTLmJyb3dzZXJDb25uZWN0aW9uRXJyb3JdOiAgICAgICAgICAgICAgICd7b3JpZ2luRXJyb3JNZXNzYWdlfVxcbntudW1PZk5vdE9wZW5lZENvbm5lY3Rpb259IG9mIHtudW1PZkFsbENvbm5lY3Rpb25zfSBicm93c2VyIGNvbm5lY3Rpb25zIGhhdmUgbm90IGJlZW4gZXN0YWJsaXNoZWQ6XFxue2xpc3RPZk5vdE9wZW5lZENvbm5lY3Rpb25zfVxcblxcbkhpbnRzOlxcbntsaXN0T2ZIaW50c30nLFxuICAgIFtCcm93c2VyQ29ubmVjdGlvbkVycm9ySGludC5Ub29IaWdoQ29uY3VycmVuY3lGYWN0b3JdOiAnVGhlIGhvc3QgbWFjaGluZSBtYXkgbm90IGJlIHBvd2VyZnVsIGVub3VnaCB0byBoYW5kbGUgdGhlIHNwZWNpZmllZCBjb25jdXJyZW5jeSBmYWN0b3IgKHtjb25jdXJyZW5jeUZhY3Rvcn0pLiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RlY3JlYXNlIHRoZSBjb25jdXJyZW5jeSBmYWN0b3Igb3IgYWxsb2NhdGUgbW9yZSBjb21wdXRpbmcgcmVzb3VyY2VzIHRvIHRoZSBob3N0IG1hY2hpbmUuJyxcbiAgICBbQnJvd3NlckNvbm5lY3Rpb25FcnJvckhpbnQuVXNlQnJvd3NlckluaXRPcHRpb25dOiAgICAgICAgICAgICAgICdJbmNyZWFzZSB0aGUgQnJvd3NlciBJbml0aWFsaXphdGlvbiBUaW1lb3V0IGlmIGl0cyB2YWx1ZSBpcyB0b28gbG93IChjdXJyZW50bHk6IHticm93c2VySW5pdFRpbWVvdXRNc2d9KS4gVGhlIHRpbWVvdXQgZGV0ZXJtaW5lcyBob3cgbG9uZyBUZXN0Q2FmZSB3YWl0cyBmb3IgYnJvd3NlcnMgdG8gYmUgcmVhZHkuJyxcbiAgICBbQnJvd3NlckNvbm5lY3Rpb25FcnJvckhpbnQuUmVzdEVycm9yQ2F1c2VzXTogICAgICAgICAgICAgICAgICAgICdUaGUgZXJyb3IgY2FuIGFsc28gYmUgY2F1c2VkIGJ5IG5ldHdvcmsgaXNzdWVzIG9yIHJlbW90ZSBkZXZpY2UgZmFpbHVyZS4gTWFrZSBzdXJlIHRoYXQgeW91ciBuZXR3b3JrIGNvbm5lY3Rpb24gaXMgc3RhYmxlIGFuZCB5b3UgY2FuIHJlYWNoIHRoZSByZW1vdGUgZGV2aWNlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdEZpbmRUZXN0Y2FmZUNvbmZpZ3VyYXRpb25GaWxlXTogICAgICAgICAgICAnQ2Fubm90IGxvY2F0ZSBhIFRlc3RDYWZlIGNvbmZpZ3VyYXRpb24gZmlsZSBhdCB7ZmlsZVBhdGh9LiBFaXRoZXIgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QsIG9yIHRoZSBwYXRoIGlzIGludmFsaWQuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVsYXRpdmVCYXNlVXJsXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgdmFsdWUgb2YgdGhlIGJhc2VVcmwgYXJndW1lbnQgY2Fubm90IGJlIHJlbGF0aXZlOiBcIntiYXNlVXJsfVwiJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVxdWVzdFVybEludmFsaWRWYWx1ZUVycm9yXTogICAgICAgICAgICAgICAgICAgICdUaGUgcmVxdWVzdCB1cmwgaXMgaW52YWxpZCAoe2FjdHVhbFZhbHVlfSkuJyxcbiAgICBbUlVOVElNRV9FUlJPUlMucmVxdWVzdFJ1bnRpbWVFcnJvcl06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgcmVxdWVzdCB3YXMgaW50ZXJydXB0ZWQgYnkgYW4gZXJyb3I6XFxue21lc3NhZ2V9JyxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZFNraXBKc0Vycm9yc09wdGlvbnNPYmplY3RQcm9wZXJ0eV06ICAgICAgIGBUaGUgXCJ7b3B0aW9uTmFtZX1cIiBvcHRpb24gZG9lcyBub3QgZXhpc3QuIFVzZSB0aGUgZm9sbG93aW5nIG9wdGlvbnMgdG8gY29uZmlndXJlIHNraXBKc0Vycm9yczogJHtnZXRDb25jYXRlbmF0ZWRWYWx1ZXNTdHJpbmcoT2JqZWN0LmtleXMoU0tJUF9KU19FUlJPUlNfT1BUSU9OU19PQkpFQ1RfT1BUSU9OX05BTUVTKSl9LmAsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRTa2lwSnNFcnJvcnNDYWxsYmFja1dpdGhPcHRpb25zUHJvcGVydHldOiBgVGhlIFwie29wdGlvbk5hbWV9XCIgb3B0aW9uIGRvZXMgbm90IGV4aXN0LiBVc2UgdGhlIGZvbGxvd2luZyBvcHRpb25zIHRvIGNvbmZpZ3VyZSBza2lwSnNFcnJvcnMgY2FsbGJhY2tzOiAke2dldENvbmNhdGVuYXRlZFZhbHVlc1N0cmluZyhPYmplY3Qua2V5cyhTS0lQX0pTX0VSUk9SU19DQUxMQkFDS19XSVRIX09QVElPTlNfT1BUSU9OX05BTUVTKSl9LmAsXG4gICAgW1JVTlRJTUVfRVJST1JTLmludmFsaWRDb21tYW5kSW5Kc29uQ29tcGlsZXJdOiAgICAgICAgICAgICAgICAgICBgVGVzdENhZmUgdGVybWluYXRlZCB0aGUgdGVzdCBydW4uIFRoZSBcIntwYXRofVwiIGZpbGUgY29udGFpbnMgYW4gdW5rbm93biBDaHJvbWUgVXNlciBGbG93IGFjdGlvbiBcInthY3Rpb259XCIuIFJlbW92ZSB0aGUgYWN0aW9uIHRvIGNvbnRpbnVlLiBSZWZlciB0byB0aGUgZm9sbG93aW5nIGFydGljbGUgZm9yIHRoZSBkZWZpbml0aXZlIGxpc3Qgb2Ygc3VwcG9ydGVkIENocm9tZSBVc2VyIEZsb3cgYWN0aW9uczogaHR0cHM6Ly90ZXN0Y2FmZS5pby9kb2N1bWVudGF0aW9uLzQwMzk5OC9ndWlkZXMvZXhwZXJpbWVudGFsLWNhcGFiaWxpdGllcy9jaHJvbWUtcmVwbGF5LXN1cHBvcnQjc3VwcG9ydGVkLXJlcGxheS1hY3Rpb25zYCxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZEN1c3RvbUFjdGlvbnNPcHRpb25UeXBlXTogICAgICAgICAgICAgICAgIGBUaGUgdmFsdWUgb2YgdGhlIGN1c3RvbUFjdGlvbnMgb3B0aW9uIGRvZXMgbm90IGJlbG9uZyB0byB0eXBlIE9iamVjdC4gUmVmZXIgdG8gdGhlIGZvbGxvd2luZyBhcnRpY2xlIGZvciBjdXN0b20gYWN0aW9uIHNldHVwIGluc3RydWN0aW9uczogJHsgRE9DVU1FTlRBVElPTl9MSU5LUy5DVVNUT01fQUNUSU9OUyB9YCxcbiAgICBbUlVOVElNRV9FUlJPUlMuaW52YWxpZEN1c3RvbUFjdGlvblR5cGVdOiAgICAgICAgICAgICAgICAgICAgICAgIGBUZXN0Q2FmZSBjYW5ub3QgcGFyc2UgdGhlIFwie2FjdGlvbk5hbWV9XCIgYWN0aW9uLCBiZWNhdXNlIHRoZSBhY3Rpb24gZGVmaW5pdGlvbiBpcyBpbnZhbGlkLiBGb3JtYXQgdGhlIGRlZmluaXRpb24gaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBjdXN0b20gYWN0aW9ucyBndWlkZTogJHsgRE9DVU1FTlRBVElPTl9MSU5LUy5DVVNUT01fQUNUSU9OUyB9YCxcbiAgICBbUlVOVElNRV9FUlJPUlMuY2Fubm90SW1wb3J0RVNNSW5Db21tb25zSlNdOiAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgaW1wb3J0IHRoZSB7ZXNNb2R1bGV9IEVDTUFTY3JpcHQgbW9kdWxlIGZyb20ge3RhcmdldEZpbGV9LiBVc2UgYSBkeW5hbWljIGltcG9ydCgpIHN0YXRlbWVudCBvciBlbmFibGUgdGhlIC0tZXNtIENMSSBmbGFnLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLnNldE5hdGl2ZUF1dG9tYXRpb25Gb3JVbnN1cHBvcnRlZEJyb3dzZXJzXTogICAgICAnVGhlIFwie2Jyb3dzZXJ9XCIgZG8gbm90IHN1cHBvcnQgdGhlIE5hdGl2ZSBBdXRvbWF0aW9uIG1vZGUuIFVzZSB0aGUgXCJkaXNhYmxlIG5hdGl2ZSBhdXRvbWF0aW9uXCIgb3B0aW9uIHRvIGNvbnRpbnVlLicsXG4gICAgW1JVTlRJTUVfRVJST1JTLmNhbm5vdFJ1bkxlZ2FjeVRlc3RzSW5OYXRpdmVBdXRvbWF0aW9uTW9kZV06ICAgICAnVGVzdENhZmUgY2Fubm90IHJ1biBsZWdhY3kgdGVzdHMgaW4gTmF0aXZlIEF1dG9tYXRpb24gbW9kZS4gRGlzYWJsZSBuYXRpdmUgYXV0b21hdGlvbiB0byBjb250aW51ZS4nLFxuICAgIFtSVU5USU1FX0VSUk9SUy5zZXRVc2VyUHJvZmlsZUluTmF0aXZlQXV0b21hdGlvbl06ICAgICAgICAgICAgICAgJ0Nhbm5vdCBpbml0aWFsaXplIHRoZSB0ZXN0IHJ1bi4gV2hlbiBUZXN0Q2FmZSB1c2VzIG5hdGl2ZSBhdXRvbWF0aW9uLCBpdCBjYW4gb25seSBsYXVuY2ggYnJvd3NlcnMgd2l0aCBhbiBlbXB0eSB1c2VyIHByb2ZpbGUuIERpc2FibGUgbmF0aXZlIGF1dG9tYXRpb24sIG9yIHJlbW92ZSB0aGUgXCJ1c2VyUHJvZmlsZVwiIHN1ZmZpeCBmcm9tIHRoZSBmb2xsb3dpbmcgYnJvd3NlciBhbGlhc2VzOiBcInticm93c2Vyc31cIi4nLFxufTtcbiJdfQ==
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "testcafe",
3
3
  "description": "Automated browser testing for the modern web development stack.",
4
4
  "license": "MIT",
5
- "version": "3.3.0-rc.1",
5
+ "version": "3.3.0",
6
6
  "author": {
7
7
  "name": "Developer Express Inc.",
8
8
  "url": "https://www.devexpress.com/"