From 2bfdc3ff32fcc9857dfcabcae1ff64c9c764b6f5 Mon Sep 17 00:00:00 2001 From: Nawaf Khalifah Date: Sun, 21 Nov 2021 14:45:33 +0300 Subject: [PATCH] Cleanup --- .codeclimate.yml | 4 + .gitignore | 1 + README.md | 4 +- bundle/toaststrap.js | 908 ++++++- coverage/clover.xml | 32 - coverage/coverage-final.json | 2 - coverage/lcov-report/RelativeDate.ts.html | 302 --- coverage/lcov-report/base.css | 224 -- coverage/lcov-report/block-navigation.js | 79 - coverage/lcov-report/favicon.png | Bin 540 -> 0 bytes coverage/lcov-report/index.html | 111 - coverage/lcov-report/prettify.css | 1 - coverage/lcov-report/prettify.js | 2 - coverage/lcov-report/sort-arrow-sprite.png | Bin 209 -> 0 bytes coverage/lcov-report/sorter.js | 170 -- coverage/lcov.info | 46 - package.json | 7 - yarn.lock | 2496 +------------------- 18 files changed, 1010 insertions(+), 3379 deletions(-) delete mode 100644 coverage/clover.xml delete mode 100644 coverage/coverage-final.json delete mode 100644 coverage/lcov-report/RelativeDate.ts.html delete mode 100644 coverage/lcov-report/base.css delete mode 100644 coverage/lcov-report/block-navigation.js delete mode 100644 coverage/lcov-report/favicon.png delete mode 100644 coverage/lcov-report/index.html delete mode 100644 coverage/lcov-report/prettify.css delete mode 100644 coverage/lcov-report/prettify.js delete mode 100644 coverage/lcov-report/sort-arrow-sprite.png delete mode 100644 coverage/lcov-report/sorter.js delete mode 100644 coverage/lcov.info diff --git a/.codeclimate.yml b/.codeclimate.yml index 84547ca..99ff0bc 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -1,2 +1,6 @@ exclude_patterns: - "lib/" + - "test/" + - "examples/" + - "bundle/" + - "docs/" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 304e532..0be1d56 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ # Directories potentially created on remote AFP share node_modules +coverage .package.lock .yarn.lock diff --git a/README.md b/README.md index 67e0b76..02a8c14 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,11 @@ I created this library for everyone who uses Bootstrap 5 and wants to show some ## Documentation -Check the [Documentation](https://nawafscript.github.io/toaststrap/docs) to get you started! +Check the [Documentation](https://nawafscript.github.io/toaststrap/doc.html) to get you started! ## Demo -Have fun with Toaststrap's [Initializer](https://nawafscript.github.io/toaststrap/Initializer)! +Have fun with Toaststrap's [Initializer](https://nawafscript.github.io/toaststrap/initializer)! ## Contribute Show your ❤️ and support by giving a ⭐. Any suggestions are welcome! diff --git a/bundle/toaststrap.js b/bundle/toaststrap.js index 008fb81..bbea210 100644 --- a/bundle/toaststrap.js +++ b/bundle/toaststrap.js @@ -1,2 +1,906 @@ -var Toaststrap;(()=>{"use strict";var t=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e={};(()=>{t(e);var i,o,n="toaststrap-";function s(t){return n+t}!function(t){t.TOP_START="TOP_START",t.TOP_END="TOP_END",t.TOP_CENTER="TOP_CENTER",t.BOTTOM_START="BOTTOM_START",t.BOTTOM_END="BOTTOM_END",t.BOTTOM_CENTER="BOTTOM_CENTER"}(i||(i={})),function(t){t.DEFAULT="DEFAULT",t.PRIMARY="PRIMARY",t.INFO="INFO",t.SUCCESS="SUCCESS",t.WARNING="WARNING",t.DANGER="DANGER",t.DARK="DARK",t.SWEET="SWEET"}(o||(o={}));const r={positions:{TOP_START:s("top")+" "+s("start"),TOP_END:s("top")+" "+s("end"),TOP_CENTER:s("top")+" "+s("center"),BOTTOM_CENTER:s("bottom")+" "+s("center"),BOTTOM_START:s("bottom")+" "+s("start"),BOTTOM_END:s("bottom")+" "+s("end")},types:{DEFAULT:["bg-default"],PRIMARY:["bg-primary","text-light"],INFO:["bg-info","text-light"],SUCCESS:["bg-success","text-light"],WARNING:["bg-warning","text-dark"],DANGER:["bg-danger","text-light"],DARK:["bg-dark","text-light"],SECONDARY:["bg-secondary","text-light"],SWEET:["bg-sweet","text-light"]}};var a=function(t,e){return t.classList.contains(e)};const u=function(){function t(t,e){return this.selector="".concat(n,"-notification"),this.element=new Audio(t),this.parent=e,this.make(),this}return t.prototype.make=function(){this.element.id=this.selector,this.parent.querySelector("#"+this.selector)||this.parent.appendChild(this.element)},Object.defineProperty(t.prototype,"instance",{get:function(){return this.element},enumerable:!1,configurable:!0}),t}(),p=function(){function t(t,e){return this.times={SECOND:1e3,MINUTE:6e4,HOUR:36e5,DAY:864e5,WEEK:6048e5,YEAR:31536e6,MONTH:2628e6},this.formats=[[.7*this.times.MINUTE,"just now"],[1.5*this.times.MINUTE,"a minute ago"],[60*this.times.MINUTE,"minutes ago",this.times.MINUTE],[1.5*this.times.HOUR,"an hour ago"],[this.times.DAY,"hours ago",this.times.HOUR],[2*this.times.DAY,"yesterday"],[7*this.times.DAY,"days ago",this.times.DAY],[1.5*this.times.WEEK,"a week ago"],[this.times.MONTH,"weeks ago",this.times.WEEK],[1.5*this.times.MONTH,"a month ago"],[this.times.YEAR,"months ago",this.times.MONTH],[1.5*this.times.YEAR,"a year ago"],[Number.MAX_VALUE,"years ago",this.times.YEAR]],this.input=t,this.reference=e,e?e instanceof Date&&(this.reference=e.getTime()):this.reference=(new Date).getTime(),t instanceof Date&&this.input.getTime(),"string"==typeof t&&(this.input=+new Date(t).getTime()),this}return t.prototype.print=function(){var t,e,i,o=this.reference-this.input;for(e=-1,i=this.formats.length;++e0){var i=new RegExp(/([{}])\1|[{](.*?)(?:!(.+?))?[}]/g);return t.replace(i,(function(t){var i=t.replace(/{/,"").replace(/}/,"");return e[i]?e[i]:t}))}return t},t.makeId=function(){return String(Math.floor(1e10+9e9*Math.random()))},t}();var l=function(){return l=Object.assign||function(t){for(var e,i=1,o=arguments.length;i0&&(this.sound=new u(this.options.soundSource,this.parentElement)),this.id=c.makeId(),this.createdAt=Date.now().toString(),this.timeout=setTimeout((function(){}),0),this.progressInterval=setInterval((function(){}),0),this.pauseProgressInterval=!1,this.progressStartTime=0}return t.prototype.show=function(){var t=this.parentElement,e=this.build;return t.insertBefore(e,t.firstChild),this.sound&&this.sound.instance.play().catch((function(){console.warn("Sound source given not found or not supported.")})),this.organize(),this},Object.defineProperty(t.prototype,"build",{get:function(){var t,e,i,o=this,n=(e=this.options,(i=document.createElement("div")).className="".concat(this.options.parent?"position-absolute":"position-fixed"," ").concat(e.position,"-").concat(e.offset," ").concat(s("container")),i.style.zIndex="2500",i),a=document.createElement("div");if(a.classList.add("toast"),n.setAttribute("data-id",this.id),n.setAttribute("data-created-at",this.createdAt),n.setAttribute("data-type",this.options.type?this.options.type.toLowerCase():""),n.setAttribute("data-group",this.group),n.setAttribute("data-snackbar",String(this.options.snackbar)),Boolean(this.options.snackbar)?(t=a.classList).add.apply(t,r.types[this.options.type]):a.appendChild(function(t){var e,i=t.options,o=document.createElement("div");o.classList.add("toast-header"),i.avatar&&o.appendChild(function(t){var e=document.createElement("img");return e.classList.add("rounded","me-2"),e.src=t.avatar||"",e.width=20,e.height=20,e}(i)),i.type&&(e=o.classList).add.apply(e,r.types[i.type]);var n,s,a=document.createElement("strong");if(a.classList.add("me-auto"),a.innerText=i.title,o.appendChild(a),i.subtitle){var u=document.createElement("small");"string"==typeof i.subtitle&&(u.innerText=i.subtitle),o.appendChild(u)}return i.dismissible&&o.appendChild((n=t.closeEvent,(s=document.createElement("button")).classList.add("btn-close"),s.setAttribute("type","button"),s.setAttribute("area-label","Close"),s.addEventListener("click",(function(t){t.stopPropagation(),n()})),s)),o}(this)),a.appendChild(function(t){var e=t.options,i=document.createElement("div");return i.classList.add("toast-body"),i.innerHTML=e.text,i}(this)),this.options.progress&&a.appendChild(function(t){var e=t.options.duration,i=document.createElement("div");i.classList.add("toast-footer");var o=document.createElement("div");return o.classList.add("toast-footer-inner"),i.appendChild(o),e>0&&(e<100&&(e*=1e3),o.style.animationDuration="".concat(e,"ms")),i}(this)),n.appendChild(a),new ResizeObserver((function(){o.organize()})).observe(n),this.item=n,n.classList.add("show"),this.options.duration>0&&(this.timeout=setTimeout((function(){o.destroy(n)}),this.options.duration),this.options.pausable)){var u=function(){clearTimeout(o.timeout),o.pauseProgressInterval=!0},p=function(){o.pauseProgressInterval=!1,o.progressStartTime=(new Date).getTime(),o.timeout=setTimeout((function(){o.destroy(o.item)}),o.options.duration)};"mouseover touchstart touchend".split(" ").forEach((function(t){o.item.addEventListener(t,u)})),"mouseleave touchend".split(" ").forEach((function(t){o.item.addEventListener(t,p)}))}return n},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parentElement",{get:function(){if(this.options.parent){var t=document.querySelector(this.options.parent);if(!t)throw"User root element not exists.";return Array.isArray(t)?t[0]:t}return document.body},enumerable:!1,configurable:!0}),t.prototype.destroy=function(t){t.classList.remove("show"),"function"==typeof this.options.onClose&&this.options.onClose(this),window.setTimeout((function(){var e;null===(e=t.parentNode)||void 0===e||e.removeChild(t)}),400)},t.prototype.organize=function(){var t=this,e=this.options.offset,i={top:Number(e),bottom:Number(e)},o={top:Number(e),bottom:Number(e)},r={top:Number(e),bottom:Number(e)},u=".".concat(s("container"),"[data-group='").concat(this.group,"']"),p=window.innerWidth>0?window.innerWidth:screen.width;p<=360&&(u=".".concat(s("container")));var c,l=document.querySelectorAll(u);l.length>0&&l.forEach((function(e){c=a(e,s("top"))?s("top"):a(e,s("middle"))?s("middle"):s("bottom");var u=e.offsetHeight;c=c.substr("".concat(n,"-").length-1,c.length-1),p<=360?(e.style[c]=r[c]+"px",r[c]+=u+t.spaceBetween):a(e,"start-".concat(t.options.offset))?(e.style[c]=i[c]+"px",i[c]+=u+t.spaceBetween):(e.style[c]=o[c]+"px",o[c]+=u+t.spaceBetween)}))},t}();var h="TypeError: Option {option} should be in type {type}.",m=function(t,e,i){return void 0===e&&(e=self),void 0===i&&(i="."),(Array.isArray(t)?t:t.split(i)).reduce((function(t,e){return t&&t[e]}),e)},f=[[h,"dismissible","boolean"],[h,"duration","number"],[h,"offset","number"],[h,"onClose","function"],[h,"onShow","function"],[h,"parent","string"],[h,"pausable","boolean"],[h,"position","string"],[h,"progress","boolean"],[h,"snackbar","boolean"],[h,"soundSource","string"],[h,"soundable","boolean"],[h,"subtitle",["string","object"]],[h,"text","string"],[h,"title","string"],[h,"type","string"],[h,"subtitle.relative","boolean"],[h,"subtitle.datetime",["string","Date","number"]]];var b=function(){return b=Object.assign||function(t){for(var e,i=1,o=arguments.length;i0&&f.forEach((function(e){var i=e[0],o=e[1],n=e[2];if(Array.isArray(n)){var s=!1;if(n.forEach((function(e){void 0===m(o,t)||typeof m(o,t)!==e||(s=!0)})),!s)throw c.strFormat(i,{option:o,type:n.toString()})}else if(m(o,t)&&typeof m(o,t)!==n)throw c.strFormat(i,{option:o,type:n})}))}(t),new d(b({},t))},window.toaststrap_position=i,window.toaststrap_type=o})(),Toaststrap=e})(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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ck0sRUFDN0JxSyxPQUFPaUMsZ0JBQWtCck0sRyIsInNvdXJjZXMiOlsid2VicGFjazovL1RvYXN0c3RyYXAvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL1RvYXN0c3RyYXAvLi9zcmMvcHJlZmVyZW5jZXMudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9oZWxwZXJzLnRzIiwid2VicGFjazovL1RvYXN0c3RyYXAvLi9zcmMvY29tcG9uZW50cy9zb3VuZC50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL1JlbGF0aXZlRGF0ZS50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL1V0aWwudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9Ub2FzdHN0cmFwLnRzIiwid2VicGFjazovL1RvYXN0c3RyYXAvLi9zcmMvY29tcG9uZW50cy9jb250YWluZXIudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9jb21wb25lbnRzL2hlYWRlci50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL2NvbXBvbmVudHMvYm9keS50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy90eXBlY2hlY2sudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9icm93c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSByZXF1aXJlIHNjb3BlXG52YXIgX193ZWJwYWNrX3JlcXVpcmVfXyA9IHt9O1xuXG4iLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCIvKipcbiAqIFByZWZpeCB3aWxsIGJlIGFwcGxpZWQgdG8gYWxsIGNzcyBjbGFzc2VzLlxuICovXG5leHBvcnQgY29uc3QgY3ByZWZpeCA9IFwidG9hc3RzdHJhcC1cIlxuXG4vKipcbiAqIEdldCB0aGUgY2xhc3NuYW1lIHdpdGggdGhlIHByZWZpeC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBjXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnY2xhc3MoYzogc3RyaW5nKSB7XG4gIHJldHVybiBjcHJlZml4ICsgY1xufVxuXG5leHBvcnQgZW51bSBQT1NJVElPTlMge1xuICBUT1BfU1RBUlQgPSBcIlRPUF9TVEFSVFwiLFxuICBUT1BfRU5EID0gXCJUT1BfRU5EXCIsXG4gIFRPUF9DRU5URVIgPSBcIlRPUF9DRU5URVJcIixcbiAgQk9UVE9NX1NUQVJUID0gXCJCT1RUT01fU1RBUlRcIixcbiAgQk9UVE9NX0VORCA9IFwiQk9UVE9NX0VORFwiLFxuICBCT1RUT01fQ0VOVEVSID0gXCJCT1RUT01fQ0VOVEVSXCIsXG59XG5cbmV4cG9ydCBlbnVtIFRZUEVTIHtcbiAgREVGQVVMVCA9IFwiREVGQVVMVFwiLFxuICBQUklNQVJZID0gXCJQUklNQVJZXCIsXG4gIElORk8gPSBcIklORk9cIixcbiAgU1VDQ0VTUyA9IFwiU1VDQ0VTU1wiLFxuICBXQVJOSU5HID0gXCJXQVJOSU5HXCIsXG4gIERBTkdFUiA9IFwiREFOR0VSXCIsXG4gIERBUksgPSBcIkRBUktcIixcbiAgU1dFRVQgPSBcIlNXRUVUXCJcbn1cblxuLyoqXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCB7XG4gIHBvc2l0aW9uczoge1xuICAgIC8vIFRPUFxuICAgIFRPUF9TVEFSVDogZ2NsYXNzKFwidG9wXCIpICsgXCIgXCIgKyBnY2xhc3MoXCJzdGFydFwiKSxcbiAgICBUT1BfRU5EOiBnY2xhc3MoXCJ0b3BcIikgKyBcIiBcIiArIGdjbGFzcyhcImVuZFwiKSxcbiAgICBUT1BfQ0VOVEVSOiBnY2xhc3MoXCJ0b3BcIikgKyBcIiBcIiArIGdjbGFzcyhcImNlbnRlclwiKSxcblxuICAgIC8vIEJvdHRvbVxuICAgIEJPVFRPTV9DRU5URVI6IGdjbGFzcyhcImJvdHRvbVwiKSArIFwiIFwiICsgZ2NsYXNzKFwiY2VudGVyXCIpLFxuICAgIEJPVFRPTV9TVEFSVDogZ2NsYXNzKFwiYm90dG9tXCIpICsgXCIgXCIgKyBnY2xhc3MoXCJzdGFydFwiKSxcbiAgICBCT1RUT01fRU5EOiBnY2xhc3MoXCJib3R0b21cIikgKyBcIiBcIiArIGdjbGFzcyhcImVuZFwiKSxcbiAgfSxcblxuICB0eXBlczoge1xuICAgIERFRkFVTFQ6IFtcImJnLWRlZmF1bHRcIl0sXG4gICAgUFJJTUFSWTogW1wiYmctcHJpbWFyeVwiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgSU5GTzogW1wiYmctaW5mb1wiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgU1VDQ0VTUzogW1wiYmctc3VjY2Vzc1wiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgV0FSTklORzogW1wiYmctd2FybmluZ1wiLCBcInRleHQtZGFya1wiXSxcbiAgICBEQU5HRVI6IFtcImJnLWRhbmdlclwiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgREFSSzogW1wiYmctZGFya1wiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgU0VDT05EQVJZOiBbXCJiZy1zZWNvbmRhcnlcIiwgXCJ0ZXh0LWxpZ2h0XCJdLFxuXG4gICAgLy8gSSBtYWRlIHRoaXMgb25lIGZvciBmdW4sIHlvdSBjYW4gYWRkIHlvdXIgb3duIHN0eWxlcyB0b28uXG4gICAgU1dFRVQ6IFtcImJnLXN3ZWV0XCIsIFwidGV4dC1saWdodFwiXSxcbiAgfSxcbn1cblxuIiwiY29uc3QgaGFzQ2xhc3MgPSAoZWxlbWVudDogRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSlcbn1cblxuXG5leHBvcnQgeyBoYXNDbGFzcyB9XG4iLCJpbXBvcnQgeyBjcHJlZml4IH0gZnJvbSBcIi4uL3ByZWZlcmVuY2VzXCJcblxuY2xhc3MgU291bmQge1xuICBwcml2YXRlIGVsZW1lbnQ6IEhUTUxBdWRpb0VsZW1lbnRcbiAgcHJpdmF0ZSBzZWxlY3Rvcjogc3RyaW5nXG4gIHByaXZhdGUgcGFyZW50OiBFbGVtZW50XG5cbiAgY29uc3RydWN0b3IoYXVkaW9GaWxlOiBzdHJpbmcsIHBhcmVudEVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICB0aGlzLnNlbGVjdG9yID0gYCR7Y3ByZWZpeH0tbm90aWZpY2F0aW9uYFxuICAgIHRoaXMuZWxlbWVudCA9IG5ldyBBdWRpbyhhdWRpb0ZpbGUpXG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnRFbGVtZW50XG5cblxuICAgIHRoaXMubWFrZSgpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlKCkge1xuICAgIHRoaXMuZWxlbWVudC5pZCA9IHRoaXMuc2VsZWN0b3JcblxuICAgIGlmICghdGhpcy5wYXJlbnQucXVlcnlTZWxlY3RvcihcIiNcIiArIHRoaXMuc2VsZWN0b3IpKSB7XG4gICAgICB0aGlzLnBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQpXG4gICAgfVxuXG4gIH1cblxuICBwdWJsaWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBTb3VuZCIsImNsYXNzIFJlbGF0aXZlRGF0ZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXRzXG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZXNcbiAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFxuICBwcml2YXRlIHJlYWRvbmx5IHJlZmVyZW5jZVxuXG4gIGNvbnN0cnVjdG9yKGlucHV0LCByZWZlcmVuY2U/OiBhbnkpIHtcbiAgICB0aGlzLnRpbWVzID0ge1xuICAgICAgU0VDT05EOiAxMDAwLFxuICAgICAgTUlOVVRFOiA2MCAqIDEwMDAsXG4gICAgICBIT1VSOiA2MCAqIDYwICogMTAwMCxcbiAgICAgIERBWTogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICAgIFdFRUs6IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgICAgWUVBUjogMzY1ICogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICAgIE1PTlRIOiAoMzY1ICogMjQgKiA2MCAqIDYwICogMTAwMCkgLyAxMixcbiAgICB9XG5cblxuICAgIHRoaXMuZm9ybWF0cyA9IFtcbiAgICAgIFswLjcgKiB0aGlzLnRpbWVzLk1JTlVURSwgXCJqdXN0IG5vd1wiXSxcbiAgICAgIFsxLjUgKiB0aGlzLnRpbWVzLk1JTlVURSwgXCJhIG1pbnV0ZSBhZ29cIl0sXG4gICAgICBbNjAgKiB0aGlzLnRpbWVzLk1JTlVURSwgXCJtaW51dGVzIGFnb1wiLCB0aGlzLnRpbWVzLk1JTlVURV0sXG4gICAgICBbMS41ICogdGhpcy50aW1lcy5IT1VSLCBcImFuIGhvdXIgYWdvXCJdLFxuICAgICAgW3RoaXMudGltZXMuREFZLCBcImhvdXJzIGFnb1wiLCB0aGlzLnRpbWVzLkhPVVJdLFxuICAgICAgWzIgKiB0aGlzLnRpbWVzLkRBWSwgXCJ5ZXN0ZXJkYXlcIl0sXG4gICAgICBbNyAqIHRoaXMudGltZXMuREFZLCBcImRheXMgYWdvXCIsIHRoaXMudGltZXMuREFZXSxcbiAgICAgIFsxLjUgKiB0aGlzLnRpbWVzLldFRUssIFwiYSB3ZWVrIGFnb1wiXSxcbiAgICAgIFt0aGlzLnRpbWVzLk1PTlRILCBcIndlZWtzIGFnb1wiLCB0aGlzLnRpbWVzLldFRUtdLFxuICAgICAgWzEuNSAqIHRoaXMudGltZXMuTU9OVEgsIFwiYSBtb250aCBhZ29cIl0sXG4gICAgICBbdGhpcy50aW1lcy5ZRUFSLCBcIm1vbnRocyBhZ29cIiwgdGhpcy50aW1lcy5NT05USF0sXG4gICAgICBbMS41ICogdGhpcy50aW1lcy5ZRUFSLCBcImEgeWVhciBhZ29cIl0sXG4gICAgICBbTnVtYmVyLk1BWF9WQUxVRSwgXCJ5ZWFycyBhZ29cIiwgdGhpcy50aW1lcy5ZRUFSXSxcbiAgICBdXG5cblxuICAgIHRoaXMuaW5wdXQgPSBpbnB1dFxuICAgIHRoaXMucmVmZXJlbmNlID0gcmVmZXJlbmNlXG5cbiAgICBpZiAoIXJlZmVyZW5jZSkge1xuICAgICAgdGhpcy5yZWZlcmVuY2UgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpXG4gICAgfSBlbHNlIGlmIChyZWZlcmVuY2UgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZS5nZXRUaW1lKClcbiAgICB9XG5cbiAgICBpZiAoaW5wdXQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLmlucHV0LmdldFRpbWUoKVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRoaXMuaW5wdXQgPSArbmV3IERhdGUoaW5wdXQpLmdldFRpbWUoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBwdWJsaWMgcHJpbnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBkZWx0YSA9IHRoaXMucmVmZXJlbmNlIC0gdGhpcy5pbnB1dFxuICAgIGxldCBmb3JtYXQ6IGFueVtdXG4gICAgbGV0IGluZGV4OiBudW1iZXJcbiAgICBsZXQgbGVuZ3RoOiBudW1iZXJcblxuICAgIGZvciAoaW5kZXggPSAtMSwgbGVuZ3RoID0gdGhpcy5mb3JtYXRzLmxlbmd0aDsgKytpbmRleCA8IGxlbmd0aDspIHtcbiAgICAgIGZvcm1hdCA9IHRoaXMuZm9ybWF0c1tpbmRleF1cblxuICAgICAgaWYgKGRlbHRhIDwgZm9ybWF0WzBdKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRbMl0gPT0gdW5kZWZpbmVkID8gZm9ybWF0WzFdIDogTWF0aC5yb3VuZChkZWx0YSAvIGZvcm1hdFsyXSkgKyBcIiBcIiArIGZvcm1hdFsxXVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBcIlVua25vd25cIlxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlbGF0aXZlRGF0ZSIsIi8qKlxuICogUHJvdmlkZXMgc29tZSB1c2VmdWwgdXRpbGl0eS5cbiAqIEBjbGFzcyBVdGlsXG4gKi9cbmNsYXNzIFV0aWwge1xuXG4gIC8qKlxuICAgKiBGb3JtYXQgYSBzdHJpbmcgdGVtcGxhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgU3RyaW5nIHRvIGJlIGZvcm1hdC5cbiAgICogQHBhcmFtIHtvYmplY3R9IHZhbHVlcyBUaGUgdmFsdWVzIG9iamVjdC5cbiAgICogQHJldHVybiBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3RyRm9ybWF0KHN0cjogc3RyaW5nLCB2YWx1ZXM6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgaWYgKHN0ciAmJiBPYmplY3Qua2V5cyh2YWx1ZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgvKFt7fV0pXFwxfFt7XSguKj8pKD86ISguKz8pKT9bfV0vZylcblxuXG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UocmVnZXgsIChpbmRleCkgPT4ge1xuICAgICAgICBsZXQga2V5ID0gaW5kZXgucmVwbGFjZSgvey8sIFwiXCIpLnJlcGxhY2UoL30vLCBcIlwiKVxuICAgICAgICBpZiAoIXZhbHVlc1trZXldKSB7XG4gICAgICAgICAgcmV0dXJuIGluZGV4XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWVzW2tleV1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHN0clxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGFuIHVuaXF1ZSBpZGVudGlmaWVyLlxuICAgKiBAcmV0dXJuIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYWtlSWQoKSB7XG4gICAgcmV0dXJuIFN0cmluZyhNYXRoLmZsb29yKDEwMDAwMDAwMDAwICsgTWF0aC5yYW5kb20oKSAqIDkwMDAwMDAwMDApKVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFV0aWwiLCJpbXBvcnQgcHJlZmVyZW5jZXMsIHsgY3ByZWZpeCwgZ2NsYXNzIH0gZnJvbSBcIi4vcHJlZmVyZW5jZXNcIlxuaW1wb3J0IHsgaGFzQ2xhc3MgfSBmcm9tIFwiLi9oZWxwZXJzXCJcbmltcG9ydCB0eXBlIHsgT3B0aW9uc1R5cGUsIFN1YlRpdGxlVHlwZSB9IGZyb20gXCIuL3R5cGVzXCJcbmltcG9ydCB7IFBPU0lUSU9OUywgVFlQRVMgfSBmcm9tIFwiLi9wcmVmZXJlbmNlc1wiXG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2hlYWRlclwiXG5pbXBvcnQgeyBUb2FzdEJvZHkgfSBmcm9tIFwiLi9jb21wb25lbnRzL2JvZHlcIlxuaW1wb3J0IHsgVG9hc3RDb250YWluZXIgfSBmcm9tIFwiLi9jb21wb25lbnRzL2NvbnRhaW5lclwiXG5pbXBvcnQgU291bmQgZnJvbSBcIi4vY29tcG9uZW50cy9zb3VuZFwiXG5pbXBvcnQgeyBQcm9ncmVzc0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvcHJvZ3Jlc3NcIlxuaW1wb3J0IFJlbGF0aXZlRGF0ZSBmcm9tIFwiLi9SZWxhdGl2ZURhdGVcIlxuaW1wb3J0IFV0aWwgZnJvbSBcIi4vVXRpbFwiXG5cbi8qKlxuICogVG9hc3RzdHJhcCBjbGFzcyBmb3IgYnVpbGRpbmcgYW5kIGdlbmVyYXRpbmcgdGhlIHRvYXN0LlxuICpcbiAqIEBjbGFzcyBUb2FzdHN0cmFwXG4gKlxuICogQHZlcnNpb24gMS4xLjBcbiAqL1xuY2xhc3MgVG9hc3RzdHJhcCB7XG5cbiAgLyoqXG4gICAqIFRoZSBUb2FzdCBpZGVudGlmaWVyLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBpZDogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRoZSB0b2FzdCBjcmVhdGVkIGF0IGRhdGUuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZWRBdDogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRoZSB0b2FzdCBvcHRpb25zLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHVibGljIG9wdGlvbnM6IE9wdGlvbnNUeXBlXG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlZCB0b2FzdCBpdGVtLlxuICAgKiBVc2VkIHRvIGRlbGV0ZSwgcGF1c2Ugb3IgbW9kaWZ5IHRoZSBnZW5lcmF0ZWQgdG9hc3QuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGl0ZW06IEhUTUxFbGVtZW50XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VuZCBvYmplY3QuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHNvdW5kOiBTb3VuZCB8IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBUaGUgbWFyZ2lucyBiZXR3ZWVuIHRoZSBwYXJlbnROb2RlIGFuZCB0aGUgc2hvd24gdG9hc3QuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHNwYWNlQmV0d2VlbjogbnVtYmVyXG5cbiAgLyoqXG4gICAqIFRoZSB0b2FzdCBncm91cC4gVXNlZCB0byBvcmdhbml6ZSB0aGUgdG9hc3RzLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBncm91cDogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRvYXN0IHRpbWUtb3V0IG9iamVjdC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgdGltZW91dDogTm9kZUpTLlRpbWVvdXRcblxuICAvKipcbiAgICogVG9hc3QgdGltZXIgb2JqZWN0LiBVc2VkIGluIHByb2dyZXNzLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHVibGljIHByb2dyZXNzSW50ZXJ2YWw6IE5vZGVKUy5UaW1lclxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHVibGljIHBhdXNlUHJvZ3Jlc3NJbnRlcnZhbDogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHVibGljIHByb2dyZXNzU3RhcnRUaW1lOiBudW1iZXJcblxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBUb2FzdHN0cmFwLlxuICAgKlxuICAgKiBAcGFyYW0ge09wdGlvbnNUeXBlfSBvcHRpb25zIC0gQXZhaWxhYmxlIG9wdGlvbnMgdG8gY3VzdG9taXplIHRoZSB0b2FzdC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBPcHRpb25zVHlwZSkge1xuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgYXZhdGFyOiBcIlwiLFxuICAgICAgZGlzbWlzc2libGU6IHRydWUsXG4gICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIG9mZnNldDogMTAsXG4gICAgICBwYXJlbnQ6IFwiYm9keVwiLFxuICAgICAgcGF1c2FibGU6IHRydWUsXG4gICAgICBwb3NpdGlvbjogUE9TSVRJT05TLlRPUF9FTkQsXG4gICAgICBwcm9ncmVzczogdHJ1ZSxcbiAgICAgIHNuYWNrYmFyOiBmYWxzZSxcbiAgICAgIHNvdW5kU291cmNlOiBcIlwiLFxuICAgICAgc291bmRhYmxlOiBmYWxzZSxcbiAgICAgIHN1YnRpdGxlOiB7XG4gICAgICAgIHJlbGF0aXZlOiB0cnVlLFxuICAgICAgICBkYXRldGltZTogRGF0ZS5ub3coKVxuICAgICAgfSxcbiAgICAgIHRleHQ6IFwiXCIsXG4gICAgICB0aXRsZTogXCJcIixcbiAgICAgIHR5cGU6IFRZUEVTLkRFRkFVTFQsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSB0b2FzdCB0aW1lb3V0LlxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLnN1YnRpdGxlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5zdWJ0aXRsZSA9PT0gXCJvYmplY3RcIiAmJiBcImRhdGV0aW1lXCIgaW4gdGhpcy5vcHRpb25zLnN1YnRpdGxlKSB7XG4gICAgICAgIGNvbnN0IGRlbHRhOiBTdWJUaXRsZVR5cGUgPSB0aGlzLm9wdGlvbnMuc3VidGl0bGVcblxuICAgICAgICBpZiAoXCJyZWxhdGl2ZVwiIGluIHRoaXMub3B0aW9ucy5zdWJ0aXRsZSAmJiB0aGlzLm9wdGlvbnMuc3VidGl0bGUucmVsYXRpdmUpIHtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuc3VidGl0bGUgPSAobmV3IFJlbGF0aXZlRGF0ZShkZWx0YS5kYXRldGltZSkucHJpbnQoKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuc3VidGl0bGUgPSBTdHJpbmcoZGVsdGEuZGF0ZXRpbWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgdG9hc3QgZ3JvdXAuXG4gICAgLy8gVGhlIHRvYXN0IGdyb3VwIHVzZWQgdG8gb3JnYW5pemVkIHRoZSB0b2FzdHMuXG4gICAgdGhpcy5ncm91cCA9IHRoaXMub3B0aW9ucy5wb3NpdGlvbiEgfHwgUE9TSVRJT05TLlRPUF9FTkRcblxuXG4gICAgaWYgKE9iamVjdC5rZXlzKFBPU0lUSU9OUykuaW5jbHVkZXModGhpcy5vcHRpb25zLnBvc2l0aW9uISkpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5wb3NpdGlvbiA9IHByZWZlcmVuY2VzLnBvc2l0aW9uc1t0aGlzLm9wdGlvbnMucG9zaXRpb24hXVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMucG9zaXRpb24gPSBwcmVmZXJlbmNlcy5wb3NpdGlvbnMuVE9QX0VORFxuICAgIH1cblxuICAgIHRoaXMuaXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIilcbiAgICB0aGlzLnNwYWNlQmV0d2VlbiA9IDVcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuc291bmRhYmxlICYmIHRoaXMub3B0aW9ucy5zb3VuZFNvdXJjZSAmJiB0aGlzLm9wdGlvbnMuc291bmRTb3VyY2UubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zb3VuZCA9IG5ldyBTb3VuZCh0aGlzLm9wdGlvbnMuc291bmRTb3VyY2UsIHRoaXMucGFyZW50RWxlbWVudClcbiAgICB9XG5cbiAgICB0aGlzLmlkID0gVXRpbC5tYWtlSWQoKVxuICAgIHRoaXMuY3JlYXRlZEF0ID0gRGF0ZS5ub3coKS50b1N0cmluZygpXG4gICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgfSwgMClcbiAgICB0aGlzLnByb2dyZXNzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgfSwgMClcbiAgICB0aGlzLnBhdXNlUHJvZ3Jlc3NJbnRlcnZhbCA9IGZhbHNlXG4gICAgdGhpcy5wcm9ncmVzc1N0YXJ0VGltZSA9IDBcblxuICB9XG5cbiAgLyoqXG4gICAqIFB1c2ggdGhlIHRvYXN0IHRvIHRoZSBkb2N1bWVudCBwYXJlbnQgbm9kZS5cbiAgICpcbiAgICogQHJldHVybiB7dGhpc30gVGhlIHRvYXN0IGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHNob3coKTogdGhpcyB7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMucGFyZW50RWxlbWVudFxuICAgIGNvbnN0IHRvYXN0ID0gdGhpcy5idWlsZFxuXG4gICAgcm9vdC5pbnNlcnRCZWZvcmUodG9hc3QsIHJvb3QuZmlyc3RDaGlsZClcblxuICAgIC8vIFBsYXkgc291bmQgaWYgaXQncyBhbGxvd2VkLlxuICAgIGlmICh0aGlzLnNvdW5kKSB7XG4gICAgICB0aGlzLnNvdW5kLmluc3RhbmNlLnBsYXkoKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIlNvdW5kIHNvdXJjZSBnaXZlbiBub3QgZm91bmQgb3Igbm90IHN1cHBvcnRlZC5cIilcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gT3JkZXIgdG9hc3RzLlxuICAgIHRoaXMub3JnYW5pemUoKVxuXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IHRvIGNsb3NlIHRvYXN0LiBVc2VkIGluIGhlYWRlciBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBwdWJsaWMgY2xvc2VFdmVudCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLmRlc3Ryb3kodGhpcy5pdGVtKVxuICB9XG5cblxuICAvKipcbiAgICogQnVpbGQgdGhlIHRvYXN0IGVsZW1lbnQuXG4gICAqXG4gICAqIEByZXR1cm4ge0hUTUxFbGVtZW50fSBUaGUgZ2VuZXJhdGVkIHRvYXN0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgYnVpbGQoKTogSFRNTEVsZW1lbnQge1xuXG4gICAgLy8gQ29udGFpbmVyIEVsZW1lbnRcbiAgICBjb25zdCBjb250YWluZXIgPSBUb2FzdENvbnRhaW5lcih0aGlzKVxuXG4gICAgLy8gVG9hc3QgRWxlbWVudFxuICAgIGNvbnN0IHRvYXN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIilcbiAgICB0b2FzdEVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInRvYXN0XCIpXG5cbiAgICBjb250YWluZXIuc2V0QXR0cmlidXRlKFwiZGF0YS1pZFwiLCB0aGlzLmlkKVxuICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJkYXRhLWNyZWF0ZWQtYXRcIiwgdGhpcy5jcmVhdGVkQXQpXG4gICAgY29udGFpbmVyLnNldEF0dHJpYnV0ZShcImRhdGEtdHlwZVwiLCB0aGlzLm9wdGlvbnMudHlwZSA/IHRoaXMub3B0aW9ucy50eXBlLnRvTG93ZXJDYXNlKCkgOiBcIlwiKVxuICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJkYXRhLWdyb3VwXCIsIHRoaXMuZ3JvdXApXG4gICAgY29udGFpbmVyLnNldEF0dHJpYnV0ZShcImRhdGEtc25hY2tiYXJcIiwgU3RyaW5nKHRoaXMub3B0aW9ucy5zbmFja2JhcikpXG5cbiAgICAvLyBUb2FzdCBIZWFkZXIgKG9ubHkgaWYgb3B0aW9uIGhpZGVIZWFkZXIgaXMgc2V0IHRvIGZhbHNlKS5cbiAgICBpZiAoIUJvb2xlYW4odGhpcy5vcHRpb25zLnNuYWNrYmFyKSkge1xuICAgICAgdG9hc3RFbGVtZW50LmFwcGVuZENoaWxkKEhlYWRlckNvbXBvbmVudCh0aGlzKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdG9hc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4ucHJlZmVyZW5jZXMudHlwZXNbdGhpcy5vcHRpb25zLnR5cGVdKVxuICAgIH1cblxuICAgIC8vIFRvYXN0IEJvZHlcbiAgICB0b2FzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoVG9hc3RCb2R5KHRoaXMpKVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm9ncmVzcykge1xuICAgICAgLy8gVG9hc3QgUHJvZ3Jlc3NcbiAgICAgIHRvYXN0RWxlbWVudC5hcHBlbmRDaGlsZChQcm9ncmVzc0NvbXBvbmVudCh0aGlzKSlcbiAgICB9XG5cblxuICAgIC8vIFB1dCB0b2FzdCBpbnRvIGl0J3MgY29udGFpbmVyLlxuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0b2FzdEVsZW1lbnQpXG5cbiAgICAvLyBXYXRjaCB0b2FzdCBoZWlnaHQgY2hhbmdlZCwgYW5kIHJlLW9yZGVyIGlmIGhhcHBlbi5cbiAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy5vcmdhbml6ZSgpXG4gICAgfSkub2JzZXJ2ZShjb250YWluZXIpXG5cbiAgICAvLyBUb2FzdCBpbnN0YW5jZS5cbiAgICB0aGlzLml0ZW0gPSBjb250YWluZXJcblxuICAgIC8vIFNob3cgdGhlIHRvYXN0IGJ5IGFkZGluZyBjbGFzcyAoLnNob3cpXG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJzaG93XCIpXG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmR1cmF0aW9uID4gMCkge1xuICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVzdHJveShjb250YWluZXIpXG4gICAgICB9LCB0aGlzLm9wdGlvbnMuZHVyYXRpb24pXG5cbiAgICAgIGlmICh0aGlzLm9wdGlvbnMucGF1c2FibGUpIHtcbiAgICAgICAgY29uc3QgdG91Y2hTdGFydENhbGxCYWNrID0gKCkgPT4ge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpXG4gICAgICAgICAgdGhpcy5wYXVzZVByb2dyZXNzSW50ZXJ2YWwgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3VjaEVuZENhbGxCYWNrID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMucGF1c2VQcm9ncmVzc0ludGVydmFsID0gZmFsc2VcbiAgICAgICAgICB0aGlzLnByb2dyZXNzU3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKClcblxuICAgICAgICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95KHRoaXMuaXRlbSlcbiAgICAgICAgICB9LCB0aGlzLm9wdGlvbnMuZHVyYXRpb24pXG4gICAgICAgIH1cblxuICAgICAgICBcIm1vdXNlb3ZlciB0b3VjaHN0YXJ0IHRvdWNoZW5kXCIuc3BsaXQoXCIgXCIpLmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgdGhpcy5pdGVtLmFkZEV2ZW50TGlzdGVuZXIoZSwgdG91Y2hTdGFydENhbGxCYWNrKVxuICAgICAgICB9KVxuXG4gICAgICAgIFwibW91c2VsZWF2ZSB0b3VjaGVuZFwiLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGUgPT4ge1xuICAgICAgICAgIHRoaXMuaXRlbS5hZGRFdmVudExpc3RlbmVyKGUsIHRvdWNoRW5kQ2FsbEJhY2spXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gUmV0dXJuIHRvYXN0IGluc3RhbmNlLlxuICAgIHJldHVybiBjb250YWluZXJcbiAgfVxuXG4gIC8qKlxuICAgKiAgVGhlIHBhcmVudCBlbGVtZW50LCB3aGljaCB3aWxsIGNvbnRhaW4gdGhlIHRvYXN0cy5cbiAgICogQHJldHVybiB7RWxlbWVudH0gIFRoZSBtYWluIGVsZW1lbnQgc2VsZWN0ZWQgYnkgdGhlIHVzZXIgaWYgYXZhaWxhYmxlLCBvciB0aGUgZGVmYXVsdCBwYXJlbnQuXG4gICAqL1xuICBwcml2YXRlIGdldCBwYXJlbnRFbGVtZW50KCk6IEVsZW1lbnQge1xuICAgIGlmICh0aGlzLm9wdGlvbnMucGFyZW50KSB7XG4gICAgICBjb25zdCB1c2VyUm9vdEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMub3B0aW9ucy5wYXJlbnQpXG4gICAgICBpZiAoIXVzZXJSb290RWxlbWVudCkge1xuICAgICAgICB0aHJvdyBcIlVzZXIgcm9vdCBlbGVtZW50IG5vdCBleGlzdHMuXCJcbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodXNlclJvb3RFbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gdXNlclJvb3RFbGVtZW50WzBdXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1c2VyUm9vdEVsZW1lbnRcbiAgICB9XG5cbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZWxlbWVudCBmcm9tIGRvbSBhZnRlciB0aW1lb3V0IGZpbmlzaGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBkZXN0cm95KHRvYXN0RWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAvLyBIaWRlIHRoZSBlbGVtZW50LlxuICAgIHRvYXN0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwic2hvd1wiKVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMub25DbG9zZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICB0aGlzLm9wdGlvbnMub25DbG9zZSh0aGlzKVxuICAgIH1cblxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRvYXN0RWxlbWVudC5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZCh0b2FzdEVsZW1lbnQpXG4gICAgfSwgNDAwKVxuXG5cbiAgfVxuXG4gIHByaXZhdGUgb3JnYW5pemUoKSB7XG4gICAgY29uc3QgeyBvZmZzZXQgfSA9IHRoaXMub3B0aW9uc1xuXG4gICAgY29uc3QgdG9wTGVmdE9mZnNldFNpemUgPSB7XG4gICAgICB0b3A6IE51bWJlcihvZmZzZXQpLFxuICAgICAgYm90dG9tOiBOdW1iZXIob2Zmc2V0KSxcbiAgICB9XG5cblxuICAgIGNvbnN0IHRvcFJpZ2h0T2Zmc2V0U2l6ZSA9IHtcbiAgICAgIHRvcDogTnVtYmVyKG9mZnNldCksXG4gICAgICBib3R0b206IE51bWJlcihvZmZzZXQpLFxuICAgIH1cblxuICAgIGNvbnN0IG9mZnNldFNpemUgPSB7XG4gICAgICB0b3A6IE51bWJlcihvZmZzZXQpLFxuICAgICAgYm90dG9tOiBOdW1iZXIob2Zmc2V0KSxcbiAgICB9XG5cblxuICAgIGxldCBzZWxlY3RvciA9IGAuJHtnY2xhc3MoXCJjb250YWluZXJcIil9W2RhdGEtZ3JvdXA9JyR7dGhpcy5ncm91cH0nXWBcblxuICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGggPiAwID8gd2luZG93LmlubmVyV2lkdGggOiBzY3JlZW4ud2lkdGhcblxuICAgIGlmICh3aW5kb3dXaWR0aCA8PSAzNjApIHtcbiAgICAgIHNlbGVjdG9yID0gYC4ke2djbGFzcyhcImNvbnRhaW5lclwiKX1gXG4gICAgfVxuICAgIGNvbnN0IHRvYXN0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTERpdkVsZW1lbnQ+KHNlbGVjdG9yKVxuXG4gICAgbGV0IGNsYXNzVXNlZFxuXG4gICAgaWYgKHRvYXN0cy5sZW5ndGggPiAwKSB7XG4gICAgICB0b2FzdHMuZm9yRWFjaCgodG9hc3QpID0+IHtcblxuICAgICAgICBpZiAoaGFzQ2xhc3ModG9hc3QsIGdjbGFzcyhcInRvcFwiKSkpIHtcbiAgICAgICAgICBjbGFzc1VzZWQgPSBnY2xhc3MoXCJ0b3BcIilcbiAgICAgICAgfSBlbHNlIGlmIChoYXNDbGFzcyh0b2FzdCwgZ2NsYXNzKFwibWlkZGxlXCIpKSkge1xuICAgICAgICAgIGNsYXNzVXNlZCA9IGdjbGFzcyhcIm1pZGRsZVwiKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsYXNzVXNlZCA9IGdjbGFzcyhcImJvdHRvbVwiKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG9hc3RIZWlnaHQgPSB0b2FzdC5vZmZzZXRIZWlnaHRcbiAgICAgICAgY2xhc3NVc2VkID0gY2xhc3NVc2VkLnN1YnN0cihcbiAgICAgICAgICBgJHtjcHJlZml4fS1gLmxlbmd0aCAtIDEsXG4gICAgICAgICAgY2xhc3NVc2VkLmxlbmd0aCAtIDEsXG4gICAgICAgIClcblxuICAgICAgICAvLyBTaG93IHRvYXN0IGluIGNlbnRlciBpZiBzY3JlZW4gd2l0aCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMzYwcHguXG4gICAgICAgIGlmICh3aW5kb3dXaWR0aCA8PSAzNjApIHtcbiAgICAgICAgICB0b2FzdC5zdHlsZVtjbGFzc1VzZWRdID0gb2Zmc2V0U2l6ZVtjbGFzc1VzZWRdICsgXCJweFwiXG4gICAgICAgICAgb2Zmc2V0U2l6ZVtjbGFzc1VzZWRdICs9IHRvYXN0SGVpZ2h0ICsgdGhpcy5zcGFjZUJldHdlZW5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaGFzQ2xhc3ModG9hc3QsIGBzdGFydC0ke3RoaXMub3B0aW9ucy5vZmZzZXR9YCkpIHtcbiAgICAgICAgICAgIHRvYXN0LnN0eWxlW2NsYXNzVXNlZF0gPSB0b3BMZWZ0T2Zmc2V0U2l6ZVtjbGFzc1VzZWRdICsgXCJweFwiXG4gICAgICAgICAgICB0b3BMZWZ0T2Zmc2V0U2l6ZVtjbGFzc1VzZWRdICs9IHRvYXN0SGVpZ2h0ICsgdGhpcy5zcGFjZUJldHdlZW5cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdG9hc3Quc3R5bGVbY2xhc3NVc2VkXSA9IHRvcFJpZ2h0T2Zmc2V0U2l6ZVtjbGFzc1VzZWRdICsgXCJweFwiXG4gICAgICAgICAgICB0b3BSaWdodE9mZnNldFNpemVbY2xhc3NVc2VkXSArPSB0b2FzdEhlaWdodCArIHRoaXMuc3BhY2VCZXR3ZWVuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvYXN0c3RyYXBcbiIsImltcG9ydCB7IGdjbGFzcyB9IGZyb20gXCIuLi9wcmVmZXJlbmNlc1wiXG5pbXBvcnQgVG9hc3RzdHJhcCBmcm9tIFwiLi4vVG9hc3RzdHJhcFwiXG5cbmV4cG9ydCBjb25zdCBUb2FzdENvbnRhaW5lciA9IChjb250ZXh0OiBUb2FzdHN0cmFwKSA9PiB7XG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gY29udGV4dFxuICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKVxuICBjb250YWluZXJFbGVtZW50LmNsYXNzTmFtZSA9IGAke1xuICAgIGNvbnRleHQub3B0aW9ucy5wYXJlbnQgPyBcInBvc2l0aW9uLWFic29sdXRlXCIgOiBcInBvc2l0aW9uLWZpeGVkXCJcbiAgfSAke29wdGlvbnMucG9zaXRpb259LSR7b3B0aW9ucy5vZmZzZXR9ICR7Z2NsYXNzKFwiY29udGFpbmVyXCIpfWBcblxuICBjb250YWluZXJFbGVtZW50LnN0eWxlLnpJbmRleCA9IFwiMjUwMFwiXG5cbiAgcmV0dXJuIGNvbnRhaW5lckVsZW1lbnRcbn1cbiIsImltcG9ydCBUb2FzdHN0cmFwIGZyb20gXCIuLi9Ub2FzdHN0cmFwXCJcbmltcG9ydCBwcmVmZXJlbmNlcyBmcm9tIFwiLi4vcHJlZmVyZW5jZXNcIlxuaW1wb3J0IHR5cGUgeyBPcHRpb25zVHlwZSB9IGZyb20gXCIuLi90eXBlc1wiXG5cbmNvbnN0IEF2YXRhckNvbXBvbmVudCA9IChvcHRpb25zOiBPcHRpb25zVHlwZSkgPT4ge1xuICBjb25zdCBhdmF0YXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltZ1wiKVxuICBhdmF0YXJFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJyb3VuZGVkXCIsIFwibWUtMlwiKVxuICBhdmF0YXJFbGVtZW50LnNyYyA9IG9wdGlvbnMuYXZhdGFyIHx8IFwiXCJcbiAgYXZhdGFyRWxlbWVudC53aWR0aCA9IDIwXG4gIGF2YXRhckVsZW1lbnQuaGVpZ2h0ID0gMjBcblxuICByZXR1cm4gYXZhdGFyRWxlbWVudFxufVxuXG5jb25zdCBDbG9zZUJ1dHRvbkNvbXBvbmVudCA9IChvbkNsb3NlRXZlbnQ6ICgpID0+IHZvaWQpID0+IHtcbiAgY29uc3QgY2xvc2VCdG5FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKVxuICBjbG9zZUJ0bkVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImJ0bi1jbG9zZVwiKVxuICBjbG9zZUJ0bkVsZW1lbnQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImJ1dHRvblwiKVxuICBjbG9zZUJ0bkVsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJlYS1sYWJlbFwiLCBcIkNsb3NlXCIpXG5cbiAgY2xvc2VCdG5FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoZXZ0KSA9PiB7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgb25DbG9zZUV2ZW50KClcbiAgfSlcblxuICByZXR1cm4gY2xvc2VCdG5FbGVtZW50XG59XG5cbmV4cG9ydCBjb25zdCBIZWFkZXJDb21wb25lbnQgPSAoY29udGV4dDogVG9hc3RzdHJhcCk6IEVsZW1lbnQgPT4ge1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHRcbiAgY29uc3QgaGVhZGVyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIilcbiAgaGVhZGVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidG9hc3QtaGVhZGVyXCIpXG5cbiAgLy8gQXZhdGFyIGVsZW1lbnRcbiAgaWYgKG9wdGlvbnMuYXZhdGFyKSB7XG4gICAgaGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZChBdmF0YXJDb21wb25lbnQob3B0aW9ucykpXG4gIH1cblxuICBpZiAob3B0aW9ucy50eXBlKSB7XG4gICAgaGVhZGVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKC4uLnByZWZlcmVuY2VzLnR5cGVzW29wdGlvbnMudHlwZV0pXG4gIH1cblxuXG4gIC8vIENyZWF0ZSB0aXRsZSBlbGVtZW50LlxuICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3Ryb25nXCIpXG4gIHRpdGxlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwibWUtYXV0b1wiKVxuICB0aXRsZUVsZW1lbnQuaW5uZXJUZXh0ID0gb3B0aW9ucy50aXRsZVxuICBoZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudClcblxuICBpZiAob3B0aW9ucy5zdWJ0aXRsZSkge1xuICAgIC8vIHRpbWVcbiAgICBjb25zdCB0aW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzbWFsbFwiKVxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5zdWJ0aXRsZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgdGltZUVsZW1lbnQuaW5uZXJUZXh0ID0gb3B0aW9ucy5zdWJ0aXRsZVxuICAgIH1cblxuICAgIGhlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQodGltZUVsZW1lbnQpXG4gIH1cblxuICAvLyBDbG9zZSBidXR0b25cbiAgaWYgKG9wdGlvbnMuZGlzbWlzc2libGUpIHtcbiAgICBoZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKENsb3NlQnV0dG9uQ29tcG9uZW50KGNvbnRleHQuY2xvc2VFdmVudCkpXG4gIH1cblxuICAvLyBSZXR1cm4gaGVhZGVyIGVsZW1lbnQuXG4gIHJldHVybiBoZWFkZXJFbGVtZW50XG59XG4iLCJpbXBvcnQgVG9hc3RzdHJhcCBmcm9tIFwiLi4vVG9hc3RzdHJhcFwiXG5cbmV4cG9ydCBjb25zdCBUb2FzdEJvZHkgPSAoY29udGV4dDogVG9hc3RzdHJhcCkgPT4ge1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHRcbiAgY29uc3QgYm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gIGJvZHlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ0b2FzdC1ib2R5XCIpXG4gIGJvZHlFbGVtZW50LmlubmVySFRNTCA9IG9wdGlvbnMudGV4dFxuXG4gIHJldHVybiBib2R5RWxlbWVudFxufVxuIiwiLyoqXG4gKiBAY3JlZGl0IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMTUzMDk0NlxuICogQHBhcmFtIGR1cmF0aW9uXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuaW1wb3J0IFRvYXN0c3RyYXAgZnJvbSBcIi4uL1RvYXN0c3RyYXBcIlxuXG5leHBvcnQgY29uc3QgUHJvZ3Jlc3NDb21wb25lbnQgPSAoZmFjdG9yeTogVG9hc3RzdHJhcCkgPT4ge1xuICBsZXQgeyBkdXJhdGlvbiB9ID0gZmFjdG9yeS5vcHRpb25zXG5cblxuICBjb25zdCBwcm9ncmVzc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gIHByb2dyZXNzRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidG9hc3QtZm9vdGVyXCIpXG4gIGNvbnN0IGluZGljYXRvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gIGluZGljYXRvckVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInRvYXN0LWZvb3Rlci1pbm5lclwiKVxuICBwcm9ncmVzc0VsZW1lbnQuYXBwZW5kQ2hpbGQoaW5kaWNhdG9yRWxlbWVudClcblxuXG4gIGlmIChkdXJhdGlvbiA+IDApIHtcbiAgICBkdXJhdGlvbiA8IDEwMCAgPyBkdXJhdGlvbiA9IGR1cmF0aW9uICogMTAwMCA6IGR1cmF0aW9uO1xuXG4gICAgaW5kaWNhdG9yRWxlbWVudC5zdHlsZS5hbmltYXRpb25EdXJhdGlvbiA9IGAke2R1cmF0aW9ufW1zYFxuXG4gIH1cbiAgLyoqXG4gICAqIEkgbWFkZSB0aGlzIHRvIG1ha2UgcHJvZ3Jlc3MgbW92ZSB3aGVuIGR1cmF0aW9uIGlzIHNldC5cbiAgICogQnV0IGl0J3Mga2lsbCB0aGUgcGVyZm9ybWFuY2UsIHNvIEkgZGVjaWRlZCB0byB1c2UgQ1NTIHRvIGRvIHRoYXQuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IHN0YXJ0ID0gKCkgPT4ge1xuICAgIGZhY3RvcnkucHJvZ3Jlc3NTdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKVxuXG4gICAgLy8gPi4uPCBJIHdpbGwganVzdCB1c2UgY3NzIHRvIGRvIHRoYXQuXG4gICAgaWYgKGR1cmF0aW9uID4gMCkge1xuICAgICAgZmFjdG9yeS5wcm9ncmVzc0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAoIWZhY3RvcnkucGF1c2VQcm9ncmVzc0ludGVydmFsKSB7XG4gICAgICAgICAgY29uc3QgZGlmZiA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLSBmYWN0b3J5LnByb2dyZXNzU3RhcnRUaW1lKVxuICAgICAgICAgIGxldCB2YWx1ZSA9IE1hdGgucm91bmQoZGlmZiAvIGR1cmF0aW9uICogMTAwKVxuICAgICAgICAgIHZhbHVlID0gdmFsdWUgPiAxMDAgPyAxMDAgOiB2YWx1ZVxuXG4gICAgICAgICAgaW5kaWNhdG9yRWxlbWVudC5zdHlsZS53aWR0aCA9IHZhbHVlICsgXCIlXCJcblxuICAgICAgICAgIGlmIChkaWZmID49IGR1cmF0aW9uKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKGZhY3RvcnkucHJvZ3Jlc3NJbnRlcnZhbClcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfSwgMTAwKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcm9ncmVzc0VsZW1lbnRcbn1cbiIsIi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENoZWNraW5nIGFuZCBzZWN1cmluZyBvcHRpb25zIHR5cGVzLlxuICogT25seSBmb3IgYnJvd3NlcnMuXG4gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5pbXBvcnQgeyBPcHRpb25zVHlwZSB9IGZyb20gXCIuL3R5cGVzXCJcbmltcG9ydCBVdGlsIGZyb20gXCIuL1V0aWxcIlxuXG5jb25zdCBUWVBFX0NIRUNLID0gXCJUeXBlRXJyb3I6IE9wdGlvbiB7b3B0aW9ufSBzaG91bGQgYmUgaW4gdHlwZSB7dHlwZX0uXCJcblxuY29uc3QgcmVzb2x2ZSA9IChwYXRoOiBzdHJpbmcsIG9iaiA9IHNlbGYsIHNlcGFyYXRvciA9IFwiLlwiKSA9PiB7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBBcnJheS5pc0FycmF5KHBhdGgpID8gcGF0aCA6IHBhdGguc3BsaXQoc2VwYXJhdG9yKVxuICAvLyBAdHMtaWdub3JlXG4gIHJldHVybiBwcm9wZXJ0aWVzLnJlZHVjZSgocHJldiwgY3VycikgPT4gcHJldiAmJiBwcmV2W2N1cnJdLCBvYmopXG59XG5cbmNvbnN0IGNoZWNrcyA9IFtcbiAgW1RZUEVfQ0hFQ0ssIFwiZGlzbWlzc2libGVcIiwgXCJib29sZWFuXCJdLFxuICBbVFlQRV9DSEVDSywgXCJkdXJhdGlvblwiLCBcIm51bWJlclwiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwib2Zmc2V0XCIsIFwibnVtYmVyXCJdLFxuICBbVFlQRV9DSEVDSywgXCJvbkNsb3NlXCIsIFwiZnVuY3Rpb25cIl0sXG4gIFtUWVBFX0NIRUNLLCBcIm9uU2hvd1wiLCBcImZ1bmN0aW9uXCJdLFxuICBbVFlQRV9DSEVDSywgXCJwYXJlbnRcIiwgXCJzdHJpbmdcIl0sXG4gIFtUWVBFX0NIRUNLLCBcInBhdXNhYmxlXCIsIFwiYm9vbGVhblwiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwicG9zaXRpb25cIiwgXCJzdHJpbmdcIl0sXG4gIFtUWVBFX0NIRUNLLCBcInByb2dyZXNzXCIsIFwiYm9vbGVhblwiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwic25hY2tiYXJcIiwgXCJib29sZWFuXCJdLFxuICBbVFlQRV9DSEVDSywgXCJzb3VuZFNvdXJjZVwiLCBcInN0cmluZ1wiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwic291bmRhYmxlXCIsIFwiYm9vbGVhblwiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwic3VidGl0bGVcIiwgW1wic3RyaW5nXCIsIFwib2JqZWN0XCJdXSxcbiAgW1RZUEVfQ0hFQ0ssIFwidGV4dFwiLCBcInN0cmluZ1wiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwidGl0bGVcIiwgXCJzdHJpbmdcIl0sXG4gIFtUWVBFX0NIRUNLLCBcInR5cGVcIiwgXCJzdHJpbmdcIl0sXG4gIFtUWVBFX0NIRUNLLCBcInN1YnRpdGxlLnJlbGF0aXZlXCIsIFwiYm9vbGVhblwiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwic3VidGl0bGUuZGF0ZXRpbWVcIiwgW1wic3RyaW5nXCIsIFwiRGF0ZVwiLCBcIm51bWJlclwiXV0sXG5dXG5cbmNvbnN0IGZpbHRlcnMgPSAob3B0aW9uczogT3B0aW9uc1R5cGUpID0+IHtcbiAgaWYgKGNoZWNrcy5sZW5ndGggPiAwKSB7XG4gICAgY2hlY2tzLmZvckVhY2goY2hlY2sgPT4ge1xuICAgICAgY29uc3QgZmlyc3RJbmRleCA9IGNoZWNrWzBdXG4gICAgICBjb25zdCBzZWNvbmRJbmRleCA9IGNoZWNrWzFdXG4gICAgICBjb25zdCBsYXN0SW5kZXggPSBjaGVja1syXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShsYXN0SW5kZXgpKSB7XG4gICAgICAgIGxldCBzdWNjZWVkID0gZmFsc2VcblxuICAgICAgICBsYXN0SW5kZXguZm9yRWFjaCh0eXBlID0+IHtcblxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBpZiAodHlwZW9mIHJlc29sdmUoc2Vjb25kSW5kZXgsIG9wdGlvbnMpICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiByZXNvbHZlKHNlY29uZEluZGV4LCBvcHRpb25zKSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgc3VjY2VlZCA9IHRydWVcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIXN1Y2NlZWQpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgdGhyb3cgVXRpbC5zdHJGb3JtYXQoZmlyc3RJbmRleCwgeyBvcHRpb246IHNlY29uZEluZGV4LCB0eXBlOiBsYXN0SW5kZXgudG9TdHJpbmcoKSB9KVxuICAgICAgICB9XG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKHJlc29sdmUoc2Vjb25kSW5kZXgsIG9wdGlvbnMpICYmIHR5cGVvZiByZXNvbHZlKHNlY29uZEluZGV4LCBvcHRpb25zKSAhPT0gbGFzdEluZGV4KSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRocm93IFV0aWwuc3RyRm9ybWF0KGZpcnN0SW5kZXgsIHsgb3B0aW9uOiBzZWNvbmRJbmRleCwgdHlwZTogbGFzdEluZGV4IH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZpbHRlcnMiLCJpbXBvcnQgVG9hc3RzdHJhcCBmcm9tIFwiLi9Ub2FzdHN0cmFwXCJcbmltcG9ydCB0eXBlIHsgT3B0aW9uc1R5cGUgfSBmcm9tIFwiLi90eXBlc1wiXG5pbXBvcnQgeyBQT1NJVElPTlMsIFRZUEVTIH0gZnJvbSBcIi4vcHJlZmVyZW5jZXNcIlxuaW1wb3J0IFwiLi9hc3NldHMvc3R5bGVzLnNjc3NcIlxuaW1wb3J0IGZpbHRlcnMgZnJvbSBcIi4vdHlwZWNoZWNrXCJcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICB0b2FzdHN0cmFwOiAob3B0aW9uczogT3B0aW9uc1R5cGUpID0+IFRvYXN0c3RyYXA7XG4gICAgdG9hc3RzdHJhcF9wb3NpdGlvbjogYW55LFxuICAgIHRvYXN0c3RyYXBfdHlwZTogYW55XG4gIH1cbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHtPcHRpb25zVHlwZX0gb3B0aW9uc1xuICovXG5jb25zdCBpbml0aWFsaXplID0gKG9wdGlvbnM6IE9wdGlvbnNUeXBlKTogVG9hc3RzdHJhcCA9PiB7XG5cbiAgLy8gVHlwZSBjaGVja3MuXG4gIGlmIChPYmplY3Qua2V5cyhvcHRpb25zKS5sZW5ndGgpIHtcbiAgICBmaWx0ZXJzKG9wdGlvbnMpO1xuICB9XG4gIHJldHVybiBuZXcgVG9hc3RzdHJhcCh7XG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLy8gV2luZG93XG53aW5kb3cudG9hc3RzdHJhcCA9IGluaXRpYWxpemVcbndpbmRvdy50b2FzdHN0cmFwX3Bvc2l0aW9uID0gUE9TSVRJT05TXG53aW5kb3cudG9hc3RzdHJhcF90eXBlID0gVFlQRVMiXSwibmFtZXMiOlsiX193ZWJwYWNrX3JlcXVpcmVfXyIsImV4cG9ydHMiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJQT1NJVElPTlMiLCJUWVBFUyIsImNwcmVmaXgiLCJnY2xhc3MiLCJjIiwicG9zaXRpb25zIiwiVE9QX1NUQVJUIiwiVE9QX0VORCIsIlRPUF9DRU5URVIiLCJCT1RUT01fQ0VOVEVSIiwiQk9UVE9NX1NUQVJUIiwiQk9UVE9NX0VORCIsInR5cGVzIiwiREVGQVVMVCIsIlBSSU1BUlkiLCJJTkZPIiwiU1VDQ0VTUyIsIldBUk5JTkciLCJEQU5HRVIiLCJEQVJLIiwiU0VDT05EQVJZIiwiU1dFRVQiLCJoYXNDbGFzcyIsImVsZW1lbnQiLCJjbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImF1ZGlvRmlsZSIsInBhcmVudEVsZW1lbnQiLCJ0aGlzIiwic2VsZWN0b3IiLCJBdWRpbyIsInBhcmVudCIsIm1ha2UiLCJpZCIsInF1ZXJ5U2VsZWN0b3IiLCJhcHBlbmRDaGlsZCIsImlucHV0IiwicmVmZXJlbmNlIiwidGltZXMiLCJTRUNPTkQiLCJNSU5VVEUiLCJIT1VSIiwiREFZIiwiV0VFSyIsIllFQVIiLCJNT05USCIsImZvcm1hdHMiLCJOdW1iZXIiLCJNQVhfVkFMVUUiLCJEYXRlIiwiZ2V0VGltZSIsInByaW50IiwiZm9ybWF0IiwiaW5kZXgiLCJsZW5ndGgiLCJkZWx0YSIsInVuZGVmaW5lZCIsIk1hdGgiLCJyb3VuZCIsInN0ckZvcm1hdCIsInN0ciIsInZhbHVlcyIsImtleXMiLCJyZWdleCIsIlJlZ0V4cCIsInJlcGxhY2UiLCJrZXkiLCJtYWtlSWQiLCJTdHJpbmciLCJmbG9vciIsInJhbmRvbSIsIm9wdGlvbnMiLCJjbG9zZUV2ZW50IiwiZGVzdHJveSIsIml0ZW0iLCJhdmF0YXIiLCJkaXNtaXNzaWJsZSIsImR1cmF0aW9uIiwib2Zmc2V0IiwicGF1c2FibGUiLCJwb3NpdGlvbiIsInByb2dyZXNzIiwic25hY2tiYXIiLCJzb3VuZFNvdXJjZSIsInNvdW5kYWJsZSIsInN1YnRpdGxlIiwicmVsYXRpdmUiLCJkYXRldGltZSIsIm5vdyIsInRleHQiLCJ0aXRsZSIsInR5cGUiLCJncm91cCIsImluY2x1ZGVzIiwicHJlZmVyZW5jZXMiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJzcGFjZUJldHdlZW4iLCJzb3VuZCIsImNyZWF0ZWRBdCIsInRvU3RyaW5nIiwidGltZW91dCIsInNldFRpbWVvdXQiLCJwcm9ncmVzc0ludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJwYXVzZVByb2dyZXNzSW50ZXJ2YWwiLCJwcm9ncmVzc1N0YXJ0VGltZSIsInNob3ciLCJyb290IiwidG9hc3QiLCJidWlsZCIsImluc2VydEJlZm9yZSIsImZpcnN0Q2hpbGQiLCJpbnN0YW5jZSIsInBsYXkiLCJjYXRjaCIsImNvbnNvbGUiLCJ3YXJuIiwib3JnYW5pemUiLCJjb250YWluZXJFbGVtZW50IiwiY29udGFpbmVyIiwic3R5bGUiLCJ6SW5kZXgiLCJ0b2FzdEVsZW1lbnQiLCJhZGQiLCJzZXRBdHRyaWJ1dGUiLCJ0b0xvd2VyQ2FzZSIsIkJvb2xlYW4iLCJjb250ZXh0IiwiaGVhZGVyRWxlbWVudCIsImF2YXRhckVsZW1lbnQiLCJzcmMiLCJ3aWR0aCIsImhlaWdodCIsIkF2YXRhckNvbXBvbmVudCIsIm9uQ2xvc2VFdmVudCIsImNsb3NlQnRuRWxlbWVudCIsInRpdGxlRWxlbWVudCIsImlubmVyVGV4dCIsInRpbWVFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2dCIsInN0b3BQcm9wYWdhdGlvbiIsIkhlYWRlckNvbXBvbmVudCIsImJvZHlFbGVtZW50IiwiaW5uZXJIVE1MIiwiVG9hc3RCb2R5IiwiZmFjdG9yeSIsInByb2dyZXNzRWxlbWVudCIsImluZGljYXRvckVsZW1lbnQiLCJhbmltYXRpb25EdXJhdGlvbiIsIlByb2dyZXNzQ29tcG9uZW50IiwiUmVzaXplT2JzZXJ2ZXIiLCJvYnNlcnZlIiwiY2xlYXJUaW1lb3V0Iiwic3BsaXQiLCJmb3JFYWNoIiwiZSIsInVzZXJSb290RWxlbWVudCIsIkFycmF5IiwiaXNBcnJheSIsImJvZHkiLCJyZW1vdmUiLCJvbkNsb3NlIiwid2luZG93IiwicGFyZW50Tm9kZSIsInJlbW92ZUNoaWxkIiwidG9wTGVmdE9mZnNldFNpemUiLCJ0b3AiLCJib3R0b20iLCJ0b3BSaWdodE9mZnNldFNpemUiLCJvZmZzZXRTaXplIiwid2luZG93V2lkdGgiLCJpbm5lcldpZHRoIiwic2NyZWVuIiwiY2xhc3NVc2VkIiwidG9hc3RzIiwicXVlcnlTZWxlY3RvckFsbCIsInRvYXN0SGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0Iiwic3Vic3RyIiwiVFlQRV9DSEVDSyIsInJlc29sdmUiLCJwYXRoIiwib2JqIiwic2VwYXJhdG9yIiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJjaGVja3MiLCJ0b2FzdHN0cmFwIiwiY2hlY2siLCJmaXJzdEluZGV4Iiwic2Vjb25kSW5kZXgiLCJsYXN0SW5kZXgiLCJvcHRpb24iLCJ0b2FzdHN0cmFwX3Bvc2l0aW9uIiwidG9hc3RzdHJhcF90eXBlIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file +var Toaststrap; +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./src/assets/styles.scss": +/*!********************************!*\ + !*** ./src/assets/styles.scss ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +// extracted by mini-css-extract-plugin + + +/***/ }), + +/***/ "./src/RelativeDate.ts": +/*!*****************************!*\ + !*** ./src/RelativeDate.ts ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +var RelativeDate = /** @class */ (function () { + function RelativeDate(input, reference) { + this.times = { + SECOND: 1000, + MINUTE: 60 * 1000, + HOUR: 60 * 60 * 1000, + DAY: 24 * 60 * 60 * 1000, + WEEK: 7 * 24 * 60 * 60 * 1000, + YEAR: 365 * 24 * 60 * 60 * 1000, + MONTH: (365 * 24 * 60 * 60 * 1000) / 12, + }; + this.formats = [ + [0.7 * this.times.MINUTE, "just now"], + [1.5 * this.times.MINUTE, "a minute ago"], + [60 * this.times.MINUTE, "minutes ago", this.times.MINUTE], + [1.5 * this.times.HOUR, "an hour ago"], + [this.times.DAY, "hours ago", this.times.HOUR], + [2 * this.times.DAY, "yesterday"], + [7 * this.times.DAY, "days ago", this.times.DAY], + [1.5 * this.times.WEEK, "a week ago"], + [this.times.MONTH, "weeks ago", this.times.WEEK], + [1.5 * this.times.MONTH, "a month ago"], + [this.times.YEAR, "months ago", this.times.MONTH], + [1.5 * this.times.YEAR, "a year ago"], + [Number.MAX_VALUE, "years ago", this.times.YEAR], + ]; + this.input = input; + this.reference = reference; + if (!reference) { + this.reference = (new Date()).getTime(); + } + else if (reference instanceof Date) { + this.reference = reference.getTime(); + } + if (input instanceof Date) { + this.input.getTime(); + } + if (typeof input === "string") { + this.input = +new Date(input).getTime(); + } + return this; + } + RelativeDate.prototype.print = function () { + var delta = this.reference - this.input; + var format; + var index; + var length; + for (index = -1, length = this.formats.length; ++index < length;) { + format = this.formats[index]; + if (delta < format[0]) { + return format[2] == undefined ? format[1] : Math.round(delta / format[2]) + " " + format[1]; + } + } + return "Unknown"; + }; + return RelativeDate; +}()); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RelativeDate); + + +/***/ }), + +/***/ "./src/Toaststrap.ts": +/*!***************************!*\ + !*** ./src/Toaststrap.ts ***! + \***************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _preferences__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./preferences */ "./src/preferences.ts"); +/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ "./src/helpers.ts"); +/* harmony import */ var _components_header__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/header */ "./src/components/header.ts"); +/* harmony import */ var _components_body__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/body */ "./src/components/body.ts"); +/* harmony import */ var _components_container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/container */ "./src/components/container.ts"); +/* harmony import */ var _components_sound__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/sound */ "./src/components/sound.ts"); +/* harmony import */ var _components_progress__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/progress */ "./src/components/progress.ts"); +/* harmony import */ var _RelativeDate__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./RelativeDate */ "./src/RelativeDate.ts"); +/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Util */ "./src/Util.ts"); +var __assign = (undefined && undefined.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + + + + + + + + + + +/** + * Toaststrap class for building and generating the toast. + * + * @class Toaststrap + * + * @version 1.1.0 + */ +var Toaststrap = /** @class */ (function () { + /** + * Create a Toaststrap. + * + * @param {OptionsType} options - Available options to customize the toast. + */ + function Toaststrap(options) { + var _this = this; + /** + * Event to close toast. Used in header component. + * + * @return {void} + */ + this.closeEvent = function () { + _this.destroy(_this.item); + }; + this.options = __assign({ avatar: "", dismissible: true, duration: 3000, offset: 10, parent: "body", pausable: true, position: _preferences__WEBPACK_IMPORTED_MODULE_0__.POSITIONS.TOP_END, progress: true, snackbar: false, soundSource: "", soundable: false, subtitle: { + relative: true, + datetime: Date.now() + }, text: "", title: "", type: _preferences__WEBPACK_IMPORTED_MODULE_0__.TYPES.DEFAULT }, options); + // Set the toast timeout. + if (typeof this.options.subtitle !== "string") { + if (typeof this.options.subtitle === "object" && "datetime" in this.options.subtitle) { + var delta = this.options.subtitle; + if ("relative" in this.options.subtitle && this.options.subtitle.relative) { + this.options.subtitle = (new _RelativeDate__WEBPACK_IMPORTED_MODULE_7__["default"](delta.datetime).print()); + } + else { + this.options.subtitle = String(delta.datetime); + } + } + } + // Set toast group. + // The toast group used to organized the toasts. + this.group = this.options.position || _preferences__WEBPACK_IMPORTED_MODULE_0__.POSITIONS.TOP_END; + if (Object.keys(_preferences__WEBPACK_IMPORTED_MODULE_0__.POSITIONS).includes(this.options.position)) { + this.options.position = _preferences__WEBPACK_IMPORTED_MODULE_0__["default"].positions[this.options.position]; + } + else { + this.options.position = _preferences__WEBPACK_IMPORTED_MODULE_0__["default"].positions.TOP_END; + } + this.item = document.createElement("div"); + this.spaceBetween = 5; + if (this.options.soundable && this.options.soundSource && this.options.soundSource.length > 0) { + this.sound = new _components_sound__WEBPACK_IMPORTED_MODULE_5__["default"](this.options.soundSource, this.parentElement); + } + this.id = _Util__WEBPACK_IMPORTED_MODULE_8__["default"].makeId(); + this.createdAt = Date.now().toString(); + this.timeout = setTimeout(function () { + }, 0); + this.progressInterval = setInterval(function () { + }, 0); + this.pauseProgressInterval = false; + this.progressStartTime = 0; + } + /** + * Push the toast to the document parent node. + * + * @return {this} The toast instance. + */ + Toaststrap.prototype.show = function () { + var root = this.parentElement; + var toast = this.build; + root.insertBefore(toast, root.firstChild); + // Play sound if it's allowed. + if (this.sound) { + this.sound.instance.play().catch(function () { + console.warn("Sound source given not found or not supported."); + }); + } + // Order toasts. + this.organize(); + return this; + }; + Object.defineProperty(Toaststrap.prototype, "build", { + /** + * Build the toast element. + * + * @return {HTMLElement} The generated toast. + */ + get: function () { + var _a; + var _this = this; + // Container Element + var container = (0,_components_container__WEBPACK_IMPORTED_MODULE_4__.ToastContainer)(this); + // Toast Element + var toastElement = document.createElement("div"); + toastElement.classList.add("toast"); + container.setAttribute("data-id", this.id); + container.setAttribute("data-created-at", this.createdAt); + container.setAttribute("data-type", this.options.type ? this.options.type.toLowerCase() : ""); + container.setAttribute("data-group", this.group); + container.setAttribute("data-snackbar", String(this.options.snackbar)); + // Toast Header (only if option hideHeader is set to false). + if (!Boolean(this.options.snackbar)) { + toastElement.appendChild((0,_components_header__WEBPACK_IMPORTED_MODULE_2__.HeaderComponent)(this)); + } + else { + (_a = toastElement.classList).add.apply(_a, _preferences__WEBPACK_IMPORTED_MODULE_0__["default"].types[this.options.type]); + } + // Toast Body + toastElement.appendChild((0,_components_body__WEBPACK_IMPORTED_MODULE_3__.ToastBody)(this)); + if (this.options.progress) { + // Toast Progress + toastElement.appendChild((0,_components_progress__WEBPACK_IMPORTED_MODULE_6__.ProgressComponent)(this)); + } + // Put toast into it's container. + container.appendChild(toastElement); + // Watch toast height changed, and re-order if happen. + new ResizeObserver(function () { + _this.organize(); + }).observe(container); + // Toast instance. + this.item = container; + // Show the toast by adding class (.show) + container.classList.add("show"); + if (this.options.duration > 0) { + this.timeout = setTimeout(function () { + _this.destroy(container); + }, this.options.duration); + if (this.options.pausable) { + var touchStartCallBack_1 = function () { + clearTimeout(_this.timeout); + _this.pauseProgressInterval = true; + }; + var touchEndCallBack_1 = function () { + _this.pauseProgressInterval = false; + _this.progressStartTime = new Date().getTime(); + _this.timeout = setTimeout(function () { + _this.destroy(_this.item); + }, _this.options.duration); + }; + "mouseover touchstart touchend".split(" ").forEach(function (e) { + _this.item.addEventListener(e, touchStartCallBack_1); + }); + "mouseleave touchend".split(" ").forEach(function (e) { + _this.item.addEventListener(e, touchEndCallBack_1); + }); + } + } + // Return toast instance. + return container; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Toaststrap.prototype, "parentElement", { + /** + * The parent element, which will contain the toasts. + * @return {Element} The main element selected by the user if available, or the default parent. + */ + get: function () { + if (this.options.parent) { + var userRootElement = document.querySelector(this.options.parent); + if (!userRootElement) { + throw "User root element not exists."; + } + if (Array.isArray(userRootElement)) { + return userRootElement[0]; + } + return userRootElement; + } + return document.body; + }, + enumerable: false, + configurable: true + }); + /** + * Remove the element from dom after timeout finished. + */ + Toaststrap.prototype.destroy = function (toastElement) { + // Hide the element. + toastElement.classList.remove("show"); + if (typeof this.options.onClose === "function") { + this.options.onClose(this); + } + window.setTimeout(function () { + var _a; + (_a = toastElement.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(toastElement); + }, 400); + }; + Toaststrap.prototype.organize = function () { + var _this = this; + var offset = this.options.offset; + var topLeftOffsetSize = { + top: Number(offset), + bottom: Number(offset), + }; + var topRightOffsetSize = { + top: Number(offset), + bottom: Number(offset), + }; + var offsetSize = { + top: Number(offset), + bottom: Number(offset), + }; + var selector = ".".concat((0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("container"), "[data-group='").concat(this.group, "']"); + var windowWidth = window.innerWidth > 0 ? window.innerWidth : screen.width; + if (windowWidth <= 360) { + selector = ".".concat((0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("container")); + } + var toasts = document.querySelectorAll(selector); + var classUsed; + if (toasts.length > 0) { + toasts.forEach(function (toast) { + if ((0,_helpers__WEBPACK_IMPORTED_MODULE_1__.hasClass)(toast, (0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("top"))) { + classUsed = (0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("top"); + } + else if ((0,_helpers__WEBPACK_IMPORTED_MODULE_1__.hasClass)(toast, (0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("middle"))) { + classUsed = (0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("middle"); + } + else { + classUsed = (0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("bottom"); + } + var toastHeight = toast.offsetHeight; + classUsed = classUsed.substr("".concat(_preferences__WEBPACK_IMPORTED_MODULE_0__.cprefix, "-").length - 1, classUsed.length - 1); + // Show toast in center if screen with less than or equal to 360px. + if (windowWidth <= 360) { + toast.style[classUsed] = offsetSize[classUsed] + "px"; + offsetSize[classUsed] += toastHeight + _this.spaceBetween; + } + else { + if ((0,_helpers__WEBPACK_IMPORTED_MODULE_1__.hasClass)(toast, "start-".concat(_this.options.offset))) { + toast.style[classUsed] = topLeftOffsetSize[classUsed] + "px"; + topLeftOffsetSize[classUsed] += toastHeight + _this.spaceBetween; + } + else { + toast.style[classUsed] = topRightOffsetSize[classUsed] + "px"; + topRightOffsetSize[classUsed] += toastHeight + _this.spaceBetween; + } + } + }); + } + }; + return Toaststrap; +}()); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Toaststrap); + + +/***/ }), + +/***/ "./src/Util.ts": +/*!*********************!*\ + !*** ./src/Util.ts ***! + \*********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Provides some useful utility. + * @class Util + */ +var Util = /** @class */ (function () { + function Util() { + } + /** + * Format a string template. + * @param {string} str String to be format. + * @param {object} values The values object. + * @return string + */ + Util.strFormat = function (str, values) { + if (str && Object.keys(values).length > 0) { + var regex = new RegExp(/([{}])\1|[{](.*?)(?:!(.+?))?[}]/g); + return str.replace(regex, function (index) { + var key = index.replace(/{/, "").replace(/}/, ""); + if (!values[key]) { + return index; + } + return values[key]; + }); + } + return str; + }; + /** + * Generate an unique identifier. + * @return string + */ + Util.makeId = function () { + return String(Math.floor(10000000000 + Math.random() * 9000000000)); + }; + return Util; +}()); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Util); + + +/***/ }), + +/***/ "./src/components/body.ts": +/*!********************************!*\ + !*** ./src/components/body.ts ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "ToastBody": () => (/* binding */ ToastBody) +/* harmony export */ }); +var ToastBody = function (context) { + var options = context.options; + var bodyElement = document.createElement("div"); + bodyElement.classList.add("toast-body"); + bodyElement.innerHTML = options.text; + return bodyElement; +}; + + +/***/ }), + +/***/ "./src/components/container.ts": +/*!*************************************!*\ + !*** ./src/components/container.ts ***! + \*************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "ToastContainer": () => (/* binding */ ToastContainer) +/* harmony export */ }); +/* harmony import */ var _preferences__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../preferences */ "./src/preferences.ts"); + +var ToastContainer = function (context) { + var options = context.options; + var containerElement = document.createElement("div"); + containerElement.className = "".concat(context.options.parent ? "position-absolute" : "position-fixed", " ").concat(options.position, "-").concat(options.offset, " ").concat((0,_preferences__WEBPACK_IMPORTED_MODULE_0__.gclass)("container")); + containerElement.style.zIndex = "2500"; + return containerElement; +}; + + +/***/ }), + +/***/ "./src/components/header.ts": +/*!**********************************!*\ + !*** ./src/components/header.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "HeaderComponent": () => (/* binding */ HeaderComponent) +/* harmony export */ }); +/* harmony import */ var _preferences__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../preferences */ "./src/preferences.ts"); + +var AvatarComponent = function (options) { + var avatarElement = document.createElement("img"); + avatarElement.classList.add("rounded", "me-2"); + avatarElement.src = options.avatar || ""; + avatarElement.width = 20; + avatarElement.height = 20; + return avatarElement; +}; +var CloseButtonComponent = function (onCloseEvent) { + var closeBtnElement = document.createElement("button"); + closeBtnElement.classList.add("btn-close"); + closeBtnElement.setAttribute("type", "button"); + closeBtnElement.setAttribute("area-label", "Close"); + closeBtnElement.addEventListener("click", function (evt) { + evt.stopPropagation(); + onCloseEvent(); + }); + return closeBtnElement; +}; +var HeaderComponent = function (context) { + var _a; + var options = context.options; + var headerElement = document.createElement("div"); + headerElement.classList.add("toast-header"); + // Avatar element + if (options.avatar) { + headerElement.appendChild(AvatarComponent(options)); + } + if (options.type) { + (_a = headerElement.classList).add.apply(_a, _preferences__WEBPACK_IMPORTED_MODULE_0__["default"].types[options.type]); + } + // Create title element. + var titleElement = document.createElement("strong"); + titleElement.classList.add("me-auto"); + titleElement.innerText = options.title; + headerElement.appendChild(titleElement); + if (options.subtitle) { + // time + var timeElement = document.createElement("small"); + if (typeof options.subtitle === "string") { + timeElement.innerText = options.subtitle; + } + headerElement.appendChild(timeElement); + } + // Close button + if (options.dismissible) { + headerElement.appendChild(CloseButtonComponent(context.closeEvent)); + } + // Return header element. + return headerElement; +}; + + +/***/ }), + +/***/ "./src/components/progress.ts": +/*!************************************!*\ + !*** ./src/components/progress.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "ProgressComponent": () => (/* binding */ ProgressComponent) +/* harmony export */ }); +var ProgressComponent = function (factory) { + var duration = factory.options.duration; + var progressElement = document.createElement("div"); + progressElement.classList.add("toast-footer"); + var indicatorElement = document.createElement("div"); + indicatorElement.classList.add("toast-footer-inner"); + progressElement.appendChild(indicatorElement); + if (duration > 0) { + duration < 100 ? duration = duration * 1000 : duration; + indicatorElement.style.animationDuration = "".concat(duration, "ms"); + } + /** + * I made this to make progress move when duration is set. + * But it's kill the performance, so I decided to use CSS to do that. + * + * @deprecated + */ + // @ts-ignore + var start = function () { + factory.progressStartTime = new Date().getTime(); + // >..< I will just use css to do that. + if (duration > 0) { + factory.progressInterval = setInterval(function () { + if (!factory.pauseProgressInterval) { + var diff = Math.round(new Date().getTime() - factory.progressStartTime); + var value = Math.round(diff / duration * 100); + value = value > 100 ? 100 : value; + indicatorElement.style.width = value + "%"; + if (diff >= duration) { + clearInterval(factory.progressInterval); + } + } + }, 100); + } + }; + return progressElement; +}; + + +/***/ }), + +/***/ "./src/components/sound.ts": +/*!*********************************!*\ + !*** ./src/components/sound.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _preferences__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../preferences */ "./src/preferences.ts"); + +var Sound = /** @class */ (function () { + function Sound(audioFile, parentElement) { + this.selector = "".concat(_preferences__WEBPACK_IMPORTED_MODULE_0__.cprefix, "-notification"); + this.element = new Audio(audioFile); + this.parent = parentElement; + this.make(); + return this; + } + Sound.prototype.make = function () { + this.element.id = this.selector; + if (!this.parent.querySelector("#" + this.selector)) { + this.parent.appendChild(this.element); + } + }; + Object.defineProperty(Sound.prototype, "instance", { + get: function () { + return this.element; + }, + enumerable: false, + configurable: true + }); + return Sound; +}()); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Sound); + + +/***/ }), + +/***/ "./src/helpers.ts": +/*!************************!*\ + !*** ./src/helpers.ts ***! + \************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "hasClass": () => (/* binding */ hasClass) +/* harmony export */ }); +var hasClass = function (element, className) { + return element.classList.contains(className); +}; + + + +/***/ }), + +/***/ "./src/preferences.ts": +/*!****************************!*\ + !*** ./src/preferences.ts ***! + \****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "cprefix": () => (/* binding */ cprefix), +/* harmony export */ "gclass": () => (/* binding */ gclass), +/* harmony export */ "POSITIONS": () => (/* binding */ POSITIONS), +/* harmony export */ "TYPES": () => (/* binding */ TYPES), +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Prefix will be applied to all css classes. + */ +var cprefix = "toaststrap-"; +/** + * Get the classname with the prefix. + * @param {string} c + */ +function gclass(c) { + return cprefix + c; +} +var POSITIONS; +(function (POSITIONS) { + POSITIONS["TOP_START"] = "TOP_START"; + POSITIONS["TOP_END"] = "TOP_END"; + POSITIONS["TOP_CENTER"] = "TOP_CENTER"; + POSITIONS["BOTTOM_START"] = "BOTTOM_START"; + POSITIONS["BOTTOM_END"] = "BOTTOM_END"; + POSITIONS["BOTTOM_CENTER"] = "BOTTOM_CENTER"; +})(POSITIONS || (POSITIONS = {})); +var TYPES; +(function (TYPES) { + TYPES["DEFAULT"] = "DEFAULT"; + TYPES["PRIMARY"] = "PRIMARY"; + TYPES["INFO"] = "INFO"; + TYPES["SUCCESS"] = "SUCCESS"; + TYPES["WARNING"] = "WARNING"; + TYPES["DANGER"] = "DANGER"; + TYPES["DARK"] = "DARK"; + TYPES["SWEET"] = "SWEET"; +})(TYPES || (TYPES = {})); +/** + * + */ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + positions: { + // TOP + TOP_START: gclass("top") + " " + gclass("start"), + TOP_END: gclass("top") + " " + gclass("end"), + TOP_CENTER: gclass("top") + " " + gclass("center"), + // Bottom + BOTTOM_CENTER: gclass("bottom") + " " + gclass("center"), + BOTTOM_START: gclass("bottom") + " " + gclass("start"), + BOTTOM_END: gclass("bottom") + " " + gclass("end"), + }, + types: { + DEFAULT: ["bg-default"], + PRIMARY: ["bg-primary", "text-light"], + INFO: ["bg-info", "text-light"], + SUCCESS: ["bg-success", "text-light"], + WARNING: ["bg-warning", "text-dark"], + DANGER: ["bg-danger", "text-light"], + DARK: ["bg-dark", "text-light"], + SECONDARY: ["bg-secondary", "text-light"], + // I made this one for fun, you can add your own styles too. + SWEET: ["bg-sweet", "text-light"], + }, +}); + + +/***/ }), + +/***/ "./src/typecheck.ts": +/*!**************************!*\ + !*** ./src/typecheck.ts ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _Util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Util */ "./src/Util.ts"); +/**---------------------------------- + * Checking and securing options types. + * Only for browsers. + *----------------------------------*/ + +var TYPE_CHECK = "TypeError: Option {option} should be in type {type}."; +var resolve = function (path, obj, separator) { + if (obj === void 0) { obj = self; } + if (separator === void 0) { separator = "."; } + var properties = Array.isArray(path) ? path : path.split(separator); + // @ts-ignore + return properties.reduce(function (prev, curr) { return prev && prev[curr]; }, obj); +}; +var checks = [ + [TYPE_CHECK, "dismissible", "boolean"], + [TYPE_CHECK, "duration", "number"], + [TYPE_CHECK, "offset", "number"], + [TYPE_CHECK, "onClose", "function"], + [TYPE_CHECK, "onShow", "function"], + [TYPE_CHECK, "parent", "string"], + [TYPE_CHECK, "pausable", "boolean"], + [TYPE_CHECK, "position", "string"], + [TYPE_CHECK, "progress", "boolean"], + [TYPE_CHECK, "snackbar", "boolean"], + [TYPE_CHECK, "soundSource", "string"], + [TYPE_CHECK, "soundable", "boolean"], + [TYPE_CHECK, "subtitle", ["string", "object"]], + [TYPE_CHECK, "text", "string"], + [TYPE_CHECK, "title", "string"], + [TYPE_CHECK, "type", "string"], + [TYPE_CHECK, "subtitle.relative", "boolean"], + [TYPE_CHECK, "subtitle.datetime", ["string", "Date", "number"]], +]; +var filters = function (options) { + if (checks.length > 0) { + checks.forEach(function (check) { + var firstIndex = check[0]; + var secondIndex = check[1]; + var lastIndex = check[2]; + if (Array.isArray(lastIndex)) { + var succeed_1 = false; + lastIndex.forEach(function (type) { + // @ts-ignore + if (typeof resolve(secondIndex, options) !== "undefined" && typeof resolve(secondIndex, options) === type) { + succeed_1 = true; + return; + } + }); + if (!succeed_1) { + // @ts-ignore + throw _Util__WEBPACK_IMPORTED_MODULE_0__["default"].strFormat(firstIndex, { option: secondIndex, type: lastIndex.toString() }); + } + } + else { + // @ts-ignore + if (resolve(secondIndex, options) && typeof resolve(secondIndex, options) !== lastIndex) { + // @ts-ignore + throw _Util__WEBPACK_IMPORTED_MODULE_0__["default"].strFormat(firstIndex, { option: secondIndex, type: lastIndex }); + } + } + }); + } +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (filters); + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +/*!************************!*\ + !*** ./src/browser.ts ***! + \************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Toaststrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Toaststrap */ "./src/Toaststrap.ts"); +/* harmony import */ var _preferences__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preferences */ "./src/preferences.ts"); +/* harmony import */ var _assets_styles_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assets/styles.scss */ "./src/assets/styles.scss"); +/* harmony import */ var _typecheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typecheck */ "./src/typecheck.ts"); +var __assign = (undefined && undefined.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + + + + +/** + * + * @param {OptionsType} options + */ +var initialize = function (options) { + // Type checks. + if (Object.keys(options).length) { + (0,_typecheck__WEBPACK_IMPORTED_MODULE_3__["default"])(options); + } + return new _Toaststrap__WEBPACK_IMPORTED_MODULE_0__["default"](__assign({}, options)); +}; +// Window +window.toaststrap = initialize; +window.toaststrap_position = _preferences__WEBPACK_IMPORTED_MODULE_1__.POSITIONS; +window.toaststrap_type = _preferences__WEBPACK_IMPORTED_MODULE_1__.TYPES; + +})(); + +Toaststrap = __webpack_exports__; +/******/ })() +; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ05xQztBQUVXO0FBQ25CO0FBQ0k7QUFVakM7OztHQUdHO0FBQ0gsSUFBTSxVQUFVLEdBQUcsVUFBQyxPQUFvQjtJQUV0QyxlQUFlO0lBQ2YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUMvQixzREFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ2xCO0lBQ0QsT0FBTyxJQUFJLG1EQUFVLGNBQ2hCLE9BQU8sRUFDVjtBQUNKLENBQUM7QUFFRCxTQUFTO0FBQ1QsTUFBTSxDQUFDLFVBQVUsR0FBRyxVQUFVO0FBQzlCLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxtREFBUztBQUN0QyxNQUFNLENBQUMsZUFBZSxHQUFHLCtDQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9hc3NldHMvc3R5bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9SZWxhdGl2ZURhdGUudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9Ub2FzdHN0cmFwLnRzIiwid2VicGFjazovL1RvYXN0c3RyYXAvLi9zcmMvVXRpbC50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL2NvbXBvbmVudHMvYm9keS50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL2NvbXBvbmVudHMvY29udGFpbmVyLnRzIiwid2VicGFjazovL1RvYXN0c3RyYXAvLi9zcmMvY29tcG9uZW50cy9oZWFkZXIudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9jb21wb25lbnRzL3Byb2dyZXNzLnRzIiwid2VicGFjazovL1RvYXN0c3RyYXAvLi9zcmMvY29tcG9uZW50cy9zb3VuZC50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL2hlbHBlcnMudHMiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9wcmVmZXJlbmNlcy50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwLy4vc3JjL3R5cGVjaGVjay50cyIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL1RvYXN0c3RyYXAvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL1RvYXN0c3RyYXAvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9Ub2FzdHN0cmFwL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vVG9hc3RzdHJhcC8uL3NyYy9icm93c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuZXhwb3J0IHt9OyIsImNsYXNzIFJlbGF0aXZlRGF0ZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXRzXG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZXNcbiAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFxuICBwcml2YXRlIHJlYWRvbmx5IHJlZmVyZW5jZVxuXG4gIGNvbnN0cnVjdG9yKGlucHV0LCByZWZlcmVuY2U/OiBhbnkpIHtcbiAgICB0aGlzLnRpbWVzID0ge1xuICAgICAgU0VDT05EOiAxMDAwLFxuICAgICAgTUlOVVRFOiA2MCAqIDEwMDAsXG4gICAgICBIT1VSOiA2MCAqIDYwICogMTAwMCxcbiAgICAgIERBWTogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICAgIFdFRUs6IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgICAgWUVBUjogMzY1ICogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICAgIE1PTlRIOiAoMzY1ICogMjQgKiA2MCAqIDYwICogMTAwMCkgLyAxMixcbiAgICB9XG5cblxuICAgIHRoaXMuZm9ybWF0cyA9IFtcbiAgICAgIFswLjcgKiB0aGlzLnRpbWVzLk1JTlVURSwgXCJqdXN0IG5vd1wiXSxcbiAgICAgIFsxLjUgKiB0aGlzLnRpbWVzLk1JTlVURSwgXCJhIG1pbnV0ZSBhZ29cIl0sXG4gICAgICBbNjAgKiB0aGlzLnRpbWVzLk1JTlVURSwgXCJtaW51dGVzIGFnb1wiLCB0aGlzLnRpbWVzLk1JTlVURV0sXG4gICAgICBbMS41ICogdGhpcy50aW1lcy5IT1VSLCBcImFuIGhvdXIgYWdvXCJdLFxuICAgICAgW3RoaXMudGltZXMuREFZLCBcImhvdXJzIGFnb1wiLCB0aGlzLnRpbWVzLkhPVVJdLFxuICAgICAgWzIgKiB0aGlzLnRpbWVzLkRBWSwgXCJ5ZXN0ZXJkYXlcIl0sXG4gICAgICBbNyAqIHRoaXMudGltZXMuREFZLCBcImRheXMgYWdvXCIsIHRoaXMudGltZXMuREFZXSxcbiAgICAgIFsxLjUgKiB0aGlzLnRpbWVzLldFRUssIFwiYSB3ZWVrIGFnb1wiXSxcbiAgICAgIFt0aGlzLnRpbWVzLk1PTlRILCBcIndlZWtzIGFnb1wiLCB0aGlzLnRpbWVzLldFRUtdLFxuICAgICAgWzEuNSAqIHRoaXMudGltZXMuTU9OVEgsIFwiYSBtb250aCBhZ29cIl0sXG4gICAgICBbdGhpcy50aW1lcy5ZRUFSLCBcIm1vbnRocyBhZ29cIiwgdGhpcy50aW1lcy5NT05USF0sXG4gICAgICBbMS41ICogdGhpcy50aW1lcy5ZRUFSLCBcImEgeWVhciBhZ29cIl0sXG4gICAgICBbTnVtYmVyLk1BWF9WQUxVRSwgXCJ5ZWFycyBhZ29cIiwgdGhpcy50aW1lcy5ZRUFSXSxcbiAgICBdXG5cblxuICAgIHRoaXMuaW5wdXQgPSBpbnB1dFxuICAgIHRoaXMucmVmZXJlbmNlID0gcmVmZXJlbmNlXG5cbiAgICBpZiAoIXJlZmVyZW5jZSkge1xuICAgICAgdGhpcy5yZWZlcmVuY2UgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpXG4gICAgfSBlbHNlIGlmIChyZWZlcmVuY2UgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZS5nZXRUaW1lKClcbiAgICB9XG5cbiAgICBpZiAoaW5wdXQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLmlucHV0LmdldFRpbWUoKVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRoaXMuaW5wdXQgPSArbmV3IERhdGUoaW5wdXQpLmdldFRpbWUoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBwdWJsaWMgcHJpbnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBkZWx0YSA9IHRoaXMucmVmZXJlbmNlIC0gdGhpcy5pbnB1dFxuICAgIGxldCBmb3JtYXQ6IGFueVtdXG4gICAgbGV0IGluZGV4OiBudW1iZXJcbiAgICBsZXQgbGVuZ3RoOiBudW1iZXJcblxuICAgIGZvciAoaW5kZXggPSAtMSwgbGVuZ3RoID0gdGhpcy5mb3JtYXRzLmxlbmd0aDsgKytpbmRleCA8IGxlbmd0aDspIHtcbiAgICAgIGZvcm1hdCA9IHRoaXMuZm9ybWF0c1tpbmRleF1cblxuICAgICAgaWYgKGRlbHRhIDwgZm9ybWF0WzBdKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRbMl0gPT0gdW5kZWZpbmVkID8gZm9ybWF0WzFdIDogTWF0aC5yb3VuZChkZWx0YSAvIGZvcm1hdFsyXSkgKyBcIiBcIiArIGZvcm1hdFsxXVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBcIlVua25vd25cIlxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlbGF0aXZlRGF0ZSIsImltcG9ydCBwcmVmZXJlbmNlcywgeyBjcHJlZml4LCBnY2xhc3MgfSBmcm9tIFwiLi9wcmVmZXJlbmNlc1wiXG5pbXBvcnQgeyBoYXNDbGFzcyB9IGZyb20gXCIuL2hlbHBlcnNcIlxuaW1wb3J0IHR5cGUgeyBPcHRpb25zVHlwZSwgU3ViVGl0bGVUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIlxuaW1wb3J0IHsgUE9TSVRJT05TLCBUWVBFUyB9IGZyb20gXCIuL3ByZWZlcmVuY2VzXCJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvaGVhZGVyXCJcbmltcG9ydCB7IFRvYXN0Qm9keSB9IGZyb20gXCIuL2NvbXBvbmVudHMvYm9keVwiXG5pbXBvcnQgeyBUb2FzdENvbnRhaW5lciB9IGZyb20gXCIuL2NvbXBvbmVudHMvY29udGFpbmVyXCJcbmltcG9ydCBTb3VuZCBmcm9tIFwiLi9jb21wb25lbnRzL3NvdW5kXCJcbmltcG9ydCB7IFByb2dyZXNzQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9wcm9ncmVzc1wiXG5pbXBvcnQgUmVsYXRpdmVEYXRlIGZyb20gXCIuL1JlbGF0aXZlRGF0ZVwiXG5pbXBvcnQgVXRpbCBmcm9tIFwiLi9VdGlsXCJcblxuLyoqXG4gKiBUb2FzdHN0cmFwIGNsYXNzIGZvciBidWlsZGluZyBhbmQgZ2VuZXJhdGluZyB0aGUgdG9hc3QuXG4gKlxuICogQGNsYXNzIFRvYXN0c3RyYXBcbiAqXG4gKiBAdmVyc2lvbiAxLjEuMFxuICovXG5jbGFzcyBUb2FzdHN0cmFwIHtcblxuICAvKipcbiAgICogVGhlIFRvYXN0IGlkZW50aWZpZXIuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGlkOiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIHRvYXN0IGNyZWF0ZWQgYXQgZGF0ZS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgY3JlYXRlZEF0OiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIHRvYXN0IG9wdGlvbnMuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwdWJsaWMgb3B0aW9uczogT3B0aW9uc1R5cGVcblxuICAvKipcbiAgICogR2VuZXJhdGVkIHRvYXN0IGl0ZW0uXG4gICAqIFVzZWQgdG8gZGVsZXRlLCBwYXVzZSBvciBtb2RpZnkgdGhlIGdlbmVyYXRlZCB0b2FzdC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgaXRlbTogSFRNTEVsZW1lbnRcblxuICAvKipcbiAgICogVGhlIHNvdW5kIG9iamVjdC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc291bmQ6IFNvdW5kIHwgdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIFRoZSBtYXJnaW5zIGJldHdlZW4gdGhlIHBhcmVudE5vZGUgYW5kIHRoZSBzaG93biB0b2FzdC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3BhY2VCZXR3ZWVuOiBudW1iZXJcblxuICAvKipcbiAgICogVGhlIHRvYXN0IGdyb3VwLiBVc2VkIHRvIG9yZ2FuaXplIHRoZSB0b2FzdHMuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGdyb3VwOiBzdHJpbmdcblxuICAvKipcbiAgICogVG9hc3QgdGltZS1vdXQgb2JqZWN0LlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB0aW1lb3V0OiBOb2RlSlMuVGltZW91dFxuXG4gIC8qKlxuICAgKiBUb2FzdCB0aW1lciBvYmplY3QuIFVzZWQgaW4gcHJvZ3Jlc3MuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwdWJsaWMgcHJvZ3Jlc3NJbnRlcnZhbDogTm9kZUpTLlRpbWVyXG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwdWJsaWMgcGF1c2VQcm9ncmVzc0ludGVydmFsOiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwdWJsaWMgcHJvZ3Jlc3NTdGFydFRpbWU6IG51bWJlclxuXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFRvYXN0c3RyYXAuXG4gICAqXG4gICAqIEBwYXJhbSB7T3B0aW9uc1R5cGV9IG9wdGlvbnMgLSBBdmFpbGFibGUgb3B0aW9ucyB0byBjdXN0b21pemUgdGhlIHRvYXN0LlxuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IE9wdGlvbnNUeXBlKSB7XG5cbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBhdmF0YXI6IFwiXCIsXG4gICAgICBkaXNtaXNzaWJsZTogdHJ1ZSxcbiAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgIHBhcmVudDogXCJib2R5XCIsXG4gICAgICBwYXVzYWJsZTogdHJ1ZSxcbiAgICAgIHBvc2l0aW9uOiBQT1NJVElPTlMuVE9QX0VORCxcbiAgICAgIHByb2dyZXNzOiB0cnVlLFxuICAgICAgc25hY2tiYXI6IGZhbHNlLFxuICAgICAgc291bmRTb3VyY2U6IFwiXCIsXG4gICAgICBzb3VuZGFibGU6IGZhbHNlLFxuICAgICAgc3VidGl0bGU6IHtcbiAgICAgICAgcmVsYXRpdmU6IHRydWUsXG4gICAgICAgIGRhdGV0aW1lOiBEYXRlLm5vdygpXG4gICAgICB9LFxuICAgICAgdGV4dDogXCJcIixcbiAgICAgIHRpdGxlOiBcIlwiLFxuICAgICAgdHlwZTogVFlQRVMuREVGQVVMVCxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIHRvYXN0IHRpbWVvdXQuXG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuc3VidGl0bGUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLnN1YnRpdGxlID09PSBcIm9iamVjdFwiICYmIFwiZGF0ZXRpbWVcIiBpbiB0aGlzLm9wdGlvbnMuc3VidGl0bGUpIHtcbiAgICAgICAgY29uc3QgZGVsdGE6IFN1YlRpdGxlVHlwZSA9IHRoaXMub3B0aW9ucy5zdWJ0aXRsZVxuXG4gICAgICAgIGlmIChcInJlbGF0aXZlXCIgaW4gdGhpcy5vcHRpb25zLnN1YnRpdGxlICYmIHRoaXMub3B0aW9ucy5zdWJ0aXRsZS5yZWxhdGl2ZSkge1xuICAgICAgICAgIHRoaXMub3B0aW9ucy5zdWJ0aXRsZSA9IChuZXcgUmVsYXRpdmVEYXRlKGRlbHRhLmRhdGV0aW1lKS5wcmludCgpKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3B0aW9ucy5zdWJ0aXRsZSA9IFN0cmluZyhkZWx0YS5kYXRldGltZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCB0b2FzdCBncm91cC5cbiAgICAvLyBUaGUgdG9hc3QgZ3JvdXAgdXNlZCB0byBvcmdhbml6ZWQgdGhlIHRvYXN0cy5cbiAgICB0aGlzLmdyb3VwID0gdGhpcy5vcHRpb25zLnBvc2l0aW9uISB8fCBQT1NJVElPTlMuVE9QX0VORFxuXG5cbiAgICBpZiAoT2JqZWN0LmtleXMoUE9TSVRJT05TKS5pbmNsdWRlcyh0aGlzLm9wdGlvbnMucG9zaXRpb24hKSkge1xuICAgICAgdGhpcy5vcHRpb25zLnBvc2l0aW9uID0gcHJlZmVyZW5jZXMucG9zaXRpb25zW3RoaXMub3B0aW9ucy5wb3NpdGlvbiFdXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9ucy5wb3NpdGlvbiA9IHByZWZlcmVuY2VzLnBvc2l0aW9ucy5UT1BfRU5EXG4gICAgfVxuXG4gICAgdGhpcy5pdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKVxuICAgIHRoaXMuc3BhY2VCZXR3ZWVuID0gNVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5zb3VuZGFibGUgJiYgdGhpcy5vcHRpb25zLnNvdW5kU291cmNlICYmIHRoaXMub3B0aW9ucy5zb3VuZFNvdXJjZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNvdW5kID0gbmV3IFNvdW5kKHRoaXMub3B0aW9ucy5zb3VuZFNvdXJjZSwgdGhpcy5wYXJlbnRFbGVtZW50KVxuICAgIH1cblxuICAgIHRoaXMuaWQgPSBVdGlsLm1ha2VJZCgpXG4gICAgdGhpcy5jcmVhdGVkQXQgPSBEYXRlLm5vdygpLnRvU3RyaW5nKClcbiAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICB9LCAwKVxuICAgIHRoaXMucHJvZ3Jlc3NJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICB9LCAwKVxuICAgIHRoaXMucGF1c2VQcm9ncmVzc0ludGVydmFsID0gZmFsc2VcbiAgICB0aGlzLnByb2dyZXNzU3RhcnRUaW1lID0gMFxuXG4gIH1cblxuICAvKipcbiAgICogUHVzaCB0aGUgdG9hc3QgdG8gdGhlIGRvY3VtZW50IHBhcmVudCBub2RlLlxuICAgKlxuICAgKiBAcmV0dXJuIHt0aGlzfSBUaGUgdG9hc3QgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB0aGlzIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5wYXJlbnRFbGVtZW50XG4gICAgY29uc3QgdG9hc3QgPSB0aGlzLmJ1aWxkXG5cbiAgICByb290Lmluc2VydEJlZm9yZSh0b2FzdCwgcm9vdC5maXJzdENoaWxkKVxuXG4gICAgLy8gUGxheSBzb3VuZCBpZiBpdCdzIGFsbG93ZWQuXG4gICAgaWYgKHRoaXMuc291bmQpIHtcbiAgICAgIHRoaXMuc291bmQuaW5zdGFuY2UucGxheSgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiU291bmQgc291cmNlIGdpdmVuIG5vdCBmb3VuZCBvciBub3Qgc3VwcG9ydGVkLlwiKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBPcmRlciB0b2FzdHMuXG4gICAgdGhpcy5vcmdhbml6ZSgpXG5cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgdG8gY2xvc2UgdG9hc3QuIFVzZWQgaW4gaGVhZGVyIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHB1YmxpYyBjbG9zZUV2ZW50ID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuZGVzdHJveSh0aGlzLml0ZW0pXG4gIH1cblxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgdG9hc3QgZWxlbWVudC5cbiAgICpcbiAgICogQHJldHVybiB7SFRNTEVsZW1lbnR9IFRoZSBnZW5lcmF0ZWQgdG9hc3QuXG4gICAqL1xuICBwcml2YXRlIGdldCBidWlsZCgpOiBIVE1MRWxlbWVudCB7XG5cbiAgICAvLyBDb250YWluZXIgRWxlbWVudFxuICAgIGNvbnN0IGNvbnRhaW5lciA9IFRvYXN0Q29udGFpbmVyKHRoaXMpXG5cbiAgICAvLyBUb2FzdCBFbGVtZW50XG4gICAgY29uc3QgdG9hc3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKVxuICAgIHRvYXN0RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidG9hc3RcIilcblxuICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJkYXRhLWlkXCIsIHRoaXMuaWQpXG4gICAgY29udGFpbmVyLnNldEF0dHJpYnV0ZShcImRhdGEtY3JlYXRlZC1hdFwiLCB0aGlzLmNyZWF0ZWRBdClcbiAgICBjb250YWluZXIuc2V0QXR0cmlidXRlKFwiZGF0YS10eXBlXCIsIHRoaXMub3B0aW9ucy50eXBlID8gdGhpcy5vcHRpb25zLnR5cGUudG9Mb3dlckNhc2UoKSA6IFwiXCIpXG4gICAgY29udGFpbmVyLnNldEF0dHJpYnV0ZShcImRhdGEtZ3JvdXBcIiwgdGhpcy5ncm91cClcbiAgICBjb250YWluZXIuc2V0QXR0cmlidXRlKFwiZGF0YS1zbmFja2JhclwiLCBTdHJpbmcodGhpcy5vcHRpb25zLnNuYWNrYmFyKSlcblxuICAgIC8vIFRvYXN0IEhlYWRlciAob25seSBpZiBvcHRpb24gaGlkZUhlYWRlciBpcyBzZXQgdG8gZmFsc2UpLlxuICAgIGlmICghQm9vbGVhbih0aGlzLm9wdGlvbnMuc25hY2tiYXIpKSB7XG4gICAgICB0b2FzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoSGVhZGVyQ29tcG9uZW50KHRoaXMpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5wcmVmZXJlbmNlcy50eXBlc1t0aGlzLm9wdGlvbnMudHlwZV0pXG4gICAgfVxuXG4gICAgLy8gVG9hc3QgQm9keVxuICAgIHRvYXN0RWxlbWVudC5hcHBlbmRDaGlsZChUb2FzdEJvZHkodGhpcykpXG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByb2dyZXNzKSB7XG4gICAgICAvLyBUb2FzdCBQcm9ncmVzc1xuICAgICAgdG9hc3RFbGVtZW50LmFwcGVuZENoaWxkKFByb2dyZXNzQ29tcG9uZW50KHRoaXMpKVxuICAgIH1cblxuXG4gICAgLy8gUHV0IHRvYXN0IGludG8gaXQncyBjb250YWluZXIuXG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRvYXN0RWxlbWVudClcblxuICAgIC8vIFdhdGNoIHRvYXN0IGhlaWdodCBjaGFuZ2VkLCBhbmQgcmUtb3JkZXIgaWYgaGFwcGVuLlxuICAgIG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLm9yZ2FuaXplKClcbiAgICB9KS5vYnNlcnZlKGNvbnRhaW5lcilcblxuICAgIC8vIFRvYXN0IGluc3RhbmNlLlxuICAgIHRoaXMuaXRlbSA9IGNvbnRhaW5lclxuXG4gICAgLy8gU2hvdyB0aGUgdG9hc3QgYnkgYWRkaW5nIGNsYXNzICguc2hvdylcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZChcInNob3dcIilcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuZHVyYXRpb24gPiAwKSB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kZXN0cm95KGNvbnRhaW5lcilcbiAgICAgIH0sIHRoaXMub3B0aW9ucy5kdXJhdGlvbilcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5wYXVzYWJsZSkge1xuICAgICAgICBjb25zdCB0b3VjaFN0YXJ0Q2FsbEJhY2sgPSAoKSA9PiB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dClcbiAgICAgICAgICB0aGlzLnBhdXNlUHJvZ3Jlc3NJbnRlcnZhbCA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvdWNoRW5kQ2FsbEJhY2sgPSAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wYXVzZVByb2dyZXNzSW50ZXJ2YWwgPSBmYWxzZVxuICAgICAgICAgIHRoaXMucHJvZ3Jlc3NTdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKVxuXG4gICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3kodGhpcy5pdGVtKVxuICAgICAgICAgIH0sIHRoaXMub3B0aW9ucy5kdXJhdGlvbilcbiAgICAgICAgfVxuXG4gICAgICAgIFwibW91c2VvdmVyIHRvdWNoc3RhcnQgdG91Y2hlbmRcIi5zcGxpdChcIiBcIikuZm9yRWFjaChlID0+IHtcbiAgICAgICAgICB0aGlzLml0ZW0uYWRkRXZlbnRMaXN0ZW5lcihlLCB0b3VjaFN0YXJ0Q2FsbEJhY2spXG4gICAgICAgIH0pXG5cbiAgICAgICAgXCJtb3VzZWxlYXZlIHRvdWNoZW5kXCIuc3BsaXQoXCIgXCIpLmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgdGhpcy5pdGVtLmFkZEV2ZW50TGlzdGVuZXIoZSwgdG91Y2hFbmRDYWxsQmFjaylcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgIH1cbiAgICAvLyBSZXR1cm4gdG9hc3QgaW5zdGFuY2UuXG4gICAgcmV0dXJuIGNvbnRhaW5lclxuICB9XG5cbiAgLyoqXG4gICAqICBUaGUgcGFyZW50IGVsZW1lbnQsIHdoaWNoIHdpbGwgY29udGFpbiB0aGUgdG9hc3RzLlxuICAgKiBAcmV0dXJuIHtFbGVtZW50fSAgVGhlIG1haW4gZWxlbWVudCBzZWxlY3RlZCBieSB0aGUgdXNlciBpZiBhdmFpbGFibGUsIG9yIHRoZSBkZWZhdWx0IHBhcmVudC5cbiAgICovXG4gIHByaXZhdGUgZ2V0IHBhcmVudEVsZW1lbnQoKTogRWxlbWVudCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5wYXJlbnQpIHtcbiAgICAgIGNvbnN0IHVzZXJSb290RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5vcHRpb25zLnBhcmVudClcbiAgICAgIGlmICghdXNlclJvb3RFbGVtZW50KSB7XG4gICAgICAgIHRocm93IFwiVXNlciByb290IGVsZW1lbnQgbm90IGV4aXN0cy5cIlxuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh1c2VyUm9vdEVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiB1c2VyUm9vdEVsZW1lbnRbMF1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVzZXJSb290RWxlbWVudFxuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudC5ib2R5XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBlbGVtZW50IGZyb20gZG9tIGFmdGVyIHRpbWVvdXQgZmluaXNoZWQuXG4gICAqL1xuICBwcml2YXRlIGRlc3Ryb3kodG9hc3RFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIC8vIEhpZGUgdGhlIGVsZW1lbnQuXG4gICAgdG9hc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJzaG93XCIpXG5cbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5vbkNsb3NlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vbkNsb3NlKHRoaXMpXG4gICAgfVxuXG4gICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdG9hc3RFbGVtZW50LnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKHRvYXN0RWxlbWVudClcbiAgICB9LCA0MDApXG5cblxuICB9XG5cbiAgcHJpdmF0ZSBvcmdhbml6ZSgpIHtcbiAgICBjb25zdCB7IG9mZnNldCB9ID0gdGhpcy5vcHRpb25zXG5cbiAgICBjb25zdCB0b3BMZWZ0T2Zmc2V0U2l6ZSA9IHtcbiAgICAgIHRvcDogTnVtYmVyKG9mZnNldCksXG4gICAgICBib3R0b206IE51bWJlcihvZmZzZXQpLFxuICAgIH1cblxuXG4gICAgY29uc3QgdG9wUmlnaHRPZmZzZXRTaXplID0ge1xuICAgICAgdG9wOiBOdW1iZXIob2Zmc2V0KSxcbiAgICAgIGJvdHRvbTogTnVtYmVyKG9mZnNldCksXG4gICAgfVxuXG4gICAgY29uc3Qgb2Zmc2V0U2l6ZSA9IHtcbiAgICAgIHRvcDogTnVtYmVyKG9mZnNldCksXG4gICAgICBib3R0b206IE51bWJlcihvZmZzZXQpLFxuICAgIH1cblxuXG4gICAgbGV0IHNlbGVjdG9yID0gYC4ke2djbGFzcyhcImNvbnRhaW5lclwiKX1bZGF0YS1ncm91cD0nJHt0aGlzLmdyb3VwfSddYFxuXG4gICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCA+IDAgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHNjcmVlbi53aWR0aFxuXG4gICAgaWYgKHdpbmRvd1dpZHRoIDw9IDM2MCkge1xuICAgICAgc2VsZWN0b3IgPSBgLiR7Z2NsYXNzKFwiY29udGFpbmVyXCIpfWBcbiAgICB9XG4gICAgY29uc3QgdG9hc3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRGl2RWxlbWVudD4oc2VsZWN0b3IpXG5cbiAgICBsZXQgY2xhc3NVc2VkXG5cbiAgICBpZiAodG9hc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRvYXN0cy5mb3JFYWNoKCh0b2FzdCkgPT4ge1xuXG4gICAgICAgIGlmIChoYXNDbGFzcyh0b2FzdCwgZ2NsYXNzKFwidG9wXCIpKSkge1xuICAgICAgICAgIGNsYXNzVXNlZCA9IGdjbGFzcyhcInRvcFwiKVxuICAgICAgICB9IGVsc2UgaWYgKGhhc0NsYXNzKHRvYXN0LCBnY2xhc3MoXCJtaWRkbGVcIikpKSB7XG4gICAgICAgICAgY2xhc3NVc2VkID0gZ2NsYXNzKFwibWlkZGxlXCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xhc3NVc2VkID0gZ2NsYXNzKFwiYm90dG9tXCIpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b2FzdEhlaWdodCA9IHRvYXN0Lm9mZnNldEhlaWdodFxuICAgICAgICBjbGFzc1VzZWQgPSBjbGFzc1VzZWQuc3Vic3RyKFxuICAgICAgICAgIGAke2NwcmVmaXh9LWAubGVuZ3RoIC0gMSxcbiAgICAgICAgICBjbGFzc1VzZWQubGVuZ3RoIC0gMSxcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIFNob3cgdG9hc3QgaW4gY2VudGVyIGlmIHNjcmVlbiB3aXRoIGxlc3MgdGhhbiBvciBlcXVhbCB0byAzNjBweC5cbiAgICAgICAgaWYgKHdpbmRvd1dpZHRoIDw9IDM2MCkge1xuICAgICAgICAgIHRvYXN0LnN0eWxlW2NsYXNzVXNlZF0gPSBvZmZzZXRTaXplW2NsYXNzVXNlZF0gKyBcInB4XCJcbiAgICAgICAgICBvZmZzZXRTaXplW2NsYXNzVXNlZF0gKz0gdG9hc3RIZWlnaHQgKyB0aGlzLnNwYWNlQmV0d2VlblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChoYXNDbGFzcyh0b2FzdCwgYHN0YXJ0LSR7dGhpcy5vcHRpb25zLm9mZnNldH1gKSkge1xuICAgICAgICAgICAgdG9hc3Quc3R5bGVbY2xhc3NVc2VkXSA9IHRvcExlZnRPZmZzZXRTaXplW2NsYXNzVXNlZF0gKyBcInB4XCJcbiAgICAgICAgICAgIHRvcExlZnRPZmZzZXRTaXplW2NsYXNzVXNlZF0gKz0gdG9hc3RIZWlnaHQgKyB0aGlzLnNwYWNlQmV0d2VlblxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0b2FzdC5zdHlsZVtjbGFzc1VzZWRdID0gdG9wUmlnaHRPZmZzZXRTaXplW2NsYXNzVXNlZF0gKyBcInB4XCJcbiAgICAgICAgICAgIHRvcFJpZ2h0T2Zmc2V0U2l6ZVtjbGFzc1VzZWRdICs9IHRvYXN0SGVpZ2h0ICsgdGhpcy5zcGFjZUJldHdlZW5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9hc3RzdHJhcFxuIiwiLyoqXG4gKiBQcm92aWRlcyBzb21lIHVzZWZ1bCB1dGlsaXR5LlxuICogQGNsYXNzIFV0aWxcbiAqL1xuY2xhc3MgVXRpbCB7XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhIHN0cmluZyB0ZW1wbGF0ZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0ciBTdHJpbmcgdG8gYmUgZm9ybWF0LlxuICAgKiBAcGFyYW0ge29iamVjdH0gdmFsdWVzIFRoZSB2YWx1ZXMgb2JqZWN0LlxuICAgKiBAcmV0dXJuIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdHJGb3JtYXQoc3RyOiBzdHJpbmcsIHZhbHVlczogb2JqZWN0KTogc3RyaW5nIHtcbiAgICBpZiAoc3RyICYmIE9iamVjdC5rZXlzKHZhbHVlcykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKC8oW3t9XSlcXDF8W3tdKC4qPykoPzohKC4rPykpP1t9XS9nKVxuXG5cbiAgICAgIHJldHVybiBzdHIucmVwbGFjZShyZWdleCwgKGluZGV4KSA9PiB7XG4gICAgICAgIGxldCBrZXkgPSBpbmRleC5yZXBsYWNlKC97LywgXCJcIikucmVwbGFjZSgvfS8sIFwiXCIpXG4gICAgICAgIGlmICghdmFsdWVzW2tleV0pIHtcbiAgICAgICAgICByZXR1cm4gaW5kZXhcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZXNba2V5XVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyXG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYW4gdW5pcXVlIGlkZW50aWZpZXIuXG4gICAqIEByZXR1cm4gc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1ha2VJZCgpIHtcbiAgICByZXR1cm4gU3RyaW5nKE1hdGguZmxvb3IoMTAwMDAwMDAwMDAgKyBNYXRoLnJhbmRvbSgpICogOTAwMDAwMDAwMCkpXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVXRpbCIsImltcG9ydCBUb2FzdHN0cmFwIGZyb20gXCIuLi9Ub2FzdHN0cmFwXCJcblxuZXhwb3J0IGNvbnN0IFRvYXN0Qm9keSA9IChjb250ZXh0OiBUb2FzdHN0cmFwKSA9PiB7XG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gY29udGV4dFxuICBjb25zdCBib2R5RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIilcbiAgYm9keUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInRvYXN0LWJvZHlcIilcbiAgYm9keUVsZW1lbnQuaW5uZXJIVE1MID0gb3B0aW9ucy50ZXh0XG5cbiAgcmV0dXJuIGJvZHlFbGVtZW50XG59XG4iLCJpbXBvcnQgeyBnY2xhc3MgfSBmcm9tIFwiLi4vcHJlZmVyZW5jZXNcIlxuaW1wb3J0IFRvYXN0c3RyYXAgZnJvbSBcIi4uL1RvYXN0c3RyYXBcIlxuXG5leHBvcnQgY29uc3QgVG9hc3RDb250YWluZXIgPSAoY29udGV4dDogVG9hc3RzdHJhcCkgPT4ge1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHRcbiAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIilcbiAgY29udGFpbmVyRWxlbWVudC5jbGFzc05hbWUgPSBgJHtcbiAgICBjb250ZXh0Lm9wdGlvbnMucGFyZW50ID8gXCJwb3NpdGlvbi1hYnNvbHV0ZVwiIDogXCJwb3NpdGlvbi1maXhlZFwiXG4gIH0gJHtvcHRpb25zLnBvc2l0aW9ufS0ke29wdGlvbnMub2Zmc2V0fSAke2djbGFzcyhcImNvbnRhaW5lclwiKX1gXG5cbiAgY29udGFpbmVyRWxlbWVudC5zdHlsZS56SW5kZXggPSBcIjI1MDBcIlxuXG4gIHJldHVybiBjb250YWluZXJFbGVtZW50XG59XG4iLCJpbXBvcnQgVG9hc3RzdHJhcCBmcm9tIFwiLi4vVG9hc3RzdHJhcFwiXG5pbXBvcnQgcHJlZmVyZW5jZXMgZnJvbSBcIi4uL3ByZWZlcmVuY2VzXCJcbmltcG9ydCB0eXBlIHsgT3B0aW9uc1R5cGUgfSBmcm9tIFwiLi4vdHlwZXNcIlxuXG5jb25zdCBBdmF0YXJDb21wb25lbnQgPSAob3B0aW9uczogT3B0aW9uc1R5cGUpID0+IHtcbiAgY29uc3QgYXZhdGFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIilcbiAgYXZhdGFyRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwicm91bmRlZFwiLCBcIm1lLTJcIilcbiAgYXZhdGFyRWxlbWVudC5zcmMgPSBvcHRpb25zLmF2YXRhciB8fCBcIlwiXG4gIGF2YXRhckVsZW1lbnQud2lkdGggPSAyMFxuICBhdmF0YXJFbGVtZW50LmhlaWdodCA9IDIwXG5cbiAgcmV0dXJuIGF2YXRhckVsZW1lbnRcbn1cblxuY29uc3QgQ2xvc2VCdXR0b25Db21wb25lbnQgPSAob25DbG9zZUV2ZW50OiAoKSA9PiB2b2lkKSA9PiB7XG4gIGNvbnN0IGNsb3NlQnRuRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIilcbiAgY2xvc2VCdG5FbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJidG4tY2xvc2VcIilcbiAgY2xvc2VCdG5FbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJidXR0b25cIilcbiAgY2xvc2VCdG5FbGVtZW50LnNldEF0dHJpYnV0ZShcImFyZWEtbGFiZWxcIiwgXCJDbG9zZVwiKVxuXG4gIGNsb3NlQnRuRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKGV2dCkgPT4ge1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIG9uQ2xvc2VFdmVudCgpXG4gIH0pXG5cbiAgcmV0dXJuIGNsb3NlQnRuRWxlbWVudFxufVxuXG5leHBvcnQgY29uc3QgSGVhZGVyQ29tcG9uZW50ID0gKGNvbnRleHQ6IFRvYXN0c3RyYXApOiBFbGVtZW50ID0+IHtcbiAgY29uc3QgeyBvcHRpb25zIH0gPSBjb250ZXh0XG4gIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gIGhlYWRlckVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInRvYXN0LWhlYWRlclwiKVxuXG4gIC8vIEF2YXRhciBlbGVtZW50XG4gIGlmIChvcHRpb25zLmF2YXRhcikge1xuICAgIGhlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQoQXZhdGFyQ29tcG9uZW50KG9wdGlvbnMpKVxuICB9XG5cbiAgaWYgKG9wdGlvbnMudHlwZSkge1xuICAgIGhlYWRlckVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5wcmVmZXJlbmNlcy50eXBlc1tvcHRpb25zLnR5cGVdKVxuICB9XG5cblxuICAvLyBDcmVhdGUgdGl0bGUgZWxlbWVudC5cbiAgY29uc3QgdGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0cm9uZ1wiKVxuICB0aXRsZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcIm1lLWF1dG9cIilcbiAgdGl0bGVFbGVtZW50LmlubmVyVGV4dCA9IG9wdGlvbnMudGl0bGVcbiAgaGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZCh0aXRsZUVsZW1lbnQpXG5cbiAgaWYgKG9wdGlvbnMuc3VidGl0bGUpIHtcbiAgICAvLyB0aW1lXG4gICAgY29uc3QgdGltZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic21hbGxcIilcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuc3VidGl0bGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRpbWVFbGVtZW50LmlubmVyVGV4dCA9IG9wdGlvbnMuc3VidGl0bGVcbiAgICB9XG5cbiAgICBoZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHRpbWVFbGVtZW50KVxuICB9XG5cbiAgLy8gQ2xvc2UgYnV0dG9uXG4gIGlmIChvcHRpb25zLmRpc21pc3NpYmxlKSB7XG4gICAgaGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZChDbG9zZUJ1dHRvbkNvbXBvbmVudChjb250ZXh0LmNsb3NlRXZlbnQpKVxuICB9XG5cbiAgLy8gUmV0dXJuIGhlYWRlciBlbGVtZW50LlxuICByZXR1cm4gaGVhZGVyRWxlbWVudFxufVxuIiwiLyoqXG4gKiBAY3JlZGl0IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMTUzMDk0NlxuICogQHBhcmFtIGR1cmF0aW9uXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuaW1wb3J0IFRvYXN0c3RyYXAgZnJvbSBcIi4uL1RvYXN0c3RyYXBcIlxuXG5leHBvcnQgY29uc3QgUHJvZ3Jlc3NDb21wb25lbnQgPSAoZmFjdG9yeTogVG9hc3RzdHJhcCkgPT4ge1xuICBsZXQgeyBkdXJhdGlvbiB9ID0gZmFjdG9yeS5vcHRpb25zXG5cblxuICBjb25zdCBwcm9ncmVzc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gIHByb2dyZXNzRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidG9hc3QtZm9vdGVyXCIpXG4gIGNvbnN0IGluZGljYXRvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gIGluZGljYXRvckVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInRvYXN0LWZvb3Rlci1pbm5lclwiKVxuICBwcm9ncmVzc0VsZW1lbnQuYXBwZW5kQ2hpbGQoaW5kaWNhdG9yRWxlbWVudClcblxuXG4gIGlmIChkdXJhdGlvbiA+IDApIHtcbiAgICBkdXJhdGlvbiA8IDEwMCAgPyBkdXJhdGlvbiA9IGR1cmF0aW9uICogMTAwMCA6IGR1cmF0aW9uO1xuXG4gICAgaW5kaWNhdG9yRWxlbWVudC5zdHlsZS5hbmltYXRpb25EdXJhdGlvbiA9IGAke2R1cmF0aW9ufW1zYFxuXG4gIH1cbiAgLyoqXG4gICAqIEkgbWFkZSB0aGlzIHRvIG1ha2UgcHJvZ3Jlc3MgbW92ZSB3aGVuIGR1cmF0aW9uIGlzIHNldC5cbiAgICogQnV0IGl0J3Mga2lsbCB0aGUgcGVyZm9ybWFuY2UsIHNvIEkgZGVjaWRlZCB0byB1c2UgQ1NTIHRvIGRvIHRoYXQuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IHN0YXJ0ID0gKCkgPT4ge1xuICAgIGZhY3RvcnkucHJvZ3Jlc3NTdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKVxuXG4gICAgLy8gPi4uPCBJIHdpbGwganVzdCB1c2UgY3NzIHRvIGRvIHRoYXQuXG4gICAgaWYgKGR1cmF0aW9uID4gMCkge1xuICAgICAgZmFjdG9yeS5wcm9ncmVzc0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAoIWZhY3RvcnkucGF1c2VQcm9ncmVzc0ludGVydmFsKSB7XG4gICAgICAgICAgY29uc3QgZGlmZiA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLSBmYWN0b3J5LnByb2dyZXNzU3RhcnRUaW1lKVxuICAgICAgICAgIGxldCB2YWx1ZSA9IE1hdGgucm91bmQoZGlmZiAvIGR1cmF0aW9uICogMTAwKVxuICAgICAgICAgIHZhbHVlID0gdmFsdWUgPiAxMDAgPyAxMDAgOiB2YWx1ZVxuXG4gICAgICAgICAgaW5kaWNhdG9yRWxlbWVudC5zdHlsZS53aWR0aCA9IHZhbHVlICsgXCIlXCJcblxuICAgICAgICAgIGlmIChkaWZmID49IGR1cmF0aW9uKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKGZhY3RvcnkucHJvZ3Jlc3NJbnRlcnZhbClcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfSwgMTAwKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcm9ncmVzc0VsZW1lbnRcbn1cbiIsImltcG9ydCB7IGNwcmVmaXggfSBmcm9tIFwiLi4vcHJlZmVyZW5jZXNcIlxuXG5jbGFzcyBTb3VuZCB7XG4gIHByaXZhdGUgZWxlbWVudDogSFRNTEF1ZGlvRWxlbWVudFxuICBwcml2YXRlIHNlbGVjdG9yOiBzdHJpbmdcbiAgcHJpdmF0ZSBwYXJlbnQ6IEVsZW1lbnRcblxuICBjb25zdHJ1Y3RvcihhdWRpb0ZpbGU6IHN0cmluZywgcGFyZW50RWxlbWVudDogRWxlbWVudCkge1xuICAgIHRoaXMuc2VsZWN0b3IgPSBgJHtjcHJlZml4fS1ub3RpZmljYXRpb25gXG4gICAgdGhpcy5lbGVtZW50ID0gbmV3IEF1ZGlvKGF1ZGlvRmlsZSlcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudEVsZW1lbnRcblxuXG4gICAgdGhpcy5tYWtlKClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBwcml2YXRlIG1ha2UoKSB7XG4gICAgdGhpcy5lbGVtZW50LmlkID0gdGhpcy5zZWxlY3RvclxuXG4gICAgaWYgKCF0aGlzLnBhcmVudC5xdWVyeVNlbGVjdG9yKFwiI1wiICsgdGhpcy5zZWxlY3RvcikpIHtcbiAgICAgIHRoaXMucGFyZW50LmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudClcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNvdW5kIiwiY29uc3QgaGFzQ2xhc3MgPSAoZWxlbWVudDogRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSlcbn1cblxuXG5leHBvcnQgeyBoYXNDbGFzcyB9XG4iLCIvKipcbiAqIFByZWZpeCB3aWxsIGJlIGFwcGxpZWQgdG8gYWxsIGNzcyBjbGFzc2VzLlxuICovXG5leHBvcnQgY29uc3QgY3ByZWZpeCA9IFwidG9hc3RzdHJhcC1cIlxuXG4vKipcbiAqIEdldCB0aGUgY2xhc3NuYW1lIHdpdGggdGhlIHByZWZpeC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBjXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnY2xhc3MoYzogc3RyaW5nKSB7XG4gIHJldHVybiBjcHJlZml4ICsgY1xufVxuXG5leHBvcnQgZW51bSBQT1NJVElPTlMge1xuICBUT1BfU1RBUlQgPSBcIlRPUF9TVEFSVFwiLFxuICBUT1BfRU5EID0gXCJUT1BfRU5EXCIsXG4gIFRPUF9DRU5URVIgPSBcIlRPUF9DRU5URVJcIixcbiAgQk9UVE9NX1NUQVJUID0gXCJCT1RUT01fU1RBUlRcIixcbiAgQk9UVE9NX0VORCA9IFwiQk9UVE9NX0VORFwiLFxuICBCT1RUT01fQ0VOVEVSID0gXCJCT1RUT01fQ0VOVEVSXCIsXG59XG5cbmV4cG9ydCBlbnVtIFRZUEVTIHtcbiAgREVGQVVMVCA9IFwiREVGQVVMVFwiLFxuICBQUklNQVJZID0gXCJQUklNQVJZXCIsXG4gIElORk8gPSBcIklORk9cIixcbiAgU1VDQ0VTUyA9IFwiU1VDQ0VTU1wiLFxuICBXQVJOSU5HID0gXCJXQVJOSU5HXCIsXG4gIERBTkdFUiA9IFwiREFOR0VSXCIsXG4gIERBUksgPSBcIkRBUktcIixcbiAgU1dFRVQgPSBcIlNXRUVUXCJcbn1cblxuLyoqXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCB7XG4gIHBvc2l0aW9uczoge1xuICAgIC8vIFRPUFxuICAgIFRPUF9TVEFSVDogZ2NsYXNzKFwidG9wXCIpICsgXCIgXCIgKyBnY2xhc3MoXCJzdGFydFwiKSxcbiAgICBUT1BfRU5EOiBnY2xhc3MoXCJ0b3BcIikgKyBcIiBcIiArIGdjbGFzcyhcImVuZFwiKSxcbiAgICBUT1BfQ0VOVEVSOiBnY2xhc3MoXCJ0b3BcIikgKyBcIiBcIiArIGdjbGFzcyhcImNlbnRlclwiKSxcblxuICAgIC8vIEJvdHRvbVxuICAgIEJPVFRPTV9DRU5URVI6IGdjbGFzcyhcImJvdHRvbVwiKSArIFwiIFwiICsgZ2NsYXNzKFwiY2VudGVyXCIpLFxuICAgIEJPVFRPTV9TVEFSVDogZ2NsYXNzKFwiYm90dG9tXCIpICsgXCIgXCIgKyBnY2xhc3MoXCJzdGFydFwiKSxcbiAgICBCT1RUT01fRU5EOiBnY2xhc3MoXCJib3R0b21cIikgKyBcIiBcIiArIGdjbGFzcyhcImVuZFwiKSxcbiAgfSxcblxuICB0eXBlczoge1xuICAgIERFRkFVTFQ6IFtcImJnLWRlZmF1bHRcIl0sXG4gICAgUFJJTUFSWTogW1wiYmctcHJpbWFyeVwiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgSU5GTzogW1wiYmctaW5mb1wiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgU1VDQ0VTUzogW1wiYmctc3VjY2Vzc1wiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgV0FSTklORzogW1wiYmctd2FybmluZ1wiLCBcInRleHQtZGFya1wiXSxcbiAgICBEQU5HRVI6IFtcImJnLWRhbmdlclwiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgREFSSzogW1wiYmctZGFya1wiLCBcInRleHQtbGlnaHRcIl0sXG4gICAgU0VDT05EQVJZOiBbXCJiZy1zZWNvbmRhcnlcIiwgXCJ0ZXh0LWxpZ2h0XCJdLFxuXG4gICAgLy8gSSBtYWRlIHRoaXMgb25lIGZvciBmdW4sIHlvdSBjYW4gYWRkIHlvdXIgb3duIHN0eWxlcyB0b28uXG4gICAgU1dFRVQ6IFtcImJnLXN3ZWV0XCIsIFwidGV4dC1saWdodFwiXSxcbiAgfSxcbn1cblxuIiwiLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2hlY2tpbmcgYW5kIHNlY3VyaW5nIG9wdGlvbnMgdHlwZXMuXG4gKiBPbmx5IGZvciBicm93c2Vycy5cbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmltcG9ydCB7IE9wdGlvbnNUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIlxuaW1wb3J0IFV0aWwgZnJvbSBcIi4vVXRpbFwiXG5cbmNvbnN0IFRZUEVfQ0hFQ0sgPSBcIlR5cGVFcnJvcjogT3B0aW9uIHtvcHRpb259IHNob3VsZCBiZSBpbiB0eXBlIHt0eXBlfS5cIlxuXG5jb25zdCByZXNvbHZlID0gKHBhdGg6IHN0cmluZywgb2JqID0gc2VsZiwgc2VwYXJhdG9yID0gXCIuXCIpID0+IHtcbiAgY29uc3QgcHJvcGVydGllcyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogcGF0aC5zcGxpdChzZXBhcmF0b3IpXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIHByb3BlcnRpZXMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2ICYmIHByZXZbY3Vycl0sIG9iailcbn1cblxuY29uc3QgY2hlY2tzID0gW1xuICBbVFlQRV9DSEVDSywgXCJkaXNtaXNzaWJsZVwiLCBcImJvb2xlYW5cIl0sXG4gIFtUWVBFX0NIRUNLLCBcImR1cmF0aW9uXCIsIFwibnVtYmVyXCJdLFxuICBbVFlQRV9DSEVDSywgXCJvZmZzZXRcIiwgXCJudW1iZXJcIl0sXG4gIFtUWVBFX0NIRUNLLCBcIm9uQ2xvc2VcIiwgXCJmdW5jdGlvblwiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwib25TaG93XCIsIFwiZnVuY3Rpb25cIl0sXG4gIFtUWVBFX0NIRUNLLCBcInBhcmVudFwiLCBcInN0cmluZ1wiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwicGF1c2FibGVcIiwgXCJib29sZWFuXCJdLFxuICBbVFlQRV9DSEVDSywgXCJwb3NpdGlvblwiLCBcInN0cmluZ1wiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwicHJvZ3Jlc3NcIiwgXCJib29sZWFuXCJdLFxuICBbVFlQRV9DSEVDSywgXCJzbmFja2JhclwiLCBcImJvb2xlYW5cIl0sXG4gIFtUWVBFX0NIRUNLLCBcInNvdW5kU291cmNlXCIsIFwic3RyaW5nXCJdLFxuICBbVFlQRV9DSEVDSywgXCJzb3VuZGFibGVcIiwgXCJib29sZWFuXCJdLFxuICBbVFlQRV9DSEVDSywgXCJzdWJ0aXRsZVwiLCBbXCJzdHJpbmdcIiwgXCJvYmplY3RcIl1dLFxuICBbVFlQRV9DSEVDSywgXCJ0ZXh0XCIsIFwic3RyaW5nXCJdLFxuICBbVFlQRV9DSEVDSywgXCJ0aXRsZVwiLCBcInN0cmluZ1wiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwidHlwZVwiLCBcInN0cmluZ1wiXSxcbiAgW1RZUEVfQ0hFQ0ssIFwic3VidGl0bGUucmVsYXRpdmVcIiwgXCJib29sZWFuXCJdLFxuICBbVFlQRV9DSEVDSywgXCJzdWJ0aXRsZS5kYXRldGltZVwiLCBbXCJzdHJpbmdcIiwgXCJEYXRlXCIsIFwibnVtYmVyXCJdXSxcbl1cblxuY29uc3QgZmlsdGVycyA9IChvcHRpb25zOiBPcHRpb25zVHlwZSkgPT4ge1xuICBpZiAoY2hlY2tzLmxlbmd0aCA+IDApIHtcbiAgICBjaGVja3MuZm9yRWFjaChjaGVjayA9PiB7XG4gICAgICBjb25zdCBmaXJzdEluZGV4ID0gY2hlY2tbMF1cbiAgICAgIGNvbnN0IHNlY29uZEluZGV4ID0gY2hlY2tbMV1cbiAgICAgIGNvbnN0IGxhc3RJbmRleCA9IGNoZWNrWzJdXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGxhc3RJbmRleCkpIHtcbiAgICAgICAgbGV0IHN1Y2NlZWQgPSBmYWxzZVxuXG4gICAgICAgIGxhc3RJbmRleC5mb3JFYWNoKHR5cGUgPT4ge1xuXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGlmICh0eXBlb2YgcmVzb2x2ZShzZWNvbmRJbmRleCwgb3B0aW9ucykgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHJlc29sdmUoc2Vjb25kSW5kZXgsIG9wdGlvbnMpID09PSB0eXBlKSB7XG4gICAgICAgICAgICBzdWNjZWVkID0gdHJ1ZVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICghc3VjY2VlZCkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICB0aHJvdyBVdGlsLnN0ckZvcm1hdChmaXJzdEluZGV4LCB7IG9wdGlvbjogc2Vjb25kSW5kZXgsIHR5cGU6IGxhc3RJbmRleC50b1N0cmluZygpIH0pXG4gICAgICAgIH1cblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAocmVzb2x2ZShzZWNvbmRJbmRleCwgb3B0aW9ucykgJiYgdHlwZW9mIHJlc29sdmUoc2Vjb25kSW5kZXgsIG9wdGlvbnMpICE9PSBsYXN0SW5kZXgpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgdGhyb3cgVXRpbC5zdHJGb3JtYXQoZmlyc3RJbmRleCwgeyBvcHRpb246IHNlY29uZEluZGV4LCB0eXBlOiBsYXN0SW5kZXggfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZmlsdGVycyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiaW1wb3J0IFRvYXN0c3RyYXAgZnJvbSBcIi4vVG9hc3RzdHJhcFwiXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnNUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIlxuaW1wb3J0IHsgUE9TSVRJT05TLCBUWVBFUyB9IGZyb20gXCIuL3ByZWZlcmVuY2VzXCJcbmltcG9ydCBcIi4vYXNzZXRzL3N0eWxlcy5zY3NzXCJcbmltcG9ydCBmaWx0ZXJzIGZyb20gXCIuL3R5cGVjaGVja1wiXG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgdG9hc3RzdHJhcDogKG9wdGlvbnM6IE9wdGlvbnNUeXBlKSA9PiBUb2FzdHN0cmFwO1xuICAgIHRvYXN0c3RyYXBfcG9zaXRpb246IGFueSxcbiAgICB0b2FzdHN0cmFwX3R5cGU6IGFueVxuICB9XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7T3B0aW9uc1R5cGV9IG9wdGlvbnNcbiAqL1xuY29uc3QgaW5pdGlhbGl6ZSA9IChvcHRpb25zOiBPcHRpb25zVHlwZSk6IFRvYXN0c3RyYXAgPT4ge1xuXG4gIC8vIFR5cGUgY2hlY2tzLlxuICBpZiAoT2JqZWN0LmtleXMob3B0aW9ucykubGVuZ3RoKSB7XG4gICAgZmlsdGVycyhvcHRpb25zKTtcbiAgfVxuICByZXR1cm4gbmV3IFRvYXN0c3RyYXAoe1xuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8vIFdpbmRvd1xud2luZG93LnRvYXN0c3RyYXAgPSBpbml0aWFsaXplXG53aW5kb3cudG9hc3RzdHJhcF9wb3NpdGlvbiA9IFBPU0lUSU9OU1xud2luZG93LnRvYXN0c3RyYXBfdHlwZSA9IFRZUEVTIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/coverage/clover.xml b/coverage/clover.xml deleted file mode 100644 index 17bb172..0000000 --- a/coverage/clover.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json deleted file mode 100644 index 473d6e9..0000000 --- a/coverage/coverage-final.json +++ /dev/null @@ -1,2 +0,0 @@ -{"E:\\workspace\\libraries\\toaststrap\\src\\RelativeDate.ts": {"path":"E:\\workspace\\libraries\\toaststrap\\src\\RelativeDate.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":null}},"1":{"start":{"line":9,"column":4},"end":{"line":17,"column":null}},"2":{"start":{"line":20,"column":4},"end":{"line":34,"column":null}},"3":{"start":{"line":37,"column":4},"end":{"line":37,"column":null}},"4":{"start":{"line":38,"column":4},"end":{"line":38,"column":null}},"5":{"start":{"line":40,"column":4},"end":{"line":44,"column":null}},"6":{"start":{"line":41,"column":6},"end":{"line":41,"column":null}},"7":{"start":{"line":42,"column":11},"end":{"line":44,"column":null}},"8":{"start":{"line":43,"column":6},"end":{"line":43,"column":null}},"9":{"start":{"line":46,"column":4},"end":{"line":48,"column":null}},"10":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"11":{"start":{"line":50,"column":4},"end":{"line":52,"column":null}},"12":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"13":{"start":{"line":54,"column":4},"end":{"line":54,"column":null}},"14":{"start":{"line":57,"column":9},"end":{"line":72,"column":null}},"15":{"start":{"line":58,"column":18},"end":{"line":58,"column":45}},"16":{"start":{"line":63,"column":4},"end":{"line":69,"column":null}},"17":{"start":{"line":64,"column":6},"end":{"line":64,"column":null}},"18":{"start":{"line":66,"column":6},"end":{"line":68,"column":null}},"19":{"start":{"line":67,"column":8},"end":{"line":67,"column":null}},"20":{"start":{"line":71,"column":4},"end":{"line":71,"column":null}},"21":{"start":{"line":73,"column":0},"end":{"line":73,"column":null}},"22":{"start":{"line":75,"column":0},"end":{"line":75,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":0},"end":{"line":1,"column":null}},"loc":{"start":{"line":1,"column":0},"end":{"line":73,"column":null}}},"1":{"name":"RelativeDate","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":14}},"loc":{"start":{"line":8,"column":36},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":9}},"loc":{"start":{"line":57,"column":2},"end":{"line":72,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":4},"end":{"line":44,"column":null}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":44,"column":null}},{"start":{"line":42,"column":11},"end":{"line":44,"column":null}}]},"1":{"loc":{"start":{"line":42,"column":11},"end":{"line":44,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":11},"end":{"line":44,"column":null}}]},"2":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":null}}]},"3":{"loc":{"start":{"line":50,"column":4},"end":{"line":52,"column":null}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":52,"column":null}}]},"4":{"loc":{"start":{"line":66,"column":6},"end":{"line":68,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":6},"end":{"line":68,"column":null}}]},"5":{"loc":{"start":{"line":67,"column":15},"end":{"line":67,"column":99}},"type":"cond-expr","locations":[{"start":{"line":67,"column":40},"end":{"line":67,"column":49}},{"start":{"line":67,"column":52},"end":{"line":67,"column":99}}]}},"s":{"0":1,"1":5,"2":5,"3":5,"4":5,"5":5,"6":5,"7":0,"8":0,"9":5,"10":0,"11":5,"12":2,"13":5,"14":1,"15":5,"16":5,"17":53,"18":53,"19":4,"20":1,"21":1,"22":1},"f":{"0":1,"1":5,"2":5},"b":{"0":[5,0],"1":[0],"2":[0],"3":[2],"4":[4],"5":[1,3]}} -} diff --git a/coverage/lcov-report/RelativeDate.ts.html b/coverage/lcov-report/RelativeDate.ts.html deleted file mode 100644 index b472399..0000000 --- a/coverage/lcov-report/RelativeDate.ts.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - Code coverage report for RelativeDate.ts - - - - - - - - - -
-
-

All files RelativeDate.ts

-
- -
- 86.95% - Statements - 20/23 -
- - -
- 62.5% - Branches - 5/8 -
- - -
- 100% - Functions - 3/3 -
- - -
- 86.95% - Lines - 20/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -751x -  -  -  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -5x -5x -  -5x -5x -  -  -  -  -5x -  -  -  -5x -2x -  -  -5x -  -  -1x -5x -  -  -  -  -5x -53x -  -53x -4x -  -  -  -1x -  -1x -  -1x
class RelativeDate {
- 
-  private readonly formats
-  private readonly times
-  private readonly input
-  private readonly reference
- 
-  constructor(input, reference?: any) {
-    this.times = {
-      SECOND: 1000,
-      MINUTE: 60 * 1000,
-      HOUR: 60 * 60 * 1000,
-      DAY: 24 * 60 * 60 * 1000,
-      WEEK: 7 * 24 * 60 * 60 * 1000,
-      YEAR: 365 * 24 * 60 * 60 * 1000,
-      MONTH: (365 * 24 * 60 * 60 * 1000) / 12,
-    }
- 
- 
-    this.formats = [
-      [0.7 * this.times.MINUTE, "just now"],
-      [1.5 * this.times.MINUTE, "a minute ago"],
-      [60 * this.times.MINUTE, "minutes ago", this.times.MINUTE],
-      [1.5 * this.times.HOUR, "an hour ago"],
-      [this.times.DAY, "hours ago", this.times.HOUR],
-      [2 * this.times.DAY, "yesterday"],
-      [7 * this.times.DAY, "days ago", this.times.DAY],
-      [1.5 * this.times.WEEK, "a week ago"],
-      [this.times.MONTH, "weeks ago", this.times.WEEK],
-      [1.5 * this.times.MONTH, "a month ago"],
-      [this.times.YEAR, "months ago", this.times.MONTH],
-      [1.5 * this.times.YEAR, "a year ago"],
-      [Number.MAX_VALUE, "years ago", this.times.YEAR],
-    ]
- 
- 
-    this.input = input
-    this.reference = reference
- 
-    if (!reference) {
-      this.reference = (new Date()).getTime()
-    } else IEif (reference instanceof Date) {
-      this.reference = reference.getTime()
-    }
- 
-    Iif (input instanceof Date) {
-      this.input.getTime()
-    }
- 
-    if (typeof input === "string") {
-      this.input = +new Date(input).getTime()
-    }
- 
-    return this
-  }
- 
-  public print(): string {
-    const delta = this.reference - this.input
-    let format: any[]
-    let index: number
-    let length: number
- 
-    for (index = -1, length = this.formats.length; ++index < length;) {
-      format = this.formats[index]
- 
-      if (delta < format[0]) {
-        return format[2] == undefined ? format[1] : Math.round(delta / format[2]) + " " + format[1]
-      }
-    }
- 
-    return "Unknown"
-  }
-}
- 
-export default RelativeDate
- -
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css deleted file mode 100644 index f418035..0000000 --- a/coverage/lcov-report/base.css +++ /dev/null @@ -1,224 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* yellow */ -.cbranch-no { background: yellow !important; color: #111; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -.highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; -} -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } -/* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } -/* light yellow */ -.medium { background: #fff4c2; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } - -.coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js deleted file mode 100644 index c7ff5a5..0000000 --- a/coverage/lcov-report/block-navigation.js +++ /dev/null @@ -1,79 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selecter that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png deleted file mode 100644 index 6691817834a957c938e7f09640a37a645fb31457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmV+%0^|LOP)wSzy{h>9elhJ=8GnBQmf?)AI(^#wDA_`!QTxaXXE&bjxo zTGCc%V|W`}Lwz0rDO*qBbGY-M@aNENIZ1rK?nOAibaC*vb%CF;I_~lkJawax%_+1J zLn(#pv_v{f0`v`Cfp6()7MB(>IoTAiQdKxgxX?VyV&KVZ7b$vn<8|Z<9$35C+G_8SH0x6Y(xB&~bmn%r}ceRwbc0000 - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 86.95% - Statements - 20/23 -
- - -
- 62.5% - Branches - 5/8 -
- - -
- 100% - Functions - 3/3 -
- - -
- 86.95% - Lines - 20/23 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
RelativeDate.ts -
-
86.95%20/2362.5%5/8100%3/386.95%20/23
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7c..0000000 --- a/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js deleted file mode 100644 index b322523..0000000 --- a/coverage/lcov-report/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 03f704a609c6fd0dbfdac63466a7d7c958b5cbf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/coverage/lcov.info b/coverage/lcov.info deleted file mode 100644 index 8ade80d..0000000 --- a/coverage/lcov.info +++ /dev/null @@ -1,46 +0,0 @@ -TN: -SF:src\RelativeDate.ts -FN:1,(anonymous_0) -FN:8,RelativeDate -FN:57,(anonymous_2) -FNF:3 -FNH:3 -FNDA:1,(anonymous_0) -FNDA:5,RelativeDate -FNDA:5,(anonymous_2) -DA:1,1 -DA:9,5 -DA:20,5 -DA:37,5 -DA:38,5 -DA:40,5 -DA:41,5 -DA:42,0 -DA:43,0 -DA:46,5 -DA:47,0 -DA:50,5 -DA:51,2 -DA:54,5 -DA:57,1 -DA:58,5 -DA:63,5 -DA:64,53 -DA:66,53 -DA:67,4 -DA:71,1 -DA:73,1 -DA:75,1 -LF:23 -LH:20 -BRDA:40,0,0,5 -BRDA:40,0,1,0 -BRDA:42,1,0,0 -BRDA:46,2,0,0 -BRDA:50,3,0,2 -BRDA:66,4,0,4 -BRDA:67,5,0,1 -BRDA:67,5,1,3 -BRF:8 -BRH:5 -end_of_record diff --git a/package.json b/package.json index 5e18f32..4090142 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,8 @@ ], "devDependencies": { "@types/node": "^16.11.9", - "@types/uuid": "^8.3.1", "css-loader": "^6.5.0", "file-loader": "^6.2.0", - "jsdoc-plugin-typescript": "^2.0.6", "mini-css-extract-plugin": "^2.4.3", "prettier": "2.4.1", "sass": "^1.43.4", @@ -61,11 +59,6 @@ "webpack-cli": "^4.9.1" }, "dependencies": { - "@types/jest": "^27.0.3", - "dayjs": "^1.10.7", - "jest": "^27.3.1", - "ts-jest": "^27.0.7", - "uuid": "^8.3.2" }, "files": [ "/lib", diff --git a/yarn.lock b/yarn.lock index b481879..5f820d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,548 +2,11 @@ # yarn lockfile v1 -"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" - integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== - dependencies: - "@babel/highlight" "^7.16.0" - -"@babel/compat-data@^7.16.0": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" - integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helpers" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.16.0", "@babel/generator@^7.7.2": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== - dependencies: - "@babel/types" "^7.16.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-compilation-targets@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" - integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" - integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== - dependencies: - "@babel/helper-get-function-arity" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-get-function-arity@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" - integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-hoist-variables@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" - integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-member-expression-to-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" - integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-imports@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-transforms@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" - integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-simple-access" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-optimise-call-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" - integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-replace-supers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" - integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-simple-access@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" - integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" - integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helpers@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" - integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== - dependencies: - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.3" - "@babel/types" "^7.16.0" - -"@babel/highlight@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" - integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.2": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" - integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" - integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/template@^7.16.0", "@babel/template@^7.3.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.7.2": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" - integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.3" - "@babel/types" "^7.16.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" - integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - "@discoveryjs/json-ext@^0.5.0": version "0.5.5" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz#9283c9ce5b289a3c4f61c12757469e59377f81f3" integrity sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA== -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.3.1.tgz#e8ea3a475d3f8162f23d69efbfaa9cbe486bee93" - integrity sha512-RkFNWmv0iui+qsOr/29q9dyfKTTT5DCuP31kUwg7rmOKPT/ozLeGLKJKVIiOfbiKyleUZKIrHwhmiZWVe8IMdw== - dependencies: - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.3.1" - jest-util "^27.3.1" - slash "^3.0.0" - -"@jest/core@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.3.1.tgz#04992ef1b58b17c459afb87ab56d81e63d386925" - integrity sha512-DMNE90RR5QKx0EA+wqe3/TNEwiRpOkhshKNxtLxd4rt3IZpCt+RSL+FoJsGeblRZmqdK4upHA/mKKGPPRAifhg== - dependencies: - "@jest/console" "^27.3.1" - "@jest/reporters" "^27.3.1" - "@jest/test-result" "^27.3.1" - "@jest/transform" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^27.3.0" - jest-config "^27.3.1" - jest-haste-map "^27.3.1" - jest-message-util "^27.3.1" - jest-regex-util "^27.0.6" - jest-resolve "^27.3.1" - jest-resolve-dependencies "^27.3.1" - jest-runner "^27.3.1" - jest-runtime "^27.3.1" - jest-snapshot "^27.3.1" - jest-util "^27.3.1" - jest-validate "^27.3.1" - jest-watcher "^27.3.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.3.1.tgz#2182defbce8d385fd51c5e7c7050f510bd4c86b1" - integrity sha512-BCKCj4mOVLme6Tanoyc9k0ultp3pnmuyHw73UHRPeeZxirsU/7E3HC4le/VDb/SMzE1JcPnto+XBKFOcoiJzVw== - dependencies: - "@jest/fake-timers" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - jest-mock "^27.3.0" - -"@jest/fake-timers@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.3.1.tgz#1fad860ee9b13034762cdb94266e95609dfce641" - integrity sha512-M3ZFgwwlqJtWZ+QkBG5NmC23A9w+A6ZxNsO5nJxJsKYt4yguBd3i8TpjQz5NfCX91nEve1KqD9RA2Q+Q1uWqoA== - dependencies: - "@jest/types" "^27.2.5" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.3.1" - jest-mock "^27.3.0" - jest-util "^27.3.1" - -"@jest/globals@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.3.1.tgz#ce1dfb03d379237a9da6c1b99ecfaca1922a5f9e" - integrity sha512-Q651FWiWQAIFiN+zS51xqhdZ8g9b88nGCobC87argAxA7nMfNQq0Q0i9zTfQYgLa6qFXk2cGANEqfK051CZ8Pg== - dependencies: - "@jest/environment" "^27.3.1" - "@jest/types" "^27.2.5" - expect "^27.3.1" - -"@jest/reporters@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.3.1.tgz#28b5c1f5789481e23788048fa822ed15486430b9" - integrity sha512-m2YxPmL9Qn1emFVgZGEiMwDntDxRRQ2D58tiDQlwYTg5GvbFOKseYCcHtn0WsI8CG4vzPglo3nqbOiT8ySBT/w== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.3.1" - "@jest/test-result" "^27.3.1" - "@jest/transform" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^27.3.1" - jest-resolve "^27.3.1" - jest-util "^27.3.1" - jest-worker "^27.3.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - -"@jest/source-map@^27.0.6": - version "27.0.6" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f" - integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.3.1.tgz#89adee8b771877c69b3b8d59f52f29dccc300194" - integrity sha512-mLn6Thm+w2yl0opM8J/QnPTqrfS4FoXsXF2WIWJb2O/GBSyResL71BRuMYbYRsGt7ELwS5JGcEcGb52BNrumgg== - dependencies: - "@jest/console" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.3.1.tgz#4b3bde2dbb05ee74afdae608cf0768e3354683b1" - integrity sha512-siySLo07IMEdSjA4fqEnxfIX8lB/lWYsBPwNFtkOvsFQvmBrL3yj3k3uFNZv/JDyApTakRpxbKLJ3CT8UGVCrA== - dependencies: - "@jest/test-result" "^27.3.1" - graceful-fs "^4.2.4" - jest-haste-map "^27.3.1" - jest-runtime "^27.3.1" - -"@jest/transform@^27.3.1": - version "27.3.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.3.1.tgz#ff80eafbeabe811e9025e4b6f452126718455220" - integrity sha512-3fSvQ02kuvjOI1C1ssqMVBKJpZf6nwoCiSu00zAKh5nrp3SptNtZy/8s5deayHnqxhjD9CWDJ+yqQwuQ0ZafXQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.2.5" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.3.1" - jest-regex-util "^27.0.6" - jest-util "^27.3.1" - micromatch "^4.0.4" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" - integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.16" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" - integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== - dependencies: - "@babel/types" "^7.3.0" - "@types/eslint-scope@^3.7.0": version "3.7.1" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" @@ -565,40 +28,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^27.0.3": - version "27.0.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.3.tgz#0cf9dfe9009e467f70a342f0f94ead19842a783a" - integrity sha512-cmmwv9t7gBYt7hNKH5Spu7Kuu/DotGa+Ff+JGRKZ4db5eh8PnKS4LuebJ3YLUoyOyIHraTGyULn23YtEAm0VSg== - dependencies: - jest-diff "^27.0.0" - pretty-format "^27.0.0" - "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" @@ -609,33 +38,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.9.tgz#879be3ad7af29f4c1a5c433421bf99fab7047185" integrity sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A== -"@types/prettier@^2.1.5": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" - integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/uuid@^8.3.1": - version "8.3.3" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.3.tgz#c6a60686d953dbd1b1d45e66f4ecdbd5d471b4d0" - integrity sha512-0LbEEx1zxrYB3pgpd1M5lEhLcXjKJnYghvhTRgaBeUivLHMDM1TzF3IJ6hXU2+8uA4Xz+5BA63mtZo5DjVT8iA== - -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -784,46 +186,16 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - acorn-import-assertions@^1.7.6: version "1.8.0" resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.4.1: +acorn@^8.4.1: version "8.6.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -863,38 +235,14 @@ ajv@^8.0.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -902,79 +250,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -babel-jest@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.3.1.tgz#0636a3404c68e07001e434ac4956d82da8a80022" - integrity sha512-SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ== - dependencies: - "@jest/transform" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^27.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^27.2.0: - version "27.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz#79f37d43f7e5c4fdc4b2ca3e10cc6cf545626277" - integrity sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^27.2.0: - version "27.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz#556bbbf340608fed5670ab0ea0c8ef2449fba885" - integrity sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg== - dependencies: - babel-plugin-jest-hoist "^27.2.0" - babel-preset-current-node-syntax "^1.0.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1005,12 +280,7 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.14.5, browserslist@^4.17.5: +browserslist@^4.14.5: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -1021,63 +291,17 @@ browserslist@^4.14.5, browserslist@^4.17.5: node-releases "^2.0.1" picocolors "^1.0.0" -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== - caniuse-lite@^1.0.30001280: version "1.0.30001282" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -1085,11 +309,6 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - "chokidar@>=3.0.0 <4.0.0": version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" @@ -1110,25 +329,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -ci-info@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -1138,23 +338,6 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -1162,11 +345,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -1177,13 +355,6 @@ colorette@^2.0.14: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -1199,13 +370,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -1234,107 +398,10 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -dayjs@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" - integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== - -debug@4, debug@^4.1.0, debug@^4.1.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" - integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - electron-to-chromium@^1.3.896: - version "1.3.903" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.903.tgz#e2d3c3809f4ef05fdbe5cc88969dfc94b1bd15b9" - integrity sha512-+PnYAyniRRTkNq56cqYDLq9LyklZYk0hqoDy9GpcU11H5QjRmFZVDbxtgHUMK/YzdNTcn1XWP5gb+hFlSCr20g== - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + version "1.3.904" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.904.tgz#52a353994faeb0f2a9fab3606b4e0614d1af7b58" + integrity sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw== emojis-list@^3.0.0: version "3.0.0" @@ -1354,73 +421,16 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== -es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - es-module-lexer@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -1429,11 +439,6 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" @@ -1451,11 +456,6 @@ estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -1476,50 +476,21 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expect@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.3.1.tgz#d0f170b1f5c8a2009bab0beffd4bb94f043e38e7" - integrity sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg== - dependencies: - "@jest/types" "^27.2.5" - ansi-styles "^5.0.0" - jest-get-type "^27.3.1" - jest-matcher-utils "^27.3.1" - jest-message-util "^27.3.1" - jest-regex-util "^27.0.6" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - fastest-levenshtein@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - file-loader@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" @@ -1535,7 +506,7 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-up@^4.0.0, find-up@^4.1.0: +find-up@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -1543,21 +514,12 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -1567,43 +529,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -1616,7 +546,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: +glob@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -1628,43 +558,16 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - graceful-fs@^4.1.2, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -1672,688 +575,101 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -import-local@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" - integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-core-module@^2.2.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-weakref@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" - integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== - dependencies: - call-bind "^1.0.0" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" - integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" - integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^27.3.0: - version "27.3.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.3.0.tgz#22a02cc2b34583fc66e443171dc271c0529d263c" - integrity sha512-9DJs9garMHv4RhylUMZgbdCJ3+jHSkpL9aaVKp13xtXAD80qLTLrqcDZL1PHA9dYA0bCI86Nv2BhkLpLhrBcPg== - dependencies: - "@jest/types" "^27.2.5" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.3.1.tgz#1679e74387cbbf0c6a8b42de963250a6469e0797" - integrity sha512-v1dsM9II6gvXokgqq6Yh2jHCpfg7ZqV4jWY66u7npz24JnhP3NHxI0sKT7+ZMQ7IrOWHYAaeEllOySbDbWsiXw== - dependencies: - "@jest/environment" "^27.3.1" - "@jest/test-result" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.3.1" - is-generator-fn "^2.0.0" - jest-each "^27.3.1" - jest-matcher-utils "^27.3.1" - jest-message-util "^27.3.1" - jest-runtime "^27.3.1" - jest-snapshot "^27.3.1" - jest-util "^27.3.1" - pretty-format "^27.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.3.1.tgz#b576f9d146ba6643ce0a162d782b40152b6b1d16" - integrity sha512-WHnCqpfK+6EvT62me6WVs8NhtbjAS4/6vZJnk7/2+oOr50cwAzG4Wxt6RXX0hu6m1169ZGMlhYYUNeKBXCph/Q== - dependencies: - "@jest/core" "^27.3.1" - "@jest/test-result" "^27.3.1" - "@jest/types" "^27.2.5" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - jest-config "^27.3.1" - jest-util "^27.3.1" - jest-validate "^27.3.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.3.1.tgz#cb3b7f6aaa8c0a7daad4f2b9573899ca7e09bbad" - integrity sha512-KY8xOIbIACZ/vdYCKSopL44I0xboxC751IX+DXL2+Wx6DKNycyEfV3rryC3BPm5Uq/BBqDoMrKuqLEUNJmMKKg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^27.3.1" - "@jest/types" "^27.2.5" - babel-jest "^27.3.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-circus "^27.3.1" - jest-environment-jsdom "^27.3.1" - jest-environment-node "^27.3.1" - jest-get-type "^27.3.1" - jest-jasmine2 "^27.3.1" - jest-regex-util "^27.0.6" - jest-resolve "^27.3.1" - jest-runner "^27.3.1" - jest-util "^27.3.1" - jest-validate "^27.3.1" - micromatch "^4.0.4" - pretty-format "^27.3.1" - -jest-diff@^27.0.0, jest-diff@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" - integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.0.6" - jest-get-type "^27.3.1" - pretty-format "^27.3.1" - -jest-docblock@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3" - integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.3.1.tgz#14c56bb4f18dd18dc6bdd853919b5f16a17761ff" - integrity sha512-E4SwfzKJWYcvOYCjOxhZcxwL+AY0uFMvdCOwvzgutJiaiodFjkxQQDxHm8FQBeTqDnSmKsQWn7ldMRzTn2zJaQ== - dependencies: - "@jest/types" "^27.2.5" - chalk "^4.0.0" - jest-get-type "^27.3.1" - jest-util "^27.3.1" - pretty-format "^27.3.1" - -jest-environment-jsdom@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.3.1.tgz#63ac36d68f7a9303494df783494856222b57f73e" - integrity sha512-3MOy8qMzIkQlfb3W1TfrD7uZHj+xx8Olix5vMENkj5djPmRqndMaXtpnaZkxmxM+Qc3lo+yVzJjzuXbCcZjAlg== - dependencies: - "@jest/environment" "^27.3.1" - "@jest/fake-timers" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - jest-mock "^27.3.0" - jest-util "^27.3.1" - jsdom "^16.6.0" - -jest-environment-node@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.3.1.tgz#af7d0eed04edafb740311b303f3fe7c8c27014bb" - integrity sha512-T89F/FgkE8waqrTSA7/ydMkcc52uYPgZZ6q8OaZgyiZkJb5QNNCF6oPZjH9IfPFfcc9uBWh1574N0kY0pSvTXw== - dependencies: - "@jest/environment" "^27.3.1" - "@jest/fake-timers" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - jest-mock "^27.3.0" - jest-util "^27.3.1" - -jest-get-type@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" - integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== - -jest-haste-map@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.3.1.tgz#7656fbd64bf48bda904e759fc9d93e2c807353ee" - integrity sha512-lYfNZIzwPccDJZIyk9Iz5iQMM/MH56NIIcGj7AFU1YyA4ewWFBl8z+YPJuSCRML/ee2cCt2y3W4K3VXPT6Nhzg== - dependencies: - "@jest/types" "^27.2.5" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.0.6" - jest-serializer "^27.0.6" - jest-util "^27.3.1" - jest-worker "^27.3.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.3.1.tgz#df6d3d07c7dafc344feb43a0072a6f09458d32b0" - integrity sha512-WK11ZUetDQaC09w4/j7o4FZDUIp+4iYWH/Lik34Pv7ukL+DuXFGdnmmi7dT58J2ZYKFB5r13GyE0z3NPeyJmsg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^27.3.1" - "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.3.1" - is-generator-fn "^2.0.0" - jest-each "^27.3.1" - jest-matcher-utils "^27.3.1" - jest-message-util "^27.3.1" - jest-runtime "^27.3.1" - jest-snapshot "^27.3.1" - jest-util "^27.3.1" - pretty-format "^27.3.1" - throat "^6.0.1" - -jest-leak-detector@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.3.1.tgz#7fb632c2992ef707a1e73286e1e704f9cc1772b2" - integrity sha512-78QstU9tXbaHzwlRlKmTpjP9k4Pvre5l0r8Spo4SbFFVy/4Abg9I6ZjHwjg2QyKEAMg020XcjP+UgLZIY50yEg== - dependencies: - jest-get-type "^27.3.1" - pretty-format "^27.3.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -jest-matcher-utils@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.3.1.tgz#257ad61e54a6d4044e080d85dbdc4a08811e9c1c" - integrity sha512-hX8N7zXS4k+8bC1Aj0OWpGb7D3gIXxYvPNK1inP5xvE4ztbz3rc4AkI6jGVaerepBnfWB17FL5lWFJT3s7qo8w== +import-local@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== dependencies: - chalk "^4.0.0" - jest-diff "^27.3.1" - jest-get-type "^27.3.1" - pretty-format "^27.3.1" + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" -jest-message-util@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.3.1.tgz#f7c25688ad3410ab10bcb862bcfe3152345c6436" - integrity sha512-bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg== +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.2.5" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" + once "^1.3.0" + wrappy "1" -jest-mock@^27.3.0: - version "27.3.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.3.0.tgz#ddf0ec3cc3e68c8ccd489bef4d1f525571a1b867" - integrity sha512-ziZiLk0elZOQjD08bLkegBzv5hCABu/c8Ytx45nJKkysQwGaonvmTxwjLqEA4qGdasq9o2I8/HtdGMNnVsMTGw== - dependencies: - "@jest/types" "^27.2.5" - "@types/node" "*" +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -jest-regex-util@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" - integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -jest-resolve-dependencies@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.3.1.tgz#85b99bdbdfa46e2c81c6228fc4c91076f624f6e2" - integrity sha512-X7iLzY8pCiYOnvYo2YrK3P9oSE8/3N2f4pUZMJ8IUcZnT81vlSonya1KTO9ZfKGuC+svE6FHK/XOb8SsoRUV1A== +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: - "@jest/types" "^27.2.5" - jest-regex-util "^27.0.6" - jest-snapshot "^27.3.1" + binary-extensions "^2.0.0" -jest-resolve@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.3.1.tgz#0e5542172a1aa0270be6f66a65888647bdd74a3e" - integrity sha512-Dfzt25CFSPo3Y3GCbxynRBZzxq9AdyNN+x/v2IqYx6KVT5Z6me2Z/PsSGFSv3cOSUZqJ9pHxilao/I/m9FouLw== - dependencies: - "@jest/types" "^27.2.5" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.3.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.3.1" - jest-validate "^27.3.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.3.1.tgz#1d594dcbf3bd8600a7e839e790384559eaf96e3e" - integrity sha512-r4W6kBn6sPr3TBwQNmqE94mPlYVn7fLBseeJfo4E2uCTmAyDFm2O5DYAQAFP7Q3YfiA/bMwg8TVsciP7k0xOww== - dependencies: - "@jest/console" "^27.3.1" - "@jest/environment" "^27.3.1" - "@jest/test-result" "^27.3.1" - "@jest/transform" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-docblock "^27.0.6" - jest-environment-jsdom "^27.3.1" - jest-environment-node "^27.3.1" - jest-haste-map "^27.3.1" - jest-leak-detector "^27.3.1" - jest-message-util "^27.3.1" - jest-resolve "^27.3.1" - jest-runtime "^27.3.1" - jest-util "^27.3.1" - jest-worker "^27.3.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.3.1.tgz#80fa32eb85fe5af575865ddf379874777ee993d7" - integrity sha512-qtO6VxPbS8umqhEDpjA4pqTkKQ1Hy4ZSi9mDVeE9Za7LKBo2LdW2jmT+Iod3XFaJqINikZQsn2wEi0j9wPRbLg== - dependencies: - "@jest/console" "^27.3.1" - "@jest/environment" "^27.3.1" - "@jest/globals" "^27.3.1" - "@jest/source-map" "^27.0.6" - "@jest/test-result" "^27.3.1" - "@jest/transform" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-haste-map "^27.3.1" - jest-message-util "^27.3.1" - jest-mock "^27.3.0" - jest-regex-util "^27.0.6" - jest-resolve "^27.3.1" - jest-snapshot "^27.3.1" - jest-util "^27.3.1" - jest-validate "^27.3.1" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^16.2.0" - -jest-serializer@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" - integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" + has "^1.0.3" -jest-snapshot@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.3.1.tgz#1da5c0712a252d70917d46c037054f5918c49ee4" - integrity sha512-APZyBvSgQgOT0XumwfFu7X3G5elj6TGhCBLbBdn3R1IzYustPGPE38F51dBWMQ8hRXa9je0vAdeVDtqHLvB6lg== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/parser" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.3.1" - graceful-fs "^4.2.4" - jest-diff "^27.3.1" - jest-get-type "^27.3.1" - jest-haste-map "^27.3.1" - jest-matcher-utils "^27.3.1" - jest-message-util "^27.3.1" - jest-resolve "^27.3.1" - jest-util "^27.3.1" - natural-compare "^1.4.0" - pretty-format "^27.3.1" - semver "^7.3.2" - -jest-util@^27.0.0, jest-util@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.3.1.tgz#a58cdc7b6c8a560caac9ed6bdfc4e4ff23f80429" - integrity sha512-8fg+ifEH3GDryLQf/eKZck1DEs2YuVPBCMOaHQxVVLmQwl/CDhWzrvChTX4efLZxGrw+AA0mSXv78cyytBt/uw== - dependencies: - "@jest/types" "^27.2.5" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.4" - picomatch "^2.2.3" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -jest-validate@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.3.1.tgz#3a395d61a19cd13ae9054af8cdaf299116ef8a24" - integrity sha512-3H0XCHDFLA9uDII67Bwi1Vy7AqwA5HqEEjyy934lgVhtJ3eisw6ShOF1MDmRPspyikef5MyExvIm0/TuLzZ86Q== +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: - "@jest/types" "^27.2.5" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.3.1" - leven "^3.1.0" - pretty-format "^27.3.1" + is-extglob "^2.1.1" -jest-watcher@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.3.1.tgz#ba5e0bc6aa843612b54ddb7f009d1cbff7e05f3e" - integrity sha512-9/xbV6chABsGHWh9yPaAGYVVKurWoP3ZMCv6h+O1v9/+pkOroigs6WzZ0e9gLP/njokUwM7yQhr01LKJVMkaZA== +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: - "@jest/test-result" "^27.3.1" - "@jest/types" "^27.2.5" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.3.1" - string-length "^4.0.1" + isobject "^3.0.1" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -jest-worker@^27.0.6, jest-worker@^27.3.1: +jest-worker@^27.0.6: version "27.3.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== @@ -2362,73 +678,6 @@ jest-worker@^27.0.6, jest-worker@^27.3.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.3.1.tgz#b5bab64e8f56b6f7e275ba1836898b0d9f1e5c8a" - integrity sha512-U2AX0AgQGd5EzMsiZpYt8HyZ+nSVIh5ujQ9CPp9EQZJMjXIiSZpJNweZl0swatKRoqHWgGKM3zaSwm4Zaz87ng== - dependencies: - "@jest/core" "^27.3.1" - import-local "^3.0.2" - jest-cli "^27.3.1" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsdoc-plugin-typescript@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/jsdoc-plugin-typescript/-/jsdoc-plugin-typescript-2.0.6.tgz#75d279afeba171a61b997a250d5cfa9cd6a7560d" - integrity sha512-5L9XBEocaM5/33+heqOy9WF/zLHNfPvkxsqVom1lF1FSVlx0PdV/rr5XRz7WrHJgI2PLvycE7P18nVNFelf3nw== - dependencies: - string.prototype.matchall "^4.0.0" - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -2444,7 +693,7 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json5@2.x, json5@^2.1.2: +json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== @@ -2456,29 +705,11 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - klona@^2.0.4: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - loader-runner@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" @@ -2500,16 +731,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -2517,31 +738,12 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromatch@^4.0.0, micromatch@^4.0.4: +micromatch@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -2554,7 +756,7 @@ mime-db@1.51.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== -mime-types@^2.1.12, mime-types@^2.1.27: +mime-types@^2.1.27: version "2.1.34" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== @@ -2585,36 +787,16 @@ minimist@^1.2.3, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - nanoid@^3.1.30: version "3.1.30" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - node-releases@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" @@ -2632,31 +814,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2671,18 +828,6 @@ onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -2702,11 +847,6 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -2737,13 +877,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -2801,40 +934,12 @@ postcss@^8.2.15: picocolors "^1.0.0" source-map-js "^0.6.2" -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - prettier@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== -pretty-format@^27.0.0, pretty-format@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" - integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== - dependencies: - "@jest/types" "^27.2.5" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -2846,11 +951,6 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -2872,19 +972,6 @@ rechoir@^0.7.0: dependencies: resolve "^1.9.0" -regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" @@ -2902,12 +989,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@^1.1.6, resolve@^1.20.0, resolve@^1.9.0: +resolve@^1.1.6, resolve@^1.9.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -2915,28 +997,11 @@ resolve@^1.1.6, resolve@^1.20.0, resolve@^1.9.0: is-core-module "^2.2.0" path-parse "^1.0.6" -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - safe-buffer@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - sass-loader@^12.3.0: version "12.3.0" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.3.0.tgz#93278981c189c36a58cbfc37d4b9cef0cdc02871" @@ -2952,13 +1017,6 @@ sass@^1.43.4: dependencies: chokidar ">=3.0.0 <4.0.0" -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" @@ -2978,18 +1036,13 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.0.0" -semver@7.x, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - serialize-javascript@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" @@ -3033,36 +1086,17 @@ shx@^0.3.3: minimist "^1.2.3" shelljs "^0.8.4" -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.3: version "3.0.6" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - source-map-js@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== -source-map-support@^0.5.6, source-map-support@~0.5.20: +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -3070,92 +1104,16 @@ source-map-support@^0.5.6, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3, source-map@~0.7.2: +source-map@~0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.0: - version "4.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" - integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -3166,14 +1124,7 @@ style-loader@^3.3.1: resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -3187,32 +1138,11 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - terser-webpack-plugin@^5.1.3: version "5.2.5" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" @@ -3233,30 +1163,6 @@ terser@^5.7.2: source-map "~0.7.2" source-map-support "~0.5.20" -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -throat@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -3264,36 +1170,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -ts-jest@^27.0.7: - version "27.0.7" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.0.7.tgz#fb7c8c8cb5526ab371bc1b23d06e745652cca2d0" - integrity sha512-O41shibMqzdafpuP+CkrOL7ykbmLh+FqQrXEmV9CydQ5JBk0Sj0uAEF5TNNe94fZWKm3yYvWa/IbyV4Yg1zK2Q== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^27.0.0" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - semver "7.x" - yargs-parser "20.x" - ts-loader@^9.2.6: version "9.2.6" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.6.tgz#9937c4dd0a1e3dbbb5e433f8102a6601c6615d74" @@ -3304,50 +1180,11 @@ ts-loader@^9.2.6: micromatch "^4.0.0" semver "^7.3.4" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - typescript@^4.4.4: version "4.5.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -3360,41 +1197,6 @@ util-deprecate@^1.0.2: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-to-istanbul@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz#0aeb763894f1a0a1676adf8a8b7612a38902446c" - integrity sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - watchpack@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" @@ -3403,16 +1205,6 @@ watchpack@^2.2.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - webpack-cli@^4.9.1: version "4.9.1" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" @@ -3445,9 +1237,9 @@ webpack-sources@^3.2.2: integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== webpack@^5.60.0: - version "5.64.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.1.tgz#fd59840c16f04fe315f2b2598a85026f12dfa1bb" - integrity sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw== + version "5.64.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.2.tgz#152e28d4712a6223b06c06cba0d3e622a61611a0" + integrity sha512-4KGc0+Ozi0aS3EaLNRvEppfZUer+CaORKqL6OBjDLZOPf9YfN8leagFzwe6/PoBdHFxc/utKArl8LMC0Ivtmdg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -3474,38 +1266,6 @@ webpack@^5.60.0: watchpack "^2.2.0" webpack-sources "^3.2.2" -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -3518,74 +1278,12 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" - integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.x, yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2"