Files
replayweb.page/sw.js
T
Ilya Kreymer d1e84b1b52 Custom SW filename (#175)
* embed: support using custom filename for service worker instead of sw.js
can be set via <replay-web-page swName='custom.js' ... > property
docs: update embedding docs to mention new option
fixes #160
2023-06-14 17:06:51 -07:00

979 lines
2.9 MiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*! 'sw.js is part of ReplayWeb.page (https://replayweb.page) Copyright (C) 2020-2023, Webrecorder Software. Licensed under the Affero General Public License v3.' */(()=>{var __webpack_modules__={"./index.html":
/*!********************!*\
!*** ./index.html ***!
\********************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<!doctype html>\\n<html class=\\"no-overflow\\">\\n<head>\\n<link rel=\\"manifest\\" href=\\"/webmanifest.json\\">\\n<link rel=\\"icon\\" href=\\"build/icon.png\\" type=\\"image/png\\" />\\n<title>ReplayWeb.page</title>\\n<meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1\\">\\n<script src=\\"./ui.js\\"><\/script>\\n</head>\\n<body>\\n<replay-app-main></replay-app-main>\\n</body>\\n</html>\\n");\n\n//# sourceURL=webpack://replaywebpage/./index.html?')},"../wabac.js/node_modules/@webrecorder/wombat/src/wombatWorkers.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@webrecorder/wombat/src/wombatWorkers.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"/**\\n * Mini wombat for performing URL rewriting within the\\n * Web/Shared/Service Worker context\\n * @param {Object} info\\n * @return {WBWombat}\\n */\\nfunction WBWombat(info) {\\n if (!(this instanceof WBWombat)) return new WBWombat(info);\\n /** @type {Object} */\\n this.info = info;\\n this.initImportScriptsRewrite();\\n this.initHTTPOverrides();\\n this.initClientApisOverride();\\n this.initCacheApisOverride();\\n}\\n\\n/**\\n * Returns T/F indicating if the supplied URL is not to be rewritten\\n * @param {string} url\\n * @return {boolean}\\n */\\nWBWombat.prototype.noRewrite = function(url) {\\n return (\\n !url ||\\n url.indexOf('blob:') === 0 ||\\n url.indexOf('javascript:') === 0 ||\\n url.indexOf('data:') === 0 ||\\n url.indexOf(this.info.prefix) === 0\\n );\\n};\\n\\n/**\\n * Returns T/F indicating if the supplied URL is an relative URL\\n * @param {string} url\\n * @return {boolean}\\n */\\nWBWombat.prototype.isRelURL = function(url) {\\n return url.indexOf('/') === 0 || url.indexOf('http:') !== 0;\\n};\\n\\n/**\\n * Attempts to resolve the supplied relative URL against\\n * the origin this worker was created on\\n * @param {string} maybeRelURL\\n * @param {string} against\\n * @return {string}\\n */\\nWBWombat.prototype.maybeResolveURL = function(maybeRelURL, against) {\\n if (!against) return maybeRelURL;\\n try {\\n var resolved = new URL(maybeRelURL, against);\\n return resolved.href;\\n } catch (e) {}\\n return maybeRelURL;\\n};\\n\\n/**\\n * Returns null to indicate that the supplied URL is not to be rewritten.\\n * Otherwise returns a URL that can be rewritten\\n * @param {*} url\\n * @param {string} resolveAgainst\\n * @return {?string}\\n */\\nWBWombat.prototype.ensureURL = function(url, resolveAgainst) {\\n if (!url) return url;\\n var newURL;\\n switch (typeof url) {\\n case 'string':\\n newURL = url;\\n break;\\n case 'object':\\n newURL = url.toString();\\n break;\\n default:\\n return null;\\n }\\n if (this.noRewrite(newURL)) return null;\\n if (this.isRelURL(newURL)) {\\n return this.maybeResolveURL(newURL, resolveAgainst);\\n }\\n\\n // if url starts with current origin, but not properly rewritten, rewrite against current baseUr\\n if (newURL.indexOf(self.location.origin) === 0) {\\n return this.maybeResolveURL(newURL.slice(self.location.origin.length), resolveAgainst);\\n }\\n return newURL;\\n};\\n\\n/**\\n * Rewrites the supplied URL\\n * @param {string} url\\n * @return {string}\\n */\\nWBWombat.prototype.rewriteURL = function(url) {\\n var rwURL = this.ensureURL(url, this.info.originalURL);\\n if (!rwURL) return url;\\n if (this.info.prefixMod) {\\n return this.info.prefixMod + rwURL;\\n }\\n return rwURL;\\n};\\n\\n/**\\n * Rewrites the supplied URL of an controlled page using the mp\\\\_ modifier\\n * @param {string} url\\n * @param {WindowClient} [client]\\n * @return {string}\\n */\\nWBWombat.prototype.rewriteClientWindowURL = function(url, client) {\\n var rwURL = this.ensureURL(url, client ? client.url : this.info.originalURL);\\n if (!rwURL) return url;\\n if (this.info.prefix) {\\n return this.info.prefix + 'mp_/' + rwURL;\\n }\\n return rwURL;\\n};\\n\\n/**\\n * Mini url rewriter specifically for rewriting web sockets\\n * @param {?string} originalURL\\n * @return {string}\\n */\\nWBWombat.prototype.rewriteWSURL = function(originalURL) {\\n // If undefined, just return it\\n if (!originalURL) return originalURL;\\n\\n var urltype_ = typeof originalURL;\\n var url = originalURL;\\n\\n // If object, use toString\\n if (urltype_ === 'object') {\\n url = originalURL.toString();\\n } else if (urltype_ !== 'string') {\\n return originalURL;\\n }\\n\\n // empty string check\\n if (!url) return url;\\n\\n var wsScheme = 'ws://';\\n var wssScheme = 'wss://';\\n var https = 'https://';\\n\\n var wbSecure = this.info.prefix.indexOf(https) === 0;\\n var wbPrefix =\\n this.info.prefix.replace(\\n wbSecure ? https : 'http://',\\n wbSecure ? wssScheme : wsScheme\\n ) + 'ws_/';\\n return wbPrefix + url;\\n};\\n\\n/**\\n * Rewrites all URLs in the supplied arguments object\\n * @param {Object} argsObj\\n * @return {Array<string>}\\n */\\nWBWombat.prototype.rewriteArgs = function(argsObj) {\\n // recreate the original arguments object just with URLs rewritten\\n var newArgObj = new Array(argsObj.length);\\n for (var i = 0; i < newArgObj.length; i++) {\\n newArgObj[i] = this.rewriteURL(argsObj[i]);\\n }\\n return newArgObj;\\n};\\n\\n/**\\n * Rewrites the input to one of the Fetch APIs\\n * @param {*|string|Request} input\\n * @return {*|string|Request}\\n */\\nWBWombat.prototype.rewriteFetchApi = function(input) {\\n var rwInput = input;\\n switch (typeof input) {\\n case 'string':\\n rwInput = this.rewriteURL(input);\\n break;\\n case 'object':\\n if (input.url) {\\n var new_url = this.rewriteURL(input.url);\\n if (new_url !== input.url) {\\n // not much we can do here Request.url is read only\\n // https://developer.mozilla.org/en-US/docs/Web/API/Request/url\\n rwInput = new Request(new_url, input);\\n }\\n } else if (input.href) {\\n // it is likely that input is either self.location or self.URL\\n // we cant do anything here so just let it go\\n rwInput = input.href;\\n }\\n break;\\n }\\n return rwInput;\\n};\\n\\n/**\\n * Rewrites the input to one of the Cache APIs\\n * @param {*|string|Request} request\\n * @return {*|string|Request}\\n */\\nWBWombat.prototype.rewriteCacheApi = function(request) {\\n var rwRequest = request;\\n if (typeof request === 'string') {\\n rwRequest = this.rewriteURL(request);\\n }\\n return rwRequest;\\n};\\n\\n/**\\n * Applies an override to the importScripts function\\n * @see https://html.spec.whatwg.org/multipage/workers.html#dom-workerglobalscope-importscripts\\n */\\nWBWombat.prototype.initImportScriptsRewrite = function() {\\n if (!self.importScripts) return;\\n var wombat = this;\\n var origImportScripts = self.importScripts;\\n self.importScripts = function importScripts() {\\n // rewrite the arguments object and call original function via fn.apply\\n var rwArgs = wombat.rewriteArgs(arguments);\\n return origImportScripts.apply(this, rwArgs);\\n };\\n};\\n\\n/**\\n * Applies overrides to the XMLHttpRequest.open and XMLHttpRequest.responseURL\\n * in order to ensure URLs are rewritten.\\n *\\n * Applies an override to window.fetch in order to rewrite URLs and URLs of\\n * the supplied Request objects used as arguments to fetch.\\n *\\n * Applies overrides to window.Request, window.Response, window.EventSource,\\n * and window.WebSocket in order to ensure URLs they operate on are rewritten.\\n *\\n * @see https://xhr.spec.whatwg.org/\\n * @see https://fetch.spec.whatwg.org/\\n * @see https://html.spec.whatwg.org/multipage/web-sockets.html#websocket\\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface\\n */\\nWBWombat.prototype.initHTTPOverrides = function() {\\n var wombat = this;\\n if (\\n self.XMLHttpRequest &&\\n self.XMLHttpRequest.prototype &&\\n self.XMLHttpRequest.prototype.open\\n ) {\\n var oXHROpen = self.XMLHttpRequest.prototype.open;\\n self.XMLHttpRequest.prototype.open = function open(\\n method,\\n url,\\n async,\\n user,\\n password\\n ) {\\n var rwURL = wombat.rewriteURL(url);\\n var openAsync = true;\\n if (async != null && !async) openAsync = false;\\n oXHROpen.call(this, method, rwURL, openAsync, user, password);\\n if (rwURL.indexOf('data:') === -1) {\\n this.setRequestHeader('X-Pywb-Requested-With', 'XMLHttpRequest');\\n }\\n };\\n }\\n\\n if (self.fetch != null) {\\n // this fetch is Worker.fetch\\n var orig_fetch = self.fetch;\\n self.fetch = function fetch(input, init_opts) {\\n var rwInput = wombat.rewriteFetchApi(input);\\n var newInitOpts = init_opts || {};\\n newInitOpts['credentials'] = 'include';\\n return orig_fetch.call(this, rwInput, newInitOpts);\\n };\\n }\\n\\n if (self.Request && self.Request.prototype) {\\n var orig_request = self.Request;\\n self.Request = (function(Request_) {\\n return function Request(input, init_opts) {\\n var newInitOpts = init_opts || {};\\n var newInput = wombat.rewriteFetchApi(input);\\n newInitOpts['credentials'] = 'include';\\n return new Request_(newInput, newInitOpts);\\n };\\n })(self.Request);\\n self.Request.prototype = orig_request.prototype;\\n }\\n\\n if (self.Response && self.Response.prototype) {\\n var originalRedirect = self.Response.prototype.redirect;\\n self.Response.prototype.redirect = function redirect(url, status) {\\n var rwURL = wombat.rewriteUrl(url);\\n return originalRedirect.call(this, rwURL, status);\\n };\\n }\\n\\n if (self.EventSource && self.EventSource.prototype) {\\n var origEventSource = self.EventSource;\\n self.EventSource = (function(EventSource_) {\\n return function EventSource(url, configuration) {\\n var rwURL = url;\\n if (url != null) {\\n rwURL = wombat.rewriteUrl(url);\\n }\\n return new EventSource_(rwURL, configuration);\\n };\\n })(self.EventSource);\\n self.EventSource.prototype = origEventSource.prototype;\\n Object.defineProperty(self.EventSource.prototype, 'constructor', {\\n value: self.EventSource\\n });\\n }\\n\\n if (self.WebSocket && self.WebSocket.prototype) {\\n var origWebSocket = self.WebSocket;\\n self.WebSocket = (function(WebSocket_) {\\n return function WebSocket(url, configuration) {\\n var rwURL = url;\\n if (url != null) {\\n rwURL = wombat.rewriteWSURL(url);\\n }\\n return new WebSocket_(rwURL, configuration);\\n };\\n })(self.WebSocket);\\n self.WebSocket.prototype = origWebSocket.prototype;\\n Object.defineProperty(self.WebSocket.prototype, 'constructor', {\\n value: self.WebSocket\\n });\\n }\\n};\\n\\n/**\\n * Applies an override to Clients.openWindow and WindowClient.navigate that rewrites\\n * the supplied URL that represents a controlled window\\n * @see https://w3c.github.io/ServiceWorker/#window-client-interface\\n * @see https://w3c.github.io/ServiceWorker/#clients-interface\\n */\\nWBWombat.prototype.initClientApisOverride = function() {\\n var wombat = this;\\n if (\\n self.Clients &&\\n self.Clients.prototype &&\\n self.Clients.prototype.openWindow\\n ) {\\n var oClientsOpenWindow = self.Clients.prototype.openWindow;\\n self.Clients.prototype.openWindow = function openWindow(url) {\\n var rwURL = wombat.rewriteClientWindowURL(url);\\n return oClientsOpenWindow.call(this, rwURL);\\n };\\n }\\n\\n if (\\n self.WindowClient &&\\n self.WindowClient.prototype &&\\n self.WindowClient.prototype.navigate\\n ) {\\n var oWinClientNavigate = self.WindowClient.prototype.navigate;\\n self.WindowClient.prototype.navigate = function navigate(url) {\\n var rwURL = wombat.rewriteClientWindowURL(url, this);\\n return oWinClientNavigate.call(this, rwURL);\\n };\\n }\\n};\\n\\n/**\\n * Applies overrides to the CacheStorage and Cache interfaces in order\\n * to rewrite the URLs they operate on\\n * @see https://w3c.github.io/ServiceWorker/#cachestorage\\n * @see https://w3c.github.io/ServiceWorker/#cache-interface\\n */\\nWBWombat.prototype.initCacheApisOverride = function() {\\n var wombat = this;\\n if (\\n self.CacheStorage &&\\n self.CacheStorage.prototype &&\\n self.CacheStorage.prototype.match\\n ) {\\n var oCacheStorageMatch = self.CacheStorage.prototype.match;\\n self.CacheStorage.prototype.match = function match(request, options) {\\n var rwRequest = wombat.rewriteCacheApi(request);\\n return oCacheStorageMatch.call(this, rwRequest, options);\\n };\\n }\\n\\n if (self.Cache && self.Cache.prototype) {\\n if (self.Cache.prototype.match) {\\n var oCacheMatch = self.Cache.prototype.match;\\n self.Cache.prototype.match = function match(request, options) {\\n var rwRequest = wombat.rewriteCacheApi(request);\\n return oCacheMatch.call(this, rwRequest, options);\\n };\\n }\\n\\n if (self.Cache.prototype.matchAll) {\\n var oCacheMatchAll = self.Cache.prototype.matchAll;\\n self.Cache.prototype.matchAll = function matchAll(request, options) {\\n var rwRequest = wombat.rewriteCacheApi(request);\\n return oCacheMatchAll.call(this, rwRequest, options);\\n };\\n }\\n\\n if (self.Cache.prototype.add) {\\n var oCacheAdd = self.Cache.prototype.add;\\n self.Cache.prototype.add = function add(request, options) {\\n var rwRequest = wombat.rewriteCacheApi(request);\\n return oCacheAdd.call(this, rwRequest, options);\\n };\\n }\\n\\n if (self.Cache.prototype.addAll) {\\n var oCacheAddAll = self.Cache.prototype.addAll;\\n self.Cache.prototype.addAll = function addAll(requests) {\\n var rwRequests = requests;\\n if (Array.isArray(requests)) {\\n rwRequests = new Array(requests.length);\\n for (var i = 0; i < requests.length; i++) {\\n rwRequests[i] = wombat.rewriteCacheApi(requests[i]);\\n }\\n }\\n return oCacheAddAll.call(this, rwRequests);\\n };\\n }\\n\\n if (self.Cache.prototype.put) {\\n var oCachePut = self.Cache.prototype.put;\\n self.Cache.prototype.put = function put(request, response) {\\n var rwRequest = wombat.rewriteCacheApi(request);\\n return oCachePut.call(this, rwRequest, response);\\n };\\n }\\n\\n if (self.Cache.prototype.delete) {\\n var oCacheDelete = self.Cache.prototype.delete;\\n self.Cache.prototype.delete = function newCacheDelete(request, options) {\\n var rwRequest = wombat.rewriteCacheApi(request);\\n return oCacheDelete.call(this, rwRequest, options);\\n };\\n }\\n\\n if (self.Cache.prototype.keys) {\\n var oCacheKeys = self.Cache.prototype.keys;\\n self.Cache.prototype.keys = function keys(request, options) {\\n var rwRequest = wombat.rewriteCacheApi(request);\\n return oCacheKeys.call(this, rwRequest, options);\\n };\\n }\\n }\\n};\\n\\nself.WBWombat = WBWombat;\\n\");\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@webrecorder/wombat/src/wombatWorkers.js?")},"./src/sw.js":
/*!*******************!*\
!*** ./src/sw.js ***!
\*******************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index.html */ "./index.html");\n/* harmony import */ var _webrecorder_wabac_src_swmain__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @webrecorder/wabac/src/swmain */ "../wabac.js/src/swmain.js");\n/* harmony import */ var _webrecorder_wabac_src_loaders__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @webrecorder/wabac/src/loaders */ "../wabac.js/src/loaders.js");\n\n\n\n\n\n\n\nif (self.registration) {\n const staticData = new Map();\n\n const prefix = self.registration.scope;\n\n staticData.set(prefix, {type: "text/html", content: _index_html__WEBPACK_IMPORTED_MODULE_0__["default"]});\n staticData.set(prefix + "index.html", {type: "text/html", content: _index_html__WEBPACK_IMPORTED_MODULE_0__["default"]});\n //staticData.set(prefix + "ui.js", {type: "application/javascript", content: UI_JS});\n\n //const { SWReplay } = require(\'@webrecorder/wabac/src/swmain\');\n\n const defaultConfig = {\n injectScripts: ["ruffle/ruffle.js"],\n };\n\n self.ipfsCustomPreload = true;\n self.sw = new _webrecorder_wabac_src_swmain__WEBPACK_IMPORTED_MODULE_1__.SWReplay({staticData, defaultConfig});\n} else {\n new _webrecorder_wabac_src_loaders__WEBPACK_IMPORTED_MODULE_2__.WorkerLoader(self);\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/./src/sw.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/attribute.js":
/*!*****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/attribute.js ***!
\*****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Attribute": () => (/* binding */ Attribute)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass Attribute {\n constructor(params = {}) {\n this.attrType = "";\n this.attrValues = [];\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], Attribute.prototype, "attrType", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, repeated: "set" })\n], Attribute.prototype, "attrValues", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/attribute.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/certificate_choices.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/certificate_choices.js ***!
\***************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CertificateChoices": () => (/* binding */ CertificateChoices),\n/* harmony export */ "CertificateSet": () => (/* binding */ CertificateSet),\n/* harmony export */ "OtherCertificateFormat": () => (/* binding */ OtherCertificateFormat)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509_attr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @peculiar/asn1-x509-attr */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/index.js");\nvar CertificateSet_1;\n\n\n\n\nclass OtherCertificateFormat {\n constructor(params = {}) {\n this.otherCertFormat = "";\n this.otherCert = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], OtherCertificateFormat.prototype, "otherCertFormat", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any })\n], OtherCertificateFormat.prototype, "otherCert", void 0);\nlet CertificateChoices = class CertificateChoices {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Certificate })\n], CertificateChoices.prototype, "certificate", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509_attr__WEBPACK_IMPORTED_MODULE_2__.AttributeCertificate, context: 2, implicit: true })\n], CertificateChoices.prototype, "v2AttrCert", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: OtherCertificateFormat, context: 3, implicit: true })\n], CertificateChoices.prototype, "other", void 0);\nCertificateChoices = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], CertificateChoices);\n\nlet CertificateSet = CertificateSet_1 = class CertificateSet extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, CertificateSet_1.prototype);\n }\n};\nCertificateSet = CertificateSet_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: CertificateChoices })\n], CertificateSet);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/certificate_choices.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/content_info.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/content_info.js ***!
\********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ContentInfo": () => (/* binding */ ContentInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass ContentInfo {\n constructor(params = {}) {\n this.contentType = "";\n this.content = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], ContentInfo.prototype, "contentType", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, context: 0 })\n], ContentInfo.prototype, "content", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/content_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encapsulated_content_info.js":
/*!*********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encapsulated_content_info.js ***!
\*********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EncapsulatedContent": () => (/* binding */ EncapsulatedContent),\n/* harmony export */ "EncapsulatedContentInfo": () => (/* binding */ EncapsulatedContentInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nlet EncapsulatedContent = class EncapsulatedContent {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], EncapsulatedContent.prototype, "single", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any })\n], EncapsulatedContent.prototype, "any", void 0);\nEncapsulatedContent = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], EncapsulatedContent);\n\nclass EncapsulatedContentInfo {\n constructor(params = {}) {\n this.eContentType = "";\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], EncapsulatedContentInfo.prototype, "eContentType", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: EncapsulatedContent, context: 0, optional: true })\n], EncapsulatedContentInfo.prototype, "eContent", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encapsulated_content_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encrypted_content_info.js":
/*!******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encrypted_content_info.js ***!
\******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EncryptedContent": () => (/* binding */ EncryptedContent),\n/* harmony export */ "EncryptedContentInfo": () => (/* binding */ EncryptedContentInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n\n\n\nlet EncryptedContent = class EncryptedContent {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString, context: 0, implicit: true, optional: true })\n], EncryptedContent.prototype, "value", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnConstructedOctetStringConverter, context: 0, implicit: true, optional: true, repeated: "sequence" })\n], EncryptedContent.prototype, "constructedValue", void 0);\nEncryptedContent = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], EncryptedContent);\n\nclass EncryptedContentInfo {\n constructor(params = {}) {\n this.contentType = "";\n this.contentEncryptionAlgorithm = new _types__WEBPACK_IMPORTED_MODULE_1__.ContentEncryptionAlgorithmIdentifier();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], EncryptedContentInfo.prototype, "contentType", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_1__.ContentEncryptionAlgorithmIdentifier })\n], EncryptedContentInfo.prototype, "contentEncryptionAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: EncryptedContent, optional: true })\n], EncryptedContentInfo.prototype, "encryptedContent", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encrypted_content_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/enveloped_data.js":
/*!**********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/enveloped_data.js ***!
\**********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EnvelopedData": () => (/* binding */ EnvelopedData),\n/* harmony export */ "UnprotectedAttributes": () => (/* binding */ UnprotectedAttributes)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n/* harmony import */ var _attribute__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./attribute */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/attribute.js");\n/* harmony import */ var _recipient_infos__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./recipient_infos */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_infos.js");\n/* harmony import */ var _originator_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./originator_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/originator_info.js");\n/* harmony import */ var _encrypted_content_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./encrypted_content_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encrypted_content_info.js");\nvar UnprotectedAttributes_1;\n\n\n\n\n\n\n\nlet UnprotectedAttributes = UnprotectedAttributes_1 = class UnprotectedAttributes extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, UnprotectedAttributes_1.prototype);\n }\n};\nUnprotectedAttributes = UnprotectedAttributes_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: _attribute__WEBPACK_IMPORTED_MODULE_2__.Attribute })\n], UnprotectedAttributes);\n\nclass EnvelopedData {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_1__.CMSVersion.v0;\n this.recipientInfos = new _recipient_infos__WEBPACK_IMPORTED_MODULE_3__.RecipientInfos();\n this.encryptedContentInfo = new _encrypted_content_info__WEBPACK_IMPORTED_MODULE_5__.EncryptedContentInfo();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], EnvelopedData.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _originator_info__WEBPACK_IMPORTED_MODULE_4__.OriginatorInfo, context: 0, implicit: true, optional: true })\n], EnvelopedData.prototype, "originatorInfo", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _recipient_infos__WEBPACK_IMPORTED_MODULE_3__.RecipientInfos })\n], EnvelopedData.prototype, "recipientInfos", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _encrypted_content_info__WEBPACK_IMPORTED_MODULE_5__.EncryptedContentInfo })\n], EnvelopedData.prototype, "encryptedContentInfo", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: UnprotectedAttributes, context: 1, implicit: true, optional: true })\n], EnvelopedData.prototype, "unprotectedAttrs", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/enveloped_data.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/index.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/index.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Attribute": () => (/* reexport safe */ _attribute__WEBPACK_IMPORTED_MODULE_0__.Attribute),\n/* harmony export */ "CMSVersion": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_19__.CMSVersion),\n/* harmony export */ "CertificateChoices": () => (/* reexport safe */ _certificate_choices__WEBPACK_IMPORTED_MODULE_1__.CertificateChoices),\n/* harmony export */ "CertificateSet": () => (/* reexport safe */ _certificate_choices__WEBPACK_IMPORTED_MODULE_1__.CertificateSet),\n/* harmony export */ "ContentEncryptionAlgorithmIdentifier": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_19__.ContentEncryptionAlgorithmIdentifier),\n/* harmony export */ "ContentInfo": () => (/* reexport safe */ _content_info__WEBPACK_IMPORTED_MODULE_2__.ContentInfo),\n/* harmony export */ "DigestAlgorithmIdentifier": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_19__.DigestAlgorithmIdentifier),\n/* harmony export */ "DigestAlgorithmIdentifiers": () => (/* reexport safe */ _signed_data__WEBPACK_IMPORTED_MODULE_16__.DigestAlgorithmIdentifiers),\n/* harmony export */ "EncapsulatedContent": () => (/* reexport safe */ _encapsulated_content_info__WEBPACK_IMPORTED_MODULE_3__.EncapsulatedContent),\n/* harmony export */ "EncapsulatedContentInfo": () => (/* reexport safe */ _encapsulated_content_info__WEBPACK_IMPORTED_MODULE_3__.EncapsulatedContentInfo),\n/* harmony export */ "EncryptedContent": () => (/* reexport safe */ _encrypted_content_info__WEBPACK_IMPORTED_MODULE_4__.EncryptedContent),\n/* harmony export */ "EncryptedContentInfo": () => (/* reexport safe */ _encrypted_content_info__WEBPACK_IMPORTED_MODULE_4__.EncryptedContentInfo),\n/* harmony export */ "EnvelopedData": () => (/* reexport safe */ _enveloped_data__WEBPACK_IMPORTED_MODULE_5__.EnvelopedData),\n/* harmony export */ "IssuerAndSerialNumber": () => (/* reexport safe */ _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_6__.IssuerAndSerialNumber),\n/* harmony export */ "KEKIdentifier": () => (/* reexport safe */ _kek_recipient_info__WEBPACK_IMPORTED_MODULE_7__.KEKIdentifier),\n/* harmony export */ "KEKRecipientInfo": () => (/* reexport safe */ _kek_recipient_info__WEBPACK_IMPORTED_MODULE_7__.KEKRecipientInfo),\n/* harmony export */ "KeyAgreeRecipientIdentifier": () => (/* reexport safe */ _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__.KeyAgreeRecipientIdentifier),\n/* harmony export */ "KeyAgreeRecipientInfo": () => (/* reexport safe */ _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__.KeyAgreeRecipientInfo),\n/* harmony export */ "KeyDerivationAlgorithmIdentifier": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_19__.KeyDerivationAlgorithmIdentifier),\n/* harmony export */ "KeyEncryptionAlgorithmIdentifier": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_19__.KeyEncryptionAlgorithmIdentifier),\n/* harmony export */ "KeyTransRecipientInfo": () => (/* reexport safe */ _key_trans_recipient_info__WEBPACK_IMPORTED_MODULE_9__.KeyTransRecipientInfo),\n/* harmony export */ "MessageAuthenticationCodeAlgorithm": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_19__.MessageAuthenticationCodeAlgorithm),\n/* harmony export */ "OriginatorIdentifierOrKey": () => (/* reexport safe */ _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__.OriginatorIdentifierOrKey),\n/* harmony export */ "OriginatorInfo": () => (/* reexport safe */ _originator_info__WEBPACK_IMPORTED_MODULE_11__.OriginatorInfo),\n/* harmony export */ "OriginatorPublicKey": () => (/* reexport safe */ _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__.OriginatorPublicKey),\n/* harmony export */ "OtherCertificateFormat": () => (/* reexport safe */ _certificate_choices__WEBPACK_IMPORTED_MODULE_1__.OtherCertificateFormat),\n/* harmony export */ "OtherRecipientInfo": () => (/* reexport safe */ _recipient_info__WEBPACK_IMPORTED_MODULE_13__.OtherRecipientInfo),\n/* harmony export */ "OtherRevocationInfoFormat": () => (/* reexport safe */ _revocation_info_choice__WEBPACK_IMPORTED_MODULE_15__.OtherRevocationInfoFormat),\n/* harmony export */ "PasswordRecipientInfo": () => (/* reexport safe */ _password_recipient_info__WEBPACK_IMPORTED_MODULE_12__.PasswordRecipientInfo),\n/* harmony export */ "RecipientEncryptedKey": () => (/* reexport safe */ _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__.RecipientEncryptedKey),\n/* harmony export */ "RecipientEncryptedKeys": () => (/* reexport safe */ _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__.RecipientEncryptedKeys),\n/* harmony export */ "RecipientIdentifier": () => (/* reexport safe */ _key_trans_recipient_info__WEBPACK_IMPORTED_MODULE_9__.RecipientIdentifier),\n/* harmony export */ "RecipientInfo": () => (/* reexport safe */ _recipient_info__WEBPACK_IMPORTED_MODULE_13__.RecipientInfo),\n/* harmony export */ "RecipientInfos": () => (/* reexport safe */ _recipient_infos__WEBPACK_IMPORTED_MODULE_14__.RecipientInfos),\n/* harmony export */ "RecipientKeyIdentifier": () => (/* reexport safe */ _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__.RecipientKeyIdentifier),\n/* harmony export */ "RevocationInfoChoice": () => (/* reexport safe */ _revocation_info_choice__WEBPACK_IMPORTED_MODULE_15__.RevocationInfoChoice),\n/* harmony export */ "RevocationInfoChoices": () => (/* reexport safe */ _revocation_info_choice__WEBPACK_IMPORTED_MODULE_15__.RevocationInfoChoices),\n/* harmony export */ "SignatureAlgorithmIdentifier": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_19__.SignatureAlgorithmIdentifier),\n/* harmony export */ "SignedData": () => (/* reexport safe */ _signed_data__WEBPACK_IMPORTED_MODULE_16__.SignedData),\n/* harmony export */ "SignerIdentifier": () => (/* reexport safe */ _signer_identifier__WEBPACK_IMPORTED_MODULE_17__.SignerIdentifier),\n/* harmony export */ "SignerInfo": () => (/* reexport safe */ _signer_info__WEBPACK_IMPORTED_MODULE_18__.SignerInfo),\n/* harmony export */ "SignerInfos": () => (/* reexport safe */ _signer_info__WEBPACK_IMPORTED_MODULE_18__.SignerInfos),\n/* harmony export */ "UnprotectedAttributes": () => (/* reexport safe */ _enveloped_data__WEBPACK_IMPORTED_MODULE_5__.UnprotectedAttributes),\n/* harmony export */ "id_authData": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_10__.id_authData),\n/* harmony export */ "id_ct_contentInfo": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_10__.id_ct_contentInfo),\n/* harmony export */ "id_data": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_10__.id_data),\n/* harmony export */ "id_digestedData": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_10__.id_digestedData),\n/* harmony export */ "id_encryptedData": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_10__.id_encryptedData),\n/* harmony export */ "id_envelopedData": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_10__.id_envelopedData),\n/* harmony export */ "id_ri": () => (/* reexport safe */ _revocation_info_choice__WEBPACK_IMPORTED_MODULE_15__.id_ri),\n/* harmony export */ "id_ri_ocsp_response": () => (/* reexport safe */ _revocation_info_choice__WEBPACK_IMPORTED_MODULE_15__.id_ri_ocsp_response),\n/* harmony export */ "id_ri_scvp": () => (/* reexport safe */ _revocation_info_choice__WEBPACK_IMPORTED_MODULE_15__.id_ri_scvp),\n/* harmony export */ "id_signedData": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_10__.id_signedData)\n/* harmony export */ });\n/* harmony import */ var _attribute__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./attribute */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/attribute.js");\n/* harmony import */ var _certificate_choices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./certificate_choices */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/certificate_choices.js");\n/* harmony import */ var _content_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./content_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/content_info.js");\n/* harmony import */ var _encapsulated_content_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./encapsulated_content_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encapsulated_content_info.js");\n/* harmony import */ var _encrypted_content_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./encrypted_content_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encrypted_content_info.js");\n/* harmony import */ var _enveloped_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./enveloped_data */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/enveloped_data.js");\n/* harmony import */ var _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./issuer_and_serial_number */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/issuer_and_serial_number.js");\n/* harmony import */ var _kek_recipient_info__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./kek_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/kek_recipient_info.js");\n/* harmony import */ var _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./key_agree_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_agree_recipient_info.js");\n/* harmony import */ var _key_trans_recipient_info__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./key_trans_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_trans_recipient_info.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js");\n/* harmony import */ var _originator_info__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./originator_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/originator_info.js");\n/* harmony import */ var _password_recipient_info__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./password_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/password_recipient_info.js");\n/* harmony import */ var _recipient_info__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_info.js");\n/* harmony import */ var _recipient_infos__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./recipient_infos */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_infos.js");\n/* harmony import */ var _revocation_info_choice__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./revocation_info_choice */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/revocation_info_choice.js");\n/* harmony import */ var _signed_data__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./signed_data */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signed_data.js");\n/* harmony import */ var _signer_identifier__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./signer_identifier */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_identifier.js");\n/* harmony import */ var _signer_info__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./signer_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_info.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/issuer_and_serial_number.js":
/*!********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/issuer_and_serial_number.js ***!
\********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "IssuerAndSerialNumber": () => (/* binding */ IssuerAndSerialNumber)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nclass IssuerAndSerialNumber {\n constructor(params = {}) {\n this.issuer = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Name;\n this.serialNumber = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Name })\n], IssuerAndSerialNumber.prototype, "issuer", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], IssuerAndSerialNumber.prototype, "serialNumber", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/issuer_and_serial_number.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/kek_recipient_info.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/kek_recipient_info.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "KEKIdentifier": () => (/* binding */ KEKIdentifier),\n/* harmony export */ "KEKRecipientInfo": () => (/* binding */ KEKRecipientInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _other_key_attribute__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./other_key_attribute */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/other_key_attribute.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n\n\n\n\nclass KEKIdentifier {\n constructor(params = {}) {\n this.keyIdentifier = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], KEKIdentifier.prototype, "keyIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime, optional: true })\n], KEKIdentifier.prototype, "date", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _other_key_attribute__WEBPACK_IMPORTED_MODULE_1__.OtherKeyAttribute, optional: true })\n], KEKIdentifier.prototype, "other", void 0);\nclass KEKRecipientInfo {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_2__.CMSVersion.v4;\n this.kekid = new KEKIdentifier();\n this.keyEncryptionAlgorithm = new _types__WEBPACK_IMPORTED_MODULE_2__.KeyEncryptionAlgorithmIdentifier();\n this.encryptedKey = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], KEKRecipientInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: KEKIdentifier })\n], KEKRecipientInfo.prototype, "kekid", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_2__.KeyEncryptionAlgorithmIdentifier })\n], KEKRecipientInfo.prototype, "keyEncryptionAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], KEKRecipientInfo.prototype, "encryptedKey", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/kek_recipient_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_agree_recipient_info.js":
/*!********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_agree_recipient_info.js ***!
\********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "KeyAgreeRecipientIdentifier": () => (/* binding */ KeyAgreeRecipientIdentifier),\n/* harmony export */ "KeyAgreeRecipientInfo": () => (/* binding */ KeyAgreeRecipientInfo),\n/* harmony export */ "OriginatorIdentifierOrKey": () => (/* binding */ OriginatorIdentifierOrKey),\n/* harmony export */ "OriginatorPublicKey": () => (/* binding */ OriginatorPublicKey),\n/* harmony export */ "RecipientEncryptedKey": () => (/* binding */ RecipientEncryptedKey),\n/* harmony export */ "RecipientEncryptedKeys": () => (/* binding */ RecipientEncryptedKeys),\n/* harmony export */ "RecipientKeyIdentifier": () => (/* binding */ RecipientKeyIdentifier)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n/* harmony import */ var _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./issuer_and_serial_number */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/issuer_and_serial_number.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _other_key_attribute__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./other_key_attribute */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/other_key_attribute.js");\nvar RecipientEncryptedKeys_1;\n\n\n\n\n\n\nclass RecipientKeyIdentifier {\n constructor(params = {}) {\n this.subjectKeyIdentifier = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__.SubjectKeyIdentifier();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__.SubjectKeyIdentifier })\n], RecipientKeyIdentifier.prototype, "subjectKeyIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime, optional: true })\n], RecipientKeyIdentifier.prototype, "date", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _other_key_attribute__WEBPACK_IMPORTED_MODULE_4__.OtherKeyAttribute, optional: true })\n], RecipientKeyIdentifier.prototype, "other", void 0);\nlet KeyAgreeRecipientIdentifier = class KeyAgreeRecipientIdentifier {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: RecipientKeyIdentifier, context: 0, implicit: true, optional: true })\n], KeyAgreeRecipientIdentifier.prototype, "rKeyId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_2__.IssuerAndSerialNumber, optional: true })\n], KeyAgreeRecipientIdentifier.prototype, "issuerAndSerialNumber", void 0);\nKeyAgreeRecipientIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], KeyAgreeRecipientIdentifier);\n\nclass RecipientEncryptedKey {\n constructor(params = {}) {\n this.rid = new KeyAgreeRecipientIdentifier();\n this.encryptedKey = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: KeyAgreeRecipientIdentifier })\n], RecipientEncryptedKey.prototype, "rid", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], RecipientEncryptedKey.prototype, "encryptedKey", void 0);\nlet RecipientEncryptedKeys = RecipientEncryptedKeys_1 = class RecipientEncryptedKeys extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, RecipientEncryptedKeys_1.prototype);\n }\n};\nRecipientEncryptedKeys = RecipientEncryptedKeys_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: RecipientEncryptedKey })\n], RecipientEncryptedKeys);\n\nclass OriginatorPublicKey {\n constructor(params = {}) {\n this.algorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__.AlgorithmIdentifier();\n this.publicKey = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__.AlgorithmIdentifier })\n], OriginatorPublicKey.prototype, "algorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString })\n], OriginatorPublicKey.prototype, "publicKey", void 0);\nlet OriginatorIdentifierOrKey = class OriginatorIdentifierOrKey {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__.SubjectKeyIdentifier, context: 0, implicit: true, optional: true })\n], OriginatorIdentifierOrKey.prototype, "subjectKeyIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: OriginatorPublicKey, context: 1, implicit: true, optional: true })\n], OriginatorIdentifierOrKey.prototype, "originatorKey", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_2__.IssuerAndSerialNumber, optional: true })\n], OriginatorIdentifierOrKey.prototype, "issuerAndSerialNumber", void 0);\nOriginatorIdentifierOrKey = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], OriginatorIdentifierOrKey);\n\nclass KeyAgreeRecipientInfo {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_1__.CMSVersion.v3;\n this.originator = new OriginatorIdentifierOrKey();\n this.keyEncryptionAlgorithm = new _types__WEBPACK_IMPORTED_MODULE_1__.KeyEncryptionAlgorithmIdentifier();\n this.recipientEncryptedKeys = new RecipientEncryptedKeys();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], KeyAgreeRecipientInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: OriginatorIdentifierOrKey, context: 0 })\n], KeyAgreeRecipientInfo.prototype, "originator", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString, context: 1, optional: true })\n], KeyAgreeRecipientInfo.prototype, "ukm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_1__.KeyEncryptionAlgorithmIdentifier })\n], KeyAgreeRecipientInfo.prototype, "keyEncryptionAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: RecipientEncryptedKeys })\n], KeyAgreeRecipientInfo.prototype, "recipientEncryptedKeys", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_agree_recipient_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_trans_recipient_info.js":
/*!********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_trans_recipient_info.js ***!
\********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "KeyTransRecipientInfo": () => (/* binding */ KeyTransRecipientInfo),\n/* harmony export */ "RecipientIdentifier": () => (/* binding */ RecipientIdentifier)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n/* harmony import */ var _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./issuer_and_serial_number */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/issuer_and_serial_number.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\n\n\nlet RecipientIdentifier = class RecipientIdentifier {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_3__.SubjectKeyIdentifier, context: 0, implicit: true })\n], RecipientIdentifier.prototype, "subjectKeyIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_2__.IssuerAndSerialNumber })\n], RecipientIdentifier.prototype, "issuerAndSerialNumber", void 0);\nRecipientIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], RecipientIdentifier);\n\nclass KeyTransRecipientInfo {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_1__.CMSVersion.v0;\n this.rid = new RecipientIdentifier();\n this.keyEncryptionAlgorithm = new _types__WEBPACK_IMPORTED_MODULE_1__.KeyEncryptionAlgorithmIdentifier();\n this.encryptedKey = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], KeyTransRecipientInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: RecipientIdentifier })\n], KeyTransRecipientInfo.prototype, "rid", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_1__.KeyEncryptionAlgorithmIdentifier })\n], KeyTransRecipientInfo.prototype, "keyEncryptionAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], KeyTransRecipientInfo.prototype, "encryptedKey", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_trans_recipient_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "id_authData": () => (/* binding */ id_authData),\n/* harmony export */ "id_ct_contentInfo": () => (/* binding */ id_ct_contentInfo),\n/* harmony export */ "id_data": () => (/* binding */ id_data),\n/* harmony export */ "id_digestedData": () => (/* binding */ id_digestedData),\n/* harmony export */ "id_encryptedData": () => (/* binding */ id_encryptedData),\n/* harmony export */ "id_envelopedData": () => (/* binding */ id_envelopedData),\n/* harmony export */ "id_signedData": () => (/* binding */ id_signedData)\n/* harmony export */ });\nconst id_ct_contentInfo = "1.2.840.113549.1.9.16.1.6";\nconst id_data = "1.2.840.113549.1.7.1";\nconst id_signedData = "1.2.840.113549.1.7.2";\nconst id_envelopedData = "1.2.840.113549.1.7.3";\nconst id_digestedData = "1.2.840.113549.1.7.5";\nconst id_encryptedData = "1.2.840.113549.1.7.6";\nconst id_authData = "1.2.840.113549.1.9.16.1.2";\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/originator_info.js":
/*!***********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/originator_info.js ***!
\***********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OriginatorInfo": () => (/* binding */ OriginatorInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _certificate_choices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./certificate_choices */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/certificate_choices.js");\n/* harmony import */ var _revocation_info_choice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./revocation_info_choice */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/revocation_info_choice.js");\n\n\n\n\nclass OriginatorInfo {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _certificate_choices__WEBPACK_IMPORTED_MODULE_1__.CertificateSet, context: 0, implicit: true, optional: true })\n], OriginatorInfo.prototype, "certs", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _revocation_info_choice__WEBPACK_IMPORTED_MODULE_2__.RevocationInfoChoices, context: 1, implicit: true, optional: true })\n], OriginatorInfo.prototype, "crls", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/originator_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/other_key_attribute.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/other_key_attribute.js ***!
\***************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OtherKeyAttribute": () => (/* binding */ OtherKeyAttribute)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass OtherKeyAttribute {\n constructor(params = {}) {\n this.keyAttrId = "";\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], OtherKeyAttribute.prototype, "keyAttrId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, optional: true })\n], OtherKeyAttribute.prototype, "keyAttr", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/other_key_attribute.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/password_recipient_info.js":
/*!*******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/password_recipient_info.js ***!
\*******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PasswordRecipientInfo": () => (/* binding */ PasswordRecipientInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n\n\n\nclass PasswordRecipientInfo {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_1__.CMSVersion.v0;\n this.keyEncryptionAlgorithm = new _types__WEBPACK_IMPORTED_MODULE_1__.KeyEncryptionAlgorithmIdentifier();\n this.encryptedKey = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], PasswordRecipientInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_1__.KeyDerivationAlgorithmIdentifier, context: 0, optional: true })\n], PasswordRecipientInfo.prototype, "keyDerivationAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_1__.KeyEncryptionAlgorithmIdentifier })\n], PasswordRecipientInfo.prototype, "keyEncryptionAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], PasswordRecipientInfo.prototype, "encryptedKey", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/password_recipient_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_info.js":
/*!**********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_info.js ***!
\**********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OtherRecipientInfo": () => (/* binding */ OtherRecipientInfo),\n/* harmony export */ "RecipientInfo": () => (/* binding */ RecipientInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./key_agree_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_agree_recipient_info.js");\n/* harmony import */ var _key_trans_recipient_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./key_trans_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/key_trans_recipient_info.js");\n/* harmony import */ var _kek_recipient_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./kek_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/kek_recipient_info.js");\n/* harmony import */ var _password_recipient_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./password_recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/password_recipient_info.js");\n\n\n\n\n\n\nclass OtherRecipientInfo {\n constructor(params = {}) {\n this.oriType = "";\n this.oriValue = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], OtherRecipientInfo.prototype, "oriType", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any })\n], OtherRecipientInfo.prototype, "oriValue", void 0);\nlet RecipientInfo = class RecipientInfo {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _key_trans_recipient_info__WEBPACK_IMPORTED_MODULE_2__.KeyTransRecipientInfo, optional: true })\n], RecipientInfo.prototype, "ktri", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _key_agree_recipient_info__WEBPACK_IMPORTED_MODULE_1__.KeyAgreeRecipientInfo, context: 1, implicit: true, optional: true })\n], RecipientInfo.prototype, "kari", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _kek_recipient_info__WEBPACK_IMPORTED_MODULE_3__.KEKRecipientInfo, context: 2, implicit: true, optional: true })\n], RecipientInfo.prototype, "kekri", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _password_recipient_info__WEBPACK_IMPORTED_MODULE_4__.PasswordRecipientInfo, context: 3, implicit: true, optional: true })\n], RecipientInfo.prototype, "pwri", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: OtherRecipientInfo, context: 4, implicit: true, optional: true })\n], RecipientInfo.prototype, "ori", void 0);\nRecipientInfo = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], RecipientInfo);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_infos.js":
/*!***********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_infos.js ***!
\***********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RecipientInfos": () => (/* binding */ RecipientInfos)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _recipient_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recipient_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_info.js");\nvar RecipientInfos_1;\n\n\n\nlet RecipientInfos = RecipientInfos_1 = class RecipientInfos extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, RecipientInfos_1.prototype);\n }\n};\nRecipientInfos = RecipientInfos_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: _recipient_info__WEBPACK_IMPORTED_MODULE_1__.RecipientInfo })\n], RecipientInfos);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/recipient_infos.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/revocation_info_choice.js":
/*!******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/revocation_info_choice.js ***!
\******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OtherRevocationInfoFormat": () => (/* binding */ OtherRevocationInfoFormat),\n/* harmony export */ "RevocationInfoChoice": () => (/* binding */ RevocationInfoChoice),\n/* harmony export */ "RevocationInfoChoices": () => (/* binding */ RevocationInfoChoices),\n/* harmony export */ "id_ri": () => (/* binding */ id_ri),\n/* harmony export */ "id_ri_ocsp_response": () => (/* binding */ id_ri_ocsp_response),\n/* harmony export */ "id_ri_scvp": () => (/* binding */ id_ri_scvp)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\nvar RevocationInfoChoices_1;\n\n\n\nconst id_ri = `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.id_pkix}.16`;\nconst id_ri_ocsp_response = `${id_ri}.2`;\nconst id_ri_scvp = `${id_ri}.4`;\nclass OtherRevocationInfoFormat {\n constructor(params = {}) {\n this.otherRevInfoFormat = "";\n this.otherRevInfo = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], OtherRevocationInfoFormat.prototype, "otherRevInfoFormat", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any })\n], OtherRevocationInfoFormat.prototype, "otherRevInfo", void 0);\nlet RevocationInfoChoice = class RevocationInfoChoice {\n constructor(params = {}) {\n this.other = new OtherRevocationInfoFormat();\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: OtherRevocationInfoFormat, context: 1, implicit: true })\n], RevocationInfoChoice.prototype, "other", void 0);\nRevocationInfoChoice = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], RevocationInfoChoice);\n\nlet RevocationInfoChoices = RevocationInfoChoices_1 = class RevocationInfoChoices extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, RevocationInfoChoices_1.prototype);\n }\n};\nRevocationInfoChoices = RevocationInfoChoices_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: RevocationInfoChoice })\n], RevocationInfoChoices);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/revocation_info_choice.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signed_data.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signed_data.js ***!
\*******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DigestAlgorithmIdentifiers": () => (/* binding */ DigestAlgorithmIdentifiers),\n/* harmony export */ "SignedData": () => (/* binding */ SignedData)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _certificate_choices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./certificate_choices */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/certificate_choices.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n/* harmony import */ var _encapsulated_content_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./encapsulated_content_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/encapsulated_content_info.js");\n/* harmony import */ var _revocation_info_choice__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./revocation_info_choice */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/revocation_info_choice.js");\n/* harmony import */ var _signer_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./signer_info */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_info.js");\nvar DigestAlgorithmIdentifiers_1;\n\n\n\n\n\n\n\nlet DigestAlgorithmIdentifiers = DigestAlgorithmIdentifiers_1 = class DigestAlgorithmIdentifiers extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, DigestAlgorithmIdentifiers_1.prototype);\n }\n};\nDigestAlgorithmIdentifiers = DigestAlgorithmIdentifiers_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: _types__WEBPACK_IMPORTED_MODULE_2__.DigestAlgorithmIdentifier })\n], DigestAlgorithmIdentifiers);\n\nclass SignedData {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_2__.CMSVersion.v0;\n this.digestAlgorithms = new DigestAlgorithmIdentifiers();\n this.encapContentInfo = new _encapsulated_content_info__WEBPACK_IMPORTED_MODULE_3__.EncapsulatedContentInfo();\n this.signerInfos = new _signer_info__WEBPACK_IMPORTED_MODULE_5__.SignerInfos();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], SignedData.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: DigestAlgorithmIdentifiers })\n], SignedData.prototype, "digestAlgorithms", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _encapsulated_content_info__WEBPACK_IMPORTED_MODULE_3__.EncapsulatedContentInfo })\n], SignedData.prototype, "encapContentInfo", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _certificate_choices__WEBPACK_IMPORTED_MODULE_1__.CertificateSet, context: 0, implicit: true, optional: true })\n], SignedData.prototype, "certificates", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _revocation_info_choice__WEBPACK_IMPORTED_MODULE_4__.RevocationInfoChoice, context: 1, implicit: true, optional: true })\n], SignedData.prototype, "crls", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _signer_info__WEBPACK_IMPORTED_MODULE_5__.SignerInfos })\n], SignedData.prototype, "signerInfos", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signed_data.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_identifier.js":
/*!*************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_identifier.js ***!
\*************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SignerIdentifier": () => (/* binding */ SignerIdentifier)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./issuer_and_serial_number */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/issuer_and_serial_number.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\n\nlet SignerIdentifier = class SignerIdentifier {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectKeyIdentifier, context: 0, implicit: true })\n], SignerIdentifier.prototype, "subjectKeyIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _issuer_and_serial_number__WEBPACK_IMPORTED_MODULE_1__.IssuerAndSerialNumber })\n], SignerIdentifier.prototype, "issuerAndSerialNumber", void 0);\nSignerIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], SignerIdentifier);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_identifier.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_info.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_info.js ***!
\*******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SignerInfo": () => (/* binding */ SignerInfo),\n/* harmony export */ "SignerInfos": () => (/* binding */ SignerInfos)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _signer_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./signer_identifier */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_identifier.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js");\n/* harmony import */ var _attribute__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./attribute */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/attribute.js");\nvar SignerInfos_1;\n\n\n\n\n\nclass SignerInfo {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_2__.CMSVersion.v0;\n this.sid = new _signer_identifier__WEBPACK_IMPORTED_MODULE_1__.SignerIdentifier();\n this.digestAlgorithm = new _types__WEBPACK_IMPORTED_MODULE_2__.DigestAlgorithmIdentifier();\n this.signatureAlgorithm = new _types__WEBPACK_IMPORTED_MODULE_2__.SignatureAlgorithmIdentifier();\n this.signature = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], SignerInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _signer_identifier__WEBPACK_IMPORTED_MODULE_1__.SignerIdentifier })\n], SignerInfo.prototype, "sid", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_2__.DigestAlgorithmIdentifier })\n], SignerInfo.prototype, "digestAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attribute__WEBPACK_IMPORTED_MODULE_3__.Attribute, repeated: "set", context: 0, implicit: true, optional: true })\n], SignerInfo.prototype, "signedAttrs", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _types__WEBPACK_IMPORTED_MODULE_2__.SignatureAlgorithmIdentifier })\n], SignerInfo.prototype, "signatureAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], SignerInfo.prototype, "signature", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attribute__WEBPACK_IMPORTED_MODULE_3__.Attribute, repeated: "set", context: 1, implicit: true, optional: true })\n], SignerInfo.prototype, "unsignedAttrs", void 0);\nlet SignerInfos = SignerInfos_1 = class SignerInfos extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, SignerInfos_1.prototype);\n }\n};\nSignerInfos = SignerInfos_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: SignerInfo })\n], SignerInfos);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/signer_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CMSVersion": () => (/* binding */ CMSVersion),\n/* harmony export */ "ContentEncryptionAlgorithmIdentifier": () => (/* binding */ ContentEncryptionAlgorithmIdentifier),\n/* harmony export */ "DigestAlgorithmIdentifier": () => (/* binding */ DigestAlgorithmIdentifier),\n/* harmony export */ "KeyDerivationAlgorithmIdentifier": () => (/* binding */ KeyDerivationAlgorithmIdentifier),\n/* harmony export */ "KeyEncryptionAlgorithmIdentifier": () => (/* binding */ KeyEncryptionAlgorithmIdentifier),\n/* harmony export */ "MessageAuthenticationCodeAlgorithm": () => (/* binding */ MessageAuthenticationCodeAlgorithm),\n/* harmony export */ "SignatureAlgorithmIdentifier": () => (/* binding */ SignatureAlgorithmIdentifier)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\n\nvar CMSVersion;\n(function (CMSVersion) {\n CMSVersion[CMSVersion["v0"] = 0] = "v0";\n CMSVersion[CMSVersion["v1"] = 1] = "v1";\n CMSVersion[CMSVersion["v2"] = 2] = "v2";\n CMSVersion[CMSVersion["v3"] = 3] = "v3";\n CMSVersion[CMSVersion["v4"] = 4] = "v4";\n CMSVersion[CMSVersion["v5"] = 5] = "v5";\n})(CMSVersion || (CMSVersion = {}));\nlet DigestAlgorithmIdentifier = class DigestAlgorithmIdentifier extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier {\n};\nDigestAlgorithmIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], DigestAlgorithmIdentifier);\n\nlet SignatureAlgorithmIdentifier = class SignatureAlgorithmIdentifier extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier {\n};\nSignatureAlgorithmIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], SignatureAlgorithmIdentifier);\n\nlet KeyEncryptionAlgorithmIdentifier = class KeyEncryptionAlgorithmIdentifier extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier {\n};\nKeyEncryptionAlgorithmIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], KeyEncryptionAlgorithmIdentifier);\n\nlet ContentEncryptionAlgorithmIdentifier = class ContentEncryptionAlgorithmIdentifier extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier {\n};\nContentEncryptionAlgorithmIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], ContentEncryptionAlgorithmIdentifier);\n\nlet MessageAuthenticationCodeAlgorithm = class MessageAuthenticationCodeAlgorithm extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier {\n};\nMessageAuthenticationCodeAlgorithm = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], MessageAuthenticationCodeAlgorithm);\n\nlet KeyDerivationAlgorithmIdentifier = class KeyDerivationAlgorithmIdentifier extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier {\n};\nKeyDerivationAlgorithmIdentifier = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], KeyDerivationAlgorithmIdentifier);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/types.js?')},"../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/attributes.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/attributes.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Attributes": () => (/* binding */ Attributes)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\nvar Attributes_1;\n\n\n\nlet Attributes = Attributes_1 = class Attributes extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, Attributes_1.prototype);\n }\n};\nAttributes = Attributes_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Attribute })\n], Attributes);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/attributes.js?')},"../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request.js":
/*!*****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request.js ***!
\*****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CertificationRequest": () => (/* binding */ CertificationRequest)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _certification_request_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./certification_request_info */ "../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request_info.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\n\nclass CertificationRequest {\n constructor(params = {}) {\n this.certificationRequestInfo = new _certification_request_info__WEBPACK_IMPORTED_MODULE_1__.CertificationRequestInfo();\n this.signatureAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier();\n this.signature = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _certification_request_info__WEBPACK_IMPORTED_MODULE_1__.CertificationRequestInfo })\n], CertificationRequest.prototype, "certificationRequestInfo", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier })\n], CertificationRequest.prototype, "signatureAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString })\n], CertificationRequest.prototype, "signature", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request.js?')},"../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request_info.js":
/*!**********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request_info.js ***!
\**********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CertificationRequestInfo": () => (/* binding */ CertificationRequestInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _attributes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./attributes */ "../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/attributes.js");\n\n\n\n\nclass CertificationRequestInfo {\n constructor(params = {}) {\n this.version = 0;\n this.subject = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Name();\n this.subjectPKInfo = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.SubjectPublicKeyInfo();\n this.attributes = new _attributes__WEBPACK_IMPORTED_MODULE_2__.Attributes();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], CertificationRequestInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Name })\n], CertificationRequestInfo.prototype, "subject", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.SubjectPublicKeyInfo })\n], CertificationRequestInfo.prototype, "subjectPKInfo", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attributes__WEBPACK_IMPORTED_MODULE_2__.Attributes, implicit: true, context: 0 })\n], CertificationRequestInfo.prototype, "attributes", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/index.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/index.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Attributes": () => (/* reexport safe */ _attributes__WEBPACK_IMPORTED_MODULE_0__.Attributes),\n/* harmony export */ "CertificationRequest": () => (/* reexport safe */ _certification_request__WEBPACK_IMPORTED_MODULE_1__.CertificationRequest),\n/* harmony export */ "CertificationRequestInfo": () => (/* reexport safe */ _certification_request_info__WEBPACK_IMPORTED_MODULE_2__.CertificationRequestInfo)\n/* harmony export */ });\n/* harmony import */ var _attributes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./attributes */ "../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/attributes.js");\n/* harmony import */ var _certification_request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./certification_request */ "../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request.js");\n/* harmony import */ var _certification_request_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./certification_request_info */ "../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/certification_request_info.js");\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/algorithms.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/algorithms.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ecdsaWithSHA1": () => (/* binding */ ecdsaWithSHA1),\n/* harmony export */ "ecdsaWithSHA224": () => (/* binding */ ecdsaWithSHA224),\n/* harmony export */ "ecdsaWithSHA256": () => (/* binding */ ecdsaWithSHA256),\n/* harmony export */ "ecdsaWithSHA384": () => (/* binding */ ecdsaWithSHA384),\n/* harmony export */ "ecdsaWithSHA512": () => (/* binding */ ecdsaWithSHA512)\n/* harmony export */ });\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/object_identifiers.js");\n\n\nfunction create(algorithm) {\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier({ algorithm });\n}\nconst ecdsaWithSHA1 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ecdsaWithSHA1);\nconst ecdsaWithSHA224 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ecdsaWithSHA224);\nconst ecdsaWithSHA256 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ecdsaWithSHA256);\nconst ecdsaWithSHA384 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ecdsaWithSHA384);\nconst ecdsaWithSHA512 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ecdsaWithSHA512);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/algorithms.js?')},"../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_parameters.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_parameters.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ECParameters": () => (/* binding */ ECParameters)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nlet ECParameters = class ECParameters {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], ECParameters.prototype, "namedCurve", void 0);\nECParameters = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], ECParameters);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_parameters.js?')},"../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_private_key.js":
/*!**********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_private_key.js ***!
\**********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ECPrivateKey": () => (/* binding */ ECPrivateKey)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _ec_parameters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ec_parameters */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_parameters.js");\n\n\n\nclass ECPrivateKey {\n constructor(params = {}) {\n this.version = 1;\n this.privateKey = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], ECPrivateKey.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], ECPrivateKey.prototype, "privateKey", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _ec_parameters__WEBPACK_IMPORTED_MODULE_1__.ECParameters, context: 0, optional: true })\n], ECPrivateKey.prototype, "parameters", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString, context: 1, optional: true })\n], ECPrivateKey.prototype, "publicKey", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_private_key.js?')},"../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_signature_value.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_signature_value.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ECDSASigValue": () => (/* binding */ ECDSASigValue)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass ECDSASigValue {\n constructor(params = {}) {\n this.r = new ArrayBuffer(0);\n this.s = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], ECDSASigValue.prototype, "r", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], ECDSASigValue.prototype, "s", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_signature_value.js?')},"../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/index.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/index.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ECDSASigValue": () => (/* reexport safe */ _ec_signature_value__WEBPACK_IMPORTED_MODULE_3__.ECDSASigValue),\n/* harmony export */ "ECParameters": () => (/* reexport safe */ _ec_parameters__WEBPACK_IMPORTED_MODULE_1__.ECParameters),\n/* harmony export */ "ECPrivateKey": () => (/* reexport safe */ _ec_private_key__WEBPACK_IMPORTED_MODULE_2__.ECPrivateKey),\n/* harmony export */ "ecdsaWithSHA1": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_0__.ecdsaWithSHA1),\n/* harmony export */ "ecdsaWithSHA224": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_0__.ecdsaWithSHA224),\n/* harmony export */ "ecdsaWithSHA256": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_0__.ecdsaWithSHA256),\n/* harmony export */ "ecdsaWithSHA384": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_0__.ecdsaWithSHA384),\n/* harmony export */ "ecdsaWithSHA512": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_0__.ecdsaWithSHA512),\n/* harmony export */ "id_ecDH": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecDH),\n/* harmony export */ "id_ecMQV": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecMQV),\n/* harmony export */ "id_ecPublicKey": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecPublicKey),\n/* harmony export */ "id_ecdsaWithSHA1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecdsaWithSHA1),\n/* harmony export */ "id_ecdsaWithSHA224": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecdsaWithSHA224),\n/* harmony export */ "id_ecdsaWithSHA256": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecdsaWithSHA256),\n/* harmony export */ "id_ecdsaWithSHA384": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecdsaWithSHA384),\n/* harmony export */ "id_ecdsaWithSHA512": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_ecdsaWithSHA512),\n/* harmony export */ "id_secp192r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_secp192r1),\n/* harmony export */ "id_secp224r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_secp224r1),\n/* harmony export */ "id_secp256r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_secp256r1),\n/* harmony export */ "id_secp384r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_secp384r1),\n/* harmony export */ "id_secp521r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_secp521r1),\n/* harmony export */ "id_sect163k1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect163k1),\n/* harmony export */ "id_sect163r2": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect163r2),\n/* harmony export */ "id_sect233k1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect233k1),\n/* harmony export */ "id_sect233r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect233r1),\n/* harmony export */ "id_sect283k1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect283k1),\n/* harmony export */ "id_sect283r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect283r1),\n/* harmony export */ "id_sect409k1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect409k1),\n/* harmony export */ "id_sect409r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect409r1),\n/* harmony export */ "id_sect571k1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect571k1),\n/* harmony export */ "id_sect571r1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_sect571r1)\n/* harmony export */ });\n/* harmony import */ var _algorithms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./algorithms */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/algorithms.js");\n/* harmony import */ var _ec_parameters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ec_parameters */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_parameters.js");\n/* harmony import */ var _ec_private_key__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ec_private_key */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_private_key.js");\n/* harmony import */ var _ec_signature_value__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ec_signature_value */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/ec_signature_value.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/object_identifiers.js");\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/object_identifiers.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/object_identifiers.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "id_ecDH": () => (/* binding */ id_ecDH),\n/* harmony export */ "id_ecMQV": () => (/* binding */ id_ecMQV),\n/* harmony export */ "id_ecPublicKey": () => (/* binding */ id_ecPublicKey),\n/* harmony export */ "id_ecdsaWithSHA1": () => (/* binding */ id_ecdsaWithSHA1),\n/* harmony export */ "id_ecdsaWithSHA224": () => (/* binding */ id_ecdsaWithSHA224),\n/* harmony export */ "id_ecdsaWithSHA256": () => (/* binding */ id_ecdsaWithSHA256),\n/* harmony export */ "id_ecdsaWithSHA384": () => (/* binding */ id_ecdsaWithSHA384),\n/* harmony export */ "id_ecdsaWithSHA512": () => (/* binding */ id_ecdsaWithSHA512),\n/* harmony export */ "id_secp192r1": () => (/* binding */ id_secp192r1),\n/* harmony export */ "id_secp224r1": () => (/* binding */ id_secp224r1),\n/* harmony export */ "id_secp256r1": () => (/* binding */ id_secp256r1),\n/* harmony export */ "id_secp384r1": () => (/* binding */ id_secp384r1),\n/* harmony export */ "id_secp521r1": () => (/* binding */ id_secp521r1),\n/* harmony export */ "id_sect163k1": () => (/* binding */ id_sect163k1),\n/* harmony export */ "id_sect163r2": () => (/* binding */ id_sect163r2),\n/* harmony export */ "id_sect233k1": () => (/* binding */ id_sect233k1),\n/* harmony export */ "id_sect233r1": () => (/* binding */ id_sect233r1),\n/* harmony export */ "id_sect283k1": () => (/* binding */ id_sect283k1),\n/* harmony export */ "id_sect283r1": () => (/* binding */ id_sect283r1),\n/* harmony export */ "id_sect409k1": () => (/* binding */ id_sect409k1),\n/* harmony export */ "id_sect409r1": () => (/* binding */ id_sect409r1),\n/* harmony export */ "id_sect571k1": () => (/* binding */ id_sect571k1),\n/* harmony export */ "id_sect571r1": () => (/* binding */ id_sect571r1)\n/* harmony export */ });\nconst id_ecPublicKey = "1.2.840.10045.2.1";\nconst id_ecDH = "1.3.132.1.12";\nconst id_ecMQV = "1.3.132.1.13";\nconst id_ecdsaWithSHA1 = "1.2.840.10045.4.1";\nconst id_ecdsaWithSHA224 = "1.2.840.10045.4.3.1";\nconst id_ecdsaWithSHA256 = "1.2.840.10045.4.3.2";\nconst id_ecdsaWithSHA384 = "1.2.840.10045.4.3.3";\nconst id_ecdsaWithSHA512 = "1.2.840.10045.4.3.4";\nconst id_secp192r1 = "1.2.840.10045.3.1.1";\nconst id_sect163k1 = "1.3.132.0.1";\nconst id_sect163r2 = "1.3.132.0.15";\nconst id_secp224r1 = "1.3.132.0.33";\nconst id_sect233k1 = "1.3.132.0.26";\nconst id_sect233r1 = "1.3.132.0.27";\nconst id_secp256r1 = "1.2.840.10045.3.1.7";\nconst id_sect283k1 = "1.3.132.0.16";\nconst id_sect283r1 = "1.3.132.0.17";\nconst id_secp384r1 = "1.3.132.0.34";\nconst id_sect409k1 = "1.3.132.0.36";\nconst id_sect409r1 = "1.3.132.0.37";\nconst id_secp521r1 = "1.3.132.0.35";\nconst id_sect571k1 = "1.3.132.0.38";\nconst id_sect571r1 = "1.3.132.0.39";\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/object_identifiers.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/attribute.js":
/*!*****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/attribute.js ***!
\*****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PKCS12AttrSet": () => (/* binding */ PKCS12AttrSet),\n/* harmony export */ "PKCS12Attribute": () => (/* binding */ PKCS12Attribute)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\nvar PKCS12AttrSet_1;\n\n\nclass PKCS12Attribute {\n constructor(params = {}) {\n this.attrId = "";\n this.attrValues = [];\n Object.assign(params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], PKCS12Attribute.prototype, "attrId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, repeated: "set" })\n], PKCS12Attribute.prototype, "attrValues", void 0);\nlet PKCS12AttrSet = PKCS12AttrSet_1 = class PKCS12AttrSet extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, PKCS12AttrSet_1.prototype);\n }\n};\nPKCS12AttrSet = PKCS12AttrSet_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: PKCS12Attribute })\n], PKCS12AttrSet);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/attribute.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/authenticated_safe.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/authenticated_safe.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AuthenticatedSafe": () => (/* binding */ AuthenticatedSafe)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-cms */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/index.js");\nvar AuthenticatedSafe_1;\n\n\n\nlet AuthenticatedSafe = AuthenticatedSafe_1 = class AuthenticatedSafe extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, AuthenticatedSafe_1.prototype);\n }\n};\nAuthenticatedSafe = AuthenticatedSafe_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__.ContentInfo })\n], AuthenticatedSafe);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/authenticated_safe.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/cert_bag.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/cert_bag.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CertBag": () => (/* binding */ CertBag),\n/* harmony export */ "id_certTypes": () => (/* binding */ id_certTypes),\n/* harmony export */ "id_sdsiCertificate": () => (/* binding */ id_sdsiCertificate),\n/* harmony export */ "id_x509Certificate": () => (/* binding */ id_x509Certificate)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/types.js");\n\n\n\nclass CertBag {\n constructor(params = {}) {\n this.certId = "";\n this.certValue = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], CertBag.prototype, "certId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, context: 0 })\n], CertBag.prototype, "certValue", void 0);\nconst id_certTypes = `${_types__WEBPACK_IMPORTED_MODULE_1__.id_pkcs_9}.22`;\nconst id_x509Certificate = `${id_certTypes}.1`;\nconst id_sdsiCertificate = `${id_certTypes}.2`;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/cert_bag.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/crl_bag.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/crl_bag.js ***!
\********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CRLBag": () => (/* binding */ CRLBag),\n/* harmony export */ "id_crlTypes": () => (/* binding */ id_crlTypes),\n/* harmony export */ "id_x509CRL": () => (/* binding */ id_x509CRL)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/types.js");\n\n\n\nclass CRLBag {\n constructor(params = {}) {\n this.crlId = "";\n this.crltValue = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], CRLBag.prototype, "crlId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, context: 0 })\n], CRLBag.prototype, "crltValue", void 0);\nconst id_crlTypes = `${_types__WEBPACK_IMPORTED_MODULE_1__.id_pkcs_9}.23`;\nconst id_x509CRL = `${id_crlTypes}.1`;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/crl_bag.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/index.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/index.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CRLBag": () => (/* reexport safe */ _crl_bag__WEBPACK_IMPORTED_MODULE_1__.CRLBag),\n/* harmony export */ "CertBag": () => (/* reexport safe */ _cert_bag__WEBPACK_IMPORTED_MODULE_0__.CertBag),\n/* harmony export */ "KeyBag": () => (/* reexport safe */ _key_bag__WEBPACK_IMPORTED_MODULE_2__.KeyBag),\n/* harmony export */ "PKCS8ShroudedKeyBag": () => (/* reexport safe */ _pkcs8_shrouded_key_bag__WEBPACK_IMPORTED_MODULE_3__.PKCS8ShroudedKeyBag),\n/* harmony export */ "SecretBag": () => (/* reexport safe */ _secret_bag__WEBPACK_IMPORTED_MODULE_4__.SecretBag),\n/* harmony export */ "id_CRLBag": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.id_CRLBag),\n/* harmony export */ "id_SafeContents": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.id_SafeContents),\n/* harmony export */ "id_SecretBag": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.id_SecretBag),\n/* harmony export */ "id_certBag": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.id_certBag),\n/* harmony export */ "id_certTypes": () => (/* reexport safe */ _cert_bag__WEBPACK_IMPORTED_MODULE_0__.id_certTypes),\n/* harmony export */ "id_crlTypes": () => (/* reexport safe */ _crl_bag__WEBPACK_IMPORTED_MODULE_1__.id_crlTypes),\n/* harmony export */ "id_keyBag": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.id_keyBag),\n/* harmony export */ "id_pkcs8ShroudedKeyBag": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.id_pkcs8ShroudedKeyBag),\n/* harmony export */ "id_pkcs_9": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.id_pkcs_9),\n/* harmony export */ "id_sdsiCertificate": () => (/* reexport safe */ _cert_bag__WEBPACK_IMPORTED_MODULE_0__.id_sdsiCertificate),\n/* harmony export */ "id_x509CRL": () => (/* reexport safe */ _crl_bag__WEBPACK_IMPORTED_MODULE_1__.id_x509CRL),\n/* harmony export */ "id_x509Certificate": () => (/* reexport safe */ _cert_bag__WEBPACK_IMPORTED_MODULE_0__.id_x509Certificate)\n/* harmony export */ });\n/* harmony import */ var _cert_bag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cert_bag */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/cert_bag.js");\n/* harmony import */ var _crl_bag__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./crl_bag */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/crl_bag.js");\n/* harmony import */ var _key_bag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./key_bag */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/key_bag.js");\n/* harmony import */ var _pkcs8_shrouded_key_bag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pkcs8_shrouded_key_bag */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/pkcs8_shrouded_key_bag.js");\n/* harmony import */ var _secret_bag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./secret_bag */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/secret_bag.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/types.js");\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/key_bag.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/key_bag.js ***!
\********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "KeyBag": () => (/* binding */ KeyBag)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_pkcs8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-pkcs8 */ "../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\n\nlet KeyBag = class KeyBag extends _peculiar_asn1_pkcs8__WEBPACK_IMPORTED_MODULE_0__.PrivateKeyInfo {\n};\nKeyBag = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], KeyBag);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/key_bag.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/pkcs8_shrouded_key_bag.js":
/*!***********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/pkcs8_shrouded_key_bag.js ***!
\***********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PKCS8ShroudedKeyBag": () => (/* binding */ PKCS8ShroudedKeyBag)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_pkcs8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-pkcs8 */ "../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\n\nlet PKCS8ShroudedKeyBag = class PKCS8ShroudedKeyBag extends _peculiar_asn1_pkcs8__WEBPACK_IMPORTED_MODULE_0__.EncryptedPrivateKeyInfo {\n};\nPKCS8ShroudedKeyBag = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence })\n], PKCS8ShroudedKeyBag);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/pkcs8_shrouded_key_bag.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/secret_bag.js":
/*!***********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/secret_bag.js ***!
\***********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SecretBag": () => (/* binding */ SecretBag)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass SecretBag {\n constructor(params = {}) {\n this.secretTypeId = "";\n this.secretValue = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], SecretBag.prototype, "secretTypeId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, context: 0 })\n], SecretBag.prototype, "secretValue", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/secret_bag.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/types.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/types.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "id_CRLBag": () => (/* binding */ id_CRLBag),\n/* harmony export */ "id_SafeContents": () => (/* binding */ id_SafeContents),\n/* harmony export */ "id_SecretBag": () => (/* binding */ id_SecretBag),\n/* harmony export */ "id_certBag": () => (/* binding */ id_certBag),\n/* harmony export */ "id_keyBag": () => (/* binding */ id_keyBag),\n/* harmony export */ "id_pkcs8ShroudedKeyBag": () => (/* binding */ id_pkcs8ShroudedKeyBag),\n/* harmony export */ "id_pkcs_9": () => (/* binding */ id_pkcs_9)\n/* harmony export */ });\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/object_identifiers.js");\n\nconst id_keyBag = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_0__.id_bagtypes}.1`;\nconst id_pkcs8ShroudedKeyBag = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_0__.id_bagtypes}.2`;\nconst id_certBag = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_0__.id_bagtypes}.3`;\nconst id_CRLBag = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_0__.id_bagtypes}.4`;\nconst id_SecretBag = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_0__.id_bagtypes}.5`;\nconst id_SafeContents = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_0__.id_bagtypes}.6`;\nconst id_pkcs_9 = "1.2.840.113549.1.9";\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/types.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/index.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/index.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AuthenticatedSafe": () => (/* reexport safe */ _authenticated_safe__WEBPACK_IMPORTED_MODULE_1__.AuthenticatedSafe),\n/* harmony export */ "CRLBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.CRLBag),\n/* harmony export */ "CertBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.CertBag),\n/* harmony export */ "KeyBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.KeyBag),\n/* harmony export */ "MacData": () => (/* reexport safe */ _mac_data__WEBPACK_IMPORTED_MODULE_3__.MacData),\n/* harmony export */ "PFX": () => (/* reexport safe */ _pfx__WEBPACK_IMPORTED_MODULE_5__.PFX),\n/* harmony export */ "PKCS12AttrSet": () => (/* reexport safe */ _attribute__WEBPACK_IMPORTED_MODULE_0__.PKCS12AttrSet),\n/* harmony export */ "PKCS12Attribute": () => (/* reexport safe */ _attribute__WEBPACK_IMPORTED_MODULE_0__.PKCS12Attribute),\n/* harmony export */ "PKCS8ShroudedKeyBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.PKCS8ShroudedKeyBag),\n/* harmony export */ "SafeBag": () => (/* reexport safe */ _safe_bag__WEBPACK_IMPORTED_MODULE_6__.SafeBag),\n/* harmony export */ "SafeContents": () => (/* reexport safe */ _safe_bag__WEBPACK_IMPORTED_MODULE_6__.SafeContents),\n/* harmony export */ "SecretBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.SecretBag),\n/* harmony export */ "id_CRLBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_CRLBag),\n/* harmony export */ "id_SafeContents": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_SafeContents),\n/* harmony export */ "id_SecretBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_SecretBag),\n/* harmony export */ "id_bagtypes": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_bagtypes),\n/* harmony export */ "id_certBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_certBag),\n/* harmony export */ "id_certTypes": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_certTypes),\n/* harmony export */ "id_crlTypes": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_crlTypes),\n/* harmony export */ "id_keyBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_keyBag),\n/* harmony export */ "id_pbeWithSHAAnd128BitRC2_CBC": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pbeWithSHAAnd128BitRC2_CBC),\n/* harmony export */ "id_pbeWithSHAAnd128BitRC4": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pbeWithSHAAnd128BitRC4),\n/* harmony export */ "id_pbeWithSHAAnd2_KeyTripleDES_CBC": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pbeWithSHAAnd2_KeyTripleDES_CBC),\n/* harmony export */ "id_pbeWithSHAAnd3_KeyTripleDES_CBC": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pbeWithSHAAnd3_KeyTripleDES_CBC),\n/* harmony export */ "id_pbeWithSHAAnd40BitRC4": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pbeWithSHAAnd40BitRC4),\n/* harmony export */ "id_pbewithSHAAnd40BitRC2_CBC": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pbewithSHAAnd40BitRC2_CBC),\n/* harmony export */ "id_pkcs": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pkcs),\n/* harmony export */ "id_pkcs8ShroudedKeyBag": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_pkcs8ShroudedKeyBag),\n/* harmony export */ "id_pkcs_12": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pkcs_12),\n/* harmony export */ "id_pkcs_12PbeIds": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_pkcs_12PbeIds),\n/* harmony export */ "id_pkcs_9": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_pkcs_9),\n/* harmony export */ "id_rsadsi": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_4__.id_rsadsi),\n/* harmony export */ "id_sdsiCertificate": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_sdsiCertificate),\n/* harmony export */ "id_x509CRL": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_x509CRL),\n/* harmony export */ "id_x509Certificate": () => (/* reexport safe */ _bags__WEBPACK_IMPORTED_MODULE_2__.id_x509Certificate)\n/* harmony export */ });\n/* harmony import */ var _attribute__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./attribute */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/attribute.js");\n/* harmony import */ var _authenticated_safe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./authenticated_safe */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/authenticated_safe.js");\n/* harmony import */ var _bags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bags */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/bags/index.js");\n/* harmony import */ var _mac_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mac_data */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/mac_data.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/object_identifiers.js");\n/* harmony import */ var _pfx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pfx */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/pfx.js");\n/* harmony import */ var _safe_bag__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./safe_bag */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/safe_bag.js");\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/mac_data.js":
/*!****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/mac_data.js ***!
\****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "MacData": () => (/* binding */ MacData)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-rsa */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\n\nclass MacData {\n constructor(params = {}) {\n this.mac = new _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_0__.DigestInfo();\n this.macSalt = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString();\n this.iterations = 1;\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnProp)({ type: _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_0__.DigestInfo })\n], MacData.prototype, "mac", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString })\n], MacData.prototype, "macSalt", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.Integer, defaultValue: 1 })\n], MacData.prototype, "iterations", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/mac_data.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/object_identifiers.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/object_identifiers.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "id_bagtypes": () => (/* binding */ id_bagtypes),\n/* harmony export */ "id_pbeWithSHAAnd128BitRC2_CBC": () => (/* binding */ id_pbeWithSHAAnd128BitRC2_CBC),\n/* harmony export */ "id_pbeWithSHAAnd128BitRC4": () => (/* binding */ id_pbeWithSHAAnd128BitRC4),\n/* harmony export */ "id_pbeWithSHAAnd2_KeyTripleDES_CBC": () => (/* binding */ id_pbeWithSHAAnd2_KeyTripleDES_CBC),\n/* harmony export */ "id_pbeWithSHAAnd3_KeyTripleDES_CBC": () => (/* binding */ id_pbeWithSHAAnd3_KeyTripleDES_CBC),\n/* harmony export */ "id_pbeWithSHAAnd40BitRC4": () => (/* binding */ id_pbeWithSHAAnd40BitRC4),\n/* harmony export */ "id_pbewithSHAAnd40BitRC2_CBC": () => (/* binding */ id_pbewithSHAAnd40BitRC2_CBC),\n/* harmony export */ "id_pkcs": () => (/* binding */ id_pkcs),\n/* harmony export */ "id_pkcs_12": () => (/* binding */ id_pkcs_12),\n/* harmony export */ "id_pkcs_12PbeIds": () => (/* binding */ id_pkcs_12PbeIds),\n/* harmony export */ "id_rsadsi": () => (/* binding */ id_rsadsi)\n/* harmony export */ });\nconst id_rsadsi = "1.2.840.113549";\nconst id_pkcs = `${id_rsadsi}.1`;\nconst id_pkcs_12 = `${id_pkcs}.12`;\nconst id_pkcs_12PbeIds = `${id_pkcs_12}.1`;\nconst id_pbeWithSHAAnd128BitRC4 = `${id_pkcs_12PbeIds}.1`;\nconst id_pbeWithSHAAnd40BitRC4 = `${id_pkcs_12PbeIds}.2`;\nconst id_pbeWithSHAAnd3_KeyTripleDES_CBC = `${id_pkcs_12PbeIds}.3`;\nconst id_pbeWithSHAAnd2_KeyTripleDES_CBC = `${id_pkcs_12PbeIds}.4`;\nconst id_pbeWithSHAAnd128BitRC2_CBC = `${id_pkcs_12PbeIds}.5`;\nconst id_pbewithSHAAnd40BitRC2_CBC = `${id_pkcs_12PbeIds}.6`;\nconst id_bagtypes = `${id_pkcs_12}.10.1`;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/object_identifiers.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/pfx.js":
/*!***********************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/pfx.js ***!
\***********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PFX": () => (/* binding */ PFX)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-cms */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/index.js");\n/* harmony import */ var _mac_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mac_data */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/mac_data.js");\n\n\n\n\nclass PFX {\n constructor(params = {}) {\n this.version = 3;\n this.authSafe = new _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__.ContentInfo();\n this.macData = new _mac_data__WEBPACK_IMPORTED_MODULE_2__.MacData();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], PFX.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__.ContentInfo })\n], PFX.prototype, "authSafe", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _mac_data__WEBPACK_IMPORTED_MODULE_2__.MacData, optional: true })\n], PFX.prototype, "macData", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/pfx.js?')},"../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/safe_bag.js":
/*!****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/safe_bag.js ***!
\****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SafeBag": () => (/* binding */ SafeBag),\n/* harmony export */ "SafeContents": () => (/* binding */ SafeContents)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _attribute__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./attribute */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/attribute.js");\nvar SafeContents_1;\n\n\n\nclass SafeBag {\n constructor(params = {}) {\n this.bagId = "";\n this.bagValue = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], SafeBag.prototype, "bagId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, context: 0 })\n], SafeBag.prototype, "bagValue", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attribute__WEBPACK_IMPORTED_MODULE_1__.PKCS12Attribute, repeated: "set", optional: true })\n], SafeBag.prototype, "bagAttributes", void 0);\nlet SafeContents = SafeContents_1 = class SafeContents extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, SafeContents_1.prototype);\n }\n};\nSafeContents = SafeContents_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: SafeBag })\n], SafeContents);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/safe_bag.js?')},"../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/encrypted_private_key_info.js":
/*!************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/encrypted_private_key_info.js ***!
\************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EncryptedData": () => (/* binding */ EncryptedData),\n/* harmony export */ "EncryptedPrivateKeyInfo": () => (/* binding */ EncryptedPrivateKeyInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nclass EncryptedData extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString {\n}\nclass EncryptedPrivateKeyInfo {\n constructor(params = {}) {\n this.encryptionAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.encryptedData = new EncryptedData();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], EncryptedPrivateKeyInfo.prototype, "encryptionAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: EncryptedData })\n], EncryptedPrivateKeyInfo.prototype, "encryptedData", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/encrypted_private_key_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/index.js":
/*!***************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/index.js ***!
\***************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Attributes": () => (/* reexport safe */ _private_key_info__WEBPACK_IMPORTED_MODULE_1__.Attributes),\n/* harmony export */ "EncryptedData": () => (/* reexport safe */ _encrypted_private_key_info__WEBPACK_IMPORTED_MODULE_0__.EncryptedData),\n/* harmony export */ "EncryptedPrivateKeyInfo": () => (/* reexport safe */ _encrypted_private_key_info__WEBPACK_IMPORTED_MODULE_0__.EncryptedPrivateKeyInfo),\n/* harmony export */ "PrivateKey": () => (/* reexport safe */ _private_key_info__WEBPACK_IMPORTED_MODULE_1__.PrivateKey),\n/* harmony export */ "PrivateKeyInfo": () => (/* reexport safe */ _private_key_info__WEBPACK_IMPORTED_MODULE_1__.PrivateKeyInfo),\n/* harmony export */ "Version": () => (/* reexport safe */ _private_key_info__WEBPACK_IMPORTED_MODULE_1__.Version)\n/* harmony export */ });\n/* harmony import */ var _encrypted_private_key_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./encrypted_private_key_info */ "../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/encrypted_private_key_info.js");\n/* harmony import */ var _private_key_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./private_key_info */ "../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/private_key_info.js");\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/private_key_info.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/private_key_info.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Attributes": () => (/* binding */ Attributes),\n/* harmony export */ "PrivateKey": () => (/* binding */ PrivateKey),\n/* harmony export */ "PrivateKeyInfo": () => (/* binding */ PrivateKeyInfo),\n/* harmony export */ "Version": () => (/* binding */ Version)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\nvar Attributes_1;\n\n\n\nvar Version;\n(function (Version) {\n Version[Version["v1"] = 0] = "v1";\n})(Version || (Version = {}));\nclass PrivateKey extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString {\n}\nlet Attributes = Attributes_1 = class Attributes extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, Attributes_1.prototype);\n }\n};\nAttributes = Attributes_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Attribute })\n], Attributes);\n\nclass PrivateKeyInfo {\n constructor(params = {}) {\n this.version = Version.v1;\n this.privateKeyAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.privateKey = new PrivateKey();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], PrivateKeyInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], PrivateKeyInfo.prototype, "privateKeyAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: PrivateKey })\n], PrivateKeyInfo.prototype, "privateKey", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: Attributes, implicit: true, context: 0, optional: true })\n], PrivateKeyInfo.prototype, "attributes", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/private_key_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-pkcs9/build/es2015/index.js":
/*!***************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-pkcs9/build/es2015/index.js ***!
\***************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ChallengePassword": () => (/* binding */ ChallengePassword),\n/* harmony export */ "ContentType": () => (/* binding */ ContentType),\n/* harmony export */ "CounterSignature": () => (/* binding */ CounterSignature),\n/* harmony export */ "CountryOfCitizenship": () => (/* binding */ CountryOfCitizenship),\n/* harmony export */ "CountryOfResidence": () => (/* binding */ CountryOfResidence),\n/* harmony export */ "DateOfBirth": () => (/* binding */ DateOfBirth),\n/* harmony export */ "EmailAddress": () => (/* binding */ EmailAddress),\n/* harmony export */ "EncryptedPrivateKeyInfo": () => (/* binding */ EncryptedPrivateKeyInfo),\n/* harmony export */ "ExtendedCertificateAttributes": () => (/* binding */ ExtendedCertificateAttributes),\n/* harmony export */ "ExtensionRequest": () => (/* binding */ ExtensionRequest),\n/* harmony export */ "FriendlyName": () => (/* binding */ FriendlyName),\n/* harmony export */ "Gender": () => (/* binding */ Gender),\n/* harmony export */ "LocalKeyId": () => (/* binding */ LocalKeyId),\n/* harmony export */ "MessageDigest": () => (/* binding */ MessageDigest),\n/* harmony export */ "PKCS9String": () => (/* binding */ PKCS9String),\n/* harmony export */ "Pkcs7PDU": () => (/* binding */ Pkcs7PDU),\n/* harmony export */ "PlaceOfBirth": () => (/* binding */ PlaceOfBirth),\n/* harmony export */ "Pseudonym": () => (/* binding */ Pseudonym),\n/* harmony export */ "RandomNonce": () => (/* binding */ RandomNonce),\n/* harmony export */ "SMIMECapabilities": () => (/* binding */ SMIMECapabilities),\n/* harmony export */ "SMIMECapability": () => (/* binding */ SMIMECapability),\n/* harmony export */ "SequenceNumber": () => (/* binding */ SequenceNumber),\n/* harmony export */ "SigningDescription": () => (/* binding */ SigningDescription),\n/* harmony export */ "SigningTime": () => (/* binding */ SigningTime),\n/* harmony export */ "UnstructuredAddress": () => (/* binding */ UnstructuredAddress),\n/* harmony export */ "UnstructuredName": () => (/* binding */ UnstructuredName),\n/* harmony export */ "UserPKCS12": () => (/* binding */ UserPKCS12),\n/* harmony export */ "crlTypes": () => (/* binding */ crlTypes),\n/* harmony export */ "id_at_pseudonym": () => (/* binding */ id_at_pseudonym),\n/* harmony export */ "id_certTypes": () => (/* binding */ id_certTypes),\n/* harmony export */ "id_ietf_at": () => (/* binding */ id_ietf_at),\n/* harmony export */ "id_pkcs9": () => (/* binding */ id_pkcs9),\n/* harmony export */ "id_pkcs9_at": () => (/* binding */ id_pkcs9_at),\n/* harmony export */ "id_pkcs9_at_challengePassword": () => (/* binding */ id_pkcs9_at_challengePassword),\n/* harmony export */ "id_pkcs9_at_contentType": () => (/* binding */ id_pkcs9_at_contentType),\n/* harmony export */ "id_pkcs9_at_counterSignature": () => (/* binding */ id_pkcs9_at_counterSignature),\n/* harmony export */ "id_pkcs9_at_countryOfCitizenship": () => (/* binding */ id_pkcs9_at_countryOfCitizenship),\n/* harmony export */ "id_pkcs9_at_countryOfResidence": () => (/* binding */ id_pkcs9_at_countryOfResidence),\n/* harmony export */ "id_pkcs9_at_dateOfBirth": () => (/* binding */ id_pkcs9_at_dateOfBirth),\n/* harmony export */ "id_pkcs9_at_emailAddress": () => (/* binding */ id_pkcs9_at_emailAddress),\n/* harmony export */ "id_pkcs9_at_encryptedPrivateKeyInfo": () => (/* binding */ id_pkcs9_at_encryptedPrivateKeyInfo),\n/* harmony export */ "id_pkcs9_at_extendedCertificateAttributes": () => (/* binding */ id_pkcs9_at_extendedCertificateAttributes),\n/* harmony export */ "id_pkcs9_at_extensionRequest": () => (/* binding */ id_pkcs9_at_extensionRequest),\n/* harmony export */ "id_pkcs9_at_friendlyName": () => (/* binding */ id_pkcs9_at_friendlyName),\n/* harmony export */ "id_pkcs9_at_gender": () => (/* binding */ id_pkcs9_at_gender),\n/* harmony export */ "id_pkcs9_at_localKeyId": () => (/* binding */ id_pkcs9_at_localKeyId),\n/* harmony export */ "id_pkcs9_at_messageDigest": () => (/* binding */ id_pkcs9_at_messageDigest),\n/* harmony export */ "id_pkcs9_at_pkcs15Token": () => (/* binding */ id_pkcs9_at_pkcs15Token),\n/* harmony export */ "id_pkcs9_at_pkcs7PDU": () => (/* binding */ id_pkcs9_at_pkcs7PDU),\n/* harmony export */ "id_pkcs9_at_placeOfBirth": () => (/* binding */ id_pkcs9_at_placeOfBirth),\n/* harmony export */ "id_pkcs9_at_randomNonce": () => (/* binding */ id_pkcs9_at_randomNonce),\n/* harmony export */ "id_pkcs9_at_sequenceNumber": () => (/* binding */ id_pkcs9_at_sequenceNumber),\n/* harmony export */ "id_pkcs9_at_signingDescription": () => (/* binding */ id_pkcs9_at_signingDescription),\n/* harmony export */ "id_pkcs9_at_signingTime": () => (/* binding */ id_pkcs9_at_signingTime),\n/* harmony export */ "id_pkcs9_at_smimeCapabilities": () => (/* binding */ id_pkcs9_at_smimeCapabilities),\n/* harmony export */ "id_pkcs9_at_unstructuredAddress": () => (/* binding */ id_pkcs9_at_unstructuredAddress),\n/* harmony export */ "id_pkcs9_at_unstructuredName": () => (/* binding */ id_pkcs9_at_unstructuredName),\n/* harmony export */ "id_pkcs9_at_userPKCS12": () => (/* binding */ id_pkcs9_at_userPKCS12),\n/* harmony export */ "id_pkcs9_mo": () => (/* binding */ id_pkcs9_mo),\n/* harmony export */ "id_pkcs9_mr": () => (/* binding */ id_pkcs9_mr),\n/* harmony export */ "id_pkcs9_mr_caseIgnoreMatch": () => (/* binding */ id_pkcs9_mr_caseIgnoreMatch),\n/* harmony export */ "id_pkcs9_mr_signingTimeMatch": () => (/* binding */ id_pkcs9_mr_signingTimeMatch),\n/* harmony export */ "id_pkcs9_oc": () => (/* binding */ id_pkcs9_oc),\n/* harmony export */ "id_pkcs9_oc_naturalPerson": () => (/* binding */ id_pkcs9_oc_naturalPerson),\n/* harmony export */ "id_pkcs9_oc_pkcsEntity": () => (/* binding */ id_pkcs9_oc_pkcsEntity),\n/* harmony export */ "id_pkcs9_sx": () => (/* binding */ id_pkcs9_sx),\n/* harmony export */ "id_pkcs9_sx_pkcs9String": () => (/* binding */ id_pkcs9_sx_pkcs9String),\n/* harmony export */ "id_pkcs9_sx_signingTime": () => (/* binding */ id_pkcs9_sx_signingTime),\n/* harmony export */ "id_smime": () => (/* binding */ id_smime)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-cms */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_pfx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @peculiar/asn1-pfx */ "../wabac.js/node_modules/@peculiar/asn1-pfx/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_pkcs8__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @peculiar/asn1-pkcs8 */ "../wabac.js/node_modules/@peculiar/asn1-pkcs8/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509_attr__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @peculiar/asn1-x509-attr */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/index.js");\nvar ExtensionRequest_1, ExtendedCertificateAttributes_1, SMIMECapabilities_1;\n\n\n\n\n\n\n\nconst id_pkcs9 = "1.2.840.113549.1.9";\nconst id_pkcs9_mo = `${id_pkcs9}.0`;\nconst id_pkcs9_oc = `${id_pkcs9}.24`;\nconst id_pkcs9_at = `${id_pkcs9}.25`;\nconst id_pkcs9_sx = `${id_pkcs9}.26`;\nconst id_pkcs9_mr = `${id_pkcs9}.27`;\nconst id_pkcs9_oc_pkcsEntity = `${id_pkcs9_oc}.1`;\nconst id_pkcs9_oc_naturalPerson = `${id_pkcs9_oc}.2`;\nconst id_pkcs9_at_emailAddress = `${id_pkcs9}.1`;\nconst id_pkcs9_at_unstructuredName = `${id_pkcs9}.2`;\nconst id_pkcs9_at_contentType = `${id_pkcs9}.3`;\nconst id_pkcs9_at_messageDigest = `${id_pkcs9}.4`;\nconst id_pkcs9_at_signingTime = `${id_pkcs9}.5`;\nconst id_pkcs9_at_counterSignature = `${id_pkcs9}.6`;\nconst id_pkcs9_at_challengePassword = `${id_pkcs9}.7`;\nconst id_pkcs9_at_unstructuredAddress = `${id_pkcs9}.8`;\nconst id_pkcs9_at_extendedCertificateAttributes = `${id_pkcs9}.9`;\nconst id_pkcs9_at_signingDescription = `${id_pkcs9}.13`;\nconst id_pkcs9_at_extensionRequest = `${id_pkcs9}.14`;\nconst id_pkcs9_at_smimeCapabilities = `${id_pkcs9}.15`;\nconst id_pkcs9_at_friendlyName = `${id_pkcs9}.20`;\nconst id_pkcs9_at_localKeyId = `${id_pkcs9}.21`;\nconst id_pkcs9_at_userPKCS12 = `2.16.840.1.113730.3.1.216`;\nconst id_pkcs9_at_pkcs15Token = `${id_pkcs9_at}.1`;\nconst id_pkcs9_at_encryptedPrivateKeyInfo = `${id_pkcs9_at}.2`;\nconst id_pkcs9_at_randomNonce = `${id_pkcs9_at}.3`;\nconst id_pkcs9_at_sequenceNumber = `${id_pkcs9_at}.4`;\nconst id_pkcs9_at_pkcs7PDU = `${id_pkcs9_at}.5`;\nconst id_ietf_at = `1.3.6.1.5.5.7.9`;\nconst id_pkcs9_at_dateOfBirth = `${id_ietf_at}.1`;\nconst id_pkcs9_at_placeOfBirth = `${id_ietf_at}.2`;\nconst id_pkcs9_at_gender = `${id_ietf_at}.3`;\nconst id_pkcs9_at_countryOfCitizenship = `${id_ietf_at}.4`;\nconst id_pkcs9_at_countryOfResidence = `${id_ietf_at}.5`;\nconst id_pkcs9_sx_pkcs9String = `${id_pkcs9_sx}.1`;\nconst id_pkcs9_sx_signingTime = `${id_pkcs9_sx}.2`;\nconst id_pkcs9_mr_caseIgnoreMatch = `${id_pkcs9_mr}.1`;\nconst id_pkcs9_mr_signingTimeMatch = `${id_pkcs9_mr}.2`;\nconst id_smime = `${id_pkcs9}.16`;\nconst id_certTypes = `${id_pkcs9}.22`;\nconst crlTypes = `${id_pkcs9}.23`;\nconst id_at_pseudonym = `${_peculiar_asn1_x509_attr__WEBPACK_IMPORTED_MODULE_5__.id_at}.65`;\nlet PKCS9String = class PKCS9String extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.DirectoryString {\n constructor(params = {}) {\n super(params);\n }\n toString() {\n const o = {};\n o.toString();\n return this.ia5String || super.toString();\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String })\n], PKCS9String.prototype, "ia5String", void 0);\nPKCS9String = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], PKCS9String);\n\nlet Pkcs7PDU = class Pkcs7PDU extends _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__.ContentInfo {\n};\nPkcs7PDU = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], Pkcs7PDU);\n\nlet UserPKCS12 = class UserPKCS12 extends _peculiar_asn1_pfx__WEBPACK_IMPORTED_MODULE_2__.PFX {\n};\nUserPKCS12 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], UserPKCS12);\n\nlet EncryptedPrivateKeyInfo = class EncryptedPrivateKeyInfo extends _peculiar_asn1_pkcs8__WEBPACK_IMPORTED_MODULE_3__.EncryptedPrivateKeyInfo {\n};\nEncryptedPrivateKeyInfo = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], EncryptedPrivateKeyInfo);\n\nlet EmailAddress = class EmailAddress {\n constructor(value = "") {\n this.value = value;\n }\n toString() {\n return this.value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String })\n], EmailAddress.prototype, "value", void 0);\nEmailAddress = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], EmailAddress);\n\nlet UnstructuredName = class UnstructuredName extends PKCS9String {\n};\nUnstructuredName = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], UnstructuredName);\n\nlet UnstructuredAddress = class UnstructuredAddress extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.DirectoryString {\n};\nUnstructuredAddress = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], UnstructuredAddress);\n\nlet DateOfBirth = class DateOfBirth {\n constructor(value = new Date()) {\n this.value = value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime })\n], DateOfBirth.prototype, "value", void 0);\nDateOfBirth = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], DateOfBirth);\n\nlet PlaceOfBirth = class PlaceOfBirth extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.DirectoryString {\n};\nPlaceOfBirth = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], PlaceOfBirth);\n\nlet Gender = class Gender {\n constructor(value = "M") {\n this.value = value;\n }\n toString() {\n return this.value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.PrintableString })\n], Gender.prototype, "value", void 0);\nGender = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], Gender);\n\nlet CountryOfCitizenship = class CountryOfCitizenship {\n constructor(value = "") {\n this.value = value;\n }\n toString() {\n return this.value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.PrintableString })\n], CountryOfCitizenship.prototype, "value", void 0);\nCountryOfCitizenship = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], CountryOfCitizenship);\n\nlet CountryOfResidence = class CountryOfResidence extends CountryOfCitizenship {\n};\nCountryOfResidence = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], CountryOfResidence);\n\nlet Pseudonym = class Pseudonym extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.DirectoryString {\n};\nPseudonym = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], Pseudonym);\n\nlet ContentType = class ContentType {\n constructor(value = "") {\n this.value = value;\n }\n toString() {\n return this.value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], ContentType.prototype, "value", void 0);\nContentType = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], ContentType);\n\nclass MessageDigest extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString {\n}\nlet SigningTime = class SigningTime extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.Time {\n};\nSigningTime = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], SigningTime);\n\nclass RandomNonce extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString {\n}\nlet SequenceNumber = class SequenceNumber {\n constructor(value = 0) {\n this.value = value;\n }\n toString() {\n return this.value.toString();\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], SequenceNumber.prototype, "value", void 0);\nSequenceNumber = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], SequenceNumber);\n\nlet CounterSignature = class CounterSignature extends _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__.SignerInfo {\n};\nCounterSignature = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], CounterSignature);\n\nlet ChallengePassword = class ChallengePassword extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.DirectoryString {\n};\nChallengePassword = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], ChallengePassword);\n\nlet ExtensionRequest = ExtensionRequest_1 = class ExtensionRequest extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.Extensions {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, ExtensionRequest_1.prototype);\n }\n};\nExtensionRequest = ExtensionRequest_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], ExtensionRequest);\n\nlet ExtendedCertificateAttributes = ExtendedCertificateAttributes_1 = class ExtendedCertificateAttributes extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, ExtendedCertificateAttributes_1.prototype);\n }\n};\nExtendedCertificateAttributes = ExtendedCertificateAttributes_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_1__.Attribute })\n], ExtendedCertificateAttributes);\n\nlet FriendlyName = class FriendlyName {\n constructor(value = "") {\n this.value = value;\n }\n toString() {\n return this.value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BmpString })\n], FriendlyName.prototype, "value", void 0);\nFriendlyName = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], FriendlyName);\n\nclass LocalKeyId extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString {\n}\nclass SigningDescription extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.DirectoryString {\n}\nlet SMIMECapability = class SMIMECapability extends _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_4__.AlgorithmIdentifier {\n};\nSMIMECapability = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], SMIMECapability);\n\nlet SMIMECapabilities = SMIMECapabilities_1 = class SMIMECapabilities extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, SMIMECapabilities_1.prototype);\n }\n};\nSMIMECapabilities = SMIMECapabilities_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: SMIMECapability })\n], SMIMECapabilities);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-pkcs9/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/algorithms.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/algorithms.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "md2": () => (/* binding */ md2),\n/* harmony export */ "md2WithRSAEncryption": () => (/* binding */ md2WithRSAEncryption),\n/* harmony export */ "md4": () => (/* binding */ md4),\n/* harmony export */ "md5WithRSAEncryption": () => (/* binding */ md5WithRSAEncryption),\n/* harmony export */ "mgf1SHA1": () => (/* binding */ mgf1SHA1),\n/* harmony export */ "pSpecifiedEmpty": () => (/* binding */ pSpecifiedEmpty),\n/* harmony export */ "rsaEncryption": () => (/* binding */ rsaEncryption),\n/* harmony export */ "sha1": () => (/* binding */ sha1),\n/* harmony export */ "sha1WithRSAEncryption": () => (/* binding */ sha1WithRSAEncryption),\n/* harmony export */ "sha224": () => (/* binding */ sha224),\n/* harmony export */ "sha224WithRSAEncryption": () => (/* binding */ sha224WithRSAEncryption),\n/* harmony export */ "sha256": () => (/* binding */ sha256),\n/* harmony export */ "sha256WithRSAEncryption": () => (/* binding */ sha256WithRSAEncryption),\n/* harmony export */ "sha384": () => (/* binding */ sha384),\n/* harmony export */ "sha384WithRSAEncryption": () => (/* binding */ sha384WithRSAEncryption),\n/* harmony export */ "sha512": () => (/* binding */ sha512),\n/* harmony export */ "sha512WithRSAEncryption": () => (/* binding */ sha512WithRSAEncryption),\n/* harmony export */ "sha512_224": () => (/* binding */ sha512_224),\n/* harmony export */ "sha512_224WithRSAEncryption": () => (/* binding */ sha512_224WithRSAEncryption),\n/* harmony export */ "sha512_256": () => (/* binding */ sha512_256),\n/* harmony export */ "sha512_256WithRSAEncryption": () => (/* binding */ sha512_256WithRSAEncryption)\n/* harmony export */ });\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/object_identifiers.js");\n\n\n\nfunction create(algorithm) {\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier({ algorithm, parameters: null });\n}\nconst md2 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md2);\nconst md4 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md5);\nconst sha1 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha1);\nconst sha224 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha224);\nconst sha256 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha256);\nconst sha384 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha384);\nconst sha512 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512);\nconst sha512_224 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_224);\nconst sha512_256 = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_256);\nconst mgf1SHA1 = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier({\n algorithm: _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_mgf1,\n parameters: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnConvert.serialize(sha1),\n});\nconst pSpecifiedEmpty = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier({\n algorithm: _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_pSpecified,\n parameters: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnConvert.serialize(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnOctetStringConverter.toASN(new Uint8Array([0xda, 0x39, 0xa3, 0xee, 0x5e, 0x6b, 0x4b, 0x0d, 0x32, 0x55, 0xbf, 0xef, 0x95, 0x60, 0x18, 0x90, 0xaf, 0xd8, 0x07, 0x09]).buffer)),\n});\nconst rsaEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_rsaEncryption);\nconst md2WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md2WithRSAEncryption);\nconst md5WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md5WithRSAEncryption);\nconst sha1WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha1WithRSAEncryption);\nconst sha224WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_224WithRSAEncryption);\nconst sha256WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_256WithRSAEncryption);\nconst sha384WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha384WithRSAEncryption);\nconst sha512WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512WithRSAEncryption);\nconst sha512_224WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_224WithRSAEncryption);\nconst sha512_256WithRSAEncryption = create(_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_256WithRSAEncryption);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/algorithms.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/index.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/index.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DigestInfo": () => (/* reexport safe */ _parameters__WEBPACK_IMPORTED_MODULE_0__.DigestInfo),\n/* harmony export */ "OtherPrimeInfo": () => (/* reexport safe */ _other_prime_info__WEBPACK_IMPORTED_MODULE_3__.OtherPrimeInfo),\n/* harmony export */ "OtherPrimeInfos": () => (/* reexport safe */ _other_prime_info__WEBPACK_IMPORTED_MODULE_3__.OtherPrimeInfos),\n/* harmony export */ "RSAES_OAEP": () => (/* reexport safe */ _parameters__WEBPACK_IMPORTED_MODULE_0__.RSAES_OAEP),\n/* harmony export */ "RSAPrivateKey": () => (/* reexport safe */ _rsa_private_key__WEBPACK_IMPORTED_MODULE_4__.RSAPrivateKey),\n/* harmony export */ "RSAPublicKey": () => (/* reexport safe */ _rsa_public_key__WEBPACK_IMPORTED_MODULE_5__.RSAPublicKey),\n/* harmony export */ "RSASSA_PSS": () => (/* reexport safe */ _parameters__WEBPACK_IMPORTED_MODULE_0__.RSASSA_PSS),\n/* harmony export */ "RsaEsOaepParams": () => (/* reexport safe */ _parameters__WEBPACK_IMPORTED_MODULE_0__.RsaEsOaepParams),\n/* harmony export */ "RsaSaPssParams": () => (/* reexport safe */ _parameters__WEBPACK_IMPORTED_MODULE_0__.RsaSaPssParams),\n/* harmony export */ "id_RSAES_OAEP": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_RSAES_OAEP),\n/* harmony export */ "id_RSASSA_PSS": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_RSASSA_PSS),\n/* harmony export */ "id_md2": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md2),\n/* harmony export */ "id_md2WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md2WithRSAEncryption),\n/* harmony export */ "id_md5": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md5),\n/* harmony export */ "id_md5WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_md5WithRSAEncryption),\n/* harmony export */ "id_mgf1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_mgf1),\n/* harmony export */ "id_pSpecified": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_pSpecified),\n/* harmony export */ "id_pkcs_1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_pkcs_1),\n/* harmony export */ "id_rsaEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_rsaEncryption),\n/* harmony export */ "id_sha1": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha1),\n/* harmony export */ "id_sha1WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha1WithRSAEncryption),\n/* harmony export */ "id_sha224": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha224),\n/* harmony export */ "id_sha224WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha224WithRSAEncryption),\n/* harmony export */ "id_sha256": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha256),\n/* harmony export */ "id_sha256WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha256WithRSAEncryption),\n/* harmony export */ "id_sha384": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha384),\n/* harmony export */ "id_sha384WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha384WithRSAEncryption),\n/* harmony export */ "id_sha512": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512),\n/* harmony export */ "id_sha512WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512WithRSAEncryption),\n/* harmony export */ "id_sha512_224": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_224),\n/* harmony export */ "id_sha512_224WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_224WithRSAEncryption),\n/* harmony export */ "id_sha512_256": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_256),\n/* harmony export */ "id_sha512_256WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_sha512_256WithRSAEncryption),\n/* harmony export */ "id_ssha224WithRSAEncryption": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ssha224WithRSAEncryption),\n/* harmony export */ "md2": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.md2),\n/* harmony export */ "md2WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.md2WithRSAEncryption),\n/* harmony export */ "md4": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.md4),\n/* harmony export */ "md5WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.md5WithRSAEncryption),\n/* harmony export */ "mgf1SHA1": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.mgf1SHA1),\n/* harmony export */ "pSpecifiedEmpty": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.pSpecifiedEmpty),\n/* harmony export */ "rsaEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.rsaEncryption),\n/* harmony export */ "sha1": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha1),\n/* harmony export */ "sha1WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha1WithRSAEncryption),\n/* harmony export */ "sha224": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha224),\n/* harmony export */ "sha224WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha224WithRSAEncryption),\n/* harmony export */ "sha256": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha256),\n/* harmony export */ "sha256WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha256WithRSAEncryption),\n/* harmony export */ "sha384": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha384),\n/* harmony export */ "sha384WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha384WithRSAEncryption),\n/* harmony export */ "sha512": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha512),\n/* harmony export */ "sha512WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha512WithRSAEncryption),\n/* harmony export */ "sha512_224": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha512_224),\n/* harmony export */ "sha512_224WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha512_224WithRSAEncryption),\n/* harmony export */ "sha512_256": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha512_256),\n/* harmony export */ "sha512_256WithRSAEncryption": () => (/* reexport safe */ _algorithms__WEBPACK_IMPORTED_MODULE_1__.sha512_256WithRSAEncryption)\n/* harmony export */ });\n/* harmony import */ var _parameters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parameters */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/index.js");\n/* harmony import */ var _algorithms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./algorithms */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/algorithms.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/object_identifiers.js");\n/* harmony import */ var _other_prime_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./other_prime_info */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/other_prime_info.js");\n/* harmony import */ var _rsa_private_key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./rsa_private_key */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_private_key.js");\n/* harmony import */ var _rsa_public_key__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./rsa_public_key */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_public_key.js");\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/object_identifiers.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/object_identifiers.js ***!
\**************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "id_RSAES_OAEP": () => (/* binding */ id_RSAES_OAEP),\n/* harmony export */ "id_RSASSA_PSS": () => (/* binding */ id_RSASSA_PSS),\n/* harmony export */ "id_md2": () => (/* binding */ id_md2),\n/* harmony export */ "id_md2WithRSAEncryption": () => (/* binding */ id_md2WithRSAEncryption),\n/* harmony export */ "id_md5": () => (/* binding */ id_md5),\n/* harmony export */ "id_md5WithRSAEncryption": () => (/* binding */ id_md5WithRSAEncryption),\n/* harmony export */ "id_mgf1": () => (/* binding */ id_mgf1),\n/* harmony export */ "id_pSpecified": () => (/* binding */ id_pSpecified),\n/* harmony export */ "id_pkcs_1": () => (/* binding */ id_pkcs_1),\n/* harmony export */ "id_rsaEncryption": () => (/* binding */ id_rsaEncryption),\n/* harmony export */ "id_sha1": () => (/* binding */ id_sha1),\n/* harmony export */ "id_sha1WithRSAEncryption": () => (/* binding */ id_sha1WithRSAEncryption),\n/* harmony export */ "id_sha224": () => (/* binding */ id_sha224),\n/* harmony export */ "id_sha224WithRSAEncryption": () => (/* binding */ id_sha224WithRSAEncryption),\n/* harmony export */ "id_sha256": () => (/* binding */ id_sha256),\n/* harmony export */ "id_sha256WithRSAEncryption": () => (/* binding */ id_sha256WithRSAEncryption),\n/* harmony export */ "id_sha384": () => (/* binding */ id_sha384),\n/* harmony export */ "id_sha384WithRSAEncryption": () => (/* binding */ id_sha384WithRSAEncryption),\n/* harmony export */ "id_sha512": () => (/* binding */ id_sha512),\n/* harmony export */ "id_sha512WithRSAEncryption": () => (/* binding */ id_sha512WithRSAEncryption),\n/* harmony export */ "id_sha512_224": () => (/* binding */ id_sha512_224),\n/* harmony export */ "id_sha512_224WithRSAEncryption": () => (/* binding */ id_sha512_224WithRSAEncryption),\n/* harmony export */ "id_sha512_256": () => (/* binding */ id_sha512_256),\n/* harmony export */ "id_sha512_256WithRSAEncryption": () => (/* binding */ id_sha512_256WithRSAEncryption),\n/* harmony export */ "id_ssha224WithRSAEncryption": () => (/* binding */ id_ssha224WithRSAEncryption)\n/* harmony export */ });\nconst id_pkcs_1 = "1.2.840.113549.1.1";\nconst id_rsaEncryption = `${id_pkcs_1}.1`;\nconst id_RSAES_OAEP = `${id_pkcs_1}.7`;\nconst id_pSpecified = `${id_pkcs_1}.9`;\nconst id_RSASSA_PSS = `${id_pkcs_1}.10`;\nconst id_md2WithRSAEncryption = `${id_pkcs_1}.2`;\nconst id_md5WithRSAEncryption = `${id_pkcs_1}.4`;\nconst id_sha1WithRSAEncryption = `${id_pkcs_1}.5`;\nconst id_sha224WithRSAEncryption = `${id_pkcs_1}.14`;\nconst id_ssha224WithRSAEncryption = id_sha224WithRSAEncryption;\nconst id_sha256WithRSAEncryption = `${id_pkcs_1}.11`;\nconst id_sha384WithRSAEncryption = `${id_pkcs_1}.12`;\nconst id_sha512WithRSAEncryption = `${id_pkcs_1}.13`;\nconst id_sha512_224WithRSAEncryption = `${id_pkcs_1}.15`;\nconst id_sha512_256WithRSAEncryption = `${id_pkcs_1}.16`;\nconst id_sha1 = "1.3.14.3.2.26";\nconst id_sha224 = "2.16.840.1.101.3.4.2.4";\nconst id_sha256 = "2.16.840.1.101.3.4.2.1";\nconst id_sha384 = "2.16.840.1.101.3.4.2.2";\nconst id_sha512 = "2.16.840.1.101.3.4.2.3";\nconst id_sha512_224 = "2.16.840.1.101.3.4.2.5";\nconst id_sha512_256 = "2.16.840.1.101.3.4.2.6";\nconst id_md2 = "1.2.840.113549.2.2";\nconst id_md5 = "1.2.840.113549.2.5";\nconst id_mgf1 = `${id_pkcs_1}.8`;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/object_identifiers.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/other_prime_info.js":
/*!************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/other_prime_info.js ***!
\************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OtherPrimeInfo": () => (/* binding */ OtherPrimeInfo),\n/* harmony export */ "OtherPrimeInfos": () => (/* binding */ OtherPrimeInfos)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\nvar OtherPrimeInfos_1;\n\n\nclass OtherPrimeInfo {\n constructor(params = {}) {\n this.prime = new ArrayBuffer(0);\n this.exponent = new ArrayBuffer(0);\n this.coefficient = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], OtherPrimeInfo.prototype, "prime", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], OtherPrimeInfo.prototype, "exponent", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], OtherPrimeInfo.prototype, "coefficient", void 0);\nlet OtherPrimeInfos = OtherPrimeInfos_1 = class OtherPrimeInfos extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, OtherPrimeInfos_1.prototype);\n }\n};\nOtherPrimeInfos = OtherPrimeInfos_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: OtherPrimeInfo })\n], OtherPrimeInfos);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/other_prime_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/index.js":
/*!************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/index.js ***!
\************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DigestInfo": () => (/* reexport safe */ _rsassa_pkcs1_v1_5__WEBPACK_IMPORTED_MODULE_2__.DigestInfo),\n/* harmony export */ "RSAES_OAEP": () => (/* reexport safe */ _rsaes_oaep__WEBPACK_IMPORTED_MODULE_0__.RSAES_OAEP),\n/* harmony export */ "RSASSA_PSS": () => (/* reexport safe */ _rsassa_pss__WEBPACK_IMPORTED_MODULE_1__.RSASSA_PSS),\n/* harmony export */ "RsaEsOaepParams": () => (/* reexport safe */ _rsaes_oaep__WEBPACK_IMPORTED_MODULE_0__.RsaEsOaepParams),\n/* harmony export */ "RsaSaPssParams": () => (/* reexport safe */ _rsassa_pss__WEBPACK_IMPORTED_MODULE_1__.RsaSaPssParams)\n/* harmony export */ });\n/* harmony import */ var _rsaes_oaep__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rsaes_oaep */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsaes_oaep.js");\n/* harmony import */ var _rsassa_pss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rsassa_pss */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pss.js");\n/* harmony import */ var _rsassa_pkcs1_v1_5__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rsassa_pkcs1_v1_5 */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pkcs1_v1_5.js");\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsaes_oaep.js":
/*!*****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsaes_oaep.js ***!
\*****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RSAES_OAEP": () => (/* binding */ RSAES_OAEP),\n/* harmony export */ "RsaEsOaepParams": () => (/* binding */ RsaEsOaepParams)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/object_identifiers.js");\n/* harmony import */ var _algorithms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../algorithms */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/algorithms.js");\n\n\n\n\n\nclass RsaEsOaepParams {\n constructor(params = {}) {\n this.hashAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier(_algorithms__WEBPACK_IMPORTED_MODULE_3__.sha1);\n this.maskGenAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier({\n algorithm: _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_mgf1,\n parameters: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnConvert.serialize(_algorithms__WEBPACK_IMPORTED_MODULE_3__.sha1),\n });\n this.pSourceAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier(_algorithms__WEBPACK_IMPORTED_MODULE_3__.pSpecifiedEmpty);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier, context: 0, defaultValue: _algorithms__WEBPACK_IMPORTED_MODULE_3__.sha1 })\n], RsaEsOaepParams.prototype, "hashAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier, context: 1, defaultValue: _algorithms__WEBPACK_IMPORTED_MODULE_3__.mgf1SHA1 })\n], RsaEsOaepParams.prototype, "maskGenAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier, context: 2, defaultValue: _algorithms__WEBPACK_IMPORTED_MODULE_3__.pSpecifiedEmpty })\n], RsaEsOaepParams.prototype, "pSourceAlgorithm", void 0);\nconst RSAES_OAEP = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier({\n algorithm: _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_RSAES_OAEP,\n parameters: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnConvert.serialize(new RsaEsOaepParams()),\n});\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsaes_oaep.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pkcs1_v1_5.js":
/*!************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pkcs1_v1_5.js ***!
\************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DigestInfo": () => (/* binding */ DigestInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\n\nclass DigestInfo {\n constructor(params = {}) {\n this.digestAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier();\n this.digest = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.AlgorithmIdentifier })\n], DigestInfo.prototype, "digestAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString })\n], DigestInfo.prototype, "digest", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pkcs1_v1_5.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pss.js":
/*!*****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pss.js ***!
\*****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RSASSA_PSS": () => (/* binding */ RSASSA_PSS),\n/* harmony export */ "RsaSaPssParams": () => (/* binding */ RsaSaPssParams)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/object_identifiers.js");\n/* harmony import */ var _algorithms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../algorithms */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/algorithms.js");\n\n\n\n\n\nclass RsaSaPssParams {\n constructor(params = {}) {\n this.hashAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier(_algorithms__WEBPACK_IMPORTED_MODULE_3__.sha1);\n this.maskGenAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier({\n algorithm: _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_mgf1,\n parameters: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnConvert.serialize(_algorithms__WEBPACK_IMPORTED_MODULE_3__.sha1),\n });\n this.saltLength = 20;\n this.trailerField = 1;\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier, context: 0, defaultValue: _algorithms__WEBPACK_IMPORTED_MODULE_3__.sha1 })\n], RsaSaPssParams.prototype, "hashAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier, context: 1, defaultValue: _algorithms__WEBPACK_IMPORTED_MODULE_3__.mgf1SHA1 })\n], RsaSaPssParams.prototype, "maskGenAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, context: 2, defaultValue: 20 })\n], RsaSaPssParams.prototype, "saltLength", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, context: 3, defaultValue: 1 })\n], RsaSaPssParams.prototype, "trailerField", void 0);\nconst RSASSA_PSS = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier({\n algorithm: _object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_RSASSA_PSS,\n parameters: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnConvert.serialize(new RsaSaPssParams()),\n});\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/parameters/rsassa_pss.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_private_key.js":
/*!***********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_private_key.js ***!
\***********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RSAPrivateKey": () => (/* binding */ RSAPrivateKey)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _other_prime_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./other_prime_info */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/other_prime_info.js");\n\n\n\nclass RSAPrivateKey {\n constructor(params = {}) {\n this.version = 0;\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n this.privateExponent = new ArrayBuffer(0);\n this.prime1 = new ArrayBuffer(0);\n this.prime2 = new ArrayBuffer(0);\n this.exponent1 = new ArrayBuffer(0);\n this.exponent2 = new ArrayBuffer(0);\n this.coefficient = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], RSAPrivateKey.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "modulus", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "publicExponent", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "privateExponent", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "prime1", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "prime2", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "exponent1", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "exponent2", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPrivateKey.prototype, "coefficient", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _other_prime_info__WEBPACK_IMPORTED_MODULE_1__.OtherPrimeInfos, optional: true })\n], RSAPrivateKey.prototype, "otherPrimeInfos", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_private_key.js?')},"../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_public_key.js":
/*!**********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_public_key.js ***!
\**********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RSAPublicKey": () => (/* binding */ RSAPublicKey)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass RSAPublicKey {\n constructor(params = {}) {\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPublicKey.prototype, "modulus", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RSAPublicKey.prototype, "publicExponent", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/rsa_public_key.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/convert.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/convert.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnConvert": () => (/* binding */ AsnConvert)\n/* harmony export */ });\n/* harmony import */ var asn1js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! asn1js */ "../wabac.js/node_modules/asn1js/build/index.es.js");\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\n/* harmony import */ var _parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parser */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/parser.js");\n/* harmony import */ var _serializer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./serializer */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/serializer.js");\n\n\n\n\nclass AsnConvert {\n static serialize(obj) {\n return _serializer__WEBPACK_IMPORTED_MODULE_3__.AsnSerializer.serialize(obj);\n }\n static parse(data, target) {\n return _parser__WEBPACK_IMPORTED_MODULE_2__.AsnParser.parse(data, target);\n }\n static toString(data) {\n const buf = pvtsutils__WEBPACK_IMPORTED_MODULE_1__.BufferSourceConverter.isBufferSource(data)\n ? pvtsutils__WEBPACK_IMPORTED_MODULE_1__.BufferSourceConverter.toArrayBuffer(data)\n : AsnConvert.serialize(data);\n const asn = asn1js__WEBPACK_IMPORTED_MODULE_0__.fromBER(buf);\n if (asn.offset === -1) {\n throw new Error(`Cannot decode ASN.1 data. ${asn.result.error}`);\n }\n return asn.result.toString();\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/convert.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/converters.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/converters.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnAnyConverter": () => (/* binding */ AsnAnyConverter),\n/* harmony export */ "AsnBitStringConverter": () => (/* binding */ AsnBitStringConverter),\n/* harmony export */ "AsnBmpStringConverter": () => (/* binding */ AsnBmpStringConverter),\n/* harmony export */ "AsnBooleanConverter": () => (/* binding */ AsnBooleanConverter),\n/* harmony export */ "AsnCharacterStringConverter": () => (/* binding */ AsnCharacterStringConverter),\n/* harmony export */ "AsnConstructedOctetStringConverter": () => (/* binding */ AsnConstructedOctetStringConverter),\n/* harmony export */ "AsnEnumeratedConverter": () => (/* binding */ AsnEnumeratedConverter),\n/* harmony export */ "AsnGeneralStringConverter": () => (/* binding */ AsnGeneralStringConverter),\n/* harmony export */ "AsnGeneralizedTimeConverter": () => (/* binding */ AsnGeneralizedTimeConverter),\n/* harmony export */ "AsnGraphicStringConverter": () => (/* binding */ AsnGraphicStringConverter),\n/* harmony export */ "AsnIA5StringConverter": () => (/* binding */ AsnIA5StringConverter),\n/* harmony export */ "AsnIntegerArrayBufferConverter": () => (/* binding */ AsnIntegerArrayBufferConverter),\n/* harmony export */ "AsnIntegerBigIntConverter": () => (/* binding */ AsnIntegerBigIntConverter),\n/* harmony export */ "AsnIntegerConverter": () => (/* binding */ AsnIntegerConverter),\n/* harmony export */ "AsnNullConverter": () => (/* binding */ AsnNullConverter),\n/* harmony export */ "AsnNumericStringConverter": () => (/* binding */ AsnNumericStringConverter),\n/* harmony export */ "AsnObjectIdentifierConverter": () => (/* binding */ AsnObjectIdentifierConverter),\n/* harmony export */ "AsnOctetStringConverter": () => (/* binding */ AsnOctetStringConverter),\n/* harmony export */ "AsnPrintableStringConverter": () => (/* binding */ AsnPrintableStringConverter),\n/* harmony export */ "AsnTeletexStringConverter": () => (/* binding */ AsnTeletexStringConverter),\n/* harmony export */ "AsnUTCTimeConverter": () => (/* binding */ AsnUTCTimeConverter),\n/* harmony export */ "AsnUniversalStringConverter": () => (/* binding */ AsnUniversalStringConverter),\n/* harmony export */ "AsnUtf8StringConverter": () => (/* binding */ AsnUtf8StringConverter),\n/* harmony export */ "AsnVideotexStringConverter": () => (/* binding */ AsnVideotexStringConverter),\n/* harmony export */ "AsnVisibleStringConverter": () => (/* binding */ AsnVisibleStringConverter),\n/* harmony export */ "defaultConverter": () => (/* binding */ defaultConverter)\n/* harmony export */ });\n/* harmony import */ var asn1js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! asn1js */ "../wabac.js/node_modules/asn1js/build/index.es.js");\n/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enums */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js");\n/* harmony import */ var _types_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/index */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/index.js");\n\n\n\nconst AsnAnyConverter = {\n fromASN: (value) => value instanceof asn1js__WEBPACK_IMPORTED_MODULE_0__.Null ? null : value.valueBeforeDecodeView,\n toASN: (value) => {\n if (value === null) {\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.Null();\n }\n const schema = asn1js__WEBPACK_IMPORTED_MODULE_0__.fromBER(value);\n if (schema.result.error) {\n throw new Error(schema.result.error);\n }\n return schema.result;\n },\n};\nconst AsnIntegerConverter = {\n fromASN: (value) => value.valueBlock.valueHexView.byteLength >= 4\n ? value.valueBlock.toString()\n : value.valueBlock.valueDec,\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.Integer({ value: +value }),\n};\nconst AsnEnumeratedConverter = {\n fromASN: (value) => value.valueBlock.valueDec,\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.Enumerated({ value }),\n};\nconst AsnIntegerArrayBufferConverter = {\n fromASN: (value) => value.valueBlock.valueHexView,\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.Integer({ valueHex: value }),\n};\nconst AsnIntegerBigIntConverter = {\n fromASN: (value) => value.toBigInt(),\n toASN: (value) => asn1js__WEBPACK_IMPORTED_MODULE_0__.Integer.fromBigInt(value),\n};\nconst AsnBitStringConverter = {\n fromASN: (value) => value.valueBlock.valueHexView,\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.BitString({ valueHex: value }),\n};\nconst AsnObjectIdentifierConverter = {\n fromASN: (value) => value.valueBlock.toString(),\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.ObjectIdentifier({ value }),\n};\nconst AsnBooleanConverter = {\n fromASN: (value) => value.valueBlock.value,\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.Boolean({ value }),\n};\nconst AsnOctetStringConverter = {\n fromASN: (value) => value.valueBlock.valueHexView,\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.OctetString({ valueHex: value }),\n};\nconst AsnConstructedOctetStringConverter = {\n fromASN: (value) => new _types_index__WEBPACK_IMPORTED_MODULE_2__.OctetString(value.getValue()),\n toASN: (value) => value.toASN(),\n};\nfunction createStringConverter(Asn1Type) {\n return {\n fromASN: (value) => value.valueBlock.value,\n toASN: (value) => new Asn1Type({ value }),\n };\n}\nconst AsnUtf8StringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.Utf8String);\nconst AsnBmpStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.BmpString);\nconst AsnUniversalStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.UniversalString);\nconst AsnNumericStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.NumericString);\nconst AsnPrintableStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.PrintableString);\nconst AsnTeletexStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.TeletexString);\nconst AsnVideotexStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.VideotexString);\nconst AsnIA5StringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.IA5String);\nconst AsnGraphicStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.GraphicString);\nconst AsnVisibleStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.VisibleString);\nconst AsnGeneralStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.GeneralString);\nconst AsnCharacterStringConverter = createStringConverter(asn1js__WEBPACK_IMPORTED_MODULE_0__.CharacterString);\nconst AsnUTCTimeConverter = {\n fromASN: (value) => value.toDate(),\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.UTCTime({ valueDate: value }),\n};\nconst AsnGeneralizedTimeConverter = {\n fromASN: (value) => value.toDate(),\n toASN: (value) => new asn1js__WEBPACK_IMPORTED_MODULE_0__.GeneralizedTime({ valueDate: value }),\n};\nconst AsnNullConverter = {\n fromASN: () => null,\n toASN: () => {\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.Null();\n },\n};\nfunction defaultConverter(type) {\n switch (type) {\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.Any:\n return AsnAnyConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.BitString:\n return AsnBitStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.BmpString:\n return AsnBmpStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.Boolean:\n return AsnBooleanConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.CharacterString:\n return AsnCharacterStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.Enumerated:\n return AsnEnumeratedConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.GeneralString:\n return AsnGeneralStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.GeneralizedTime:\n return AsnGeneralizedTimeConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.GraphicString:\n return AsnGraphicStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.IA5String:\n return AsnIA5StringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.Integer:\n return AsnIntegerConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.Null:\n return AsnNullConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.NumericString:\n return AsnNumericStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.ObjectIdentifier:\n return AsnObjectIdentifierConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.OctetString:\n return AsnOctetStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.PrintableString:\n return AsnPrintableStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.TeletexString:\n return AsnTeletexStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.UTCTime:\n return AsnUTCTimeConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.UniversalString:\n return AsnUniversalStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.Utf8String:\n return AsnUtf8StringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.VideotexString:\n return AsnVideotexStringConverter;\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes.VisibleString:\n return AsnVisibleStringConverter;\n default:\n return null;\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/converters.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/decorators.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/decorators.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnChoiceType": () => (/* binding */ AsnChoiceType),\n/* harmony export */ "AsnProp": () => (/* binding */ AsnProp),\n/* harmony export */ "AsnSequenceType": () => (/* binding */ AsnSequenceType),\n/* harmony export */ "AsnSetType": () => (/* binding */ AsnSetType),\n/* harmony export */ "AsnType": () => (/* binding */ AsnType)\n/* harmony export */ });\n/* harmony import */ var _converters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./converters */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/converters.js");\n/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enums */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js");\n/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./storage */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/storage.js");\n\n\n\nconst AsnType = (options) => (target) => {\n let schema;\n if (!_storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.has(target)) {\n schema = _storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.createDefault(target);\n _storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.set(target, schema);\n }\n else {\n schema = _storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.get(target);\n }\n Object.assign(schema, options);\n};\nconst AsnChoiceType = () => AsnType({ type: _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Choice });\nconst AsnSetType = (options) => AsnType({ type: _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Set, ...options });\nconst AsnSequenceType = (options) => AsnType({ type: _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence, ...options });\nconst AsnProp = (options) => (target, propertyKey) => {\n let schema;\n if (!_storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.has(target.constructor)) {\n schema = _storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.createDefault(target.constructor);\n _storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.set(target.constructor, schema);\n }\n else {\n schema = _storage__WEBPACK_IMPORTED_MODULE_2__.schemaStorage.get(target.constructor);\n }\n const copyOptions = Object.assign({}, options);\n if (typeof copyOptions.type === "number" && !copyOptions.converter) {\n const defaultConverter = _converters__WEBPACK_IMPORTED_MODULE_0__.defaultConverter(options.type);\n if (!defaultConverter) {\n throw new Error(`Cannot get default converter for property \'${propertyKey}\' of ${target.constructor.name}`);\n }\n copyOptions.converter = defaultConverter;\n }\n schema.items[propertyKey] = copyOptions;\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/decorators.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js":
/*!****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js ***!
\****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnPropTypes": () => (/* binding */ AsnPropTypes),\n/* harmony export */ "AsnTypeTypes": () => (/* binding */ AsnTypeTypes)\n/* harmony export */ });\nvar AsnTypeTypes;\n(function (AsnTypeTypes) {\n AsnTypeTypes[AsnTypeTypes["Sequence"] = 0] = "Sequence";\n AsnTypeTypes[AsnTypeTypes["Set"] = 1] = "Set";\n AsnTypeTypes[AsnTypeTypes["Choice"] = 2] = "Choice";\n})(AsnTypeTypes || (AsnTypeTypes = {}));\nvar AsnPropTypes;\n(function (AsnPropTypes) {\n AsnPropTypes[AsnPropTypes["Any"] = 1] = "Any";\n AsnPropTypes[AsnPropTypes["Boolean"] = 2] = "Boolean";\n AsnPropTypes[AsnPropTypes["OctetString"] = 3] = "OctetString";\n AsnPropTypes[AsnPropTypes["BitString"] = 4] = "BitString";\n AsnPropTypes[AsnPropTypes["Integer"] = 5] = "Integer";\n AsnPropTypes[AsnPropTypes["Enumerated"] = 6] = "Enumerated";\n AsnPropTypes[AsnPropTypes["ObjectIdentifier"] = 7] = "ObjectIdentifier";\n AsnPropTypes[AsnPropTypes["Utf8String"] = 8] = "Utf8String";\n AsnPropTypes[AsnPropTypes["BmpString"] = 9] = "BmpString";\n AsnPropTypes[AsnPropTypes["UniversalString"] = 10] = "UniversalString";\n AsnPropTypes[AsnPropTypes["NumericString"] = 11] = "NumericString";\n AsnPropTypes[AsnPropTypes["PrintableString"] = 12] = "PrintableString";\n AsnPropTypes[AsnPropTypes["TeletexString"] = 13] = "TeletexString";\n AsnPropTypes[AsnPropTypes["VideotexString"] = 14] = "VideotexString";\n AsnPropTypes[AsnPropTypes["IA5String"] = 15] = "IA5String";\n AsnPropTypes[AsnPropTypes["GraphicString"] = 16] = "GraphicString";\n AsnPropTypes[AsnPropTypes["VisibleString"] = 17] = "VisibleString";\n AsnPropTypes[AsnPropTypes["GeneralString"] = 18] = "GeneralString";\n AsnPropTypes[AsnPropTypes["CharacterString"] = 19] = "CharacterString";\n AsnPropTypes[AsnPropTypes["UTCTime"] = 20] = "UTCTime";\n AsnPropTypes[AsnPropTypes["GeneralizedTime"] = 21] = "GeneralizedTime";\n AsnPropTypes[AsnPropTypes["DATE"] = 22] = "DATE";\n AsnPropTypes[AsnPropTypes["TimeOfDay"] = 23] = "TimeOfDay";\n AsnPropTypes[AsnPropTypes["DateTime"] = 24] = "DateTime";\n AsnPropTypes[AsnPropTypes["Duration"] = 25] = "Duration";\n AsnPropTypes[AsnPropTypes["TIME"] = 26] = "TIME";\n AsnPropTypes[AsnPropTypes["Null"] = 27] = "Null";\n})(AsnPropTypes || (AsnPropTypes = {}));\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/index.js":
/*!***********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/index.js ***!
\***********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnSchemaValidationError": () => (/* reexport safe */ _schema_validation__WEBPACK_IMPORTED_MODULE_0__.AsnSchemaValidationError)\n/* harmony export */ });\n/* harmony import */ var _schema_validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./schema_validation */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/schema_validation.js");\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/schema_validation.js":
/*!***********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/schema_validation.js ***!
\***********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnSchemaValidationError": () => (/* binding */ AsnSchemaValidationError)\n/* harmony export */ });\nclass AsnSchemaValidationError extends Error {\n constructor() {\n super(...arguments);\n this.schemas = [];\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/schema_validation.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/helper.js":
/*!*****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/helper.js ***!
\*****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isArrayEqual": () => (/* binding */ isArrayEqual),\n/* harmony export */ "isConvertible": () => (/* binding */ isConvertible),\n/* harmony export */ "isTypeOfArray": () => (/* binding */ isTypeOfArray)\n/* harmony export */ });\nfunction isConvertible(target) {\n if (typeof target === "function" && target.prototype) {\n if (target.prototype.toASN && target.prototype.fromASN) {\n return true;\n }\n else {\n return isConvertible(target.prototype);\n }\n }\n else {\n return !!(target && typeof target === "object" && "toASN" in target && "fromASN" in target);\n }\n}\nfunction isTypeOfArray(target) {\n var _a;\n if (target) {\n const proto = Object.getPrototypeOf(target);\n if (((_a = proto === null || proto === void 0 ? void 0 : proto.prototype) === null || _a === void 0 ? void 0 : _a.constructor) === Array) {\n return true;\n }\n return isTypeOfArray(proto);\n }\n return false;\n}\nfunction isArrayEqual(bytes1, bytes2) {\n if (!(bytes1 && bytes2)) {\n return false;\n }\n if (bytes1.byteLength !== bytes2.byteLength) {\n return false;\n }\n const b1 = new Uint8Array(bytes1);\n const b2 = new Uint8Array(bytes2);\n for (let i = 0; i < bytes1.byteLength; i++) {\n if (b1[i] !== b2[i]) {\n return false;\n }\n }\n return true;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/helper.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js":
/*!****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js ***!
\****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnAnyConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnAnyConverter),\n/* harmony export */ "AsnArray": () => (/* reexport safe */ _objects__WEBPACK_IMPORTED_MODULE_7__.AsnArray),\n/* harmony export */ "AsnBitStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnBitStringConverter),\n/* harmony export */ "AsnBmpStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnBmpStringConverter),\n/* harmony export */ "AsnBooleanConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnBooleanConverter),\n/* harmony export */ "AsnCharacterStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnCharacterStringConverter),\n/* harmony export */ "AsnChoiceType": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_2__.AsnChoiceType),\n/* harmony export */ "AsnConstructedOctetStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnConstructedOctetStringConverter),\n/* harmony export */ "AsnConvert": () => (/* reexport safe */ _convert__WEBPACK_IMPORTED_MODULE_8__.AsnConvert),\n/* harmony export */ "AsnEnumeratedConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnEnumeratedConverter),\n/* harmony export */ "AsnGeneralStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnGeneralStringConverter),\n/* harmony export */ "AsnGeneralizedTimeConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnGeneralizedTimeConverter),\n/* harmony export */ "AsnGraphicStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnGraphicStringConverter),\n/* harmony export */ "AsnIA5StringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnIA5StringConverter),\n/* harmony export */ "AsnIntegerArrayBufferConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter),\n/* harmony export */ "AsnIntegerBigIntConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerBigIntConverter),\n/* harmony export */ "AsnIntegerConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerConverter),\n/* harmony export */ "AsnNullConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnNullConverter),\n/* harmony export */ "AsnNumericStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnNumericStringConverter),\n/* harmony export */ "AsnObjectIdentifierConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnObjectIdentifierConverter),\n/* harmony export */ "AsnOctetStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnOctetStringConverter),\n/* harmony export */ "AsnParser": () => (/* reexport safe */ _parser__WEBPACK_IMPORTED_MODULE_4__.AsnParser),\n/* harmony export */ "AsnPrintableStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnPrintableStringConverter),\n/* harmony export */ "AsnProp": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_2__.AsnProp),\n/* harmony export */ "AsnPropTypes": () => (/* reexport safe */ _enums__WEBPACK_IMPORTED_MODULE_3__.AsnPropTypes),\n/* harmony export */ "AsnSchemaValidationError": () => (/* reexport safe */ _errors__WEBPACK_IMPORTED_MODULE_6__.AsnSchemaValidationError),\n/* harmony export */ "AsnSequenceType": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_2__.AsnSequenceType),\n/* harmony export */ "AsnSerializer": () => (/* reexport safe */ _serializer__WEBPACK_IMPORTED_MODULE_5__.AsnSerializer),\n/* harmony export */ "AsnSetType": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_2__.AsnSetType),\n/* harmony export */ "AsnTeletexStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnTeletexStringConverter),\n/* harmony export */ "AsnType": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_2__.AsnType),\n/* harmony export */ "AsnTypeTypes": () => (/* reexport safe */ _enums__WEBPACK_IMPORTED_MODULE_3__.AsnTypeTypes),\n/* harmony export */ "AsnUTCTimeConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnUTCTimeConverter),\n/* harmony export */ "AsnUniversalStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnUniversalStringConverter),\n/* harmony export */ "AsnUtf8StringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnUtf8StringConverter),\n/* harmony export */ "AsnVideotexStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnVideotexStringConverter),\n/* harmony export */ "AsnVisibleStringConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.AsnVisibleStringConverter),\n/* harmony export */ "BitString": () => (/* reexport safe */ _types_index__WEBPACK_IMPORTED_MODULE_1__.BitString),\n/* harmony export */ "OctetString": () => (/* reexport safe */ _types_index__WEBPACK_IMPORTED_MODULE_1__.OctetString),\n/* harmony export */ "defaultConverter": () => (/* reexport safe */ _converters__WEBPACK_IMPORTED_MODULE_0__.defaultConverter)\n/* harmony export */ });\n/* harmony import */ var _converters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./converters */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/converters.js");\n/* harmony import */ var _types_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types/index */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/index.js");\n/* harmony import */ var _decorators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decorators */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/decorators.js");\n/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./enums */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js");\n/* harmony import */ var _parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./parser */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/parser.js");\n/* harmony import */ var _serializer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./serializer */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/serializer.js");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./errors */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/index.js");\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./objects */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/objects.js");\n/* harmony import */ var _convert__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./convert */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/convert.js");\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/objects.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/objects.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnArray": () => (/* binding */ AsnArray)\n/* harmony export */ });\nclass AsnArray extends Array {\n constructor(items = []) {\n if (typeof items === "number") {\n super(items);\n }\n else {\n super();\n for (const item of items) {\n this.push(item);\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/objects.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/parser.js":
/*!*****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/parser.js ***!
\*****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnParser": () => (/* binding */ AsnParser)\n/* harmony export */ });\n/* harmony import */ var asn1js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! asn1js */ "../wabac.js/node_modules/asn1js/build/index.es.js");\n/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enums */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js");\n/* harmony import */ var _converters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./converters */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/converters.js");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./errors */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/errors/index.js");\n/* harmony import */ var _helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helper */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/helper.js");\n/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./storage */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/storage.js");\n\n\n\n\n\n\nclass AsnParser {\n static parse(data, target) {\n const asn1Parsed = asn1js__WEBPACK_IMPORTED_MODULE_0__.fromBER(data);\n if (asn1Parsed.result.error) {\n throw new Error(asn1Parsed.result.error);\n }\n const res = this.fromASN(asn1Parsed.result, target);\n return res;\n }\n static fromASN(asn1Schema, target) {\n var _a;\n try {\n if ((0,_helper__WEBPACK_IMPORTED_MODULE_4__.isConvertible)(target)) {\n const value = new target();\n return value.fromASN(asn1Schema);\n }\n const schema = _storage__WEBPACK_IMPORTED_MODULE_5__.schemaStorage.get(target);\n _storage__WEBPACK_IMPORTED_MODULE_5__.schemaStorage.cache(target);\n let targetSchema = schema.schema;\n if (asn1Schema.constructor === asn1js__WEBPACK_IMPORTED_MODULE_0__.Constructed && schema.type !== _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Choice) {\n targetSchema = new asn1js__WEBPACK_IMPORTED_MODULE_0__.Constructed({\n idBlock: {\n tagClass: 3,\n tagNumber: asn1Schema.idBlock.tagNumber,\n },\n value: schema.schema.valueBlock.value,\n });\n for (const key in schema.items) {\n delete asn1Schema[key];\n }\n }\n const asn1ComparedSchema = asn1js__WEBPACK_IMPORTED_MODULE_0__.compareSchema({}, asn1Schema, targetSchema);\n if (!asn1ComparedSchema.verified) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_3__.AsnSchemaValidationError(`Data does not match to ${target.name} ASN1 schema. ${asn1ComparedSchema.result.error}`);\n }\n const res = new target();\n if ((0,_helper__WEBPACK_IMPORTED_MODULE_4__.isTypeOfArray)(target)) {\n if (!("value" in asn1Schema.valueBlock && Array.isArray(asn1Schema.valueBlock.value))) {\n throw new Error(`Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.`);\n }\n const itemType = schema.itemType;\n if (typeof itemType === "number") {\n const converter = _converters__WEBPACK_IMPORTED_MODULE_2__.defaultConverter(itemType);\n if (!converter) {\n throw new Error(`Cannot get default converter for array item of ${target.name} ASN1 schema`);\n }\n return target.from(asn1Schema.valueBlock.value, (element) => converter.fromASN(element));\n }\n else {\n return target.from(asn1Schema.valueBlock.value, (element) => this.fromASN(element, itemType));\n }\n }\n for (const key in schema.items) {\n const asn1SchemaValue = asn1ComparedSchema.result[key];\n if (!asn1SchemaValue) {\n continue;\n }\n const schemaItem = schema.items[key];\n const schemaItemType = schemaItem.type;\n if (typeof schemaItemType === "number" || (0,_helper__WEBPACK_IMPORTED_MODULE_4__.isConvertible)(schemaItemType)) {\n const converter = (_a = schemaItem.converter) !== null && _a !== void 0 ? _a : ((0,_helper__WEBPACK_IMPORTED_MODULE_4__.isConvertible)(schemaItemType)\n ? new schemaItemType()\n : null);\n if (!converter) {\n throw new Error("Converter is empty");\n }\n if (schemaItem.repeated) {\n if (schemaItem.implicit) {\n const Container = schemaItem.repeated === "sequence"\n ? asn1js__WEBPACK_IMPORTED_MODULE_0__.Sequence\n : asn1js__WEBPACK_IMPORTED_MODULE_0__.Set;\n const newItem = new Container();\n newItem.valueBlock = asn1SchemaValue.valueBlock;\n const newItemAsn = asn1js__WEBPACK_IMPORTED_MODULE_0__.fromBER(newItem.toBER(false));\n if (newItemAsn.offset === -1) {\n throw new Error(`Cannot parse the child item. ${newItemAsn.result.error}`);\n }\n if (!("value" in newItemAsn.result.valueBlock && Array.isArray(newItemAsn.result.valueBlock.value))) {\n throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");\n }\n const value = newItemAsn.result.valueBlock.value;\n res[key] = Array.from(value, (element) => converter.fromASN(element));\n }\n else {\n res[key] = Array.from(asn1SchemaValue, (element) => converter.fromASN(element));\n }\n }\n else {\n let value = asn1SchemaValue;\n if (schemaItem.implicit) {\n let newItem;\n if ((0,_helper__WEBPACK_IMPORTED_MODULE_4__.isConvertible)(schemaItemType)) {\n newItem = new schemaItemType().toSchema("");\n }\n else {\n const Asn1TypeName = _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes[schemaItemType];\n const Asn1Type = asn1js__WEBPACK_IMPORTED_MODULE_0__[Asn1TypeName];\n if (!Asn1Type) {\n throw new Error(`Cannot get \'${Asn1TypeName}\' class from asn1js module`);\n }\n newItem = new Asn1Type();\n }\n newItem.valueBlock = value.valueBlock;\n value = asn1js__WEBPACK_IMPORTED_MODULE_0__.fromBER(newItem.toBER(false)).result;\n }\n res[key] = converter.fromASN(value);\n }\n }\n else {\n if (schemaItem.repeated) {\n if (!Array.isArray(asn1SchemaValue)) {\n throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");\n }\n res[key] = Array.from(asn1SchemaValue, (element) => this.fromASN(element, schemaItemType));\n }\n else {\n res[key] = this.fromASN(asn1SchemaValue, schemaItemType);\n }\n }\n }\n return res;\n }\n catch (error) {\n if (error instanceof _errors__WEBPACK_IMPORTED_MODULE_3__.AsnSchemaValidationError) {\n error.schemas.push(target.name);\n }\n throw error;\n }\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/parser.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/schema.js":
/*!*****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/schema.js ***!
\*****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnSchemaStorage": () => (/* binding */ AsnSchemaStorage)\n/* harmony export */ });\n/* harmony import */ var asn1js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! asn1js */ "../wabac.js/node_modules/asn1js/build/index.es.js");\n/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enums */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js");\n/* harmony import */ var _helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helper */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/helper.js");\n\n\n\nclass AsnSchemaStorage {\n constructor() {\n this.items = new WeakMap();\n }\n has(target) {\n return this.items.has(target);\n }\n get(target, checkSchema = false) {\n const schema = this.items.get(target);\n if (!schema) {\n throw new Error(`Cannot get schema for \'${target.prototype.constructor.name}\' target`);\n }\n if (checkSchema && !schema.schema) {\n throw new Error(`Schema \'${target.prototype.constructor.name}\' doesn\'t contain ASN.1 schema. Call \'AsnSchemaStorage.cache\'.`);\n }\n return schema;\n }\n cache(target) {\n const schema = this.get(target);\n if (!schema.schema) {\n schema.schema = this.create(target, true);\n }\n }\n createDefault(target) {\n const schema = {\n type: _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence,\n items: {},\n };\n const parentSchema = this.findParentSchema(target);\n if (parentSchema) {\n Object.assign(schema, parentSchema);\n schema.items = Object.assign({}, schema.items, parentSchema.items);\n }\n return schema;\n }\n create(target, useNames) {\n const schema = this.items.get(target) || this.createDefault(target);\n const asn1Value = [];\n for (const key in schema.items) {\n const item = schema.items[key];\n const name = useNames ? key : "";\n let asn1Item;\n if (typeof (item.type) === "number") {\n const Asn1TypeName = _enums__WEBPACK_IMPORTED_MODULE_1__.AsnPropTypes[item.type];\n const Asn1Type = asn1js__WEBPACK_IMPORTED_MODULE_0__[Asn1TypeName];\n if (!Asn1Type) {\n throw new Error(`Cannot get ASN1 class by name \'${Asn1TypeName}\'`);\n }\n asn1Item = new Asn1Type({ name });\n }\n else if ((0,_helper__WEBPACK_IMPORTED_MODULE_2__.isConvertible)(item.type)) {\n const instance = new item.type();\n asn1Item = instance.toSchema(name);\n }\n else if (item.optional) {\n const itemSchema = this.get(item.type);\n if (itemSchema.type === _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Choice) {\n asn1Item = new asn1js__WEBPACK_IMPORTED_MODULE_0__.Any({ name });\n }\n else {\n asn1Item = this.create(item.type, false);\n asn1Item.name = name;\n }\n }\n else {\n asn1Item = new asn1js__WEBPACK_IMPORTED_MODULE_0__.Any({ name });\n }\n const optional = !!item.optional || item.defaultValue !== undefined;\n if (item.repeated) {\n asn1Item.name = "";\n const Container = item.repeated === "set"\n ? asn1js__WEBPACK_IMPORTED_MODULE_0__.Set\n : asn1js__WEBPACK_IMPORTED_MODULE_0__.Sequence;\n asn1Item = new Container({\n name: "",\n value: [\n new asn1js__WEBPACK_IMPORTED_MODULE_0__.Repeated({\n name,\n value: asn1Item,\n }),\n ],\n });\n }\n if (item.context !== null && item.context !== undefined) {\n if (item.implicit) {\n if (typeof item.type === "number" || (0,_helper__WEBPACK_IMPORTED_MODULE_2__.isConvertible)(item.type)) {\n const Container = item.repeated\n ? asn1js__WEBPACK_IMPORTED_MODULE_0__.Constructed\n : asn1js__WEBPACK_IMPORTED_MODULE_0__.Primitive;\n asn1Value.push(new Container({\n name,\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context,\n },\n }));\n }\n else {\n this.cache(item.type);\n const isRepeated = !!item.repeated;\n let value = !isRepeated\n ? this.get(item.type, true).schema\n : asn1Item;\n value = "valueBlock" in value ? value.valueBlock.value : value.value;\n asn1Value.push(new asn1js__WEBPACK_IMPORTED_MODULE_0__.Constructed({\n name: !isRepeated ? name : "",\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context,\n },\n value: value,\n }));\n }\n }\n else {\n asn1Value.push(new asn1js__WEBPACK_IMPORTED_MODULE_0__.Constructed({\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context,\n },\n value: [asn1Item],\n }));\n }\n }\n else {\n asn1Item.optional = optional;\n asn1Value.push(asn1Item);\n }\n }\n switch (schema.type) {\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Sequence:\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.Sequence({ value: asn1Value, name: "" });\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Set:\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.Set({ value: asn1Value, name: "" });\n case _enums__WEBPACK_IMPORTED_MODULE_1__.AsnTypeTypes.Choice:\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.Choice({ value: asn1Value, name: "" });\n default:\n throw new Error(`Unsupported ASN1 type in use`);\n }\n }\n set(target, schema) {\n this.items.set(target, schema);\n return this;\n }\n findParentSchema(target) {\n const parent = Object.getPrototypeOf(target);\n if (parent) {\n const schema = this.items.get(parent);\n return schema || this.findParentSchema(parent);\n }\n return null;\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/schema.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/serializer.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/serializer.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnSerializer": () => (/* binding */ AsnSerializer)\n/* harmony export */ });\n/* harmony import */ var asn1js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! asn1js */ "../wabac.js/node_modules/asn1js/build/index.es.js");\n/* harmony import */ var _converters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./converters */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/converters.js");\n/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./enums */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/enums.js");\n/* harmony import */ var _helper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helper */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/helper.js");\n/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./storage */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/storage.js");\n\n\n\n\n\nclass AsnSerializer {\n static serialize(obj) {\n if (obj instanceof asn1js__WEBPACK_IMPORTED_MODULE_0__.BaseBlock) {\n return obj.toBER(false);\n }\n return this.toASN(obj).toBER(false);\n }\n static toASN(obj) {\n if (obj && typeof obj === "object" && (0,_helper__WEBPACK_IMPORTED_MODULE_3__.isConvertible)(obj)) {\n return obj.toASN();\n }\n if (!(obj && typeof obj === "object")) {\n throw new TypeError("Parameter 1 should be type of Object.");\n }\n const target = obj.constructor;\n const schema = _storage__WEBPACK_IMPORTED_MODULE_4__.schemaStorage.get(target);\n _storage__WEBPACK_IMPORTED_MODULE_4__.schemaStorage.cache(target);\n let asn1Value = [];\n if (schema.itemType) {\n if (!Array.isArray(obj)) {\n throw new TypeError("Parameter 1 should be type of Array.");\n }\n if (typeof schema.itemType === "number") {\n const converter = _converters__WEBPACK_IMPORTED_MODULE_1__.defaultConverter(schema.itemType);\n if (!converter) {\n throw new Error(`Cannot get default converter for array item of ${target.name} ASN1 schema`);\n }\n asn1Value = obj.map((o) => converter.toASN(o));\n }\n else {\n asn1Value = obj.map((o) => this.toAsnItem({ type: schema.itemType }, "[]", target, o));\n }\n }\n else {\n for (const key in schema.items) {\n const schemaItem = schema.items[key];\n const objProp = obj[key];\n if (objProp === undefined\n || schemaItem.defaultValue === objProp\n || (typeof schemaItem.defaultValue === "object" && typeof objProp === "object"\n && (0,_helper__WEBPACK_IMPORTED_MODULE_3__.isArrayEqual)(this.serialize(schemaItem.defaultValue), this.serialize(objProp)))) {\n continue;\n }\n const asn1Item = AsnSerializer.toAsnItem(schemaItem, key, target, objProp);\n if (typeof schemaItem.context === "number") {\n if (schemaItem.implicit) {\n if (!schemaItem.repeated\n && (typeof schemaItem.type === "number" || (0,_helper__WEBPACK_IMPORTED_MODULE_3__.isConvertible)(schemaItem.type))) {\n const value = {};\n value.valueHex = asn1Item instanceof asn1js__WEBPACK_IMPORTED_MODULE_0__.Null ? asn1Item.valueBeforeDecodeView : asn1Item.valueBlock.toBER();\n asn1Value.push(new asn1js__WEBPACK_IMPORTED_MODULE_0__.Primitive({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context,\n },\n ...value,\n }));\n }\n else {\n asn1Value.push(new asn1js__WEBPACK_IMPORTED_MODULE_0__.Constructed({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context,\n },\n value: asn1Item.valueBlock.value,\n }));\n }\n }\n else {\n asn1Value.push(new asn1js__WEBPACK_IMPORTED_MODULE_0__.Constructed({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context,\n },\n value: [asn1Item],\n }));\n }\n }\n else if (schemaItem.repeated) {\n asn1Value = asn1Value.concat(asn1Item);\n }\n else {\n asn1Value.push(asn1Item);\n }\n }\n }\n let asnSchema;\n switch (schema.type) {\n case _enums__WEBPACK_IMPORTED_MODULE_2__.AsnTypeTypes.Sequence:\n asnSchema = new asn1js__WEBPACK_IMPORTED_MODULE_0__.Sequence({ value: asn1Value });\n break;\n case _enums__WEBPACK_IMPORTED_MODULE_2__.AsnTypeTypes.Set:\n asnSchema = new asn1js__WEBPACK_IMPORTED_MODULE_0__.Set({ value: asn1Value });\n break;\n case _enums__WEBPACK_IMPORTED_MODULE_2__.AsnTypeTypes.Choice:\n if (!asn1Value[0]) {\n throw new Error(`Schema \'${target.name}\' has wrong data. Choice cannot be empty.`);\n }\n asnSchema = asn1Value[0];\n break;\n }\n return asnSchema;\n }\n static toAsnItem(schemaItem, key, target, objProp) {\n let asn1Item;\n if (typeof (schemaItem.type) === "number") {\n const converter = schemaItem.converter;\n if (!converter) {\n throw new Error(`Property \'${key}\' doesn\'t have converter for type ${_enums__WEBPACK_IMPORTED_MODULE_2__.AsnPropTypes[schemaItem.type]} in schema \'${target.name}\'`);\n }\n if (schemaItem.repeated) {\n if (!Array.isArray(objProp)) {\n throw new TypeError("Parameter \'objProp\' should be type of Array.");\n }\n const items = Array.from(objProp, (element) => converter.toASN(element));\n const Container = schemaItem.repeated === "sequence"\n ? asn1js__WEBPACK_IMPORTED_MODULE_0__.Sequence\n : asn1js__WEBPACK_IMPORTED_MODULE_0__.Set;\n asn1Item = new Container({\n value: items,\n });\n }\n else {\n asn1Item = converter.toASN(objProp);\n }\n }\n else {\n if (schemaItem.repeated) {\n if (!Array.isArray(objProp)) {\n throw new TypeError("Parameter \'objProp\' should be type of Array.");\n }\n const items = Array.from(objProp, (element) => this.toASN(element));\n const Container = schemaItem.repeated === "sequence"\n ? asn1js__WEBPACK_IMPORTED_MODULE_0__.Sequence\n : asn1js__WEBPACK_IMPORTED_MODULE_0__.Set;\n asn1Item = new Container({\n value: items,\n });\n }\n else {\n asn1Item = this.toASN(objProp);\n }\n }\n return asn1Item;\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/serializer.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/storage.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/storage.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "schemaStorage": () => (/* binding */ schemaStorage)\n/* harmony export */ });\n/* harmony import */ var _schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/schema.js");\n\nconst schemaStorage = new _schema__WEBPACK_IMPORTED_MODULE_0__.AsnSchemaStorage();\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/storage.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/bit_string.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/bit_string.js ***!
\***************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "BitString": () => (/* binding */ BitString)\n/* harmony export */ });\n/* harmony import */ var asn1js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! asn1js */ "../wabac.js/node_modules/asn1js/build/index.es.js");\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\n\n\nclass BitString {\n constructor(params, unusedBits = 0) {\n this.unusedBits = 0;\n this.value = new ArrayBuffer(0);\n if (params) {\n if (typeof params === "number") {\n this.fromNumber(params);\n }\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_1__.BufferSourceConverter.isBufferSource(params)) {\n this.unusedBits = unusedBits;\n this.value = pvtsutils__WEBPACK_IMPORTED_MODULE_1__.BufferSourceConverter.toArrayBuffer(params);\n }\n else {\n throw TypeError("Unsupported type of \'params\' argument for BitString");\n }\n }\n }\n fromASN(asn) {\n if (!(asn instanceof asn1js__WEBPACK_IMPORTED_MODULE_0__.BitString)) {\n throw new TypeError("Argument \'asn\' is not instance of ASN.1 BitString");\n }\n this.unusedBits = asn.valueBlock.unusedBits;\n this.value = asn.valueBlock.valueHex;\n return this;\n }\n toASN() {\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.BitString({ unusedBits: this.unusedBits, valueHex: this.value });\n }\n toSchema(name) {\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.BitString({ name });\n }\n toNumber() {\n let res = "";\n const uintArray = new Uint8Array(this.value);\n for (const octet of uintArray) {\n res += octet.toString(2).padStart(8, "0");\n }\n res = res.split("").reverse().join("");\n if (this.unusedBits) {\n res = res.slice(this.unusedBits).padStart(this.unusedBits, "0");\n }\n return parseInt(res, 2);\n }\n fromNumber(value) {\n let bits = value.toString(2);\n const octetSize = (bits.length + 7) >> 3;\n this.unusedBits = (octetSize << 3) - bits.length;\n const octets = new Uint8Array(octetSize);\n bits = bits.padStart(octetSize << 3, "0").split("").reverse().join("");\n let index = 0;\n while (index < octetSize) {\n octets[index] = parseInt(bits.slice(index << 3, (index << 3) + 8), 2);\n index++;\n }\n this.value = octets.buffer;\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/bit_string.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/index.js":
/*!**********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/index.js ***!
\**********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "BitString": () => (/* reexport safe */ _bit_string__WEBPACK_IMPORTED_MODULE_0__.BitString),\n/* harmony export */ "OctetString": () => (/* reexport safe */ _octet_string__WEBPACK_IMPORTED_MODULE_1__.OctetString)\n/* harmony export */ });\n/* harmony import */ var _bit_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bit_string */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/bit_string.js");\n/* harmony import */ var _octet_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./octet_string */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/octet_string.js");\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/octet_string.js":
/*!*****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/octet_string.js ***!
\*****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OctetString": () => (/* binding */ OctetString)\n/* harmony export */ });\n/* harmony import */ var asn1js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! asn1js */ "../wabac.js/node_modules/asn1js/build/index.es.js");\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\n\n\nclass OctetString {\n constructor(param) {\n if (typeof param === "number") {\n this.buffer = new ArrayBuffer(param);\n }\n else {\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_1__.BufferSourceConverter.isBufferSource(param)) {\n this.buffer = pvtsutils__WEBPACK_IMPORTED_MODULE_1__.BufferSourceConverter.toArrayBuffer(param);\n }\n else if (Array.isArray(param)) {\n this.buffer = new Uint8Array(param);\n }\n else {\n this.buffer = new ArrayBuffer(0);\n }\n }\n }\n get byteLength() {\n return this.buffer.byteLength;\n }\n get byteOffset() {\n return 0;\n }\n fromASN(asn) {\n if (!(asn instanceof asn1js__WEBPACK_IMPORTED_MODULE_0__.OctetString)) {\n throw new TypeError("Argument \'asn\' is not instance of ASN.1 OctetString");\n }\n this.buffer = asn.valueBlock.valueHex;\n return this;\n }\n toASN() {\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.OctetString({ valueHex: this.buffer });\n }\n toSchema(name) {\n return new asn1js__WEBPACK_IMPORTED_MODULE_0__.OctetString({ name });\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/types/octet_string.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_clear_attrs.js":
/*!****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_clear_attrs.js ***!
\****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ACClearAttrs": () => (/* binding */ ACClearAttrs)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nclass ACClearAttrs {\n constructor(params = {}) {\n this.acIssuer = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName();\n this.acSerial = 0;\n this.attrs = [];\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName })\n], ACClearAttrs.prototype, "acIssuer", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], ACClearAttrs.prototype, "acSerial", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Attribute, repeated: "sequence" })\n], ACClearAttrs.prototype, "attrs", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_clear_attrs.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_controls.js":
/*!*************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_controls.js ***!
\*************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AAControls": () => (/* binding */ AAControls)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _attr_spec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./attr_spec */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_spec.js");\n\n\n\nclass AAControls {\n constructor(params = {}) {\n this.permitUnSpecified = true;\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, optional: true })\n], AAControls.prototype, "pathLenConstraint", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attr_spec__WEBPACK_IMPORTED_MODULE_1__.AttrSpec, implicit: true, context: 0, optional: true })\n], AAControls.prototype, "permittedAttrs", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attr_spec__WEBPACK_IMPORTED_MODULE_1__.AttrSpec, implicit: true, context: 1, optional: true })\n], AAControls.prototype, "excludedAttrs", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Boolean, defaultValue: true })\n], AAControls.prototype, "permitUnSpecified", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_controls.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_issuer.js":
/*!******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_issuer.js ***!
\******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AttCertIssuer": () => (/* binding */ AttCertIssuer)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _v2_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./v2_form */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/v2_form.js");\n\n\n\n\nlet AttCertIssuer = class AttCertIssuer {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName, repeated: "sequence" })\n], AttCertIssuer.prototype, "v1Form", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _v2_form__WEBPACK_IMPORTED_MODULE_2__.V2Form, context: 0, implicit: true })\n], AttCertIssuer.prototype, "v2Form", void 0);\nAttCertIssuer = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], AttCertIssuer);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_issuer.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_validity_period.js":
/*!***************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_validity_period.js ***!
\***************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AttCertValidityPeriod": () => (/* binding */ AttCertValidityPeriod)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass AttCertValidityPeriod {\n constructor(params = {}) {\n this.notBeforeTime = new Date();\n this.notAfterTime = new Date();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime })\n], AttCertValidityPeriod.prototype, "notBeforeTime", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime })\n], AttCertValidityPeriod.prototype, "notAfterTime", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_validity_period.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_spec.js":
/*!***********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_spec.js ***!
\***********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AttrSpec": () => (/* binding */ AttrSpec)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\nvar AttrSpec_1;\n\n\nlet AttrSpec = AttrSpec_1 = class AttrSpec extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, AttrSpec_1.prototype);\n }\n};\nAttrSpec = AttrSpec_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], AttrSpec);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_spec.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate.js":
/*!***********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate.js ***!
\***********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AttributeCertificate": () => (/* binding */ AttributeCertificate)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _attribute_certificate_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./attribute_certificate_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate_info.js");\n\n\n\n\nclass AttributeCertificate {\n constructor(params = {}) {\n this.acinfo = new _attribute_certificate_info__WEBPACK_IMPORTED_MODULE_2__.AttributeCertificateInfo();\n this.signatureAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.signatureValue = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attribute_certificate_info__WEBPACK_IMPORTED_MODULE_2__.AttributeCertificateInfo })\n], AttributeCertificate.prototype, "acinfo", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], AttributeCertificate.prototype, "signatureAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString })\n], AttributeCertificate.prototype, "signatureValue", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate_info.js":
/*!****************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate_info.js ***!
\****************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AttCertVersion": () => (/* binding */ AttCertVersion),\n/* harmony export */ "AttributeCertificateInfo": () => (/* binding */ AttributeCertificateInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _holder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./holder */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/holder.js");\n/* harmony import */ var _attr_cert_issuer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./attr_cert_issuer */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_issuer.js");\n/* harmony import */ var _attr_cert_validity_period__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./attr_cert_validity_period */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_validity_period.js");\n\n\n\n\n\n\nvar AttCertVersion;\n(function (AttCertVersion) {\n AttCertVersion[AttCertVersion["v2"] = 1] = "v2";\n})(AttCertVersion || (AttCertVersion = {}));\nclass AttributeCertificateInfo {\n constructor(params = {}) {\n this.version = AttCertVersion.v2;\n this.holder = new _holder__WEBPACK_IMPORTED_MODULE_2__.Holder();\n this.issuer = new _attr_cert_issuer__WEBPACK_IMPORTED_MODULE_3__.AttCertIssuer();\n this.signature = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.serialNumber = new ArrayBuffer(0);\n this.attrCertValidityPeriod = new _attr_cert_validity_period__WEBPACK_IMPORTED_MODULE_4__.AttCertValidityPeriod();\n this.attributes = [];\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], AttributeCertificateInfo.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _holder__WEBPACK_IMPORTED_MODULE_2__.Holder })\n], AttributeCertificateInfo.prototype, "holder", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attr_cert_issuer__WEBPACK_IMPORTED_MODULE_3__.AttCertIssuer })\n], AttributeCertificateInfo.prototype, "issuer", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], AttributeCertificateInfo.prototype, "signature", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], AttributeCertificateInfo.prototype, "serialNumber", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _attr_cert_validity_period__WEBPACK_IMPORTED_MODULE_4__.AttCertValidityPeriod })\n], AttributeCertificateInfo.prototype, "attrCertValidityPeriod", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Attribute, repeated: "sequence" })\n], AttributeCertificateInfo.prototype, "attributes", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString, optional: true })\n], AttributeCertificateInfo.prototype, "issuerUniqueID", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.Extensions, optional: true })\n], AttributeCertificateInfo.prototype, "extensions", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/class_list.js":
/*!************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/class_list.js ***!
\************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ClassList": () => (/* binding */ ClassList),\n/* harmony export */ "ClassListFlags": () => (/* binding */ ClassListFlags)\n/* harmony export */ });\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\nvar ClassListFlags;\n(function (ClassListFlags) {\n ClassListFlags[ClassListFlags["unmarked"] = 1] = "unmarked";\n ClassListFlags[ClassListFlags["unclassified"] = 2] = "unclassified";\n ClassListFlags[ClassListFlags["restricted"] = 4] = "restricted";\n ClassListFlags[ClassListFlags["confidential"] = 8] = "confidential";\n ClassListFlags[ClassListFlags["secret"] = 16] = "secret";\n ClassListFlags[ClassListFlags["topSecret"] = 32] = "topSecret";\n})(ClassListFlags || (ClassListFlags = {}));\nclass ClassList extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.BitString {\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/class_list.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/clearance.js":
/*!***********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/clearance.js ***!
\***********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Clearance": () => (/* binding */ Clearance)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _class_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./class_list */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/class_list.js");\n/* harmony import */ var _security_category__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./security_category */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/security_category.js");\n\n\n\n\nclass Clearance {\n constructor(params = {}) {\n this.policyId = "";\n this.classList = new _class_list__WEBPACK_IMPORTED_MODULE_1__.ClassList(_class_list__WEBPACK_IMPORTED_MODULE_1__.ClassListFlags.unclassified);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], Clearance.prototype, "policyId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _class_list__WEBPACK_IMPORTED_MODULE_1__.ClassList, defaultValue: new _class_list__WEBPACK_IMPORTED_MODULE_1__.ClassList(_class_list__WEBPACK_IMPORTED_MODULE_1__.ClassListFlags.unclassified) })\n], Clearance.prototype, "classList", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _security_category__WEBPACK_IMPORTED_MODULE_2__.SecurityCategory, repeated: "set" })\n], Clearance.prototype, "securityCategories", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/clearance.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/holder.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/holder.js ***!
\********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Holder": () => (/* binding */ Holder)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _issuer_serial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./issuer_serial */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/issuer_serial.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _object_digest_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./object_digest_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_digest_info.js");\n\n\n\n\n\nclass Holder {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _issuer_serial__WEBPACK_IMPORTED_MODULE_1__.IssuerSerial, implicit: true, context: 0, optional: true })\n], Holder.prototype, "baseCertificateID", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralNames, implicit: true, context: 1, optional: true })\n], Holder.prototype, "entityName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _object_digest_info__WEBPACK_IMPORTED_MODULE_3__.ObjectDigestInfo, implicit: true, context: 2, optional: true })\n], Holder.prototype, "objectDigestInfo", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/holder.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/ietf_attr_syntax.js":
/*!******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/ietf_attr_syntax.js ***!
\******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "IetfAttrSyntax": () => (/* binding */ IetfAttrSyntax),\n/* harmony export */ "IetfAttrSyntaxValueChoices": () => (/* binding */ IetfAttrSyntaxValueChoices)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nclass IetfAttrSyntaxValueChoices {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], IetfAttrSyntaxValueChoices.prototype, "cotets", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], IetfAttrSyntaxValueChoices.prototype, "oid", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Utf8String })\n], IetfAttrSyntaxValueChoices.prototype, "string", void 0);\nclass IetfAttrSyntax {\n constructor(params = {}) {\n this.values = [];\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralNames, implicit: true, context: 0, optional: true })\n], IetfAttrSyntax.prototype, "policyAuthority", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: IetfAttrSyntaxValueChoices, repeated: "sequence" })\n], IetfAttrSyntax.prototype, "values", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/ietf_attr_syntax.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/index.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/index.js ***!
\*******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AAControls": () => (/* reexport safe */ _aa_controls__WEBPACK_IMPORTED_MODULE_1__.AAControls),\n/* harmony export */ "ACClearAttrs": () => (/* reexport safe */ _aa_clear_attrs__WEBPACK_IMPORTED_MODULE_0__.ACClearAttrs),\n/* harmony export */ "AttCertIssuer": () => (/* reexport safe */ _attr_cert_issuer__WEBPACK_IMPORTED_MODULE_2__.AttCertIssuer),\n/* harmony export */ "AttCertValidityPeriod": () => (/* reexport safe */ _attr_cert_validity_period__WEBPACK_IMPORTED_MODULE_3__.AttCertValidityPeriod),\n/* harmony export */ "AttCertVersion": () => (/* reexport safe */ _attribute_certificate_info__WEBPACK_IMPORTED_MODULE_6__.AttCertVersion),\n/* harmony export */ "AttrSpec": () => (/* reexport safe */ _attr_spec__WEBPACK_IMPORTED_MODULE_4__.AttrSpec),\n/* harmony export */ "AttributeCertificate": () => (/* reexport safe */ _attribute_certificate__WEBPACK_IMPORTED_MODULE_5__.AttributeCertificate),\n/* harmony export */ "AttributeCertificateInfo": () => (/* reexport safe */ _attribute_certificate_info__WEBPACK_IMPORTED_MODULE_6__.AttributeCertificateInfo),\n/* harmony export */ "ClassList": () => (/* reexport safe */ _class_list__WEBPACK_IMPORTED_MODULE_7__.ClassList),\n/* harmony export */ "ClassListFlags": () => (/* reexport safe */ _class_list__WEBPACK_IMPORTED_MODULE_7__.ClassListFlags),\n/* harmony export */ "Clearance": () => (/* reexport safe */ _clearance__WEBPACK_IMPORTED_MODULE_8__.Clearance),\n/* harmony export */ "DigestedObjectType": () => (/* reexport safe */ _object_digest_info__WEBPACK_IMPORTED_MODULE_12__.DigestedObjectType),\n/* harmony export */ "Holder": () => (/* reexport safe */ _holder__WEBPACK_IMPORTED_MODULE_9__.Holder),\n/* harmony export */ "IetfAttrSyntax": () => (/* reexport safe */ _ietf_attr_syntax__WEBPACK_IMPORTED_MODULE_10__.IetfAttrSyntax),\n/* harmony export */ "IetfAttrSyntaxValueChoices": () => (/* reexport safe */ _ietf_attr_syntax__WEBPACK_IMPORTED_MODULE_10__.IetfAttrSyntaxValueChoices),\n/* harmony export */ "IssuerSerial": () => (/* reexport safe */ _issuer_serial__WEBPACK_IMPORTED_MODULE_11__.IssuerSerial),\n/* harmony export */ "ObjectDigestInfo": () => (/* reexport safe */ _object_digest_info__WEBPACK_IMPORTED_MODULE_12__.ObjectDigestInfo),\n/* harmony export */ "ProxyInfo": () => (/* reexport safe */ _proxy_info__WEBPACK_IMPORTED_MODULE_14__.ProxyInfo),\n/* harmony export */ "RoleSyntax": () => (/* reexport safe */ _role_syntax__WEBPACK_IMPORTED_MODULE_15__.RoleSyntax),\n/* harmony export */ "SecurityCategory": () => (/* reexport safe */ _security_category__WEBPACK_IMPORTED_MODULE_16__.SecurityCategory),\n/* harmony export */ "SvceAuthInfo": () => (/* reexport safe */ _svce_auth_info__WEBPACK_IMPORTED_MODULE_17__.SvceAuthInfo),\n/* harmony export */ "Target": () => (/* reexport safe */ _target__WEBPACK_IMPORTED_MODULE_18__.Target),\n/* harmony export */ "TargetCert": () => (/* reexport safe */ _target__WEBPACK_IMPORTED_MODULE_18__.TargetCert),\n/* harmony export */ "Targets": () => (/* reexport safe */ _target__WEBPACK_IMPORTED_MODULE_18__.Targets),\n/* harmony export */ "V2Form": () => (/* reexport safe */ _v2_form__WEBPACK_IMPORTED_MODULE_19__.V2Form),\n/* harmony export */ "id_aca": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_aca),\n/* harmony export */ "id_aca_accessIdentity": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_aca_accessIdentity),\n/* harmony export */ "id_aca_authenticationInfo": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_aca_authenticationInfo),\n/* harmony export */ "id_aca_chargingIdentity": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_aca_chargingIdentity),\n/* harmony export */ "id_aca_encAttrs": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_aca_encAttrs),\n/* harmony export */ "id_aca_group": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_aca_group),\n/* harmony export */ "id_at": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_at),\n/* harmony export */ "id_at_clearance": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_at_clearance),\n/* harmony export */ "id_at_role": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_at_role),\n/* harmony export */ "id_ce_targetInformation": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_ce_targetInformation),\n/* harmony export */ "id_pe_aaControls": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_pe_aaControls),\n/* harmony export */ "id_pe_ac_auditIdentity": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_pe_ac_auditIdentity),\n/* harmony export */ "id_pe_ac_proxying": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_13__.id_pe_ac_proxying)\n/* harmony export */ });\n/* harmony import */ var _aa_clear_attrs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./aa_clear_attrs */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_clear_attrs.js");\n/* harmony import */ var _aa_controls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./aa_controls */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/aa_controls.js");\n/* harmony import */ var _attr_cert_issuer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./attr_cert_issuer */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_issuer.js");\n/* harmony import */ var _attr_cert_validity_period__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./attr_cert_validity_period */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_cert_validity_period.js");\n/* harmony import */ var _attr_spec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./attr_spec */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attr_spec.js");\n/* harmony import */ var _attribute_certificate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./attribute_certificate */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate.js");\n/* harmony import */ var _attribute_certificate_info__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./attribute_certificate_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/attribute_certificate_info.js");\n/* harmony import */ var _class_list__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./class_list */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/class_list.js");\n/* harmony import */ var _clearance__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./clearance */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/clearance.js");\n/* harmony import */ var _holder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./holder */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/holder.js");\n/* harmony import */ var _ietf_attr_syntax__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ietf_attr_syntax */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/ietf_attr_syntax.js");\n/* harmony import */ var _issuer_serial__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./issuer_serial */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/issuer_serial.js");\n/* harmony import */ var _object_digest_info__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./object_digest_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_digest_info.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_identifiers.js");\n/* harmony import */ var _proxy_info__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./proxy_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/proxy_info.js");\n/* harmony import */ var _role_syntax__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./role_syntax */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/role_syntax.js");\n/* harmony import */ var _security_category__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./security_category */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/security_category.js");\n/* harmony import */ var _svce_auth_info__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./svce_auth_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/svce_auth_info.js");\n/* harmony import */ var _target__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./target */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/target.js");\n/* harmony import */ var _v2_form__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./v2_form */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/v2_form.js");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/issuer_serial.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/issuer_serial.js ***!
\***************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "IssuerSerial": () => (/* binding */ IssuerSerial)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nclass IssuerSerial {\n constructor(params = {}) {\n this.issuer = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralNames();\n this.serial = new ArrayBuffer(0);\n this.issuerUID = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralNames })\n], IssuerSerial.prototype, "issuer", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], IssuerSerial.prototype, "serial", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString, optional: true })\n], IssuerSerial.prototype, "issuerUID", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/issuer_serial.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_digest_info.js":
/*!********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_digest_info.js ***!
\********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DigestedObjectType": () => (/* binding */ DigestedObjectType),\n/* harmony export */ "ObjectDigestInfo": () => (/* binding */ ObjectDigestInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nvar DigestedObjectType;\n(function (DigestedObjectType) {\n DigestedObjectType[DigestedObjectType["publicKey"] = 0] = "publicKey";\n DigestedObjectType[DigestedObjectType["publicKeyCert"] = 1] = "publicKeyCert";\n DigestedObjectType[DigestedObjectType["otherObjectTypes"] = 2] = "otherObjectTypes";\n})(DigestedObjectType || (DigestedObjectType = {}));\nclass ObjectDigestInfo {\n constructor(params = {}) {\n this.digestedObjectType = DigestedObjectType.publicKey;\n this.digestAlgorithm = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.objectDigest = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Enumerated })\n], ObjectDigestInfo.prototype, "digestedObjectType", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier, optional: true })\n], ObjectDigestInfo.prototype, "otherObjectTypeID", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], ObjectDigestInfo.prototype, "digestAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString })\n], ObjectDigestInfo.prototype, "objectDigest", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_digest_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_identifiers.js":
/*!********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_identifiers.js ***!
\********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "id_aca": () => (/* binding */ id_aca),\n/* harmony export */ "id_aca_accessIdentity": () => (/* binding */ id_aca_accessIdentity),\n/* harmony export */ "id_aca_authenticationInfo": () => (/* binding */ id_aca_authenticationInfo),\n/* harmony export */ "id_aca_chargingIdentity": () => (/* binding */ id_aca_chargingIdentity),\n/* harmony export */ "id_aca_encAttrs": () => (/* binding */ id_aca_encAttrs),\n/* harmony export */ "id_aca_group": () => (/* binding */ id_aca_group),\n/* harmony export */ "id_at": () => (/* binding */ id_at),\n/* harmony export */ "id_at_clearance": () => (/* binding */ id_at_clearance),\n/* harmony export */ "id_at_role": () => (/* binding */ id_at_role),\n/* harmony export */ "id_ce_targetInformation": () => (/* binding */ id_ce_targetInformation),\n/* harmony export */ "id_pe_aaControls": () => (/* binding */ id_pe_aaControls),\n/* harmony export */ "id_pe_ac_auditIdentity": () => (/* binding */ id_pe_ac_auditIdentity),\n/* harmony export */ "id_pe_ac_proxying": () => (/* binding */ id_pe_ac_proxying)\n/* harmony export */ });\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\nconst id_pe_ac_auditIdentity = `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.id_pe}.4`;\nconst id_pe_aaControls = `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.id_pe}.6`;\nconst id_pe_ac_proxying = `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.id_pe}.10`;\nconst id_ce_targetInformation = `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.id_ce}.55`;\nconst id_aca = `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_0__.id_pkix}.10`;\nconst id_aca_authenticationInfo = `${id_aca}.1`;\nconst id_aca_accessIdentity = `${id_aca}.2`;\nconst id_aca_chargingIdentity = `${id_aca}.3`;\nconst id_aca_group = `${id_aca}.4`;\nconst id_aca_encAttrs = `${id_aca}.6`;\nconst id_at = "2.5.4";\nconst id_at_role = `${id_at}.72`;\nconst id_at_clearance = "2.5.1.5.55";\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_identifiers.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/proxy_info.js":
/*!************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/proxy_info.js ***!
\************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ProxyInfo": () => (/* binding */ ProxyInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _target__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./target */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/target.js");\nvar ProxyInfo_1;\n\n\n\nlet ProxyInfo = ProxyInfo_1 = class ProxyInfo extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, ProxyInfo_1.prototype);\n }\n};\nProxyInfo = ProxyInfo_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _target__WEBPACK_IMPORTED_MODULE_1__.Targets })\n], ProxyInfo);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/proxy_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/role_syntax.js":
/*!*************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/role_syntax.js ***!
\*************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RoleSyntax": () => (/* binding */ RoleSyntax)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nclass RoleSyntax {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralNames, implicit: true, context: 0, optional: true })\n], RoleSyntax.prototype, "roleAuthority", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName, implicit: true, context: 1 })\n], RoleSyntax.prototype, "roleName", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/role_syntax.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/security_category.js":
/*!*******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/security_category.js ***!
\*******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SecurityCategory": () => (/* binding */ SecurityCategory)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass SecurityCategory {\n constructor(params = {}) {\n this.type = "";\n this.value = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier, implicit: true, context: 0 })\n], SecurityCategory.prototype, "type", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, implicit: true, context: 1 })\n], SecurityCategory.prototype, "value", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/security_category.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/svce_auth_info.js":
/*!****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/svce_auth_info.js ***!
\****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SvceAuthInfo": () => (/* binding */ SvceAuthInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n\n\n\nclass SvceAuthInfo {\n constructor(params = {}) {\n this.service = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName();\n this.ident = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName })\n], SvceAuthInfo.prototype, "service", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName })\n], SvceAuthInfo.prototype, "ident", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString, optional: true })\n], SvceAuthInfo.prototype, "authInfo", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/svce_auth_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/target.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/target.js ***!
\********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Target": () => (/* binding */ Target),\n/* harmony export */ "TargetCert": () => (/* binding */ TargetCert),\n/* harmony export */ "Targets": () => (/* binding */ Targets)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _issuer_serial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./issuer_serial */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/issuer_serial.js");\n/* harmony import */ var _object_digest_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./object_digest_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_digest_info.js");\nvar Targets_1;\n\n\n\n\n\nclass TargetCert {\n constructor(params = {}) {\n this.targetCertificate = new _issuer_serial__WEBPACK_IMPORTED_MODULE_2__.IssuerSerial();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _issuer_serial__WEBPACK_IMPORTED_MODULE_2__.IssuerSerial })\n], TargetCert.prototype, "targetCertificate", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName, optional: true })\n], TargetCert.prototype, "targetName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _object_digest_info__WEBPACK_IMPORTED_MODULE_3__.ObjectDigestInfo, optional: true })\n], TargetCert.prototype, "certDigestInfo", void 0);\nlet Target = class Target {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName, context: 0, implicit: true })\n], Target.prototype, "targetName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralName, context: 1, implicit: true })\n], Target.prototype, "targetGroup", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: TargetCert, context: 2, implicit: true })\n], Target.prototype, "targetCert", void 0);\nTarget = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], Target);\n\nlet Targets = Targets_1 = class Targets extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, Targets_1.prototype);\n }\n};\nTargets = Targets_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: Target })\n], Targets);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/target.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/v2_form.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/v2_form.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "V2Form": () => (/* binding */ V2Form)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var _issuer_serial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./issuer_serial */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/issuer_serial.js");\n/* harmony import */ var _object_digest_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./object_digest_info */ "../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/object_digest_info.js");\n\n\n\n\n\nclass V2Form {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_1__.GeneralNames, optional: true })\n], V2Form.prototype, "issuerName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _issuer_serial__WEBPACK_IMPORTED_MODULE_2__.IssuerSerial, context: 0, implicit: true, optional: true })\n], V2Form.prototype, "baseCertificateID", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _object_digest_info__WEBPACK_IMPORTED_MODULE_3__.ObjectDigestInfo, context: 1, implicit: true, optional: true })\n], V2Form.prototype, "objectDigestInfo", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509-attr/build/es2015/v2_form.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js":
/*!*****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js ***!
\*****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AlgorithmIdentifier": () => (/* binding */ AlgorithmIdentifier)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\n\n\n\nclass AlgorithmIdentifier {\n constructor(params = {}) {\n this.algorithm = "";\n Object.assign(this, params);\n }\n isEqual(data) {\n return data instanceof AlgorithmIdentifier\n && data.algorithm == this.algorithm\n && ((data.parameters && this.parameters\n && pvtsutils__WEBPACK_IMPORTED_MODULE_1__.isEqual(data.parameters, this.parameters))\n ||\n (data.parameters === this.parameters));\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier,\n })\n], AlgorithmIdentifier.prototype, "algorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any,\n optional: true,\n })\n], AlgorithmIdentifier.prototype, "parameters", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/attribute.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/attribute.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Attribute": () => (/* binding */ Attribute)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nclass Attribute {\n constructor(params = {}) {\n this.type = "";\n this.values = [];\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], Attribute.prototype, "type", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, repeated: "set" })\n], Attribute.prototype, "values", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/attribute.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate.js ***!
\********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Certificate": () => (/* binding */ Certificate)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./algorithm_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js");\n/* harmony import */ var _tbs_certificate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tbs_certificate */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_certificate.js");\n\n\n\n\nclass Certificate {\n constructor(params = {}) {\n this.tbsCertificate = new _tbs_certificate__WEBPACK_IMPORTED_MODULE_2__.TBSCertificate();\n this.signatureAlgorithm = new _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.signatureValue = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _tbs_certificate__WEBPACK_IMPORTED_MODULE_2__.TBSCertificate })\n], Certificate.prototype, "tbsCertificate", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], Certificate.prototype, "signatureAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString })\n], Certificate.prototype, "signatureValue", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate_list.js":
/*!*************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate_list.js ***!
\*************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CertificateList": () => (/* binding */ CertificateList)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./algorithm_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js");\n/* harmony import */ var _tbs_cert_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tbs_cert_list */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_cert_list.js");\n\n\n\n\nclass CertificateList {\n constructor(params = {}) {\n this.tbsCertList = new _tbs_cert_list__WEBPACK_IMPORTED_MODULE_2__.TBSCertList();\n this.signatureAlgorithm = new _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.signature = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _tbs_cert_list__WEBPACK_IMPORTED_MODULE_2__.TBSCertList })\n], CertificateList.prototype, "tbsCertList", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], CertificateList.prototype, "signatureAlgorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString })\n], CertificateList.prototype, "signature", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate_list.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extension.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extension.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Extension": () => (/* binding */ Extension),\n/* harmony export */ "Extensions": () => (/* binding */ Extensions)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\nvar Extensions_1;\n\n\nclass Extension {\n constructor(params = {}) {\n this.extnID = "";\n this.critical = Extension.CRITICAL;\n this.extnValue = new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString();\n Object.assign(this, params);\n }\n}\nExtension.CRITICAL = false;\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], Extension.prototype, "extnID", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Boolean,\n defaultValue: Extension.CRITICAL,\n })\n], Extension.prototype, "critical", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString })\n], Extension.prototype, "extnValue", void 0);\nlet Extensions = Extensions_1 = class Extensions extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, Extensions_1.prototype);\n }\n};\nExtensions = Extensions_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: Extension })\n], Extensions);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extension.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_information_access.js":
/*!************************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_information_access.js ***!
\************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AccessDescription": () => (/* binding */ AccessDescription),\n/* harmony export */ "AuthorityInfoAccessSyntax": () => (/* binding */ AuthorityInfoAccessSyntax),\n/* harmony export */ "id_pe_authorityInfoAccess": () => (/* binding */ id_pe_authorityInfoAccess)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _general_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../general_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar AuthorityInfoAccessSyntax_1;\n\n\n\n\nconst id_pe_authorityInfoAccess = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_pe}.1`;\nclass AccessDescription {\n constructor(params = {}) {\n this.accessMethod = "";\n this.accessLocation = new _general_name__WEBPACK_IMPORTED_MODULE_1__.GeneralName();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], AccessDescription.prototype, "accessMethod", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _general_name__WEBPACK_IMPORTED_MODULE_1__.GeneralName })\n], AccessDescription.prototype, "accessLocation", void 0);\nlet AuthorityInfoAccessSyntax = AuthorityInfoAccessSyntax_1 = class AuthorityInfoAccessSyntax extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, AuthorityInfoAccessSyntax_1.prototype);\n }\n};\nAuthorityInfoAccessSyntax = AuthorityInfoAccessSyntax_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: AccessDescription })\n], AuthorityInfoAccessSyntax);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_information_access.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_key_identifier.js":
/*!********************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_key_identifier.js ***!
\********************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AuthorityKeyIdentifier": () => (/* binding */ AuthorityKeyIdentifier),\n/* harmony export */ "KeyIdentifier": () => (/* binding */ KeyIdentifier),\n/* harmony export */ "id_ce_authorityKeyIdentifier": () => (/* binding */ id_ce_authorityKeyIdentifier)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _general_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../general_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\n\nconst id_ce_authorityKeyIdentifier = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ce}.35`;\nclass KeyIdentifier extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.OctetString {\n}\nclass AuthorityKeyIdentifier {\n constructor(params = {}) {\n if (params) {\n Object.assign(this, params);\n }\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: KeyIdentifier, context: 0, optional: true, implicit: true })\n], AuthorityKeyIdentifier.prototype, "keyIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _general_name__WEBPACK_IMPORTED_MODULE_1__.GeneralName, context: 1, optional: true, implicit: true, repeated: "sequence" })\n], AuthorityKeyIdentifier.prototype, "authorityCertIssuer", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer,\n context: 2,\n optional: true,\n implicit: true,\n converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter,\n })\n], AuthorityKeyIdentifier.prototype, "authorityCertSerialNumber", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_key_identifier.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/basic_constraints.js":
/*!*************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/basic_constraints.js ***!
\*************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "BasicConstraints": () => (/* binding */ BasicConstraints),\n/* harmony export */ "id_ce_basicConstraints": () => (/* binding */ id_ce_basicConstraints)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\nconst id_ce_basicConstraints = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.19`;\nclass BasicConstraints {\n constructor(params = {}) {\n this.cA = false;\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Boolean, defaultValue: false })\n], BasicConstraints.prototype, "cA", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, optional: true })\n], BasicConstraints.prototype, "pathLenConstraint", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/basic_constraints.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_issuer.js":
/*!**************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_issuer.js ***!
\**************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CertificateIssuer": () => (/* binding */ CertificateIssuer),\n/* harmony export */ "id_ce_certificateIssuer": () => (/* binding */ id_ce_certificateIssuer)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _general_names__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../general_names */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_names.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar CertificateIssuer_1;\n\n\n\n\nconst id_ce_certificateIssuer = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ce}.29`;\nlet CertificateIssuer = CertificateIssuer_1 = class CertificateIssuer extends _general_names__WEBPACK_IMPORTED_MODULE_1__.GeneralNames {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, CertificateIssuer_1.prototype);\n }\n};\nCertificateIssuer = CertificateIssuer_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], CertificateIssuer);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_issuer.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_policies.js":
/*!****************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_policies.js ***!
\****************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CertificatePolicies": () => (/* binding */ CertificatePolicies),\n/* harmony export */ "DisplayText": () => (/* binding */ DisplayText),\n/* harmony export */ "NoticeReference": () => (/* binding */ NoticeReference),\n/* harmony export */ "PolicyInformation": () => (/* binding */ PolicyInformation),\n/* harmony export */ "PolicyQualifierInfo": () => (/* binding */ PolicyQualifierInfo),\n/* harmony export */ "Qualifier": () => (/* binding */ Qualifier),\n/* harmony export */ "UserNotice": () => (/* binding */ UserNotice),\n/* harmony export */ "id_ce_certificatePolicies": () => (/* binding */ id_ce_certificatePolicies),\n/* harmony export */ "id_ce_certificatePolicies_anyPolicy": () => (/* binding */ id_ce_certificatePolicies_anyPolicy)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar CertificatePolicies_1;\n\n\n\nconst id_ce_certificatePolicies = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.32`;\nconst id_ce_certificatePolicies_anyPolicy = `${id_ce_certificatePolicies}.0`;\nlet DisplayText = class DisplayText {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n toString() {\n return this.ia5String || this.visibleString || this.bmpString || this.utf8String || "";\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String })\n], DisplayText.prototype, "ia5String", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.VisibleString })\n], DisplayText.prototype, "visibleString", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BmpString })\n], DisplayText.prototype, "bmpString", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Utf8String })\n], DisplayText.prototype, "utf8String", void 0);\nDisplayText = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], DisplayText);\n\nclass NoticeReference {\n constructor(params = {}) {\n this.organization = new DisplayText();\n this.noticeNumbers = [];\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: DisplayText })\n], NoticeReference.prototype, "organization", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, repeated: "sequence" })\n], NoticeReference.prototype, "noticeNumbers", void 0);\nclass UserNotice {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: NoticeReference, optional: true })\n], UserNotice.prototype, "noticeRef", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: DisplayText, optional: true })\n], UserNotice.prototype, "explicitText", void 0);\nlet Qualifier = class Qualifier {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String })\n], Qualifier.prototype, "cPSuri", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: UserNotice })\n], Qualifier.prototype, "userNotice", void 0);\nQualifier = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], Qualifier);\n\nclass PolicyQualifierInfo {\n constructor(params = {}) {\n this.policyQualifierId = "";\n this.qualifier = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], PolicyQualifierInfo.prototype, "policyQualifierId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any })\n], PolicyQualifierInfo.prototype, "qualifier", void 0);\nclass PolicyInformation {\n constructor(params = {}) {\n this.policyIdentifier = "";\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], PolicyInformation.prototype, "policyIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: PolicyQualifierInfo, repeated: "sequence", optional: true })\n], PolicyInformation.prototype, "policyQualifiers", void 0);\nlet CertificatePolicies = CertificatePolicies_1 = class CertificatePolicies extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, CertificatePolicies_1.prototype);\n }\n};\nCertificatePolicies = CertificatePolicies_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: PolicyInformation })\n], CertificatePolicies);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_policies.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_delta_indicator.js":
/*!***************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_delta_indicator.js ***!
\***************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "BaseCRLNumber": () => (/* binding */ BaseCRLNumber),\n/* harmony export */ "id_ce_deltaCRLIndicator": () => (/* binding */ id_ce_deltaCRLIndicator)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n/* harmony import */ var _crl_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./crl_number */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_number.js");\n\n\n\n\nconst id_ce_deltaCRLIndicator = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.27`;\nlet BaseCRLNumber = class BaseCRLNumber extends _crl_number__WEBPACK_IMPORTED_MODULE_2__.CRLNumber {\n};\nBaseCRLNumber = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], BaseCRLNumber);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_delta_indicator.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_distribution_points.js":
/*!*******************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_distribution_points.js ***!
\*******************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CRLDistributionPoints": () => (/* binding */ CRLDistributionPoints),\n/* harmony export */ "DistributionPoint": () => (/* binding */ DistributionPoint),\n/* harmony export */ "DistributionPointName": () => (/* binding */ DistributionPointName),\n/* harmony export */ "Reason": () => (/* binding */ Reason),\n/* harmony export */ "ReasonFlags": () => (/* binding */ ReasonFlags),\n/* harmony export */ "id_ce_cRLDistributionPoints": () => (/* binding */ id_ce_cRLDistributionPoints)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js");\n/* harmony import */ var _general_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../general_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar CRLDistributionPoints_1;\n\n\n\n\n\nconst id_ce_cRLDistributionPoints = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_3__.id_ce}.31`;\nvar ReasonFlags;\n(function (ReasonFlags) {\n ReasonFlags[ReasonFlags["unused"] = 1] = "unused";\n ReasonFlags[ReasonFlags["keyCompromise"] = 2] = "keyCompromise";\n ReasonFlags[ReasonFlags["cACompromise"] = 4] = "cACompromise";\n ReasonFlags[ReasonFlags["affiliationChanged"] = 8] = "affiliationChanged";\n ReasonFlags[ReasonFlags["superseded"] = 16] = "superseded";\n ReasonFlags[ReasonFlags["cessationOfOperation"] = 32] = "cessationOfOperation";\n ReasonFlags[ReasonFlags["certificateHold"] = 64] = "certificateHold";\n ReasonFlags[ReasonFlags["privilegeWithdrawn"] = 128] = "privilegeWithdrawn";\n ReasonFlags[ReasonFlags["aACompromise"] = 256] = "aACompromise";\n})(ReasonFlags || (ReasonFlags = {}));\nclass Reason extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.BitString {\n toJSON() {\n const res = [];\n const flags = this.toNumber();\n if (flags & ReasonFlags.aACompromise) {\n res.push("aACompromise");\n }\n if (flags & ReasonFlags.affiliationChanged) {\n res.push("affiliationChanged");\n }\n if (flags & ReasonFlags.cACompromise) {\n res.push("cACompromise");\n }\n if (flags & ReasonFlags.certificateHold) {\n res.push("certificateHold");\n }\n if (flags & ReasonFlags.cessationOfOperation) {\n res.push("cessationOfOperation");\n }\n if (flags & ReasonFlags.keyCompromise) {\n res.push("keyCompromise");\n }\n if (flags & ReasonFlags.privilegeWithdrawn) {\n res.push("privilegeWithdrawn");\n }\n if (flags & ReasonFlags.superseded) {\n res.push("superseded");\n }\n if (flags & ReasonFlags.unused) {\n res.push("unused");\n }\n return res;\n }\n toString() {\n return `[${this.toJSON().join(", ")}]`;\n }\n}\nlet DistributionPointName = class DistributionPointName {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _general_name__WEBPACK_IMPORTED_MODULE_2__.GeneralName, context: 0, repeated: "sequence", implicit: true })\n], DistributionPointName.prototype, "fullName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _name__WEBPACK_IMPORTED_MODULE_1__.RelativeDistinguishedName, context: 1, implicit: true })\n], DistributionPointName.prototype, "nameRelativeToCRLIssuer", void 0);\nDistributionPointName = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], DistributionPointName);\n\nclass DistributionPoint {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: DistributionPointName, context: 0, optional: true })\n], DistributionPoint.prototype, "distributionPoint", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: Reason, context: 1, optional: true, implicit: true })\n], DistributionPoint.prototype, "reasons", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _general_name__WEBPACK_IMPORTED_MODULE_2__.GeneralName, context: 2, optional: true, repeated: "sequence", implicit: true })\n], DistributionPoint.prototype, "cRLIssuer", void 0);\nlet CRLDistributionPoints = CRLDistributionPoints_1 = class CRLDistributionPoints extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, CRLDistributionPoints_1.prototype);\n }\n};\nCRLDistributionPoints = CRLDistributionPoints_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: DistributionPoint })\n], CRLDistributionPoints);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_distribution_points.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_freshest.js":
/*!********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_freshest.js ***!
\********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "FreshestCRL": () => (/* binding */ FreshestCRL),\n/* harmony export */ "id_ce_freshestCRL": () => (/* binding */ id_ce_freshestCRL)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n/* harmony import */ var _crl_distribution_points__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./crl_distribution_points */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_distribution_points.js");\nvar FreshestCRL_1;\n\n\n\n\nconst id_ce_freshestCRL = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.46`;\nlet FreshestCRL = FreshestCRL_1 = class FreshestCRL extends _crl_distribution_points__WEBPACK_IMPORTED_MODULE_2__.CRLDistributionPoints {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, FreshestCRL_1.prototype);\n }\n};\nFreshestCRL = FreshestCRL_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _crl_distribution_points__WEBPACK_IMPORTED_MODULE_2__.DistributionPoint })\n], FreshestCRL);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_freshest.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_issuing_distribution_point.js":
/*!**************************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_issuing_distribution_point.js ***!
\**************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "IssuingDistributionPoint": () => (/* binding */ IssuingDistributionPoint),\n/* harmony export */ "id_ce_issuingDistributionPoint": () => (/* binding */ id_ce_issuingDistributionPoint)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _crl_distribution_points__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./crl_distribution_points */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_distribution_points.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\n\n\nconst id_ce_issuingDistributionPoint = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ce}.28`;\nclass IssuingDistributionPoint {\n constructor(params = {}) {\n this.onlyContainsUserCerts = IssuingDistributionPoint.ONLY;\n this.onlyContainsCACerts = IssuingDistributionPoint.ONLY;\n this.indirectCRL = IssuingDistributionPoint.ONLY;\n this.onlyContainsAttributeCerts = IssuingDistributionPoint.ONLY;\n Object.assign(this, params);\n }\n}\nIssuingDistributionPoint.ONLY = false;\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _crl_distribution_points__WEBPACK_IMPORTED_MODULE_1__.DistributionPointName, context: 0, optional: true })\n], IssuingDistributionPoint.prototype, "distributionPoint", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Boolean, context: 1, defaultValue: IssuingDistributionPoint.ONLY, implicit: true })\n], IssuingDistributionPoint.prototype, "onlyContainsUserCerts", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Boolean, context: 2, defaultValue: IssuingDistributionPoint.ONLY, implicit: true })\n], IssuingDistributionPoint.prototype, "onlyContainsCACerts", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _crl_distribution_points__WEBPACK_IMPORTED_MODULE_1__.Reason, context: 3, optional: true, implicit: true })\n], IssuingDistributionPoint.prototype, "onlySomeReasons", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Boolean, context: 4, defaultValue: IssuingDistributionPoint.ONLY, implicit: true })\n], IssuingDistributionPoint.prototype, "indirectCRL", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Boolean, context: 5, defaultValue: IssuingDistributionPoint.ONLY, implicit: true })\n], IssuingDistributionPoint.prototype, "onlyContainsAttributeCerts", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_issuing_distribution_point.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_number.js":
/*!******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_number.js ***!
\******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CRLNumber": () => (/* binding */ CRLNumber),\n/* harmony export */ "id_ce_cRLNumber": () => (/* binding */ id_ce_cRLNumber)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\nconst id_ce_cRLNumber = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.20`;\nlet CRLNumber = class CRLNumber {\n constructor(value = 0) {\n this.value = value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer })\n], CRLNumber.prototype, "value", void 0);\nCRLNumber = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], CRLNumber);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_number.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_reason.js":
/*!******************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_reason.js ***!
\******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CRLReason": () => (/* binding */ CRLReason),\n/* harmony export */ "CRLReasons": () => (/* binding */ CRLReasons),\n/* harmony export */ "id_ce_cRLReasons": () => (/* binding */ id_ce_cRLReasons)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\nconst id_ce_cRLReasons = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.21`;\nvar CRLReasons;\n(function (CRLReasons) {\n CRLReasons[CRLReasons["unspecified"] = 0] = "unspecified";\n CRLReasons[CRLReasons["keyCompromise"] = 1] = "keyCompromise";\n CRLReasons[CRLReasons["cACompromise"] = 2] = "cACompromise";\n CRLReasons[CRLReasons["affiliationChanged"] = 3] = "affiliationChanged";\n CRLReasons[CRLReasons["superseded"] = 4] = "superseded";\n CRLReasons[CRLReasons["cessationOfOperation"] = 5] = "cessationOfOperation";\n CRLReasons[CRLReasons["certificateHold"] = 6] = "certificateHold";\n CRLReasons[CRLReasons["removeFromCRL"] = 8] = "removeFromCRL";\n CRLReasons[CRLReasons["privilegeWithdrawn"] = 9] = "privilegeWithdrawn";\n CRLReasons[CRLReasons["aACompromise"] = 10] = "aACompromise";\n})(CRLReasons || (CRLReasons = {}));\nlet CRLReason = class CRLReason {\n constructor(reason = CRLReasons.unspecified) {\n this.reason = CRLReasons.unspecified;\n this.reason = reason;\n }\n toJSON() {\n return CRLReasons[this.reason];\n }\n toString() {\n return this.toJSON();\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Enumerated })\n], CRLReason.prototype, "reason", void 0);\nCRLReason = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], CRLReason);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_reason.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/entrust_version_info.js":
/*!****************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/entrust_version_info.js ***!
\****************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EntrustInfo": () => (/* binding */ EntrustInfo),\n/* harmony export */ "EntrustInfoFlags": () => (/* binding */ EntrustInfoFlags),\n/* harmony export */ "EntrustVersionInfo": () => (/* binding */ EntrustVersionInfo),\n/* harmony export */ "id_entrust_entrustVersInfo": () => (/* binding */ id_entrust_entrustVersInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nconst id_entrust_entrustVersInfo = "1.2.840.113533.7.65.0";\nvar EntrustInfoFlags;\n(function (EntrustInfoFlags) {\n EntrustInfoFlags[EntrustInfoFlags["keyUpdateAllowed"] = 1] = "keyUpdateAllowed";\n EntrustInfoFlags[EntrustInfoFlags["newExtensions"] = 2] = "newExtensions";\n EntrustInfoFlags[EntrustInfoFlags["pKIXCertificate"] = 4] = "pKIXCertificate";\n})(EntrustInfoFlags || (EntrustInfoFlags = {}));\nclass EntrustInfo extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.BitString {\n toJSON() {\n const res = [];\n const flags = this.toNumber();\n if (flags & EntrustInfoFlags.pKIXCertificate) {\n res.push("pKIXCertificate");\n }\n if (flags & EntrustInfoFlags.newExtensions) {\n res.push("newExtensions");\n }\n if (flags & EntrustInfoFlags.keyUpdateAllowed) {\n res.push("keyUpdateAllowed");\n }\n return res;\n }\n toString() {\n return `[${this.toJSON().join(", ")}]`;\n }\n}\nclass EntrustVersionInfo {\n constructor(params = {}) {\n this.entrustVers = \'\';\n this.entrustInfoFlags = new EntrustInfo();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralString })\n], EntrustVersionInfo.prototype, "entrustVers", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: EntrustInfo })\n], EntrustVersionInfo.prototype, "entrustInfoFlags", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/entrust_version_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/extended_key_usage.js":
/*!**************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/extended_key_usage.js ***!
\**************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ExtendedKeyUsage": () => (/* binding */ ExtendedKeyUsage),\n/* harmony export */ "anyExtendedKeyUsage": () => (/* binding */ anyExtendedKeyUsage),\n/* harmony export */ "id_ce_extKeyUsage": () => (/* binding */ id_ce_extKeyUsage),\n/* harmony export */ "id_kp_OCSPSigning": () => (/* binding */ id_kp_OCSPSigning),\n/* harmony export */ "id_kp_clientAuth": () => (/* binding */ id_kp_clientAuth),\n/* harmony export */ "id_kp_codeSigning": () => (/* binding */ id_kp_codeSigning),\n/* harmony export */ "id_kp_emailProtection": () => (/* binding */ id_kp_emailProtection),\n/* harmony export */ "id_kp_serverAuth": () => (/* binding */ id_kp_serverAuth),\n/* harmony export */ "id_kp_timeStamping": () => (/* binding */ id_kp_timeStamping)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar ExtendedKeyUsage_1;\n\n\n\nconst id_ce_extKeyUsage = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.37`;\nlet ExtendedKeyUsage = ExtendedKeyUsage_1 = class ExtendedKeyUsage extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, ExtendedKeyUsage_1.prototype);\n }\n};\nExtendedKeyUsage = ExtendedKeyUsage_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], ExtendedKeyUsage);\n\nconst anyExtendedKeyUsage = `${id_ce_extKeyUsage}.0`;\nconst id_kp_serverAuth = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_kp}.1`;\nconst id_kp_clientAuth = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_kp}.2`;\nconst id_kp_codeSigning = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_kp}.3`;\nconst id_kp_emailProtection = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_kp}.4`;\nconst id_kp_timeStamping = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_kp}.8`;\nconst id_kp_OCSPSigning = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_kp}.9`;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/extended_key_usage.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/index.js":
/*!*************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/index.js ***!
\*************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AccessDescription": () => (/* reexport safe */ _authority_information_access__WEBPACK_IMPORTED_MODULE_0__.AccessDescription),\n/* harmony export */ "AuthorityInfoAccessSyntax": () => (/* reexport safe */ _authority_information_access__WEBPACK_IMPORTED_MODULE_0__.AuthorityInfoAccessSyntax),\n/* harmony export */ "AuthorityKeyIdentifier": () => (/* reexport safe */ _authority_key_identifier__WEBPACK_IMPORTED_MODULE_1__.AuthorityKeyIdentifier),\n/* harmony export */ "BaseCRLNumber": () => (/* reexport safe */ _crl_delta_indicator__WEBPACK_IMPORTED_MODULE_5__.BaseCRLNumber),\n/* harmony export */ "BasicConstraints": () => (/* reexport safe */ _basic_constraints__WEBPACK_IMPORTED_MODULE_2__.BasicConstraints),\n/* harmony export */ "CRLDistributionPoints": () => (/* reexport safe */ _crl_distribution_points__WEBPACK_IMPORTED_MODULE_6__.CRLDistributionPoints),\n/* harmony export */ "CRLNumber": () => (/* reexport safe */ _crl_number__WEBPACK_IMPORTED_MODULE_9__.CRLNumber),\n/* harmony export */ "CRLReason": () => (/* reexport safe */ _crl_reason__WEBPACK_IMPORTED_MODULE_10__.CRLReason),\n/* harmony export */ "CRLReasons": () => (/* reexport safe */ _crl_reason__WEBPACK_IMPORTED_MODULE_10__.CRLReasons),\n/* harmony export */ "CertificateIssuer": () => (/* reexport safe */ _certificate_issuer__WEBPACK_IMPORTED_MODULE_3__.CertificateIssuer),\n/* harmony export */ "CertificatePolicies": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.CertificatePolicies),\n/* harmony export */ "DisplayText": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.DisplayText),\n/* harmony export */ "DistributionPoint": () => (/* reexport safe */ _crl_distribution_points__WEBPACK_IMPORTED_MODULE_6__.DistributionPoint),\n/* harmony export */ "DistributionPointName": () => (/* reexport safe */ _crl_distribution_points__WEBPACK_IMPORTED_MODULE_6__.DistributionPointName),\n/* harmony export */ "EntrustInfo": () => (/* reexport safe */ _entrust_version_info__WEBPACK_IMPORTED_MODULE_23__.EntrustInfo),\n/* harmony export */ "EntrustInfoFlags": () => (/* reexport safe */ _entrust_version_info__WEBPACK_IMPORTED_MODULE_23__.EntrustInfoFlags),\n/* harmony export */ "EntrustVersionInfo": () => (/* reexport safe */ _entrust_version_info__WEBPACK_IMPORTED_MODULE_23__.EntrustVersionInfo),\n/* harmony export */ "ExtendedKeyUsage": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.ExtendedKeyUsage),\n/* harmony export */ "FreshestCRL": () => (/* reexport safe */ _crl_freshest__WEBPACK_IMPORTED_MODULE_7__.FreshestCRL),\n/* harmony export */ "GeneralSubtree": () => (/* reexport safe */ _name_constraints__WEBPACK_IMPORTED_MODULE_16__.GeneralSubtree),\n/* harmony export */ "GeneralSubtrees": () => (/* reexport safe */ _name_constraints__WEBPACK_IMPORTED_MODULE_16__.GeneralSubtrees),\n/* harmony export */ "InhibitAnyPolicy": () => (/* reexport safe */ _inhibit_any_policy__WEBPACK_IMPORTED_MODULE_12__.InhibitAnyPolicy),\n/* harmony export */ "InvalidityDate": () => (/* reexport safe */ _invalidity_date__WEBPACK_IMPORTED_MODULE_13__.InvalidityDate),\n/* harmony export */ "IssueAlternativeName": () => (/* reexport safe */ _issuer_alternative_name__WEBPACK_IMPORTED_MODULE_14__.IssueAlternativeName),\n/* harmony export */ "IssuingDistributionPoint": () => (/* reexport safe */ _crl_issuing_distribution_point__WEBPACK_IMPORTED_MODULE_8__.IssuingDistributionPoint),\n/* harmony export */ "KeyIdentifier": () => (/* reexport safe */ _authority_key_identifier__WEBPACK_IMPORTED_MODULE_1__.KeyIdentifier),\n/* harmony export */ "KeyUsage": () => (/* reexport safe */ _key_usage__WEBPACK_IMPORTED_MODULE_15__.KeyUsage),\n/* harmony export */ "KeyUsageFlags": () => (/* reexport safe */ _key_usage__WEBPACK_IMPORTED_MODULE_15__.KeyUsageFlags),\n/* harmony export */ "NameConstraints": () => (/* reexport safe */ _name_constraints__WEBPACK_IMPORTED_MODULE_16__.NameConstraints),\n/* harmony export */ "NoticeReference": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.NoticeReference),\n/* harmony export */ "PolicyConstraints": () => (/* reexport safe */ _policy_constraints__WEBPACK_IMPORTED_MODULE_17__.PolicyConstraints),\n/* harmony export */ "PolicyInformation": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.PolicyInformation),\n/* harmony export */ "PolicyMapping": () => (/* reexport safe */ _policy_mappings__WEBPACK_IMPORTED_MODULE_18__.PolicyMapping),\n/* harmony export */ "PolicyMappings": () => (/* reexport safe */ _policy_mappings__WEBPACK_IMPORTED_MODULE_18__.PolicyMappings),\n/* harmony export */ "PolicyQualifierInfo": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.PolicyQualifierInfo),\n/* harmony export */ "PrivateKeyUsagePeriod": () => (/* reexport safe */ _private_key_usage_period__WEBPACK_IMPORTED_MODULE_22__.PrivateKeyUsagePeriod),\n/* harmony export */ "Qualifier": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.Qualifier),\n/* harmony export */ "Reason": () => (/* reexport safe */ _crl_distribution_points__WEBPACK_IMPORTED_MODULE_6__.Reason),\n/* harmony export */ "ReasonFlags": () => (/* reexport safe */ _crl_distribution_points__WEBPACK_IMPORTED_MODULE_6__.ReasonFlags),\n/* harmony export */ "SubjectAlternativeName": () => (/* reexport safe */ _subject_alternative_name__WEBPACK_IMPORTED_MODULE_19__.SubjectAlternativeName),\n/* harmony export */ "SubjectDirectoryAttributes": () => (/* reexport safe */ _subject_directory_attributes__WEBPACK_IMPORTED_MODULE_20__.SubjectDirectoryAttributes),\n/* harmony export */ "SubjectInfoAccessSyntax": () => (/* reexport safe */ _subject_info_access__WEBPACK_IMPORTED_MODULE_24__.SubjectInfoAccessSyntax),\n/* harmony export */ "SubjectKeyIdentifier": () => (/* reexport safe */ _subject_key_identifier__WEBPACK_IMPORTED_MODULE_21__.SubjectKeyIdentifier),\n/* harmony export */ "UserNotice": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.UserNotice),\n/* harmony export */ "anyExtendedKeyUsage": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.anyExtendedKeyUsage),\n/* harmony export */ "id_ce_authorityKeyIdentifier": () => (/* reexport safe */ _authority_key_identifier__WEBPACK_IMPORTED_MODULE_1__.id_ce_authorityKeyIdentifier),\n/* harmony export */ "id_ce_basicConstraints": () => (/* reexport safe */ _basic_constraints__WEBPACK_IMPORTED_MODULE_2__.id_ce_basicConstraints),\n/* harmony export */ "id_ce_cRLDistributionPoints": () => (/* reexport safe */ _crl_distribution_points__WEBPACK_IMPORTED_MODULE_6__.id_ce_cRLDistributionPoints),\n/* harmony export */ "id_ce_cRLNumber": () => (/* reexport safe */ _crl_number__WEBPACK_IMPORTED_MODULE_9__.id_ce_cRLNumber),\n/* harmony export */ "id_ce_cRLReasons": () => (/* reexport safe */ _crl_reason__WEBPACK_IMPORTED_MODULE_10__.id_ce_cRLReasons),\n/* harmony export */ "id_ce_certificateIssuer": () => (/* reexport safe */ _certificate_issuer__WEBPACK_IMPORTED_MODULE_3__.id_ce_certificateIssuer),\n/* harmony export */ "id_ce_certificatePolicies": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.id_ce_certificatePolicies),\n/* harmony export */ "id_ce_certificatePolicies_anyPolicy": () => (/* reexport safe */ _certificate_policies__WEBPACK_IMPORTED_MODULE_4__.id_ce_certificatePolicies_anyPolicy),\n/* harmony export */ "id_ce_deltaCRLIndicator": () => (/* reexport safe */ _crl_delta_indicator__WEBPACK_IMPORTED_MODULE_5__.id_ce_deltaCRLIndicator),\n/* harmony export */ "id_ce_extKeyUsage": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.id_ce_extKeyUsage),\n/* harmony export */ "id_ce_freshestCRL": () => (/* reexport safe */ _crl_freshest__WEBPACK_IMPORTED_MODULE_7__.id_ce_freshestCRL),\n/* harmony export */ "id_ce_inhibitAnyPolicy": () => (/* reexport safe */ _inhibit_any_policy__WEBPACK_IMPORTED_MODULE_12__.id_ce_inhibitAnyPolicy),\n/* harmony export */ "id_ce_invalidityDate": () => (/* reexport safe */ _invalidity_date__WEBPACK_IMPORTED_MODULE_13__.id_ce_invalidityDate),\n/* harmony export */ "id_ce_issuerAltName": () => (/* reexport safe */ _issuer_alternative_name__WEBPACK_IMPORTED_MODULE_14__.id_ce_issuerAltName),\n/* harmony export */ "id_ce_issuingDistributionPoint": () => (/* reexport safe */ _crl_issuing_distribution_point__WEBPACK_IMPORTED_MODULE_8__.id_ce_issuingDistributionPoint),\n/* harmony export */ "id_ce_keyUsage": () => (/* reexport safe */ _key_usage__WEBPACK_IMPORTED_MODULE_15__.id_ce_keyUsage),\n/* harmony export */ "id_ce_nameConstraints": () => (/* reexport safe */ _name_constraints__WEBPACK_IMPORTED_MODULE_16__.id_ce_nameConstraints),\n/* harmony export */ "id_ce_policyConstraints": () => (/* reexport safe */ _policy_constraints__WEBPACK_IMPORTED_MODULE_17__.id_ce_policyConstraints),\n/* harmony export */ "id_ce_policyMappings": () => (/* reexport safe */ _policy_mappings__WEBPACK_IMPORTED_MODULE_18__.id_ce_policyMappings),\n/* harmony export */ "id_ce_privateKeyUsagePeriod": () => (/* reexport safe */ _private_key_usage_period__WEBPACK_IMPORTED_MODULE_22__.id_ce_privateKeyUsagePeriod),\n/* harmony export */ "id_ce_subjectAltName": () => (/* reexport safe */ _subject_alternative_name__WEBPACK_IMPORTED_MODULE_19__.id_ce_subjectAltName),\n/* harmony export */ "id_ce_subjectDirectoryAttributes": () => (/* reexport safe */ _subject_directory_attributes__WEBPACK_IMPORTED_MODULE_20__.id_ce_subjectDirectoryAttributes),\n/* harmony export */ "id_ce_subjectKeyIdentifier": () => (/* reexport safe */ _subject_key_identifier__WEBPACK_IMPORTED_MODULE_21__.id_ce_subjectKeyIdentifier),\n/* harmony export */ "id_entrust_entrustVersInfo": () => (/* reexport safe */ _entrust_version_info__WEBPACK_IMPORTED_MODULE_23__.id_entrust_entrustVersInfo),\n/* harmony export */ "id_kp_OCSPSigning": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.id_kp_OCSPSigning),\n/* harmony export */ "id_kp_clientAuth": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.id_kp_clientAuth),\n/* harmony export */ "id_kp_codeSigning": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.id_kp_codeSigning),\n/* harmony export */ "id_kp_emailProtection": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.id_kp_emailProtection),\n/* harmony export */ "id_kp_serverAuth": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.id_kp_serverAuth),\n/* harmony export */ "id_kp_timeStamping": () => (/* reexport safe */ _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__.id_kp_timeStamping),\n/* harmony export */ "id_pe_authorityInfoAccess": () => (/* reexport safe */ _authority_information_access__WEBPACK_IMPORTED_MODULE_0__.id_pe_authorityInfoAccess),\n/* harmony export */ "id_pe_subjectInfoAccess": () => (/* reexport safe */ _subject_info_access__WEBPACK_IMPORTED_MODULE_24__.id_pe_subjectInfoAccess)\n/* harmony export */ });\n/* harmony import */ var _authority_information_access__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./authority_information_access */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_information_access.js");\n/* harmony import */ var _authority_key_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./authority_key_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_key_identifier.js");\n/* harmony import */ var _basic_constraints__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./basic_constraints */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/basic_constraints.js");\n/* harmony import */ var _certificate_issuer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./certificate_issuer */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_issuer.js");\n/* harmony import */ var _certificate_policies__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./certificate_policies */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/certificate_policies.js");\n/* harmony import */ var _crl_delta_indicator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./crl_delta_indicator */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_delta_indicator.js");\n/* harmony import */ var _crl_distribution_points__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./crl_distribution_points */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_distribution_points.js");\n/* harmony import */ var _crl_freshest__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./crl_freshest */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_freshest.js");\n/* harmony import */ var _crl_issuing_distribution_point__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./crl_issuing_distribution_point */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_issuing_distribution_point.js");\n/* harmony import */ var _crl_number__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./crl_number */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_number.js");\n/* harmony import */ var _crl_reason__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./crl_reason */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/crl_reason.js");\n/* harmony import */ var _extended_key_usage__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./extended_key_usage */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/extended_key_usage.js");\n/* harmony import */ var _inhibit_any_policy__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./inhibit_any_policy */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/inhibit_any_policy.js");\n/* harmony import */ var _invalidity_date__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./invalidity_date */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/invalidity_date.js");\n/* harmony import */ var _issuer_alternative_name__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./issuer_alternative_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/issuer_alternative_name.js");\n/* harmony import */ var _key_usage__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./key_usage */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/key_usage.js");\n/* harmony import */ var _name_constraints__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./name_constraints */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/name_constraints.js");\n/* harmony import */ var _policy_constraints__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./policy_constraints */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_constraints.js");\n/* harmony import */ var _policy_mappings__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./policy_mappings */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_mappings.js");\n/* harmony import */ var _subject_alternative_name__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./subject_alternative_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_alternative_name.js");\n/* harmony import */ var _subject_directory_attributes__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./subject_directory_attributes */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_directory_attributes.js");\n/* harmony import */ var _subject_key_identifier__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./subject_key_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_key_identifier.js");\n/* harmony import */ var _private_key_usage_period__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./private_key_usage_period */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/private_key_usage_period.js");\n/* harmony import */ var _entrust_version_info__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./entrust_version_info */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/entrust_version_info.js");\n/* harmony import */ var _subject_info_access__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./subject_info_access */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_info_access.js");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/inhibit_any_policy.js":
/*!**************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/inhibit_any_policy.js ***!
\**************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "InhibitAnyPolicy": () => (/* binding */ InhibitAnyPolicy),\n/* harmony export */ "id_ce_inhibitAnyPolicy": () => (/* binding */ id_ce_inhibitAnyPolicy)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\nconst id_ce_inhibitAnyPolicy = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.54`;\nlet InhibitAnyPolicy = class InhibitAnyPolicy {\n constructor(value = new ArrayBuffer(0)) {\n this.value = value;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], InhibitAnyPolicy.prototype, "value", void 0);\nInhibitAnyPolicy = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], InhibitAnyPolicy);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/inhibit_any_policy.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/invalidity_date.js":
/*!***********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/invalidity_date.js ***!
\***********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "InvalidityDate": () => (/* binding */ InvalidityDate),\n/* harmony export */ "id_ce_invalidityDate": () => (/* binding */ id_ce_invalidityDate)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\nconst id_ce_invalidityDate = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.24`;\nlet InvalidityDate = class InvalidityDate {\n constructor(value) {\n this.value = new Date();\n if (value) {\n this.value = value;\n }\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime })\n], InvalidityDate.prototype, "value", void 0);\nInvalidityDate = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], InvalidityDate);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/invalidity_date.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/issuer_alternative_name.js":
/*!*******************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/issuer_alternative_name.js ***!
\*******************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "IssueAlternativeName": () => (/* binding */ IssueAlternativeName),\n/* harmony export */ "id_ce_issuerAltName": () => (/* binding */ id_ce_issuerAltName)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _general_names__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../general_names */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_names.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar IssueAlternativeName_1;\n\n\n\n\nconst id_ce_issuerAltName = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ce}.18`;\nlet IssueAlternativeName = IssueAlternativeName_1 = class IssueAlternativeName extends _general_names__WEBPACK_IMPORTED_MODULE_1__.GeneralNames {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, IssueAlternativeName_1.prototype);\n }\n};\nIssueAlternativeName = IssueAlternativeName_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], IssueAlternativeName);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/issuer_alternative_name.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/key_usage.js":
/*!*****************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/key_usage.js ***!
\*****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "KeyUsage": () => (/* binding */ KeyUsage),\n/* harmony export */ "KeyUsageFlags": () => (/* binding */ KeyUsageFlags),\n/* harmony export */ "id_ce_keyUsage": () => (/* binding */ id_ce_keyUsage)\n/* harmony export */ });\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\nconst id_ce_keyUsage = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.15`;\nvar KeyUsageFlags;\n(function (KeyUsageFlags) {\n KeyUsageFlags[KeyUsageFlags["digitalSignature"] = 1] = "digitalSignature";\n KeyUsageFlags[KeyUsageFlags["nonRepudiation"] = 2] = "nonRepudiation";\n KeyUsageFlags[KeyUsageFlags["keyEncipherment"] = 4] = "keyEncipherment";\n KeyUsageFlags[KeyUsageFlags["dataEncipherment"] = 8] = "dataEncipherment";\n KeyUsageFlags[KeyUsageFlags["keyAgreement"] = 16] = "keyAgreement";\n KeyUsageFlags[KeyUsageFlags["keyCertSign"] = 32] = "keyCertSign";\n KeyUsageFlags[KeyUsageFlags["cRLSign"] = 64] = "cRLSign";\n KeyUsageFlags[KeyUsageFlags["encipherOnly"] = 128] = "encipherOnly";\n KeyUsageFlags[KeyUsageFlags["decipherOnly"] = 256] = "decipherOnly";\n})(KeyUsageFlags || (KeyUsageFlags = {}));\nclass KeyUsage extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.BitString {\n toJSON() {\n const flag = this.toNumber();\n const res = [];\n if (flag & KeyUsageFlags.cRLSign) {\n res.push("crlSign");\n }\n if (flag & KeyUsageFlags.dataEncipherment) {\n res.push("dataEncipherment");\n }\n if (flag & KeyUsageFlags.decipherOnly) {\n res.push("decipherOnly");\n }\n if (flag & KeyUsageFlags.digitalSignature) {\n res.push("digitalSignature");\n }\n if (flag & KeyUsageFlags.encipherOnly) {\n res.push("encipherOnly");\n }\n if (flag & KeyUsageFlags.keyAgreement) {\n res.push("keyAgreement");\n }\n if (flag & KeyUsageFlags.keyCertSign) {\n res.push("keyCertSign");\n }\n if (flag & KeyUsageFlags.keyEncipherment) {\n res.push("keyEncipherment");\n }\n if (flag & KeyUsageFlags.nonRepudiation) {\n res.push("nonRepudiation");\n }\n return res;\n }\n toString() {\n return `[${this.toJSON().join(", ")}]`;\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/key_usage.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/name_constraints.js":
/*!************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/name_constraints.js ***!
\************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "GeneralSubtree": () => (/* binding */ GeneralSubtree),\n/* harmony export */ "GeneralSubtrees": () => (/* binding */ GeneralSubtrees),\n/* harmony export */ "NameConstraints": () => (/* binding */ NameConstraints),\n/* harmony export */ "id_ce_nameConstraints": () => (/* binding */ id_ce_nameConstraints)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _general_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../general_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar GeneralSubtrees_1;\n\n\n\n\nconst id_ce_nameConstraints = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ce}.30`;\nclass GeneralSubtree {\n constructor(params = {}) {\n this.base = new _general_name__WEBPACK_IMPORTED_MODULE_1__.GeneralName();\n this.minimum = 0;\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _general_name__WEBPACK_IMPORTED_MODULE_1__.GeneralName })\n], GeneralSubtree.prototype, "base", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, context: 0, defaultValue: 0, implicit: true })\n], GeneralSubtree.prototype, "minimum", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, context: 1, optional: true, implicit: true })\n], GeneralSubtree.prototype, "maximum", void 0);\nlet GeneralSubtrees = GeneralSubtrees_1 = class GeneralSubtrees extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, GeneralSubtrees_1.prototype);\n }\n};\nGeneralSubtrees = GeneralSubtrees_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: GeneralSubtree })\n], GeneralSubtrees);\n\nclass NameConstraints {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: GeneralSubtrees, context: 0, optional: true, implicit: true })\n], NameConstraints.prototype, "permittedSubtrees", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: GeneralSubtrees, context: 1, optional: true, implicit: true })\n], NameConstraints.prototype, "excludedSubtrees", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/name_constraints.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_constraints.js":
/*!**************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_constraints.js ***!
\**************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PolicyConstraints": () => (/* binding */ PolicyConstraints),\n/* harmony export */ "id_ce_policyConstraints": () => (/* binding */ id_ce_policyConstraints)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\nconst id_ce_policyConstraints = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.36`;\nclass PolicyConstraints {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, context: 0, implicit: true, optional: true,\n converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter,\n })\n], PolicyConstraints.prototype, "requireExplicitPolicy", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, context: 1, implicit: true, optional: true,\n converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter,\n })\n], PolicyConstraints.prototype, "inhibitPolicyMapping", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_constraints.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_mappings.js":
/*!***********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_mappings.js ***!
\***********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PolicyMapping": () => (/* binding */ PolicyMapping),\n/* harmony export */ "PolicyMappings": () => (/* binding */ PolicyMappings),\n/* harmony export */ "id_ce_policyMappings": () => (/* binding */ id_ce_policyMappings)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar PolicyMappings_1;\n\n\n\nconst id_ce_policyMappings = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.33`;\nclass PolicyMapping {\n constructor(params = {}) {\n this.issuerDomainPolicy = "";\n this.subjectDomainPolicy = "";\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], PolicyMapping.prototype, "issuerDomainPolicy", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], PolicyMapping.prototype, "subjectDomainPolicy", void 0);\nlet PolicyMappings = PolicyMappings_1 = class PolicyMappings extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, PolicyMappings_1.prototype);\n }\n};\nPolicyMappings = PolicyMappings_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: PolicyMapping })\n], PolicyMappings);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/policy_mappings.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/private_key_usage_period.js":
/*!********************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/private_key_usage_period.js ***!
\********************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PrivateKeyUsagePeriod": () => (/* binding */ PrivateKeyUsagePeriod),\n/* harmony export */ "id_ce_privateKeyUsagePeriod": () => (/* binding */ id_ce_privateKeyUsagePeriod)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n\n\n\nconst id_ce_privateKeyUsagePeriod = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_ce}.16`;\nclass PrivateKeyUsagePeriod {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime, context: 0, implicit: true, optional: true })\n], PrivateKeyUsagePeriod.prototype, "notBefore", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime, context: 1, implicit: true, optional: true, })\n], PrivateKeyUsagePeriod.prototype, "notAfter", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/private_key_usage_period.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_alternative_name.js":
/*!********************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_alternative_name.js ***!
\********************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SubjectAlternativeName": () => (/* binding */ SubjectAlternativeName),\n/* harmony export */ "id_ce_subjectAltName": () => (/* binding */ id_ce_subjectAltName)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _general_names__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../general_names */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_names.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar SubjectAlternativeName_1;\n\n\n\n\nconst id_ce_subjectAltName = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ce}.17`;\nlet SubjectAlternativeName = SubjectAlternativeName_1 = class SubjectAlternativeName extends _general_names__WEBPACK_IMPORTED_MODULE_1__.GeneralNames {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, SubjectAlternativeName_1.prototype);\n }\n};\nSubjectAlternativeName = SubjectAlternativeName_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], SubjectAlternativeName);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_alternative_name.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_directory_attributes.js":
/*!************************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_directory_attributes.js ***!
\************************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SubjectDirectoryAttributes": () => (/* binding */ SubjectDirectoryAttributes),\n/* harmony export */ "id_ce_subjectDirectoryAttributes": () => (/* binding */ id_ce_subjectDirectoryAttributes)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _attribute__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../attribute */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/attribute.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\nvar SubjectDirectoryAttributes_1;\n\n\n\n\nconst id_ce_subjectDirectoryAttributes = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_2__.id_ce}.9`;\nlet SubjectDirectoryAttributes = SubjectDirectoryAttributes_1 = class SubjectDirectoryAttributes extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, SubjectDirectoryAttributes_1.prototype);\n }\n};\nSubjectDirectoryAttributes = SubjectDirectoryAttributes_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _attribute__WEBPACK_IMPORTED_MODULE_1__.Attribute })\n], SubjectDirectoryAttributes);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_directory_attributes.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_info_access.js":
/*!***************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_info_access.js ***!
\***************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SubjectInfoAccessSyntax": () => (/* binding */ SubjectInfoAccessSyntax),\n/* harmony export */ "id_pe_subjectInfoAccess": () => (/* binding */ id_pe_subjectInfoAccess)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n/* harmony import */ var _authority_information_access__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./authority_information_access */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_information_access.js");\nvar SubjectInfoAccessSyntax_1;\n\n\n\n\nconst id_pe_subjectInfoAccess = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_1__.id_pe}.11`;\nlet SubjectInfoAccessSyntax = SubjectInfoAccessSyntax_1 = class SubjectInfoAccessSyntax extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, SubjectInfoAccessSyntax_1.prototype);\n }\n};\nSubjectInfoAccessSyntax = SubjectInfoAccessSyntax_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _authority_information_access__WEBPACK_IMPORTED_MODULE_2__.AccessDescription })\n], SubjectInfoAccessSyntax);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_info_access.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_key_identifier.js":
/*!******************************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_key_identifier.js ***!
\******************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SubjectKeyIdentifier": () => (/* binding */ SubjectKeyIdentifier),\n/* harmony export */ "id_ce_subjectKeyIdentifier": () => (/* binding */ id_ce_subjectKeyIdentifier)\n/* harmony export */ });\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n/* harmony import */ var _authority_key_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./authority_key_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/authority_key_identifier.js");\n\n\nconst id_ce_subjectKeyIdentifier = `${_object_identifiers__WEBPACK_IMPORTED_MODULE_0__.id_ce}.14`;\nclass SubjectKeyIdentifier extends _authority_key_identifier__WEBPACK_IMPORTED_MODULE_1__.KeyIdentifier {\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/subject_key_identifier.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsnIpConverter": () => (/* binding */ AsnIpConverter),\n/* harmony export */ "EDIPartyName": () => (/* binding */ EDIPartyName),\n/* harmony export */ "GeneralName": () => (/* binding */ GeneralName),\n/* harmony export */ "OtherName": () => (/* binding */ OtherName)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _ip_converter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ip_converter */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/ip_converter.js");\n/* harmony import */ var _name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js");\n\n\n\n\nconst AsnIpConverter = {\n fromASN: (value) => _ip_converter__WEBPACK_IMPORTED_MODULE_1__.IpConverter.toString(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnOctetStringConverter.fromASN(value)),\n toASN: (value) => _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnOctetStringConverter.toASN(_ip_converter__WEBPACK_IMPORTED_MODULE_1__.IpConverter.fromString(value)),\n};\nclass OtherName {\n constructor(params = {}) {\n this.typeId = "";\n this.value = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], OtherName.prototype, "typeId", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, context: 0 })\n], OtherName.prototype, "value", void 0);\nclass EDIPartyName {\n constructor(params = {}) {\n this.partyName = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _name__WEBPACK_IMPORTED_MODULE_2__.DirectoryString, optional: true, context: 0, implicit: true })\n], EDIPartyName.prototype, "nameAssigner", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _name__WEBPACK_IMPORTED_MODULE_2__.DirectoryString, context: 1, implicit: true })\n], EDIPartyName.prototype, "partyName", void 0);\nlet GeneralName = class GeneralName {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: OtherName, context: 0, implicit: true })\n], GeneralName.prototype, "otherName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String, context: 1, implicit: true })\n], GeneralName.prototype, "rfc822Name", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String, context: 2, implicit: true })\n], GeneralName.prototype, "dNSName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any, context: 3, implicit: true })\n], GeneralName.prototype, "x400Address", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _name__WEBPACK_IMPORTED_MODULE_2__.Name, context: 4, implicit: false })\n], GeneralName.prototype, "directoryName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: EDIPartyName, context: 5 })\n], GeneralName.prototype, "ediPartyName", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String, context: 6, implicit: true })\n], GeneralName.prototype, "uniformResourceIdentifier", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.OctetString, context: 7, implicit: true, converter: AsnIpConverter })\n], GeneralName.prototype, "iPAddress", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier, context: 8, implicit: true })\n], GeneralName.prototype, "registeredID", void 0);\nGeneralName = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], GeneralName);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_names.js":
/*!**********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_names.js ***!
\**********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "GeneralNames": () => (/* binding */ GeneralNames)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _general_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./general_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js");\nvar GeneralNames_1;\n\n\n\n\nlet GeneralNames = GeneralNames_1 = class GeneralNames extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, GeneralNames_1.prototype);\n }\n};\nGeneralNames = GeneralNames_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: _general_name__WEBPACK_IMPORTED_MODULE_1__.GeneralName })\n], GeneralNames);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_names.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js":
/*!**************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js ***!
\**************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AccessDescription": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.AccessDescription),\n/* harmony export */ "AlgorithmIdentifier": () => (/* reexport safe */ _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier),\n/* harmony export */ "AsnIpConverter": () => (/* reexport safe */ _general_name__WEBPACK_IMPORTED_MODULE_6__.AsnIpConverter),\n/* harmony export */ "Attribute": () => (/* reexport safe */ _attribute__WEBPACK_IMPORTED_MODULE_2__.Attribute),\n/* harmony export */ "AttributeTypeAndValue": () => (/* reexport safe */ _name__WEBPACK_IMPORTED_MODULE_8__.AttributeTypeAndValue),\n/* harmony export */ "AttributeValue": () => (/* reexport safe */ _name__WEBPACK_IMPORTED_MODULE_8__.AttributeValue),\n/* harmony export */ "AuthorityInfoAccessSyntax": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.AuthorityInfoAccessSyntax),\n/* harmony export */ "AuthorityKeyIdentifier": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.AuthorityKeyIdentifier),\n/* harmony export */ "BaseCRLNumber": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.BaseCRLNumber),\n/* harmony export */ "BasicConstraints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.BasicConstraints),\n/* harmony export */ "CRLDistributionPoints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.CRLDistributionPoints),\n/* harmony export */ "CRLNumber": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.CRLNumber),\n/* harmony export */ "CRLReason": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.CRLReason),\n/* harmony export */ "CRLReasons": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.CRLReasons),\n/* harmony export */ "Certificate": () => (/* reexport safe */ _certificate__WEBPACK_IMPORTED_MODULE_3__.Certificate),\n/* harmony export */ "CertificateIssuer": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.CertificateIssuer),\n/* harmony export */ "CertificateList": () => (/* reexport safe */ _certificate_list__WEBPACK_IMPORTED_MODULE_4__.CertificateList),\n/* harmony export */ "CertificatePolicies": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.CertificatePolicies),\n/* harmony export */ "DirectoryString": () => (/* reexport safe */ _name__WEBPACK_IMPORTED_MODULE_8__.DirectoryString),\n/* harmony export */ "DisplayText": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.DisplayText),\n/* harmony export */ "DistributionPoint": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.DistributionPoint),\n/* harmony export */ "DistributionPointName": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.DistributionPointName),\n/* harmony export */ "EDIPartyName": () => (/* reexport safe */ _general_name__WEBPACK_IMPORTED_MODULE_6__.EDIPartyName),\n/* harmony export */ "EntrustInfo": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.EntrustInfo),\n/* harmony export */ "EntrustInfoFlags": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.EntrustInfoFlags),\n/* harmony export */ "EntrustVersionInfo": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.EntrustVersionInfo),\n/* harmony export */ "ExtendedKeyUsage": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.ExtendedKeyUsage),\n/* harmony export */ "Extension": () => (/* reexport safe */ _extension__WEBPACK_IMPORTED_MODULE_5__.Extension),\n/* harmony export */ "Extensions": () => (/* reexport safe */ _extension__WEBPACK_IMPORTED_MODULE_5__.Extensions),\n/* harmony export */ "FreshestCRL": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.FreshestCRL),\n/* harmony export */ "GeneralName": () => (/* reexport safe */ _general_name__WEBPACK_IMPORTED_MODULE_6__.GeneralName),\n/* harmony export */ "GeneralNames": () => (/* reexport safe */ _general_names__WEBPACK_IMPORTED_MODULE_7__.GeneralNames),\n/* harmony export */ "GeneralSubtree": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.GeneralSubtree),\n/* harmony export */ "GeneralSubtrees": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.GeneralSubtrees),\n/* harmony export */ "InhibitAnyPolicy": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.InhibitAnyPolicy),\n/* harmony export */ "InvalidityDate": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.InvalidityDate),\n/* harmony export */ "IssueAlternativeName": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.IssueAlternativeName),\n/* harmony export */ "IssuingDistributionPoint": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.IssuingDistributionPoint),\n/* harmony export */ "KeyIdentifier": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.KeyIdentifier),\n/* harmony export */ "KeyUsage": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.KeyUsage),\n/* harmony export */ "KeyUsageFlags": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.KeyUsageFlags),\n/* harmony export */ "Name": () => (/* reexport safe */ _name__WEBPACK_IMPORTED_MODULE_8__.Name),\n/* harmony export */ "NameConstraints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.NameConstraints),\n/* harmony export */ "NoticeReference": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.NoticeReference),\n/* harmony export */ "OtherName": () => (/* reexport safe */ _general_name__WEBPACK_IMPORTED_MODULE_6__.OtherName),\n/* harmony export */ "PolicyConstraints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.PolicyConstraints),\n/* harmony export */ "PolicyInformation": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.PolicyInformation),\n/* harmony export */ "PolicyMapping": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.PolicyMapping),\n/* harmony export */ "PolicyMappings": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.PolicyMappings),\n/* harmony export */ "PolicyQualifierInfo": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.PolicyQualifierInfo),\n/* harmony export */ "PrivateKeyUsagePeriod": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.PrivateKeyUsagePeriod),\n/* harmony export */ "Qualifier": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.Qualifier),\n/* harmony export */ "RDNSequence": () => (/* reexport safe */ _name__WEBPACK_IMPORTED_MODULE_8__.RDNSequence),\n/* harmony export */ "Reason": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.Reason),\n/* harmony export */ "ReasonFlags": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.ReasonFlags),\n/* harmony export */ "RelativeDistinguishedName": () => (/* reexport safe */ _name__WEBPACK_IMPORTED_MODULE_8__.RelativeDistinguishedName),\n/* harmony export */ "RevokedCertificate": () => (/* reexport safe */ _tbs_cert_list__WEBPACK_IMPORTED_MODULE_11__.RevokedCertificate),\n/* harmony export */ "SubjectAlternativeName": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.SubjectAlternativeName),\n/* harmony export */ "SubjectDirectoryAttributes": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.SubjectDirectoryAttributes),\n/* harmony export */ "SubjectInfoAccessSyntax": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.SubjectInfoAccessSyntax),\n/* harmony export */ "SubjectKeyIdentifier": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.SubjectKeyIdentifier),\n/* harmony export */ "SubjectPublicKeyInfo": () => (/* reexport safe */ _subject_public_key_info__WEBPACK_IMPORTED_MODULE_10__.SubjectPublicKeyInfo),\n/* harmony export */ "TBSCertList": () => (/* reexport safe */ _tbs_cert_list__WEBPACK_IMPORTED_MODULE_11__.TBSCertList),\n/* harmony export */ "TBSCertificate": () => (/* reexport safe */ _tbs_certificate__WEBPACK_IMPORTED_MODULE_12__.TBSCertificate),\n/* harmony export */ "Time": () => (/* reexport safe */ _time__WEBPACK_IMPORTED_MODULE_13__.Time),\n/* harmony export */ "UserNotice": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.UserNotice),\n/* harmony export */ "Validity": () => (/* reexport safe */ _validity__WEBPACK_IMPORTED_MODULE_15__.Validity),\n/* harmony export */ "Version": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_14__.Version),\n/* harmony export */ "anyExtendedKeyUsage": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.anyExtendedKeyUsage),\n/* harmony export */ "id_ad": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_ad),\n/* harmony export */ "id_ad_caIssuers": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_ad_caIssuers),\n/* harmony export */ "id_ad_caRepository": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_ad_caRepository),\n/* harmony export */ "id_ad_ocsp": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_ad_ocsp),\n/* harmony export */ "id_ad_timeStamping": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_ad_timeStamping),\n/* harmony export */ "id_ce": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_ce),\n/* harmony export */ "id_ce_authorityKeyIdentifier": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_authorityKeyIdentifier),\n/* harmony export */ "id_ce_basicConstraints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_basicConstraints),\n/* harmony export */ "id_ce_cRLDistributionPoints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_cRLDistributionPoints),\n/* harmony export */ "id_ce_cRLNumber": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_cRLNumber),\n/* harmony export */ "id_ce_cRLReasons": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_cRLReasons),\n/* harmony export */ "id_ce_certificateIssuer": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_certificateIssuer),\n/* harmony export */ "id_ce_certificatePolicies": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_certificatePolicies),\n/* harmony export */ "id_ce_certificatePolicies_anyPolicy": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_certificatePolicies_anyPolicy),\n/* harmony export */ "id_ce_deltaCRLIndicator": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_deltaCRLIndicator),\n/* harmony export */ "id_ce_extKeyUsage": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_extKeyUsage),\n/* harmony export */ "id_ce_freshestCRL": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_freshestCRL),\n/* harmony export */ "id_ce_inhibitAnyPolicy": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_inhibitAnyPolicy),\n/* harmony export */ "id_ce_invalidityDate": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_invalidityDate),\n/* harmony export */ "id_ce_issuerAltName": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_issuerAltName),\n/* harmony export */ "id_ce_issuingDistributionPoint": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_issuingDistributionPoint),\n/* harmony export */ "id_ce_keyUsage": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_keyUsage),\n/* harmony export */ "id_ce_nameConstraints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_nameConstraints),\n/* harmony export */ "id_ce_policyConstraints": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_policyConstraints),\n/* harmony export */ "id_ce_policyMappings": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_policyMappings),\n/* harmony export */ "id_ce_privateKeyUsagePeriod": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_privateKeyUsagePeriod),\n/* harmony export */ "id_ce_subjectAltName": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_subjectAltName),\n/* harmony export */ "id_ce_subjectDirectoryAttributes": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_subjectDirectoryAttributes),\n/* harmony export */ "id_ce_subjectKeyIdentifier": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_ce_subjectKeyIdentifier),\n/* harmony export */ "id_entrust_entrustVersInfo": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_entrust_entrustVersInfo),\n/* harmony export */ "id_kp": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_kp),\n/* harmony export */ "id_kp_OCSPSigning": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_kp_OCSPSigning),\n/* harmony export */ "id_kp_clientAuth": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_kp_clientAuth),\n/* harmony export */ "id_kp_codeSigning": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_kp_codeSigning),\n/* harmony export */ "id_kp_emailProtection": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_kp_emailProtection),\n/* harmony export */ "id_kp_serverAuth": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_kp_serverAuth),\n/* harmony export */ "id_kp_timeStamping": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_kp_timeStamping),\n/* harmony export */ "id_pe": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_pe),\n/* harmony export */ "id_pe_authorityInfoAccess": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_pe_authorityInfoAccess),\n/* harmony export */ "id_pe_subjectInfoAccess": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_0__.id_pe_subjectInfoAccess),\n/* harmony export */ "id_pkix": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_pkix),\n/* harmony export */ "id_qt": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_qt),\n/* harmony export */ "id_qt_csp": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_qt_csp),\n/* harmony export */ "id_qt_unotice": () => (/* reexport safe */ _object_identifiers__WEBPACK_IMPORTED_MODULE_9__.id_qt_unotice)\n/* harmony export */ });\n/* harmony import */ var _extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extensions */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extensions/index.js");\n/* harmony import */ var _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./algorithm_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js");\n/* harmony import */ var _attribute__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./attribute */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/attribute.js");\n/* harmony import */ var _certificate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./certificate */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate.js");\n/* harmony import */ var _certificate_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./certificate_list */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/certificate_list.js");\n/* harmony import */ var _extension__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./extension */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extension.js");\n/* harmony import */ var _general_name__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./general_name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_name.js");\n/* harmony import */ var _general_names__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./general_names */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/general_names.js");\n/* harmony import */ var _name__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js");\n/* harmony import */ var _object_identifiers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./object_identifiers */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js");\n/* harmony import */ var _subject_public_key_info__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./subject_public_key_info */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/subject_public_key_info.js");\n/* harmony import */ var _tbs_cert_list__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./tbs_cert_list */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_cert_list.js");\n/* harmony import */ var _tbs_certificate__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./tbs_certificate */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_certificate.js");\n/* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./time */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/time.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/types.js");\n/* harmony import */ var _validity__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./validity */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/validity.js");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/ip_converter.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/ip_converter.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "IpConverter": () => (/* binding */ IpConverter)\n/* harmony export */ });\n/* harmony import */ var ipaddr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ipaddr.js */ "../wabac.js/node_modules/ipaddr.js/lib/ipaddr.js");\n/* harmony import */ var ipaddr_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(ipaddr_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\n\n\nclass IpConverter {\n static decodeIP(value) {\n if (value.length === 64 && parseInt(value, 16) === 0) {\n return "::/0";\n }\n if (value.length !== 16) {\n return value;\n }\n const mask = parseInt(value.slice(8), 16)\n .toString(2)\n .split(\'\')\n .reduce((a, k) => a + (+k), 0);\n let ip = value.slice(0, 8)\n .replace(/(.{2})/g, match => `${parseInt(match, 16)}.`);\n ip = ip.slice(0, -1);\n return `${ip}/${mask}`;\n }\n static toString(buf) {\n if (buf.byteLength === 4 || buf.byteLength === 16) {\n const uint8 = new Uint8Array(buf);\n const addr = ipaddr_js__WEBPACK_IMPORTED_MODULE_0__.fromByteArray(Array.from(uint8));\n return addr.toString();\n }\n return this.decodeIP(pvtsutils__WEBPACK_IMPORTED_MODULE_1__.Convert.ToHex(buf));\n }\n static fromString(text) {\n const addr = ipaddr_js__WEBPACK_IMPORTED_MODULE_0__.parse(text);\n return new Uint8Array(addr.toByteArray()).buffer;\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/ip_converter.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AttributeTypeAndValue": () => (/* binding */ AttributeTypeAndValue),\n/* harmony export */ "AttributeValue": () => (/* binding */ AttributeValue),\n/* harmony export */ "DirectoryString": () => (/* binding */ DirectoryString),\n/* harmony export */ "Name": () => (/* binding */ Name),\n/* harmony export */ "RDNSequence": () => (/* binding */ RDNSequence),\n/* harmony export */ "RelativeDistinguishedName": () => (/* binding */ RelativeDistinguishedName)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\nvar RelativeDistinguishedName_1, RDNSequence_1, Name_1;\n\n\n\nlet DirectoryString = class DirectoryString {\n constructor(params = {}) {\n Object.assign(this, params);\n }\n toString() {\n return this.bmpString || this.printableString || this.teletexString || this.universalString\n || this.utf8String || "";\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.TeletexString })\n], DirectoryString.prototype, "teletexString", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.PrintableString })\n], DirectoryString.prototype, "printableString", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.UniversalString })\n], DirectoryString.prototype, "universalString", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Utf8String })\n], DirectoryString.prototype, "utf8String", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BmpString })\n], DirectoryString.prototype, "bmpString", void 0);\nDirectoryString = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], DirectoryString);\n\nlet AttributeValue = class AttributeValue extends DirectoryString {\n constructor(params = {}) {\n super(params);\n Object.assign(this, params);\n }\n toString() {\n return this.ia5String || (this.anyValue ? pvtsutils__WEBPACK_IMPORTED_MODULE_1__.Convert.ToHex(this.anyValue) : super.toString());\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.IA5String })\n], AttributeValue.prototype, "ia5String", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Any })\n], AttributeValue.prototype, "anyValue", void 0);\nAttributeValue = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], AttributeValue);\n\nclass AttributeTypeAndValue {\n constructor(params = {}) {\n this.type = "";\n this.value = new AttributeValue();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.ObjectIdentifier })\n], AttributeTypeAndValue.prototype, "type", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: AttributeValue })\n], AttributeTypeAndValue.prototype, "value", void 0);\nlet RelativeDistinguishedName = RelativeDistinguishedName_1 = class RelativeDistinguishedName extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, RelativeDistinguishedName_1.prototype);\n }\n};\nRelativeDistinguishedName = RelativeDistinguishedName_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Set, itemType: AttributeTypeAndValue })\n], RelativeDistinguishedName);\n\nlet RDNSequence = RDNSequence_1 = class RDNSequence extends _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, RDNSequence_1.prototype);\n }\n};\nRDNSequence = RDNSequence_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence, itemType: RelativeDistinguishedName })\n], RDNSequence);\n\nlet Name = Name_1 = class Name extends RDNSequence {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, Name_1.prototype);\n }\n};\nName = Name_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Sequence })\n], Name);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js ***!
\***************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "id_ad": () => (/* binding */ id_ad),\n/* harmony export */ "id_ad_caIssuers": () => (/* binding */ id_ad_caIssuers),\n/* harmony export */ "id_ad_caRepository": () => (/* binding */ id_ad_caRepository),\n/* harmony export */ "id_ad_ocsp": () => (/* binding */ id_ad_ocsp),\n/* harmony export */ "id_ad_timeStamping": () => (/* binding */ id_ad_timeStamping),\n/* harmony export */ "id_ce": () => (/* binding */ id_ce),\n/* harmony export */ "id_kp": () => (/* binding */ id_kp),\n/* harmony export */ "id_pe": () => (/* binding */ id_pe),\n/* harmony export */ "id_pkix": () => (/* binding */ id_pkix),\n/* harmony export */ "id_qt": () => (/* binding */ id_qt),\n/* harmony export */ "id_qt_csp": () => (/* binding */ id_qt_csp),\n/* harmony export */ "id_qt_unotice": () => (/* binding */ id_qt_unotice)\n/* harmony export */ });\nconst id_pkix = "1.3.6.1.5.5.7";\nconst id_pe = `${id_pkix}.1`;\nconst id_qt = `${id_pkix}.2`;\nconst id_kp = `${id_pkix}.3`;\nconst id_ad = `${id_pkix}.48`;\nconst id_qt_csp = `${id_qt}.1`;\nconst id_qt_unotice = `${id_qt}.2`;\nconst id_ad_ocsp = `${id_ad}.1`;\nconst id_ad_caIssuers = `${id_ad}.2`;\nconst id_ad_timeStamping = `${id_ad}.3`;\nconst id_ad_caRepository = `${id_ad}.5`;\nconst id_ce = "2.5.29";\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/object_identifiers.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/subject_public_key_info.js":
/*!********************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/subject_public_key_info.js ***!
\********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SubjectPublicKeyInfo": () => (/* binding */ SubjectPublicKeyInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./algorithm_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js");\n\n\n\nclass SubjectPublicKeyInfo {\n constructor(params = {}) {\n this.algorithm = new _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.subjectPublicKey = new ArrayBuffer(0);\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], SubjectPublicKeyInfo.prototype, "algorithm", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString })\n], SubjectPublicKeyInfo.prototype, "subjectPublicKey", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/subject_public_key_info.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_cert_list.js":
/*!**********************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_cert_list.js ***!
\**********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RevokedCertificate": () => (/* binding */ RevokedCertificate),\n/* harmony export */ "TBSCertList": () => (/* binding */ TBSCertList)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./algorithm_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js");\n/* harmony import */ var _name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js");\n/* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./time */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/time.js");\n/* harmony import */ var _extension__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./extension */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extension.js");\n\n\n\n\n\n\nclass RevokedCertificate {\n constructor(params = {}) {\n this.userCertificate = new ArrayBuffer(0);\n this.revocationDate = new _time__WEBPACK_IMPORTED_MODULE_3__.Time();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter })\n], RevokedCertificate.prototype, "userCertificate", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _time__WEBPACK_IMPORTED_MODULE_3__.Time })\n], RevokedCertificate.prototype, "revocationDate", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _extension__WEBPACK_IMPORTED_MODULE_4__.Extension, optional: true, repeated: "sequence" })\n], RevokedCertificate.prototype, "crlEntryExtensions", void 0);\nclass TBSCertList {\n constructor(params = {}) {\n this.signature = new _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.issuer = new _name__WEBPACK_IMPORTED_MODULE_2__.Name();\n this.thisUpdate = new _time__WEBPACK_IMPORTED_MODULE_3__.Time();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer, optional: true })\n], TBSCertList.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], TBSCertList.prototype, "signature", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _name__WEBPACK_IMPORTED_MODULE_2__.Name })\n], TBSCertList.prototype, "issuer", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _time__WEBPACK_IMPORTED_MODULE_3__.Time })\n], TBSCertList.prototype, "thisUpdate", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _time__WEBPACK_IMPORTED_MODULE_3__.Time, optional: true })\n], TBSCertList.prototype, "nextUpdate", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: RevokedCertificate, repeated: "sequence", optional: true })\n], TBSCertList.prototype, "revokedCertificates", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _extension__WEBPACK_IMPORTED_MODULE_4__.Extension, optional: true, context: 0, repeated: "sequence" })\n], TBSCertList.prototype, "crlExtensions", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_cert_list.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_certificate.js":
/*!************************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_certificate.js ***!
\************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "TBSCertificate": () => (/* binding */ TBSCertificate)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./algorithm_identifier */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/algorithm_identifier.js");\n/* harmony import */ var _name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./name */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/name.js");\n/* harmony import */ var _subject_public_key_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./subject_public_key_info */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/subject_public_key_info.js");\n/* harmony import */ var _validity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./validity */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/validity.js");\n/* harmony import */ var _extension__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./extension */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/extension.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/types.js");\n\n\n\n\n\n\n\n\nclass TBSCertificate {\n constructor(params = {}) {\n this.version = _types__WEBPACK_IMPORTED_MODULE_6__.Version.v1;\n this.serialNumber = new ArrayBuffer(0);\n this.signature = new _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier();\n this.issuer = new _name__WEBPACK_IMPORTED_MODULE_2__.Name();\n this.validity = new _validity__WEBPACK_IMPORTED_MODULE_4__.Validity();\n this.subject = new _name__WEBPACK_IMPORTED_MODULE_2__.Name();\n this.subjectPublicKeyInfo = new _subject_public_key_info__WEBPACK_IMPORTED_MODULE_3__.SubjectPublicKeyInfo();\n Object.assign(this, params);\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer,\n context: 0,\n defaultValue: _types__WEBPACK_IMPORTED_MODULE_6__.Version.v1,\n })\n], TBSCertificate.prototype, "version", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.Integer,\n converter: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnIntegerArrayBufferConverter,\n })\n], TBSCertificate.prototype, "serialNumber", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _algorithm_identifier__WEBPACK_IMPORTED_MODULE_1__.AlgorithmIdentifier })\n], TBSCertificate.prototype, "signature", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _name__WEBPACK_IMPORTED_MODULE_2__.Name })\n], TBSCertificate.prototype, "issuer", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _validity__WEBPACK_IMPORTED_MODULE_4__.Validity })\n], TBSCertificate.prototype, "validity", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _name__WEBPACK_IMPORTED_MODULE_2__.Name })\n], TBSCertificate.prototype, "subject", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _subject_public_key_info__WEBPACK_IMPORTED_MODULE_3__.SubjectPublicKeyInfo })\n], TBSCertificate.prototype, "subjectPublicKeyInfo", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString,\n context: 1,\n implicit: true,\n optional: true,\n })\n], TBSCertificate.prototype, "issuerUniqueID", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.BitString, context: 2, implicit: true, optional: true })\n], TBSCertificate.prototype, "subjectUniqueID", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_7__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _extension__WEBPACK_IMPORTED_MODULE_5__.Extensions, context: 3, optional: true })\n], TBSCertificate.prototype, "extensions", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/tbs_certificate.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/time.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/time.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Time": () => (/* binding */ Time)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n\n\nlet Time = class Time {\n constructor(time) {\n if (time) {\n if (typeof time === "string" || typeof time === "number" || time instanceof Date) {\n const date = new Date(time);\n if (date.getUTCFullYear() > 2049) {\n this.generalTime = date;\n }\n else {\n this.utcTime = date;\n }\n }\n else {\n Object.assign(this, time);\n }\n }\n }\n getTime() {\n const time = this.utcTime || this.generalTime;\n if (!time) {\n throw new Error("Cannot get time from CHOICE object");\n }\n return time;\n }\n};\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.UTCTime,\n })\n], Time.prototype, "utcTime", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({\n type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnPropTypes.GeneralizedTime,\n })\n], Time.prototype, "generalTime", void 0);\nTime = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnType)({ type: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnTypeTypes.Choice })\n], Time);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/time.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/types.js":
/*!**************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/types.js ***!
\**************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Version": () => (/* binding */ Version)\n/* harmony export */ });\nvar Version;\n(function (Version) {\n Version[Version["v1"] = 0] = "v1";\n Version[Version["v2"] = 1] = "v2";\n Version[Version["v3"] = 2] = "v3";\n})(Version || (Version = {}));\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/types.js?')},"../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/validity.js":
/*!*****************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/validity.js ***!
\*****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Validity": () => (/* binding */ Validity)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./time */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/time.js");\n\n\n\nclass Validity {\n constructor(params) {\n this.notBefore = new _time__WEBPACK_IMPORTED_MODULE_1__.Time(new Date());\n this.notAfter = new _time__WEBPACK_IMPORTED_MODULE_1__.Time(new Date());\n if (params) {\n this.notBefore = new _time__WEBPACK_IMPORTED_MODULE_1__.Time(params.notBefore);\n this.notAfter = new _time__WEBPACK_IMPORTED_MODULE_1__.Time(params.notAfter);\n }\n }\n}\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _time__WEBPACK_IMPORTED_MODULE_1__.Time })\n], Validity.prototype, "notBefore", void 0);\n(0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([\n (0,_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_0__.AsnProp)({ type: _time__WEBPACK_IMPORTED_MODULE_1__.Time })\n], Validity.prototype, "notAfter", void 0);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/validity.js?')},"../wabac.js/node_modules/@peculiar/x509/build/x509.es.js":
/*!****************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/x509/build/x509.es.js ***!
\****************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AlgorithmProvider": () => (/* binding */ AlgorithmProvider),\n/* harmony export */ "AsnData": () => (/* binding */ AsnData),\n/* harmony export */ "AsnDefaultSignatureFormatter": () => (/* binding */ AsnDefaultSignatureFormatter),\n/* harmony export */ "AsnEcSignatureFormatter": () => (/* binding */ AsnEcSignatureFormatter),\n/* harmony export */ "Attribute": () => (/* binding */ Attribute),\n/* harmony export */ "AttributeFactory": () => (/* binding */ AttributeFactory),\n/* harmony export */ "AuthorityKeyIdentifierExtension": () => (/* binding */ AuthorityKeyIdentifierExtension),\n/* harmony export */ "BasicConstraintsExtension": () => (/* binding */ BasicConstraintsExtension),\n/* harmony export */ "CertificatePolicyExtension": () => (/* binding */ CertificatePolicyExtension),\n/* harmony export */ "ChallengePasswordAttribute": () => (/* binding */ ChallengePasswordAttribute),\n/* harmony export */ "CryptoProvider": () => (/* binding */ CryptoProvider),\n/* harmony export */ "DefaultAlgorithmSerializer": () => (/* binding */ DefaultAlgorithmSerializer),\n/* harmony export */ "EcAlgorithm": () => (/* binding */ EcAlgorithm),\n/* harmony export */ "EdAlgorithm": () => (/* binding */ EdAlgorithm),\n/* harmony export */ "ExtendedKeyUsage": () => (/* binding */ ExtendedKeyUsage),\n/* harmony export */ "ExtendedKeyUsageExtension": () => (/* binding */ ExtendedKeyUsageExtension),\n/* harmony export */ "Extension": () => (/* binding */ Extension),\n/* harmony export */ "ExtensionFactory": () => (/* binding */ ExtensionFactory),\n/* harmony export */ "ExtensionsAttribute": () => (/* binding */ ExtensionsAttribute),\n/* harmony export */ "GeneralName": () => (/* binding */ GeneralName),\n/* harmony export */ "GeneralNames": () => (/* binding */ GeneralNames),\n/* harmony export */ "KeyUsageFlags": () => (/* binding */ KeyUsageFlags),\n/* harmony export */ "KeyUsagesExtension": () => (/* binding */ KeyUsagesExtension),\n/* harmony export */ "Name": () => (/* binding */ Name),\n/* harmony export */ "NameIdentifier": () => (/* binding */ NameIdentifier),\n/* harmony export */ "OidSerializer": () => (/* binding */ OidSerializer),\n/* harmony export */ "PemConverter": () => (/* binding */ PemConverter),\n/* harmony export */ "Pkcs10CertificateRequest": () => (/* binding */ Pkcs10CertificateRequest),\n/* harmony export */ "Pkcs10CertificateRequestGenerator": () => (/* binding */ Pkcs10CertificateRequestGenerator),\n/* harmony export */ "PublicKey": () => (/* binding */ PublicKey),\n/* harmony export */ "RsaAlgorithm": () => (/* binding */ RsaAlgorithm),\n/* harmony export */ "SubjectAlternativeNameExtension": () => (/* binding */ SubjectAlternativeNameExtension),\n/* harmony export */ "SubjectKeyIdentifierExtension": () => (/* binding */ SubjectKeyIdentifierExtension),\n/* harmony export */ "TextConverter": () => (/* binding */ TextConverter),\n/* harmony export */ "TextObject": () => (/* binding */ TextObject),\n/* harmony export */ "X509Certificate": () => (/* binding */ X509Certificate),\n/* harmony export */ "X509CertificateGenerator": () => (/* binding */ X509CertificateGenerator),\n/* harmony export */ "X509Certificates": () => (/* binding */ X509Certificates),\n/* harmony export */ "X509ChainBuilder": () => (/* binding */ X509ChainBuilder),\n/* harmony export */ "X509Crl": () => (/* binding */ X509Crl),\n/* harmony export */ "X509CrlEntry": () => (/* binding */ X509CrlEntry),\n/* harmony export */ "X509CrlGenerator": () => (/* binding */ X509CrlGenerator),\n/* harmony export */ "X509CrlReason": () => (/* binding */ X509CrlReason),\n/* harmony export */ "cryptoProvider": () => (/* binding */ cryptoProvider),\n/* harmony export */ "diAlgorithm": () => (/* binding */ diAlgorithm),\n/* harmony export */ "diAlgorithmProvider": () => (/* binding */ diAlgorithmProvider),\n/* harmony export */ "diAsnSignatureFormatter": () => (/* binding */ diAsnSignatureFormatter),\n/* harmony export */ "idEd25519": () => (/* binding */ idEd25519),\n/* harmony export */ "idEd448": () => (/* binding */ idEd448),\n/* harmony export */ "idX25519": () => (/* binding */ idX25519),\n/* harmony export */ "idX448": () => (/* binding */ idX448)\n/* harmony export */ });\n/* harmony import */ var reflect_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! reflect-metadata */ "../wabac.js/node_modules/reflect-metadata/Reflect.js");\n/* harmony import */ var reflect_metadata__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(reflect_metadata__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @peculiar/asn1-x509 */ "../wabac.js/node_modules/@peculiar/asn1-x509/build/es2015/index.js");\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\n/* harmony import */ var _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @peculiar/asn1-cms */ "../wabac.js/node_modules/@peculiar/asn1-cms/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @peculiar/asn1-ecc */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @peculiar/asn1-rsa */ "../wabac.js/node_modules/@peculiar/asn1-rsa/build/es2015/index.js");\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/@peculiar/x509/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var tsyringe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tsyringe */ "../wabac.js/node_modules/tsyringe/dist/esm5/index.js");\n/* harmony import */ var _peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @peculiar/asn1-pkcs9 */ "../wabac.js/node_modules/@peculiar/asn1-pkcs9/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_csr__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @peculiar/asn1-csr */ "../wabac.js/node_modules/@peculiar/asn1-csr/build/es2015/index.js");\n/*!\n * MIT License\n * \n * Copyright (c) Peculiar Ventures. All rights reserved.\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * \n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst diAlgorithm = "crypto.algorithm";\r\nclass AlgorithmProvider {\r\n getAlgorithms() {\r\n return tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolveAll(diAlgorithm);\r\n }\r\n toAsnAlgorithm(alg) {\r\n ({ ...alg });\r\n for (const algorithm of this.getAlgorithms()) {\r\n const res = algorithm.toAsnAlgorithm(alg);\r\n if (res) {\r\n return res;\r\n }\r\n }\r\n if (/[0-9.]+/.test(alg.name)) {\r\n const res = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({\r\n algorithm: alg.name,\r\n });\r\n if ("parameters" in alg) {\r\n const unknown = alg;\r\n res.parameters = unknown.parameters;\r\n }\r\n return res;\r\n }\r\n throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm");\r\n }\r\n toWebAlgorithm(alg) {\r\n for (const algorithm of this.getAlgorithms()) {\r\n const res = algorithm.toWebAlgorithm(alg);\r\n if (res) {\r\n return res;\r\n }\r\n }\r\n const unknown = {\r\n name: alg.algorithm,\r\n parameters: alg.parameters,\r\n };\r\n return unknown;\r\n }\r\n}\r\nconst diAlgorithmProvider = "crypto.algorithmProvider";\r\ntsyringe__WEBPACK_IMPORTED_MODULE_7__.container.registerSingleton(diAlgorithmProvider, AlgorithmProvider);\n\nvar EcAlgorithm_1;\r\nconst idVersionOne = "1.3.36.3.3.2.8.1.1";\r\nconst idBrainpoolP160r1 = `${idVersionOne}.1`;\r\nconst idBrainpoolP160t1 = `${idVersionOne}.2`;\r\nconst idBrainpoolP192r1 = `${idVersionOne}.3`;\r\nconst idBrainpoolP192t1 = `${idVersionOne}.4`;\r\nconst idBrainpoolP224r1 = `${idVersionOne}.5`;\r\nconst idBrainpoolP224t1 = `${idVersionOne}.6`;\r\nconst idBrainpoolP256r1 = `${idVersionOne}.7`;\r\nconst idBrainpoolP256t1 = `${idVersionOne}.8`;\r\nconst idBrainpoolP320r1 = `${idVersionOne}.9`;\r\nconst idBrainpoolP320t1 = `${idVersionOne}.10`;\r\nconst idBrainpoolP384r1 = `${idVersionOne}.11`;\r\nconst idBrainpoolP384t1 = `${idVersionOne}.12`;\r\nconst idBrainpoolP512r1 = `${idVersionOne}.13`;\r\nconst idBrainpoolP512t1 = `${idVersionOne}.14`;\r\nconst brainpoolP160r1 = "brainpoolP160r1";\r\nconst brainpoolP160t1 = "brainpoolP160t1";\r\nconst brainpoolP192r1 = "brainpoolP192r1";\r\nconst brainpoolP192t1 = "brainpoolP192t1";\r\nconst brainpoolP224r1 = "brainpoolP224r1";\r\nconst brainpoolP224t1 = "brainpoolP224t1";\r\nconst brainpoolP256r1 = "brainpoolP256r1";\r\nconst brainpoolP256t1 = "brainpoolP256t1";\r\nconst brainpoolP320r1 = "brainpoolP320r1";\r\nconst brainpoolP320t1 = "brainpoolP320t1";\r\nconst brainpoolP384r1 = "brainpoolP384r1";\r\nconst brainpoolP384t1 = "brainpoolP384t1";\r\nconst brainpoolP512r1 = "brainpoolP512r1";\r\nconst brainpoolP512t1 = "brainpoolP512t1";\r\nconst ECDSA = "ECDSA";\r\nlet EcAlgorithm = EcAlgorithm_1 = class EcAlgorithm {\r\n toAsnAlgorithm(alg) {\r\n switch (alg.name.toLowerCase()) {\r\n case ECDSA.toLowerCase():\r\n if ("hash" in alg) {\r\n const hash = typeof alg.hash === "string" ? alg.hash : alg.hash.name;\r\n switch (hash.toLowerCase()) {\r\n case "sha-1":\r\n return _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ecdsaWithSHA1;\r\n case "sha-256":\r\n return _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ecdsaWithSHA256;\r\n case "sha-384":\r\n return _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ecdsaWithSHA384;\r\n case "sha-512":\r\n return _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ecdsaWithSHA512;\r\n }\r\n }\r\n else if ("namedCurve" in alg) {\r\n let parameters = "";\r\n switch (alg.namedCurve) {\r\n case "P-256":\r\n parameters = _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_secp256r1;\r\n break;\r\n case "K-256":\r\n parameters = EcAlgorithm_1.SECP256K1;\r\n break;\r\n case "P-384":\r\n parameters = _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_secp384r1;\r\n break;\r\n case "P-521":\r\n parameters = _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_secp521r1;\r\n break;\r\n case brainpoolP160r1:\r\n parameters = idBrainpoolP160r1;\r\n break;\r\n case brainpoolP160t1:\r\n parameters = idBrainpoolP160t1;\r\n break;\r\n case brainpoolP192r1:\r\n parameters = idBrainpoolP192r1;\r\n break;\r\n case brainpoolP192t1:\r\n parameters = idBrainpoolP192t1;\r\n break;\r\n case brainpoolP224r1:\r\n parameters = idBrainpoolP224r1;\r\n break;\r\n case brainpoolP224t1:\r\n parameters = idBrainpoolP224t1;\r\n break;\r\n case brainpoolP256r1:\r\n parameters = idBrainpoolP256r1;\r\n break;\r\n case brainpoolP256t1:\r\n parameters = idBrainpoolP256t1;\r\n break;\r\n case brainpoolP320r1:\r\n parameters = idBrainpoolP320r1;\r\n break;\r\n case brainpoolP320t1:\r\n parameters = idBrainpoolP320t1;\r\n break;\r\n case brainpoolP384r1:\r\n parameters = idBrainpoolP384r1;\r\n break;\r\n case brainpoolP384t1:\r\n parameters = idBrainpoolP384t1;\r\n break;\r\n case brainpoolP512r1:\r\n parameters = idBrainpoolP512r1;\r\n break;\r\n case brainpoolP512t1:\r\n parameters = idBrainpoolP512t1;\r\n break;\r\n }\r\n if (parameters) {\r\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({\r\n algorithm: _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecPublicKey,\r\n parameters: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(new _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ECParameters({ namedCurve: parameters })),\r\n });\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n toWebAlgorithm(alg) {\r\n switch (alg.algorithm) {\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA1:\r\n return { name: ECDSA, hash: { name: "SHA-1" } };\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA256:\r\n return { name: ECDSA, hash: { name: "SHA-256" } };\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA384:\r\n return { name: ECDSA, hash: { name: "SHA-384" } };\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA512:\r\n return { name: ECDSA, hash: { name: "SHA-512" } };\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecPublicKey: {\r\n if (!alg.parameters) {\r\n throw new TypeError("Cannot get required parameters from EC algorithm");\r\n }\r\n const parameters = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(alg.parameters, _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ECParameters);\r\n switch (parameters.namedCurve) {\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_secp256r1:\r\n return { name: ECDSA, namedCurve: "P-256" };\r\n case EcAlgorithm_1.SECP256K1:\r\n return { name: ECDSA, namedCurve: "K-256" };\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_secp384r1:\r\n return { name: ECDSA, namedCurve: "P-384" };\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_secp521r1:\r\n return { name: ECDSA, namedCurve: "P-521" };\r\n case idBrainpoolP160r1:\r\n return { name: ECDSA, namedCurve: brainpoolP160r1 };\r\n case idBrainpoolP160t1:\r\n return { name: ECDSA, namedCurve: brainpoolP160t1 };\r\n case idBrainpoolP192r1:\r\n return { name: ECDSA, namedCurve: brainpoolP192r1 };\r\n case idBrainpoolP192t1:\r\n return { name: ECDSA, namedCurve: brainpoolP192t1 };\r\n case idBrainpoolP224r1:\r\n return { name: ECDSA, namedCurve: brainpoolP224r1 };\r\n case idBrainpoolP224t1:\r\n return { name: ECDSA, namedCurve: brainpoolP224t1 };\r\n case idBrainpoolP256r1:\r\n return { name: ECDSA, namedCurve: brainpoolP256r1 };\r\n case idBrainpoolP256t1:\r\n return { name: ECDSA, namedCurve: brainpoolP256t1 };\r\n case idBrainpoolP320r1:\r\n return { name: ECDSA, namedCurve: brainpoolP320r1 };\r\n case idBrainpoolP320t1:\r\n return { name: ECDSA, namedCurve: brainpoolP320t1 };\r\n case idBrainpoolP384r1:\r\n return { name: ECDSA, namedCurve: brainpoolP384r1 };\r\n case idBrainpoolP384t1:\r\n return { name: ECDSA, namedCurve: brainpoolP384t1 };\r\n case idBrainpoolP512r1:\r\n return { name: ECDSA, namedCurve: brainpoolP512r1 };\r\n case idBrainpoolP512t1:\r\n return { name: ECDSA, namedCurve: brainpoolP512t1 };\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n};\r\nEcAlgorithm.SECP256K1 = "1.3.132.0.10";\r\nEcAlgorithm = EcAlgorithm_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__decorate)([\r\n (0,tsyringe__WEBPACK_IMPORTED_MODULE_7__.injectable)()\r\n], EcAlgorithm);\r\ntsyringe__WEBPACK_IMPORTED_MODULE_7__.container.registerSingleton(diAlgorithm, EcAlgorithm);\n\nconst NAME = Symbol("name");\r\nconst VALUE = Symbol("value");\r\nclass TextObject {\r\n constructor(name, items = {}, value = "") {\r\n this[NAME] = name;\r\n this[VALUE] = value;\r\n for (const key in items) {\r\n this[key] = items[key];\r\n }\r\n }\r\n}\r\nTextObject.NAME = NAME;\r\nTextObject.VALUE = VALUE;\r\nclass DefaultAlgorithmSerializer {\r\n static toTextObject(alg) {\r\n const obj = new TextObject("Algorithm Identifier", {}, OidSerializer.toString(alg.algorithm));\r\n if (alg.parameters) {\r\n switch (alg.algorithm) {\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecPublicKey: {\r\n const ecAlg = new EcAlgorithm().toWebAlgorithm(alg);\r\n if (ecAlg && "namedCurve" in ecAlg) {\r\n obj["Named Curve"] = ecAlg.namedCurve;\r\n }\r\n else {\r\n obj["Parameters"] = alg.parameters;\r\n }\r\n break;\r\n }\r\n default:\r\n obj["Parameters"] = alg.parameters;\r\n }\r\n }\r\n return obj;\r\n }\r\n}\r\nclass OidSerializer {\r\n static toString(oid) {\r\n const name = this.items[oid];\r\n if (name) {\r\n return name;\r\n }\r\n return oid;\r\n }\r\n}\r\nOidSerializer.items = {\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha1]: "sha1",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha224]: "sha224",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha256]: "sha256",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha384]: "sha384",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha512]: "sha512",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_rsaEncryption]: "rsaEncryption",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha1WithRSAEncryption]: "sha1WithRSAEncryption",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha224WithRSAEncryption]: "sha224WithRSAEncryption",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha256WithRSAEncryption]: "sha256WithRSAEncryption",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha384WithRSAEncryption]: "sha384WithRSAEncryption",\r\n [_peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha512WithRSAEncryption]: "sha512WithRSAEncryption",\r\n [_peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecPublicKey]: "ecPublicKey",\r\n [_peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA1]: "ecdsaWithSHA1",\r\n [_peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA224]: "ecdsaWithSHA224",\r\n [_peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA256]: "ecdsaWithSHA256",\r\n [_peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA384]: "ecdsaWithSHA384",\r\n [_peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecdsaWithSHA512]: "ecdsaWithSHA512",\r\n [_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_kp_serverAuth]: "TLS WWW server authentication",\r\n [_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_kp_clientAuth]: "TLS WWW client authentication",\r\n [_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_kp_codeSigning]: "Code Signing",\r\n [_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_kp_emailProtection]: "E-mail Protection",\r\n [_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_kp_timeStamping]: "Time Stamping",\r\n [_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_kp_OCSPSigning]: "OCSP Signing",\r\n [_peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.id_signedData]: "Signed Data",\r\n};\r\nclass TextConverter {\r\n static serialize(obj) {\r\n return this.serializeObj(obj).join("\\n");\r\n }\r\n static pad(deep = 0) {\r\n return "".padStart(2 * deep, " ");\r\n }\r\n static serializeObj(obj, deep = 0) {\r\n const res = [];\r\n let pad = this.pad(deep++);\r\n let value = "";\r\n const objValue = obj[TextObject.VALUE];\r\n if (objValue) {\r\n value = ` ${objValue}`;\r\n }\r\n res.push(`${pad}${obj[TextObject.NAME]}:${value}`);\r\n pad = this.pad(deep);\r\n for (const key in obj) {\r\n if (typeof key === "symbol") {\r\n continue;\r\n }\r\n const value = obj[key];\r\n const keyValue = key ? `${key}: ` : "";\r\n if (typeof value === "string" ||\r\n typeof value === "number" ||\r\n typeof value === "boolean") {\r\n res.push(`${pad}${keyValue}${value}`);\r\n }\r\n else if (value instanceof Date) {\r\n res.push(`${pad}${keyValue}${value.toUTCString()}`);\r\n }\r\n else if (Array.isArray(value)) {\r\n for (const obj of value) {\r\n obj[TextObject.NAME] = key;\r\n res.push(...this.serializeObj(obj, deep));\r\n }\r\n }\r\n else if (value instanceof TextObject) {\r\n value[TextObject.NAME] = key;\r\n res.push(...this.serializeObj(value, deep));\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(value)) {\r\n if (key) {\r\n res.push(`${pad}${keyValue}`);\r\n res.push(...this.serializeBufferSource(value, deep + 1));\r\n }\r\n else {\r\n res.push(...this.serializeBufferSource(value, deep));\r\n }\r\n }\r\n else if ("toTextObject" in value) {\r\n const obj = value.toTextObject();\r\n obj[TextObject.NAME] = key;\r\n res.push(...this.serializeObj(obj, deep));\r\n }\r\n else {\r\n throw new TypeError("Cannot serialize data in text format. Unsupported type.");\r\n }\r\n }\r\n return res;\r\n }\r\n static serializeBufferSource(buffer, deep = 0) {\r\n const pad = this.pad(deep);\r\n const view = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toUint8Array(buffer);\r\n const res = [];\r\n for (let i = 0; i < view.length;) {\r\n const row = [];\r\n for (let j = 0; j < 16 && i < view.length; j++) {\r\n if (j === 8) {\r\n row.push("");\r\n }\r\n const hex = view[i++].toString(16).padStart(2, "0");\r\n row.push(hex);\r\n }\r\n res.push(`${pad}${row.join(" ")}`);\r\n }\r\n return res;\r\n }\r\n static serializeAlgorithm(alg) {\r\n return this.algorithmSerializer.toTextObject(alg);\r\n }\r\n}\r\nTextConverter.oidSerializer = OidSerializer;\r\nTextConverter.algorithmSerializer = DefaultAlgorithmSerializer;\n\nclass AsnData {\r\n constructor(...args) {\r\n if (args.length === 1) {\r\n const asn = args[0];\r\n this.rawData = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asn);\r\n this.onInit(asn);\r\n }\r\n else {\r\n const asn = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(args[0], args[1]);\r\n this.rawData = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(args[0]);\r\n this.onInit(asn);\r\n }\r\n }\r\n equal(data) {\r\n if (data instanceof AsnData) {\r\n return (0,pvtsutils__WEBPACK_IMPORTED_MODULE_3__.isEqual)(data.rawData, this.rawData);\r\n }\r\n return false;\r\n }\r\n toString(format = "text") {\r\n switch (format) {\r\n case "asn":\r\n return _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.toString(this.rawData);\r\n case "text":\r\n return TextConverter.serialize(this.toTextObject());\r\n case "hex":\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(this.rawData);\r\n case "base64":\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToBase64(this.rawData);\r\n case "base64url":\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToBase64Url(this.rawData);\r\n default:\r\n throw TypeError("Argument \'format\' is unsupported value");\r\n }\r\n }\r\n getTextName() {\r\n const constructor = this.constructor;\r\n return constructor.NAME;\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectEmpty();\r\n obj[""] = this.rawData;\r\n return obj;\r\n }\r\n toTextObjectEmpty(value) {\r\n return new TextObject(this.getTextName(), {}, value);\r\n }\r\n}\r\nAsnData.NAME = "ASN";\n\nclass Extension extends AsnData {\r\n constructor(...args) {\r\n let raw;\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n raw = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(args[0]);\r\n }\r\n else {\r\n raw = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension({\r\n extnID: args[0],\r\n critical: args[1],\r\n extnValue: new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(args[2])),\r\n }));\r\n }\r\n super(raw, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension);\r\n }\r\n onInit(asn) {\r\n this.type = asn.extnID;\r\n this.critical = asn.critical;\r\n this.value = asn.extnValue.buffer;\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n obj[""] = this.value;\r\n return obj;\r\n }\r\n toTextObjectWithoutValue() {\r\n const obj = this.toTextObjectEmpty(this.critical ? "critical" : undefined);\r\n if (obj[TextObject.NAME] === Extension.NAME) {\r\n obj[TextObject.NAME] = OidSerializer.toString(this.type);\r\n }\r\n return obj;\r\n }\r\n}\n\nvar _a;\r\nclass CryptoProvider {\r\n constructor() {\r\n this.items = new Map();\r\n this[_a] = "CryptoProvider";\r\n if (typeof self !== "undefined" && typeof crypto !== "undefined") {\r\n this.set(CryptoProvider.DEFAULT, crypto);\r\n }\r\n }\r\n static isCryptoKeyPair(data) {\r\n return data && data.privateKey && data.publicKey;\r\n }\r\n static isCryptoKey(data) {\r\n return data && data.usages && data.type && data.algorithm && data.extractable !== undefined;\r\n }\r\n clear() {\r\n this.items.clear();\r\n }\r\n delete(key) {\r\n return this.items.delete(key);\r\n }\r\n forEach(callbackfn, thisArg) {\r\n return this.items.forEach(callbackfn, thisArg);\r\n }\r\n has(key) {\r\n return this.items.has(key);\r\n }\r\n get size() {\r\n return this.items.size;\r\n }\r\n entries() {\r\n return this.items.entries();\r\n }\r\n keys() {\r\n return this.items.keys();\r\n }\r\n values() {\r\n return this.items.values();\r\n }\r\n [Symbol.iterator]() {\r\n return this.items[Symbol.iterator]();\r\n }\r\n get(key = CryptoProvider.DEFAULT) {\r\n const crypto = this.items.get(key.toLowerCase());\r\n if (!crypto) {\r\n throw new Error(`Cannot get Crypto by name \'${key}\'`);\r\n }\r\n return crypto;\r\n }\r\n set(key, value) {\r\n if (typeof key === "string") {\r\n if (!value) {\r\n throw new TypeError("Argument \'value\' is required");\r\n }\r\n this.items.set(key.toLowerCase(), value);\r\n }\r\n else {\r\n this.items.set(CryptoProvider.DEFAULT, key);\r\n }\r\n return this;\r\n }\r\n}\r\n_a = Symbol.toStringTag;\r\nCryptoProvider.DEFAULT = "default";\r\nconst cryptoProvider = new CryptoProvider();\n\nconst OID_REGEX = /^[0-2](?:\\.[1-9][0-9]*)+$/;\r\nfunction isOID(id) {\r\n return new RegExp(OID_REGEX).test(id);\r\n}\r\nclass NameIdentifier {\r\n constructor(names = {}) {\r\n this.items = {};\r\n for (const id in names) {\r\n this.register(id, names[id]);\r\n }\r\n }\r\n get(idOrName) {\r\n return this.items[idOrName] || null;\r\n }\r\n findId(idOrName) {\r\n if (!isOID(idOrName)) {\r\n return this.get(idOrName);\r\n }\r\n return idOrName;\r\n }\r\n register(id, name) {\r\n this.items[id] = name;\r\n this.items[name] = id;\r\n }\r\n}\r\nconst names = new NameIdentifier();\r\nnames.register("CN", "2.5.4.3");\r\nnames.register("L", "2.5.4.7");\r\nnames.register("ST", "2.5.4.8");\r\nnames.register("O", "2.5.4.10");\r\nnames.register("OU", "2.5.4.11");\r\nnames.register("C", "2.5.4.6");\r\nnames.register("DC", "0.9.2342.19200300.100.1.25");\r\nnames.register("E", "1.2.840.113549.1.9.1");\r\nnames.register("G", "2.5.4.42");\r\nnames.register("I", "2.5.4.43");\r\nnames.register("SN", "2.5.4.4");\r\nnames.register("T", "2.5.4.12");\r\nfunction replaceUnknownCharacter(text, char) {\r\n return `\\\\${pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromUtf8String(char)).toUpperCase()}`;\r\n}\r\nfunction escape(data) {\r\n return data\r\n .replace(/([,+"\\\\<>;])/g, "\\\\$1")\r\n .replace(/^([ #])/, "\\\\$1")\r\n .replace(/([ ]$)/, "\\\\$1")\r\n .replace(/([\\r\\n\\t])/, replaceUnknownCharacter);\r\n}\r\nclass Name {\r\n constructor(data, extraNames = {}) {\r\n this.extraNames = new NameIdentifier();\r\n this.asn = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name();\r\n for (const key in extraNames) {\r\n if (Object.prototype.hasOwnProperty.call(extraNames, key)) {\r\n const value = extraNames[key];\r\n this.extraNames.register(key, value);\r\n }\r\n }\r\n if (typeof data === "string") {\r\n this.asn = this.fromString(data);\r\n }\r\n else if (data instanceof _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name) {\r\n this.asn = data;\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(data)) {\r\n this.asn = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(data, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name);\r\n }\r\n else {\r\n this.asn = this.fromJSON(data);\r\n }\r\n }\r\n static isASCII(text) {\r\n for (let i = 0; i < text.length; i++) {\r\n const code = text.charCodeAt(i);\r\n if (code > 0xFF) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n getField(idOrName) {\r\n const id = this.extraNames.findId(idOrName) || names.findId(idOrName);\r\n const res = [];\r\n for (const name of this.asn) {\r\n for (const rdn of name) {\r\n if (rdn.type === id) {\r\n res.push(rdn.value.toString());\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n getName(idOrName) {\r\n return this.extraNames.get(idOrName) || names.get(idOrName);\r\n }\r\n toString() {\r\n return this.asn.map(rdn => rdn.map(o => {\r\n const type = this.getName(o.type) || o.type;\r\n const value = o.value.anyValue\r\n ? `#${pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(o.value.anyValue)}`\r\n : escape(o.value.toString());\r\n return `${type}=${value}`;\r\n })\r\n .join("+"))\r\n .join(", ");\r\n }\r\n toJSON() {\r\n var _a;\r\n const json = [];\r\n for (const rdn of this.asn) {\r\n const jsonItem = {};\r\n for (const attr of rdn) {\r\n const type = this.getName(attr.type) || attr.type;\r\n (_a = jsonItem[type]) !== null && _a !== void 0 ? _a : (jsonItem[type] = []);\r\n jsonItem[type].push(attr.value.anyValue ? `#${pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(attr.value.anyValue)}` : attr.value.toString());\r\n }\r\n json.push(jsonItem);\r\n }\r\n return json;\r\n }\r\n fromString(data) {\r\n const asn = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name();\r\n const regex = /(\\d\\.[\\d.]*\\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\\\]")|(?:[^,+].*?(?:[^\\\\][,+]))|(?:))([,+])?/g;\r\n let matches = null;\r\n let level = ",";\r\n while (matches = regex.exec(`${data},`)) {\r\n let [, type, value] = matches;\r\n const lastChar = value[value.length - 1];\r\n if (lastChar === "," || lastChar === "+") {\r\n value = value.slice(0, value.length - 1);\r\n matches[3] = lastChar;\r\n }\r\n const next = matches[3];\r\n if (!/[\\d.]+/.test(type)) {\r\n type = this.getName(type) || "";\r\n }\r\n if (!type) {\r\n throw new Error(`Cannot get OID for name type \'${type}\'`);\r\n }\r\n const attr = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AttributeTypeAndValue({ type });\r\n if (value.charAt(0) === "#") {\r\n attr.value.anyValue = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(value.slice(1));\r\n }\r\n else {\r\n const quotedMatches = /"(.*?[^\\\\])?"/.exec(value);\r\n if (quotedMatches) {\r\n value = quotedMatches[1];\r\n }\r\n value = value\r\n .replace(/\\\\0a/ig, "\\n")\r\n .replace(/\\\\0d/ig, "\\r")\r\n .replace(/\\\\0g/ig, "\\t")\r\n .replace(/\\\\(.)/g, "$1");\r\n if (type === this.getName("E") || type === this.getName("DC")) {\r\n attr.value.ia5String = value;\r\n }\r\n else {\r\n if (Name.isASCII(value)) {\r\n attr.value.printableString = value;\r\n }\r\n else {\r\n attr.value.utf8String = value;\r\n }\r\n }\r\n }\r\n if (level === "+") {\r\n asn[asn.length - 1].push(attr);\r\n }\r\n else {\r\n asn.push(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.RelativeDistinguishedName([attr]));\r\n }\r\n level = next;\r\n }\r\n return asn;\r\n }\r\n fromJSON(data) {\r\n const asn = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name();\r\n for (const item of data) {\r\n const asnRdn = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.RelativeDistinguishedName();\r\n for (const type in item) {\r\n let typeId = type;\r\n if (!/[\\d.]+/.test(type)) {\r\n typeId = this.getName(type) || "";\r\n }\r\n if (!typeId) {\r\n throw new Error(`Cannot get OID for name type \'${type}\'`);\r\n }\r\n const values = item[type];\r\n for (const value of values) {\r\n const asnAttr = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AttributeTypeAndValue({ type: typeId });\r\n if (typeof value === "object") {\r\n for (const key in value) {\r\n switch (key) {\r\n case "ia5String":\r\n asnAttr.value.ia5String = value[key];\r\n break;\r\n case "utf8String":\r\n asnAttr.value.utf8String = value[key];\r\n break;\r\n case "universalString":\r\n asnAttr.value.universalString = value[key];\r\n break;\r\n case "bmpString":\r\n asnAttr.value.bmpString = value[key];\r\n break;\r\n case "printableString":\r\n asnAttr.value.printableString = value[key];\r\n break;\r\n }\r\n }\r\n }\r\n else if (value[0] === "#") {\r\n asnAttr.value.anyValue = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(value.slice(1));\r\n }\r\n else {\r\n if (typeId === this.getName("E") || typeId === this.getName("DC")) {\r\n asnAttr.value.ia5String = value;\r\n }\r\n else {\r\n asnAttr.value.printableString = value;\r\n }\r\n }\r\n asnRdn.push(asnAttr);\r\n }\r\n }\r\n asn.push(asnRdn);\r\n }\r\n return asn;\r\n }\r\n toArrayBuffer() {\r\n return _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(this.asn);\r\n }\r\n async getThumbprint(...args) {\r\n var _a;\r\n let crypto;\r\n let algorithm = "SHA-1";\r\n if (args.length >= 1 && !((_a = args[0]) === null || _a === void 0 ? void 0 : _a.subtle)) {\r\n algorithm = args[0] || algorithm;\r\n crypto = args[1] || cryptoProvider.get();\r\n }\r\n else {\r\n crypto = args[0] || cryptoProvider.get();\r\n }\r\n return await crypto.subtle.digest(algorithm, this.toArrayBuffer());\r\n }\r\n}\n\nconst ERR_GN_CONSTRUCTOR = "Cannot initialize GeneralName from ASN.1 data.";\r\nconst ERR_GN_STRING_FORMAT = `${ERR_GN_CONSTRUCTOR} Unsupported string format in use.`;\r\nconst ERR_GUID = `${ERR_GN_CONSTRUCTOR} Value doesn\'t match to GUID regular expression.`;\r\nconst GUID_REGEX = /^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i;\r\nconst id_GUID = "1.3.6.1.4.1.311.25.1";\r\nconst id_UPN = "1.3.6.1.4.1.311.20.2.3";\r\nconst DNS = "dns";\r\nconst DN = "dn";\r\nconst EMAIL = "email";\r\nconst IP = "ip";\r\nconst URL = "url";\r\nconst GUID = "guid";\r\nconst UPN = "upn";\r\nconst REGISTERED_ID = "id";\r\nclass GeneralName extends AsnData {\r\n constructor(...args) {\r\n let name;\r\n if (args.length === 2) {\r\n switch (args[0]) {\r\n case DN: {\r\n const derName = new Name(args[1]).toArrayBuffer();\r\n const asnName = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(derName, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name);\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({ directoryName: asnName });\r\n break;\r\n }\r\n case DNS:\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({ dNSName: args[1] });\r\n break;\r\n case EMAIL:\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({ rfc822Name: args[1] });\r\n break;\r\n case GUID: {\r\n const matches = new RegExp(GUID_REGEX, "i").exec(args[1]);\r\n if (!matches) {\r\n throw new Error("Cannot parse GUID value. Value doesn\'t match to regular expression");\r\n }\r\n const hex = matches\r\n .slice(1)\r\n .map((o, i) => {\r\n if (i < 3) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(new Uint8Array(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(o)).reverse());\r\n }\r\n return o;\r\n })\r\n .join("");\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({\r\n otherName: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.OtherName({\r\n typeId: id_GUID,\r\n value: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(hex))),\r\n }),\r\n });\r\n break;\r\n }\r\n case IP:\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({ iPAddress: args[1] });\r\n break;\r\n case REGISTERED_ID:\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({ registeredID: args[1] });\r\n break;\r\n case UPN: {\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({\r\n otherName: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.OtherName({\r\n typeId: id_UPN,\r\n value: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnUtf8StringConverter.toASN(args[1])),\r\n })\r\n });\r\n break;\r\n }\r\n case URL:\r\n name = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName({ uniformResourceIdentifier: args[1] });\r\n break;\r\n default:\r\n throw new Error("Cannot create GeneralName. Unsupported type of the name");\r\n }\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n name = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(args[0], _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName);\r\n }\r\n else {\r\n name = args[0];\r\n }\r\n super(name);\r\n }\r\n onInit(asn) {\r\n if (asn.dNSName != undefined) {\r\n this.type = DNS;\r\n this.value = asn.dNSName;\r\n }\r\n else if (asn.rfc822Name != undefined) {\r\n this.type = EMAIL;\r\n this.value = asn.rfc822Name;\r\n }\r\n else if (asn.iPAddress != undefined) {\r\n this.type = IP;\r\n this.value = asn.iPAddress;\r\n }\r\n else if (asn.uniformResourceIdentifier != undefined) {\r\n this.type = URL;\r\n this.value = asn.uniformResourceIdentifier;\r\n }\r\n else if (asn.registeredID != undefined) {\r\n this.type = REGISTERED_ID;\r\n this.value = asn.registeredID;\r\n }\r\n else if (asn.directoryName != undefined) {\r\n this.type = DN;\r\n this.value = new Name(asn.directoryName).toString();\r\n }\r\n else if (asn.otherName != undefined) {\r\n if (asn.otherName.typeId === id_GUID) {\r\n this.type = GUID;\r\n const guid = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(asn.otherName.value, _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString);\r\n const matches = new RegExp(GUID_REGEX, "i").exec(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(guid));\r\n if (!matches) {\r\n throw new Error(ERR_GUID);\r\n }\r\n this.value = matches\r\n .slice(1)\r\n .map((o, i) => {\r\n if (i < 3) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(new Uint8Array(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(o)).reverse());\r\n }\r\n return o;\r\n })\r\n .join("-");\r\n }\r\n else if (asn.otherName.typeId === id_UPN) {\r\n this.type = UPN;\r\n this.value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(asn.otherName.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.DirectoryString).toString();\r\n }\r\n else {\r\n throw new Error(ERR_GN_STRING_FORMAT);\r\n }\r\n }\r\n else {\r\n throw new Error(ERR_GN_STRING_FORMAT);\r\n }\r\n }\r\n toJSON() {\r\n return {\r\n type: this.type,\r\n value: this.value,\r\n };\r\n }\r\n toTextObject() {\r\n let type;\r\n switch (this.type) {\r\n case DN:\r\n case DNS:\r\n case GUID:\r\n case IP:\r\n case REGISTERED_ID:\r\n case UPN:\r\n case URL:\r\n type = this.type.toUpperCase();\r\n break;\r\n case EMAIL:\r\n type = "Email";\r\n break;\r\n default:\r\n throw new Error("Unsupported GeneralName type");\r\n }\r\n let value = this.value;\r\n if (this.type === REGISTERED_ID) {\r\n value = OidSerializer.toString(value);\r\n }\r\n return new TextObject(type, undefined, value);\r\n }\r\n}\r\nclass GeneralNames extends AsnData {\r\n constructor(params) {\r\n let names;\r\n if (params instanceof _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralNames) {\r\n names = params;\r\n }\r\n else if (Array.isArray(params)) {\r\n const items = [];\r\n for (const name of params) {\r\n if (name instanceof _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName) {\r\n items.push(name);\r\n }\r\n else {\r\n const asnName = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(new GeneralName(name.type, name.value).rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralName);\r\n items.push(asnName);\r\n }\r\n }\r\n names = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralNames(items);\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(params)) {\r\n names = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(params, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralNames);\r\n }\r\n else {\r\n throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");\r\n }\r\n super(names);\r\n }\r\n onInit(asn) {\r\n const items = [];\r\n for (const asnName of asn) {\r\n let name = null;\r\n try {\r\n name = new GeneralName(asnName);\r\n }\r\n catch {\r\n continue;\r\n }\r\n items.push(name);\r\n }\r\n this.items = items;\r\n }\r\n toJSON() {\r\n return this.items.map(o => o.toJSON());\r\n }\r\n toTextObject() {\r\n const res = super.toTextObjectEmpty();\r\n for (const name of this.items) {\r\n const nameObj = name.toTextObject();\r\n let field = res[nameObj[TextObject.NAME]];\r\n if (!Array.isArray(field)) {\r\n field = [];\r\n res[nameObj[TextObject.NAME]] = field;\r\n }\r\n field.push(nameObj);\r\n }\r\n return res;\r\n }\r\n}\r\nGeneralNames.NAME = "GeneralNames";\n\nconst rPaddingTag = "-{5}";\r\nconst rEolChars = "\\\\n";\r\nconst rNameTag = `[^${rEolChars}]+`;\r\nconst rBeginTag = `${rPaddingTag}BEGIN (${rNameTag}(?=${rPaddingTag}))${rPaddingTag}`;\r\nconst rEndTag = `${rPaddingTag}END \\\\1${rPaddingTag}`;\r\nconst rEolGroup = "\\\\n";\r\nconst rHeaderKey = `[^:${rEolChars}]+`;\r\nconst rHeaderValue = `(?:[^${rEolChars}]+${rEolGroup}(?: +[^${rEolChars}]+${rEolGroup})*)`;\r\nconst rBase64Chars = "[a-zA-Z0-9=+/]+";\r\nconst rBase64 = `(?:${rBase64Chars}${rEolGroup})+`;\r\nconst rPem = `${rBeginTag}${rEolGroup}(?:((?:${rHeaderKey}: ${rHeaderValue})+))?${rEolGroup}?(${rBase64})${rEndTag}`;\r\nclass PemConverter {\r\n static isPem(data) {\r\n return typeof data === "string"\r\n && new RegExp(rPem, "g").test(data);\r\n }\r\n static decodeWithHeaders(pem) {\r\n pem = pem.replace(/\\r/g, "");\r\n const pattern = new RegExp(rPem, "g");\r\n const res = [];\r\n let matches = null;\r\n while (matches = pattern.exec(pem)) {\r\n const base64 = matches[3]\r\n .replace(new RegExp(`[${rEolChars}]+`, "g"), "");\r\n const pemStruct = {\r\n type: matches[1],\r\n headers: [],\r\n rawData: pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromBase64(base64),\r\n };\r\n const headersString = matches[2];\r\n if (headersString) {\r\n const headers = headersString.split(new RegExp(rEolGroup, "g"));\r\n let lastHeader = null;\r\n for (const header of headers) {\r\n const [key, value] = header.split(/:(.*)/);\r\n if (value === undefined) {\r\n if (!lastHeader) {\r\n throw new Error("Cannot parse PEM string. Incorrect header value");\r\n }\r\n lastHeader.value += key.trim();\r\n }\r\n else {\r\n if (lastHeader) {\r\n pemStruct.headers.push(lastHeader);\r\n }\r\n lastHeader = { key, value: value.trim() };\r\n }\r\n }\r\n if (lastHeader) {\r\n pemStruct.headers.push(lastHeader);\r\n }\r\n }\r\n res.push(pemStruct);\r\n }\r\n return res;\r\n }\r\n static decode(pem) {\r\n const blocks = this.decodeWithHeaders(pem);\r\n return blocks.map(o => o.rawData);\r\n }\r\n static decodeFirst(pem) {\r\n const items = this.decode(pem);\r\n if (!items.length) {\r\n throw new RangeError("PEM string doesn\'t contain any objects");\r\n }\r\n return items[0];\r\n }\r\n static encode(rawData, tag) {\r\n if (Array.isArray(rawData)) {\r\n const raws = new Array();\r\n if (tag) {\r\n rawData.forEach(element => {\r\n if (!pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(element)) {\r\n throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");\r\n }\r\n raws.push(this.encodeStruct({\r\n type: tag,\r\n rawData: pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(element),\r\n }));\r\n });\r\n }\r\n else {\r\n rawData.forEach(element => {\r\n if (!("type" in element)) {\r\n throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");\r\n }\r\n raws.push(this.encodeStruct(element));\r\n });\r\n }\r\n return raws.join("\\n");\r\n }\r\n else {\r\n if (!tag) {\r\n throw new Error("Required argument \'tag\' is missed");\r\n }\r\n return this.encodeStruct({\r\n type: tag,\r\n rawData: pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(rawData),\r\n });\r\n }\r\n }\r\n static encodeStruct(pem) {\r\n var _a;\r\n const upperCaseType = pem.type.toLocaleUpperCase();\r\n const res = [];\r\n res.push(`-----BEGIN ${upperCaseType}-----`);\r\n if ((_a = pem.headers) === null || _a === void 0 ? void 0 : _a.length) {\r\n for (const header of pem.headers) {\r\n res.push(`${header.key}: ${header.value}`);\r\n }\r\n res.push("");\r\n }\r\n const base64 = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToBase64(pem.rawData);\r\n let sliced;\r\n let offset = 0;\r\n const rows = Array();\r\n while (offset < base64.length) {\r\n if (base64.length - offset < 64) {\r\n sliced = base64.substring(offset);\r\n }\r\n else {\r\n sliced = base64.substring(offset, offset + 64);\r\n offset += 64;\r\n }\r\n if (sliced.length !== 0) {\r\n rows.push(sliced);\r\n if (sliced.length < 64) {\r\n break;\r\n }\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n res.push(...rows);\r\n res.push(`-----END ${upperCaseType}-----`);\r\n return res.join("\\n");\r\n }\r\n}\r\nPemConverter.CertificateTag = "CERTIFICATE";\r\nPemConverter.CrlTag = "CRL";\r\nPemConverter.CertificateRequestTag = "CERTIFICATE REQUEST";\r\nPemConverter.PublicKeyTag = "PUBLIC KEY";\r\nPemConverter.PrivateKeyTag = "PRIVATE KEY";\n\nclass PemData extends AsnData {\r\n static isAsnEncoded(data) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(data) || typeof data === "string";\r\n }\r\n static toArrayBuffer(raw) {\r\n if (typeof raw === "string") {\r\n if (PemConverter.isPem(raw)) {\r\n return PemConverter.decode(raw)[0];\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.isHex(raw)) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(raw);\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.isBase64(raw)) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromBase64(raw);\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.isBase64Url(raw)) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromBase64Url(raw);\r\n }\r\n else {\r\n throw new TypeError("Unsupported format of \'raw\' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url");\r\n }\r\n }\r\n else {\r\n const stringRaw = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToBinary(raw);\r\n if (PemConverter.isPem(stringRaw)) {\r\n return PemConverter.decode(stringRaw)[0];\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.isHex(stringRaw)) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(stringRaw);\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.isBase64(stringRaw)) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromBase64(stringRaw);\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.isBase64Url(stringRaw)) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromBase64Url(stringRaw);\r\n }\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(raw);\r\n }\r\n }\r\n constructor(...args) {\r\n if (PemData.isAsnEncoded(args[0])) {\r\n super(PemData.toArrayBuffer(args[0]), args[1]);\r\n }\r\n else {\r\n super(args[0]);\r\n }\r\n }\r\n toString(format = "pem") {\r\n switch (format) {\r\n case "pem":\r\n return PemConverter.encode(this.rawData, this.tag);\r\n default:\r\n return super.toString(format);\r\n }\r\n }\r\n}\n\nclass PublicKey extends PemData {\r\n constructor(param) {\r\n if (PemData.isAsnEncoded(param)) {\r\n super(param, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectPublicKeyInfo);\r\n }\r\n else {\r\n super(param);\r\n }\r\n this.tag = PemConverter.PublicKeyTag;\r\n }\r\n async export(...args) {\r\n let crypto;\r\n let keyUsages = ["verify"];\r\n let algorithm = { hash: "SHA-256", ...this.algorithm };\r\n if (args.length > 1) {\r\n algorithm = args[0] || algorithm;\r\n keyUsages = args[1] || keyUsages;\r\n crypto = args[2] || cryptoProvider.get();\r\n }\r\n else {\r\n crypto = args[0] || cryptoProvider.get();\r\n }\r\n return crypto.subtle.importKey("spki", this.rawData, algorithm, true, keyUsages);\r\n }\r\n onInit(asn) {\r\n const algProv = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolve(diAlgorithmProvider);\r\n const algorithm = this.algorithm = algProv.toWebAlgorithm(asn.algorithm);\r\n switch (asn.algorithm.algorithm) {\r\n case _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_rsaEncryption:\r\n {\r\n const rsaPublicKey = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(asn.subjectPublicKey, _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.RSAPublicKey);\r\n const modulus = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toUint8Array(rsaPublicKey.modulus);\r\n algorithm.publicExponent = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toUint8Array(rsaPublicKey.publicExponent);\r\n algorithm.modulusLength = (!modulus[0] ? modulus.slice(1) : modulus).byteLength << 3;\r\n break;\r\n }\r\n }\r\n }\r\n async getThumbprint(...args) {\r\n var _a;\r\n let crypto;\r\n let algorithm = "SHA-1";\r\n if (args.length >= 1 && !((_a = args[0]) === null || _a === void 0 ? void 0 : _a.subtle)) {\r\n algorithm = args[0] || algorithm;\r\n crypto = args[1] || cryptoProvider.get();\r\n }\r\n else {\r\n crypto = args[0] || cryptoProvider.get();\r\n }\r\n return await crypto.subtle.digest(algorithm, this.rawData);\r\n }\r\n async getKeyIdentifier(crypto) {\r\n if (!crypto) {\r\n crypto = cryptoProvider.get();\r\n }\r\n const asn = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectPublicKeyInfo);\r\n return await crypto.subtle.digest("SHA-1", asn.subjectPublicKey);\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectEmpty();\r\n const asn = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectPublicKeyInfo);\r\n obj["Algorithm"] = TextConverter.serializeAlgorithm(asn.algorithm);\r\n switch (asn.algorithm.algorithm) {\r\n case _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.id_ecPublicKey:\r\n obj["EC Point"] = asn.subjectPublicKey;\r\n break;\r\n case _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_rsaEncryption:\r\n default:\r\n obj["Raw Data"] = asn.subjectPublicKey;\r\n }\r\n return obj;\r\n }\r\n}\n\nclass ExtensionFactory {\r\n static register(id, type) {\r\n this.items.set(id, type);\r\n }\r\n static create(data) {\r\n const extension = new Extension(data);\r\n const Type = this.items.get(extension.type);\r\n if (Type) {\r\n return new Type(data);\r\n }\r\n return extension;\r\n }\r\n}\r\nExtensionFactory.items = new Map();\n\nconst diAsnSignatureFormatter = "crypto.signatureFormatter";\r\nclass AsnDefaultSignatureFormatter {\r\n toAsnSignature(algorithm, signature) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(signature);\r\n }\r\n toWebSignature(algorithm, signature) {\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(signature);\r\n }\r\n}\n\nclass X509Certificate extends PemData {\r\n constructor(param) {\r\n if (PemData.isAsnEncoded(param)) {\r\n super(param, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Certificate);\r\n }\r\n else {\r\n super(param);\r\n }\r\n this.tag = PemConverter.CertificateTag;\r\n }\r\n onInit(asn) {\r\n const tbs = asn.tbsCertificate;\r\n this.tbs = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(tbs);\r\n this.serialNumber = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(tbs.serialNumber);\r\n this.subjectName = new Name(tbs.subject);\r\n this.subject = new Name(tbs.subject).toString();\r\n this.issuerName = new Name(tbs.issuer);\r\n this.issuer = this.issuerName.toString();\r\n const algProv = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolve(diAlgorithmProvider);\r\n this.signatureAlgorithm = algProv.toWebAlgorithm(asn.signatureAlgorithm);\r\n this.signature = asn.signatureValue;\r\n const notBefore = tbs.validity.notBefore.utcTime || tbs.validity.notBefore.generalTime;\r\n if (!notBefore) {\r\n throw new Error("Cannot get \'notBefore\' value");\r\n }\r\n this.notBefore = notBefore;\r\n const notAfter = tbs.validity.notAfter.utcTime || tbs.validity.notAfter.generalTime;\r\n if (!notAfter) {\r\n throw new Error("Cannot get \'notAfter\' value");\r\n }\r\n this.notAfter = notAfter;\r\n this.extensions = [];\r\n if (tbs.extensions) {\r\n this.extensions = tbs.extensions.map(o => ExtensionFactory.create(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(o)));\r\n }\r\n this.publicKey = new PublicKey(tbs.subjectPublicKeyInfo);\r\n }\r\n getExtension(type) {\r\n for (const ext of this.extensions) {\r\n if (typeof type === "string") {\r\n if (ext.type === type) {\r\n return ext;\r\n }\r\n }\r\n else {\r\n if (ext instanceof type) {\r\n return ext;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n getExtensions(type) {\r\n return this.extensions.filter(o => {\r\n if (typeof type === "string") {\r\n return o.type === type;\r\n }\r\n else {\r\n return o instanceof type;\r\n }\r\n });\r\n }\r\n async verify(params = {}, crypto = cryptoProvider.get()) {\r\n let keyAlgorithm;\r\n let publicKey;\r\n const paramsKey = params.publicKey;\r\n try {\r\n if (!paramsKey) {\r\n keyAlgorithm = { ...this.publicKey.algorithm, ...this.signatureAlgorithm };\r\n publicKey = await this.publicKey.export(keyAlgorithm, ["verify"], crypto);\r\n }\r\n else if ("publicKey" in paramsKey) {\r\n keyAlgorithm = { ...paramsKey.publicKey.algorithm, ...this.signatureAlgorithm };\r\n publicKey = await paramsKey.publicKey.export(keyAlgorithm, ["verify"]);\r\n }\r\n else if (paramsKey instanceof PublicKey) {\r\n keyAlgorithm = { ...paramsKey.algorithm, ...this.signatureAlgorithm };\r\n publicKey = await paramsKey.export(keyAlgorithm, ["verify"]);\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(paramsKey)) {\r\n const key = new PublicKey(paramsKey);\r\n keyAlgorithm = { ...key.algorithm, ...this.signatureAlgorithm };\r\n publicKey = await key.export(keyAlgorithm, ["verify"]);\r\n }\r\n else {\r\n keyAlgorithm = { ...paramsKey.algorithm, ...this.signatureAlgorithm };\r\n publicKey = paramsKey;\r\n }\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n const signatureFormatters = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolveAll(diAsnSignatureFormatter).reverse();\r\n let signature = null;\r\n for (const signatureFormatter of signatureFormatters) {\r\n signature = signatureFormatter.toWebSignature(keyAlgorithm, this.signature);\r\n if (signature) {\r\n break;\r\n }\r\n }\r\n if (!signature) {\r\n throw Error("Cannot convert ASN.1 signature value to WebCrypto format");\r\n }\r\n const ok = await crypto.subtle.verify(this.signatureAlgorithm, publicKey, signature, this.tbs);\r\n if (params.signatureOnly) {\r\n return ok;\r\n }\r\n else {\r\n const date = params.date || new Date();\r\n const time = date.getTime();\r\n return ok && this.notBefore.getTime() < time && time < this.notAfter.getTime();\r\n }\r\n }\r\n async getThumbprint(...args) {\r\n let crypto;\r\n let algorithm = "SHA-1";\r\n if (args[0]) {\r\n if (!args[0].subtle) {\r\n algorithm = args[0] || algorithm;\r\n crypto = args[1];\r\n }\r\n else {\r\n crypto = args[0];\r\n }\r\n }\r\n crypto !== null && crypto !== void 0 ? crypto : (crypto = cryptoProvider.get());\r\n return await crypto.subtle.digest(algorithm, this.rawData);\r\n }\r\n async isSelfSigned(crypto = cryptoProvider.get()) {\r\n return this.subject === this.issuer && await this.verify({ signatureOnly: true }, crypto);\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectEmpty();\r\n const cert = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Certificate);\r\n const tbs = cert.tbsCertificate;\r\n const data = new TextObject("", {\r\n "Version": `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Version[tbs.version]} (${tbs.version})`,\r\n "Serial Number": tbs.serialNumber,\r\n "Signature Algorithm": TextConverter.serializeAlgorithm(tbs.signature),\r\n "Issuer": this.issuer,\r\n "Validity": new TextObject("", {\r\n "Not Before": tbs.validity.notBefore.getTime(),\r\n "Not After": tbs.validity.notAfter.getTime(),\r\n }),\r\n "Subject": this.subject,\r\n "Subject Public Key Info": this.publicKey,\r\n });\r\n if (tbs.issuerUniqueID) {\r\n data["Issuer Unique ID"] = tbs.issuerUniqueID;\r\n }\r\n if (tbs.subjectUniqueID) {\r\n data["Subject Unique ID"] = tbs.subjectUniqueID;\r\n }\r\n if (this.extensions.length) {\r\n const extensions = new TextObject("");\r\n for (const ext of this.extensions) {\r\n const extObj = ext.toTextObject();\r\n extensions[extObj[TextObject.NAME]] = extObj;\r\n }\r\n data["Extensions"] = extensions;\r\n }\r\n obj["Data"] = data;\r\n obj["Signature"] = new TextObject("", {\r\n "Algorithm": TextConverter.serializeAlgorithm(cert.signatureAlgorithm),\r\n "": cert.signatureValue,\r\n });\r\n return obj;\r\n }\r\n}\r\nX509Certificate.NAME = "Certificate";\n\nclass AuthorityKeyIdentifierExtension extends Extension {\r\n constructor(...args) {\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n }\r\n else if (typeof args[0] === "string") {\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AuthorityKeyIdentifier({ keyIdentifier: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.KeyIdentifier(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(args[0])) });\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_authorityKeyIdentifier, args[1], _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value));\r\n }\r\n else {\r\n const certId = args[0];\r\n const certIdName = certId.name instanceof GeneralNames\r\n ? _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(certId.name.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.GeneralNames)\r\n : certId.name;\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AuthorityKeyIdentifier({\r\n authorityCertIssuer: certIdName,\r\n authorityCertSerialNumber: pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(certId.serialNumber),\r\n });\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_authorityKeyIdentifier, args[1], _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value));\r\n }\r\n }\r\n static async create(param, critical = false, crypto = cryptoProvider.get()) {\r\n if (param instanceof X509Certificate || CryptoProvider.isCryptoKey(param)) {\r\n const publicKey = param instanceof X509Certificate ? await param.publicKey.export(crypto) : param;\r\n const spki = await crypto.subtle.exportKey("spki", publicKey);\r\n const key = new PublicKey(spki);\r\n const id = await key.getKeyIdentifier(crypto);\r\n return new AuthorityKeyIdentifierExtension(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(id), critical);\r\n }\r\n else {\r\n return new AuthorityKeyIdentifierExtension(param, critical);\r\n }\r\n }\r\n onInit(asn) {\r\n super.onInit(asn);\r\n const aki = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(asn.extnValue, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AuthorityKeyIdentifier);\r\n if (aki.keyIdentifier) {\r\n this.keyId = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(aki.keyIdentifier);\r\n }\r\n if (aki.authorityCertIssuer && aki.authorityCertSerialNumber) {\r\n this.certId = {\r\n name: aki.authorityCertIssuer,\r\n serialNumber: pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(aki.authorityCertSerialNumber),\r\n };\r\n }\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n const asn = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AuthorityKeyIdentifier);\r\n if (asn.authorityCertIssuer) {\r\n obj["Authority Issuer"] = new GeneralNames(asn.authorityCertIssuer).toTextObject();\r\n }\r\n if (asn.authorityCertSerialNumber) {\r\n obj["Authority Serial Number"] = asn.authorityCertSerialNumber;\r\n }\r\n if (asn.keyIdentifier) {\r\n obj[""] = asn.keyIdentifier;\r\n }\r\n return obj;\r\n }\r\n}\r\nAuthorityKeyIdentifierExtension.NAME = "Authority Key Identifier";\n\nclass BasicConstraintsExtension extends Extension {\r\n constructor(...args) {\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n const value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.BasicConstraints);\r\n this.ca = value.cA;\r\n this.pathLength = value.pathLenConstraint;\r\n }\r\n else {\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.BasicConstraints({\r\n cA: args[0],\r\n pathLenConstraint: args[1],\r\n });\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_basicConstraints, args[2], _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value));\r\n this.ca = args[0];\r\n this.pathLength = args[1];\r\n }\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n if (this.ca) {\r\n obj["CA"] = this.ca;\r\n }\r\n if (this.pathLength !== undefined) {\r\n obj["Path Length"] = this.pathLength;\r\n }\r\n return obj;\r\n }\r\n}\r\nBasicConstraintsExtension.NAME = "Basic Constraints";\n\nvar ExtendedKeyUsage;\r\n(function (ExtendedKeyUsage) {\r\n ExtendedKeyUsage["serverAuth"] = "1.3.6.1.5.5.7.3.1";\r\n ExtendedKeyUsage["clientAuth"] = "1.3.6.1.5.5.7.3.2";\r\n ExtendedKeyUsage["codeSigning"] = "1.3.6.1.5.5.7.3.3";\r\n ExtendedKeyUsage["emailProtection"] = "1.3.6.1.5.5.7.3.4";\r\n ExtendedKeyUsage["timeStamping"] = "1.3.6.1.5.5.7.3.8";\r\n ExtendedKeyUsage["ocspSigning"] = "1.3.6.1.5.5.7.3.9";\r\n})(ExtendedKeyUsage || (ExtendedKeyUsage = {}));\r\nclass ExtendedKeyUsageExtension extends Extension {\r\n constructor(...args) {\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n const value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.ExtendedKeyUsage);\r\n this.usages = value.map(o => o);\r\n }\r\n else {\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.ExtendedKeyUsage(args[0]);\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_extKeyUsage, args[1], _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value));\r\n this.usages = args[0];\r\n }\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n obj[""] = this.usages.map(o => OidSerializer.toString(o)).join(", ");\r\n return obj;\r\n }\r\n}\r\nExtendedKeyUsageExtension.NAME = "Extended Key Usages";\n\nvar KeyUsageFlags;\r\n(function (KeyUsageFlags) {\r\n KeyUsageFlags[KeyUsageFlags["digitalSignature"] = 1] = "digitalSignature";\r\n KeyUsageFlags[KeyUsageFlags["nonRepudiation"] = 2] = "nonRepudiation";\r\n KeyUsageFlags[KeyUsageFlags["keyEncipherment"] = 4] = "keyEncipherment";\r\n KeyUsageFlags[KeyUsageFlags["dataEncipherment"] = 8] = "dataEncipherment";\r\n KeyUsageFlags[KeyUsageFlags["keyAgreement"] = 16] = "keyAgreement";\r\n KeyUsageFlags[KeyUsageFlags["keyCertSign"] = 32] = "keyCertSign";\r\n KeyUsageFlags[KeyUsageFlags["cRLSign"] = 64] = "cRLSign";\r\n KeyUsageFlags[KeyUsageFlags["encipherOnly"] = 128] = "encipherOnly";\r\n KeyUsageFlags[KeyUsageFlags["decipherOnly"] = 256] = "decipherOnly";\r\n})(KeyUsageFlags || (KeyUsageFlags = {}));\r\nclass KeyUsagesExtension extends Extension {\r\n constructor(...args) {\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n const value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.KeyUsage);\r\n this.usages = value.toNumber();\r\n }\r\n else {\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.KeyUsage(args[0]);\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_keyUsage, args[1], _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value));\r\n this.usages = args[0];\r\n }\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n const asn = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.KeyUsage);\r\n obj[""] = asn.toJSON().join(", ");\r\n return obj;\r\n }\r\n}\r\nKeyUsagesExtension.NAME = "Key Usages";\n\nclass SubjectKeyIdentifierExtension extends Extension {\r\n constructor(...args) {\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n const value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectKeyIdentifier);\r\n this.keyId = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(value);\r\n }\r\n else {\r\n const identifier = typeof args[0] === "string"\r\n ? pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(args[0])\r\n : args[0];\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectKeyIdentifier(identifier);\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_subjectKeyIdentifier, args[1], _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value));\r\n this.keyId = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(identifier);\r\n }\r\n }\r\n static async create(publicKey, critical = false, crypto = cryptoProvider.get()) {\r\n let spki;\r\n if (publicKey instanceof PublicKey) {\r\n spki = publicKey.rawData;\r\n }\r\n else if ("publicKey" in publicKey) {\r\n spki = publicKey.publicKey.rawData;\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(publicKey)) {\r\n spki = publicKey;\r\n }\r\n else {\r\n spki = await crypto.subtle.exportKey("spki", publicKey);\r\n }\r\n const key = new PublicKey(spki);\r\n const id = await key.getKeyIdentifier(crypto);\r\n return new SubjectKeyIdentifierExtension(pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(id), critical);\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n const asn = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectKeyIdentifier);\r\n obj[""] = asn;\r\n return obj;\r\n }\r\n}\r\nSubjectKeyIdentifierExtension.NAME = "Subject Key Identifier";\n\nclass SubjectAlternativeNameExtension extends Extension {\r\n constructor(...args) {\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n }\r\n else {\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_subjectAltName, args[1], new GeneralNames(args[0] || []).rawData);\r\n }\r\n }\r\n onInit(asn) {\r\n super.onInit(asn);\r\n const value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(asn.extnValue, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectAlternativeName);\r\n this.names = new GeneralNames(value);\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n const namesObj = this.names.toTextObject();\r\n for (const key in namesObj) {\r\n obj[key] = namesObj[key];\r\n }\r\n return obj;\r\n }\r\n}\r\nSubjectAlternativeNameExtension.NAME = "Subject Alternative Name";\n\nclass CertificatePolicyExtension extends Extension {\r\n constructor(...args) {\r\n var _a;\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n const asnPolicies = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.CertificatePolicies);\r\n this.policies = asnPolicies.map(o => o.policyIdentifier);\r\n }\r\n else {\r\n const policies = args[0];\r\n const critical = (_a = args[1]) !== null && _a !== void 0 ? _a : false;\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.CertificatePolicies(policies.map(o => (new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.PolicyInformation({\r\n policyIdentifier: o,\r\n }))));\r\n super(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_certificatePolicies, critical, _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value));\r\n this.policies = policies;\r\n }\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n obj["Policy"] = this.policies.map(o => new TextObject("", {}, OidSerializer.toString(o)));\r\n return obj;\r\n }\r\n}\r\nCertificatePolicyExtension.NAME = "Certificate Policies";\r\nExtensionFactory.register(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_certificatePolicies, CertificatePolicyExtension);\n\nclass Attribute extends AsnData {\r\n constructor(...args) {\r\n let raw;\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n raw = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(args[0]);\r\n }\r\n else {\r\n const type = args[0];\r\n const values = Array.isArray(args[1]) ? args[1].map(o => pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(o)) : [];\r\n raw = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Attribute({ type, values }));\r\n }\r\n super(raw, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Attribute);\r\n }\r\n onInit(asn) {\r\n this.type = asn.type;\r\n this.values = asn.values;\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n obj["Value"] = this.values.map(o => new TextObject("", { "": o }));\r\n return obj;\r\n }\r\n toTextObjectWithoutValue() {\r\n const obj = this.toTextObjectEmpty();\r\n if (obj[TextObject.NAME] === Attribute.NAME) {\r\n obj[TextObject.NAME] = OidSerializer.toString(this.type);\r\n }\r\n return obj;\r\n }\r\n}\r\nAttribute.NAME = "Attribute";\n\nclass ChallengePasswordAttribute extends Attribute {\r\n constructor(...args) {\r\n var _a;\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n }\r\n else {\r\n const value = new _peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.ChallengePassword({\r\n printableString: args[0],\r\n });\r\n super(_peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.id_pkcs9_at_challengePassword, [_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value)]);\r\n }\r\n (_a = this.password) !== null && _a !== void 0 ? _a : (this.password = "");\r\n }\r\n onInit(asn) {\r\n super.onInit(asn);\r\n if (this.values[0]) {\r\n const value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.values[0], _peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.ChallengePassword);\r\n this.password = value.toString();\r\n }\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n obj[TextObject.VALUE] = this.password;\r\n return obj;\r\n }\r\n}\r\nChallengePasswordAttribute.NAME = "Challenge Password";\n\nclass ExtensionsAttribute extends Attribute {\r\n constructor(...args) {\r\n var _a;\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n super(args[0]);\r\n }\r\n else {\r\n const extensions = args[0];\r\n const value = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extensions();\r\n for (const extension of extensions) {\r\n value.push(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(extension.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension));\r\n }\r\n super(_peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.id_pkcs9_at_extensionRequest, [_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(value)]);\r\n }\r\n (_a = this.items) !== null && _a !== void 0 ? _a : (this.items = []);\r\n }\r\n onInit(asn) {\r\n super.onInit(asn);\r\n if (this.values[0]) {\r\n const value = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.values[0], _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extensions);\r\n this.items = value.map(o => ExtensionFactory.create(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(o)));\r\n }\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectWithoutValue();\r\n const extensions = this.items.map(o => o.toTextObject());\r\n for (const extension of extensions) {\r\n obj[extension[TextObject.NAME]] = extension;\r\n }\r\n return obj;\r\n }\r\n}\r\nExtensionsAttribute.NAME = "Extensions";\n\nclass AttributeFactory {\r\n static register(id, type) {\r\n this.items.set(id, type);\r\n }\r\n static create(data) {\r\n const attribute = new Attribute(data);\r\n const Type = this.items.get(attribute.type);\r\n if (Type) {\r\n return new Type(data);\r\n }\r\n return attribute;\r\n }\r\n}\r\nAttributeFactory.items = new Map();\n\nlet RsaAlgorithm = class RsaAlgorithm {\r\n toAsnAlgorithm(alg) {\r\n switch (alg.name.toLowerCase()) {\r\n case "rsassa-pkcs1-v1_5":\r\n if (alg.hash) {\r\n switch (alg.hash.name.toLowerCase()) {\r\n case "sha-1":\r\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({ algorithm: _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha1WithRSAEncryption, parameters: null });\r\n case "sha-256":\r\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({ algorithm: _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha256WithRSAEncryption, parameters: null });\r\n case "sha-384":\r\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({ algorithm: _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha384WithRSAEncryption, parameters: null });\r\n case "sha-512":\r\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({ algorithm: _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha512WithRSAEncryption, parameters: null });\r\n }\r\n }\r\n else {\r\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({ algorithm: _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_rsaEncryption, parameters: null });\r\n }\r\n }\r\n return null;\r\n }\r\n toWebAlgorithm(alg) {\r\n switch (alg.algorithm) {\r\n case _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_rsaEncryption:\r\n return { name: "RSASSA-PKCS1-v1_5" };\r\n case _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha1WithRSAEncryption:\r\n return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-1" } };\r\n case _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha256WithRSAEncryption:\r\n return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-256" } };\r\n case _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha384WithRSAEncryption:\r\n return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-384" } };\r\n case _peculiar_asn1_rsa__WEBPACK_IMPORTED_MODULE_6__.id_sha512WithRSAEncryption:\r\n return { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-512" } };\r\n }\r\n return null;\r\n }\r\n};\r\nRsaAlgorithm = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__decorate)([\r\n (0,tsyringe__WEBPACK_IMPORTED_MODULE_7__.injectable)()\r\n], RsaAlgorithm);\r\ntsyringe__WEBPACK_IMPORTED_MODULE_7__.container.registerSingleton(diAlgorithm, RsaAlgorithm);\n\nclass AsnEcSignatureFormatter {\r\n addPadding(pointSize, data) {\r\n const bytes = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toUint8Array(data);\r\n const res = new Uint8Array(pointSize);\r\n res.set(bytes, pointSize - bytes.length);\r\n return res;\r\n }\r\n removePadding(data, positive = false) {\r\n let bytes = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toUint8Array(data);\r\n for (let i = 0; i < bytes.length; i++) {\r\n if (!bytes[i]) {\r\n continue;\r\n }\r\n bytes = bytes.slice(i);\r\n break;\r\n }\r\n if (positive && bytes[0] > 127) {\r\n const result = new Uint8Array(bytes.length + 1);\r\n result.set(bytes, 1);\r\n return result.buffer;\r\n }\r\n return bytes.buffer;\r\n }\r\n toAsnSignature(algorithm, signature) {\r\n if (algorithm.name === "ECDSA") {\r\n const namedCurve = algorithm.namedCurve;\r\n const pointSize = AsnEcSignatureFormatter.namedCurveSize.get(namedCurve) || AsnEcSignatureFormatter.defaultNamedCurveSize;\r\n const ecSignature = new _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ECDSASigValue();\r\n const uint8Signature = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toUint8Array(signature);\r\n ecSignature.r = this.removePadding(uint8Signature.slice(0, pointSize), true);\r\n ecSignature.s = this.removePadding(uint8Signature.slice(pointSize, pointSize + pointSize), true);\r\n return _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(ecSignature);\r\n }\r\n return null;\r\n }\r\n toWebSignature(algorithm, signature) {\r\n if (algorithm.name === "ECDSA") {\r\n const ecSigValue = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(signature, _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_5__.ECDSASigValue);\r\n const namedCurve = algorithm.namedCurve;\r\n const pointSize = AsnEcSignatureFormatter.namedCurveSize.get(namedCurve) || AsnEcSignatureFormatter.defaultNamedCurveSize;\r\n const r = this.addPadding(pointSize, this.removePadding(ecSigValue.r));\r\n const s = this.addPadding(pointSize, this.removePadding(ecSigValue.s));\r\n return (0,pvtsutils__WEBPACK_IMPORTED_MODULE_3__.combine)(r, s);\r\n }\r\n return null;\r\n }\r\n}\r\nAsnEcSignatureFormatter.namedCurveSize = new Map();\r\nAsnEcSignatureFormatter.defaultNamedCurveSize = 32;\n\nconst idX25519 = "1.3.101.110";\r\nconst idX448 = "1.3.101.111";\r\nconst idEd25519 = "1.3.101.112";\r\nconst idEd448 = "1.3.101.113";\r\nlet EdAlgorithm = class EdAlgorithm {\r\n toAsnAlgorithm(alg) {\r\n let algorithm = null;\r\n switch (alg.name.toLowerCase()) {\r\n case "eddsa":\r\n switch (alg.namedCurve.toLowerCase()) {\r\n case "ed25519":\r\n algorithm = idEd25519;\r\n break;\r\n case "ed448":\r\n algorithm = idEd448;\r\n break;\r\n }\r\n break;\r\n case "ecdh-es":\r\n switch (alg.namedCurve.toLowerCase()) {\r\n case "x25519":\r\n algorithm = idX25519;\r\n break;\r\n case "x448":\r\n algorithm = idX448;\r\n break;\r\n }\r\n }\r\n if (algorithm) {\r\n return new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.AlgorithmIdentifier({\r\n algorithm,\r\n });\r\n }\r\n return null;\r\n }\r\n toWebAlgorithm(alg) {\r\n switch (alg.algorithm) {\r\n case idEd25519:\r\n return { name: "EdDSA", namedCurve: "Ed25519" };\r\n case idEd448:\r\n return { name: "EdDSA", namedCurve: "Ed448" };\r\n case idX25519:\r\n return { name: "ECDH-ES", namedCurve: "X25519" };\r\n case idX448:\r\n return { name: "ECDH-ES", namedCurve: "X448" };\r\n }\r\n return null;\r\n }\r\n};\r\nEdAlgorithm = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__decorate)([\r\n (0,tsyringe__WEBPACK_IMPORTED_MODULE_7__.injectable)()\r\n], EdAlgorithm);\r\ntsyringe__WEBPACK_IMPORTED_MODULE_7__.container.registerSingleton(diAlgorithm, EdAlgorithm);\n\nclass Pkcs10CertificateRequest extends PemData {\r\n constructor(param) {\r\n if (PemData.isAsnEncoded(param)) {\r\n super(param, _peculiar_asn1_csr__WEBPACK_IMPORTED_MODULE_9__.CertificationRequest);\r\n }\r\n else {\r\n super(param);\r\n }\r\n this.tag = PemConverter.CertificateRequestTag;\r\n }\r\n onInit(asn) {\r\n this.tbs = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asn.certificationRequestInfo);\r\n this.publicKey = new PublicKey(asn.certificationRequestInfo.subjectPKInfo);\r\n const algProv = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolve(diAlgorithmProvider);\r\n this.signatureAlgorithm = algProv.toWebAlgorithm(asn.signatureAlgorithm);\r\n this.signature = asn.signature;\r\n this.attributes = asn.certificationRequestInfo.attributes\r\n .map(o => AttributeFactory.create(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(o)));\r\n const extensions = this.getAttribute(_peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.id_pkcs9_at_extensionRequest);\r\n this.extensions = [];\r\n if (extensions instanceof ExtensionsAttribute) {\r\n this.extensions = extensions.items;\r\n }\r\n this.subjectName = new Name(asn.certificationRequestInfo.subject);\r\n this.subject = this.subjectName.toString();\r\n }\r\n getAttribute(type) {\r\n for (const attr of this.attributes) {\r\n if (attr.type === type) {\r\n return attr;\r\n }\r\n }\r\n return null;\r\n }\r\n getAttributes(type) {\r\n return this.attributes.filter(o => o.type === type);\r\n }\r\n getExtension(type) {\r\n for (const ext of this.extensions) {\r\n if (ext.type === type) {\r\n return ext;\r\n }\r\n }\r\n return null;\r\n }\r\n getExtensions(type) {\r\n return this.extensions.filter(o => o.type === type);\r\n }\r\n async verify(crypto = cryptoProvider.get()) {\r\n const algorithm = { ...this.publicKey.algorithm, ...this.signatureAlgorithm };\r\n const publicKey = await this.publicKey.export(algorithm, ["verify"], crypto);\r\n const signatureFormatters = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolveAll(diAsnSignatureFormatter).reverse();\r\n let signature = null;\r\n for (const signatureFormatter of signatureFormatters) {\r\n signature = signatureFormatter.toWebSignature(algorithm, this.signature);\r\n if (signature) {\r\n break;\r\n }\r\n }\r\n if (!signature) {\r\n throw Error("Cannot convert WebCrypto signature value to ASN.1 format");\r\n }\r\n const ok = await crypto.subtle.verify(this.signatureAlgorithm, publicKey, signature, this.tbs);\r\n return ok;\r\n }\r\n toTextObject() {\r\n const obj = this.toTextObjectEmpty();\r\n const req = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.rawData, _peculiar_asn1_csr__WEBPACK_IMPORTED_MODULE_9__.CertificationRequest);\r\n const tbs = req.certificationRequestInfo;\r\n const data = new TextObject("", {\r\n "Version": `${_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Version[tbs.version]} (${tbs.version})`,\r\n "Subject": this.subject,\r\n "Subject Public Key Info": this.publicKey,\r\n });\r\n if (this.attributes.length) {\r\n const attrs = new TextObject("");\r\n for (const ext of this.attributes) {\r\n const attrObj = ext.toTextObject();\r\n attrs[attrObj[TextObject.NAME]] = attrObj;\r\n }\r\n data["Attributes"] = attrs;\r\n }\r\n obj["Data"] = data;\r\n obj["Signature"] = new TextObject("", {\r\n "Algorithm": TextConverter.serializeAlgorithm(req.signatureAlgorithm),\r\n "": req.signature,\r\n });\r\n return obj;\r\n }\r\n}\r\nPkcs10CertificateRequest.NAME = "PKCS#10 Certificate Request";\n\nclass Pkcs10CertificateRequestGenerator {\r\n static async create(params, crypto = cryptoProvider.get()) {\r\n if (!params.keys.privateKey) {\r\n throw new Error("Bad field \'keys\' in \'params\' argument. \'privateKey\' is empty");\r\n }\r\n if (!params.keys.publicKey) {\r\n throw new Error("Bad field \'keys\' in \'params\' argument. \'publicKey\' is empty");\r\n }\r\n const spki = await crypto.subtle.exportKey("spki", params.keys.publicKey);\r\n const asnReq = new _peculiar_asn1_csr__WEBPACK_IMPORTED_MODULE_9__.CertificationRequest({\r\n certificationRequestInfo: new _peculiar_asn1_csr__WEBPACK_IMPORTED_MODULE_9__.CertificationRequestInfo({\r\n subjectPKInfo: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(spki, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectPublicKeyInfo),\r\n }),\r\n });\r\n if (params.name) {\r\n const name = params.name instanceof Name\r\n ? params.name\r\n : new Name(params.name);\r\n asnReq.certificationRequestInfo.subject = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(name.toArrayBuffer(), _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name);\r\n }\r\n if (params.attributes) {\r\n for (const o of params.attributes) {\r\n asnReq.certificationRequestInfo.attributes.push(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(o.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Attribute));\r\n }\r\n }\r\n if (params.extensions && params.extensions.length) {\r\n const attr = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Attribute({ type: _peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.id_pkcs9_at_extensionRequest });\r\n const extensions = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extensions();\r\n for (const o of params.extensions) {\r\n extensions.push(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(o.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension));\r\n }\r\n attr.values.push(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(extensions));\r\n asnReq.certificationRequestInfo.attributes.push(attr);\r\n }\r\n const signingAlgorithm = { ...params.signingAlgorithm, ...params.keys.privateKey.algorithm };\r\n const algProv = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolve(diAlgorithmProvider);\r\n asnReq.signatureAlgorithm = algProv.toAsnAlgorithm(signingAlgorithm);\r\n const tbs = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asnReq.certificationRequestInfo);\r\n const signature = await crypto.subtle.sign(signingAlgorithm, params.keys.privateKey, tbs);\r\n const signatureFormatters = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolveAll(diAsnSignatureFormatter).reverse();\r\n let asnSignature = null;\r\n for (const signatureFormatter of signatureFormatters) {\r\n asnSignature = signatureFormatter.toAsnSignature(signingAlgorithm, signature);\r\n if (asnSignature) {\r\n break;\r\n }\r\n }\r\n if (!asnSignature) {\r\n throw Error("Cannot convert WebCrypto signature value to ASN.1 format");\r\n }\r\n asnReq.signature = asnSignature;\r\n return new Pkcs10CertificateRequest(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asnReq));\r\n }\r\n}\n\nclass X509Certificates extends Array {\r\n constructor(param) {\r\n super();\r\n if (PemData.isAsnEncoded(param)) {\r\n this.import(param);\r\n }\r\n else if (param instanceof X509Certificate) {\r\n this.push(param);\r\n }\r\n else if (Array.isArray(param)) {\r\n for (const item of param) {\r\n this.push(item);\r\n }\r\n }\r\n }\r\n export(format) {\r\n const signedData = new _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.SignedData();\r\n signedData.version = 1;\r\n signedData.encapContentInfo.eContentType = _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.id_data;\r\n signedData.encapContentInfo.eContent = new _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.EncapsulatedContent({\r\n single: new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString(),\r\n });\r\n signedData.certificates = new _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.CertificateSet(this.map(o => new _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.CertificateChoices({\r\n certificate: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(o.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Certificate)\r\n })));\r\n const cms = new _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.ContentInfo({\r\n contentType: _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.id_signedData,\r\n content: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(signedData),\r\n });\r\n const raw = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(cms);\r\n if (format === "raw") {\r\n return raw;\r\n }\r\n return this.toString(format);\r\n }\r\n import(data) {\r\n const raw = PemData.toArrayBuffer(data);\r\n const cms = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(raw, _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.ContentInfo);\r\n if (cms.contentType !== _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.id_signedData) {\r\n throw new TypeError("Cannot parse CMS package. Incoming data is not a SignedData object.");\r\n }\r\n const signedData = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(cms.content, _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.SignedData);\r\n this.clear();\r\n for (const item of signedData.certificates || []) {\r\n if (item.certificate) {\r\n this.push(new X509Certificate(item.certificate));\r\n }\r\n }\r\n }\r\n clear() {\r\n while (this.pop()) {\r\n }\r\n }\r\n toString(format = "pem") {\r\n const raw = this.export("raw");\r\n switch (format) {\r\n case "pem":\r\n return PemConverter.encode(raw, "CMS");\r\n case "pem-chain":\r\n return this\r\n .map(o => o.toString("pem"))\r\n .join("\\n");\r\n case "asn":\r\n return _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.toString(raw);\r\n case "hex":\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(raw);\r\n case "base64":\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToBase64(raw);\r\n case "base64url":\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToBase64Url(raw);\r\n case "text":\r\n return TextConverter.serialize(this.toTextObject());\r\n default:\r\n throw TypeError("Argument \'format\' is unsupported value");\r\n }\r\n }\r\n toTextObject() {\r\n const contentInfo = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(this.export("raw"), _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.ContentInfo);\r\n const signedData = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(contentInfo.content, _peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.SignedData);\r\n const obj = new TextObject("X509Certificates", {\r\n "Content Type": OidSerializer.toString(contentInfo.contentType),\r\n "Content": new TextObject("", {\r\n "Version": `${_peculiar_asn1_cms__WEBPACK_IMPORTED_MODULE_4__.CMSVersion[signedData.version]} (${signedData.version})`,\r\n "Certificates": new TextObject("", { "Certificate": this.map(o => o.toTextObject()) }),\r\n }),\r\n });\r\n return obj;\r\n }\r\n}\n\nclass X509ChainBuilder {\r\n constructor(params = {}) {\r\n this.certificates = [];\r\n if (params.certificates) {\r\n this.certificates = params.certificates;\r\n }\r\n }\r\n async build(cert, crypto = cryptoProvider.get()) {\r\n const chain = new X509Certificates(cert);\r\n let current = cert;\r\n while (current = await this.findIssuer(current, crypto)) {\r\n const thumbprint = await current.getThumbprint(crypto);\r\n for (const item of chain) {\r\n const thumbprint2 = await item.getThumbprint(crypto);\r\n if ((0,pvtsutils__WEBPACK_IMPORTED_MODULE_3__.isEqual)(thumbprint, thumbprint2)) {\r\n throw new Error("Cannot build a certificate chain. Circular dependency.");\r\n }\r\n }\r\n chain.push(current);\r\n }\r\n return chain;\r\n }\r\n async findIssuer(cert, crypto = cryptoProvider.get()) {\r\n if (!await cert.isSelfSigned(crypto)) {\r\n const akiExt = cert.getExtension(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_authorityKeyIdentifier);\r\n for (const item of this.certificates) {\r\n if (item.subject !== cert.issuer) {\r\n continue;\r\n }\r\n if (akiExt) {\r\n if (akiExt.keyId) {\r\n const skiExt = item.getExtension(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_subjectKeyIdentifier);\r\n if (skiExt && skiExt.keyId !== akiExt.keyId) {\r\n continue;\r\n }\r\n }\r\n else if (akiExt.certId) {\r\n const sanExt = item.getExtension(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_subjectAltName);\r\n if (sanExt &&\r\n !(akiExt.certId.serialNumber === item.serialNumber && (0,pvtsutils__WEBPACK_IMPORTED_MODULE_3__.isEqual)(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(akiExt.certId.name), _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(sanExt)))) {\r\n continue;\r\n }\r\n }\r\n }\r\n if (!await cert.verify({\r\n publicKey: await item.publicKey.export(crypto),\r\n signatureOnly: true,\r\n }, crypto)) {\r\n continue;\r\n }\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n}\n\nclass X509CertificateGenerator {\r\n static async createSelfSigned(params, crypto = cryptoProvider.get()) {\r\n if (!params.keys.privateKey) {\r\n throw new Error("Bad field \'keys\' in \'params\' argument. \'privateKey\' is empty");\r\n }\r\n if (!params.keys.publicKey) {\r\n throw new Error("Bad field \'keys\' in \'params\' argument. \'privateKey\' is empty");\r\n }\r\n return this.create({\r\n serialNumber: params.serialNumber,\r\n subject: params.name,\r\n issuer: params.name,\r\n notBefore: params.notBefore,\r\n notAfter: params.notAfter,\r\n publicKey: params.keys.publicKey,\r\n signingKey: params.keys.privateKey,\r\n signingAlgorithm: params.signingAlgorithm,\r\n extensions: params.extensions,\r\n }, crypto);\r\n }\r\n static async create(params, crypto = cryptoProvider.get()) {\r\n var _a;\r\n let spki;\r\n if (params.publicKey instanceof PublicKey) {\r\n spki = params.publicKey.rawData;\r\n }\r\n else if ("publicKey" in params.publicKey) {\r\n spki = params.publicKey.publicKey.rawData;\r\n }\r\n else if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(params.publicKey)) {\r\n spki = params.publicKey;\r\n }\r\n else {\r\n spki = await crypto.subtle.exportKey("spki", params.publicKey);\r\n }\r\n const asnX509 = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Certificate({\r\n tbsCertificate: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.TBSCertificate({\r\n version: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Version.v3,\r\n serialNumber: pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.FromHex(params.serialNumber),\r\n validity: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Validity({\r\n notBefore: params.notBefore,\r\n notAfter: params.notAfter,\r\n }),\r\n extensions: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extensions(((_a = params.extensions) === null || _a === void 0 ? void 0 : _a.map(o => _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(o.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension))) || []),\r\n subjectPublicKeyInfo: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(spki, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.SubjectPublicKeyInfo),\r\n }),\r\n });\r\n if (params.subject) {\r\n const name = params.subject instanceof Name\r\n ? params.subject\r\n : new Name(params.subject);\r\n asnX509.tbsCertificate.subject = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(name.toArrayBuffer(), _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name);\r\n }\r\n if (params.issuer) {\r\n const name = params.issuer instanceof Name\r\n ? params.issuer\r\n : new Name(params.issuer);\r\n asnX509.tbsCertificate.issuer = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(name.toArrayBuffer(), _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name);\r\n }\r\n const signatureAlgorithm = ("signingKey" in params)\r\n ? { ...params.signingAlgorithm, ...params.signingKey.algorithm }\r\n : params.publicKey.algorithm;\r\n const algProv = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolve(diAlgorithmProvider);\r\n asnX509.tbsCertificate.signature = asnX509.signatureAlgorithm = algProv.toAsnAlgorithm(signatureAlgorithm);\r\n const tbs = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asnX509.tbsCertificate);\r\n const signatureValue = ("signingKey" in params)\r\n ? await crypto.subtle.sign(signatureAlgorithm, params.signingKey, tbs)\r\n : params.signature;\r\n const signatureFormatters = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolveAll(diAsnSignatureFormatter).reverse();\r\n let asnSignature = null;\r\n for (const signatureFormatter of signatureFormatters) {\r\n asnSignature = signatureFormatter.toAsnSignature(signatureAlgorithm, signatureValue);\r\n if (asnSignature) {\r\n break;\r\n }\r\n }\r\n if (!asnSignature) {\r\n throw Error("Cannot convert ASN.1 signature value to WebCrypto format");\r\n }\r\n asnX509.signatureValue = asnSignature;\r\n return new X509Certificate(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asnX509));\r\n }\r\n}\n\nvar X509CrlReason;\r\n(function (X509CrlReason) {\r\n X509CrlReason[X509CrlReason["unspecified"] = 0] = "unspecified";\r\n X509CrlReason[X509CrlReason["keyCompromise"] = 1] = "keyCompromise";\r\n X509CrlReason[X509CrlReason["cACompromise"] = 2] = "cACompromise";\r\n X509CrlReason[X509CrlReason["affiliationChanged"] = 3] = "affiliationChanged";\r\n X509CrlReason[X509CrlReason["superseded"] = 4] = "superseded";\r\n X509CrlReason[X509CrlReason["cessationOfOperation"] = 5] = "cessationOfOperation";\r\n X509CrlReason[X509CrlReason["certificateHold"] = 6] = "certificateHold";\r\n X509CrlReason[X509CrlReason["removeFromCRL"] = 8] = "removeFromCRL";\r\n X509CrlReason[X509CrlReason["privilegeWithdrawn"] = 9] = "privilegeWithdrawn";\r\n X509CrlReason[X509CrlReason["aACompromise"] = 10] = "aACompromise";\r\n})(X509CrlReason || (X509CrlReason = {}));\r\nclass X509CrlEntry extends AsnData {\r\n constructor(...args) {\r\n let raw;\r\n if (pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.isBufferSource(args[0])) {\r\n raw = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.BufferSourceConverter.toArrayBuffer(args[0]);\r\n }\r\n else {\r\n raw = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.RevokedCertificate({\r\n userCertificate: args[0],\r\n revocationDate: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Time(args[1]),\r\n crlEntryExtensions: args[2],\r\n }));\r\n }\r\n super(raw, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.RevokedCertificate);\r\n }\r\n onInit(asn) {\r\n this.serialNumber = pvtsutils__WEBPACK_IMPORTED_MODULE_3__.Convert.ToHex(asn.userCertificate);\r\n this.revocationDate = asn.revocationDate.getTime();\r\n this.extensions = [];\r\n if (asn.crlEntryExtensions) {\r\n this.extensions = asn.crlEntryExtensions.map((o) => {\r\n const extension = ExtensionFactory.create(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(o));\r\n switch (extension.type) {\r\n case _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_cRLReasons:\r\n this.reason = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(extension.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.CRLReason).reason;\r\n break;\r\n case _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_invalidityDate:\r\n this.invalidity = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(extension.value, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.InvalidityDate).value;\r\n break;\r\n }\r\n return extension;\r\n });\r\n }\r\n }\r\n}\n\nclass X509Crl extends PemData {\r\n constructor(param) {\r\n if (PemData.isAsnEncoded(param)) {\r\n super(param, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.CertificateList);\r\n }\r\n else {\r\n super(param);\r\n }\r\n this.tag = PemConverter.CrlTag;\r\n }\r\n onInit(asn) {\r\n var _a, _b;\r\n const tbs = asn.tbsCertList;\r\n this.tbs = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(tbs);\r\n this.version = tbs.version;\r\n const algProv = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolve(diAlgorithmProvider);\r\n this.signatureAlgorithm = algProv.toWebAlgorithm(asn.signatureAlgorithm);\r\n this.tbsCertListSignatureAlgorithm = tbs.signature;\r\n this.certListSignatureAlgorithm = asn.signatureAlgorithm;\r\n this.signature = asn.signature;\r\n this.issuerName = new Name(tbs.issuer);\r\n this.issuer = this.issuerName.toString();\r\n const thisUpdate = tbs.thisUpdate.getTime();\r\n if (!thisUpdate) {\r\n throw new Error("Cannot get \'thisUpdate\' value");\r\n }\r\n this.thisUpdate = thisUpdate;\r\n const nextUpdate = (_a = tbs.nextUpdate) === null || _a === void 0 ? void 0 : _a.getTime();\r\n this.nextUpdate = nextUpdate;\r\n this.entries = ((_b = tbs.revokedCertificates) === null || _b === void 0 ? void 0 : _b.map(o => new X509CrlEntry(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(o)))) || [];\r\n this.extensions = [];\r\n if (tbs.crlExtensions) {\r\n this.extensions = tbs.crlExtensions.map((o) => ExtensionFactory.create(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(o)));\r\n }\r\n }\r\n getExtension(type) {\r\n for (const ext of this.extensions) {\r\n if (typeof type === "string") {\r\n if (ext.type === type) {\r\n return ext;\r\n }\r\n }\r\n else {\r\n if (ext instanceof type) {\r\n return ext;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n getExtensions(type) {\r\n return this.extensions.filter((o) => {\r\n if (typeof type === "string") {\r\n return o.type === type;\r\n }\r\n else {\r\n return o instanceof type;\r\n }\r\n });\r\n }\r\n async verify(params, crypto = cryptoProvider.get()) {\r\n if (!this.certListSignatureAlgorithm.isEqual(this.tbsCertListSignatureAlgorithm)) {\r\n throw new Error("algorithm identifier in the sequence tbsCertList and CertificateList mismatch");\r\n }\r\n let keyAlgorithm;\r\n let publicKey;\r\n const paramsKey = params.publicKey;\r\n try {\r\n if (paramsKey instanceof X509Certificate) {\r\n keyAlgorithm = {\r\n ...paramsKey.publicKey.algorithm,\r\n ...paramsKey.signatureAlgorithm,\r\n };\r\n publicKey = await paramsKey.publicKey.export(keyAlgorithm, ["verify"]);\r\n }\r\n else if (paramsKey instanceof PublicKey) {\r\n keyAlgorithm = { ...paramsKey.algorithm, ...this.signature };\r\n publicKey = await paramsKey.export(keyAlgorithm, ["verify"]);\r\n }\r\n else {\r\n keyAlgorithm = { ...paramsKey.algorithm, ...this.signature };\r\n publicKey = paramsKey;\r\n }\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n const signatureFormatters = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolveAll(diAsnSignatureFormatter).reverse();\r\n let signature = null;\r\n for (const signatureFormatter of signatureFormatters) {\r\n signature = signatureFormatter.toWebSignature(keyAlgorithm, this.signature);\r\n if (signature) {\r\n break;\r\n }\r\n }\r\n if (!signature) {\r\n throw Error("Cannot convert ASN.1 signature value to WebCrypto format");\r\n }\r\n return await crypto.subtle.verify(this.signatureAlgorithm, publicKey, signature, this.tbs);\r\n }\r\n async getThumbprint(...args) {\r\n let crypto;\r\n let algorithm = "SHA-1";\r\n if (args[0]) {\r\n if (!args[0].subtle) {\r\n algorithm = args[0] || algorithm;\r\n crypto = args[1];\r\n }\r\n else {\r\n crypto = args[0];\r\n }\r\n }\r\n crypto !== null && crypto !== void 0 ? crypto : (crypto = cryptoProvider.get());\r\n return await crypto.subtle.digest(algorithm, this.rawData);\r\n }\r\n findRevoked(certOrSerialNumber) {\r\n const serialNumber = typeof certOrSerialNumber === "string" ? certOrSerialNumber : certOrSerialNumber.serialNumber;\r\n for (const entry of this.entries) {\r\n if (entry.serialNumber === serialNumber) {\r\n return entry;\r\n }\r\n }\r\n return null;\r\n }\r\n}\n\nclass X509CrlGenerator {\r\n static async create(params, crypto = cryptoProvider.get()) {\r\n var _a;\r\n const name = params.issuer instanceof Name\r\n ? params.issuer\r\n : new Name(params.issuer);\r\n const asnX509Crl = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.CertificateList({\r\n tbsCertList: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.TBSCertList({\r\n version: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Version.v2,\r\n issuer: _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(name.toArrayBuffer(), _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name),\r\n thisUpdate: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Time(params.thisUpdate || new Date()),\r\n }),\r\n });\r\n if (params.nextUpdate) {\r\n asnX509Crl.tbsCertList.nextUpdate = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Time(params.nextUpdate);\r\n }\r\n if (params.extensions && params.extensions.length) {\r\n asnX509Crl.tbsCertList.crlExtensions = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extensions(params.extensions.map(o => _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(o.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension)) || []);\r\n }\r\n if (params.entries && params.entries.length) {\r\n asnX509Crl.tbsCertList.revokedCertificates = [];\r\n for (const entry of params.entries) {\r\n const userCertificate = PemData.toArrayBuffer(entry.serialNumber);\r\n const index = asnX509Crl.tbsCertList.revokedCertificates.findIndex(cert => (0,pvtsutils__WEBPACK_IMPORTED_MODULE_3__.isEqual)(cert.userCertificate, userCertificate));\r\n if (index > -1) {\r\n throw new Error(`Certificate serial number ${entry.serialNumber} already exists in tbsCertList`);\r\n }\r\n const revokedCert = new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.RevokedCertificate({\r\n userCertificate: userCertificate,\r\n revocationDate: new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Time(entry.revocationDate || new Date())\r\n });\r\n if ("extensions" in entry && ((_a = entry.extensions) === null || _a === void 0 ? void 0 : _a.length)) {\r\n revokedCert.crlEntryExtensions = entry.extensions.map(o => _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(o.rawData, _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension));\r\n }\r\n else {\r\n revokedCert.crlEntryExtensions = [];\r\n }\r\n if (!(entry instanceof X509CrlEntry)) {\r\n if (entry.reason) {\r\n revokedCert.crlEntryExtensions.push(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension({\r\n extnID: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_cRLReasons,\r\n critical: false,\r\n extnValue: new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.CRLReason(entry.reason))),\r\n }));\r\n }\r\n if (entry.invalidity) {\r\n revokedCert.crlEntryExtensions.push(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension({\r\n extnID: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_invalidityDate,\r\n critical: false,\r\n extnValue: new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.InvalidityDate(entry.invalidity))),\r\n }));\r\n }\r\n if (entry.issuer) {\r\n const name = params.issuer instanceof Name\r\n ? params.issuer\r\n : new Name(params.issuer);\r\n revokedCert.crlEntryExtensions.push(new _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Extension({\r\n extnID: _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_certificateIssuer,\r\n critical: false,\r\n extnValue: new _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.OctetString(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.parse(name.toArrayBuffer(), _peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.Name))),\r\n }));\r\n }\r\n }\r\n asnX509Crl.tbsCertList.revokedCertificates.push(revokedCert);\r\n }\r\n }\r\n const signingAlgorithm = { ...params.signingAlgorithm, ...params.signingKey.algorithm };\r\n const algProv = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolve(diAlgorithmProvider);\r\n asnX509Crl.tbsCertList.signature = asnX509Crl.signatureAlgorithm = algProv.toAsnAlgorithm(signingAlgorithm);\r\n const tbs = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asnX509Crl.tbsCertList);\r\n const signature = await crypto.subtle.sign(signingAlgorithm, params.signingKey, tbs);\r\n const signatureFormatters = tsyringe__WEBPACK_IMPORTED_MODULE_7__.container.resolveAll(diAsnSignatureFormatter).reverse();\r\n let asnSignature = null;\r\n for (const signatureFormatter of signatureFormatters) {\r\n asnSignature = signatureFormatter.toAsnSignature(signingAlgorithm, signature);\r\n if (asnSignature) {\r\n break;\r\n }\r\n }\r\n if (!asnSignature) {\r\n throw Error("Cannot convert ASN.1 signature value to WebCrypto format");\r\n }\r\n asnX509Crl.signature = asnSignature;\r\n return new X509Crl(_peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_1__.AsnConvert.serialize(asnX509Crl));\r\n }\r\n}\n\nExtensionFactory.register(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_basicConstraints, BasicConstraintsExtension);\r\nExtensionFactory.register(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_extKeyUsage, ExtendedKeyUsageExtension);\r\nExtensionFactory.register(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_keyUsage, KeyUsagesExtension);\r\nExtensionFactory.register(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_subjectKeyIdentifier, SubjectKeyIdentifierExtension);\r\nExtensionFactory.register(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_authorityKeyIdentifier, AuthorityKeyIdentifierExtension);\r\nExtensionFactory.register(_peculiar_asn1_x509__WEBPACK_IMPORTED_MODULE_2__.id_ce_subjectAltName, SubjectAlternativeNameExtension);\r\nAttributeFactory.register(_peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.id_pkcs9_at_challengePassword, ChallengePasswordAttribute);\r\nAttributeFactory.register(_peculiar_asn1_pkcs9__WEBPACK_IMPORTED_MODULE_8__.id_pkcs9_at_extensionRequest, ExtensionsAttribute);\r\ntsyringe__WEBPACK_IMPORTED_MODULE_7__.container.registerSingleton(diAsnSignatureFormatter, AsnDefaultSignatureFormatter);\r\ntsyringe__WEBPACK_IMPORTED_MODULE_7__.container.registerSingleton(diAsnSignatureFormatter, AsnEcSignatureFormatter);\r\nAsnEcSignatureFormatter.namedCurveSize.set("P-256", 32);\r\nAsnEcSignatureFormatter.namedCurveSize.set("K-256", 32);\r\nAsnEcSignatureFormatter.namedCurveSize.set("P-384", 48);\r\nAsnEcSignatureFormatter.namedCurveSize.set("P-521", 66);\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/x509/build/x509.es.js?')},"../wabac.js/node_modules/@peculiar/x509/node_modules/tslib/tslib.es6.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/@peculiar/x509/node_modules/tslib/tslib.es6.js ***!
\*******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "__assign": () => (/* binding */ __assign),\n/* harmony export */ "__asyncDelegator": () => (/* binding */ __asyncDelegator),\n/* harmony export */ "__asyncGenerator": () => (/* binding */ __asyncGenerator),\n/* harmony export */ "__asyncValues": () => (/* binding */ __asyncValues),\n/* harmony export */ "__await": () => (/* binding */ __await),\n/* harmony export */ "__awaiter": () => (/* binding */ __awaiter),\n/* harmony export */ "__classPrivateFieldGet": () => (/* binding */ __classPrivateFieldGet),\n/* harmony export */ "__classPrivateFieldIn": () => (/* binding */ __classPrivateFieldIn),\n/* harmony export */ "__classPrivateFieldSet": () => (/* binding */ __classPrivateFieldSet),\n/* harmony export */ "__createBinding": () => (/* binding */ __createBinding),\n/* harmony export */ "__decorate": () => (/* binding */ __decorate),\n/* harmony export */ "__exportStar": () => (/* binding */ __exportStar),\n/* harmony export */ "__extends": () => (/* binding */ __extends),\n/* harmony export */ "__generator": () => (/* binding */ __generator),\n/* harmony export */ "__importDefault": () => (/* binding */ __importDefault),\n/* harmony export */ "__importStar": () => (/* binding */ __importStar),\n/* harmony export */ "__makeTemplateObject": () => (/* binding */ __makeTemplateObject),\n/* harmony export */ "__metadata": () => (/* binding */ __metadata),\n/* harmony export */ "__param": () => (/* binding */ __param),\n/* harmony export */ "__read": () => (/* binding */ __read),\n/* harmony export */ "__rest": () => (/* binding */ __rest),\n/* harmony export */ "__spread": () => (/* binding */ __spread),\n/* harmony export */ "__spreadArray": () => (/* binding */ __spreadArray),\n/* harmony export */ "__spreadArrays": () => (/* binding */ __spreadArrays),\n/* harmony export */ "__values": () => (/* binding */ __values)\n/* harmony export */ });\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== "function" && b !== null)\r\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError("Generator is already executing.");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nfunction __exportStar(m, o) {\r\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === "number") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === "function" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i["return"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume("next", value); }\r\n function reject(value) { resume("throw", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, "default", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o["default"] = v;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\r\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\r\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === "m") throw new TypeError("Private method is not writable");\r\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");\r\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");\r\n return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nfunction __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use \'in\' operator on non-object");\r\n return typeof state === "function" ? receiver === state : state.has(receiver);\r\n}\r\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/@peculiar/x509/node_modules/tslib/tslib.es6.js?')},"../wabac.js/node_modules/asn1js/build/index.es.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/asn1js/build/index.es.js ***!
\*********************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Any": () => (/* binding */ Any),\n/* harmony export */ "BaseBlock": () => (/* binding */ BaseBlock),\n/* harmony export */ "BaseStringBlock": () => (/* binding */ BaseStringBlock),\n/* harmony export */ "BitString": () => (/* binding */ BitString),\n/* harmony export */ "BmpString": () => (/* binding */ BmpString),\n/* harmony export */ "Boolean": () => (/* binding */ Boolean),\n/* harmony export */ "CharacterString": () => (/* binding */ CharacterString),\n/* harmony export */ "Choice": () => (/* binding */ Choice),\n/* harmony export */ "Constructed": () => (/* binding */ Constructed),\n/* harmony export */ "DATE": () => (/* binding */ DATE),\n/* harmony export */ "DateTime": () => (/* binding */ DateTime),\n/* harmony export */ "Duration": () => (/* binding */ Duration),\n/* harmony export */ "EndOfContent": () => (/* binding */ EndOfContent),\n/* harmony export */ "Enumerated": () => (/* binding */ Enumerated),\n/* harmony export */ "GeneralString": () => (/* binding */ GeneralString),\n/* harmony export */ "GeneralizedTime": () => (/* binding */ GeneralizedTime),\n/* harmony export */ "GraphicString": () => (/* binding */ GraphicString),\n/* harmony export */ "HexBlock": () => (/* binding */ HexBlock),\n/* harmony export */ "IA5String": () => (/* binding */ IA5String),\n/* harmony export */ "Integer": () => (/* binding */ Integer),\n/* harmony export */ "Null": () => (/* binding */ Null),\n/* harmony export */ "NumericString": () => (/* binding */ NumericString),\n/* harmony export */ "ObjectIdentifier": () => (/* binding */ ObjectIdentifier),\n/* harmony export */ "OctetString": () => (/* binding */ OctetString),\n/* harmony export */ "Primitive": () => (/* binding */ Primitive),\n/* harmony export */ "PrintableString": () => (/* binding */ PrintableString),\n/* harmony export */ "RawData": () => (/* binding */ RawData),\n/* harmony export */ "RelativeObjectIdentifier": () => (/* binding */ RelativeObjectIdentifier),\n/* harmony export */ "Repeated": () => (/* binding */ Repeated),\n/* harmony export */ "Sequence": () => (/* binding */ Sequence),\n/* harmony export */ "Set": () => (/* binding */ Set),\n/* harmony export */ "TIME": () => (/* binding */ TIME),\n/* harmony export */ "TeletexString": () => (/* binding */ TeletexString),\n/* harmony export */ "TimeOfDay": () => (/* binding */ TimeOfDay),\n/* harmony export */ "UTCTime": () => (/* binding */ UTCTime),\n/* harmony export */ "UniversalString": () => (/* binding */ UniversalString),\n/* harmony export */ "Utf8String": () => (/* binding */ Utf8String),\n/* harmony export */ "ValueBlock": () => (/* binding */ ValueBlock),\n/* harmony export */ "VideotexString": () => (/* binding */ VideotexString),\n/* harmony export */ "ViewWriter": () => (/* binding */ ViewWriter),\n/* harmony export */ "VisibleString": () => (/* binding */ VisibleString),\n/* harmony export */ "compareSchema": () => (/* binding */ compareSchema),\n/* harmony export */ "fromBER": () => (/* binding */ fromBER),\n/* harmony export */ "verifySchema": () => (/* binding */ verifySchema)\n/* harmony export */ });\n/* harmony import */ var pvtsutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pvtsutils */ "../wabac.js/node_modules/pvtsutils/build/index.js");\n/* harmony import */ var pvutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pvutils */ "../wabac.js/node_modules/pvutils/build/utils.es.js");\n/*!\n * Copyright (c) 2014, GMO GlobalSign\n * Copyright (c) 2015-2022, Peculiar Ventures\n * All rights reserved.\n * \n * Author 2014-2019, Yury Strozhevsky\n * \n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * \n * * Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * \n * * Redistributions in binary form must reproduce the above copyright notice, this\n * list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * \n * * Neither the name of the copyright holder nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\n * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n * \n */\n\n\n\n\nfunction assertBigInt() {\r\n if (typeof BigInt === "undefined") {\r\n throw new Error("BigInt is not defined. Your environment doesn\'t implement BigInt.");\r\n }\r\n}\r\nfunction concat(buffers) {\r\n let outputLength = 0;\r\n let prevLength = 0;\r\n for (let i = 0; i < buffers.length; i++) {\r\n const buffer = buffers[i];\r\n outputLength += buffer.byteLength;\r\n }\r\n const retView = new Uint8Array(outputLength);\r\n for (let i = 0; i < buffers.length; i++) {\r\n const buffer = buffers[i];\r\n retView.set(new Uint8Array(buffer), prevLength);\r\n prevLength += buffer.byteLength;\r\n }\r\n return retView.buffer;\r\n}\r\nfunction checkBufferParams(baseBlock, inputBuffer, inputOffset, inputLength) {\r\n if (!(inputBuffer instanceof Uint8Array)) {\r\n baseBlock.error = "Wrong parameter: inputBuffer must be \'Uint8Array\'";\r\n return false;\r\n }\r\n if (!inputBuffer.byteLength) {\r\n baseBlock.error = "Wrong parameter: inputBuffer has zero length";\r\n return false;\r\n }\r\n if (inputOffset < 0) {\r\n baseBlock.error = "Wrong parameter: inputOffset less than zero";\r\n return false;\r\n }\r\n if (inputLength < 0) {\r\n baseBlock.error = "Wrong parameter: inputLength less than zero";\r\n return false;\r\n }\r\n if ((inputBuffer.byteLength - inputOffset - inputLength) < 0) {\r\n baseBlock.error = "End of input reached before message was fully decoded (inconsistent offset and length values)";\r\n return false;\r\n }\r\n return true;\r\n}\n\nclass ViewWriter {\r\n constructor() {\r\n this.items = [];\r\n }\r\n write(buf) {\r\n this.items.push(buf);\r\n }\r\n final() {\r\n return concat(this.items);\r\n }\r\n}\n\nconst powers2 = [new Uint8Array([1])];\r\nconst digitsString = "0123456789";\r\nconst NAME = "name";\r\nconst VALUE_HEX_VIEW = "valueHexView";\r\nconst IS_HEX_ONLY = "isHexOnly";\r\nconst ID_BLOCK = "idBlock";\r\nconst TAG_CLASS = "tagClass";\r\nconst TAG_NUMBER = "tagNumber";\r\nconst IS_CONSTRUCTED = "isConstructed";\r\nconst FROM_BER = "fromBER";\r\nconst TO_BER = "toBER";\r\nconst LOCAL = "local";\r\nconst EMPTY_STRING = "";\r\nconst EMPTY_BUFFER = new ArrayBuffer(0);\r\nconst EMPTY_VIEW = new Uint8Array(0);\r\nconst END_OF_CONTENT_NAME = "EndOfContent";\r\nconst OCTET_STRING_NAME = "OCTET STRING";\r\nconst BIT_STRING_NAME = "BIT STRING";\n\nfunction HexBlock(BaseClass) {\r\n var _a;\r\n return _a = class Some extends BaseClass {\r\n constructor(...args) {\r\n var _a;\r\n super(...args);\r\n const params = args[0] || {};\r\n this.isHexOnly = (_a = params.isHexOnly) !== null && _a !== void 0 ? _a : false;\r\n this.valueHexView = params.valueHex ? pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(params.valueHex) : EMPTY_VIEW;\r\n }\r\n get valueHex() {\r\n return this.valueHexView.slice().buffer;\r\n }\r\n set valueHex(value) {\r\n this.valueHexView = new Uint8Array(value);\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const view = inputBuffer instanceof ArrayBuffer ? new Uint8Array(inputBuffer) : inputBuffer;\r\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\r\n return -1;\r\n }\r\n const endLength = inputOffset + inputLength;\r\n this.valueHexView = view.subarray(inputOffset, endLength);\r\n if (!this.valueHexView.length) {\r\n this.warnings.push("Zero buffer length");\r\n return inputOffset;\r\n }\r\n this.blockLength = inputLength;\r\n return endLength;\r\n }\r\n toBER(sizeOnly = false) {\r\n if (!this.isHexOnly) {\r\n this.error = "Flag \'isHexOnly\' is not set, abort";\r\n return EMPTY_BUFFER;\r\n }\r\n if (sizeOnly) {\r\n return new ArrayBuffer(this.valueHexView.byteLength);\r\n }\r\n return (this.valueHexView.byteLength === this.valueHexView.buffer.byteLength)\r\n ? this.valueHexView.buffer\r\n : this.valueHexView.slice().buffer;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n isHexOnly: this.isHexOnly,\r\n valueHex: pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(this.valueHexView),\r\n };\r\n }\r\n },\r\n _a.NAME = "hexBlock",\r\n _a;\r\n}\n\nclass LocalBaseBlock {\r\n constructor({ blockLength = 0, error = EMPTY_STRING, warnings = [], valueBeforeDecode = EMPTY_VIEW, } = {}) {\r\n this.blockLength = blockLength;\r\n this.error = error;\r\n this.warnings = warnings;\r\n this.valueBeforeDecodeView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(valueBeforeDecode);\r\n }\r\n static blockName() {\r\n return this.NAME;\r\n }\r\n get valueBeforeDecode() {\r\n return this.valueBeforeDecodeView.slice().buffer;\r\n }\r\n set valueBeforeDecode(value) {\r\n this.valueBeforeDecodeView = new Uint8Array(value);\r\n }\r\n toJSON() {\r\n return {\r\n blockName: this.constructor.NAME,\r\n blockLength: this.blockLength,\r\n error: this.error,\r\n warnings: this.warnings,\r\n valueBeforeDecode: pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(this.valueBeforeDecodeView),\r\n };\r\n }\r\n}\r\nLocalBaseBlock.NAME = "baseBlock";\n\nclass ValueBlock extends LocalBaseBlock {\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n throw TypeError("User need to make a specific function in a class which extends \'ValueBlock\'");\r\n }\r\n toBER(sizeOnly, writer) {\r\n throw TypeError("User need to make a specific function in a class which extends \'ValueBlock\'");\r\n }\r\n}\r\nValueBlock.NAME = "valueBlock";\n\nclass LocalIdentificationBlock extends HexBlock(LocalBaseBlock) {\r\n constructor({ idBlock = {}, } = {}) {\r\n var _a, _b, _c, _d;\r\n super();\r\n if (idBlock) {\r\n this.isHexOnly = (_a = idBlock.isHexOnly) !== null && _a !== void 0 ? _a : false;\r\n this.valueHexView = idBlock.valueHex ? pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(idBlock.valueHex) : EMPTY_VIEW;\r\n this.tagClass = (_b = idBlock.tagClass) !== null && _b !== void 0 ? _b : -1;\r\n this.tagNumber = (_c = idBlock.tagNumber) !== null && _c !== void 0 ? _c : -1;\r\n this.isConstructed = (_d = idBlock.isConstructed) !== null && _d !== void 0 ? _d : false;\r\n }\r\n else {\r\n this.tagClass = -1;\r\n this.tagNumber = -1;\r\n this.isConstructed = false;\r\n }\r\n }\r\n toBER(sizeOnly = false) {\r\n let firstOctet = 0;\r\n switch (this.tagClass) {\r\n case 1:\r\n firstOctet |= 0x00;\r\n break;\r\n case 2:\r\n firstOctet |= 0x40;\r\n break;\r\n case 3:\r\n firstOctet |= 0x80;\r\n break;\r\n case 4:\r\n firstOctet |= 0xC0;\r\n break;\r\n default:\r\n this.error = "Unknown tag class";\r\n return EMPTY_BUFFER;\r\n }\r\n if (this.isConstructed)\r\n firstOctet |= 0x20;\r\n if (this.tagNumber < 31 && !this.isHexOnly) {\r\n const retView = new Uint8Array(1);\r\n if (!sizeOnly) {\r\n let number = this.tagNumber;\r\n number &= 0x1F;\r\n firstOctet |= number;\r\n retView[0] = firstOctet;\r\n }\r\n return retView.buffer;\r\n }\r\n if (!this.isHexOnly) {\r\n const encodedBuf = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilToBase(this.tagNumber, 7);\r\n const encodedView = new Uint8Array(encodedBuf);\r\n const size = encodedBuf.byteLength;\r\n const retView = new Uint8Array(size + 1);\r\n retView[0] = (firstOctet | 0x1F);\r\n if (!sizeOnly) {\r\n for (let i = 0; i < (size - 1); i++)\r\n retView[i + 1] = encodedView[i] | 0x80;\r\n retView[size] = encodedView[size - 1];\r\n }\r\n return retView.buffer;\r\n }\r\n const retView = new Uint8Array(this.valueHexView.byteLength + 1);\r\n retView[0] = (firstOctet | 0x1F);\r\n if (!sizeOnly) {\r\n const curView = this.valueHexView;\r\n for (let i = 0; i < (curView.length - 1); i++)\r\n retView[i + 1] = curView[i] | 0x80;\r\n retView[this.valueHexView.byteLength] = curView[curView.length - 1];\r\n }\r\n return retView.buffer;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const inputView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\r\n return -1;\r\n }\r\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\r\n if (intBuffer.length === 0) {\r\n this.error = "Zero buffer length";\r\n return -1;\r\n }\r\n const tagClassMask = intBuffer[0] & 0xC0;\r\n switch (tagClassMask) {\r\n case 0x00:\r\n this.tagClass = (1);\r\n break;\r\n case 0x40:\r\n this.tagClass = (2);\r\n break;\r\n case 0x80:\r\n this.tagClass = (3);\r\n break;\r\n case 0xC0:\r\n this.tagClass = (4);\r\n break;\r\n default:\r\n this.error = "Unknown tag class";\r\n return -1;\r\n }\r\n this.isConstructed = (intBuffer[0] & 0x20) === 0x20;\r\n this.isHexOnly = false;\r\n const tagNumberMask = intBuffer[0] & 0x1F;\r\n if (tagNumberMask !== 0x1F) {\r\n this.tagNumber = (tagNumberMask);\r\n this.blockLength = 1;\r\n }\r\n else {\r\n let count = 1;\r\n let intTagNumberBuffer = this.valueHexView = new Uint8Array(255);\r\n let tagNumberBufferMaxLength = 255;\r\n while (intBuffer[count] & 0x80) {\r\n intTagNumberBuffer[count - 1] = intBuffer[count] & 0x7F;\r\n count++;\r\n if (count >= intBuffer.length) {\r\n this.error = "End of input reached before message was fully decoded";\r\n return -1;\r\n }\r\n if (count === tagNumberBufferMaxLength) {\r\n tagNumberBufferMaxLength += 255;\r\n const tempBufferView = new Uint8Array(tagNumberBufferMaxLength);\r\n for (let i = 0; i < intTagNumberBuffer.length; i++)\r\n tempBufferView[i] = intTagNumberBuffer[i];\r\n intTagNumberBuffer = this.valueHexView = new Uint8Array(tagNumberBufferMaxLength);\r\n }\r\n }\r\n this.blockLength = (count + 1);\r\n intTagNumberBuffer[count - 1] = intBuffer[count] & 0x7F;\r\n const tempBufferView = new Uint8Array(count);\r\n for (let i = 0; i < count; i++)\r\n tempBufferView[i] = intTagNumberBuffer[i];\r\n intTagNumberBuffer = this.valueHexView = new Uint8Array(count);\r\n intTagNumberBuffer.set(tempBufferView);\r\n if (this.blockLength <= 9)\r\n this.tagNumber = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilFromBase(intTagNumberBuffer, 7);\r\n else {\r\n this.isHexOnly = true;\r\n this.warnings.push("Tag too long, represented as hex-coded");\r\n }\r\n }\r\n if (((this.tagClass === 1)) &&\r\n (this.isConstructed)) {\r\n switch (this.tagNumber) {\r\n case 1:\r\n case 2:\r\n case 5:\r\n case 6:\r\n case 9:\r\n case 13:\r\n case 14:\r\n case 23:\r\n case 24:\r\n case 31:\r\n case 32:\r\n case 33:\r\n case 34:\r\n this.error = "Constructed encoding used for primitive type";\r\n return -1;\r\n }\r\n }\r\n return (inputOffset + this.blockLength);\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n tagClass: this.tagClass,\r\n tagNumber: this.tagNumber,\r\n isConstructed: this.isConstructed,\r\n };\r\n }\r\n}\r\nLocalIdentificationBlock.NAME = "identificationBlock";\n\nclass LocalLengthBlock extends LocalBaseBlock {\r\n constructor({ lenBlock = {}, } = {}) {\r\n var _a, _b, _c;\r\n super();\r\n this.isIndefiniteForm = (_a = lenBlock.isIndefiniteForm) !== null && _a !== void 0 ? _a : false;\r\n this.longFormUsed = (_b = lenBlock.longFormUsed) !== null && _b !== void 0 ? _b : false;\r\n this.length = (_c = lenBlock.length) !== null && _c !== void 0 ? _c : 0;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const view = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\r\n return -1;\r\n }\r\n const intBuffer = view.subarray(inputOffset, inputOffset + inputLength);\r\n if (intBuffer.length === 0) {\r\n this.error = "Zero buffer length";\r\n return -1;\r\n }\r\n if (intBuffer[0] === 0xFF) {\r\n this.error = "Length block 0xFF is reserved by standard";\r\n return -1;\r\n }\r\n this.isIndefiniteForm = intBuffer[0] === 0x80;\r\n if (this.isIndefiniteForm) {\r\n this.blockLength = 1;\r\n return (inputOffset + this.blockLength);\r\n }\r\n this.longFormUsed = !!(intBuffer[0] & 0x80);\r\n if (this.longFormUsed === false) {\r\n this.length = (intBuffer[0]);\r\n this.blockLength = 1;\r\n return (inputOffset + this.blockLength);\r\n }\r\n const count = intBuffer[0] & 0x7F;\r\n if (count > 8) {\r\n this.error = "Too big integer";\r\n return -1;\r\n }\r\n if ((count + 1) > intBuffer.length) {\r\n this.error = "End of input reached before message was fully decoded";\r\n return -1;\r\n }\r\n const lenOffset = inputOffset + 1;\r\n const lengthBufferView = view.subarray(lenOffset, lenOffset + count);\r\n if (lengthBufferView[count - 1] === 0x00)\r\n this.warnings.push("Needlessly long encoded length");\r\n this.length = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilFromBase(lengthBufferView, 8);\r\n if (this.longFormUsed && (this.length <= 127))\r\n this.warnings.push("Unnecessary usage of long length form");\r\n this.blockLength = count + 1;\r\n return (inputOffset + this.blockLength);\r\n }\r\n toBER(sizeOnly = false) {\r\n let retBuf;\r\n let retView;\r\n if (this.length > 127)\r\n this.longFormUsed = true;\r\n if (this.isIndefiniteForm) {\r\n retBuf = new ArrayBuffer(1);\r\n if (sizeOnly === false) {\r\n retView = new Uint8Array(retBuf);\r\n retView[0] = 0x80;\r\n }\r\n return retBuf;\r\n }\r\n if (this.longFormUsed) {\r\n const encodedBuf = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilToBase(this.length, 8);\r\n if (encodedBuf.byteLength > 127) {\r\n this.error = "Too big length";\r\n return (EMPTY_BUFFER);\r\n }\r\n retBuf = new ArrayBuffer(encodedBuf.byteLength + 1);\r\n if (sizeOnly)\r\n return retBuf;\r\n const encodedView = new Uint8Array(encodedBuf);\r\n retView = new Uint8Array(retBuf);\r\n retView[0] = encodedBuf.byteLength | 0x80;\r\n for (let i = 0; i < encodedBuf.byteLength; i++)\r\n retView[i + 1] = encodedView[i];\r\n return retBuf;\r\n }\r\n retBuf = new ArrayBuffer(1);\r\n if (sizeOnly === false) {\r\n retView = new Uint8Array(retBuf);\r\n retView[0] = this.length;\r\n }\r\n return retBuf;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n isIndefiniteForm: this.isIndefiniteForm,\r\n longFormUsed: this.longFormUsed,\r\n length: this.length,\r\n };\r\n }\r\n}\r\nLocalLengthBlock.NAME = "lengthBlock";\n\nconst typeStore = {};\n\nclass BaseBlock extends LocalBaseBlock {\r\n constructor({ name = EMPTY_STRING, optional = false, primitiveSchema, ...parameters } = {}, valueBlockType) {\r\n super(parameters);\r\n this.name = name;\r\n this.optional = optional;\r\n if (primitiveSchema) {\r\n this.primitiveSchema = primitiveSchema;\r\n }\r\n this.idBlock = new LocalIdentificationBlock(parameters);\r\n this.lenBlock = new LocalLengthBlock(parameters);\r\n this.valueBlock = valueBlockType ? new valueBlockType(parameters) : new ValueBlock(parameters);\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, (this.lenBlock.isIndefiniteForm) ? inputLength : this.lenBlock.length);\r\n if (resultOffset === -1) {\r\n this.error = this.valueBlock.error;\r\n return resultOffset;\r\n }\r\n if (!this.idBlock.error.length)\r\n this.blockLength += this.idBlock.blockLength;\r\n if (!this.lenBlock.error.length)\r\n this.blockLength += this.lenBlock.blockLength;\r\n if (!this.valueBlock.error.length)\r\n this.blockLength += this.valueBlock.blockLength;\r\n return resultOffset;\r\n }\r\n toBER(sizeOnly, writer) {\r\n const _writer = writer || new ViewWriter();\r\n if (!writer) {\r\n prepareIndefiniteForm(this);\r\n }\r\n const idBlockBuf = this.idBlock.toBER(sizeOnly);\r\n _writer.write(idBlockBuf);\r\n if (this.lenBlock.isIndefiniteForm) {\r\n _writer.write(new Uint8Array([0x80]).buffer);\r\n this.valueBlock.toBER(sizeOnly, _writer);\r\n _writer.write(new ArrayBuffer(2));\r\n }\r\n else {\r\n const valueBlockBuf = this.valueBlock.toBER(sizeOnly);\r\n this.lenBlock.length = valueBlockBuf.byteLength;\r\n const lenBlockBuf = this.lenBlock.toBER(sizeOnly);\r\n _writer.write(lenBlockBuf);\r\n _writer.write(valueBlockBuf);\r\n }\r\n if (!writer) {\r\n return _writer.final();\r\n }\r\n return EMPTY_BUFFER;\r\n }\r\n toJSON() {\r\n const object = {\r\n ...super.toJSON(),\r\n idBlock: this.idBlock.toJSON(),\r\n lenBlock: this.lenBlock.toJSON(),\r\n valueBlock: this.valueBlock.toJSON(),\r\n name: this.name,\r\n optional: this.optional,\r\n };\r\n if (this.primitiveSchema)\r\n object.primitiveSchema = this.primitiveSchema.toJSON();\r\n return object;\r\n }\r\n toString(encoding = "ascii") {\r\n if (encoding === "ascii") {\r\n return this.onAsciiEncoding();\r\n }\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(this.toBER());\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME} : ${pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`;\r\n }\r\n isEqual(other) {\r\n if (this === other) {\r\n return true;\r\n }\r\n if (!(other instanceof this.constructor)) {\r\n return false;\r\n }\r\n const thisRaw = this.toBER();\r\n const otherRaw = other.toBER();\r\n return pvutils__WEBPACK_IMPORTED_MODULE_1__.isEqualBuffer(thisRaw, otherRaw);\r\n }\r\n}\r\nBaseBlock.NAME = "BaseBlock";\r\nfunction prepareIndefiniteForm(baseBlock) {\r\n if (baseBlock instanceof typeStore.Constructed) {\r\n for (const value of baseBlock.valueBlock.value) {\r\n if (prepareIndefiniteForm(value)) {\r\n baseBlock.lenBlock.isIndefiniteForm = true;\r\n }\r\n }\r\n }\r\n return !!baseBlock.lenBlock.isIndefiniteForm;\r\n}\n\nclass BaseStringBlock extends BaseBlock {\r\n constructor({ value = EMPTY_STRING, ...parameters } = {}, stringValueBlockType) {\r\n super(parameters, stringValueBlockType);\r\n if (value) {\r\n this.fromString(value);\r\n }\r\n }\r\n getValue() {\r\n return this.valueBlock.value;\r\n }\r\n setValue(value) {\r\n this.valueBlock.value = value;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, (this.lenBlock.isIndefiniteForm) ? inputLength : this.lenBlock.length);\r\n if (resultOffset === -1) {\r\n this.error = this.valueBlock.error;\r\n return resultOffset;\r\n }\r\n this.fromBuffer(this.valueBlock.valueHexView);\r\n if (!this.idBlock.error.length)\r\n this.blockLength += this.idBlock.blockLength;\r\n if (!this.lenBlock.error.length)\r\n this.blockLength += this.lenBlock.blockLength;\r\n if (!this.valueBlock.error.length)\r\n this.blockLength += this.valueBlock.blockLength;\r\n return resultOffset;\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME} : \'${this.valueBlock.value}\'`;\r\n }\r\n}\r\nBaseStringBlock.NAME = "BaseStringBlock";\n\nclass LocalPrimitiveValueBlock extends HexBlock(ValueBlock) {\r\n constructor({ isHexOnly = true, ...parameters } = {}) {\r\n super(parameters);\r\n this.isHexOnly = isHexOnly;\r\n }\r\n}\r\nLocalPrimitiveValueBlock.NAME = "PrimitiveValueBlock";\n\nvar _a$w;\r\nclass Primitive extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, LocalPrimitiveValueBlock);\r\n this.idBlock.isConstructed = false;\r\n }\r\n}\r\n_a$w = Primitive;\r\n(() => {\r\n typeStore.Primitive = _a$w;\r\n})();\r\nPrimitive.NAME = "PRIMITIVE";\n\nfunction localChangeType(inputObject, newType) {\r\n if (inputObject instanceof newType) {\r\n return inputObject;\r\n }\r\n const newObject = new newType();\r\n newObject.idBlock = inputObject.idBlock;\r\n newObject.lenBlock = inputObject.lenBlock;\r\n newObject.warnings = inputObject.warnings;\r\n newObject.valueBeforeDecodeView = inputObject.valueBeforeDecodeView;\r\n return newObject;\r\n}\r\nfunction localFromBER(inputBuffer, inputOffset = 0, inputLength = inputBuffer.length) {\r\n const incomingOffset = inputOffset;\r\n let returnObject = new BaseBlock({}, ValueBlock);\r\n const baseBlock = new LocalBaseBlock();\r\n if (!checkBufferParams(baseBlock, inputBuffer, inputOffset, inputLength)) {\r\n returnObject.error = baseBlock.error;\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n }\r\n const intBuffer = inputBuffer.subarray(inputOffset, inputOffset + inputLength);\r\n if (!intBuffer.length) {\r\n returnObject.error = "Zero buffer length";\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n }\r\n let resultOffset = returnObject.idBlock.fromBER(inputBuffer, inputOffset, inputLength);\r\n if (returnObject.idBlock.warnings.length) {\r\n returnObject.warnings.concat(returnObject.idBlock.warnings);\r\n }\r\n if (resultOffset === -1) {\r\n returnObject.error = returnObject.idBlock.error;\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n }\r\n inputOffset = resultOffset;\r\n inputLength -= returnObject.idBlock.blockLength;\r\n resultOffset = returnObject.lenBlock.fromBER(inputBuffer, inputOffset, inputLength);\r\n if (returnObject.lenBlock.warnings.length) {\r\n returnObject.warnings.concat(returnObject.lenBlock.warnings);\r\n }\r\n if (resultOffset === -1) {\r\n returnObject.error = returnObject.lenBlock.error;\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n }\r\n inputOffset = resultOffset;\r\n inputLength -= returnObject.lenBlock.blockLength;\r\n if (!returnObject.idBlock.isConstructed &&\r\n returnObject.lenBlock.isIndefiniteForm) {\r\n returnObject.error = "Indefinite length form used for primitive encoding form";\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n }\r\n let newASN1Type = BaseBlock;\r\n switch (returnObject.idBlock.tagClass) {\r\n case 1:\r\n if ((returnObject.idBlock.tagNumber >= 37) &&\r\n (returnObject.idBlock.isHexOnly === false)) {\r\n returnObject.error = "UNIVERSAL 37 and upper tags are reserved by ASN.1 standard";\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n }\r\n switch (returnObject.idBlock.tagNumber) {\r\n case 0:\r\n if ((returnObject.idBlock.isConstructed) &&\r\n (returnObject.lenBlock.length > 0)) {\r\n returnObject.error = "Type [UNIVERSAL 0] is reserved";\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n }\r\n newASN1Type = typeStore.EndOfContent;\r\n break;\r\n case 1:\r\n newASN1Type = typeStore.Boolean;\r\n break;\r\n case 2:\r\n newASN1Type = typeStore.Integer;\r\n break;\r\n case 3:\r\n newASN1Type = typeStore.BitString;\r\n break;\r\n case 4:\r\n newASN1Type = typeStore.OctetString;\r\n break;\r\n case 5:\r\n newASN1Type = typeStore.Null;\r\n break;\r\n case 6:\r\n newASN1Type = typeStore.ObjectIdentifier;\r\n break;\r\n case 10:\r\n newASN1Type = typeStore.Enumerated;\r\n break;\r\n case 12:\r\n newASN1Type = typeStore.Utf8String;\r\n break;\r\n case 13:\r\n newASN1Type = typeStore.RelativeObjectIdentifier;\r\n break;\r\n case 14:\r\n newASN1Type = typeStore.TIME;\r\n break;\r\n case 15:\r\n returnObject.error = "[UNIVERSAL 15] is reserved by ASN.1 standard";\r\n return {\r\n offset: -1,\r\n result: returnObject\r\n };\r\n case 16:\r\n newASN1Type = typeStore.Sequence;\r\n break;\r\n case 17:\r\n newASN1Type = typeStore.Set;\r\n break;\r\n case 18:\r\n newASN1Type = typeStore.NumericString;\r\n break;\r\n case 19:\r\n newASN1Type = typeStore.PrintableString;\r\n break;\r\n case 20:\r\n newASN1Type = typeStore.TeletexString;\r\n break;\r\n case 21:\r\n newASN1Type = typeStore.VideotexString;\r\n break;\r\n case 22:\r\n newASN1Type = typeStore.IA5String;\r\n break;\r\n case 23:\r\n newASN1Type = typeStore.UTCTime;\r\n break;\r\n case 24:\r\n newASN1Type = typeStore.GeneralizedTime;\r\n break;\r\n case 25:\r\n newASN1Type = typeStore.GraphicString;\r\n break;\r\n case 26:\r\n newASN1Type = typeStore.VisibleString;\r\n break;\r\n case 27:\r\n newASN1Type = typeStore.GeneralString;\r\n break;\r\n case 28:\r\n newASN1Type = typeStore.UniversalString;\r\n break;\r\n case 29:\r\n newASN1Type = typeStore.CharacterString;\r\n break;\r\n case 30:\r\n newASN1Type = typeStore.BmpString;\r\n break;\r\n case 31:\r\n newASN1Type = typeStore.DATE;\r\n break;\r\n case 32:\r\n newASN1Type = typeStore.TimeOfDay;\r\n break;\r\n case 33:\r\n newASN1Type = typeStore.DateTime;\r\n break;\r\n case 34:\r\n newASN1Type = typeStore.Duration;\r\n break;\r\n default: {\r\n const newObject = returnObject.idBlock.isConstructed\r\n ? new typeStore.Constructed()\r\n : new typeStore.Primitive();\r\n newObject.idBlock = returnObject.idBlock;\r\n newObject.lenBlock = returnObject.lenBlock;\r\n newObject.warnings = returnObject.warnings;\r\n returnObject = newObject;\r\n }\r\n }\r\n break;\r\n case 2:\r\n case 3:\r\n case 4:\r\n default: {\r\n newASN1Type = returnObject.idBlock.isConstructed\r\n ? typeStore.Constructed\r\n : typeStore.Primitive;\r\n }\r\n }\r\n returnObject = localChangeType(returnObject, newASN1Type);\r\n resultOffset = returnObject.fromBER(inputBuffer, inputOffset, returnObject.lenBlock.isIndefiniteForm ? inputLength : returnObject.lenBlock.length);\r\n returnObject.valueBeforeDecodeView = inputBuffer.subarray(incomingOffset, incomingOffset + returnObject.blockLength);\r\n return {\r\n offset: resultOffset,\r\n result: returnObject\r\n };\r\n}\r\nfunction fromBER(inputBuffer) {\r\n if (!inputBuffer.byteLength) {\r\n const result = new BaseBlock({}, ValueBlock);\r\n result.error = "Input buffer has zero length";\r\n return {\r\n offset: -1,\r\n result\r\n };\r\n }\r\n return localFromBER(pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer).slice(), 0, inputBuffer.byteLength);\r\n}\n\nfunction checkLen(indefiniteLength, length) {\r\n if (indefiniteLength) {\r\n return 1;\r\n }\r\n return length;\r\n}\r\nclass LocalConstructedValueBlock extends ValueBlock {\r\n constructor({ value = [], isIndefiniteForm = false, ...parameters } = {}) {\r\n super(parameters);\r\n this.value = value;\r\n this.isIndefiniteForm = isIndefiniteForm;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const view = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\r\n return -1;\r\n }\r\n this.valueBeforeDecodeView = view.subarray(inputOffset, inputOffset + inputLength);\r\n if (this.valueBeforeDecodeView.length === 0) {\r\n this.warnings.push("Zero buffer length");\r\n return inputOffset;\r\n }\r\n let currentOffset = inputOffset;\r\n while (checkLen(this.isIndefiniteForm, inputLength) > 0) {\r\n const returnObject = localFromBER(view, currentOffset, inputLength);\r\n if (returnObject.offset === -1) {\r\n this.error = returnObject.result.error;\r\n this.warnings.concat(returnObject.result.warnings);\r\n return -1;\r\n }\r\n currentOffset = returnObject.offset;\r\n this.blockLength += returnObject.result.blockLength;\r\n inputLength -= returnObject.result.blockLength;\r\n this.value.push(returnObject.result);\r\n if (this.isIndefiniteForm && returnObject.result.constructor.NAME === END_OF_CONTENT_NAME) {\r\n break;\r\n }\r\n }\r\n if (this.isIndefiniteForm) {\r\n if (this.value[this.value.length - 1].constructor.NAME === END_OF_CONTENT_NAME) {\r\n this.value.pop();\r\n }\r\n else {\r\n this.warnings.push("No EndOfContent block encoded");\r\n }\r\n }\r\n return currentOffset;\r\n }\r\n toBER(sizeOnly, writer) {\r\n const _writer = writer || new ViewWriter();\r\n for (let i = 0; i < this.value.length; i++) {\r\n this.value[i].toBER(sizeOnly, _writer);\r\n }\r\n if (!writer) {\r\n return _writer.final();\r\n }\r\n return EMPTY_BUFFER;\r\n }\r\n toJSON() {\r\n const object = {\r\n ...super.toJSON(),\r\n isIndefiniteForm: this.isIndefiniteForm,\r\n value: [],\r\n };\r\n for (const value of this.value) {\r\n object.value.push(value.toJSON());\r\n }\r\n return object;\r\n }\r\n}\r\nLocalConstructedValueBlock.NAME = "ConstructedValueBlock";\n\nvar _a$v;\r\nclass Constructed extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, LocalConstructedValueBlock);\r\n this.idBlock.isConstructed = true;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\r\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, (this.lenBlock.isIndefiniteForm) ? inputLength : this.lenBlock.length);\r\n if (resultOffset === -1) {\r\n this.error = this.valueBlock.error;\r\n return resultOffset;\r\n }\r\n if (!this.idBlock.error.length)\r\n this.blockLength += this.idBlock.blockLength;\r\n if (!this.lenBlock.error.length)\r\n this.blockLength += this.lenBlock.blockLength;\r\n if (!this.valueBlock.error.length)\r\n this.blockLength += this.valueBlock.blockLength;\r\n return resultOffset;\r\n }\r\n onAsciiEncoding() {\r\n const values = [];\r\n for (const value of this.valueBlock.value) {\r\n values.push(value.toString("ascii").split("\\n").map(o => ` ${o}`).join("\\n"));\r\n }\r\n const blockName = this.idBlock.tagClass === 3\r\n ? `[${this.idBlock.tagNumber}]`\r\n : this.constructor.NAME;\r\n return values.length\r\n ? `${blockName} :\\n${values.join("\\n")}`\r\n : `${blockName} :`;\r\n }\r\n}\r\n_a$v = Constructed;\r\n(() => {\r\n typeStore.Constructed = _a$v;\r\n})();\r\nConstructed.NAME = "CONSTRUCTED";\n\nclass LocalEndOfContentValueBlock extends ValueBlock {\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n return inputOffset;\r\n }\r\n toBER(sizeOnly) {\r\n return EMPTY_BUFFER;\r\n }\r\n}\r\nLocalEndOfContentValueBlock.override = "EndOfContentValueBlock";\n\nvar _a$u;\r\nclass EndOfContent extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, LocalEndOfContentValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 0;\r\n }\r\n}\r\n_a$u = EndOfContent;\r\n(() => {\r\n typeStore.EndOfContent = _a$u;\r\n})();\r\nEndOfContent.NAME = END_OF_CONTENT_NAME;\n\nvar _a$t;\r\nclass Null extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, ValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 5;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n if (this.lenBlock.length > 0)\r\n this.warnings.push("Non-zero length of value block for Null type");\r\n if (!this.idBlock.error.length)\r\n this.blockLength += this.idBlock.blockLength;\r\n if (!this.lenBlock.error.length)\r\n this.blockLength += this.lenBlock.blockLength;\r\n this.blockLength += inputLength;\r\n if ((inputOffset + inputLength) > inputBuffer.byteLength) {\r\n this.error = "End of input reached before message was fully decoded (inconsistent offset and length values)";\r\n return -1;\r\n }\r\n return (inputOffset + inputLength);\r\n }\r\n toBER(sizeOnly, writer) {\r\n const retBuf = new ArrayBuffer(2);\r\n if (!sizeOnly) {\r\n const retView = new Uint8Array(retBuf);\r\n retView[0] = 0x05;\r\n retView[1] = 0x00;\r\n }\r\n if (writer) {\r\n writer.write(retBuf);\r\n }\r\n return retBuf;\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME}`;\r\n }\r\n}\r\n_a$t = Null;\r\n(() => {\r\n typeStore.Null = _a$t;\r\n})();\r\nNull.NAME = "NULL";\n\nclass LocalBooleanValueBlock extends HexBlock(ValueBlock) {\r\n constructor({ value, ...parameters } = {}) {\r\n super(parameters);\r\n if (parameters.valueHex) {\r\n this.valueHexView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(parameters.valueHex);\r\n }\r\n else {\r\n this.valueHexView = new Uint8Array(1);\r\n }\r\n if (value) {\r\n this.value = value;\r\n }\r\n }\r\n get value() {\r\n for (const octet of this.valueHexView) {\r\n if (octet > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n set value(value) {\r\n this.valueHexView[0] = value ? 0xFF : 0x00;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const inputView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\r\n return -1;\r\n }\r\n this.valueHexView = inputView.subarray(inputOffset, inputOffset + inputLength);\r\n if (inputLength > 1)\r\n this.warnings.push("Boolean value encoded in more then 1 octet");\r\n this.isHexOnly = true;\r\n pvutils__WEBPACK_IMPORTED_MODULE_1__.utilDecodeTC.call(this);\r\n this.blockLength = inputLength;\r\n return (inputOffset + inputLength);\r\n }\r\n toBER() {\r\n return this.valueHexView.slice();\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n value: this.value,\r\n };\r\n }\r\n}\r\nLocalBooleanValueBlock.NAME = "BooleanValueBlock";\n\nvar _a$s;\r\nclass Boolean extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, LocalBooleanValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 1;\r\n }\r\n getValue() {\r\n return this.valueBlock.value;\r\n }\r\n setValue(value) {\r\n this.valueBlock.value = value;\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME} : ${this.getValue}`;\r\n }\r\n}\r\n_a$s = Boolean;\r\n(() => {\r\n typeStore.Boolean = _a$s;\r\n})();\r\nBoolean.NAME = "BOOLEAN";\n\nclass LocalOctetStringValueBlock extends HexBlock(LocalConstructedValueBlock) {\r\n constructor({ isConstructed = false, ...parameters } = {}) {\r\n super(parameters);\r\n this.isConstructed = isConstructed;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n let resultOffset = 0;\r\n if (this.isConstructed) {\r\n this.isHexOnly = false;\r\n resultOffset = LocalConstructedValueBlock.prototype.fromBER.call(this, inputBuffer, inputOffset, inputLength);\r\n if (resultOffset === -1)\r\n return resultOffset;\r\n for (let i = 0; i < this.value.length; i++) {\r\n const currentBlockName = this.value[i].constructor.NAME;\r\n if (currentBlockName === END_OF_CONTENT_NAME) {\r\n if (this.isIndefiniteForm)\r\n break;\r\n else {\r\n this.error = "EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only";\r\n return -1;\r\n }\r\n }\r\n if (currentBlockName !== OCTET_STRING_NAME) {\r\n this.error = "OCTET STRING may consists of OCTET STRINGs only";\r\n return -1;\r\n }\r\n }\r\n }\r\n else {\r\n this.isHexOnly = true;\r\n resultOffset = super.fromBER(inputBuffer, inputOffset, inputLength);\r\n this.blockLength = inputLength;\r\n }\r\n return resultOffset;\r\n }\r\n toBER(sizeOnly, writer) {\r\n if (this.isConstructed)\r\n return LocalConstructedValueBlock.prototype.toBER.call(this, sizeOnly, writer);\r\n return sizeOnly\r\n ? new ArrayBuffer(this.valueHexView.byteLength)\r\n : this.valueHexView.slice().buffer;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n isConstructed: this.isConstructed,\r\n };\r\n }\r\n}\r\nLocalOctetStringValueBlock.NAME = "OctetStringValueBlock";\n\nvar _a$r;\r\nclass OctetString extends BaseBlock {\r\n constructor({ idBlock = {}, lenBlock = {}, ...parameters } = {}) {\r\n var _b, _c;\r\n (_b = parameters.isConstructed) !== null && _b !== void 0 ? _b : (parameters.isConstructed = !!((_c = parameters.value) === null || _c === void 0 ? void 0 : _c.length));\r\n super({\r\n idBlock: {\r\n isConstructed: parameters.isConstructed,\r\n ...idBlock,\r\n },\r\n lenBlock: {\r\n ...lenBlock,\r\n isIndefiniteForm: !!parameters.isIndefiniteForm,\r\n },\r\n ...parameters,\r\n }, LocalOctetStringValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 4;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n this.valueBlock.isConstructed = this.idBlock.isConstructed;\r\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\r\n if (inputLength === 0) {\r\n if (this.idBlock.error.length === 0)\r\n this.blockLength += this.idBlock.blockLength;\r\n if (this.lenBlock.error.length === 0)\r\n this.blockLength += this.lenBlock.blockLength;\r\n return inputOffset;\r\n }\r\n if (!this.valueBlock.isConstructed) {\r\n const view = inputBuffer instanceof ArrayBuffer ? new Uint8Array(inputBuffer) : inputBuffer;\r\n const buf = view.subarray(inputOffset, inputOffset + inputLength);\r\n try {\r\n if (buf.byteLength) {\r\n const asn = localFromBER(buf, 0, buf.byteLength);\r\n if (asn.offset !== -1 && asn.offset === inputLength) {\r\n this.valueBlock.value = [asn.result];\r\n }\r\n }\r\n }\r\n catch (e) {\r\n }\r\n }\r\n return super.fromBER(inputBuffer, inputOffset, inputLength);\r\n }\r\n onAsciiEncoding() {\r\n if (this.valueBlock.isConstructed || (this.valueBlock.value && this.valueBlock.value.length)) {\r\n return Constructed.prototype.onAsciiEncoding.call(this);\r\n }\r\n return `${this.constructor.NAME} : ${pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(this.valueBlock.valueHexView)}`;\r\n }\r\n getValue() {\r\n if (!this.idBlock.isConstructed) {\r\n return this.valueBlock.valueHexView.slice().buffer;\r\n }\r\n const array = [];\r\n for (const content of this.valueBlock.value) {\r\n if (content instanceof OctetString) {\r\n array.push(content.valueBlock.valueHexView);\r\n }\r\n }\r\n return pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.concat(array);\r\n }\r\n}\r\n_a$r = OctetString;\r\n(() => {\r\n typeStore.OctetString = _a$r;\r\n})();\r\nOctetString.NAME = OCTET_STRING_NAME;\n\nclass LocalBitStringValueBlock extends HexBlock(LocalConstructedValueBlock) {\r\n constructor({ unusedBits = 0, isConstructed = false, ...parameters } = {}) {\r\n super(parameters);\r\n this.unusedBits = unusedBits;\r\n this.isConstructed = isConstructed;\r\n this.blockLength = this.valueHexView.byteLength;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n if (!inputLength) {\r\n return inputOffset;\r\n }\r\n let resultOffset = -1;\r\n if (this.isConstructed) {\r\n resultOffset = LocalConstructedValueBlock.prototype.fromBER.call(this, inputBuffer, inputOffset, inputLength);\r\n if (resultOffset === -1)\r\n return resultOffset;\r\n for (const value of this.value) {\r\n const currentBlockName = value.constructor.NAME;\r\n if (currentBlockName === END_OF_CONTENT_NAME) {\r\n if (this.isIndefiniteForm)\r\n break;\r\n else {\r\n this.error = "EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only";\r\n return -1;\r\n }\r\n }\r\n if (currentBlockName !== BIT_STRING_NAME) {\r\n this.error = "BIT STRING may consists of BIT STRINGs only";\r\n return -1;\r\n }\r\n const valueBlock = value.valueBlock;\r\n if ((this.unusedBits > 0) && (valueBlock.unusedBits > 0)) {\r\n this.error = "Using of \\"unused bits\\" inside constructive BIT STRING allowed for least one only";\r\n return -1;\r\n }\r\n this.unusedBits = valueBlock.unusedBits;\r\n }\r\n return resultOffset;\r\n }\r\n const inputView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\r\n return -1;\r\n }\r\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\r\n this.unusedBits = intBuffer[0];\r\n if (this.unusedBits > 7) {\r\n this.error = "Unused bits for BitString must be in range 0-7";\r\n return -1;\r\n }\r\n if (!this.unusedBits) {\r\n const buf = intBuffer.subarray(1);\r\n try {\r\n if (buf.byteLength) {\r\n const asn = localFromBER(buf, 0, buf.byteLength);\r\n if (asn.offset !== -1 && asn.offset === (inputLength - 1)) {\r\n this.value = [asn.result];\r\n }\r\n }\r\n }\r\n catch (e) {\r\n }\r\n }\r\n this.valueHexView = intBuffer.subarray(1);\r\n this.blockLength = intBuffer.length;\r\n return (inputOffset + inputLength);\r\n }\r\n toBER(sizeOnly, writer) {\r\n if (this.isConstructed) {\r\n return LocalConstructedValueBlock.prototype.toBER.call(this, sizeOnly, writer);\r\n }\r\n if (sizeOnly) {\r\n return new ArrayBuffer(this.valueHexView.byteLength + 1);\r\n }\r\n if (!this.valueHexView.byteLength) {\r\n return EMPTY_BUFFER;\r\n }\r\n const retView = new Uint8Array(this.valueHexView.length + 1);\r\n retView[0] = this.unusedBits;\r\n retView.set(this.valueHexView, 1);\r\n return retView.buffer;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n unusedBits: this.unusedBits,\r\n isConstructed: this.isConstructed,\r\n };\r\n }\r\n}\r\nLocalBitStringValueBlock.NAME = "BitStringValueBlock";\n\nvar _a$q;\r\nclass BitString extends BaseBlock {\r\n constructor({ idBlock = {}, lenBlock = {}, ...parameters } = {}) {\r\n var _b, _c;\r\n (_b = parameters.isConstructed) !== null && _b !== void 0 ? _b : (parameters.isConstructed = !!((_c = parameters.value) === null || _c === void 0 ? void 0 : _c.length));\r\n super({\r\n idBlock: {\r\n isConstructed: parameters.isConstructed,\r\n ...idBlock,\r\n },\r\n lenBlock: {\r\n ...lenBlock,\r\n isIndefiniteForm: !!parameters.isIndefiniteForm,\r\n },\r\n ...parameters,\r\n }, LocalBitStringValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 3;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n this.valueBlock.isConstructed = this.idBlock.isConstructed;\r\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\r\n return super.fromBER(inputBuffer, inputOffset, inputLength);\r\n }\r\n onAsciiEncoding() {\r\n if (this.valueBlock.isConstructed || (this.valueBlock.value && this.valueBlock.value.length)) {\r\n return Constructed.prototype.onAsciiEncoding.call(this);\r\n }\r\n else {\r\n const bits = [];\r\n const valueHex = this.valueBlock.valueHexView;\r\n for (const byte of valueHex) {\r\n bits.push(byte.toString(2).padStart(8, "0"));\r\n }\r\n const bitsStr = bits.join("");\r\n return `${this.constructor.NAME} : ${bitsStr.substring(0, bitsStr.length - this.valueBlock.unusedBits)}`;\r\n }\r\n }\r\n}\r\n_a$q = BitString;\r\n(() => {\r\n typeStore.BitString = _a$q;\r\n})();\r\nBitString.NAME = BIT_STRING_NAME;\n\nvar _a$p;\r\nfunction viewAdd(first, second) {\r\n const c = new Uint8Array([0]);\r\n const firstView = new Uint8Array(first);\r\n const secondView = new Uint8Array(second);\r\n let firstViewCopy = firstView.slice(0);\r\n const firstViewCopyLength = firstViewCopy.length - 1;\r\n const secondViewCopy = secondView.slice(0);\r\n const secondViewCopyLength = secondViewCopy.length - 1;\r\n let value = 0;\r\n const max = (secondViewCopyLength < firstViewCopyLength) ? firstViewCopyLength : secondViewCopyLength;\r\n let counter = 0;\r\n for (let i = max; i >= 0; i--, counter++) {\r\n switch (true) {\r\n case (counter < secondViewCopy.length):\r\n value = firstViewCopy[firstViewCopyLength - counter] + secondViewCopy[secondViewCopyLength - counter] + c[0];\r\n break;\r\n default:\r\n value = firstViewCopy[firstViewCopyLength - counter] + c[0];\r\n }\r\n c[0] = value / 10;\r\n switch (true) {\r\n case (counter >= firstViewCopy.length):\r\n firstViewCopy = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilConcatView(new Uint8Array([value % 10]), firstViewCopy);\r\n break;\r\n default:\r\n firstViewCopy[firstViewCopyLength - counter] = value % 10;\r\n }\r\n }\r\n if (c[0] > 0)\r\n firstViewCopy = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilConcatView(c, firstViewCopy);\r\n return firstViewCopy;\r\n}\r\nfunction power2(n) {\r\n if (n >= powers2.length) {\r\n for (let p = powers2.length; p <= n; p++) {\r\n const c = new Uint8Array([0]);\r\n let digits = (powers2[p - 1]).slice(0);\r\n for (let i = (digits.length - 1); i >= 0; i--) {\r\n const newValue = new Uint8Array([(digits[i] << 1) + c[0]]);\r\n c[0] = newValue[0] / 10;\r\n digits[i] = newValue[0] % 10;\r\n }\r\n if (c[0] > 0)\r\n digits = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilConcatView(c, digits);\r\n powers2.push(digits);\r\n }\r\n }\r\n return powers2[n];\r\n}\r\nfunction viewSub(first, second) {\r\n let b = 0;\r\n const firstView = new Uint8Array(first);\r\n const secondView = new Uint8Array(second);\r\n const firstViewCopy = firstView.slice(0);\r\n const firstViewCopyLength = firstViewCopy.length - 1;\r\n const secondViewCopy = secondView.slice(0);\r\n const secondViewCopyLength = secondViewCopy.length - 1;\r\n let value;\r\n let counter = 0;\r\n for (let i = secondViewCopyLength; i >= 0; i--, counter++) {\r\n value = firstViewCopy[firstViewCopyLength - counter] - secondViewCopy[secondViewCopyLength - counter] - b;\r\n switch (true) {\r\n case (value < 0):\r\n b = 1;\r\n firstViewCopy[firstViewCopyLength - counter] = value + 10;\r\n break;\r\n default:\r\n b = 0;\r\n firstViewCopy[firstViewCopyLength - counter] = value;\r\n }\r\n }\r\n if (b > 0) {\r\n for (let i = (firstViewCopyLength - secondViewCopyLength + 1); i >= 0; i--, counter++) {\r\n value = firstViewCopy[firstViewCopyLength - counter] - b;\r\n if (value < 0) {\r\n b = 1;\r\n firstViewCopy[firstViewCopyLength - counter] = value + 10;\r\n }\r\n else {\r\n b = 0;\r\n firstViewCopy[firstViewCopyLength - counter] = value;\r\n break;\r\n }\r\n }\r\n }\r\n return firstViewCopy.slice();\r\n}\r\nclass LocalIntegerValueBlock extends HexBlock(ValueBlock) {\r\n constructor({ value, ...parameters } = {}) {\r\n super(parameters);\r\n this._valueDec = 0;\r\n if (parameters.valueHex) {\r\n this.setValueHex();\r\n }\r\n if (value !== undefined) {\r\n this.valueDec = value;\r\n }\r\n }\r\n setValueHex() {\r\n if (this.valueHexView.length >= 4) {\r\n this.warnings.push("Too big Integer for decoding, hex only");\r\n this.isHexOnly = true;\r\n this._valueDec = 0;\r\n }\r\n else {\r\n this.isHexOnly = false;\r\n if (this.valueHexView.length > 0) {\r\n this._valueDec = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilDecodeTC.call(this);\r\n }\r\n }\r\n }\r\n set valueDec(v) {\r\n this._valueDec = v;\r\n this.isHexOnly = false;\r\n this.valueHexView = new Uint8Array(pvutils__WEBPACK_IMPORTED_MODULE_1__.utilEncodeTC(v));\r\n }\r\n get valueDec() {\r\n return this._valueDec;\r\n }\r\n fromDER(inputBuffer, inputOffset, inputLength, expectedLength = 0) {\r\n const offset = this.fromBER(inputBuffer, inputOffset, inputLength);\r\n if (offset === -1)\r\n return offset;\r\n const view = this.valueHexView;\r\n if ((view[0] === 0x00) && ((view[1] & 0x80) !== 0)) {\r\n this.valueHexView = view.subarray(1);\r\n }\r\n else {\r\n if (expectedLength !== 0) {\r\n if (view.length < expectedLength) {\r\n if ((expectedLength - view.length) > 1)\r\n expectedLength = view.length + 1;\r\n this.valueHexView = view.subarray(expectedLength - view.length);\r\n }\r\n }\r\n }\r\n return offset;\r\n }\r\n toDER(sizeOnly = false) {\r\n const view = this.valueHexView;\r\n switch (true) {\r\n case ((view[0] & 0x80) !== 0):\r\n {\r\n const updatedView = new Uint8Array(this.valueHexView.length + 1);\r\n updatedView[0] = 0x00;\r\n updatedView.set(view, 1);\r\n this.valueHexView = updatedView;\r\n }\r\n break;\r\n case ((view[0] === 0x00) && ((view[1] & 0x80) === 0)):\r\n {\r\n this.valueHexView = this.valueHexView.subarray(1);\r\n }\r\n break;\r\n }\r\n return this.toBER(sizeOnly);\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const resultOffset = super.fromBER(inputBuffer, inputOffset, inputLength);\r\n if (resultOffset === -1) {\r\n return resultOffset;\r\n }\r\n this.setValueHex();\r\n return resultOffset;\r\n }\r\n toBER(sizeOnly) {\r\n return sizeOnly\r\n ? new ArrayBuffer(this.valueHexView.length)\r\n : this.valueHexView.slice().buffer;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n valueDec: this.valueDec,\r\n };\r\n }\r\n toString() {\r\n const firstBit = (this.valueHexView.length * 8) - 1;\r\n let digits = new Uint8Array((this.valueHexView.length * 8) / 3);\r\n let bitNumber = 0;\r\n let currentByte;\r\n const asn1View = this.valueHexView;\r\n let result = "";\r\n let flag = false;\r\n for (let byteNumber = (asn1View.byteLength - 1); byteNumber >= 0; byteNumber--) {\r\n currentByte = asn1View[byteNumber];\r\n for (let i = 0; i < 8; i++) {\r\n if ((currentByte & 1) === 1) {\r\n switch (bitNumber) {\r\n case firstBit:\r\n digits = viewSub(power2(bitNumber), digits);\r\n result = "-";\r\n break;\r\n default:\r\n digits = viewAdd(digits, power2(bitNumber));\r\n }\r\n }\r\n bitNumber++;\r\n currentByte >>= 1;\r\n }\r\n }\r\n for (let i = 0; i < digits.length; i++) {\r\n if (digits[i])\r\n flag = true;\r\n if (flag)\r\n result += digitsString.charAt(digits[i]);\r\n }\r\n if (flag === false)\r\n result += digitsString.charAt(0);\r\n return result;\r\n }\r\n}\r\n_a$p = LocalIntegerValueBlock;\r\nLocalIntegerValueBlock.NAME = "IntegerValueBlock";\r\n(() => {\r\n Object.defineProperty(_a$p.prototype, "valueHex", {\r\n set: function (v) {\r\n this.valueHexView = new Uint8Array(v);\r\n this.setValueHex();\r\n },\r\n get: function () {\r\n return this.valueHexView.slice().buffer;\r\n },\r\n });\r\n})();\n\nvar _a$o;\r\nclass Integer extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, LocalIntegerValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 2;\r\n }\r\n toBigInt() {\r\n assertBigInt();\r\n return BigInt(this.valueBlock.toString());\r\n }\r\n static fromBigInt(value) {\r\n assertBigInt();\r\n const bigIntValue = BigInt(value);\r\n const writer = new ViewWriter();\r\n const hex = bigIntValue.toString(16).replace(/^-/, "");\r\n const view = new Uint8Array(pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.FromHex(hex));\r\n if (bigIntValue < 0) {\r\n const first = new Uint8Array(view.length + (view[0] & 0x80 ? 1 : 0));\r\n first[0] |= 0x80;\r\n const firstInt = BigInt(`0x${pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(first)}`);\r\n const secondInt = firstInt + bigIntValue;\r\n const second = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.FromHex(secondInt.toString(16)));\r\n second[0] |= 0x80;\r\n writer.write(second);\r\n }\r\n else {\r\n if (view[0] & 0x80) {\r\n writer.write(new Uint8Array([0]));\r\n }\r\n writer.write(view);\r\n }\r\n const res = new Integer({\r\n valueHex: writer.final(),\r\n });\r\n return res;\r\n }\r\n convertToDER() {\r\n const integer = new Integer({ valueHex: this.valueBlock.valueHexView });\r\n integer.valueBlock.toDER();\r\n return integer;\r\n }\r\n convertFromDER() {\r\n return new Integer({\r\n valueHex: this.valueBlock.valueHexView[0] === 0\r\n ? this.valueBlock.valueHexView.subarray(1)\r\n : this.valueBlock.valueHexView,\r\n });\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME} : ${this.valueBlock.toString()}`;\r\n }\r\n}\r\n_a$o = Integer;\r\n(() => {\r\n typeStore.Integer = _a$o;\r\n})();\r\nInteger.NAME = "INTEGER";\n\nvar _a$n;\r\nclass Enumerated extends Integer {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 10;\r\n }\r\n}\r\n_a$n = Enumerated;\r\n(() => {\r\n typeStore.Enumerated = _a$n;\r\n})();\r\nEnumerated.NAME = "ENUMERATED";\n\nclass LocalSidValueBlock extends HexBlock(ValueBlock) {\r\n constructor({ valueDec = -1, isFirstSid = false, ...parameters } = {}) {\r\n super(parameters);\r\n this.valueDec = valueDec;\r\n this.isFirstSid = isFirstSid;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n if (!inputLength) {\r\n return inputOffset;\r\n }\r\n const inputView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\r\n return -1;\r\n }\r\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\r\n this.valueHexView = new Uint8Array(inputLength);\r\n for (let i = 0; i < inputLength; i++) {\r\n this.valueHexView[i] = intBuffer[i] & 0x7F;\r\n this.blockLength++;\r\n if ((intBuffer[i] & 0x80) === 0x00)\r\n break;\r\n }\r\n const tempView = new Uint8Array(this.blockLength);\r\n for (let i = 0; i < this.blockLength; i++) {\r\n tempView[i] = this.valueHexView[i];\r\n }\r\n this.valueHexView = tempView;\r\n if ((intBuffer[this.blockLength - 1] & 0x80) !== 0x00) {\r\n this.error = "End of input reached before message was fully decoded";\r\n return -1;\r\n }\r\n if (this.valueHexView[0] === 0x00)\r\n this.warnings.push("Needlessly long format of SID encoding");\r\n if (this.blockLength <= 8)\r\n this.valueDec = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilFromBase(this.valueHexView, 7);\r\n else {\r\n this.isHexOnly = true;\r\n this.warnings.push("Too big SID for decoding, hex only");\r\n }\r\n return (inputOffset + this.blockLength);\r\n }\r\n set valueBigInt(value) {\r\n assertBigInt();\r\n let bits = BigInt(value).toString(2);\r\n while (bits.length % 7) {\r\n bits = "0" + bits;\r\n }\r\n const bytes = new Uint8Array(bits.length / 7);\r\n for (let i = 0; i < bytes.length; i++) {\r\n bytes[i] = parseInt(bits.slice(i * 7, i * 7 + 7), 2) + (i + 1 < bytes.length ? 0x80 : 0);\r\n }\r\n this.fromBER(bytes.buffer, 0, bytes.length);\r\n }\r\n toBER(sizeOnly) {\r\n if (this.isHexOnly) {\r\n if (sizeOnly)\r\n return (new ArrayBuffer(this.valueHexView.byteLength));\r\n const curView = this.valueHexView;\r\n const retView = new Uint8Array(this.blockLength);\r\n for (let i = 0; i < (this.blockLength - 1); i++)\r\n retView[i] = curView[i] | 0x80;\r\n retView[this.blockLength - 1] = curView[this.blockLength - 1];\r\n return retView.buffer;\r\n }\r\n const encodedBuf = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilToBase(this.valueDec, 7);\r\n if (encodedBuf.byteLength === 0) {\r\n this.error = "Error during encoding SID value";\r\n return EMPTY_BUFFER;\r\n }\r\n const retView = new Uint8Array(encodedBuf.byteLength);\r\n if (!sizeOnly) {\r\n const encodedView = new Uint8Array(encodedBuf);\r\n const len = encodedBuf.byteLength - 1;\r\n for (let i = 0; i < len; i++)\r\n retView[i] = encodedView[i] | 0x80;\r\n retView[len] = encodedView[len];\r\n }\r\n return retView;\r\n }\r\n toString() {\r\n let result = "";\r\n if (this.isHexOnly)\r\n result = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(this.valueHexView);\r\n else {\r\n if (this.isFirstSid) {\r\n let sidValue = this.valueDec;\r\n if (this.valueDec <= 39)\r\n result = "0.";\r\n else {\r\n if (this.valueDec <= 79) {\r\n result = "1.";\r\n sidValue -= 40;\r\n }\r\n else {\r\n result = "2.";\r\n sidValue -= 80;\r\n }\r\n }\r\n result += sidValue.toString();\r\n }\r\n else\r\n result = this.valueDec.toString();\r\n }\r\n return result;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n valueDec: this.valueDec,\r\n isFirstSid: this.isFirstSid,\r\n };\r\n }\r\n}\r\nLocalSidValueBlock.NAME = "sidBlock";\n\nclass LocalObjectIdentifierValueBlock extends ValueBlock {\r\n constructor({ value = EMPTY_STRING, ...parameters } = {}) {\r\n super(parameters);\r\n this.value = [];\r\n if (value) {\r\n this.fromString(value);\r\n }\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n let resultOffset = inputOffset;\r\n while (inputLength > 0) {\r\n const sidBlock = new LocalSidValueBlock();\r\n resultOffset = sidBlock.fromBER(inputBuffer, resultOffset, inputLength);\r\n if (resultOffset === -1) {\r\n this.blockLength = 0;\r\n this.error = sidBlock.error;\r\n return resultOffset;\r\n }\r\n if (this.value.length === 0)\r\n sidBlock.isFirstSid = true;\r\n this.blockLength += sidBlock.blockLength;\r\n inputLength -= sidBlock.blockLength;\r\n this.value.push(sidBlock);\r\n }\r\n return resultOffset;\r\n }\r\n toBER(sizeOnly) {\r\n const retBuffers = [];\r\n for (let i = 0; i < this.value.length; i++) {\r\n const valueBuf = this.value[i].toBER(sizeOnly);\r\n if (valueBuf.byteLength === 0) {\r\n this.error = this.value[i].error;\r\n return EMPTY_BUFFER;\r\n }\r\n retBuffers.push(valueBuf);\r\n }\r\n return concat(retBuffers);\r\n }\r\n fromString(string) {\r\n this.value = [];\r\n let pos1 = 0;\r\n let pos2 = 0;\r\n let sid = "";\r\n let flag = false;\r\n do {\r\n pos2 = string.indexOf(".", pos1);\r\n if (pos2 === -1)\r\n sid = string.substring(pos1);\r\n else\r\n sid = string.substring(pos1, pos2);\r\n pos1 = pos2 + 1;\r\n if (flag) {\r\n const sidBlock = this.value[0];\r\n let plus = 0;\r\n switch (sidBlock.valueDec) {\r\n case 0:\r\n break;\r\n case 1:\r\n plus = 40;\r\n break;\r\n case 2:\r\n plus = 80;\r\n break;\r\n default:\r\n this.value = [];\r\n return;\r\n }\r\n const parsedSID = parseInt(sid, 10);\r\n if (isNaN(parsedSID))\r\n return;\r\n sidBlock.valueDec = parsedSID + plus;\r\n flag = false;\r\n }\r\n else {\r\n const sidBlock = new LocalSidValueBlock();\r\n if (sid > Number.MAX_SAFE_INTEGER) {\r\n assertBigInt();\r\n const sidValue = BigInt(sid);\r\n sidBlock.valueBigInt = sidValue;\r\n }\r\n else {\r\n sidBlock.valueDec = parseInt(sid, 10);\r\n if (isNaN(sidBlock.valueDec))\r\n return;\r\n }\r\n if (!this.value.length) {\r\n sidBlock.isFirstSid = true;\r\n flag = true;\r\n }\r\n this.value.push(sidBlock);\r\n }\r\n } while (pos2 !== -1);\r\n }\r\n toString() {\r\n let result = "";\r\n let isHexOnly = false;\r\n for (let i = 0; i < this.value.length; i++) {\r\n isHexOnly = this.value[i].isHexOnly;\r\n let sidStr = this.value[i].toString();\r\n if (i !== 0)\r\n result = `${result}.`;\r\n if (isHexOnly) {\r\n sidStr = `{${sidStr}}`;\r\n if (this.value[i].isFirstSid)\r\n result = `2.{${sidStr} - 80}`;\r\n else\r\n result += sidStr;\r\n }\r\n else\r\n result += sidStr;\r\n }\r\n return result;\r\n }\r\n toJSON() {\r\n const object = {\r\n ...super.toJSON(),\r\n value: this.toString(),\r\n sidArray: [],\r\n };\r\n for (let i = 0; i < this.value.length; i++) {\r\n object.sidArray.push(this.value[i].toJSON());\r\n }\r\n return object;\r\n }\r\n}\r\nLocalObjectIdentifierValueBlock.NAME = "ObjectIdentifierValueBlock";\n\nvar _a$m;\r\nclass ObjectIdentifier extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, LocalObjectIdentifierValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 6;\r\n }\r\n getValue() {\r\n return this.valueBlock.toString();\r\n }\r\n setValue(value) {\r\n this.valueBlock.fromString(value);\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n value: this.getValue(),\r\n };\r\n }\r\n}\r\n_a$m = ObjectIdentifier;\r\n(() => {\r\n typeStore.ObjectIdentifier = _a$m;\r\n})();\r\nObjectIdentifier.NAME = "OBJECT IDENTIFIER";\n\nclass LocalRelativeSidValueBlock extends HexBlock(LocalBaseBlock) {\r\n constructor({ valueDec = 0, ...parameters } = {}) {\r\n super(parameters);\r\n this.valueDec = valueDec;\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n if (inputLength === 0)\r\n return inputOffset;\r\n const inputView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n if (!checkBufferParams(this, inputView, inputOffset, inputLength))\r\n return -1;\r\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\r\n this.valueHexView = new Uint8Array(inputLength);\r\n for (let i = 0; i < inputLength; i++) {\r\n this.valueHexView[i] = intBuffer[i] & 0x7F;\r\n this.blockLength++;\r\n if ((intBuffer[i] & 0x80) === 0x00)\r\n break;\r\n }\r\n const tempView = new Uint8Array(this.blockLength);\r\n for (let i = 0; i < this.blockLength; i++)\r\n tempView[i] = this.valueHexView[i];\r\n this.valueHexView = tempView;\r\n if ((intBuffer[this.blockLength - 1] & 0x80) !== 0x00) {\r\n this.error = "End of input reached before message was fully decoded";\r\n return -1;\r\n }\r\n if (this.valueHexView[0] === 0x00)\r\n this.warnings.push("Needlessly long format of SID encoding");\r\n if (this.blockLength <= 8)\r\n this.valueDec = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilFromBase(this.valueHexView, 7);\r\n else {\r\n this.isHexOnly = true;\r\n this.warnings.push("Too big SID for decoding, hex only");\r\n }\r\n return (inputOffset + this.blockLength);\r\n }\r\n toBER(sizeOnly) {\r\n if (this.isHexOnly) {\r\n if (sizeOnly)\r\n return (new ArrayBuffer(this.valueHexView.byteLength));\r\n const curView = this.valueHexView;\r\n const retView = new Uint8Array(this.blockLength);\r\n for (let i = 0; i < (this.blockLength - 1); i++)\r\n retView[i] = curView[i] | 0x80;\r\n retView[this.blockLength - 1] = curView[this.blockLength - 1];\r\n return retView.buffer;\r\n }\r\n const encodedBuf = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilToBase(this.valueDec, 7);\r\n if (encodedBuf.byteLength === 0) {\r\n this.error = "Error during encoding SID value";\r\n return EMPTY_BUFFER;\r\n }\r\n const retView = new Uint8Array(encodedBuf.byteLength);\r\n if (!sizeOnly) {\r\n const encodedView = new Uint8Array(encodedBuf);\r\n const len = encodedBuf.byteLength - 1;\r\n for (let i = 0; i < len; i++)\r\n retView[i] = encodedView[i] | 0x80;\r\n retView[len] = encodedView[len];\r\n }\r\n return retView.buffer;\r\n }\r\n toString() {\r\n let result = "";\r\n if (this.isHexOnly)\r\n result = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToHex(this.valueHexView);\r\n else {\r\n result = this.valueDec.toString();\r\n }\r\n return result;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n valueDec: this.valueDec,\r\n };\r\n }\r\n}\r\nLocalRelativeSidValueBlock.NAME = "relativeSidBlock";\n\nclass LocalRelativeObjectIdentifierValueBlock extends ValueBlock {\r\n constructor({ value = EMPTY_STRING, ...parameters } = {}) {\r\n super(parameters);\r\n this.value = [];\r\n if (value) {\r\n this.fromString(value);\r\n }\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n let resultOffset = inputOffset;\r\n while (inputLength > 0) {\r\n const sidBlock = new LocalRelativeSidValueBlock();\r\n resultOffset = sidBlock.fromBER(inputBuffer, resultOffset, inputLength);\r\n if (resultOffset === -1) {\r\n this.blockLength = 0;\r\n this.error = sidBlock.error;\r\n return resultOffset;\r\n }\r\n this.blockLength += sidBlock.blockLength;\r\n inputLength -= sidBlock.blockLength;\r\n this.value.push(sidBlock);\r\n }\r\n return resultOffset;\r\n }\r\n toBER(sizeOnly, writer) {\r\n const retBuffers = [];\r\n for (let i = 0; i < this.value.length; i++) {\r\n const valueBuf = this.value[i].toBER(sizeOnly);\r\n if (valueBuf.byteLength === 0) {\r\n this.error = this.value[i].error;\r\n return EMPTY_BUFFER;\r\n }\r\n retBuffers.push(valueBuf);\r\n }\r\n return concat(retBuffers);\r\n }\r\n fromString(string) {\r\n this.value = [];\r\n let pos1 = 0;\r\n let pos2 = 0;\r\n let sid = "";\r\n do {\r\n pos2 = string.indexOf(".", pos1);\r\n if (pos2 === -1)\r\n sid = string.substring(pos1);\r\n else\r\n sid = string.substring(pos1, pos2);\r\n pos1 = pos2 + 1;\r\n const sidBlock = new LocalRelativeSidValueBlock();\r\n sidBlock.valueDec = parseInt(sid, 10);\r\n if (isNaN(sidBlock.valueDec))\r\n return true;\r\n this.value.push(sidBlock);\r\n } while (pos2 !== -1);\r\n return true;\r\n }\r\n toString() {\r\n let result = "";\r\n let isHexOnly = false;\r\n for (let i = 0; i < this.value.length; i++) {\r\n isHexOnly = this.value[i].isHexOnly;\r\n let sidStr = this.value[i].toString();\r\n if (i !== 0)\r\n result = `${result}.`;\r\n if (isHexOnly) {\r\n sidStr = `{${sidStr}}`;\r\n result += sidStr;\r\n }\r\n else\r\n result += sidStr;\r\n }\r\n return result;\r\n }\r\n toJSON() {\r\n const object = {\r\n ...super.toJSON(),\r\n value: this.toString(),\r\n sidArray: [],\r\n };\r\n for (let i = 0; i < this.value.length; i++)\r\n object.sidArray.push(this.value[i].toJSON());\r\n return object;\r\n }\r\n}\r\nLocalRelativeObjectIdentifierValueBlock.NAME = "RelativeObjectIdentifierValueBlock";\n\nvar _a$l;\r\nclass RelativeObjectIdentifier extends BaseBlock {\r\n constructor(parameters = {}) {\r\n super(parameters, LocalRelativeObjectIdentifierValueBlock);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 13;\r\n }\r\n getValue() {\r\n return this.valueBlock.toString();\r\n }\r\n setValue(value) {\r\n this.valueBlock.fromString(value);\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n value: this.getValue(),\r\n };\r\n }\r\n}\r\n_a$l = RelativeObjectIdentifier;\r\n(() => {\r\n typeStore.RelativeObjectIdentifier = _a$l;\r\n})();\r\nRelativeObjectIdentifier.NAME = "RelativeObjectIdentifier";\n\nvar _a$k;\r\nclass Sequence extends Constructed {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 16;\r\n }\r\n}\r\n_a$k = Sequence;\r\n(() => {\r\n typeStore.Sequence = _a$k;\r\n})();\r\nSequence.NAME = "SEQUENCE";\n\nvar _a$j;\r\nclass Set extends Constructed {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 17;\r\n }\r\n}\r\n_a$j = Set;\r\n(() => {\r\n typeStore.Set = _a$j;\r\n})();\r\nSet.NAME = "SET";\n\nclass LocalStringValueBlock extends HexBlock(ValueBlock) {\r\n constructor({ ...parameters } = {}) {\r\n super(parameters);\r\n this.isHexOnly = true;\r\n this.value = EMPTY_STRING;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n value: this.value,\r\n };\r\n }\r\n}\r\nLocalStringValueBlock.NAME = "StringValueBlock";\n\nclass LocalSimpleStringValueBlock extends LocalStringValueBlock {\r\n}\r\nLocalSimpleStringValueBlock.NAME = "SimpleStringValueBlock";\n\nclass LocalSimpleStringBlock extends BaseStringBlock {\r\n constructor({ ...parameters } = {}) {\r\n super(parameters, LocalSimpleStringValueBlock);\r\n }\r\n fromBuffer(inputBuffer) {\r\n this.valueBlock.value = String.fromCharCode.apply(null, pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer));\r\n }\r\n fromString(inputString) {\r\n const strLen = inputString.length;\r\n const view = this.valueBlock.valueHexView = new Uint8Array(strLen);\r\n for (let i = 0; i < strLen; i++)\r\n view[i] = inputString.charCodeAt(i);\r\n this.valueBlock.value = inputString;\r\n }\r\n}\r\nLocalSimpleStringBlock.NAME = "SIMPLE STRING";\n\nclass LocalUtf8StringValueBlock extends LocalSimpleStringBlock {\r\n fromBuffer(inputBuffer) {\r\n this.valueBlock.valueHexView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n try {\r\n this.valueBlock.value = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToUtf8String(inputBuffer);\r\n }\r\n catch (ex) {\r\n this.warnings.push(`Error during "decodeURIComponent": ${ex}, using raw string`);\r\n this.valueBlock.value = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToBinary(inputBuffer);\r\n }\r\n }\r\n fromString(inputString) {\r\n this.valueBlock.valueHexView = new Uint8Array(pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.FromUtf8String(inputString));\r\n this.valueBlock.value = inputString;\r\n }\r\n}\r\nLocalUtf8StringValueBlock.NAME = "Utf8StringValueBlock";\n\nvar _a$i;\r\nclass Utf8String extends LocalUtf8StringValueBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 12;\r\n }\r\n}\r\n_a$i = Utf8String;\r\n(() => {\r\n typeStore.Utf8String = _a$i;\r\n})();\r\nUtf8String.NAME = "UTF8String";\n\nclass LocalBmpStringValueBlock extends LocalSimpleStringBlock {\r\n fromBuffer(inputBuffer) {\r\n this.valueBlock.value = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.ToUtf16String(inputBuffer);\r\n this.valueBlock.valueHexView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer);\r\n }\r\n fromString(inputString) {\r\n this.valueBlock.value = inputString;\r\n this.valueBlock.valueHexView = new Uint8Array(pvtsutils__WEBPACK_IMPORTED_MODULE_0__.Convert.FromUtf16String(inputString));\r\n }\r\n}\r\nLocalBmpStringValueBlock.NAME = "BmpStringValueBlock";\n\nvar _a$h;\r\nclass BmpString extends LocalBmpStringValueBlock {\r\n constructor({ ...parameters } = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 30;\r\n }\r\n}\r\n_a$h = BmpString;\r\n(() => {\r\n typeStore.BmpString = _a$h;\r\n})();\r\nBmpString.NAME = "BMPString";\n\nclass LocalUniversalStringValueBlock extends LocalSimpleStringBlock {\r\n fromBuffer(inputBuffer) {\r\n const copyBuffer = ArrayBuffer.isView(inputBuffer) ? inputBuffer.slice().buffer : inputBuffer.slice(0);\r\n const valueView = new Uint8Array(copyBuffer);\r\n for (let i = 0; i < valueView.length; i += 4) {\r\n valueView[i] = valueView[i + 3];\r\n valueView[i + 1] = valueView[i + 2];\r\n valueView[i + 2] = 0x00;\r\n valueView[i + 3] = 0x00;\r\n }\r\n this.valueBlock.value = String.fromCharCode.apply(null, new Uint32Array(copyBuffer));\r\n }\r\n fromString(inputString) {\r\n const strLength = inputString.length;\r\n const valueHexView = this.valueBlock.valueHexView = new Uint8Array(strLength * 4);\r\n for (let i = 0; i < strLength; i++) {\r\n const codeBuf = pvutils__WEBPACK_IMPORTED_MODULE_1__.utilToBase(inputString.charCodeAt(i), 8);\r\n const codeView = new Uint8Array(codeBuf);\r\n if (codeView.length > 4)\r\n continue;\r\n const dif = 4 - codeView.length;\r\n for (let j = (codeView.length - 1); j >= 0; j--)\r\n valueHexView[i * 4 + j + dif] = codeView[j];\r\n }\r\n this.valueBlock.value = inputString;\r\n }\r\n}\r\nLocalUniversalStringValueBlock.NAME = "UniversalStringValueBlock";\n\nvar _a$g;\r\nclass UniversalString extends LocalUniversalStringValueBlock {\r\n constructor({ ...parameters } = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 28;\r\n }\r\n}\r\n_a$g = UniversalString;\r\n(() => {\r\n typeStore.UniversalString = _a$g;\r\n})();\r\nUniversalString.NAME = "UniversalString";\n\nvar _a$f;\r\nclass NumericString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 18;\r\n }\r\n}\r\n_a$f = NumericString;\r\n(() => {\r\n typeStore.NumericString = _a$f;\r\n})();\r\nNumericString.NAME = "NumericString";\n\nvar _a$e;\r\nclass PrintableString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 19;\r\n }\r\n}\r\n_a$e = PrintableString;\r\n(() => {\r\n typeStore.PrintableString = _a$e;\r\n})();\r\nPrintableString.NAME = "PrintableString";\n\nvar _a$d;\r\nclass TeletexString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 20;\r\n }\r\n}\r\n_a$d = TeletexString;\r\n(() => {\r\n typeStore.TeletexString = _a$d;\r\n})();\r\nTeletexString.NAME = "TeletexString";\n\nvar _a$c;\r\nclass VideotexString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 21;\r\n }\r\n}\r\n_a$c = VideotexString;\r\n(() => {\r\n typeStore.VideotexString = _a$c;\r\n})();\r\nVideotexString.NAME = "VideotexString";\n\nvar _a$b;\r\nclass IA5String extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 22;\r\n }\r\n}\r\n_a$b = IA5String;\r\n(() => {\r\n typeStore.IA5String = _a$b;\r\n})();\r\nIA5String.NAME = "IA5String";\n\nvar _a$a;\r\nclass GraphicString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 25;\r\n }\r\n}\r\n_a$a = GraphicString;\r\n(() => {\r\n typeStore.GraphicString = _a$a;\r\n})();\r\nGraphicString.NAME = "GraphicString";\n\nvar _a$9;\r\nclass VisibleString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 26;\r\n }\r\n}\r\n_a$9 = VisibleString;\r\n(() => {\r\n typeStore.VisibleString = _a$9;\r\n})();\r\nVisibleString.NAME = "VisibleString";\n\nvar _a$8;\r\nclass GeneralString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 27;\r\n }\r\n}\r\n_a$8 = GeneralString;\r\n(() => {\r\n typeStore.GeneralString = _a$8;\r\n})();\r\nGeneralString.NAME = "GeneralString";\n\nvar _a$7;\r\nclass CharacterString extends LocalSimpleStringBlock {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 29;\r\n }\r\n}\r\n_a$7 = CharacterString;\r\n(() => {\r\n typeStore.CharacterString = _a$7;\r\n})();\r\nCharacterString.NAME = "CharacterString";\n\nvar _a$6;\r\nclass UTCTime extends VisibleString {\r\n constructor({ value, valueDate, ...parameters } = {}) {\r\n super(parameters);\r\n this.year = 0;\r\n this.month = 0;\r\n this.day = 0;\r\n this.hour = 0;\r\n this.minute = 0;\r\n this.second = 0;\r\n if (value) {\r\n this.fromString(value);\r\n this.valueBlock.valueHexView = new Uint8Array(value.length);\r\n for (let i = 0; i < value.length; i++)\r\n this.valueBlock.valueHexView[i] = value.charCodeAt(i);\r\n }\r\n if (valueDate) {\r\n this.fromDate(valueDate);\r\n this.valueBlock.valueHexView = new Uint8Array(this.toBuffer());\r\n }\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 23;\r\n }\r\n fromBuffer(inputBuffer) {\r\n this.fromString(String.fromCharCode.apply(null, pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer)));\r\n }\r\n toBuffer() {\r\n const str = this.toString();\r\n const buffer = new ArrayBuffer(str.length);\r\n const view = new Uint8Array(buffer);\r\n for (let i = 0; i < str.length; i++)\r\n view[i] = str.charCodeAt(i);\r\n return buffer;\r\n }\r\n fromDate(inputDate) {\r\n this.year = inputDate.getUTCFullYear();\r\n this.month = inputDate.getUTCMonth() + 1;\r\n this.day = inputDate.getUTCDate();\r\n this.hour = inputDate.getUTCHours();\r\n this.minute = inputDate.getUTCMinutes();\r\n this.second = inputDate.getUTCSeconds();\r\n }\r\n toDate() {\r\n return (new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second)));\r\n }\r\n fromString(inputString) {\r\n const parser = /(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})Z/ig;\r\n const parserArray = parser.exec(inputString);\r\n if (parserArray === null) {\r\n this.error = "Wrong input string for conversion";\r\n return;\r\n }\r\n const year = parseInt(parserArray[1], 10);\r\n if (year >= 50)\r\n this.year = 1900 + year;\r\n else\r\n this.year = 2000 + year;\r\n this.month = parseInt(parserArray[2], 10);\r\n this.day = parseInt(parserArray[3], 10);\r\n this.hour = parseInt(parserArray[4], 10);\r\n this.minute = parseInt(parserArray[5], 10);\r\n this.second = parseInt(parserArray[6], 10);\r\n }\r\n toString(encoding = "iso") {\r\n if (encoding === "iso") {\r\n const outputArray = new Array(7);\r\n outputArray[0] = pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(((this.year < 2000) ? (this.year - 1900) : (this.year - 2000)), 2);\r\n outputArray[1] = pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.month, 2);\r\n outputArray[2] = pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.day, 2);\r\n outputArray[3] = pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.hour, 2);\r\n outputArray[4] = pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.minute, 2);\r\n outputArray[5] = pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.second, 2);\r\n outputArray[6] = "Z";\r\n return outputArray.join("");\r\n }\r\n return super.toString(encoding);\r\n }\r\n onAsciiEncoding() {\r\n return `${this.constructor.NAME} : ${this.toDate().toISOString()}`;\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n year: this.year,\r\n month: this.month,\r\n day: this.day,\r\n hour: this.hour,\r\n minute: this.minute,\r\n second: this.second,\r\n };\r\n }\r\n}\r\n_a$6 = UTCTime;\r\n(() => {\r\n typeStore.UTCTime = _a$6;\r\n})();\r\nUTCTime.NAME = "UTCTime";\n\nvar _a$5;\r\nclass GeneralizedTime extends UTCTime {\r\n constructor(parameters = {}) {\r\n var _b;\r\n super(parameters);\r\n (_b = this.millisecond) !== null && _b !== void 0 ? _b : (this.millisecond = 0);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 24;\r\n }\r\n fromDate(inputDate) {\r\n super.fromDate(inputDate);\r\n this.millisecond = inputDate.getUTCMilliseconds();\r\n }\r\n toDate() {\r\n return (new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second, this.millisecond)));\r\n }\r\n fromString(inputString) {\r\n let isUTC = false;\r\n let timeString = "";\r\n let dateTimeString = "";\r\n let fractionPart = 0;\r\n let parser;\r\n let hourDifference = 0;\r\n let minuteDifference = 0;\r\n if (inputString[inputString.length - 1] === "Z") {\r\n timeString = inputString.substring(0, inputString.length - 1);\r\n isUTC = true;\r\n }\r\n else {\r\n const number = new Number(inputString[inputString.length - 1]);\r\n if (isNaN(number.valueOf()))\r\n throw new Error("Wrong input string for conversion");\r\n timeString = inputString;\r\n }\r\n if (isUTC) {\r\n if (timeString.indexOf("+") !== -1)\r\n throw new Error("Wrong input string for conversion");\r\n if (timeString.indexOf("-") !== -1)\r\n throw new Error("Wrong input string for conversion");\r\n }\r\n else {\r\n let multiplier = 1;\r\n let differencePosition = timeString.indexOf("+");\r\n let differenceString = "";\r\n if (differencePosition === -1) {\r\n differencePosition = timeString.indexOf("-");\r\n multiplier = -1;\r\n }\r\n if (differencePosition !== -1) {\r\n differenceString = timeString.substring(differencePosition + 1);\r\n timeString = timeString.substring(0, differencePosition);\r\n if ((differenceString.length !== 2) && (differenceString.length !== 4))\r\n throw new Error("Wrong input string for conversion");\r\n let number = parseInt(differenceString.substring(0, 2), 10);\r\n if (isNaN(number.valueOf()))\r\n throw new Error("Wrong input string for conversion");\r\n hourDifference = multiplier * number;\r\n if (differenceString.length === 4) {\r\n number = parseInt(differenceString.substring(2, 4), 10);\r\n if (isNaN(number.valueOf()))\r\n throw new Error("Wrong input string for conversion");\r\n minuteDifference = multiplier * number;\r\n }\r\n }\r\n }\r\n let fractionPointPosition = timeString.indexOf(".");\r\n if (fractionPointPosition === -1)\r\n fractionPointPosition = timeString.indexOf(",");\r\n if (fractionPointPosition !== -1) {\r\n const fractionPartCheck = new Number(`0${timeString.substring(fractionPointPosition)}`);\r\n if (isNaN(fractionPartCheck.valueOf()))\r\n throw new Error("Wrong input string for conversion");\r\n fractionPart = fractionPartCheck.valueOf();\r\n dateTimeString = timeString.substring(0, fractionPointPosition);\r\n }\r\n else\r\n dateTimeString = timeString;\r\n switch (true) {\r\n case (dateTimeString.length === 8):\r\n parser = /(\\d{4})(\\d{2})(\\d{2})/ig;\r\n if (fractionPointPosition !== -1)\r\n throw new Error("Wrong input string for conversion");\r\n break;\r\n case (dateTimeString.length === 10):\r\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})/ig;\r\n if (fractionPointPosition !== -1) {\r\n let fractionResult = 60 * fractionPart;\r\n this.minute = Math.floor(fractionResult);\r\n fractionResult = 60 * (fractionResult - this.minute);\r\n this.second = Math.floor(fractionResult);\r\n fractionResult = 1000 * (fractionResult - this.second);\r\n this.millisecond = Math.floor(fractionResult);\r\n }\r\n break;\r\n case (dateTimeString.length === 12):\r\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})/ig;\r\n if (fractionPointPosition !== -1) {\r\n let fractionResult = 60 * fractionPart;\r\n this.second = Math.floor(fractionResult);\r\n fractionResult = 1000 * (fractionResult - this.second);\r\n this.millisecond = Math.floor(fractionResult);\r\n }\r\n break;\r\n case (dateTimeString.length === 14):\r\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})/ig;\r\n if (fractionPointPosition !== -1) {\r\n const fractionResult = 1000 * fractionPart;\r\n this.millisecond = Math.floor(fractionResult);\r\n }\r\n break;\r\n default:\r\n throw new Error("Wrong input string for conversion");\r\n }\r\n const parserArray = parser.exec(dateTimeString);\r\n if (parserArray === null)\r\n throw new Error("Wrong input string for conversion");\r\n for (let j = 1; j < parserArray.length; j++) {\r\n switch (j) {\r\n case 1:\r\n this.year = parseInt(parserArray[j], 10);\r\n break;\r\n case 2:\r\n this.month = parseInt(parserArray[j], 10);\r\n break;\r\n case 3:\r\n this.day = parseInt(parserArray[j], 10);\r\n break;\r\n case 4:\r\n this.hour = parseInt(parserArray[j], 10) + hourDifference;\r\n break;\r\n case 5:\r\n this.minute = parseInt(parserArray[j], 10) + minuteDifference;\r\n break;\r\n case 6:\r\n this.second = parseInt(parserArray[j], 10);\r\n break;\r\n default:\r\n throw new Error("Wrong input string for conversion");\r\n }\r\n }\r\n if (isUTC === false) {\r\n const tempDate = new Date(this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\r\n this.year = tempDate.getUTCFullYear();\r\n this.month = tempDate.getUTCMonth();\r\n this.day = tempDate.getUTCDay();\r\n this.hour = tempDate.getUTCHours();\r\n this.minute = tempDate.getUTCMinutes();\r\n this.second = tempDate.getUTCSeconds();\r\n this.millisecond = tempDate.getUTCMilliseconds();\r\n }\r\n }\r\n toString(encoding = "iso") {\r\n if (encoding === "iso") {\r\n const outputArray = [];\r\n outputArray.push(pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.year, 4));\r\n outputArray.push(pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.month, 2));\r\n outputArray.push(pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.day, 2));\r\n outputArray.push(pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.hour, 2));\r\n outputArray.push(pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.minute, 2));\r\n outputArray.push(pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.second, 2));\r\n if (this.millisecond !== 0) {\r\n outputArray.push(".");\r\n outputArray.push(pvutils__WEBPACK_IMPORTED_MODULE_1__.padNumber(this.millisecond, 3));\r\n }\r\n outputArray.push("Z");\r\n return outputArray.join("");\r\n }\r\n return super.toString(encoding);\r\n }\r\n toJSON() {\r\n return {\r\n ...super.toJSON(),\r\n millisecond: this.millisecond,\r\n };\r\n }\r\n}\r\n_a$5 = GeneralizedTime;\r\n(() => {\r\n typeStore.GeneralizedTime = _a$5;\r\n})();\r\nGeneralizedTime.NAME = "GeneralizedTime";\n\nvar _a$4;\r\nclass DATE extends Utf8String {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 31;\r\n }\r\n}\r\n_a$4 = DATE;\r\n(() => {\r\n typeStore.DATE = _a$4;\r\n})();\r\nDATE.NAME = "DATE";\n\nvar _a$3;\r\nclass TimeOfDay extends Utf8String {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 32;\r\n }\r\n}\r\n_a$3 = TimeOfDay;\r\n(() => {\r\n typeStore.TimeOfDay = _a$3;\r\n})();\r\nTimeOfDay.NAME = "TimeOfDay";\n\nvar _a$2;\r\nclass DateTime extends Utf8String {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 33;\r\n }\r\n}\r\n_a$2 = DateTime;\r\n(() => {\r\n typeStore.DateTime = _a$2;\r\n})();\r\nDateTime.NAME = "DateTime";\n\nvar _a$1;\r\nclass Duration extends Utf8String {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 34;\r\n }\r\n}\r\n_a$1 = Duration;\r\n(() => {\r\n typeStore.Duration = _a$1;\r\n})();\r\nDuration.NAME = "Duration";\n\nvar _a;\r\nclass TIME extends Utf8String {\r\n constructor(parameters = {}) {\r\n super(parameters);\r\n this.idBlock.tagClass = 1;\r\n this.idBlock.tagNumber = 14;\r\n }\r\n}\r\n_a = TIME;\r\n(() => {\r\n typeStore.TIME = _a;\r\n})();\r\nTIME.NAME = "TIME";\n\nclass Any {\r\n constructor({ name = EMPTY_STRING, optional = false, } = {}) {\r\n this.name = name;\r\n this.optional = optional;\r\n }\r\n}\n\nclass Choice extends Any {\r\n constructor({ value = [], ...parameters } = {}) {\r\n super(parameters);\r\n this.value = value;\r\n }\r\n}\n\nclass Repeated extends Any {\r\n constructor({ value = new Any(), local = false, ...parameters } = {}) {\r\n super(parameters);\r\n this.value = value;\r\n this.local = local;\r\n }\r\n}\n\nclass RawData {\r\n constructor({ data = EMPTY_VIEW } = {}) {\r\n this.dataView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(data);\r\n }\r\n get data() {\r\n return this.dataView.slice().buffer;\r\n }\r\n set data(value) {\r\n this.dataView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(value);\r\n }\r\n fromBER(inputBuffer, inputOffset, inputLength) {\r\n const endLength = inputOffset + inputLength;\r\n this.dataView = pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer).subarray(inputOffset, endLength);\r\n return endLength;\r\n }\r\n toBER(sizeOnly) {\r\n return this.dataView.slice().buffer;\r\n }\r\n}\n\nfunction compareSchema(root, inputData, inputSchema) {\r\n if (inputSchema instanceof Choice) {\r\n for (let j = 0; j < inputSchema.value.length; j++) {\r\n const result = compareSchema(root, inputData, inputSchema.value[j]);\r\n if (result.verified) {\r\n return {\r\n verified: true,\r\n result: root\r\n };\r\n }\r\n }\r\n {\r\n const _result = {\r\n verified: false,\r\n result: {\r\n error: "Wrong values for Choice type"\r\n },\r\n };\r\n if (inputSchema.hasOwnProperty(NAME))\r\n _result.name = inputSchema.name;\r\n return _result;\r\n }\r\n }\r\n if (inputSchema instanceof Any) {\r\n if (inputSchema.hasOwnProperty(NAME))\r\n root[inputSchema.name] = inputData;\r\n return {\r\n verified: true,\r\n result: root\r\n };\r\n }\r\n if ((root instanceof Object) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong root object" }\r\n };\r\n }\r\n if ((inputData instanceof Object) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 data" }\r\n };\r\n }\r\n if ((inputSchema instanceof Object) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n if ((ID_BLOCK in inputSchema) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n if ((FROM_BER in inputSchema.idBlock) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n if ((TO_BER in inputSchema.idBlock) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n const encodedId = inputSchema.idBlock.toBER(false);\r\n if (encodedId.byteLength === 0) {\r\n return {\r\n verified: false,\r\n result: { error: "Error encoding idBlock for ASN.1 schema" }\r\n };\r\n }\r\n const decodedOffset = inputSchema.idBlock.fromBER(encodedId, 0, encodedId.byteLength);\r\n if (decodedOffset === -1) {\r\n return {\r\n verified: false,\r\n result: { error: "Error decoding idBlock for ASN.1 schema" }\r\n };\r\n }\r\n if (inputSchema.idBlock.hasOwnProperty(TAG_CLASS) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n if (inputSchema.idBlock.tagClass !== inputData.idBlock.tagClass) {\r\n return {\r\n verified: false,\r\n result: root\r\n };\r\n }\r\n if (inputSchema.idBlock.hasOwnProperty(TAG_NUMBER) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n if (inputSchema.idBlock.tagNumber !== inputData.idBlock.tagNumber) {\r\n return {\r\n verified: false,\r\n result: root\r\n };\r\n }\r\n if (inputSchema.idBlock.hasOwnProperty(IS_CONSTRUCTED) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n if (inputSchema.idBlock.isConstructed !== inputData.idBlock.isConstructed) {\r\n return {\r\n verified: false,\r\n result: root\r\n };\r\n }\r\n if (!(IS_HEX_ONLY in inputSchema.idBlock)) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n if (inputSchema.idBlock.isHexOnly !== inputData.idBlock.isHexOnly) {\r\n return {\r\n verified: false,\r\n result: root\r\n };\r\n }\r\n if (inputSchema.idBlock.isHexOnly) {\r\n if ((VALUE_HEX_VIEW in inputSchema.idBlock) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema" }\r\n };\r\n }\r\n const schemaView = inputSchema.idBlock.valueHexView;\r\n const asn1View = inputData.idBlock.valueHexView;\r\n if (schemaView.length !== asn1View.length) {\r\n return {\r\n verified: false,\r\n result: root\r\n };\r\n }\r\n for (let i = 0; i < schemaView.length; i++) {\r\n if (schemaView[i] !== asn1View[1]) {\r\n return {\r\n verified: false,\r\n result: root\r\n };\r\n }\r\n }\r\n }\r\n if (inputSchema.name) {\r\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\r\n if (inputSchema.name)\r\n root[inputSchema.name] = inputData;\r\n }\r\n if (inputSchema instanceof typeStore.Constructed) {\r\n let admission = 0;\r\n let result = {\r\n verified: false,\r\n result: {\r\n error: "Unknown error",\r\n }\r\n };\r\n let maxLength = inputSchema.valueBlock.value.length;\r\n if (maxLength > 0) {\r\n if (inputSchema.valueBlock.value[0] instanceof Repeated) {\r\n maxLength = inputData.valueBlock.value.length;\r\n }\r\n }\r\n if (maxLength === 0) {\r\n return {\r\n verified: true,\r\n result: root\r\n };\r\n }\r\n if ((inputData.valueBlock.value.length === 0) &&\r\n (inputSchema.valueBlock.value.length !== 0)) {\r\n let _optional = true;\r\n for (let i = 0; i < inputSchema.valueBlock.value.length; i++)\r\n _optional = _optional && (inputSchema.valueBlock.value[i].optional || false);\r\n if (_optional) {\r\n return {\r\n verified: true,\r\n result: root\r\n };\r\n }\r\n if (inputSchema.name) {\r\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\r\n if (inputSchema.name)\r\n delete root[inputSchema.name];\r\n }\r\n root.error = "Inconsistent object length";\r\n return {\r\n verified: false,\r\n result: root\r\n };\r\n }\r\n for (let i = 0; i < maxLength; i++) {\r\n if ((i - admission) >= inputData.valueBlock.value.length) {\r\n if (inputSchema.valueBlock.value[i].optional === false) {\r\n const _result = {\r\n verified: false,\r\n result: root\r\n };\r\n root.error = "Inconsistent length between ASN.1 data and schema";\r\n if (inputSchema.name) {\r\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\r\n if (inputSchema.name) {\r\n delete root[inputSchema.name];\r\n _result.name = inputSchema.name;\r\n }\r\n }\r\n return _result;\r\n }\r\n }\r\n else {\r\n if (inputSchema.valueBlock.value[0] instanceof Repeated) {\r\n result = compareSchema(root, inputData.valueBlock.value[i], inputSchema.valueBlock.value[0].value);\r\n if (result.verified === false) {\r\n if (inputSchema.valueBlock.value[0].optional)\r\n admission++;\r\n else {\r\n if (inputSchema.name) {\r\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\r\n if (inputSchema.name)\r\n delete root[inputSchema.name];\r\n }\r\n return result;\r\n }\r\n }\r\n if ((NAME in inputSchema.valueBlock.value[0]) && (inputSchema.valueBlock.value[0].name.length > 0)) {\r\n let arrayRoot = {};\r\n if ((LOCAL in inputSchema.valueBlock.value[0]) && (inputSchema.valueBlock.value[0].local))\r\n arrayRoot = inputData;\r\n else\r\n arrayRoot = root;\r\n if (typeof arrayRoot[inputSchema.valueBlock.value[0].name] === "undefined")\r\n arrayRoot[inputSchema.valueBlock.value[0].name] = [];\r\n arrayRoot[inputSchema.valueBlock.value[0].name].push(inputData.valueBlock.value[i]);\r\n }\r\n }\r\n else {\r\n result = compareSchema(root, inputData.valueBlock.value[i - admission], inputSchema.valueBlock.value[i]);\r\n if (result.verified === false) {\r\n if (inputSchema.valueBlock.value[i].optional)\r\n admission++;\r\n else {\r\n if (inputSchema.name) {\r\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\r\n if (inputSchema.name)\r\n delete root[inputSchema.name];\r\n }\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (result.verified === false) {\r\n const _result = {\r\n verified: false,\r\n result: root\r\n };\r\n if (inputSchema.name) {\r\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\r\n if (inputSchema.name) {\r\n delete root[inputSchema.name];\r\n _result.name = inputSchema.name;\r\n }\r\n }\r\n return _result;\r\n }\r\n return {\r\n verified: true,\r\n result: root\r\n };\r\n }\r\n if (inputSchema.primitiveSchema &&\r\n (VALUE_HEX_VIEW in inputData.valueBlock)) {\r\n const asn1 = localFromBER(inputData.valueBlock.valueHexView);\r\n if (asn1.offset === -1) {\r\n const _result = {\r\n verified: false,\r\n result: asn1.result\r\n };\r\n if (inputSchema.name) {\r\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\r\n if (inputSchema.name) {\r\n delete root[inputSchema.name];\r\n _result.name = inputSchema.name;\r\n }\r\n }\r\n return _result;\r\n }\r\n return compareSchema(root, asn1.result, inputSchema.primitiveSchema);\r\n }\r\n return {\r\n verified: true,\r\n result: root\r\n };\r\n}\r\nfunction verifySchema(inputBuffer, inputSchema) {\r\n if ((inputSchema instanceof Object) === false) {\r\n return {\r\n verified: false,\r\n result: { error: "Wrong ASN.1 schema type" }\r\n };\r\n }\r\n const asn1 = localFromBER(pvtsutils__WEBPACK_IMPORTED_MODULE_0__.BufferSourceConverter.toUint8Array(inputBuffer));\r\n if (asn1.offset === -1) {\r\n return {\r\n verified: false,\r\n result: asn1.result\r\n };\r\n }\r\n return compareSchema(asn1.result, asn1.result, inputSchema);\r\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/asn1js/build/index.es.js?')},"../wabac.js/node_modules/base64-js/index.js":
/*!***************************************************!*\
!*** ../wabac.js/node_modules/base64-js/index.js ***!
\***************************************************/(__unused_webpack_module,exports)=>{"use strict";eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/base64-js/index.js?")},"../wabac.js/node_modules/brotli/dec/bit_reader.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/bit_reader.js ***!
\*********************************************************/module=>{eval("/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Bit reading helpers\n*/\n\nvar BROTLI_READ_SIZE = 4096;\nvar BROTLI_IBUF_SIZE = (2 * BROTLI_READ_SIZE + 32);\nvar BROTLI_IBUF_MASK = (2 * BROTLI_READ_SIZE - 1);\n\nvar kBitMask = new Uint32Array([\n 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767,\n 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215\n]);\n\n/* Input byte buffer, consist of a ringbuffer and a \"slack\" region where */\n/* bytes from the start of the ringbuffer are copied. */\nfunction BrotliBitReader(input) {\n this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);\n this.input_ = input; /* input callback */\n \n this.reset();\n}\n\nBrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;\nBrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;\n\nBrotliBitReader.prototype.reset = function() {\n this.buf_ptr_ = 0; /* next input will write here */\n this.val_ = 0; /* pre-fetched bits */\n this.pos_ = 0; /* byte position in stream */\n this.bit_pos_ = 0; /* current bit-reading position in val_ */\n this.bit_end_pos_ = 0; /* bit-reading end position from LSB of val_ */\n this.eos_ = 0; /* input stream is finished */\n \n this.readMoreInput();\n for (var i = 0; i < 4; i++) {\n this.val_ |= this.buf_[this.pos_] << (8 * i);\n ++this.pos_;\n }\n \n return this.bit_end_pos_ > 0;\n};\n\n/* Fills up the input ringbuffer by calling the input callback.\n\n Does nothing if there are at least 32 bytes present after current position.\n\n Returns 0 if either:\n - the input callback returned an error, or\n - there is no more input and the position is past the end of the stream.\n\n After encountering the end of the input stream, 32 additional zero bytes are\n copied to the ringbuffer, therefore it is safe to call this function after\n every 32 bytes of input is read.\n*/\nBrotliBitReader.prototype.readMoreInput = function() {\n if (this.bit_end_pos_ > 256) {\n return;\n } else if (this.eos_) {\n if (this.bit_pos_ > this.bit_end_pos_)\n throw new Error('Unexpected end of input ' + this.bit_pos_ + ' ' + this.bit_end_pos_);\n } else {\n var dst = this.buf_ptr_;\n var bytes_read = this.input_.read(this.buf_, dst, BROTLI_READ_SIZE);\n if (bytes_read < 0) {\n throw new Error('Unexpected end of input');\n }\n \n if (bytes_read < BROTLI_READ_SIZE) {\n this.eos_ = 1;\n /* Store 32 bytes of zero after the stream end. */\n for (var p = 0; p < 32; p++)\n this.buf_[dst + bytes_read + p] = 0;\n }\n \n if (dst === 0) {\n /* Copy the head of the ringbuffer to the slack region. */\n for (var p = 0; p < 32; p++)\n this.buf_[(BROTLI_READ_SIZE << 1) + p] = this.buf_[p];\n\n this.buf_ptr_ = BROTLI_READ_SIZE;\n } else {\n this.buf_ptr_ = 0;\n }\n \n this.bit_end_pos_ += bytes_read << 3;\n }\n};\n\n/* Guarantees that there are at least 24 bits in the buffer. */\nBrotliBitReader.prototype.fillBitWindow = function() { \n while (this.bit_pos_ >= 8) {\n this.val_ >>>= 8;\n this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;\n ++this.pos_;\n this.bit_pos_ = this.bit_pos_ - 8 >>> 0;\n this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;\n }\n};\n\n/* Reads the specified number of bits from Read Buffer. */\nBrotliBitReader.prototype.readBits = function(n_bits) {\n if (32 - this.bit_pos_ < n_bits) {\n this.fillBitWindow();\n }\n \n var val = ((this.val_ >>> this.bit_pos_) & kBitMask[n_bits]);\n this.bit_pos_ += n_bits;\n return val;\n};\n\nmodule.exports = BrotliBitReader;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/bit_reader.js?")},"../wabac.js/node_modules/brotli/dec/context.js":
/*!******************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/context.js ***!
\******************************************************/(__unused_webpack_module,exports)=>{eval('/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the "License");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an "AS IS" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Lookup table to map the previous two bytes to a context id.\n\n There are four different context modeling modes defined here:\n CONTEXT_LSB6: context id is the least significant 6 bits of the last byte,\n CONTEXT_MSB6: context id is the most significant 6 bits of the last byte,\n CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text,\n CONTEXT_SIGNED: second-order context model tuned for signed integers.\n\n The context id for the UTF8 context model is calculated as follows. If p1\n and p2 are the previous two bytes, we calcualte the context as\n\n context = kContextLookup[p1] | kContextLookup[p2 + 256].\n\n If the previous two bytes are ASCII characters (i.e. < 128), this will be\n equivalent to\n\n context = 4 * context1(p1) + context2(p2),\n\n where context1 is based on the previous byte in the following way:\n\n 0 : non-ASCII control\n 1 : \\t, \\n, \\r\n 2 : space\n 3 : other punctuation\n 4 : " \'\n 5 : %\n 6 : ( < [ {\n 7 : ) > ] }\n 8 : , ; :\n 9 : .\n 10 : =\n 11 : number\n 12 : upper-case vowel\n 13 : upper-case consonant\n 14 : lower-case vowel\n 15 : lower-case consonant\n\n and context2 is based on the second last byte:\n\n 0 : control, space\n 1 : punctuation\n 2 : upper-case letter, number\n 3 : lower-case letter\n\n If the last byte is ASCII, and the second last byte is not (in a valid UTF8\n stream it will be a continuation byte, value between 128 and 191), the\n context is the same as if the second last byte was an ASCII control or space.\n\n If the last byte is a UTF8 lead byte (value >= 192), then the next byte will\n be a continuation byte and the context id is 2 or 3 depending on the LSB of\n the last byte and to a lesser extent on the second last byte if it is ASCII.\n\n If the last byte is a UTF8 continuation byte, the second last byte can be:\n - continuation byte: the next byte is probably ASCII or lead byte (assuming\n 4-byte UTF8 characters are rare) and the context id is 0 or 1.\n - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1\n - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3\n\n The possible value combinations of the previous two bytes, the range of\n context ids and the type of the next byte is summarized in the table below:\n\n |--------\\-----------------------------------------------------------------|\n | \\ Last byte |\n | Second \\---------------------------------------------------------------|\n | last byte \\ ASCII | cont. byte | lead byte |\n | \\ (0-127) | (128-191) | (192-) |\n |=============|===================|=====================|==================|\n | ASCII | next: ASCII/lead | not valid | next: cont. |\n | (0-127) | context: 4 - 63 | | context: 2 - 3 |\n |-------------|-------------------|---------------------|------------------|\n | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. |\n | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 |\n |-------------|-------------------|---------------------|------------------|\n | lead byte | not valid | next: ASCII/lead | not valid |\n | (192-207) | | context: 0 - 1 | |\n |-------------|-------------------|---------------------|------------------|\n | lead byte | not valid | next: cont. | not valid |\n | (208-) | | context: 2 - 3 | |\n |-------------|-------------------|---------------------|------------------|\n\n The context id for the signed context mode is calculated as:\n\n context = (kContextLookup[512 + p1] << 3) | kContextLookup[512 + p2].\n\n For any context modeling modes, the context ids can be calculated by |-ing\n together two lookups from one table using context model dependent offsets:\n\n context = kContextLookup[offset1 + p1] | kContextLookup[offset2 + p2].\n\n where offset1 and offset2 are dependent on the context mode.\n*/\n\nvar CONTEXT_LSB6 = 0;\nvar CONTEXT_MSB6 = 1;\nvar CONTEXT_UTF8 = 2;\nvar CONTEXT_SIGNED = 3;\n\n/* Common context lookup table for all context modes. */\nexports.lookup = new Uint8Array([\n /* CONTEXT_UTF8, last byte. */\n /* ASCII range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12,\n 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,\n 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48,\n 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12,\n 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56,\n 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0,\n /* UTF8 continuation byte range. */\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n /* UTF8 lead byte range. */\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n /* CONTEXT_UTF8 second last byte. */\n /* ASCII range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,\n 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,\n 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,\n /* UTF8 continuation byte range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n /* UTF8 lead byte range. */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n /* CONTEXT_SIGNED, second last byte. */\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7,\n /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */\n 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56,\n /* CONTEXT_LSB6, last byte. */\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n /* CONTEXT_MSB6, last byte. */\n 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,\n 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,\n 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11,\n 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15,\n 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19,\n 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,\n 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27,\n 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31,\n 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35,\n 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,\n 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43,\n 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47,\n 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51,\n 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,\n 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,\n 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63,\n /* CONTEXT_{M,L}SB6, second last byte, */\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n]);\n\nexports.lookupOffsets = new Uint16Array([\n /* CONTEXT_LSB6 */\n 1024, 1536,\n /* CONTEXT_MSB6 */\n 1280, 1536,\n /* CONTEXT_UTF8 */\n 0, 256,\n /* CONTEXT_SIGNED */\n 768, 512,\n]);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/context.js?')},"../wabac.js/node_modules/brotli/dec/decode.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/decode.js ***!
\*****************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{eval('/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the "License");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an "AS IS" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nvar BrotliInput = (__webpack_require__(/*! ./streams */ "../wabac.js/node_modules/brotli/dec/streams.js").BrotliInput);\nvar BrotliOutput = (__webpack_require__(/*! ./streams */ "../wabac.js/node_modules/brotli/dec/streams.js").BrotliOutput);\nvar BrotliBitReader = __webpack_require__(/*! ./bit_reader */ "../wabac.js/node_modules/brotli/dec/bit_reader.js");\nvar BrotliDictionary = __webpack_require__(/*! ./dictionary */ "../wabac.js/node_modules/brotli/dec/dictionary.js");\nvar HuffmanCode = (__webpack_require__(/*! ./huffman */ "../wabac.js/node_modules/brotli/dec/huffman.js").HuffmanCode);\nvar BrotliBuildHuffmanTable = (__webpack_require__(/*! ./huffman */ "../wabac.js/node_modules/brotli/dec/huffman.js").BrotliBuildHuffmanTable);\nvar Context = __webpack_require__(/*! ./context */ "../wabac.js/node_modules/brotli/dec/context.js");\nvar Prefix = __webpack_require__(/*! ./prefix */ "../wabac.js/node_modules/brotli/dec/prefix.js");\nvar Transform = __webpack_require__(/*! ./transform */ "../wabac.js/node_modules/brotli/dec/transform.js");\n\nvar kDefaultCodeLength = 8;\nvar kCodeLengthRepeatCode = 16;\nvar kNumLiteralCodes = 256;\nvar kNumInsertAndCopyCodes = 704;\nvar kNumBlockLengthCodes = 26;\nvar kLiteralContextBits = 6;\nvar kDistanceContextBits = 2;\n\nvar HUFFMAN_TABLE_BITS = 8;\nvar HUFFMAN_TABLE_MASK = 0xff;\n/* Maximum possible Huffman table size for an alphabet size of 704, max code\n * length 15 and root table bits 8. */\nvar HUFFMAN_MAX_TABLE_SIZE = 1080;\n\nvar CODE_LENGTH_CODES = 18;\nvar kCodeLengthCodeOrder = new Uint8Array([\n 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n]);\n\nvar NUM_DISTANCE_SHORT_CODES = 16;\nvar kDistanceShortCodeIndexOffset = new Uint8Array([\n 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2\n]);\n\nvar kDistanceShortCodeValueOffset = new Int8Array([\n 0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3\n]);\n\nvar kMaxHuffmanTableSize = new Uint16Array([\n 256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822,\n 854, 886, 920, 952, 984, 1016, 1048, 1080\n]);\n\nfunction DecodeWindowBits(br) {\n var n;\n if (br.readBits(1) === 0) {\n return 16;\n }\n \n n = br.readBits(3);\n if (n > 0) {\n return 17 + n;\n }\n \n n = br.readBits(3);\n if (n > 0) {\n return 8 + n;\n }\n \n return 17;\n}\n\n/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */\nfunction DecodeVarLenUint8(br) {\n if (br.readBits(1)) {\n var nbits = br.readBits(3);\n if (nbits === 0) {\n return 1;\n } else {\n return br.readBits(nbits) + (1 << nbits);\n }\n }\n return 0;\n}\n\nfunction MetaBlockLength() {\n this.meta_block_length = 0;\n this.input_end = 0;\n this.is_uncompressed = 0;\n this.is_metadata = false;\n}\n\nfunction DecodeMetaBlockLength(br) {\n var out = new MetaBlockLength; \n var size_nibbles;\n var size_bytes;\n var i;\n \n out.input_end = br.readBits(1);\n if (out.input_end && br.readBits(1)) {\n return out;\n }\n \n size_nibbles = br.readBits(2) + 4;\n if (size_nibbles === 7) {\n out.is_metadata = true;\n \n if (br.readBits(1) !== 0)\n throw new Error(\'Invalid reserved bit\');\n \n size_bytes = br.readBits(2);\n if (size_bytes === 0)\n return out;\n \n for (i = 0; i < size_bytes; i++) {\n var next_byte = br.readBits(8);\n if (i + 1 === size_bytes && size_bytes > 1 && next_byte === 0)\n throw new Error(\'Invalid size byte\');\n \n out.meta_block_length |= next_byte << (i * 8);\n }\n } else {\n for (i = 0; i < size_nibbles; ++i) {\n var next_nibble = br.readBits(4);\n if (i + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0)\n throw new Error(\'Invalid size nibble\');\n \n out.meta_block_length |= next_nibble << (i * 4);\n }\n }\n \n ++out.meta_block_length;\n \n if (!out.input_end && !out.is_metadata) {\n out.is_uncompressed = br.readBits(1);\n }\n \n return out;\n}\n\n/* Decodes the next Huffman code from bit-stream. */\nfunction ReadSymbol(table, index, br) {\n var start_index = index;\n \n var nbits;\n br.fillBitWindow();\n index += (br.val_ >>> br.bit_pos_) & HUFFMAN_TABLE_MASK;\n nbits = table[index].bits - HUFFMAN_TABLE_BITS;\n if (nbits > 0) {\n br.bit_pos_ += HUFFMAN_TABLE_BITS;\n index += table[index].value;\n index += (br.val_ >>> br.bit_pos_) & ((1 << nbits) - 1);\n }\n br.bit_pos_ += table[index].bits;\n return table[index].value;\n}\n\nfunction ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) {\n var symbol = 0;\n var prev_code_len = kDefaultCodeLength;\n var repeat = 0;\n var repeat_code_len = 0;\n var space = 32768;\n \n var table = [];\n for (var i = 0; i < 32; i++)\n table.push(new HuffmanCode(0, 0));\n \n BrotliBuildHuffmanTable(table, 0, 5, code_length_code_lengths, CODE_LENGTH_CODES);\n\n while (symbol < num_symbols && space > 0) {\n var p = 0;\n var code_len;\n \n br.readMoreInput();\n br.fillBitWindow();\n p += (br.val_ >>> br.bit_pos_) & 31;\n br.bit_pos_ += table[p].bits;\n code_len = table[p].value & 0xff;\n if (code_len < kCodeLengthRepeatCode) {\n repeat = 0;\n code_lengths[symbol++] = code_len;\n if (code_len !== 0) {\n prev_code_len = code_len;\n space -= 32768 >> code_len;\n }\n } else {\n var extra_bits = code_len - 14;\n var old_repeat;\n var repeat_delta;\n var new_len = 0;\n if (code_len === kCodeLengthRepeatCode) {\n new_len = prev_code_len;\n }\n if (repeat_code_len !== new_len) {\n repeat = 0;\n repeat_code_len = new_len;\n }\n old_repeat = repeat;\n if (repeat > 0) {\n repeat -= 2;\n repeat <<= extra_bits;\n }\n repeat += br.readBits(extra_bits) + 3;\n repeat_delta = repeat - old_repeat;\n if (symbol + repeat_delta > num_symbols) {\n throw new Error(\'[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols\');\n }\n \n for (var x = 0; x < repeat_delta; x++)\n code_lengths[symbol + x] = repeat_code_len;\n \n symbol += repeat_delta;\n \n if (repeat_code_len !== 0) {\n space -= repeat_delta << (15 - repeat_code_len);\n }\n }\n }\n if (space !== 0) {\n throw new Error("[ReadHuffmanCodeLengths] space = " + space);\n }\n \n for (; symbol < num_symbols; symbol++)\n code_lengths[symbol] = 0;\n}\n\nfunction ReadHuffmanCode(alphabet_size, tables, table, br) {\n var table_size = 0;\n var simple_code_or_skip;\n var code_lengths = new Uint8Array(alphabet_size);\n \n br.readMoreInput();\n \n /* simple_code_or_skip is used as follows:\n 1 for simple code;\n 0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */\n simple_code_or_skip = br.readBits(2);\n if (simple_code_or_skip === 1) {\n /* Read symbols, codes & code lengths directly. */\n var i;\n var max_bits_counter = alphabet_size - 1;\n var max_bits = 0;\n var symbols = new Int32Array(4);\n var num_symbols = br.readBits(2) + 1;\n while (max_bits_counter) {\n max_bits_counter >>= 1;\n ++max_bits;\n }\n\n for (i = 0; i < num_symbols; ++i) {\n symbols[i] = br.readBits(max_bits) % alphabet_size;\n code_lengths[symbols[i]] = 2;\n }\n code_lengths[symbols[0]] = 1;\n switch (num_symbols) {\n case 1:\n break;\n case 3:\n if ((symbols[0] === symbols[1]) ||\n (symbols[0] === symbols[2]) ||\n (symbols[1] === symbols[2])) {\n throw new Error(\'[ReadHuffmanCode] invalid symbols\');\n }\n break;\n case 2:\n if (symbols[0] === symbols[1]) {\n throw new Error(\'[ReadHuffmanCode] invalid symbols\');\n }\n \n code_lengths[symbols[1]] = 1;\n break;\n case 4:\n if ((symbols[0] === symbols[1]) ||\n (symbols[0] === symbols[2]) ||\n (symbols[0] === symbols[3]) ||\n (symbols[1] === symbols[2]) ||\n (symbols[1] === symbols[3]) ||\n (symbols[2] === symbols[3])) {\n throw new Error(\'[ReadHuffmanCode] invalid symbols\');\n }\n \n if (br.readBits(1)) {\n code_lengths[symbols[2]] = 3;\n code_lengths[symbols[3]] = 3;\n } else {\n code_lengths[symbols[0]] = 2;\n }\n break;\n }\n } else { /* Decode Huffman-coded code lengths. */\n var i;\n var code_length_code_lengths = new Uint8Array(CODE_LENGTH_CODES);\n var space = 32;\n var num_codes = 0;\n /* Static Huffman code for the code length code lengths */\n var huff = [\n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), \n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 1),\n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), \n new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 5)\n ];\n for (i = simple_code_or_skip; i < CODE_LENGTH_CODES && space > 0; ++i) {\n var code_len_idx = kCodeLengthCodeOrder[i];\n var p = 0;\n var v;\n br.fillBitWindow();\n p += (br.val_ >>> br.bit_pos_) & 15;\n br.bit_pos_ += huff[p].bits;\n v = huff[p].value;\n code_length_code_lengths[code_len_idx] = v;\n if (v !== 0) {\n space -= (32 >> v);\n ++num_codes;\n }\n }\n \n if (!(num_codes === 1 || space === 0))\n throw new Error(\'[ReadHuffmanCode] invalid num_codes or space\');\n \n ReadHuffmanCodeLengths(code_length_code_lengths, alphabet_size, code_lengths, br);\n }\n \n table_size = BrotliBuildHuffmanTable(tables, table, HUFFMAN_TABLE_BITS, code_lengths, alphabet_size);\n \n if (table_size === 0) {\n throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");\n }\n \n return table_size;\n}\n\nfunction ReadBlockLength(table, index, br) {\n var code;\n var nbits;\n code = ReadSymbol(table, index, br);\n nbits = Prefix.kBlockLengthPrefixCode[code].nbits;\n return Prefix.kBlockLengthPrefixCode[code].offset + br.readBits(nbits);\n}\n\nfunction TranslateShortCodes(code, ringbuffer, index) {\n var val;\n if (code < NUM_DISTANCE_SHORT_CODES) {\n index += kDistanceShortCodeIndexOffset[code];\n index &= 3;\n val = ringbuffer[index] + kDistanceShortCodeValueOffset[code];\n } else {\n val = code - NUM_DISTANCE_SHORT_CODES + 1;\n }\n return val;\n}\n\nfunction MoveToFront(v, index) {\n var value = v[index];\n var i = index;\n for (; i; --i) v[i] = v[i - 1];\n v[0] = value;\n}\n\nfunction InverseMoveToFrontTransform(v, v_len) {\n var mtf = new Uint8Array(256);\n var i;\n for (i = 0; i < 256; ++i) {\n mtf[i] = i;\n }\n for (i = 0; i < v_len; ++i) {\n var index = v[i];\n v[i] = mtf[index];\n if (index) MoveToFront(mtf, index);\n }\n}\n\n/* Contains a collection of huffman trees with the same alphabet size. */\nfunction HuffmanTreeGroup(alphabet_size, num_htrees) {\n this.alphabet_size = alphabet_size;\n this.num_htrees = num_htrees;\n this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[(alphabet_size + 31) >>> 5]); \n this.htrees = new Uint32Array(num_htrees);\n}\n\nHuffmanTreeGroup.prototype.decode = function(br) {\n var i;\n var table_size;\n var next = 0;\n for (i = 0; i < this.num_htrees; ++i) {\n this.htrees[i] = next;\n table_size = ReadHuffmanCode(this.alphabet_size, this.codes, next, br);\n next += table_size;\n }\n};\n\nfunction DecodeContextMap(context_map_size, br) {\n var out = { num_htrees: null, context_map: null };\n var use_rle_for_zeros;\n var max_run_length_prefix = 0;\n var table;\n var i;\n \n br.readMoreInput();\n var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1;\n\n var context_map = out.context_map = new Uint8Array(context_map_size);\n if (num_htrees <= 1) {\n return out;\n }\n\n use_rle_for_zeros = br.readBits(1);\n if (use_rle_for_zeros) {\n max_run_length_prefix = br.readBits(4) + 1;\n }\n \n table = [];\n for (i = 0; i < HUFFMAN_MAX_TABLE_SIZE; i++) {\n table[i] = new HuffmanCode(0, 0);\n }\n \n ReadHuffmanCode(num_htrees + max_run_length_prefix, table, 0, br);\n \n for (i = 0; i < context_map_size;) {\n var code;\n\n br.readMoreInput();\n code = ReadSymbol(table, 0, br);\n if (code === 0) {\n context_map[i] = 0;\n ++i;\n } else if (code <= max_run_length_prefix) {\n var reps = 1 + (1 << code) + br.readBits(code);\n while (--reps) {\n if (i >= context_map_size) {\n throw new Error("[DecodeContextMap] i >= context_map_size");\n }\n context_map[i] = 0;\n ++i;\n }\n } else {\n context_map[i] = code - max_run_length_prefix;\n ++i;\n }\n }\n if (br.readBits(1)) {\n InverseMoveToFrontTransform(context_map, context_map_size);\n }\n \n return out;\n}\n\nfunction DecodeBlockType(max_block_type, trees, tree_type, block_types, ringbuffers, indexes, br) {\n var ringbuffer = tree_type * 2;\n var index = tree_type;\n var type_code = ReadSymbol(trees, tree_type * HUFFMAN_MAX_TABLE_SIZE, br);\n var block_type;\n if (type_code === 0) {\n block_type = ringbuffers[ringbuffer + (indexes[index] & 1)];\n } else if (type_code === 1) {\n block_type = ringbuffers[ringbuffer + ((indexes[index] - 1) & 1)] + 1;\n } else {\n block_type = type_code - 2;\n }\n if (block_type >= max_block_type) {\n block_type -= max_block_type;\n }\n block_types[tree_type] = block_type;\n ringbuffers[ringbuffer + (indexes[index] & 1)] = block_type;\n ++indexes[index];\n}\n\nfunction CopyUncompressedBlockToOutput(output, len, pos, ringbuffer, ringbuffer_mask, br) {\n var rb_size = ringbuffer_mask + 1;\n var rb_pos = pos & ringbuffer_mask;\n var br_pos = br.pos_ & BrotliBitReader.IBUF_MASK;\n var nbytes;\n\n /* For short lengths copy byte-by-byte */\n if (len < 8 || br.bit_pos_ + (len << 3) < br.bit_end_pos_) {\n while (len-- > 0) {\n br.readMoreInput();\n ringbuffer[rb_pos++] = br.readBits(8);\n if (rb_pos === rb_size) {\n output.write(ringbuffer, rb_size);\n rb_pos = 0;\n }\n }\n return;\n }\n\n if (br.bit_end_pos_ < 32) {\n throw new Error(\'[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32\');\n }\n\n /* Copy remaining 0-4 bytes from br.val_ to ringbuffer. */\n while (br.bit_pos_ < 32) {\n ringbuffer[rb_pos] = (br.val_ >>> br.bit_pos_);\n br.bit_pos_ += 8;\n ++rb_pos;\n --len;\n }\n\n /* Copy remaining bytes from br.buf_ to ringbuffer. */\n nbytes = (br.bit_end_pos_ - br.bit_pos_) >> 3;\n if (br_pos + nbytes > BrotliBitReader.IBUF_MASK) {\n var tail = BrotliBitReader.IBUF_MASK + 1 - br_pos;\n for (var x = 0; x < tail; x++)\n ringbuffer[rb_pos + x] = br.buf_[br_pos + x];\n \n nbytes -= tail;\n rb_pos += tail;\n len -= tail;\n br_pos = 0;\n }\n\n for (var x = 0; x < nbytes; x++)\n ringbuffer[rb_pos + x] = br.buf_[br_pos + x];\n \n rb_pos += nbytes;\n len -= nbytes;\n\n /* If we wrote past the logical end of the ringbuffer, copy the tail of the\n ringbuffer to its beginning and flush the ringbuffer to the output. */\n if (rb_pos >= rb_size) {\n output.write(ringbuffer, rb_size);\n rb_pos -= rb_size; \n for (var x = 0; x < rb_pos; x++)\n ringbuffer[x] = ringbuffer[rb_size + x];\n }\n\n /* If we have more to copy than the remaining size of the ringbuffer, then we\n first fill the ringbuffer from the input and then flush the ringbuffer to\n the output */\n while (rb_pos + len >= rb_size) {\n nbytes = rb_size - rb_pos;\n if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) {\n throw new Error(\'[CopyUncompressedBlockToOutput] not enough bytes\');\n }\n output.write(ringbuffer, rb_size);\n len -= nbytes;\n rb_pos = 0;\n }\n\n /* Copy straight from the input onto the ringbuffer. The ringbuffer will be\n flushed to the output at a later time. */\n if (br.input_.read(ringbuffer, rb_pos, len) < len) {\n throw new Error(\'[CopyUncompressedBlockToOutput] not enough bytes\');\n }\n\n /* Restore the state of the bit reader. */\n br.reset();\n}\n\n/* Advances the bit reader position to the next byte boundary and verifies\n that any skipped bits are set to zero. */\nfunction JumpToByteBoundary(br) {\n var new_bit_pos = (br.bit_pos_ + 7) & ~7;\n var pad_bits = br.readBits(new_bit_pos - br.bit_pos_);\n return pad_bits == 0;\n}\n\nfunction BrotliDecompressedSize(buffer) {\n var input = new BrotliInput(buffer);\n var br = new BrotliBitReader(input);\n DecodeWindowBits(br);\n var out = DecodeMetaBlockLength(br);\n return out.meta_block_length;\n}\n\nexports.BrotliDecompressedSize = BrotliDecompressedSize;\n\nfunction BrotliDecompressBuffer(buffer, output_size) {\n var input = new BrotliInput(buffer);\n \n if (output_size == null) {\n output_size = BrotliDecompressedSize(buffer);\n }\n \n var output_buffer = new Uint8Array(output_size);\n var output = new BrotliOutput(output_buffer);\n \n BrotliDecompress(input, output);\n \n if (output.pos < output.buffer.length) {\n output.buffer = output.buffer.subarray(0, output.pos);\n }\n \n return output.buffer;\n}\n\nexports.BrotliDecompressBuffer = BrotliDecompressBuffer;\n\nfunction BrotliDecompress(input, output) {\n var i;\n var pos = 0;\n var input_end = 0;\n var window_bits = 0;\n var max_backward_distance;\n var max_distance = 0;\n var ringbuffer_size;\n var ringbuffer_mask;\n var ringbuffer;\n var ringbuffer_end;\n /* This ring buffer holds a few past copy distances that will be used by */\n /* some special distance codes. */\n var dist_rb = [ 16, 15, 11, 4 ];\n var dist_rb_idx = 0;\n /* The previous 2 bytes used for context. */\n var prev_byte1 = 0;\n var prev_byte2 = 0;\n var hgroup = [new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0)];\n var block_type_trees;\n var block_len_trees;\n var br;\n\n /* We need the slack region for the following reasons:\n - always doing two 8-byte copies for fast backward copying\n - transforms\n - flushing the input ringbuffer when decoding uncompressed blocks */\n var kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE;\n\n br = new BrotliBitReader(input);\n\n /* Decode window size. */\n window_bits = DecodeWindowBits(br);\n max_backward_distance = (1 << window_bits) - 16;\n\n ringbuffer_size = 1 << window_bits;\n ringbuffer_mask = ringbuffer_size - 1;\n ringbuffer = new Uint8Array(ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength);\n ringbuffer_end = ringbuffer_size;\n\n block_type_trees = [];\n block_len_trees = [];\n for (var x = 0; x < 3 * HUFFMAN_MAX_TABLE_SIZE; x++) {\n block_type_trees[x] = new HuffmanCode(0, 0);\n block_len_trees[x] = new HuffmanCode(0, 0);\n }\n\n while (!input_end) {\n var meta_block_remaining_len = 0;\n var is_uncompressed;\n var block_length = [ 1 << 28, 1 << 28, 1 << 28 ];\n var block_type = [ 0 ];\n var num_block_types = [ 1, 1, 1 ];\n var block_type_rb = [ 0, 1, 0, 1, 0, 1 ];\n var block_type_rb_index = [ 0 ];\n var distance_postfix_bits;\n var num_direct_distance_codes;\n var distance_postfix_mask;\n var num_distance_codes;\n var context_map = null;\n var context_modes = null;\n var num_literal_htrees;\n var dist_context_map = null;\n var num_dist_htrees;\n var context_offset = 0;\n var context_map_slice = null;\n var literal_htree_index = 0;\n var dist_context_offset = 0;\n var dist_context_map_slice = null;\n var dist_htree_index = 0;\n var context_lookup_offset1 = 0;\n var context_lookup_offset2 = 0;\n var context_mode;\n var htree_command;\n\n for (i = 0; i < 3; ++i) {\n hgroup[i].codes = null;\n hgroup[i].htrees = null;\n }\n\n br.readMoreInput();\n \n var _out = DecodeMetaBlockLength(br);\n meta_block_remaining_len = _out.meta_block_length;\n if (pos + meta_block_remaining_len > output.buffer.length) {\n /* We need to grow the output buffer to fit the additional data. */\n var tmp = new Uint8Array( pos + meta_block_remaining_len );\n tmp.set( output.buffer );\n output.buffer = tmp;\n } \n input_end = _out.input_end;\n is_uncompressed = _out.is_uncompressed;\n \n if (_out.is_metadata) {\n JumpToByteBoundary(br);\n \n for (; meta_block_remaining_len > 0; --meta_block_remaining_len) {\n br.readMoreInput();\n /* Read one byte and ignore it. */\n br.readBits(8);\n }\n \n continue;\n }\n \n if (meta_block_remaining_len === 0) {\n continue;\n }\n \n if (is_uncompressed) {\n br.bit_pos_ = (br.bit_pos_ + 7) & ~7;\n CopyUncompressedBlockToOutput(output, meta_block_remaining_len, pos,\n ringbuffer, ringbuffer_mask, br);\n pos += meta_block_remaining_len;\n continue;\n }\n \n for (i = 0; i < 3; ++i) {\n num_block_types[i] = DecodeVarLenUint8(br) + 1;\n if (num_block_types[i] >= 2) {\n ReadHuffmanCode(num_block_types[i] + 2, block_type_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n ReadHuffmanCode(kNumBlockLengthCodes, block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n block_length[i] = ReadBlockLength(block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n block_type_rb_index[i] = 1;\n }\n }\n \n br.readMoreInput();\n \n distance_postfix_bits = br.readBits(2);\n num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits);\n distance_postfix_mask = (1 << distance_postfix_bits) - 1;\n num_distance_codes = (num_direct_distance_codes + (48 << distance_postfix_bits));\n context_modes = new Uint8Array(num_block_types[0]);\n\n for (i = 0; i < num_block_types[0]; ++i) {\n br.readMoreInput();\n context_modes[i] = (br.readBits(2) << 1);\n }\n \n var _o1 = DecodeContextMap(num_block_types[0] << kLiteralContextBits, br);\n num_literal_htrees = _o1.num_htrees;\n context_map = _o1.context_map;\n \n var _o2 = DecodeContextMap(num_block_types[2] << kDistanceContextBits, br);\n num_dist_htrees = _o2.num_htrees;\n dist_context_map = _o2.context_map;\n \n hgroup[0] = new HuffmanTreeGroup(kNumLiteralCodes, num_literal_htrees);\n hgroup[1] = new HuffmanTreeGroup(kNumInsertAndCopyCodes, num_block_types[1]);\n hgroup[2] = new HuffmanTreeGroup(num_distance_codes, num_dist_htrees);\n\n for (i = 0; i < 3; ++i) {\n hgroup[i].decode(br);\n }\n\n context_map_slice = 0;\n dist_context_map_slice = 0;\n context_mode = context_modes[block_type[0]];\n context_lookup_offset1 = Context.lookupOffsets[context_mode];\n context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];\n htree_command = hgroup[1].htrees[0];\n\n while (meta_block_remaining_len > 0) {\n var cmd_code;\n var range_idx;\n var insert_code;\n var copy_code;\n var insert_length;\n var copy_length;\n var distance_code;\n var distance;\n var context;\n var j;\n var copy_dst;\n\n br.readMoreInput();\n \n if (block_length[1] === 0) {\n DecodeBlockType(num_block_types[1],\n block_type_trees, 1, block_type, block_type_rb,\n block_type_rb_index, br);\n block_length[1] = ReadBlockLength(block_len_trees, HUFFMAN_MAX_TABLE_SIZE, br);\n htree_command = hgroup[1].htrees[block_type[1]];\n }\n --block_length[1];\n cmd_code = ReadSymbol(hgroup[1].codes, htree_command, br);\n range_idx = cmd_code >> 6;\n if (range_idx >= 2) {\n range_idx -= 2;\n distance_code = -1;\n } else {\n distance_code = 0;\n }\n insert_code = Prefix.kInsertRangeLut[range_idx] + ((cmd_code >> 3) & 7);\n copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7);\n insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset +\n br.readBits(Prefix.kInsertLengthPrefixCode[insert_code].nbits);\n copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset +\n br.readBits(Prefix.kCopyLengthPrefixCode[copy_code].nbits);\n prev_byte1 = ringbuffer[pos-1 & ringbuffer_mask];\n prev_byte2 = ringbuffer[pos-2 & ringbuffer_mask];\n for (j = 0; j < insert_length; ++j) {\n br.readMoreInput();\n\n if (block_length[0] === 0) {\n DecodeBlockType(num_block_types[0],\n block_type_trees, 0, block_type, block_type_rb,\n block_type_rb_index, br);\n block_length[0] = ReadBlockLength(block_len_trees, 0, br);\n context_offset = block_type[0] << kLiteralContextBits;\n context_map_slice = context_offset;\n context_mode = context_modes[block_type[0]];\n context_lookup_offset1 = Context.lookupOffsets[context_mode];\n context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];\n }\n context = (Context.lookup[context_lookup_offset1 + prev_byte1] |\n Context.lookup[context_lookup_offset2 + prev_byte2]);\n literal_htree_index = context_map[context_map_slice + context];\n --block_length[0];\n prev_byte2 = prev_byte1;\n prev_byte1 = ReadSymbol(hgroup[0].codes, hgroup[0].htrees[literal_htree_index], br);\n ringbuffer[pos & ringbuffer_mask] = prev_byte1;\n if ((pos & ringbuffer_mask) === ringbuffer_mask) {\n output.write(ringbuffer, ringbuffer_size);\n }\n ++pos;\n }\n meta_block_remaining_len -= insert_length;\n if (meta_block_remaining_len <= 0) break;\n\n if (distance_code < 0) {\n var context;\n \n br.readMoreInput();\n if (block_length[2] === 0) {\n DecodeBlockType(num_block_types[2],\n block_type_trees, 2, block_type, block_type_rb,\n block_type_rb_index, br);\n block_length[2] = ReadBlockLength(block_len_trees, 2 * HUFFMAN_MAX_TABLE_SIZE, br);\n dist_context_offset = block_type[2] << kDistanceContextBits;\n dist_context_map_slice = dist_context_offset;\n }\n --block_length[2];\n context = (copy_length > 4 ? 3 : copy_length - 2) & 0xff;\n dist_htree_index = dist_context_map[dist_context_map_slice + context];\n distance_code = ReadSymbol(hgroup[2].codes, hgroup[2].htrees[dist_htree_index], br);\n if (distance_code >= num_direct_distance_codes) {\n var nbits;\n var postfix;\n var offset;\n distance_code -= num_direct_distance_codes;\n postfix = distance_code & distance_postfix_mask;\n distance_code >>= distance_postfix_bits;\n nbits = (distance_code >> 1) + 1;\n offset = ((2 + (distance_code & 1)) << nbits) - 4;\n distance_code = num_direct_distance_codes +\n ((offset + br.readBits(nbits)) <<\n distance_postfix_bits) + postfix;\n }\n }\n\n /* Convert the distance code to the actual distance by possibly looking */\n /* up past distnaces from the ringbuffer. */\n distance = TranslateShortCodes(distance_code, dist_rb, dist_rb_idx);\n if (distance < 0) {\n throw new Error(\'[BrotliDecompress] invalid distance\');\n }\n\n if (pos < max_backward_distance &&\n max_distance !== max_backward_distance) {\n max_distance = pos;\n } else {\n max_distance = max_backward_distance;\n }\n\n copy_dst = pos & ringbuffer_mask;\n\n if (distance > max_distance) {\n if (copy_length >= BrotliDictionary.minDictionaryWordLength &&\n copy_length <= BrotliDictionary.maxDictionaryWordLength) {\n var offset = BrotliDictionary.offsetsByLength[copy_length];\n var word_id = distance - max_distance - 1;\n var shift = BrotliDictionary.sizeBitsByLength[copy_length];\n var mask = (1 << shift) - 1;\n var word_idx = word_id & mask;\n var transform_idx = word_id >> shift;\n offset += word_idx * copy_length;\n if (transform_idx < Transform.kNumTransforms) {\n var len = Transform.transformDictionaryWord(ringbuffer, copy_dst, offset, copy_length, transform_idx);\n copy_dst += len;\n pos += len;\n meta_block_remaining_len -= len;\n if (copy_dst >= ringbuffer_end) {\n output.write(ringbuffer, ringbuffer_size);\n \n for (var _x = 0; _x < (copy_dst - ringbuffer_end); _x++)\n ringbuffer[_x] = ringbuffer[ringbuffer_end + _x];\n }\n } else {\n throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance +\n " len: " + copy_length + " bytes left: " + meta_block_remaining_len);\n }\n } else {\n throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance +\n " len: " + copy_length + " bytes left: " + meta_block_remaining_len);\n }\n } else {\n if (distance_code > 0) {\n dist_rb[dist_rb_idx & 3] = distance;\n ++dist_rb_idx;\n }\n\n if (copy_length > meta_block_remaining_len) {\n throw new Error("Invalid backward reference. pos: " + pos + " distance: " + distance +\n " len: " + copy_length + " bytes left: " + meta_block_remaining_len);\n }\n\n for (j = 0; j < copy_length; ++j) {\n ringbuffer[pos & ringbuffer_mask] = ringbuffer[(pos - distance) & ringbuffer_mask];\n if ((pos & ringbuffer_mask) === ringbuffer_mask) {\n output.write(ringbuffer, ringbuffer_size);\n }\n ++pos;\n --meta_block_remaining_len;\n }\n }\n\n /* When we get here, we must have inserted at least one literal and */\n /* made a copy of at least length two, therefore accessing the last 2 */\n /* bytes is valid. */\n prev_byte1 = ringbuffer[(pos - 1) & ringbuffer_mask];\n prev_byte2 = ringbuffer[(pos - 2) & ringbuffer_mask];\n }\n\n /* Protect pos from overflow, wrap it around at every GB of input data */\n pos &= 0x3fffffff;\n }\n\n output.write(ringbuffer, pos & ringbuffer_mask);\n}\n\nexports.BrotliDecompress = BrotliDecompress;\n\nBrotliDictionary.init();\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/decode.js?')},"../wabac.js/node_modules/brotli/dec/dictionary-browser.js":
/*!*****************************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/dictionary-browser.js ***!
\*****************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{eval('var base64 = __webpack_require__(/*! base64-js */ "../wabac.js/node_modules/brotli/node_modules/base64-js/index.js");\n\n/**\n * The normal dictionary-data.js is quite large, which makes it \n * unsuitable for browser usage. In order to make it smaller, \n * we read dictionary.bin, which is a compressed version of\n * the dictionary, and on initial load, Brotli decompresses \n * it\'s own dictionary. 😜\n */\nexports.init = function() {\n var BrotliDecompressBuffer = (__webpack_require__(/*! ./decode */ "../wabac.js/node_modules/brotli/dec/decode.js").BrotliDecompressBuffer);\n var compressed = base64.toByteArray(__webpack_require__(/*! ./dictionary.bin.js */ "../wabac.js/node_modules/brotli/dec/dictionary.bin.js"));\n return BrotliDecompressBuffer(compressed);\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/dictionary-browser.js?')},"../wabac.js/node_modules/brotli/dec/dictionary.bin.js":
/*!*************************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/dictionary.bin.js ***!
\*************************************************************/module=>{eval('module.exports="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";\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/dictionary.bin.js?')},"../wabac.js/node_modules/brotli/dec/dictionary.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/dictionary.js ***!
\*********************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{eval('/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the "License");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an "AS IS" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Collection of static dictionary words.\n*/\n\nvar data = __webpack_require__(/*! ./dictionary-data */ "../wabac.js/node_modules/brotli/dec/dictionary-browser.js");\nexports.init = function() {\n exports.dictionary = data.init();\n};\n\nexports.offsetsByLength = new Uint32Array([\n 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032,\n 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536,\n 115968, 118528, 119872, 121280, 122016,\n]);\n\nexports.sizeBitsByLength = new Uint8Array([\n 0, 0, 0, 0, 10, 10, 11, 11, 10, 10,\n 10, 10, 10, 9, 9, 8, 7, 7, 8, 7,\n 7, 6, 6, 5, 5,\n]);\n\nexports.minDictionaryWordLength = 4;\nexports.maxDictionaryWordLength = 24;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/dictionary.js?')},"../wabac.js/node_modules/brotli/dec/huffman.js":
/*!******************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/huffman.js ***!
\******************************************************/(__unused_webpack_module,exports)=>{eval("function HuffmanCode(bits, value) {\n this.bits = bits; /* number of bits used for this symbol */\n this.value = value; /* symbol value or table offset */\n}\n\nexports.HuffmanCode = HuffmanCode;\n\nvar MAX_LENGTH = 15;\n\n/* Returns reverse(reverse(key, len) + 1, len), where reverse(key, len) is the\n bit-wise reversal of the len least significant bits of key. */\nfunction GetNextKey(key, len) {\n var step = 1 << (len - 1);\n while (key & step) {\n step >>= 1;\n }\n return (key & (step - 1)) + step;\n}\n\n/* Stores code in table[0], table[step], table[2*step], ..., table[end] */\n/* Assumes that end is an integer multiple of step */\nfunction ReplicateValue(table, i, step, end, code) {\n do {\n end -= step;\n table[i + end] = new HuffmanCode(code.bits, code.value);\n } while (end > 0);\n}\n\n/* Returns the table width of the next 2nd level table. count is the histogram\n of bit lengths for the remaining symbols, len is the code length of the next\n processed symbol */\nfunction NextTableBitSize(count, len, root_bits) {\n var left = 1 << (len - root_bits);\n while (len < MAX_LENGTH) {\n left -= count[len];\n if (left <= 0) break;\n ++len;\n left <<= 1;\n }\n return len - root_bits;\n}\n\nexports.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) {\n var start_table = table;\n var code; /* current table entry */\n var len; /* current code length */\n var symbol; /* symbol index in original or sorted table */\n var key; /* reversed prefix code */\n var step; /* step size to replicate values in current table */\n var low; /* low bits for current root entry */\n var mask; /* mask for low bits */\n var table_bits; /* key length of current table */\n var table_size; /* size of current table */\n var total_size; /* sum of root table size and 2nd level table sizes */\n var sorted; /* symbols sorted by code length */\n var count = new Int32Array(MAX_LENGTH + 1); /* number of codes of each length */\n var offset = new Int32Array(MAX_LENGTH + 1); /* offsets in sorted table for each length */\n\n sorted = new Int32Array(code_lengths_size);\n\n /* build histogram of code lengths */\n for (symbol = 0; symbol < code_lengths_size; symbol++) {\n count[code_lengths[symbol]]++;\n }\n\n /* generate offsets into sorted symbol table by code length */\n offset[1] = 0;\n for (len = 1; len < MAX_LENGTH; len++) {\n offset[len + 1] = offset[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (symbol = 0; symbol < code_lengths_size; symbol++) {\n if (code_lengths[symbol] !== 0) {\n sorted[offset[code_lengths[symbol]]++] = symbol;\n }\n }\n \n table_bits = root_bits;\n table_size = 1 << table_bits;\n total_size = table_size;\n\n /* special case code with only one value */\n if (offset[MAX_LENGTH] === 1) {\n for (key = 0; key < total_size; ++key) {\n root_table[table + key] = new HuffmanCode(0, sorted[0] & 0xffff);\n }\n \n return total_size;\n }\n\n /* fill in root table */\n key = 0;\n symbol = 0;\n for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) {\n for (; count[len] > 0; --count[len]) {\n code = new HuffmanCode(len & 0xff, sorted[symbol++] & 0xffff);\n ReplicateValue(root_table, table + key, step, table_size, code);\n key = GetNextKey(key, len);\n }\n }\n\n /* fill in 2nd level tables and add pointers to root table */\n mask = total_size - 1;\n low = -1;\n for (len = root_bits + 1, step = 2; len <= MAX_LENGTH; ++len, step <<= 1) {\n for (; count[len] > 0; --count[len]) {\n if ((key & mask) !== low) {\n table += table_size;\n table_bits = NextTableBitSize(count, len, root_bits);\n table_size = 1 << table_bits;\n total_size += table_size;\n low = key & mask;\n root_table[start_table + low] = new HuffmanCode((table_bits + root_bits) & 0xff, ((table - start_table) - low) & 0xffff);\n }\n code = new HuffmanCode((len - root_bits) & 0xff, sorted[symbol++] & 0xffff);\n ReplicateValue(root_table, table + (key >> root_bits), step, table_size, code);\n key = GetNextKey(key, len);\n }\n }\n \n return total_size;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/huffman.js?")},"../wabac.js/node_modules/brotli/dec/prefix.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/prefix.js ***!
\*****************************************************/(__unused_webpack_module,exports)=>{eval('/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the "License");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an "AS IS" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Lookup tables to map prefix codes to value ranges. This is used during\n decoding of the block lengths, literal insertion lengths and copy lengths.\n*/\n\n/* Represents the range of values belonging to a prefix code: */\n/* [offset, offset + 2^nbits) */\nfunction PrefixCodeRange(offset, nbits) {\n this.offset = offset;\n this.nbits = nbits;\n}\n\nexports.kBlockLengthPrefixCode = [\n new PrefixCodeRange(1, 2), new PrefixCodeRange(5, 2), new PrefixCodeRange(9, 2), new PrefixCodeRange(13, 2),\n new PrefixCodeRange(17, 3), new PrefixCodeRange(25, 3), new PrefixCodeRange(33, 3), new PrefixCodeRange(41, 3),\n new PrefixCodeRange(49, 4), new PrefixCodeRange(65, 4), new PrefixCodeRange(81, 4), new PrefixCodeRange(97, 4),\n new PrefixCodeRange(113, 5), new PrefixCodeRange(145, 5), new PrefixCodeRange(177, 5), new PrefixCodeRange(209, 5),\n new PrefixCodeRange(241, 6), new PrefixCodeRange(305, 6), new PrefixCodeRange(369, 7), new PrefixCodeRange(497, 8),\n new PrefixCodeRange(753, 9), new PrefixCodeRange(1265, 10), new PrefixCodeRange(2289, 11), new PrefixCodeRange(4337, 12),\n new PrefixCodeRange(8433, 13), new PrefixCodeRange(16625, 24)\n];\n\nexports.kInsertLengthPrefixCode = [\n new PrefixCodeRange(0, 0), new PrefixCodeRange(1, 0), new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0),\n new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 1), new PrefixCodeRange(8, 1),\n new PrefixCodeRange(10, 2), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 3), new PrefixCodeRange(26, 3),\n new PrefixCodeRange(34, 4), new PrefixCodeRange(50, 4), new PrefixCodeRange(66, 5), new PrefixCodeRange(98, 5),\n new PrefixCodeRange(130, 6), new PrefixCodeRange(194, 7), new PrefixCodeRange(322, 8), new PrefixCodeRange(578, 9),\n new PrefixCodeRange(1090, 10), new PrefixCodeRange(2114, 12), new PrefixCodeRange(6210, 14), new PrefixCodeRange(22594, 24),\n];\n\nexports.kCopyLengthPrefixCode = [\n new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0),\n new PrefixCodeRange(6, 0), new PrefixCodeRange(7, 0), new PrefixCodeRange(8, 0), new PrefixCodeRange(9, 0),\n new PrefixCodeRange(10, 1), new PrefixCodeRange(12, 1), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 2),\n new PrefixCodeRange(22, 3), new PrefixCodeRange(30, 3), new PrefixCodeRange(38, 4), new PrefixCodeRange(54, 4),\n new PrefixCodeRange(70, 5), new PrefixCodeRange(102, 5), new PrefixCodeRange(134, 6), new PrefixCodeRange(198, 7),\n new PrefixCodeRange(326, 8), new PrefixCodeRange(582, 9), new PrefixCodeRange(1094, 10), new PrefixCodeRange(2118, 24),\n];\n\nexports.kInsertRangeLut = [\n 0, 0, 8, 8, 0, 16, 8, 16, 16,\n];\n\nexports.kCopyRangeLut = [\n 0, 8, 0, 8, 16, 0, 16, 8, 16,\n];\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/prefix.js?')},"../wabac.js/node_modules/brotli/dec/streams.js":
/*!******************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/streams.js ***!
\******************************************************/(__unused_webpack_module,exports)=>{eval("function BrotliInput(buffer) {\n this.buffer = buffer;\n this.pos = 0;\n}\n\nBrotliInput.prototype.read = function(buf, i, count) {\n if (this.pos + count > this.buffer.length) {\n count = this.buffer.length - this.pos;\n }\n \n for (var p = 0; p < count; p++)\n buf[i + p] = this.buffer[this.pos + p];\n \n this.pos += count;\n return count;\n}\n\nexports.BrotliInput = BrotliInput;\n\nfunction BrotliOutput(buf) {\n this.buffer = buf;\n this.pos = 0;\n}\n\nBrotliOutput.prototype.write = function(buf, count) {\n if (this.pos + count > this.buffer.length)\n throw new Error('Output buffer is not large enough');\n \n this.buffer.set(buf.subarray(0, count), this.pos);\n this.pos += count;\n return count;\n};\n\nexports.BrotliOutput = BrotliOutput;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/streams.js?")},"../wabac.js/node_modules/brotli/dec/transform.js":
/*!********************************************************!*\
!*** ../wabac.js/node_modules/brotli/dec/transform.js ***!
\********************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{eval('/* Copyright 2013 Google Inc. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the "License");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an "AS IS" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Transformations on dictionary words.\n*/\n\nvar BrotliDictionary = __webpack_require__(/*! ./dictionary */ "../wabac.js/node_modules/brotli/dec/dictionary.js");\n\nvar kIdentity = 0;\nvar kOmitLast1 = 1;\nvar kOmitLast2 = 2;\nvar kOmitLast3 = 3;\nvar kOmitLast4 = 4;\nvar kOmitLast5 = 5;\nvar kOmitLast6 = 6;\nvar kOmitLast7 = 7;\nvar kOmitLast8 = 8;\nvar kOmitLast9 = 9;\nvar kUppercaseFirst = 10;\nvar kUppercaseAll = 11;\nvar kOmitFirst1 = 12;\nvar kOmitFirst2 = 13;\nvar kOmitFirst3 = 14;\nvar kOmitFirst4 = 15;\nvar kOmitFirst5 = 16;\nvar kOmitFirst6 = 17;\nvar kOmitFirst7 = 18;\nvar kOmitFirst8 = 19;\nvar kOmitFirst9 = 20;\n\nfunction Transform(prefix, transform, suffix) {\n this.prefix = new Uint8Array(prefix.length);\n this.transform = transform;\n this.suffix = new Uint8Array(suffix.length);\n \n for (var i = 0; i < prefix.length; i++)\n this.prefix[i] = prefix.charCodeAt(i);\n \n for (var i = 0; i < suffix.length; i++)\n this.suffix[i] = suffix.charCodeAt(i);\n}\n\nvar kTransforms = [\n new Transform( "", kIdentity, "" ),\n new Transform( "", kIdentity, " " ),\n new Transform( " ", kIdentity, " " ),\n new Transform( "", kOmitFirst1, "" ),\n new Transform( "", kUppercaseFirst, " " ),\n new Transform( "", kIdentity, " the " ),\n new Transform( " ", kIdentity, "" ),\n new Transform( "s ", kIdentity, " " ),\n new Transform( "", kIdentity, " of " ),\n new Transform( "", kUppercaseFirst, "" ),\n new Transform( "", kIdentity, " and " ),\n new Transform( "", kOmitFirst2, "" ),\n new Transform( "", kOmitLast1, "" ),\n new Transform( ", ", kIdentity, " " ),\n new Transform( "", kIdentity, ", " ),\n new Transform( " ", kUppercaseFirst, " " ),\n new Transform( "", kIdentity, " in " ),\n new Transform( "", kIdentity, " to " ),\n new Transform( "e ", kIdentity, " " ),\n new Transform( "", kIdentity, "\\"" ),\n new Transform( "", kIdentity, "." ),\n new Transform( "", kIdentity, "\\">" ),\n new Transform( "", kIdentity, "\\n" ),\n new Transform( "", kOmitLast3, "" ),\n new Transform( "", kIdentity, "]" ),\n new Transform( "", kIdentity, " for " ),\n new Transform( "", kOmitFirst3, "" ),\n new Transform( "", kOmitLast2, "" ),\n new Transform( "", kIdentity, " a " ),\n new Transform( "", kIdentity, " that " ),\n new Transform( " ", kUppercaseFirst, "" ),\n new Transform( "", kIdentity, ". " ),\n new Transform( ".", kIdentity, "" ),\n new Transform( " ", kIdentity, ", " ),\n new Transform( "", kOmitFirst4, "" ),\n new Transform( "", kIdentity, " with " ),\n new Transform( "", kIdentity, "\'" ),\n new Transform( "", kIdentity, " from " ),\n new Transform( "", kIdentity, " by " ),\n new Transform( "", kOmitFirst5, "" ),\n new Transform( "", kOmitFirst6, "" ),\n new Transform( " the ", kIdentity, "" ),\n new Transform( "", kOmitLast4, "" ),\n new Transform( "", kIdentity, ". The " ),\n new Transform( "", kUppercaseAll, "" ),\n new Transform( "", kIdentity, " on " ),\n new Transform( "", kIdentity, " as " ),\n new Transform( "", kIdentity, " is " ),\n new Transform( "", kOmitLast7, "" ),\n new Transform( "", kOmitLast1, "ing " ),\n new Transform( "", kIdentity, "\\n\\t" ),\n new Transform( "", kIdentity, ":" ),\n new Transform( " ", kIdentity, ". " ),\n new Transform( "", kIdentity, "ed " ),\n new Transform( "", kOmitFirst9, "" ),\n new Transform( "", kOmitFirst7, "" ),\n new Transform( "", kOmitLast6, "" ),\n new Transform( "", kIdentity, "(" ),\n new Transform( "", kUppercaseFirst, ", " ),\n new Transform( "", kOmitLast8, "" ),\n new Transform( "", kIdentity, " at " ),\n new Transform( "", kIdentity, "ly " ),\n new Transform( " the ", kIdentity, " of " ),\n new Transform( "", kOmitLast5, "" ),\n new Transform( "", kOmitLast9, "" ),\n new Transform( " ", kUppercaseFirst, ", " ),\n new Transform( "", kUppercaseFirst, "\\"" ),\n new Transform( ".", kIdentity, "(" ),\n new Transform( "", kUppercaseAll, " " ),\n new Transform( "", kUppercaseFirst, "\\">" ),\n new Transform( "", kIdentity, "=\\"" ),\n new Transform( " ", kIdentity, "." ),\n new Transform( ".com/", kIdentity, "" ),\n new Transform( " the ", kIdentity, " of the " ),\n new Transform( "", kUppercaseFirst, "\'" ),\n new Transform( "", kIdentity, ". This " ),\n new Transform( "", kIdentity, "," ),\n new Transform( ".", kIdentity, " " ),\n new Transform( "", kUppercaseFirst, "(" ),\n new Transform( "", kUppercaseFirst, "." ),\n new Transform( "", kIdentity, " not " ),\n new Transform( " ", kIdentity, "=\\"" ),\n new Transform( "", kIdentity, "er " ),\n new Transform( " ", kUppercaseAll, " " ),\n new Transform( "", kIdentity, "al " ),\n new Transform( " ", kUppercaseAll, "" ),\n new Transform( "", kIdentity, "=\'" ),\n new Transform( "", kUppercaseAll, "\\"" ),\n new Transform( "", kUppercaseFirst, ". " ),\n new Transform( " ", kIdentity, "(" ),\n new Transform( "", kIdentity, "ful " ),\n new Transform( " ", kUppercaseFirst, ". " ),\n new Transform( "", kIdentity, "ive " ),\n new Transform( "", kIdentity, "less " ),\n new Transform( "", kUppercaseAll, "\'" ),\n new Transform( "", kIdentity, "est " ),\n new Transform( " ", kUppercaseFirst, "." ),\n new Transform( "", kUppercaseAll, "\\">" ),\n new Transform( " ", kIdentity, "=\'" ),\n new Transform( "", kUppercaseFirst, "," ),\n new Transform( "", kIdentity, "ize " ),\n new Transform( "", kUppercaseAll, "." ),\n new Transform( "\\xc2\\xa0", kIdentity, "" ),\n new Transform( " ", kIdentity, "," ),\n new Transform( "", kUppercaseFirst, "=\\"" ),\n new Transform( "", kUppercaseAll, "=\\"" ),\n new Transform( "", kIdentity, "ous " ),\n new Transform( "", kUppercaseAll, ", " ),\n new Transform( "", kUppercaseFirst, "=\'" ),\n new Transform( " ", kUppercaseFirst, "," ),\n new Transform( " ", kUppercaseAll, "=\\"" ),\n new Transform( " ", kUppercaseAll, ", " ),\n new Transform( "", kUppercaseAll, "," ),\n new Transform( "", kUppercaseAll, "(" ),\n new Transform( "", kUppercaseAll, ". " ),\n new Transform( " ", kUppercaseAll, "." ),\n new Transform( "", kUppercaseAll, "=\'" ),\n new Transform( " ", kUppercaseAll, ". " ),\n new Transform( " ", kUppercaseFirst, "=\\"" ),\n new Transform( " ", kUppercaseAll, "=\'" ),\n new Transform( " ", kUppercaseFirst, "=\'" )\n];\n\nexports.kTransforms = kTransforms;\nexports.kNumTransforms = kTransforms.length;\n\nfunction ToUpperCase(p, i) {\n if (p[i] < 0xc0) {\n if (p[i] >= 97 && p[i] <= 122) {\n p[i] ^= 32;\n }\n return 1;\n }\n \n /* An overly simplified uppercasing model for utf-8. */\n if (p[i] < 0xe0) {\n p[i + 1] ^= 32;\n return 2;\n }\n \n /* An arbitrary transform for three byte characters. */\n p[i + 2] ^= 5;\n return 3;\n}\n\nexports.transformDictionaryWord = function(dst, idx, word, len, transform) {\n var prefix = kTransforms[transform].prefix;\n var suffix = kTransforms[transform].suffix;\n var t = kTransforms[transform].transform;\n var skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1);\n var i = 0;\n var start_idx = idx;\n var uppercase;\n \n if (skip > len) {\n skip = len;\n }\n \n var prefix_pos = 0;\n while (prefix_pos < prefix.length) {\n dst[idx++] = prefix[prefix_pos++];\n }\n \n word += skip;\n len -= skip;\n \n if (t <= kOmitLast9) {\n len -= t;\n }\n \n for (i = 0; i < len; i++) {\n dst[idx++] = BrotliDictionary.dictionary[word + i];\n }\n \n uppercase = idx - len;\n \n if (t === kUppercaseFirst) {\n ToUpperCase(dst, uppercase);\n } else if (t === kUppercaseAll) {\n while (len > 0) {\n var step = ToUpperCase(dst, uppercase);\n uppercase += step;\n len -= step;\n }\n }\n \n var suffix_pos = 0;\n while (suffix_pos < suffix.length) {\n dst[idx++] = suffix[suffix_pos++];\n }\n \n return idx - start_idx;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/dec/transform.js?')},"../wabac.js/node_modules/brotli/decompress.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/brotli/decompress.js ***!
\*****************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{eval('module.exports = __webpack_require__(/*! ./dec/decode */ "../wabac.js/node_modules/brotli/dec/decode.js").BrotliDecompressBuffer;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/decompress.js?')},"../wabac.js/node_modules/brotli/node_modules/base64-js/index.js":
/*!***********************************************************************!*\
!*** ../wabac.js/node_modules/brotli/node_modules/base64-js/index.js ***!
\***********************************************************************/(__unused_webpack_module,exports)=>{"use strict";eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/brotli/node_modules/base64-js/index.js?")},"../wabac.js/node_modules/buffer/index.js":
/*!************************************************!*\
!*** ../wabac.js/node_modules/buffer/index.js ***!
\************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nconst base64 = __webpack_require__(/*! base64-js */ \"../wabac.js/node_modules/base64-js/index.js\")\nconst ieee754 = __webpack_require__(/*! ieee754 */ \"../wabac.js/node_modules/ieee754/index.js\")\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/buffer/index.js?")},"../wabac.js/node_modules/events/events.js":
/*!*************************************************!*\
!*** ../wabac.js/node_modules/events/events.js ***!
\*************************************************/module=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/events/events.js?")},"../wabac.js/node_modules/fast-xml-parser/src/json2xml.js":
/*!****************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/json2xml.js ***!
\****************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n//parse Empty Node as self closing node\nconst buildOptions = (__webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\").buildOptions);\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n format: false,\n indentBy: ' ',\n supressEmptyNode: false,\n tagValueProcessor: function(a) {\n return a;\n },\n attrValueProcessor: function(a) {\n return a;\n },\n};\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'cdataTagName',\n 'cdataPositionChar',\n 'format',\n 'indentBy',\n 'supressEmptyNode',\n 'tagValueProcessor',\n 'attrValueProcessor',\n];\n\nfunction Parser(options) {\n this.options = buildOptions(options, defaultOptions, props);\n if (this.options.ignoreAttributes || this.options.attrNodeName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n if (this.options.cdataTagName) {\n this.isCDATA = isCDATA;\n } else {\n this.isCDATA = function(/*a*/) {\n return false;\n };\n }\n this.replaceCDATAstr = replaceCDATAstr;\n this.replaceCDATAarr = replaceCDATAarr;\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n\n if (this.options.supressEmptyNode) {\n this.buildTextNode = buildEmptyTextNode;\n this.buildObjNode = buildEmptyObjNode;\n } else {\n this.buildTextNode = buildTextValNode;\n this.buildObjNode = buildObjectNode;\n }\n\n this.buildTextValNode = buildTextValNode;\n this.buildObjectNode = buildObjectNode;\n}\n\nParser.prototype.parse = function(jObj) {\n return this.j2x(jObj, 0).val;\n};\n\nParser.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n const keys = Object.keys(jObj);\n const len = keys.length;\n for (let i = 0; i < len; i++) {\n const key = keys[i];\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += ' ' + attr + '=\"' + this.options.attrValueProcessor('' + jObj[key]) + '\"';\n } else if (this.isCDATA(key)) {\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAstr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAstr('', jObj[key]);\n }\n } else {\n //tag value\n if (key === this.options.textNodeName) {\n if (jObj[this.options.cdataTagName]) {\n //value will added while processing cdata\n } else {\n val += this.options.tagValueProcessor('' + jObj[key]);\n }\n } else {\n val += this.buildTextNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n if (this.isCDATA(key)) {\n val += this.indentate(level);\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAarr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAarr('', jObj[key]);\n }\n } else {\n //nested nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n const result = this.j2x(item, level + 1);\n val += this.buildObjNode(result.val, key, result.attrStr, level);\n } else {\n val += this.buildTextNode(item, key, '', level);\n }\n }\n }\n } else {\n //nested node\n if (this.options.attrNodeName && key === this.options.attrNodeName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += ' ' + Ks[j] + '=\"' + this.options.attrValueProcessor('' + jObj[key][Ks[j]]) + '\"';\n }\n } else {\n const result = this.j2x(jObj[key], level + 1);\n val += this.buildObjNode(result.val, key, result.attrStr, level);\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nfunction replaceCDATAstr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata + ']]' + this.tagEndChar;\n } else {\n return str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata + ']]' + this.tagEndChar);\n }\n}\n\nfunction replaceCDATAarr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata.join(']]><![CDATA[') + ']]' + this.tagEndChar;\n } else {\n for (let v in cdata) {\n str = str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata[v] + ']]>');\n }\n return str + this.newLine;\n }\n}\n\nfunction buildObjectNode(val, key, attrStr, level) {\n if (attrStr && !val.includes('<')) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n val +\n //+ this.newLine\n // + this.indentate(level)\n '</' +\n key +\n this.tagEndChar\n );\n } else {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n this.tagEndChar +\n val +\n //+ this.newLine\n this.indentate(level) +\n '</' +\n key +\n this.tagEndChar\n );\n }\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n //+ this.newLine\n }\n}\n\nfunction buildTextValNode(val, key, attrStr, level) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n this.options.tagValueProcessor(val) +\n '</' +\n key +\n this.tagEndChar\n );\n}\n\nfunction buildEmptyTextNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildTextValNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n }\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix)) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nfunction isCDATA(name) {\n return name === this.options.cdataTagName;\n}\n\n//formatting\n//indentation\n//\\n after each closing or self closing tag\n\nmodule.exports = Parser;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/json2xml.js?")},"../wabac.js/node_modules/fast-xml-parser/src/nimndata.js":
/*!****************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/nimndata.js ***!
\****************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\nconst char = function(a) {\n return String.fromCharCode(a);\n};\n\nconst chars = {\n nilChar: char(176),\n missingChar: char(201),\n nilPremitive: char(175),\n missingPremitive: char(200),\n\n emptyChar: char(178),\n emptyValue: char(177), //empty Premitive\n\n boundryChar: char(179),\n\n objStart: char(198),\n arrStart: char(204),\n arrayEnd: char(185),\n};\n\nconst charsArr = [\n chars.nilChar,\n chars.nilPremitive,\n chars.missingChar,\n chars.missingPremitive,\n chars.boundryChar,\n chars.emptyChar,\n chars.emptyValue,\n chars.arrayEnd,\n chars.objStart,\n chars.arrStart,\n];\n\nconst _e = function(node, e_schema, options) {\n if (typeof e_schema === 'string') {\n //premitive\n if (node && node[0] && node[0].val !== undefined) {\n return getValue(node[0].val, e_schema);\n } else {\n return getValue(node, e_schema);\n }\n } else {\n const hasValidData = hasData(node);\n if (hasValidData === true) {\n let str = '';\n if (Array.isArray(e_schema)) {\n //attributes can't be repeated. hence check in children tags only\n str += chars.arrStart;\n const itemSchema = e_schema[0];\n //var itemSchemaType = itemSchema;\n const arr_len = node.length;\n\n if (typeof itemSchema === 'string') {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = getValue(node[arr_i].val, itemSchema);\n str = processValue(str, r);\n }\n } else {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = _e(node[arr_i], itemSchema, options);\n str = processValue(str, r);\n }\n }\n str += chars.arrayEnd; //indicates that next item is not array item\n } else {\n //object\n str += chars.objStart;\n const keys = Object.keys(e_schema);\n if (Array.isArray(node)) {\n node = node[0];\n }\n for (let i in keys) {\n const key = keys[i];\n //a property defined in schema can be present either in attrsMap or children tags\n //options.textNodeName will not present in both maps, take it's value from val\n //options.attrNodeName will be present in attrsMap\n let r;\n if (!options.ignoreAttributes && node.attrsMap && node.attrsMap[key]) {\n r = _e(node.attrsMap[key], e_schema[key], options);\n } else if (key === options.textNodeName) {\n r = _e(node.val, e_schema[key], options);\n } else {\n r = _e(node.child[key], e_schema[key], options);\n }\n str = processValue(str, r);\n }\n }\n return str;\n } else {\n return hasValidData;\n }\n }\n};\n\nconst getValue = function(a /*, type*/) {\n switch (a) {\n case undefined:\n return chars.missingPremitive;\n case null:\n return chars.nilPremitive;\n case '':\n return chars.emptyValue;\n default:\n return a;\n }\n};\n\nconst processValue = function(str, r) {\n if (!isAppChar(r[0]) && !isAppChar(str[str.length - 1])) {\n str += chars.boundryChar;\n }\n return str + r;\n};\n\nconst isAppChar = function(ch) {\n return charsArr.indexOf(ch) !== -1;\n};\n\nfunction hasData(jObj) {\n if (jObj === undefined) {\n return chars.missingChar;\n } else if (jObj === null) {\n return chars.nilChar;\n } else if (\n jObj.child &&\n Object.keys(jObj.child).length === 0 &&\n (!jObj.attrsMap || Object.keys(jObj.attrsMap).length === 0)\n ) {\n return chars.emptyChar;\n } else {\n return true;\n }\n}\n\nconst x2j = __webpack_require__(/*! ./xmlstr2xmlnode */ \"../wabac.js/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js\");\nconst buildOptions = (__webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\").buildOptions);\n\nconst convert2nimn = function(node, e_schema, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n return _e(node, e_schema, options);\n};\n\nexports.convert2nimn = convert2nimn;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/nimndata.js?")},"../wabac.js/node_modules/fast-xml-parser/src/node2json.js":
/*!*****************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/node2json.js ***!
\*****************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\");\n\nconst convertToJson = function(node, options, parentTagName) {\n const jObj = {};\n\n // when no child node or attr is present\n if ((!node.child || util.isEmptyObject(node.child)) && (!node.attrsMap || util.isEmptyObject(node.attrsMap))) {\n return util.isExist(node.val) ? node.val : '';\n }\n\n // otherwise create a textnode if node has some text\n if (util.isExist(node.val) && !(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n const asArray = util.isTagNameInArrayMode(node.tagname, options.arrayMode, parentTagName)\n jObj[options.textNodeName] = asArray ? [node.val] : node.val;\n }\n\n util.merge(jObj, node.attrsMap, options.arrayMode);\n\n const keys = Object.keys(node.child);\n for (let index = 0; index < keys.length; index++) {\n const tagName = keys[index];\n if (node.child[tagName] && node.child[tagName].length > 1) {\n jObj[tagName] = [];\n for (let tag in node.child[tagName]) {\n if (node.child[tagName].hasOwnProperty(tag)) {\n jObj[tagName].push(convertToJson(node.child[tagName][tag], options, tagName));\n }\n }\n } else {\n const result = convertToJson(node.child[tagName][0], options, tagName);\n const asArray = (options.arrayMode === true && typeof result === 'object') || util.isTagNameInArrayMode(tagName, options.arrayMode, parentTagName);\n jObj[tagName] = asArray ? [result] : result;\n }\n }\n\n //add value\n return jObj;\n};\n\nexports.convertToJson = convertToJson;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/node2json.js?")},"../wabac.js/node_modules/fast-xml-parser/src/node2json_str.js":
/*!*********************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/node2json_str.js ***!
\*********************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\");\nconst buildOptions = (__webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\").buildOptions);\nconst x2j = __webpack_require__(/*! ./xmlstr2xmlnode */ \"../wabac.js/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js\");\n\n//TODO: do it later\nconst convertToJsonString = function(node, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n\n options.indentBy = options.indentBy || '';\n return _cToJsonStr(node, options, 0);\n};\n\nconst _cToJsonStr = function(node, options, level) {\n let jObj = '{';\n\n //traver through all the children\n const keys = Object.keys(node.child);\n\n for (let index = 0; index < keys.length; index++) {\n var tagname = keys[index];\n if (node.child[tagname] && node.child[tagname].length > 1) {\n jObj += '\"' + tagname + '\" : [ ';\n for (var tag in node.child[tagname]) {\n jObj += _cToJsonStr(node.child[tagname][tag], options) + ' , ';\n }\n jObj = jObj.substr(0, jObj.length - 1) + ' ] '; //remove extra comma in last\n } else {\n jObj += '\"' + tagname + '\" : ' + _cToJsonStr(node.child[tagname][0], options) + ' ,';\n }\n }\n util.merge(jObj, node.attrsMap);\n //add attrsMap as new children\n if (util.isEmptyObject(jObj)) {\n return util.isExist(node.val) ? node.val : '';\n } else {\n if (util.isExist(node.val)) {\n if (!(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n jObj += '\"' + options.textNodeName + '\" : ' + stringval(node.val);\n }\n }\n }\n //add value\n if (jObj[jObj.length - 1] === ',') {\n jObj = jObj.substr(0, jObj.length - 2);\n }\n return jObj + '}';\n};\n\nfunction stringval(v) {\n if (v === true || v === false || !isNaN(v)) {\n return v;\n } else {\n return '\"' + v + '\"';\n }\n}\n\nfunction indentate(options, level) {\n return options.indentBy.repeat(level);\n}\n\nexports.convertToJsonString = convertToJsonString;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/node2json_str.js?")},"../wabac.js/node_modules/fast-xml-parser/src/parser.js":
/*!**************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/parser.js ***!
\**************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nconst nodeToJson = __webpack_require__(/*! ./node2json */ "../wabac.js/node_modules/fast-xml-parser/src/node2json.js");\nconst xmlToNodeobj = __webpack_require__(/*! ./xmlstr2xmlnode */ "../wabac.js/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js");\nconst x2xmlnode = __webpack_require__(/*! ./xmlstr2xmlnode */ "../wabac.js/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js");\nconst buildOptions = (__webpack_require__(/*! ./util */ "../wabac.js/node_modules/fast-xml-parser/src/util.js").buildOptions);\nconst validator = __webpack_require__(/*! ./validator */ "../wabac.js/node_modules/fast-xml-parser/src/validator.js");\n\nexports.parse = function(xmlData, options, validationOption) {\n if( validationOption){\n if(validationOption === true) validationOption = {}\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( result.err.msg)\n }\n }\n options = buildOptions(options, x2xmlnode.defaultOptions, x2xmlnode.props);\n const traversableObj = xmlToNodeobj.getTraversalObj(xmlData, options)\n //print(traversableObj, " ");\n return nodeToJson.convertToJson(traversableObj, options);\n};\nexports.convertTonimn = __webpack_require__(/*! ./nimndata */ "../wabac.js/node_modules/fast-xml-parser/src/nimndata.js").convert2nimn;\nexports.getTraversalObj = xmlToNodeobj.getTraversalObj;\nexports.convertToJson = nodeToJson.convertToJson;\nexports.convertToJsonString = __webpack_require__(/*! ./node2json_str */ "../wabac.js/node_modules/fast-xml-parser/src/node2json_str.js").convertToJsonString;\nexports.validate = validator.validate;\nexports.j2xParser = __webpack_require__(/*! ./json2xml */ "../wabac.js/node_modules/fast-xml-parser/src/json2xml.js");\nexports.parseToNimn = function(xmlData, schema, options) {\n return exports.convertTonimn(exports.getTraversalObj(xmlData, options), schema, options);\n};\n\n\nfunction print(xmlNode, indentation){\n if(xmlNode){\n console.log(indentation + "{")\n console.log(indentation + " \\"tagName\\": \\"" + xmlNode.tagname + "\\", ");\n if(xmlNode.parent){\n console.log(indentation + " \\"parent\\": \\"" + xmlNode.parent.tagname + "\\", ");\n }\n console.log(indentation + " \\"val\\": \\"" + xmlNode.val + "\\", ");\n console.log(indentation + " \\"attrs\\": " + JSON.stringify(xmlNode.attrsMap,null,4) + ", ");\n\n if(xmlNode.child){\n console.log(indentation + "\\"child\\": {")\n const indentation2 = indentation + indentation;\n Object.keys(xmlNode.child).forEach( function(key) {\n const node = xmlNode.child[key];\n\n if(Array.isArray(node)){\n console.log(indentation + "\\""+key+"\\" :[")\n node.forEach( function(item,index) {\n //console.log(indentation + " \\""+index+"\\" : [")\n print(item, indentation2);\n })\n console.log(indentation + "],") \n }else{\n console.log(indentation + " \\""+key+"\\" : {")\n print(node, indentation2);\n console.log(indentation + "},") \n }\n });\n console.log(indentation + "},")\n }\n console.log(indentation + "},")\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/parser.js?')},"../wabac.js/node_modules/fast-xml-parser/src/util.js":
/*!************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/util.js ***!
\************************************************************/(__unused_webpack_module,exports)=>{"use strict";eval("\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.buildOptions = function(options, defaultOptions, props) {\n var newOptions = {};\n if (!options) {\n return defaultOptions; //if there are not options\n }\n\n for (let i = 0; i < props.length; i++) {\n if (options[props[i]] !== undefined) {\n newOptions[props[i]] = options[props[i]];\n } else {\n newOptions[props[i]] = defaultOptions[props[i]];\n }\n }\n return newOptions;\n};\n\n/**\n * Check if a tag name should be treated as array\n *\n * @param tagName the node tagname\n * @param arrayMode the array mode option\n * @param parentTagName the parent tag name\n * @returns {boolean} true if node should be parsed as array\n */\nexports.isTagNameInArrayMode = function (tagName, arrayMode, parentTagName) {\n if (arrayMode === false) {\n return false;\n } else if (arrayMode instanceof RegExp) {\n return arrayMode.test(tagName);\n } else if (typeof arrayMode === 'function') {\n return !!arrayMode(tagName, parentTagName);\n }\n\n return arrayMode === \"strict\";\n}\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/util.js?")},"../wabac.js/node_modules/fast-xml-parser/src/validator.js":
/*!*****************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/validator.js ***!
\*****************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\");\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n};\n\nconst props = ['allowBooleanAttributes'];\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = util.buildOptions(options, defaultOptions, props);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n\n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"There is an unnecessary space between tag name and backward slash '</ ..'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, i));\n } else {\n const otg = tags.pop();\n if (tagName !== otg) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+otg+\"' is expected inplace of '\"+tagName+\"'.\", getLineNumberForPosition(xmlData, i));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else {\n tags.push(tagName);\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if (xmlData[i] === ' ' || xmlData[i] === '\\t' || xmlData[i] === '\\n' || xmlData[i] === '\\r') {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n } else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+JSON.stringify(tags, null, 4).replace(/\\r?\\n/g, '')+\"' found.\", 1);\n }\n\n return true;\n};\n\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n var start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n var tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nvar doubleQuote = '\"';\nvar singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n continue;\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(attrStr, matches[i][0]))\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n var lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return lines.length;\n}\n\n//this function returns the position of the last character of match within attrStr\nfunction getPositionFromMatch(attrStr, match) {\n return attrStr.indexOf(match) + match.length;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/validator.js?")},"../wabac.js/node_modules/fast-xml-parser/src/xmlNode.js":
/*!***************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/xmlNode.js ***!
\***************************************************************/module=>{"use strict";eval("\n\nmodule.exports = function(tagname, parent, val) {\n this.tagname = tagname;\n this.parent = parent;\n this.child = {}; //child tags\n this.attrsMap = {}; //attributes map\n this.val = val; //text only\n this.addChild = function(child) {\n if (Array.isArray(this.child[child.tagname])) {\n //already presents\n this.child[child.tagname].push(child);\n } else {\n this.child[child.tagname] = [child];\n }\n };\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/xmlNode.js?")},"../wabac.js/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js":
/*!**********************************************************************!*\
!*** ../wabac.js/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js ***!
\**********************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\nconst util = __webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\");\nconst buildOptions = (__webpack_require__(/*! ./util */ \"../wabac.js/node_modules/fast-xml-parser/src/util.js\").buildOptions);\nconst xmlNode = __webpack_require__(/*! ./xmlNode */ \"../wabac.js/node_modules/fast-xml-parser/src/xmlNode.js\");\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n ignoreNameSpace: false,\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseNodeValue: true,\n parseAttributeValue: false,\n arrayMode: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n tagValueProcessor: function(a, tagName) {\n return a;\n },\n attrValueProcessor: function(a, attrName) {\n return a;\n },\n stopNodes: []\n //decodeStrict: false,\n};\n\nexports.defaultOptions = defaultOptions;\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'ignoreNameSpace',\n 'allowBooleanAttributes',\n 'parseNodeValue',\n 'parseAttributeValue',\n 'arrayMode',\n 'trimValues',\n 'cdataTagName',\n 'cdataPositionChar',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'parseTrueNumberOnly',\n 'stopNodes'\n];\nexports.props = props;\n\n/**\n * Trim -> valueProcessor -> parse value\n * @param {string} tagName\n * @param {string} val\n * @param {object} options\n */\nfunction processTagValue(tagName, val, options) {\n if (val) {\n if (options.trimValues) {\n val = val.trim();\n }\n val = options.tagValueProcessor(val, tagName);\n val = parseValue(val, options.parseNodeValue, options.parseTrueNumberOnly);\n }\n\n return val;\n}\n\nfunction resolveNameSpace(tagname, options) {\n if (options.ignoreNameSpace) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\nfunction parseValue(val, shouldParse, parseTrueNumberOnly) {\n if (shouldParse && typeof val === 'string') {\n let parsed;\n if (val.trim() === '' || isNaN(val)) {\n parsed = val === 'true' ? true : val === 'false' ? false : val;\n } else {\n if (val.indexOf('0x') !== -1) {\n //support hexa decimal\n parsed = Number.parseInt(val, 16);\n } else if (val.indexOf('.') !== -1) {\n parsed = Number.parseFloat(val);\n val = val.replace(/\\.?0+$/, \"\");\n } else {\n parsed = Number.parseInt(val, 10);\n }\n if (parseTrueNumberOnly) {\n parsed = String(parsed) === val ? parsed : val;\n }\n }\n return parsed;\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])(.*?)\\\\3)?', 'g');\n\nfunction buildAttributesMap(attrStr, options) {\n if (!options.ignoreAttributes && typeof attrStr === 'string') {\n attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = resolveNameSpace(matches[i][1], options);\n if (attrName.length) {\n if (matches[i][4] !== undefined) {\n if (options.trimValues) {\n matches[i][4] = matches[i][4].trim();\n }\n matches[i][4] = options.attrValueProcessor(matches[i][4], attrName);\n attrs[options.attributeNamePrefix + attrName] = parseValue(\n matches[i][4],\n options.parseAttributeValue,\n options.parseTrueNumberOnly\n );\n } else if (options.allowBooleanAttributes) {\n attrs[options.attributeNamePrefix + attrName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (options.attrNodeName) {\n const attrCollection = {};\n attrCollection[options.attrNodeName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst getTraversalObj = function(xmlData, options) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n options = buildOptions(options, defaultOptions, props);\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n\n//function match(xmlData){\n for(let i=0; i< xmlData.length; i++){\n const ch = xmlData[i];\n if(ch === '<'){\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n /* if (currentNode.parent) {\n currentNode.parent.val = util.getValue(currentNode.parent.val) + '' + processTagValue2(tagName, textData , options);\n } */\n if(currentNode){\n if(currentNode.val){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(tagName, textData , options);\n }else{\n currentNode.val = processTagValue(tagName, textData , options);\n }\n }\n\n if (options.stopNodes.length && options.stopNodes.includes(currentNode.tagname)) {\n currentNode.child = []\n if (currentNode.attrsMap == undefined) { currentNode.attrsMap = {}}\n currentNode.val = xmlData.substr(currentNode.startIndex + 1, i - currentNode.startIndex - 1)\n }\n currentNode = currentNode.parent;\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n i = findClosingIndex(xmlData, \"?>\", i, \"Pi Tag is not closed.\")\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n i = findClosingIndex(xmlData, \"--\x3e\", i, \"Comment is not closed.\")\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"DOCTYPE is not closed.\")\n const tagExp = xmlData.substring(i, closeIndex);\n if(tagExp.indexOf(\"[\") >= 0){\n i = xmlData.indexOf(\"]>\", i) + 1;\n }else{\n i = closeIndex;\n }\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n //considerations\n //1. CDATA will always have parent node\n //2. A tag with CDATA is not a leaf node so it's value would be string type.\n if(textData){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(currentNode.tagname, textData , options);\n textData = \"\";\n }\n\n if (options.cdataTagName) {\n //add cdata node\n const childNode = new xmlNode(options.cdataTagName, currentNode, tagExp);\n currentNode.addChild(childNode);\n //for backtracking\n currentNode.val = util.getValue(currentNode.val) + options.cdataPositionChar;\n //add rest value to parent node\n if (tagExp) {\n childNode.val = tagExp;\n }\n } else {\n currentNode.val = (currentNode.val || '') + (tagExp || '');\n }\n\n i = closeIndex + 2;\n }else {//Opening tag\n const result = closingIndexForOpeningTag(xmlData, i+1)\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.indexOf(\" \");\n let tagName = tagExp;\n let shouldBuildAttributesMap = true;\n if(separatorIndex !== -1){\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n shouldBuildAttributesMap = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n //save text to parent node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue( currentNode.tagname, textData, options);\n }\n }\n\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){//selfClosing tag\n\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n\n const childNode = new xmlNode(tagName, currentNode, '');\n if(tagName !== tagExp){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n }else{//opening tag\n\n const childNode = new xmlNode( tagName, currentNode );\n if (options.stopNodes.length && options.stopNodes.includes(childNode.tagname)) {\n childNode.startIndex=closeIndex;\n }\n if(tagName !== tagExp && shouldBuildAttributesMap){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj;\n}\n\nfunction closingIndexForOpeningTag(data, i){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < data.length; index++) {\n let ch = data[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === '>') {\n return {\n data: tagExp,\n index: index\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nexports.getTraversalObj = getTraversalObj;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/fast-xml-parser/src/xmlstr2xmlnode.js?")},"../wabac.js/node_modules/hash-wasm/dist/index.esm.js":
/*!************************************************************!*\
!*** ../wabac.js/node_modules/hash-wasm/dist/index.esm.js ***!
\************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"adler32\": () => (/* binding */ adler32),\n/* harmony export */ \"argon2Verify\": () => (/* binding */ argon2Verify),\n/* harmony export */ \"argon2d\": () => (/* binding */ argon2d),\n/* harmony export */ \"argon2i\": () => (/* binding */ argon2i),\n/* harmony export */ \"argon2id\": () => (/* binding */ argon2id),\n/* harmony export */ \"bcrypt\": () => (/* binding */ bcrypt),\n/* harmony export */ \"bcryptVerify\": () => (/* binding */ bcryptVerify),\n/* harmony export */ \"blake2b\": () => (/* binding */ blake2b),\n/* harmony export */ \"blake2s\": () => (/* binding */ blake2s),\n/* harmony export */ \"blake3\": () => (/* binding */ blake3),\n/* harmony export */ \"crc32\": () => (/* binding */ crc32),\n/* harmony export */ \"crc32c\": () => (/* binding */ crc32c),\n/* harmony export */ \"createAdler32\": () => (/* binding */ createAdler32),\n/* harmony export */ \"createBLAKE2b\": () => (/* binding */ createBLAKE2b),\n/* harmony export */ \"createBLAKE2s\": () => (/* binding */ createBLAKE2s),\n/* harmony export */ \"createBLAKE3\": () => (/* binding */ createBLAKE3),\n/* harmony export */ \"createCRC32\": () => (/* binding */ createCRC32),\n/* harmony export */ \"createCRC32C\": () => (/* binding */ createCRC32C),\n/* harmony export */ \"createHMAC\": () => (/* binding */ createHMAC),\n/* harmony export */ \"createKeccak\": () => (/* binding */ createKeccak),\n/* harmony export */ \"createMD4\": () => (/* binding */ createMD4),\n/* harmony export */ \"createMD5\": () => (/* binding */ createMD5),\n/* harmony export */ \"createRIPEMD160\": () => (/* binding */ createRIPEMD160),\n/* harmony export */ \"createSHA1\": () => (/* binding */ createSHA1),\n/* harmony export */ \"createSHA224\": () => (/* binding */ createSHA224),\n/* harmony export */ \"createSHA256\": () => (/* binding */ createSHA256),\n/* harmony export */ \"createSHA3\": () => (/* binding */ createSHA3),\n/* harmony export */ \"createSHA384\": () => (/* binding */ createSHA384),\n/* harmony export */ \"createSHA512\": () => (/* binding */ createSHA512),\n/* harmony export */ \"createSM3\": () => (/* binding */ createSM3),\n/* harmony export */ \"createWhirlpool\": () => (/* binding */ createWhirlpool),\n/* harmony export */ \"createXXHash128\": () => (/* binding */ createXXHash128),\n/* harmony export */ \"createXXHash3\": () => (/* binding */ createXXHash3),\n/* harmony export */ \"createXXHash32\": () => (/* binding */ createXXHash32),\n/* harmony export */ \"createXXHash64\": () => (/* binding */ createXXHash64),\n/* harmony export */ \"keccak\": () => (/* binding */ keccak),\n/* harmony export */ \"md4\": () => (/* binding */ md4),\n/* harmony export */ \"md5\": () => (/* binding */ md5),\n/* harmony export */ \"pbkdf2\": () => (/* binding */ pbkdf2),\n/* harmony export */ \"ripemd160\": () => (/* binding */ ripemd160),\n/* harmony export */ \"scrypt\": () => (/* binding */ scrypt),\n/* harmony export */ \"sha1\": () => (/* binding */ sha1),\n/* harmony export */ \"sha224\": () => (/* binding */ sha224),\n/* harmony export */ \"sha256\": () => (/* binding */ sha256),\n/* harmony export */ \"sha3\": () => (/* binding */ sha3),\n/* harmony export */ \"sha384\": () => (/* binding */ sha384),\n/* harmony export */ \"sha512\": () => (/* binding */ sha512),\n/* harmony export */ \"sm3\": () => (/* binding */ sm3),\n/* harmony export */ \"whirlpool\": () => (/* binding */ whirlpool),\n/* harmony export */ \"xxhash128\": () => (/* binding */ xxhash128),\n/* harmony export */ \"xxhash3\": () => (/* binding */ xxhash3),\n/* harmony export */ \"xxhash32\": () => (/* binding */ xxhash32),\n/* harmony export */ \"xxhash64\": () => (/* binding */ xxhash64)\n/* harmony export */ });\n/*!\n * hash-wasm (https://www.npmjs.com/package/hash-wasm)\n * (c) Dani Biro\n * @license MIT\n */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\nclass Mutex {\n constructor() {\n this.mutex = Promise.resolve();\n }\n lock() {\n let begin = () => { };\n this.mutex = this.mutex.then(() => new Promise(begin));\n return new Promise((res) => {\n begin = res;\n });\n }\n dispatch(fn) {\n return __awaiter(this, void 0, void 0, function* () {\n const unlock = yield this.lock();\n try {\n return yield Promise.resolve(fn());\n }\n finally {\n unlock();\n }\n });\n }\n}\n\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable no-bitwise */\nvar _a;\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined')\n return globalThis;\n // eslint-disable-next-line no-restricted-globals\n if (typeof self !== 'undefined')\n return self;\n if (typeof window !== 'undefined')\n return window;\n return __webpack_require__.g;\n}\nconst globalObject = getGlobal();\nconst nodeBuffer = (_a = globalObject.Buffer) !== null && _a !== void 0 ? _a : null;\nconst textEncoder = globalObject.TextEncoder ? new globalObject.TextEncoder() : null;\nfunction intArrayToString(arr, len) {\n return String.fromCharCode(...arr.subarray(0, len));\n}\nfunction hexCharCodesToInt(a, b) {\n return (((a & 0xF) + ((a >> 6) | ((a >> 3) & 0x8))) << 4) | ((b & 0xF) + ((b >> 6) | ((b >> 3) & 0x8)));\n}\nfunction writeHexToUInt8(buf, str) {\n const size = str.length >> 1;\n for (let i = 0; i < size; i++) {\n const index = i << 1;\n buf[i] = hexCharCodesToInt(str.charCodeAt(index), str.charCodeAt(index + 1));\n }\n}\nfunction hexStringEqualsUInt8(str, buf) {\n if (str.length !== buf.length * 2) {\n return false;\n }\n for (let i = 0; i < buf.length; i++) {\n const strIndex = i << 1;\n if (buf[i] !== hexCharCodesToInt(str.charCodeAt(strIndex), str.charCodeAt(strIndex + 1))) {\n return false;\n }\n }\n return true;\n}\nconst alpha = 'a'.charCodeAt(0) - 10;\nconst digit = '0'.charCodeAt(0);\nfunction getDigestHex(tmpBuffer, input, hashLength) {\n let p = 0;\n /* eslint-disable no-plusplus */\n for (let i = 0; i < hashLength; i++) {\n let nibble = input[i] >>> 4;\n tmpBuffer[p++] = nibble > 9 ? nibble + alpha : nibble + digit;\n nibble = input[i] & 0xF;\n tmpBuffer[p++] = nibble > 9 ? nibble + alpha : nibble + digit;\n }\n /* eslint-enable no-plusplus */\n return String.fromCharCode.apply(null, tmpBuffer);\n}\nconst getUInt8Buffer = nodeBuffer !== null\n ? (data) => {\n if (typeof data === 'string') {\n const buf = nodeBuffer.from(data, 'utf8');\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.length);\n }\n if (nodeBuffer.isBuffer(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.length);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n throw new Error('Invalid data type!');\n }\n : (data) => {\n if (typeof data === 'string') {\n return textEncoder.encode(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n throw new Error('Invalid data type!');\n };\nconst base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst base64Lookup = new Uint8Array(256);\nfor (let i = 0; i < base64Chars.length; i++) {\n base64Lookup[base64Chars.charCodeAt(i)] = i;\n}\nfunction encodeBase64(data, pad = true) {\n const len = data.length;\n const extraBytes = len % 3;\n const parts = [];\n const len2 = len - extraBytes;\n for (let i = 0; i < len2; i += 3) {\n const tmp = ((data[i] << 16) & 0xFF0000)\n + ((data[i + 1] << 8) & 0xFF00)\n + (data[i + 2] & 0xFF);\n const triplet = base64Chars.charAt((tmp >> 18) & 0x3F)\n + base64Chars.charAt((tmp >> 12) & 0x3F)\n + base64Chars.charAt((tmp >> 6) & 0x3F)\n + base64Chars.charAt(tmp & 0x3F);\n parts.push(triplet);\n }\n if (extraBytes === 1) {\n const tmp = data[len - 1];\n const a = base64Chars.charAt(tmp >> 2);\n const b = base64Chars.charAt((tmp << 4) & 0x3F);\n parts.push(`${a}${b}`);\n if (pad) {\n parts.push('==');\n }\n }\n else if (extraBytes === 2) {\n const tmp = (data[len - 2] << 8) + data[len - 1];\n const a = base64Chars.charAt(tmp >> 10);\n const b = base64Chars.charAt((tmp >> 4) & 0x3F);\n const c = base64Chars.charAt((tmp << 2) & 0x3F);\n parts.push(`${a}${b}${c}`);\n if (pad) {\n parts.push('=');\n }\n }\n return parts.join('');\n}\nfunction getDecodeBase64Length(data) {\n let bufferLength = Math.floor(data.length * 0.75);\n const len = data.length;\n if (data[len - 1] === '=') {\n bufferLength -= 1;\n if (data[len - 2] === '=') {\n bufferLength -= 1;\n }\n }\n return bufferLength;\n}\nfunction decodeBase64(data) {\n const bufferLength = getDecodeBase64Length(data);\n const len = data.length;\n const bytes = new Uint8Array(bufferLength);\n let p = 0;\n for (let i = 0; i < len; i += 4) {\n const encoded1 = base64Lookup[data.charCodeAt(i)];\n const encoded2 = base64Lookup[data.charCodeAt(i + 1)];\n const encoded3 = base64Lookup[data.charCodeAt(i + 2)];\n const encoded4 = base64Lookup[data.charCodeAt(i + 3)];\n bytes[p] = (encoded1 << 2) | (encoded2 >> 4);\n p += 1;\n bytes[p] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n p += 1;\n bytes[p] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n p += 1;\n }\n return bytes;\n}\n\nconst MAX_HEAP = 16 * 1024;\nconst WASM_FUNC_HASH_LENGTH = 4;\nconst wasmMutex = new Mutex();\nconst wasmModuleCache = new Map();\nfunction WASMInterface(binary, hashLength) {\n return __awaiter(this, void 0, void 0, function* () {\n let wasmInstance = null;\n let memoryView = null;\n let initialized = false;\n if (typeof WebAssembly === 'undefined') {\n throw new Error('WebAssembly is not supported in this environment!');\n }\n const writeMemory = (data, offset = 0) => {\n memoryView.set(data, offset);\n };\n const getMemory = () => memoryView;\n const getExports = () => wasmInstance.exports;\n const setMemorySize = (totalSize) => {\n wasmInstance.exports.Hash_SetMemorySize(totalSize);\n const arrayOffset = wasmInstance.exports.Hash_GetBuffer();\n const memoryBuffer = wasmInstance.exports.memory.buffer;\n memoryView = new Uint8Array(memoryBuffer, arrayOffset, totalSize);\n };\n const getStateSize = () => {\n const view = new DataView(wasmInstance.exports.memory.buffer);\n const stateSize = view.getUint32(wasmInstance.exports.STATE_SIZE, true);\n return stateSize;\n };\n const loadWASMPromise = wasmMutex.dispatch(() => __awaiter(this, void 0, void 0, function* () {\n if (!wasmModuleCache.has(binary.name)) {\n const asm = decodeBase64(binary.data);\n const promise = WebAssembly.compile(asm);\n wasmModuleCache.set(binary.name, promise);\n }\n const module = yield wasmModuleCache.get(binary.name);\n wasmInstance = yield WebAssembly.instantiate(module, {\n // env: {\n // emscripten_memcpy_big: (dest, src, num) => {\n // const memoryBuffer = wasmInstance.exports.memory.buffer;\n // const memView = new Uint8Array(memoryBuffer, 0);\n // memView.set(memView.subarray(src, src + num), dest);\n // },\n // print_memory: (offset, len) => {\n // const memoryBuffer = wasmInstance.exports.memory.buffer;\n // const memView = new Uint8Array(memoryBuffer, 0);\n // console.log('print_int32', memView.subarray(offset, offset + len));\n // },\n // },\n });\n // wasmInstance.exports._start();\n }));\n const setupInterface = () => __awaiter(this, void 0, void 0, function* () {\n if (!wasmInstance) {\n yield loadWASMPromise;\n }\n const arrayOffset = wasmInstance.exports.Hash_GetBuffer();\n const memoryBuffer = wasmInstance.exports.memory.buffer;\n memoryView = new Uint8Array(memoryBuffer, arrayOffset, MAX_HEAP);\n });\n const init = (bits = null) => {\n initialized = true;\n wasmInstance.exports.Hash_Init(bits);\n };\n const updateUInt8Array = (data) => {\n let read = 0;\n while (read < data.length) {\n const chunk = data.subarray(read, read + MAX_HEAP);\n read += chunk.length;\n memoryView.set(chunk);\n wasmInstance.exports.Hash_Update(chunk.length);\n }\n };\n const update = (data) => {\n if (!initialized) {\n throw new Error('update() called before init()');\n }\n const Uint8Buffer = getUInt8Buffer(data);\n updateUInt8Array(Uint8Buffer);\n };\n const digestChars = new Uint8Array(hashLength * 2);\n const digest = (outputType, padding = null) => {\n if (!initialized) {\n throw new Error('digest() called before init()');\n }\n initialized = false;\n wasmInstance.exports.Hash_Final(padding);\n if (outputType === 'binary') {\n // the data is copied to allow GC of the original memory object\n return memoryView.slice(0, hashLength);\n }\n return getDigestHex(digestChars, memoryView, hashLength);\n };\n const save = () => {\n if (!initialized) {\n throw new Error('save() can only be called after init() and before digest()');\n }\n const stateOffset = wasmInstance.exports.Hash_GetState();\n const stateLength = getStateSize();\n const memoryBuffer = wasmInstance.exports.memory.buffer;\n const internalState = new Uint8Array(memoryBuffer, stateOffset, stateLength);\n // prefix is 4 bytes from SHA1 hash of the WASM binary\n // it is used to detect incompatible internal states between different versions of hash-wasm\n const prefixedState = new Uint8Array(WASM_FUNC_HASH_LENGTH + stateLength);\n writeHexToUInt8(prefixedState, binary.hash);\n prefixedState.set(internalState, WASM_FUNC_HASH_LENGTH);\n return prefixedState;\n };\n const load = (state) => {\n if (!(state instanceof Uint8Array)) {\n throw new Error('load() expects an Uint8Array generated by save()');\n }\n const stateOffset = wasmInstance.exports.Hash_GetState();\n const stateLength = getStateSize();\n const overallLength = WASM_FUNC_HASH_LENGTH + stateLength;\n const memoryBuffer = wasmInstance.exports.memory.buffer;\n if (state.length !== overallLength) {\n throw new Error(`Bad state length (expected ${overallLength} bytes, got ${state.length})`);\n }\n if (!hexStringEqualsUInt8(binary.hash, state.subarray(0, WASM_FUNC_HASH_LENGTH))) {\n throw new Error('This state was written by an incompatible hash implementation');\n }\n const internalState = state.subarray(WASM_FUNC_HASH_LENGTH);\n new Uint8Array(memoryBuffer, stateOffset, stateLength).set(internalState);\n initialized = true;\n };\n const isDataShort = (data) => {\n if (typeof data === 'string') {\n // worst case is 4 bytes / char\n return data.length < MAX_HEAP / 4;\n }\n return data.byteLength < MAX_HEAP;\n };\n let canSimplify = isDataShort;\n switch (binary.name) {\n case 'argon2':\n case 'scrypt':\n canSimplify = () => true;\n break;\n case 'blake2b':\n case 'blake2s':\n // if there is a key at blake2 then cannot simplify\n canSimplify = (data, initParam) => initParam <= 512 && isDataShort(data);\n break;\n case 'blake3':\n // if there is a key at blake3 then cannot simplify\n canSimplify = (data, initParam) => initParam === 0 && isDataShort(data);\n break;\n case 'xxhash64': // cannot simplify\n case 'xxhash3':\n case 'xxhash128':\n canSimplify = () => false;\n break;\n }\n // shorthand for (init + update + digest) for better performance\n const calculate = (data, initParam = null, digestParam = null) => {\n if (!canSimplify(data, initParam)) {\n init(initParam);\n update(data);\n return digest('hex', digestParam);\n }\n const buffer = getUInt8Buffer(data);\n memoryView.set(buffer);\n wasmInstance.exports.Hash_Calculate(buffer.length, initParam, digestParam);\n return getDigestHex(digestChars, memoryView, hashLength);\n };\n yield setupInterface();\n return {\n getMemory,\n writeMemory,\n getExports,\n setMemorySize,\n init,\n update,\n digest,\n save,\n load,\n calculate,\n hashLength,\n };\n });\n}\n\nvar name$k = \"adler32\";\nvar data$k = \"AGFzbQEAAAABDANgAAF/YAAAYAF/AAMHBgABAgEAAgQFAXABAQEFBAEBAgIGDgJ/AUGAiQULfwBBgAgLB3AIBm1lbW9yeQIADkhhc2hfR2V0QnVmZmVyAAAJSGFzaF9Jbml0AAELSGFzaF9VcGRhdGUAAgpIYXNoX0ZpbmFsAAMNSGFzaF9HZXRTdGF0ZQAEDkhhc2hfQ2FsY3VsYXRlAAUKU1RBVEVfU0laRQMBCoAIBgUAQYAJCwoAQQBBATYChAgL9gYBBn9BACgChAgiAUH//wNxIQIgAUEQdiEDAkACQCAAQQFHDQAgAkEALQCACWoiAUGPgHxqIAEgAUHw/wNLGyIBIANqIgRBEHQiBUGAgDxqIAUgBEHw/wNLGyABciEBDAELAkACQAJAAkACQCAAQRBJDQBBgAkhBiAAQbArSQ0BQYAJIQYDQEEAIQUDQCAGIAVqIgEoAgAiBEH/AXEgAmoiAiADaiACIARBCHZB/wFxaiICaiACIARBEHZB/wFxaiICaiACIARBGHZqIgJqIAIgAUEEaigCACIEQf8BcWoiAmogAiAEQQh2Qf8BcWoiAmogAiAEQRB2Qf8BcWoiAmogAiAEQRh2aiICaiACIAFBCGooAgAiBEH/AXFqIgJqIAIgBEEIdkH/AXFqIgJqIAIgBEEQdkH/AXFqIgJqIAIgBEEYdmoiBGogBCABQQxqKAIAIgFB/wFxaiIEaiAEIAFBCHZB/wFxaiIEaiAEIAFBEHZB/wFxaiIEaiAEIAFBGHZqIgJqIQMgBUEQaiIFQbArRw0ACyADQfH/A3AhAyACQfH/A3AhAiAGQbAraiEGIABB0FRqIgBBrytLDQALIABFDQQgAEEPSw0BDAILAkAgAEUNAEEAIQEDQCACIAFBgAlqLQAAaiICIANqIQMgACABQQFqIgFHDQALCyACQY+AfGogAiACQfD/A0sbIANB8f8DcEEQdHIhAQwECwNAIAYoAgAiAUH/AXEgAmoiBCADaiAEIAFBCHZB/wFxaiIEaiAEIAFBEHZB/wFxaiIEaiAEIAFBGHZqIgRqIAQgBkEEaigCACIBQf8BcWoiBGogBCABQQh2Qf8BcWoiBGogBCABQRB2Qf8BcWoiBGogBCABQRh2aiIEaiAEIAZBCGooAgAiAUH/AXFqIgRqIAQgAUEIdkH/AXFqIgRqIAQgAUEQdkH/AXFqIgRqIAQgAUEYdmoiBGogBCAGQQxqKAIAIgFB/wFxaiIEaiAEIAFBCHZB/wFxaiIEaiAEIAFBEHZB/wFxaiIEaiAEIAFBGHZqIgJqIQMgBkEQaiEGIABBcGoiAEEPSw0ACyAARQ0BCwNAIAIgBi0AAGoiAiADaiEDIAZBAWohBiAAQX9qIgANAAsLIANB8f8DcCEDIAJB8f8DcCECCyACIANBEHRyIQELQQAgATYChAgLMgEBf0EAQQAoAoQIIgBBGHQgAEEIdEGAgPwHcXIgAEEIdkGA/gNxIABBGHZycjYCgAkLBQBBhAgLPABBAEEBNgKECCAAEAJBAEEAKAKECCIAQRh0IABBCHRBgID8B3FyIABBCHZBgP4DcSAAQRh2cnI2AoAJCwsVAgBBgAgLBAQAAAAAQYQICwQBAAAA\";\nvar hash$k = \"321174b4\";\nvar wasmJson$k = {\n\tname: name$k,\n\tdata: data$k,\n\thash: hash$k\n};\n\nfunction lockedCreate(mutex, binary, hashLength) {\n return __awaiter(this, void 0, void 0, function* () {\n const unlock = yield mutex.lock();\n const wasm = yield WASMInterface(binary, hashLength);\n unlock();\n return wasm;\n });\n}\n\nconst mutex$l = new Mutex();\nlet wasmCache$l = null;\n/**\n * Calculates Adler-32 hash. The resulting 32-bit hash is stored in\n * network byte order (big-endian).\n *\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction adler32(data) {\n if (wasmCache$l === null) {\n return lockedCreate(mutex$l, wasmJson$k, 4)\n .then((wasm) => {\n wasmCache$l = wasm;\n return wasmCache$l.calculate(data);\n });\n }\n try {\n const hash = wasmCache$l.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new Adler-32 hash instance\n */\nfunction createAdler32() {\n return WASMInterface(wasmJson$k, 4).then((wasm) => {\n wasm.init();\n const obj = {\n init: () => { wasm.init(); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 4,\n digestSize: 4,\n };\n return obj;\n });\n}\n\nvar name$j = \"blake2b\";\nvar data$j = \"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\";\nvar hash$j = \"68afc9cf\";\nvar wasmJson$j = {\n\tname: name$j,\n\tdata: data$j,\n\thash: hash$j\n};\n\nconst mutex$k = new Mutex();\nlet wasmCache$k = null;\nfunction validateBits$4(bits) {\n if (!Number.isInteger(bits) || bits < 8 || bits > 512 || bits % 8 !== 0) {\n return new Error('Invalid variant! Valid values: 8, 16, ..., 512');\n }\n return null;\n}\nfunction getInitParam$1(outputBits, keyBits) {\n // eslint-disable-next-line no-bitwise\n return outputBits | (keyBits << 16);\n}\n/**\n * Calculates BLAKE2b hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param bits Number of output bits, which has to be a number\n * divisible by 8, between 8 and 512. Defaults to 512.\n * @param key Optional key (string, Buffer or TypedArray). Maximum length is 64 bytes.\n * @returns Computed hash as a hexadecimal string\n */\nfunction blake2b(data, bits = 512, key = null) {\n if (validateBits$4(bits)) {\n return Promise.reject(validateBits$4(bits));\n }\n let keyBuffer = null;\n let initParam = bits;\n if (key !== null) {\n keyBuffer = getUInt8Buffer(key);\n if (keyBuffer.length > 64) {\n return Promise.reject(new Error('Max key length is 64 bytes'));\n }\n initParam = getInitParam$1(bits, keyBuffer.length);\n }\n const hashLength = bits / 8;\n if (wasmCache$k === null || wasmCache$k.hashLength !== hashLength) {\n return lockedCreate(mutex$k, wasmJson$j, hashLength)\n .then((wasm) => {\n wasmCache$k = wasm;\n if (initParam > 512) {\n wasmCache$k.writeMemory(keyBuffer);\n }\n return wasmCache$k.calculate(data, initParam);\n });\n }\n try {\n if (initParam > 512) {\n wasmCache$k.writeMemory(keyBuffer);\n }\n const hash = wasmCache$k.calculate(data, initParam);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new BLAKE2b hash instance\n * @param bits Number of output bits, which has to be a number\n * divisible by 8, between 8 and 512. Defaults to 512.\n * @param key Optional key (string, Buffer or TypedArray). Maximum length is 64 bytes.\n */\nfunction createBLAKE2b(bits = 512, key = null) {\n if (validateBits$4(bits)) {\n return Promise.reject(validateBits$4(bits));\n }\n let keyBuffer = null;\n let initParam = bits;\n if (key !== null) {\n keyBuffer = getUInt8Buffer(key);\n if (keyBuffer.length > 64) {\n return Promise.reject(new Error('Max key length is 64 bytes'));\n }\n initParam = getInitParam$1(bits, keyBuffer.length);\n }\n const outputSize = bits / 8;\n return WASMInterface(wasmJson$j, outputSize).then((wasm) => {\n if (initParam > 512) {\n wasm.writeMemory(keyBuffer);\n }\n wasm.init(initParam);\n const obj = {\n init: initParam > 512\n ? () => {\n wasm.writeMemory(keyBuffer);\n wasm.init(initParam);\n return obj;\n }\n : () => {\n wasm.init(initParam);\n return obj;\n },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 128,\n digestSize: outputSize,\n };\n return obj;\n });\n}\n\nvar name$i = \"argon2\";\nvar data$i = \"AGFzbQEAAAABKQVgAX8Bf2AAAX9gEH9/f39/f39/f39/f39/f38AYAR/f39/AGACf38AAwYFAAECAwQEBQFwAQEBBQYBAQKAgAIGCAF/AUGQqAQLB0EEBm1lbW9yeQIAEkhhc2hfU2V0TWVtb3J5U2l6ZQAADkhhc2hfR2V0QnVmZmVyAAEOSGFzaF9DYWxjdWxhdGUABArXMwVbAQF/QQAhAQJAIABBACgCgAhrIgBFDQACQCAAQRB2IABBgIB8cSAASWoiAEAAQX9HDQBB/wEhAQwBC0EAIQFBAEEAKQOACCAAQRB0rXw3A4AICyABQRh0QRh1C2oBAn8CQEEAKAKICCIADQBBAD8AQRB0IgA2AogIQYCAIEEAKAKACGsiAUUNAAJAIAFBEHYgAUGAgHxxIAFJaiIAQABBf0cNAEEADwtBAEEAKQOACCAAQRB0rXw3A4AIQQAoAogIIQALIAALnA8BA34gACAEKQMAIhAgACkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDCAQIAwpAwCFIhBCIIkiETcDACAIIBEgCCkDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAEIBAgBCkDAIUiEEIoiSIRNwMAIAAgESAAKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAMIBAgDCkDAIUiEEIwiSIRNwMAIAggESAIKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAEIBAgBCkDAIVCAYk3AwAgASAFKQMAIhAgASkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDSAQIA0pAwCFIhBCIIkiETcDACAJIBEgCSkDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAFIBAgBSkDAIUiEEIoiSIRNwMAIAEgESABKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACANIBAgDSkDAIUiEEIwiSIRNwMAIAkgESAJKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAFIBAgBSkDAIVCAYk3AwAgAiAGKQMAIhAgAikDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDiAQIA4pAwCFIhBCIIkiETcDACAKIBEgCikDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAGIBAgBikDAIUiEEIoiSIRNwMAIAIgESACKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAOIBAgDikDAIUiEEIwiSIRNwMAIAogESAKKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAGIBAgBikDAIVCAYk3AwAgAyAHKQMAIhAgAykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDyAQIA8pAwCFIhBCIIkiETcDACALIBEgCykDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAHIBAgBykDAIUiEEIoiSIRNwMAIAMgESADKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAPIBAgDykDAIUiEEIwiSIRNwMAIAsgESALKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgACAFKQMAIhAgACkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDyAQIA8pAwCFIhBCIIkiETcDACAKIBEgCikDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAFIBAgBSkDAIUiEEIoiSIRNwMAIAAgESAAKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAPIBAgDykDAIUiEEIwiSIRNwMAIAogESAKKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAFIBAgBSkDAIVCAYk3AwAgASAGKQMAIhAgASkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDCAQIAwpAwCFIhBCIIkiETcDACALIBEgCykDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAGIBAgBikDAIUiEEIoiSIRNwMAIAEgESABKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAMIBAgDCkDAIUiEEIwiSIRNwMAIAsgESALKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAGIBAgBikDAIVCAYk3AwAgAiAHKQMAIhAgAikDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDSAQIA0pAwCFIhBCIIkiETcDACAIIBEgCCkDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAHIBAgBykDAIUiEEIoiSIRNwMAIAIgESACKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACANIBAgDSkDAIUiEEIwiSIRNwMAIAggESAIKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgAyAEKQMAIhAgAykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDiAQIA4pAwCFIhBCIIkiETcDACAJIBEgCSkDACISfCASQgGGQv7///8fgyAQQiCIfnwiEDcDACAEIBAgBCkDAIUiEEIoiSIRNwMAIAMgESADKQMAIhJ8IBBCGIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAOIBAgDikDAIUiEEIwiSIRNwMAIAkgESAJKQMAIhJ8IBBCEIhC/////w+DIBJCAYZC/v///x+DfnwiEDcDACAEIBAgBCkDAIVCAYk3AwALhxoBAX9BACEEQQAgAikDACABKQMAhTcDkAhBACACKQMIIAEpAwiFNwOYCEEAIAIpAxAgASkDEIU3A6AIQQAgAikDGCABKQMYhTcDqAhBACACKQMgIAEpAyCFNwOwCEEAIAIpAyggASkDKIU3A7gIQQAgAikDMCABKQMwhTcDwAhBACACKQM4IAEpAziFNwPICEEAIAIpA0AgASkDQIU3A9AIQQAgAikDSCABKQNIhTcD2AhBACACKQNQIAEpA1CFNwPgCEEAIAIpA1ggASkDWIU3A+gIQQAgAikDYCABKQNghTcD8AhBACACKQNoIAEpA2iFNwP4CEEAIAIpA3AgASkDcIU3A4AJQQAgAikDeCABKQN4hTcDiAlBACACKQOAASABKQOAAYU3A5AJQQAgAikDiAEgASkDiAGFNwOYCUEAIAIpA5ABIAEpA5ABhTcDoAlBACACKQOYASABKQOYAYU3A6gJQQAgAikDoAEgASkDoAGFNwOwCUEAIAIpA6gBIAEpA6gBhTcDuAlB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\";\nvar hash$i = \"59aa4fb4\";\nvar wasmJson$i = {\n\tname: name$i,\n\tdata: data$i,\n\thash: hash$i\n};\n\nfunction encodeResult(salt, options, res) {\n const parameters = [\n `m=${options.memorySize}`,\n `t=${options.iterations}`,\n `p=${options.parallelism}`,\n ].join(',');\n return `$argon2${options.hashType}$v=19$${parameters}$${encodeBase64(salt, false)}$${encodeBase64(res, false)}`;\n}\nconst uint32View = new DataView(new ArrayBuffer(4));\nfunction int32LE(x) {\n uint32View.setInt32(0, x, true);\n return new Uint8Array(uint32View.buffer);\n}\nfunction hashFunc(blake512, buf, len) {\n return __awaiter(this, void 0, void 0, function* () {\n if (len <= 64) {\n const blake = yield createBLAKE2b(len * 8);\n blake.update(int32LE(len));\n blake.update(buf);\n return blake.digest('binary');\n }\n const r = Math.ceil(len / 32) - 2;\n const ret = new Uint8Array(len);\n blake512.init();\n blake512.update(int32LE(len));\n blake512.update(buf);\n let vp = blake512.digest('binary');\n ret.set(vp.subarray(0, 32), 0);\n for (let i = 1; i < r; i++) {\n blake512.init();\n blake512.update(vp);\n vp = blake512.digest('binary');\n ret.set(vp.subarray(0, 32), i * 32);\n }\n const partialBytesNeeded = len - 32 * r;\n let blakeSmall;\n if (partialBytesNeeded === 64) {\n blakeSmall = blake512;\n blakeSmall.init();\n }\n else {\n blakeSmall = yield createBLAKE2b(partialBytesNeeded * 8);\n }\n blakeSmall.update(vp);\n vp = blakeSmall.digest('binary');\n ret.set(vp.subarray(0, partialBytesNeeded), r * 32);\n return ret;\n });\n}\nfunction getHashType(type) {\n switch (type) {\n case 'd':\n return 0;\n case 'i':\n return 1;\n default:\n return 2;\n }\n}\nfunction argon2Internal(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const { parallelism, iterations, hashLength } = options;\n const password = getUInt8Buffer(options.password);\n const salt = getUInt8Buffer(options.salt);\n const version = 0x13;\n const hashType = getHashType(options.hashType);\n const { memorySize } = options; // in KB\n const [argon2Interface, blake512] = yield Promise.all([\n WASMInterface(wasmJson$i, 1024),\n createBLAKE2b(512),\n ]);\n // last block is for storing the init vector\n argon2Interface.setMemorySize(memorySize * 1024 + 1024);\n const initVector = new Uint8Array(24);\n const initVectorView = new DataView(initVector.buffer);\n initVectorView.setInt32(0, parallelism, true);\n initVectorView.setInt32(4, hashLength, true);\n initVectorView.setInt32(8, memorySize, true);\n initVectorView.setInt32(12, iterations, true);\n initVectorView.setInt32(16, version, true);\n initVectorView.setInt32(20, hashType, true);\n argon2Interface.writeMemory(initVector, memorySize * 1024);\n blake512.init();\n blake512.update(initVector);\n blake512.update(int32LE(password.length));\n blake512.update(password);\n blake512.update(int32LE(salt.length));\n blake512.update(salt);\n blake512.update(int32LE(0)); // key length + key\n blake512.update(int32LE(0)); // associatedData length + associatedData\n const segments = Math.floor(memorySize / (parallelism * 4)); // length of each lane\n const lanes = segments * 4;\n const param = new Uint8Array(72);\n const H0 = blake512.digest('binary');\n param.set(H0);\n for (let lane = 0; lane < parallelism; lane++) {\n param.set(int32LE(0), 64);\n param.set(int32LE(lane), 68);\n let position = lane * lanes;\n let chunk = yield hashFunc(blake512, param, 1024);\n argon2Interface.writeMemory(chunk, position * 1024);\n position += 1;\n param.set(int32LE(1), 64);\n chunk = yield hashFunc(blake512, param, 1024);\n argon2Interface.writeMemory(chunk, position * 1024);\n }\n const C = new Uint8Array(1024);\n writeHexToUInt8(C, argon2Interface.calculate(new Uint8Array([]), memorySize));\n const res = yield hashFunc(blake512, C, hashLength);\n if (options.outputType === 'hex') {\n const digestChars = new Uint8Array(hashLength * 2);\n return getDigestHex(digestChars, res, hashLength);\n }\n if (options.outputType === 'encoded') {\n return encodeResult(salt, options, res);\n }\n // return binary format\n return res;\n });\n}\nconst validateOptions$3 = (options) => {\n if (!options || typeof options !== 'object') {\n throw new Error('Invalid options parameter. It requires an object.');\n }\n if (!options.password) {\n throw new Error('Password must be specified');\n }\n options.password = getUInt8Buffer(options.password);\n if (options.password.length < 1) {\n throw new Error('Password must be specified');\n }\n if (!options.salt) {\n throw new Error('Salt must be specified');\n }\n options.salt = getUInt8Buffer(options.salt);\n if (options.salt.length < 8) {\n throw new Error('Salt should be at least 8 bytes long');\n }\n if (!Number.isInteger(options.iterations) || options.iterations < 1) {\n throw new Error('Iterations should be a positive number');\n }\n if (!Number.isInteger(options.parallelism) || options.parallelism < 1) {\n throw new Error('Parallelism should be a positive number');\n }\n if (!Number.isInteger(options.hashLength) || options.hashLength < 4) {\n throw new Error('Hash length should be at least 4 bytes.');\n }\n if (!Number.isInteger(options.memorySize)) {\n throw new Error('Memory size should be specified.');\n }\n if (options.memorySize < 8 * options.parallelism) {\n throw new Error('Memory size should be at least 8 * parallelism.');\n }\n if (options.outputType === undefined) {\n options.outputType = 'hex';\n }\n if (!['hex', 'binary', 'encoded'].includes(options.outputType)) {\n throw new Error(`Insupported output type ${options.outputType}. Valid values: ['hex', 'binary', 'encoded']`);\n }\n};\n/**\n * Calculates hash using the argon2i password-hashing function\n * @returns Computed hash\n */\nfunction argon2i(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateOptions$3(options);\n return argon2Internal(Object.assign(Object.assign({}, options), { hashType: 'i' }));\n });\n}\n/**\n * Calculates hash using the argon2id password-hashing function\n * @returns Computed hash\n */\nfunction argon2id(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateOptions$3(options);\n return argon2Internal(Object.assign(Object.assign({}, options), { hashType: 'id' }));\n });\n}\n/**\n * Calculates hash using the argon2d password-hashing function\n * @returns Computed hash\n */\nfunction argon2d(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateOptions$3(options);\n return argon2Internal(Object.assign(Object.assign({}, options), { hashType: 'd' }));\n });\n}\nconst getHashParameters = (password, encoded) => {\n const regex = /^\\$argon2(id|i|d)\\$v=([0-9]+)\\$((?:[mtp]=[0-9]+,){2}[mtp]=[0-9]+)\\$([A-Za-z0-9+/]+)\\$([A-Za-z0-9+/]+)$/;\n const match = encoded.match(regex);\n if (!match) {\n throw new Error('Invalid hash');\n }\n const [, hashType, version, parameters, salt, hash] = match;\n if (version !== '19') {\n throw new Error(`Unsupported version: ${version}`);\n }\n const parsedParameters = {};\n const paramMap = { m: 'memorySize', p: 'parallelism', t: 'iterations' };\n parameters.split(',').forEach((x) => {\n const [n, v] = x.split('=');\n parsedParameters[paramMap[n]] = parseInt(v, 10);\n });\n return Object.assign(Object.assign({}, parsedParameters), { password, hashType: hashType, salt: decodeBase64(salt), hashLength: getDecodeBase64Length(hash), outputType: 'encoded' });\n};\nconst validateVerifyOptions$1 = (options) => {\n if (!options || typeof options !== 'object') {\n throw new Error('Invalid options parameter. It requires an object.');\n }\n if (options.hash === undefined || typeof options.hash !== 'string') {\n throw new Error('Hash should be specified');\n }\n};\n/**\n * Verifies password using the argon2 password-hashing function\n * @returns True if the encoded hash matches the password\n */\nfunction argon2Verify(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateVerifyOptions$1(options);\n const params = getHashParameters(options.password, options.hash);\n validateOptions$3(params);\n const hashStart = options.hash.lastIndexOf('$') + 1;\n const result = yield argon2Internal(params);\n return result.substring(hashStart) === options.hash.substring(hashStart);\n });\n}\n\nvar name$h = \"blake2s\";\nvar data$h = \"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\";\nvar hash$h = \"0f570f49\";\nvar wasmJson$h = {\n\tname: name$h,\n\tdata: data$h,\n\thash: hash$h\n};\n\nconst mutex$j = new Mutex();\nlet wasmCache$j = null;\nfunction validateBits$3(bits) {\n if (!Number.isInteger(bits) || bits < 8 || bits > 256 || bits % 8 !== 0) {\n return new Error('Invalid variant! Valid values: 8, 16, ..., 256');\n }\n return null;\n}\nfunction getInitParam(outputBits, keyBits) {\n // eslint-disable-next-line no-bitwise\n return outputBits | (keyBits << 16);\n}\n/**\n * Calculates BLAKE2s hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param bits Number of output bits, which has to be a number\n * divisible by 8, between 8 and 256. Defaults to 256.\n * @param key Optional key (string, Buffer or TypedArray). Maximum length is 32 bytes.\n * @returns Computed hash as a hexadecimal string\n */\nfunction blake2s(data, bits = 256, key = null) {\n if (validateBits$3(bits)) {\n return Promise.reject(validateBits$3(bits));\n }\n let keyBuffer = null;\n let initParam = bits;\n if (key !== null) {\n keyBuffer = getUInt8Buffer(key);\n if (keyBuffer.length > 32) {\n return Promise.reject(new Error('Max key length is 32 bytes'));\n }\n initParam = getInitParam(bits, keyBuffer.length);\n }\n const hashLength = bits / 8;\n if (wasmCache$j === null || wasmCache$j.hashLength !== hashLength) {\n return lockedCreate(mutex$j, wasmJson$h, hashLength)\n .then((wasm) => {\n wasmCache$j = wasm;\n if (initParam > 512) {\n wasmCache$j.writeMemory(keyBuffer);\n }\n return wasmCache$j.calculate(data, initParam);\n });\n }\n try {\n if (initParam > 512) {\n wasmCache$j.writeMemory(keyBuffer);\n }\n const hash = wasmCache$j.calculate(data, initParam);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new BLAKE2s hash instance\n * @param bits Number of output bits, which has to be a number\n * divisible by 8, between 8 and 256. Defaults to 256.\n * @param key Optional key (string, Buffer or TypedArray). Maximum length is 32 bytes.\n */\nfunction createBLAKE2s(bits = 256, key = null) {\n if (validateBits$3(bits)) {\n return Promise.reject(validateBits$3(bits));\n }\n let keyBuffer = null;\n let initParam = bits;\n if (key !== null) {\n keyBuffer = getUInt8Buffer(key);\n if (keyBuffer.length > 32) {\n return Promise.reject(new Error('Max key length is 32 bytes'));\n }\n initParam = getInitParam(bits, keyBuffer.length);\n }\n const outputSize = bits / 8;\n return WASMInterface(wasmJson$h, outputSize).then((wasm) => {\n if (initParam > 512) {\n wasm.writeMemory(keyBuffer);\n }\n wasm.init(initParam);\n const obj = {\n init: initParam > 512\n ? () => {\n wasm.writeMemory(keyBuffer);\n wasm.init(initParam);\n return obj;\n }\n : () => {\n wasm.init(initParam);\n return obj;\n },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: outputSize,\n };\n return obj;\n });\n}\n\nvar name$g = \"blake3\";\nvar data$g = \"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FWogFCAfc0EZdyIVaiIUIBhqIB0gFHNBEHciFCAlaiIYIBVzQRR3IhVqIhkgFHNBGHciFCAYaiIYaiIdICBzQRR3Ih9qIiA2AgAgACAXICQgHHNBGHciHCAeaiIeIBtzQRl3IhtqIAFqIgEgFmogASAUc0EQdyIBICtqIhQgG3NBFHciFmoiFyABc0EYdyIBNgI4IAAgGCAVc0EZdyIVIC5qIANqIgMgE2ogAyAcc0EQdyIDIAIgImoiAmoiIiAVc0EUdyIVaiITNgIEIAAgASAUaiIBNgIkIAAgAiAFc0EZdyICIBlqICFqIgUgGmogBSAnc0EQdyIFIB5qIhQgAnNBFHciAmoiGjYCCCAAICAgEnNBGHciEiAdaiIhNgIoIAAgEyADc0EYdyIDNgIwIAAgASAWc0EZdzYCECAAIBogBXNBGHciATYCNCAAICEgH3NBGXc2AhQgACABIBRqIgE2AiAgACADICJqIgUgFXNBGXc2AhggACASNgI8IAAgASACc0EZdzYCHCAAIBc2AgwgACAFNgIsC7cDAwR/A34FfyMAQdABayIBJAACQCAAe6ciAkEALQCQigEiA08NACABQShqIQQDQCABQQApA4CJASIANwMAIAFBACkDiIkBIgU3AwggAUEAKQOQiQEiBjcDECABQQApA5iJASIHNwMYIAEgA0EFdCIDQdGJAWoiCCkDADcDKCABIANB2YkBaiIJKQMANwMwIAEgA0HhiQFqIgopAwA3AzggASADQemJAWoiCykDADcDQEEALQCKigEhDCABQcAAOgBoIAEgDEEEciIMOgBpIAFCADcDICABIANB8YkBaikDADcDSCABIANB+YkBaikDADcDUCABIANBgYoBaikDADcDWCABIANBiYoBaikDADcDYCABIAc3A4gBIAEgBjcDgAEgASAFNwN4IAEgADcDcCABQZABaiABQfAAaiAEQcAAQgAgDBADIAsgASkDyAEgASkDqAGFNwMAIAogASkDwAEgASkDoAGFNwMAIAkgASkDuAEgASkDmAGFNwMAIAggASkDsAEgASkDkAGFNwMAQQBBAC0AkIoBQX9qIgM6AJCKASACIANB/wFxIgNJDQALCyABQdABaiQAC/oLBAR/BH4GfwF+IwBB0AJrIgUkAAJAAkAgAUGACEsNAEEAIQYgASEHQQAhCAJAIAFB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IQwDQCABQbABaiABIAsgCUH/AXEgCCACQQhyQf8BcRADIAEgASkD2AEiDSABKQO4AYU3A3ggASABKQPgASIOIAEpA8ABhTcDgAEgASAGIAEpA+gBIg+FNwOoASABIAUgDoU3A6ABIAEgBCANhTcDmAEgASADIAEpA9ABIg2FNwOQASABIA8gASkDyAGFNwOIASAAQcAAIABBwABJGyIQQX9qIQkgASANIAEpA7ABhSINNwNwIA2nIREgCiEHIAwhAgJAA0AgAiAROgAAIAlFDQEgCUF/aiEJIAJBAWohAiAHLQAAIREgB0EBaiEHDAALCyAAIBBrIgBFDQIgDCAQaiEMIAhCAXwhCCABKQMIIQQgASkDACEDIAEpAxghBiABKQMQIQUgAS0AaSECIAEtAGghCQwACwsCQAJAAkBBAC0AiYoBIglBBnRBAEEALQCIigEiDGtGDQAgAUHgAGpBACkDgIoBNwMAIAFB2ABqQQApA/iJATcDACABQdAAakEAKQPwiQE3AwAgAUHIAGpBACkD6IkBNwMAIAFBwABqQQApA+CJATcDACABQThqQQApA9iJATcDACABQTBqQQApA9CJATcDACABQQApA8iJATcDKCABQQApA8CJASIINwMgIAFBACkDuIkBIg03AxggAUEAKQOwiQEiDjcDECABQQApA6iJASIPNwMIIAFBACkDoIkBIgM3AwBBAC0AiooBIQcgAUHuAGogAUG0AWovAQA7AQAgASABKAGwATYBaiABIAw6AGggASAHIAlFckECciIJOgBpDAELIAFB4ABqIAJBfmoiAkEFdCIJQcmKAWopAwA3AwAgAUHYAGogCUHBigFqKQMANwMAIAFB0ABqIAlBuYoBaikDADcDACABQcgAaiAJQbGKAWopAwA3AwBBwAAhDCABQcAAaiAJQamKAWopAwA3AwAgAUE4aiAJQaGKAWopAwA3AwAgAUEwaiAJQZmKAWopAwA3AwBCACEIIAFCADcDICABQQApA5iJASINNwMYIAFBACkDkIkBIg43AxAgAUEAKQOIiQEiDzcDCCABQQApA4CJASIDNwMAIAEgCUGRigFqKQMANwMoQQAtAIqKASEJIAFB7gBqIAFBsAFqQQRqLwEAOwEAIAEgASgBsAE2AWogASAJQQRyIgk6AGkgAUHAADoAaCACRQ0BCyACQX9qIgdBBXQiEUGRigFqKQMAIQQgEUGZigFqKQMAIQUgEUGhigFqKQMAIQYgEUGpigFqKQMAIRIgASANNwOIASABIA43A4ABIAEgDzcDeCABIAM3A3AgAUGwAWogAUHwAGogAUEoaiIQIAwgCCAJQf8BcRADIAFBwAA6AGggASASNwNAIAEgBjcDOCABIAU3AzAgASAENwMoIAFCADcDICABQQApA5iJASIINwMYIAFBACkDkIkBIg03AxAgAUEAKQOIiQEiDjcDCCABQQApA4CJASIPNwMAIAFBAC0AiooBQQRyIgk6AGkgASABKQPoASABKQPIAYU3A2AgASABKQPgASABKQPAAYU3A1ggASABKQPYASABKQO4AYU3A1AgASABKQPQASABKQOwAYU3A0ggAUHuAGogAUGwAWpBBGoiDC8BADsBACABIAEoAbABNgFqIAdFDQAgAUHqAGohESACQQV0QemJAWohAgNAIAJBaGopAwAhAyACQXBqKQMAIQQgAkF4aikDACEFIAIpAwAhBiABIAg3A4gBIAEgDTcDgAEgASAONwN4IAEgDzcDcCABQbABaiABQfAAaiAQQcAAQgAgCUH/AXEQAyABQcAAOgBoIAEgBjcDQCABIAU3AzggASAENwMwIAEgAzcDKCABQgA3AyAgAUEAKQOYiQEiCDcDGCABQQApA5CJASINNwMQIAFBACkDiIkBIg43AwggAUEAKQOAiQEiDzcDACABQQAtAIqKAUEEciIJOgBpIAEgASkD6AEgASkDyAGFNwNgIAEgASkD4AEgASkDwAGFNwNYIAEgASkD2AEgASkDuAGFNwNQIAEgASkD0AEgASkDsAGFNwNIIBFBBGogDC8BADsBACARIAEoAbABNgEAIAJBYGohAiAHQX9qIgcNAAsLIAFB8ABqQQFyIQogAUEoaiELQgAhCEGACSEMQcAAIQIDQCABQbABaiABIAsgAkH/AXEgCCAJQQhyQf8BcRADIAEgASkD2AEiDSABKQO4AYU3A3ggASABKQPgASIOIAEpA8ABhTcDgAEgASABKQPoASIPIAEpA8gBhTcDiAEgASABKQMAIAEpA9ABIgOFNwOQASABIA0gASkDCIU3A5gBIAEgDiABKQMQhTcDoAEgASADIAEpA7ABhSINNwNwIAEgDyABKQMYhTcDqAEgAEHAACAAQcAASRsiEEF/aiECIA2nIREgCiEHIAwhCQJAA0AgCSAROgAAIAJFDQEgAkF/aiECIAlBAWohCSAHLQAAIREgB0EBaiEHDAALCyAAIBBrIgBFDQEgDCAQaiEMIAhCAXwhCCABLQBpIQkgAS0AaCECDAALCyABQfABaiQAC6MCAQR+AkACQCAAQSBGDQBCq7OP/JGjs/DbACEBQv+kuYjFkdqCm38hAkLy5rvjo6f9p6V/IQNC58yn0NbQ67O7fyEEQQAhAAwBC0EAKQOYCSEBQQApA5AJIQJBACkDiAkhA0EAKQOACSEEQRAhAAtBACAAOgCKigFBAEIANwOAigFBAEIANwP4iQFBAEIANwPwiQFBAEIANwPoiQFBAEIANwPgiQFBAEIANwPYiQFBAEIANwPQiQFBAEIANwPIiQFBAEIANwPAiQFBACABNwO4iQFBACACNwOwiQFBACADNwOoiQFBACAENwOgiQFBACABNwOYiQFBACACNwOQiQFBACADNwOIiQFBACAENwOAiQFBAEEAOgCQigFBAEEAOwGIigELBgAgABABCwYAIAAQBgsGAEGAiQELqwIBBH4CQAJAIAFBIEYNAEKrs4/8kaOz8NsAIQNC/6S5iMWR2oKbfyEEQvLmu+Ojp/2npX8hBULnzKfQ1tDrs7t/IQZBACEBDAELQQApA5gJIQNBACkDkAkhBEEAKQOICSEFQQApA4AJIQZBECEBC0EAIAE6AIqKAUEAQgA3A4CKAUEAQgA3A/iJAUEAQgA3A/CJAUEAQgA3A+iJAUEAQgA3A+CJAUEAQgA3A9iJAUEAQgA3A9CJAUEAQgA3A8iJAUEAQgA3A8CJAUEAIAM3A7iJAUEAIAQ3A7CJAUEAIAU3A6iJAUEAIAY3A6CJAUEAIAM3A5iJAUEAIAQ3A5CJAUEAIAU3A4iJAUEAIAY3A4CJAUEAQQA6AJCKAUEAQQA7AYiKASAAEAEgAhAGCwsLAQBBgAgLBHgHAAA=\";\nvar hash$g = \"e8655383\";\nvar wasmJson$g = {\n\tname: name$g,\n\tdata: data$g,\n\thash: hash$g\n};\n\nconst mutex$i = new Mutex();\nlet wasmCache$i = null;\nfunction validateBits$2(bits) {\n if (!Number.isInteger(bits) || bits < 8 || bits % 8 !== 0) {\n return new Error('Invalid variant! Valid values: 8, 16, ...');\n }\n return null;\n}\n/**\n * Calculates BLAKE3 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param bits Number of output bits, which has to be a number\n * divisible by 8. Defaults to 256.\n * @param key Optional key (string, Buffer or TypedArray). Length should be 32 bytes.\n * @returns Computed hash as a hexadecimal string\n */\nfunction blake3(data, bits = 256, key = null) {\n if (validateBits$2(bits)) {\n return Promise.reject(validateBits$2(bits));\n }\n let keyBuffer = null;\n let initParam = 0; // key is empty by default\n if (key !== null) {\n keyBuffer = getUInt8Buffer(key);\n if (keyBuffer.length !== 32) {\n return Promise.reject(new Error('Key length must be exactly 32 bytes'));\n }\n initParam = 32;\n }\n const hashLength = bits / 8;\n const digestParam = hashLength;\n if (wasmCache$i === null || wasmCache$i.hashLength !== hashLength) {\n return lockedCreate(mutex$i, wasmJson$g, hashLength)\n .then((wasm) => {\n wasmCache$i = wasm;\n if (initParam === 32) {\n wasmCache$i.writeMemory(keyBuffer);\n }\n return wasmCache$i.calculate(data, initParam, digestParam);\n });\n }\n try {\n if (initParam === 32) {\n wasmCache$i.writeMemory(keyBuffer);\n }\n const hash = wasmCache$i.calculate(data, initParam, digestParam);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new BLAKE3 hash instance\n * @param bits Number of output bits, which has to be a number\n * divisible by 8. Defaults to 256.\n * @param key Optional key (string, Buffer or TypedArray). Length should be 32 bytes.\n */\nfunction createBLAKE3(bits = 256, key = null) {\n if (validateBits$2(bits)) {\n return Promise.reject(validateBits$2(bits));\n }\n let keyBuffer = null;\n let initParam = 0; // key is empty by default\n if (key !== null) {\n keyBuffer = getUInt8Buffer(key);\n if (keyBuffer.length !== 32) {\n return Promise.reject(new Error('Key length must be exactly 32 bytes'));\n }\n initParam = 32;\n }\n const outputSize = bits / 8;\n const digestParam = outputSize;\n return WASMInterface(wasmJson$g, outputSize).then((wasm) => {\n if (initParam === 32) {\n wasm.writeMemory(keyBuffer);\n }\n wasm.init(initParam);\n const obj = {\n init: initParam === 32\n ? () => {\n wasm.writeMemory(keyBuffer);\n wasm.init(initParam);\n return obj;\n }\n : () => {\n wasm.init(initParam);\n return obj;\n },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType, digestParam),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: outputSize,\n };\n return obj;\n });\n}\n\nvar name$f = \"crc32\";\nvar data$f = \"AGFzbQEAAAABEQRgAAF/YAF/AGAAAGACf38AAwgHAAEBAQIAAwQFAXABAQEFBAEBAgIGDgJ/AUGQyQULfwBBgAgLB3AIBm1lbW9yeQIADkhhc2hfR2V0QnVmZmVyAAAJSGFzaF9Jbml0AAILSGFzaF9VcGRhdGUAAwpIYXNoX0ZpbmFsAAQNSGFzaF9HZXRTdGF0ZQAFDkhhc2hfQ2FsY3VsYXRlAAYKU1RBVEVfU0laRQMBCq0HBwUAQYAJC8MDAQN/QYCJASEBQQAhAgNAIAFBAEEAQQBBAEEAQQBBAEEAIAJBAXFrIABxIAJBAXZzIgNBAXFrIABxIANBAXZzIgNBAXFrIABxIANBAXZzIgNBAXFrIABxIANBAXZzIgNBAXFrIABxIANBAXZzIgNBAXFrIABxIANBAXZzIgNBAXFrIABxIANBAXZzIgNBAXFrIABxIANBAXZzNgIAIAFBBGohASACQQFqIgJBgAJHDQALQQAhAANAIABBhJEBaiAAQYSJAWooAgAiAkH/AXFBAnRBgIkBaigCACACQQh2cyICNgIAIABBhJkBaiACQf8BcUECdEGAiQFqKAIAIAJBCHZzIgI2AgAgAEGEoQFqIAJB/wFxQQJ0QYCJAWooAgAgAkEIdnMiAjYCACAAQYSpAWogAkH/AXFBAnRBgIkBaigCACACQQh2cyICNgIAIABBhLEBaiACQf8BcUECdEGAiQFqKAIAIAJBCHZzIgI2AgAgAEGEuQFqIAJB/wFxQQJ0QYCJAWooAgAgAkEIdnMiAjYCACAAQYTBAWogAkH/AXFBAnRBgIkBaigCACACQQh2czYCACAAQQRqIgBB/AdHDQALCycAAkBBACgCgMkBIABGDQAgABABQQAgADYCgMkBC0EAQQA2AoTJAQuhAgEDf0EAKAKEyQFBf3MhAUGACSECAkAgAEEISQ0AQYAJIQIDQCACQQRqKAIAIgNBDnZB/AdxQYCRAWooAgAgA0EWdkH8B3FBgIkBaigCAHMgA0EGdkH8B3FBgJkBaigCAHMgA0H/AXFBAnRBgKEBaigCAHMgAigCACABcyIBQRZ2QfwHcUGAqQFqKAIAcyABQQ52QfwHcUGAsQFqKAIAcyABQQZ2QfwHcUGAuQFqKAIAcyABQf8BcUECdEGAwQFqKAIAcyEBIAJBCGohAiAAQXhqIgBBB0sNAAsLAkAgAEUNAANAIAFB/wFxIAItAABzQQJ0QYCJAWooAgAgAUEIdnMhASACQQFqIQIgAEF/aiIADQALC0EAIAFBf3M2AoTJAQszAQF/QQBBACgChMkBIgBBGHQgAEEIdEGAgPwHcXIgAEEIdkGA/gNxIABBGHZycjYCgAkLBgBBhMkBC1oAAkBBACgCgMkBIAFGDQAgARABQQAgATYCgMkBC0EAQQA2AoTJASAAEANBAEEAKAKEyQEiAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyNgKACQsLCwEAQYAICwQEAAAA\";\nvar hash$f = \"749723dc\";\nvar wasmJson$f = {\n\tname: name$f,\n\tdata: data$f,\n\thash: hash$f\n};\n\nconst mutex$h = new Mutex();\nlet wasmCache$h = null;\n/**\n * Calculates CRC-32 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction crc32(data) {\n if (wasmCache$h === null) {\n return lockedCreate(mutex$h, wasmJson$f, 4)\n .then((wasm) => {\n wasmCache$h = wasm;\n return wasmCache$h.calculate(data, 0xEDB88320);\n });\n }\n try {\n const hash = wasmCache$h.calculate(data, 0xEDB88320);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new CRC-32 hash instance\n */\nfunction createCRC32() {\n return WASMInterface(wasmJson$f, 4).then((wasm) => {\n wasm.init(0xEDB88320);\n const obj = {\n init: () => { wasm.init(0xEDB88320); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 4,\n digestSize: 4,\n };\n return obj;\n });\n}\n\nconst mutex$g = new Mutex();\nlet wasmCache$g = null;\n/**\n * Calculates CRC-32C hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction crc32c(data) {\n if (wasmCache$g === null) {\n return lockedCreate(mutex$g, wasmJson$f, 4)\n .then((wasm) => {\n wasmCache$g = wasm;\n return wasmCache$g.calculate(data, 0x82F63B78);\n });\n }\n try {\n const hash = wasmCache$g.calculate(data, 0x82F63B78);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new CRC-32C hash instance\n */\nfunction createCRC32C() {\n return WASMInterface(wasmJson$f, 4).then((wasm) => {\n wasm.init(0x82F63B78);\n const obj = {\n init: () => { wasm.init(0x82F63B78); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 4,\n digestSize: 4,\n };\n return obj;\n });\n}\n\nvar name$e = \"md4\";\nvar data$e = \"AGFzbQEAAAABEgRgAAF/YAAAYAF/AGACf38BfwMIBwABAgMBAAIEBQFwAQEBBQQBAQICBg4CfwFBoIoFC38AQYAICwdwCAZtZW1vcnkCAA5IYXNoX0dldEJ1ZmZlcgAACUhhc2hfSW5pdAABC0hhc2hfVXBkYXRlAAIKSGFzaF9GaW5hbAAEDUhhc2hfR2V0U3RhdGUABQ5IYXNoX0NhbGN1bGF0ZQAGClNUQVRFX1NJWkUDAQqXEQcFAEGACQstAEEAQv6568XpjpWZEDcCkIkBQQBCgcaUupbx6uZvNwKIiQFBAEIANwKAiQEL6AIBA39BAEEAKAKAiQEiASAAakH/////AXEiAjYCgIkBQQAoAoSJASEDAkAgAiABTw0AQQAgA0EBaiIDNgKEiQELQQAgAyAAQR12ajYChIkBAkACQAJAAkACQAJAIAFBP3EiAw0AQYAJIQIMAQtBwAAgA2siAiAASw0BIANBGGohA0EAIQEDQCADIAFqQYCJAWogAUGACWotAAA6AAAgAyABQQFqIgFqQdgARw0AC0GYiQFBwAAQAxogACACayEAIAJBgAlqIQILIABBwABPDQEgACEDDAILIABFDQJBACEBIANBmIkBakEALQCACToAACAAQQFGDQIgA0GZiQFqIQMgAEF/aiECA0AgAyABaiABQYEJai0AADoAACACIAFBAWoiAUcNAAwDCwsgAEE/cSEDIAIgAEFAcRADIQILIANFDQBBACEBA0AgAUGYiQFqIAIgAWotAAA6AAAgAyABQQFqIgFHDQALCwuYCwEXf0EAKAKUiQEhAkEAKAKQiQEhA0EAKAKMiQEhBEEAKAKIiQEhBQNAIABBHGooAgAiBiAAQRRqKAIAIgcgAEEYaigCACIIIABBEGooAgAiCSAAQSxqKAIAIgogAEEoaigCACILIABBJGooAgAiDCAAQSBqKAIAIg0gCyAIIABBCGooAgAiDiADaiAAQQRqKAIAIg8gAmogBCADIAJzcSACcyAFaiAAKAIAIhBqQQN3IhEgBCADc3EgA3NqQQd3IhIgESAEc3EgBHNqQQt3IhNqIBIgB2ogESAJaiAAQQxqKAIAIhQgBGogEyASIBFzcSARc2pBE3ciESATIBJzcSASc2pBA3ciEiARIBNzcSATc2pBB3ciEyASIBFzcSARc2pBC3ciFWogEyAMaiASIA1qIBEgBmogFSATIBJzcSASc2pBE3ciESAVIBNzcSATc2pBA3ciEiARIBVzcSAVc2pBB3ciEyASIBFzcSARc2pBC3ciFSAAQThqKAIAIhZqIBMgAEE0aigCACIXaiASIABBMGooAgAiGGogESAKaiAVIBMgEnNxIBJzakETdyISIBUgE3NxIBNzakEDdyITIBIgFXNxIBVzakEHdyIVIBMgEnNxIBJzakELdyIRaiAJIBVqIBAgE2ogEiAAQTxqKAIAIglqIBEgFSATc3EgE3NqQRN3IhIgESAVcnEgESAVcXJqQZnzidQFakEDdyITIBIgEXJxIBIgEXFyakGZ84nUBWpBBXciESATIBJycSATIBJxcmpBmfOJ1AVqQQl3IhVqIAcgEWogDyATaiAYIBJqIBUgESATcnEgESATcXJqQZnzidQFakENdyISIBUgEXJxIBUgEXFyakGZ84nUBWpBA3ciESASIBVycSASIBVxcmpBmfOJ1AVqQQV3IhMgESAScnEgESAScXJqQZnzidQFakEJdyIVaiAIIBNqIA4gEWogFyASaiAVIBMgEXJxIBMgEXFyakGZ84nUBWpBDXciESAVIBNycSAVIBNxcmpBmfOJ1AVqQQN3IhIgESAVcnEgESAVcXJqQZnzidQFakEFdyITIBIgEXJxIBIgEXFyakGZ84nUBWpBCXciFWogBiATaiAUIBJqIBYgEWogFSATIBJycSATIBJxcmpBmfOJ1AVqQQ13IhEgFSATcnEgFSATcXJqQZnzidQFakEDdyISIBEgFXJxIBEgFXFyakGZ84nUBWpBBXciEyASIBFycSASIBFxcmpBmfOJ1AVqQQl3IhVqIBAgEmogCSARaiAVIBMgEnJxIBMgEnFyakGZ84nUBWpBDXciBiAVcyISIBNzakGh1+f2BmpBA3ciESAGcyANIBNqIBIgEXNqQaHX5/YGakEJdyISc2pBodfn9gZqQQt3IhNqIA4gEWogEyAScyAYIAZqIBIgEXMgE3NqQaHX5/YGakEPdyIRc2pBodfn9gZqQQN3IhUgEXMgCyASaiARIBNzIBVzakGh1+f2BmpBCXciEnNqQaHX5/YGakELdyITaiAPIBVqIBMgEnMgFiARaiASIBVzIBNzakGh1+f2BmpBD3ciEXNqQaHX5/YGakEDdyIVIBFzIAwgEmogESATcyAVc2pBodfn9gZqQQl3IhJzakGh1+f2BmpBC3ciE2ogFCAVaiATIBJzIBcgEWogEiAVcyATc2pBodfn9gZqQQ93IhFzakGh1+f2BmpBA3ciFSARcyAKIBJqIBEgE3MgFXNqQaHX5/YGakEJdyISc2pBodfn9gZqQQt3IhMgA2ohAyAJIBFqIBIgFXMgE3NqQaHX5/YGakEPdyAEaiEEIBIgAmohAiAVIAVqIQUgAEHAAGohACABQUBqIgENAAtBACACNgKUiQFBACADNgKQiQFBACAENgKMiQFBACAFNgKIiQEgAAuhAgEDf0EAKAKAiQEiAEE/cSIBQZiJAWpBgAE6AAACQAJAAkAgAUE/cyICQQdLDQACQCACRQ0AIAFBmYkBaiEAA0AgAEEAOgAAIABBAWohACACQX9qIgINAAsLQcAAIQJBmIkBQcAAEAMaQQAhAAwBCyACQQhGDQEgAUEBaiEACyAAQY+JAWohAQNAIAEgAmpBADoAACACQXdqIQAgAkF/aiECIABBAEoNAAtBACgCgIkBIQALQQAgAEEVdjoA04kBQQAgAEENdjoA0okBQQAgAEEFdjoA0YkBQQAgAEEDdCICOgDQiQFBACACNgKAiQFBAEEAKAKEiQE2AtSJAUGYiQFBwAAQAxpBAEEAKQKIiQE3A4AJQQBBACkCkIkBNwOICQsGAEGAiQELMwBBAEL+uevF6Y6VmRA3ApCJAUEAQoHGlLqW8ermbzcCiIkBQQBCADcCgIkBIAAQAhAECwsLAQBBgAgLBJgAAAA=\";\nvar hash$e = \"1bf01052\";\nvar wasmJson$e = {\n\tname: name$e,\n\tdata: data$e,\n\thash: hash$e\n};\n\nconst mutex$f = new Mutex();\nlet wasmCache$f = null;\n/**\n * Calculates MD4 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction md4(data) {\n if (wasmCache$f === null) {\n return lockedCreate(mutex$f, wasmJson$e, 16)\n .then((wasm) => {\n wasmCache$f = wasm;\n return wasmCache$f.calculate(data);\n });\n }\n try {\n const hash = wasmCache$f.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new MD4 hash instance\n */\nfunction createMD4() {\n return WASMInterface(wasmJson$e, 16).then((wasm) => {\n wasm.init();\n const obj = {\n init: () => { wasm.init(); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 16,\n };\n return obj;\n });\n}\n\nvar name$d = \"md5\";\nvar data$d = \"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\";\nvar hash$d = \"9b0fac7d\";\nvar wasmJson$d = {\n\tname: name$d,\n\tdata: data$d,\n\thash: hash$d\n};\n\nconst mutex$e = new Mutex();\nlet wasmCache$e = null;\n/**\n * Calculates MD5 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction md5(data) {\n if (wasmCache$e === null) {\n return lockedCreate(mutex$e, wasmJson$d, 16)\n .then((wasm) => {\n wasmCache$e = wasm;\n return wasmCache$e.calculate(data);\n });\n }\n try {\n const hash = wasmCache$e.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new MD5 hash instance\n */\nfunction createMD5() {\n return WASMInterface(wasmJson$d, 16).then((wasm) => {\n wasm.init();\n const obj = {\n init: () => { wasm.init(); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 16,\n };\n return obj;\n });\n}\n\nvar name$c = \"sha1\";\nvar data$c = \"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\";\nvar hash$c = \"40d92e5d\";\nvar wasmJson$c = {\n\tname: name$c,\n\tdata: data$c,\n\thash: hash$c\n};\n\nconst mutex$d = new Mutex();\nlet wasmCache$d = null;\n/**\n * Calculates SHA-1 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction sha1(data) {\n if (wasmCache$d === null) {\n return lockedCreate(mutex$d, wasmJson$c, 20)\n .then((wasm) => {\n wasmCache$d = wasm;\n return wasmCache$d.calculate(data);\n });\n }\n try {\n const hash = wasmCache$d.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new SHA-1 hash instance\n */\nfunction createSHA1() {\n return WASMInterface(wasmJson$c, 20).then((wasm) => {\n wasm.init();\n const obj = {\n init: () => { wasm.init(); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 20,\n };\n return obj;\n });\n}\n\nvar name$b = \"sha3\";\nvar data$b = \"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\";\nvar hash$b = \"ec266d91\";\nvar wasmJson$b = {\n\tname: name$b,\n\tdata: data$b,\n\thash: hash$b\n};\n\nconst mutex$c = new Mutex();\nlet wasmCache$c = null;\nfunction validateBits$1(bits) {\n if (![224, 256, 384, 512].includes(bits)) {\n return new Error('Invalid variant! Valid values: 224, 256, 384, 512');\n }\n return null;\n}\n/**\n * Calculates SHA-3 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param bits Number of output bits. Valid values: 224, 256, 384, 512\n * @returns Computed hash as a hexadecimal string\n */\nfunction sha3(data, bits = 512) {\n if (validateBits$1(bits)) {\n return Promise.reject(validateBits$1(bits));\n }\n const hashLength = bits / 8;\n if (wasmCache$c === null || wasmCache$c.hashLength !== hashLength) {\n return lockedCreate(mutex$c, wasmJson$b, hashLength)\n .then((wasm) => {\n wasmCache$c = wasm;\n return wasmCache$c.calculate(data, bits, 0x06);\n });\n }\n try {\n const hash = wasmCache$c.calculate(data, bits, 0x06);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new SHA-3 hash instance\n * @param bits Number of output bits. Valid values: 224, 256, 384, 512\n */\nfunction createSHA3(bits = 512) {\n if (validateBits$1(bits)) {\n return Promise.reject(validateBits$1(bits));\n }\n const outputSize = bits / 8;\n return WASMInterface(wasmJson$b, outputSize).then((wasm) => {\n wasm.init(bits);\n const obj = {\n init: () => { wasm.init(bits); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType, 0x06),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 200 - 2 * outputSize,\n digestSize: outputSize,\n };\n return obj;\n });\n}\n\nconst mutex$b = new Mutex();\nlet wasmCache$b = null;\nfunction validateBits(bits) {\n if (![224, 256, 384, 512].includes(bits)) {\n return new Error('Invalid variant! Valid values: 224, 256, 384, 512');\n }\n return null;\n}\n/**\n * Calculates Keccak hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param bits Number of output bits. Valid values: 224, 256, 384, 512\n * @returns Computed hash as a hexadecimal string\n */\nfunction keccak(data, bits = 512) {\n if (validateBits(bits)) {\n return Promise.reject(validateBits(bits));\n }\n const hashLength = bits / 8;\n if (wasmCache$b === null || wasmCache$b.hashLength !== hashLength) {\n return lockedCreate(mutex$b, wasmJson$b, hashLength)\n .then((wasm) => {\n wasmCache$b = wasm;\n return wasmCache$b.calculate(data, bits, 0x01);\n });\n }\n try {\n const hash = wasmCache$b.calculate(data, bits, 0x01);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new Keccak hash instance\n * @param bits Number of output bits. Valid values: 224, 256, 384, 512\n */\nfunction createKeccak(bits = 512) {\n if (validateBits(bits)) {\n return Promise.reject(validateBits(bits));\n }\n const outputSize = bits / 8;\n return WASMInterface(wasmJson$b, outputSize).then((wasm) => {\n wasm.init(bits);\n const obj = {\n init: () => { wasm.init(bits); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType, 0x01),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 200 - 2 * outputSize,\n digestSize: outputSize,\n };\n return obj;\n });\n}\n\nvar name$a = \"sha256\";\nvar data$a = \"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\";\nvar hash$a = \"817d957e\";\nvar wasmJson$a = {\n\tname: name$a,\n\tdata: data$a,\n\thash: hash$a\n};\n\nconst mutex$a = new Mutex();\nlet wasmCache$a = null;\n/**\n * Calculates SHA-2 (SHA-224) hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction sha224(data) {\n if (wasmCache$a === null) {\n return lockedCreate(mutex$a, wasmJson$a, 28)\n .then((wasm) => {\n wasmCache$a = wasm;\n return wasmCache$a.calculate(data, 224);\n });\n }\n try {\n const hash = wasmCache$a.calculate(data, 224);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new SHA-2 (SHA-224) hash instance\n */\nfunction createSHA224() {\n return WASMInterface(wasmJson$a, 28).then((wasm) => {\n wasm.init(224);\n const obj = {\n init: () => { wasm.init(224); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 28,\n };\n return obj;\n });\n}\n\nconst mutex$9 = new Mutex();\nlet wasmCache$9 = null;\n/**\n * Calculates SHA-2 (SHA-256) hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction sha256(data) {\n if (wasmCache$9 === null) {\n return lockedCreate(mutex$9, wasmJson$a, 32)\n .then((wasm) => {\n wasmCache$9 = wasm;\n return wasmCache$9.calculate(data, 256);\n });\n }\n try {\n const hash = wasmCache$9.calculate(data, 256);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new SHA-2 (SHA-256) hash instance\n */\nfunction createSHA256() {\n return WASMInterface(wasmJson$a, 32).then((wasm) => {\n wasm.init(256);\n const obj = {\n init: () => { wasm.init(256); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 32,\n };\n return obj;\n });\n}\n\nvar name$9 = \"sha512\";\nvar data$9 = \"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\";\nvar hash$9 = \"a5d1ca7c\";\nvar wasmJson$9 = {\n\tname: name$9,\n\tdata: data$9,\n\thash: hash$9\n};\n\nconst mutex$8 = new Mutex();\nlet wasmCache$8 = null;\n/**\n * Calculates SHA-2 (SHA-384) hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction sha384(data) {\n if (wasmCache$8 === null) {\n return lockedCreate(mutex$8, wasmJson$9, 48)\n .then((wasm) => {\n wasmCache$8 = wasm;\n return wasmCache$8.calculate(data, 384);\n });\n }\n try {\n const hash = wasmCache$8.calculate(data, 384);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new SHA-2 (SHA-384) hash instance\n */\nfunction createSHA384() {\n return WASMInterface(wasmJson$9, 48).then((wasm) => {\n wasm.init(384);\n const obj = {\n init: () => { wasm.init(384); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 128,\n digestSize: 48,\n };\n return obj;\n });\n}\n\nconst mutex$7 = new Mutex();\nlet wasmCache$7 = null;\n/**\n * Calculates SHA-2 (SHA-512) hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction sha512(data) {\n if (wasmCache$7 === null) {\n return lockedCreate(mutex$7, wasmJson$9, 64)\n .then((wasm) => {\n wasmCache$7 = wasm;\n return wasmCache$7.calculate(data, 512);\n });\n }\n try {\n const hash = wasmCache$7.calculate(data, 512);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new SHA-2 (SHA-512) hash instance\n */\nfunction createSHA512() {\n return WASMInterface(wasmJson$9, 64).then((wasm) => {\n wasm.init(512);\n const obj = {\n init: () => { wasm.init(512); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 128,\n digestSize: 64,\n };\n return obj;\n });\n}\n\nvar name$8 = \"xxhash32\";\nvar data$8 = \"AGFzbQEAAAABEQRgAAF/YAF/AGAAAGACf38AAwcGAAEBAgADBAUBcAEBAQUEAQECAgYOAn8BQbCJBQt/AEGACAsHcAgGbWVtb3J5AgAOSGFzaF9HZXRCdWZmZXIAAAlIYXNoX0luaXQAAQtIYXNoX1VwZGF0ZQACCkhhc2hfRmluYWwAAw1IYXNoX0dldFN0YXRlAAQOSGFzaF9DYWxjdWxhdGUABQpTVEFURV9TSVpFAwEKswkGBQBBgAkLTQBBAEIANwOoiQFBACAANgKIiQFBACAAQc+Moo4GajYCjIkBQQAgAEH3lK+veGo2AoSJAUEAIABBqIiNoQJqNgKAiQFBAEEANgKgiQELswUBBn8CQCAARQ0AQQBBACkDqIkBIACtfDcDqIkBAkBBACgCoIkBIgEgAGpBD0sNAEEAIAFBAWo2AqCJASABQZCJAWpBAC0AgAk6AAAgAEEBRg0BQQEhAgNAQQBBACgCoIkBIgFBAWo2AqCJASABQZCJAWogAkGACWotAAA6AAAgACACQQFqIgJHDQAMAgsLIABB8AhqIQMCQAJAIAENAEEAKAKMiQEhAUEAKAKIiQEhBEEAKAKEiQEhBUEAKAKAiQEhBkGACSECDAELQYAJIQICQCABQQ9LDQBBgAkhAgNAIAItAAAhBEEAIAFBAWo2AqCJASABQZCJAWogBDoAACACQQFqIQJBACgCoIkBIgFBEEkNAAsLQQBBACgCkIkBQfeUr694bEEAKAKAiQFqQQ13QbHz3fF5bCIGNgKAiQFBAEEAKAKUiQFB95Svr3hsQQAoAoSJAWpBDXdBsfPd8XlsIgU2AoSJAUEAQQAoApiJAUH3lK+veGxBACgCiIkBakENd0Gx893xeWwiBDYCiIkBQQBBACgCnIkBQfeUr694bEEAKAKMiQFqQQ13QbHz3fF5bCIBNgKMiQELIABBgAlqIQACQCACIANLDQADQCACKAIAQfeUr694bCAGakENd0Gx893xeWwhBiACQQxqKAIAQfeUr694bCABakENd0Gx893xeWwhASACQQhqKAIAQfeUr694bCAEakENd0Gx893xeWwhBCACQQRqKAIAQfeUr694bCAFakENd0Gx893xeWwhBSACQRBqIgIgA00NAAsLQQAgATYCjIkBQQAgBDYCiIkBQQAgBTYChIkBQQAgBjYCgIkBQQAgACACayIBNgKgiQEgAUUNAEEAIQEDQCABQZCJAWogAiABai0AADoAACABQQFqIgFBACgCoIkBSQ0ACwsLzAICAX4Gf0EAKQOoiQEiAKchAQJAAkAgAEIQVA0AQQAoAoSJAUEHd0EAKAKAiQFBAXdqQQAoAoiJAUEMd2pBACgCjIkBQRJ3aiECDAELQQAoAoiJAUGxz9myAWohAgsgAiABaiECQZCJASEBQQAoAqCJASIDQZCJAWohBAJAIANBBEgNAEGQiQEhBQNAIAUoAgBBvdzKlXxsIAJqQRF3Qa/W074CbCECIAVBCGohBiAFQQRqIgEhBSAGIARNDQALCwJAIAEgBEYNACADQZCJAWohBQNAIAEtAABBsc/ZsgFsIAJqQQt3QbHz3fF5bCECIAUgAUEBaiIBRw0ACwtBACACQQ92IAJzQfeUr694bCIBQQ12IAFzQb3cypV8bCIBQRB2IAFzIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycq03A4AJCwYAQYCJAQtTAEEAQgA3A6iJAUEAIAE2AoiJAUEAIAFBz4yijgZqNgKMiQFBACABQfeUr694ajYChIkBQQAgAUGoiI2hAmo2AoCJAUEAQQA2AqCJASAAEAIQAwsLCwEAQYAICwQwAAAA\";\nvar hash$8 = \"5b6a5062\";\nvar wasmJson$8 = {\n\tname: name$8,\n\tdata: data$8,\n\thash: hash$8\n};\n\nconst mutex$6 = new Mutex();\nlet wasmCache$6 = null;\nfunction validateSeed$3(seed) {\n if (!Number.isInteger(seed) || seed < 0 || seed > 0xFFFFFFFF) {\n return new Error('Seed must be a valid 32-bit long unsigned integer.');\n }\n return null;\n}\n/**\n * Calculates xxHash32 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param seed Number used to initialize the internal state of the algorithm (defaults to 0)\n * @returns Computed hash as a hexadecimal string\n */\nfunction xxhash32(data, seed = 0) {\n if (validateSeed$3(seed)) {\n return Promise.reject(validateSeed$3(seed));\n }\n if (wasmCache$6 === null) {\n return lockedCreate(mutex$6, wasmJson$8, 4)\n .then((wasm) => {\n wasmCache$6 = wasm;\n return wasmCache$6.calculate(data, seed);\n });\n }\n try {\n const hash = wasmCache$6.calculate(data, seed);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new xxHash32 hash instance\n * @param data Input data (string, Buffer or TypedArray)\n * @param seed Number used to initialize the internal state of the algorithm (defaults to 0)\n */\nfunction createXXHash32(seed = 0) {\n if (validateSeed$3(seed)) {\n return Promise.reject(validateSeed$3(seed));\n }\n return WASMInterface(wasmJson$8, 4).then((wasm) => {\n wasm.init(seed);\n const obj = {\n init: () => { wasm.init(seed); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 16,\n digestSize: 4,\n };\n return obj;\n });\n}\n\nvar name$7 = \"xxhash64\";\nvar data$7 = \"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\";\nvar hash$7 = \"bc315b2a\";\nvar wasmJson$7 = {\n\tname: name$7,\n\tdata: data$7,\n\thash: hash$7\n};\n\nconst mutex$5 = new Mutex();\nlet wasmCache$5 = null;\nconst seedBuffer$2 = new ArrayBuffer(8);\nfunction validateSeed$2(seed) {\n if (!Number.isInteger(seed) || seed < 0 || seed > 0xFFFFFFFF) {\n return new Error('Seed must be given as two valid 32-bit long unsigned integers (lo + high).');\n }\n return null;\n}\nfunction writeSeed$2(arr, low, high) {\n // write in little-endian format\n const buffer = new DataView(arr);\n buffer.setUint32(0, low, true);\n buffer.setUint32(4, high, true);\n}\n/**\n * Calculates xxHash64 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param seedLow Lower 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @param seedHigh Higher 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @returns Computed hash as a hexadecimal string\n */\nfunction xxhash64(data, seedLow = 0, seedHigh = 0) {\n if (validateSeed$2(seedLow)) {\n return Promise.reject(validateSeed$2(seedLow));\n }\n if (validateSeed$2(seedHigh)) {\n return Promise.reject(validateSeed$2(seedHigh));\n }\n if (wasmCache$5 === null) {\n return lockedCreate(mutex$5, wasmJson$7, 8)\n .then((wasm) => {\n wasmCache$5 = wasm;\n writeSeed$2(seedBuffer$2, seedLow, seedHigh);\n wasmCache$5.writeMemory(new Uint8Array(seedBuffer$2));\n return wasmCache$5.calculate(data);\n });\n }\n try {\n writeSeed$2(seedBuffer$2, seedLow, seedHigh);\n wasmCache$5.writeMemory(new Uint8Array(seedBuffer$2));\n const hash = wasmCache$5.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new xxHash64 hash instance\n * @param seedLow Lower 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @param seedHigh Higher 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n */\nfunction createXXHash64(seedLow = 0, seedHigh = 0) {\n if (validateSeed$2(seedLow)) {\n return Promise.reject(validateSeed$2(seedLow));\n }\n if (validateSeed$2(seedHigh)) {\n return Promise.reject(validateSeed$2(seedHigh));\n }\n return WASMInterface(wasmJson$7, 8).then((wasm) => {\n const instanceBuffer = new ArrayBuffer(8);\n writeSeed$2(instanceBuffer, seedLow, seedHigh);\n wasm.writeMemory(new Uint8Array(instanceBuffer));\n wasm.init();\n const obj = {\n init: () => {\n wasm.writeMemory(new Uint8Array(instanceBuffer));\n wasm.init();\n return obj;\n },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 32,\n digestSize: 8,\n };\n return obj;\n });\n}\n\nvar name$6 = \"xxhash3\";\nvar data$6 = \"AGFzbQEAAAABJAZgAAF/YAR/f39/AGAHf39/f39/fwBgA39/fgF+YAAAYAF/AAMMCwABAgMDAwQFBAAEBAUBcAEBAQUEAQECAgYOAn8BQcCOBQt/AEHACQsHcAgGbWVtb3J5AgAOSGFzaF9HZXRCdWZmZXIAAAlIYXNoX0luaXQABgtIYXNoX1VwZGF0ZQAHCkhhc2hfRmluYWwACA1IYXNoX0dldFN0YXRlAAkOSGFzaF9DYWxjdWxhdGUACgpTVEFURV9TSVpFAwEK+joLBQBBgAoL7wMBEH4CQCADRQ0AIAFBOGohASACQThqIQIgACkDMCEEIAApAzghBSAAKQMgIQYgACkDKCEHIAApAxAhCCAAKQMYIQkgACkDACEKIAApAwghCwNAIAcgAUFoaikDACIMfCACQXBqKQMAIAFBcGopAwAiDYUiB0IgiCAHQv////8Pg358IQcgCSABQVhqKQMAIg58IAJBYGopAwAgAUFgaikDACIPhSIJQiCIIAlC/////w+DfnwhCSALIAFBSGopAwAiEHwgAkFQaikDACABQVBqKQMAIhGFIgtCIIggC0L/////D4N+fCELIAJBeGopAwAgAUF4aikDACIShSITQiCIIBNC/////w+DfiAEfCABKQMAIhN8IQQgAkFoaikDACAMhSIMQiCIIAxC/////w+DfiAGfCANfCEGIAJBWGopAwAgDoUiDEIgiCAMQv////8Pg34gCHwgD3whCCACQUhqKQMAIBCFIgxCIIggDEL/////D4N+IAp8IBF8IQogBSASfCACKQMAIBOFIgVCIIggBUL/////D4N+fCEFIAFBwABqIQEgAkEIaiECIANBf2oiAw0ACyAAIAk3AxggACAKNwMAIAAgCzcDCCAAIAc3AyggACAINwMQIAAgBTcDOCAAIAY3AyAgACAENwMwCwveAgIBfwF+AkAgAiABKAIAIgdrIgIgBEsNACAAIAMgBSAHQQN0aiACEAEgACAAKQMAIgggBSAGaiIHKQMAhSAIQi+IhUKx893xCX43AwAgACAAKQMIIgggBykDCIUgCEIviIVCsfPd8Ql+NwMIIAAgACkDECIIIAcpAxCFIAhCL4iFQrHz3fEJfjcDECAAIAApAxgiCCAHKQMYhSAIQi+IhUKx893xCX43AxggACAAKQMgIgggBykDIIUgCEIviIVCsfPd8Ql+NwMgIAAgACkDKCIIIAcpAyiFIAhCL4iFQrHz3fEJfjcDKCAAIAApAzAiCCAHKQMwhSAIQi+IhUKx893xCX43AzAgACAAKQM4IgggBykDOIUgCEIviIVCsfPd8Ql+NwM4IAAgAyACQQZ0aiAFIAQgAmsiBxABIAEgBzYCAA8LIAAgAyAFIAdBA3RqIAQQASABIAcgBGo2AgAL3QQBBH4CQCAAQQlJDQBBACkDgIwBIAEpAyAgASkDGIUgAnyFIgNCOIYgA0IohkKAgICAgIDA/wCDhCADQhiGQoCAgICA4D+DIANCCIZCgICAgPAfg4SEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISEIACtfCAAQfiLAWopAwAgASkDMCABKQMohSACfYUiAnwgAkL/////D4MiBCADQiCIIgV+IgZC/////w+DIAJCIIgiAiADQv////8PgyIDfnwgBCADfiIDQiCIfCIEQiCGIANC/////w+DhCAGQiCIIAIgBX58IARCIIh8hXwiA0IliCADhUL5893xmfKZqxZ+IgNCIIggA4UPCwJAIABBBEkNACABKQMQIAEpAwiFIAKnIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycq1CIIYgAoV9QQA1AoCMAUIghiAAQfyLAWo1AgCEhSIDQhiJIAOFIANCMYmFQqW+4/TRjIfZn39+IgNCI4ggAK18IAOFQqW+4/TRjIfZn39+IgNCHIggA4UPCwJAIABFDQAgASgCBCABKAIAc60gAnwiA0EALQCAjAFBEHQgAEEIdHIgAEEBdkGAjAFqLQAAQRh0ciAAQf+LAWotAAByrYUgA0IhiIVCz9bTvtLHq9lCfiIDQh2IIAOFQvnz3fGZ9pmrFn4iA0IgiCADhQ8LIAEpAzggAoUgASkDQIUiA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC94IAQZ+IACtQoeVr6+Ytt6bnn9+IQMCQCAAQSFJDQACQCAAQcEASQ0AAkAgAEHhAEkNACABKQNoIAJ9QQApA7iMAYUiBEL/////D4MiBSABKQNgIAJ8QQApA7CMAYUiBkIgiCIHfiIIQv////8PgyAEQiCIIgQgBkL/////D4MiBn58IAUgBn4iBUIgiHwiBkIghiAFQv////8Pg4QgCEIgiCAEIAd+fCAGQiCIfIUgA3wgASkDeCACfSAAQciLAWopAwCFIgNC/////w+DIgQgASkDcCACfCAAQcCLAWopAwCFIgVCIIgiBn4iB0L/////D4MgA0IgiCIDIAVC/////w+DIgV+fCAEIAV+IgRCIIh8IgVCIIYgBEL/////D4OEIAdCIIggAyAGfnwgBUIgiHyFfCEDCyABKQNIIAJ9QQApA6iMAYUiBEL/////D4MiBSABKQNAIAJ8QQApA6CMAYUiBkIgiCIHfiIIQv////8PgyAEQiCIIgQgBkL/////D4MiBn58IAUgBn4iBUIgiHwiBkIghiAFQv////8Pg4QgCEIgiCAEIAd+fCAGQiCIfIUgA3wgASkDWCACfSAAQdiLAWopAwCFIgNC/////w+DIgQgASkDUCACfCAAQdCLAWopAwCFIgVCIIgiBn4iB0L/////D4MgA0IgiCIDIAVC/////w+DIgV+fCAEIAV+IgRCIIh8IgVCIIYgBEL/////D4OEIAdCIIggAyAGfnwgBUIgiHyFfCEDCyABKQMoIAJ9QQApA5iMAYUiBEL/////D4MiBSABKQMgIAJ8QQApA5CMAYUiBkIgiCIHfiIIQv////8PgyAEQiCIIgQgBkL/////D4MiBn58IAUgBn4iBUIgiHwiBkIghiAFQv////8Pg4QgCEIgiCAEIAd+fCAGQiCIfIUgA3wgASkDOCACfSAAQeiLAWopAwCFIgNC/////w+DIgQgASkDMCACfCAAQeCLAWopAwCFIgVCIIgiBn4iB0L/////D4MgA0IgiCIDIAVC/////w+DIgV+fCAEIAV+IgRCIIh8IgVCIIYgBEL/////D4OEIAdCIIggAyAGfnwgBUIgiHyFfCEDCyABKQMIIAJ9QQApA4iMAYUiBEL/////D4MiBSABKQMAIAJ8QQApA4CMAYUiBkIgiCIHfiIIQv////8PgyAEQiCIIgQgBkL/////D4MiBn58IAUgBn4iBUIgiHwiBkIghiAFQv////8Pg4QgCEIgiCAEIAd+fCAGQiCIfIUgA3wgASkDGCACfSAAQfiLAWopAwCFIgNC/////w+DIgQgASkDECACfCAAQfCLAWopAwCFIgJCIIgiBX4iBkL/////D4MgA0IgiCIDIAJC/////w+DIgJ+fCAEIAJ+IgJCIIh8IgRCIIYgAkL/////D4OEIAZCIIggAyAFfnwgBEIgiHyFfCICQiWIIAKFQvnz3fGZ8pmrFn4iAkIgiCAChQuICwQBfwV+An8BfkEAIQMgASkDeCACfUEAKQP4jAGFIgRC/////w+DIgUgASkDcCACfEEAKQPwjAGFIgZCIIgiB34iCEL/////D4MgBEIgiCIEIAZC/////w+DIgZ+fCAFIAZ+IgVCIIh8IgZCIIYgBUL/////D4OEIAhCIIggBCAHfnwgBkIgiHyFIAEpA2ggAn1BACkD6IwBhSIEQv////8PgyIFIAEpA2AgAnxBACkD4IwBhSIGQiCIIgd+IghC/////w+DIARCIIgiBCAGQv////8PgyIGfnwgBSAGfiIFQiCIfCIGQiCGIAVC/////w+DhCAIQiCIIAQgB358IAZCIIh8hSABKQNYIAJ9QQApA9iMAYUiBEL/////D4MiBSABKQNQIAJ8QQApA9CMAYUiBkIgiCIHfiIIQv////8PgyAEQiCIIgQgBkL/////D4MiBn58IAUgBn4iBUIgiHwiBkIghiAFQv////8Pg4QgCEIgiCAEIAd+fCAGQiCIfIUgASkDSCACfUEAKQPIjAGFIgRC/////w+DIgUgASkDQCACfEEAKQPAjAGFIgZCIIgiB34iCEL/////D4MgBEIgiCIEIAZC/////w+DIgZ+fCAFIAZ+IgVCIIh8IgZCIIYgBUL/////D4OEIAhCIIggBCAHfnwgBkIgiHyFIAEpAzggAn1BACkDuIwBhSIEQv////8PgyIFIAEpAzAgAnxBACkDsIwBhSIGQiCIIgd+IghC/////w+DIARCIIgiBCAGQv////8PgyIGfnwgBSAGfiIFQiCIfCIGQiCGIAVC/////w+DhCAIQiCIIAQgB358IAZCIIh8hSABKQMoIAJ9QQApA6iMAYUiBEL/////D4MiBSABKQMgIAJ8QQApA6CMAYUiBkIgiCIHfiIIQv////8PgyAEQiCIIgQgBkL/////D4MiBn58IAUgBn4iBUIgiHwiBkIghiAFQv////8Pg4QgCEIgiCAEIAd+fCAGQiCIfIUgASkDGCACfUEAKQOYjAGFIgRC/////w+DIgUgASkDECACfEEAKQOQjAGFIgZCIIgiB34iCEL/////D4MgBEIgiCIEIAZC/////w+DIgZ+fCAFIAZ+IgVCIIh8IgZCIIYgBUL/////D4OEIAhCIIggBCAHfnwgBkIgiHyFIAEpAwggAn1BACkDiIwBhSIEQv////8PgyIFIAEpAwAgAnxBACkDgIwBhSIGQiCIIgd+IghC/////w+DIARCIIgiBCAGQv////8PgyIGfnwgBSAGfiIFQiCIfCIGQiCGIAVC/////w+DhCAIQiCIIAQgB358IAZCIIh8hSAArUKHla+vmLbem55/fnx8fHx8fHx8IgRCJYggBIVC+fPd8ZnymasWfiIEQiCIIASFIQQgAEEQbSEJAkAgAEGQAUgNACAJQQkgCUEJShtBeGohCQNAIAEgA2oiCkELaikDACACfSADQYiNAWopAwCFIgVC/////w+DIgYgCkEDaikDACACfCADQYCNAWopAwCFIgdCIIgiCH4iC0L/////D4MgBUIgiCIFIAdC/////w+DIgd+fCAGIAd+IgZCIIh8IgdCIIYgBkL/////D4OEIAtCIIggBSAIfnwgB0IgiHyFIAR8IQQgA0EQaiEDIAlBf2oiCQ0ACwsgASkDfyACfSAAQfiLAWopAwCFIgVC/////w+DIgYgASkDdyACfCAAQfCLAWopAwCFIgJCIIgiB34iCEL/////D4MgBUIgiCIFIAJC/////w+DIgJ+fCAGIAJ+IgJCIIh8IgZCIIYgAkL/////D4OEIAhCIIggBSAHfnwgBkIgiHyFIAR8IgJCJYggAoVC+fPd8ZnymasWfiICQiCIIAKFC98FAgF+AX8CQAJAQQApA4AKIgBQRQ0AQYAIIQFCACEADAELAkBBACkDoI4BIABSDQBBACEBDAELQQAhAUEAQq+v79e895Kg/gAgAH03A/iLAUEAIABCxZbr+djShYIofDcD8IsBQQBCj/Hjja2P9JhOIAB9NwPoiwFBACAAQqus+MXV79HQfHw3A+CLAUEAQtOt1LKShbW0nn8gAH03A9iLAUEAIABCl5r0jvWWvO3JAHw3A9CLAUEAQsWDgv2v/8SxayAAfTcDyIsBQQAgAELqi7OdyOb09UN8NwPAiwFBAELIv/rLnJveueQAIAB9NwO4iwFBACAAQoqjgd/Ume2sMXw3A7CLAUEAQvm57738+MKnHSAAfTcDqIsBQQAgAEKo9dv7s5ynmj98NwOgiwFBAEK4sry3lNW31lggAH03A5iLAUEAIABC8cihuqm0w/zOAHw3A5CLAUEAQoihl9u445SXo38gAH03A4iLAUEAIABCvNDI2pvysIBLfDcDgIsBQQBC4OvAtJ7QjpPMACAAfTcD+IoBQQAgAEK4kZii9/6Qko5/fDcD8IoBQQBCgrXB7sf5v7khIAB9NwPoigFBACAAQsvzmffEmfDy+AB8NwPgigFBAELygJGl+vbssx8gAH03A9iKAUEAIABC3qm3y76Q5MtbfDcD0IoBQQBC/IKE5PK+yNYcIAB9NwPIigFBACAAQrj9s8uzhOmlvn98NwPAigELQQBCADcDkI4BQQBCADcDiI4BQQBCADcDgI4BQQAgATYCsI4BQQAgADcDoI4BQQBCsfPd8Qk3A7iKAUEAQsXP2bLx5brqJzcDsIoBQQBC95Svrwg3A6iKAUEAQuPcypX8zvL1hX83A6CKAUEAQvnz3fGZ9pmrFjcDmIoBQQBCz9bTvtLHq9lCNwOQigFBAEKHla+vmLbem55/NwOIigFBAEK93MqVDDcDgIoBQQBCkICAgIAQNwOYjgELwAUBBX9BAEEAKQOQjgEgAK18NwOQjgECQAJAQQAoAoCOASIBIABqIgJBgAJLDQAgAUGAjAFqIQNBgAohBAJAAkAgAEEITw0AIAAhAQwBCyAAIQEDQCADIAQpAwA3AwAgA0EIaiEDIARBCGohBCABQXhqIgFBB0sNAAsLIAFFDQEDQCADIAQtAAA6AAAgA0EBaiEDIARBAWohBCABQX9qIgENAAtBACgCgI4BIABqIQIMAQtBgAohAyAAQYAKaiECQQAoArCOASIEQcCKASAEGyEAAkAgAUUNACABQYCMAWohA0GACiEEAkACQEGAAiABayIFQQhPDQAgBSEBDAELIAUhAQNAIAMgBCkDADcDACADQQhqIQMgBEEIaiEEIAFBeGoiAUEHSw0ACwsCQCABRQ0AA0AgAyAELQAAOgAAIANBAWohAyAEQQFqIQQgAUF/aiIBDQALC0GAigFBiI4BQQAoApiOAUGAjAFBBCAAQQAoApyOARACQQBBADYCgI4BIAVBgApqIQMLAkAgA0GAAmogAk8NACACQYB+aiEEA0BBgIoBQYiOAUEAKAKYjgEgA0EEIABBACgCnI4BEAIgA0GAAmoiAyAESQ0AC0EAIANBQGopAwA3A8CNAUEAIANBSGopAwA3A8iNAUEAIANBUGopAwA3A9CNAUEAIANBWGopAwA3A9iNAUEAIANBYGopAwA3A+CNAUEAIANBaGopAwA3A+iNAUEAIANBcGopAwA3A/CNAUEAIANBeGopAwA3A/iNAQtBgIwBIQQCQAJAIAIgA2siAkEITw0AIAIhAQwBCyACIQEDQCAEIAMpAwA3AwAgBEEIaiEEIANBCGohAyABQXhqIgFBB0sNAAsLIAFFDQADQCAEIAMtAAA6AAAgBEEBaiEEIANBAWohAyABQX9qIgENAAsLQQAgAjYCgI4BC6oQBQR/AX4Cfwp+An8jACIAIQEgAEGAAWtBQHEiAiQAQQAoArCOASIAQcCKASAAGyEDAkACQEEAKQOQjgEiBELxAVQNACACQQApA4CKATcDACACQQApA4iKATcDCCACQQApA5CKATcDECACQQApA5iKATcDGCACQQApA6CKATcDICACQQApA6iKATcDKCACQQApA7CKATcDMCACQQApA7iKATcDOAJAAkBBACgCgI4BIgVBwABJDQAgAkEAKAKIjgE2AkAgAiACQcAAakEAKAKYjgFBgIwBIAVBf2pBBnYgA0EAKAKcjgEQAiACIAIpAwhBACgCgI4BIgBBwIsBaikDACIEfCADQQAoApyOAWoiBkEBaikDACAAQciLAWopAwAiB4UiCEIgiCAIQv////8Pg358Igk3AwggAiACKQMYIABB0IsBaikDACIIfCAGQRFqKQMAIABB2IsBaikDACIKhSILQiCIIAtC/////w+DfnwiDDcDGCACIAcgBCAGQXlqKQMAhSIEQiCIIARC/////w+DfiACKQMAfHwiDTcDACACIAogCCAGQQlqKQMAhSIEQiCIIARC/////w+DfiACKQMQfHwiDjcDECAGQRlqKQMAIQQgAikDICEHIAIgAikDKCAAQeCLAWopAwAiCHwgBkEhaikDACAAQeiLAWopAwAiCoUiC0IgiCALQv////8Pg358Ig83AyggAiAKIAcgBCAIhSIEQiCIIARC/////w+Dfnx8IhA3AyAgAiACKQM4IABB8IsBaikDACIEfCAGQTFqKQMAIABB+IsBaikDACIHhSIIQiCIIAhC/////w+Dfnw3AzggByAEIAZBKWopAwCFIgRCIIggBEL/////D4N+IAIpAzB8fCEEDAELQcAAIAVrIRECQAJAAkAgBUE4TQ0AQYCOASARayEGIAJBwABqIQUgESEADAELQQAhEiARIQADQCACQcAAaiASaiAFIBJqQcCNAWopAwA3AwAgEkEIaiESIABBeGoiAEEHSw0ACyAFIBJqIgZBwABGDQEgBkHAjQFqIQYgAkHAAGogEmohBQsDQCAFIAYtAAA6AAAgBUEBaiEFIAZBAWohBiAAQX9qIgANAAtBACgCgI4BIQULIAJBwABqIBFqIQZBgIwBIQACQCAFQQhJDQBBgIwBIQADQCAGIAApAwA3AwAgBkEIaiEGIABBCGohACAFQXhqIgVBB0sNAAsLAkAgBUUNAANAIAYgAC0AADoAACAGQQFqIQYgAEEBaiEAIAVBf2oiBQ0ACwsgAiACKQMIIAIpA0AiBHwgA0EAKAKcjgFqIgBBAWopAwAgAikDSCIHhSIIQiCIIAhC/////w+DfnwiCTcDCCACIAIpAxggAikDUCIIfCAAQRFqKQMAIAIpA1giCoUiC0IgiCALQv////8Pg358Igw3AxggAiAHIAQgAEF5aikDAIUiBEIgiCAEQv////8Pg34gAikDAHx8Ig03AwAgAiAKIAggAEEJaikDAIUiBEIgiCAEQv////8Pg34gAikDEHx8Ig43AxAgAEEZaikDACEEIAIpAyAhByACIAIpAyggAikDYCIIfCAAQSFqKQMAIAIpA2giCoUiC0IgiCALQv////8Pg358Ig83AyggAiAKIAcgBCAIhSIEQiCIIARC/////w+Dfnx8IhA3AyAgAiACKQM4IAIpA3AiBHwgAEExaikDACACKQN4IgeFIghCIIggCEL/////D4N+fDcDOCAHIAQgAEEpaikDAIUiBEIgiCAEQv////8Pg34gAikDMHx8IQQLIAIgBDcDMCADKQNDIAIpAziFIgdC/////w+DIgggAykDOyAEhSIEQiCIIgp+IgtC/////w+DIAdCIIgiByAEQv////8PgyIEfnwgCCAEfiIEQiCIfCIIQiCGIARC/////w+DhCALQiCIIAcgCn58IAhCIIh8hSADKQMzIA+FIgRC/////w+DIgcgAykDKyAQhSIIQiCIIgp+IgtC/////w+DIARCIIgiBCAIQv////8PgyIIfnwgByAIfiIHQiCIfCIIQiCGIAdC/////w+DhCALQiCIIAQgCn58IAhCIIh8hSADKQMjIAyFIgRC/////w+DIgcgAykDGyAOhSIIQiCIIgp+IgtC/////w+DIARCIIgiBCAIQv////8PgyIIfnwgByAIfiIHQiCIfCIIQiCGIAdC/////w+DhCALQiCIIAQgCn58IAhCIIh8hSADKQMTIAmFIgRC/////w+DIgcgAykDCyANhSIIQiCIIgp+IgtC/////w+DIARCIIgiBCAIQv////8PgyIIfnwgByAIfiIHQiCIfCIIQiCGIAdC/////w+DhCALQiCIIAQgCn58IAhCIIh8hUEAKQOQjgFCh5Wvr5i23puef358fHx8IgRCJYggBIVC+fPd8ZnymasWfiIEQiCIIASFIQQMAQsgBKchAAJAQQApA6COASIEUA0AAkAgAEEQSw0AIABBgAggBBADIQQMAgsCQCAAQYABSw0AIABBgAggBBAEIQQMAgsgAEGACCAEEAUhBAwBCwJAIABBEEsNACAAIANCABADIQQMAQsCQCAAQYABSw0AIAAgA0IAEAQhBAwBCyAAIANCABAFIQQLQQAgBEI4hiAEQiiGQoCAgICAgMD/AIOEIARCGIZCgICAgIDgP4MgBEIIhkKAgICA8B+DhIQgBEIIiEKAgID4D4MgBEIYiEKAgPwHg4QgBEIoiEKA/gODIARCOIiEhIQ3A4AKIAEkAAsGAEGAigELAgALC8wBAQBBgAgLxAG4/mw5I6RLvnwBgSz3Ia0c3tRt6YOQl9tyQKSkt7NnH8t55k7MwOV4glrQfcz/ciG4CEZ090MkjuA1kOaBOiZMPChSu5HDAMuI0GWLG1Muo3FkSJeiDflOOBnvRqnerNio+nY/45w0P/ncu8fHC08dilHgS820WTHIn37J2XhzZOrFrIM00+vDxYGg//oTY+sXDd1Rt/DaSdMWVSYp1GieKxa+WH1HofyP+LjRetAxzkXLOo+VFgQor9f7yrtLQH5AAgAA\";\nvar hash$6 = \"187bc2c6\";\nvar wasmJson$6 = {\n\tname: name$6,\n\tdata: data$6,\n\thash: hash$6\n};\n\nconst mutex$4 = new Mutex();\nlet wasmCache$4 = null;\nconst seedBuffer$1 = new ArrayBuffer(8);\nfunction validateSeed$1(seed) {\n if (!Number.isInteger(seed) || seed < 0 || seed > 0xFFFFFFFF) {\n return new Error('Seed must be given as two valid 32-bit long unsigned integers (lo + high).');\n }\n return null;\n}\nfunction writeSeed$1(arr, low, high) {\n // write in little-endian format\n const buffer = new DataView(arr);\n buffer.setUint32(0, low, true);\n buffer.setUint32(4, high, true);\n}\n/**\n * Calculates xxHash3 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param seedLow Lower 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @param seedHigh Higher 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @returns Computed hash as a hexadecimal string\n */\nfunction xxhash3(data, seedLow = 0, seedHigh = 0) {\n if (validateSeed$1(seedLow)) {\n return Promise.reject(validateSeed$1(seedLow));\n }\n if (validateSeed$1(seedHigh)) {\n return Promise.reject(validateSeed$1(seedHigh));\n }\n if (wasmCache$4 === null) {\n return lockedCreate(mutex$4, wasmJson$6, 8)\n .then((wasm) => {\n wasmCache$4 = wasm;\n writeSeed$1(seedBuffer$1, seedLow, seedHigh);\n wasmCache$4.writeMemory(new Uint8Array(seedBuffer$1));\n return wasmCache$4.calculate(data);\n });\n }\n try {\n writeSeed$1(seedBuffer$1, seedLow, seedHigh);\n wasmCache$4.writeMemory(new Uint8Array(seedBuffer$1));\n const hash = wasmCache$4.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new xxHash3 hash instance\n * @param seedLow Lower 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @param seedHigh Higher 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n */\nfunction createXXHash3(seedLow = 0, seedHigh = 0) {\n if (validateSeed$1(seedLow)) {\n return Promise.reject(validateSeed$1(seedLow));\n }\n if (validateSeed$1(seedHigh)) {\n return Promise.reject(validateSeed$1(seedHigh));\n }\n return WASMInterface(wasmJson$6, 8).then((wasm) => {\n const instanceBuffer = new ArrayBuffer(8);\n writeSeed$1(instanceBuffer, seedLow, seedHigh);\n wasm.writeMemory(new Uint8Array(instanceBuffer));\n wasm.init();\n const obj = {\n init: () => {\n wasm.writeMemory(new Uint8Array(instanceBuffer));\n wasm.init();\n return obj;\n },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 512,\n digestSize: 8,\n };\n return obj;\n });\n}\n\nvar name$5 = \"xxhash128\";\nvar data$5 = \"AGFzbQEAAAABKwdgAAF/YAR/f39/AGAHf39/f39/fwBgA39/fgF+YAR/f39+AGAAAGABfwADDQwAAQIDBAQEBQYFAAUEBQFwAQEBBQQBAQICBg4CfwFBwI4FC38AQcAJCwdwCAZtZW1vcnkCAA5IYXNoX0dldEJ1ZmZlcgAACUhhc2hfSW5pdAAHC0hhc2hfVXBkYXRlAAgKSGFzaF9GaW5hbAAJDUhhc2hfR2V0U3RhdGUACg5IYXNoX0NhbGN1bGF0ZQALClNUQVRFX1NJWkUDAQrKRgwFAEGACgvvAwEQfgJAIANFDQAgAUE4aiEBIAJBOGohAiAAKQMwIQQgACkDOCEFIAApAyAhBiAAKQMoIQcgACkDECEIIAApAxghCSAAKQMAIQogACkDCCELA0AgByABQWhqKQMAIgx8IAJBcGopAwAgAUFwaikDACINhSIHQiCIIAdC/////w+DfnwhByAJIAFBWGopAwAiDnwgAkFgaikDACABQWBqKQMAIg+FIglCIIggCUL/////D4N+fCEJIAsgAUFIaikDACIQfCACQVBqKQMAIAFBUGopAwAiEYUiC0IgiCALQv////8Pg358IQsgAkF4aikDACABQXhqKQMAIhKFIhNCIIggE0L/////D4N+IAR8IAEpAwAiE3whBCACQWhqKQMAIAyFIgxCIIggDEL/////D4N+IAZ8IA18IQYgAkFYaikDACAOhSIMQiCIIAxC/////w+DfiAIfCAPfCEIIAJBSGopAwAgEIUiDEIgiCAMQv////8Pg34gCnwgEXwhCiAFIBJ8IAIpAwAgE4UiBUIgiCAFQv////8Pg358IQUgAUHAAGohASACQQhqIQIgA0F/aiIDDQALIAAgCTcDGCAAIAo3AwAgACALNwMIIAAgBzcDKCAAIAg3AxAgACAFNwM4IAAgBjcDICAAIAQ3AzALC94CAgF/AX4CQCACIAEoAgAiB2siAiAESw0AIAAgAyAFIAdBA3RqIAIQASAAIAApAwAiCCAFIAZqIgcpAwCFIAhCL4iFQrHz3fEJfjcDACAAIAApAwgiCCAHKQMIhSAIQi+IhUKx893xCX43AwggACAAKQMQIgggBykDEIUgCEIviIVCsfPd8Ql+NwMQIAAgACkDGCIIIAcpAxiFIAhCL4iFQrHz3fEJfjcDGCAAIAApAyAiCCAHKQMghSAIQi+IhUKx893xCX43AyAgACAAKQMoIgggBykDKIUgCEIviIVCsfPd8Ql+NwMoIAAgACkDMCIIIAcpAzCFIAhCL4iFQrHz3fEJfjcDMCAAIAApAzgiCCAHKQM4hSAIQi+IhUKx893xCX43AzggACADIAJBBnRqIAUgBCACayIHEAEgASAHNgIADwsgACADIAUgB0EDdGogBBABIAEgByAEajYCAAvtAwEFfiABKQM4IAApAziFIgNC/////w+DIgQgASkDMCAAKQMwhSIFQiCIIgZ+IgdC/////w+DIANCIIgiAyAFQv////8PgyIFfnwgBCAFfiIEQiCIfCIFQiCGIARC/////w+DhCAHQiCIIAMgBn58IAVCIIh8hSABKQMoIAApAyiFIgNC/////w+DIgQgASkDICAAKQMghSIFQiCIIgZ+IgdC/////w+DIANCIIgiAyAFQv////8PgyIFfnwgBCAFfiIEQiCIfCIFQiCGIARC/////w+DhCAHQiCIIAMgBn58IAVCIIh8hSABKQMYIAApAxiFIgNC/////w+DIgQgASkDECAAKQMQhSIFQiCIIgZ+IgdC/////w+DIANCIIgiAyAFQv////8PgyIFfnwgBCAFfiIEQiCIfCIFQiCGIARC/////w+DhCAHQiCIIAMgBn58IAVCIIh8hSABKQMIIAApAwiFIgNC/////w+DIgQgASkDACAAKQMAhSIFQiCIIgZ+IgdC/////w+DIANCIIgiAyAFQv////8PgyIFfnwgBCAFfiIEQiCIfCIFQiCGIARC/////w+DhCAHQiCIIAMgBn58IAVCIIh8hSACfHx8fCICQiWIIAKFQvnz3fGZ8pmrFn4iAkIgiCAChQvCCAEFfgJAIAFBCUkNACAAQQApA4CMASACKQMoIAIpAyCFIAN9hSABQfiLAWopAwAiBIUiBUIgiCIGQoeVr68IfiIHQv////8PgyAFQv////8PgyIFQrHz3fEJfnwgBUKHla+vCH4iBUIgiHwiCEIghiAFQv////8Pg4QgAUF/aq1CNoZ8IAQgAikDOCACKQMwhSADfIUiA0L/////D4NC95Svrwh+IANCgICAgHCDfCAGQrHz3fEJfnwgB0IgiHwgCEIgiHwiA0I4hiADQiiGQoCAgICAgMD/AIOEIANCGIZCgICAgIDgP4MgA0IIhkKAgICA8B+DhIQgA0IIiEKAgID4D4MgA0IYiEKAgPwHg4QgA0IoiEKA/gODIANCOIiEhISFIgRCIIgiBULP1tO+An4iBkL/////D4MgBEL/////D4MiBEK93MqVDH58IARCz9bTvgJ+IgdCIIh8IgRCBYhC////P4MgBEIghiAHQv////8Pg4SFQvnz3fGZ8pmrFn4iB0IgiCAHhTcDACAAIAVCvdzKlQx+IANCz9bTvtLHq9lCfnwgBkIgiHwgBEIgiHwiA0IliCADhUL5893xmfKZqxZ+IgNCIIggA4U3AwgPCwJAIAFBBEkNACAAIAIpAxggAikDEIUgA6ciAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyrUIghiADhXwgAUH8iwFqNQIAQiCGQQA1AoCMAYSFIgNCIIgiBCABQQJ0QYeVr694aq0iBX4iBkIgiCAEQrHz3fEJfnwgBkL/////D4MgA0L/////D4MiA0Kx893xCX58IAMgBX4iA0IgiHwiBEIgiHwgBEIghiADQv////8Pg4QiBEIBhnwiA0IliCADhUL5893xmfKZqxZ+IgVCIIggBYU3AwggACADQgOIIASFIgNCI4ggA4VCpb7j9NGMh9mff34iA0IciCADhTcDAA8LAkAgAUUNACAAIAIoAgQgAigCAHOtIAN8IgRBAC0AgIwBQRB0IAFBCHRyIAFBAXZBgIwBai0AAEEYdHIgAUH/iwFqLQAAciIBrYUgBEIhiIVCz9bTvtLHq9lCfiIEQh2IIASFQvnz3fGZ9pmrFn4iBEIgiCAEhTcDACAAIAIoAgwgAigCCHOtIAN9IgMgAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyQQ13rYUgA0IhiIVCz9bTvtLHq9lCfiIDQh2IIAOFQvnz3fGZ9pmrFn4iA0IgiCADhTcDCA8LIAAgAikDUCADhSACKQNYhSIEQiGIIASFQs/W077Sx6vZQn4iBEIdiCAEhUL5893xmfaZqxZ+IgRCIIggBIU3AwggACACKQNAIAOFIAIpA0iFIgNCIYggA4VCz9bTvtLHq9lCfiIDQh2IIAOFQvnz3fGZ9pmrFn4iA0IgiCADhTcDAAunCgEKfiABrSIEQoeVr6+Ytt6bnn9+IQUCQAJAIAFBIU8NAEIAIQYMAQtCACEHAkAgAUHBAEkNAEIAIQcCQCABQeEASQ0AIAIpA3ggA30gAUHIiwFqKQMAIgiFIgdC/////w+DIgkgAikDcCADfCABQcCLAWopAwAiCoUiC0IgiCIMfiINQiCIIAdCIIgiByAMfnwgDUL/////D4MgByALQv////8PgyILfnwgCSALfiIHQiCIfCIJQiCIfEEAKQO4jAEiC0EAKQOwjAEiDHyFIAlCIIYgB0L/////D4OEhSEHIAIpA2ggA30gC4UiCUL/////D4MiCyACKQNgIAN8IAyFIgxCIIgiDX4iBkL/////D4MgCUIgiCIJIAxC/////w+DIgx+fCALIAx+IgtCIIh8IgxCIIYgC0L/////D4OEIAZCIIggCSANfnwgDEIgiHyFIAV8IAggCnyFIQULIAIpA1ggA30gAUHYiwFqKQMAIgiFIglC/////w+DIgogAikDUCADfCABQdCLAWopAwAiC4UiDEIgiCINfiIGQv////8PgyAJQiCIIgkgDEL/////D4MiDH58IAogDH4iCkIgiHwiDEIghiAKQv////8Pg4QgBkIgiCAJIA1+fCAMQiCIfIUgB3xBACkDqIwBIglBACkDoIwBIgp8hSEHIAIpA0ggA30gCYUiCUL/////D4MiDCACKQNAIAN8IAqFIgpCIIgiDX4iBkL/////D4MgCUIgiCIJIApC/////w+DIgp+fCAMIAp+IgpCIIh8IgxCIIYgCkL/////D4OEIAZCIIggCSANfnwgDEIgiHyFIAV8IAggC3yFIQULIAIpAzggA30gAUHoiwFqKQMAIgiFIglC/////w+DIgogAikDMCADfCABQeCLAWopAwAiC4UiDEIgiCINfiIGQv////8PgyAJQiCIIgkgDEL/////D4MiDH58IAogDH4iCkIgiHwiDEIghiAKQv////8Pg4QgBkIgiCAJIA1+fCAMQiCIfIUgB3xBACkDmIwBIgdBACkDkIwBIgl8hSEGIAIpAyggA30gB4UiB0L/////D4MiCiACKQMgIAN8IAmFIglCIIgiDH4iDUL/////D4MgB0IgiCIHIAlC/////w+DIgl+fCAKIAl+IglCIIh8IgpCIIYgCUL/////D4OEIA1CIIggByAMfnwgCkIgiHyFIAV8IAggC3yFIQULIAAgAikDGCADfSABQfiLAWopAwAiB4UiCEL/////D4MiCSACKQMQIAN8IAFB8IsBaikDACIKhSILQiCIIgx+Ig1C/////w+DIAhCIIgiCCALQv////8PgyILfnwgCSALfiIJQiCIfCILQiCGIAlC/////w+DhCANQiCIIAggDH58IAtCIIh8hSAGfEEAKQOIjAEiCEEAKQOAjAEiCXyFIgsgAikDCCADfSAIhSIIQv////8PgyIMIAIpAwAgA3wgCYUiCUIgiCINfiIGQv////8PgyAIQiCIIgggCUL/////D4MiCX58IAwgCX4iCUIgiHwiDEIghiAJQv////8Pg4QgBkIgiCAIIA1+fCAMQiCIfIUgBXwgByAKfIUiBXwiB0IliCAHhUL5893xmfKZqxZ+IgdCIIggB4U3AwAgAEIAIAVCh5Wvr5i23puef34gBCADfULP1tO+0ser2UJ+fCALQuPcypX8zvL1hX9+fCIDQiWIIAOFQvnz3fGZ8pmrFn4iA0IgiCADhX03AwgLiQ8DAX8UfgJ/QQAhBCACKQN4IAN9QQApA/iMASIFhSIGQv////8PgyIHIAIpA3AgA3xBACkD8IwBIgiFIglCIIgiCn4iC0L/////D4MgBkIgiCIGIAlC/////w+DIgl+fCAHIAl+IgdCIIh8IglCIIYgB0L/////D4OEIAtCIIggBiAKfnwgCUIgiHyFIAIpA1ggA31BACkD2IwBIgeFIgZC/////w+DIgkgAikDUCADfEEAKQPQjAEiCoUiC0IgiCIMfiINQv////8PgyAGQiCIIgYgC0L/////D4MiC358IAkgC34iCUIgiHwiC0IghiAJQv////8Pg4QgDUIgiCAGIAx+fCALQiCIfIUgAikDOCADfUEAKQO4jAEiCYUiBkL/////D4MiCyACKQMwIAN8QQApA7CMASIMhSINQiCIIg5+Ig9C/////w+DIAZCIIgiBiANQv////8PgyINfnwgCyANfiILQiCIfCINQiCGIAtC/////w+DhCAPQiCIIAYgDn58IA1CIIh8hSACKQMYIAN9QQApA5iMASILhSIGQv////8PgyINIAIpAxAgA3xBACkDkIwBIg6FIg9CIIgiEH4iEUL/////D4MgBkIgiCIGIA9C/////w+DIg9+fCANIA9+Ig1CIIh8Ig9CIIYgDUL/////D4OEIBFCIIggBiAQfnwgD0IgiHyFQQApA4iMASINQQApA4CMASIPfIV8QQApA6iMASIQQQApA6CMASIRfIV8QQApA8iMASISQQApA8CMASITfIV8QQApA+iMASIUQQApA+CMASIVfIUiBkIliCAGhUL5893xmfKZqxZ+IgZCIIggBoUhBiACKQNoIAN9IBSFIhRC/////w+DIhYgAikDYCADfCAVhSIVQiCIIhd+IhhC/////w+DIBRCIIgiFCAVQv////8PgyIVfnwgFiAVfiIVQiCIfCIWQiCGIBVC/////w+DhCAYQiCIIBQgF358IBZCIIh8hSACKQNIIAN9IBKFIhJC/////w+DIhQgAikDQCADfCAThSITQiCIIhV+IhZC/////w+DIBJCIIgiEiATQv////8PgyITfnwgFCATfiITQiCIfCIUQiCGIBNC/////w+DhCAWQiCIIBIgFX58IBRCIIh8hSACKQMoIAN9IBCFIhBC/////w+DIhIgAikDICADfCARhSIRQiCIIhN+IhRC/////w+DIBBCIIgiECARQv////8PgyIRfnwgEiARfiIRQiCIfCISQiCGIBFC/////w+DhCAUQiCIIBAgE358IBJCIIh8hSACKQMIIAN9IA2FIg1C/////w+DIhAgAikDACADfCAPhSIPQiCIIhF+IhJC/////w+DIA1CIIgiDSAPQv////8PgyIPfnwgECAPfiIPQiCIfCIQQiCGIA9C/////w+DhCASQiCIIA0gEX58IBBCIIh8hSABrSIPQoeVr6+Ytt6bnn9+fCALIA58hXwgCSAMfIV8IAcgCnyFfCAFIAh8hSIFQiWIIAWFQvnz3fGZ8pmrFn4iBUIgiCAFhSEFIAFBIG0hGQJAIAFBoAFIDQAgGUEFIBlBBUobQXxqIRoDQCACIARqIhlBG2opAwAgA30gBEGYjQFqKQMAIgeFIghC/////w+DIgkgGUETaikDACADfCAEQZCNAWopAwAiCoUiC0IgiCIMfiINQv////8PgyAIQiCIIgggC0L/////D4MiC358IAkgC34iCUIgiHwiC0IghiAJQv////8Pg4QgDUIgiCAIIAx+fCALQiCIfIUgBnwgBEGIjQFqKQMAIgggBEGAjQFqKQMAIgl8hSEGIBlBC2opAwAgA30gCIUiCEL/////D4MiCyAZQQNqKQMAIAN8IAmFIglCIIgi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QXBqKQMANwPwjQFBACADQXhqKQMANwP4jQELQYCMASEEAkACQCACIANrIgJBCE8NACACIQEMAQsgAiEBA0AgBCADKQMANwMAIARBCGohBCADQQhqIQMgAUF4aiIBQQdLDQALCyABRQ0AA0AgBCADLQAAOgAAIARBAWohBCADQQFqIQMgAUF/aiIBDQALC0EAIAI2AoCOAQvcDgUEfwF+An8EfgJ/IwAiACEBIABBgAFrQUBxIgAkAEEAKAKwjgEiAkHAigEgAhshAwJAAkBBACkDkI4BIgRC8QFUDQAgAEEAKQOAigE3AwAgAEEAKQOIigE3AwggAEEAKQOQigE3AxAgAEEAKQOYigE3AxggAEEAKQOgigE3AyAgAEEAKQOoigE3AyggAEEAKQOwigE3AzAgAEEAKQO4igE3AzgCQAJAQQAoAoCOASIFQcAASQ0AIABBACgCiI4BNgJAIAAgAEHAAGpBACgCmI4BQYCMASAFQX9qQQZ2IANBACgCnI4BEAIgACAAKQMIQQAoAoCOASICQcCLAWopAwAiBHwgA0EAKAKcjgFqIgZBAWopAwAgAkHIiwFqKQMAIgeFIghCIIggCEL/////D4N+fDcDCCAAIAApAxggAkHQiwFqKQMAIgh8IAZBEWopAwAgAkHYiwFqKQMAIgmFIgpCIIggCkL/////D4N+fDcDGCAAIAcgBCAGQXlqKQMAhSIEQiCIIARC/////w+DfiAAKQMAfHw3AwAgACAJIAggBkEJaikDAIUiBEIgiCAEQv////8Pg34gACkDEHx8NwMQIAZBGWopAwAhBCAAKQMgIQcgACAAKQMoIAJB4IsBaikDACIIfCAGQSFqKQMAIAJB6IsBaikDACIJhSIKQiCIIApC/////w+Dfnw3AyggACAJIAcgBCAIhSIEQiCIIARC/////w+Dfnx8NwMgIAAgACkDOCACQfCLAWopAwAiBHwgBkExaikDACACQfiLAWopAwAiB4UiCEIgiCAIQv////8Pg358NwM4IAAgByAEIAZBKWopAwCFIgRCIIggBEL/////D4N+IAApAzB8fDcDMAwBC0HAACAFayELAkACQAJAIAVBOE0NAEGAjgEgC2shBiAAQcAAaiEFIAshAgwBC0EAIQwgCyECA0AgAEHAAGogDGogBSAMakHAjQFqKQMANwMAIAxBCGohDCACQXhqIgJBB0sNAAsgBSAMaiIGQcAARg0BIAZBwI0BaiEGIABBwABqIAxqIQULA0AgBSAGLQAAOgAAIAVBAWohBSAGQQFqIQYgAkF/aiICDQALQQAoAoCOASEFCyAAQcAAaiALaiEGQYCMASECAkAgBUEISQ0AQYCMASECA0AgBiACKQMANwMAIAZBCGohBiACQQhqIQIgBUF4aiIFQQdLDQALCwJAIAVFDQADQCAGIAItAAA6AAAgBkEBaiEGIAJBAWohAiAFQX9qIgUNAAsLIAAgACkDCCAAKQNAIgR8IANBACgCnI4BaiICQQFqKQMAIAApA0giB4UiCEIgiCAIQv////8Pg358NwMIIAAgACkDGCAAKQNQIgh8IAJBEWopAwAgACkDWCIJhSIKQiCIIApC/////w+Dfnw3AxggACAHIAQgAkF5aikDAIUiBEIgiCAEQv////8Pg34gACkDAHx8NwMAIAAgCSAIIAJBCWopAwCFIgRCIIggBEL/////D4N+IAApAxB8fDcDECACQRlqKQMAIQQgACkDICEHIAAgACkDKCAAKQNgIgh8IAJBIWopAwAgACkDaCIJhSIKQiCIIApC/////w+Dfnw3AyggACAJIAcgBCAIhSIEQiCIIARC/////w+Dfnx8NwMgIAAgACkDOCAAKQNwIgR8IAJBMWopAwAgACkDeCIHhSIIQiCIIAhC/////w+Dfnw3AzggACAHIAQgAkEpaikDAIUiBEIgiCAEQv////8Pg34gACkDMHx8NwMwCyAAIAAgA0ELakEAKQOQjgEiBEKHla+vmLbem55/fhADNwNAIAAgACADQQAoApyOAWpBdWogBELP1tO+0ser2UJ+Qn+FEAM3A0gMAQsgBKchAgJAQQApA6COASIEUA0AAkAgAkEQSw0AIABBwABqIAJBgAggBBAEDAILAkAgAkGAAUsNACAAQcAAaiACQYAIIAQQBQwCCyAAQcAAaiACQYAIIAQQBgwBCwJAIAJBEEsNACAAQcAAaiACIANCABAEDAELAkAgAkGAAUsNACAAQcAAaiACIANCABAFDAELIABBwABqIAIgA0IAEAYLQQAgAEH4AGopAwA3A8AKQQAgAEHwAGopAwA3A7gKQQAgAEHoAGopAwA3A7AKQQAgAEHgAGopAwA3A6gKQQAgAEHYAGopAwA3A6AKQQAgAEHQAGopAwA3A5gKQQAgACkDSCIEQjiGIARCKIZCgICAgICAwP8Ag4QgBEIYhkKAgICAgOA/gyAEQgiGQoCAgIDwH4OEhCAEQgiIQoCAgPgPgyAEQhiIQoCA/AeDhCAEQiiIQoD+A4MgBEI4iISEhCIENwOACkEAIAQ3A5AKQQAgACkDQCIEQjiGIARCKIZCgICAgICAwP8Ag4QgBEIYhkKAgICAgOA/gyAEQgiGQoCAgIDwH4OEhCAEQgiIQoCAgPgPgyAEQhiIQoCA/AeDhCAEQiiIQoD+A4MgBEI4iISEhDcDiAogASQACwYAQYCKAQsCAAsLzAEBAEGACAvEAbj+bDkjpEu+fAGBLPchrRze1G3pg5CX23JApKS3s2cfy3nmTszA5XiCWtB9zP9yIbgIRnT3QySO4DWQ5oE6Jkw8KFK7kcMAy4jQZYsbUy6jcWRIl6IN+U44Ge9Gqd6s2Kj6dj/jnDQ/+dy7x8cLTx2KUeBLzbRZMciffsnZeHNk6sWsgzTT68PFgaD/+hNj6xcN3VG38NpJ0xZVJinUaJ4rFr5YfUeh/I/4uNF60DHORcs6j5UWBCiv1/vKu0tAfkACAAA=\";\nvar hash$5 = \"e8e3fcf8\";\nvar wasmJson$5 = {\n\tname: name$5,\n\tdata: data$5,\n\thash: hash$5\n};\n\nconst mutex$3 = new Mutex();\nlet wasmCache$3 = null;\nconst seedBuffer = new ArrayBuffer(8);\nfunction validateSeed(seed) {\n if (!Number.isInteger(seed) || seed < 0 || seed > 0xFFFFFFFF) {\n return new Error('Seed must be given as two valid 32-bit long unsigned integers (lo + high).');\n }\n return null;\n}\nfunction writeSeed(arr, low, high) {\n // write in little-endian format\n const buffer = new DataView(arr);\n buffer.setUint32(0, low, true);\n buffer.setUint32(4, high, true);\n}\n/**\n * Calculates xxHash128 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @param seedLow Lower 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @param seedHigh Higher 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @returns Computed hash as a hexadecimal string\n */\nfunction xxhash128(data, seedLow = 0, seedHigh = 0) {\n if (validateSeed(seedLow)) {\n return Promise.reject(validateSeed(seedLow));\n }\n if (validateSeed(seedHigh)) {\n return Promise.reject(validateSeed(seedHigh));\n }\n if (wasmCache$3 === null) {\n return lockedCreate(mutex$3, wasmJson$5, 16)\n .then((wasm) => {\n wasmCache$3 = wasm;\n writeSeed(seedBuffer, seedLow, seedHigh);\n wasmCache$3.writeMemory(new Uint8Array(seedBuffer));\n return wasmCache$3.calculate(data);\n });\n }\n try {\n writeSeed(seedBuffer, seedLow, seedHigh);\n wasmCache$3.writeMemory(new Uint8Array(seedBuffer));\n const hash = wasmCache$3.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new xxHash128 hash instance\n * @param seedLow Lower 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n * @param seedHigh Higher 32 bits of the number used to\n * initialize the internal state of the algorithm (defaults to 0)\n */\nfunction createXXHash128(seedLow = 0, seedHigh = 0) {\n if (validateSeed(seedLow)) {\n return Promise.reject(validateSeed(seedLow));\n }\n if (validateSeed(seedHigh)) {\n return Promise.reject(validateSeed(seedHigh));\n }\n return WASMInterface(wasmJson$5, 16).then((wasm) => {\n const instanceBuffer = new ArrayBuffer(8);\n writeSeed(instanceBuffer, seedLow, seedHigh);\n wasm.writeMemory(new Uint8Array(instanceBuffer));\n wasm.init();\n const obj = {\n init: () => {\n wasm.writeMemory(new Uint8Array(instanceBuffer));\n wasm.init();\n return obj;\n },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 512,\n digestSize: 16,\n };\n return obj;\n });\n}\n\nvar name$4 = \"ripemd160\";\nvar data$4 = \"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\";\nvar hash$4 = \"42f1de39\";\nvar wasmJson$4 = {\n\tname: name$4,\n\tdata: data$4,\n\thash: hash$4\n};\n\nconst mutex$2 = new Mutex();\nlet wasmCache$2 = null;\n/**\n * Calculates RIPEMD-160 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction ripemd160(data) {\n if (wasmCache$2 === null) {\n return lockedCreate(mutex$2, wasmJson$4, 20)\n .then((wasm) => {\n wasmCache$2 = wasm;\n return wasmCache$2.calculate(data);\n });\n }\n try {\n const hash = wasmCache$2.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new RIPEMD-160 hash instance\n */\nfunction createRIPEMD160() {\n return WASMInterface(wasmJson$4, 20).then((wasm) => {\n wasm.init();\n const obj = {\n init: () => { wasm.init(); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 20,\n };\n return obj;\n });\n}\n\nfunction calculateKeyBuffer(hasher, key) {\n const { blockSize } = hasher;\n const buf = getUInt8Buffer(key);\n if (buf.length > blockSize) {\n hasher.update(buf);\n const uintArr = hasher.digest('binary');\n hasher.init();\n return uintArr;\n }\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.length);\n}\nfunction calculateHmac(hasher, key) {\n hasher.init();\n const { blockSize } = hasher;\n const keyBuf = calculateKeyBuffer(hasher, key);\n const keyBuffer = new Uint8Array(blockSize);\n keyBuffer.set(keyBuf);\n const opad = new Uint8Array(blockSize);\n for (let i = 0; i < blockSize; i++) {\n const v = keyBuffer[i];\n opad[i] = v ^ 0x5C;\n keyBuffer[i] = v ^ 0x36;\n }\n hasher.update(keyBuffer);\n const obj = {\n init: () => {\n hasher.init();\n hasher.update(keyBuffer);\n return obj;\n },\n update: (data) => {\n hasher.update(data);\n return obj;\n },\n digest: ((outputType) => {\n const uintArr = hasher.digest('binary');\n hasher.init();\n hasher.update(opad);\n hasher.update(uintArr);\n return hasher.digest(outputType);\n }),\n save: () => {\n throw new Error('save() not supported');\n },\n load: () => {\n throw new Error('load() not supported');\n },\n blockSize: hasher.blockSize,\n digestSize: hasher.digestSize,\n };\n return obj;\n}\n/**\n * Calculates HMAC hash\n * @param hash Hash algorithm to use. It has to be the return value of a function like createSHA1()\n * @param key Key (string, Buffer or TypedArray)\n */\nfunction createHMAC(hash, key) {\n if (!hash || !hash.then) {\n throw new Error('Invalid hash function is provided! Usage: createHMAC(createMD5(), \"key\").');\n }\n return hash.then((hasher) => calculateHmac(hasher, key));\n}\n\nfunction calculatePBKDF2(digest, salt, iterations, hashLength, outputType) {\n return __awaiter(this, void 0, void 0, function* () {\n const DK = new Uint8Array(hashLength);\n const block1 = new Uint8Array(salt.length + 4);\n const block1View = new DataView(block1.buffer);\n const saltBuffer = getUInt8Buffer(salt);\n const saltUIntBuffer = new Uint8Array(saltBuffer.buffer, saltBuffer.byteOffset, saltBuffer.length);\n block1.set(saltUIntBuffer);\n let destPos = 0;\n const hLen = digest.digestSize;\n const l = Math.ceil(hashLength / hLen);\n let T = null;\n let U = null;\n for (let i = 1; i <= l; i++) {\n block1View.setUint32(salt.length, i);\n digest.init();\n digest.update(block1);\n T = digest.digest('binary');\n U = T.slice();\n for (let j = 1; j < iterations; j++) {\n digest.init();\n digest.update(U);\n U = digest.digest('binary');\n for (let k = 0; k < hLen; k++) {\n T[k] ^= U[k];\n }\n }\n DK.set(T.subarray(0, hashLength - destPos), destPos);\n destPos += hLen;\n }\n if (outputType === 'binary') {\n return DK;\n }\n const digestChars = new Uint8Array(hashLength * 2);\n return getDigestHex(digestChars, DK, hashLength);\n });\n}\nconst validateOptions$2 = (options) => {\n if (!options || typeof options !== 'object') {\n throw new Error('Invalid options parameter. It requires an object.');\n }\n if (!options.hashFunction || !options.hashFunction.then) {\n throw new Error('Invalid hash function is provided! Usage: pbkdf2(\"password\", \"salt\", 1000, 32, createSHA1()).');\n }\n if (!Number.isInteger(options.iterations) || options.iterations < 1) {\n throw new Error('Iterations should be a positive number');\n }\n if (!Number.isInteger(options.hashLength) || options.hashLength < 1) {\n throw new Error('Hash length should be a positive number');\n }\n if (options.outputType === undefined) {\n options.outputType = 'hex';\n }\n if (!['hex', 'binary'].includes(options.outputType)) {\n throw new Error(`Insupported output type ${options.outputType}. Valid values: ['hex', 'binary']`);\n }\n};\n/**\n * Generates a new PBKDF2 hash for the supplied password\n */\nfunction pbkdf2(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateOptions$2(options);\n const hmac = yield createHMAC(options.hashFunction, options.password);\n return calculatePBKDF2(hmac, options.salt, options.iterations, options.hashLength, options.outputType);\n });\n}\n\nvar name$3 = \"scrypt\";\nvar data$3 = \"AGFzbQEAAAABIwZgAX8Bf2AAAX9gBX9/fn9/AGAEf39/fwBgAX8AYAN/f38AAwcGAAECAwQFBAUBcAEBAQUGAQECgIACBggBfwFBkIgECwc5BAZtZW1vcnkCABJIYXNoX1NldE1lbW9yeVNpemUAAA5IYXNoX0dldEJ1ZmZlcgABBnNjcnlwdAAFCpcmBlsBAX9BACEBAkAgAEEAKAKACGsiAEUNAAJAIABBEHYgAEGAgHxxIABJaiIAQABBf0cNAEH/ASEBDAELQQAhAUEAQQApA4AIIABBEHStfDcDgAgLIAFBGHRBGHULagECfwJAQQAoAogIIgANAEEAPwBBEHQiADYCiAhBgIAgQQAoAoAIayIBRQ0AAkAgAUEQdiABQYCAfHEgAUlqIgBAAEF/Rw0AQQAPC0EAQQApA4AIIABBEHStfDcDgAhBACgCiAghAAsgAAu5EAMMfwl+An8gAUEFdCEFIAQgAUEIdGohBiAEIAFBB3QiB2ohCAJAAkACQAJAIAFFDQBBACEJIAAhCiAEIQsDQCALIAooAgA2AgAgCkEEaiEKIAtBBGohCyAJQQFqIgkgBUkNAAsgAlANAiABQQh0IQxBACENIAMhDgNAQQAhCSABIQ8DQCAOIAlqIgogBCAJaiILKQMANwMAIApBCGogC0EIaikDADcDACAKQRBqIAtBEGopAwA3AwAgCkEYaiALQRhqKQMANwMAIApBIGogC0EgaikDADcDACAKQShqIAtBKGopAwA3AwAgCkEwaiALQTBqKQMANwMAIApBOGogC0E4aikDADcDACAKQcAAaiALQcAAaikDADcDACAKQcgAaiALQcgAaikDADcDACAKQdAAaiALQdAAaikDADcDACAKQdgAaiALQdgAaikDADcDACAKQeAAaiALQeAAaikDADcDACAKQegAaiALQegAaikDADcDACAKQfAAaiALQfAAaikDADcDACAKQfgAaiALQfgAaikDADcDACAJQYABaiEJIA9Bf2oiDw0ACyAEIAggBiABEAMgDiEJIAQhDyABIRADQCAJIAdqIgogDyAHaiILKQMANwMAIApBCGogC0EIaikDADcDACAKQRBqIAtBEGopAwA3AwAgCkEYaiALQRhqKQMANwMAIApBIGogC0EgaikDADcDACAKQShqIAtBKGopAwA3AwAgCkEwaiALQTBqKQMANwMAIApBOGogC0E4aikDADcDACAKQcAAaiALQcAAaikDADcDACAKQcgAaiALQcgAaikDADcDACAKQdAAaiALQdAAaikDADcDACAKQdgAaiALQdgAaikDADcDACAKQeAAaiALQeAAaikDADcDACAKQegAaiALQegAaikDADcDACAKQfAAaiALQfAAaikDADcDACAKQfgAaiALQfgAaikDADcDACAJQYABaiEJIA9BgAFqIQ8gEEF/aiIQDQALIAggBCAGIAEQAyAOIAxqIQ4gDUECaiINrSACVA0ADAILCyACUA0CIAhBQGoiCikDOCERIAopAzAhEiAKKQMoIRMgCikDICEUIAopAxghFSAKKQMQIRYgCikDCCEXIAopAwAhGEECIQoDQCAKrSEZIApBAmohCiAZIAJUDQALIAYgETcDOCAGIBI3AzAgBiATNwMoIAYgFDcDICAGIBU3AxggBiAWNwMQIAYgFzcDCCAGIBg3AwALAkAgAUUNACAHQUBqIgogCGohGiACp0F/aiEOIAogBGohGyABQQd0IQ1BACEMA0AgAyANIBsoAgAgDnFsaiEHQQAhCSABIQ8DQCAEIAlqIgogCikDACAHIAlqIgspAwCFNwMAIApBCGoiECAQKQMAIAtBCGopAwCFNwMAIApBEGoiECAQKQMAIAtBEGopAwCFNwMAIApBGGoiECAQKQMAIAtBGGopAwCFNwMAIApBIGoiECAQKQMAIAtBIGopAwCFNwMAIApBKGoiECAQKQMAIAtBKGopAwCFNwMAIApBMGoiECAQKQMAIAtBMGopAwCFNwMAIApBOGoiECAQKQMAIAtBOGopAwCFNwMAIApBwABqIhAgECkDACALQcAAaikDAIU3AwAgCkHIAGoiECAQKQMAIAtByABqKQMAhTcDACAKQdAAaiIQIBApAwAgC0HQAGopAwCFNwMAIApB2ABqIhAgECkDACALQdgAaikDAIU3AwAgCkHgAGoiECAQKQMAIAtB4ABqKQMAhTcDACAKQegAaiIQIBApAwAgC0HoAGopAwCFNwMAIApB8ABqIhAgECkDACALQfAAaikDAIU3AwAgCkH4AGoiCiAKKQMAIAtB+ABqKQMAhTcDACAJQYABaiEJIA9Bf2oiDw0ACyAEIAggBiABEAMgAyANIBooAgAgDnFsaiEHQQAhCSABIQ8DQCAIIAlqIgogCikDACAHIAlqIgspAwCFNwMAIApBCGoiECAQKQMAIAtBCGopAwCFNwMAIApBEGoiECAQKQMAIAtBEGopAwCFNwMAIApBGGoiECAQKQMAIAtBGGopAwCFNwMAIApBIGoiECAQKQMAIAtBIGopAwCFNwMAIApBKGoiECAQKQMAIAtBKGopAwCFNwMAIApBMGoiECAQKQMAIAtBMGopAwCFNwMAIApBOGoiECAQKQMAIAtBOGopAwCFNwMAIApBwABqIhAgECkDACALQcAAaikDAIU3AwAgCkHIAGoiECAQKQMAIAtByABqKQMAhTcDACAKQdAAaiIQIBApAwAgC0HQAGopAwCFNwMAIApB2ABqIhAgECkDACALQdgAaikDAIU3AwAgCkHgAGoiECAQKQMAIAtB4ABqKQMAhTcDACAKQegAaiIQIBApAwAgC0HoAGopAwCFNwMAIApB8ABqIhAgECkDACALQfAAaikDAIU3AwAgCkH4AGoiCiAKKQMAIAtB+ABqKQMAhTcDACAJQYABaiEJIA9Bf2oiDw0ACyAIIAQgBiABEAMgDEECaiIMrSACVA0ADAILCyAIQUBqIgopAzghESAKKQMwIRIgCikDKCETIAopAyAhFCAKKQMYIRUgCikDECEWIAopAwghFyAKKQMAIRhBAiEKA0AgCq0hGSAKQQJqIQogGSACVA0ACyAGIBE3AzggBiASNwMwIAYgEzcDKCAGIBQ3AyAgBiAVNwMYIAYgFjcDECAGIBc3AwggBiAYNwMACyABRQ0AQQAhCgNAIAAgBCgCADYCACAAQQRqIQAgBEEEaiEEIApBAWoiCiAFSQ0ACwsL4wUDAX8IfgJ/IAIgA0EHdCAAakFAaiIEKQMAIgU3AwAgAiAEKQMIIgY3AwggAiAEKQMQIgc3AxAgAiAEKQMYIgg3AxggAiAEKQMgIgk3AyAgAiAEKQMoIgo3AyggAiAEKQMwIgs3AzAgAiAEKQM4Igw3AzgCQCADRQ0AIANBAXQhDSAAQfgAaiEEIANBBnQhDkECIQADQCACIAUgBEGIf2opAwCFNwMAIAIgBiAEQZB/aikDAIU3AwggAiAHIARBmH9qKQMAhTcDECACIAggBEGgf2opAwCFNwMYIAIgCSAEQah/aikDAIU3AyAgAiAKIARBsH9qKQMAhTcDKCACIAsgBEG4f2opAwCFNwMwIAIgDCAEQUBqKQMAhTcDOCACEAQgASACKQMANwMAIAFBCGogAikDCDcDACABQRBqIAIpAxA3AwAgAUEYaiACKQMYNwMAIAFBIGogAikDIDcDACABQShqIAIpAyg3AwAgAUEwaiACKQMwNwMAIAFBOGogAikDODcDACACIAIpAwAgBEFIaikDAIU3AwAgAiACKQMIIARBUGopAwCFNwMIIAIgAikDECAEQVhqKQMAhTcDECACIAIpAxggBEFgaikDAIU3AxggAiACKQMgIARBaGopAwCFNwMgIAIgAikDKCAEQXBqKQMAhTcDKCACIAIpAzAgBEF4aikDAIU3AzAgAiACKQM4IAQpAwCFNwM4IAIQBCABIA5qIgMgAikDADcDACADQQhqIAIpAwg3AwAgA0EQaiACKQMQNwMAIANBGGogAikDGDcDACADQSBqIAIpAyA3AwAgA0EoaiACKQMoNwMAIANBMGogAikDMDcDACADQThqIAIpAzg3AwAgACANTw0BIARBgAFqIQQgAUHAAGohASAAQQJqIQAgAikDOCEMIAIpAzAhCyACKQMoIQogAikDICEJIAIpAxghCCACKQMQIQcgAikDCCEGIAIpAwAhBQwACwsLug0IAX4BfwF+AX8BfgF/AX4SfyAAIAAoAgQgACkDKCIBQiCIpyICIAApAzgiA0IgiKciBGpBB3cgACkDCCIFQiCIp3MiBiAEakEJdyAAKQMYIgdCIIincyIIIAZqQQ13IAJzIgkgB6ciCiABpyILakEHdyADp3MiAiALakEJdyAFp3MiDCACakENdyAKcyINIAxqQRJ3IAtzIg4gACkDACIBQiCIpyIPIAApAxAiA0IgiKciEGpBB3cgACkDICIFQiCIp3MiC2pBB3dzIgogCSAIakESdyAEcyIRIAJqQQd3IAApAzAiB6ciCSABpyISakEHdyADp3MiBCASakEJdyAFp3MiEyAEakENdyAJcyIUcyIJIBFqQQl3IAsgEGpBCXcgB0IgiKdzIhVzIhYgCWpBDXcgAnMiFyAWakESdyARcyIRakEHdyAGIBQgE2pBEncgEnMiEmpBB3cgFSALakENdyAPcyIUcyICIBJqQQl3IAxzIg8gAmpBDXcgBnMiGHMiBiARakEJdyAIIA0gFCAVakESdyAQcyIQIARqQQd3cyIMIBBqQQl3cyIIcyIVIAZqQQ13IApzIhQgDCAKIA5qQQl3IBNzIhMgCmpBDXcgC3MiGSATakESdyAOcyIKakEHdyAXcyILIApqQQl3IA9zIg4gC2pBDXcgDHMiFyAOakESdyAKcyINIAIgCCAMakENdyAEcyIMIAhqQRJ3IBBzIghqQQd3IBlzIgpqQQd3cyIEIBQgFWpBEncgEXMiECALakEHdyAJIBggD2pBEncgEnMiEWpBB3cgDHMiDCARakEJdyATcyISIAxqQQ13IAlzIg9zIgkgEGpBCXcgCiAIakEJdyAWcyITcyIWIAlqQQ13IAtzIhQgFmpBEncgEHMiEGpBB3cgBiAPIBJqQRJ3IBFzIhFqQQd3IBMgCmpBDXcgAnMiC3MiAiARakEJdyAOcyIOIAJqQQ13IAZzIhhzIgYgEGpBCXcgFSAXIAsgE2pBEncgCHMiCCAMakEHd3MiCyAIakEJd3MiE3MiFSAGakENdyAEcyIXIAsgBCANakEJdyAScyISIARqQQ13IApzIhkgEmpBEncgDXMiBGpBB3cgFHMiCiAEakEJdyAOcyIPIApqQQ13IAtzIhQgD2pBEncgBHMiDSACIBMgC2pBDXcgDHMiDCATakESdyAIcyIIakEHdyAZcyILakEHd3MiBCAXIBVqQRJ3IBBzIhAgCmpBB3cgCSAYIA5qQRJ3IBFzIg5qQQd3IAxzIgwgDmpBCXcgEnMiESAMakENdyAJcyIXcyIJIBBqQQl3IAsgCGpBCXcgFnMiEnMiEyAJakENdyAKcyIYIBNqQRJ3IBBzIhBqQQd3IAYgFyARakESdyAOcyIKakEHdyASIAtqQQ13IAJzIhdzIgIgCmpBCXcgD3MiDiACakENdyAGcyIWcyIGIAkgFiAOakESdyAKcyIWakEHdyAVIBQgFyASakESdyAIcyIIIAxqQQd3cyIKIAhqQQl3cyISIApqQQ13IAxzIg9zIgwgFmpBCXcgBCANakEJdyARcyIRcyIVIAxqQQ13IAlzIhQgFWpBEncgFnMiCWpBB3cgAiAPIBJqQRJ3IAhzIghqQQd3IBEgBGpBDXcgC3MiD3MiCyAIakEJdyATcyITIAtqQQ13IAJzIhdzIhZqNgIEIAAgACgCCCAWIAlqQQl3IAogDyARakESdyANcyIRakEHdyAYcyICIBFqQQl3IA5zIg5zIg9qNgIIIAAgACgCDCAPIBZqQQ13IAZzIg1qNgIMIAAgACgCECAGIBBqQQl3IBJzIhIgDiACakENdyAKcyIYIBcgE2pBEncgCHMiCiAMakEHd3MiCCAKakEJd3MiFiAIakENdyAMcyIMajYCECAAIAAoAgAgDSAPakESdyAJc2o2AgAgACAAKAIUIAwgFmpBEncgCnNqNgIUIAAgACgCGCAIajYCGCAAIAAoAhwgFmo2AhwgACAAKAIgIBIgBmpBDXcgBHMiCSAYIA5qQRJ3IBFzIgYgC2pBB3dzIgogBmpBCXcgFXMiBGo2AiAgACAAKAIkIAQgCmpBDXcgC3MiC2o2AiQgACAAKAIoIAsgBGpBEncgBnNqNgIoIAAgACgCLCAKajYCLCAAIAAoAjAgCSASakESdyAQcyIGIAJqQQd3IBRzIgtqNgIwIAAgACgCNCALIAZqQQl3IBNzIgpqNgI0IAAgACgCOCAKIAtqQQ13IAJzIgJqNgI4IAAgACgCPCACIApqQRJ3IAZzajYCPAtyAwF/AX4CfwJAIAJFDQBBACgCiAgiAyAAIAGtIgQgAyAAQQd0IgUgAmxqIgMgAyAFIAFsaiIGEAIgAkEBRg0AIAJBf2ohASAFIQIDQEEAKAKICCACaiAAIAQgAyAGEAIgAiAFaiECIAFBf2oiAQ0ACwsL\";\nvar hash$3 = \"d96fb75f\";\nvar wasmJson$3 = {\n\tname: name$3,\n\tdata: data$3,\n\thash: hash$3\n};\n\nfunction scryptInternal(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const { costFactor, blockSize, parallelism, hashLength, } = options;\n const SHA256Hasher = createSHA256();\n const blockData = yield pbkdf2({\n password: options.password,\n salt: options.salt,\n iterations: 1,\n hashLength: 128 * blockSize * parallelism,\n hashFunction: SHA256Hasher,\n outputType: 'binary',\n });\n const scryptInterface = yield WASMInterface(wasmJson$3, 0);\n // last block is for storing the temporary vectors\n const VSize = 128 * blockSize * costFactor;\n const XYSize = 256 * blockSize;\n scryptInterface.setMemorySize(blockData.length + VSize + XYSize);\n scryptInterface.writeMemory(blockData, 0);\n // mix blocks\n scryptInterface.getExports().scrypt(blockSize, costFactor, parallelism);\n const expensiveSalt = scryptInterface\n .getMemory()\n .subarray(0, 128 * blockSize * parallelism);\n const outputData = yield pbkdf2({\n password: options.password,\n salt: expensiveSalt,\n iterations: 1,\n hashLength,\n hashFunction: SHA256Hasher,\n outputType: 'binary',\n });\n if (options.outputType === 'hex') {\n const digestChars = new Uint8Array(hashLength * 2);\n return getDigestHex(digestChars, outputData, hashLength);\n }\n // return binary format\n return outputData;\n });\n}\n// eslint-disable-next-line no-bitwise\nconst isPowerOfTwo = (v) => v && !(v & (v - 1));\nconst validateOptions$1 = (options) => {\n if (!options || typeof options !== 'object') {\n throw new Error('Invalid options parameter. It requires an object.');\n }\n if (!Number.isInteger(options.blockSize) || options.blockSize < 1) {\n throw new Error('Block size should be a positive number');\n }\n if (!Number.isInteger(options.costFactor)\n || options.costFactor < 2\n || !isPowerOfTwo(options.costFactor)) {\n throw new Error('Cost factor should be a power of 2, greater than 1');\n }\n if (!Number.isInteger(options.parallelism) || options.parallelism < 1) {\n throw new Error('Parallelism should be a positive number');\n }\n if (!Number.isInteger(options.hashLength) || options.hashLength < 1) {\n throw new Error('Hash length should be a positive number.');\n }\n if (options.outputType === undefined) {\n options.outputType = 'hex';\n }\n if (!['hex', 'binary'].includes(options.outputType)) {\n throw new Error(`Insupported output type ${options.outputType}. Valid values: ['hex', 'binary']`);\n }\n};\n/**\n * Calculates hash using the scrypt password-based key derivation function\n * @returns Computed hash as a hexadecimal string or as\n * Uint8Array depending on the outputType option\n */\nfunction scrypt(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateOptions$1(options);\n return scryptInternal(options);\n });\n}\n\nvar name$2 = \"bcrypt\";\nvar data$2 = \"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\";\nvar hash$2 = \"9f4c7b9e\";\nvar wasmJson$2 = {\n\tname: name$2,\n\tdata: data$2,\n\thash: hash$2\n};\n\nfunction bcryptInternal(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const { costFactor, password, salt } = options;\n const bcryptInterface = yield WASMInterface(wasmJson$2, 0);\n bcryptInterface.writeMemory(getUInt8Buffer(salt), 0);\n const passwordBuffer = getUInt8Buffer(password);\n bcryptInterface.writeMemory(passwordBuffer, 16);\n const shouldEncode = options.outputType === 'encoded' ? 1 : 0;\n bcryptInterface.getExports().bcrypt(passwordBuffer.length, costFactor, shouldEncode);\n const memory = bcryptInterface.getMemory();\n if (options.outputType === 'encoded') {\n return intArrayToString(memory, 60);\n }\n if (options.outputType === 'hex') {\n const digestChars = new Uint8Array(24 * 2);\n return getDigestHex(digestChars, memory, 24);\n }\n // return binary format\n // the data is copied to allow GC of the original memory buffer\n return memory.slice(0, 24);\n });\n}\nconst validateOptions = (options) => {\n if (!options || typeof options !== 'object') {\n throw new Error('Invalid options parameter. It requires an object.');\n }\n if (!Number.isInteger(options.costFactor) || options.costFactor < 4 || options.costFactor > 31) {\n throw new Error('Cost factor should be a number between 4 and 31');\n }\n options.password = getUInt8Buffer(options.password);\n if (options.password.length < 1) {\n throw new Error('Password should be at least 1 byte long');\n }\n if (options.password.length > 72) {\n throw new Error('Password should be at most 72 bytes long');\n }\n options.salt = getUInt8Buffer(options.salt);\n if (options.salt.length !== 16) {\n throw new Error('Salt should be 16 bytes long');\n }\n if (options.outputType === undefined) {\n options.outputType = 'encoded';\n }\n if (!['hex', 'binary', 'encoded'].includes(options.outputType)) {\n throw new Error(`Insupported output type ${options.outputType}. Valid values: ['hex', 'binary', 'encoded']`);\n }\n};\n/**\n * Calculates hash using the bcrypt password-hashing function\n * @returns Computed hash\n */\nfunction bcrypt(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateOptions(options);\n return bcryptInternal(options);\n });\n}\nconst validateHashCharacters = (hash) => {\n if (!/^\\$2[axyb]\\$[0-3][0-9]\\$[./A-Za-z0-9]{53}$/.test(hash)) {\n return false;\n }\n if (hash[4] === '0' && parseInt(hash[5], 10) < 4) {\n return false;\n }\n if (hash[4] === '3' && parseInt(hash[5], 10) > 1) {\n return false;\n }\n return true;\n};\nconst validateVerifyOptions = (options) => {\n if (!options || typeof options !== 'object') {\n throw new Error('Invalid options parameter. It requires an object.');\n }\n if (options.hash === undefined || typeof options.hash !== 'string') {\n throw new Error('Hash should be specified');\n }\n if (options.hash.length !== 60) {\n throw new Error('Hash should be 60 bytes long');\n }\n if (!validateHashCharacters(options.hash)) {\n throw new Error('Invalid hash');\n }\n options.password = getUInt8Buffer(options.password);\n if (options.password.length < 1) {\n throw new Error('Password should be at least 1 byte long');\n }\n if (options.password.length > 72) {\n throw new Error('Password should be at most 72 bytes long');\n }\n};\n/**\n * Verifies password using bcrypt password-hashing function\n * @returns True if the encoded hash matches the password\n */\nfunction bcryptVerify(options) {\n return __awaiter(this, void 0, void 0, function* () {\n validateVerifyOptions(options);\n const { hash, password } = options;\n const bcryptInterface = yield WASMInterface(wasmJson$2, 0);\n bcryptInterface.writeMemory(getUInt8Buffer(hash), 0);\n const passwordBuffer = getUInt8Buffer(password);\n bcryptInterface.writeMemory(passwordBuffer, 60);\n return !!bcryptInterface.getExports().bcrypt_verify(passwordBuffer.length);\n });\n}\n\nvar name$1 = \"whirlpool\";\nvar data$1 = \"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\";\nvar hash$1 = \"358808f8\";\nvar wasmJson$1 = {\n\tname: name$1,\n\tdata: data$1,\n\thash: hash$1\n};\n\nconst mutex$1 = new Mutex();\nlet wasmCache$1 = null;\n/**\n * Calculates Whirlpool hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction whirlpool(data) {\n if (wasmCache$1 === null) {\n return lockedCreate(mutex$1, wasmJson$1, 64)\n .then((wasm) => {\n wasmCache$1 = wasm;\n return wasmCache$1.calculate(data);\n });\n }\n try {\n const hash = wasmCache$1.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new Whirlpool hash instance\n */\nfunction createWhirlpool() {\n return WASMInterface(wasmJson$1, 64).then((wasm) => {\n wasm.init();\n const obj = {\n init: () => { wasm.init(); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 64,\n };\n return obj;\n });\n}\n\nvar name = \"sm3\";\nvar data = \"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\";\nvar hash = \"6e6f46ad\";\nvar wasmJson = {\n\tname: name,\n\tdata: data,\n\thash: hash\n};\n\nconst mutex = new Mutex();\nlet wasmCache = null;\n/**\n * Calculates SM3 hash\n * @param data Input data (string, Buffer or TypedArray)\n * @returns Computed hash as a hexadecimal string\n */\nfunction sm3(data) {\n if (wasmCache === null) {\n return lockedCreate(mutex, wasmJson, 32)\n .then((wasm) => {\n wasmCache = wasm;\n return wasmCache.calculate(data);\n });\n }\n try {\n const hash = wasmCache.calculate(data);\n return Promise.resolve(hash);\n }\n catch (err) {\n return Promise.reject(err);\n }\n}\n/**\n * Creates a new SM3 hash instance\n */\nfunction createSM3() {\n return WASMInterface(wasmJson, 32).then((wasm) => {\n wasm.init();\n const obj = {\n init: () => { wasm.init(); return obj; },\n update: (data) => { wasm.update(data); return obj; },\n digest: (outputType) => wasm.digest(outputType),\n save: () => wasm.save(),\n load: (data) => { wasm.load(data); return obj; },\n blockSize: 64,\n digestSize: 32,\n };\n return obj;\n });\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/hash-wasm/dist/index.esm.js?")},"../wabac.js/node_modules/http-link-header/lib/link.js":
/*!*************************************************************!*\
!*** ../wabac.js/node_modules/http-link-header/lib/link.js ***!
\*************************************************************/module=>{"use strict";eval("\n\nvar COMPATIBLE_ENCODING_PATTERN = /^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i\nvar WS_TRIM_PATTERN = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g\nvar WS_CHAR_PATTERN = /\\s|\\uFEFF|\\xA0/\nvar WS_FOLD_PATTERN = /\\r?\\n[\\x20\\x09]+/g\nvar DELIMITER_PATTERN = /[;,\"]/\nvar WS_DELIMITER_PATTERN = /[;,\"]|\\s/\n\n/**\n * Token character pattern\n * @type {RegExp}\n * @see https://tools.ietf.org/html/rfc7230#section-3.2.6\n */\nvar TOKEN_PATTERN = /^[!#$%&'*+\\-\\.^_`|~\\da-zA-Z]+$/\n\nvar STATE = {\n IDLE: 1 << 0,\n URI: 1 << 1,\n ATTR: 1 << 2,\n}\n\nfunction trim( value ) {\n return value.replace( WS_TRIM_PATTERN, '' )\n}\n\nfunction hasWhitespace( value ) {\n return WS_CHAR_PATTERN.test( value )\n}\n\nfunction skipWhitespace( value, offset ) {\n while( hasWhitespace( value[offset] ) ) {\n offset++\n }\n return offset\n}\n\nfunction needsQuotes( value ) {\n return WS_DELIMITER_PATTERN.test( value ) ||\n !TOKEN_PATTERN.test( value )\n}\n\n/**\n * Shallow compares two objects to check if their properties match.\n * @param {object} object1 First object to compare.\n * @param {object} object2 Second object to compare.\n * @returns {boolean} Do the objects have matching properties.\n */\nfunction shallowCompareObjects( object1, object2 ) {\n return (\n Object.keys( object1 ).length === Object.keys( object2 ).length &&\n Object.keys( object1 ).every(\n ( key ) => key in object2 && object1[ key ] === object2[ key ]\n )\n );\n}\n\nclass Link {\n\n /**\n * Link\n * @constructor\n * @param {String} [value]\n * @returns {Link}\n */\n constructor( value ) {\n\n /** @type {Array} URI references */\n this.refs = []\n\n if( value ) {\n this.parse( value )\n }\n\n }\n\n /**\n * Get refs with given relation type\n * @param {String} value\n * @returns {Array<Object>}\n */\n rel( value ) {\n\n var links = []\n var type = value.toLowerCase()\n\n for( var i = 0; i < this.refs.length; i++ ) {\n if( this.refs[ i ].rel.toLowerCase() === type ) {\n links.push( this.refs[ i ] )\n }\n }\n\n return links\n\n }\n\n /**\n * Get refs where given attribute has a given value\n * @param {String} attr\n * @param {String} value\n * @returns {Array<Object>}\n */\n get( attr, value ) {\n\n attr = attr.toLowerCase()\n\n var links = []\n\n for( var i = 0; i < this.refs.length; i++ ) {\n if( this.refs[ i ][ attr ] === value ) {\n links.push( this.refs[ i ] )\n }\n }\n\n return links\n\n }\n\n /** Sets a reference. */\n set( link ) {\n this.refs.push( link )\n return this\n }\n\n /**\n * Sets a reference if a reference with similar properties isn’t already set.\n */\n setUnique( link ) {\n\n if( !this.refs.some(( ref ) => shallowCompareObjects( ref, link )) ) {\n this.refs.push( link )\n }\n\n return this\n\n }\n\n has( attr, value ) {\n\n attr = attr.toLowerCase()\n\n for( var i = 0; i < this.refs.length; i++ ) {\n if( this.refs[ i ][ attr ] === value ) {\n return true\n }\n }\n\n return false\n\n }\n\n parse( value, offset ) {\n\n offset = offset || 0\n value = offset ? value.slice( offset ) : value\n\n // Trim & unfold folded lines\n value = trim( value ).replace( WS_FOLD_PATTERN, '' )\n\n var state = STATE.IDLE\n var length = value.length\n var offset = 0\n var ref = null\n\n while( offset < length ) {\n if( state === STATE.IDLE ) {\n if( hasWhitespace( value[offset] ) ) {\n offset++\n continue\n } else if( value[offset] === '<' ) {\n if( ref != null ) {\n ref.rel != null ?\n this.refs.push( ...Link.expandRelations( ref ) ) :\n this.refs.push( ref )\n }\n var end = value.indexOf( '>', offset )\n if( end === -1 ) throw new Error( 'Expected end of URI delimiter at offset ' + offset )\n ref = { uri: value.slice( offset + 1, end ) }\n // this.refs.push( ref )\n offset = end\n state = STATE.URI\n } else {\n throw new Error( 'Unexpected character \"' + value[offset] + '\" at offset ' + offset )\n }\n offset++\n } else if( state === STATE.URI ) {\n if( hasWhitespace( value[offset] ) ) {\n offset++\n continue\n } else if( value[offset] === ';' ) {\n state = STATE.ATTR\n offset++\n } else if( value[offset] === ',' ) {\n state = STATE.IDLE\n offset++\n } else {\n throw new Error( 'Unexpected character \"' + value[offset] + '\" at offset ' + offset )\n }\n } else if( state === STATE.ATTR ) {\n if( value[offset] ===';' || hasWhitespace( value[offset] ) ) {\n offset++\n continue\n }\n var end = value.indexOf( '=', offset )\n if( end === -1 ) throw new Error( 'Expected attribute delimiter at offset ' + offset )\n var attr = trim( value.slice( offset, end ) ).toLowerCase()\n var attrValue = ''\n offset = end + 1\n offset = skipWhitespace( value, offset )\n if( value[offset] === '\"' ) {\n offset++\n while( offset < length ) {\n if( value[offset] === '\"' ) {\n offset++; break\n }\n if( value[offset] === '\\\\' ) {\n offset++\n }\n attrValue += value[offset]\n offset++\n }\n } else {\n var end = offset + 1\n while( !DELIMITER_PATTERN.test( value[end] ) && end < length ) {\n end++\n }\n attrValue = value.slice( offset, end )\n offset = end\n }\n if( ref[ attr ] && Link.isSingleOccurenceAttr( attr ) ) {\n // Ignore multiples of attributes which may only appear once\n } else if( attr[ attr.length - 1 ] === '*' ) {\n ref[ attr ] = Link.parseExtendedValue( attrValue )\n } else {\n attrValue = attr === 'type' ?\n attrValue.toLowerCase() : attrValue\n if( ref[ attr ] != null ) {\n if( Array.isArray( ref[ attr ] ) ) {\n ref[ attr ].push( attrValue )\n } else {\n ref[ attr ] = [ ref[ attr ], attrValue ]\n }\n } else {\n ref[ attr ] = attrValue\n }\n }\n switch( value[offset] ) {\n case ',': state = STATE.IDLE; break\n case ';': state = STATE.ATTR; break\n }\n offset++\n } else {\n throw new Error( 'Unknown parser state \"' + state + '\"' )\n }\n }\n\n if( ref != null ) {\n ref.rel != null ?\n this.refs.push( ...Link.expandRelations( ref ) ) :\n this.refs.push( ref )\n }\n\n ref = null\n\n return this\n\n }\n\n toString() {\n\n var refs = []\n var link = ''\n var ref = null\n\n for( var i = 0; i < this.refs.length; i++ ) {\n ref = this.refs[i]\n link = Object.keys( this.refs[i] ).reduce( function( link, attr ) {\n if( attr === 'uri' ) return link\n return link + '; ' + Link.formatAttribute( attr, ref[ attr ] )\n }, '<' + ref.uri + '>' )\n refs.push( link )\n }\n\n return refs.join( ', ' )\n\n }\n\n}\n\n/**\n * Determines whether an encoding can be\n * natively handled with a `Buffer`\n * @param {String} value\n * @returns {Boolean}\n */\nLink.isCompatibleEncoding = function( value ) {\n return COMPATIBLE_ENCODING_PATTERN.test( value )\n}\n\nLink.parse = function( value, offset ) {\n return new Link().parse( value, offset )\n}\n\nLink.isSingleOccurenceAttr = function( attr ) {\n return attr === 'rel' || attr === 'type' || attr === 'media' ||\n attr === 'title' || attr === 'title*'\n}\n\nLink.isTokenAttr = function( attr ) {\n return attr === 'rel' || attr === 'type' || attr === 'anchor'\n}\n\nLink.escapeQuotes = function( value ) {\n return value.replace( /\"/g, '\\\\\"' )\n}\n\nLink.expandRelations = function( ref ) {\n var rels = ref.rel.split( ' ' )\n return rels.map( function( rel ) {\n var value = Object.assign( {}, ref )\n value.rel = rel\n return value\n })\n}\n\n/**\n * Parses an extended value and attempts to decode it\n * @internal\n * @param {String} value\n * @return {Object}\n */\nLink.parseExtendedValue = function( value ) {\n var parts = /([^']+)?(?:'([^']*)')?(.+)/.exec( value )\n return {\n language: parts[2].toLowerCase(),\n encoding: Link.isCompatibleEncoding( parts[1] ) ?\n null : parts[1].toLowerCase(),\n value: Link.isCompatibleEncoding( parts[1] ) ?\n decodeURIComponent( parts[3] ) : parts[3]\n }\n}\n\n/**\n * Format a given extended attribute and it's value\n * @param {String} attr\n * @param {Object} data\n * @return {String}\n */\nLink.formatExtendedAttribute = function( attr, data ) {\n\n var encoding = ( data.encoding || 'utf-8' ).toUpperCase()\n var language = data.language || 'en'\n\n var encodedValue = ''\n\n if( Buffer.isBuffer( data.value ) && Link.isCompatibleEncoding( encoding ) ) {\n encodedValue = data.value.toString( encoding )\n } else if( Buffer.isBuffer( data.value ) ) {\n encodedValue = data.value.toString( 'hex' )\n .replace( /[0-9a-f]{2}/gi, '%$1' )\n } else {\n encodedValue = encodeURIComponent( data.value )\n }\n\n return attr + '=' + encoding + '\\'' +\n language + '\\'' + encodedValue\n\n}\n\n/**\n * Format a given attribute and it's value\n * @param {String} attr\n * @param {String|Object} value\n * @return {String}\n */\nLink.formatAttribute = function( attr, value ) {\n\n if( Array.isArray( value ) ) {\n return value.map(( item ) => {\n return Link.formatAttribute( attr, item )\n }).join( '; ' )\n }\n\n if( attr[ attr.length - 1 ] === '*' || typeof value !== 'string' ) {\n return Link.formatExtendedAttribute( attr, value )\n }\n\n if( Link.isTokenAttr( attr ) ) {\n value = needsQuotes( value ) ?\n '\"' + Link.escapeQuotes( value ) + '\"' :\n Link.escapeQuotes( value )\n } else if( needsQuotes( value ) ) {\n value = encodeURIComponent( value )\n // We don't need to escape <SP> <,> <;> within quotes\n value = value\n .replace( /%20/g, ' ' )\n .replace( /%2C/g, ',' )\n .replace( /%3B/g, ';' )\n\n value = '\"' + value + '\"'\n }\n\n return attr + '=' + value\n\n}\n\nmodule.exports = Link\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/http-link-header/lib/link.js?")},"../wabac.js/node_modules/http-status-codes/build/es/utils-functions.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/http-status-codes/build/es/utils-functions.js ***!
\******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "getReasonPhrase": () => (/* binding */ getReasonPhrase),\n/* harmony export */ "getStatusCode": () => (/* binding */ getStatusCode),\n/* harmony export */ "getStatusText": () => (/* binding */ getStatusText)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../wabac.js/node_modules/http-status-codes/build/es/utils.js");\n\n/**\n * Returns the reason phrase for the given status code.\n * If the given status code does not exist, an error is thrown.\n *\n * @param {number|string} statusCode The HTTP status code\n * @returns {string} The associated reason phrase (e.g. "Bad Request", "OK")\n * */\nfunction getReasonPhrase(statusCode) {\n var result = _utils__WEBPACK_IMPORTED_MODULE_0__.statusCodeToReasonPhrase[statusCode.toString()];\n if (!result) {\n throw new Error("Status code does not exist: " + statusCode);\n }\n return result;\n}\n/**\n * Returns the status code for the given reason phrase.\n * If the given reason phrase does not exist, undefined is returned.\n *\n * @param {string} reasonPhrase The HTTP reason phrase (e.g. "Bad Request", "OK")\n * @returns {string} The associated status code\n * */\nfunction getStatusCode(reasonPhrase) {\n var result = _utils__WEBPACK_IMPORTED_MODULE_0__.reasonPhraseToStatusCode[reasonPhrase];\n if (!result) {\n throw new Error("Reason phrase does not exist: " + reasonPhrase);\n }\n return result;\n}\n/**\n * @deprecated\n *\n * Returns the reason phrase for the given status code.\n * If the given status code does not exist, undefined is returned.\n *\n * Deprecated in favor of getReasonPhrase\n *\n * @param {number|string} statusCode The HTTP status code\n * @returns {string|undefined} The associated reason phrase (e.g. "Bad Request", "OK")\n * */\nvar getStatusText = getReasonPhrase;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/http-status-codes/build/es/utils-functions.js?')},"../wabac.js/node_modules/http-status-codes/build/es/utils.js":
/*!********************************************************************!*\
!*** ../wabac.js/node_modules/http-status-codes/build/es/utils.js ***!
\********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "reasonPhraseToStatusCode": () => (/* binding */ reasonPhraseToStatusCode),\n/* harmony export */ "statusCodeToReasonPhrase": () => (/* binding */ statusCodeToReasonPhrase)\n/* harmony export */ });\n// Generated file. Do not edit\nvar statusCodeToReasonPhrase = {\n "202": "Accepted",\n "502": "Bad Gateway",\n "400": "Bad Request",\n "409": "Conflict",\n "100": "Continue",\n "201": "Created",\n "417": "Expectation Failed",\n "424": "Failed Dependency",\n "403": "Forbidden",\n "504": "Gateway Timeout",\n "410": "Gone",\n "505": "HTTP Version Not Supported",\n "418": "I\'m a teapot",\n "419": "Insufficient Space on Resource",\n "507": "Insufficient Storage",\n "500": "Internal Server Error",\n "411": "Length Required",\n "423": "Locked",\n "420": "Method Failure",\n "405": "Method Not Allowed",\n "301": "Moved Permanently",\n "302": "Moved Temporarily",\n "207": "Multi-Status",\n "300": "Multiple Choices",\n "511": "Network Authentication Required",\n "204": "No Content",\n "203": "Non Authoritative Information",\n "406": "Not Acceptable",\n "404": "Not Found",\n "501": "Not Implemented",\n "304": "Not Modified",\n "200": "OK",\n "206": "Partial Content",\n "402": "Payment Required",\n "308": "Permanent Redirect",\n "412": "Precondition Failed",\n "428": "Precondition Required",\n "102": "Processing",\n "407": "Proxy Authentication Required",\n "431": "Request Header Fields Too Large",\n "408": "Request Timeout",\n "413": "Request Entity Too Large",\n "414": "Request-URI Too Long",\n "416": "Requested Range Not Satisfiable",\n "205": "Reset Content",\n "303": "See Other",\n "503": "Service Unavailable",\n "101": "Switching Protocols",\n "307": "Temporary Redirect",\n "429": "Too Many Requests",\n "401": "Unauthorized",\n "451": "Unavailable For Legal Reasons",\n "422": "Unprocessable Entity",\n "415": "Unsupported Media Type",\n "305": "Use Proxy"\n};\nvar reasonPhraseToStatusCode = {\n "Accepted": 202,\n "Bad Gateway": 502,\n "Bad Request": 400,\n "Conflict": 409,\n "Continue": 100,\n "Created": 201,\n "Expectation Failed": 417,\n "Failed Dependency": 424,\n "Forbidden": 403,\n "Gateway Timeout": 504,\n "Gone": 410,\n "HTTP Version Not Supported": 505,\n "I\'m a teapot": 418,\n "Insufficient Space on Resource": 419,\n "Insufficient Storage": 507,\n "Internal Server Error": 500,\n "Length Required": 411,\n "Locked": 423,\n "Method Failure": 420,\n "Method Not Allowed": 405,\n "Moved Permanently": 301,\n "Moved Temporarily": 302,\n "Multi-Status": 207,\n "Multiple Choices": 300,\n "Network Authentication Required": 511,\n "No Content": 204,\n "Non Authoritative Information": 203,\n "Not Acceptable": 406,\n "Not Found": 404,\n "Not Implemented": 501,\n "Not Modified": 304,\n "OK": 200,\n "Partial Content": 206,\n "Payment Required": 402,\n "Permanent Redirect": 308,\n "Precondition Failed": 412,\n "Precondition Required": 428,\n "Processing": 102,\n "Proxy Authentication Required": 407,\n "Request Header Fields Too Large": 431,\n "Request Timeout": 408,\n "Request Entity Too Large": 413,\n "Request-URI Too Long": 414,\n "Requested Range Not Satisfiable": 416,\n "Reset Content": 205,\n "See Other": 303,\n "Service Unavailable": 503,\n "Switching Protocols": 101,\n "Temporary Redirect": 307,\n "Too Many Requests": 429,\n "Unauthorized": 401,\n "Unavailable For Legal Reasons": 451,\n "Unprocessable Entity": 422,\n "Unsupported Media Type": 415,\n "Use Proxy": 305\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/http-status-codes/build/es/utils.js?')},"../wabac.js/node_modules/ieee754/index.js":
/*!*************************************************!*\
!*** ../wabac.js/node_modules/ieee754/index.js ***!
\*************************************************/(__unused_webpack_module,exports)=>{eval("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/ieee754/index.js?")},"../wabac.js/node_modules/inherits/inherits_browser.js":
/*!*************************************************************!*\
!*** ../wabac.js/node_modules/inherits/inherits_browser.js ***!
\*************************************************************/module=>{eval("if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/inherits/inherits_browser.js?")},"../wabac.js/node_modules/ipaddr.js/lib/ipaddr.js":
/*!********************************************************!*\
!*** ../wabac.js/node_modules/ipaddr.js/lib/ipaddr.js ***!
\********************************************************/function(module){eval("(function (root) {\n 'use strict';\n // A list of regular expressions that match arbitrary IPv4 addresses,\n // for which a number of weird notations exist.\n // Note that an address like 0010.0xa5.1.1 is considered legal.\n const ipv4Part = '(0?\\\\d+|0x[a-f0-9]+)';\n const ipv4Regexes = {\n fourOctet: new RegExp(`^${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}$`, 'i'),\n threeOctet: new RegExp(`^${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}$`, 'i'),\n twoOctet: new RegExp(`^${ipv4Part}\\\\.${ipv4Part}$`, 'i'),\n longValue: new RegExp(`^${ipv4Part}$`, 'i')\n };\n\n // Regular Expression for checking Octal numbers\n const octalRegex = new RegExp(`^0[0-7]+$`, 'i');\n const hexRegex = new RegExp(`^0x[a-f0-9]+$`, 'i');\n\n const zoneIndex = '%[0-9a-z]{1,}';\n\n // IPv6-matching regular expressions.\n // For IPv6, the task is simpler: it is enough to match the colon-delimited\n // hexadecimal IPv6 and a transitional variant with dotted-decimal IPv4 at\n // the end.\n const ipv6Part = '(?:[0-9a-f]+::?)+';\n const ipv6Regexes = {\n zoneIndex: new RegExp(zoneIndex, 'i'),\n 'native': new RegExp(`^(::)?(${ipv6Part})?([0-9a-f]+)?(::)?(${zoneIndex})?$`, 'i'),\n deprecatedTransitional: new RegExp(`^(?:::)(${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}(${zoneIndex})?)$`, 'i'),\n transitional: new RegExp(`^((?:${ipv6Part})|(?:::)(?:${ipv6Part})?)${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}\\\\.${ipv4Part}(${zoneIndex})?$`, 'i')\n };\n\n // Expand :: in an IPv6 address or address part consisting of `parts` groups.\n function expandIPv6 (string, parts) {\n // More than one '::' means invalid adddress\n if (string.indexOf('::') !== string.lastIndexOf('::')) {\n return null;\n }\n\n let colonCount = 0;\n let lastColon = -1;\n let zoneId = (string.match(ipv6Regexes.zoneIndex) || [])[0];\n let replacement, replacementCount;\n\n // Remove zone index and save it for later\n if (zoneId) {\n zoneId = zoneId.substring(1);\n string = string.replace(/%.+$/, '');\n }\n\n // How many parts do we already have?\n while ((lastColon = string.indexOf(':', lastColon + 1)) >= 0) {\n colonCount++;\n }\n\n // 0::0 is two parts more than ::\n if (string.substr(0, 2) === '::') {\n colonCount--;\n }\n\n if (string.substr(-2, 2) === '::') {\n colonCount--;\n }\n\n // The following loop would hang if colonCount > parts\n if (colonCount > parts) {\n return null;\n }\n\n // replacement = ':' + '0:' * (parts - colonCount)\n replacementCount = parts - colonCount;\n replacement = ':';\n while (replacementCount--) {\n replacement += '0:';\n }\n\n // Insert the missing zeroes\n string = string.replace('::', replacement);\n\n // Trim any garbage which may be hanging around if :: was at the edge in\n // the source strin\n if (string[0] === ':') {\n string = string.slice(1);\n }\n\n if (string[string.length - 1] === ':') {\n string = string.slice(0, -1);\n }\n\n parts = (function () {\n const ref = string.split(':');\n const results = [];\n\n for (let i = 0; i < ref.length; i++) {\n results.push(parseInt(ref[i], 16));\n }\n\n return results;\n })();\n\n return {\n parts: parts,\n zoneId: zoneId\n };\n }\n\n // A generic CIDR (Classless Inter-Domain Routing) RFC1518 range matcher.\n function matchCIDR (first, second, partSize, cidrBits) {\n if (first.length !== second.length) {\n throw new Error('ipaddr: cannot match CIDR for objects with different lengths');\n }\n\n let part = 0;\n let shift;\n\n while (cidrBits > 0) {\n shift = partSize - cidrBits;\n if (shift < 0) {\n shift = 0;\n }\n\n if (first[part] >> shift !== second[part] >> shift) {\n return false;\n }\n\n cidrBits -= partSize;\n part += 1;\n }\n\n return true;\n }\n\n function parseIntAuto (string) {\n // Hexadedimal base 16 (0x#)\n if (hexRegex.test(string)) {\n return parseInt(string, 16);\n }\n // While octal representation is discouraged by ECMAScript 3\n // and forbidden by ECMAScript 5, we silently allow it to\n // work only if the rest of the string has numbers less than 8.\n if (string[0] === '0' && !isNaN(parseInt(string[1], 10))) {\n if (octalRegex.test(string)) {\n return parseInt(string, 8);\n }\n throw new Error(`ipaddr: cannot parse ${string} as octal`);\n }\n // Always include the base 10 radix!\n return parseInt(string, 10);\n }\n\n function padPart (part, length) {\n while (part.length < length) {\n part = `0${part}`;\n }\n\n return part;\n }\n\n const ipaddr = {};\n\n // An IPv4 address (RFC791).\n ipaddr.IPv4 = (function () {\n // Constructs a new IPv4 address from an array of four octets\n // in network order (MSB first)\n // Verifies the input.\n function IPv4 (octets) {\n if (octets.length !== 4) {\n throw new Error('ipaddr: ipv4 octet count should be 4');\n }\n\n let i, octet;\n\n for (i = 0; i < octets.length; i++) {\n octet = octets[i];\n if (!((0 <= octet && octet <= 255))) {\n throw new Error('ipaddr: ipv4 octet should fit in 8 bits');\n }\n }\n\n this.octets = octets;\n }\n\n // Special IPv4 address ranges.\n // See also https://en.wikipedia.org/wiki/Reserved_IP_addresses\n IPv4.prototype.SpecialRanges = {\n unspecified: [[new IPv4([0, 0, 0, 0]), 8]],\n broadcast: [[new IPv4([255, 255, 255, 255]), 32]],\n // RFC3171\n multicast: [[new IPv4([224, 0, 0, 0]), 4]],\n // RFC3927\n linkLocal: [[new IPv4([169, 254, 0, 0]), 16]],\n // RFC5735\n loopback: [[new IPv4([127, 0, 0, 0]), 8]],\n // RFC6598\n carrierGradeNat: [[new IPv4([100, 64, 0, 0]), 10]],\n // RFC1918\n 'private': [\n [new IPv4([10, 0, 0, 0]), 8],\n [new IPv4([172, 16, 0, 0]), 12],\n [new IPv4([192, 168, 0, 0]), 16]\n ],\n // Reserved and testing-only ranges; RFCs 5735, 5737, 2544, 1700\n reserved: [\n [new IPv4([192, 0, 0, 0]), 24],\n [new IPv4([192, 0, 2, 0]), 24],\n [new IPv4([192, 88, 99, 0]), 24],\n [new IPv4([198, 51, 100, 0]), 24],\n [new IPv4([203, 0, 113, 0]), 24],\n [new IPv4([240, 0, 0, 0]), 4]\n ]\n };\n\n // The 'kind' method exists on both IPv4 and IPv6 classes.\n IPv4.prototype.kind = function () {\n return 'ipv4';\n };\n\n // Checks if this address matches other one within given CIDR range.\n IPv4.prototype.match = function (other, cidrRange) {\n let ref;\n if (cidrRange === undefined) {\n ref = other;\n other = ref[0];\n cidrRange = ref[1];\n }\n\n if (other.kind() !== 'ipv4') {\n throw new Error('ipaddr: cannot match ipv4 address with non-ipv4 one');\n }\n\n return matchCIDR(this.octets, other.octets, 8, cidrRange);\n };\n\n // returns a number of leading ones in IPv4 address, making sure that\n // the rest is a solid sequence of 0's (valid netmask)\n // returns either the CIDR length or null if mask is not valid\n IPv4.prototype.prefixLengthFromSubnetMask = function () {\n let cidr = 0;\n // non-zero encountered stop scanning for zeroes\n let stop = false;\n // number of zeroes in octet\n const zerotable = {\n 0: 8,\n 128: 7,\n 192: 6,\n 224: 5,\n 240: 4,\n 248: 3,\n 252: 2,\n 254: 1,\n 255: 0\n };\n let i, octet, zeros;\n\n for (i = 3; i >= 0; i -= 1) {\n octet = this.octets[i];\n if (octet in zerotable) {\n zeros = zerotable[octet];\n if (stop && zeros !== 0) {\n return null;\n }\n\n if (zeros !== 8) {\n stop = true;\n }\n\n cidr += zeros;\n } else {\n return null;\n }\n }\n\n return 32 - cidr;\n };\n\n // Checks if the address corresponds to one of the special ranges.\n IPv4.prototype.range = function () {\n return ipaddr.subnetMatch(this, this.SpecialRanges);\n };\n\n // Returns an array of byte-sized values in network order (MSB first)\n IPv4.prototype.toByteArray = function () {\n return this.octets.slice(0);\n };\n\n // Converts this IPv4 address to an IPv4-mapped IPv6 address.\n IPv4.prototype.toIPv4MappedAddress = function () {\n return ipaddr.IPv6.parse(`::ffff:${this.toString()}`);\n };\n\n // Symmetrical method strictly for aligning with the IPv6 methods.\n IPv4.prototype.toNormalizedString = function () {\n return this.toString();\n };\n\n // Returns the address in convenient, decimal-dotted format.\n IPv4.prototype.toString = function () {\n return this.octets.join('.');\n };\n\n return IPv4;\n })();\n\n // A utility function to return broadcast address given the IPv4 interface and prefix length in CIDR notation\n ipaddr.IPv4.broadcastAddressFromCIDR = function (string) {\n\n try {\n const cidr = this.parseCIDR(string);\n const ipInterfaceOctets = cidr[0].toByteArray();\n const subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n const octets = [];\n let i = 0;\n while (i < 4) {\n // Broadcast address is bitwise OR between ip interface and inverted mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255);\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error('ipaddr: the address does not have IPv4 CIDR format');\n }\n };\n\n // Checks if a given string is formatted like IPv4 address.\n ipaddr.IPv4.isIPv4 = function (string) {\n return this.parser(string) !== null;\n };\n\n // Checks if a given string is a valid IPv4 address.\n ipaddr.IPv4.isValid = function (string) {\n try {\n new this(this.parser(string));\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // Checks if a given string is a full four-part IPv4 Address.\n ipaddr.IPv4.isValidFourPartDecimal = function (string) {\n if (ipaddr.IPv4.isValid(string) && string.match(/^(0|[1-9]\\d*)(\\.(0|[1-9]\\d*)){3}$/)) {\n return true;\n } else {\n return false;\n }\n };\n\n // A utility function to return network address given the IPv4 interface and prefix length in CIDR notation\n ipaddr.IPv4.networkAddressFromCIDR = function (string) {\n let cidr, i, ipInterfaceOctets, octets, subnetMaskOctets;\n\n try {\n cidr = this.parseCIDR(string);\n ipInterfaceOctets = cidr[0].toByteArray();\n subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n octets = [];\n i = 0;\n while (i < 4) {\n // Network address is bitwise AND between ip interface and mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10));\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error('ipaddr: the address does not have IPv4 CIDR format');\n }\n };\n\n // Tries to parse and validate a string with IPv4 address.\n // Throws an error if it fails.\n ipaddr.IPv4.parse = function (string) {\n const parts = this.parser(string);\n\n if (parts === null) {\n throw new Error('ipaddr: string is not formatted like an IPv4 Address');\n }\n\n return new this(parts);\n };\n\n // Parses the string as an IPv4 Address with CIDR Notation.\n ipaddr.IPv4.parseCIDR = function (string) {\n let match;\n\n if ((match = string.match(/^(.+)\\/(\\d+)$/))) {\n const maskLength = parseInt(match[2]);\n if (maskLength >= 0 && maskLength <= 32) {\n const parsed = [this.parse(match[1]), maskLength];\n Object.defineProperty(parsed, 'toString', {\n value: function () {\n return this.join('/');\n }\n });\n return parsed;\n }\n }\n\n throw new Error('ipaddr: string is not formatted like an IPv4 CIDR range');\n };\n\n // Classful variants (like a.b, where a is an octet, and b is a 24-bit\n // value representing last three octets; this corresponds to a class C\n // address) are omitted due to classless nature of modern Internet.\n ipaddr.IPv4.parser = function (string) {\n let match, part, value;\n\n // parseInt recognizes all that octal & hexadecimal weirdness for us\n if ((match = string.match(ipv4Regexes.fourOctet))) {\n return (function () {\n const ref = match.slice(1, 6);\n const results = [];\n\n for (let i = 0; i < ref.length; i++) {\n part = ref[i];\n results.push(parseIntAuto(part));\n }\n\n return results;\n })();\n } else if ((match = string.match(ipv4Regexes.longValue))) {\n value = parseIntAuto(match[1]);\n if (value > 0xffffffff || value < 0) {\n throw new Error('ipaddr: address outside defined range');\n }\n\n return ((function () {\n const results = [];\n let shift;\n\n for (shift = 0; shift <= 24; shift += 8) {\n results.push((value >> shift) & 0xff);\n }\n\n return results;\n })()).reverse();\n } else if ((match = string.match(ipv4Regexes.twoOctet))) {\n return (function () {\n const ref = match.slice(1, 4);\n const results = [];\n\n value = parseIntAuto(ref[1]);\n if (value > 0xffffff || value < 0) {\n throw new Error('ipaddr: address outside defined range');\n }\n\n results.push(parseIntAuto(ref[0]));\n results.push((value >> 16) & 0xff);\n results.push((value >> 8) & 0xff);\n results.push( value & 0xff);\n\n return results;\n })();\n } else if ((match = string.match(ipv4Regexes.threeOctet))) {\n return (function () {\n const ref = match.slice(1, 5);\n const results = [];\n\n value = parseIntAuto(ref[2]);\n if (value > 0xffff || value < 0) {\n throw new Error('ipaddr: address outside defined range');\n }\n\n results.push(parseIntAuto(ref[0]));\n results.push(parseIntAuto(ref[1]));\n results.push((value >> 8) & 0xff);\n results.push( value & 0xff);\n\n return results;\n })();\n } else {\n return null;\n }\n };\n\n // A utility function to return subnet mask in IPv4 format given the prefix length\n ipaddr.IPv4.subnetMaskFromPrefixLength = function (prefix) {\n prefix = parseInt(prefix);\n if (prefix < 0 || prefix > 32) {\n throw new Error('ipaddr: invalid IPv4 prefix length');\n }\n\n const octets = [0, 0, 0, 0];\n let j = 0;\n const filledOctetCount = Math.floor(prefix / 8);\n\n while (j < filledOctetCount) {\n octets[j] = 255;\n j++;\n }\n\n if (filledOctetCount < 4) {\n octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - (prefix % 8);\n }\n\n return new this(octets);\n };\n\n // An IPv6 address (RFC2460)\n ipaddr.IPv6 = (function () {\n // Constructs an IPv6 address from an array of eight 16 - bit parts\n // or sixteen 8 - bit parts in network order(MSB first).\n // Throws an error if the input is invalid.\n function IPv6 (parts, zoneId) {\n let i, part;\n\n if (parts.length === 16) {\n this.parts = [];\n for (i = 0; i <= 14; i += 2) {\n this.parts.push((parts[i] << 8) | parts[i + 1]);\n }\n } else if (parts.length === 8) {\n this.parts = parts;\n } else {\n throw new Error('ipaddr: ipv6 part count should be 8 or 16');\n }\n\n for (i = 0; i < this.parts.length; i++) {\n part = this.parts[i];\n if (!((0 <= part && part <= 0xffff))) {\n throw new Error('ipaddr: ipv6 part should fit in 16 bits');\n }\n }\n\n if (zoneId) {\n this.zoneId = zoneId;\n }\n }\n\n // Special IPv6 ranges\n IPv6.prototype.SpecialRanges = {\n // RFC4291, here and after\n unspecified: [new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128],\n linkLocal: [new IPv6([0xfe80, 0, 0, 0, 0, 0, 0, 0]), 10],\n multicast: [new IPv6([0xff00, 0, 0, 0, 0, 0, 0, 0]), 8],\n loopback: [new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128],\n uniqueLocal: [new IPv6([0xfc00, 0, 0, 0, 0, 0, 0, 0]), 7],\n ipv4Mapped: [new IPv6([0, 0, 0, 0, 0, 0xffff, 0, 0]), 96],\n // RFC6145\n rfc6145: [new IPv6([0, 0, 0, 0, 0xffff, 0, 0, 0]), 96],\n // RFC6052\n rfc6052: [new IPv6([0x64, 0xff9b, 0, 0, 0, 0, 0, 0]), 96],\n // RFC3056\n '6to4': [new IPv6([0x2002, 0, 0, 0, 0, 0, 0, 0]), 16],\n // RFC6052, RFC6146\n teredo: [new IPv6([0x2001, 0, 0, 0, 0, 0, 0, 0]), 32],\n // RFC4291\n reserved: [[new IPv6([0x2001, 0xdb8, 0, 0, 0, 0, 0, 0]), 32]]\n };\n\n // Checks if this address is an IPv4-mapped IPv6 address.\n IPv6.prototype.isIPv4MappedAddress = function () {\n return this.range() === 'ipv4Mapped';\n };\n\n // The 'kind' method exists on both IPv4 and IPv6 classes.\n IPv6.prototype.kind = function () {\n return 'ipv6';\n };\n\n // Checks if this address matches other one within given CIDR range.\n IPv6.prototype.match = function (other, cidrRange) {\n let ref;\n\n if (cidrRange === undefined) {\n ref = other;\n other = ref[0];\n cidrRange = ref[1];\n }\n\n if (other.kind() !== 'ipv6') {\n throw new Error('ipaddr: cannot match ipv6 address with non-ipv6 one');\n }\n\n return matchCIDR(this.parts, other.parts, 16, cidrRange);\n };\n\n // returns a number of leading ones in IPv6 address, making sure that\n // the rest is a solid sequence of 0's (valid netmask)\n // returns either the CIDR length or null if mask is not valid\n IPv6.prototype.prefixLengthFromSubnetMask = function () {\n let cidr = 0;\n // non-zero encountered stop scanning for zeroes\n let stop = false;\n // number of zeroes in octet\n const zerotable = {\n 0: 16,\n 32768: 15,\n 49152: 14,\n 57344: 13,\n 61440: 12,\n 63488: 11,\n 64512: 10,\n 65024: 9,\n 65280: 8,\n 65408: 7,\n 65472: 6,\n 65504: 5,\n 65520: 4,\n 65528: 3,\n 65532: 2,\n 65534: 1,\n 65535: 0\n };\n let part, zeros;\n\n for (let i = 7; i >= 0; i -= 1) {\n part = this.parts[i];\n if (part in zerotable) {\n zeros = zerotable[part];\n if (stop && zeros !== 0) {\n return null;\n }\n\n if (zeros !== 16) {\n stop = true;\n }\n\n cidr += zeros;\n } else {\n return null;\n }\n }\n\n return 128 - cidr;\n };\n\n\n // Checks if the address corresponds to one of the special ranges.\n IPv6.prototype.range = function () {\n return ipaddr.subnetMatch(this, this.SpecialRanges);\n };\n\n // Returns an array of byte-sized values in network order (MSB first)\n IPv6.prototype.toByteArray = function () {\n let part;\n const bytes = [];\n const ref = this.parts;\n for (let i = 0; i < ref.length; i++) {\n part = ref[i];\n bytes.push(part >> 8);\n bytes.push(part & 0xff);\n }\n\n return bytes;\n };\n\n // Returns the address in expanded format with all zeroes included, like\n // 2001:0db8:0008:0066:0000:0000:0000:0001\n IPv6.prototype.toFixedLengthString = function () {\n const addr = ((function () {\n const results = [];\n for (let i = 0; i < this.parts.length; i++) {\n results.push(padPart(this.parts[i].toString(16), 4));\n }\n\n return results;\n }).call(this)).join(':');\n\n let suffix = '';\n\n if (this.zoneId) {\n suffix = `%${this.zoneId}`;\n }\n\n return addr + suffix;\n };\n\n // Converts this address to IPv4 address if it is an IPv4-mapped IPv6 address.\n // Throws an error otherwise.\n IPv6.prototype.toIPv4Address = function () {\n if (!this.isIPv4MappedAddress()) {\n throw new Error('ipaddr: trying to convert a generic ipv6 address to ipv4');\n }\n\n const ref = this.parts.slice(-2);\n const high = ref[0];\n const low = ref[1];\n\n return new ipaddr.IPv4([high >> 8, high & 0xff, low >> 8, low & 0xff]);\n };\n\n // Returns the address in expanded format with all zeroes included, like\n // 2001:db8:8:66:0:0:0:1\n //\n // Deprecated: use toFixedLengthString() instead.\n IPv6.prototype.toNormalizedString = function () {\n const addr = ((function () {\n const results = [];\n\n for (let i = 0; i < this.parts.length; i++) {\n results.push(this.parts[i].toString(16));\n }\n\n return results;\n }).call(this)).join(':');\n\n let suffix = '';\n\n if (this.zoneId) {\n suffix = `%${this.zoneId}`;\n }\n\n return addr + suffix;\n };\n\n // Returns the address in compact, human-readable format like\n // 2001:db8:8:66::1\n // in line with RFC 5952 (see https://tools.ietf.org/html/rfc5952#section-4)\n IPv6.prototype.toRFC5952String = function () {\n const regex = /((^|:)(0(:|$)){2,})/g;\n const string = this.toNormalizedString();\n let bestMatchIndex = 0;\n let bestMatchLength = -1;\n let match;\n\n while ((match = regex.exec(string))) {\n if (match[0].length > bestMatchLength) {\n bestMatchIndex = match.index;\n bestMatchLength = match[0].length;\n }\n }\n\n if (bestMatchLength < 0) {\n return string;\n }\n\n return `${string.substring(0, bestMatchIndex)}::${string.substring(bestMatchIndex + bestMatchLength)}`;\n };\n\n // Returns the address in compact, human-readable format like\n // 2001:db8:8:66::1\n //\n // Deprecated: use toRFC5952String() instead.\n IPv6.prototype.toString = function () {\n // Replace the first sequence of 1 or more '0' parts with '::'\n return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/, '::');\n };\n\n return IPv6;\n\n })();\n\n // A utility function to return broadcast address given the IPv6 interface and prefix length in CIDR notation\n ipaddr.IPv6.broadcastAddressFromCIDR = function (string) {\n try {\n const cidr = this.parseCIDR(string);\n const ipInterfaceOctets = cidr[0].toByteArray();\n const subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n const octets = [];\n let i = 0;\n while (i < 16) {\n // Broadcast address is bitwise OR between ip interface and inverted mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255);\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`);\n }\n };\n\n // Checks if a given string is formatted like IPv6 address.\n ipaddr.IPv6.isIPv6 = function (string) {\n return this.parser(string) !== null;\n };\n\n // Checks to see if string is a valid IPv6 Address\n ipaddr.IPv6.isValid = function (string) {\n\n // Since IPv6.isValid is always called first, this shortcut\n // provides a substantial performance gain.\n if (typeof string === 'string' && string.indexOf(':') === -1) {\n return false;\n }\n\n try {\n const addr = this.parser(string);\n new this(addr.parts, addr.zoneId);\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // A utility function to return network address given the IPv6 interface and prefix length in CIDR notation\n ipaddr.IPv6.networkAddressFromCIDR = function (string) {\n let cidr, i, ipInterfaceOctets, octets, subnetMaskOctets;\n\n try {\n cidr = this.parseCIDR(string);\n ipInterfaceOctets = cidr[0].toByteArray();\n subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();\n octets = [];\n i = 0;\n while (i < 16) {\n // Network address is bitwise AND between ip interface and mask\n octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10));\n i++;\n }\n\n return new this(octets);\n } catch (e) {\n throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`);\n }\n };\n\n // Tries to parse and validate a string with IPv6 address.\n // Throws an error if it fails.\n ipaddr.IPv6.parse = function (string) {\n const addr = this.parser(string);\n\n if (addr.parts === null) {\n throw new Error('ipaddr: string is not formatted like an IPv6 Address');\n }\n\n return new this(addr.parts, addr.zoneId);\n };\n\n ipaddr.IPv6.parseCIDR = function (string) {\n let maskLength, match, parsed;\n\n if ((match = string.match(/^(.+)\\/(\\d+)$/))) {\n maskLength = parseInt(match[2]);\n if (maskLength >= 0 && maskLength <= 128) {\n parsed = [this.parse(match[1]), maskLength];\n Object.defineProperty(parsed, 'toString', {\n value: function () {\n return this.join('/');\n }\n });\n return parsed;\n }\n }\n\n throw new Error('ipaddr: string is not formatted like an IPv6 CIDR range');\n };\n\n // Parse an IPv6 address.\n ipaddr.IPv6.parser = function (string) {\n let addr, i, match, octet, octets, zoneId;\n\n if ((match = string.match(ipv6Regexes.deprecatedTransitional))) {\n return this.parser(`::ffff:${match[1]}`);\n }\n if (ipv6Regexes.native.test(string)) {\n return expandIPv6(string, 8);\n }\n if ((match = string.match(ipv6Regexes.transitional))) {\n zoneId = match[6] || '';\n addr = expandIPv6(match[1].slice(0, -1) + zoneId, 6);\n if (addr.parts) {\n octets = [\n parseInt(match[2]),\n parseInt(match[3]),\n parseInt(match[4]),\n parseInt(match[5])\n ];\n for (i = 0; i < octets.length; i++) {\n octet = octets[i];\n if (!((0 <= octet && octet <= 255))) {\n return null;\n }\n }\n\n addr.parts.push(octets[0] << 8 | octets[1]);\n addr.parts.push(octets[2] << 8 | octets[3]);\n return {\n parts: addr.parts,\n zoneId: addr.zoneId\n };\n }\n }\n\n return null;\n };\n\n // A utility function to return subnet mask in IPv6 format given the prefix length\n ipaddr.IPv6.subnetMaskFromPrefixLength = function (prefix) {\n prefix = parseInt(prefix);\n if (prefix < 0 || prefix > 128) {\n throw new Error('ipaddr: invalid IPv6 prefix length');\n }\n\n const octets = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n let j = 0;\n const filledOctetCount = Math.floor(prefix / 8);\n\n while (j < filledOctetCount) {\n octets[j] = 255;\n j++;\n }\n\n if (filledOctetCount < 16) {\n octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - (prefix % 8);\n }\n\n return new this(octets);\n };\n\n // Try to parse an array in network order (MSB first) for IPv4 and IPv6\n ipaddr.fromByteArray = function (bytes) {\n const length = bytes.length;\n\n if (length === 4) {\n return new ipaddr.IPv4(bytes);\n } else if (length === 16) {\n return new ipaddr.IPv6(bytes);\n } else {\n throw new Error('ipaddr: the binary input is neither an IPv6 nor IPv4 address');\n }\n };\n\n // Checks if the address is valid IP address\n ipaddr.isValid = function (string) {\n return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string);\n };\n\n\n // Attempts to parse an IP Address, first through IPv6 then IPv4.\n // Throws an error if it could not be parsed.\n ipaddr.parse = function (string) {\n if (ipaddr.IPv6.isValid(string)) {\n return ipaddr.IPv6.parse(string);\n } else if (ipaddr.IPv4.isValid(string)) {\n return ipaddr.IPv4.parse(string);\n } else {\n throw new Error('ipaddr: the address has neither IPv6 nor IPv4 format');\n }\n };\n\n // Attempt to parse CIDR notation, first through IPv6 then IPv4.\n // Throws an error if it could not be parsed.\n ipaddr.parseCIDR = function (string) {\n try {\n return ipaddr.IPv6.parseCIDR(string);\n } catch (e) {\n try {\n return ipaddr.IPv4.parseCIDR(string);\n } catch (e2) {\n throw new Error('ipaddr: the address has neither IPv6 nor IPv4 CIDR format');\n }\n }\n };\n\n // Parse an address and return plain IPv4 address if it is an IPv4-mapped address\n ipaddr.process = function (string) {\n const addr = this.parse(string);\n\n if (addr.kind() === 'ipv6' && addr.isIPv4MappedAddress()) {\n return addr.toIPv4Address();\n } else {\n return addr;\n }\n };\n\n // An utility function to ease named range matching. See examples below.\n // rangeList can contain both IPv4 and IPv6 subnet entries and will not throw errors\n // on matching IPv4 addresses to IPv6 ranges or vice versa.\n ipaddr.subnetMatch = function (address, rangeList, defaultName) {\n let i, rangeName, rangeSubnets, subnet;\n\n if (defaultName === undefined || defaultName === null) {\n defaultName = 'unicast';\n }\n\n for (rangeName in rangeList) {\n if (Object.prototype.hasOwnProperty.call(rangeList, rangeName)) {\n rangeSubnets = rangeList[rangeName];\n // ECMA5 Array.isArray isn't available everywhere\n if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) {\n rangeSubnets = [rangeSubnets];\n }\n\n for (i = 0; i < rangeSubnets.length; i++) {\n subnet = rangeSubnets[i];\n if (address.kind() === subnet[0].kind() && address.match.apply(address, subnet)) {\n return rangeName;\n }\n }\n }\n }\n\n return defaultName;\n };\n\n // Export for both the CommonJS and browser-like environment\n if ( true && module.exports) {\n module.exports = ipaddr;\n\n } else {\n root.ipaddr = ipaddr;\n }\n\n}(this));\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/ipaddr.js/lib/ipaddr.js?")},"../wabac.js/node_modules/js-levenshtein/index.js":
/*!********************************************************!*\
!*** ../wabac.js/node_modules/js-levenshtein/index.js ***!
\********************************************************/module=>{"use strict";eval("\nmodule.exports = (function()\n{\n function _min(d0, d1, d2, bx, ay)\n {\n return d0 < d1 || d2 < d1\n ? d0 > d2\n ? d2 + 1\n : d0 + 1\n : bx === ay\n ? d1\n : d1 + 1;\n }\n\n return function(a, b)\n {\n if (a === b) {\n return 0;\n }\n\n if (a.length > b.length) {\n var tmp = a;\n a = b;\n b = tmp;\n }\n\n var la = a.length;\n var lb = b.length;\n\n while (la > 0 && (a.charCodeAt(la - 1) === b.charCodeAt(lb - 1))) {\n la--;\n lb--;\n }\n\n var offset = 0;\n\n while (offset < la && (a.charCodeAt(offset) === b.charCodeAt(offset))) {\n offset++;\n }\n\n la -= offset;\n lb -= offset;\n\n if (la === 0 || lb < 3) {\n return lb;\n }\n\n var x = 0;\n var y;\n var d0;\n var d1;\n var d2;\n var d3;\n var dd;\n var dy;\n var ay;\n var bx0;\n var bx1;\n var bx2;\n var bx3;\n\n var vector = [];\n\n for (y = 0; y < la; y++) {\n vector.push(y + 1);\n vector.push(a.charCodeAt(offset + y));\n }\n\n var len = vector.length - 1;\n\n for (; x < lb - 3;) {\n bx0 = b.charCodeAt(offset + (d0 = x));\n bx1 = b.charCodeAt(offset + (d1 = x + 1));\n bx2 = b.charCodeAt(offset + (d2 = x + 2));\n bx3 = b.charCodeAt(offset + (d3 = x + 3));\n dd = (x += 4);\n for (y = 0; y < len; y += 2) {\n dy = vector[y];\n ay = vector[y + 1];\n d0 = _min(dy, d0, d1, bx0, ay);\n d1 = _min(d0, d1, d2, bx1, ay);\n d2 = _min(d1, d2, d3, bx2, ay);\n dd = _min(d2, d3, dd, bx3, ay);\n vector[y] = dd;\n d3 = d2;\n d2 = d1;\n d1 = d0;\n d0 = dy;\n }\n }\n\n for (; x < lb;) {\n bx0 = b.charCodeAt(offset + (d0 = x));\n dd = ++x;\n for (y = 0; y < len; y += 2) {\n dy = vector[y];\n vector[y] = dd = _min(dy, d0, dd, bx0, vector[y + 1]);\n d0 = dy;\n }\n }\n\n return dd;\n };\n})();\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/js-levenshtein/index.js?")},"../wabac.js/node_modules/pako/index.js":
/*!**********************************************!*\
!*** ../wabac.js/node_modules/pako/index.js ***!
\**********************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('// Top level file is just a mixin of submodules & constants\n\n\nvar assign = (__webpack_require__(/*! ./lib/utils/common */ "../wabac.js/node_modules/pako/lib/utils/common.js").assign);\n\nvar deflate = __webpack_require__(/*! ./lib/deflate */ "../wabac.js/node_modules/pako/lib/deflate.js");\nvar inflate = __webpack_require__(/*! ./lib/inflate */ "../wabac.js/node_modules/pako/lib/inflate.js");\nvar constants = __webpack_require__(/*! ./lib/zlib/constants */ "../wabac.js/node_modules/pako/lib/zlib/constants.js");\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/index.js?')},"../wabac.js/node_modules/pako/lib/deflate.js":
/*!****************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/deflate.js ***!
\****************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\n\nvar zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ \"../wabac.js/node_modules/pako/lib/zlib/deflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../wabac.js/node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../wabac.js/node_modules/pako/lib/utils/strings.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../wabac.js/node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../wabac.js/node_modules/pako/lib/zlib/zstream.js\");\n\nvar toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_SYNC_FLUSH = 2;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Deflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate(options) {\n if (!(this instanceof Deflate)) return new Deflate(options);\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n var dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = zlib_deflate.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the compression context.\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/deflate.js?")},"../wabac.js/node_modules/pako/lib/inflate.js":
/*!****************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/inflate.js ***!
\****************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\n\n\nvar zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ \"../wabac.js/node_modules/pako/lib/zlib/inflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../wabac.js/node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../wabac.js/node_modules/pako/lib/utils/strings.js\");\nvar c = __webpack_require__(/*! ./zlib/constants */ \"../wabac.js/node_modules/pako/lib/zlib/constants.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../wabac.js/node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../wabac.js/node_modules/pako/lib/zlib/zstream.js\");\nvar GZheader = __webpack_require__(/*! ./zlib/gzheader */ \"../wabac.js/node_modules/pako/lib/zlib/gzheader.js\");\n\nvar toString = Object.prototype.toString;\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Inflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate(options) {\n if (!(this instanceof Inflate)) return new Inflate(options);\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new GZheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the decompression context.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var dictionary = this.options.dictionary;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n // Flag to properly process Z_BUF_ERROR on testing inflate call\n // when we check that all output data was flushed.\n var allowBufError = false;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status === c.Z_NEED_DICT && dictionary) {\n status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);\n }\n\n if (status === c.Z_BUF_ERROR && allowBufError === true) {\n status = c.Z_OK;\n allowBufError = false;\n }\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n\n // When no more input data, we should check that internal inflate buffers\n // are flushed. The only way to do it when avail_out = 0 - run one more\n // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.\n // Here we set flag to process this error properly.\n //\n // NOTE. Deflate does not return error in this case and does not needs such\n // logic.\n if (strm.avail_in === 0 && strm.avail_out === 0) {\n allowBufError = true;\n }\n\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === c.Z_SYNC_FLUSH) {\n this.onEnd(c.Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 aligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg || msg[inflator.err]; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/inflate.js?")},"../wabac.js/node_modules/pako/lib/utils/common.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/utils/common.js ***!
\*********************************************************/(__unused_webpack_module,exports)=>{"use strict";eval("\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n if (on) {\n exports.Buf8 = Uint8Array;\n exports.Buf16 = Uint16Array;\n exports.Buf32 = Int32Array;\n exports.assign(exports, fnTyped);\n } else {\n exports.Buf8 = Array;\n exports.Buf16 = Array;\n exports.Buf32 = Array;\n exports.assign(exports, fnUntyped);\n }\n};\n\nexports.setTyped(TYPED_OK);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/utils/common.js?")},"../wabac.js/node_modules/pako/lib/utils/strings.js":
/*!**********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/utils/strings.js ***!
\**********************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("// String encode/decode helpers\n\n\n\nvar utils = __webpack_require__(/*! ./common */ \"../wabac.js/node_modules/pako/lib/utils/common.js\");\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nvar STR_APPLY_OK = true;\nvar STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new utils.Buf8(256);\nfor (var q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for (var i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function (buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function (str) {\n var buf = new utils.Buf8(str.length);\n for (var i = 0, len = buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function (buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/utils/strings.js?")},"../wabac.js/node_modules/pako/lib/zlib/adler32.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/adler32.js ***!
\*********************************************************/module=>{"use strict";eval("\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/adler32.js?")},"../wabac.js/node_modules/pako/lib/zlib/constants.js":
/*!***********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/constants.js ***!
\***********************************************************/module=>{"use strict";eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/constants.js?")},"../wabac.js/node_modules/pako/lib/zlib/crc32.js":
/*!*******************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/crc32.js ***!
\*******************************************************/module=>{"use strict";eval("\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/crc32.js?")},"../wabac.js/node_modules/pako/lib/zlib/deflate.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/deflate.js ***!
\*********************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided \'as-is\', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ "../wabac.js/node_modules/pako/lib/utils/common.js");\nvar trees = __webpack_require__(/*! ./trees */ "../wabac.js/node_modules/pako/lib/zlib/trees.js");\nvar adler32 = __webpack_require__(/*! ./adler32 */ "../wabac.js/node_modules/pako/lib/zlib/adler32.js");\nvar crc32 = __webpack_require__(/*! ./crc32 */ "../wabac.js/node_modules/pako/lib/zlib/crc32.js");\nvar msg = __webpack_require__(/*! ./messages */ "../wabac.js/node_modules/pako/lib/zlib/messages.js");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don\'t detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only(s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");\n\n do {\n // Assert(cur_match < s->strstart, "no future");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, "match[2]?");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don\'t care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, "more < 2");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// "not enough room for search");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, "slide too late");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error("slide too late");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, "block gone");\n// if (s.block_start < 0) throw new Error("block gone");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,"%c", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,"%c", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, "no flush?");\n if (s.match_available) {\n //Tracevv((stderr,"%c", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,"%c", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,"%c", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the "longest match" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That\'s alias to max_lazy_match, don\'t use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn\'t use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);\n this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can\'t count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don\'t need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won\'t be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don\'t have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, "bug2");\n //if (strm.avail_out <= 0) { throw new Error("bug2");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var s;\n var str, n;\n var wrap;\n var avail;\n var next;\n var input;\n var tmpDict;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n s = strm.state;\n wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n tmpDict = new utils.Buf8(s.w_size);\n utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n avail = strm.avail_in;\n next = strm.next_in;\n input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart;\n n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = \'pako deflate (from Nodeca project)\';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/deflate.js?')},"../wabac.js/node_modules/pako/lib/zlib/gzheader.js":
/*!**********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/gzheader.js ***!
\**********************************************************/module=>{"use strict";eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/gzheader.js?")},"../wabac.js/node_modules/pako/lib/zlib/inffast.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/inffast.js ***!
\*********************************************************/module=>{"use strict";eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/inffast.js?")},"../wabac.js/node_modules/pako/lib/zlib/inflate.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/inflate.js ***!
\*********************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided \'as-is\', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ "../wabac.js/node_modules/pako/lib/utils/common.js");\nvar adler32 = __webpack_require__(/*! ./adler32 */ "../wabac.js/node_modules/pako/lib/zlib/adler32.js");\nvar crc32 = __webpack_require__(/*! ./crc32 */ "../wabac.js/node_modules/pako/lib/zlib/crc32.js");\nvar inflate_fast = __webpack_require__(/*! ./inffast */ "../wabac.js/node_modules/pako/lib/zlib/inffast.js");\nvar inflate_table = __webpack_require__(/*! ./inftrees */ "../wabac.js/node_modules/pako/lib/zlib/inftrees.js");\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in "in" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don\'t have pointers in js, we use lencode and distcode directly\n as buffers so we don\'t need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = \'\'; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, "inflate: reset\\n"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, "inflate: allocated\\n"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it\'s called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor\'s data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn\'t been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked "here" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked "last" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = \'incorrect header check\';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = \'unknown compression method\';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = \'invalid window size\';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, "inflate: zlib header ok\\n"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = \'unknown compression method\';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = \'unknown header flags set\';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = \'header crc mismatch\';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, "inflate: stored block%s\\n",\n // state.last ? " (last)" : ""));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, "inflate: fixed codes block%s\\n",\n // state.last ? " (last)" : ""));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, "inflate: dynamic codes block%s\\n",\n // state.last ? " (last)" : ""));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \'invalid block type\';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = \'invalid stored block lengths\';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, "inflate: stored length %u\\n",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, "inflate: stored end\\n"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = \'too many length or distance symbols\';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, "inflate: table sizes ok\\n"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = \'invalid code lengths set\';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, "inflate: code lengths ok\\n"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = \'invalid bit length repeat\';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \'invalid bit length repeat\';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = \'invalid code -- missing end-of-block\';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = \'invalid literal/lengths set\';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = \'invalid distances set\';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \'inflate: codes ok\\n\'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // "inflate: literal \'%c\'\\n" :\n // "inflate: literal 0x%02x\\n", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, "inflate: end of block\\n"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \'invalid literal/length code\';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, "inflate: length %u\\n", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = \'invalid distance code\';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = \'invalid distance too far back\';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, "inflate: distance %u\\n", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = \'invalid distance too far back\';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don\'t enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, "inflate.c too far\\n"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use \'|\' instead of \'+\' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = \'incorrect data check\';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, "inflate: check matches trailer\\n"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = \'incorrect length check\';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, "inflate: length matches trailer\\n"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, "inflate: dictionary set\\n"));\n return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = \'pako inflate (from Nodeca project)\';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/inflate.js?')},"../wabac.js/node_modules/pako/lib/zlib/inftrees.js":
/*!**********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/inftrees.js ***!
\**********************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../wabac.js/node_modules/pako/lib/utils/common.js\");\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/inftrees.js?")},"../wabac.js/node_modules/pako/lib/zlib/messages.js":
/*!**********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/messages.js ***!
\**********************************************************/module=>{"use strict";eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/messages.js?")},"../wabac.js/node_modules/pako/lib/zlib/trees.js":
/*!*******************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/trees.js ***!
\*******************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided \'as-is\', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = __webpack_require__(/*! ../utils/common */ "../wabac.js/node_modules/pako/lib/utils/common.js");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,"\\nbit length overflow\\n"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from \'ar\' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,"code %d bits %d->%d\\n", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,\n // "inconsistent bit counts");\n //Tracev((stderr,"\\ngen_codes: max_code %d ", max_code));\n\n for (n = 0; n <= max_code; n++) {\n var len = tree[n * 2 + 1]/*.Len*/;\n if (len === 0) { continue; }\n /* Now reverse the bits */\n tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);\n\n //Tracecv(tree != static_ltree, (stderr,"\\nn %3d %c l %2d c %4x (%x) ",\n // n, (isgraph(n) ? n : \' \'), len, tree[n].Code, next_code[len]-1));\n }\n}\n\n\n/* ===========================================================================\n * Initialize the various \'constant\' tables.\n */\nfunction tr_static_init() {\n var n; /* iterates over tree elements */\n var bits; /* bit counter */\n var length; /* length value */\n var code; /* code value */\n var dist; /* distance index */\n var bl_count = new Array(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n // do check in _tr_init()\n //if (static_init_done) return;\n\n /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n static_l_desc.static_tree = static_ltree;\n static_l_desc.extra_bits = extra_lbits;\n static_d_desc.static_tree = static_dtree;\n static_d_desc.extra_bits = extra_dbits;\n static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n /* Initialize the mapping length (0..255) -> length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, "tr_static_init: length != 256");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, "tr_static_init: dist != 256");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, "tr_static_init: 256+dist != 512");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one\'s complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n * 2;\n var _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr," \'%c\' ", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, "bad d_code");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // "pendingBuf overflow");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, " 3_6?");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, "\\ndyn trees: dyn %ld, stat %ld",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // "too many codes");\n //Tracev((stderr, "\\nbl counts: "));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, "\\nbl code %2d ", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, "\\nbl tree: sent %ld", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, "\\nlit tree: sent %ld", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, "\\ndist tree: sent %ld", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * "black list" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * "gray list" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual ("black-listed") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual ("white-listed") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no "black-listed" or "white-listed" bytes:\n * this stream either is empty or has tolerated ("gray-listed") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, "\\nlit data: dyn %ld, stat %ld", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, "\\ndist data: dyn %ld, stat %ld", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, "\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, "lost buf");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can\'t have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, "bad compressed size");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,"\\ncomprlen %lu(%lu) ", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don\'t enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/trees.js?')},"../wabac.js/node_modules/pako/lib/zlib/zstream.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/pako/lib/zlib/zstream.js ***!
\*********************************************************/module=>{"use strict";eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pako/lib/zlib/zstream.js?")},"../wabac.js/node_modules/path-parser/dist/path-parser.esm.js":
/*!********************************************************************!*\
!*** ../wabac.js/node_modules/path-parser/dist/path-parser.esm.js ***!
\********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Path\": () => (/* binding */ Path)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../wabac.js/node_modules/path-parser/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var search_params__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! search-params */ \"../wabac.js/node_modules/search-params/dist/search-params.esm.js\");\n\n\n\n/**\r\n * We encode using encodeURIComponent but we want to\r\n * preserver certain characters which are commonly used\r\n * (sub delimiters and ':')\r\n *\r\n * https://www.ietf.org/rfc/rfc3986.txt\r\n *\r\n * reserved = gen-delims / sub-delims\r\n *\r\n * gen-delims = \":\" / \"/\" / \"?\" / \"#\" / \"[\" / \"]\" / \"@\"\r\n *\r\n * sub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\"\r\n / \"*\" / \"+\" / \",\" / \";\" / \"=\"\r\n */\nvar excludeSubDelimiters = /[^!$'()*+,;|:]/g;\nvar encodeURIComponentExcludingSubDelims = function encodeURIComponentExcludingSubDelims(segment) {\n return segment.replace(excludeSubDelimiters, function (match) {\n return encodeURIComponent(match);\n });\n};\nvar encodingMethods = {\n \"default\": encodeURIComponentExcludingSubDelims,\n uri: encodeURI,\n uriComponent: encodeURIComponent,\n none: function none(val) {\n return val;\n },\n legacy: encodeURI\n};\nvar decodingMethods = {\n \"default\": decodeURIComponent,\n uri: decodeURI,\n uriComponent: decodeURIComponent,\n none: function none(val) {\n return val;\n },\n legacy: decodeURIComponent\n};\nvar encodeParam = function encodeParam(param, encoding, isSpatParam) {\n var encoder = encodingMethods[encoding] || encodeURIComponentExcludingSubDelims;\n\n if (isSpatParam) {\n return String(param).split('/').map(encoder).join('/');\n }\n\n return encoder(String(param));\n};\nvar decodeParam = function decodeParam(param, encoding) {\n return (decodingMethods[encoding] || decodeURIComponent)(param);\n};\n\nvar defaultOrConstrained = function defaultOrConstrained(match) {\n return '(' + (match ? match.replace(/(^<|>$)/g, '') : \"[a-zA-Z0-9-_.~%':|=+\\\\*@$]+\") + ')';\n};\nvar rules = [{\n name: 'url-parameter',\n pattern: /^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,\n regex: function regex(match) {\n return new RegExp(defaultOrConstrained(match[2]));\n }\n}, {\n name: 'url-parameter-splat',\n pattern: /^\\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,\n regex: /([^?]*)/\n}, {\n name: 'url-parameter-matrix',\n pattern: /^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,\n regex: function regex(match) {\n return new RegExp(';' + match[1] + '=' + defaultOrConstrained(match[2]));\n }\n}, {\n name: 'query-parameter',\n pattern: /^(?:\\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/\n}, {\n name: 'delimiter',\n pattern: /^(\\/|\\?)/,\n regex: function regex(match) {\n return new RegExp('\\\\' + match[0]);\n }\n}, {\n name: 'sub-delimiter',\n pattern: /^(!|&|-|_|\\.|;)/,\n regex: function regex(match) {\n return new RegExp(match[0]);\n }\n}, {\n name: 'fragment',\n pattern: /^([0-9a-zA-Z]+)/,\n regex: function regex(match) {\n return new RegExp(match[0]);\n }\n}];\n\nvar tokenise = function tokenise(str, tokens) {\n if (tokens === void 0) {\n tokens = [];\n } // Look for a matching rule\n\n\n var matched = rules.some(function (rule) {\n var match = str.match(rule.pattern);\n\n if (!match) {\n return false;\n }\n\n tokens.push({\n type: rule.name,\n match: match[0],\n val: match.slice(1, 2),\n otherVal: match.slice(2),\n regex: rule.regex instanceof Function ? rule.regex(match) : rule.regex\n });\n\n if (match[0].length < str.length) {\n tokens = tokenise(str.substr(match[0].length), tokens);\n }\n\n return true;\n }); // If no rules matched, throw an error (possible malformed path)\n\n if (!matched) {\n throw new Error(\"Could not parse path '\" + str + \"'\");\n }\n\n return tokens;\n};\n\nvar exists = function exists(val) {\n return val !== undefined && val !== null;\n};\n\nvar optTrailingSlash = function optTrailingSlash(source, strictTrailingSlash) {\n if (strictTrailingSlash) {\n return source;\n }\n\n if (source === '\\\\/') {\n return source;\n }\n\n return source.replace(/\\\\\\/$/, '') + '(?:\\\\/)?';\n};\n\nvar upToDelimiter = function upToDelimiter(source, delimiter) {\n if (!delimiter) {\n return source;\n }\n\n return /(\\/)$/.test(source) ? source : source + '(\\\\/|\\\\?|\\\\.|;|$)';\n};\n\nvar appendQueryParam = function appendQueryParam(params, param, val) {\n if (val === void 0) {\n val = '';\n }\n\n var existingVal = params[param];\n\n if (existingVal === undefined) {\n params[param] = val;\n } else {\n params[param] = Array.isArray(existingVal) ? existingVal.concat(val) : [existingVal, val];\n }\n\n return params;\n};\n\nvar defaultOptions = {\n urlParamsEncoding: 'default'\n};\n\nvar Path =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function Path(path, options) {\n if (!path) {\n throw new Error('Missing path in Path constructor');\n }\n\n this.path = path;\n this.options = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, defaultOptions), options);\n this.tokens = tokenise(path);\n this.hasUrlParams = this.tokens.filter(function (t) {\n return /^url-parameter/.test(t.type);\n }).length > 0;\n this.hasSpatParam = this.tokens.filter(function (t) {\n return /splat$/.test(t.type);\n }).length > 0;\n this.hasMatrixParams = this.tokens.filter(function (t) {\n return /matrix$/.test(t.type);\n }).length > 0;\n this.hasQueryParams = this.tokens.filter(function (t) {\n return /^query-parameter/.test(t.type);\n }).length > 0; // Extract named parameters from tokens\n\n this.spatParams = this.getParams('url-parameter-splat');\n this.urlParams = this.getParams(/^url-parameter/); // Query params\n\n this.queryParams = this.getParams('query-parameter'); // All params\n\n this.params = this.urlParams.concat(this.queryParams); // Check if hasQueryParams\n // Regular expressions for url part only (full and partial match)\n\n this.source = this.tokens.filter(function (t) {\n return t.regex !== undefined;\n }).map(function (t) {\n return t.regex.source;\n }).join('');\n }\n\n Path.createPath = function (path, options) {\n return new Path(path, options);\n };\n\n Path.prototype.isQueryParam = function (name) {\n return this.queryParams.indexOf(name) !== -1;\n };\n\n Path.prototype.isSpatParam = function (name) {\n return this.spatParams.indexOf(name) !== -1;\n };\n\n Path.prototype.test = function (path, opts) {\n var _this = this;\n\n var options = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({\n caseSensitive: false,\n strictTrailingSlash: false\n }, this.options), opts); // trailingSlash: falsy => non optional, truthy => optional\n\n\n var source = optTrailingSlash(this.source, options.strictTrailingSlash); // Check if exact match\n\n var match = this.urlTest(path, source + (this.hasQueryParams ? '(\\\\?.*$|$)' : '$'), options.caseSensitive, options.urlParamsEncoding); // If no match, or no query params, no need to go further\n\n if (!match || !this.hasQueryParams) {\n return match;\n } // Extract query params\n\n\n var queryParams = (0,search_params__WEBPACK_IMPORTED_MODULE_1__.parse)(path, options.queryParams);\n var unexpectedQueryParams = Object.keys(queryParams).filter(function (p) {\n return !_this.isQueryParam(p);\n });\n\n if (unexpectedQueryParams.length === 0) {\n // Extend url match\n Object.keys(queryParams).forEach( // @ts-ignore\n function (p) {\n return match[p] = queryParams[p];\n });\n return match;\n }\n\n return null;\n };\n\n Path.prototype.partialTest = function (path, opts) {\n var _this = this;\n\n var options = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({\n caseSensitive: false,\n delimited: true\n }, this.options), opts); // Check if partial match (start of given path matches regex)\n // trailingSlash: falsy => non optional, truthy => optional\n\n\n var source = upToDelimiter(this.source, options.delimited);\n var match = this.urlTest(path, source, options.caseSensitive, options.urlParamsEncoding);\n\n if (!match) {\n return match;\n }\n\n if (!this.hasQueryParams) {\n return match;\n }\n\n var queryParams = (0,search_params__WEBPACK_IMPORTED_MODULE_1__.parse)(path, options.queryParams);\n Object.keys(queryParams).filter(function (p) {\n return _this.isQueryParam(p);\n }).forEach(function (p) {\n return appendQueryParam(match, p, queryParams[p]);\n });\n return match;\n };\n\n Path.prototype.build = function (params, opts) {\n var _this = this;\n\n if (params === void 0) {\n params = {};\n }\n\n var options = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({\n ignoreConstraints: false,\n ignoreSearch: false,\n queryParams: {}\n }, this.options), opts);\n\n var encodedUrlParams = Object.keys(params).filter(function (p) {\n return !_this.isQueryParam(p);\n }).reduce(function (acc, key) {\n if (!exists(params[key])) {\n return acc;\n }\n\n var val = params[key];\n\n var isSpatParam = _this.isSpatParam(key);\n\n if (typeof val === 'boolean') {\n acc[key] = val;\n } else if (Array.isArray(val)) {\n acc[key] = val.map(function (v) {\n return encodeParam(v, options.urlParamsEncoding, isSpatParam);\n });\n } else {\n acc[key] = encodeParam(val, options.urlParamsEncoding, isSpatParam);\n }\n\n return acc;\n }, {}); // Check all params are provided (not search parameters which are optional)\n\n if (this.urlParams.some(function (p) {\n return !exists(params[p]);\n })) {\n var missingParameters = this.urlParams.filter(function (p) {\n return !exists(params[p]);\n });\n throw new Error(\"Cannot build path: '\" + this.path + \"' requires missing parameters { \" + missingParameters.join(', ') + ' }');\n } // Check constraints\n\n\n if (!options.ignoreConstraints) {\n var constraintsPassed = this.tokens.filter(function (t) {\n return /^url-parameter/.test(t.type) && !/-splat$/.test(t.type);\n }).every(function (t) {\n return new RegExp('^' + defaultOrConstrained(t.otherVal[0]) + '$').test(encodedUrlParams[t.val]);\n });\n\n if (!constraintsPassed) {\n throw new Error(\"Some parameters of '\" + this.path + \"' are of invalid format\");\n }\n }\n\n var base = this.tokens.filter(function (t) {\n return /^query-parameter/.test(t.type) === false;\n }).map(function (t) {\n if (t.type === 'url-parameter-matrix') {\n return \";\" + t.val + \"=\" + encodedUrlParams[t.val[0]];\n }\n\n return /^url-parameter/.test(t.type) ? encodedUrlParams[t.val[0]] : t.match;\n }).join('');\n\n if (options.ignoreSearch) {\n return base;\n }\n\n var searchParams = this.queryParams.filter(function (p) {\n return Object.keys(params).indexOf(p) !== -1;\n }).reduce(function (sparams, paramName) {\n sparams[paramName] = params[paramName];\n return sparams;\n }, {});\n var searchPart = (0,search_params__WEBPACK_IMPORTED_MODULE_1__.build)(searchParams, options.queryParams);\n return searchPart ? base + '?' + searchPart : base;\n };\n\n Path.prototype.getParams = function (type) {\n var predicate = type instanceof RegExp ? function (t) {\n return type.test(t.type);\n } : function (t) {\n return t.type === type;\n };\n return this.tokens.filter(predicate).map(function (t) {\n return t.val[0];\n });\n };\n\n Path.prototype.urlTest = function (path, source, caseSensitive, urlParamsEncoding) {\n var _this = this;\n\n var regex = new RegExp('^' + source, caseSensitive ? '' : 'i');\n var match = path.match(regex);\n\n if (!match) {\n return null;\n } else if (!this.urlParams.length) {\n return {};\n } // Reduce named params to key-value pairs\n\n\n return match.slice(1, this.urlParams.length + 1).reduce(function (params, m, i) {\n params[_this.urlParams[i]] = decodeParam(m, urlParamsEncoding);\n return params;\n }, {});\n };\n\n return Path;\n}();\n\n\n//# sourceMappingURL=path-parser.esm.js.map\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/path-parser/dist/path-parser.esm.js?")},"../wabac.js/node_modules/path-parser/node_modules/tslib/tslib.es6.js":
/*!****************************************************************************!*\
!*** ../wabac.js/node_modules/path-parser/node_modules/tslib/tslib.es6.js ***!
\****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "__assign": () => (/* binding */ __assign),\n/* harmony export */ "__asyncDelegator": () => (/* binding */ __asyncDelegator),\n/* harmony export */ "__asyncGenerator": () => (/* binding */ __asyncGenerator),\n/* harmony export */ "__asyncValues": () => (/* binding */ __asyncValues),\n/* harmony export */ "__await": () => (/* binding */ __await),\n/* harmony export */ "__awaiter": () => (/* binding */ __awaiter),\n/* harmony export */ "__classPrivateFieldGet": () => (/* binding */ __classPrivateFieldGet),\n/* harmony export */ "__classPrivateFieldSet": () => (/* binding */ __classPrivateFieldSet),\n/* harmony export */ "__decorate": () => (/* binding */ __decorate),\n/* harmony export */ "__exportStar": () => (/* binding */ __exportStar),\n/* harmony export */ "__extends": () => (/* binding */ __extends),\n/* harmony export */ "__generator": () => (/* binding */ __generator),\n/* harmony export */ "__importDefault": () => (/* binding */ __importDefault),\n/* harmony export */ "__importStar": () => (/* binding */ __importStar),\n/* harmony export */ "__makeTemplateObject": () => (/* binding */ __makeTemplateObject),\n/* harmony export */ "__metadata": () => (/* binding */ __metadata),\n/* harmony export */ "__param": () => (/* binding */ __param),\n/* harmony export */ "__read": () => (/* binding */ __read),\n/* harmony export */ "__rest": () => (/* binding */ __rest),\n/* harmony export */ "__spread": () => (/* binding */ __spread),\n/* harmony export */ "__spreadArrays": () => (/* binding */ __spreadArrays),\n/* harmony export */ "__values": () => (/* binding */ __values)\n/* harmony export */ });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the "License"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError("Generator is already executing.");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === "number") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === "function" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i["return"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume("next", value); }\r\n function reject(value) { resume("throw", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to get private field on non-instance");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to set private field on non-instance");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/path-parser/node_modules/tslib/tslib.es6.js?')},"../wabac.js/node_modules/process/browser.js":
/*!***************************************************!*\
!*** ../wabac.js/node_modules/process/browser.js ***!
\***************************************************/module=>{eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/process/browser.js?")},"../wabac.js/node_modules/pvtsutils/build/index.js":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/pvtsutils/build/index.js ***!
\*********************************************************/(__unused_webpack_module,exports)=>{"use strict";eval('/*!\n * MIT License\n * \n * Copyright (c) 2017-2022 Peculiar Ventures, LLC\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * \n */\n\n\n\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n\nconst ARRAY_BUFFER_NAME = "[object ArrayBuffer]";\r\nclass BufferSourceConverter {\r\n static isArrayBuffer(data) {\r\n return Object.prototype.toString.call(data) === ARRAY_BUFFER_NAME;\r\n }\r\n static toArrayBuffer(data) {\r\n if (this.isArrayBuffer(data)) {\r\n return data;\r\n }\r\n if (data.byteLength === data.buffer.byteLength) {\r\n return data.buffer;\r\n }\r\n return this.toUint8Array(data).slice().buffer;\r\n }\r\n static toUint8Array(data) {\r\n return this.toView(data, Uint8Array);\r\n }\r\n static toView(data, type) {\r\n if (data.constructor === type) {\r\n return data;\r\n }\r\n if (this.isArrayBuffer(data)) {\r\n return new type(data);\r\n }\r\n if (this.isArrayBufferView(data)) {\r\n return new type(data.buffer, data.byteOffset, data.byteLength);\r\n }\r\n throw new TypeError("The provided value is not of type \'(ArrayBuffer or ArrayBufferView)\'");\r\n }\r\n static isBufferSource(data) {\r\n return this.isArrayBufferView(data)\r\n || this.isArrayBuffer(data);\r\n }\r\n static isArrayBufferView(data) {\r\n return ArrayBuffer.isView(data)\r\n || (data && this.isArrayBuffer(data.buffer));\r\n }\r\n static isEqual(a, b) {\r\n const aView = BufferSourceConverter.toUint8Array(a);\r\n const bView = BufferSourceConverter.toUint8Array(b);\r\n if (aView.length !== bView.byteLength) {\r\n return false;\r\n }\r\n for (let i = 0; i < aView.length; i++) {\r\n if (aView[i] !== bView[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n static concat(...args) {\r\n if (Array.isArray(args[0])) {\r\n const buffers = args[0];\r\n let size = 0;\r\n for (const buffer of buffers) {\r\n size += buffer.byteLength;\r\n }\r\n const res = new Uint8Array(size);\r\n let offset = 0;\r\n for (const buffer of buffers) {\r\n const view = this.toUint8Array(buffer);\r\n res.set(view, offset);\r\n offset += view.length;\r\n }\r\n if (args[1]) {\r\n return this.toView(res, args[1]);\r\n }\r\n return res.buffer;\r\n }\r\n else {\r\n return this.concat(args);\r\n }\r\n }\r\n}\n\nclass Utf8Converter {\r\n static fromString(text) {\r\n const s = unescape(encodeURIComponent(text));\r\n const uintArray = new Uint8Array(s.length);\r\n for (let i = 0; i < s.length; i++) {\r\n uintArray[i] = s.charCodeAt(i);\r\n }\r\n return uintArray.buffer;\r\n }\r\n static toString(buffer) {\r\n const buf = BufferSourceConverter.toUint8Array(buffer);\r\n let encodedString = "";\r\n for (let i = 0; i < buf.length; i++) {\r\n encodedString += String.fromCharCode(buf[i]);\r\n }\r\n const decodedString = decodeURIComponent(escape(encodedString));\r\n return decodedString;\r\n }\r\n}\r\nclass Utf16Converter {\r\n static toString(buffer, littleEndian = false) {\r\n const arrayBuffer = BufferSourceConverter.toArrayBuffer(buffer);\r\n const dataView = new DataView(arrayBuffer);\r\n let res = "";\r\n for (let i = 0; i < arrayBuffer.byteLength; i += 2) {\r\n const code = dataView.getUint16(i, littleEndian);\r\n res += String.fromCharCode(code);\r\n }\r\n return res;\r\n }\r\n static fromString(text, littleEndian = false) {\r\n const res = new ArrayBuffer(text.length * 2);\r\n const dataView = new DataView(res);\r\n for (let i = 0; i < text.length; i++) {\r\n dataView.setUint16(i * 2, text.charCodeAt(i), littleEndian);\r\n }\r\n return res;\r\n }\r\n}\r\nclass Convert {\r\n static isHex(data) {\r\n return typeof data === "string"\r\n && /^[a-z0-9]+$/i.test(data);\r\n }\r\n static isBase64(data) {\r\n return typeof data === "string"\r\n && /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(data);\r\n }\r\n static isBase64Url(data) {\r\n return typeof data === "string"\r\n && /^[a-zA-Z0-9-_]+$/i.test(data);\r\n }\r\n static ToString(buffer, enc = "utf8") {\r\n const buf = BufferSourceConverter.toUint8Array(buffer);\r\n switch (enc.toLowerCase()) {\r\n case "utf8":\r\n return this.ToUtf8String(buf);\r\n case "binary":\r\n return this.ToBinary(buf);\r\n case "hex":\r\n return this.ToHex(buf);\r\n case "base64":\r\n return this.ToBase64(buf);\r\n case "base64url":\r\n return this.ToBase64Url(buf);\r\n case "utf16le":\r\n return Utf16Converter.toString(buf, true);\r\n case "utf16":\r\n case "utf16be":\r\n return Utf16Converter.toString(buf);\r\n default:\r\n throw new Error(`Unknown type of encoding \'${enc}\'`);\r\n }\r\n }\r\n static FromString(str, enc = "utf8") {\r\n if (!str) {\r\n return new ArrayBuffer(0);\r\n }\r\n switch (enc.toLowerCase()) {\r\n case "utf8":\r\n return this.FromUtf8String(str);\r\n case "binary":\r\n return this.FromBinary(str);\r\n case "hex":\r\n return this.FromHex(str);\r\n case "base64":\r\n return this.FromBase64(str);\r\n case "base64url":\r\n return this.FromBase64Url(str);\r\n case "utf16le":\r\n return Utf16Converter.fromString(str, true);\r\n case "utf16":\r\n case "utf16be":\r\n return Utf16Converter.fromString(str);\r\n default:\r\n throw new Error(`Unknown type of encoding \'${enc}\'`);\r\n }\r\n }\r\n static ToBase64(buffer) {\r\n const buf = BufferSourceConverter.toUint8Array(buffer);\r\n if (typeof btoa !== "undefined") {\r\n const binary = this.ToString(buf, "binary");\r\n return btoa(binary);\r\n }\r\n else {\r\n return Buffer.from(buf).toString("base64");\r\n }\r\n }\r\n static FromBase64(base64) {\r\n const formatted = this.formatString(base64);\r\n if (!formatted) {\r\n return new ArrayBuffer(0);\r\n }\r\n if (!Convert.isBase64(formatted)) {\r\n throw new TypeError("Argument \'base64Text\' is not Base64 encoded");\r\n }\r\n if (typeof atob !== "undefined") {\r\n return this.FromBinary(atob(formatted));\r\n }\r\n else {\r\n return new Uint8Array(Buffer.from(formatted, "base64")).buffer;\r\n }\r\n }\r\n static FromBase64Url(base64url) {\r\n const formatted = this.formatString(base64url);\r\n if (!formatted) {\r\n return new ArrayBuffer(0);\r\n }\r\n if (!Convert.isBase64Url(formatted)) {\r\n throw new TypeError("Argument \'base64url\' is not Base64Url encoded");\r\n }\r\n return this.FromBase64(this.Base64Padding(formatted.replace(/\\-/g, "+").replace(/\\_/g, "/")));\r\n }\r\n static ToBase64Url(data) {\r\n return this.ToBase64(data).replace(/\\+/g, "-").replace(/\\//g, "_").replace(/\\=/g, "");\r\n }\r\n static FromUtf8String(text, encoding = Convert.DEFAULT_UTF8_ENCODING) {\r\n switch (encoding) {\r\n case "ascii":\r\n return this.FromBinary(text);\r\n case "utf8":\r\n return Utf8Converter.fromString(text);\r\n case "utf16":\r\n case "utf16be":\r\n return Utf16Converter.fromString(text);\r\n case "utf16le":\r\n case "usc2":\r\n return Utf16Converter.fromString(text, true);\r\n default:\r\n throw new Error(`Unknown type of encoding \'${encoding}\'`);\r\n }\r\n }\r\n static ToUtf8String(buffer, encoding = Convert.DEFAULT_UTF8_ENCODING) {\r\n switch (encoding) {\r\n case "ascii":\r\n return this.ToBinary(buffer);\r\n case "utf8":\r\n return Utf8Converter.toString(buffer);\r\n case "utf16":\r\n case "utf16be":\r\n return Utf16Converter.toString(buffer);\r\n case "utf16le":\r\n case "usc2":\r\n return Utf16Converter.toString(buffer, true);\r\n default:\r\n throw new Error(`Unknown type of encoding \'${encoding}\'`);\r\n }\r\n }\r\n static FromBinary(text) {\r\n const stringLength = text.length;\r\n const resultView = new Uint8Array(stringLength);\r\n for (let i = 0; i < stringLength; i++) {\r\n resultView[i] = text.charCodeAt(i);\r\n }\r\n return resultView.buffer;\r\n }\r\n static ToBinary(buffer) {\r\n const buf = BufferSourceConverter.toUint8Array(buffer);\r\n let res = "";\r\n for (let i = 0; i < buf.length; i++) {\r\n res += String.fromCharCode(buf[i]);\r\n }\r\n return res;\r\n }\r\n static ToHex(buffer) {\r\n const buf = BufferSourceConverter.toUint8Array(buffer);\r\n const splitter = "";\r\n const res = [];\r\n const len = buf.length;\r\n for (let i = 0; i < len; i++) {\r\n const char = buf[i].toString(16).padStart(2, "0");\r\n res.push(char);\r\n }\r\n return res.join(splitter);\r\n }\r\n static FromHex(hexString) {\r\n let formatted = this.formatString(hexString);\r\n if (!formatted) {\r\n return new ArrayBuffer(0);\r\n }\r\n if (!Convert.isHex(formatted)) {\r\n throw new TypeError("Argument \'hexString\' is not HEX encoded");\r\n }\r\n if (formatted.length % 2) {\r\n formatted = `0${formatted}`;\r\n }\r\n const res = new Uint8Array(formatted.length / 2);\r\n for (let i = 0; i < formatted.length; i = i + 2) {\r\n const c = formatted.slice(i, i + 2);\r\n res[i / 2] = parseInt(c, 16);\r\n }\r\n return res.buffer;\r\n }\r\n static ToUtf16String(buffer, littleEndian = false) {\r\n return Utf16Converter.toString(buffer, littleEndian);\r\n }\r\n static FromUtf16String(text, littleEndian = false) {\r\n return Utf16Converter.fromString(text, littleEndian);\r\n }\r\n static Base64Padding(base64) {\r\n const padCount = 4 - (base64.length % 4);\r\n if (padCount < 4) {\r\n for (let i = 0; i < padCount; i++) {\r\n base64 += "=";\r\n }\r\n }\r\n return base64;\r\n }\r\n static formatString(data) {\r\n return (data === null || data === void 0 ? void 0 : data.replace(/[\\n\\r\\t ]/g, "")) || "";\r\n }\r\n}\r\nConvert.DEFAULT_UTF8_ENCODING = "utf8";\n\nfunction assign(target, ...sources) {\r\n const res = arguments[0];\r\n for (let i = 1; i < arguments.length; i++) {\r\n const obj = arguments[i];\r\n for (const prop in obj) {\r\n res[prop] = obj[prop];\r\n }\r\n }\r\n return res;\r\n}\r\nfunction combine(...buf) {\r\n const totalByteLength = buf.map((item) => item.byteLength).reduce((prev, cur) => prev + cur);\r\n const res = new Uint8Array(totalByteLength);\r\n let currentPos = 0;\r\n buf.map((item) => new Uint8Array(item)).forEach((arr) => {\r\n for (const item2 of arr) {\r\n res[currentPos++] = item2;\r\n }\r\n });\r\n return res.buffer;\r\n}\r\nfunction isEqual(bytes1, bytes2) {\r\n if (!(bytes1 && bytes2)) {\r\n return false;\r\n }\r\n if (bytes1.byteLength !== bytes2.byteLength) {\r\n return false;\r\n }\r\n const b1 = new Uint8Array(bytes1);\r\n const b2 = new Uint8Array(bytes2);\r\n for (let i = 0; i < bytes1.byteLength; i++) {\r\n if (b1[i] !== b2[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\n\nexports.BufferSourceConverter = BufferSourceConverter;\nexports.Convert = Convert;\nexports.assign = assign;\nexports.combine = combine;\nexports.isEqual = isEqual;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pvtsutils/build/index.js?')},"../wabac.js/node_modules/pvutils/build/utils.es.js":
/*!**********************************************************!*\
!*** ../wabac.js/node_modules/pvutils/build/utils.es.js ***!
\**********************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "arrayBufferToString": () => (/* binding */ arrayBufferToString),\n/* harmony export */ "bufferToHexCodes": () => (/* binding */ bufferToHexCodes),\n/* harmony export */ "checkBufferParams": () => (/* binding */ checkBufferParams),\n/* harmony export */ "clearProps": () => (/* binding */ clearProps),\n/* harmony export */ "fromBase64": () => (/* binding */ fromBase64),\n/* harmony export */ "getParametersValue": () => (/* binding */ getParametersValue),\n/* harmony export */ "getUTCDate": () => (/* binding */ getUTCDate),\n/* harmony export */ "isEqualBuffer": () => (/* binding */ isEqualBuffer),\n/* harmony export */ "nearestPowerOf2": () => (/* binding */ nearestPowerOf2),\n/* harmony export */ "padNumber": () => (/* binding */ padNumber),\n/* harmony export */ "stringToArrayBuffer": () => (/* binding */ stringToArrayBuffer),\n/* harmony export */ "toBase64": () => (/* binding */ toBase64),\n/* harmony export */ "utilConcatBuf": () => (/* binding */ utilConcatBuf),\n/* harmony export */ "utilConcatView": () => (/* binding */ utilConcatView),\n/* harmony export */ "utilDecodeTC": () => (/* binding */ utilDecodeTC),\n/* harmony export */ "utilEncodeTC": () => (/* binding */ utilEncodeTC),\n/* harmony export */ "utilFromBase": () => (/* binding */ utilFromBase),\n/* harmony export */ "utilToBase": () => (/* binding */ utilToBase)\n/* harmony export */ });\n/*!\n Copyright (c) Peculiar Ventures, LLC\n*/\n\nfunction getUTCDate(date) {\r\n return new Date(date.getTime() + (date.getTimezoneOffset() * 60000));\r\n}\r\nfunction getParametersValue(parameters, name, defaultValue) {\r\n var _a;\r\n if ((parameters instanceof Object) === false) {\r\n return defaultValue;\r\n }\r\n return (_a = parameters[name]) !== null && _a !== void 0 ? _a : defaultValue;\r\n}\r\nfunction bufferToHexCodes(inputBuffer, inputOffset = 0, inputLength = (inputBuffer.byteLength - inputOffset), insertSpace = false) {\r\n let result = "";\r\n for (const item of (new Uint8Array(inputBuffer, inputOffset, inputLength))) {\r\n const str = item.toString(16).toUpperCase();\r\n if (str.length === 1) {\r\n result += "0";\r\n }\r\n result += str;\r\n if (insertSpace) {\r\n result += " ";\r\n }\r\n }\r\n return result.trim();\r\n}\r\nfunction checkBufferParams(baseBlock, inputBuffer, inputOffset, inputLength) {\r\n if (!(inputBuffer instanceof ArrayBuffer)) {\r\n baseBlock.error = "Wrong parameter: inputBuffer must be \\"ArrayBuffer\\"";\r\n return false;\r\n }\r\n if (!inputBuffer.byteLength) {\r\n baseBlock.error = "Wrong parameter: inputBuffer has zero length";\r\n return false;\r\n }\r\n if (inputOffset < 0) {\r\n baseBlock.error = "Wrong parameter: inputOffset less than zero";\r\n return false;\r\n }\r\n if (inputLength < 0) {\r\n baseBlock.error = "Wrong parameter: inputLength less than zero";\r\n return false;\r\n }\r\n if ((inputBuffer.byteLength - inputOffset - inputLength) < 0) {\r\n baseBlock.error = "End of input reached before message was fully decoded (inconsistent offset and length values)";\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction utilFromBase(inputBuffer, inputBase) {\r\n let result = 0;\r\n if (inputBuffer.length === 1) {\r\n return inputBuffer[0];\r\n }\r\n for (let i = (inputBuffer.length - 1); i >= 0; i--) {\r\n result += inputBuffer[(inputBuffer.length - 1) - i] * Math.pow(2, inputBase * i);\r\n }\r\n return result;\r\n}\r\nfunction utilToBase(value, base, reserved = (-1)) {\r\n const internalReserved = reserved;\r\n let internalValue = value;\r\n let result = 0;\r\n let biggest = Math.pow(2, base);\r\n for (let i = 1; i < 8; i++) {\r\n if (value < biggest) {\r\n let retBuf;\r\n if (internalReserved < 0) {\r\n retBuf = new ArrayBuffer(i);\r\n result = i;\r\n }\r\n else {\r\n if (internalReserved < i) {\r\n return (new ArrayBuffer(0));\r\n }\r\n retBuf = new ArrayBuffer(internalReserved);\r\n result = internalReserved;\r\n }\r\n const retView = new Uint8Array(retBuf);\r\n for (let j = (i - 1); j >= 0; j--) {\r\n const basis = Math.pow(2, j * base);\r\n retView[result - j - 1] = Math.floor(internalValue / basis);\r\n internalValue -= (retView[result - j - 1]) * basis;\r\n }\r\n return retBuf;\r\n }\r\n biggest *= Math.pow(2, base);\r\n }\r\n return new ArrayBuffer(0);\r\n}\r\nfunction utilConcatBuf(...buffers) {\r\n let outputLength = 0;\r\n let prevLength = 0;\r\n for (const buffer of buffers) {\r\n outputLength += buffer.byteLength;\r\n }\r\n const retBuf = new ArrayBuffer(outputLength);\r\n const retView = new Uint8Array(retBuf);\r\n for (const buffer of buffers) {\r\n retView.set(new Uint8Array(buffer), prevLength);\r\n prevLength += buffer.byteLength;\r\n }\r\n return retBuf;\r\n}\r\nfunction utilConcatView(...views) {\r\n let outputLength = 0;\r\n let prevLength = 0;\r\n for (const view of views) {\r\n outputLength += view.length;\r\n }\r\n const retBuf = new ArrayBuffer(outputLength);\r\n const retView = new Uint8Array(retBuf);\r\n for (const view of views) {\r\n retView.set(view, prevLength);\r\n prevLength += view.length;\r\n }\r\n return retView;\r\n}\r\nfunction utilDecodeTC() {\r\n const buf = new Uint8Array(this.valueHex);\r\n if (this.valueHex.byteLength >= 2) {\r\n const condition1 = (buf[0] === 0xFF) && (buf[1] & 0x80);\r\n const condition2 = (buf[0] === 0x00) && ((buf[1] & 0x80) === 0x00);\r\n if (condition1 || condition2) {\r\n this.warnings.push("Needlessly long format");\r\n }\r\n }\r\n const bigIntBuffer = new ArrayBuffer(this.valueHex.byteLength);\r\n const bigIntView = new Uint8Array(bigIntBuffer);\r\n for (let i = 0; i < this.valueHex.byteLength; i++) {\r\n bigIntView[i] = 0;\r\n }\r\n bigIntView[0] = (buf[0] & 0x80);\r\n const bigInt = utilFromBase(bigIntView, 8);\r\n const smallIntBuffer = new ArrayBuffer(this.valueHex.byteLength);\r\n const smallIntView = new Uint8Array(smallIntBuffer);\r\n for (let j = 0; j < this.valueHex.byteLength; j++) {\r\n smallIntView[j] = buf[j];\r\n }\r\n smallIntView[0] &= 0x7F;\r\n const smallInt = utilFromBase(smallIntView, 8);\r\n return (smallInt - bigInt);\r\n}\r\nfunction utilEncodeTC(value) {\r\n const modValue = (value < 0) ? (value * (-1)) : value;\r\n let bigInt = 128;\r\n for (let i = 1; i < 8; i++) {\r\n if (modValue <= bigInt) {\r\n if (value < 0) {\r\n const smallInt = bigInt - modValue;\r\n const retBuf = utilToBase(smallInt, 8, i);\r\n const retView = new Uint8Array(retBuf);\r\n retView[0] |= 0x80;\r\n return retBuf;\r\n }\r\n let retBuf = utilToBase(modValue, 8, i);\r\n let retView = new Uint8Array(retBuf);\r\n if (retView[0] & 0x80) {\r\n const tempBuf = retBuf.slice(0);\r\n const tempView = new Uint8Array(tempBuf);\r\n retBuf = new ArrayBuffer(retBuf.byteLength + 1);\r\n retView = new Uint8Array(retBuf);\r\n for (let k = 0; k < tempBuf.byteLength; k++) {\r\n retView[k + 1] = tempView[k];\r\n }\r\n retView[0] = 0x00;\r\n }\r\n return retBuf;\r\n }\r\n bigInt *= Math.pow(2, 8);\r\n }\r\n return (new ArrayBuffer(0));\r\n}\r\nfunction isEqualBuffer(inputBuffer1, inputBuffer2) {\r\n if (inputBuffer1.byteLength !== inputBuffer2.byteLength) {\r\n return false;\r\n }\r\n const view1 = new Uint8Array(inputBuffer1);\r\n const view2 = new Uint8Array(inputBuffer2);\r\n for (let i = 0; i < view1.length; i++) {\r\n if (view1[i] !== view2[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction padNumber(inputNumber, fullLength) {\r\n const str = inputNumber.toString(10);\r\n if (fullLength < str.length) {\r\n return "";\r\n }\r\n const dif = fullLength - str.length;\r\n const padding = new Array(dif);\r\n for (let i = 0; i < dif; i++) {\r\n padding[i] = "0";\r\n }\r\n const paddingString = padding.join("");\r\n return paddingString.concat(str);\r\n}\r\nconst base64Template = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\r\nconst base64UrlTemplate = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";\r\nfunction toBase64(input, useUrlTemplate = false, skipPadding = false, skipLeadingZeros = false) {\r\n let i = 0;\r\n let flag1 = 0;\r\n let flag2 = 0;\r\n let output = "";\r\n const template = (useUrlTemplate) ? base64UrlTemplate : base64Template;\r\n if (skipLeadingZeros) {\r\n let nonZeroPosition = 0;\r\n for (let i = 0; i < input.length; i++) {\r\n if (input.charCodeAt(i) !== 0) {\r\n nonZeroPosition = i;\r\n break;\r\n }\r\n }\r\n input = input.slice(nonZeroPosition);\r\n }\r\n while (i < input.length) {\r\n const chr1 = input.charCodeAt(i++);\r\n if (i >= input.length) {\r\n flag1 = 1;\r\n }\r\n const chr2 = input.charCodeAt(i++);\r\n if (i >= input.length) {\r\n flag2 = 1;\r\n }\r\n const chr3 = input.charCodeAt(i++);\r\n const enc1 = chr1 >> 2;\r\n const enc2 = ((chr1 & 0x03) << 4) | (chr2 >> 4);\r\n let enc3 = ((chr2 & 0x0F) << 2) | (chr3 >> 6);\r\n let enc4 = chr3 & 0x3F;\r\n if (flag1 === 1) {\r\n enc3 = enc4 = 64;\r\n }\r\n else {\r\n if (flag2 === 1) {\r\n enc4 = 64;\r\n }\r\n }\r\n if (skipPadding) {\r\n if (enc3 === 64) {\r\n output += `${template.charAt(enc1)}${template.charAt(enc2)}`;\r\n }\r\n else {\r\n if (enc4 === 64) {\r\n output += `${template.charAt(enc1)}${template.charAt(enc2)}${template.charAt(enc3)}`;\r\n }\r\n else {\r\n output += `${template.charAt(enc1)}${template.charAt(enc2)}${template.charAt(enc3)}${template.charAt(enc4)}`;\r\n }\r\n }\r\n }\r\n else {\r\n output += `${template.charAt(enc1)}${template.charAt(enc2)}${template.charAt(enc3)}${template.charAt(enc4)}`;\r\n }\r\n }\r\n return output;\r\n}\r\nfunction fromBase64(input, useUrlTemplate = false, cutTailZeros = false) {\r\n const template = (useUrlTemplate) ? base64UrlTemplate : base64Template;\r\n function indexOf(toSearch) {\r\n for (let i = 0; i < 64; i++) {\r\n if (template.charAt(i) === toSearch)\r\n return i;\r\n }\r\n return 64;\r\n }\r\n function test(incoming) {\r\n return ((incoming === 64) ? 0x00 : incoming);\r\n }\r\n let i = 0;\r\n let output = "";\r\n while (i < input.length) {\r\n const enc1 = indexOf(input.charAt(i++));\r\n const enc2 = (i >= input.length) ? 0x00 : indexOf(input.charAt(i++));\r\n const enc3 = (i >= input.length) ? 0x00 : indexOf(input.charAt(i++));\r\n const enc4 = (i >= input.length) ? 0x00 : indexOf(input.charAt(i++));\r\n const chr1 = (test(enc1) << 2) | (test(enc2) >> 4);\r\n const chr2 = ((test(enc2) & 0x0F) << 4) | (test(enc3) >> 2);\r\n const chr3 = ((test(enc3) & 0x03) << 6) | test(enc4);\r\n output += String.fromCharCode(chr1);\r\n if (enc3 !== 64) {\r\n output += String.fromCharCode(chr2);\r\n }\r\n if (enc4 !== 64) {\r\n output += String.fromCharCode(chr3);\r\n }\r\n }\r\n if (cutTailZeros) {\r\n const outputLength = output.length;\r\n let nonZeroStart = (-1);\r\n for (let i = (outputLength - 1); i >= 0; i--) {\r\n if (output.charCodeAt(i) !== 0) {\r\n nonZeroStart = i;\r\n break;\r\n }\r\n }\r\n if (nonZeroStart !== (-1)) {\r\n output = output.slice(0, nonZeroStart + 1);\r\n }\r\n else {\r\n output = "";\r\n }\r\n }\r\n return output;\r\n}\r\nfunction arrayBufferToString(buffer) {\r\n let resultString = "";\r\n const view = new Uint8Array(buffer);\r\n for (const element of view) {\r\n resultString += String.fromCharCode(element);\r\n }\r\n return resultString;\r\n}\r\nfunction stringToArrayBuffer(str) {\r\n const stringLength = str.length;\r\n const resultBuffer = new ArrayBuffer(stringLength);\r\n const resultView = new Uint8Array(resultBuffer);\r\n for (let i = 0; i < stringLength; i++) {\r\n resultView[i] = str.charCodeAt(i);\r\n }\r\n return resultBuffer;\r\n}\r\nconst log2 = Math.log(2);\r\nfunction nearestPowerOf2(length) {\r\n const base = (Math.log(length) / log2);\r\n const floor = Math.floor(base);\r\n const round = Math.round(base);\r\n return ((floor === round) ? floor : round);\r\n}\r\nfunction clearProps(object, propsArray) {\r\n for (const prop of propsArray) {\r\n delete object[prop];\r\n }\r\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/pvutils/build/utils.es.js?')},"../wabac.js/node_modules/readable-stream/errors-browser.js":
/*!******************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/errors-browser.js ***!
\******************************************************************/module=>{"use strict";eval("\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/errors-browser.js?")},"../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js":
/*!**********************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js ***!
\**********************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"../wabac.js/node_modules/process/browser.js\");\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n/*<replacement>*/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/*</replacement>*/\n\n\nmodule.exports = Duplex;\n\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"../wabac.js/node_modules/readable-stream/lib/_stream_readable.js\");\n\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"../wabac.js/node_modules/readable-stream/lib/_stream_writable.js\");\n\n__webpack_require__(/*! inherits */ \"../wabac.js/node_modules/inherits/inherits_browser.js\")(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js?")},"../wabac.js/node_modules/readable-stream/lib/_stream_passthrough.js":
/*!***************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/_stream_passthrough.js ***!
\***************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\nmodule.exports = PassThrough;\n\nvar Transform = __webpack_require__(/*! ./_stream_transform */ "../wabac.js/node_modules/readable-stream/lib/_stream_transform.js");\n\n__webpack_require__(/*! inherits */ "../wabac.js/node_modules/inherits/inherits_browser.js")(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/_stream_passthrough.js?')},"../wabac.js/node_modules/readable-stream/lib/_stream_readable.js":
/*!************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/_stream_readable.js ***!
\************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"../wabac.js/node_modules/process/browser.js\");\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nmodule.exports = Readable;\n/*<replacement>*/\n\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n/*<replacement>*/\n\nvar EE = (__webpack_require__(/*! events */ \"../wabac.js/node_modules/events/events.js\").EventEmitter);\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"../wabac.js/node_modules/buffer/index.js\").Buffer);\n\nvar OurUint8Array = __webpack_require__.g.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*<replacement>*/\n\n\nvar debugUtil = __webpack_require__(/*! util */ \"?2553\");\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/buffer_list */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/buffer_list.js\");\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/destroy.js\");\n\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"../wabac.js/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\n__webpack_require__(/*! inherits */ \"../wabac.js/node_modules/inherits/inherits_browser.js\")(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"../wabac.js/node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js\");\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"../wabac.js/node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = __webpack_require__(/*! ./internal/streams/async_iterator */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/async_iterator.js\");\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = __webpack_require__(/*! ./internal/streams/from */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/from-browser.js\");\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/_stream_readable.js?")},"../wabac.js/node_modules/readable-stream/lib/_stream_transform.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/_stream_transform.js ***!
\*************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\nmodule.exports = Transform;\n\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"../wabac.js/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = __webpack_require__(/*! ./_stream_duplex */ \"../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n__webpack_require__(/*! inherits */ \"../wabac.js/node_modules/inherits/inherits_browser.js\")(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/_stream_transform.js?")},"../wabac.js/node_modules/readable-stream/lib/_stream_writable.js":
/*!************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/_stream_writable.js ***!
\************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"../wabac.js/node_modules/process/browser.js\");\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\nmodule.exports = Writable;\n/* <replacement> */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\n\n\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n/*<replacement>*/\n\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"../wabac.js/node_modules/util-deprecate/browser.js\")\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"../wabac.js/node_modules/buffer/index.js\").Buffer);\n\nvar OurUint8Array = __webpack_require__.g.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/destroy.js\");\n\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"../wabac.js/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\n__webpack_require__(/*! inherits */ \"../wabac.js/node_modules/inherits/inherits_browser.js\")(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js\"); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/_stream_writable.js?")},"../wabac.js/node_modules/readable-stream/lib/internal/streams/async_iterator.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/async_iterator.js ***!
\***************************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"../wabac.js/node_modules/process/browser.js\");\n\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = __webpack_require__(/*! ./end-of-stream */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/async_iterator.js?")},"../wabac.js/node_modules/readable-stream/lib/internal/streams/buffer_list.js":
/*!************************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/buffer_list.js ***!
\************************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = __webpack_require__(/*! buffer */ "../wabac.js/node_modules/buffer/index.js"),\n Buffer = _require.Buffer;\n\nvar _require2 = __webpack_require__(/*! util */ "?df8f"),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || \'inspect\';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0) return \'\';\n var p = this.head;\n var ret = \'\' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/buffer_list.js?')},"../wabac.js/node_modules/readable-stream/lib/internal/streams/destroy.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/destroy.js ***!
\********************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"../wabac.js/node_modules/process/browser.js\");\n // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/destroy.js?")},"../wabac.js/node_modules/readable-stream/lib/internal/streams/end-of-stream.js":
/*!**************************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/end-of-stream.js ***!
\**************************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\nvar ERR_STREAM_PREMATURE_CLOSE = (__webpack_require__(/*! ../../../errors */ \"../wabac.js/node_modules/readable-stream/errors-browser.js\").codes.ERR_STREAM_PREMATURE_CLOSE);\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/end-of-stream.js?")},"../wabac.js/node_modules/readable-stream/lib/internal/streams/from-browser.js":
/*!*************************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/from-browser.js ***!
\*************************************************************************************/module=>{eval("module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/from-browser.js?")},"../wabac.js/node_modules/readable-stream/lib/internal/streams/pipeline.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/pipeline.js ***!
\*********************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = (__webpack_require__(/*! ../../../errors */ \"../wabac.js/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = __webpack_require__(/*! ./end-of-stream */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/pipeline.js?")},"../wabac.js/node_modules/readable-stream/lib/internal/streams/state.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/state.js ***!
\******************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar ERR_INVALID_OPT_VALUE = (__webpack_require__(/*! ../../../errors */ \"../wabac.js/node_modules/readable-stream/errors-browser.js\").codes.ERR_INVALID_OPT_VALUE);\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/state.js?")},"../wabac.js/node_modules/readable-stream/lib/internal/streams/stream-browser.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/readable-stream/lib/internal/streams/stream-browser.js ***!
\***************************************************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{eval('module.exports = __webpack_require__(/*! events */ "../wabac.js/node_modules/events/events.js").EventEmitter;\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/readable-stream/lib/internal/streams/stream-browser.js?')},"../wabac.js/node_modules/reflect-metadata/Reflect.js":
/*!************************************************************!*\
!*** ../wabac.js/node_modules/reflect-metadata/Reflect.js ***!
\************************************************************/(__unused_webpack_module,__unused_webpack_exports,__webpack_require__)=>{eval('/* provided dependency */ var process = __webpack_require__(/*! process/browser */ "../wabac.js/node_modules/process/browser.js");\n/*! *****************************************************************************\nCopyright (C) Microsoft. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the "License"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar Reflect;\n(function (Reflect) {\n // Metadata Proposal\n // https://rbuckton.github.io/reflect-metadata/\n (function (factory) {\n var root = typeof __webpack_require__.g === "object" ? __webpack_require__.g :\n typeof self === "object" ? self :\n typeof this === "object" ? this :\n Function("return this;")();\n var exporter = makeExporter(Reflect);\n if (typeof root.Reflect === "undefined") {\n root.Reflect = Reflect;\n }\n else {\n exporter = makeExporter(root.Reflect, exporter);\n }\n factory(exporter);\n function makeExporter(target, previous) {\n return function (key, value) {\n if (typeof target[key] !== "function") {\n Object.defineProperty(target, key, { configurable: true, writable: true, value: value });\n }\n if (previous)\n previous(key, value);\n };\n }\n })(function (exporter) {\n var hasOwn = Object.prototype.hasOwnProperty;\n // feature test for Symbol support\n var supportsSymbol = typeof Symbol === "function";\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive";\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator";\n var supportsCreate = typeof Object.create === "function"; // feature test for Object.create support\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\n var downLevel = !supportsCreate && !supportsProto;\n var HashMap = {\n // create an object in dictionary mode (a.k.a. "slow" mode in v8)\n create: supportsCreate\n ? function () { return MakeDictionary(Object.create(null)); }\n : supportsProto\n ? function () { return MakeDictionary({ __proto__: null }); }\n : function () { return MakeDictionary({}); },\n has: downLevel\n ? function (map, key) { return hasOwn.call(map, key); }\n : function (map, key) { return key in map; },\n get: downLevel\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\n : function (map, key) { return map[key]; },\n };\n // Load global or shim versions of Map, Set, and WeakMap\n var functionPrototype = Object.getPrototypeOf(Function);\n var usePolyfill = typeof process === "object" && process.env && process.env["REFLECT_METADATA_USE_MAP_POLYFILL"] === "true";\n var _Map = !usePolyfill && typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill();\n var _Set = !usePolyfill && typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill();\n var _WeakMap = !usePolyfill && typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill();\n // [[Metadata]] internal slot\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\n var Metadata = new _WeakMap();\n /**\n * Applies a set of decorators to a property of a target object.\n * @param decorators An array of decorators.\n * @param target The target object.\n * @param propertyKey (Optional) The property key to decorate.\n * @param attributes (Optional) The property descriptor for the target key.\n * @remarks Decorators are applied in reverse order.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Example = Reflect.decorate(decoratorsArray, Example);\n *\n * // property (on constructor)\n * Reflect.decorate(decoratorsArray, Example, "staticProperty");\n *\n * // property (on prototype)\n * Reflect.decorate(decoratorsArray, Example.prototype, "property");\n *\n * // method (on constructor)\n * Object.defineProperty(Example, "staticMethod",\n * Reflect.decorate(decoratorsArray, Example, "staticMethod",\n * Object.getOwnPropertyDescriptor(Example, "staticMethod")));\n *\n * // method (on prototype)\n * Object.defineProperty(Example.prototype, "method",\n * Reflect.decorate(decoratorsArray, Example.prototype, "method",\n * Object.getOwnPropertyDescriptor(Example.prototype, "method")));\n *\n */\n function decorate(decorators, target, propertyKey, attributes) {\n if (!IsUndefined(propertyKey)) {\n if (!IsArray(decorators))\n throw new TypeError();\n if (!IsObject(target))\n throw new TypeError();\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\n throw new TypeError();\n if (IsNull(attributes))\n attributes = undefined;\n propertyKey = ToPropertyKey(propertyKey);\n return DecorateProperty(decorators, target, propertyKey, attributes);\n }\n else {\n if (!IsArray(decorators))\n throw new TypeError();\n if (!IsConstructor(target))\n throw new TypeError();\n return DecorateConstructor(decorators, target);\n }\n }\n exporter("decorate", decorate);\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\n /**\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\n * @param metadataKey The key for the metadata entry.\n * @param metadataValue The value for the metadata entry.\n * @returns A decorator function.\n * @remarks\n * If `metadataKey` is already defined for the target and target key, the\n * metadataValue for that key will be overwritten.\n * @example\n *\n * // constructor\n * @Reflect.metadata(key, value)\n * class Example {\n * }\n *\n * // property (on constructor, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticProperty;\n * }\n *\n * // property (on prototype, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * property;\n * }\n *\n * // method (on constructor)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticMethod() { }\n * }\n *\n * // method (on prototype)\n * class Example {\n * @Reflect.metadata(key, value)\n * method() { }\n * }\n *\n */\n function metadata(metadataKey, metadataValue) {\n function decorator(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\n throw new TypeError();\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n return decorator;\n }\n exporter("metadata", metadata);\n /**\n * Define a unique metadata entry on the target.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param metadataValue A value that contains attached metadata.\n * @param target The target object on which to define metadata.\n * @param propertyKey (Optional) The property key for the target.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Reflect.defineMetadata("custom:annotation", options, Example);\n *\n * // property (on constructor)\n * Reflect.defineMetadata("custom:annotation", options, Example, "staticProperty");\n *\n * // property (on prototype)\n * Reflect.defineMetadata("custom:annotation", options, Example.prototype, "property");\n *\n * // method (on constructor)\n * Reflect.defineMetadata("custom:annotation", options, Example, "staticMethod");\n *\n * // method (on prototype)\n * Reflect.defineMetadata("custom:annotation", options, Example.prototype, "method");\n *\n * // decorator factory as metadata-producing annotation.\n * function MyAnnotation(options): Decorator {\n * return (target, key?) => Reflect.defineMetadata("custom:annotation", options, target, key);\n * }\n *\n */\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n exporter("defineMetadata", defineMetadata);\n /**\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasMetadata("custom:annotation", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasMetadata("custom:annotation", Example, "staticProperty");\n *\n * // property (on prototype)\n * result = Reflect.hasMetadata("custom:annotation", Example.prototype, "property");\n *\n * // method (on constructor)\n * result = Reflect.hasMetadata("custom:annotation", Example, "staticMethod");\n *\n * // method (on prototype)\n * result = Reflect.hasMetadata("custom:annotation", Example.prototype, "method");\n *\n */\n function hasMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\n }\n exporter("hasMetadata", hasMetadata);\n /**\n * Gets a value indicating whether the target object has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasOwnMetadata("custom:annotation", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasOwnMetadata("custom:annotation", Example, "staticProperty");\n *\n * // property (on prototype)\n * result = Reflect.hasOwnMetadata("custom:annotation", Example.prototype, "property");\n *\n * // method (on constructor)\n * result = Reflect.hasOwnMetadata("custom:annotation", Example, "staticMethod");\n *\n * // method (on prototype)\n * result = Reflect.hasOwnMetadata("custom:annotation", Example.prototype, "method");\n *\n */\n function hasOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter("hasOwnMetadata", hasOwnMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadata("custom:annotation", Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadata("custom:annotation", Example, "staticProperty");\n *\n * // property (on prototype)\n * result = Reflect.getMetadata("custom:annotation", Example.prototype, "property");\n *\n * // method (on constructor)\n * result = Reflect.getMetadata("custom:annotation", Example, "staticMethod");\n *\n * // method (on prototype)\n * result = Reflect.getMetadata("custom:annotation", Example.prototype, "method");\n *\n */\n function getMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\n }\n exporter("getMetadata", getMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadata("custom:annotation", Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadata("custom:annotation", Example, "staticProperty");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadata("custom:annotation", Example.prototype, "property");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadata("custom:annotation", Example, "staticMethod");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadata("custom:annotation", Example.prototype, "method");\n *\n */\n function getOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter("getOwnMetadata", getOwnMetadata);\n /**\n * Gets the metadata keys defined on the target object or its prototype chain.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadataKeys(Example, "staticProperty");\n *\n * // property (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, "property");\n *\n * // method (on constructor)\n * result = Reflect.getMetadataKeys(Example, "staticMethod");\n *\n * // method (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, "method");\n *\n */\n function getMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryMetadataKeys(target, propertyKey);\n }\n exporter("getMetadataKeys", getMetadataKeys);\n /**\n * Gets the unique metadata keys defined on the target object.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, "staticProperty");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, "property");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, "staticMethod");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, "method");\n *\n */\n function getOwnMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryOwnMetadataKeys(target, propertyKey);\n }\n exporter("getOwnMetadataKeys", getOwnMetadataKeys);\n /**\n * Deletes the metadata entry from the target object with the provided key.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.deleteMetadata("custom:annotation", Example);\n *\n * // property (on constructor)\n * result = Reflect.deleteMetadata("custom:annotation", Example, "staticProperty");\n *\n * // property (on prototype)\n * result = Reflect.deleteMetadata("custom:annotation", Example.prototype, "property");\n *\n * // method (on constructor)\n * result = Reflect.deleteMetadata("custom:annotation", Example, "staticMethod");\n *\n * // method (on prototype)\n * result = Reflect.deleteMetadata("custom:annotation", Example.prototype, "method");\n *\n */\n function deleteMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n if (!metadataMap.delete(metadataKey))\n return false;\n if (metadataMap.size > 0)\n return true;\n var targetMetadata = Metadata.get(target);\n targetMetadata.delete(propertyKey);\n if (targetMetadata.size > 0)\n return true;\n Metadata.delete(target);\n return true;\n }\n exporter("deleteMetadata", deleteMetadata);\n function DecorateConstructor(decorators, target) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsConstructor(decorated))\n throw new TypeError();\n target = decorated;\n }\n }\n return target;\n }\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target, propertyKey, descriptor);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsObject(decorated))\n throw new TypeError();\n descriptor = decorated;\n }\n }\n return descriptor;\n }\n function GetOrCreateMetadataMap(O, P, Create) {\n var targetMetadata = Metadata.get(O);\n if (IsUndefined(targetMetadata)) {\n if (!Create)\n return undefined;\n targetMetadata = new _Map();\n Metadata.set(O, targetMetadata);\n }\n var metadataMap = targetMetadata.get(P);\n if (IsUndefined(metadataMap)) {\n if (!Create)\n return undefined;\n metadataMap = new _Map();\n targetMetadata.set(P, metadataMap);\n }\n return metadataMap;\n }\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\n function OrdinaryHasMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return true;\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryHasMetadata(MetadataKey, parent, P);\n return false;\n }\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n return ToBoolean(metadataMap.has(MetadataKey));\n }\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\n function OrdinaryGetMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryGetMetadata(MetadataKey, parent, P);\n return undefined;\n }\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return undefined;\n return metadataMap.get(MetadataKey);\n }\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\n metadataMap.set(MetadataKey, MetadataValue);\n }\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\n function OrdinaryMetadataKeys(O, P) {\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (parent === null)\n return ownKeys;\n var parentKeys = OrdinaryMetadataKeys(parent, P);\n if (parentKeys.length <= 0)\n return ownKeys;\n if (ownKeys.length <= 0)\n return parentKeys;\n var set = new _Set();\n var keys = [];\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\n var key = ownKeys_1[_i];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\n var key = parentKeys_1[_a];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n return keys;\n }\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\n function OrdinaryOwnMetadataKeys(O, P) {\n var keys = [];\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return keys;\n var keysObj = metadataMap.keys();\n var iterator = GetIterator(keysObj);\n var k = 0;\n while (true) {\n var next = IteratorStep(iterator);\n if (!next) {\n keys.length = k;\n return keys;\n }\n var nextValue = IteratorValue(next);\n try {\n keys[k] = nextValue;\n }\n catch (e) {\n try {\n IteratorClose(iterator);\n }\n finally {\n throw e;\n }\n }\n k++;\n }\n }\n // 6 ECMAScript Data Typ0es and Values\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\n function Type(x) {\n if (x === null)\n return 1 /* Null */;\n switch (typeof x) {\n case "undefined": return 0 /* Undefined */;\n case "boolean": return 2 /* Boolean */;\n case "string": return 3 /* String */;\n case "symbol": return 4 /* Symbol */;\n case "number": return 5 /* Number */;\n case "object": return x === null ? 1 /* Null */ : 6 /* Object */;\n default: return 6 /* Object */;\n }\n }\n // 6.1.1 The Undefined Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\n function IsUndefined(x) {\n return x === undefined;\n }\n // 6.1.2 The Null Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\n function IsNull(x) {\n return x === null;\n }\n // 6.1.5 The Symbol Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\n function IsSymbol(x) {\n return typeof x === "symbol";\n }\n // 6.1.7 The Object Type\n // https://tc39.github.io/ecma262/#sec-object-type\n function IsObject(x) {\n return typeof x === "object" ? x !== null : typeof x === "function";\n }\n // 7.1 Type Conversion\n // https://tc39.github.io/ecma262/#sec-type-conversion\n // 7.1.1 ToPrimitive(input [, PreferredType])\n // https://tc39.github.io/ecma262/#sec-toprimitive\n function ToPrimitive(input, PreferredType) {\n switch (Type(input)) {\n case 0 /* Undefined */: return input;\n case 1 /* Null */: return input;\n case 2 /* Boolean */: return input;\n case 3 /* String */: return input;\n case 4 /* Symbol */: return input;\n case 5 /* Number */: return input;\n }\n var hint = PreferredType === 3 /* String */ ? "string" : PreferredType === 5 /* Number */ ? "number" : "default";\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\n if (exoticToPrim !== undefined) {\n var result = exoticToPrim.call(input, hint);\n if (IsObject(result))\n throw new TypeError();\n return result;\n }\n return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint);\n }\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\n function OrdinaryToPrimitive(O, hint) {\n if (hint === "string") {\n var toString_1 = O.toString;\n if (IsCallable(toString_1)) {\n var result = toString_1.call(O);\n if (!IsObject(result))\n return result;\n }\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n else {\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n var toString_2 = O.toString;\n if (IsCallable(toString_2)) {\n var result = toString_2.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n throw new TypeError();\n }\n // 7.1.2 ToBoolean(argument)\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\n function ToBoolean(argument) {\n return !!argument;\n }\n // 7.1.12 ToString(argument)\n // https://tc39.github.io/ecma262/#sec-tostring\n function ToString(argument) {\n return "" + argument;\n }\n // 7.1.14 ToPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-topropertykey\n function ToPropertyKey(argument) {\n var key = ToPrimitive(argument, 3 /* String */);\n if (IsSymbol(key))\n return key;\n return ToString(key);\n }\n // 7.2 Testing and Comparison Operations\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\n // 7.2.2 IsArray(argument)\n // https://tc39.github.io/ecma262/#sec-isarray\n function IsArray(argument) {\n return Array.isArray\n ? Array.isArray(argument)\n : argument instanceof Object\n ? argument instanceof Array\n : Object.prototype.toString.call(argument) === "[object Array]";\n }\n // 7.2.3 IsCallable(argument)\n // https://tc39.github.io/ecma262/#sec-iscallable\n function IsCallable(argument) {\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\n return typeof argument === "function";\n }\n // 7.2.4 IsConstructor(argument)\n // https://tc39.github.io/ecma262/#sec-isconstructor\n function IsConstructor(argument) {\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\n return typeof argument === "function";\n }\n // 7.2.7 IsPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-ispropertykey\n function IsPropertyKey(argument) {\n switch (Type(argument)) {\n case 3 /* String */: return true;\n case 4 /* Symbol */: return true;\n default: return false;\n }\n }\n // 7.3 Operations on Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\n // 7.3.9 GetMethod(V, P)\n // https://tc39.github.io/ecma262/#sec-getmethod\n function GetMethod(V, P) {\n var func = V[P];\n if (func === undefined || func === null)\n return undefined;\n if (!IsCallable(func))\n throw new TypeError();\n return func;\n }\n // 7.4 Operations on Iterator Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\n function GetIterator(obj) {\n var method = GetMethod(obj, iteratorSymbol);\n if (!IsCallable(method))\n throw new TypeError(); // from Call\n var iterator = method.call(obj);\n if (!IsObject(iterator))\n throw new TypeError();\n return iterator;\n }\n // 7.4.4 IteratorValue(iterResult)\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\n function IteratorValue(iterResult) {\n return iterResult.value;\n }\n // 7.4.5 IteratorStep(iterator)\n // https://tc39.github.io/ecma262/#sec-iteratorstep\n function IteratorStep(iterator) {\n var result = iterator.next();\n return result.done ? false : result;\n }\n // 7.4.6 IteratorClose(iterator, completion)\n // https://tc39.github.io/ecma262/#sec-iteratorclose\n function IteratorClose(iterator) {\n var f = iterator["return"];\n if (f)\n f.call(iterator);\n }\n // 9.1 Ordinary Object Internal Methods and Internal Slots\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\n function OrdinaryGetPrototypeOf(O) {\n var proto = Object.getPrototypeOf(O);\n if (typeof O !== "function" || O === functionPrototype)\n return proto;\n // TypeScript doesn\'t set __proto__ in ES5, as it\'s non-standard.\n // Try to determine the superclass constructor. Compatible implementations\n // must either set __proto__ on a subclass constructor to the superclass constructor,\n // or ensure each class has a valid `constructor` property on its prototype that\n // points back to the constructor.\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\n if (proto !== functionPrototype)\n return proto;\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\n var prototype = O.prototype;\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\n if (prototypeProto == null || prototypeProto === Object.prototype)\n return proto;\n // If the constructor was not a function, then we cannot determine the heritage.\n var constructor = prototypeProto.constructor;\n if (typeof constructor !== "function")\n return proto;\n // If we have some kind of self-reference, then we cannot determine the heritage.\n if (constructor === O)\n return proto;\n // we have a pretty good guess at the heritage.\n return constructor;\n }\n // naive Map shim\n function CreateMapPolyfill() {\n var cacheSentinel = {};\n var arraySentinel = [];\n var MapIterator = /** @class */ (function () {\n function MapIterator(keys, values, selector) {\n this._index = 0;\n this._keys = keys;\n this._values = values;\n this._selector = selector;\n }\n MapIterator.prototype["@@iterator"] = function () { return this; };\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\n MapIterator.prototype.next = function () {\n var index = this._index;\n if (index >= 0 && index < this._keys.length) {\n var result = this._selector(this._keys[index], this._values[index]);\n if (index + 1 >= this._keys.length) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n else {\n this._index++;\n }\n return { value: result, done: false };\n }\n return { value: undefined, done: true };\n };\n MapIterator.prototype.throw = function (error) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n throw error;\n };\n MapIterator.prototype.return = function (value) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n return { value: value, done: true };\n };\n return MapIterator;\n }());\n return /** @class */ (function () {\n function Map() {\n this._keys = [];\n this._values = [];\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n Object.defineProperty(Map.prototype, "size", {\n get: function () { return this._keys.length; },\n enumerable: true,\n configurable: true\n });\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\n Map.prototype.get = function (key) {\n var index = this._find(key, /*insert*/ false);\n return index >= 0 ? this._values[index] : undefined;\n };\n Map.prototype.set = function (key, value) {\n var index = this._find(key, /*insert*/ true);\n this._values[index] = value;\n return this;\n };\n Map.prototype.delete = function (key) {\n var index = this._find(key, /*insert*/ false);\n if (index >= 0) {\n var size = this._keys.length;\n for (var i = index + 1; i < size; i++) {\n this._keys[i - 1] = this._keys[i];\n this._values[i - 1] = this._values[i];\n }\n this._keys.length--;\n this._values.length--;\n if (key === this._cacheKey) {\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n return true;\n }\n return false;\n };\n Map.prototype.clear = function () {\n this._keys.length = 0;\n this._values.length = 0;\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n };\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\n Map.prototype["@@iterator"] = function () { return this.entries(); };\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\n Map.prototype._find = function (key, insert) {\n if (this._cacheKey !== key) {\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\n }\n if (this._cacheIndex < 0 && insert) {\n this._cacheIndex = this._keys.length;\n this._keys.push(key);\n this._values.push(undefined);\n }\n return this._cacheIndex;\n };\n return Map;\n }());\n function getKey(key, _) {\n return key;\n }\n function getValue(_, value) {\n return value;\n }\n function getEntry(key, value) {\n return [key, value];\n }\n }\n // naive Set shim\n function CreateSetPolyfill() {\n return /** @class */ (function () {\n function Set() {\n this._map = new _Map();\n }\n Object.defineProperty(Set.prototype, "size", {\n get: function () { return this._map.size; },\n enumerable: true,\n configurable: true\n });\n Set.prototype.has = function (value) { return this._map.has(value); };\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\n Set.prototype.delete = function (value) { return this._map.delete(value); };\n Set.prototype.clear = function () { this._map.clear(); };\n Set.prototype.keys = function () { return this._map.keys(); };\n Set.prototype.values = function () { return this._map.values(); };\n Set.prototype.entries = function () { return this._map.entries(); };\n Set.prototype["@@iterator"] = function () { return this.keys(); };\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\n return Set;\n }());\n }\n // naive WeakMap shim\n function CreateWeakMapPolyfill() {\n var UUID_SIZE = 16;\n var keys = HashMap.create();\n var rootKey = CreateUniqueKey();\n return /** @class */ (function () {\n function WeakMap() {\n this._key = CreateUniqueKey();\n }\n WeakMap.prototype.has = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.has(table, this._key) : false;\n };\n WeakMap.prototype.get = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\n };\n WeakMap.prototype.set = function (target, value) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\n table[this._key] = value;\n return this;\n };\n WeakMap.prototype.delete = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? delete table[this._key] : false;\n };\n WeakMap.prototype.clear = function () {\n // NOTE: not a real clear, just makes the previous data unreachable\n this._key = CreateUniqueKey();\n };\n return WeakMap;\n }());\n function CreateUniqueKey() {\n var key;\n do\n key = "@@WeakMap@@" + CreateUUID();\n while (HashMap.has(keys, key));\n keys[key] = true;\n return key;\n }\n function GetOrCreateWeakMapTable(target, create) {\n if (!hasOwn.call(target, rootKey)) {\n if (!create)\n return undefined;\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\n }\n return target[rootKey];\n }\n function FillRandomBytes(buffer, size) {\n for (var i = 0; i < size; ++i)\n buffer[i] = Math.random() * 0xff | 0;\n return buffer;\n }\n function GenRandomBytes(size) {\n if (typeof Uint8Array === "function") {\n if (typeof crypto !== "undefined")\n return crypto.getRandomValues(new Uint8Array(size));\n if (typeof msCrypto !== "undefined")\n return msCrypto.getRandomValues(new Uint8Array(size));\n return FillRandomBytes(new Uint8Array(size), size);\n }\n return FillRandomBytes(new Array(size), size);\n }\n function CreateUUID() {\n var data = GenRandomBytes(UUID_SIZE);\n // mark as random - RFC 4122 § 4.4\n data[6] = data[6] & 0x4f | 0x40;\n data[8] = data[8] & 0xbf | 0x80;\n var result = "";\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\n var byte = data[offset];\n if (offset === 4 || offset === 6 || offset === 8)\n result += "-";\n if (byte < 16)\n result += "0";\n result += byte.toString(16).toLowerCase();\n }\n return result;\n }\n }\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\n function MakeDictionary(obj) {\n obj.__ = undefined;\n delete obj.__;\n return obj;\n }\n });\n})(Reflect || (Reflect = {}));\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/reflect-metadata/Reflect.js?')},"../wabac.js/node_modules/safe-buffer/index.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/safe-buffer/index.js ***!
\*****************************************************/(module,exports,__webpack_require__)=>{eval("/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(/*! buffer */ \"../wabac.js/node_modules/buffer/index.js\")\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/safe-buffer/index.js?")},"../wabac.js/node_modules/search-params/dist/search-params.esm.js":
/*!************************************************************************!*\
!*** ../wabac.js/node_modules/search-params/dist/search-params.esm.js ***!
\************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"build\": () => (/* binding */ build),\n/* harmony export */ \"keep\": () => (/* binding */ keep),\n/* harmony export */ \"omit\": () => (/* binding */ omit),\n/* harmony export */ \"parse\": () => (/* binding */ parse)\n/* harmony export */ });\nvar makeOptions = function makeOptions(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n return {\n arrayFormat: opts.arrayFormat || 'none',\n booleanFormat: opts.booleanFormat || 'none',\n nullFormat: opts.nullFormat || 'default'\n };\n};\n\nvar encodeValue = function encodeValue(value) {\n return encodeURIComponent(value);\n};\n\nvar decodeValue = function decodeValue(value) {\n return decodeURIComponent(value);\n};\n\nvar encodeBoolean = function encodeBoolean(name, value, opts) {\n if (opts.booleanFormat === 'empty-true' && value) {\n return name;\n }\n\n var encodedValue;\n\n if (opts.booleanFormat === 'unicode') {\n encodedValue = value ? '✓' : '✗';\n } else {\n encodedValue = value.toString();\n }\n\n return name + \"=\" + encodedValue;\n};\n\nvar encodeNull = function encodeNull(name, opts) {\n if (opts.nullFormat === 'hidden') {\n return '';\n }\n\n if (opts.nullFormat === 'string') {\n return name + \"=null\";\n }\n\n return name;\n};\n\nvar getNameEncoder = function getNameEncoder(opts) {\n if (opts.arrayFormat === 'index') {\n return function (name, index) {\n return name + \"[\" + index + \"]\";\n };\n }\n\n if (opts.arrayFormat === 'brackets') {\n return function (name) {\n return name + \"[]\";\n };\n }\n\n return function (name) {\n return name;\n };\n};\n\nvar encodeArray = function encodeArray(name, arr, opts) {\n var encodeName = getNameEncoder(opts);\n return arr.map(function (val, index) {\n return encodeName(name, index) + \"=\" + encodeValue(val);\n }).join('&');\n};\nvar encode = function encode(name, value, opts) {\n if (value === null) {\n return encodeNull(name, opts);\n }\n\n if (typeof value === 'boolean') {\n return encodeBoolean(name, value, opts);\n }\n\n if (Array.isArray(value)) {\n return encodeArray(name, value, opts);\n }\n\n return name + \"=\" + encodeValue(value);\n};\nvar decode = function decode(value, opts) {\n if (value === undefined) {\n return opts.booleanFormat === 'empty-true' ? true : null;\n }\n\n if (opts.booleanFormat === 'string') {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n }\n\n if (opts.booleanFormat === 'unicode') {\n if (decodeValue(value) === '✓') {\n return true;\n }\n\n if (decodeValue(value) === '✗') {\n return false;\n }\n }\n\n if (opts.nullFormat === 'string') {\n if (value === 'null') {\n return null;\n }\n }\n\n return decodeValue(value);\n};\n\nvar getSearch = function getSearch(path) {\n var pos = path.indexOf('?');\n\n if (pos === -1) {\n return path;\n }\n\n return path.slice(pos + 1);\n};\nvar isSerialisable = function isSerialisable(val) {\n return val !== undefined;\n};\nvar parseName = function parseName(name) {\n var bracketPosition = name.indexOf('[');\n var hasBrackets = bracketPosition !== -1;\n return {\n hasBrackets: hasBrackets,\n name: hasBrackets ? name.slice(0, bracketPosition) : name\n };\n};\n\n/**\r\n * Parse a querystring and return an object of parameters\r\n */\n\nvar parse = function parse(path, opts) {\n var options = makeOptions(opts);\n return getSearch(path).split('&').reduce(function (params, param) {\n var _a = param.split('='),\n rawName = _a[0],\n value = _a[1];\n\n var _b = parseName(rawName),\n hasBrackets = _b.hasBrackets,\n name = _b.name;\n\n var currentValue = params[name];\n var decodedValue = decode(value, options);\n\n if (currentValue === undefined) {\n params[name] = hasBrackets ? [decodedValue] : decodedValue;\n } else {\n params[name] = (Array.isArray(currentValue) ? currentValue : [currentValue]).concat(decodedValue);\n }\n\n return params;\n }, {});\n};\n/**\r\n * Build a querystring from an object of parameters\r\n */\n\nvar build = function build(params, opts) {\n var options = makeOptions(opts);\n return Object.keys(params).filter(function (paramName) {\n return isSerialisable(params[paramName]);\n }).map(function (paramName) {\n return encode(paramName, params[paramName], options);\n }).filter(Boolean).join('&');\n};\n/**\r\n * Remove a list of parameters from a querystring\r\n */\n\nvar omit = function omit(path, paramsToOmit, opts) {\n var options = makeOptions(opts);\n var searchPart = getSearch(path);\n\n if (searchPart === '') {\n return {\n querystring: '',\n removedParams: {}\n };\n }\n\n var _a = path.split('&').reduce(function (_a, chunk) {\n var left = _a[0],\n right = _a[1];\n var rawName = chunk.split('=')[0];\n var name = parseName(rawName).name;\n return paramsToOmit.indexOf(name) === -1 ? [left.concat(chunk), right] : [left, right.concat(chunk)];\n }, [[], []]),\n kept = _a[0],\n removed = _a[1];\n\n return {\n querystring: kept.join('&'),\n removedParams: parse(removed.join('&'), options)\n };\n};\n/**\r\n * Remove a list of parameters from a querystring\r\n */\n\nvar keep = function keep(path, paramsToKeep, opts) {\n var options = makeOptions(opts);\n var searchPart = getSearch(path);\n\n if (searchPart === '') {\n return {\n keptParams: {},\n querystring: ''\n };\n }\n\n var kept = path.split('&').reduce(function (acc, chunk) {\n var rawName = chunk.split('=')[0];\n var name = parseName(rawName).name;\n\n if (paramsToKeep.includes(name)) {\n acc.push(chunk);\n }\n\n return acc;\n }, []);\n return {\n keptParams: parse(kept.join('&'), options),\n querystring: kept.join('&')\n };\n};\n\n\n//# sourceMappingURL=search-params.esm.js.map\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/search-params/dist/search-params.esm.js?")},"../wabac.js/node_modules/stream-browserify/index.js":
/*!***********************************************************!*\
!*** ../wabac.js/node_modules/stream-browserify/index.js ***!
\***********************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = (__webpack_require__(/*! events */ \"../wabac.js/node_modules/events/events.js\").EventEmitter);\nvar inherits = __webpack_require__(/*! inherits */ \"../wabac.js/node_modules/inherits/inherits_browser.js\");\n\ninherits(Stream, EE);\nStream.Readable = __webpack_require__(/*! readable-stream/lib/_stream_readable.js */ \"../wabac.js/node_modules/readable-stream/lib/_stream_readable.js\");\nStream.Writable = __webpack_require__(/*! readable-stream/lib/_stream_writable.js */ \"../wabac.js/node_modules/readable-stream/lib/_stream_writable.js\");\nStream.Duplex = __webpack_require__(/*! readable-stream/lib/_stream_duplex.js */ \"../wabac.js/node_modules/readable-stream/lib/_stream_duplex.js\");\nStream.Transform = __webpack_require__(/*! readable-stream/lib/_stream_transform.js */ \"../wabac.js/node_modules/readable-stream/lib/_stream_transform.js\");\nStream.PassThrough = __webpack_require__(/*! readable-stream/lib/_stream_passthrough.js */ \"../wabac.js/node_modules/readable-stream/lib/_stream_passthrough.js\");\nStream.finished = __webpack_require__(/*! readable-stream/lib/internal/streams/end-of-stream.js */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\")\nStream.pipeline = __webpack_require__(/*! readable-stream/lib/internal/streams/pipeline.js */ \"../wabac.js/node_modules/readable-stream/lib/internal/streams/pipeline.js\")\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/stream-browserify/index.js?")},"../wabac.js/node_modules/string_decoder/lib/string_decoder.js":
/*!*********************************************************************!*\
!*** ../wabac.js/node_modules/string_decoder/lib/string_decoder.js ***!
\*********************************************************************/(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/*<replacement>*/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"../wabac.js/node_modules/safe-buffer/index.js\").Buffer);\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/string_decoder/lib/string_decoder.js?")},"../wabac.js/node_modules/tslib/tslib.es6.js":
/*!***************************************************!*\
!*** ../wabac.js/node_modules/tslib/tslib.es6.js ***!
\***************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "__assign": () => (/* binding */ __assign),\n/* harmony export */ "__asyncDelegator": () => (/* binding */ __asyncDelegator),\n/* harmony export */ "__asyncGenerator": () => (/* binding */ __asyncGenerator),\n/* harmony export */ "__asyncValues": () => (/* binding */ __asyncValues),\n/* harmony export */ "__await": () => (/* binding */ __await),\n/* harmony export */ "__awaiter": () => (/* binding */ __awaiter),\n/* harmony export */ "__classPrivateFieldGet": () => (/* binding */ __classPrivateFieldGet),\n/* harmony export */ "__classPrivateFieldIn": () => (/* binding */ __classPrivateFieldIn),\n/* harmony export */ "__classPrivateFieldSet": () => (/* binding */ __classPrivateFieldSet),\n/* harmony export */ "__createBinding": () => (/* binding */ __createBinding),\n/* harmony export */ "__decorate": () => (/* binding */ __decorate),\n/* harmony export */ "__exportStar": () => (/* binding */ __exportStar),\n/* harmony export */ "__extends": () => (/* binding */ __extends),\n/* harmony export */ "__generator": () => (/* binding */ __generator),\n/* harmony export */ "__importDefault": () => (/* binding */ __importDefault),\n/* harmony export */ "__importStar": () => (/* binding */ __importStar),\n/* harmony export */ "__makeTemplateObject": () => (/* binding */ __makeTemplateObject),\n/* harmony export */ "__metadata": () => (/* binding */ __metadata),\n/* harmony export */ "__param": () => (/* binding */ __param),\n/* harmony export */ "__read": () => (/* binding */ __read),\n/* harmony export */ "__rest": () => (/* binding */ __rest),\n/* harmony export */ "__spread": () => (/* binding */ __spread),\n/* harmony export */ "__spreadArray": () => (/* binding */ __spreadArray),\n/* harmony export */ "__spreadArrays": () => (/* binding */ __spreadArrays),\n/* harmony export */ "__values": () => (/* binding */ __values)\n/* harmony export */ });\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== "function" && b !== null)\r\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError("Generator is already executing.");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nfunction __exportStar(m, o) {\r\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === "number") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === "function" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i["return"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume("next", value); }\r\n function reject(value) { resume("throw", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, "default", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o["default"] = v;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\r\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\r\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === "m") throw new TypeError("Private method is not writable");\r\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");\r\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");\r\n return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nfunction __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use \'in\' operator on non-object");\r\n return typeof state === "function" ? receiver === state : state.has(receiver);\r\n}\r\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tslib/tslib.es6.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/auto-injectable.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/auto-injectable.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _reflection_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../reflection-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js");\n/* harmony import */ var _dependency_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependency-container */ "../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js");\n/* harmony import */ var _providers_injection_token__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../providers/injection-token */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/injection-token.js");\n/* harmony import */ var _error_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../error-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/error-helpers.js");\n\n\n\n\n\nfunction autoInjectable() {\n return function (target) {\n var paramInfo = (0,_reflection_helpers__WEBPACK_IMPORTED_MODULE_0__.getParamInfo)(target);\n return (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(class_1, _super);\n function class_1() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return _super.apply(this, (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spread)(args.concat(paramInfo.slice(args.length).map(function (type, index) {\n var _a, _b, _c;\n try {\n if ((0,_providers_injection_token__WEBPACK_IMPORTED_MODULE_2__.isTokenDescriptor)(type)) {\n if ((0,_providers_injection_token__WEBPACK_IMPORTED_MODULE_2__.isTransformDescriptor)(type)) {\n return type.multiple\n ? (_a = _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolve(type.transform)).transform.apply(_a, (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spread)([_dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolveAll(type.token)], type.transformArgs)) : (_b = _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolve(type.transform)).transform.apply(_b, (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spread)([_dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolve(type.token)], type.transformArgs));\n }\n else {\n return type.multiple\n ? _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolveAll(type.token)\n : _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolve(type.token);\n }\n }\n else if ((0,_providers_injection_token__WEBPACK_IMPORTED_MODULE_2__.isTransformDescriptor)(type)) {\n return (_c = _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolve(type.transform)).transform.apply(_c, (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__spread)([_dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolve(type.token)], type.transformArgs));\n }\n return _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.resolve(type);\n }\n catch (e) {\n var argIndex = index + args.length;\n throw new Error((0,_error_helpers__WEBPACK_IMPORTED_MODULE_3__.formatErrorCtor)(target, argIndex, e));\n }\n })))) || this;\n }\n return class_1;\n }(target));\n };\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (autoInjectable);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/auto-injectable.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/index.js":
/*!***********************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/index.js ***!
\***********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "autoInjectable": () => (/* reexport safe */ _auto_injectable__WEBPACK_IMPORTED_MODULE_0__["default"]),\n/* harmony export */ "inject": () => (/* reexport safe */ _inject__WEBPACK_IMPORTED_MODULE_1__["default"]),\n/* harmony export */ "injectAll": () => (/* reexport safe */ _inject_all__WEBPACK_IMPORTED_MODULE_5__["default"]),\n/* harmony export */ "injectAllWithTransform": () => (/* reexport safe */ _inject_all_with_transform__WEBPACK_IMPORTED_MODULE_6__["default"]),\n/* harmony export */ "injectWithTransform": () => (/* reexport safe */ _inject_with_transform__WEBPACK_IMPORTED_MODULE_7__["default"]),\n/* harmony export */ "injectable": () => (/* reexport safe */ _injectable__WEBPACK_IMPORTED_MODULE_2__["default"]),\n/* harmony export */ "registry": () => (/* reexport safe */ _registry__WEBPACK_IMPORTED_MODULE_3__["default"]),\n/* harmony export */ "scoped": () => (/* reexport safe */ _scoped__WEBPACK_IMPORTED_MODULE_8__["default"]),\n/* harmony export */ "singleton": () => (/* reexport safe */ _singleton__WEBPACK_IMPORTED_MODULE_4__["default"])\n/* harmony export */ });\n/* harmony import */ var _auto_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./auto-injectable */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/auto-injectable.js");\n/* harmony import */ var _inject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inject */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject.js");\n/* harmony import */ var _injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./injectable */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/injectable.js");\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./registry */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/registry.js");\n/* harmony import */ var _singleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./singleton */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/singleton.js");\n/* harmony import */ var _inject_all__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./inject-all */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all.js");\n/* harmony import */ var _inject_all_with_transform__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./inject-all-with-transform */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all-with-transform.js");\n/* harmony import */ var _inject_with_transform__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./inject-with-transform */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-with-transform.js");\n/* harmony import */ var _scoped__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./scoped */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/scoped.js");\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/index.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all-with-transform.js":
/*!*******************************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all-with-transform.js ***!
\*******************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _reflection_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../reflection-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js");\n\nfunction injectAllWithTransform(token, transformer) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var data = {\n token: token,\n multiple: true,\n transform: transformer,\n transformArgs: args\n };\n return (0,_reflection_helpers__WEBPACK_IMPORTED_MODULE_0__.defineInjectionTokenMetadata)(data);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (injectAllWithTransform);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all-with-transform.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all.js":
/*!****************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all.js ***!
\****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _reflection_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../reflection-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js");\n\nfunction injectAll(token) {\n var data = { token: token, multiple: true };\n return (0,_reflection_helpers__WEBPACK_IMPORTED_MODULE_0__.defineInjectionTokenMetadata)(data);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (injectAll);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-all.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-with-transform.js":
/*!***************************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-with-transform.js ***!
\***************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _reflection_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../reflection-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js");\n\nfunction injectWithTransform(token, transformer) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n return (0,_reflection_helpers__WEBPACK_IMPORTED_MODULE_0__.defineInjectionTokenMetadata)(token, {\n transformToken: transformer,\n args: args\n });\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (injectWithTransform);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject-with-transform.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject.js":
/*!************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject.js ***!
\************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _reflection_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../reflection-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js");\n\nfunction inject(token) {\n return (0,_reflection_helpers__WEBPACK_IMPORTED_MODULE_0__.defineInjectionTokenMetadata)(token);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (inject);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/inject.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/injectable.js":
/*!****************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/injectable.js ***!
\****************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _reflection_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../reflection-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js");\n/* harmony import */ var _dependency_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependency-container */ "../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js");\n\n\nfunction injectable() {\n return function (target) {\n _dependency_container__WEBPACK_IMPORTED_MODULE_1__.typeInfo.set(target, (0,_reflection_helpers__WEBPACK_IMPORTED_MODULE_0__.getParamInfo)(target));\n };\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (injectable);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/injectable.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/registry.js":
/*!**************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/registry.js ***!
\**************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _dependency_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependency-container */ "../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js");\n\n\nfunction registry(registrations) {\n if (registrations === void 0) { registrations = []; }\n return function (target) {\n registrations.forEach(function (_a) {\n var token = _a.token, options = _a.options, provider = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__rest)(_a, ["token", "options"]);\n return _dependency_container__WEBPACK_IMPORTED_MODULE_0__.instance.register(token, provider, options);\n });\n return target;\n };\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (registry);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/registry.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/scoped.js":
/*!************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/scoped.js ***!
\************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ scoped)\n/* harmony export */ });\n/* harmony import */ var _injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./injectable */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/injectable.js");\n/* harmony import */ var _dependency_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependency-container */ "../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js");\n\n\nfunction scoped(lifecycle, token) {\n return function (target) {\n (0,_injectable__WEBPACK_IMPORTED_MODULE_0__["default"])()(target);\n _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.register(token || target, target, {\n lifecycle: lifecycle\n });\n };\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/scoped.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/decorators/singleton.js":
/*!***************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/decorators/singleton.js ***!
\***************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./injectable */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/injectable.js");\n/* harmony import */ var _dependency_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependency-container */ "../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js");\n\n\nfunction singleton() {\n return function (target) {\n (0,_injectable__WEBPACK_IMPORTED_MODULE_0__["default"])()(target);\n _dependency_container__WEBPACK_IMPORTED_MODULE_1__.instance.registerSingleton(target);\n };\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (singleton);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/decorators/singleton.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js":
/*!***************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js ***!
\***************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ "instance": () => (/* binding */ instance),\n/* harmony export */ "typeInfo": () => (/* binding */ typeInfo)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _providers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./providers */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/index.js");\n/* harmony import */ var _providers_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./providers/provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/provider.js");\n/* harmony import */ var _providers_injection_token__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./providers/injection-token */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/injection-token.js");\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./registry */ "../wabac.js/node_modules/tsyringe/dist/esm5/registry.js");\n/* harmony import */ var _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./types/lifecycle */ "../wabac.js/node_modules/tsyringe/dist/esm5/types/lifecycle.js");\n/* harmony import */ var _resolution_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./resolution-context */ "../wabac.js/node_modules/tsyringe/dist/esm5/resolution-context.js");\n/* harmony import */ var _error_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./error-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/error-helpers.js");\n/* harmony import */ var _lazy_helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lazy-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/lazy-helpers.js");\n/* harmony import */ var _types_disposable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./types/disposable */ "../wabac.js/node_modules/tsyringe/dist/esm5/types/disposable.js");\n/* harmony import */ var _interceptors__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./interceptors */ "../wabac.js/node_modules/tsyringe/dist/esm5/interceptors.js");\n\n\n\n\n\n\n\n\n\n\n\nvar typeInfo = new Map();\nvar InternalDependencyContainer = (function () {\n function InternalDependencyContainer(parent) {\n this.parent = parent;\n this._registry = new _registry__WEBPACK_IMPORTED_MODULE_3__["default"]();\n this.interceptors = new _interceptors__WEBPACK_IMPORTED_MODULE_9__["default"]();\n this.disposed = false;\n this.disposables = new Set();\n }\n InternalDependencyContainer.prototype.register = function (token, providerOrConstructor, options) {\n if (options === void 0) { options = { lifecycle: _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].Transient }; }\n this.ensureNotDisposed();\n var provider;\n if (!(0,_providers_provider__WEBPACK_IMPORTED_MODULE_1__.isProvider)(providerOrConstructor)) {\n provider = { useClass: providerOrConstructor };\n }\n else {\n provider = providerOrConstructor;\n }\n if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isTokenProvider)(provider)) {\n var path = [token];\n var tokenProvider = provider;\n while (tokenProvider != null) {\n var currentToken = tokenProvider.useToken;\n if (path.includes(currentToken)) {\n throw new Error("Token registration cycle detected! " + (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__spread)(path, [currentToken]).join(" -> "));\n }\n path.push(currentToken);\n var registration = this._registry.get(currentToken);\n if (registration && (0,_providers__WEBPACK_IMPORTED_MODULE_0__.isTokenProvider)(registration.provider)) {\n tokenProvider = registration.provider;\n }\n else {\n tokenProvider = null;\n }\n }\n }\n if (options.lifecycle === _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].Singleton ||\n options.lifecycle == _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].ContainerScoped ||\n options.lifecycle == _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].ResolutionScoped) {\n if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isValueProvider)(provider) || (0,_providers__WEBPACK_IMPORTED_MODULE_0__.isFactoryProvider)(provider)) {\n throw new Error("Cannot use lifecycle \\"" + _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"][options.lifecycle] + "\\" with ValueProviders or FactoryProviders");\n }\n }\n this._registry.set(token, { provider: provider, options: options });\n return this;\n };\n InternalDependencyContainer.prototype.registerType = function (from, to) {\n this.ensureNotDisposed();\n if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isNormalToken)(to)) {\n return this.register(from, {\n useToken: to\n });\n }\n return this.register(from, {\n useClass: to\n });\n };\n InternalDependencyContainer.prototype.registerInstance = function (token, instance) {\n this.ensureNotDisposed();\n return this.register(token, {\n useValue: instance\n });\n };\n InternalDependencyContainer.prototype.registerSingleton = function (from, to) {\n this.ensureNotDisposed();\n if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isNormalToken)(from)) {\n if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isNormalToken)(to)) {\n return this.register(from, {\n useToken: to\n }, { lifecycle: _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].Singleton });\n }\n else if (to) {\n return this.register(from, {\n useClass: to\n }, { lifecycle: _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].Singleton });\n }\n throw new Error(\'Cannot register a type name as a singleton without a "to" token\');\n }\n var useClass = from;\n if (to && !(0,_providers__WEBPACK_IMPORTED_MODULE_0__.isNormalToken)(to)) {\n useClass = to;\n }\n return this.register(from, {\n useClass: useClass\n }, { lifecycle: _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].Singleton });\n };\n InternalDependencyContainer.prototype.resolve = function (token, context) {\n if (context === void 0) { context = new _resolution_context__WEBPACK_IMPORTED_MODULE_5__["default"](); }\n this.ensureNotDisposed();\n var registration = this.getRegistration(token);\n if (!registration && (0,_providers__WEBPACK_IMPORTED_MODULE_0__.isNormalToken)(token)) {\n throw new Error("Attempted to resolve unregistered dependency token: \\"" + token.toString() + "\\"");\n }\n this.executePreResolutionInterceptor(token, "Single");\n if (registration) {\n var result = this.resolveRegistration(registration, context);\n this.executePostResolutionInterceptor(token, result, "Single");\n return result;\n }\n if ((0,_providers_injection_token__WEBPACK_IMPORTED_MODULE_2__.isConstructorToken)(token)) {\n var result = this.construct(token, context);\n this.executePostResolutionInterceptor(token, result, "Single");\n return result;\n }\n throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.");\n };\n InternalDependencyContainer.prototype.executePreResolutionInterceptor = function (token, resolutionType) {\n var e_1, _a;\n if (this.interceptors.preResolution.has(token)) {\n var remainingInterceptors = [];\n try {\n for (var _b = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__values)(this.interceptors.preResolution.getAll(token)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var interceptor = _c.value;\n if (interceptor.options.frequency != "Once") {\n remainingInterceptors.push(interceptor);\n }\n interceptor.callback(token, resolutionType);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.interceptors.preResolution.setAll(token, remainingInterceptors);\n }\n };\n InternalDependencyContainer.prototype.executePostResolutionInterceptor = function (token, result, resolutionType) {\n var e_2, _a;\n if (this.interceptors.postResolution.has(token)) {\n var remainingInterceptors = [];\n try {\n for (var _b = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__values)(this.interceptors.postResolution.getAll(token)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var interceptor = _c.value;\n if (interceptor.options.frequency != "Once") {\n remainingInterceptors.push(interceptor);\n }\n interceptor.callback(token, result, resolutionType);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n this.interceptors.postResolution.setAll(token, remainingInterceptors);\n }\n };\n InternalDependencyContainer.prototype.resolveRegistration = function (registration, context) {\n this.ensureNotDisposed();\n if (registration.options.lifecycle === _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].ResolutionScoped &&\n context.scopedResolutions.has(registration)) {\n return context.scopedResolutions.get(registration);\n }\n var isSingleton = registration.options.lifecycle === _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].Singleton;\n var isContainerScoped = registration.options.lifecycle === _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].ContainerScoped;\n var returnInstance = isSingleton || isContainerScoped;\n var resolved;\n if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isValueProvider)(registration.provider)) {\n resolved = registration.provider.useValue;\n }\n else if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isTokenProvider)(registration.provider)) {\n resolved = returnInstance\n ? registration.instance ||\n (registration.instance = this.resolve(registration.provider.useToken, context))\n : this.resolve(registration.provider.useToken, context);\n }\n else if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isClassProvider)(registration.provider)) {\n resolved = returnInstance\n ? registration.instance ||\n (registration.instance = this.construct(registration.provider.useClass, context))\n : this.construct(registration.provider.useClass, context);\n }\n else if ((0,_providers__WEBPACK_IMPORTED_MODULE_0__.isFactoryProvider)(registration.provider)) {\n resolved = registration.provider.useFactory(this);\n }\n else {\n resolved = this.construct(registration.provider, context);\n }\n if (registration.options.lifecycle === _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].ResolutionScoped) {\n context.scopedResolutions.set(registration, resolved);\n }\n return resolved;\n };\n InternalDependencyContainer.prototype.resolveAll = function (token, context) {\n var _this = this;\n if (context === void 0) { context = new _resolution_context__WEBPACK_IMPORTED_MODULE_5__["default"](); }\n this.ensureNotDisposed();\n var registrations = this.getAllRegistrations(token);\n if (!registrations && (0,_providers__WEBPACK_IMPORTED_MODULE_0__.isNormalToken)(token)) {\n throw new Error("Attempted to resolve unregistered dependency token: \\"" + token.toString() + "\\"");\n }\n this.executePreResolutionInterceptor(token, "All");\n if (registrations) {\n var result_1 = registrations.map(function (item) {\n return _this.resolveRegistration(item, context);\n });\n this.executePostResolutionInterceptor(token, result_1, "All");\n return result_1;\n }\n var result = [this.construct(token, context)];\n this.executePostResolutionInterceptor(token, result, "All");\n return result;\n };\n InternalDependencyContainer.prototype.isRegistered = function (token, recursive) {\n if (recursive === void 0) { recursive = false; }\n this.ensureNotDisposed();\n return (this._registry.has(token) ||\n (recursive &&\n (this.parent || false) &&\n this.parent.isRegistered(token, true)));\n };\n InternalDependencyContainer.prototype.reset = function () {\n this.ensureNotDisposed();\n this._registry.clear();\n this.interceptors.preResolution.clear();\n this.interceptors.postResolution.clear();\n };\n InternalDependencyContainer.prototype.clearInstances = function () {\n var e_3, _a;\n this.ensureNotDisposed();\n try {\n for (var _b = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__values)(this._registry.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__read)(_c.value, 2), token = _d[0], registrations = _d[1];\n this._registry.setAll(token, registrations\n .filter(function (registration) { return !(0,_providers__WEBPACK_IMPORTED_MODULE_0__.isValueProvider)(registration.provider); })\n .map(function (registration) {\n registration.instance = undefined;\n return registration;\n }));\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_3) throw e_3.error; }\n }\n };\n InternalDependencyContainer.prototype.createChildContainer = function () {\n var e_4, _a;\n this.ensureNotDisposed();\n var childContainer = new InternalDependencyContainer(this);\n try {\n for (var _b = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__values)(this._registry.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__read)(_c.value, 2), token = _d[0], registrations = _d[1];\n if (registrations.some(function (_a) {\n var options = _a.options;\n return options.lifecycle === _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].ContainerScoped;\n })) {\n childContainer._registry.setAll(token, registrations.map(function (registration) {\n if (registration.options.lifecycle === _types_lifecycle__WEBPACK_IMPORTED_MODULE_4__["default"].ContainerScoped) {\n return {\n provider: registration.provider,\n options: registration.options\n };\n }\n return registration;\n }));\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_4) throw e_4.error; }\n }\n return childContainer;\n };\n InternalDependencyContainer.prototype.beforeResolution = function (token, callback, options) {\n if (options === void 0) { options = { frequency: "Always" }; }\n this.interceptors.preResolution.set(token, {\n callback: callback,\n options: options\n });\n };\n InternalDependencyContainer.prototype.afterResolution = function (token, callback, options) {\n if (options === void 0) { options = { frequency: "Always" }; }\n this.interceptors.postResolution.set(token, {\n callback: callback,\n options: options\n });\n };\n InternalDependencyContainer.prototype.dispose = function () {\n return (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__awaiter)(this, void 0, void 0, function () {\n var promises;\n return (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__generator)(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.disposed = true;\n promises = [];\n this.disposables.forEach(function (disposable) {\n var maybePromise = disposable.dispose();\n if (maybePromise) {\n promises.push(maybePromise);\n }\n });\n return [4, Promise.all(promises)];\n case 1:\n _a.sent();\n return [2];\n }\n });\n });\n };\n InternalDependencyContainer.prototype.getRegistration = function (token) {\n if (this.isRegistered(token)) {\n return this._registry.get(token);\n }\n if (this.parent) {\n return this.parent.getRegistration(token);\n }\n return null;\n };\n InternalDependencyContainer.prototype.getAllRegistrations = function (token) {\n if (this.isRegistered(token)) {\n return this._registry.getAll(token);\n }\n if (this.parent) {\n return this.parent.getAllRegistrations(token);\n }\n return null;\n };\n InternalDependencyContainer.prototype.construct = function (ctor, context) {\n var _this = this;\n if (ctor instanceof _lazy_helpers__WEBPACK_IMPORTED_MODULE_7__.DelayedConstructor) {\n return ctor.createProxy(function (target) {\n return _this.resolve(target, context);\n });\n }\n var instance = (function () {\n var paramInfo = typeInfo.get(ctor);\n if (!paramInfo || paramInfo.length === 0) {\n if (ctor.length === 0) {\n return new ctor();\n }\n else {\n throw new Error("TypeInfo not known for \\"" + ctor.name + "\\"");\n }\n }\n var params = paramInfo.map(_this.resolveParams(context, ctor));\n return new (ctor.bind.apply(ctor, (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__spread)([void 0], params)))();\n })();\n if ((0,_types_disposable__WEBPACK_IMPORTED_MODULE_8__.isDisposable)(instance)) {\n this.disposables.add(instance);\n }\n return instance;\n };\n InternalDependencyContainer.prototype.resolveParams = function (context, ctor) {\n var _this = this;\n return function (param, idx) {\n var _a, _b, _c;\n try {\n if ((0,_providers_injection_token__WEBPACK_IMPORTED_MODULE_2__.isTokenDescriptor)(param)) {\n if ((0,_providers_injection_token__WEBPACK_IMPORTED_MODULE_2__.isTransformDescriptor)(param)) {\n return param.multiple\n ? (_a = _this.resolve(param.transform)).transform.apply(_a, (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__spread)([_this.resolveAll(param.token)], param.transformArgs)) : (_b = _this.resolve(param.transform)).transform.apply(_b, (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__spread)([_this.resolve(param.token, context)], param.transformArgs));\n }\n else {\n return param.multiple\n ? _this.resolveAll(param.token)\n : _this.resolve(param.token, context);\n }\n }\n else if ((0,_providers_injection_token__WEBPACK_IMPORTED_MODULE_2__.isTransformDescriptor)(param)) {\n return (_c = _this.resolve(param.transform, context)).transform.apply(_c, (0,tslib__WEBPACK_IMPORTED_MODULE_10__.__spread)([_this.resolve(param.token, context)], param.transformArgs));\n }\n return _this.resolve(param, context);\n }\n catch (e) {\n throw new Error((0,_error_helpers__WEBPACK_IMPORTED_MODULE_6__.formatErrorCtor)(ctor, idx, e));\n }\n };\n };\n InternalDependencyContainer.prototype.ensureNotDisposed = function () {\n if (this.disposed) {\n throw new Error("This container has been disposed, you cannot interact with a disposed container");\n }\n };\n return InternalDependencyContainer;\n}());\nvar instance = new InternalDependencyContainer();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (instance);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/error-helpers.js":
/*!********************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/error-helpers.js ***!
\********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "formatErrorCtor": () => (/* binding */ formatErrorCtor)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js");\n\nfunction formatDependency(params, idx) {\n if (params === null) {\n return "at position #" + idx;\n }\n var argName = params.split(",")[idx].trim();\n return "\\"" + argName + "\\" at position #" + idx;\n}\nfunction composeErrorMessage(msg, e, indent) {\n if (indent === void 0) { indent = " "; }\n return (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__spread)([msg], e.message.split("\\n").map(function (l) { return indent + l; })).join("\\n");\n}\nfunction formatErrorCtor(ctor, paramIdx, error) {\n var _a = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__read)(ctor.toString().match(/constructor\\(([\\w, ]+)\\)/) || [], 2), _b = _a[1], params = _b === void 0 ? null : _b;\n var dep = formatDependency(params, paramIdx);\n return composeErrorMessage("Cannot inject the dependency " + dep + " of \\"" + ctor.name + "\\" constructor. Reason:", error);\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/error-helpers.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/factories/index.js":
/*!**********************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/factories/index.js ***!
\**********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "instanceCachingFactory": () => (/* reexport safe */ _instance_caching_factory__WEBPACK_IMPORTED_MODULE_0__["default"]),\n/* harmony export */ "instancePerContainerCachingFactory": () => (/* reexport safe */ _instance_per_container_caching_factory__WEBPACK_IMPORTED_MODULE_1__["default"]),\n/* harmony export */ "predicateAwareClassFactory": () => (/* reexport safe */ _predicate_aware_class_factory__WEBPACK_IMPORTED_MODULE_2__["default"])\n/* harmony export */ });\n/* harmony import */ var _instance_caching_factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instance-caching-factory */ "../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-caching-factory.js");\n/* harmony import */ var _instance_per_container_caching_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instance-per-container-caching-factory */ "../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-per-container-caching-factory.js");\n/* harmony import */ var _predicate_aware_class_factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./predicate-aware-class-factory */ "../wabac.js/node_modules/tsyringe/dist/esm5/factories/predicate-aware-class-factory.js");\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/factories/index.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-caching-factory.js":
/*!*****************************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-caching-factory.js ***!
\*****************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ instanceCachingFactory)\n/* harmony export */ });\nfunction instanceCachingFactory(factoryFunc) {\n var instance;\n return function (dependencyContainer) {\n if (instance == undefined) {\n instance = factoryFunc(dependencyContainer);\n }\n return instance;\n };\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-caching-factory.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-per-container-caching-factory.js":
/*!*******************************************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-per-container-caching-factory.js ***!
\*******************************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ instancePerContainerCachingFactory)\n/* harmony export */ });\nfunction instancePerContainerCachingFactory(factoryFunc) {\n var cache = new WeakMap();\n return function (dependencyContainer) {\n var instance = cache.get(dependencyContainer);\n if (instance == undefined) {\n instance = factoryFunc(dependencyContainer);\n cache.set(dependencyContainer, instance);\n }\n return instance;\n };\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/factories/instance-per-container-caching-factory.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/factories/predicate-aware-class-factory.js":
/*!**********************************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/factories/predicate-aware-class-factory.js ***!
\**********************************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ predicateAwareClassFactory)\n/* harmony export */ });\nfunction predicateAwareClassFactory(predicate, trueConstructor, falseConstructor, useCaching) {\n if (useCaching === void 0) { useCaching = true; }\n var instance;\n var previousPredicate;\n return function (dependencyContainer) {\n var currentPredicate = predicate(dependencyContainer);\n if (!useCaching || previousPredicate !== currentPredicate) {\n if ((previousPredicate = currentPredicate)) {\n instance = dependencyContainer.resolve(trueConstructor);\n }\n else {\n instance = dependencyContainer.resolve(falseConstructor);\n }\n }\n return instance;\n };\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/factories/predicate-aware-class-factory.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/index.js":
/*!************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/index.js ***!
\************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Lifecycle": () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_0__.Lifecycle),\n/* harmony export */ "autoInjectable": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.autoInjectable),\n/* harmony export */ "container": () => (/* reexport safe */ _dependency_container__WEBPACK_IMPORTED_MODULE_5__.instance),\n/* harmony export */ "delay": () => (/* reexport safe */ _lazy_helpers__WEBPACK_IMPORTED_MODULE_4__.delay),\n/* harmony export */ "inject": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.inject),\n/* harmony export */ "injectAll": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.injectAll),\n/* harmony export */ "injectAllWithTransform": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.injectAllWithTransform),\n/* harmony export */ "injectWithTransform": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.injectWithTransform),\n/* harmony export */ "injectable": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.injectable),\n/* harmony export */ "instanceCachingFactory": () => (/* reexport safe */ _factories__WEBPACK_IMPORTED_MODULE_2__.instanceCachingFactory),\n/* harmony export */ "instancePerContainerCachingFactory": () => (/* reexport safe */ _factories__WEBPACK_IMPORTED_MODULE_2__.instancePerContainerCachingFactory),\n/* harmony export */ "isClassProvider": () => (/* reexport safe */ _providers__WEBPACK_IMPORTED_MODULE_3__.isClassProvider),\n/* harmony export */ "isFactoryProvider": () => (/* reexport safe */ _providers__WEBPACK_IMPORTED_MODULE_3__.isFactoryProvider),\n/* harmony export */ "isNormalToken": () => (/* reexport safe */ _providers__WEBPACK_IMPORTED_MODULE_3__.isNormalToken),\n/* harmony export */ "isTokenProvider": () => (/* reexport safe */ _providers__WEBPACK_IMPORTED_MODULE_3__.isTokenProvider),\n/* harmony export */ "isValueProvider": () => (/* reexport safe */ _providers__WEBPACK_IMPORTED_MODULE_3__.isValueProvider),\n/* harmony export */ "predicateAwareClassFactory": () => (/* reexport safe */ _factories__WEBPACK_IMPORTED_MODULE_2__.predicateAwareClassFactory),\n/* harmony export */ "registry": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.registry),\n/* harmony export */ "scoped": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.scoped),\n/* harmony export */ "singleton": () => (/* reexport safe */ _decorators__WEBPACK_IMPORTED_MODULE_1__.singleton)\n/* harmony export */ });\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "../wabac.js/node_modules/tsyringe/dist/esm5/types/index.js");\n/* harmony import */ var _decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decorators */ "../wabac.js/node_modules/tsyringe/dist/esm5/decorators/index.js");\n/* harmony import */ var _factories__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./factories */ "../wabac.js/node_modules/tsyringe/dist/esm5/factories/index.js");\n/* harmony import */ var _providers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./providers */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/index.js");\n/* harmony import */ var _lazy_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lazy-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/lazy-helpers.js");\n/* harmony import */ var _dependency_container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dependency-container */ "../wabac.js/node_modules/tsyringe/dist/esm5/dependency-container.js");\nif (typeof Reflect === "undefined" || !Reflect.getMetadata) {\n throw new Error("tsyringe requires a reflect polyfill. Please add \'import \\"reflect-metadata\\"\' to the top of your entry point.");\n}\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/index.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/interceptors.js":
/*!*******************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/interceptors.js ***!
\*******************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PostResolutionInterceptors": () => (/* binding */ PostResolutionInterceptors),\n/* harmony export */ "PreResolutionInterceptors": () => (/* binding */ PreResolutionInterceptors),\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _registry_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./registry-base */ "../wabac.js/node_modules/tsyringe/dist/esm5/registry-base.js");\n\n\nvar PreResolutionInterceptors = (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__extends)(PreResolutionInterceptors, _super);\n function PreResolutionInterceptors() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return PreResolutionInterceptors;\n}(_registry_base__WEBPACK_IMPORTED_MODULE_0__["default"]));\n\nvar PostResolutionInterceptors = (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__extends)(PostResolutionInterceptors, _super);\n function PostResolutionInterceptors() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return PostResolutionInterceptors;\n}(_registry_base__WEBPACK_IMPORTED_MODULE_0__["default"]));\n\nvar Interceptors = (function () {\n function Interceptors() {\n this.preResolution = new PreResolutionInterceptors();\n this.postResolution = new PostResolutionInterceptors();\n }\n return Interceptors;\n}());\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Interceptors);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/interceptors.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/lazy-helpers.js":
/*!*******************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/lazy-helpers.js ***!
\*******************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DelayedConstructor": () => (/* binding */ DelayedConstructor),\n/* harmony export */ "delay": () => (/* binding */ delay)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js");\n\nvar DelayedConstructor = (function () {\n function DelayedConstructor(wrap) {\n this.wrap = wrap;\n this.reflectMethods = [\n "get",\n "getPrototypeOf",\n "setPrototypeOf",\n "getOwnPropertyDescriptor",\n "defineProperty",\n "has",\n "set",\n "deleteProperty",\n "apply",\n "construct",\n "ownKeys"\n ];\n }\n DelayedConstructor.prototype.createProxy = function (createObject) {\n var _this = this;\n var target = {};\n var init = false;\n var value;\n var delayedObject = function () {\n if (!init) {\n value = createObject(_this.wrap());\n init = true;\n }\n return value;\n };\n return new Proxy(target, this.createHandler(delayedObject));\n };\n DelayedConstructor.prototype.createHandler = function (delayedObject) {\n var handler = {};\n var install = function (name) {\n handler[name] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n args[0] = delayedObject();\n var method = Reflect[name];\n return method.apply(void 0, (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__spread)(args));\n };\n };\n this.reflectMethods.forEach(install);\n return handler;\n };\n return DelayedConstructor;\n}());\n\nfunction delay(wrappedConstructor) {\n if (typeof wrappedConstructor === "undefined") {\n throw new Error("Attempt to `delay` undefined. Constructor must be wrapped in a callback");\n }\n return new DelayedConstructor(wrappedConstructor);\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/lazy-helpers.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/providers/class-provider.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/providers/class-provider.js ***!
\*******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isClassProvider": () => (/* binding */ isClassProvider)\n/* harmony export */ });\nfunction isClassProvider(provider) {\n return !!provider.useClass;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/providers/class-provider.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/providers/factory-provider.js":
/*!*********************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/providers/factory-provider.js ***!
\*********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isFactoryProvider": () => (/* binding */ isFactoryProvider)\n/* harmony export */ });\nfunction isFactoryProvider(provider) {\n return !!provider.useFactory;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/providers/factory-provider.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/providers/index.js":
/*!**********************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/providers/index.js ***!
\**********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isClassProvider": () => (/* reexport safe */ _class_provider__WEBPACK_IMPORTED_MODULE_0__.isClassProvider),\n/* harmony export */ "isFactoryProvider": () => (/* reexport safe */ _factory_provider__WEBPACK_IMPORTED_MODULE_1__.isFactoryProvider),\n/* harmony export */ "isNormalToken": () => (/* reexport safe */ _injection_token__WEBPACK_IMPORTED_MODULE_2__.isNormalToken),\n/* harmony export */ "isTokenProvider": () => (/* reexport safe */ _token_provider__WEBPACK_IMPORTED_MODULE_3__.isTokenProvider),\n/* harmony export */ "isValueProvider": () => (/* reexport safe */ _value_provider__WEBPACK_IMPORTED_MODULE_4__.isValueProvider)\n/* harmony export */ });\n/* harmony import */ var _class_provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./class-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/class-provider.js");\n/* harmony import */ var _factory_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./factory-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/factory-provider.js");\n/* harmony import */ var _injection_token__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./injection-token */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/injection-token.js");\n/* harmony import */ var _token_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./token-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/token-provider.js");\n/* harmony import */ var _value_provider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./value-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/value-provider.js");\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/providers/index.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/providers/injection-token.js":
/*!********************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/providers/injection-token.js ***!
\********************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isConstructorToken": () => (/* binding */ isConstructorToken),\n/* harmony export */ "isNormalToken": () => (/* binding */ isNormalToken),\n/* harmony export */ "isTokenDescriptor": () => (/* binding */ isTokenDescriptor),\n/* harmony export */ "isTransformDescriptor": () => (/* binding */ isTransformDescriptor)\n/* harmony export */ });\n/* harmony import */ var _lazy_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lazy-helpers */ "../wabac.js/node_modules/tsyringe/dist/esm5/lazy-helpers.js");\n\nfunction isNormalToken(token) {\n return typeof token === "string" || typeof token === "symbol";\n}\nfunction isTokenDescriptor(descriptor) {\n return (typeof descriptor === "object" &&\n "token" in descriptor &&\n "multiple" in descriptor);\n}\nfunction isTransformDescriptor(descriptor) {\n return (typeof descriptor === "object" &&\n "token" in descriptor &&\n "transform" in descriptor);\n}\nfunction isConstructorToken(token) {\n return typeof token === "function" || token instanceof _lazy_helpers__WEBPACK_IMPORTED_MODULE_0__.DelayedConstructor;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/providers/injection-token.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/providers/provider.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/providers/provider.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isProvider": () => (/* binding */ isProvider)\n/* harmony export */ });\n/* harmony import */ var _class_provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./class-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/class-provider.js");\n/* harmony import */ var _value_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./value-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/value-provider.js");\n/* harmony import */ var _token_provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./token-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/token-provider.js");\n/* harmony import */ var _factory_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./factory-provider */ "../wabac.js/node_modules/tsyringe/dist/esm5/providers/factory-provider.js");\n\n\n\n\nfunction isProvider(provider) {\n return ((0,_class_provider__WEBPACK_IMPORTED_MODULE_0__.isClassProvider)(provider) ||\n (0,_value_provider__WEBPACK_IMPORTED_MODULE_1__.isValueProvider)(provider) ||\n (0,_token_provider__WEBPACK_IMPORTED_MODULE_2__.isTokenProvider)(provider) ||\n (0,_factory_provider__WEBPACK_IMPORTED_MODULE_3__.isFactoryProvider)(provider));\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/providers/provider.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/providers/token-provider.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/providers/token-provider.js ***!
\*******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isTokenProvider": () => (/* binding */ isTokenProvider)\n/* harmony export */ });\nfunction isTokenProvider(provider) {\n return !!provider.useToken;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/providers/token-provider.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/providers/value-provider.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/providers/value-provider.js ***!
\*******************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isValueProvider": () => (/* binding */ isValueProvider)\n/* harmony export */ });\nfunction isValueProvider(provider) {\n return provider.useValue != undefined;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/providers/value-provider.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "INJECTION_TOKEN_METADATA_KEY": () => (/* binding */ INJECTION_TOKEN_METADATA_KEY),\n/* harmony export */ "defineInjectionTokenMetadata": () => (/* binding */ defineInjectionTokenMetadata),\n/* harmony export */ "getParamInfo": () => (/* binding */ getParamInfo)\n/* harmony export */ });\nvar INJECTION_TOKEN_METADATA_KEY = "injectionTokens";\nfunction getParamInfo(target) {\n var params = Reflect.getMetadata("design:paramtypes", target) || [];\n var injectionTokens = Reflect.getOwnMetadata(INJECTION_TOKEN_METADATA_KEY, target) || {};\n Object.keys(injectionTokens).forEach(function (key) {\n params[+key] = injectionTokens[key];\n });\n return params;\n}\nfunction defineInjectionTokenMetadata(data, transform) {\n return function (target, _propertyKey, parameterIndex) {\n var descriptors = Reflect.getOwnMetadata(INJECTION_TOKEN_METADATA_KEY, target) || {};\n descriptors[parameterIndex] = transform\n ? {\n token: data,\n transform: transform.transformToken,\n transformArgs: transform.args || []\n }\n : data;\n Reflect.defineMetadata(INJECTION_TOKEN_METADATA_KEY, descriptors, target);\n };\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/reflection-helpers.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/registry-base.js":
/*!********************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/registry-base.js ***!
\********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nvar RegistryBase = (function () {\n function RegistryBase() {\n this._registryMap = new Map();\n }\n RegistryBase.prototype.entries = function () {\n return this._registryMap.entries();\n };\n RegistryBase.prototype.getAll = function (key) {\n this.ensure(key);\n return this._registryMap.get(key);\n };\n RegistryBase.prototype.get = function (key) {\n this.ensure(key);\n var value = this._registryMap.get(key);\n return value[value.length - 1] || null;\n };\n RegistryBase.prototype.set = function (key, value) {\n this.ensure(key);\n this._registryMap.get(key).push(value);\n };\n RegistryBase.prototype.setAll = function (key, value) {\n this._registryMap.set(key, value);\n };\n RegistryBase.prototype.has = function (key) {\n this.ensure(key);\n return this._registryMap.get(key).length > 0;\n };\n RegistryBase.prototype.clear = function () {\n this._registryMap.clear();\n };\n RegistryBase.prototype.ensure = function (key) {\n if (!this._registryMap.has(key)) {\n this._registryMap.set(key, []);\n }\n };\n return RegistryBase;\n}());\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RegistryBase);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/registry-base.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/registry.js":
/*!***************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/registry.js ***!
\***************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js");\n/* harmony import */ var _registry_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./registry-base */ "../wabac.js/node_modules/tsyringe/dist/esm5/registry-base.js");\n\n\nvar Registry = (function (_super) {\n (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__extends)(Registry, _super);\n function Registry() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return Registry;\n}(_registry_base__WEBPACK_IMPORTED_MODULE_0__["default"]));\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Registry);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/registry.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/resolution-context.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/resolution-context.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nvar ResolutionContext = (function () {\n function ResolutionContext() {\n this.scopedResolutions = new Map();\n }\n return ResolutionContext;\n}());\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ResolutionContext);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/resolution-context.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/types/disposable.js":
/*!***********************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/types/disposable.js ***!
\***********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "isDisposable": () => (/* binding */ isDisposable)\n/* harmony export */ });\nfunction isDisposable(value) {\n if (typeof value.dispose !== "function")\n return false;\n var disposeFun = value.dispose;\n if (disposeFun.length > 0) {\n return false;\n }\n return true;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/types/disposable.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/types/index.js":
/*!******************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/types/index.js ***!
\******************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Lifecycle": () => (/* reexport safe */ _lifecycle__WEBPACK_IMPORTED_MODULE_0__["default"])\n/* harmony export */ });\n/* harmony import */ var _lifecycle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lifecycle */ "../wabac.js/node_modules/tsyringe/dist/esm5/types/lifecycle.js");\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/types/index.js?')},"../wabac.js/node_modules/tsyringe/dist/esm5/types/lifecycle.js":
/*!**********************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/dist/esm5/types/lifecycle.js ***!
\**********************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nvar Lifecycle;\n(function (Lifecycle) {\n Lifecycle[Lifecycle["Transient"] = 0] = "Transient";\n Lifecycle[Lifecycle["Singleton"] = 1] = "Singleton";\n Lifecycle[Lifecycle["ResolutionScoped"] = 2] = "ResolutionScoped";\n Lifecycle[Lifecycle["ContainerScoped"] = 3] = "ContainerScoped";\n})(Lifecycle || (Lifecycle = {}));\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Lifecycle);\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/dist/esm5/types/lifecycle.js?')},"../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js ***!
\*************************************************************************/(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "__assign": () => (/* binding */ __assign),\n/* harmony export */ "__asyncDelegator": () => (/* binding */ __asyncDelegator),\n/* harmony export */ "__asyncGenerator": () => (/* binding */ __asyncGenerator),\n/* harmony export */ "__asyncValues": () => (/* binding */ __asyncValues),\n/* harmony export */ "__await": () => (/* binding */ __await),\n/* harmony export */ "__awaiter": () => (/* binding */ __awaiter),\n/* harmony export */ "__classPrivateFieldGet": () => (/* binding */ __classPrivateFieldGet),\n/* harmony export */ "__classPrivateFieldSet": () => (/* binding */ __classPrivateFieldSet),\n/* harmony export */ "__createBinding": () => (/* binding */ __createBinding),\n/* harmony export */ "__decorate": () => (/* binding */ __decorate),\n/* harmony export */ "__exportStar": () => (/* binding */ __exportStar),\n/* harmony export */ "__extends": () => (/* binding */ __extends),\n/* harmony export */ "__generator": () => (/* binding */ __generator),\n/* harmony export */ "__importDefault": () => (/* binding */ __importDefault),\n/* harmony export */ "__importStar": () => (/* binding */ __importStar),\n/* harmony export */ "__makeTemplateObject": () => (/* binding */ __makeTemplateObject),\n/* harmony export */ "__metadata": () => (/* binding */ __metadata),\n/* harmony export */ "__param": () => (/* binding */ __param),\n/* harmony export */ "__read": () => (/* binding */ __read),\n/* harmony export */ "__rest": () => (/* binding */ __rest),\n/* harmony export */ "__spread": () => (/* binding */ __spread),\n/* harmony export */ "__spreadArrays": () => (/* binding */ __spreadArrays),\n/* harmony export */ "__values": () => (/* binding */ __values)\n/* harmony export */ });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError("Generator is already executing.");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === "number") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === "function" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i["return"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume("next", value); }\r\n function reject(value) { resume("throw", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to get private field on non-instance");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to set private field on non-instance");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/tsyringe/node_modules/tslib/tslib.es6.js?')},"../wabac.js/node_modules/util-deprecate/browser.js":
/*!**********************************************************!*\
!*** ../wabac.js/node_modules/util-deprecate/browser.js ***!
\**********************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{eval("\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!__webpack_require__.g.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = __webpack_require__.g.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/util-deprecate/browser.js?")},"../wabac.js/node_modules/uuid-random/index.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/uuid-random/index.js ***!
\*****************************************************/(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\n(function(){\n\n var\n buf,\n bufIdx = 0,\n hexBytes = [],\n i\n ;\n\n // Pre-calculate toString(16) for speed\n for (i = 0; i < 256; i++) {\n hexBytes[i] = (i + 0x100).toString(16).substr(1);\n }\n\n // Buffer random numbers for speed\n // Reduce memory usage by decreasing this number (min 16)\n // or improve speed by increasing this number (try 16384)\n uuid.BUFFER_SIZE = 4096;\n\n // Binary uuids\n uuid.bin = uuidBin;\n\n // Clear buffer\n uuid.clearBuffer = function() {\n buf = null;\n bufIdx = 0;\n };\n\n // Test for uuid\n uuid.test = function(uuid) {\n if (typeof uuid === 'string') {\n return /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(uuid);\n }\n return false;\n };\n\n // Node & Browser support\n var crypt0;\n if (typeof crypto !== 'undefined') {\n crypt0 = crypto;\n } else if( (typeof window !== 'undefined') && (typeof window.msCrypto !== 'undefined')) {\n crypt0 = window.msCrypto; // IE11\n }\n\n if (true) {\n crypt0 = crypt0 || __webpack_require__(/*! crypto */ \"?829f\");\n module.exports = uuid;\n } else {}\n\n // Use best available PRNG\n // Also expose this so you can override it.\n uuid.randomBytes = (function(){\n if (crypt0) {\n if (crypt0.randomBytes) {\n return crypt0.randomBytes;\n }\n if (crypt0.getRandomValues) {\n if (typeof Uint8Array.prototype.slice !== 'function') {\n return function(n) {\n var bytes = new Uint8Array(n);\n crypt0.getRandomValues(bytes);\n return Array.from(bytes);\n };\n }\n return function(n) {\n var bytes = new Uint8Array(n);\n crypt0.getRandomValues(bytes);\n return bytes;\n };\n }\n }\n return function(n) {\n var i, r = [];\n for (i = 0; i < n; i++) {\n r.push(Math.floor(Math.random() * 256));\n }\n return r;\n };\n })();\n\n // Buffer some random bytes for speed\n function randomBytesBuffered(n) {\n if (!buf || ((bufIdx + n) > uuid.BUFFER_SIZE)) {\n bufIdx = 0;\n buf = uuid.randomBytes(uuid.BUFFER_SIZE);\n }\n return buf.slice(bufIdx, bufIdx += n);\n }\n\n // uuid.bin\n function uuidBin() {\n var b = randomBytesBuffered(16);\n b[6] = (b[6] & 0x0f) | 0x40;\n b[8] = (b[8] & 0x3f) | 0x80;\n return b;\n }\n\n // String UUIDv4 (Random)\n function uuid() {\n var b = uuidBin();\n return hexBytes[b[0]] + hexBytes[b[1]] +\n hexBytes[b[2]] + hexBytes[b[3]] + '-' +\n hexBytes[b[4]] + hexBytes[b[5]] + '-' +\n hexBytes[b[6]] + hexBytes[b[7]] + '-' +\n hexBytes[b[8]] + hexBytes[b[9]] + '-' +\n hexBytes[b[10]] + hexBytes[b[11]] +\n hexBytes[b[12]] + hexBytes[b[13]] +\n hexBytes[b[14]] + hexBytes[b[15]]\n ;\n }\n\n})();\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/uuid-random/index.js?")},"?df8f":
/*!**********************!*\
!*** util (ignored) ***!
\**********************/()=>{eval("/* (ignored) */\n\n//# sourceURL=webpack://replaywebpage/util_(ignored)?")},"?2553":
/*!**********************!*\
!*** util (ignored) ***!
\**********************/()=>{eval("/* (ignored) */\n\n//# sourceURL=webpack://replaywebpage/util_(ignored)?")},"?829f":
/*!************************!*\
!*** crypto (ignored) ***!
\************************/()=>{eval("/* (ignored) */\n\n//# sourceURL=webpack://replaywebpage/crypto_(ignored)?")},"../wabac.js/dist/wombat.js":
/*!**********************************!*\
!*** ../wabac.js/dist/wombat.js ***!
\**********************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/*! wombat.js is part of Webrecorder project. Copyright (C) 2020-2023, Webrecorder Software. Licensed under the Affero General Public License v3. */(()=>{\\"use strict\\";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],\\"constructor\\"!==e&&\\"function\\"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol(\\"__wb__storage_WOMBAT\\"),n=Symbol(\\"__wb__storage_TYPE\\");function s(t,e,r){if(i.yes)throw new TypeError(\\"Illegal constructor\\");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if(\\"__proto__\\"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return\\"function\\"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,(function(){return i})),i}function h(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||\\"function\\"==typeof t[r]||(this[r]=t[r])}function w(t,e){if(!(this instanceof w))return new w(t,e);this.elemSelector=\\"img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]\\",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}function p(t,e){return function(r){if(window==e)return t(r)}}function c(t,e,r){var i;return i=\\"function\\"==typeof t?t:\\"object\\"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if(\\"*\\"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn(\\"Skipping message event to \\"+t.data.to_origin+\\" doesn\'t start with origin \\"+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent(\\"message\\",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function l(t){let e;e=\\"string\\"==typeof t?t:t&&t.length?t.reduce(((t,e)=>t+=String.fromCharCode(e)),\\"\\"):t?t.toString():\\"\\";try{return\\"__wb_post_data=\\"+btoa(e)}catch{return\\"__wb_post_data=\\"}}function _(t){let{method:e,headers:r,postData:i}=t;if(\\"GET\\"===e)return!1;function o(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let n=\\"\\";switch((r.get(\\"content-type\\")||\\"\\").split(\\";\\")[0]){case\\"application/x-www-form-urlencoded\\":n=o(i);break;case\\"application/json\\":n=d(o(i));break;case\\"text/plain\\":try{n=d(o(i),!1)}catch{n=l(i)}break;case\\"multipart/form-data\\":{let t=r.get(\\"content-type\\");if(!t)throw new Error(\\"utils cannot call postToGetURL when missing content-type header\\");n=function(t,e){return function(t,e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split(\\"boundary=\\")[1],o=t.split(new RegExp(\\"-*\\"+i+\\"-*\\",\\"mi\\"));for(let t of o){let e=t.trim().match(/name=\\"([^\\"]+)\\"\\\\r\\\\n\\\\r\\\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(o(i),t);break}default:n=l(i)}return null!==n&&(t.url=function(t,e,r){if(!r)return t;let i=t.indexOf(\\"?\\")>0?\\"&\\":\\"?\\";return`${t}${i}__wb_method=${r}&${e}`}(t.url,n,t.method),t.method=\\"GET\\",t.requestBody=n,!0)}function u(t,e=!0){if(\\"string\\"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={};try{JSON.stringify(t,((t,e)=>([\\"object\\",\\"function\\"].includes(typeof e)||r.set((t=>r.has(t)?(t in i||(i[t]=1),t+\\".\\"+ ++i[t]+\\"_\\"):t)(t),e),e)))}catch(t){if(!e)throw t}return r}function d(t,e=!0){return u(t,e).toString()}function f(e,i){if(!(this instanceof f))return new f(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX=\\"http://\\",this.HTTPS_PREFIX=\\"https://\\",this.REL_PREFIX=\\"//\\",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=[\\"#\\",\\"about:\\",\\"data:\\",\\"blob:\\",\\"mailto:\\",\\"javascript:\\",\\"{\\",\\"*\\"],\\"ignore_prefixes\\"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC=\\"_____WB$wombat$check$this$function_____\\",this.WB_ASSIGN_FUNC=\\"_____WB$wombat$assign$function_____\\",this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix=\\"\\",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:\\"js_\\",worker:\\"js_\\",style:\\"cs_\\",image:\\"im_\\",document:\\"if_\\",fetch:\\"mp_\\",font:\\"oe_\\",audio:\\"oe_\\",video:\\"oe_\\",embed:\\"oe_\\",object:\\"oe_\\",track:\\"oe_\\",\\"\\":\\"mp_\\",null:\\"mp_\\",undefined:\\"mp_\\"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:\\"cs_\\",null:\\"mp_\\",undefined:\\"mp_\\",\\"\\":\\"mp_\\"},this.tagToMod={A:{href:\\"mp_\\"},AREA:{href:\\"mp_\\"},AUDIO:{src:\\"oe_\\",poster:\\"im_\\"},BASE:{href:\\"mp_\\"},EMBED:{src:\\"oe_\\"},FORM:{action:\\"mp_\\"},FRAME:{src:\\"fr_\\"},IFRAME:{src:\\"if_\\"},IMAGE:{href:\\"im_\\",\\"xlink:href\\":\\"im_\\"},IMG:{src:\\"im_\\",srcset:\\"im_\\"},INPUT:{src:\\"oe_\\"},INS:{cite:\\"mp_\\"},META:{content:\\"mp_\\"},OBJECT:{data:\\"oe_\\",codebase:\\"oe_\\"},Q:{cite:\\"mp_\\"},SCRIPT:{src:\\"js_\\",\\"xlink:href\\":\\"js_\\"},SOURCE:{src:\\"oe_\\",srcset:\\"oe_\\"},TRACK:{src:\\"oe_\\"},VIDEO:{src:\\"oe_\\",poster:\\"im_\\"},image:{href:\\"im_\\",\\"xlink:href\\":\\"im_\\"}},this.URL_PROPS=[\\"href\\",\\"hash\\",\\"pathname\\",\\"host\\",\\"hostname\\",\\"protocol\\",\\"origin\\",\\"search\\",\\"port\\"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||\\"*\\",this.wb_curr_host=e.location.protocol+\\"//\\"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+\\"://\\",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part=\\"\\",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part=\\"/\\"+this.wb_info.wombat_ts+\\"/\\"),this.BAD_PREFIXES=[\\"http:\\"+this.wb_replay_prefix,\\"https:\\"+this.wb_replay_prefix,\\"http:/\\"+this.wb_replay_prefix,\\"https:/\\"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\\\w-]+(\\\\.[\\\\w-_]+)+(:\\\\d+)(\\\\/|$)/,this.ipPortRe=/^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+(:\\\\d+)?(\\\\/|$)/,this.workerBlobRe=/__WB_pmw\\\\(.*?\\\\)\\\\.(?=postMessage\\\\()/g,this.rmCheckThisInjectRe=/_____WB\\\\$wombat\\\\$check\\\\$this\\\\$function_____\\\\(.*?\\\\)/g,this.STYLE_REGEX=/(url\\\\s*\\\\(\\\\s*[\\\\\\\\\\"\']*)([^)\'\\"]+)([\\\\\\\\\\"\']*\\\\s*\\\\))/gi,this.IMPORT_REGEX=/(@import\\\\s*[\\\\\\\\\\"\']*)([^)\'\\";]+)([\\\\\\\\\\"\']*\\\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\\\s*\\\\([\'\\"]+)([^\'\\"]+)([\\"\'])/i,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\\\s*(\\\\S*\\\\s+[\\\\d.]+[wx]),|(?:\\\\s*,(?:\\\\s+|(?=https?:)))/,this.cookie_path_regex=/\\\\bPath=\'?\\"?([^;\'\\"\\\\s]+)/i,this.cookie_domain_regex=/\\\\bDomain=([^;\'\\"\\\\s]+)/i,this.cookie_expires_regex=/\\\\bExpires=([^;\'\\"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\\\d)+\\\\.(\\\\d)+\\\\.(\\\\d)+\\\\.(\\\\d)+$/,this.FullHTMLRegex=/^\\\\s*<(?:html|head|body|!doctype html)/i,this.IsTagRegex=/^\\\\s*</,this.DotPostMessageRe=/(\\\\.postMessage\\\\s*\\\\()/,this.extractPageUnderModifierRE=/\\\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\\\//,this.write_buff=\\"\\";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group(\\"CSP Violation\\"),console.log(\\"Replayed Page URL\\",window.WB_wombat_location.href),console.log(\\"The documentURI\\",t.documentURI),console.log(\\"The blocked URL\\",t.blockedURI),console.log(\\"The directive violated\\",t.violatedDirective),console.log(\\"Our policy\\",t.originalPolicy),t.sourceFile){var e=\\"File: \\"+t.sourceFile;t.lineNumber&&t.columnNumber?e+=\\" @ \\"+t.lineNumber+\\":\\"+t.columnNumber:t.lineNumber&&(e+=\\" @ \\"+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case\\"number\\":case\\"bigint\\":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent(\\"storage\\",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,\\"storageArea\\",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return\\"[object Storage]\\"},Object.defineProperty(s.prototype,\\"length\\",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,\\"Storage\\"),h.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},h.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},h.prototype.reload=function(t){},h.prototype.toString=function(){return this.href},h.prototype.valueOf=function(){return this},e(h,\\"Location\\"),w.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:\\"classic\\",credentials:\\"include\\"})}catch(t){console.error(\\"Failed to create auto fetch worker\\\\n\\",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:\\"aaworker\\",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,\\"*\\")},terminate:function(){}}},w.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},w.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then((function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)}))},w.prototype.terminate=function(){this.worker.terminate()},w.prototype.justFetch=function(t){this.worker.postMessage({type:\\"fetch-all\\",values:t})},w.prototype.fetchAsPage=function(t,e,r){if(t){var i={\\"X-Wombat-History-Page\\":e};if(r){var o=encodeURIComponent(r.trim());r&&(i[\\"X-Wombat-History-Title\\"]=o)}var n={url:t,options:{headers:i,cache:\\"no-store\\"}};this.justFetch([n])}},w.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then((function(){r.worker.postMessage(t)}))}else this.worker.postMessage(t)},w.prototype.preserveSrcset=function(t,e){this.postMessage({type:\\"values\\",srcset:{value:t,mod:e,presplit:!0}},!0)},w.prototype.preserveDataSrcset=function(t){this.postMessage({type:\\"values\\",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},w.prototype.preserveMedia=function(t){this.postMessage({type:\\"values\\",media:t},!0)},w.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,\\"srcset\\"):t.getAttribute(\\"srcset\\")},w.prototype.rwMod=function(t){switch(t.tagName){case\\"SOURCE\\":return t.parentElement&&\\"PICTURE\\"===t.parentElement.tagName?\\"im_\\":\\"oe_\\";case\\"IMG\\":return\\"im_\\"}return\\"oe_\\"},w.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then((function(){for(var e={type:\\"values\\",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,h=document.querySelectorAll(t.elemSelector),w={values:[],presplit:!1},p={values:[]};for(i=0;i<h.length;++i)s=(n=h[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&w.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&w.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&p.values.push({src:n.dataset.src,mod:a}),\\"SOURCE\\"===n.tagName&&s&&p.values.push({src:s,mod:a});r.length&&(e.media=r),w.values.length&&(e.srcset=w),p.values.length&&(e.src=p),(e.media||e.srcset||e.src)&&t.postMessage(e)}))},f.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i=\\"((\\"+r+\\")?//\\"+e+\\")?\\"+this.wb_rel_prefix+\\"[^/]+/\\";this.wb_unrewrite_rx=new RegExp(i,\\"g\\"),this.wb_info.is_framed&&\\"bn_\\"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},f.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,\\"securitypolicyviolation\\",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,\\"securitypolicyviolation\\",this.utilFns.cspViolationListener))},f.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},f.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},f.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||\\"mp_\\"}catch(t){}return\\"mp_\\"},f.prototype.isNativeFunction=function(t){return!(!t||\\"function\\"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf(\\"[native code]\\")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},f.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},f.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:\\"text/html\\"}),i=URL.createObjectURL(r);t.__wb_blobSrc=i,t.addEventListener(\\"load\\",(function(){t.__wb_blobSrc&&(URL.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)}),{once:!0}),t.__wb_origSrc=t.src;var o=i.slice(i.lastIndexOf(\\"/\\")+1)+\\"/\\"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+\\"mp_/blob:\\"+o},f.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case\\"IMG\\":case\\"VIDEO\\":case\\"AUDIO\\":return!0;case\\"SOURCE\\":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case\\"PICTURE\\":case\\"VIDEO\\":case\\"AUDIO\\":return!0;default:return!1}default:return!1}},f.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},f.prototype.isHostUrl=function(t){if(0===t.indexOf(\\"www.\\"))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},f.prototype.isArgumentsObj=function(t){if(!t||\\"function\\"!=typeof t.toString)return!1;try{return\\"[object Arguments]\\"===this.utilFns.objToString.call(t)}catch(t){return!1}},f.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},f.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},f.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},f.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},f.prototype.shouldRewriteAttr=function(t,e){switch(e){case\\"href\\":case\\"src\\":case\\"xlink:href\\":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||(\\"VIDEO\\"===t&&\\"poster\\"===e||\\"META\\"===t&&\\"content\\"===e)},f.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf(\\"javascript\\")>=0||t.indexOf(\\"ecmascript\\")>=0)&&(t.indexOf(\\"json\\")>=0||t.indexOf(\\"text/\\")>=0))},f.prototype.skipWrapScriptTextBasedOnText=function(t){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf(\\"<\\"))return!0;for(var e=[\\"window\\",\\"self\\",\\"document\\",\\"location\\",\\"top\\",\\"parent\\",\\"frames\\",\\"opener\\"],r=0;r<e.length;r++)if(t.indexOf(e[r])>=0)return!1;return!0},f.prototype.nodeHasChildren=function(t){if(!t)return!1;if(\\"function\\"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},f.prototype.rwModForElement=function(t,e){if(t){var r=\\"mp_\\";if(\\"LINK\\"===t.tagName&&\\"href\\"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,\\"as\\");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},f.prototype.removeWBOSRC=function(t){\\"SCRIPT\\"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute(\\"__wb_orig_src\\")&&t.removeAttribute(\\"__wb_orig_src\\"),t.__$removedWBOSRC$__=!0)},f.prototype.retrieveWBOSRC=function(t){var e;if(\\"SCRIPT\\"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,\\"__wb_orig_src\\"):t.getAttribute(\\"__wb_orig_src\\"))&&(t.__$removedWBOSRC$__=!0),e},f.prototype.wrapScriptTextJsProxy=function(t){return\'var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\\\n{\\\\nlet window = _____WB$wombat$assign$function_____(\\"window\\");\\\\nlet globalThis = _____WB$wombat$assign$function_____(\\"globalThis\\");\\\\nlet self = _____WB$wombat$assign$function_____(\\"self\\");\\\\nlet document = _____WB$wombat$assign$function_____(\\"document\\");\\\\nlet location = _____WB$wombat$assign$function_____(\\"location\\");\\\\nlet top = _____WB$wombat$assign$function_____(\\"top\\");\\\\nlet parent = _____WB$wombat$assign$function_____(\\"parent\\");\\\\nlet frames = _____WB$wombat$assign$function_____(\\"frames\\");\\\\nlet opener = _____WB$wombat$assign$function_____(\\"opener\\");\\\\n{\\\\n\'+t.replace(this.DotPostMessageRe,\\".__WB_pmw(self.window)$1\\")+\\"\\\\n\\\\n}}\\"},f.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver((function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if(\\"childList\\"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}})).observe(t,{childList:!0,subtree:!0})},f.prototype.reconstructDocType=function(t){return null==t?\\"\\":\\"<!doctype \\"+t.name+(t.publicId?\' PUBLIC \\"\'+t.publicId+\'\\"\':\\"\\")+(!t.publicId&&t.systemId?\\" SYSTEM\\":\\"\\")+(t.systemId?\' \\"\'+t.systemId+\'\\"\':\\"\\")+\\">\\"},f.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),\\"/\\"!==(i+=e)[i.length-1]&&(i+=\\"/\\"),i+r},f.prototype.resolveRelUrl=function(t,e){var r=e||this.$wbwindow.document,i=this.makeParser(r.baseURI,r),o=i.href.lastIndexOf(\\"#\\"),n=o>=0?i.href.substring(0,o):i.href,s=n.lastIndexOf(\\"/\\");return s>=0&&s!==n.length-1?i.href=n.substring(0,s+1)+t:i.href=n+t,i.href},f.prototype.extractOriginalURL=function(t){if(!t)return\\"\\";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf(\\"/http\\",e);return o<0&&(o=i.indexOf(\\"///\\",e)),o<0&&(o=i.indexOf(\\"/blob:\\",e)),o<0&&(o=i.indexOf(\\"/about:blank\\",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&\\"_\\"===i.charAt(2)&&\\"/\\"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,\\"blob:\\")||(i=this.wb_orig_scheme+i)),\\"/\\"===r.charAt(0)&&\\"/\\"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+\\":\\"+i:i},f.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i=\\"about:blank\\"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},f.prototype._makeURLParser=function(t,e){try{return new this.$wbwindow.URL(t,e.baseURI)}catch(t){}var r=e.createElement(\\"a\\");return r._no_rewrite=!0,r.href=t,r},f.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn(\\"Failed to redefine property %s\\",e,t.message),!1}},f.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn(\\"Failed to redefine property %s\\",e,t.message),!1}},f.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},f.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},f.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},f.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},f.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:\\"replace-url\\"},!1,r)},f.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+\\" -> \\"+n),r.href=n}}},f.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;\\"string\\"===r?this.updateLocation(t,i.href,i):\\"object\\"===r&&this.updateLocation(t.href,t._orig_href,i)},f.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},f.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},f.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},f.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case\\"__WBProxyRealObj__\\":return t;case\\"location\\":case\\"WB_wombat_location\\":return t.WB_wombat_location;case\\"_WB_wombat_obj_proxy\\":return t._WB_wombat_obj_proxy;case\\"__WB_pmw\\":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case\\"origin\\":return t.WB_wombat_location.origin;case\\"constructor\\":return t.constructor}var o=t[e],n=typeof o;if(\\"function\\"===n&&-1!==r.indexOf(e)){switch(e){case\\"requestAnimationFrame\\":case\\"cancelAnimationFrame\\":if(!this.isNativeFunction(o))return o;break;case\\"eval\\":if(this.isNativeFunction(o))return this.wrappedEval(o)}var s=i[e];return s&&s.original===o||(s={original:o,boundFn:o.bind(t)},i[e]=s),s.boundFn}return\\"object\\"===n&&o&&o._WB_wombat_obj_proxy?(o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy):o},f.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:\\"null\\":t._origin=r.protocol+\\"//\\"+r.hostname+(r.port?\\":\\"+r.port:\\"\\"),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},f.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);var i=e.call(this,\\"href\\");return\\"href\\"===t?r.extractOriginalURL(i):\\"ancestorOrigins\\"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this[\\"_\\"+t])}},f.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if(this[\\"_\\"+t]!==o){if(this[\\"_\\"+t]=o,!this._parser){var n=r.call(this);this._parser=i.makeParser(n,this.ownerDocument)}var s=!1;if(\\"href\\"===t&&\\"string\\"==typeof o)if(o&&this._parser instanceof URL)try{o=new URL(o,this._parser).href}catch(t){console.warn(\\"Error resolving URL\\",t)}else o&&(\\".\\"===o[0]||\\"#\\"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):\\"/\\"===o[0]&&(o.length>1&&\\"/\\"===o[1]?o=this._parser.protocol+o:(s=!0,o=WB_wombat_location.origin+o)));try{this._parser[t]=o}catch(e){console.log(\\"Error setting \\"+t+\\" = \\"+o)}\\"hash\\"===t?(o=this._parser[t],e.call(this,\\"hash\\",o)):(s=s||o===this._parser.pathname,o=i.rewriteUrl(this._parser.href,s),e.call(this,\\"href\\",o))}}},f.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},f.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n=\\"number\\"==typeof i?i:1;if(t instanceof this.WBWindow?o=\\"Failed to construct \'\\"+e+\\"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.\\":r&&r.length<n&&(o=\\"Failed to construct \'\\"+e+\\"\': \\"+n+\\" argument required, but only 0 present.\\"),o)throw new TypeError(o)},f.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:(\\"STYLE\\"===t.tagName||r.parentNode&&\\"STYLE\\"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);return o&&\\"IFRAME\\"===o.tagName&&(o.allow=\\"autoplay \'self\'; fullscreen \'self\'\\",this.initIframeWombat(o)),o},f.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if(\\"object\\"===e)r=t.toString();else if(\\"string\\"!==e)return t;if(!r)return r;var i=\\"ws://\\",o=\\"wss://\\";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(o.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(i.length):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+\\"ws_\\",\\"/\\"!==r[r.length-1]&&(s+=\\"/\\"),s+r.replace(\\"WB_wombat_\\",\\"\\")},f.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if(\\"object\\"===s)o=t.toString();else{if(\\"string\\"!==s)return t;o=t}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace(\\"WB_wombat_\\",\\"\\"),\\"if_\\"===r&&this.wb_info.isSW&&this.startsWith(o,\\"blob:\\"))return this.wb_info.prefix+this.wb_info.request_ts+\\"if_/\\"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf(\\"//\\")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+\\"//\\"+this.origHostname+\\"/\\"))return o.replace(\\"/\\"+this.origHostname+\\"/\\",\\"/\\"+this.origHost+\\"/\\");if(\\"/\\"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf(\\"http\\")>1){var a=o.indexOf(\\":/\\");return a>0&&\\"/\\"!==o[a+2]?o.substring(0,a+2)+\\"/\\"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}\\".\\"===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var h=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(h){var w=this.replayTopHost,p=this.replayTopProtocol,c=h+w+\\"/\\";if(this.startsWith(o,c)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=p+\\"//\\",_=o.substring(c.length),u=!1;return _.indexOf(this.wb_rel_prefix)<0&&o.indexOf(\\"/static/\\")<0&&(_=this.getFinalUrl(!0,r,WB_wombat_location.origin+\\"/\\"+_),u=!0),h!==l&&h!==this.REL_PREFIX&&(u=!0),u&&(o=e?\\"\\":l+w,_&&\\"/\\"!==_[0]&&(o+=\\"/\\"),o+=_),o}return this.getFinalUrl(e,r,o)}return(h=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},f.prototype.rewriteUrl=function(t,e,r,i){var o=this.rewriteUrl_(t,e,r,i);return this.debug_rw&&(t!==o?console.log(\\"REWRITE: \\"+t+\\" -> \\"+o):console.log(\\"NOT REWRITTEN \\"+t)),o},f.prototype.performAttributeRewrite=function(t,e,r,i){switch(e){case\\"innerHTML\\":case\\"outerHTML\\":return this.rewriteHtml(r);case\\"filter\\":return this.rewriteInlineStyle(r);case\\"style\\":return this.rewriteStyle(r);case\\"srcset\\":return this.rewriteSrcset(r,t)}if(i&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var o=this.rwModForElement(t,e);return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t),this.rewriteUrl(r,!1,o,t.ownerDocument)},f.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t[\\"_\\"+e])return i;var o=this.wb_getAttribute.call(t,e);if(!o||this.startsWith(o,\\"javascript:\\"))return i;var n=this.performAttributeRewrite(t,e,o,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},f.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},f.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return\\"object\\"==typeof t&&(e=t.toString()),\\"string\\"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,\\"\\"):e},f.prototype.rewriteSrcset=function(t,e){if(!t)return\\"\\";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,\\"srcset\\"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(\\" \\");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(\\" \\"))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(\\", \\")},f.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,\\"javascript:\\")&&i.indexOf(\\"WB_wombat_\\")>=0){var o=\\"javascript:\\";r=o+\\"window.parent._wb_wombat.initNewWindowWombat(window);\\"+i.substr(o.length)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},f.prototype.rewriteScript=function(t){if(t.hasAttribute(\\"src\\")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,\\"src\\");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim();return!this.skipWrapScriptTextBasedOnText(e)&&(t.textContent=this.wrapScriptTextJsProxy(e),!0)},f.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,\\"filter\\");return e=this.rewriteAttr(t,\\"style\\")||e,e=this.rewriteAttr(t,\\"xlink:href\\")||e,e=this.rewriteAttr(t,\\"href\\")||e,e=this.rewriteAttr(t,\\"src\\")||e},f.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case\\"META\\":var r=this.wb_getAttribute.call(t,\\"http-equiv\\");r&&\\"content-security-policy\\"===r.toLowerCase()&&(this.wb_setAttribute.call(t,\\"http-equiv\\",\\"_\\"+r),e=!0);break;case\\"STYLE\\":var i=this.rewriteStyle(t.textContent);t.textContent!==i&&(t.textContent=i,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case\\"LINK\\":e=this.rewriteAttr(t,\\"href\\"),this.wbUseAFWorker&&\\"stylesheet\\"===t.rel&&this._addEventListener(t,\\"load\\",this.utilFns.wbSheetMediaQChecker);break;case\\"IMG\\":e=this.rewriteAttr(t,\\"src\\"),e=this.rewriteAttr(t,\\"srcset\\")||e,e=this.rewriteAttr(t,\\"style\\")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case\\"OBJECT\\":if(this.wb_info.isSW&&t.parentElement&&\\"application/pdf\\"===t.getAttribute(\\"type\\")){for(var o=this.$wbwindow.document.createElement(\\"IFRAME\\"),n=0;n<t.attributes.length;n++){var s=t.attributes[n],a=s.name;\\"data\\"===a&&(a=\\"src\\"),this.wb_setAttribute.call(o,a,s.value)}t.parentElement.replaceChild(o,t),e=!0;break}e=this.rewriteAttr(t,\\"data\\",!0),e=this.rewriteAttr(t,\\"style\\")||e;break;case\\"FORM\\":e=this.rewriteAttr(t,\\"poster\\"),e=this.rewriteAttr(t,\\"action\\")||e,e=this.rewriteAttr(t,\\"style\\")||e;break;case\\"IFRAME\\":if(e=this.rewriteFrameSrc(t,\\"src\\"),this.wb_info.isSW&&!e){var h=t.getAttribute(\\"srcdoc\\");if(t.hasAttribute(\\"srcdoc\\")&&t.removeAttribute(\\"srcdoc\\"),h)this.blobUrlForIframe(t,h);else{var w=t.getAttribute(\\"src\\");w&&\\"about:blank\\"!==w||(w||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+\\"mp_/about:blank\\")}}e=this.rewriteAttr(t,\\"style\\")||e;break;case\\"FRAME\\":e=this.rewriteFrameSrc(t,\\"src\\"),e=this.rewriteAttr(t,\\"style\\")||e;break;case\\"SCRIPT\\":e=this.rewriteScript(t);break;case\\"A\\":if(e=this.rewriteAttr(t,\\"href\\")||e,t.hasAttribute(\\"target\\")){var p=this.rewriteAttrTarget(t.target);p!==t.target&&(t.target=p,e=!0)}break;default:e=this.rewriteAttr(t,\\"src\\"),e=this.rewriteAttr(t,\\"srcset\\")||e,e=this.rewriteAttr(t,\\"href\\")||e,e=this.rewriteAttr(t,\\"style\\")||e,e=this.rewriteAttr(t,\\"poster\\")||e}return t.hasAttribute&&t.removeAttribute&&(t.hasAttribute(\\"crossorigin\\")&&(t.removeAttribute(\\"crossorigin\\"),e=!0),t.hasAttribute(\\"integrity\\")&&(t.removeAttribute(\\"integrity\\"),e=!0)),e},f.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},f.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},f.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]=\\"string\\"==typeof i?this.rewriteHtml(i):i}return e},f.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if(\\"string\\"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=\\"\\"),r.indexOf(\\"<script\\")<=0&&(r=r.replace(/((id|class)=\\".*)WB_wombat_([^\\"]+)/,\\"$1$3\\")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString(\\"<template>\\"+r+\\"</template>\\",\\"text/html\\");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a=\\"</\\"+s.tagName.toLowerCase()+\\">\\";this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a)&&(n=n.substring(0,n.length-a.length))}else if(\\"<\\"!==r[0]||\\">\\"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},f.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,\\"text/html\\");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf(\\"<html\\")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:\\"\\")+(a?r.body.outerHTML:\\"\\"),e)if(r.all.length>3){var h=\\"</\\"+r.all[3].tagName.toLowerCase()+\\">\\";this.endsWith(n,h)&&!this.endsWith(t.toLowerCase(),h)&&(n=n.substring(0,n.length-h.length))}else if(\\"<\\"!==t[0]||\\">\\"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},f.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(\\",\\",2);return r[0]+\\",\\"+encodeURIComponent(r[1])}return this.rewriteStyle(t)},f.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,\\"\\").replace(this.wb_rel_prefix,\\"\\");return r=r.replace(this.cookie_domain_regex,(function(t,i){var o={domain:i,cookie:r,wb_type:\\"cookie\\"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(\\".\\")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?\\"Domain=.\\"+e.$wbwindow.location.hostname:\\"\\"})).replace(this.cookie_path_regex,(function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),\\"Path=\\"+i})),\\"https:\\"!==e.$wbwindow.location.protocol&&(r=r.replace(\\"secure\\",\\"\\")),r.replace(\\",|\\",\\",\\")},f.prototype.rewriteWorker=function(t){if(!t)return t;var e=0===(t=t.toString()).indexOf(\\"blob:\\"),r=0===t.indexOf(\\"javascript:\\");if(!e&&!r){if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,\\"/\\")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var i=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(i,!1,\\"wkr_\\",this.$wbwindow.document)}return this.rewriteUrl(t,!1,\\"wkr_\\",this.$wbwindow.document)}var o=r?t.replace(\\"javascript:\\",\\"\\"):null;if(e){var n=new XMLHttpRequest;this.utilFns.XHRopen.call(n,\\"GET\\",t,!1),this.utilFns.XHRsend.call(n),o=n.responseText.replace(this.workerBlobRe,\\"\\").replace(this.rmCheckThisInjectRe,\\"this\\")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var s=this.$wbwindow.document.baseURI;o=\\"(function() { self.importScripts(\'\\"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+\\"wombatWorkers.js\\")+\\"\'); new WBWombat({\'prefix\': \'\\"+this.wb_abs_prefix+\\"\', \'prefixMod\': \'\\"+this.wb_abs_prefix+\\"wkrf_/\', \'originalURL\': \'\\"+s+\\"\'}); })();\\"+o}var a=new Blob([o],{type:\\"application/javascript\\"});return URL.createObjectURL(a)},f.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&\\"STYLE\\"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},f.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},f.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},f.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\\\blocation\\\\b/g,\\"WB_wombat_$&\\");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},f.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement||(\\"STYLE\\"===o?i=this.rewriteStyle(r):\\"SCRIPT\\"===o?(r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r)),i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r)||(i=this.wrapScriptTextJsProxy(i)))):i=this.rewriteHtml(r)),e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&\\"STYLE\\"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},f.prototype.rewriteEvalArg=function(t,e,r){return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e)?this.wrapScriptTextJsProxy(e):this.otherEvalRewrite(e),r)},f.prototype.otherEvalRewrite=function(t){return\\"string\\"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},f.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,(function(){return null!=this[\\"_\\"+t]?this[\\"_\\"+t]:i.call(this)}))},f.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},f.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,(function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,!1)),o.call(e,i)}),(function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e}))},f.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,\\"value\\"),this.newAttrObjGetSet(t,\\"nodeValue\\"),this.newAttrObjGetSet(t,\\"textContent\\")},f.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,(function(t){\\"js_\\"!==r||this.__$removedWBOSRC$__||n.removeWBOSRC(this);var i=n.rewriteUrl(t,!1,r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&\\"about:blank\\"===t?\\"\\":t}))},f.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,(function(){var t=i.proxyToObj(this),e=r.call(t);return i.extractOriginalURL(e)}))}},f.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,\\"referrer\\"),r=this;if(e){this.defGetterProp(t,\\"referrer\\",(function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return\\"\\";var o=e.call(t);return r.extractOriginalURL(o)}))}},f.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,(function(){return i.objToProxy(r.call(this))}))}},f.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history[\\"_orig_\\"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n,s,a=this.___wb_ownWindow||r.$wbwindow,h=a.WB_wombat_location;if(o){var w=r._makeURLParser(o,a.document);if(s=w.href,n=r.rewriteUrl(s),s!==h.origin&&\\"about:blank\\"!==h.href&&!r.startsWith(s,h.origin+\\"/\\"))throw new DOMException(\\"Invalid history change: \\"+s)}else s=h.href;e.call(this,t,i,n);var p=a.document.title;r.WBAutoFetchWorker&&a.setTimeout((function(){i||a.document.title===p||(i=a.document.title),r.WBAutoFetchWorker.fetchAsPage(n,s,i)}),100),r.sendHistoryUpdate(s,i,a)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},f.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||\\"\\")+n.extractOriginalURL(i)+o},h=/(url\\\\()([\'\\"])?(.*?)(\\\\2\\\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith(\\"url(\\")&&(t=t.replace(h,a)),t}),(o&&i||r)&&this.defProp(t,e,(function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e}),s)},f.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},f.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e[\\"set_\\"+t];return i?i.call(this,r):\\"\\"},o=function(t){var r=e[\\"get_\\"+t];return r?r.call(this):\\"\\"},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e[\\"get_\\"+s]=this.getOrigGetter(r,s),e[\\"set_\\"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},f.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,(function(t){return s(this,n,t)}),r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,\\"\\")}:o)}}},f.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,(function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)}),(function(){return this.__wb_srcdoc}))},f.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,\\"dataset\\"),r=this;this.defProp(t,\\"dataset\\",null,(function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})}))},f.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,\\"style\\"),i=this.getOrigGetter(e,\\"style\\"),o=this;this.defProp(e,\\"style\\",r,(function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return\\"function\\"!=typeof s||\\"setProperty\\"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})}))},f.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,(function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))})),e[\\"_get_\\"+t]=r}}},f.prototype.overrideFramesAccess=function(t){if(!t.Proxy||t!==t.frames){t.__wb_frames=t.frames;var e=this,r=function(){for(var t=0;t<this.__wb_frames.length;t++)try{e.initNewWindowWombat(this.__wb_frames[t])}catch(t){}return this.__wb_frames};this.defGetterProp(t,\\"frames\\",r),this.defGetterProp(t.Window.prototype,\\"frames\\",r)}},f.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,\\"serviceWorker\\",(function(){return e}))}},f.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},f.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},f.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;t.Function.prototype.__WB_orig_apply=e;var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},f.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;t.Function.prototype.__WB_orig_bind=e;var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=this.__WB_orig_bind.apply(this,arguments);return i.__WB_is_native_func__=e,i}}},f.prototype.overrideSrcsetAttr=function(t,e){var r=\\"srcset\\",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,(function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)}))},f.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,\\"href\\"),i=this.getOrigSetter(t,\\"href\\"),o=this;this.defProp(t,\\"href\\",(function(t){var r;return r=\\"cs_\\"===e&&0===t.indexOf(\\"data:text/css\\")?o.rewriteInlineStyle(t):\\"LINK\\"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,\\"href\\")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,\\"href\\",r):void 0}),(function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,\\"href\\")),this._no_rewrite?t:o.extractOriginalURL(t)}))},f.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if(\\"data\\"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&\\"STYLE\\"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,(function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&\\"STYLE\\"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,\\"\\"):t}))},f.prototype.overrideAnUIEvent=function(t){var e=\\"__wb_\\"+t+\\"_overridden\\",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,\\"view\\");var o,n=\\"init\\"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,\\"constructor\\",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},f.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},f.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},f.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,\\"innerHTML\\",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},f.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},f.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,\\"data\\"),this.overrideTextProtoGetSet(e,\\"wholeText\\")}},f.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,\\"cs_\\"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,\\"cs_\\"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,\\"mp_\\"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,\\"im_\\"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,\\"poster\\",\\"im_\\"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,\\"poster\\",\\"im_\\"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,\\"src\\",\\"im_\\"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,\\"src\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,\\"src\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,\\"src\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,\\"src\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,\\"src\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,\\"src\\",\\"oe_\\"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,\\"src\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,\\"src\\",\\"if_\\"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,\\"src\\",\\"fr_\\"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,\\"src\\",\\"js_\\"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,\\"data\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,\\"codebase\\",\\"oe_\\"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,\\"content\\",\\"mp_\\"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,\\"action\\",\\"mp_\\"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,\\"cite\\",\\"mp_\\"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,\\"cite\\",\\"mp_\\"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:\\"background\\",backgroundImage:\\"background-image\\",cursor:\\"cursor\\",listStyle:\\"list-style\\",listStyleImage:\\"list-style-image\\",border:\\"border\\",borderImage:\\"border-image\\",borderImageSource:\\"border-image-source\\",maskImage:\\"mask-image\\"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,\\"cssText\\"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,\\"cssText\\")},f.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf(\\"[native code]\\")>0&&i(this.$wbwindow.CSSStyleValue,\\"parse\\"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf(\\"[native code]\\")>0&&i(this.$wbwindow.CSSStyleValue,\\"parseAll\\")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,\\"CSSKeywordValue\\",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,\\"constructor\\",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,\\"CSSKeywordValue\\")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},f.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,\\"Audio\\"),new t(i.rewriteUrl(e,!0,\\"oe_\\"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,\\"constructor\\",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,\\"HTMLAudioElement\\")}},f.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=[\\"http:\\"+t,\\"https:\\"+t,\\"http:/\\"+t,\\"https:/\\"+t]},f.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},f.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,h,w){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===h?new e(t,r,o,n,s):void 0===w?new e(t,r,o,n,s,h):new e(t,r,o,n,s,h,w)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var h=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return h.call(this).split(\\" GMT\\")[0]+\\" GMT+0000 (Coordinated Universal Time)\\"};var w=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return w.call(this).split(\\" GMT\\")[0]+\\" GMT+0000 (Coordinated Universal Time)\\"},Object.defineProperty(this.$wbwindow.Date.prototype,\\"constructor\\",{value:this.$wbwindow.Date})}},f.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||\\"application/xhtml+xml\\"!==i.type&&\\"text/html\\"!==i.type||1===e.length&&\\"string\\"==typeof e[0]&&r.startsWith(e[0],\\"<!DOCTYPE html>\\")&&(e[0]=r.rewriteHtml(e[0]),i.type=\\"text/html\\"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},f.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(t){function e(t,e){this.addEventListener=function(){},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log(\\"ws send\\",t)},this.protocol=e&&e.length?e[0]:\\"\\",this.url=t,this.readyState=0}return e.CONNECTING=0,e.OPEN=1,e.CLOSING=2,e.CLOSED=3,e}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,\\"constructor\\",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,\\"WebSocket\\"))},f.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,\\"title\\"),e=this.getOrigSetter(this.$wbwindow.document,\\"title\\"),r=this;this.defProp(this.$wbwindow.document,\\"title\\",(function(t){var i=e.call(this,t),o={wb_type:\\"title\\",title:t};return r.sendTopMessage(o),i}),t)},f.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,\\"FontFace\\",arguments,2);var n=i;return null!=i&&(n=\\"string\\"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,\\"constructor\\",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,\\"FontFace\\")}},f.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,\\"devicePixelRatio\\",{value:t,writable:!1})}catch(t){}},f.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||\\"*\\",this.wb_curr_host=this.$wbwindow.location.protocol+\\"//\\"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+\\"://\\",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part=\\"/\\"+t.wombat_ts+\\"/\\":this.wb_capture_date_part=\\"\\",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},f.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},f.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc(\\"pushState\\"),this.overrideHistoryFunc(\\"replaceState\\");var t=this;this.$wbwindow.addEventListener(\\"popstate\\",(function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)}))},f.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(\\";\\"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+\\"; Path=\\"+this.rewriteUrl(\\"./\\",!0)},f.prototype.initHTTPOverrides=function(){var t,r,i=this;if(this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,\\"responseURL\\"),this.wb_info.isSW){var o=this.$wbwindow.XMLHttpRequest.prototype.open,n=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,s=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=o,this.utilFns.XHRsend=s,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)};i=this;var a=!!this.wb_info.convert_post_to_get;this.$wbwindow.XMLHttpRequest.prototype.send=async function(t){if(a&&(\\"POST\\"===this.__WB_xhr_open_arguments[0]||\\"PUT\\"===this.__WB_xhr_open_arguments[0])){var e={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:t};_(e)&&(this.__WB_xhr_open_arguments[1]=e.url,this.__WB_xhr_open_arguments[0]=\\"GET\\",t=null)}if(this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]&&-1===navigator.userAgent.indexOf(\\"Firefox\\")&&(this.__WB_xhr_open_arguments[2]=!0,console.warn(\\"wombat.js: Sync XHR not supported in SW-based replay in this browser, converted to async\\")),this._no_rewrite||(this.__WB_xhr_open_arguments[1]=i.rewriteUrl(this.__WB_xhr_open_arguments[1])),o.apply(this,this.__WB_xhr_open_arguments),!i.startsWith(this.__WB_xhr_open_arguments[1],\\"data:\\")){for(const[t,e]of this.__WB_xhr_headers.entries())n.call(this,t,e);n.call(this,\\"X-Pywb-Requested-With\\",\\"XMLHttpRequest\\")}return s.call(this,t)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var h=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=h,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(t,e,r,o,n){var s=this._no_rewrite?e:i.rewriteUrl(e),a=!0;null==r||r||(a=!1),h.call(this,t,s,a,o,n),i.startsWith(s,\\"data:\\")||this.setRequestHeader(\\"X-Pywb-Requested-With\\",\\"XMLHttpRequest\\")}}if(this.$wbwindow.fetch){var w=this.$wbwindow.fetch;this.$wbwindow.fetch=function(t,e){var r=t,o=typeof t;if(\\"string\\"===o)r=i.rewriteUrl(t);else if(\\"object\\"===o&&t.url){var n=i.rewriteUrl(t.url);n!==t.url&&(r=new Request(n,e))}else\\"object\\"===o&&t.href&&(r=i.rewriteUrl(t.href));if(e||(e={}),void 0===e.credentials)try{e.credentials=\\"include\\"}catch(t){}return w.call(i.proxyToObj(this),r,e)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var p=this.$wbwindow.Request;this.$wbwindow.Request=(t=this.$wbwindow.Request,function(e,r){i.domConstructorErrorChecker(this,\\"Request\\",arguments);var o=r||{},n=e,s=typeof e;switch(s){case\\"string\\":n=i.rewriteUrl(e);break;case\\"object\\":if(n=e,e.url){var a=i.rewriteUrl(e.url);a!==e.url&&(n=new t(a,e))}else e.href&&(n=i.rewriteUrl(e.toString(),!0))}return o.credentials=\\"include\\",o.referrer&&(o.referrer=i.rewriteUrl(o.referrer)),new t(n,o)}),this.$wbwindow.Request.prototype=p.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,\\"constructor\\",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,\\"url\\"),this.overridePropExtract(this.$wbwindow.Request.prototype,\\"referrer\\")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var c=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(t,e){var r=i.rewriteUrl(t,!0,null,i.$wbwindow.document);return c.call(this,r,e)},this.overridePropExtract(this.$wbwindow.Response.prototype,\\"url\\")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var l=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(r=this.$wbwindow.EventSource,function(t,e){i.domConstructorErrorChecker(this,\\"EventSource\\",arguments);var o=t;return null!=t&&(o=i.rewriteUrl(t)),new r(o,e)}),this.$wbwindow.EventSource.prototype=l.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,\\"constructor\\",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,\\"EventSource\\")}},f.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&\\"string\\"==typeof o){var n=e.toLowerCase();if(\\"LINK\\"===this.tagName&&\\"href\\"===n&&0===o.indexOf(\\"data:text/css\\"))o=t.rewriteInlineStyle(i);else if(\\"style\\"===n)o=t.rewriteStyle(i);else if(\\"srcset\\"===n||\\"imagesrcset\\"===n&&\\"LINK\\"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,\\"data-\\")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},f.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf(\\"xlink:href\\")>=0||\\"href\\"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf(\\"xlink:href\\")>=0||\\"href\\"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf(\\"xlink:href\\")>=0||\\"href\\"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf(\\"xlink:href\\")>=0||\\"href\\"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},f.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},f.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},f.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,\\"ownerDocument\\"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,\\"parentNode\\"),this.overridePropToProxy(this.$wbwindow.Event.prototype,\\"target\\")}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},f.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,\\"origin\\",(function(){return this.WB_wombat_location.origin})),this.defGetterProp(this.$wbwindow,\\"origin\\",(function(){return this.WB_wombat_location.origin}));var e=this;this.defProp(t,\\"domain\\",(function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)}),(function(){return this.__wb_domain||this.WB_wombat_location.hostname}))}},f.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff=\\"\\";var r=this,i=e.write,o=function(){return d(this,i,u(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,u(arguments))};e.writeln=s,t.writeln=s;var a=e.open,h=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,\\"mp_\\");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),_()?r._writeBuff=\\"\\":r.initNewWindowWombat(e.defaultView);return t};e.open=h,t.open=h;var w=e.close,p=function(){if(r._writeBuff)return r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff),void(r._writeBuff=\\"\\");var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),w.__WB_orig_apply?w.__WB_orig_apply(t,arguments):w.apply(t,arguments)};e.close=p,t.close=p;var c=this.getOrigGetter(t,\\"body\\"),l=this.getOrigSetter(t,\\"body\\");c&&l&&this.defProp(t,\\"body\\",(function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)}),c)}function _(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function u(t){return 0===t.length?\\"\\":1===t.length?t[0]:Array.prototype.join.call(t,\\"\\")}function d(t,e,i){r.$wbwindow;if(!_()){i=r.rewriteHtml(i,!0);var o=r.proxyToObj(t),n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},f.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},f.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&\\"\\"!==e&&!this.startsWithOneOf(e,[\\"about:blank\\",\\"javascript:\\"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);(\\"about:blank\\"===i||i.startsWith(\\"srcdoc:\\")||i.startsWith(\\"blob:\\"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new f(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},f.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},f.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,\\"Worker\\",arguments),new t(r.rewriteWorker(e),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,\\"constructor\\",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,\\"SharedWorker\\",arguments),new e(r.rewriteWorker(t),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,\\"constructor\\",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl(\\"/\\",!1,o)},n.call(this,r.rewriteUrl(i,!1,\\"sw_\\"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,\\"js_\\");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},f.prototype.initLocOverride=function(t,e,r){if(Object.defineProperty)for(var i=0;i<this.URL_PROPS.length;i++){var o=this.URL_PROPS[i];this.defProp(t,o,this.makeSetLocProp(o,e,r),this.makeGetLocProp(o,r),!0)}},f.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new h(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,\\"WB_wombat_location\\",(function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)}),(function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location})),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},f.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,\\"__WB_pmw\\",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof h){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},f.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}})}catch(t){}},f.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return t&&(r=new URL(r,t).href),import(e.rewriteUrl(r,!1,\\"esm_\\"))}},f.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,\\"WB_wombat_location\\",\\"__WB_pmw\\",\\"WB_wombat_top\\",\\"WB_wombat_eval\\",\\"WB_wombat_runEval\\"];try{t.Object.defineProperty(t.Object,\\"getOwnPropertyNames\\",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},f.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener(\\"message\\",(function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&\\"outer_hashchange\\"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}})),this.$wbwindow.addEventListener(\\"hashchange\\",(function(){var e={wb_type:\\"hashchange\\",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)}))}},f.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,h,w=r.proxyToObj(this);if(w||((w=t).__WB_source=t),w.__WB_source&&w.__WB_source.WB_wombat_location){var p=w.__WB_source;if(a=p.WB_wombat_location.origin,w.__WB_win_id||(w.__WB_win_id={},w.__WB_counter=0),!p.__WB_id){var c=w.__WB_counter;p.__WB_id=c+p.WB_wombat_location.href,w.__WB_counter+=1}w.__WB_win_id[p.__WB_id]=p,h=p.__WB_id,w.__WB_source=void 0}else a=window.WB_wombat_location.origin;var l=o;l===w.location.origin&&(l=a);var _={from:a,to_origin:l,src_id:h,message:i,from_top:s};if(\\"*\\"!==o){if(\\"null\\"===w.location.origin||\\"\\"===w.location.origin)return;o=w.location.origin}return e.call(w,_,o,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if(\\"message\\"===t?o=r.message_listeners.add_or_get(e,(function(){return c(e,s,r)})):\\"storage\\"===t?r.storage_listeners.add_or_get(e,(function(){return p(e,s)})):o=e,o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if(\\"message\\"===t?o=r.message_listeners.remove(e):\\"storage\\"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,(function(t){this[\\"__orig_\\"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)}),(function(){return this[\\"__orig_\\"+e]}))};a(\\"onmessage\\",c),a(\\"onstorage\\",p)}},f.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride(\\"target\\"),this.addEventOverride(\\"srcElement\\"),this.addEventOverride(\\"currentTarget\\"),this.addEventOverride(\\"eventPhase\\"),this.addEventOverride(\\"path\\"),this.overridePropToProxy(t.MessageEvent.prototype,\\"source\\"),t.MessageEvent.prototype.__extended=!0)},f.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent(\\"UIEvent\\"),this.overrideAnUIEvent(\\"MouseEvent\\"),this.overrideAnUIEvent(\\"TouchEvent\\"),this.overrideAnUIEvent(\\"FocusEvent\\"),this.overrideAnUIEvent(\\"KeyboardEvent\\"),this.overrideAnUIEvent(\\"WheelEvent\\"),this.overrideAnUIEvent(\\"InputEvent\\"),this.overrideAnUIEvent(\\"CompositionEvent\\")},f.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i&&(i=e.rewriteAttrTarget(i));var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),s};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},f.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame&&(\\"_blank\\"===t||\\"_parent\\"===t||\\"_top\\"===t||t&&this.$wbwindow===this.$wbwindow.__WB_replay_top)?this.wb_info.target_frame:t},f.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,\\"cookie\\"),e=this.getOrigSetter(this.$wbwindow.document,\\"cookie\\");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,\\"cookie\\")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,\\"cookie\\"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?\\"Expires=Thu,| 01 Jan 1970 00:00:00 GMT\\":\\"Expires=\\"+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(\\",\\",\\",|\\")},i=this;this.defProp(this.$wbwindow.document,\\"cookie\\",(function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(\\",\\"))}}),(function(){return t.call(i.proxyToObj(this))}))},f.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},f.prototype.initBeaconOverride=function(){if(this.$wbwindow.navigator.sendBeacon){var t=this.$wbwindow.navigator.sendBeacon,e=this;this.$wbwindow.navigator.sendBeacon=function(r,i){try{return t.call(this,e.rewriteUrl(r),i)}catch(t){return!0}}}},f.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){})},f.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,\\"PresentationRequest\\",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,\\"mp_\\");else i=t.rewriteUrl(e,!0,\\"mp_\\");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,\\"constructor\\",{value:this.$wbwindow.PresentationRequest})}var r},f.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t(\\"denied\\"),Promise.resolve(\\"denied\\")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:\\"not available\\"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:\\"not available\\"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},f.prototype.initStorageOverride=function(){this.addEventOverride(\\"storageArea\\",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(atob(this.wb_info.storage))}catch(t){console.warn(\\"Error parsing storage, storages not loaded\\")}a(this,\\"localStorage\\",t.local),a(this,\\"sessionStorage\\",t.session),this.$wbwindow.Storage=s,i.yes=!0},f.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e=\\"wb-\\"+this.wb_orig_origin+\\"-\\",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise((function(r,i){o.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)})).catch((function(t){i(t)}))}))}}},f.prototype.initCachesOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e=\\"wb-\\"+this.wb_orig_origin+\\"-\\",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise((function(r,i){n.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)})).catch((function(t){i(t)}))}))};t.match;t.match=function(t,e){var r=this;return this.keys().then((function(i){var o;return i.reduce((function(i,n){return i.then((function(){return o||r.open(n).then((function(r){return r.match(t,e)})).then((function(t){return o=t}))}))}),Promise.resolve())}))}}},f.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case\\"top\\":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case\\"parent\\":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case\\"location\\":return t.WB_wombat_location=i,!0;case\\"postMessage\\":case\\"document\\":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return void 0===o.value&&void 0===o.get&&(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},f.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return\\"location\\"===r?t.WB_wombat_location=i:e[r]=i,!0}});return t._WB_wombat_obj_proxy=o,o}},f.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new w(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+\\"autoFetchWorker.js?init=\\"+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,\\"load\\",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},f.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if(\\"string\\"==typeof i&&\\"about:blank\\"!==i&&0!==i.indexOf(\\"javascript:\\")&&(\\"complete\\"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll(\\"link[rel*=\'icon\']\\"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,\\"href\\")})}o.push({rel:\\"icon\\",href:e.rewriteUrl(\\"/favicon.ico\\")});var h={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:\\"\\",readyState:e.$wbwindow.document.readyState,wb_type:\\"load\\"};e.sendTopMessage(h)}}}else{var w=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+w)}};\\"complete\\"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener(\\"readystatechange\\",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent(\\"onreadystatechange\\",r)},f.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener(\\"message\\",(function(t){t.data&&\\"aaworker\\"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)}),!1)}},f.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,\\"frameElement\\",{value:null,configurable:!1})}catch(t){}},f.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,\\"WB_wombat_top\\",(function(t){this.top=t}),(function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t}))}},f.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,\\"WB_wombat_runEval\\",e,(function(){return i})),this.defProp(this.$wbwindow.Object.prototype,\\"WB_wombat_runEval2\\",e,(function(){return o}))},f.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,\\"innerHTML\\",!0),this.overrideHtmlAssign(this.$wbwindow.Element,\\"outerHTML\\",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,\\"srcdoc\\",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,\\"textContent\\"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,\\"URL\\"),this.overridePropExtract(this.$wbwindow.Document.prototype,\\"documentURI\\"),this.overridePropExtract(this.$wbwindow.Node.prototype,\\"baseURI\\"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess(\\"contentWindow\\"),this.overrideIframeContentAccess(\\"contentDocument\\"),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,\\"observe\\"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,\\"compareDocumentPosition\\"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,\\"contains\\"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,\\"createTreeWalker\\"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,\\"evaluate\\",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,\\"transformToFragment\\",1),this.overrideFuncThisProxyToObj(this.$wbwindow,\\"getComputedStyle\\",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,\\"clearTimeout\\"),this.overrideFuncThisProxyToObj(this.$wbwindow,\\"clearInterval\\"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,\\"dispatchEvent\\"),this.initTimeoutIntervalOverrides(),this.overrideFramesAccess(this.$wbwindow),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initBeaconOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return\\"document\\"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const b=f;window._WBWombat=b,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new b(this,t);this._wb_wombat=e.wombatInit()}}})();");\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/dist/wombat.js?')},"../wabac.js/node_modules/auto-js-ipfs/index.js":
/*!******************************************************!*\
!*** ../wabac.js/node_modules/auto-js-ipfs/index.js ***!
\******************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"AGREGORE_TYPE\": () => (/* binding */ AGREGORE_TYPE),\n/* harmony export */ \"API\": () => (/* binding */ API),\n/* harmony export */ \"AgregoreAPI\": () => (/* binding */ AgregoreAPI),\n/* harmony export */ \"CHOOSE_ORDER\": () => (/* binding */ CHOOSE_ORDER),\n/* harmony export */ \"DAEMON_TYPE\": () => (/* binding */ DAEMON_TYPE),\n/* harmony export */ \"DEFAULT_DAEMON_API_URL\": () => (/* binding */ DEFAULT_DAEMON_API_URL),\n/* harmony export */ \"DEFAULT_TIMEOUT\": () => (/* binding */ DEFAULT_TIMEOUT),\n/* harmony export */ \"DaemonAPI\": () => (/* binding */ DaemonAPI),\n/* harmony export */ \"ESTUARY_TYPE\": () => (/* binding */ ESTUARY_TYPE),\n/* harmony export */ \"ESTUARY_URL\": () => (/* binding */ ESTUARY_URL),\n/* harmony export */ \"EstuaryAPI\": () => (/* binding */ EstuaryAPI),\n/* harmony export */ \"INVALID_TYPE\": () => (/* binding */ INVALID_TYPE),\n/* harmony export */ \"KNOWN_DAEMON_PORTS\": () => (/* binding */ KNOWN_DAEMON_PORTS),\n/* harmony export */ \"READONLY_TYPE\": () => (/* binding */ READONLY_TYPE),\n/* harmony export */ \"ReadonlyGatewayAPI\": () => (/* binding */ ReadonlyGatewayAPI),\n/* harmony export */ \"W3S_LINK_URL\": () => (/* reexport safe */ _util_js__WEBPACK_IMPORTED_MODULE_0__.W3S_LINK_URL),\n/* harmony export */ \"WEB3_STORAGE_TYPE\": () => (/* binding */ WEB3_STORAGE_TYPE),\n/* harmony export */ \"WEB3_STORAGE_URL\": () => (/* binding */ WEB3_STORAGE_URL),\n/* harmony export */ \"Web3StorageAPI\": () => (/* binding */ Web3StorageAPI),\n/* harmony export */ \"choose\": () => (/* binding */ choose),\n/* harmony export */ \"create\": () => (/* binding */ create),\n/* harmony export */ \"defaultChoice\": () => (/* binding */ defaultChoice),\n/* harmony export */ \"detect\": () => (/* binding */ detect),\n/* harmony export */ \"detectAgregoreFetch\": () => (/* binding */ detectAgregoreFetch),\n/* harmony export */ \"detectAllDaemons\": () => (/* binding */ detectAllDaemons),\n/* harmony export */ \"detectDaemon\": () => (/* binding */ detectDaemon),\n/* harmony export */ \"detectDefaultGateway\": () => (/* reexport safe */ _util_js__WEBPACK_IMPORTED_MODULE_0__.detectDefaultGateway),\n/* harmony export */ \"hasInterceptedWebRequests\": () => (/* binding */ hasInterceptedWebRequests),\n/* harmony export */ \"setDebug\": () => (/* binding */ setDebug),\n/* harmony export */ \"shouldInterceptWebRequests\": () => (/* binding */ shouldInterceptWebRequests),\n/* harmony export */ \"toGatewayURL\": () => (/* reexport safe */ _util_js__WEBPACK_IMPORTED_MODULE_0__.toGatewayURL)\n/* harmony export */ });\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util.js */ \"../wabac.js/node_modules/auto-js-ipfs/util.js\");\n/* global fetch, Blob */\n\n\n\n\nlet debug = false\n\nfunction setDebug (shouldDebug = true) {\n debug = shouldDebug\n}\n\nconst KNOWN_DAEMON_PORTS = [5001, 45001, 45002, 45003, 45004, 45005]\nconst WEB3_STORAGE_URL = 'https://api.web3.storage/'\nconst ESTUARY_URL = 'https://api.estuary.tech/'\nconst DEFAULT_DAEMON_API_URL = 'http://localhost:5001/'\nconst DEFAULT_TIMEOUT = 1000\nconst AGREGORE_TYPE = 'agregore'\nconst DAEMON_TYPE = 'daemon'\nconst WEB3_STORAGE_TYPE = 'web3.storage'\nconst ESTUARY_TYPE = 'estuary'\nconst READONLY_TYPE = 'readonly'\nconst INVALID_TYPE = 'invalid'\nconst CHOOSE_ORDER = [\n AGREGORE_TYPE,\n DAEMON_TYPE,\n WEB3_STORAGE_TYPE,\n ESTUARY_TYPE,\n READONLY_TYPE\n]\n\nclass API {\n get type () {\n return INVALID_TYPE\n }\n\n async * get (url, { start, end, signal = null, format = null } = {}) {\n throw new Error('Not Implemented')\n }\n\n async getSize (url, signal = null) {\n throw new Error('Not Implemented')\n }\n\n async uploadCAR (carFileIterator, signal = null) {\n throw new Error('Not Implemented')\n }\n\n async uploadFile (carFileIterator, fileName, signal = null) {\n throw new Error('Not Implemented')\n }\n\n async clear (url, signal = null) {\n throw new Error('Not Implemented')\n }\n}\n\nasync function detect ({\n daemonURL,\n web3StorageToken,\n web3StorageURL = WEB3_STORAGE_URL,\n estuaryToken,\n estuaryURL = ESTUARY_URL,\n publicGatewayURL = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.detectDefaultGateway)(),\n readonly = true,\n timeout = DEFAULT_TIMEOUT,\n fetch = globalThis.fetch\n} = {}) {\n const options = []\n\n const toAttempt = []\n\n toAttempt.push(\n detectAgregoreFetch(fetch)\n .then(detected => detected && options.push({ type: AGREGORE_TYPE, fetch }))\n )\n\n toAttempt.push(\n detectAllDaemons(fetch)\n .then(detected => detected && options.push({ type: DAEMON_TYPE, url: detected, fetch }))\n )\n\n if (daemonURL) {\n toAttempt.push(\n detectDaemon(daemonURL, timeout, fetch)\n .then(detected => detected && options.push({ type: DAEMON_TYPE, url: daemonURL, fetch }))\n )\n }\n\n if (estuaryToken) {\n const url = estuaryURL\n const authorization = estuaryToken\n options.push({ type: ESTUARY_TYPE, url, authorization, fetch, publicGatewayURL })\n }\n\n if (web3StorageToken) {\n const url = web3StorageURL\n const authorization = web3StorageToken\n options.push({ type: WEB3_STORAGE_TYPE, url, authorization, fetch, publicGatewayURL })\n }\n\n if (readonly && publicGatewayURL) {\n options.push({ type: READONLY_TYPE, fetch, publicGatewayURL })\n }\n\n await Promise.allSettled(toAttempt)\n\n return options\n}\n\nasync function create ({ chooseOrder = CHOOSE_ORDER, ...opts } = {}) {\n const options = await detect(opts)\n\n const chosen = defaultChoice(options, chooseOrder)\n\n return choose(chosen)\n}\n\nfunction defaultChoice (options, chooseOrder = CHOOSE_ORDER) {\n const sorted = options\n .filter(({ type }) => chooseOrder.includes(type))\n .sort(({ type: type1 }, { type: type2 }) => chooseOrder.indexOf(type1) - chooseOrder.indexOf(type2))\n\n const chosen = sorted[0]\n if (!chosen) throw new Error('Unable to find valid type')\n\n return chosen\n}\n\nasync function choose (option) {\n const { type } = option\n let api = null\n if (type === AGREGORE_TYPE) {\n api = new AgregoreAPI(option.fetch || globalThis.fetch)\n } else if (type === DAEMON_TYPE) {\n api = new DaemonAPI(option.url)\n } else if (type === WEB3_STORAGE_TYPE) {\n api = new Web3StorageAPI(option.authorization, option.url, option.publicGatewayURL)\n } else if (type === ESTUARY_TYPE) {\n api = new EstuaryAPI(option.authorization, option.url, option.publicGatewayURL)\n } else if (type === READONLY_TYPE) {\n api = new ReadonlyGatewayAPI(option.publicGatewayURL)\n } else {\n throw new TypeError(`Unknown API type: ${type}.`)\n }\n\n return api\n}\n\nclass ReadonlyGatewayAPI extends API {\n constructor (gatewayURL = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.detectDefaultGateway)()) {\n super()\n this.gatewayURL = gatewayURL\n }\n\n get type () {\n return READONLY_TYPE\n }\n\n async * get (url, { start, end, signal = null, format = null } = {}) {\n yield * (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.getFromGateway)({\n url,\n start,\n end,\n format,\n gatewayURL: this.gatewayURL,\n signal\n })\n }\n\n async getSize (url, signal = null) {\n const { cid, path, type } = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.parseIPFSURL)(url)\n\n const relative = `/${type}/${cid}${path}`\n const toFetch = new URL(relative, this.gatewayURL)\n\n return (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.getSizeFromURL)({\n url: toFetch,\n signal\n })\n }\n}\n\nclass EstuaryAPI extends ReadonlyGatewayAPI {\n constructor (authorization, url = ESTUARY_URL, gatewayURL = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.detectDefaultGateway)()) {\n super(gatewayURL)\n this.authorization = authorization\n this.url = url\n }\n\n get type () {\n return ESTUARY_TYPE\n }\n\n async uploadCAR (carFileIterator, signal = null) {\n throw new Error('Not Implemented')\n }\n\n async uploadFile (fileIterator, fileName, signal = null) {\n const toFetch = new URL('/content/add', this.url)\n toFetch.password = this.authorization\n\n const response = await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.postFormFile)({\n url: toFetch,\n file: fileIterator,\n fileName,\n parameterName: 'data',\n signal\n })\n\n const { cid } = await response.json()\n\n return `ipfs://${cid}/`\n }\n}\n\nclass AgregoreAPI extends API {\n constructor (fetch = globalThis.fetch) {\n super()\n this.fetch = fetch\n }\n\n get type () {\n return AGREGORE_TYPE\n }\n\n async * get (url, { start, end, signal = null, format = null } = {}) {\n const { fetch } = this\n yield * (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.getFromURL)({\n url,\n start,\n end,\n format,\n fetch,\n signal\n })\n }\n\n async getSize (url, signal = null) {\n const { fetch } = this\n return (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.getSizeFromURL)({\n url,\n fetch,\n signal\n })\n }\n\n async uploadCAR (carFileIterator, signal = null) {\n // convert to stream if iterator\n const body = await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.autoStream)(carFileIterator)\n const { fetch } = this\n const response = await fetch('ipfs://localhost', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/vnd.ipld.car'\n },\n signal,\n body\n })\n\n await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.checkError)(response)\n\n const results = await response.text()\n\n return results.split('\\n')\n }\n\n async uploadFile (fileIterator, signal = null) {\n const body = await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.autoStream)(fileIterator)\n const { fetch } = this\n const response = await fetch('ipfs://localhost', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/octet-stream'\n },\n signal,\n body\n })\n\n await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.checkError)(response)\n\n return response.headers.get('Location')\n }\n}\n\nclass Web3StorageAPI extends ReadonlyGatewayAPI {\n constructor (authorization, url = WEB3_STORAGE_URL, gatewayURL = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.detectDefaultGateway)()) {\n super(gatewayURL)\n this.authorization = authorization\n this.url = url\n }\n\n get type () {\n return WEB3_STORAGE_TYPE\n }\n\n async uploadCAR (carFileIterator, signal = null) {\n const toFetch = new URL('/car', this.url)\n toFetch.password = this.authorization\n\n const response = await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.postRawBody)({\n url: toFetch,\n fileIterator: carFileIterator,\n signal\n })\n\n const contents = await response.text()\n const items = contents.split('\\n')\n\n return items.filter((line) => line).map((line) => {\n const { cid } = JSON.parse(line)\n return `ipfs://${cid}/`\n })\n }\n\n async uploadFile (fileIterator, { fileName = '', signal = null } = {}) {\n const toFetch = new URL('/upload', this.url)\n toFetch.password = this.authorization\n\n const response = await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.postFormFile)({\n url: toFetch,\n file: fileIterator,\n fileName,\n signal\n })\n\n const { cid } = await response.json()\n\n return `ipfs://${cid}/`\n }\n}\n\nclass DaemonAPI extends API {\n constructor (url = DEFAULT_DAEMON_API_URL) {\n super()\n this.url = url\n }\n\n get type () {\n return DAEMON_TYPE\n }\n\n async * get (url, { start, end, signal = null, format = null } = {}) {\n const { cid, path, type } = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.parseIPFSURL)(url)\n const relative = `/api/v0/cat?arg=/${type}/${cid}${path}`\n const toFetch = new URL(relative, this.url)\n\n if (start) {\n toFetch.searchParams.set('offset', start)\n }\n if (end) {\n toFetch.searchParams.set('length', end - (start || 0) + 1)\n }\n\n if (format) {\n throw new Error('Format is unsupported on Kubo Daemons for now')\n }\n\n const response = await fetch(toFetch, {\n method: 'POST',\n signal\n })\n\n await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.checkError)(response)\n\n yield * (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.streamToIterator)(response.body)\n }\n\n async getSize (url, signal = null) {\n try {\n const { cid, path, type } = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.parseIPFSURL)(url)\n const relative = `/api/v0/file/ls?arg=/${type}/${cid}${path}&size=true`\n const toFetch = new URL(relative, this.url)\n\n const response = await fetch(toFetch, {\n method: 'POST',\n signal\n })\n\n await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.checkError)(response)\n\n const { Objects } = await response.json()\n\n const [{ Size }] = Object.values(Objects)\n\n return Size\n } catch (e) {\n if (debug) console.warn(e)\n return this._getSizeWithDag(url, signal)\n }\n }\n\n async _getSizeWithDag (url, signal = null) {\n const { cid, path, type } = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.parseIPFSURL)(url)\n const relative = `/api/v0/dag/stat?arg=/${type}/${cid}${path}`\n const toFetch = new URL(relative, this.url)\n\n const response = await fetch(toFetch, {\n method: 'POST',\n signal\n })\n\n await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.checkError)(response)\n\n const { Size } = await response.json()\n\n return parseInt(Size, 10)\n }\n\n async _pin (url, signal = null) {\n const { cid, path, type } = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.parseIPFSURL)(url)\n const relative = `/api/v0/pin/add?arg=/${type}/${cid}${path}`\n const toFetch = new URL(relative, this.url)\n\n const response = await fetch(toFetch, {\n method: 'POST',\n signal\n })\n\n await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.checkError)(response)\n }\n\n async _unpin (url, signal = null) {\n const { cid, path, type } = (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.parseIPFSURL)(url)\n const relative = `/api/v0/pin/rm?arg=/${type}/${cid}${path}`\n const toFetch = new URL(relative, this.url)\n\n const response = await fetch(toFetch, {\n method: 'POST',\n signal\n })\n\n await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.checkError)(response)\n }\n\n async clear(url, signal = null) {\n return this._unpin(url, signal)\n }\n\n async uploadCAR (carFileIterator, signal = null) {\n const relative = '/api/v0/dag/import?allow-big-block=true&pin-roots=true'\n const toFetch = new URL(relative, this.url)\n\n const response = await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.postFormFile)({\n url: toFetch,\n file: carFileIterator,\n signal\n })\n\n const contents = await response.text()\n const items = contents.split('\\n')\n\n return items.filter((line) => line).map((line) => {\n const { Root } = JSON.parse(line)\n const cid = Root.Cid['/']\n return `ipfs://${cid}/`\n })\n }\n\n async uploadFile (fileIterator, fileName = '', signal = null) {\n const relative = '/api/v0/add?pin=true&cid-version=1&inline=false&raw-leaves=true'\n const toFetch = new URL(relative, this.url)\n\n const isFile = fileIterator.name && fileIterator instanceof Blob\n // We should just wrap files or things with a name with a directory\n if (fileName || isFile) {\n toFetch.searchParams.set('wrap-with-directory', 'true')\n }\n\n const response = await (0,_util_js__WEBPACK_IMPORTED_MODULE_0__.postFormFile)({\n url: toFetch,\n file: fileIterator,\n fileName,\n signal\n })\n\n const contents = await response.text()\n const [line] = contents.split('\\n')\n\n const { Hash: cid } = JSON.parse(line)\n\n const url = `ipfs://${cid}/`\n\n await this._pin(url, signal)\n\n return url\n }\n}\n\nlet hasInterceptedWebRequests = false\nconst shouldInterceptWebRequests = !!(\n globalThis &&\n globalThis.chrome &&\n globalThis.chrome.webRequest &&\n globalThis.chrome.webRequest.onBeforeSendHeaders &&\n globalThis.chrome.webRequest.onBeforeSendHeaders.addListener\n)\n\nasync function detectAllDaemons () {\n const potentialGateways = KNOWN_DAEMON_PORTS.map((port) => `http://localhost:${port}`)\n try {\n // Search all the potential gateways in parallel and return the first valid one\n const foundGateway = await Promise.any(potentialGateways.map(\n (gateway) => detectDaemon(gateway).then((exists) => {\n if (exists) return gateway\n throw new Error('Not found')\n })\n ))\n\n if (!foundGateway) return false\n\n if (shouldInterceptWebRequests && !hasInterceptedWebRequests) {\n interceptWebRequests(foundGateway)\n }\n\n return foundGateway\n } catch {\n return false\n }\n}\n\n// This a funky thing that WebRecorder did to bypass cors\nfunction interceptWebRequests (apiURL) {\n hasInterceptedWebRequests = true\n globalThis.chrome.webRequest.onBeforeSendHeaders.addListener((details) => {\n const { requestHeaders } = details\n\n for (const header of requestHeaders) {\n if (header.name.toLowerCase() === 'origin') {\n header.value = apiURL\n return { requestHeaders }\n }\n }\n\n details.requestHeaders.push({ name: 'Origin', value: apiURL })\n return { requestHeaders }\n },\n { urls: [apiURL + '/*'] },\n ['blocking', 'requestHeaders', 'extraHeaders']\n )\n}\n\nasync function detectAgregoreFetch (fetch = globalThis.fetch) {\n try {\n // Should throw error if IPFS is not supported\n // Also throws an error in brave even with IPFS support\n await fetch('ipfs://localhost/')\n return true\n } catch (e) {\n if (debug) console.warn('Unable to detect Agregore', e)\n return false\n }\n}\n\nasync function detectDaemon (url = DEFAULT_DAEMON_API_URL, timeout = 1000, fetch = globalThis.fetch) {\n try {\n const controller = new AbortController()\n const { signal } = controller\n setTimeout(() => controller.abort(), timeout)\n const response = await fetch(new URL('/api/v0/version', url), {\n method: 'POST', signal\n })\n if (response.ok) return true\n if (response.status === 405) return true\n return false\n } catch (e) {\n if (debug) console.warn('Unable to detect Kubo Daemon', e, url)\n return false\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/auto-js-ipfs/index.js?")},"../wabac.js/node_modules/auto-js-ipfs/util.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/auto-js-ipfs/util.js ***!
\*****************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BRAVE_PORTS\": () => (/* binding */ BRAVE_PORTS),\n/* harmony export */ \"DEFAULT_GATEWAY\": () => (/* binding */ DEFAULT_GATEWAY),\n/* harmony export */ \"W3S_LINK_URL\": () => (/* binding */ W3S_LINK_URL),\n/* harmony export */ \"addAuthorizationHeader\": () => (/* binding */ addAuthorizationHeader),\n/* harmony export */ \"autoBlob\": () => (/* binding */ autoBlob),\n/* harmony export */ \"autoStream\": () => (/* binding */ autoStream),\n/* harmony export */ \"checkError\": () => (/* binding */ checkError),\n/* harmony export */ \"detectDefaultGateway\": () => (/* binding */ detectDefaultGateway),\n/* harmony export */ \"getFromGateway\": () => (/* binding */ getFromGateway),\n/* harmony export */ \"getFromURL\": () => (/* binding */ getFromURL),\n/* harmony export */ \"getSizeFromURL\": () => (/* binding */ getSizeFromURL),\n/* harmony export */ \"isIterator\": () => (/* binding */ isIterator),\n/* harmony export */ \"isStream\": () => (/* binding */ isStream),\n/* harmony export */ \"iteratorToStream\": () => (/* binding */ iteratorToStream),\n/* harmony export */ \"parseIPFSURL\": () => (/* binding */ parseIPFSURL),\n/* harmony export */ \"postFormFile\": () => (/* binding */ postFormFile),\n/* harmony export */ \"postRawBody\": () => (/* binding */ postRawBody),\n/* harmony export */ \"streamToBlob\": () => (/* binding */ streamToBlob),\n/* harmony export */ \"streamToIterator\": () => (/* binding */ streamToIterator),\n/* harmony export */ \"toGatewayURL\": () => (/* binding */ toGatewayURL)\n/* harmony export */ });\n/* global Response, ReadableStream, FormData, Headers, Blob */\n\nconst BRAVE_PORTS = [45001, 45002, 45003, 45004, 45005]\nconst W3S_LINK_URL = 'https://w3s.link/'\nconst DEFAULT_GATEWAY = W3S_LINK_URL\n\nfunction parseIPFSURL (url) {\n const { hostname, protocol, pathname } = new URL(url)\n\n const type = protocol.slice(0, -1)\n\n if (!hostname) {\n const [cid, ...segments] = pathname.slice(2).split('/')\n const path = '/' + segments.join('/')\n return { type, cid, path }\n }\n return { type, cid: hostname, path: pathname }\n}\n\n// Might not convert if it's a plain string\n// Used for appending to form data\nasync function autoBlob (content) {\n if (isStream(content)) {\n const blob = await streamToBlob(content)\n return blob\n } else if (isIterator(content)) {\n const stream = iteratorToStream(content)\n const blob = await streamToBlob(stream)\n return blob\n } else if (content instanceof Blob) {\n return content\n } else {\n return new Blob([content])\n }\n}\n\nasync function autoStream (content) {\n if (isStream(content)) return content\n if (isIterator(content)) return iteratorToStream(content)\n /* if (typeof content.stream === 'function') {\n // Probably a Blob or a File\n return content.stream()\n } */\n // Probably a string or something\n return content\n}\n\nasync function streamToBlob (stream) {\n const response = new Response(stream)\n return response.blob()\n}\n\nasync function * streamToIterator (stream) {\n const reader = await stream.getReader()\n try {\n while (true) {\n const { done, value } = await reader.read()\n if (done) return\n yield value\n }\n } finally {\n reader.releaseLock()\n }\n}\n\nfunction iteratorToStream (iterable) {\n let iterator = iterable\n if (!iterator.next) {\n iterator = iterable[Symbol.asyncIterator]()\n }\n const encoder = new TextEncoder()\n return new ReadableStream({\n async pull (controller) {\n const { value, done } = await iterator.next()\n\n if (done) {\n await controller.close()\n } else {\n let toSend = value\n if (typeof toSend === 'string') {\n toSend = encoder.encode(toSend)\n }\n await controller.enqueue(toSend)\n }\n }\n })\n}\n\nasync function checkError (response) {\n if (!response.ok) {\n const error = await response.text()\n const status = response.status\n throw new Error(`HTTP Error ${status}: ${error}`)\n }\n}\n\nasync function postRawBody ({\n url,\n fileIterator,\n signal\n}) {\n const headers = new Headers()\n\n headers.set('Content-Type', 'application/octet-stream')\n\n addAuthorizationHeader(url, headers)\n\n const body = await autoStream(fileIterator)\n\n const duplex = 'half'\n\n const response = await fetch(url, {\n method: 'POST',\n signal,\n body,\n headers,\n duplex,\n })\n\n await checkError(response)\n\n return response\n}\n\nasync function postFormFile ({\n url,\n file,\n fileName = '',\n parameterName = 'file',\n fetch = globalThis.fetch,\n signal\n}) {\n const body = new FormData()\n const headers = new Headers()\n\n addAuthorizationHeader(url, headers)\n\n const content = await autoBlob(file)\n\n if (fileName) {\n body.append(parameterName, content, fileName)\n } else {\n body.append(parameterName, content)\n }\n\n const response = await fetch(url, {\n method: 'POST',\n body,\n headers,\n signal\n })\n\n await checkError(response)\n\n return response\n}\n\nfunction isStream (content) {\n return typeof content.getReader === 'function'\n}\n\nfunction isIterator (content) {\n return content[Symbol.asyncIterator]\n // || content[Symbol.iterator]\n}\n\nfunction addAuthorizationHeader (url, headers) {\n if (url.password) {\n if (url.username) {\n const encoded = btoa(`${unescape(url.username)}:${unescape(url.password)}`)\n const auth = `Basic ${encoded}`\n headers.append('Authorization', unescape(auth))\n url.username = ''\n url.password = ''\n } else {\n // If we just have a password, it's for a bearer token\n const token = url.password\n const auth = `Bearer ${token}`\n headers.append('Authorization', unescape(auth))\n url.password = ''\n }\n }\n}\n\nasync function getSizeFromURL ({\n url,\n fetch = globalThis.fetch,\n signal\n}) {\n const response = await fetch(url, {\n method: 'HEAD',\n signal\n })\n\n await checkError(response)\n\n const lengthHeader = response.headers.get('x-ipfs-datasize') || response.headers.get('Content-Length')\n\n return parseInt(lengthHeader, 10)\n}\n\nasync function * getFromURL ({\n url,\n start,\n end,\n format,\n signal,\n fetch = globalThis.fetch\n}) {\n const headers = new Headers()\n if (Number.isInteger(start)) {\n if (Number.isInteger(end)) {\n headers.set('Range', `bytes=${start}-${end}`)\n } else {\n headers.set('Range', `bytes=${start}-`)\n }\n }\n\n const toFetch = new URL(url)\n\n if (format) {\n headers.set('Accept', `application/vnd.ipld.${format}`)\n headers.set('cache-control', 'no-cache')\n }\n\n const response = await fetch(toFetch.href, {\n headers,\n signal\n })\n\n await checkError(response)\n\n yield * streamToIterator(response.body)\n}\n\nfunction toGatewayURL (url, gatewayBaseURL = detectDefaultGateway()) {\n const { cid, path, type } = parseIPFSURL(url)\n\n const relative = `/${type}/${cid}${path}`\n const toFetch = new URL(relative, gatewayBaseURL)\n\n return toFetch\n}\n\nasync function * getFromGateway ({\n url,\n start,\n end,\n format,\n signal,\n gatewayURL = detectDefaultGateway()\n}) {\n const toFetch = toGatewayURL(url, gatewayURL, format)\n\n yield * getFromURL({\n url: toFetch,\n start,\n end,\n format,\n signal\n })\n}\n\nfunction detectDefaultGateway () {\n if (!globalThis.location) return DEFAULT_GATEWAY\n const { pathname, hostname, protocol } = globalThis.location\n const isOnGatewayPath = pathname.startsWith('/ipfs/') || pathname.startsWith('/ipns/')\n\n if (isOnGatewayPath) {\n return `${protocol}//${hostname}/`\n }\n\n const [subdomain, ...segments] = hostname.split('.')\n\n // If the first subdomain is about the length of a CID it's probably a gateway?\n const isGatewaySubdomain = subdomain.length === 59 && segments.length >= 2\n\n if (isGatewaySubdomain) {\n return `${protocol}//${segments.join('.')}/`\n }\n\n return DEFAULT_GATEWAY\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/auto-js-ipfs/util.js?")},"../wabac.js/node_modules/base32-encode/index.js":
/*!*******************************************************!*\
!*** ../wabac.js/node_modules/base32-encode/index.js ***!
\*******************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ base32Encode)\n/* harmony export */ });\n/* harmony import */ var to_data_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! to-data-view */ \"../wabac.js/node_modules/to-data-view/index.js\");\n\n\nconst RFC4648 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'\nconst RFC4648_HEX = '0123456789ABCDEFGHIJKLMNOPQRSTUV'\nconst CROCKFORD = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'\n\nfunction base32Encode (data, variant, options) {\n options = options || {}\n let alphabet, defaultPadding\n\n switch (variant) {\n case 'RFC3548':\n case 'RFC4648':\n alphabet = RFC4648\n defaultPadding = true\n break\n case 'RFC4648-HEX':\n alphabet = RFC4648_HEX\n defaultPadding = true\n break\n case 'Crockford':\n alphabet = CROCKFORD\n defaultPadding = false\n break\n default:\n throw new Error('Unknown base32 variant: ' + variant)\n }\n\n const padding = (options.padding !== undefined ? options.padding : defaultPadding)\n const view = (0,to_data_view__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data)\n\n let bits = 0\n let value = 0\n let output = ''\n\n for (let i = 0; i < view.byteLength; i++) {\n value = (value << 8) | view.getUint8(i)\n bits += 8\n\n while (bits >= 5) {\n output += alphabet[(value >>> (bits - 5)) & 31]\n bits -= 5\n }\n }\n\n if (bits > 0) {\n output += alphabet[(value << (5 - bits)) & 31]\n }\n\n if (padding) {\n while ((output.length % 8) !== 0) {\n output += '='\n }\n }\n\n return output\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/base32-encode/index.js?")},"../wabac.js/node_modules/entities/lib/esm/decode.js":
/*!***********************************************************!*\
!*** ../wabac.js/node_modules/entities/lib/esm/decode.js ***!
\***********************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "BinTrieFlags": () => (/* binding */ BinTrieFlags),\n/* harmony export */ "decodeCodePoint": () => (/* reexport safe */ _decode_codepoint_js__WEBPACK_IMPORTED_MODULE_2__["default"]),\n/* harmony export */ "decodeHTML": () => (/* binding */ decodeHTML),\n/* harmony export */ "decodeHTMLStrict": () => (/* binding */ decodeHTMLStrict),\n/* harmony export */ "decodeXML": () => (/* binding */ decodeXML),\n/* harmony export */ "determineBranch": () => (/* binding */ determineBranch),\n/* harmony export */ "fromCodePoint": () => (/* reexport safe */ _decode_codepoint_js__WEBPACK_IMPORTED_MODULE_2__.fromCodePoint),\n/* harmony export */ "htmlDecodeTree": () => (/* reexport safe */ _generated_decode_data_html_js__WEBPACK_IMPORTED_MODULE_0__["default"]),\n/* harmony export */ "replaceCodePoint": () => (/* reexport safe */ _decode_codepoint_js__WEBPACK_IMPORTED_MODULE_2__.replaceCodePoint),\n/* harmony export */ "xmlDecodeTree": () => (/* reexport safe */ _generated_decode_data_xml_js__WEBPACK_IMPORTED_MODULE_1__["default"])\n/* harmony export */ });\n/* harmony import */ var _generated_decode_data_html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./generated/decode-data-html.js */ "../wabac.js/node_modules/entities/lib/esm/generated/decode-data-html.js");\n/* harmony import */ var _generated_decode_data_xml_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./generated/decode-data-xml.js */ "../wabac.js/node_modules/entities/lib/esm/generated/decode-data-xml.js");\n/* harmony import */ var _decode_codepoint_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decode_codepoint.js */ "../wabac.js/node_modules/entities/lib/esm/decode_codepoint.js");\n\n\n\n// Re-export for use by eg. htmlparser2\n\n\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes["NUM"] = 35] = "NUM";\n CharCodes[CharCodes["SEMI"] = 59] = "SEMI";\n CharCodes[CharCodes["ZERO"] = 48] = "ZERO";\n CharCodes[CharCodes["NINE"] = 57] = "NINE";\n CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";\n CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";\n CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";\n /** Bit that needs to be set to convert an upper case ASCII character to lower case */\n CharCodes[CharCodes["To_LOWER_BIT"] = 32] = "To_LOWER_BIT";\n})(CharCodes || (CharCodes = {}));\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";\n BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH";\n BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";\n})(BinTrieFlags || (BinTrieFlags = {}));\nfunction getDecoder(decodeTree) {\n return function decodeHTMLBinary(str, strict) {\n let ret = "";\n let lastIdx = 0;\n let strIdx = 0;\n while ((strIdx = str.indexOf("&", strIdx)) >= 0) {\n ret += str.slice(lastIdx, strIdx);\n lastIdx = strIdx;\n // Skip the "&"\n strIdx += 1;\n // If we have a numeric entity, handle this separately.\n if (str.charCodeAt(strIdx) === CharCodes.NUM) {\n // Skip the leading "&#". For hex entities, also skip the leading "x".\n let start = strIdx + 1;\n let base = 10;\n let cp = str.charCodeAt(start);\n if ((cp | CharCodes.To_LOWER_BIT) === CharCodes.LOWER_X) {\n base = 16;\n strIdx += 1;\n start += 1;\n }\n do\n cp = str.charCodeAt(++strIdx);\n while ((cp >= CharCodes.ZERO && cp <= CharCodes.NINE) ||\n (base === 16 &&\n (cp | CharCodes.To_LOWER_BIT) >= CharCodes.LOWER_A &&\n (cp | CharCodes.To_LOWER_BIT) <= CharCodes.LOWER_F));\n if (start !== strIdx) {\n const entity = str.substring(start, strIdx);\n const parsed = parseInt(entity, base);\n if (str.charCodeAt(strIdx) === CharCodes.SEMI) {\n strIdx += 1;\n }\n else if (strict) {\n continue;\n }\n ret += (0,_decode_codepoint_js__WEBPACK_IMPORTED_MODULE_2__["default"])(parsed);\n lastIdx = strIdx;\n }\n continue;\n }\n let resultIdx = 0;\n let excess = 1;\n let treeIdx = 0;\n let current = decodeTree[treeIdx];\n for (; strIdx < str.length; strIdx++, excess++) {\n treeIdx = determineBranch(decodeTree, current, treeIdx + 1, str.charCodeAt(strIdx));\n if (treeIdx < 0)\n break;\n current = decodeTree[treeIdx];\n const masked = current & BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!strict || str.charCodeAt(strIdx) === CharCodes.SEMI) {\n resultIdx = treeIdx;\n excess = 0;\n }\n // The mask is the number of bytes of the value, including the current byte.\n const valueLength = (masked >> 14) - 1;\n if (valueLength === 0)\n break;\n treeIdx += valueLength;\n }\n }\n if (resultIdx !== 0) {\n const valueLength = (decodeTree[resultIdx] & BinTrieFlags.VALUE_LENGTH) >> 14;\n ret +=\n valueLength === 1\n ? String.fromCharCode(decodeTree[resultIdx] & ~BinTrieFlags.VALUE_LENGTH)\n : valueLength === 2\n ? String.fromCharCode(decodeTree[resultIdx + 1])\n : String.fromCharCode(decodeTree[resultIdx + 1], decodeTree[resultIdx + 2]);\n lastIdx = strIdx - excess + 1;\n }\n }\n return ret + str.slice(lastIdx);\n };\n}\nfunction determineBranch(decodeTree, current, nodeIdx, char) {\n const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n const jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n const value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n let lo = nodeIdx;\n let hi = lo + branchCount - 1;\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nconst htmlDecoder = getDecoder(_generated_decode_data_html_js__WEBPACK_IMPORTED_MODULE_0__["default"]);\nconst xmlDecoder = getDecoder(_generated_decode_data_xml_js__WEBPACK_IMPORTED_MODULE_1__["default"]);\n/**\n * Decodes an HTML string, allowing for entities not terminated by a semi-colon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTML(str) {\n return htmlDecoder(str, false);\n}\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semi-colon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(str) {\n return htmlDecoder(str, true);\n}\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semi-colon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(str) {\n return xmlDecoder(str, true);\n}\n//# sourceMappingURL=decode.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/entities/lib/esm/decode.js?')},"../wabac.js/node_modules/entities/lib/esm/decode_codepoint.js":
/*!*********************************************************************!*\
!*** ../wabac.js/node_modules/entities/lib/esm/decode_codepoint.js ***!
\*********************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ decodeCodePoint),\n/* harmony export */ "fromCodePoint": () => (/* binding */ fromCodePoint),\n/* harmony export */ "replaceCodePoint": () => (/* binding */ replaceCodePoint)\n/* harmony export */ });\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nconst decodeMap = new Map([\n [0, 65533],\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\nconst fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n let output = "";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nfunction decodeCodePoint(codePoint) {\n return fromCodePoint(replaceCodePoint(codePoint));\n}\n//# sourceMappingURL=decode_codepoint.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/entities/lib/esm/decode_codepoint.js?')},"../wabac.js/node_modules/entities/lib/esm/escape.js":
/*!***********************************************************!*\
!*** ../wabac.js/node_modules/entities/lib/esm/escape.js ***!
\***********************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "encodeXML": () => (/* binding */ encodeXML),\n/* harmony export */ "escape": () => (/* binding */ escape),\n/* harmony export */ "escapeAttribute": () => (/* binding */ escapeAttribute),\n/* harmony export */ "escapeText": () => (/* binding */ escapeText),\n/* harmony export */ "escapeUTF8": () => (/* binding */ escapeUTF8),\n/* harmony export */ "getCodePoint": () => (/* binding */ getCodePoint),\n/* harmony export */ "xmlReplacer": () => (/* binding */ xmlReplacer)\n/* harmony export */ });\nconst xmlReplacer = /["&\'<>$\\x80-\\uFFFF]/g;\nconst xmlCodeMap = new Map([\n [34, "&quot;"],\n [38, "&amp;"],\n [39, "&apos;"],\n [60, "&lt;"],\n [62, "&gt;"],\n]);\n// For compatibility with node < 4, we wrap `codePointAt`\nconst getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? (str, index) => str.codePointAt(index)\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n (c, index) => (c.charCodeAt(index) & 0xfc00) === 0xd800\n ? (c.charCodeAt(index) - 0xd800) * 0x400 +\n c.charCodeAt(index + 1) -\n 0xdc00 +\n 0x10000\n : c.charCodeAt(index);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `&#xfc;`) will be used.\n */\nfunction encodeXML(str) {\n let ret = "";\n let lastIdx = 0;\n let match;\n while ((match = xmlReplacer.exec(str)) !== null) {\n const i = match.index;\n const char = str.charCodeAt(i);\n const next = xmlCodeMap.get(char);\n if (next !== undefined) {\n ret += str.substring(lastIdx, i) + next;\n lastIdx = i + 1;\n }\n else {\n ret += `${str.substring(lastIdx, i)}&#x${getCodePoint(str, i).toString(16)};`;\n // Increase by 1 if we have a surrogate pair\n lastIdx = xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n }\n }\n return ret + str.substr(lastIdx);\n}\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `&#xfc;`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nconst escape = encodeXML;\nfunction getEscaper(regex, map) {\n return function escape(data) {\n let match;\n let lastIdx = 0;\n let result = "";\n while ((match = regex.exec(data))) {\n if (lastIdx !== match.index) {\n result += data.substring(lastIdx, match.index);\n }\n // We know that this chararcter will be in the map.\n result += map.get(match[0].charCodeAt(0));\n // Every match will be of length 1\n lastIdx = match.index + 1;\n }\n return result + data.substring(lastIdx);\n };\n}\n/**\n * Encodes all characters not valid in XML documents using XML entities.\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nconst escapeUTF8 = getEscaper(/[&<>\'"]/g, xmlCodeMap);\n/**\n * Encodes all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nconst escapeAttribute = getEscaper(/["&\\u00A0]/g, new Map([\n [34, "&quot;"],\n [38, "&amp;"],\n [160, "&nbsp;"],\n]));\n/**\n * Encodes all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nconst escapeText = getEscaper(/[&<>\\u00A0]/g, new Map([\n [38, "&amp;"],\n [60, "&lt;"],\n [62, "&gt;"],\n [160, "&nbsp;"],\n]));\n//# sourceMappingURL=escape.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/entities/lib/esm/escape.js?')},"../wabac.js/node_modules/entities/lib/esm/generated/decode-data-html.js":
/*!*******************************************************************************!*\
!*** ../wabac.js/node_modules/entities/lib/esm/generated/decode-data-html.js ***!
\*******************************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n// Generated using scripts/write-decode-map.ts\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new Uint16Array(\n// prettier-ignore\n"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c"\n .split("")\n .map((c) => c.charCodeAt(0))));\n//# sourceMappingURL=decode-data-html.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/entities/lib/esm/generated/decode-data-html.js?')},"../wabac.js/node_modules/entities/lib/esm/generated/decode-data-xml.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/entities/lib/esm/generated/decode-data-xml.js ***!
\******************************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n// Generated using scripts/write-decode-map.ts\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new Uint16Array(\n// prettier-ignore\n"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022"\n .split("")\n .map((c) => c.charCodeAt(0))));\n//# sourceMappingURL=decode-data-xml.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/entities/lib/esm/generated/decode-data-xml.js?')},"../wabac.js/node_modules/idb/build/async-iterators.js":
/*!*************************************************************!*\
!*** ../wabac.js/node_modules/idb/build/async-iterators.js ***!
\*************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrap-idb-value.js */ \"../wabac.js/node_modules/idb/build/wrap-idb-value.js\");\n\n\nconst advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];\nconst methodMap = {};\nconst advanceResults = new WeakMap();\nconst ittrProxiedCursorToOriginalProxy = new WeakMap();\nconst cursorIteratorTraps = {\n get(target, prop) {\n if (!advanceMethodProps.includes(prop))\n return target[prop];\n let cachedFunc = methodMap[prop];\n if (!cachedFunc) {\n cachedFunc = methodMap[prop] = function (...args) {\n advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));\n };\n }\n return cachedFunc;\n },\n};\nasync function* iterate(...args) {\n // tslint:disable-next-line:no-this-assignment\n let cursor = this;\n if (!(cursor instanceof IDBCursor)) {\n cursor = await cursor.openCursor(...args);\n }\n if (!cursor)\n return;\n cursor = cursor;\n const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);\n ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);\n // Map this double-proxy back to the original, so other cursor methods work.\n _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.a.set(proxiedCursor, (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.u)(cursor));\n while (cursor) {\n yield proxiedCursor;\n // If one of the advancing methods was not called, call continue().\n cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());\n advanceResults.delete(proxiedCursor);\n }\n}\nfunction isIteratorProp(target, prop) {\n return ((prop === Symbol.asyncIterator &&\n (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.i)(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||\n (prop === 'iterate' && (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.i)(target, [IDBIndex, IDBObjectStore])));\n}\n(0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.r)((oldTraps) => ({\n ...oldTraps,\n get(target, prop, receiver) {\n if (isIteratorProp(target, prop))\n return iterate;\n return oldTraps.get(target, prop, receiver);\n },\n has(target, prop) {\n return isIteratorProp(target, prop) || oldTraps.has(target, prop);\n },\n}));\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/idb/build/async-iterators.js?")},"../wabac.js/node_modules/idb/build/index.js":
/*!***************************************************!*\
!*** ../wabac.js/node_modules/idb/build/index.js ***!
\***************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"deleteDB\": () => (/* binding */ deleteDB),\n/* harmony export */ \"openDB\": () => (/* binding */ openDB),\n/* harmony export */ \"unwrap\": () => (/* reexport safe */ _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.u),\n/* harmony export */ \"wrap\": () => (/* reexport safe */ _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)\n/* harmony export */ });\n/* harmony import */ var _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrap-idb-value.js */ \"../wabac.js/node_modules/idb/build/wrap-idb-value.js\");\n\n\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade((0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request.result), event.oldVersion, event.newVersion, (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\n(0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.r)((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/idb/build/index.js?")},"../wabac.js/node_modules/idb/build/wrap-idb-value.js":
/*!************************************************************!*\
!*** ../wabac.js/node_modules/idb/build/wrap-idb-value.js ***!
\************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"a\": () => (/* binding */ reverseTransformCache),\n/* harmony export */ \"i\": () => (/* binding */ instanceOfAny),\n/* harmony export */ \"r\": () => (/* binding */ replaceTraps),\n/* harmony export */ \"u\": () => (/* binding */ unwrap),\n/* harmony export */ \"w\": () => (/* binding */ wrap)\n/* harmony export */ });\nconst instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/idb/build/wrap-idb-value.js?")},"../wabac.js/node_modules/idb/with-async-ittr.js":
/*!*******************************************************!*\
!*** ../wabac.js/node_modules/idb/with-async-ittr.js ***!
\*******************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "deleteDB": () => (/* reexport safe */ _build_index_js__WEBPACK_IMPORTED_MODULE_0__.deleteDB),\n/* harmony export */ "openDB": () => (/* reexport safe */ _build_index_js__WEBPACK_IMPORTED_MODULE_0__.openDB),\n/* harmony export */ "unwrap": () => (/* reexport safe */ _build_index_js__WEBPACK_IMPORTED_MODULE_0__.unwrap),\n/* harmony export */ "wrap": () => (/* reexport safe */ _build_index_js__WEBPACK_IMPORTED_MODULE_0__.wrap)\n/* harmony export */ });\n/* harmony import */ var _build_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./build/index.js */ "../wabac.js/node_modules/idb/build/index.js");\n/* harmony import */ var _build_async_iterators_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./build/async-iterators.js */ "../wabac.js/node_modules/idb/build/async-iterators.js");\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/idb/with-async-ittr.js?')},"../wabac.js/node_modules/js-yaml/dist/js-yaml.mjs":
/*!*********************************************************!*\
!*** ../wabac.js/node_modules/js-yaml/dist/js-yaml.mjs ***!
\*********************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CORE_SCHEMA\": () => (/* binding */ CORE_SCHEMA),\n/* harmony export */ \"DEFAULT_SCHEMA\": () => (/* binding */ DEFAULT_SCHEMA),\n/* harmony export */ \"FAILSAFE_SCHEMA\": () => (/* binding */ FAILSAFE_SCHEMA),\n/* harmony export */ \"JSON_SCHEMA\": () => (/* binding */ JSON_SCHEMA),\n/* harmony export */ \"Schema\": () => (/* binding */ Schema),\n/* harmony export */ \"Type\": () => (/* binding */ Type),\n/* harmony export */ \"YAMLException\": () => (/* binding */ YAMLException),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"dump\": () => (/* binding */ dump),\n/* harmony export */ \"load\": () => (/* binding */ load),\n/* harmony export */ \"loadAll\": () => (/* binding */ loadAll),\n/* harmony export */ \"safeDump\": () => (/* binding */ safeDump),\n/* harmony export */ \"safeLoad\": () => (/* binding */ safeLoad),\n/* harmony export */ \"safeLoadAll\": () => (/* binding */ safeLoadAll),\n/* harmony export */ \"types\": () => (/* binding */ types)\n/* harmony export */ });\n\n/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nvar isNothing_1 = isNothing;\nvar isObject_1 = isObject;\nvar toArray_1 = toArray;\nvar repeat_1 = repeat;\nvar isNegativeZero_1 = isNegativeZero;\nvar extend_1 = extend;\n\nvar common = {\n\tisNothing: isNothing_1,\n\tisObject: isObject_1,\n\ttoArray: toArray_1,\n\trepeat: repeat_1,\n\tisNegativeZero: isNegativeZero_1,\n\textend: extend_1\n};\n\n// YAML error class. http://stackoverflow.com/questions/8458984\n\n\nfunction formatError(exception, compact) {\n var where = '', message = exception.reason || '(unknown reason)';\n\n if (!exception.mark) return message;\n\n if (exception.mark.name) {\n where += 'in \"' + exception.mark.name + '\" ';\n }\n\n where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')';\n\n if (!compact && exception.mark.snippet) {\n where += '\\n\\n' + exception.mark.snippet;\n }\n\n return message + ' ' + where;\n}\n\n\nfunction YAMLException$1(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = formatError(this, false);\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException$1.prototype = Object.create(Error.prototype);\nYAMLException$1.prototype.constructor = YAMLException$1;\n\n\nYAMLException$1.prototype.toString = function toString(compact) {\n return this.name + ': ' + formatError(this, compact);\n};\n\n\nvar exception = YAMLException$1;\n\n// get snippet for a single line, respecting maxLength\nfunction getLine(buffer, lineStart, lineEnd, position, maxLineLength) {\n var head = '';\n var tail = '';\n var maxHalfLength = Math.floor(maxLineLength / 2) - 1;\n\n if (position - lineStart > maxHalfLength) {\n head = ' ... ';\n lineStart = position - maxHalfLength + head.length;\n }\n\n if (lineEnd - position > maxHalfLength) {\n tail = ' ...';\n lineEnd = position + maxHalfLength - tail.length;\n }\n\n return {\n str: head + buffer.slice(lineStart, lineEnd).replace(/\\t/g, '→') + tail,\n pos: position - lineStart + head.length // relative position\n };\n}\n\n\nfunction padStart(string, max) {\n return common.repeat(' ', max - string.length) + string;\n}\n\n\nfunction makeSnippet(mark, options) {\n options = Object.create(options || null);\n\n if (!mark.buffer) return null;\n\n if (!options.maxLength) options.maxLength = 79;\n if (typeof options.indent !== 'number') options.indent = 1;\n if (typeof options.linesBefore !== 'number') options.linesBefore = 3;\n if (typeof options.linesAfter !== 'number') options.linesAfter = 2;\n\n var re = /\\r?\\n|\\r|\\0/g;\n var lineStarts = [ 0 ];\n var lineEnds = [];\n var match;\n var foundLineNo = -1;\n\n while ((match = re.exec(mark.buffer))) {\n lineEnds.push(match.index);\n lineStarts.push(match.index + match[0].length);\n\n if (mark.position <= match.index && foundLineNo < 0) {\n foundLineNo = lineStarts.length - 2;\n }\n }\n\n if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;\n\n var result = '', i, line;\n var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;\n var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);\n\n for (i = 1; i <= options.linesBefore; i++) {\n if (foundLineNo - i < 0) break;\n line = getLine(\n mark.buffer,\n lineStarts[foundLineNo - i],\n lineEnds[foundLineNo - i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]),\n maxLineLength\n );\n result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) +\n ' | ' + line.str + '\\n' + result;\n }\n\n line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);\n result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) +\n ' | ' + line.str + '\\n';\n result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\\n';\n\n for (i = 1; i <= options.linesAfter; i++) {\n if (foundLineNo + i >= lineEnds.length) break;\n line = getLine(\n mark.buffer,\n lineStarts[foundLineNo + i],\n lineEnds[foundLineNo + i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]),\n maxLineLength\n );\n result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) +\n ' | ' + line.str + '\\n';\n }\n\n return result.replace(/\\n$/, '');\n}\n\n\nvar snippet = makeSnippet;\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'multi',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'representName',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type$1(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new exception('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.options = options; // keep original options in case user wants to extend this type later\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.representName = options['representName'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.multi = options['multi'] || false;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new exception('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nvar type = Type$1;\n\n/*eslint-disable max-len*/\n\n\n\n\n\nfunction compileList(schema, name) {\n var result = [];\n\n schema[name].forEach(function (currentType) {\n var newIndex = result.length;\n\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag &&\n previousType.kind === currentType.kind &&\n previousType.multi === currentType.multi) {\n\n newIndex = previousIndex;\n }\n });\n\n result[newIndex] = currentType;\n });\n\n return result;\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {},\n multi: {\n scalar: [],\n sequence: [],\n mapping: [],\n fallback: []\n }\n }, index, length;\n\n function collectType(type) {\n if (type.multi) {\n result.multi[type.kind].push(type);\n result.multi['fallback'].push(type);\n } else {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema$1(definition) {\n return this.extend(definition);\n}\n\n\nSchema$1.prototype.extend = function extend(definition) {\n var implicit = [];\n var explicit = [];\n\n if (definition instanceof type) {\n // Schema.extend(type)\n explicit.push(definition);\n\n } else if (Array.isArray(definition)) {\n // Schema.extend([ type1, type2, ... ])\n explicit = explicit.concat(definition);\n\n } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {\n // Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] })\n if (definition.implicit) implicit = implicit.concat(definition.implicit);\n if (definition.explicit) explicit = explicit.concat(definition.explicit);\n\n } else {\n throw new exception('Schema.extend argument should be a Type, [ Type ], ' +\n 'or a schema definition ({ implicit: [...], explicit: [...] })');\n }\n\n implicit.forEach(function (type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n if (type$1.loadKind && type$1.loadKind !== 'scalar') {\n throw new exception('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n\n if (type$1.multi) {\n throw new exception('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.');\n }\n });\n\n explicit.forEach(function (type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n });\n\n var result = Object.create(Schema$1.prototype);\n\n result.implicit = (this.implicit || []).concat(implicit);\n result.explicit = (this.explicit || []).concat(explicit);\n\n result.compiledImplicit = compileList(result, 'implicit');\n result.compiledExplicit = compileList(result, 'explicit');\n result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit);\n\n return result;\n};\n\n\nvar schema = Schema$1;\n\nvar str = new type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n\nvar seq = new type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n\nvar map = new type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n\nvar failsafe = new schema({\n explicit: [\n str,\n seq,\n map\n ]\n});\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nvar _null = new type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; },\n empty: function () { return ''; }\n },\n defaultStyle: 'lowercase'\n});\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nvar bool = new type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'o') {\n // base 8\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n }\n\n // base 10 (except 0)\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n return true;\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch;\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value.slice(2), 16);\n if (value[1] === 'o') return sign * parseInt(value.slice(2), 8);\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nvar int = new type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nvar float = new type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n\nvar json = failsafe.extend({\n implicit: [\n _null,\n bool,\n int,\n float\n ]\n});\n\nvar core = json;\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nvar timestamp = new type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nvar merge = new type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n\n/*eslint-disable no-bitwise*/\n\n\n\n\n\n// [ 64, 65, 66 ] -> [ padding, CR, LF ]\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\n\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n\n var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\n // Convert one by one.\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n\n // Skip CR/LF\n if (code > 64) continue;\n\n // Fail on illegal characters\n if (code < 0) return false;\n\n bitlen += 6;\n }\n\n // If there are any bits left, source was corrupted\n return (bitlen % 8) === 0;\n}\n\nfunction constructYamlBinary(data) {\n var idx, tailbits,\n input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n\n // Collect by 6*4 bits (3 bytes)\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n }\n\n bits = (bits << 6) | map.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push((bits >> 10) & 0xFF);\n result.push((bits >> 2) & 0xFF);\n } else if (tailbits === 12) {\n result.push((bits >> 4) & 0xFF);\n }\n\n return new Uint8Array(result);\n}\n\nfunction representYamlBinary(object /*, style*/) {\n var result = '', bits = 0, idx, tail,\n max = object.length,\n map = BASE64_MAP;\n\n // Convert every three bytes to 4 ASCII characters.\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 3 === 0) && idx) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n }\n\n bits = (bits << 8) + object[idx];\n }\n\n // Dump tail\n\n tail = max % 3;\n\n if (tail === 0) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[(bits >> 10) & 0x3F];\n result += map[(bits >> 4) & 0x3F];\n result += map[(bits << 2) & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[(bits >> 2) & 0x3F];\n result += map[(bits << 4) & 0x3F];\n result += map[64];\n result += map[64];\n }\n\n return result;\n}\n\nfunction isBinary(obj) {\n return Object.prototype.toString.call(obj) === '[object Uint8Array]';\n}\n\nvar binary = new type('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\n\nvar _hasOwnProperty$3 = Object.prototype.hasOwnProperty;\nvar _toString$2 = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString$2.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty$3.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nvar omap = new type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n\nvar _toString$1 = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString$1.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nvar pairs = new type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n\nvar _hasOwnProperty$2 = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty$2.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nvar set = new type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n\nvar _default = core.extend({\n implicit: [\n timestamp,\n merge\n ],\n explicit: [\n binary,\n omap,\n pairs,\n set\n ]\n});\n\n/*eslint-disable max-len,no-use-before-define*/\n\n\n\n\n\n\n\nvar _hasOwnProperty$1 = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State$1(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || _default;\n this.onWarning = options['onWarning'] || null;\n // (Hidden) Remove? makes the loader to expect YAML 1.1 documents\n // if such documents have no explicit %YAML directive\n this.legacy = options['legacy'] || false;\n\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n // position of first leading tab in the current line,\n // used to make sure there are no tabs in the indentation\n this.firstTabInLine = -1;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n var mark = {\n name: state.filename,\n buffer: state.input.slice(0, -1), // omit trailing \\0\n position: state.position,\n line: state.line,\n column: state.position - state.lineStart\n };\n\n mark.snippet = snippet(mark);\n\n return new exception(message, mark);\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty$1.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n try {\n prefix = decodeURIComponent(prefix);\n } catch (err) {\n throwError(state, 'tag prefix is malformed: ' + prefix);\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty$1.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode,\n startLine, startLineStart, startPos) {\n\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty$1.call(overridableKeys, keyNode) &&\n _hasOwnProperty$1.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.lineStart = startLineStart || state.lineStart;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n\n // used for this specific key only because Object.defineProperty is slow\n if (keyNode === '__proto__') {\n Object.defineProperty(_result, keyNode, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: valueNode\n });\n } else {\n _result[keyNode] = valueNode;\n }\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n state.firstTabInLine = -1;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n if (ch === 0x09/* Tab */ && state.firstTabInLine === -1) {\n state.firstTabInLine = state.position;\n }\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _lineStart,\n _pos,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = Object.create(null),\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n } else if (ch === 0x2C/* , */) {\n // \"flow collection entries can never be completely empty\", as per YAML 1.2, section 7.4\n throwError(state, \"expected the node content, but found ','\");\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line; // Save the current line.\n _lineStart = state.lineStart;\n _pos = state.position;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n // there is a leading tab before this token, so it can't be a block sequence/mapping;\n // it can still be flow sequence/mapping or a scalar\n if (state.firstTabInLine !== -1) return false;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n if (state.firstTabInLine !== -1) {\n state.position = state.firstTabInLine;\n throwError(state, 'tab characters must not be used in indentation');\n }\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _keyLine,\n _keyLineStart,\n _keyPos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = Object.create(null),\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n // there is a leading tab before this token, so it can't be a block sequence/mapping;\n // it can still be flow sequence/mapping or a scalar\n if (state.firstTabInLine !== -1) return false;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n if (!atExplicitKey && state.firstTabInLine !== -1) {\n state.position = state.firstTabInLine;\n throwError(state, 'tab characters must not be used in indentation');\n }\n\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else {\n _keyLine = state.line;\n _keyLineStart = state.lineStart;\n _keyPos = state.position;\n\n if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n // Neither implicit nor explicit notation.\n // Reading is done. Go to the epilogue.\n break;\n }\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (atExplicitKey) {\n _keyLine = state.line;\n _keyLineStart = state.lineStart;\n _keyPos = state.position;\n }\n\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n try {\n tagName = decodeURIComponent(tagName);\n } catch (err) {\n throwError(state, 'tag name is malformed: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!_hasOwnProperty$1.call(state.anchorMap, alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this<parent\n atNewLine = false,\n hasContent = false,\n typeIndex,\n typeQuantity,\n typeList,\n type,\n flowIndent,\n blockIndent;\n\n if (state.listener !== null) {\n state.listener('open', state);\n }\n\n state.tag = null;\n state.anchor = null;\n state.kind = null;\n state.result = null;\n\n allowBlockStyles = allowBlockScalars = allowBlockCollections =\n CONTEXT_BLOCK_OUT === nodeContext ||\n CONTEXT_BLOCK_IN === nodeContext;\n\n if (allowToSeek) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag === null) {\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n\n } else if (state.tag === '?') {\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only automatically assigned to plain scalars.\n //\n // We only need to check kind conformity in case user explicitly assigns '?'\n // tag, for example like this: \"!<?> [0]\"\n //\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (state.tag !== '!') {\n if (_hasOwnProperty$1.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n } else {\n // looking for multi type\n type = null;\n typeList = state.typeMap.multi[state.kind || 'fallback'];\n\n for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) {\n if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {\n type = typeList[typeIndex];\n break;\n }\n }\n }\n\n if (!type) {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result, state.tag)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result, state.tag);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = Object.create(null);\n state.anchorMap = Object.create(null);\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State$1(input, options);\n\n var nullpos = input.indexOf('\\0');\n\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll$1(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n var documents = loadDocuments(input, options);\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load$1(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new exception('expected a single document in the stream, but found more');\n}\n\n\nvar loadAll_1 = loadAll$1;\nvar load_1 = load$1;\n\nvar loader = {\n\tloadAll: loadAll_1,\n\tload: load_1\n};\n\n/*eslint-disable no-use-before-define*/\n\n\n\n\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_BOM = 0xFEFF;\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_CARRIAGE_RETURN = 0x0D; /* CR */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_EQUALS = 0x3D; /* = */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nvar DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\\.[0-9_]*)?$/;\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new exception('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\n\nvar QUOTING_TYPE_SINGLE = 1,\n QUOTING_TYPE_DOUBLE = 2;\n\nfunction State(options) {\n this.schema = options['schema'] || _default;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n this.quotingType = options['quotingType'] === '\"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE;\n this.forceQuotes = options['forceQuotes'] || false;\n this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== CHAR_BOM)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// [34] ns-char ::= nb-char - s-white\n// [27] nb-char ::= c-printable - b-char - c-byte-order-mark\n// [26] b-char ::= b-line-feed | b-carriage-return\n// Including s-white (for some reason, examples doesn't match specs in this aspect)\n// ns-char ::= c-printable - b-line-feed - b-carriage-return - c-byte-order-mark\nfunction isNsCharOrWhitespace(c) {\n return isPrintable(c)\n && c !== CHAR_BOM\n // - b-char\n && c !== CHAR_CARRIAGE_RETURN\n && c !== CHAR_LINE_FEED;\n}\n\n// [127] ns-plain-safe(c) ::= c = flow-out ⇒ ns-plain-safe-out\n// c = flow-in ⇒ ns-plain-safe-in\n// c = block-key ⇒ ns-plain-safe-out\n// c = flow-key ⇒ ns-plain-safe-in\n// [128] ns-plain-safe-out ::= ns-char\n// [129] ns-plain-safe-in ::= ns-char - c-flow-indicator\n// [130] ns-plain-char(c) ::= ( ns-plain-safe(c) - “:” - “#” )\n// | ( /* An ns-char preceding */ “#” )\n// | ( “:” /* Followed by an ns-plain-safe(c) */ )\nfunction isPlainSafe(c, prev, inblock) {\n var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c);\n var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c);\n return (\n // ns-plain-safe\n inblock ? // c = flow-in\n cIsNsCharOrWhitespace\n : cIsNsCharOrWhitespace\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n )\n // ns-plain-char\n && c !== CHAR_SHARP // false on '#'\n && !(prev === CHAR_COLON && !cIsNsChar) // false on ': '\n || (isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP) // change to true on '[^ ]#'\n || (prev === CHAR_COLON && cIsNsChar); // change to true on ':[^ ]'\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n // No support of ( ( “?” | “:” | “-” ) /* Followed by an ns-plain-safe(c)) */ ) part\n return isPrintable(c) && c !== CHAR_BOM\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_EQUALS\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Simplified test for values allowed as the last character in plain style.\nfunction isPlainSafeLast(c) {\n // just not whitespace or colon, it will be checked to be plain character later\n return !isWhitespace(c) && c !== CHAR_COLON;\n}\n\n// Same as 'string'.codePointAt(pos), but works in older browsers.\nfunction codePointAt(string, pos) {\n var first = string.charCodeAt(pos), second;\n if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) {\n second = string.charCodeAt(pos + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth,\n testAmbiguousType, quotingType, forceQuotes, inblock) {\n\n var i;\n var char = 0;\n var prevChar = null;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(codePointAt(string, 0))\n && isPlainSafeLast(codePointAt(string, string.length - 1));\n\n if (singleLineOnly || forceQuotes) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) {\n char = codePointAt(string, i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char, prevChar, inblock);\n prevChar = char;\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) {\n char = codePointAt(string, i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char, prevChar, inblock);\n prevChar = char;\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n if (plain && !forceQuotes && !testAmbiguousType(string)) {\n return STYLE_PLAIN;\n }\n return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n if (!forceQuotes) {\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n }\n return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey, inblock) {\n state.dump = (function () {\n if (string.length === 0) {\n return state.quotingType === QUOTING_TYPE_DOUBLE ? '\"\"' : \"''\";\n }\n if (!state.noCompatMode) {\n if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) {\n return state.quotingType === QUOTING_TYPE_DOUBLE ? ('\"' + string + '\"') : (\"'\" + string + \"'\");\n }\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth,\n testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) {\n\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string) + '\"';\n default:\n throw new exception('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char = 0;\n var escapeSeq;\n\n for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) {\n char = codePointAt(string, i);\n escapeSeq = ESCAPE_SEQUENCES[char];\n\n if (!escapeSeq && isPrintable(char)) {\n result += string[i];\n if (char >= 0x10000) result += string[i + 1];\n } else {\n result += escapeSeq || encodeHex(char);\n }\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length,\n value;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n value = object[index];\n\n if (state.replacer) {\n value = state.replacer.call(object, String(index), value);\n }\n\n // Write only valid elements, put null instead of invalid elements.\n if (writeNode(state, level, value, false, false) ||\n (typeof value === 'undefined' &&\n writeNode(state, level, null, false, false))) {\n\n if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length,\n value;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n value = object[index];\n\n if (state.replacer) {\n value = state.replacer.call(object, String(index), value);\n }\n\n // Write only valid elements, put null instead of invalid elements.\n if (writeNode(state, level + 1, value, true, true, false, true) ||\n (typeof value === 'undefined' &&\n writeNode(state, level + 1, null, true, true, false, true))) {\n\n if (!compact || _result !== '') {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\n pairBuffer = '';\n if (_result !== '') pairBuffer += ', ';\n\n if (state.condenseFlow) pairBuffer += '\"';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (state.replacer) {\n objectValue = state.replacer.call(object, objectKey, objectValue);\n }\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new exception('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || _result !== '') {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (state.replacer) {\n objectValue = state.replacer.call(object, objectKey, objectValue);\n }\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n if (explicit) {\n if (type.multi && type.representName) {\n state.tag = type.representName(object);\n } else {\n state.tag = type.tag;\n }\n } else {\n state.tag = '?';\n }\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new exception('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey, isblockseq) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n var inblock = block;\n var tagStr;\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n if (block && (state.dump.length !== 0)) {\n if (state.noArrayIndent && !isblockseq && level > 0) {\n writeBlockSequence(state, level - 1, state.dump, compact);\n } else {\n writeBlockSequence(state, level, state.dump, compact);\n }\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey, inblock);\n }\n } else if (type === '[object Undefined]') {\n return false;\n } else {\n if (state.skipInvalid) return false;\n throw new exception('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n // Need to encode all characters except those allowed by the spec:\n //\n // [35] ns-dec-digit ::= [#x30-#x39] /* 0-9 */\n // [36] ns-hex-digit ::= ns-dec-digit\n // | [#x41-#x46] /* A-F */ | [#x61-#x66] /* a-f */\n // [37] ns-ascii-letter ::= [#x41-#x5A] /* A-Z */ | [#x61-#x7A] /* a-z */\n // [38] ns-word-char ::= ns-dec-digit | ns-ascii-letter | “-”\n // [39] ns-uri-char ::= “%” ns-hex-digit ns-hex-digit | ns-word-char | “#”\n // | “;” | “/” | “?” | “:” | “@” | “&” | “=” | “+” | “$” | “,”\n // | “_” | “.” | “!” | “~” | “*” | “'” | “(” | “)” | “[” | “]”\n //\n // Also need to encode '!' because it has special meaning (end of tag prefix).\n //\n tagStr = encodeURI(\n state.tag[0] === '!' ? state.tag.slice(1) : state.tag\n ).replace(/!/g, '%21');\n\n if (state.tag[0] === '!') {\n tagStr = '!' + tagStr;\n } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') {\n tagStr = '!!' + tagStr.slice(18);\n } else {\n tagStr = '!<' + tagStr + '>';\n }\n\n state.dump = tagStr + ' ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump$1(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n var value = input;\n\n if (state.replacer) {\n value = state.replacer.call({ '': value }, '', value);\n }\n\n if (writeNode(state, 0, value, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nvar dump_1 = dump$1;\n\nvar dumper = {\n\tdump: dump_1\n};\n\nfunction renamed(from, to) {\n return function () {\n throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' +\n 'Use yaml.' + to + ' instead, which is now safe by default.');\n };\n}\n\n\nvar Type = type;\nvar Schema = schema;\nvar FAILSAFE_SCHEMA = failsafe;\nvar JSON_SCHEMA = json;\nvar CORE_SCHEMA = core;\nvar DEFAULT_SCHEMA = _default;\nvar load = loader.load;\nvar loadAll = loader.loadAll;\nvar dump = dumper.dump;\nvar YAMLException = exception;\n\n// Re-export all types in case user wants to create custom schema\nvar types = {\n binary: binary,\n float: float,\n map: map,\n null: _null,\n pairs: pairs,\n set: set,\n timestamp: timestamp,\n bool: bool,\n int: int,\n merge: merge,\n omap: omap,\n seq: seq,\n str: str\n};\n\n// Removed functions from JS-YAML 3.0.x\nvar safeLoad = renamed('safeLoad', 'load');\nvar safeLoadAll = renamed('safeLoadAll', 'loadAll');\nvar safeDump = renamed('safeDump', 'dump');\n\nvar jsYaml = {\n\tType: Type,\n\tSchema: Schema,\n\tFAILSAFE_SCHEMA: FAILSAFE_SCHEMA,\n\tJSON_SCHEMA: JSON_SCHEMA,\n\tCORE_SCHEMA: CORE_SCHEMA,\n\tDEFAULT_SCHEMA: DEFAULT_SCHEMA,\n\tload: load,\n\tloadAll: loadAll,\n\tdump: dump,\n\tYAMLException: YAMLException,\n\ttypes: types,\n\tsafeLoad: safeLoad,\n\tsafeLoadAll: safeLoadAll,\n\tsafeDump: safeDump\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (jsYaml);\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/js-yaml/dist/js-yaml.mjs?")},"../wabac.js/node_modules/parse5-html-rewriting-stream/dist/index.js":
/*!***************************************************************************!*\
!*** ../wabac.js/node_modules/parse5-html-rewriting-stream/dist/index.js ***!
\***************************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RewritingStream\": () => (/* binding */ RewritingStream)\n/* harmony export */ });\n/* harmony import */ var parse5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parse5 */ \"../wabac.js/node_modules/parse5/dist/index.js\");\n/* harmony import */ var parse5_sax_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parse5-sax-parser */ \"../wabac.js/node_modules/parse5-sax-parser/dist/index.js\");\n/* harmony import */ var entities_lib_escape_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! entities/lib/escape.js */ \"../wabac.js/node_modules/entities/lib/esm/escape.js\");\n\n\n\n/**\n * Streaming [SAX](https://en.wikipedia.org/wiki/Simple_API_for_XML)-style HTML rewriter.\n * A [transform stream](https://nodejs.org/api/stream.html#stream_class_stream_transform) (which means you can pipe _through_ it, see example).\n *\n * The rewriter uses the raw source representation of tokens if they are not modified by the user. Therefore, the resulting\n * HTML is not affected by parser error-recovery mechanisms as in a classical parsing-serialization roundtrip.\n *\n * @example\n *\n * ```js\n * const RewritingStream = require('parse5-html-rewriting-stream');\n * const http = require('http');\n * const fs = require('fs');\n *\n * const file = fs.createWriteStream('/home/google.com.html');\n * const rewriter = new RewritingStream();\n *\n * // Replace divs with spans\n * rewriter.on('startTag', startTag => {\n * if (startTag.tagName === 'span') {\n * startTag.tagName = 'div';\n * }\n *\n * rewriter.emitStartTag(startTag);\n * });\n *\n * rewriter.on('endTag', endTag => {\n * if (endTag.tagName === 'span') {\n * endTag.tagName = 'div';\n * }\n *\n * rewriter.emitEndTag(endTag);\n * });\n *\n * // Wrap all text nodes with an <i> tag\n * rewriter.on('text', (_, raw) => {\n * // Use the raw representation of text without HTML entities decoding\n * rewriter.emitRaw(`<i>${raw}</i>`);\n * });\n *\n * http.get('http://google.com', res => {\n * // Assumes response is UTF-8.\n * res.setEncoding('utf8');\n * // `RewritingStream` is a `Transform` stream, which means you can pipe\n * // through it.\n * res.pipe(rewriter).pipe(file);\n * });\n * ```\n */\nclass RewritingStream extends parse5_sax_parser__WEBPACK_IMPORTED_MODULE_1__.SAXParser {\n /** Note: `sourceCodeLocationInfo` is always enabled. */\n constructor() {\n super({ sourceCodeLocationInfo: true });\n }\n _transformChunk(chunk) {\n // NOTE: ignore upstream return values as we want to push to\n // the `Writable` part of the `Transform` stream ourselves.\n super._transformChunk(chunk);\n return '';\n }\n _getRawHtml(location) {\n const { droppedBufferSize, html } = this.tokenizer.preprocessor;\n const start = location.startOffset - droppedBufferSize;\n const end = location.endOffset - droppedBufferSize;\n return html.slice(start, end);\n }\n // Events\n emitIfListenerExists(eventName, token) {\n if (!super.emitIfListenerExists(eventName, token)) {\n this.emitRaw(this._getRawHtml(token.sourceCodeLocation));\n }\n // NOTE: don't skip new lines after `<pre>` and other tags,\n // otherwise we'll have incorrect raw data.\n this.parserFeedbackSimulator.skipNextNewLine = false;\n return true;\n }\n // Emitter API\n _emitToken(eventName, token) {\n this.emit(eventName, token, this._getRawHtml(token.sourceCodeLocation));\n }\n /** Emits a serialized document type token into the output stream. */\n emitDoctype(token) {\n let res = `<!DOCTYPE ${token.name}`;\n if (token.publicId !== null) {\n res += ` PUBLIC \"${token.publicId}\"`;\n }\n else if (token.systemId !== null) {\n res += ' SYSTEM';\n }\n if (token.systemId !== null) {\n res += ` \"${token.systemId}\"`;\n }\n res += '>';\n this.push(res);\n }\n /** Emits a serialized start tag token into the output stream. */\n emitStartTag(token) {\n let res = `<${token.tagName}`;\n for (const attr of token.attrs) {\n res += ` ${attr.name}=\"${(0,entities_lib_escape_js__WEBPACK_IMPORTED_MODULE_2__.escapeAttribute)(attr.value)}\"`;\n }\n res += token.selfClosing ? '/>' : '>';\n this.push(res);\n }\n /** Emits a serialized end tag token into the output stream. */\n emitEndTag(token) {\n this.push(`</${token.tagName}>`);\n }\n /** Emits a serialized text token into the output stream. */\n emitText({ text }) {\n this.push(!this.parserFeedbackSimulator.inForeignContent &&\n parse5__WEBPACK_IMPORTED_MODULE_0__.html.hasUnescapedText(this.tokenizer.lastStartTagName, true)\n ? text\n : (0,entities_lib_escape_js__WEBPACK_IMPORTED_MODULE_2__.escapeText)(text));\n }\n /** Emits a serialized comment token into the output stream. */\n emitComment(token) {\n this.push(`\x3c!--${token.text}--\x3e`);\n }\n /** Emits a raw HTML string into the output stream. */\n emitRaw(html) {\n this.push(html);\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5-html-rewriting-stream/dist/index.js?")},"../wabac.js/node_modules/parse5-sax-parser/dist/dev-null-stream.js":
/*!**************************************************************************!*\
!*** ../wabac.js/node_modules/parse5-sax-parser/dist/dev-null-stream.js ***!
\**************************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DevNullStream": () => (/* binding */ DevNullStream)\n/* harmony export */ });\n/* harmony import */ var node_stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:stream */ "../wabac.js/node_modules/stream-browserify/index.js");\n\nclass DevNullStream extends node_stream__WEBPACK_IMPORTED_MODULE_0__.Writable {\n _write(_chunk, _encoding, cb) {\n cb();\n }\n}\n//# sourceMappingURL=dev-null-stream.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5-sax-parser/dist/dev-null-stream.js?')},"../wabac.js/node_modules/parse5-sax-parser/dist/index.js":
/*!****************************************************************!*\
!*** ../wabac.js/node_modules/parse5-sax-parser/dist/index.js ***!
\****************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SAXParser\": () => (/* binding */ SAXParser)\n/* harmony export */ });\n/* harmony import */ var node_stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:stream */ \"../wabac.js/node_modules/stream-browserify/index.js\");\n/* harmony import */ var _dev_null_stream_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dev-null-stream.js */ \"../wabac.js/node_modules/parse5-sax-parser/dist/dev-null-stream.js\");\n/* harmony import */ var _parser_feedback_simulator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parser-feedback-simulator.js */ \"../wabac.js/node_modules/parse5-sax-parser/dist/parser-feedback-simulator.js\");\n\n\n\n/**\n * Streaming [SAX](https://en.wikipedia.org/wiki/Simple_API_for_XML)-style HTML parser.\n * A [transform stream](https://nodejs.org/api/stream.html#stream_class_stream_transform) (which means you can pipe _through_ it, see example).\n *\n * @example\n *\n * ```js\n * const SAXParser = require('parse5-sax-parser');\n * const http = require('http');\n * const fs = require('fs');\n *\n * const file = fs.createWriteStream('/home/google.com.html');\n * const parser = new SAXParser();\n *\n * parser.on('text', text => {\n * // Handle page text content\n * ...\n * });\n *\n * http.get('http://google.com', res => {\n * // `SAXParser` is the `Transform` stream, which means you can pipe\n * // through it. So, you can analyze the page content and, e.g., save it\n * // to the file at the same time:\n * res.pipe(parser).pipe(file);\n * });\n * ```\n */\nclass SAXParser extends node_stream__WEBPACK_IMPORTED_MODULE_0__.Transform {\n /**\n * @param options Parsing options.\n */\n constructor(options = {}) {\n super({ encoding: 'utf8', decodeStrings: false });\n this.pendingText = null;\n this.lastChunkWritten = false;\n this.stopped = false;\n this.options = {\n sourceCodeLocationInfo: false,\n ...options,\n };\n this.parserFeedbackSimulator = new _parser_feedback_simulator_js__WEBPACK_IMPORTED_MODULE_2__.ParserFeedbackSimulator(this.options, this);\n this.tokenizer = this.parserFeedbackSimulator.tokenizer;\n // NOTE: always pipe the stream to the /dev/null stream to avoid\n // the `highWaterMark` to be hit even if we don't have consumers.\n // (see: https://github.com/inikulin/parse5/issues/97#issuecomment-171940774)\n this.pipe(new _dev_null_stream_js__WEBPACK_IMPORTED_MODULE_1__.DevNullStream());\n }\n //`Transform` implementation\n _transform(chunk, _encoding, callback) {\n if (typeof chunk !== 'string') {\n throw new TypeError('Parser can work only with string streams.');\n }\n callback(null, this._transformChunk(chunk));\n }\n _final(callback) {\n this.lastChunkWritten = true;\n callback(null, this._transformChunk(''));\n }\n /**\n * Stops parsing. Useful if you want the parser to stop consuming CPU time\n * once you've obtained the desired info from the input stream. Doesn't\n * prevent piping, so that data will flow through the parser as usual.\n *\n * @example\n *\n * ```js\n * const SAXParser = require('parse5-sax-parser');\n * const http = require('http');\n * const fs = require('fs');\n *\n * const file = fs.createWriteStream('google.com.html');\n * const parser = new SAXParser();\n *\n * parser.on('doctype', ({ name, publicId, systemId }) => {\n * // Process doctype info and stop parsing\n * ...\n * parser.stop();\n * });\n *\n * http.get('http://google.com', res => {\n * // Despite the fact that parser.stop() was called whole\n * // content of the page will be written to the file\n * res.pipe(parser).pipe(file);\n * });\n * ```\n */\n stop() {\n this.stopped = true;\n this.tokenizer.pause();\n }\n //Internals\n _transformChunk(chunk) {\n if (!this.stopped) {\n this.tokenizer.write(chunk, this.lastChunkWritten);\n }\n return chunk;\n }\n /** @internal */\n onCharacter({ chars, location }) {\n if (this.pendingText === null) {\n this.pendingText = { text: chars, sourceCodeLocation: location };\n }\n else {\n this.pendingText.text += chars;\n if (location && this.pendingText.sourceCodeLocation) {\n const { endLine, endCol, endOffset } = location;\n this.pendingText.sourceCodeLocation = {\n ...this.pendingText.sourceCodeLocation,\n endLine,\n endCol,\n endOffset,\n };\n }\n }\n if (this.tokenizer.preprocessor.willDropParsedChunk()) {\n this._emitPendingText();\n }\n }\n /** @internal */\n onWhitespaceCharacter(token) {\n this.onCharacter(token);\n }\n /** @internal */\n onNullCharacter(token) {\n this.onCharacter(token);\n }\n /** @internal */\n onEof() {\n this._emitPendingText();\n this.stopped = true;\n }\n /** @internal */\n onStartTag(token) {\n this._emitPendingText();\n const startTag = {\n tagName: token.tagName,\n attrs: token.attrs,\n selfClosing: token.selfClosing,\n sourceCodeLocation: token.location,\n };\n this.emitIfListenerExists('startTag', startTag);\n }\n /** @internal */\n onEndTag(token) {\n this._emitPendingText();\n const endTag = {\n tagName: token.tagName,\n sourceCodeLocation: token.location,\n };\n this.emitIfListenerExists('endTag', endTag);\n }\n /** @internal */\n onDoctype(token) {\n this._emitPendingText();\n const doctype = {\n name: token.name,\n publicId: token.publicId,\n systemId: token.systemId,\n sourceCodeLocation: token.location,\n };\n this.emitIfListenerExists('doctype', doctype);\n }\n /** @internal */\n onComment(token) {\n this._emitPendingText();\n const comment = {\n text: token.data,\n sourceCodeLocation: token.location,\n };\n this.emitIfListenerExists('comment', comment);\n }\n emitIfListenerExists(eventName, token) {\n if (this.listenerCount(eventName) === 0) {\n return false;\n }\n this._emitToken(eventName, token);\n return true;\n }\n _emitToken(eventName, token) {\n this.emit(eventName, token);\n }\n _emitPendingText() {\n if (this.pendingText !== null) {\n this.emitIfListenerExists('text', this.pendingText);\n this.pendingText = null;\n }\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5-sax-parser/dist/index.js?")},"../wabac.js/node_modules/parse5-sax-parser/dist/parser-feedback-simulator.js":
/*!************************************************************************************!*\
!*** ../wabac.js/node_modules/parse5-sax-parser/dist/parser-feedback-simulator.js ***!
\************************************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ParserFeedbackSimulator": () => (/* binding */ ParserFeedbackSimulator)\n/* harmony export */ });\n/* harmony import */ var parse5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parse5 */ "../wabac.js/node_modules/parse5/dist/index.js");\n\nconst $ = parse5__WEBPACK_IMPORTED_MODULE_0__.html.TAG_ID;\nconst REPLACEMENT_CHARACTER = \'\\uFFFD\';\nconst LINE_FEED_CODE_POINT = 0x0a;\n/**\n * Simulates adjustments of the Tokenizer which are performed by the standard parser during tree construction.\n */\nclass ParserFeedbackSimulator {\n constructor(options, handler) {\n this.handler = handler;\n this.namespaceStack = [];\n this.inForeignContent = false;\n this.skipNextNewLine = false;\n this.tokenizer = new parse5__WEBPACK_IMPORTED_MODULE_0__.Tokenizer(options, this);\n this._enterNamespace(parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.HTML);\n }\n /** @internal */\n onNullCharacter(token) {\n this.skipNextNewLine = false;\n if (this.inForeignContent) {\n this.handler.onCharacter({\n type: parse5__WEBPACK_IMPORTED_MODULE_0__.Token.TokenType.CHARACTER,\n chars: REPLACEMENT_CHARACTER,\n location: token.location,\n });\n }\n else {\n this.handler.onNullCharacter(token);\n }\n }\n /** @internal */\n onWhitespaceCharacter(token) {\n if (this.skipNextNewLine && token.chars.charCodeAt(0) === LINE_FEED_CODE_POINT) {\n this.skipNextNewLine = false;\n if (token.chars.length === 1) {\n return;\n }\n token.chars = token.chars.substr(1);\n }\n this.handler.onWhitespaceCharacter(token);\n }\n /** @internal */\n onCharacter(token) {\n this.skipNextNewLine = false;\n this.handler.onCharacter(token);\n }\n /** @internal */\n onComment(token) {\n this.skipNextNewLine = false;\n this.handler.onComment(token);\n }\n /** @internal */\n onDoctype(token) {\n this.skipNextNewLine = false;\n this.handler.onDoctype(token);\n }\n /** @internal */\n onEof(token) {\n this.skipNextNewLine = false;\n this.handler.onEof(token);\n }\n //Namespace stack mutations\n _enterNamespace(namespace) {\n this.namespaceStack.unshift(namespace);\n this.inForeignContent = namespace !== parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.HTML;\n this.tokenizer.inForeignNode = this.inForeignContent;\n }\n _leaveCurrentNamespace() {\n this.namespaceStack.shift();\n this.inForeignContent = this.namespaceStack[0] !== parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.HTML;\n this.tokenizer.inForeignNode = this.inForeignContent;\n }\n //Token handlers\n _ensureTokenizerMode(tn) {\n switch (tn) {\n case $.TEXTAREA:\n case $.TITLE: {\n this.tokenizer.state = parse5__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RCDATA;\n break;\n }\n case $.PLAINTEXT: {\n this.tokenizer.state = parse5__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.PLAINTEXT;\n break;\n }\n case $.SCRIPT: {\n this.tokenizer.state = parse5__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.SCRIPT_DATA;\n break;\n }\n case $.STYLE:\n case $.IFRAME:\n case $.XMP:\n case $.NOEMBED:\n case $.NOFRAMES:\n case $.NOSCRIPT: {\n this.tokenizer.state = parse5__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RAWTEXT;\n break;\n }\n default:\n // Do nothing\n }\n }\n /** @internal */\n onStartTag(token) {\n let tn = token.tagID;\n switch (tn) {\n case $.SVG: {\n this._enterNamespace(parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.SVG);\n break;\n }\n case $.MATH: {\n this._enterNamespace(parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.MATHML);\n break;\n }\n default:\n // Do nothing\n }\n if (this.inForeignContent) {\n if (parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.causesExit(token)) {\n this._leaveCurrentNamespace();\n }\n else {\n const currentNs = this.namespaceStack[0];\n if (currentNs === parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.MATHML) {\n parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.adjustTokenMathMLAttrs(token);\n }\n else if (currentNs === parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.SVG) {\n parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.adjustTokenSVGTagName(token);\n parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.adjustTokenSVGAttrs(token);\n }\n parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.adjustTokenXMLAttrs(token);\n tn = token.tagID;\n if (!token.selfClosing && parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.isIntegrationPoint(tn, currentNs, token.attrs)) {\n this._enterNamespace(parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.HTML);\n }\n }\n }\n else {\n switch (tn) {\n case $.PRE:\n case $.TEXTAREA:\n case $.LISTING: {\n this.skipNextNewLine = true;\n break;\n }\n case $.IMAGE: {\n token.tagName = parse5__WEBPACK_IMPORTED_MODULE_0__.html.TAG_NAMES.IMG;\n token.tagID = $.IMG;\n break;\n }\n default:\n // Do nothing\n }\n this._ensureTokenizerMode(tn);\n }\n this.handler.onStartTag(token);\n }\n /** @internal */\n onEndTag(token) {\n let tn = token.tagID;\n if (!this.inForeignContent) {\n const previousNs = this.namespaceStack[1];\n if (previousNs === parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.SVG) {\n const adjustedTagName = parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.SVG_TAG_NAMES_ADJUSTMENT_MAP.get(token.tagName);\n if (adjustedTagName) {\n tn = parse5__WEBPACK_IMPORTED_MODULE_0__.html.getTagID(adjustedTagName);\n }\n }\n //NOTE: check for exit from integration point\n if (parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.isIntegrationPoint(tn, previousNs, token.attrs)) {\n this._leaveCurrentNamespace();\n }\n }\n else if ((tn === $.SVG && this.namespaceStack[0] === parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.SVG) ||\n (tn === $.MATH && this.namespaceStack[0] === parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.MATHML)) {\n this._leaveCurrentNamespace();\n }\n // NOTE: adjust end tag name as well for consistency\n if (this.namespaceStack[0] === parse5__WEBPACK_IMPORTED_MODULE_0__.html.NS.SVG) {\n parse5__WEBPACK_IMPORTED_MODULE_0__.foreignContent.adjustTokenSVGTagName(token);\n }\n this.handler.onEndTag(token);\n }\n}\n//# sourceMappingURL=parser-feedback-simulator.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5-sax-parser/dist/parser-feedback-simulator.js?')},"../wabac.js/node_modules/parse5/dist/common/doctype.js":
/*!**************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/common/doctype.js ***!
\**************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getDocumentMode\": () => (/* binding */ getDocumentMode),\n/* harmony export */ \"isConforming\": () => (/* binding */ isConforming)\n/* harmony export */ });\n/* harmony import */ var _html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./html.js */ \"../wabac.js/node_modules/parse5/dist/common/html.js\");\n\n//Const\nconst VALID_DOCTYPE_NAME = 'html';\nconst VALID_SYSTEM_ID = 'about:legacy-compat';\nconst QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\nconst QUIRKS_MODE_PUBLIC_ID_PREFIXES = [\n '+//silmaril//dtd html pro v0r11 19970101//',\n '-//as//dtd html 3.0 aswedit + extensions//',\n '-//advasoft ltd//dtd html 3.0 aswedit + extensions//',\n '-//ietf//dtd html 2.0 level 1//',\n '-//ietf//dtd html 2.0 level 2//',\n '-//ietf//dtd html 2.0 strict level 1//',\n '-//ietf//dtd html 2.0 strict level 2//',\n '-//ietf//dtd html 2.0 strict//',\n '-//ietf//dtd html 2.0//',\n '-//ietf//dtd html 2.1e//',\n '-//ietf//dtd html 3.0//',\n '-//ietf//dtd html 3.2 final//',\n '-//ietf//dtd html 3.2//',\n '-//ietf//dtd html 3//',\n '-//ietf//dtd html level 0//',\n '-//ietf//dtd html level 1//',\n '-//ietf//dtd html level 2//',\n '-//ietf//dtd html level 3//',\n '-//ietf//dtd html strict level 0//',\n '-//ietf//dtd html strict level 1//',\n '-//ietf//dtd html strict level 2//',\n '-//ietf//dtd html strict level 3//',\n '-//ietf//dtd html strict//',\n '-//ietf//dtd html//',\n '-//metrius//dtd metrius presentational//',\n '-//microsoft//dtd internet explorer 2.0 html strict//',\n '-//microsoft//dtd internet explorer 2.0 html//',\n '-//microsoft//dtd internet explorer 2.0 tables//',\n '-//microsoft//dtd internet explorer 3.0 html strict//',\n '-//microsoft//dtd internet explorer 3.0 html//',\n '-//microsoft//dtd internet explorer 3.0 tables//',\n '-//netscape comm. corp.//dtd html//',\n '-//netscape comm. corp.//dtd strict html//',\n \"-//o'reilly and associates//dtd html 2.0//\",\n \"-//o'reilly and associates//dtd html extended 1.0//\",\n \"-//o'reilly and associates//dtd html extended relaxed 1.0//\",\n '-//sq//dtd html 2.0 hotmetal + extensions//',\n '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',\n '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',\n '-//spyglass//dtd html 2.0 extended//',\n '-//sun microsystems corp.//dtd hotjava html//',\n '-//sun microsystems corp.//dtd hotjava strict html//',\n '-//w3c//dtd html 3 1995-03-24//',\n '-//w3c//dtd html 3.2 draft//',\n '-//w3c//dtd html 3.2 final//',\n '-//w3c//dtd html 3.2//',\n '-//w3c//dtd html 3.2s draft//',\n '-//w3c//dtd html 4.0 frameset//',\n '-//w3c//dtd html 4.0 transitional//',\n '-//w3c//dtd html experimental 19960712//',\n '-//w3c//dtd html experimental 970421//',\n '-//w3c//dtd w3 html//',\n '-//w3o//dtd w3 html 3.0//',\n '-//webtechs//dtd mozilla html 2.0//',\n '-//webtechs//dtd mozilla html//',\n];\nconst QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...QUIRKS_MODE_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\nconst QUIRKS_MODE_PUBLIC_IDS = new Set([\n '-//w3o//dtd w3 html strict 3.0//en//',\n '-/w3c/dtd html 4.0 transitional/en',\n 'html',\n]);\nconst LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\nconst LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...LIMITED_QUIRKS_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\n//Utils\nfunction hasPrefix(publicId, prefixes) {\n return prefixes.some((prefix) => publicId.startsWith(prefix));\n}\n//API\nfunction isConforming(token) {\n return (token.name === VALID_DOCTYPE_NAME &&\n token.publicId === null &&\n (token.systemId === null || token.systemId === VALID_SYSTEM_ID));\n}\nfunction getDocumentMode(token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return _html_js__WEBPACK_IMPORTED_MODULE_0__.DOCUMENT_MODE.QUIRKS;\n }\n const { systemId } = token;\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return _html_js__WEBPACK_IMPORTED_MODULE_0__.DOCUMENT_MODE.QUIRKS;\n }\n let { publicId } = token;\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n if (QUIRKS_MODE_PUBLIC_IDS.has(publicId)) {\n return _html_js__WEBPACK_IMPORTED_MODULE_0__.DOCUMENT_MODE.QUIRKS;\n }\n let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return _html_js__WEBPACK_IMPORTED_MODULE_0__.DOCUMENT_MODE.QUIRKS;\n }\n prefixes =\n systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return _html_js__WEBPACK_IMPORTED_MODULE_0__.DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n return _html_js__WEBPACK_IMPORTED_MODULE_0__.DOCUMENT_MODE.NO_QUIRKS;\n}\n//# sourceMappingURL=doctype.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/common/doctype.js?")},"../wabac.js/node_modules/parse5/dist/common/error-codes.js":
/*!******************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/common/error-codes.js ***!
\******************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ERR": () => (/* binding */ ERR)\n/* harmony export */ });\nvar ERR;\n(function (ERR) {\n ERR["controlCharacterInInputStream"] = "control-character-in-input-stream";\n ERR["noncharacterInInputStream"] = "noncharacter-in-input-stream";\n ERR["surrogateInInputStream"] = "surrogate-in-input-stream";\n ERR["nonVoidHtmlElementStartTagWithTrailingSolidus"] = "non-void-html-element-start-tag-with-trailing-solidus";\n ERR["endTagWithAttributes"] = "end-tag-with-attributes";\n ERR["endTagWithTrailingSolidus"] = "end-tag-with-trailing-solidus";\n ERR["unexpectedSolidusInTag"] = "unexpected-solidus-in-tag";\n ERR["unexpectedNullCharacter"] = "unexpected-null-character";\n ERR["unexpectedQuestionMarkInsteadOfTagName"] = "unexpected-question-mark-instead-of-tag-name";\n ERR["invalidFirstCharacterOfTagName"] = "invalid-first-character-of-tag-name";\n ERR["unexpectedEqualsSignBeforeAttributeName"] = "unexpected-equals-sign-before-attribute-name";\n ERR["missingEndTagName"] = "missing-end-tag-name";\n ERR["unexpectedCharacterInAttributeName"] = "unexpected-character-in-attribute-name";\n ERR["unknownNamedCharacterReference"] = "unknown-named-character-reference";\n ERR["missingSemicolonAfterCharacterReference"] = "missing-semicolon-after-character-reference";\n ERR["unexpectedCharacterAfterDoctypeSystemIdentifier"] = "unexpected-character-after-doctype-system-identifier";\n ERR["unexpectedCharacterInUnquotedAttributeValue"] = "unexpected-character-in-unquoted-attribute-value";\n ERR["eofBeforeTagName"] = "eof-before-tag-name";\n ERR["eofInTag"] = "eof-in-tag";\n ERR["missingAttributeValue"] = "missing-attribute-value";\n ERR["missingWhitespaceBetweenAttributes"] = "missing-whitespace-between-attributes";\n ERR["missingWhitespaceAfterDoctypePublicKeyword"] = "missing-whitespace-after-doctype-public-keyword";\n ERR["missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers"] = "missing-whitespace-between-doctype-public-and-system-identifiers";\n ERR["missingWhitespaceAfterDoctypeSystemKeyword"] = "missing-whitespace-after-doctype-system-keyword";\n ERR["missingQuoteBeforeDoctypePublicIdentifier"] = "missing-quote-before-doctype-public-identifier";\n ERR["missingQuoteBeforeDoctypeSystemIdentifier"] = "missing-quote-before-doctype-system-identifier";\n ERR["missingDoctypePublicIdentifier"] = "missing-doctype-public-identifier";\n ERR["missingDoctypeSystemIdentifier"] = "missing-doctype-system-identifier";\n ERR["abruptDoctypePublicIdentifier"] = "abrupt-doctype-public-identifier";\n ERR["abruptDoctypeSystemIdentifier"] = "abrupt-doctype-system-identifier";\n ERR["cdataInHtmlContent"] = "cdata-in-html-content";\n ERR["incorrectlyOpenedComment"] = "incorrectly-opened-comment";\n ERR["eofInScriptHtmlCommentLikeText"] = "eof-in-script-html-comment-like-text";\n ERR["eofInDoctype"] = "eof-in-doctype";\n ERR["nestedComment"] = "nested-comment";\n ERR["abruptClosingOfEmptyComment"] = "abrupt-closing-of-empty-comment";\n ERR["eofInComment"] = "eof-in-comment";\n ERR["incorrectlyClosedComment"] = "incorrectly-closed-comment";\n ERR["eofInCdata"] = "eof-in-cdata";\n ERR["absenceOfDigitsInNumericCharacterReference"] = "absence-of-digits-in-numeric-character-reference";\n ERR["nullCharacterReference"] = "null-character-reference";\n ERR["surrogateCharacterReference"] = "surrogate-character-reference";\n ERR["characterReferenceOutsideUnicodeRange"] = "character-reference-outside-unicode-range";\n ERR["controlCharacterReference"] = "control-character-reference";\n ERR["noncharacterCharacterReference"] = "noncharacter-character-reference";\n ERR["missingWhitespaceBeforeDoctypeName"] = "missing-whitespace-before-doctype-name";\n ERR["missingDoctypeName"] = "missing-doctype-name";\n ERR["invalidCharacterSequenceAfterDoctypeName"] = "invalid-character-sequence-after-doctype-name";\n ERR["duplicateAttribute"] = "duplicate-attribute";\n ERR["nonConformingDoctype"] = "non-conforming-doctype";\n ERR["missingDoctype"] = "missing-doctype";\n ERR["misplacedDoctype"] = "misplaced-doctype";\n ERR["endTagWithoutMatchingOpenElement"] = "end-tag-without-matching-open-element";\n ERR["closingOfElementWithOpenChildElements"] = "closing-of-element-with-open-child-elements";\n ERR["disallowedContentInNoscriptInHead"] = "disallowed-content-in-noscript-in-head";\n ERR["openElementsLeftAfterEof"] = "open-elements-left-after-eof";\n ERR["abandonedHeadElementChild"] = "abandoned-head-element-child";\n ERR["misplacedStartTagForHeadElement"] = "misplaced-start-tag-for-head-element";\n ERR["nestedNoscriptInHead"] = "nested-noscript-in-head";\n ERR["eofInElementThatCanContainOnlyText"] = "eof-in-element-that-can-contain-only-text";\n})(ERR = ERR || (ERR = {}));\n//# sourceMappingURL=error-codes.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/common/error-codes.js?')},"../wabac.js/node_modules/parse5/dist/common/foreign-content.js":
/*!**********************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/common/foreign-content.js ***!
\**********************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SVG_TAG_NAMES_ADJUSTMENT_MAP\": () => (/* binding */ SVG_TAG_NAMES_ADJUSTMENT_MAP),\n/* harmony export */ \"adjustTokenMathMLAttrs\": () => (/* binding */ adjustTokenMathMLAttrs),\n/* harmony export */ \"adjustTokenSVGAttrs\": () => (/* binding */ adjustTokenSVGAttrs),\n/* harmony export */ \"adjustTokenSVGTagName\": () => (/* binding */ adjustTokenSVGTagName),\n/* harmony export */ \"adjustTokenXMLAttrs\": () => (/* binding */ adjustTokenXMLAttrs),\n/* harmony export */ \"causesExit\": () => (/* binding */ causesExit),\n/* harmony export */ \"isIntegrationPoint\": () => (/* binding */ isIntegrationPoint)\n/* harmony export */ });\n/* harmony import */ var _html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./html.js */ \"../wabac.js/node_modules/parse5/dist/common/html.js\");\n\n//MIME types\nconst MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml',\n};\n//Attributes\nconst DEFINITION_URL_ATTR = 'definitionurl';\nconst ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nconst SVG_ATTRS_ADJUSTMENT_MAP = new Map([\n 'attributeName',\n 'attributeType',\n 'baseFrequency',\n 'baseProfile',\n 'calcMode',\n 'clipPathUnits',\n 'diffuseConstant',\n 'edgeMode',\n 'filterUnits',\n 'glyphRef',\n 'gradientTransform',\n 'gradientUnits',\n 'kernelMatrix',\n 'kernelUnitLength',\n 'keyPoints',\n 'keySplines',\n 'keyTimes',\n 'lengthAdjust',\n 'limitingConeAngle',\n 'markerHeight',\n 'markerUnits',\n 'markerWidth',\n 'maskContentUnits',\n 'maskUnits',\n 'numOctaves',\n 'pathLength',\n 'patternContentUnits',\n 'patternTransform',\n 'patternUnits',\n 'pointsAtX',\n 'pointsAtY',\n 'pointsAtZ',\n 'preserveAlpha',\n 'preserveAspectRatio',\n 'primitiveUnits',\n 'refX',\n 'refY',\n 'repeatCount',\n 'repeatDur',\n 'requiredExtensions',\n 'requiredFeatures',\n 'specularConstant',\n 'specularExponent',\n 'spreadMethod',\n 'startOffset',\n 'stdDeviation',\n 'stitchTiles',\n 'surfaceScale',\n 'systemLanguage',\n 'tableValues',\n 'targetX',\n 'targetY',\n 'textLength',\n 'viewBox',\n 'viewTarget',\n 'xChannelSelector',\n 'yChannelSelector',\n 'zoomAndPan',\n].map((attr) => [attr.toLowerCase(), attr]));\nconst XML_ATTRS_ADJUSTMENT_MAP = new Map([\n ['xlink:actuate', { prefix: 'xlink', name: 'actuate', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK }],\n ['xlink:arcrole', { prefix: 'xlink', name: 'arcrole', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK }],\n ['xlink:href', { prefix: 'xlink', name: 'href', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK }],\n ['xlink:role', { prefix: 'xlink', name: 'role', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK }],\n ['xlink:show', { prefix: 'xlink', name: 'show', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK }],\n ['xlink:title', { prefix: 'xlink', name: 'title', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK }],\n ['xlink:type', { prefix: 'xlink', name: 'type', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK }],\n ['xml:base', { prefix: 'xml', name: 'base', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XML }],\n ['xml:lang', { prefix: 'xml', name: 'lang', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XML }],\n ['xml:space', { prefix: 'xml', name: 'space', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XML }],\n ['xmlns', { prefix: '', name: 'xmlns', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XMLNS }],\n ['xmlns:xlink', { prefix: 'xmlns', name: 'xlink', namespace: _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XMLNS }],\n]);\n//SVG tag names adjustment map\nconst SVG_TAG_NAMES_ADJUSTMENT_MAP = new Map([\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n].map((tn) => [tn.toLowerCase(), tn]));\n//Tags that causes exit from foreign content\nconst EXITS_FOREIGN_CONTENT = new Set([\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.B,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.BIG,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.BLOCKQUOTE,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.BODY,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.BR,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.CENTER,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.CODE,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DD,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DIV,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DL,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DT,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.EM,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.EMBED,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H1,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H2,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H3,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H4,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H5,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H6,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HEAD,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HR,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.I,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.IMG,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.LI,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.LISTING,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MENU,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.META,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.NOBR,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.OL,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.P,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.PRE,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.RUBY,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.S,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.SMALL,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.SPAN,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.STRONG,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.STRIKE,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.SUB,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.SUP,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TABLE,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TT,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.U,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.UL,\n _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.VAR,\n]);\n//Check exit from foreign content\nfunction causesExit(startTagToken) {\n const tn = startTagToken.tagID;\n const isFontWithAttrs = tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.FONT &&\n startTagToken.attrs.some(({ name }) => name === _html_js__WEBPACK_IMPORTED_MODULE_0__.ATTRS.COLOR || name === _html_js__WEBPACK_IMPORTED_MODULE_0__.ATTRS.SIZE || name === _html_js__WEBPACK_IMPORTED_MODULE_0__.ATTRS.FACE);\n return isFontWithAttrs || EXITS_FOREIGN_CONTENT.has(tn);\n}\n//Token adjustments\nfunction adjustTokenMathMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n}\nfunction adjustTokenSVGAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrName != null) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n}\nfunction adjustTokenXMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n}\nfunction adjustTokenSVGTagName(token) {\n const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP.get(token.tagName);\n if (adjustedTagName != null) {\n token.tagName = adjustedTagName;\n token.tagID = (0,_html_js__WEBPACK_IMPORTED_MODULE_0__.getTagID)(token.tagName);\n }\n}\n//Integration points\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML && (tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MI || tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MO || tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MN || tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MS || tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MTEXT);\n}\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML && tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.ANNOTATION_XML) {\n for (let i = 0; i < attrs.length; i++) {\n if (attrs[i].name === _html_js__WEBPACK_IMPORTED_MODULE_0__.ATTRS.ENCODING) {\n const value = attrs[i].value.toLowerCase();\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n return ns === _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.SVG && (tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.FOREIGN_OBJECT || tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DESC || tn === _html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TITLE);\n}\nfunction isIntegrationPoint(tn, ns, attrs, foreignNS) {\n return (((!foreignNS || foreignNS === _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) ||\n ((!foreignNS || foreignNS === _html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)));\n}\n//# sourceMappingURL=foreign-content.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/common/foreign-content.js?")},"../wabac.js/node_modules/parse5/dist/common/html.js":
/*!***********************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/common/html.js ***!
\***********************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ATTRS": () => (/* binding */ ATTRS),\n/* harmony export */ "DOCUMENT_MODE": () => (/* binding */ DOCUMENT_MODE),\n/* harmony export */ "NS": () => (/* binding */ NS),\n/* harmony export */ "SPECIAL_ELEMENTS": () => (/* binding */ SPECIAL_ELEMENTS),\n/* harmony export */ "TAG_ID": () => (/* binding */ TAG_ID),\n/* harmony export */ "TAG_NAMES": () => (/* binding */ TAG_NAMES),\n/* harmony export */ "getTagID": () => (/* binding */ getTagID),\n/* harmony export */ "hasUnescapedText": () => (/* binding */ hasUnescapedText),\n/* harmony export */ "isNumberedHeader": () => (/* binding */ isNumberedHeader)\n/* harmony export */ });\n/** All valid namespaces in HTML. */\nvar NS;\n(function (NS) {\n NS["HTML"] = "http://www.w3.org/1999/xhtml";\n NS["MATHML"] = "http://www.w3.org/1998/Math/MathML";\n NS["SVG"] = "http://www.w3.org/2000/svg";\n NS["XLINK"] = "http://www.w3.org/1999/xlink";\n NS["XML"] = "http://www.w3.org/XML/1998/namespace";\n NS["XMLNS"] = "http://www.w3.org/2000/xmlns/";\n})(NS = NS || (NS = {}));\nvar ATTRS;\n(function (ATTRS) {\n ATTRS["TYPE"] = "type";\n ATTRS["ACTION"] = "action";\n ATTRS["ENCODING"] = "encoding";\n ATTRS["PROMPT"] = "prompt";\n ATTRS["NAME"] = "name";\n ATTRS["COLOR"] = "color";\n ATTRS["FACE"] = "face";\n ATTRS["SIZE"] = "size";\n})(ATTRS = ATTRS || (ATTRS = {}));\n/**\n * The mode of the document.\n *\n * @see {@link https://dom.spec.whatwg.org/#concept-document-limited-quirks}\n */\nvar DOCUMENT_MODE;\n(function (DOCUMENT_MODE) {\n DOCUMENT_MODE["NO_QUIRKS"] = "no-quirks";\n DOCUMENT_MODE["QUIRKS"] = "quirks";\n DOCUMENT_MODE["LIMITED_QUIRKS"] = "limited-quirks";\n})(DOCUMENT_MODE = DOCUMENT_MODE || (DOCUMENT_MODE = {}));\nvar TAG_NAMES;\n(function (TAG_NAMES) {\n TAG_NAMES["A"] = "a";\n TAG_NAMES["ADDRESS"] = "address";\n TAG_NAMES["ANNOTATION_XML"] = "annotation-xml";\n TAG_NAMES["APPLET"] = "applet";\n TAG_NAMES["AREA"] = "area";\n TAG_NAMES["ARTICLE"] = "article";\n TAG_NAMES["ASIDE"] = "aside";\n TAG_NAMES["B"] = "b";\n TAG_NAMES["BASE"] = "base";\n TAG_NAMES["BASEFONT"] = "basefont";\n TAG_NAMES["BGSOUND"] = "bgsound";\n TAG_NAMES["BIG"] = "big";\n TAG_NAMES["BLOCKQUOTE"] = "blockquote";\n TAG_NAMES["BODY"] = "body";\n TAG_NAMES["BR"] = "br";\n TAG_NAMES["BUTTON"] = "button";\n TAG_NAMES["CAPTION"] = "caption";\n TAG_NAMES["CENTER"] = "center";\n TAG_NAMES["CODE"] = "code";\n TAG_NAMES["COL"] = "col";\n TAG_NAMES["COLGROUP"] = "colgroup";\n TAG_NAMES["DD"] = "dd";\n TAG_NAMES["DESC"] = "desc";\n TAG_NAMES["DETAILS"] = "details";\n TAG_NAMES["DIALOG"] = "dialog";\n TAG_NAMES["DIR"] = "dir";\n TAG_NAMES["DIV"] = "div";\n TAG_NAMES["DL"] = "dl";\n TAG_NAMES["DT"] = "dt";\n TAG_NAMES["EM"] = "em";\n TAG_NAMES["EMBED"] = "embed";\n TAG_NAMES["FIELDSET"] = "fieldset";\n TAG_NAMES["FIGCAPTION"] = "figcaption";\n TAG_NAMES["FIGURE"] = "figure";\n TAG_NAMES["FONT"] = "font";\n TAG_NAMES["FOOTER"] = "footer";\n TAG_NAMES["FOREIGN_OBJECT"] = "foreignObject";\n TAG_NAMES["FORM"] = "form";\n TAG_NAMES["FRAME"] = "frame";\n TAG_NAMES["FRAMESET"] = "frameset";\n TAG_NAMES["H1"] = "h1";\n TAG_NAMES["H2"] = "h2";\n TAG_NAMES["H3"] = "h3";\n TAG_NAMES["H4"] = "h4";\n TAG_NAMES["H5"] = "h5";\n TAG_NAMES["H6"] = "h6";\n TAG_NAMES["HEAD"] = "head";\n TAG_NAMES["HEADER"] = "header";\n TAG_NAMES["HGROUP"] = "hgroup";\n TAG_NAMES["HR"] = "hr";\n TAG_NAMES["HTML"] = "html";\n TAG_NAMES["I"] = "i";\n TAG_NAMES["IMG"] = "img";\n TAG_NAMES["IMAGE"] = "image";\n TAG_NAMES["INPUT"] = "input";\n TAG_NAMES["IFRAME"] = "iframe";\n TAG_NAMES["KEYGEN"] = "keygen";\n TAG_NAMES["LABEL"] = "label";\n TAG_NAMES["LI"] = "li";\n TAG_NAMES["LINK"] = "link";\n TAG_NAMES["LISTING"] = "listing";\n TAG_NAMES["MAIN"] = "main";\n TAG_NAMES["MALIGNMARK"] = "malignmark";\n TAG_NAMES["MARQUEE"] = "marquee";\n TAG_NAMES["MATH"] = "math";\n TAG_NAMES["MENU"] = "menu";\n TAG_NAMES["META"] = "meta";\n TAG_NAMES["MGLYPH"] = "mglyph";\n TAG_NAMES["MI"] = "mi";\n TAG_NAMES["MO"] = "mo";\n TAG_NAMES["MN"] = "mn";\n TAG_NAMES["MS"] = "ms";\n TAG_NAMES["MTEXT"] = "mtext";\n TAG_NAMES["NAV"] = "nav";\n TAG_NAMES["NOBR"] = "nobr";\n TAG_NAMES["NOFRAMES"] = "noframes";\n TAG_NAMES["NOEMBED"] = "noembed";\n TAG_NAMES["NOSCRIPT"] = "noscript";\n TAG_NAMES["OBJECT"] = "object";\n TAG_NAMES["OL"] = "ol";\n TAG_NAMES["OPTGROUP"] = "optgroup";\n TAG_NAMES["OPTION"] = "option";\n TAG_NAMES["P"] = "p";\n TAG_NAMES["PARAM"] = "param";\n TAG_NAMES["PLAINTEXT"] = "plaintext";\n TAG_NAMES["PRE"] = "pre";\n TAG_NAMES["RB"] = "rb";\n TAG_NAMES["RP"] = "rp";\n TAG_NAMES["RT"] = "rt";\n TAG_NAMES["RTC"] = "rtc";\n TAG_NAMES["RUBY"] = "ruby";\n TAG_NAMES["S"] = "s";\n TAG_NAMES["SCRIPT"] = "script";\n TAG_NAMES["SECTION"] = "section";\n TAG_NAMES["SELECT"] = "select";\n TAG_NAMES["SOURCE"] = "source";\n TAG_NAMES["SMALL"] = "small";\n TAG_NAMES["SPAN"] = "span";\n TAG_NAMES["STRIKE"] = "strike";\n TAG_NAMES["STRONG"] = "strong";\n TAG_NAMES["STYLE"] = "style";\n TAG_NAMES["SUB"] = "sub";\n TAG_NAMES["SUMMARY"] = "summary";\n TAG_NAMES["SUP"] = "sup";\n TAG_NAMES["TABLE"] = "table";\n TAG_NAMES["TBODY"] = "tbody";\n TAG_NAMES["TEMPLATE"] = "template";\n TAG_NAMES["TEXTAREA"] = "textarea";\n TAG_NAMES["TFOOT"] = "tfoot";\n TAG_NAMES["TD"] = "td";\n TAG_NAMES["TH"] = "th";\n TAG_NAMES["THEAD"] = "thead";\n TAG_NAMES["TITLE"] = "title";\n TAG_NAMES["TR"] = "tr";\n TAG_NAMES["TRACK"] = "track";\n TAG_NAMES["TT"] = "tt";\n TAG_NAMES["U"] = "u";\n TAG_NAMES["UL"] = "ul";\n TAG_NAMES["SVG"] = "svg";\n TAG_NAMES["VAR"] = "var";\n TAG_NAMES["WBR"] = "wbr";\n TAG_NAMES["XMP"] = "xmp";\n})(TAG_NAMES = TAG_NAMES || (TAG_NAMES = {}));\n/**\n * Tag IDs are numeric IDs for known tag names.\n *\n * We use tag IDs to improve the performance of tag name comparisons.\n */\nvar TAG_ID;\n(function (TAG_ID) {\n TAG_ID[TAG_ID["UNKNOWN"] = 0] = "UNKNOWN";\n TAG_ID[TAG_ID["A"] = 1] = "A";\n TAG_ID[TAG_ID["ADDRESS"] = 2] = "ADDRESS";\n TAG_ID[TAG_ID["ANNOTATION_XML"] = 3] = "ANNOTATION_XML";\n TAG_ID[TAG_ID["APPLET"] = 4] = "APPLET";\n TAG_ID[TAG_ID["AREA"] = 5] = "AREA";\n TAG_ID[TAG_ID["ARTICLE"] = 6] = "ARTICLE";\n TAG_ID[TAG_ID["ASIDE"] = 7] = "ASIDE";\n TAG_ID[TAG_ID["B"] = 8] = "B";\n TAG_ID[TAG_ID["BASE"] = 9] = "BASE";\n TAG_ID[TAG_ID["BASEFONT"] = 10] = "BASEFONT";\n TAG_ID[TAG_ID["BGSOUND"] = 11] = "BGSOUND";\n TAG_ID[TAG_ID["BIG"] = 12] = "BIG";\n TAG_ID[TAG_ID["BLOCKQUOTE"] = 13] = "BLOCKQUOTE";\n TAG_ID[TAG_ID["BODY"] = 14] = "BODY";\n TAG_ID[TAG_ID["BR"] = 15] = "BR";\n TAG_ID[TAG_ID["BUTTON"] = 16] = "BUTTON";\n TAG_ID[TAG_ID["CAPTION"] = 17] = "CAPTION";\n TAG_ID[TAG_ID["CENTER"] = 18] = "CENTER";\n TAG_ID[TAG_ID["CODE"] = 19] = "CODE";\n TAG_ID[TAG_ID["COL"] = 20] = "COL";\n TAG_ID[TAG_ID["COLGROUP"] = 21] = "COLGROUP";\n TAG_ID[TAG_ID["DD"] = 22] = "DD";\n TAG_ID[TAG_ID["DESC"] = 23] = "DESC";\n TAG_ID[TAG_ID["DETAILS"] = 24] = "DETAILS";\n TAG_ID[TAG_ID["DIALOG"] = 25] = "DIALOG";\n TAG_ID[TAG_ID["DIR"] = 26] = "DIR";\n TAG_ID[TAG_ID["DIV"] = 27] = "DIV";\n TAG_ID[TAG_ID["DL"] = 28] = "DL";\n TAG_ID[TAG_ID["DT"] = 29] = "DT";\n TAG_ID[TAG_ID["EM"] = 30] = "EM";\n TAG_ID[TAG_ID["EMBED"] = 31] = "EMBED";\n TAG_ID[TAG_ID["FIELDSET"] = 32] = "FIELDSET";\n TAG_ID[TAG_ID["FIGCAPTION"] = 33] = "FIGCAPTION";\n TAG_ID[TAG_ID["FIGURE"] = 34] = "FIGURE";\n TAG_ID[TAG_ID["FONT"] = 35] = "FONT";\n TAG_ID[TAG_ID["FOOTER"] = 36] = "FOOTER";\n TAG_ID[TAG_ID["FOREIGN_OBJECT"] = 37] = "FOREIGN_OBJECT";\n TAG_ID[TAG_ID["FORM"] = 38] = "FORM";\n TAG_ID[TAG_ID["FRAME"] = 39] = "FRAME";\n TAG_ID[TAG_ID["FRAMESET"] = 40] = "FRAMESET";\n TAG_ID[TAG_ID["H1"] = 41] = "H1";\n TAG_ID[TAG_ID["H2"] = 42] = "H2";\n TAG_ID[TAG_ID["H3"] = 43] = "H3";\n TAG_ID[TAG_ID["H4"] = 44] = "H4";\n TAG_ID[TAG_ID["H5"] = 45] = "H5";\n TAG_ID[TAG_ID["H6"] = 46] = "H6";\n TAG_ID[TAG_ID["HEAD"] = 47] = "HEAD";\n TAG_ID[TAG_ID["HEADER"] = 48] = "HEADER";\n TAG_ID[TAG_ID["HGROUP"] = 49] = "HGROUP";\n TAG_ID[TAG_ID["HR"] = 50] = "HR";\n TAG_ID[TAG_ID["HTML"] = 51] = "HTML";\n TAG_ID[TAG_ID["I"] = 52] = "I";\n TAG_ID[TAG_ID["IMG"] = 53] = "IMG";\n TAG_ID[TAG_ID["IMAGE"] = 54] = "IMAGE";\n TAG_ID[TAG_ID["INPUT"] = 55] = "INPUT";\n TAG_ID[TAG_ID["IFRAME"] = 56] = "IFRAME";\n TAG_ID[TAG_ID["KEYGEN"] = 57] = "KEYGEN";\n TAG_ID[TAG_ID["LABEL"] = 58] = "LABEL";\n TAG_ID[TAG_ID["LI"] = 59] = "LI";\n TAG_ID[TAG_ID["LINK"] = 60] = "LINK";\n TAG_ID[TAG_ID["LISTING"] = 61] = "LISTING";\n TAG_ID[TAG_ID["MAIN"] = 62] = "MAIN";\n TAG_ID[TAG_ID["MALIGNMARK"] = 63] = "MALIGNMARK";\n TAG_ID[TAG_ID["MARQUEE"] = 64] = "MARQUEE";\n TAG_ID[TAG_ID["MATH"] = 65] = "MATH";\n TAG_ID[TAG_ID["MENU"] = 66] = "MENU";\n TAG_ID[TAG_ID["META"] = 67] = "META";\n TAG_ID[TAG_ID["MGLYPH"] = 68] = "MGLYPH";\n TAG_ID[TAG_ID["MI"] = 69] = "MI";\n TAG_ID[TAG_ID["MO"] = 70] = "MO";\n TAG_ID[TAG_ID["MN"] = 71] = "MN";\n TAG_ID[TAG_ID["MS"] = 72] = "MS";\n TAG_ID[TAG_ID["MTEXT"] = 73] = "MTEXT";\n TAG_ID[TAG_ID["NAV"] = 74] = "NAV";\n TAG_ID[TAG_ID["NOBR"] = 75] = "NOBR";\n TAG_ID[TAG_ID["NOFRAMES"] = 76] = "NOFRAMES";\n TAG_ID[TAG_ID["NOEMBED"] = 77] = "NOEMBED";\n TAG_ID[TAG_ID["NOSCRIPT"] = 78] = "NOSCRIPT";\n TAG_ID[TAG_ID["OBJECT"] = 79] = "OBJECT";\n TAG_ID[TAG_ID["OL"] = 80] = "OL";\n TAG_ID[TAG_ID["OPTGROUP"] = 81] = "OPTGROUP";\n TAG_ID[TAG_ID["OPTION"] = 82] = "OPTION";\n TAG_ID[TAG_ID["P"] = 83] = "P";\n TAG_ID[TAG_ID["PARAM"] = 84] = "PARAM";\n TAG_ID[TAG_ID["PLAINTEXT"] = 85] = "PLAINTEXT";\n TAG_ID[TAG_ID["PRE"] = 86] = "PRE";\n TAG_ID[TAG_ID["RB"] = 87] = "RB";\n TAG_ID[TAG_ID["RP"] = 88] = "RP";\n TAG_ID[TAG_ID["RT"] = 89] = "RT";\n TAG_ID[TAG_ID["RTC"] = 90] = "RTC";\n TAG_ID[TAG_ID["RUBY"] = 91] = "RUBY";\n TAG_ID[TAG_ID["S"] = 92] = "S";\n TAG_ID[TAG_ID["SCRIPT"] = 93] = "SCRIPT";\n TAG_ID[TAG_ID["SECTION"] = 94] = "SECTION";\n TAG_ID[TAG_ID["SELECT"] = 95] = "SELECT";\n TAG_ID[TAG_ID["SOURCE"] = 96] = "SOURCE";\n TAG_ID[TAG_ID["SMALL"] = 97] = "SMALL";\n TAG_ID[TAG_ID["SPAN"] = 98] = "SPAN";\n TAG_ID[TAG_ID["STRIKE"] = 99] = "STRIKE";\n TAG_ID[TAG_ID["STRONG"] = 100] = "STRONG";\n TAG_ID[TAG_ID["STYLE"] = 101] = "STYLE";\n TAG_ID[TAG_ID["SUB"] = 102] = "SUB";\n TAG_ID[TAG_ID["SUMMARY"] = 103] = "SUMMARY";\n TAG_ID[TAG_ID["SUP"] = 104] = "SUP";\n TAG_ID[TAG_ID["TABLE"] = 105] = "TABLE";\n TAG_ID[TAG_ID["TBODY"] = 106] = "TBODY";\n TAG_ID[TAG_ID["TEMPLATE"] = 107] = "TEMPLATE";\n TAG_ID[TAG_ID["TEXTAREA"] = 108] = "TEXTAREA";\n TAG_ID[TAG_ID["TFOOT"] = 109] = "TFOOT";\n TAG_ID[TAG_ID["TD"] = 110] = "TD";\n TAG_ID[TAG_ID["TH"] = 111] = "TH";\n TAG_ID[TAG_ID["THEAD"] = 112] = "THEAD";\n TAG_ID[TAG_ID["TITLE"] = 113] = "TITLE";\n TAG_ID[TAG_ID["TR"] = 114] = "TR";\n TAG_ID[TAG_ID["TRACK"] = 115] = "TRACK";\n TAG_ID[TAG_ID["TT"] = 116] = "TT";\n TAG_ID[TAG_ID["U"] = 117] = "U";\n TAG_ID[TAG_ID["UL"] = 118] = "UL";\n TAG_ID[TAG_ID["SVG"] = 119] = "SVG";\n TAG_ID[TAG_ID["VAR"] = 120] = "VAR";\n TAG_ID[TAG_ID["WBR"] = 121] = "WBR";\n TAG_ID[TAG_ID["XMP"] = 122] = "XMP";\n})(TAG_ID = TAG_ID || (TAG_ID = {}));\nconst TAG_NAME_TO_ID = new Map([\n [TAG_NAMES.A, TAG_ID.A],\n [TAG_NAMES.ADDRESS, TAG_ID.ADDRESS],\n [TAG_NAMES.ANNOTATION_XML, TAG_ID.ANNOTATION_XML],\n [TAG_NAMES.APPLET, TAG_ID.APPLET],\n [TAG_NAMES.AREA, TAG_ID.AREA],\n [TAG_NAMES.ARTICLE, TAG_ID.ARTICLE],\n [TAG_NAMES.ASIDE, TAG_ID.ASIDE],\n [TAG_NAMES.B, TAG_ID.B],\n [TAG_NAMES.BASE, TAG_ID.BASE],\n [TAG_NAMES.BASEFONT, TAG_ID.BASEFONT],\n [TAG_NAMES.BGSOUND, TAG_ID.BGSOUND],\n [TAG_NAMES.BIG, TAG_ID.BIG],\n [TAG_NAMES.BLOCKQUOTE, TAG_ID.BLOCKQUOTE],\n [TAG_NAMES.BODY, TAG_ID.BODY],\n [TAG_NAMES.BR, TAG_ID.BR],\n [TAG_NAMES.BUTTON, TAG_ID.BUTTON],\n [TAG_NAMES.CAPTION, TAG_ID.CAPTION],\n [TAG_NAMES.CENTER, TAG_ID.CENTER],\n [TAG_NAMES.CODE, TAG_ID.CODE],\n [TAG_NAMES.COL, TAG_ID.COL],\n [TAG_NAMES.COLGROUP, TAG_ID.COLGROUP],\n [TAG_NAMES.DD, TAG_ID.DD],\n [TAG_NAMES.DESC, TAG_ID.DESC],\n [TAG_NAMES.DETAILS, TAG_ID.DETAILS],\n [TAG_NAMES.DIALOG, TAG_ID.DIALOG],\n [TAG_NAMES.DIR, TAG_ID.DIR],\n [TAG_NAMES.DIV, TAG_ID.DIV],\n [TAG_NAMES.DL, TAG_ID.DL],\n [TAG_NAMES.DT, TAG_ID.DT],\n [TAG_NAMES.EM, TAG_ID.EM],\n [TAG_NAMES.EMBED, TAG_ID.EMBED],\n [TAG_NAMES.FIELDSET, TAG_ID.FIELDSET],\n [TAG_NAMES.FIGCAPTION, TAG_ID.FIGCAPTION],\n [TAG_NAMES.FIGURE, TAG_ID.FIGURE],\n [TAG_NAMES.FONT, TAG_ID.FONT],\n [TAG_NAMES.FOOTER, TAG_ID.FOOTER],\n [TAG_NAMES.FOREIGN_OBJECT, TAG_ID.FOREIGN_OBJECT],\n [TAG_NAMES.FORM, TAG_ID.FORM],\n [TAG_NAMES.FRAME, TAG_ID.FRAME],\n [TAG_NAMES.FRAMESET, TAG_ID.FRAMESET],\n [TAG_NAMES.H1, TAG_ID.H1],\n [TAG_NAMES.H2, TAG_ID.H2],\n [TAG_NAMES.H3, TAG_ID.H3],\n [TAG_NAMES.H4, TAG_ID.H4],\n [TAG_NAMES.H5, TAG_ID.H5],\n [TAG_NAMES.H6, TAG_ID.H6],\n [TAG_NAMES.HEAD, TAG_ID.HEAD],\n [TAG_NAMES.HEADER, TAG_ID.HEADER],\n [TAG_NAMES.HGROUP, TAG_ID.HGROUP],\n [TAG_NAMES.HR, TAG_ID.HR],\n [TAG_NAMES.HTML, TAG_ID.HTML],\n [TAG_NAMES.I, TAG_ID.I],\n [TAG_NAMES.IMG, TAG_ID.IMG],\n [TAG_NAMES.IMAGE, TAG_ID.IMAGE],\n [TAG_NAMES.INPUT, TAG_ID.INPUT],\n [TAG_NAMES.IFRAME, TAG_ID.IFRAME],\n [TAG_NAMES.KEYGEN, TAG_ID.KEYGEN],\n [TAG_NAMES.LABEL, TAG_ID.LABEL],\n [TAG_NAMES.LI, TAG_ID.LI],\n [TAG_NAMES.LINK, TAG_ID.LINK],\n [TAG_NAMES.LISTING, TAG_ID.LISTING],\n [TAG_NAMES.MAIN, TAG_ID.MAIN],\n [TAG_NAMES.MALIGNMARK, TAG_ID.MALIGNMARK],\n [TAG_NAMES.MARQUEE, TAG_ID.MARQUEE],\n [TAG_NAMES.MATH, TAG_ID.MATH],\n [TAG_NAMES.MENU, TAG_ID.MENU],\n [TAG_NAMES.META, TAG_ID.META],\n [TAG_NAMES.MGLYPH, TAG_ID.MGLYPH],\n [TAG_NAMES.MI, TAG_ID.MI],\n [TAG_NAMES.MO, TAG_ID.MO],\n [TAG_NAMES.MN, TAG_ID.MN],\n [TAG_NAMES.MS, TAG_ID.MS],\n [TAG_NAMES.MTEXT, TAG_ID.MTEXT],\n [TAG_NAMES.NAV, TAG_ID.NAV],\n [TAG_NAMES.NOBR, TAG_ID.NOBR],\n [TAG_NAMES.NOFRAMES, TAG_ID.NOFRAMES],\n [TAG_NAMES.NOEMBED, TAG_ID.NOEMBED],\n [TAG_NAMES.NOSCRIPT, TAG_ID.NOSCRIPT],\n [TAG_NAMES.OBJECT, TAG_ID.OBJECT],\n [TAG_NAMES.OL, TAG_ID.OL],\n [TAG_NAMES.OPTGROUP, TAG_ID.OPTGROUP],\n [TAG_NAMES.OPTION, TAG_ID.OPTION],\n [TAG_NAMES.P, TAG_ID.P],\n [TAG_NAMES.PARAM, TAG_ID.PARAM],\n [TAG_NAMES.PLAINTEXT, TAG_ID.PLAINTEXT],\n [TAG_NAMES.PRE, TAG_ID.PRE],\n [TAG_NAMES.RB, TAG_ID.RB],\n [TAG_NAMES.RP, TAG_ID.RP],\n [TAG_NAMES.RT, TAG_ID.RT],\n [TAG_NAMES.RTC, TAG_ID.RTC],\n [TAG_NAMES.RUBY, TAG_ID.RUBY],\n [TAG_NAMES.S, TAG_ID.S],\n [TAG_NAMES.SCRIPT, TAG_ID.SCRIPT],\n [TAG_NAMES.SECTION, TAG_ID.SECTION],\n [TAG_NAMES.SELECT, TAG_ID.SELECT],\n [TAG_NAMES.SOURCE, TAG_ID.SOURCE],\n [TAG_NAMES.SMALL, TAG_ID.SMALL],\n [TAG_NAMES.SPAN, TAG_ID.SPAN],\n [TAG_NAMES.STRIKE, TAG_ID.STRIKE],\n [TAG_NAMES.STRONG, TAG_ID.STRONG],\n [TAG_NAMES.STYLE, TAG_ID.STYLE],\n [TAG_NAMES.SUB, TAG_ID.SUB],\n [TAG_NAMES.SUMMARY, TAG_ID.SUMMARY],\n [TAG_NAMES.SUP, TAG_ID.SUP],\n [TAG_NAMES.TABLE, TAG_ID.TABLE],\n [TAG_NAMES.TBODY, TAG_ID.TBODY],\n [TAG_NAMES.TEMPLATE, TAG_ID.TEMPLATE],\n [TAG_NAMES.TEXTAREA, TAG_ID.TEXTAREA],\n [TAG_NAMES.TFOOT, TAG_ID.TFOOT],\n [TAG_NAMES.TD, TAG_ID.TD],\n [TAG_NAMES.TH, TAG_ID.TH],\n [TAG_NAMES.THEAD, TAG_ID.THEAD],\n [TAG_NAMES.TITLE, TAG_ID.TITLE],\n [TAG_NAMES.TR, TAG_ID.TR],\n [TAG_NAMES.TRACK, TAG_ID.TRACK],\n [TAG_NAMES.TT, TAG_ID.TT],\n [TAG_NAMES.U, TAG_ID.U],\n [TAG_NAMES.UL, TAG_ID.UL],\n [TAG_NAMES.SVG, TAG_ID.SVG],\n [TAG_NAMES.VAR, TAG_ID.VAR],\n [TAG_NAMES.WBR, TAG_ID.WBR],\n [TAG_NAMES.XMP, TAG_ID.XMP],\n]);\nfunction getTagID(tagName) {\n var _a;\n return (_a = TAG_NAME_TO_ID.get(tagName)) !== null && _a !== void 0 ? _a : TAG_ID.UNKNOWN;\n}\nconst $ = TAG_ID;\nconst SPECIAL_ELEMENTS = {\n [NS.HTML]: new Set([\n $.ADDRESS,\n $.APPLET,\n $.AREA,\n $.ARTICLE,\n $.ASIDE,\n $.BASE,\n $.BASEFONT,\n $.BGSOUND,\n $.BLOCKQUOTE,\n $.BODY,\n $.BR,\n $.BUTTON,\n $.CAPTION,\n $.CENTER,\n $.COL,\n $.COLGROUP,\n $.DD,\n $.DETAILS,\n $.DIR,\n $.DIV,\n $.DL,\n $.DT,\n $.EMBED,\n $.FIELDSET,\n $.FIGCAPTION,\n $.FIGURE,\n $.FOOTER,\n $.FORM,\n $.FRAME,\n $.FRAMESET,\n $.H1,\n $.H2,\n $.H3,\n $.H4,\n $.H5,\n $.H6,\n $.HEAD,\n $.HEADER,\n $.HGROUP,\n $.HR,\n $.HTML,\n $.IFRAME,\n $.IMG,\n $.INPUT,\n $.LI,\n $.LINK,\n $.LISTING,\n $.MAIN,\n $.MARQUEE,\n $.MENU,\n $.META,\n $.NAV,\n $.NOEMBED,\n $.NOFRAMES,\n $.NOSCRIPT,\n $.OBJECT,\n $.OL,\n $.P,\n $.PARAM,\n $.PLAINTEXT,\n $.PRE,\n $.SCRIPT,\n $.SECTION,\n $.SELECT,\n $.SOURCE,\n $.STYLE,\n $.SUMMARY,\n $.TABLE,\n $.TBODY,\n $.TD,\n $.TEMPLATE,\n $.TEXTAREA,\n $.TFOOT,\n $.TH,\n $.THEAD,\n $.TITLE,\n $.TR,\n $.TRACK,\n $.UL,\n $.WBR,\n $.XMP,\n ]),\n [NS.MATHML]: new Set([$.MI, $.MO, $.MN, $.MS, $.MTEXT, $.ANNOTATION_XML]),\n [NS.SVG]: new Set([$.TITLE, $.FOREIGN_OBJECT, $.DESC]),\n [NS.XLINK]: new Set(),\n [NS.XML]: new Set(),\n [NS.XMLNS]: new Set(),\n};\nfunction isNumberedHeader(tn) {\n return tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6;\n}\nconst UNESCAPED_TEXT = new Set([\n TAG_NAMES.STYLE,\n TAG_NAMES.SCRIPT,\n TAG_NAMES.XMP,\n TAG_NAMES.IFRAME,\n TAG_NAMES.NOEMBED,\n TAG_NAMES.NOFRAMES,\n TAG_NAMES.PLAINTEXT,\n]);\nfunction hasUnescapedText(tn, scriptingEnabled) {\n return UNESCAPED_TEXT.has(tn) || (scriptingEnabled && tn === TAG_NAMES.NOSCRIPT);\n}\n//# sourceMappingURL=html.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/common/html.js?')},"../wabac.js/node_modules/parse5/dist/common/token.js":
/*!************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/common/token.js ***!
\************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "TokenType": () => (/* binding */ TokenType),\n/* harmony export */ "getTokenAttr": () => (/* binding */ getTokenAttr)\n/* harmony export */ });\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType["CHARACTER"] = 0] = "CHARACTER";\n TokenType[TokenType["NULL_CHARACTER"] = 1] = "NULL_CHARACTER";\n TokenType[TokenType["WHITESPACE_CHARACTER"] = 2] = "WHITESPACE_CHARACTER";\n TokenType[TokenType["START_TAG"] = 3] = "START_TAG";\n TokenType[TokenType["END_TAG"] = 4] = "END_TAG";\n TokenType[TokenType["COMMENT"] = 5] = "COMMENT";\n TokenType[TokenType["DOCTYPE"] = 6] = "DOCTYPE";\n TokenType[TokenType["EOF"] = 7] = "EOF";\n TokenType[TokenType["HIBERNATION"] = 8] = "HIBERNATION";\n})(TokenType = TokenType || (TokenType = {}));\nfunction getTokenAttr(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n return null;\n}\n//# sourceMappingURL=token.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/common/token.js?')},"../wabac.js/node_modules/parse5/dist/common/unicode.js":
/*!**************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/common/unicode.js ***!
\**************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CODE_POINTS": () => (/* binding */ CODE_POINTS),\n/* harmony export */ "REPLACEMENT_CHARACTER": () => (/* binding */ REPLACEMENT_CHARACTER),\n/* harmony export */ "SEQUENCES": () => (/* binding */ SEQUENCES),\n/* harmony export */ "getSurrogatePairCodePoint": () => (/* binding */ getSurrogatePairCodePoint),\n/* harmony export */ "isControlCodePoint": () => (/* binding */ isControlCodePoint),\n/* harmony export */ "isSurrogate": () => (/* binding */ isSurrogate),\n/* harmony export */ "isSurrogatePair": () => (/* binding */ isSurrogatePair),\n/* harmony export */ "isUndefinedCodePoint": () => (/* binding */ isUndefinedCodePoint)\n/* harmony export */ });\nconst UNDEFINED_CODE_POINTS = new Set([\n 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214,\n 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894,\n 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574,\n 1048575, 1114110, 1114111,\n]);\nconst REPLACEMENT_CHARACTER = \'\\uFFFD\';\nvar CODE_POINTS;\n(function (CODE_POINTS) {\n CODE_POINTS[CODE_POINTS["EOF"] = -1] = "EOF";\n CODE_POINTS[CODE_POINTS["NULL"] = 0] = "NULL";\n CODE_POINTS[CODE_POINTS["TABULATION"] = 9] = "TABULATION";\n CODE_POINTS[CODE_POINTS["CARRIAGE_RETURN"] = 13] = "CARRIAGE_RETURN";\n CODE_POINTS[CODE_POINTS["LINE_FEED"] = 10] = "LINE_FEED";\n CODE_POINTS[CODE_POINTS["FORM_FEED"] = 12] = "FORM_FEED";\n CODE_POINTS[CODE_POINTS["SPACE"] = 32] = "SPACE";\n CODE_POINTS[CODE_POINTS["EXCLAMATION_MARK"] = 33] = "EXCLAMATION_MARK";\n CODE_POINTS[CODE_POINTS["QUOTATION_MARK"] = 34] = "QUOTATION_MARK";\n CODE_POINTS[CODE_POINTS["NUMBER_SIGN"] = 35] = "NUMBER_SIGN";\n CODE_POINTS[CODE_POINTS["AMPERSAND"] = 38] = "AMPERSAND";\n CODE_POINTS[CODE_POINTS["APOSTROPHE"] = 39] = "APOSTROPHE";\n CODE_POINTS[CODE_POINTS["HYPHEN_MINUS"] = 45] = "HYPHEN_MINUS";\n CODE_POINTS[CODE_POINTS["SOLIDUS"] = 47] = "SOLIDUS";\n CODE_POINTS[CODE_POINTS["DIGIT_0"] = 48] = "DIGIT_0";\n CODE_POINTS[CODE_POINTS["DIGIT_9"] = 57] = "DIGIT_9";\n CODE_POINTS[CODE_POINTS["SEMICOLON"] = 59] = "SEMICOLON";\n CODE_POINTS[CODE_POINTS["LESS_THAN_SIGN"] = 60] = "LESS_THAN_SIGN";\n CODE_POINTS[CODE_POINTS["EQUALS_SIGN"] = 61] = "EQUALS_SIGN";\n CODE_POINTS[CODE_POINTS["GREATER_THAN_SIGN"] = 62] = "GREATER_THAN_SIGN";\n CODE_POINTS[CODE_POINTS["QUESTION_MARK"] = 63] = "QUESTION_MARK";\n CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_A"] = 65] = "LATIN_CAPITAL_A";\n CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_F"] = 70] = "LATIN_CAPITAL_F";\n CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_X"] = 88] = "LATIN_CAPITAL_X";\n CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_Z"] = 90] = "LATIN_CAPITAL_Z";\n CODE_POINTS[CODE_POINTS["RIGHT_SQUARE_BRACKET"] = 93] = "RIGHT_SQUARE_BRACKET";\n CODE_POINTS[CODE_POINTS["GRAVE_ACCENT"] = 96] = "GRAVE_ACCENT";\n CODE_POINTS[CODE_POINTS["LATIN_SMALL_A"] = 97] = "LATIN_SMALL_A";\n CODE_POINTS[CODE_POINTS["LATIN_SMALL_F"] = 102] = "LATIN_SMALL_F";\n CODE_POINTS[CODE_POINTS["LATIN_SMALL_X"] = 120] = "LATIN_SMALL_X";\n CODE_POINTS[CODE_POINTS["LATIN_SMALL_Z"] = 122] = "LATIN_SMALL_Z";\n CODE_POINTS[CODE_POINTS["REPLACEMENT_CHARACTER"] = 65533] = "REPLACEMENT_CHARACTER";\n})(CODE_POINTS = CODE_POINTS || (CODE_POINTS = {}));\nconst SEQUENCES = {\n DASH_DASH: \'--\',\n CDATA_START: \'[CDATA[\',\n DOCTYPE: \'doctype\',\n SCRIPT: \'script\',\n PUBLIC: \'public\',\n SYSTEM: \'system\',\n};\n//Surrogates\nfunction isSurrogate(cp) {\n return cp >= 55296 && cp <= 57343;\n}\nfunction isSurrogatePair(cp) {\n return cp >= 56320 && cp <= 57343;\n}\nfunction getSurrogatePairCodePoint(cp1, cp2) {\n return (cp1 - 55296) * 1024 + 9216 + cp2;\n}\n//NOTE: excluding NULL and ASCII whitespace\nfunction isControlCodePoint(cp) {\n return ((cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||\n (cp >= 0x7f && cp <= 0x9f));\n}\nfunction isUndefinedCodePoint(cp) {\n return (cp >= 64976 && cp <= 65007) || UNDEFINED_CODE_POINTS.has(cp);\n}\n//# sourceMappingURL=unicode.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/common/unicode.js?')},"../wabac.js/node_modules/parse5/dist/index.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/index.js ***!
\*****************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ErrorCodes": () => (/* reexport safe */ _common_error_codes_js__WEBPACK_IMPORTED_MODULE_3__.ERR),\n/* harmony export */ "Parser": () => (/* reexport safe */ _parser_index_js__WEBPACK_IMPORTED_MODULE_0__.Parser),\n/* harmony export */ "Token": () => (/* reexport module object */ _common_token_js__WEBPACK_IMPORTED_MODULE_6__),\n/* harmony export */ "Tokenizer": () => (/* reexport safe */ _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_7__.Tokenizer),\n/* harmony export */ "TokenizerMode": () => (/* reexport safe */ _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_7__.TokenizerMode),\n/* harmony export */ "defaultTreeAdapter": () => (/* reexport safe */ _tree_adapters_default_js__WEBPACK_IMPORTED_MODULE_1__.defaultTreeAdapter),\n/* harmony export */ "foreignContent": () => (/* reexport module object */ _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_4__),\n/* harmony export */ "html": () => (/* reexport module object */ _common_html_js__WEBPACK_IMPORTED_MODULE_5__),\n/* harmony export */ "parse": () => (/* binding */ parse),\n/* harmony export */ "parseFragment": () => (/* binding */ parseFragment),\n/* harmony export */ "serialize": () => (/* reexport safe */ _serializer_index_js__WEBPACK_IMPORTED_MODULE_2__.serialize),\n/* harmony export */ "serializeOuter": () => (/* reexport safe */ _serializer_index_js__WEBPACK_IMPORTED_MODULE_2__.serializeOuter)\n/* harmony export */ });\n/* harmony import */ var _parser_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parser/index.js */ "../wabac.js/node_modules/parse5/dist/parser/index.js");\n/* harmony import */ var _tree_adapters_default_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tree-adapters/default.js */ "../wabac.js/node_modules/parse5/dist/tree-adapters/default.js");\n/* harmony import */ var _serializer_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./serializer/index.js */ "../wabac.js/node_modules/parse5/dist/serializer/index.js");\n/* harmony import */ var _common_error_codes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./common/error-codes.js */ "../wabac.js/node_modules/parse5/dist/common/error-codes.js");\n/* harmony import */ var _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./common/foreign-content.js */ "../wabac.js/node_modules/parse5/dist/common/foreign-content.js");\n/* harmony import */ var _common_html_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./common/html.js */ "../wabac.js/node_modules/parse5/dist/common/html.js");\n/* harmony import */ var _common_token_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./common/token.js */ "../wabac.js/node_modules/parse5/dist/common/token.js");\n/* harmony import */ var _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tokenizer/index.js */ "../wabac.js/node_modules/parse5/dist/tokenizer/index.js");\n\n\n\n\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\n\n// Shorthands\n/**\n * Parses an HTML string.\n *\n * @param html Input HTML string.\n * @param options Parsing options.\n * @returns Document\n *\n * @example\n *\n * ```js\n * const parse5 = require(\'parse5\');\n *\n * const document = parse5.parse(\'<!DOCTYPE html><html><head></head><body>Hi there!</body></html>\');\n *\n * console.log(document.childNodes[1].tagName); //> \'html\'\n *```\n */\nfunction parse(html, options) {\n return _parser_index_js__WEBPACK_IMPORTED_MODULE_0__.Parser.parse(html, options);\n}\nfunction parseFragment(fragmentContext, html, options) {\n if (typeof fragmentContext === \'string\') {\n options = html;\n html = fragmentContext;\n fragmentContext = null;\n }\n const parser = _parser_index_js__WEBPACK_IMPORTED_MODULE_0__.Parser.getFragmentParser(fragmentContext, options);\n parser.tokenizer.write(html, true);\n return parser.getFragment();\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/index.js?')},"../wabac.js/node_modules/parse5/dist/parser/formatting-element-list.js":
/*!******************************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/parser/formatting-element-list.js ***!
\******************************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EntryType": () => (/* binding */ EntryType),\n/* harmony export */ "FormattingElementList": () => (/* binding */ FormattingElementList)\n/* harmony export */ });\n//Const\nconst NOAH_ARK_CAPACITY = 3;\nvar EntryType;\n(function (EntryType) {\n EntryType[EntryType["Marker"] = 0] = "Marker";\n EntryType[EntryType["Element"] = 1] = "Element";\n})(EntryType = EntryType || (EntryType = {}));\nconst MARKER = { type: EntryType.Marker };\n//List of formatting elements\nclass FormattingElementList {\n constructor(treeAdapter) {\n this.treeAdapter = treeAdapter;\n this.entries = [];\n this.bookmark = null;\n }\n //Noah Ark\'s condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n _getNoahArkConditionCandidates(newElement, neAttrs) {\n const candidates = [];\n const neAttrsLength = neAttrs.length;\n const neTagName = this.treeAdapter.getTagName(newElement);\n const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n for (let i = 0; i < this.entries.length; i++) {\n const entry = this.entries[i];\n if (entry.type === EntryType.Marker) {\n break;\n }\n const { element } = entry;\n if (this.treeAdapter.getTagName(element) === neTagName &&\n this.treeAdapter.getNamespaceURI(element) === neNamespaceURI) {\n const elementAttrs = this.treeAdapter.getAttrList(element);\n if (elementAttrs.length === neAttrsLength) {\n candidates.push({ idx: i, attrs: elementAttrs });\n }\n }\n }\n return candidates;\n }\n _ensureNoahArkCondition(newElement) {\n if (this.entries.length < NOAH_ARK_CAPACITY)\n return;\n const neAttrs = this.treeAdapter.getAttrList(newElement);\n const candidates = this._getNoahArkConditionCandidates(newElement, neAttrs);\n if (candidates.length < NOAH_ARK_CAPACITY)\n return;\n //NOTE: build attrs map for the new element, so we can perform fast lookups\n const neAttrsMap = new Map(neAttrs.map((neAttr) => [neAttr.name, neAttr.value]));\n let validCandidates = 0;\n //NOTE: remove bottommost candidates, until Noah\'s Ark condition will not be met\n for (let i = 0; i < candidates.length; i++) {\n const candidate = candidates[i];\n // We know that `candidate.attrs.length === neAttrs.length`\n if (candidate.attrs.every((cAttr) => neAttrsMap.get(cAttr.name) === cAttr.value)) {\n validCandidates += 1;\n if (validCandidates >= NOAH_ARK_CAPACITY) {\n this.entries.splice(candidate.idx, 1);\n }\n }\n }\n }\n //Mutations\n insertMarker() {\n this.entries.unshift(MARKER);\n }\n pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n this.entries.unshift({\n type: EntryType.Element,\n element,\n token,\n });\n }\n insertElementAfterBookmark(element, token) {\n const bookmarkIdx = this.entries.indexOf(this.bookmark);\n this.entries.splice(bookmarkIdx, 0, {\n type: EntryType.Element,\n element,\n token,\n });\n }\n removeEntry(entry) {\n const entryIndex = this.entries.indexOf(entry);\n if (entryIndex >= 0) {\n this.entries.splice(entryIndex, 1);\n }\n }\n /**\n * Clears the list of formatting elements up to the last marker.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker\n */\n clearToLastMarker() {\n const markerIdx = this.entries.indexOf(MARKER);\n if (markerIdx >= 0) {\n this.entries.splice(0, markerIdx + 1);\n }\n else {\n this.entries.length = 0;\n }\n }\n //Search\n getElementEntryInScopeWithTagName(tagName) {\n const entry = this.entries.find((entry) => entry.type === EntryType.Marker || this.treeAdapter.getTagName(entry.element) === tagName);\n return entry && entry.type === EntryType.Element ? entry : null;\n }\n getElementEntry(element) {\n return this.entries.find((entry) => entry.type === EntryType.Element && entry.element === element);\n }\n}\n//# sourceMappingURL=formatting-element-list.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/parser/formatting-element-list.js?')},"../wabac.js/node_modules/parse5/dist/parser/index.js":
/*!************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/parser/index.js ***!
\************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Parser": () => (/* binding */ Parser)\n/* harmony export */ });\n/* harmony import */ var _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../tokenizer/index.js */ "../wabac.js/node_modules/parse5/dist/tokenizer/index.js");\n/* harmony import */ var _open_element_stack_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./open-element-stack.js */ "../wabac.js/node_modules/parse5/dist/parser/open-element-stack.js");\n/* harmony import */ var _formatting_element_list_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatting-element-list.js */ "../wabac.js/node_modules/parse5/dist/parser/formatting-element-list.js");\n/* harmony import */ var _tree_adapters_default_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tree-adapters/default.js */ "../wabac.js/node_modules/parse5/dist/tree-adapters/default.js");\n/* harmony import */ var _common_doctype_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/doctype.js */ "../wabac.js/node_modules/parse5/dist/common/doctype.js");\n/* harmony import */ var _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/foreign-content.js */ "../wabac.js/node_modules/parse5/dist/common/foreign-content.js");\n/* harmony import */ var _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/error-codes.js */ "../wabac.js/node_modules/parse5/dist/common/error-codes.js");\n/* harmony import */ var _common_unicode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/unicode.js */ "../wabac.js/node_modules/parse5/dist/common/unicode.js");\n/* harmony import */ var _common_html_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/html.js */ "../wabac.js/node_modules/parse5/dist/common/html.js");\n/* harmony import */ var _common_token_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/token.js */ "../wabac.js/node_modules/parse5/dist/common/token.js");\n\n\n\n\n\n\n\n\n\n\n//Misc constants\nconst HIDDEN_INPUT_TYPE = \'hidden\';\n//Adoption agency loops iteration count\nconst AA_OUTER_LOOP_ITER = 8;\nconst AA_INNER_LOOP_ITER = 3;\n//Insertion modes\nvar InsertionMode;\n(function (InsertionMode) {\n InsertionMode[InsertionMode["INITIAL"] = 0] = "INITIAL";\n InsertionMode[InsertionMode["BEFORE_HTML"] = 1] = "BEFORE_HTML";\n InsertionMode[InsertionMode["BEFORE_HEAD"] = 2] = "BEFORE_HEAD";\n InsertionMode[InsertionMode["IN_HEAD"] = 3] = "IN_HEAD";\n InsertionMode[InsertionMode["IN_HEAD_NO_SCRIPT"] = 4] = "IN_HEAD_NO_SCRIPT";\n InsertionMode[InsertionMode["AFTER_HEAD"] = 5] = "AFTER_HEAD";\n InsertionMode[InsertionMode["IN_BODY"] = 6] = "IN_BODY";\n InsertionMode[InsertionMode["TEXT"] = 7] = "TEXT";\n InsertionMode[InsertionMode["IN_TABLE"] = 8] = "IN_TABLE";\n InsertionMode[InsertionMode["IN_TABLE_TEXT"] = 9] = "IN_TABLE_TEXT";\n InsertionMode[InsertionMode["IN_CAPTION"] = 10] = "IN_CAPTION";\n InsertionMode[InsertionMode["IN_COLUMN_GROUP"] = 11] = "IN_COLUMN_GROUP";\n InsertionMode[InsertionMode["IN_TABLE_BODY"] = 12] = "IN_TABLE_BODY";\n InsertionMode[InsertionMode["IN_ROW"] = 13] = "IN_ROW";\n InsertionMode[InsertionMode["IN_CELL"] = 14] = "IN_CELL";\n InsertionMode[InsertionMode["IN_SELECT"] = 15] = "IN_SELECT";\n InsertionMode[InsertionMode["IN_SELECT_IN_TABLE"] = 16] = "IN_SELECT_IN_TABLE";\n InsertionMode[InsertionMode["IN_TEMPLATE"] = 17] = "IN_TEMPLATE";\n InsertionMode[InsertionMode["AFTER_BODY"] = 18] = "AFTER_BODY";\n InsertionMode[InsertionMode["IN_FRAMESET"] = 19] = "IN_FRAMESET";\n InsertionMode[InsertionMode["AFTER_FRAMESET"] = 20] = "AFTER_FRAMESET";\n InsertionMode[InsertionMode["AFTER_AFTER_BODY"] = 21] = "AFTER_AFTER_BODY";\n InsertionMode[InsertionMode["AFTER_AFTER_FRAMESET"] = 22] = "AFTER_AFTER_FRAMESET";\n})(InsertionMode || (InsertionMode = {}));\nconst BASE_LOC = {\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n};\nconst TABLE_STRUCTURE_TAGS = new Set([_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR]);\nconst defaultParserOptions = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n treeAdapter: _tree_adapters_default_js__WEBPACK_IMPORTED_MODULE_3__.defaultTreeAdapter,\n onParseError: null,\n};\n//Parser\nclass Parser {\n constructor(options, document, fragmentContext = null, scriptHandler = null) {\n this.fragmentContext = fragmentContext;\n this.scriptHandler = scriptHandler;\n this.currentToken = null;\n this.stopped = false;\n this.insertionMode = InsertionMode.INITIAL;\n this.originalInsertionMode = InsertionMode.INITIAL;\n this.headElement = null;\n this.formElement = null;\n /** Indicates that the current node is not an element in the HTML namespace */\n this.currentNotInHTML = false;\n /**\n * The template insertion mode stack is maintained from the left.\n * Ie. the topmost element will always have index 0.\n */\n this.tmplInsertionModeStack = [];\n this.pendingCharacterTokens = [];\n this.hasNonWhitespacePendingCharacterToken = false;\n this.framesetOk = true;\n this.skipNextNewLine = false;\n this.fosterParentingEnabled = false;\n this.options = {\n ...defaultParserOptions,\n ...options,\n };\n this.treeAdapter = this.options.treeAdapter;\n this.onParseError = this.options.onParseError;\n // Always enable location info if we report parse errors.\n if (this.onParseError) {\n this.options.sourceCodeLocationInfo = true;\n }\n this.document = document !== null && document !== void 0 ? document : this.treeAdapter.createDocument();\n this.tokenizer = new _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.Tokenizer(this.options, this);\n this.activeFormattingElements = new _formatting_element_list_js__WEBPACK_IMPORTED_MODULE_2__.FormattingElementList(this.treeAdapter);\n this.fragmentContextID = fragmentContext ? (0,_common_html_js__WEBPACK_IMPORTED_MODULE_8__.getTagID)(this.treeAdapter.getTagName(fragmentContext)) : _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.UNKNOWN;\n this._setContextModes(fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : this.document, this.fragmentContextID);\n this.openElements = new _open_element_stack_js__WEBPACK_IMPORTED_MODULE_1__.OpenElementStack(this.document, this.treeAdapter, this);\n }\n // API\n static parse(html, options) {\n const parser = new this(options);\n parser.tokenizer.write(html, true);\n return parser.document;\n }\n static getFragmentParser(fragmentContext, options) {\n const opts = {\n ...defaultParserOptions,\n ...options,\n };\n //NOTE: use a <template> element as the fragment context if no context element was provided,\n //so we will parse in a "forgiving" manner\n fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : (fragmentContext = opts.treeAdapter.createElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.TEMPLATE, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML, []));\n //NOTE: create a fake element which will be used as the `document` for fragment parsing.\n //This is important for jsdom, where a new `document` cannot be created. This led to\n //fragment parsing messing with the main `document`.\n const documentMock = opts.treeAdapter.createElement(\'documentmock\', _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML, []);\n const parser = new this(opts, documentMock, fragmentContext);\n if (parser.fragmentContextID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE) {\n parser.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE);\n }\n parser._initTokenizerForFragmentParsing();\n parser._insertFakeRootElement();\n parser._resetInsertionMode();\n parser._findFormInFragmentContext();\n return parser;\n }\n getFragment() {\n const rootElement = this.treeAdapter.getFirstChild(this.document);\n const fragment = this.treeAdapter.createDocumentFragment();\n this._adoptNodes(rootElement, fragment);\n return fragment;\n }\n //Errors\n _err(token, code, beforeToken) {\n var _a;\n if (!this.onParseError)\n return;\n const loc = (_a = token.location) !== null && _a !== void 0 ? _a : BASE_LOC;\n const err = {\n code,\n startLine: loc.startLine,\n startCol: loc.startCol,\n startOffset: loc.startOffset,\n endLine: beforeToken ? loc.startLine : loc.endLine,\n endCol: beforeToken ? loc.startCol : loc.endCol,\n endOffset: beforeToken ? loc.startOffset : loc.endOffset,\n };\n this.onParseError(err);\n }\n //Stack events\n onItemPush(node, tid, isTop) {\n var _a, _b;\n (_b = (_a = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a, node);\n if (isTop && this.openElements.stackTop > 0)\n this._setContextModes(node, tid);\n }\n onItemPop(node, isTop) {\n var _a, _b;\n if (this.options.sourceCodeLocationInfo) {\n this._setEndLocation(node, this.currentToken);\n }\n (_b = (_a = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a, node, this.openElements.current);\n if (isTop) {\n let current;\n let currentTagId;\n if (this.openElements.stackTop === 0 && this.fragmentContext) {\n current = this.fragmentContext;\n currentTagId = this.fragmentContextID;\n }\n else {\n ({ current, currentTagId } = this.openElements);\n }\n this._setContextModes(current, currentTagId);\n }\n }\n _setContextModes(current, tid) {\n const isHTML = current === this.document || this.treeAdapter.getNamespaceURI(current) === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML;\n this.currentNotInHTML = !isHTML;\n this.tokenizer.inForeignNode = !isHTML && !this._isIntegrationPoint(tid, current);\n }\n _switchToTextParsing(currentToken, nextTokenizerState) {\n this._insertElement(currentToken, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n this.tokenizer.state = nextTokenizerState;\n this.originalInsertionMode = this.insertionMode;\n this.insertionMode = InsertionMode.TEXT;\n }\n switchToPlaintextParsing() {\n this.insertionMode = InsertionMode.TEXT;\n this.originalInsertionMode = InsertionMode.IN_BODY;\n this.tokenizer.state = _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.PLAINTEXT;\n }\n //Fragment parsing\n _getAdjustedCurrentElement() {\n return this.openElements.stackTop === 0 && this.fragmentContext\n ? this.fragmentContext\n : this.openElements.current;\n }\n _findFormInFragmentContext() {\n let node = this.fragmentContext;\n while (node) {\n if (this.treeAdapter.getTagName(node) === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.FORM) {\n this.formElement = node;\n break;\n }\n node = this.treeAdapter.getParentNode(node);\n }\n }\n _initTokenizerForFragmentParsing() {\n if (!this.fragmentContext || this.treeAdapter.getNamespaceURI(this.fragmentContext) !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML) {\n return;\n }\n switch (this.fragmentContextID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TITLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEXTAREA: {\n this.tokenizer.state = _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RCDATA;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STYLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.XMP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.IFRAME:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOEMBED:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOSCRIPT: {\n this.tokenizer.state = _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RAWTEXT;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT: {\n this.tokenizer.state = _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.SCRIPT_DATA;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.PLAINTEXT: {\n this.tokenizer.state = _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.PLAINTEXT;\n break;\n }\n default:\n // Do nothing\n }\n }\n //Tree mutation\n _setDocumentType(token) {\n const name = token.name || \'\';\n const publicId = token.publicId || \'\';\n const systemId = token.systemId || \'\';\n this.treeAdapter.setDocumentType(this.document, name, publicId, systemId);\n if (token.location) {\n const documentChildren = this.treeAdapter.getChildNodes(this.document);\n const docTypeNode = documentChildren.find((node) => this.treeAdapter.isDocumentTypeNode(node));\n if (docTypeNode) {\n this.treeAdapter.setNodeSourceCodeLocation(docTypeNode, token.location);\n }\n }\n }\n _attachElementToTree(element, location) {\n if (this.options.sourceCodeLocationInfo) {\n const loc = location && {\n ...location,\n startTag: location,\n };\n this.treeAdapter.setNodeSourceCodeLocation(element, loc);\n }\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentElement(element);\n }\n else {\n const parent = this.openElements.currentTmplContentOrNode;\n this.treeAdapter.appendChild(parent, element);\n }\n }\n _appendElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n this._attachElementToTree(element, token.location);\n }\n _insertElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n this._attachElementToTree(element, token.location);\n this.openElements.push(element, token.tagID);\n }\n _insertFakeElement(tagName, tagID) {\n const element = this.treeAdapter.createElement(tagName, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML, []);\n this._attachElementToTree(element, null);\n this.openElements.push(element, tagID);\n }\n _insertTemplate(token) {\n const tmpl = this.treeAdapter.createElement(token.tagName, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML, token.attrs);\n const content = this.treeAdapter.createDocumentFragment();\n this.treeAdapter.setTemplateContent(tmpl, content);\n this._attachElementToTree(tmpl, token.location);\n this.openElements.push(tmpl, token.tagID);\n if (this.options.sourceCodeLocationInfo)\n this.treeAdapter.setNodeSourceCodeLocation(content, null);\n }\n _insertFakeRootElement() {\n const element = this.treeAdapter.createElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.HTML, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML, []);\n if (this.options.sourceCodeLocationInfo)\n this.treeAdapter.setNodeSourceCodeLocation(element, null);\n this.treeAdapter.appendChild(this.openElements.current, element);\n this.openElements.push(element, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML);\n }\n _appendCommentNode(token, parent) {\n const commentNode = this.treeAdapter.createCommentNode(token.data);\n this.treeAdapter.appendChild(parent, commentNode);\n if (this.options.sourceCodeLocationInfo) {\n this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);\n }\n }\n _insertCharacters(token) {\n let parent;\n let beforeElement;\n if (this._shouldFosterParentOnInsertion()) {\n ({ parent, beforeElement } = this._findFosterParentingLocation());\n if (beforeElement) {\n this.treeAdapter.insertTextBefore(parent, token.chars, beforeElement);\n }\n else {\n this.treeAdapter.insertText(parent, token.chars);\n }\n }\n else {\n parent = this.openElements.currentTmplContentOrNode;\n this.treeAdapter.insertText(parent, token.chars);\n }\n if (!token.location)\n return;\n const siblings = this.treeAdapter.getChildNodes(parent);\n const textNodeIdx = beforeElement ? siblings.lastIndexOf(beforeElement) : siblings.length;\n const textNode = siblings[textNodeIdx - 1];\n //NOTE: if we have a location assigned by another token, then just update the end position\n const tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode);\n if (tnLoc) {\n const { endLine, endCol, endOffset } = token.location;\n this.treeAdapter.updateNodeSourceCodeLocation(textNode, { endLine, endCol, endOffset });\n }\n else if (this.options.sourceCodeLocationInfo) {\n this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);\n }\n }\n _adoptNodes(donor, recipient) {\n for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {\n this.treeAdapter.detachNode(child);\n this.treeAdapter.appendChild(recipient, child);\n }\n }\n _setEndLocation(element, closingToken) {\n if (this.treeAdapter.getNodeSourceCodeLocation(element) && closingToken.location) {\n const ctLoc = closingToken.location;\n const tn = this.treeAdapter.getTagName(element);\n const endLoc = \n // NOTE: For cases like <p> <p> </p> - First \'p\' closes without a closing\n // tag and for cases like <td> <p> </td> - \'p\' closes without a closing tag.\n closingToken.type === _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.END_TAG && tn === closingToken.tagName\n ? {\n endTag: { ...ctLoc },\n endLine: ctLoc.endLine,\n endCol: ctLoc.endCol,\n endOffset: ctLoc.endOffset,\n }\n : {\n endLine: ctLoc.startLine,\n endCol: ctLoc.startCol,\n endOffset: ctLoc.startOffset,\n };\n this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc);\n }\n }\n //Token processing\n shouldProcessStartTagTokenInForeignContent(token) {\n // Check that neither current === document, or ns === NS.HTML\n if (!this.currentNotInHTML)\n return false;\n let current;\n let currentTagId;\n if (this.openElements.stackTop === 0 && this.fragmentContext) {\n current = this.fragmentContext;\n currentTagId = this.fragmentContextID;\n }\n else {\n ({ current, currentTagId } = this.openElements);\n }\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SVG &&\n this.treeAdapter.getTagName(current) === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.ANNOTATION_XML &&\n this.treeAdapter.getNamespaceURI(current) === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.MATHML) {\n return false;\n }\n return (\n // Check that `current` is not an integration point for HTML or MathML elements.\n this.tokenizer.inForeignNode ||\n // If it _is_ an integration point, then we might have to check that it is not an HTML\n // integration point.\n ((token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MGLYPH || token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MALIGNMARK) &&\n !this._isIntegrationPoint(currentTagId, current, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML)));\n }\n _processToken(token) {\n switch (token.type) {\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.CHARACTER: {\n this.onCharacter(token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.NULL_CHARACTER: {\n this.onNullCharacter(token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.COMMENT: {\n this.onComment(token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.DOCTYPE: {\n this.onDoctype(token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.START_TAG: {\n this._processStartTag(token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.END_TAG: {\n this.onEndTag(token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.EOF: {\n this.onEof(token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.WHITESPACE_CHARACTER: {\n this.onWhitespaceCharacter(token);\n break;\n }\n }\n }\n //Integration points\n _isIntegrationPoint(tid, element, foreignNS) {\n const ns = this.treeAdapter.getNamespaceURI(element);\n const attrs = this.treeAdapter.getAttrList(element);\n return _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.isIntegrationPoint(tid, ns, attrs, foreignNS);\n }\n //Active formatting elements reconstruction\n _reconstructActiveFormattingElements() {\n const listLength = this.activeFormattingElements.entries.length;\n if (listLength) {\n const endIndex = this.activeFormattingElements.entries.findIndex((entry) => entry.type === _formatting_element_list_js__WEBPACK_IMPORTED_MODULE_2__.EntryType.Marker || this.openElements.contains(entry.element));\n const unopenIdx = endIndex < 0 ? listLength - 1 : endIndex - 1;\n for (let i = unopenIdx; i >= 0; i--) {\n const entry = this.activeFormattingElements.entries[i];\n this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));\n entry.element = this.openElements.current;\n }\n }\n }\n //Close elements\n _closeTableCell() {\n this.openElements.generateImpliedEndTags();\n this.openElements.popUntilTableCellPopped();\n this.activeFormattingElements.clearToLastMarker();\n this.insertionMode = InsertionMode.IN_ROW;\n }\n _closePElement() {\n this.openElements.generateImpliedEndTagsWithExclusion(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P);\n this.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P);\n }\n //Insertion modes\n _resetInsertionMode() {\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n //Insertion mode reset map\n switch (i === 0 && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[i]) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n this.insertionMode = InsertionMode.IN_ROW;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT: {\n this.insertionMode = InsertionMode.IN_TABLE_BODY;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION: {\n this.insertionMode = InsertionMode.IN_CAPTION;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP: {\n this.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n this.insertionMode = InsertionMode.IN_TABLE;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY: {\n this.insertionMode = InsertionMode.IN_BODY;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAMESET: {\n this.insertionMode = InsertionMode.IN_FRAMESET;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT: {\n this._resetInsertionModeForSelect(i);\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n this.insertionMode = this.tmplInsertionModeStack[0];\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n this.insertionMode = this.headElement ? InsertionMode.AFTER_HEAD : InsertionMode.BEFORE_HEAD;\n return;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH: {\n if (i > 0) {\n this.insertionMode = InsertionMode.IN_CELL;\n return;\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD: {\n if (i > 0) {\n this.insertionMode = InsertionMode.IN_HEAD;\n return;\n }\n break;\n }\n }\n }\n this.insertionMode = InsertionMode.IN_BODY;\n }\n _resetInsertionModeForSelect(selectIdx) {\n if (selectIdx > 0) {\n for (let i = selectIdx - 1; i > 0; i--) {\n const tn = this.openElements.tagIDs[i];\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE) {\n break;\n }\n else if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE) {\n this.insertionMode = InsertionMode.IN_SELECT_IN_TABLE;\n return;\n }\n }\n }\n this.insertionMode = InsertionMode.IN_SELECT;\n }\n //Foster parenting\n _isElementCausesFosterParenting(tn) {\n return TABLE_STRUCTURE_TAGS.has(tn);\n }\n _shouldFosterParentOnInsertion() {\n return this.fosterParentingEnabled && this._isElementCausesFosterParenting(this.openElements.currentTagId);\n }\n _findFosterParentingLocation() {\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const openElement = this.openElements.items[i];\n switch (this.openElements.tagIDs[i]) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n if (this.treeAdapter.getNamespaceURI(openElement) === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML) {\n return { parent: this.treeAdapter.getTemplateContent(openElement), beforeElement: null };\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n const parent = this.treeAdapter.getParentNode(openElement);\n if (parent) {\n return { parent, beforeElement: openElement };\n }\n return { parent: this.openElements.items[i - 1], beforeElement: null };\n }\n default:\n // Do nothing\n }\n }\n return { parent: this.openElements.items[0], beforeElement: null };\n }\n _fosterParentElement(element) {\n const location = this._findFosterParentingLocation();\n if (location.beforeElement) {\n this.treeAdapter.insertBefore(location.parent, element, location.beforeElement);\n }\n else {\n this.treeAdapter.appendChild(location.parent, element);\n }\n }\n //Special elements\n _isSpecialElement(element, id) {\n const ns = this.treeAdapter.getNamespaceURI(element);\n return _common_html_js__WEBPACK_IMPORTED_MODULE_8__.SPECIAL_ELEMENTS[ns].has(id);\n }\n onCharacter(token) {\n this.skipNextNewLine = false;\n if (this.tokenizer.inForeignNode) {\n characterInForeignContent(this, token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n tokenBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n tokenBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n tokenInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n tokenInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n tokenAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_TEMPLATE: {\n characterInBody(this, token);\n break;\n }\n case InsertionMode.TEXT:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE: {\n this._insertCharacters(token);\n break;\n }\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW: {\n characterInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n characterInTableText(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n tokenInColumnGroup(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n tokenAfterBody(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n tokenAfterAfterBody(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n onNullCharacter(token) {\n this.skipNextNewLine = false;\n if (this.tokenizer.inForeignNode) {\n nullCharacterInForeignContent(this, token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n tokenBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n tokenBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n tokenInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n tokenInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n tokenAfterHead(this, token);\n break;\n }\n case InsertionMode.TEXT: {\n this._insertCharacters(token);\n break;\n }\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW: {\n characterInTable(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n tokenInColumnGroup(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n tokenAfterBody(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n tokenAfterAfterBody(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n onComment(token) {\n this.skipNextNewLine = false;\n if (this.currentNotInHTML) {\n appendComment(this, token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.INITIAL:\n case InsertionMode.BEFORE_HTML:\n case InsertionMode.BEFORE_HEAD:\n case InsertionMode.IN_HEAD:\n case InsertionMode.IN_HEAD_NO_SCRIPT:\n case InsertionMode.AFTER_HEAD:\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_COLUMN_GROUP:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE:\n case InsertionMode.IN_TEMPLATE:\n case InsertionMode.IN_FRAMESET:\n case InsertionMode.AFTER_FRAMESET: {\n appendComment(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n appendCommentToRootHtmlElement(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY:\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n appendCommentToDocument(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n onDoctype(token) {\n this.skipNextNewLine = false;\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n doctypeInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD:\n case InsertionMode.IN_HEAD:\n case InsertionMode.IN_HEAD_NO_SCRIPT:\n case InsertionMode.AFTER_HEAD: {\n this._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.misplacedDoctype);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n onStartTag(token) {\n this.skipNextNewLine = false;\n this.currentToken = token;\n this._processStartTag(token);\n if (token.selfClosing && !token.ackSelfClosing) {\n this._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);\n }\n }\n /**\n * Processes a given start tag.\n *\n * `onStartTag` checks if a self-closing tag was recognized. When a token\n * is moved inbetween multiple insertion modes, this check for self-closing\n * could lead to false positives. To avoid this, `_processStartTag` is used\n * for nested calls.\n *\n * @param token The token to process.\n */\n _processStartTag(token) {\n if (this.shouldProcessStartTagTokenInForeignContent(token)) {\n startTagInForeignContent(this, token);\n }\n else {\n this._startTagOutsideForeignContent(token);\n }\n }\n _startTagOutsideForeignContent(token) {\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n startTagBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n startTagBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n startTagInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n startTagInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n startTagAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY: {\n startTagInBody(this, token);\n break;\n }\n case InsertionMode.IN_TABLE: {\n startTagInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.IN_CAPTION: {\n startTagInCaption(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n startTagInColumnGroup(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_BODY: {\n startTagInTableBody(this, token);\n break;\n }\n case InsertionMode.IN_ROW: {\n startTagInRow(this, token);\n break;\n }\n case InsertionMode.IN_CELL: {\n startTagInCell(this, token);\n break;\n }\n case InsertionMode.IN_SELECT: {\n startTagInSelect(this, token);\n break;\n }\n case InsertionMode.IN_SELECT_IN_TABLE: {\n startTagInSelectInTable(this, token);\n break;\n }\n case InsertionMode.IN_TEMPLATE: {\n startTagInTemplate(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n startTagAfterBody(this, token);\n break;\n }\n case InsertionMode.IN_FRAMESET: {\n startTagInFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_FRAMESET: {\n startTagAfterFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n startTagAfterAfterBody(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n startTagAfterAfterFrameset(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n onEndTag(token) {\n this.skipNextNewLine = false;\n this.currentToken = token;\n if (this.currentNotInHTML) {\n endTagInForeignContent(this, token);\n }\n else {\n this._endTagOutsideForeignContent(token);\n }\n }\n _endTagOutsideForeignContent(token) {\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n endTagBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n endTagBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n endTagInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n endTagInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n endTagAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY: {\n endTagInBody(this, token);\n break;\n }\n case InsertionMode.TEXT: {\n endTagInText(this, token);\n break;\n }\n case InsertionMode.IN_TABLE: {\n endTagInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.IN_CAPTION: {\n endTagInCaption(this, token);\n break;\n }\n case InsertionMode.IN_COLUMN_GROUP: {\n endTagInColumnGroup(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_BODY: {\n endTagInTableBody(this, token);\n break;\n }\n case InsertionMode.IN_ROW: {\n endTagInRow(this, token);\n break;\n }\n case InsertionMode.IN_CELL: {\n endTagInCell(this, token);\n break;\n }\n case InsertionMode.IN_SELECT: {\n endTagInSelect(this, token);\n break;\n }\n case InsertionMode.IN_SELECT_IN_TABLE: {\n endTagInSelectInTable(this, token);\n break;\n }\n case InsertionMode.IN_TEMPLATE: {\n endTagInTemplate(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY: {\n endTagAfterBody(this, token);\n break;\n }\n case InsertionMode.IN_FRAMESET: {\n endTagInFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_FRAMESET: {\n endTagAfterFrameset(this, token);\n break;\n }\n case InsertionMode.AFTER_AFTER_BODY: {\n tokenAfterAfterBody(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n onEof(token) {\n switch (this.insertionMode) {\n case InsertionMode.INITIAL: {\n tokenInInitialMode(this, token);\n break;\n }\n case InsertionMode.BEFORE_HTML: {\n tokenBeforeHtml(this, token);\n break;\n }\n case InsertionMode.BEFORE_HEAD: {\n tokenBeforeHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD: {\n tokenInHead(this, token);\n break;\n }\n case InsertionMode.IN_HEAD_NO_SCRIPT: {\n tokenInHeadNoScript(this, token);\n break;\n }\n case InsertionMode.AFTER_HEAD: {\n tokenAfterHead(this, token);\n break;\n }\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_COLUMN_GROUP:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE: {\n eofInBody(this, token);\n break;\n }\n case InsertionMode.TEXT: {\n eofInText(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n tokenInTableText(this, token);\n break;\n }\n case InsertionMode.IN_TEMPLATE: {\n eofInTemplate(this, token);\n break;\n }\n case InsertionMode.AFTER_BODY:\n case InsertionMode.IN_FRAMESET:\n case InsertionMode.AFTER_FRAMESET:\n case InsertionMode.AFTER_AFTER_BODY:\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n stopParsing(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n onWhitespaceCharacter(token) {\n if (this.skipNextNewLine) {\n this.skipNextNewLine = false;\n if (token.chars.charCodeAt(0) === _common_unicode_js__WEBPACK_IMPORTED_MODULE_7__.CODE_POINTS.LINE_FEED) {\n if (token.chars.length === 1) {\n return;\n }\n token.chars = token.chars.substr(1);\n }\n }\n if (this.tokenizer.inForeignNode) {\n this._insertCharacters(token);\n return;\n }\n switch (this.insertionMode) {\n case InsertionMode.IN_HEAD:\n case InsertionMode.IN_HEAD_NO_SCRIPT:\n case InsertionMode.AFTER_HEAD:\n case InsertionMode.TEXT:\n case InsertionMode.IN_COLUMN_GROUP:\n case InsertionMode.IN_SELECT:\n case InsertionMode.IN_SELECT_IN_TABLE:\n case InsertionMode.IN_FRAMESET:\n case InsertionMode.AFTER_FRAMESET: {\n this._insertCharacters(token);\n break;\n }\n case InsertionMode.IN_BODY:\n case InsertionMode.IN_CAPTION:\n case InsertionMode.IN_CELL:\n case InsertionMode.IN_TEMPLATE:\n case InsertionMode.AFTER_BODY:\n case InsertionMode.AFTER_AFTER_BODY:\n case InsertionMode.AFTER_AFTER_FRAMESET: {\n whitespaceCharacterInBody(this, token);\n break;\n }\n case InsertionMode.IN_TABLE:\n case InsertionMode.IN_TABLE_BODY:\n case InsertionMode.IN_ROW: {\n characterInTable(this, token);\n break;\n }\n case InsertionMode.IN_TABLE_TEXT: {\n whitespaceCharacterInTableText(this, token);\n break;\n }\n default:\n // Do nothing\n }\n }\n}\n//Adoption agency algorithm\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#adoptionAgency)\n//------------------------------------------------------------------\n//Steps 5-8 of the algorithm\nfunction aaObtainFormattingElementEntry(p, token) {\n let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);\n if (formattingElementEntry) {\n if (!p.openElements.contains(formattingElementEntry.element)) {\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n formattingElementEntry = null;\n }\n else if (!p.openElements.hasInScope(token.tagID)) {\n formattingElementEntry = null;\n }\n }\n else {\n genericEndTagInBody(p, token);\n }\n return formattingElementEntry;\n}\n//Steps 9 and 10 of the algorithm\nfunction aaObtainFurthestBlock(p, formattingElementEntry) {\n let furthestBlock = null;\n let idx = p.openElements.stackTop;\n for (; idx >= 0; idx--) {\n const element = p.openElements.items[idx];\n if (element === formattingElementEntry.element) {\n break;\n }\n if (p._isSpecialElement(element, p.openElements.tagIDs[idx])) {\n furthestBlock = element;\n }\n }\n if (!furthestBlock) {\n p.openElements.shortenToLength(idx < 0 ? 0 : idx);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n }\n return furthestBlock;\n}\n//Step 13 of the algorithm\nfunction aaInnerLoop(p, furthestBlock, formattingElement) {\n let lastElement = furthestBlock;\n let nextElement = p.openElements.getCommonAncestor(furthestBlock);\n for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {\n //NOTE: store the next element for the next loop iteration (it may be deleted from the stack by step 9.5)\n nextElement = p.openElements.getCommonAncestor(element);\n const elementEntry = p.activeFormattingElements.getElementEntry(element);\n const counterOverflow = elementEntry && i >= AA_INNER_LOOP_ITER;\n const shouldRemoveFromOpenElements = !elementEntry || counterOverflow;\n if (shouldRemoveFromOpenElements) {\n if (counterOverflow) {\n p.activeFormattingElements.removeEntry(elementEntry);\n }\n p.openElements.remove(element);\n }\n else {\n element = aaRecreateElementFromEntry(p, elementEntry);\n if (lastElement === furthestBlock) {\n p.activeFormattingElements.bookmark = elementEntry;\n }\n p.treeAdapter.detachNode(lastElement);\n p.treeAdapter.appendChild(element, lastElement);\n lastElement = element;\n }\n }\n return lastElement;\n}\n//Step 13.7 of the algorithm\nfunction aaRecreateElementFromEntry(p, elementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(elementEntry.element);\n const newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);\n p.openElements.replace(elementEntry.element, newElement);\n elementEntry.element = newElement;\n return newElement;\n}\n//Step 14 of the algorithm\nfunction aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {\n const tn = p.treeAdapter.getTagName(commonAncestor);\n const tid = (0,_common_html_js__WEBPACK_IMPORTED_MODULE_8__.getTagID)(tn);\n if (p._isElementCausesFosterParenting(tid)) {\n p._fosterParentElement(lastElement);\n }\n else {\n const ns = p.treeAdapter.getNamespaceURI(commonAncestor);\n if (tid === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE && ns === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML) {\n commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor);\n }\n p.treeAdapter.appendChild(commonAncestor, lastElement);\n }\n}\n//Steps 15-19 of the algorithm\nfunction aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element);\n const { token } = formattingElementEntry;\n const newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);\n p._adoptNodes(furthestBlock, newElement);\n p.treeAdapter.appendChild(furthestBlock, newElement);\n p.activeFormattingElements.insertElementAfterBookmark(newElement, token);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n p.openElements.remove(formattingElementEntry.element);\n p.openElements.insertAfter(furthestBlock, newElement, token.tagID);\n}\n//Algorithm entry point\nfunction callAdoptionAgency(p, token) {\n for (let i = 0; i < AA_OUTER_LOOP_ITER; i++) {\n const formattingElementEntry = aaObtainFormattingElementEntry(p, token);\n if (!formattingElementEntry) {\n break;\n }\n const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);\n if (!furthestBlock) {\n break;\n }\n p.activeFormattingElements.bookmark = formattingElementEntry;\n const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element);\n const commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);\n p.treeAdapter.detachNode(lastElement);\n if (commonAncestor)\n aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement);\n aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry);\n }\n}\n//Generic token handlers\n//------------------------------------------------------------------\nfunction appendComment(p, token) {\n p._appendCommentNode(token, p.openElements.currentTmplContentOrNode);\n}\nfunction appendCommentToRootHtmlElement(p, token) {\n p._appendCommentNode(token, p.openElements.items[0]);\n}\nfunction appendCommentToDocument(p, token) {\n p._appendCommentNode(token, p.document);\n}\nfunction stopParsing(p, token) {\n p.stopped = true;\n // NOTE: Set end locations for elements that remain on the open element stack.\n if (token.location) {\n // NOTE: If we are not in a fragment, `html` and `body` will stay on the stack.\n // This is a problem, as we might overwrite their end position here.\n const target = p.fragmentContext ? 0 : 2;\n for (let i = p.openElements.stackTop; i >= target; i--) {\n p._setEndLocation(p.openElements.items[i], token);\n }\n // Handle `html` and `body`\n if (!p.fragmentContext && p.openElements.stackTop >= 0) {\n const htmlElement = p.openElements.items[0];\n const htmlLocation = p.treeAdapter.getNodeSourceCodeLocation(htmlElement);\n if (htmlLocation && !htmlLocation.endTag) {\n p._setEndLocation(htmlElement, token);\n if (p.openElements.stackTop >= 1) {\n const bodyElement = p.openElements.items[1];\n const bodyLocation = p.treeAdapter.getNodeSourceCodeLocation(bodyElement);\n if (bodyLocation && !bodyLocation.endTag) {\n p._setEndLocation(bodyElement, token);\n }\n }\n }\n }\n }\n}\n// The "initial" insertion mode\n//------------------------------------------------------------------\nfunction doctypeInInitialMode(p, token) {\n p._setDocumentType(token);\n const mode = token.forceQuirks ? _common_html_js__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT_MODE.QUIRKS : _common_doctype_js__WEBPACK_IMPORTED_MODULE_4__.getDocumentMode(token);\n if (!_common_doctype_js__WEBPACK_IMPORTED_MODULE_4__.isConforming(token)) {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.nonConformingDoctype);\n }\n p.treeAdapter.setDocumentMode(p.document, mode);\n p.insertionMode = InsertionMode.BEFORE_HTML;\n}\nfunction tokenInInitialMode(p, token) {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.missingDoctype, true);\n p.treeAdapter.setDocumentMode(p.document, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT_MODE.QUIRKS);\n p.insertionMode = InsertionMode.BEFORE_HTML;\n p._processToken(token);\n}\n// The "before html" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHtml(p, token) {\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML) {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.BEFORE_HEAD;\n }\n else {\n tokenBeforeHtml(p, token);\n }\n}\nfunction endTagBeforeHtml(p, token) {\n const tn = token.tagID;\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR) {\n tokenBeforeHtml(p, token);\n }\n}\nfunction tokenBeforeHtml(p, token) {\n p._insertFakeRootElement();\n p.insertionMode = InsertionMode.BEFORE_HEAD;\n p._processToken(token);\n}\n// The "before head" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHead(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD: {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.headElement = p.openElements.current;\n p.insertionMode = InsertionMode.IN_HEAD;\n break;\n }\n default: {\n tokenBeforeHead(p, token);\n }\n }\n}\nfunction endTagBeforeHead(p, token) {\n const tn = token.tagID;\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR) {\n tokenBeforeHead(p, token);\n }\n else {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.endTagWithoutMatchingOpenElement);\n }\n}\nfunction tokenBeforeHead(p, token) {\n p._insertFakeElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.HEAD, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD);\n p.headElement = p.openElements.current;\n p.insertionMode = InsertionMode.IN_HEAD;\n p._processToken(token);\n}\n// The "in head" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHead(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASEFONT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BGSOUND:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LINK:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.META: {\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n token.ackSelfClosing = true;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TITLE: {\n p._switchToTextParsing(token, _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RCDATA);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOSCRIPT: {\n if (p.options.scriptingEnabled) {\n p._switchToTextParsing(token, _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RAWTEXT);\n }\n else {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_HEAD_NO_SCRIPT;\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STYLE: {\n p._switchToTextParsing(token, _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RAWTEXT);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT: {\n p._switchToTextParsing(token, _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.SCRIPT_DATA);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n p._insertTemplate(token);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n p.insertionMode = InsertionMode.IN_TEMPLATE;\n p.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD: {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.misplacedStartTagForHeadElement);\n break;\n }\n default: {\n tokenInHead(p, token);\n }\n }\n}\nfunction endTagInHead(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD: {\n p.openElements.pop();\n p.insertionMode = InsertionMode.AFTER_HEAD;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n tokenInHead(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default: {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.endTagWithoutMatchingOpenElement);\n }\n }\n}\nfunction templateEndTagInHead(p, token) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.generateImpliedEndTagsThoroughly();\n if (p.openElements.currentTagId !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE) {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.closingOfElementWithOpenChildElements);\n }\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p.tmplInsertionModeStack.shift();\n p._resetInsertionMode();\n }\n else {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.endTagWithoutMatchingOpenElement);\n }\n}\nfunction tokenInHead(p, token) {\n p.openElements.pop();\n p.insertionMode = InsertionMode.AFTER_HEAD;\n p._processToken(token);\n}\n// The "in head no script" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHeadNoScript(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASEFONT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BGSOUND:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LINK:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.META:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STYLE: {\n startTagInHead(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOSCRIPT: {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.nestedNoscriptInHead);\n break;\n }\n default: {\n tokenInHeadNoScript(p, token);\n }\n }\n}\nfunction endTagInHeadNoScript(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOSCRIPT: {\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_HEAD;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR: {\n tokenInHeadNoScript(p, token);\n break;\n }\n default: {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.endTagWithoutMatchingOpenElement);\n }\n }\n}\nfunction tokenInHeadNoScript(p, token) {\n const errCode = token.type === _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.EOF ? _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.openElementsLeftAfterEof : _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.disallowedContentInNoscriptInHead;\n p._err(token, errCode);\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_HEAD;\n p._processToken(token);\n}\n// The "after head" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterHead(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY: {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.framesetOk = false;\n p.insertionMode = InsertionMode.IN_BODY;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAMESET: {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_FRAMESET;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASEFONT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BGSOUND:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LINK:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.META:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STYLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TITLE: {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.abandonedHeadElementChild);\n p.openElements.push(p.headElement, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD);\n startTagInHead(p, token);\n p.openElements.remove(p.headElement);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD: {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.misplacedStartTagForHeadElement);\n break;\n }\n default: {\n tokenAfterHead(p, token);\n }\n }\n}\nfunction endTagAfterHead(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR: {\n tokenAfterHead(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default: {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.endTagWithoutMatchingOpenElement);\n }\n }\n}\nfunction tokenAfterHead(p, token) {\n p._insertFakeElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.BODY, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY);\n p.insertionMode = InsertionMode.IN_BODY;\n modeInBody(p, token);\n}\n// The "in body" insertion mode\n//------------------------------------------------------------------\nfunction modeInBody(p, token) {\n switch (token.type) {\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.CHARACTER: {\n characterInBody(p, token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.WHITESPACE_CHARACTER: {\n whitespaceCharacterInBody(p, token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.COMMENT: {\n appendComment(p, token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.START_TAG: {\n startTagInBody(p, token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.END_TAG: {\n endTagInBody(p, token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.EOF: {\n eofInBody(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction whitespaceCharacterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n}\nfunction characterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n p.framesetOk = false;\n}\nfunction htmlStartTagInBody(p, token) {\n if (p.openElements.tmplCount === 0) {\n p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs);\n }\n}\nfunction bodyStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n if (bodyElement && p.openElements.tmplCount === 0) {\n p.framesetOk = false;\n p.treeAdapter.adoptAttributes(bodyElement, token.attrs);\n }\n}\nfunction framesetStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n if (p.framesetOk && bodyElement) {\n p.treeAdapter.detachNode(bodyElement);\n p.openElements.popAllUpToHtmlElement();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_FRAMESET;\n }\n}\nfunction addressStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n}\nfunction numberedHeaderStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n if ((0,_common_html_js__WEBPACK_IMPORTED_MODULE_8__.isNumberedHeader)(p.openElements.currentTagId)) {\n p.openElements.pop();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n}\nfunction preStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of pre blocks are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.framesetOk = false;\n}\nfunction formStartTagInBody(p, token) {\n const inTemplate = p.openElements.tmplCount > 0;\n if (!p.formElement || inTemplate) {\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n if (!inTemplate) {\n p.formElement = p.openElements.current;\n }\n }\n}\nfunction listItemStartTagInBody(p, token) {\n p.framesetOk = false;\n const tn = token.tagID;\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const elementId = p.openElements.tagIDs[i];\n if ((tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LI && elementId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LI) ||\n ((tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DD || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DT) && (elementId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DD || elementId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DT))) {\n p.openElements.generateImpliedEndTagsWithExclusion(elementId);\n p.openElements.popUntilTagNamePopped(elementId);\n break;\n }\n if (elementId !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.ADDRESS &&\n elementId !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DIV &&\n elementId !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P &&\n p._isSpecialElement(p.openElements.items[i], elementId)) {\n break;\n }\n }\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n}\nfunction plaintextStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.tokenizer.state = _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.PLAINTEXT;\n}\nfunction buttonStartTagInBody(p, token) {\n if (p.openElements.hasInScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BUTTON)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BUTTON);\n }\n p._reconstructActiveFormattingElements();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.framesetOk = false;\n}\nfunction aStartTagInBody(p, token) {\n const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.A);\n if (activeElementEntry) {\n callAdoptionAgency(p, token);\n p.openElements.remove(activeElementEntry.element);\n p.activeFormattingElements.removeEntry(activeElementEntry);\n }\n p._reconstructActiveFormattingElements();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\nfunction bStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\nfunction nobrStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n if (p.openElements.hasInScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOBR)) {\n callAdoptionAgency(p, token);\n p._reconstructActiveFormattingElements();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\nfunction appletStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n}\nfunction tableStartTagInBody(p, token) {\n if (p.treeAdapter.getDocumentMode(p.document) !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT_MODE.QUIRKS && p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.framesetOk = false;\n p.insertionMode = InsertionMode.IN_TABLE;\n}\nfunction areaStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\nfunction isHiddenInput(token) {\n const inputType = (0,_common_token_js__WEBPACK_IMPORTED_MODULE_9__.getTokenAttr)(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.ATTRS.TYPE);\n return inputType != null && inputType.toLowerCase() === HIDDEN_INPUT_TYPE;\n}\nfunction inputStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n if (!isHiddenInput(token)) {\n p.framesetOk = false;\n }\n token.ackSelfClosing = true;\n}\nfunction paramStartTagInBody(p, token) {\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n token.ackSelfClosing = true;\n}\nfunction hrStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\nfunction imageStartTagInBody(p, token) {\n token.tagName = _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.IMG;\n token.tagID = _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.IMG;\n areaStartTagInBody(p, token);\n}\nfunction textareaStartTagInBody(p, token) {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of textarea elements are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.tokenizer.state = _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RCDATA;\n p.originalInsertionMode = p.insertionMode;\n p.framesetOk = false;\n p.insertionMode = InsertionMode.TEXT;\n}\nfunction xmpStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._closePElement();\n }\n p._reconstructActiveFormattingElements();\n p.framesetOk = false;\n p._switchToTextParsing(token, _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RAWTEXT);\n}\nfunction iframeStartTagInBody(p, token) {\n p.framesetOk = false;\n p._switchToTextParsing(token, _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RAWTEXT);\n}\n//NOTE: here we assume that we always act as an user agent with enabled plugins, so we parse\n//<noembed> as rawtext.\nfunction noembedStartTagInBody(p, token) {\n p._switchToTextParsing(token, _tokenizer_index_js__WEBPACK_IMPORTED_MODULE_0__.TokenizerMode.RAWTEXT);\n}\nfunction selectStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.framesetOk = false;\n p.insertionMode =\n p.insertionMode === InsertionMode.IN_TABLE ||\n p.insertionMode === InsertionMode.IN_CAPTION ||\n p.insertionMode === InsertionMode.IN_TABLE_BODY ||\n p.insertionMode === InsertionMode.IN_ROW ||\n p.insertionMode === InsertionMode.IN_CELL\n ? InsertionMode.IN_SELECT_IN_TABLE\n : InsertionMode.IN_SELECT;\n}\nfunction optgroupStartTagInBody(p, token) {\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION) {\n p.openElements.pop();\n }\n p._reconstructActiveFormattingElements();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n}\nfunction rbStartTagInBody(p, token) {\n if (p.openElements.hasInScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.RUBY)) {\n p.openElements.generateImpliedEndTags();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n}\nfunction rtStartTagInBody(p, token) {\n if (p.openElements.hasInScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.RUBY)) {\n p.openElements.generateImpliedEndTagsWithExclusion(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.RTC);\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n}\nfunction mathStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenMathMLAttrs(token);\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenXMLAttrs(token);\n if (token.selfClosing) {\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.MATHML);\n }\n else {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.MATHML);\n }\n token.ackSelfClosing = true;\n}\nfunction svgStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenSVGAttrs(token);\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenXMLAttrs(token);\n if (token.selfClosing) {\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.SVG);\n }\n else {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.SVG);\n }\n token.ackSelfClosing = true;\n}\nfunction genericStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n}\nfunction startTagInBody(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.I:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.S:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.B:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.U:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.EM:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BIG:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CODE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FONT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SMALL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STRIKE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STRONG: {\n bStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.A: {\n aStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H1:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H2:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H3:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H4:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H5:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H6: {\n numberedHeaderStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.UL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DIV:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DIR:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NAV:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MAIN:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MENU:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.ASIDE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CENTER:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FIGURE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FOOTER:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEADER:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DIALOG:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DETAILS:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.ADDRESS:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.ARTICLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SECTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SUMMARY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FIELDSET:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BLOCKQUOTE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FIGCAPTION: {\n addressStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LI:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DT: {\n listItemStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.IMG:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.WBR:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.AREA:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.EMBED:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.KEYGEN: {\n areaStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HR: {\n hrStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.RB:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.RTC: {\n rbStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.RT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.RP: {\n rtStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.PRE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LISTING: {\n preStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.XMP: {\n xmpStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SVG: {\n svgStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n htmlStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LINK:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.META:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STYLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TITLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BGSOUND:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASEFONT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY: {\n bodyStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FORM: {\n formStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOBR: {\n nobrStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MATH: {\n mathStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n tableStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.INPUT: {\n inputStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.PARAM:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TRACK:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SOURCE: {\n paramStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.IMAGE: {\n imageStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BUTTON: {\n buttonStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.APPLET:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OBJECT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MARQUEE: {\n appletStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.IFRAME: {\n iframeStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT: {\n selectStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTGROUP: {\n optgroupStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOEMBED: {\n noembedStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAMESET: {\n framesetStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEXTAREA: {\n textareaStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOSCRIPT: {\n if (p.options.scriptingEnabled) {\n noembedStartTagInBody(p, token);\n }\n else {\n genericStartTagInBody(p, token);\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.PLAINTEXT: {\n plaintextStartTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAME:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP: {\n // Ignore token\n break;\n }\n default: {\n genericStartTagInBody(p, token);\n }\n }\n}\nfunction bodyEndTagInBody(p, token) {\n if (p.openElements.hasInScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY)) {\n p.insertionMode = InsertionMode.AFTER_BODY;\n //NOTE: <body> is never popped from the stack, so we need to updated\n //the end location explicitly.\n if (p.options.sourceCodeLocationInfo) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n if (bodyElement) {\n p._setEndLocation(bodyElement, token);\n }\n }\n }\n}\nfunction htmlEndTagInBody(p, token) {\n if (p.openElements.hasInScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY)) {\n p.insertionMode = InsertionMode.AFTER_BODY;\n endTagAfterBody(p, token);\n }\n}\nfunction addressEndTagInBody(p, token) {\n const tn = token.tagID;\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\nfunction formEndTagInBody(p) {\n const inTemplate = p.openElements.tmplCount > 0;\n const { formElement } = p;\n if (!inTemplate) {\n p.formElement = null;\n }\n if ((formElement || inTemplate) && p.openElements.hasInScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FORM)) {\n p.openElements.generateImpliedEndTags();\n if (inTemplate) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FORM);\n }\n else if (formElement) {\n p.openElements.remove(formElement);\n }\n }\n}\nfunction pEndTagInBody(p) {\n if (!p.openElements.hasInButtonScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P)) {\n p._insertFakeElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.P, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P);\n }\n p._closePElement();\n}\nfunction liEndTagInBody(p) {\n if (p.openElements.hasInListItemScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LI)) {\n p.openElements.generateImpliedEndTagsWithExclusion(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LI);\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LI);\n }\n}\nfunction ddEndTagInBody(p, token) {\n const tn = token.tagID;\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\nfunction numberedHeaderEndTagInBody(p) {\n if (p.openElements.hasNumberedHeaderInScope()) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilNumberedHeaderPopped();\n }\n}\nfunction appletEndTagInBody(p, token) {\n const tn = token.tagID;\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n }\n}\nfunction brEndTagInBody(p) {\n p._reconstructActiveFormattingElements();\n p._insertFakeElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.BR, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR);\n p.openElements.pop();\n p.framesetOk = false;\n}\nfunction genericEndTagInBody(p, token) {\n const tn = token.tagName;\n const tid = token.tagID;\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n const elementId = p.openElements.tagIDs[i];\n // Compare the tag name here, as the tag might not be a known tag with an ID.\n if (tid === elementId && (tid !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.UNKNOWN || p.treeAdapter.getTagName(element) === tn)) {\n p.openElements.generateImpliedEndTagsWithExclusion(tid);\n if (p.openElements.stackTop >= i)\n p.openElements.shortenToLength(i);\n break;\n }\n if (p._isSpecialElement(element, elementId)) {\n break;\n }\n }\n}\nfunction endTagInBody(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.A:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.B:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.I:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.S:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.U:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.EM:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BIG:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CODE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FONT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOBR:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SMALL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STRIKE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STRONG: {\n callAdoptionAgency(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P: {\n pEndTagInBody(p);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.UL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DIR:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DIV:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NAV:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.PRE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MAIN:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MENU:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.ASIDE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BUTTON:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CENTER:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FIGURE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FOOTER:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HEADER:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DIALOG:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.ADDRESS:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.ARTICLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DETAILS:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SECTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SUMMARY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LISTING:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FIELDSET:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BLOCKQUOTE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FIGCAPTION: {\n addressEndTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LI: {\n liEndTagInBody(p);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.DT: {\n ddEndTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H1:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H2:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H3:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H4:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H5:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.H6: {\n numberedHeaderEndTagInBody(p);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR: {\n brEndTagInBody(p);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY: {\n bodyEndTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n htmlEndTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FORM: {\n formEndTagInBody(p);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.APPLET:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OBJECT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.MARQUEE: {\n appletEndTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default: {\n genericEndTagInBody(p, token);\n }\n }\n}\nfunction eofInBody(p, token) {\n if (p.tmplInsertionModeStack.length > 0) {\n eofInTemplate(p, token);\n }\n else {\n stopParsing(p, token);\n }\n}\n// The "text" insertion mode\n//------------------------------------------------------------------\nfunction endTagInText(p, token) {\n var _a;\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT) {\n (_a = p.scriptHandler) === null || _a === void 0 ? void 0 : _a.call(p, p.openElements.current);\n }\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n}\nfunction eofInText(p, token) {\n p._err(token, _common_error_codes_js__WEBPACK_IMPORTED_MODULE_6__.ERR.eofInElementThatCanContainOnlyText);\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n p.onEof(token);\n}\n// The "in table" insertion mode\n//------------------------------------------------------------------\nfunction characterInTable(p, token) {\n if (TABLE_STRUCTURE_TAGS.has(p.openElements.currentTagId)) {\n p.pendingCharacterTokens.length = 0;\n p.hasNonWhitespacePendingCharacterToken = false;\n p.originalInsertionMode = p.insertionMode;\n p.insertionMode = InsertionMode.IN_TABLE_TEXT;\n switch (token.type) {\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.CHARACTER: {\n characterInTableText(p, token);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_9__.TokenType.WHITESPACE_CHARACTER: {\n whitespaceCharacterInTableText(p, token);\n break;\n }\n // Ignore null\n }\n }\n else {\n tokenInTable(p, token);\n }\n}\nfunction captionStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p.activeFormattingElements.insertMarker();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_CAPTION;\n}\nfunction colgroupStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n}\nfunction colStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.COLGROUP, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP);\n p.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n startTagInColumnGroup(p, token);\n}\nfunction tbodyStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n}\nfunction tdStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.TBODY, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY);\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n startTagInTableBody(p, token);\n}\nfunction tableStartTagInTable(p, token) {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE)) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE);\n p._resetInsertionMode();\n p._processStartTag(token);\n }\n}\nfunction inputStartTagInTable(p, token) {\n if (isHiddenInput(token)) {\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n }\n else {\n tokenInTable(p, token);\n }\n token.ackSelfClosing = true;\n}\nfunction formStartTagInTable(p, token) {\n if (!p.formElement && p.openElements.tmplCount === 0) {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.formElement = p.openElements.current;\n p.openElements.pop();\n }\n}\nfunction startTagInTable(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n tdStartTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STYLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL: {\n colStartTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FORM: {\n formStartTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n tableStartTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD: {\n tbodyStartTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.INPUT: {\n inputStartTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION: {\n captionStartTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP: {\n colgroupStartTagInTable(p, token);\n break;\n }\n default: {\n tokenInTable(p, token);\n }\n }\n}\nfunction endTagInTable(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE)) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE);\n p._resetInsertionMode();\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n // Ignore token\n break;\n }\n default: {\n tokenInTable(p, token);\n }\n }\n}\nfunction tokenInTable(p, token) {\n const savedFosterParentingState = p.fosterParentingEnabled;\n p.fosterParentingEnabled = true;\n // Process token in `In Body` mode\n modeInBody(p, token);\n p.fosterParentingEnabled = savedFosterParentingState;\n}\n// The "in table text" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n}\nfunction characterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n p.hasNonWhitespacePendingCharacterToken = true;\n}\nfunction tokenInTableText(p, token) {\n let i = 0;\n if (p.hasNonWhitespacePendingCharacterToken) {\n for (; i < p.pendingCharacterTokens.length; i++) {\n tokenInTable(p, p.pendingCharacterTokens[i]);\n }\n }\n else {\n for (; i < p.pendingCharacterTokens.length; i++) {\n p._insertCharacters(p.pendingCharacterTokens[i]);\n }\n }\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n// The "in caption" insertion mode\n//------------------------------------------------------------------\nconst TABLE_VOID_ELEMENTS = new Set([_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR]);\nfunction startTagInCaption(p, token) {\n const tn = token.tagID;\n if (TABLE_VOID_ELEMENTS.has(tn)) {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = InsertionMode.IN_TABLE;\n startTagInTable(p, token);\n }\n }\n else {\n startTagInBody(p, token);\n }\n}\nfunction endTagInCaption(p, token) {\n const tn = token.tagID;\n switch (tn) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = InsertionMode.IN_TABLE;\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE) {\n endTagInTable(p, token);\n }\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n // Ignore token\n break;\n }\n default: {\n endTagInBody(p, token);\n }\n }\n}\n// The "in column group" insertion mode\n//------------------------------------------------------------------\nfunction startTagInColumnGroup(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL: {\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n token.ackSelfClosing = true;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n default: {\n tokenInColumnGroup(p, token);\n }\n }\n}\nfunction endTagInColumnGroup(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP: {\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL: {\n // Ignore token\n break;\n }\n default: {\n tokenInColumnGroup(p, token);\n }\n }\n}\nfunction tokenInColumnGroup(p, token) {\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n p._processToken(token);\n }\n}\n// The "in table body" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTableBody(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n p.openElements.clearBackToTableBodyContext();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_ROW;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD: {\n p.openElements.clearBackToTableBodyContext();\n p._insertFakeElement(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_NAMES.TR, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR);\n p.insertionMode = InsertionMode.IN_ROW;\n startTagInRow(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD: {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n startTagInTable(p, token);\n }\n break;\n }\n default: {\n startTagInTable(p, token);\n }\n }\n}\nfunction endTagInTableBody(p, token) {\n const tn = token.tagID;\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD: {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE;\n endTagInTable(p, token);\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n // Ignore token\n break;\n }\n default: {\n endTagInTable(p, token);\n }\n }\n}\n// The "in row" insertion mode\n//------------------------------------------------------------------\nfunction startTagInRow(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD: {\n p.openElements.clearBackToTableRowContext();\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n p.insertionMode = InsertionMode.IN_CELL;\n p.activeFormattingElements.insertMarker();\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n startTagInTableBody(p, token);\n }\n break;\n }\n default: {\n startTagInTable(p, token);\n }\n }\n}\nfunction endTagInRow(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE: {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n endTagInTableBody(p, token);\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD: {\n if (p.openElements.hasInTableScope(token.tagID) || p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n endTagInTableBody(p, token);\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH: {\n // Ignore end tag\n break;\n }\n default: {\n endTagInTable(p, token);\n }\n }\n}\n// The "in cell" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCell(p, token) {\n const tn = token.tagID;\n if (TABLE_VOID_ELEMENTS.has(tn)) {\n if (p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD) || p.openElements.hasInTableScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH)) {\n p._closeTableCell();\n startTagInRow(p, token);\n }\n }\n else {\n startTagInBody(p, token);\n }\n}\nfunction endTagInCell(p, token) {\n const tn = token.tagID;\n switch (tn) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH: {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = InsertionMode.IN_ROW;\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n if (p.openElements.hasInTableScope(tn)) {\n p._closeTableCell();\n endTagInRow(p, token);\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n // Ignore token\n break;\n }\n default: {\n endTagInBody(p, token);\n }\n }\n}\n// The "in select" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelect(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION: {\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION) {\n p.openElements.pop();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTGROUP: {\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION) {\n p.openElements.pop();\n }\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTGROUP) {\n p.openElements.pop();\n }\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.INPUT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.KEYGEN:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEXTAREA:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT: {\n if (p.openElements.hasInSelectScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT)) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT);\n p._resetInsertionMode();\n if (token.tagID !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT) {\n p._processStartTag(token);\n }\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction endTagInSelect(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTGROUP: {\n if (p.openElements.stackTop > 0 &&\n p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION &&\n p.openElements.tagIDs[p.openElements.stackTop - 1] === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTGROUP) {\n p.openElements.pop();\n }\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTGROUP) {\n p.openElements.pop();\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION: {\n if (p.openElements.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.OPTION) {\n p.openElements.pop();\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT: {\n if (p.openElements.hasInSelectScope(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT)) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT);\n p._resetInsertionMode();\n }\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE: {\n templateEndTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\n// The "in select in table" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelectInTable(p, token) {\n const tn = token.tagID;\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT);\n p._resetInsertionMode();\n p._processStartTag(token);\n }\n else {\n startTagInSelect(p, token);\n }\n}\nfunction endTagInSelectInTable(p, token) {\n const tn = token.tagID;\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TABLE ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD ||\n tn === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SELECT);\n p._resetInsertionMode();\n p.onEndTag(token);\n }\n }\n else {\n endTagInSelect(p, token);\n }\n}\n// The "in template" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTemplate(p, token) {\n switch (token.tagID) {\n // First, handle tags that can start without a mode change\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BASEFONT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BGSOUND:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.LINK:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.META:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.SCRIPT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.STYLE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TITLE: {\n startTagInHead(p, token);\n break;\n }\n // Re-process the token in the appropriate mode\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.CAPTION:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COLGROUP:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TBODY:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TFOOT:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.THEAD: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE;\n p.insertionMode = InsertionMode.IN_TABLE;\n startTagInTable(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.COL: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_COLUMN_GROUP;\n p.insertionMode = InsertionMode.IN_COLUMN_GROUP;\n startTagInColumnGroup(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TR: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE_BODY;\n p.insertionMode = InsertionMode.IN_TABLE_BODY;\n startTagInTableBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TD:\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TH: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_ROW;\n p.insertionMode = InsertionMode.IN_ROW;\n startTagInRow(p, token);\n break;\n }\n default: {\n p.tmplInsertionModeStack[0] = InsertionMode.IN_BODY;\n p.insertionMode = InsertionMode.IN_BODY;\n startTagInBody(p, token);\n }\n }\n}\nfunction endTagInTemplate(p, token) {\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE) {\n templateEndTagInHead(p, token);\n }\n}\nfunction eofInTemplate(p, token) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.popUntilTagNamePopped(_common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p.tmplInsertionModeStack.shift();\n p._resetInsertionMode();\n p.onEof(token);\n }\n else {\n stopParsing(p, token);\n }\n}\n// The "after body" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterBody(p, token) {\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML) {\n startTagInBody(p, token);\n }\n else {\n tokenAfterBody(p, token);\n }\n}\nfunction endTagAfterBody(p, token) {\n var _a;\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML) {\n if (!p.fragmentContext) {\n p.insertionMode = InsertionMode.AFTER_AFTER_BODY;\n }\n //NOTE: <html> is never popped from the stack, so we need to updated\n //the end location explicitly.\n if (p.options.sourceCodeLocationInfo && p.openElements.tagIDs[0] === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML) {\n p._setEndLocation(p.openElements.items[0], token);\n // Update the body element, if it doesn\'t have an end tag\n const bodyElement = p.openElements.items[1];\n if (bodyElement && !((_a = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a === void 0 ? void 0 : _a.endTag)) {\n p._setEndLocation(bodyElement, token);\n }\n }\n }\n else {\n tokenAfterBody(p, token);\n }\n}\nfunction tokenAfterBody(p, token) {\n p.insertionMode = InsertionMode.IN_BODY;\n modeInBody(p, token);\n}\n// The "in frameset" insertion mode\n//------------------------------------------------------------------\nfunction startTagInFrameset(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAMESET: {\n p._insertElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAME: {\n p._appendElement(token, _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML);\n token.ackSelfClosing = true;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction endTagInFrameset(p, token) {\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAMESET && !p.openElements.isRootHtmlElementCurrent()) {\n p.openElements.pop();\n if (!p.fragmentContext && p.openElements.currentTagId !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.FRAMESET) {\n p.insertionMode = InsertionMode.AFTER_FRAMESET;\n }\n }\n}\n// The "after frameset" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterFrameset(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\nfunction endTagAfterFrameset(p, token) {\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML) {\n p.insertionMode = InsertionMode.AFTER_AFTER_FRAMESET;\n }\n}\n// The "after after body" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterBody(p, token) {\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML) {\n startTagInBody(p, token);\n }\n else {\n tokenAfterAfterBody(p, token);\n }\n}\nfunction tokenAfterAfterBody(p, token) {\n p.insertionMode = InsertionMode.IN_BODY;\n modeInBody(p, token);\n}\n// The "after after frameset" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterFrameset(p, token) {\n switch (token.tagID) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.HTML: {\n startTagInBody(p, token);\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.NOFRAMES: {\n startTagInHead(p, token);\n break;\n }\n default:\n // Do nothing\n }\n}\n// The rules for parsing tokens in foreign content\n//------------------------------------------------------------------\nfunction nullCharacterInForeignContent(p, token) {\n token.chars = _common_unicode_js__WEBPACK_IMPORTED_MODULE_7__.REPLACEMENT_CHARACTER;\n p._insertCharacters(token);\n}\nfunction characterInForeignContent(p, token) {\n p._insertCharacters(token);\n p.framesetOk = false;\n}\nfunction popUntilHtmlOrIntegrationPoint(p) {\n while (p.treeAdapter.getNamespaceURI(p.openElements.current) !== _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML &&\n !p._isIntegrationPoint(p.openElements.currentTagId, p.openElements.current)) {\n p.openElements.pop();\n }\n}\nfunction startTagInForeignContent(p, token) {\n if (_common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.causesExit(token)) {\n popUntilHtmlOrIntegrationPoint(p);\n p._startTagOutsideForeignContent(token);\n }\n else {\n const current = p._getAdjustedCurrentElement();\n const currentNs = p.treeAdapter.getNamespaceURI(current);\n if (currentNs === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.MATHML) {\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenMathMLAttrs(token);\n }\n else if (currentNs === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.SVG) {\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenSVGTagName(token);\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenSVGAttrs(token);\n }\n _common_foreign_content_js__WEBPACK_IMPORTED_MODULE_5__.adjustTokenXMLAttrs(token);\n if (token.selfClosing) {\n p._appendElement(token, currentNs);\n }\n else {\n p._insertElement(token, currentNs);\n }\n token.ackSelfClosing = true;\n }\n}\nfunction endTagInForeignContent(p, token) {\n if (token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.P || token.tagID === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.TAG_ID.BR) {\n popUntilHtmlOrIntegrationPoint(p);\n p._endTagOutsideForeignContent(token);\n return;\n }\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n if (p.treeAdapter.getNamespaceURI(element) === _common_html_js__WEBPACK_IMPORTED_MODULE_8__.NS.HTML) {\n p._endTagOutsideForeignContent(token);\n break;\n }\n const tagName = p.treeAdapter.getTagName(element);\n if (tagName.toLowerCase() === token.tagName) {\n //NOTE: update the token tag name for `_setEndLocation`.\n token.tagName = tagName;\n p.openElements.shortenToLength(i);\n break;\n }\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/parser/index.js?')},"../wabac.js/node_modules/parse5/dist/parser/open-element-stack.js":
/*!*************************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/parser/open-element-stack.js ***!
\*************************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OpenElementStack": () => (/* binding */ OpenElementStack)\n/* harmony export */ });\n/* harmony import */ var _common_html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/html.js */ "../wabac.js/node_modules/parse5/dist/common/html.js");\n\n//Element utils\nconst IMPLICIT_END_TAG_REQUIRED = new Set([_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DD, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.LI, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.OPTGROUP, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.OPTION, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.P, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.RB, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.RP, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.RT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.RTC]);\nconst IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([\n ...IMPLICIT_END_TAG_REQUIRED,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.CAPTION,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.COLGROUP,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TBODY,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TD,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TFOOT,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TH,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.THEAD,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TR,\n]);\nconst SCOPING_ELEMENT_NS = new Map([\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.APPLET, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.CAPTION, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HTML, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MARQUEE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.OBJECT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TABLE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TD, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TEMPLATE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TH, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.ANNOTATION_XML, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MI, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MN, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MO, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MS, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.MTEXT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.MATHML],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.DESC, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.SVG],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.FOREIGN_OBJECT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.SVG],\n [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TITLE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.SVG],\n]);\nconst NAMED_HEADERS = [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H1, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H2, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H3, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H4, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H5, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.H6];\nconst TABLE_ROW_CONTEXT = [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TR, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TEMPLATE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HTML];\nconst TABLE_BODY_CONTEXT = [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TBODY, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TFOOT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.THEAD, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TEMPLATE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HTML];\nconst TABLE_CONTEXT = [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TABLE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TEMPLATE, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HTML];\nconst TABLE_CELLS = [_common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TD, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TH];\n//Stack of open elements\nclass OpenElementStack {\n get currentTmplContentOrNode() {\n return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;\n }\n constructor(document, treeAdapter, handler) {\n this.treeAdapter = treeAdapter;\n this.handler = handler;\n this.items = [];\n this.tagIDs = [];\n this.stackTop = -1;\n this.tmplCount = 0;\n this.currentTagId = _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.UNKNOWN;\n this.current = document;\n }\n //Index of element\n _indexOf(element) {\n return this.items.lastIndexOf(element, this.stackTop);\n }\n //Update current element\n _isInTemplate() {\n return this.currentTagId === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML;\n }\n _updateCurrentElement() {\n this.current = this.items[this.stackTop];\n this.currentTagId = this.tagIDs[this.stackTop];\n }\n //Mutations\n push(element, tagID) {\n this.stackTop++;\n this.items[this.stackTop] = element;\n this.current = element;\n this.tagIDs[this.stackTop] = tagID;\n this.currentTagId = tagID;\n if (this._isInTemplate()) {\n this.tmplCount++;\n }\n this.handler.onItemPush(element, tagID, true);\n }\n pop() {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount--;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, true);\n }\n replace(oldElement, newElement) {\n const idx = this._indexOf(oldElement);\n this.items[idx] = newElement;\n if (idx === this.stackTop) {\n this.current = newElement;\n }\n }\n insertAfter(referenceElement, newElement, newElementID) {\n const insertionIdx = this._indexOf(referenceElement) + 1;\n this.items.splice(insertionIdx, 0, newElement);\n this.tagIDs.splice(insertionIdx, 0, newElementID);\n this.stackTop++;\n if (insertionIdx === this.stackTop) {\n this._updateCurrentElement();\n }\n this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);\n }\n popUntilTagNamePopped(tagName) {\n let targetIdx = this.stackTop + 1;\n do {\n targetIdx = this.tagIDs.lastIndexOf(tagName, targetIdx - 1);\n } while (targetIdx > 0 && this.treeAdapter.getNamespaceURI(this.items[targetIdx]) !== _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML);\n this.shortenToLength(targetIdx < 0 ? 0 : targetIdx);\n }\n shortenToLength(idx) {\n while (this.stackTop >= idx) {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount -= 1;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, this.stackTop < idx);\n }\n }\n popUntilElementPopped(element) {\n const idx = this._indexOf(element);\n this.shortenToLength(idx < 0 ? 0 : idx);\n }\n popUntilPopped(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx < 0 ? 0 : idx);\n }\n popUntilNumberedHeaderPopped() {\n this.popUntilPopped(NAMED_HEADERS, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML);\n }\n popUntilTableCellPopped() {\n this.popUntilPopped(TABLE_CELLS, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML);\n }\n popAllUpToHtmlElement() {\n //NOTE: here we assume that the root <html> element is always first in the open element stack, so\n //we perform this fast stack clean up.\n this.tmplCount = 0;\n this.shortenToLength(1);\n }\n _indexOfTagNames(tagNames, namespace) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (tagNames.includes(this.tagIDs[i]) && this.treeAdapter.getNamespaceURI(this.items[i]) === namespace) {\n return i;\n }\n }\n return -1;\n }\n clearBackTo(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx + 1);\n }\n clearBackToTableContext() {\n this.clearBackTo(TABLE_CONTEXT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML);\n }\n clearBackToTableBodyContext() {\n this.clearBackTo(TABLE_BODY_CONTEXT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML);\n }\n clearBackToTableRowContext() {\n this.clearBackTo(TABLE_ROW_CONTEXT, _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML);\n }\n remove(element) {\n const idx = this._indexOf(element);\n if (idx >= 0) {\n if (idx === this.stackTop) {\n this.pop();\n }\n else {\n this.items.splice(idx, 1);\n this.tagIDs.splice(idx, 1);\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(element, false);\n }\n }\n }\n //Search\n tryPeekProperlyNestedBodyElement() {\n //Properly nested <body> element (should be second element in stack).\n return this.stackTop >= 1 && this.tagIDs[1] === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.BODY ? this.items[1] : null;\n }\n contains(element) {\n return this._indexOf(element) > -1;\n }\n getCommonAncestor(element) {\n const elementIdx = this._indexOf(element) - 1;\n return elementIdx >= 0 ? this.items[elementIdx] : null;\n }\n isRootHtmlElementCurrent() {\n return this.stackTop === 0 && this.tagIDs[0] === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HTML;\n }\n //Element in scope\n hasInScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if ((0,_common_html_js__WEBPACK_IMPORTED_MODULE_0__.isNumberedHeader)(tn) && ns === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInListItemScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) {\n return true;\n }\n if (((tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.UL || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.OL) && ns === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInButtonScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) {\n return true;\n }\n if ((tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.BUTTON && ns === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TABLE || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TEMPLATE || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HTML) {\n return false;\n }\n }\n return true;\n }\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) {\n continue;\n }\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TBODY || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.THEAD || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TFOOT) {\n return true;\n }\n if (tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.TABLE || tn === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.HTML) {\n return false;\n }\n }\n return true;\n }\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn !== _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.OPTION && tn !== _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_ID.OPTGROUP) {\n return false;\n }\n }\n return true;\n }\n //Implied end tags\n generateImpliedEndTags() {\n while (IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsThoroughly() {\n while (IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsWithExclusion(exclusionId) {\n while (this.currentTagId !== exclusionId && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n}\n//# sourceMappingURL=open-element-stack.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/parser/open-element-stack.js?')},"../wabac.js/node_modules/parse5/dist/serializer/index.js":
/*!****************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/serializer/index.js ***!
\****************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"serialize\": () => (/* binding */ serialize),\n/* harmony export */ \"serializeOuter\": () => (/* binding */ serializeOuter)\n/* harmony export */ });\n/* harmony import */ var _common_html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/html.js */ \"../wabac.js/node_modules/parse5/dist/common/html.js\");\n/* harmony import */ var entities_lib_escape_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! entities/lib/escape.js */ \"../wabac.js/node_modules/entities/lib/esm/escape.js\");\n/* harmony import */ var _tree_adapters_default_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tree-adapters/default.js */ \"../wabac.js/node_modules/parse5/dist/tree-adapters/default.js\");\n\n\n\n// Sets\nconst VOID_ELEMENTS = new Set([\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.AREA,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.BASE,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.BASEFONT,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.BGSOUND,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.BR,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.COL,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.EMBED,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.FRAME,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.HR,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.IMG,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.INPUT,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.KEYGEN,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.LINK,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.META,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.PARAM,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.SOURCE,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.TRACK,\n _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.WBR,\n]);\nfunction isVoidElement(node, options) {\n return (options.treeAdapter.isElementNode(node) &&\n options.treeAdapter.getNamespaceURI(node) === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML &&\n VOID_ELEMENTS.has(options.treeAdapter.getTagName(node)));\n}\nconst defaultOpts = { treeAdapter: _tree_adapters_default_js__WEBPACK_IMPORTED_MODULE_2__.defaultTreeAdapter, scriptingEnabled: true };\n/**\n * Serializes an AST node to an HTML string.\n *\n * @example\n *\n * ```js\n * const parse5 = require('parse5');\n *\n * const document = parse5.parse('<!DOCTYPE html><html><head></head><body>Hi there!</body></html>');\n *\n * // Serializes a document.\n * const html = parse5.serialize(document);\n *\n * // Serializes the <html> element content.\n * const str = parse5.serialize(document.childNodes[1]);\n *\n * console.log(str); //> '<head></head><body>Hi there!</body>'\n * ```\n *\n * @param node Node to serialize.\n * @param options Serialization options.\n */\nfunction serialize(node, options) {\n const opts = { ...defaultOpts, ...options };\n if (isVoidElement(node, opts)) {\n return '';\n }\n return serializeChildNodes(node, opts);\n}\n/**\n * Serializes an AST element node to an HTML string, including the element node.\n *\n * @example\n *\n * ```js\n * const parse5 = require('parse5');\n *\n * const document = parse5.parseFragment('<div>Hello, <b>world</b>!</div>');\n *\n * // Serializes the <div> element.\n * const html = parse5.serializeOuter(document.childNodes[0]);\n *\n * console.log(str); //> '<div>Hello, <b>world</b>!</div>'\n * ```\n *\n * @param node Node to serialize.\n * @param options Serialization options.\n */\nfunction serializeOuter(node, options) {\n const opts = { ...defaultOpts, ...options };\n return serializeNode(node, opts);\n}\nfunction serializeChildNodes(parentNode, options) {\n let html = '';\n // Get container of the child nodes\n const container = options.treeAdapter.isElementNode(parentNode) &&\n options.treeAdapter.getTagName(parentNode) === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.TAG_NAMES.TEMPLATE &&\n options.treeAdapter.getNamespaceURI(parentNode) === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML\n ? options.treeAdapter.getTemplateContent(parentNode)\n : parentNode;\n const childNodes = options.treeAdapter.getChildNodes(container);\n if (childNodes) {\n for (const currentNode of childNodes) {\n html += serializeNode(currentNode, options);\n }\n }\n return html;\n}\nfunction serializeNode(node, options) {\n if (options.treeAdapter.isElementNode(node)) {\n return serializeElement(node, options);\n }\n if (options.treeAdapter.isTextNode(node)) {\n return serializeTextNode(node, options);\n }\n if (options.treeAdapter.isCommentNode(node)) {\n return serializeCommentNode(node, options);\n }\n if (options.treeAdapter.isDocumentTypeNode(node)) {\n return serializeDocumentTypeNode(node, options);\n }\n // Return an empty string for unknown nodes\n return '';\n}\nfunction serializeElement(node, options) {\n const tn = options.treeAdapter.getTagName(node);\n return `<${tn}${serializeAttributes(node, options)}>${isVoidElement(node, options) ? '' : `${serializeChildNodes(node, options)}</${tn}>`}`;\n}\nfunction serializeAttributes(node, { treeAdapter }) {\n let html = '';\n for (const attr of treeAdapter.getAttrList(node)) {\n html += ' ';\n if (!attr.namespace) {\n html += attr.name;\n }\n else\n switch (attr.namespace) {\n case _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XML: {\n html += `xml:${attr.name}`;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XMLNS: {\n if (attr.name !== 'xmlns') {\n html += 'xmlns:';\n }\n html += attr.name;\n break;\n }\n case _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.XLINK: {\n html += `xlink:${attr.name}`;\n break;\n }\n default: {\n html += `${attr.prefix}:${attr.name}`;\n }\n }\n html += `=\"${(0,entities_lib_escape_js__WEBPACK_IMPORTED_MODULE_1__.escapeAttribute)(attr.value)}\"`;\n }\n return html;\n}\nfunction serializeTextNode(node, options) {\n const { treeAdapter } = options;\n const content = treeAdapter.getTextNodeContent(node);\n const parent = treeAdapter.getParentNode(node);\n const parentTn = parent && treeAdapter.isElementNode(parent) && treeAdapter.getTagName(parent);\n return parentTn &&\n treeAdapter.getNamespaceURI(parent) === _common_html_js__WEBPACK_IMPORTED_MODULE_0__.NS.HTML &&\n (0,_common_html_js__WEBPACK_IMPORTED_MODULE_0__.hasUnescapedText)(parentTn, options.scriptingEnabled)\n ? content\n : (0,entities_lib_escape_js__WEBPACK_IMPORTED_MODULE_1__.escapeText)(content);\n}\nfunction serializeCommentNode(node, { treeAdapter }) {\n return `\x3c!--${treeAdapter.getCommentNodeContent(node)}--\x3e`;\n}\nfunction serializeDocumentTypeNode(node, { treeAdapter }) {\n return `<!DOCTYPE ${treeAdapter.getDocumentTypeNodeName(node)}>`;\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/serializer/index.js?")},"../wabac.js/node_modules/parse5/dist/tokenizer/index.js":
/*!***************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/tokenizer/index.js ***!
\***************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Tokenizer": () => (/* binding */ Tokenizer),\n/* harmony export */ "TokenizerMode": () => (/* binding */ TokenizerMode)\n/* harmony export */ });\n/* harmony import */ var _preprocessor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./preprocessor.js */ "../wabac.js/node_modules/parse5/dist/tokenizer/preprocessor.js");\n/* harmony import */ var _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/unicode.js */ "../wabac.js/node_modules/parse5/dist/common/unicode.js");\n/* harmony import */ var _common_token_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/token.js */ "../wabac.js/node_modules/parse5/dist/common/token.js");\n/* harmony import */ var entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! entities/lib/decode.js */ "../wabac.js/node_modules/entities/lib/esm/decode.js");\n/* harmony import */ var _common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/error-codes.js */ "../wabac.js/node_modules/parse5/dist/common/error-codes.js");\n/* harmony import */ var _common_html_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/html.js */ "../wabac.js/node_modules/parse5/dist/common/html.js");\n\n\n\n\n\n\n//C1 Unicode control character reference replacements\nconst C1_CONTROLS_REFERENCE_REPLACEMENTS = new Map([\n [0x80, 8364],\n [0x82, 8218],\n [0x83, 402],\n [0x84, 8222],\n [0x85, 8230],\n [0x86, 8224],\n [0x87, 8225],\n [0x88, 710],\n [0x89, 8240],\n [0x8a, 352],\n [0x8b, 8249],\n [0x8c, 338],\n [0x8e, 381],\n [0x91, 8216],\n [0x92, 8217],\n [0x93, 8220],\n [0x94, 8221],\n [0x95, 8226],\n [0x96, 8211],\n [0x97, 8212],\n [0x98, 732],\n [0x99, 8482],\n [0x9a, 353],\n [0x9b, 8250],\n [0x9c, 339],\n [0x9e, 382],\n [0x9f, 376],\n]);\n//States\nvar State;\n(function (State) {\n State[State["DATA"] = 0] = "DATA";\n State[State["RCDATA"] = 1] = "RCDATA";\n State[State["RAWTEXT"] = 2] = "RAWTEXT";\n State[State["SCRIPT_DATA"] = 3] = "SCRIPT_DATA";\n State[State["PLAINTEXT"] = 4] = "PLAINTEXT";\n State[State["TAG_OPEN"] = 5] = "TAG_OPEN";\n State[State["END_TAG_OPEN"] = 6] = "END_TAG_OPEN";\n State[State["TAG_NAME"] = 7] = "TAG_NAME";\n State[State["RCDATA_LESS_THAN_SIGN"] = 8] = "RCDATA_LESS_THAN_SIGN";\n State[State["RCDATA_END_TAG_OPEN"] = 9] = "RCDATA_END_TAG_OPEN";\n State[State["RCDATA_END_TAG_NAME"] = 10] = "RCDATA_END_TAG_NAME";\n State[State["RAWTEXT_LESS_THAN_SIGN"] = 11] = "RAWTEXT_LESS_THAN_SIGN";\n State[State["RAWTEXT_END_TAG_OPEN"] = 12] = "RAWTEXT_END_TAG_OPEN";\n State[State["RAWTEXT_END_TAG_NAME"] = 13] = "RAWTEXT_END_TAG_NAME";\n State[State["SCRIPT_DATA_LESS_THAN_SIGN"] = 14] = "SCRIPT_DATA_LESS_THAN_SIGN";\n State[State["SCRIPT_DATA_END_TAG_OPEN"] = 15] = "SCRIPT_DATA_END_TAG_OPEN";\n State[State["SCRIPT_DATA_END_TAG_NAME"] = 16] = "SCRIPT_DATA_END_TAG_NAME";\n State[State["SCRIPT_DATA_ESCAPE_START"] = 17] = "SCRIPT_DATA_ESCAPE_START";\n State[State["SCRIPT_DATA_ESCAPE_START_DASH"] = 18] = "SCRIPT_DATA_ESCAPE_START_DASH";\n State[State["SCRIPT_DATA_ESCAPED"] = 19] = "SCRIPT_DATA_ESCAPED";\n State[State["SCRIPT_DATA_ESCAPED_DASH"] = 20] = "SCRIPT_DATA_ESCAPED_DASH";\n State[State["SCRIPT_DATA_ESCAPED_DASH_DASH"] = 21] = "SCRIPT_DATA_ESCAPED_DASH_DASH";\n State[State["SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN"] = 22] = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN";\n State[State["SCRIPT_DATA_ESCAPED_END_TAG_OPEN"] = 23] = "SCRIPT_DATA_ESCAPED_END_TAG_OPEN";\n State[State["SCRIPT_DATA_ESCAPED_END_TAG_NAME"] = 24] = "SCRIPT_DATA_ESCAPED_END_TAG_NAME";\n State[State["SCRIPT_DATA_DOUBLE_ESCAPE_START"] = 25] = "SCRIPT_DATA_DOUBLE_ESCAPE_START";\n State[State["SCRIPT_DATA_DOUBLE_ESCAPED"] = 26] = "SCRIPT_DATA_DOUBLE_ESCAPED";\n State[State["SCRIPT_DATA_DOUBLE_ESCAPED_DASH"] = 27] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH";\n State[State["SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH"] = 28] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH";\n State[State["SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN"] = 29] = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN";\n State[State["SCRIPT_DATA_DOUBLE_ESCAPE_END"] = 30] = "SCRIPT_DATA_DOUBLE_ESCAPE_END";\n State[State["BEFORE_ATTRIBUTE_NAME"] = 31] = "BEFORE_ATTRIBUTE_NAME";\n State[State["ATTRIBUTE_NAME"] = 32] = "ATTRIBUTE_NAME";\n State[State["AFTER_ATTRIBUTE_NAME"] = 33] = "AFTER_ATTRIBUTE_NAME";\n State[State["BEFORE_ATTRIBUTE_VALUE"] = 34] = "BEFORE_ATTRIBUTE_VALUE";\n State[State["ATTRIBUTE_VALUE_DOUBLE_QUOTED"] = 35] = "ATTRIBUTE_VALUE_DOUBLE_QUOTED";\n State[State["ATTRIBUTE_VALUE_SINGLE_QUOTED"] = 36] = "ATTRIBUTE_VALUE_SINGLE_QUOTED";\n State[State["ATTRIBUTE_VALUE_UNQUOTED"] = 37] = "ATTRIBUTE_VALUE_UNQUOTED";\n State[State["AFTER_ATTRIBUTE_VALUE_QUOTED"] = 38] = "AFTER_ATTRIBUTE_VALUE_QUOTED";\n State[State["SELF_CLOSING_START_TAG"] = 39] = "SELF_CLOSING_START_TAG";\n State[State["BOGUS_COMMENT"] = 40] = "BOGUS_COMMENT";\n State[State["MARKUP_DECLARATION_OPEN"] = 41] = "MARKUP_DECLARATION_OPEN";\n State[State["COMMENT_START"] = 42] = "COMMENT_START";\n State[State["COMMENT_START_DASH"] = 43] = "COMMENT_START_DASH";\n State[State["COMMENT"] = 44] = "COMMENT";\n State[State["COMMENT_LESS_THAN_SIGN"] = 45] = "COMMENT_LESS_THAN_SIGN";\n State[State["COMMENT_LESS_THAN_SIGN_BANG"] = 46] = "COMMENT_LESS_THAN_SIGN_BANG";\n State[State["COMMENT_LESS_THAN_SIGN_BANG_DASH"] = 47] = "COMMENT_LESS_THAN_SIGN_BANG_DASH";\n State[State["COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH"] = 48] = "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH";\n State[State["COMMENT_END_DASH"] = 49] = "COMMENT_END_DASH";\n State[State["COMMENT_END"] = 50] = "COMMENT_END";\n State[State["COMMENT_END_BANG"] = 51] = "COMMENT_END_BANG";\n State[State["DOCTYPE"] = 52] = "DOCTYPE";\n State[State["BEFORE_DOCTYPE_NAME"] = 53] = "BEFORE_DOCTYPE_NAME";\n State[State["DOCTYPE_NAME"] = 54] = "DOCTYPE_NAME";\n State[State["AFTER_DOCTYPE_NAME"] = 55] = "AFTER_DOCTYPE_NAME";\n State[State["AFTER_DOCTYPE_PUBLIC_KEYWORD"] = 56] = "AFTER_DOCTYPE_PUBLIC_KEYWORD";\n State[State["BEFORE_DOCTYPE_PUBLIC_IDENTIFIER"] = 57] = "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER";\n State[State["DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED"] = 58] = "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED";\n State[State["DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED"] = 59] = "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED";\n State[State["AFTER_DOCTYPE_PUBLIC_IDENTIFIER"] = 60] = "AFTER_DOCTYPE_PUBLIC_IDENTIFIER";\n State[State["BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS"] = 61] = "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS";\n State[State["AFTER_DOCTYPE_SYSTEM_KEYWORD"] = 62] = "AFTER_DOCTYPE_SYSTEM_KEYWORD";\n State[State["BEFORE_DOCTYPE_SYSTEM_IDENTIFIER"] = 63] = "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER";\n State[State["DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED"] = 64] = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED";\n State[State["DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED"] = 65] = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED";\n State[State["AFTER_DOCTYPE_SYSTEM_IDENTIFIER"] = 66] = "AFTER_DOCTYPE_SYSTEM_IDENTIFIER";\n State[State["BOGUS_DOCTYPE"] = 67] = "BOGUS_DOCTYPE";\n State[State["CDATA_SECTION"] = 68] = "CDATA_SECTION";\n State[State["CDATA_SECTION_BRACKET"] = 69] = "CDATA_SECTION_BRACKET";\n State[State["CDATA_SECTION_END"] = 70] = "CDATA_SECTION_END";\n State[State["CHARACTER_REFERENCE"] = 71] = "CHARACTER_REFERENCE";\n State[State["NAMED_CHARACTER_REFERENCE"] = 72] = "NAMED_CHARACTER_REFERENCE";\n State[State["AMBIGUOUS_AMPERSAND"] = 73] = "AMBIGUOUS_AMPERSAND";\n State[State["NUMERIC_CHARACTER_REFERENCE"] = 74] = "NUMERIC_CHARACTER_REFERENCE";\n State[State["HEXADEMICAL_CHARACTER_REFERENCE_START"] = 75] = "HEXADEMICAL_CHARACTER_REFERENCE_START";\n State[State["HEXADEMICAL_CHARACTER_REFERENCE"] = 76] = "HEXADEMICAL_CHARACTER_REFERENCE";\n State[State["DECIMAL_CHARACTER_REFERENCE"] = 77] = "DECIMAL_CHARACTER_REFERENCE";\n State[State["NUMERIC_CHARACTER_REFERENCE_END"] = 78] = "NUMERIC_CHARACTER_REFERENCE_END";\n})(State || (State = {}));\n//Tokenizer initial states for different modes\nconst TokenizerMode = {\n DATA: State.DATA,\n RCDATA: State.RCDATA,\n RAWTEXT: State.RAWTEXT,\n SCRIPT_DATA: State.SCRIPT_DATA,\n PLAINTEXT: State.PLAINTEXT,\n CDATA_SECTION: State.CDATA_SECTION,\n};\n//Utils\n//OPTIMIZATION: these utility functions should not be moved out of this module. V8 Crankshaft will not inline\n//this functions if they will be situated in another module due to context switch.\n//Always perform inlining check before modifying this functions (\'node --trace-inlining\').\nfunction isAsciiDigit(cp) {\n return cp >= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.DIGIT_0 && cp <= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.DIGIT_9;\n}\nfunction isAsciiUpper(cp) {\n return cp >= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_CAPITAL_A && cp <= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_CAPITAL_Z;\n}\nfunction isAsciiLower(cp) {\n return cp >= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_SMALL_A && cp <= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_SMALL_Z;\n}\nfunction isAsciiLetter(cp) {\n return isAsciiLower(cp) || isAsciiUpper(cp);\n}\nfunction isAsciiAlphaNumeric(cp) {\n return isAsciiLetter(cp) || isAsciiDigit(cp);\n}\nfunction isAsciiUpperHexDigit(cp) {\n return cp >= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_CAPITAL_A && cp <= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_CAPITAL_F;\n}\nfunction isAsciiLowerHexDigit(cp) {\n return cp >= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_SMALL_A && cp <= _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_SMALL_F;\n}\nfunction isAsciiHexDigit(cp) {\n return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp);\n}\nfunction toAsciiLower(cp) {\n return cp + 32;\n}\nfunction isWhitespace(cp) {\n return cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE || cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED || cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION || cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED;\n}\nfunction isEntityInAttributeInvalidEnd(nextCp) {\n return nextCp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp);\n}\nfunction isScriptDataDoubleEscapeSequenceEnd(cp) {\n return isWhitespace(cp) || cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS || cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN;\n}\n//Tokenizer\nclass Tokenizer {\n constructor(options, handler) {\n this.options = options;\n this.handler = handler;\n this.paused = false;\n /** Ensures that the parsing loop isn\'t run multiple times at once. */\n this.inLoop = false;\n /**\n * Indicates that the current adjusted node exists, is not an element in the HTML namespace,\n * and that it is not an integration point for either MathML or HTML.\n *\n * @see {@link https://html.spec.whatwg.org/multipage/parsing.html#tree-construction}\n */\n this.inForeignNode = false;\n this.lastStartTagName = \'\';\n this.active = false;\n this.state = State.DATA;\n this.returnState = State.DATA;\n this.charRefCode = -1;\n this.consumedAfterSnapshot = -1;\n this.currentCharacterToken = null;\n this.currentToken = null;\n this.currentAttr = { name: \'\', value: \'\' };\n this.preprocessor = new _preprocessor_js__WEBPACK_IMPORTED_MODULE_0__.Preprocessor(handler);\n this.currentLocation = this.getCurrentLocation(-1);\n }\n //Errors\n _err(code) {\n var _a, _b;\n (_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code));\n }\n // NOTE: `offset` may never run across line boundaries.\n getCurrentLocation(offset) {\n if (!this.options.sourceCodeLocationInfo) {\n return null;\n }\n return {\n startLine: this.preprocessor.line,\n startCol: this.preprocessor.col - offset,\n startOffset: this.preprocessor.offset - offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n };\n }\n _runParsingLoop() {\n if (this.inLoop)\n return;\n this.inLoop = true;\n while (this.active && !this.paused) {\n this.consumedAfterSnapshot = 0;\n const cp = this._consume();\n if (!this._ensureHibernation()) {\n this._callState(cp);\n }\n }\n this.inLoop = false;\n }\n //API\n pause() {\n this.paused = true;\n }\n resume(writeCallback) {\n if (!this.paused) {\n throw new Error(\'Parser was already resumed\');\n }\n this.paused = false;\n // Necessary for synchronous resume.\n if (this.inLoop)\n return;\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n write(chunk, isLastChunk, writeCallback) {\n this.active = true;\n this.preprocessor.write(chunk, isLastChunk);\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n insertHtmlAtCurrentPos(chunk) {\n this.active = true;\n this.preprocessor.insertHtmlAtCurrentPos(chunk);\n this._runParsingLoop();\n }\n //Hibernation\n _ensureHibernation() {\n if (this.preprocessor.endOfChunkHit) {\n this._unconsume(this.consumedAfterSnapshot);\n this.active = false;\n return true;\n }\n return false;\n }\n //Consumption\n _consume() {\n this.consumedAfterSnapshot++;\n return this.preprocessor.advance();\n }\n _unconsume(count) {\n this.consumedAfterSnapshot -= count;\n this.preprocessor.retreat(count);\n }\n _reconsumeInState(state, cp) {\n this.state = state;\n this._callState(cp);\n }\n _advanceBy(count) {\n this.consumedAfterSnapshot += count;\n for (let i = 0; i < count; i++) {\n this.preprocessor.advance();\n }\n }\n _consumeSequenceIfMatch(pattern, caseSensitive) {\n if (this.preprocessor.startsWith(pattern, caseSensitive)) {\n // We will already have consumed one character before calling this method.\n this._advanceBy(pattern.length - 1);\n return true;\n }\n return false;\n }\n //Token creation\n _createStartTagToken() {\n this.currentToken = {\n type: _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.START_TAG,\n tagName: \'\',\n tagID: _common_html_js__WEBPACK_IMPORTED_MODULE_5__.TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(1),\n };\n }\n _createEndTagToken() {\n this.currentToken = {\n type: _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.END_TAG,\n tagName: \'\',\n tagID: _common_html_js__WEBPACK_IMPORTED_MODULE_5__.TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(2),\n };\n }\n _createCommentToken(offset) {\n this.currentToken = {\n type: _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.COMMENT,\n data: \'\',\n location: this.getCurrentLocation(offset),\n };\n }\n _createDoctypeToken(initialName) {\n this.currentToken = {\n type: _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.DOCTYPE,\n name: initialName,\n forceQuirks: false,\n publicId: null,\n systemId: null,\n location: this.currentLocation,\n };\n }\n _createCharacterToken(type, chars) {\n this.currentCharacterToken = {\n type,\n chars,\n location: this.currentLocation,\n };\n }\n //Tag attributes\n _createAttr(attrNameFirstCh) {\n this.currentAttr = {\n name: attrNameFirstCh,\n value: \'\',\n };\n this.currentLocation = this.getCurrentLocation(0);\n }\n _leaveAttrName() {\n var _a;\n var _b;\n const token = this.currentToken;\n if ((0,_common_token_js__WEBPACK_IMPORTED_MODULE_2__.getTokenAttr)(token, this.currentAttr.name) === null) {\n token.attrs.push(this.currentAttr);\n if (token.location && this.currentLocation) {\n const attrLocations = ((_a = (_b = token.location).attrs) !== null && _a !== void 0 ? _a : (_b.attrs = Object.create(null)));\n attrLocations[this.currentAttr.name] = this.currentLocation;\n // Set end location\n this._leaveAttrValue();\n }\n }\n else {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.duplicateAttribute);\n }\n }\n _leaveAttrValue() {\n if (this.currentLocation) {\n this.currentLocation.endLine = this.preprocessor.line;\n this.currentLocation.endCol = this.preprocessor.col;\n this.currentLocation.endOffset = this.preprocessor.offset;\n }\n }\n //Token emission\n prepareToken(ct) {\n this._emitCurrentCharacterToken(ct.location);\n this.currentToken = null;\n if (ct.location) {\n ct.location.endLine = this.preprocessor.line;\n ct.location.endCol = this.preprocessor.col + 1;\n ct.location.endOffset = this.preprocessor.offset + 1;\n }\n this.currentLocation = this.getCurrentLocation(-1);\n }\n emitCurrentTagToken() {\n const ct = this.currentToken;\n this.prepareToken(ct);\n ct.tagID = (0,_common_html_js__WEBPACK_IMPORTED_MODULE_5__.getTagID)(ct.tagName);\n if (ct.type === _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.START_TAG) {\n this.lastStartTagName = ct.tagName;\n this.handler.onStartTag(ct);\n }\n else {\n if (ct.attrs.length > 0) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.endTagWithAttributes);\n }\n if (ct.selfClosing) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.endTagWithTrailingSolidus);\n }\n this.handler.onEndTag(ct);\n }\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentComment(ct) {\n this.prepareToken(ct);\n this.handler.onComment(ct);\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentDoctype(ct) {\n this.prepareToken(ct);\n this.handler.onDoctype(ct);\n this.preprocessor.dropParsedChunk();\n }\n _emitCurrentCharacterToken(nextLocation) {\n if (this.currentCharacterToken) {\n //NOTE: if we have a pending character token, make it\'s end location equal to the\n //current token\'s start location.\n if (nextLocation && this.currentCharacterToken.location) {\n this.currentCharacterToken.location.endLine = nextLocation.startLine;\n this.currentCharacterToken.location.endCol = nextLocation.startCol;\n this.currentCharacterToken.location.endOffset = nextLocation.startOffset;\n }\n switch (this.currentCharacterToken.type) {\n case _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.CHARACTER: {\n this.handler.onCharacter(this.currentCharacterToken);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.NULL_CHARACTER: {\n this.handler.onNullCharacter(this.currentCharacterToken);\n break;\n }\n case _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.WHITESPACE_CHARACTER: {\n this.handler.onWhitespaceCharacter(this.currentCharacterToken);\n break;\n }\n }\n this.currentCharacterToken = null;\n }\n }\n _emitEOFToken() {\n const location = this.getCurrentLocation(0);\n if (location) {\n location.endLine = location.startLine;\n location.endCol = location.startCol;\n location.endOffset = location.startOffset;\n }\n this._emitCurrentCharacterToken(location);\n this.handler.onEof({ type: _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.EOF, location });\n this.active = false;\n }\n //Characters emission\n //OPTIMIZATION: specification uses only one type of character tokens (one token per character).\n //This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.\n //If we have a sequence of characters that belong to the same group, the parser can process it\n //as a single solid character token.\n //So, there are 3 types of character tokens in parse5:\n //1)TokenType.NULL_CHARACTER - \\u0000-character sequences (e.g. \'\\u0000\\u0000\\u0000\')\n //2)TokenType.WHITESPACE_CHARACTER - any whitespace/new-line character sequences (e.g. \'\\n \\r\\t \\f\')\n //3)TokenType.CHARACTER - any character sequence which don\'t belong to groups 1 and 2 (e.g. \'abcdef1234@@#$%^\')\n _appendCharToCurrentCharacterToken(type, ch) {\n if (this.currentCharacterToken) {\n if (this.currentCharacterToken.type !== type) {\n this.currentLocation = this.getCurrentLocation(0);\n this._emitCurrentCharacterToken(this.currentLocation);\n this.preprocessor.dropParsedChunk();\n }\n else {\n this.currentCharacterToken.chars += ch;\n return;\n }\n }\n this._createCharacterToken(type, ch);\n }\n _emitCodePoint(cp) {\n const type = isWhitespace(cp)\n ? _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.WHITESPACE_CHARACTER\n : cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL\n ? _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.NULL_CHARACTER\n : _common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.CHARACTER;\n this._appendCharToCurrentCharacterToken(type, String.fromCodePoint(cp));\n }\n //NOTE: used when we emit characters explicitly.\n //This is always for non-whitespace and non-null characters, which allows us to avoid additional checks.\n _emitChars(ch) {\n this._appendCharToCurrentCharacterToken(_common_token_js__WEBPACK_IMPORTED_MODULE_2__.TokenType.CHARACTER, ch);\n }\n // Character reference helpers\n _matchNamedCharacterReference(cp) {\n let result = null;\n let excess = 0;\n let withoutSemicolon = false;\n for (let i = 0, current = entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.htmlDecodeTree[0]; i >= 0; cp = this._consume()) {\n i = (0,entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.determineBranch)(entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.htmlDecodeTree, current, i + 1, cp);\n if (i < 0)\n break;\n excess += 1;\n current = entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.htmlDecodeTree[i];\n const masked = current & entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n const valueLength = (masked >> 14) - 1;\n // Attribute values that aren\'t terminated properly aren\'t parsed, and shouldn\'t lead to a parser error.\n // See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n if (cp !== _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SEMICOLON &&\n this._isCharacterReferenceInAttribute() &&\n isEntityInAttributeInvalidEnd(this.preprocessor.peek(1))) {\n //NOTE: we don\'t flush all consumed code points here, and instead switch back to the original state after\n //emitting an ampersand. This is fine, as alphanumeric characters won\'t be parsed differently in attributes.\n result = [_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND];\n // Skip over the value.\n i += valueLength;\n }\n else {\n // If this is a surrogate pair, consume the next two bytes.\n result =\n valueLength === 0\n ? [entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.htmlDecodeTree[i] & ~entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.BinTrieFlags.VALUE_LENGTH]\n : valueLength === 1\n ? [entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.htmlDecodeTree[++i]]\n : [entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.htmlDecodeTree[++i], entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_3__.htmlDecodeTree[++i]];\n excess = 0;\n withoutSemicolon = cp !== _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SEMICOLON;\n }\n if (valueLength === 0) {\n // If the value is zero-length, we\'re done.\n this._consume();\n break;\n }\n }\n }\n this._unconsume(excess);\n if (withoutSemicolon && !this.preprocessor.endOfChunkHit) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingSemicolonAfterCharacterReference);\n }\n // We want to emit the error above on the code point after the entity.\n // We always consume one code point too many in the loop, and we wait to\n // unconsume it until after the error is emitted.\n this._unconsume(1);\n return result;\n }\n _isCharacterReferenceInAttribute() {\n return (this.returnState === State.ATTRIBUTE_VALUE_DOUBLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_SINGLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_UNQUOTED);\n }\n _flushCodePointConsumedAsCharacterReference(cp) {\n if (this._isCharacterReferenceInAttribute()) {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n else {\n this._emitCodePoint(cp);\n }\n }\n // Calling states this way turns out to be much faster than any other approach.\n _callState(cp) {\n switch (this.state) {\n case State.DATA: {\n this._stateData(cp);\n break;\n }\n case State.RCDATA: {\n this._stateRcdata(cp);\n break;\n }\n case State.RAWTEXT: {\n this._stateRawtext(cp);\n break;\n }\n case State.SCRIPT_DATA: {\n this._stateScriptData(cp);\n break;\n }\n case State.PLAINTEXT: {\n this._statePlaintext(cp);\n break;\n }\n case State.TAG_OPEN: {\n this._stateTagOpen(cp);\n break;\n }\n case State.END_TAG_OPEN: {\n this._stateEndTagOpen(cp);\n break;\n }\n case State.TAG_NAME: {\n this._stateTagName(cp);\n break;\n }\n case State.RCDATA_LESS_THAN_SIGN: {\n this._stateRcdataLessThanSign(cp);\n break;\n }\n case State.RCDATA_END_TAG_OPEN: {\n this._stateRcdataEndTagOpen(cp);\n break;\n }\n case State.RCDATA_END_TAG_NAME: {\n this._stateRcdataEndTagName(cp);\n break;\n }\n case State.RAWTEXT_LESS_THAN_SIGN: {\n this._stateRawtextLessThanSign(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_OPEN: {\n this._stateRawtextEndTagOpen(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_NAME: {\n this._stateRawtextEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_LESS_THAN_SIGN: {\n this._stateScriptDataLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_OPEN: {\n this._stateScriptDataEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_NAME: {\n this._stateScriptDataEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START: {\n this._stateScriptDataEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START_DASH: {\n this._stateScriptDataEscapeStartDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED: {\n this._stateScriptDataEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH: {\n this._stateScriptDataEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH_DASH: {\n this._stateScriptDataEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: {\n this._stateScriptDataEscapedEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_NAME: {\n this._stateScriptDataEscapedEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_START: {\n this._stateScriptDataDoubleEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED: {\n this._stateScriptDataDoubleEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: {\n this._stateScriptDataDoubleEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: {\n this._stateScriptDataDoubleEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataDoubleEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_END: {\n this._stateScriptDataDoubleEscapeEnd(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_NAME: {\n this._stateBeforeAttributeName(cp);\n break;\n }\n case State.ATTRIBUTE_NAME: {\n this._stateAttributeName(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_NAME: {\n this._stateAfterAttributeName(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_VALUE: {\n this._stateBeforeAttributeValue(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_DOUBLE_QUOTED: {\n this._stateAttributeValueDoubleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_SINGLE_QUOTED: {\n this._stateAttributeValueSingleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_UNQUOTED: {\n this._stateAttributeValueUnquoted(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_VALUE_QUOTED: {\n this._stateAfterAttributeValueQuoted(cp);\n break;\n }\n case State.SELF_CLOSING_START_TAG: {\n this._stateSelfClosingStartTag(cp);\n break;\n }\n case State.BOGUS_COMMENT: {\n this._stateBogusComment(cp);\n break;\n }\n case State.MARKUP_DECLARATION_OPEN: {\n this._stateMarkupDeclarationOpen(cp);\n break;\n }\n case State.COMMENT_START: {\n this._stateCommentStart(cp);\n break;\n }\n case State.COMMENT_START_DASH: {\n this._stateCommentStartDash(cp);\n break;\n }\n case State.COMMENT: {\n this._stateComment(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN: {\n this._stateCommentLessThanSign(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG: {\n this._stateCommentLessThanSignBang(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH: {\n this._stateCommentLessThanSignBangDash(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: {\n this._stateCommentLessThanSignBangDashDash(cp);\n break;\n }\n case State.COMMENT_END_DASH: {\n this._stateCommentEndDash(cp);\n break;\n }\n case State.COMMENT_END: {\n this._stateCommentEnd(cp);\n break;\n }\n case State.COMMENT_END_BANG: {\n this._stateCommentEndBang(cp);\n break;\n }\n case State.DOCTYPE: {\n this._stateDoctype(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_NAME: {\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case State.DOCTYPE_NAME: {\n this._stateDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_NAME: {\n this._stateAfterDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_KEYWORD: {\n this._stateAfterDoctypePublicKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateBeforeDoctypePublicIdentifier(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypePublicIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypePublicIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateAfterDoctypePublicIdentifier(cp);\n break;\n }\n case State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: {\n this._stateBetweenDoctypePublicAndSystemIdentifiers(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_KEYWORD: {\n this._stateAfterDoctypeSystemKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateBeforeDoctypeSystemIdentifier(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypeSystemIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypeSystemIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateAfterDoctypeSystemIdentifier(cp);\n break;\n }\n case State.BOGUS_DOCTYPE: {\n this._stateBogusDoctype(cp);\n break;\n }\n case State.CDATA_SECTION: {\n this._stateCdataSection(cp);\n break;\n }\n case State.CDATA_SECTION_BRACKET: {\n this._stateCdataSectionBracket(cp);\n break;\n }\n case State.CDATA_SECTION_END: {\n this._stateCdataSectionEnd(cp);\n break;\n }\n case State.CHARACTER_REFERENCE: {\n this._stateCharacterReference(cp);\n break;\n }\n case State.NAMED_CHARACTER_REFERENCE: {\n this._stateNamedCharacterReference(cp);\n break;\n }\n case State.AMBIGUOUS_AMPERSAND: {\n this._stateAmbiguousAmpersand(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE: {\n this._stateNumericCharacterReference(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE_START: {\n this._stateHexademicalCharacterReferenceStart(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE: {\n this._stateHexademicalCharacterReference(cp);\n break;\n }\n case State.DECIMAL_CHARACTER_REFERENCE: {\n this._stateDecimalCharacterReference(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE_END: {\n this._stateNumericCharacterReferenceEnd(cp);\n break;\n }\n default: {\n throw new Error(\'Unknown state\');\n }\n }\n }\n // State machine\n // Data state\n //------------------------------------------------------------------\n _stateData(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.TAG_OPEN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND: {\n this.returnState = State.DATA;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._emitCodePoint(cp);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RCDATA state\n //------------------------------------------------------------------\n _stateRcdata(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND: {\n this.returnState = State.RCDATA;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.RCDATA_LESS_THAN_SIGN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RAWTEXT state\n //------------------------------------------------------------------\n _stateRawtext(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.RAWTEXT_LESS_THAN_SIGN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data state\n //------------------------------------------------------------------\n _stateScriptData(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_LESS_THAN_SIGN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // PLAINTEXT state\n //------------------------------------------------------------------\n _statePlaintext(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Tag open state\n //------------------------------------------------------------------\n _stateTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createStartTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EXCLAMATION_MARK: {\n this.state = State.MARKUP_DECLARATION_OPEN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS: {\n this.state = State.END_TAG_OPEN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUESTION_MARK: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedQuestionMarkInsteadOfTagName);\n this._createCommentToken(1);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofBeforeTagName);\n this._emitChars(\'<\');\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.invalidFirstCharacterOfTagName);\n this._emitChars(\'<\');\n this.state = State.DATA;\n this._stateData(cp);\n }\n }\n }\n // End tag open state\n //------------------------------------------------------------------\n _stateEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingEndTagName);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofBeforeTagName);\n this._emitChars(\'</\');\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.invalidFirstCharacterOfTagName);\n this._createCommentToken(2);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n }\n }\n }\n // Tag name state\n //------------------------------------------------------------------\n _stateTagName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS: {\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.tagName += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n token.tagName += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // RCDATA less-than sign state\n //------------------------------------------------------------------\n _stateRcdataLessThanSign(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS) {\n this.state = State.RCDATA_END_TAG_OPEN;\n }\n else {\n this._emitChars(\'<\');\n this.state = State.RCDATA;\n this._stateRcdata(cp);\n }\n }\n // RCDATA end tag open state\n //------------------------------------------------------------------\n _stateRcdataEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.RCDATA_END_TAG_NAME;\n this._stateRcdataEndTagName(cp);\n }\n else {\n this._emitChars(\'</\');\n this.state = State.RCDATA;\n this._stateRcdata(cp);\n }\n }\n handleSpecialEndTag(_cp) {\n if (!this.preprocessor.startsWith(this.lastStartTagName, false)) {\n return !this._ensureHibernation();\n }\n this._createEndTagToken();\n const token = this.currentToken;\n token.tagName = this.lastStartTagName;\n const cp = this.preprocessor.peek(this.lastStartTagName.length);\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this._advanceBy(this.lastStartTagName.length);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n return false;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS: {\n this._advanceBy(this.lastStartTagName.length);\n this.state = State.SELF_CLOSING_START_TAG;\n return false;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._advanceBy(this.lastStartTagName.length);\n this.emitCurrentTagToken();\n this.state = State.DATA;\n return false;\n }\n default: {\n return !this._ensureHibernation();\n }\n }\n }\n // RCDATA end tag name state\n //------------------------------------------------------------------\n _stateRcdataEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars(\'</\');\n this.state = State.RCDATA;\n this._stateRcdata(cp);\n }\n }\n // RAWTEXT less-than sign state\n //------------------------------------------------------------------\n _stateRawtextLessThanSign(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS) {\n this.state = State.RAWTEXT_END_TAG_OPEN;\n }\n else {\n this._emitChars(\'<\');\n this.state = State.RAWTEXT;\n this._stateRawtext(cp);\n }\n }\n // RAWTEXT end tag open state\n //------------------------------------------------------------------\n _stateRawtextEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.RAWTEXT_END_TAG_NAME;\n this._stateRawtextEndTagName(cp);\n }\n else {\n this._emitChars(\'</\');\n this.state = State.RAWTEXT;\n this._stateRawtext(cp);\n }\n }\n // RAWTEXT end tag name state\n //------------------------------------------------------------------\n _stateRawtextEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars(\'</\');\n this.state = State.RAWTEXT;\n this._stateRawtext(cp);\n }\n }\n // Script data less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataLessThanSign(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS: {\n this.state = State.SCRIPT_DATA_END_TAG_OPEN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EXCLAMATION_MARK: {\n this.state = State.SCRIPT_DATA_ESCAPE_START;\n this._emitChars(\'<!\');\n break;\n }\n default: {\n this._emitChars(\'<\');\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n }\n // Script data end tag open state\n //------------------------------------------------------------------\n _stateScriptDataEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.SCRIPT_DATA_END_TAG_NAME;\n this._stateScriptDataEndTagName(cp);\n }\n else {\n this._emitChars(\'</\');\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data end tag name state\n //------------------------------------------------------------------\n _stateScriptDataEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars(\'</\');\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data escape start state\n //------------------------------------------------------------------\n _stateScriptDataEscapeStart(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS) {\n this.state = State.SCRIPT_DATA_ESCAPE_START_DASH;\n this._emitChars(\'-\');\n }\n else {\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data escape start dash state\n //------------------------------------------------------------------\n _stateScriptDataEscapeStartDash(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS) {\n this.state = State.SCRIPT_DATA_ESCAPED_DASH_DASH;\n this._emitChars(\'-\');\n }\n else {\n this.state = State.SCRIPT_DATA;\n this._stateScriptData(cp);\n }\n }\n // Script data escaped state\n //------------------------------------------------------------------\n _stateScriptDataEscaped(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_ESCAPED_DASH;\n this._emitChars(\'-\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped dash state\n //------------------------------------------------------------------\n _stateScriptDataEscapedDash(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_ESCAPED_DASH_DASH;\n this._emitChars(\'-\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped dash dash state\n //------------------------------------------------------------------\n _stateScriptDataEscapedDashDash(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this._emitChars(\'-\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.SCRIPT_DATA;\n this._emitChars(\'>\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataEscapedLessThanSign(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN;\n }\n else if (isAsciiLetter(cp)) {\n this._emitChars(\'<\');\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_START;\n this._stateScriptDataDoubleEscapeStart(cp);\n }\n else {\n this._emitChars(\'<\');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data escaped end tag open state\n //------------------------------------------------------------------\n _stateScriptDataEscapedEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_NAME;\n this._stateScriptDataEscapedEndTagName(cp);\n }\n else {\n this._emitChars(\'</\');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data escaped end tag name state\n //------------------------------------------------------------------\n _stateScriptDataEscapedEndTagName(cp) {\n if (this.handleSpecialEndTag(cp)) {\n this._emitChars(\'</\');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data double escape start state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapeStart(cp) {\n if (this.preprocessor.startsWith(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.SCRIPT, false) &&\n isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.SCRIPT.length))) {\n this._emitCodePoint(cp);\n for (let i = 0; i < _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.SCRIPT.length; i++) {\n this._emitCodePoint(this._consume());\n }\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n }\n else if (!this._ensureHibernation()) {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data double escaped state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscaped(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH;\n this._emitChars(\'-\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;\n this._emitChars(\'<\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped dash state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedDash(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH;\n this._emitChars(\'-\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;\n this._emitChars(\'<\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped dash dash state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedDashDash(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this._emitChars(\'-\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;\n this._emitChars(\'<\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.SCRIPT_DATA;\n this._emitChars(\'>\');\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitChars(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedLessThanSign(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_END;\n this._emitChars(\'/\');\n }\n else {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Script data double escape end state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapeEnd(cp) {\n if (this.preprocessor.startsWith(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.SCRIPT, false) &&\n isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.SCRIPT.length))) {\n this._emitCodePoint(cp);\n for (let i = 0; i < _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.SCRIPT.length; i++) {\n this._emitCodePoint(this._consume());\n }\n this.state = State.SCRIPT_DATA_ESCAPED;\n }\n else if (!this._ensureHibernation()) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Before attribute name state\n //------------------------------------------------------------------\n _stateBeforeAttributeName(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EQUALS_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedEqualsSignBeforeAttributeName);\n this._createAttr(\'=\');\n this.state = State.ATTRIBUTE_NAME;\n break;\n }\n default: {\n this._createAttr(\'\');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Attribute name state\n //------------------------------------------------------------------\n _stateAttributeName(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._leaveAttrName();\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EQUALS_SIGN: {\n this._leaveAttrName();\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedCharacterInAttributeName);\n this.currentAttr.name += String.fromCodePoint(cp);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.currentAttr.name += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n this.currentAttr.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After attribute name state\n //------------------------------------------------------------------\n _stateAfterAttributeName(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS: {\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EQUALS_SIGN: {\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createAttr(\'\');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Before attribute value state\n //------------------------------------------------------------------\n _stateBeforeAttributeValue(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n this.state = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n this.state = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingAttributeValue);\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n default: {\n this.state = State.ATTRIBUTE_VALUE_UNQUOTED;\n this._stateAttributeValueUnquoted(cp);\n }\n }\n }\n // Attribute value (double-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueDoubleQuoted(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.currentAttr.value += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (single-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueSingleQuoted(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.currentAttr.value += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (unquoted) state\n //------------------------------------------------------------------\n _stateAttributeValueUnquoted(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_UNQUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this.currentAttr.value += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EQUALS_SIGN:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GRAVE_ACCENT: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedCharacterInUnquotedAttributeValue);\n this.currentAttr.value += String.fromCodePoint(cp);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // After attribute value (quoted) state\n //------------------------------------------------------------------\n _stateAfterAttributeValueQuoted(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SOLIDUS: {\n this._leaveAttrValue();\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceBetweenAttributes);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Self-closing start tag state\n //------------------------------------------------------------------\n _stateSelfClosingStartTag(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n const token = this.currentToken;\n token.selfClosing = true;\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedSolidusInTag);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Bogus comment state\n //------------------------------------------------------------------\n _stateBogusComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.data += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Markup declaration open state\n //------------------------------------------------------------------\n _stateMarkupDeclarationOpen(cp) {\n if (this._consumeSequenceIfMatch(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.DASH_DASH, true)) {\n this._createCommentToken(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.DASH_DASH.length + 1);\n this.state = State.COMMENT_START;\n }\n else if (this._consumeSequenceIfMatch(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.DOCTYPE, false)) {\n // NOTE: Doctypes tokens are created without fixed offsets. We keep track of the moment a doctype *might* start here.\n this.currentLocation = this.getCurrentLocation(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.DOCTYPE.length + 1);\n this.state = State.DOCTYPE;\n }\n else if (this._consumeSequenceIfMatch(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.CDATA_START, true)) {\n if (this.inForeignNode) {\n this.state = State.CDATA_SECTION;\n }\n else {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.cdataInHtmlContent);\n this._createCommentToken(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.CDATA_START.length + 1);\n this.currentToken.data = \'[CDATA[\';\n this.state = State.BOGUS_COMMENT;\n }\n }\n //NOTE: Sequence lookups can be abrupted by hibernation. In that case, lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.incorrectlyOpenedComment);\n this._createCommentToken(2);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n }\n }\n // Comment start state\n //------------------------------------------------------------------\n _stateCommentStart(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.COMMENT_START_DASH;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n const token = this.currentToken;\n this.emitCurrentComment(token);\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment start dash state\n //------------------------------------------------------------------\n _stateCommentStartDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += \'-\';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment state\n //------------------------------------------------------------------\n _stateComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n token.data += \'<\';\n this.state = State.COMMENT_LESS_THAN_SIGN;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.data += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Comment less-than sign state\n //------------------------------------------------------------------\n _stateCommentLessThanSign(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EXCLAMATION_MARK: {\n token.data += \'!\';\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LESS_THAN_SIGN: {\n token.data += \'<\';\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment less-than sign bang state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBang(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH;\n }\n else {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n // Comment less-than sign bang dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDash(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH;\n }\n else {\n this.state = State.COMMENT_END_DASH;\n this._stateCommentEndDash(cp);\n }\n }\n // Comment less-than sign bang dash dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDashDash(cp) {\n if (cp !== _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN && cp !== _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.nestedComment);\n }\n this.state = State.COMMENT_END;\n this._stateCommentEnd(cp);\n }\n // Comment end dash state\n //------------------------------------------------------------------\n _stateCommentEndDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += \'-\';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end state\n //------------------------------------------------------------------\n _stateCommentEnd(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EXCLAMATION_MARK: {\n this.state = State.COMMENT_END_BANG;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n token.data += \'-\';\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += \'--\';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end bang state\n //------------------------------------------------------------------\n _stateCommentEndBang(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.HYPHEN_MINUS: {\n token.data += \'--!\';\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.incorrectlyClosedComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += \'--!\';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // DOCTYPE state\n //------------------------------------------------------------------\n _stateDoctype(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceBeforeDoctypeName);\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n }\n }\n }\n // Before DOCTYPE name state\n //------------------------------------------------------------------\n _stateBeforeDoctypeName(cp) {\n if (isAsciiUpper(cp)) {\n this._createDoctypeToken(String.fromCharCode(toAsciiLower(cp)));\n this.state = State.DOCTYPE_NAME;\n }\n else\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n this._createDoctypeToken(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER);\n this.state = State.DOCTYPE_NAME;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingDoctypeName);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createDoctypeToken(String.fromCodePoint(cp));\n this.state = State.DOCTYPE_NAME;\n }\n }\n }\n // DOCTYPE name state\n //------------------------------------------------------------------\n _stateDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this.state = State.AFTER_DOCTYPE_NAME;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.name += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After DOCTYPE name state\n //------------------------------------------------------------------\n _stateAfterDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n if (this._consumeSequenceIfMatch(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.PUBLIC, false)) {\n this.state = State.AFTER_DOCTYPE_PUBLIC_KEYWORD;\n }\n else if (this._consumeSequenceIfMatch(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.SEQUENCES.SYSTEM, false)) {\n this.state = State.AFTER_DOCTYPE_SYSTEM_KEYWORD;\n }\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.invalidCharacterSequenceAfterDoctypeName);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n }\n // After DOCTYPE public keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = \'\';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = \'\';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n token.publicId = \'\';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n token.publicId = \'\';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE public identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.publicId += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE public identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.publicId += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this.state = State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Between DOCTYPE public and system identifiers state\n //------------------------------------------------------------------\n _stateBetweenDoctypePublicAndSystemIdentifiers(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // After DOCTYPE system keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n token.systemId = \'\';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE system identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.systemId += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE system identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n token.systemId += _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.REPLACEMENT_CHARACTER;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SPACE:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LINE_FEED:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.TABULATION:\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Bogus DOCTYPE state\n //------------------------------------------------------------------\n _stateBogusDoctype(cp) {\n const token = this.currentToken;\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unexpectedNullCharacter);\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default:\n // Do nothing\n }\n }\n // CDATA section state\n //------------------------------------------------------------------\n _stateCdataSection(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.RIGHT_SQUARE_BRACKET: {\n this.state = State.CDATA_SECTION_BRACKET;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.EOF: {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.eofInCdata);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // CDATA section bracket state\n //------------------------------------------------------------------\n _stateCdataSectionBracket(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.RIGHT_SQUARE_BRACKET) {\n this.state = State.CDATA_SECTION_END;\n }\n else {\n this._emitChars(\']\');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n // CDATA section end state\n //------------------------------------------------------------------\n _stateCdataSectionEnd(cp) {\n switch (cp) {\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n break;\n }\n case _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.RIGHT_SQUARE_BRACKET: {\n this._emitChars(\']\');\n break;\n }\n default: {\n this._emitChars(\']]\');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n }\n // Character reference state\n //------------------------------------------------------------------\n _stateCharacterReference(cp) {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NUMBER_SIGN) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE;\n }\n else if (isAsciiAlphaNumeric(cp)) {\n this.state = State.NAMED_CHARACTER_REFERENCE;\n this._stateNamedCharacterReference(cp);\n }\n else {\n this._flushCodePointConsumedAsCharacterReference(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND);\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Named character reference state\n //------------------------------------------------------------------\n _stateNamedCharacterReference(cp) {\n const matchResult = this._matchNamedCharacterReference(cp);\n //NOTE: Matching can be abrupted by hibernation. In that case, match\n //results are no longer valid and we will need to start over.\n if (this._ensureHibernation()) {\n // Stay in the state, try again.\n }\n else if (matchResult) {\n for (let i = 0; i < matchResult.length; i++) {\n this._flushCodePointConsumedAsCharacterReference(matchResult[i]);\n }\n this.state = this.returnState;\n }\n else {\n this._flushCodePointConsumedAsCharacterReference(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND);\n this.state = State.AMBIGUOUS_AMPERSAND;\n }\n }\n // Ambiguos ampersand state\n //------------------------------------------------------------------\n _stateAmbiguousAmpersand(cp) {\n if (isAsciiAlphaNumeric(cp)) {\n this._flushCodePointConsumedAsCharacterReference(cp);\n }\n else {\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SEMICOLON) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.unknownNamedCharacterReference);\n }\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Numeric character reference state\n //------------------------------------------------------------------\n _stateNumericCharacterReference(cp) {\n this.charRefCode = 0;\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_SMALL_X || cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.LATIN_CAPITAL_X) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE_START;\n }\n // Inlined decimal character reference start state\n else if (isAsciiDigit(cp)) {\n this.state = State.DECIMAL_CHARACTER_REFERENCE;\n this._stateDecimalCharacterReference(cp);\n }\n else {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NUMBER_SIGN);\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Hexademical character reference start state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReferenceStart(cp) {\n if (isAsciiHexDigit(cp)) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE;\n this._stateHexademicalCharacterReference(cp);\n }\n else {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference(_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NUMBER_SIGN);\n this._unconsume(2);\n this.state = this.returnState;\n }\n }\n // Hexademical character reference state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReference(cp) {\n if (isAsciiUpperHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x37;\n }\n else if (isAsciiLowerHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x57;\n }\n else if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x30;\n }\n else if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd(cp);\n }\n }\n // Decimal character reference state\n //------------------------------------------------------------------\n _stateDecimalCharacterReference(cp) {\n if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 10 + cp - 0x30;\n }\n else if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd(cp);\n }\n }\n // Numeric character reference end state\n //------------------------------------------------------------------\n _stateNumericCharacterReferenceEnd(cp) {\n if (this.charRefCode === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.NULL) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.nullCharacterReference);\n this.charRefCode = _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.REPLACEMENT_CHARACTER;\n }\n else if (this.charRefCode > 1114111) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.characterReferenceOutsideUnicodeRange);\n this.charRefCode = _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.REPLACEMENT_CHARACTER;\n }\n else if ((0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.isSurrogate)(this.charRefCode)) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.surrogateCharacterReference);\n this.charRefCode = _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.REPLACEMENT_CHARACTER;\n }\n else if ((0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.isUndefinedCodePoint)(this.charRefCode)) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.noncharacterCharacterReference);\n }\n else if ((0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.isControlCodePoint)(this.charRefCode) || this.charRefCode === _common_unicode_js__WEBPACK_IMPORTED_MODULE_1__.CODE_POINTS.CARRIAGE_RETURN) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_4__.ERR.controlCharacterReference);\n const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS.get(this.charRefCode);\n if (replacement !== undefined) {\n this.charRefCode = replacement;\n }\n }\n this._flushCodePointConsumedAsCharacterReference(this.charRefCode);\n this._reconsumeInState(this.returnState, cp);\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/tokenizer/index.js?')},"../wabac.js/node_modules/parse5/dist/tokenizer/preprocessor.js":
/*!**********************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/tokenizer/preprocessor.js ***!
\**********************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Preprocessor": () => (/* binding */ Preprocessor)\n/* harmony export */ });\n/* harmony import */ var _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/unicode.js */ "../wabac.js/node_modules/parse5/dist/common/unicode.js");\n/* harmony import */ var _common_error_codes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/error-codes.js */ "../wabac.js/node_modules/parse5/dist/common/error-codes.js");\n\n\n//Const\nconst DEFAULT_BUFFER_WATERLINE = 1 << 16;\n//Preprocessor\n//NOTE: HTML input preprocessing\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream)\nclass Preprocessor {\n constructor(handler) {\n this.handler = handler;\n this.html = \'\';\n this.pos = -1;\n // NOTE: Initial `lastGapPos` is -2, to ensure `col` on initialisation is 0\n this.lastGapPos = -2;\n this.gapStack = [];\n this.skipNextNewLine = false;\n this.lastChunkWritten = false;\n this.endOfChunkHit = false;\n this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;\n this.isEol = false;\n this.lineStartPos = 0;\n this.droppedBufferSize = 0;\n this.line = 1;\n //NOTE: avoid reporting errors twice on advance/retreat\n this.lastErrOffset = -1;\n }\n /** The column on the current line. If we just saw a gap (eg. a surrogate pair), return the index before. */\n get col() {\n return this.pos - this.lineStartPos + Number(this.lastGapPos !== this.pos);\n }\n get offset() {\n return this.droppedBufferSize + this.pos;\n }\n getError(code) {\n const { line, col, offset } = this;\n return {\n code,\n startLine: line,\n endLine: line,\n startCol: col,\n endCol: col,\n startOffset: offset,\n endOffset: offset,\n };\n }\n _err(code) {\n if (this.handler.onParseError && this.lastErrOffset !== this.offset) {\n this.lastErrOffset = this.offset;\n this.handler.onParseError(this.getError(code));\n }\n }\n _addGap() {\n this.gapStack.push(this.lastGapPos);\n this.lastGapPos = this.pos;\n }\n _processSurrogate(cp) {\n //NOTE: try to peek a surrogate pair\n if (this.pos !== this.html.length - 1) {\n const nextCp = this.html.charCodeAt(this.pos + 1);\n if ((0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.isSurrogatePair)(nextCp)) {\n //NOTE: we have a surrogate pair. Peek pair character and recalculate code point.\n this.pos++;\n //NOTE: add a gap that should be avoided during retreat\n this._addGap();\n return (0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.getSurrogatePairCodePoint)(cp, nextCp);\n }\n }\n //NOTE: we are at the end of a chunk, therefore we can\'t infer the surrogate pair yet.\n else if (!this.lastChunkWritten) {\n this.endOfChunkHit = true;\n return _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.EOF;\n }\n //NOTE: isolated surrogate\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_1__.ERR.surrogateInInputStream);\n return cp;\n }\n willDropParsedChunk() {\n return this.pos > this.bufferWaterline;\n }\n dropParsedChunk() {\n if (this.willDropParsedChunk()) {\n this.html = this.html.substring(this.pos);\n this.lineStartPos -= this.pos;\n this.droppedBufferSize += this.pos;\n this.pos = 0;\n this.lastGapPos = -2;\n this.gapStack.length = 0;\n }\n }\n write(chunk, isLastChunk) {\n if (this.html.length > 0) {\n this.html += chunk;\n }\n else {\n this.html = chunk;\n }\n this.endOfChunkHit = false;\n this.lastChunkWritten = isLastChunk;\n }\n insertHtmlAtCurrentPos(chunk) {\n this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1);\n this.endOfChunkHit = false;\n }\n startsWith(pattern, caseSensitive) {\n // Check if our buffer has enough characters\n if (this.pos + pattern.length > this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return false;\n }\n if (caseSensitive) {\n return this.html.startsWith(pattern, this.pos);\n }\n for (let i = 0; i < pattern.length; i++) {\n const cp = this.html.charCodeAt(this.pos + i) | 0x20;\n if (cp !== pattern.charCodeAt(i)) {\n return false;\n }\n }\n return true;\n }\n peek(offset) {\n const pos = this.pos + offset;\n if (pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.EOF;\n }\n const code = this.html.charCodeAt(pos);\n return code === _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.CARRIAGE_RETURN ? _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.LINE_FEED : code;\n }\n advance() {\n this.pos++;\n //NOTE: LF should be in the last column of the line\n if (this.isEol) {\n this.isEol = false;\n this.line++;\n this.lineStartPos = this.pos;\n }\n if (this.pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.EOF;\n }\n let cp = this.html.charCodeAt(this.pos);\n //NOTE: all U+000D CARRIAGE RETURN (CR) characters must be converted to U+000A LINE FEED (LF) characters\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.CARRIAGE_RETURN) {\n this.isEol = true;\n this.skipNextNewLine = true;\n return _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.LINE_FEED;\n }\n //NOTE: any U+000A LINE FEED (LF) characters that immediately follow a U+000D CARRIAGE RETURN (CR) character\n //must be ignored.\n if (cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.LINE_FEED) {\n this.isEol = true;\n if (this.skipNextNewLine) {\n // `line` will be bumped again in the recursive call.\n this.line--;\n this.skipNextNewLine = false;\n this._addGap();\n return this.advance();\n }\n }\n this.skipNextNewLine = false;\n if ((0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.isSurrogate)(cp)) {\n cp = this._processSurrogate(cp);\n }\n //OPTIMIZATION: first check if code point is in the common allowed\n //range (ASCII alphanumeric, whitespaces, big chunk of BMP)\n //before going into detailed performance cost validation.\n const isCommonValidRange = this.handler.onParseError === null ||\n (cp > 0x1f && cp < 0x7f) ||\n cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.LINE_FEED ||\n cp === _common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.CODE_POINTS.CARRIAGE_RETURN ||\n (cp > 0x9f && cp < 64976);\n if (!isCommonValidRange) {\n this._checkForProblematicCharacters(cp);\n }\n return cp;\n }\n _checkForProblematicCharacters(cp) {\n if ((0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.isControlCodePoint)(cp)) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_1__.ERR.controlCharacterInInputStream);\n }\n else if ((0,_common_unicode_js__WEBPACK_IMPORTED_MODULE_0__.isUndefinedCodePoint)(cp)) {\n this._err(_common_error_codes_js__WEBPACK_IMPORTED_MODULE_1__.ERR.noncharacterInInputStream);\n }\n }\n retreat(count) {\n this.pos -= count;\n while (this.pos < this.lastGapPos) {\n this.lastGapPos = this.gapStack.pop();\n this.pos--;\n }\n this.isEol = false;\n }\n}\n//# sourceMappingURL=preprocessor.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/tokenizer/preprocessor.js?')},"../wabac.js/node_modules/parse5/dist/tree-adapters/default.js":
/*!*********************************************************************!*\
!*** ../wabac.js/node_modules/parse5/dist/tree-adapters/default.js ***!
\*********************************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaultTreeAdapter\": () => (/* binding */ defaultTreeAdapter)\n/* harmony export */ });\n/* harmony import */ var _common_html_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/html.js */ \"../wabac.js/node_modules/parse5/dist/common/html.js\");\n\nfunction createTextNode(value) {\n return {\n nodeName: '#text',\n value,\n parentNode: null,\n };\n}\nconst defaultTreeAdapter = {\n //Node construction\n createDocument() {\n return {\n nodeName: '#document',\n mode: _common_html_js__WEBPACK_IMPORTED_MODULE_0__.DOCUMENT_MODE.NO_QUIRKS,\n childNodes: [],\n };\n },\n createDocumentFragment() {\n return {\n nodeName: '#document-fragment',\n childNodes: [],\n };\n },\n createElement(tagName, namespaceURI, attrs) {\n return {\n nodeName: tagName,\n tagName,\n attrs,\n namespaceURI,\n childNodes: [],\n parentNode: null,\n };\n },\n createCommentNode(data) {\n return {\n nodeName: '#comment',\n data,\n parentNode: null,\n };\n },\n //Tree mutation\n appendChild(parentNode, newNode) {\n parentNode.childNodes.push(newNode);\n newNode.parentNode = parentNode;\n },\n insertBefore(parentNode, newNode, referenceNode) {\n const insertionIdx = parentNode.childNodes.indexOf(referenceNode);\n parentNode.childNodes.splice(insertionIdx, 0, newNode);\n newNode.parentNode = parentNode;\n },\n setTemplateContent(templateElement, contentElement) {\n templateElement.content = contentElement;\n },\n getTemplateContent(templateElement) {\n return templateElement.content;\n },\n setDocumentType(document, name, publicId, systemId) {\n const doctypeNode = document.childNodes.find((node) => node.nodeName === '#documentType');\n if (doctypeNode) {\n doctypeNode.name = name;\n doctypeNode.publicId = publicId;\n doctypeNode.systemId = systemId;\n }\n else {\n const node = {\n nodeName: '#documentType',\n name,\n publicId,\n systemId,\n parentNode: null,\n };\n defaultTreeAdapter.appendChild(document, node);\n }\n },\n setDocumentMode(document, mode) {\n document.mode = mode;\n },\n getDocumentMode(document) {\n return document.mode;\n },\n detachNode(node) {\n if (node.parentNode) {\n const idx = node.parentNode.childNodes.indexOf(node);\n node.parentNode.childNodes.splice(idx, 1);\n node.parentNode = null;\n }\n },\n insertText(parentNode, text) {\n if (parentNode.childNodes.length > 0) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];\n if (defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n return;\n }\n }\n defaultTreeAdapter.appendChild(parentNode, createTextNode(text));\n },\n insertTextBefore(parentNode, text, referenceNode) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];\n if (prevNode && defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n }\n else {\n defaultTreeAdapter.insertBefore(parentNode, createTextNode(text), referenceNode);\n }\n },\n adoptAttributes(recipient, attrs) {\n const recipientAttrsMap = new Set(recipient.attrs.map((attr) => attr.name));\n for (let j = 0; j < attrs.length; j++) {\n if (!recipientAttrsMap.has(attrs[j].name)) {\n recipient.attrs.push(attrs[j]);\n }\n }\n },\n //Tree traversing\n getFirstChild(node) {\n return node.childNodes[0];\n },\n getChildNodes(node) {\n return node.childNodes;\n },\n getParentNode(node) {\n return node.parentNode;\n },\n getAttrList(element) {\n return element.attrs;\n },\n //Node data\n getTagName(element) {\n return element.tagName;\n },\n getNamespaceURI(element) {\n return element.namespaceURI;\n },\n getTextNodeContent(textNode) {\n return textNode.value;\n },\n getCommentNodeContent(commentNode) {\n return commentNode.data;\n },\n getDocumentTypeNodeName(doctypeNode) {\n return doctypeNode.name;\n },\n getDocumentTypeNodePublicId(doctypeNode) {\n return doctypeNode.publicId;\n },\n getDocumentTypeNodeSystemId(doctypeNode) {\n return doctypeNode.systemId;\n },\n //Node types\n isTextNode(node) {\n return node.nodeName === '#text';\n },\n isCommentNode(node) {\n return node.nodeName === '#comment';\n },\n isDocumentTypeNode(node) {\n return node.nodeName === '#documentType';\n },\n isElementNode(node) {\n return Object.prototype.hasOwnProperty.call(node, 'tagName');\n },\n // Source code location\n setNodeSourceCodeLocation(node, location) {\n node.sourceCodeLocation = location;\n },\n getNodeSourceCodeLocation(node) {\n return node.sourceCodeLocation;\n },\n updateNodeSourceCodeLocation(node, endLocation) {\n node.sourceCodeLocation = { ...node.sourceCodeLocation, ...endLocation };\n },\n};\n//# sourceMappingURL=default.js.map\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/parse5/dist/tree-adapters/default.js?")},"../wabac.js/node_modules/to-data-view/index.js":
/*!******************************************************!*\
!*** ../wabac.js/node_modules/to-data-view/index.js ***!
\******************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ toDataView)\n/* harmony export */ });\nfunction toDataView (data) {\n if (data instanceof Int8Array || data instanceof Uint8Array || data instanceof Uint8ClampedArray) {\n return new DataView(data.buffer, data.byteOffset, data.byteLength)\n }\n\n if (data instanceof ArrayBuffer) {\n return new DataView(data)\n }\n\n throw new TypeError('Expected `data` to be an ArrayBuffer, Buffer, Int8Array, Uint8Array or Uint8ClampedArray')\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/to-data-view/index.js?")},"../wabac.js/node_modules/warcio/dist/index.js":
/*!*****************************************************!*\
!*** ../wabac.js/node_modules/warcio/dist/index.js ***!
\*****************************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AsyncIterReader": () => (/* binding */ c),\n/* harmony export */ "BaseAsyncIterReader": () => (/* binding */ h),\n/* harmony export */ "CDXAndRecordIndexer": () => (/* binding */ O),\n/* harmony export */ "CDXIndexer": () => (/* binding */ W),\n/* harmony export */ "Indexer": () => (/* binding */ I),\n/* harmony export */ "LimitReader": () => (/* binding */ m),\n/* harmony export */ "NoConcatInflator": () => (/* binding */ b),\n/* harmony export */ "StatusAndHeaders": () => (/* binding */ _),\n/* harmony export */ "StatusAndHeadersParser": () => (/* binding */ k),\n/* harmony export */ "WARCParser": () => (/* binding */ w),\n/* harmony export */ "WARCRecord": () => (/* binding */ g),\n/* harmony export */ "WARCSerializer": () => (/* binding */ S),\n/* harmony export */ "WARC_1_0": () => (/* binding */ v),\n/* harmony export */ "WARC_1_1": () => (/* binding */ N),\n/* harmony export */ "appendRequestQuery": () => (/* binding */ F),\n/* harmony export */ "concatChunks": () => (/* binding */ y),\n/* harmony export */ "getSurt": () => (/* binding */ P),\n/* harmony export */ "jsonToQueryParams": () => (/* binding */ E),\n/* harmony export */ "jsonToQueryString": () => (/* binding */ H),\n/* harmony export */ "mfdToQueryParams": () => (/* binding */ B),\n/* harmony export */ "mfdToQueryString": () => (/* binding */ q),\n/* harmony export */ "postToGetUrl": () => (/* binding */ L),\n/* harmony export */ "splitChunk": () => (/* binding */ R)\n/* harmony export */ });\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pako */ "../wabac.js/node_modules/pako/index.js");\n/* harmony import */ var uuid_random__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uuid-random */ "../wabac.js/node_modules/uuid-random/index.js");\n/* harmony import */ var base32_encode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! base32-encode */ "../wabac.js/node_modules/base32-encode/index.js");\nfunction G(i){let s;typeof i=="string"?s=i:i&&i.length?s=i.reduce((e,t)=>(e+=String.fromCharCode(t),e),""):i?s=i.toString():s="";try{return"__wb_post_data="+btoa(s)}catch{return"__wb_post_data="}}function Z(i){return i.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function P(i){try{if(!i.startsWith("https:")&&!i.startsWith("http:"))return i;i=i.replace(/^(https?:\\/\\/)www\\d*\\./,"$1");let s=i.toLowerCase(),e=new URL(s),r=e.hostname.split(".").reverse().join(",");if(e.port&&(r+=":"+e.port),r+=")",r+=e.pathname,e.search){e.searchParams.sort(),r+=e.search;for(let[n,a]of e.searchParams.entries())if(!a){let o=new RegExp(`(?<=[&?])${Z(n)}=(?=&|$)`);o.exec(s)||(r=r.replace(o,n))}}return r}catch{return i}}function L(i){let{method:s,headers:e,postData:t}=i;if(s==="GET")return!1;let r=(e.get("content-type")||"").split(";")[0];function n(o){return o instanceof Uint8Array&&(o=new TextDecoder().decode(o)),o}let a="";switch(r){case"application/x-www-form-urlencoded":a=n(t);break;case"application/json":a=H(n(t));break;case"text/plain":try{a=H(n(t),!1)}catch{a=G(t)}break;case"multipart/form-data":{let o=e.get("content-type");if(!o)throw new Error("utils cannot call postToGetURL when missing content-type header");a=q(n(t),o);break}default:a=G(t)}return a!==null?(i.url=F(i.url,a,i.method),i.method="GET",i.requestBody=a,!0):!1}function F(i,s,e){if(!e)return i;let t=i.indexOf("?")>0?"&":"?";return`${i}${t}__wb_method=${e}&${s}`}function E(i,s=!0){if(typeof i=="string")try{i=JSON.parse(i)}catch{i={}}let e=new URLSearchParams,t={},r=n=>e.has(n)?(n in t||(t[n]=1),n+"."+ ++t[n]+"_"):n;try{JSON.stringify(i,(n,a)=>(["object","function"].includes(typeof a)||e.set(r(n),a),a))}catch(n){if(!s)throw n}return e}function B(i,s){let e=new URLSearchParams;i instanceof Uint8Array&&(i=new TextDecoder().decode(i));try{let t=s.split("boundary=")[1],r=i.split(new RegExp("-*"+t+"-*","mi"));for(let n of r){let a=n.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);a&&e.set(a[1],a[2])}}catch{}return e}function H(i,s=!0){return E(i,s).toString()}function q(i,s){return B(i,s).toString()}function y(i,s){if(i.length===1)return i[0];let e=new Uint8Array(s),t=0;for(let r of i)e.set(r,t),t+=r.byteLength;return e}function R(i,s){return[i.slice(0,s),i.slice(s)]}var X=new TextDecoder("utf-8"),b=class extends pako__WEBPACK_IMPORTED_MODULE_0__.Inflate{constructor(e,t){super(e);this.ended=!1;this.chunks=[];this.reader=t}onEnd(e){this.err=e,this.err||(this.reader._rawOffset+=this.strm.total_in)}},h=class{static async readFully(s){let e=[],t=0;for await(let r of s)e.push(r),t+=r.byteLength;return y(e,t)}getReadableStream(){let s=this[Symbol.asyncIterator]();return new ReadableStream({pull(e){return s.next().then(t=>{t.done||!t.value?e.close():e.enqueue(t.value)})}})}async readFully(){return await h.readFully(this)}async readline(s=0){let e=await this.readlineRaw(s);return e?X.decode(e):""}async*iterLines(s=0){let e=null;for(;e=await this.readline(s);)yield e}};function te(i){return i&&Symbol.iterator in Object(i)}function re(i){return i&&Symbol.asyncIterator in Object(i)}var c=class extends h{constructor(e,t="gzip",r=!1){super();this.compressed=t,this.opts={raw:t==="deflateRaw"},this.inflator=t?new b(this.opts,this):null;let n;if(re(e))n=e;else if(typeof e=="object"&&"read"in e&&typeof e.read=="function")n=c.fromReadable(e);else if(e instanceof ReadableStream)n=c.fromReadable(e.getReader());else if(te(e))n=c.fromIter(e);else throw new TypeError("Invalid Stream Source");r?this._sourceIter=this.dechunk(n):this._sourceIter=n[Symbol.asyncIterator](),this.lastValue=null,this.errored=!1,this._savedChunk=null,this._rawOffset=0,this._readOffset=0,this.numChunks=0}async _loadNext(){let e=await this._sourceIter.next();return e.done?null:e.value}async*dechunk(e){let t=e instanceof c?e:new c(e,null),r=-1,n=!0;for(;r!=0;){let a=await t.readlineRaw(64),o=new Uint8Array;if(r=a?parseInt(X.decode(a),16):0,!r||r>2**32){if(Number.isNaN(r)||r>2**32){n||(this.errored=!0),yield a;break}}else if(o=await t.readSize(r),o.length!=r){n?yield a:this.errored=!0,yield o;break}let l=await t.readSize(2);if(l[0]!=13||l[1]!=10){n?yield a:this.errored=!0,yield o,yield l;break}else{if(n=!1,!o||r===0)return;yield o}}yield*t}unread(e){!e.length||(this._readOffset-=e.length,this._savedChunk&&console.log("Already have chunk!"),this._savedChunk=e)}async _next(){if(this._savedChunk){let t=this._savedChunk;return this._savedChunk=null,t}if(this.compressed){let t=this._getNextChunk();if(t)return t}let e=await this._loadNext();for(;this.compressed&&e;){this._push(e);let t=this._getNextChunk(e);if(t)return t;e=await this._loadNext()}return e}_push(e){if(!this.inflator)throw new Error("AsyncIterReader cannot call _push when this.compressed is null");this.lastValue=e,this.inflator.ended&&(this.inflator=new b(this.opts,this)),this.inflator.push(e),this.inflator.err&&this.inflator.ended&&this.compressed==="deflate"&&this.opts.raw===!1&&this.numChunks===0&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new b(this.opts,this),this.inflator.push(e))}_getNextChunk(e){if(!this.inflator)throw new Error("AsyncIterReader cannot call _getNextChunk when this.compressed is null");for(;;){if(this.inflator.chunks.length>0)return this.numChunks++,this.inflator.chunks.shift();if(this.inflator.ended){if(this.inflator.err!==0)return this.compressed=null,e;let t=this.inflator.strm.avail_in;if(t&&this.lastValue){this._push(this.lastValue.slice(-t));continue}}return null}}async*[Symbol.asyncIterator](){let e=null;for(;e=await this._next();)this._readOffset+=e.length,yield e}async readlineRaw(e){let t=[],r=0,n=-1,a=null;for await(let o of this){if(e&&r+o.byteLength>e){a=o,n=e-r-1;let l=o.slice(0,n+1).indexOf(10);l>=0&&(n=l);break}if(n=o.indexOf(10),n>=0){a=o;break}t.push(o),r+=o.byteLength}if(a){let[o,l]=R(a,n+1);t.push(o),r+=o.byteLength,this.unread(l)}else if(!t.length)return null;return y(t,r)}async readFully(){return(await this._readOrSkip())[1]}async readSize(e){return(await this._readOrSkip(e))[1]}async skipSize(e){return(await this._readOrSkip(e,!0))[0]}async _readOrSkip(e=-1,t=!1){let r=[],n=0;for await(let a of this){if(e>=0)if(a.length>e){let[o,l]=R(a,e);t||r.push(o),n+=o.byteLength,this.unread(l);break}else if(a.length===e){t||r.push(a),n+=a.byteLength,e=0;break}else e-=a.length;t||r.push(a),n+=a.byteLength}return t?[n,new Uint8Array]:[n,y(r,n)]}getReadOffset(){return this._readOffset}getRawOffset(){return this.compressed?this._rawOffset:this._readOffset}getRawLength(e){return this.compressed?this.inflator.strm.total_in:this._readOffset-e}static fromReadable(e){return{async*[Symbol.asyncIterator](){let r=null;for(;(r=await e.read())&&!r.done;)yield r.value}}}static fromIter(e){return{async*[Symbol.asyncIterator](){for(let r of e)yield r}}}},m=class extends h{constructor(e,t,r=0){super();this.sourceIter=e,this.length=t,this.limit=t,this.skip=r}setLimitSkip(e,t=0){this.limit=e,this.skip=t}async*[Symbol.asyncIterator](){if(!(this.limit<=0))for await(let e of this.sourceIter){if(this.skip>0)if(e.length>=this.skip){let[,t]=R(e,this.skip);e=t,this.skip=0}else{this.skip-=e.length;continue}if(e.length>this.limit){let[t,r]=R(e,this.limit);e=t,this.sourceIter.unread&&this.sourceIter.unread(r)}if(e.length&&(this.limit-=e.length,yield e),this.limit<=0)break}}async readlineRaw(e){if(this.limit<=0)return null;let t=await this.sourceIter.readlineRaw(e?Math.min(e,this.limit):this.limit);return this.limit-=t?.length||0,t}async skipFully(){let e=this.limit;for(;this.limit>0;)this.limit-=await this.sourceIter.skipSize(this.limit);return e}};var z=new Uint8Array([13,10]),J=new Uint8Array([13,10,13,10]),se=new TextDecoder("utf-8"),_=class{constructor({statusline:s,headers:e}){this.statusline=s,this.headers=e}toString(){let s=[this.statusline];for(let[e,t]of this.headers)s.push(`${e}: ${t}`);return s.join(`\\r\n`)+`\\r\n`}async*iterSerialize(s){yield s.encode(this.statusline),yield z;for(let[e,t]of this.headers)yield s.encode(`${e}: ${t}\\r\n`)}_parseResponseStatusLine(){let s=ne(this.statusline," ",2);this._protocol=s[0]??"",this._statusCode=s.length>1?Number(s[1]):"",this._statusText=s.length>2?s[2]:""}get statusCode(){return this._statusCode===void 0&&this._parseResponseStatusLine(),this._statusCode}get protocol(){return this._protocol===void 0&&this._parseResponseStatusLine(),this._protocol}get statusText(){return this._statusText===void 0&&this._parseResponseStatusLine(),this._statusText}_parseRequestStatusLine(){let s=this.statusline.split(" ",2);this._method=s[0]??"",this._requestPath=s.length>1?s[1]:""}get method(){return this._method===void 0&&this._parseRequestStatusLine(),this._method}get requestPath(){return this._requestPath===void 0&&this._parseRequestStatusLine(),this._requestPath}},k=class{async parse(s,{headersClass:e,firstLine:t}={headersClass:Map}){let r=t||await s.readline();if(!r)return null;let n=r.trimEnd();if(!n)return null;let a=new e,o=await ae(s),l=0,d,f,p,T="",u;for(;l<o.length;){if(p=o.indexOf(`\n`,l),u&&(o[l]===" "||o[l]==="\t"))u+=o.slice(l,p<0?void 0:p).trimEnd();else{if(u){try{a.set(T,u)}catch{}u=null}d=o.indexOf(":",l),f=d<0?l:d+1,d>=0&&d<p?(T=o.slice(l,d).trimStart(),u=o.slice(f,p<0?void 0:p).trim()):u=null}if(p<0)break;l=p+1}if(u)try{a.set(T,u)}catch{}return new _({statusline:n,headers:a})}};function ne(i,s,e){let t=i.split(s),r=t.slice(0,e);return t.slice(e).length>0&&r.push(t.slice(e).join(s)),r}async function ie(i,s){let e=0;for(let t=0;t<i.length-4;t++){let r=i.indexOf(13,e);if(r<0)break;if(r+3>=i.length){let{value:n}=await s.next();if(!n)break;let a=new Uint8Array(n.length+i.length);a.set(i,0),a.set(n,i.length),i=a}if(i[r+1]===10&&i[r+2]===13&&i[r+3]===10)return[r+3,i];e=r+1}return[-1,i]}async function ae(i){let s=[],e=0,t=0,r=null,n=i[Symbol.asyncIterator]();for await(let a of n){if([t,a]=await ie(a,n),t>=0){r=a;break}s.push(a),e+=a.byteLength}if(r){let[a,o]=R(r,t+1);s.push(a),e+=a.byteLength,i.unread(o)}else if(!s.length)return"";return se.decode(y(s,e))}var le=new TextDecoder("utf-8"),de=new TextEncoder,N="WARC/1.1",v="WARC/1.0",ce="http://netpreserve.org/warc/1.0/revisit/identical-payload-digest",ue="http://netpreserve.org/warc/1.1/revisit/identical-payload-digest",he={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},g=class extends h{constructor({warcHeaders:e,reader:t}){super();this._offset=0;this._length=0;this.method="";this.requestBody="";this._urlkey="";this.warcHeaders=e,this._reader=t,this._contentReader=null,this.payload=null,this.httpHeaders=null,this.consumed="",this.fixUp()}static create({url:e,date:t,type:r,warcHeaders:n={},filename:a="",httpHeaders:o={},statusline:l="HTTP/1.1 200 OK",warcVersion:d=v,keepHeadersCase:f=!0,refersToUrl:p=void 0,refersToDate:T=void 0}={},u){function U(x){let Y=x;return d===v&&(x=x.split(".")[0],x.charAt(Y.length-1)!="Z"&&(x+="Z")),x}t=U(t||new Date().toISOString()),n={...n},r==="warcinfo"?a&&(n["WARC-Filename"]=a):n["WARC-Target-URI"]=e,n["WARC-Date"]=t,n["WARC-Type"]=r,r==="revisit"&&(n["WARC-Profile"]=d===N?ue:ce,n["WARC-Refers-To-Target-URI"]=p,n["WARC-Refers-To-Date"]=U(T||new Date().toISOString())),n=new _({statusline:d,headers:f?new Map(Object.entries(n)):new Headers(n)}),n.headers.get("WARC-Record-ID")||n.headers.set("WARC-Record-ID",`<urn:uuid:${uuid_random__WEBPACK_IMPORTED_MODULE_1__()}>`),n.headers.get("Content-Type")||n.headers.set("Content-Type",r&&he[r]||"application/octet-stream"),u||(u=async function*(){}());let M=new g({warcHeaders:n,reader:u}),Q=null,D=[];switch(r){case"response":case"request":case"revisit":D=Object.entries(o),Q=f?new Map(D):new Headers(o),(D.length>0||r!=="revisit")&&(M.httpHeaders=new _({statusline:l,headers:Q}));break}return M}static createWARCInfo(e={},t){async function*r(){for(let[n,a]of Object.entries(t))yield de.encode(`${n}: ${a}\\r\n`)}return e.type="warcinfo",g.create(e,r())}getResponseInfo(){let e=this.httpHeaders;return e?{headers:e.headers,status:e.statusCode,statusText:e.statusText}:null}fixUp(){let e=this.warcHeaders.headers.get("WARC-Target-URI");e&&e.startsWith("<")&&e.endsWith(">")&&this.warcHeaders.headers.set("WARC-Target-URI",e.slice(1,-1))}async readFully(e=!1){if(this.httpHeaders){if(this.payload&&!this.payload.length)return this.payload;if(this._contentReader&&!e)throw new TypeError("WARC Record decoding already started, but requesting raw payload");if(e&&this.consumed==="raw"&&this.payload)return await this._createDecodingReader([this.payload]).readFully()}return this.payload?this.payload:(e?(this.payload=await super.readFully(),this.consumed="content"):(this.payload=await g.readFully(this._reader),this.consumed="raw"),this.payload)}get reader(){if(this._contentReader)throw new TypeError("WARC Record decoding already started, but requesting raw payload");return this._reader}get contentReader(){return this.httpHeaders?(this._contentReader||(this._contentReader=this._createDecodingReader(this._reader)),this._contentReader):this._reader}_createDecodingReader(e){if(!this.httpHeaders)throw new Error("WARCRecord cannot call _createDecodingReader when this.httpHeaders === null");let t=this.httpHeaders.headers.get("Content-Encoding"),r=this.httpHeaders.headers.get("Transfer-Encoding"),n=r==="chunked";return!t&&!n&&(t=r),new c(e,t,n)}async readlineRaw(e){if(this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");if(this.contentReader instanceof h)return this.contentReader.readlineRaw(e);throw new Error("WARCRecord cannot call readlineRaw on this.contentReader if it does not extend BaseAsyncIterReader")}async contentText(){let e=await this.readFully(!0);return le.decode(e)}async*[Symbol.asyncIterator](){for await(let e of this.contentReader)if(yield e,this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");this.consumed="content"}async skipFully(){if(!this.consumed){if(this._reader instanceof m){let e=await this._reader.skipFully();return this.consumed="skipped",e}throw new Error("WARCRecord cannot call skipFully on this._reader if it is not a LimitReader")}}warcHeader(e){return this.warcHeaders.headers.get(e)}get warcType(){return this.warcHeaders.headers.get("WARC-Type")}get warcTargetURI(){return this.warcHeaders.headers.get("WARC-Target-URI")}get warcDate(){return this.warcHeaders.headers.get("WARC-Date")}get warcRefersToTargetURI(){return this.warcHeaders.headers.get("WARC-Refers-To-Target-URI")}get warcRefersToDate(){return this.warcHeaders.headers.get("WARC-Refers-To-Date")}get warcPayloadDigest(){return this.warcHeaders.headers.get("WARC-Payload-Digest")}get warcBlockDigest(){return this.warcHeaders.headers.get("WARC-Block-Digest")}get warcContentType(){return this.warcHeaders.headers.get("Content-Type")}get warcContentLength(){return Number(this.warcHeaders.headers.get("Content-Length"))}};var V=new TextDecoder,$=new Uint8Array([]),w=class{static parse(s,e){return new w(s,e).parse()}static iterRecords(s,e){return new w(s,e)[Symbol.asyncIterator]()}constructor(s,{keepHeadersCase:e=!1,parseHttp:t=!0}={}){this._offset=0,this._warcHeadersLength=0,this._headersClass=e?Map:Headers,this._parseHttp=t,s instanceof c?this._reader=s:this._reader=new c(s),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return $;await this._record.skipFully(),this._reader.compressed&&(this._offset=this._reader.getRawOffset());let s=await this._reader.readlineRaw(),e=0;if(!s)s=$;else{if(e=s.byteLength-1,e===9&&V.decode(s).startsWith("WARC/"))return s;for(;e>0;){let t=s[e-1];if(t!==10&&t!==13)break;e--}e&&console.warn(`Content-Length Too Small: Record not followed by newline, Remainder Length: ${e}, Offset: ${this._reader.getRawOffset()-s.byteLength}`)}if(this._reader.compressed)await this._reader.skipSize(2),s=$;else{for(s=await this._reader.readlineRaw();s&&s.byteLength===2;)s=await this._reader.readlineRaw();this._offset=this._reader.getRawOffset(),s&&(this._offset-=s.length)}return s}_initRecordReader(s){return new m(this._reader,Number(s.headers.get("Content-Length")||0))}async parse(){let s=await this.readToNextRecord(),e=s?V.decode(s):"",t=new k,r=await t.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!r)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new g({warcHeaders:r,reader:this._initRecordReader(r)});if(this._record=n,this._parseHttp)switch(n.warcType){case"response":case"request":await this._addHttpHeaders(n,t);break;case"revisit":n.warcContentLength>0&&await this._addHttpHeaders(n,t);break}return n}get offset(){return this._offset}get recordLength(){return this._reader.getRawLength(this._offset)}async*[Symbol.asyncIterator](){let s=null;for(;(s=await this.parse())!==null;)yield s;this._record=null}async _addHttpHeaders(s,e){let t=await e.parse(this._reader,{headersClass:this._headersClass});s.httpHeaders=t;let r=this._reader.getReadOffset()-this._warcHeadersLength;s.reader instanceof m&&s.reader.setLimitSkip(s.warcContentLength-r)}};var K=new TextEncoder,S=class extends h{constructor(e,t={}){super();this.gzip=!1;this.digestAlgo="";this.digestAlgoPrefix="";this.digestBase32=!1;this.record=e,this.gzip=Boolean(t.gzip);let r=t&&t.digest||{};e.warcType!=="revisit"&&e.warcType!=="warcinfo"&&(!e.warcPayloadDigest||!e.warcBlockDigest)?(this.digestAlgo=r?.algo||"sha-256",this.digestAlgoPrefix=r?.prefix||"sha256:",this.digestBase32=Boolean(r?.base32)):this.digestAlgo=""}static async serialize(e,t){return await new S(e,t).readFully()}static base16(e){return Array.from(new Uint8Array(e)).map(r=>r.toString(16).padStart(2,"0")).join("")}async*[Symbol.asyncIterator](){if(!this.gzip){yield*this.generateRecord();return}let e=null;"CompressionStream"in globalThis?(e=new globalThis.CompressionStream("gzip"),yield*this.streamCompress(e)):yield*this.pakoCompress()}async readlineRaw(e){return null}async*pakoCompress(){let e=new pako__WEBPACK_IMPORTED_MODULE_0__.Deflate({gzip:!0}),t=null;for await(let r of this.generateRecord())for(t&&t.length>0&&e.push(t),t=r;e.chunks.length;)yield e.chunks.shift();t&&e.push(t,!0),yield e.result}async*streamCompress(e){let t=this.generateRecord();new ReadableStream({async pull(o){let l=await t.next();l.done?o.close():o.enqueue(l.value)}}).pipeThrough(e);let n=null,a=e.readable.getReader();for(;(n=await a.read())&&!n.done;)yield n.value}async digestMessage(e){let t=await crypto.subtle.digest(this.digestAlgo,e);return this.digestAlgoPrefix+(this.digestBase32?(0,base32_encode__WEBPACK_IMPORTED_MODULE_2__["default"])(t,"RFC4648"):S.base16(t))}async*generateRecord(){let e=0,t=null;this.record.httpHeaders&&(t=K.encode(this.record.httpHeaders.toString()+`\\r\n`),e+=t.length);let r=await this.record.readFully();if(e+=r.length,this.digestAlgo){let a=await this.digestMessage(r),o=t?await this.digestMessage(y([t,r],e)):a;this.record.warcHeaders.headers.set("WARC-Payload-Digest",a),this.record.warcHeaders.headers.set("WARC-Block-Digest",o)}this.record.warcHeaders.headers.set("Content-Length",e.toString()),yield K.encode(this.record.warcHeaders.toString()),yield z,t&&(yield t),yield r,yield J}};var ye=["offset","warc-type","warc-target-uri"],j=class{constructor(s={}){this.opts=s,this.fields=s&&s.fields?s.fields.split(","):ye,this.parseHttp=!1}serialize(s){return JSON.stringify(s)+`\n`}write(s,e){e.write(this.serialize(s))}async writeAll(s,e){for await(let t of this.iterIndex(s))this.write(t,e)}async*iterIndex(s){let e={strictHeaders:!0,parseHttp:this.parseHttp};for(let{filename:t,reader:r}of s){let n=new w(r,e);yield*this.iterRecords(n,t)}}async*iterRecords(s,e){for await(let t of s){await t.skipFully();let r=this.indexRecord(t,s,e);r&&(yield r)}}indexRecord(s,e,t){if(this.filterRecord&&!this.filterRecord(s))return null;let r={},n=e.offset,a=e.recordLength,o={offset:n,length:a,filename:t};for(let l of this.fields)l in o?r[l]=o[l]:this.setField(l,s,r);return r}setField(s,e,t){let r=this.getField(s,e);r!==null&&(t[s]=r)}getField(s,e){return s==="http:status"?e.httpHeaders&&(e.warcType==="response"||e.warcType==="revisit")?e.httpHeaders.statusCode:null:s.startsWith("http:")?e.httpHeaders?e.httpHeaders.headers.get(s.slice(5)):null:e.warcHeaders.headers.get(s)||null}},I=class extends j{constructor(s){super(s);for(let e of this.fields)if(e.startsWith("http:")){this.parseHttp=!0;break}}},ge="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),Re="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(","),W=class extends I{constructor(e){super(e);switch(this.includeAll=Boolean(e?.all),this.overrideIndexForAll=Boolean(e?.all),this.fields=ge,this.parseHttp=!0,this.noSurt=Boolean(e?.noSurt),this._lastRecord=null,e?.format){case"cdxj":this.serialize=this.serializeCDXJ;break;case"cdx":this.serialize=this.serializeCDX11;break;case"json":default:break}}async*iterRecords(e,t){this._lastRecord=null;for await(let n of e){await n.readFully();let a=this.indexRecord(n,e,t);a&&(yield a)}let r=this.indexRecord(null,e,t);r&&(yield r)}filterRecord(e){if(this.includeAll)return!0;let t=e.warcType;return!(t==="request"||t==="warcinfo"||(t==="metadata"||t==="resource")&&e.warcContentType==="application/warc-fields")}indexRecord(e,t,r){if(this.overrideIndexForAll)return e?super.indexRecord(e,t,r):null;let n=this._lastRecord;if(this._lastRecord=e,e&&(e._offset=t.offset,e._length=t.recordLength),!n)return null;if(!e||n.warcTargetURI!=e.warcTargetURI)return this.indexRecordPair(n,null,t,r);let a=e.warcType,o=n.warcType;return a==="request"&&(o==="response"||o==="revisit")?(this._lastRecord=null,this.indexRecordPair(n,e,t,r)):(a==="response"||a==="revisit")&&o==="request"?(this._lastRecord=null,this.indexRecordPair(e,n,t,r)):this.indexRecordPair(n,null,t,r)}indexRecordPair(e,t,r,n){let a,o,l=e.warcTargetURI||"";if(t&&t.httpHeaders&&t.httpHeaders.method!=="GET"){let f={url:l,method:t.httpHeaders.method,headers:t.httpHeaders.headers,postData:t.payload};a=f.method,L(f)&&(o=f.requestBody,e.method=a,e.requestBody=o,l=f.url)}e._urlkey=l;let d=super.indexRecord(e,r,n);return d&&(e&&e._offset!==void 0&&(d.offset=e._offset,d.length=e._length),a&&(d.method=a),o&&(d.requestBody=o)),d}serializeCDXJ(e){let{urlkey:t,timestamp:r}=e;return delete e.urlkey,delete e.timestamp,`${t} ${r} ${JSON.stringify(e)}\n`}serializeCDX11(e){let t=[];for(let r of Re)t.push(e[r]!=null?e[r]:"-");return t.join(" ")+`\n`}getField(e,t){let r=null;switch(e){case"urlkey":return r=t._urlkey||t.warcTargetURI||null,this.noSurt||r===null?r:P(r);case"timestamp":return r=t.warcDate??"",r.replace(/[-:T]/g,"").slice(0,14);case"url":return t.warcTargetURI;case"mime":switch(t.warcType){case"revisit":return"warc/revisit";case"response":case"request":e="http:content-type";break;default:e="content-type"}return r=super.getField(e,t),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",t);case"digest":return r=t.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return null}}},O=class extends W{constructor(s){super(s),this.overrideIndexForAll=!1}indexRecordPair(s,e,t,r){let n=super.indexRecordPair(s,e,t,r);return n&&{cdx:n,record:s,reqRecord:e}}};\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/node_modules/warcio/dist/index.js?')},"../wabac.js/src/api.js":
/*!******************************!*\
!*** ../wabac.js/src/api.js ***!
\******************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "API": () => (/* binding */ API)\n/* harmony export */ });\n/* harmony import */ var path_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path-parser */ "../wabac.js/node_modules/path-parser/dist/path-parser.esm.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n\n\n\n// ===========================================================================\nclass APIRouter {\n constructor(paths) {\n this.routes = {};\n\n for (const [name, value] of Object.entries(paths)) {\n let route, method;\n\n if (value instanceof Array) {\n route = value[0];\n method = value[1] || "GET";\n } else {\n route = value;\n method = "GET";\n }\n\n this.routes[method] = this.routes[method] || {};\n this.routes[method][name] = new path_parser__WEBPACK_IMPORTED_MODULE_1__.Path(route);\n }\n }\n\n match(url, method = "GET") {\n for (const [name, route] of Object.entries(this.routes[method] || [])) {\n const parts = url.split("?", 2);\n const matchUrl = parts[0];\n\n const res = route.test(matchUrl);\n if (res) {\n res._route = name;\n res._query = new URLSearchParams(parts.length === 2 ? parts[1] : "");\n return res;\n }\n }\n \n return {_route: null};\n }\n}\n\n\n// ===========================================================================\nclass API {\n constructor(collections) {\n this.router = new APIRouter(this.routes);\n\n this.collections = collections;\n }\n\n get routes() {\n return {\n "index": "coll-index",\n "coll": "c/:coll",\n "urls": "c/:coll/urls",\n "createColl": ["c/create", "POST"],\n "deleteColl": ["c/:coll", "DELETE"],\n "updateAuth": ["c/:coll/updateAuth", "POST"],\n "updateMetadata": ["c/:coll/metadata", "POST"],\n "curated": "c/:coll/curated/:list",\n "pages": "c/:coll/pages",\n "textIndex": "c/:coll/textIndex",\n "deletePage": ["c/:coll/page/:page", "DELETE"],\n };\n }\n\n async apiResponse(url, request, event) {\n const params = this.router.match(url, request.method);\n const response = await this.handleApi(request, params, event);\n if (response instanceof Response) {\n return response;\n }\n const status = response.error ? 404 : 200;\n return this.makeResponse(response, status);\n }\n\n async handleApi(request, params/*, event*/) {\n switch (params._route) {\n case "index":\n return await this.listAll(params._query.get("filter"));\n\n case "createColl": {\n const requestJSON = await request.json();\n const coll = await this.collections.initNewColl(requestJSON.metadata || {}, requestJSON.extraConfig || {});\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getCollData)(coll);\n }\n\n case "coll": {\n const coll = await this.collections.getColl(params.coll);\n if (!coll) {\n return {error: "collection_not_found"};\n }\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getCollData)(coll);\n\n if (params._query.get("all") === "1") {\n if (coll.store.db) {\n data.pages = await coll.store.getAllPages();\n data.lists = await coll.store.db.getAll("pageLists");\n data.curatedPages = await coll.store.db.getAll("curatedPages");\n } else {\n data.pages = [];\n data.lists = [];\n data.curatedPages = [];\n }\n\n data.verify = await coll.store.getVerifyInfo();\n\n } else {\n data.numLists = await coll.store.db.count("pageLists");\n data.numPages = await coll.store.db.count("pages");\n }\n\n if (coll.config.metadata.ipfsPins) {\n data.ipfsPins = coll.config.metadata.ipfsPins;\n }\n\n return data;\n }\n\n case "deleteColl": {\n const keepFileHandle = params._query.get("reload") === "1";\n\n if (!await this.collections.deleteColl(params.coll, keepFileHandle)) {\n return {error: "collection_not_found"};\n }\n return await this.listAll();\n }\n\n case "updateAuth": {\n const requestJSON = await request.json();\n return {"success": await this.collections.updateAuth(params.coll, requestJSON.headers)};\n }\n\n case "updateMetadata": {\n const requestJSON = await request.json();\n const metadata = await this.collections.updateMetadata(params.coll, requestJSON);\n return {metadata};\n }\n\n case "urls": {\n const coll = await this.collections.getColl(params.coll);\n if (!coll) {\n return {error: "collection_not_found"};\n }\n const url = params._query.get("url");\n const count = Number(params._query.get("count") || 100);\n const mime = params._query.get("mime");\n const prefix = (params._query.get("prefix") === "1");\n\n const fromUrl = params._query.get("fromUrl");\n const fromTs = params._query.get("fromTs");\n const fromMime = params._query.get("fromMime");\n const fromStatus = Number(params._query.get("fromStatus") || 0);\n\n if (!coll.store.resourcesByMime) {\n return {urls: []};\n }\n\n let urls;\n\n if (url) {\n urls = await coll.store.resourcesByUrlAndMime(url, mime, count, prefix, fromUrl, fromTs);\n } else {\n urls = await coll.store.resourcesByMime(mime, count, fromMime, fromUrl, fromStatus);\n }\n\n urls = urls || [];\n\n return {urls};\n }\n\n case "pages": {\n const coll = await this.collections.getColl(params.coll);\n if (!coll) {\n return {error: "collection_not_found"};\n }\n const pages = await coll.store.getAllPages();\n return {pages};\n }\n\n case "textIndex": {\n const coll = await this.collections.getColl(params.coll);\n if (!coll) {\n return {error: "collection_not_found"};\n }\n if (coll.store.getTextIndex) {\n return await coll.store.getTextIndex();\n } else {\n return {};\n }\n }\n\n case "curated": {\n const coll = await this.collections.getColl(params.coll);\n if (!coll) {\n return {error: "collection_not_found"};\n }\n const list = Number(params.list);\n const curated = await coll.store.db.getAllFromIndex("curatedPages", "listPages", \n IDBKeyRange.bound([list], [list + 1]));\n return {curated};\n }\n\n case "deletePage": {\n const coll = await this.collections.getColl(params.coll);\n if (!coll) {\n return {error: "collection_not_found"};\n }\n const {pageSize, deleteSize} = coll.store.deletePage(params.page);\n\n this.collections.updateSize(params.coll, pageSize, deleteSize);\n\n return {pageSize, deleteSize};\n }\n\n default:\n return {"error": "not_found"};\n }\n }\n\n async listAll(filter) {\n const response = await this.collections.listAll();\n const collections = [];\n\n response.forEach((coll) => {\n if (coll.type === "live" || coll.type === "remoteproxy") {\n return;\n }\n\n if (filter && coll.type.indexOf(filter) !== 0) {\n return;\n }\n\n collections.push((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getCollData)(coll));\n });\n\n return {"colls": collections};\n }\n\n makeResponse(response, status = 200) {\n return new Response(JSON.stringify(response), {status, headers: {"Content-Type": "application/json"}});\n }\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/api.js?')},"../wabac.js/src/archivedb.js":
/*!************************************!*\
!*** ../wabac.js/src/archivedb.js ***!
\************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ArchiveDB": () => (/* binding */ ArchiveDB)\n/* harmony export */ });\n/* harmony import */ var idb_with_async_ittr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! idb/with-async-ittr */ "../wabac.js/node_modules/idb/with-async-ittr.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _fuzzymatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fuzzymatcher.js */ "../wabac.js/src/fuzzymatcher.js");\n/* harmony import */ var _response_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./response.js */ "../wabac.js/src/response.js");\n\n\n\n\n\n\n\n\nconst MAX_FUZZY_MATCH = 128000;\nconst MAX_RESULTS = 16;\nconst MAX_DATE_TS = new Date("9999-01-01").getTime();\n\nconst REVISIT = "warc/revisit";\n\nconst EMPTY_PAYLOAD_SHA256 = "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";\n\n// sha-1 digests often base32 encoded\nconst EMPTY_PAYLOAD_SHA1 = "sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ";\n\nconst DB_VERSION = 4;\n\n// ===========================================================================\nclass ArchiveDB {\n constructor(name, opts = {}) {\n this.name = name;\n this.db = null;\n\n const { minDedupSize, noRefCounts } = opts;\n this.minDedupSize = Number.isInteger(minDedupSize) ? minDedupSize : 1024;\n\n this.version = DB_VERSION;\n\n this.autoHttpsCheck = true;\n this.useRefCounts = !noRefCounts;\n\n this.allowRepeats = true;\n this.repeatTracker = this.allowRepeats ? new RepeatTracker() : null;\n this.fuzzyPrefixSearch = true;\n\n this.initing = this.init();\n }\n\n async init() {\n let oldVersion = 0;\n\n this.db = await (0,idb_with_async_ittr__WEBPACK_IMPORTED_MODULE_0__.openDB)(this.name, this.version, {\n upgrade: (db, oldV, newV, tx) => {\n oldVersion = oldV;\n this._initDB(db, oldV, newV, tx);\n },\n blocking: (_, oldV) => {\n if (!oldV) {\n this.close();\n }\n }\n });\n\n if (oldVersion === 1) {\n await this.convertCuratedPagesToV2(this.db);\n }\n }\n\n _initDB(db, oldV/*, newV, tx*/) {\n if (!oldV) {\n const pageStore = db.createObjectStore("pages", { keyPath: "id" });\n pageStore.createIndex("url", "url");\n pageStore.createIndex("ts", "ts");\n pageStore.createIndex("state", "state");\n\n db.createObjectStore("pageLists", { keyPath: "id", autoIncrement: true});\n\n const curatedPages = db.createObjectStore("curatedPages", { keyPath: "id", autoIncrement: true});\n curatedPages.createIndex("listPages", ["list", "pos"]);\n\n const urlStore = db.createObjectStore("resources", { keyPath: ["url", "ts"] });\n urlStore.createIndex("pageId", "pageId");\n //urlStore.createIndex("pageUrlTs", ["pageId", "url", "ts"]);\n //urlStore.createIndex("ts", "ts");\n urlStore.createIndex("mimeStatusUrl", ["mime", "status", "url"]);\n\n db.createObjectStore("payload", { keyPath: "digest", unique: true});\n db.createObjectStore("digestRef", { keyPath: "digest", unique: true});\n }\n }\n\n async clearAll() {\n const stores = ["pages", "resources", "payload", "digestRef"];\n\n for (const store of stores) {\n await this.db.clear(store);\n }\n }\n\n close() {\n if (this.db) {\n this.db.close();\n this.db = null;\n }\n }\n\n async delete() {\n this.close();\n await (0,idb_with_async_ittr__WEBPACK_IMPORTED_MODULE_0__.deleteDB)(this.name, {\n blocked(_, e) {\n console.log("Unable to delete: " + e);\n }\n });\n }\n\n async addPage(page, tx) {\n const url = page.url;\n const title = page.title || page.url;\n const id = page.id || this.newPageId();\n const state = page.state || _utils_js__WEBPACK_IMPORTED_MODULE_1__.PAGE_STATE_SYNCED;\n let ts = page.ts;\n\n\n if (typeof(ts) !== "number") {\n if (page.timestamp) {\n ts = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.tsToDate)(page.timestamp).getTime();\n } else {\n const date = page.ts || page.date || page.datetime;\n if (date) {\n ts = new Date(date).getTime();\n }\n }\n }\n\n const p = {...page, url, ts, title, id, state};\n\n if (tx) {\n tx.store.put(p);\n return p.id;\n } else {\n return await this.db.put("pages", p);\n }\n }\n\n async addPages(pages, pagesTable = "pages", update = false) {\n const tx = this.db.transaction(pagesTable, "readwrite");\n\n for (const page of pages) {\n if (update) {\n tx.store.put(page);\n } else {\n this.addPage(page, tx);\n }\n }\n\n try {\n await tx.done;\n } catch(e) {\n console.warn("addPages tx", e.toString());\n }\n }\n\n async createPageList(data) {\n const listData = {};\n listData.title = data.title;\n listData.desc = data.desc || data.description;\n listData.slug = data.id || data.slug;\n\n return await this.db.put("pageLists", listData);\n }\n\n async addCuratedPageList(listInfo, pages) {\n const listId = await this.createPageList(listInfo);\n\n let pos = 0;\n\n for (const page of pages) {\n page.pos = pos++;\n page.list = listId;\n }\n\n await this.addPages(pages, "curatedPages");\n }\n\n async addCuratedPageLists(pageLists, pageKey = "pages", filter = "public") {\n for (const list of pageLists) {\n if (filter && !list[filter]) {\n continue;\n }\n\n const pages = list[pageKey] || [];\n\n await this.addCuratedPageList(list, pages);\n }\n }\n\n async convertCuratedPagesToV2(db) {\n const curatedPages = await db.getAll("curatedPages");\n\n if (!curatedPages || !curatedPages.length) {\n return;\n }\n\n const pages = await db.getAll("pages");\n const pageMap = new Map();\n\n for (const page of pages) {\n pageMap.set(page.id, page);\n }\n\n for (const cpage of curatedPages) {\n if (cpage.page) {\n const page = pageMap.get(cpage.page);\n if (page) {\n cpage.id = this.newPageId();\n cpage.url = page.url;\n cpage.ts = page.ts;\n if (!cpage.title && page.title) {\n cpage.title = page.title;\n }\n }\n delete cpage.page;\n }\n }\n\n await db.clear("curatedPages");\n\n const tx = db.transaction("curatedPages", "readwrite");\n\n for (const cpage of curatedPages) {\n tx.store.put(cpage);\n }\n\n try {\n await tx.done;\n } catch (e) {\n console.warn("Conversion Failed", e);\n }\n }\n\n async getCuratedPagesByList() {\n const allLists = await this.db.getAll("pageLists");\n\n const tx = this.db.transaction("curatedPages", "readonly");\n\n for await (const cursor of tx.store.index("listPages").iterate()) {\n const list = allLists[cursor.value.list - 1];\n if (!list) {\n continue;\n }\n list.show = true;\n if (!list.pages) {\n list.pages = [];\n }\n list.pages.push(cursor.value);\n }\n\n return allLists;\n }\n\n newPageId() {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.randomId)();\n }\n\n async getAllPages() {\n return await this.db.getAll("pages");\n }\n\n async getPages(pages) {\n const results = [];\n pages.sort();\n\n for await (const result of this.matchAny("pages", null, pages)) {\n results.push(result);\n }\n\n return results;\n }\n\n async getPagesWithState(state) {\n return await this.db.getAllFromIndex("pages", "state", state);\n }\n\n async getVerifyInfo() {\n return {};\n }\n\n async addVerifyData() {\n return;\n }\n\n async addVerifyDataList() {\n return;\n }\n\n async dedupResource(digest, payload, tx, count = 1) {\n const digestRefStore = tx.objectStore("digestRef");\n const ref = await digestRefStore.get(digest);\n\n if (ref) {\n ++ref.count;\n return ref;\n //digestRefStore.put(ref);\n //return ref.count;\n\n } else if (payload) {\n try {\n tx.objectStore("payload").put({digest, payload});\n const size = payload.length;\n //digestRefStore.put({digest, count, size});\n return {digest, count, size};\n } catch (e) {\n console.log(e);\n }\n }\n\n return null;\n }\n\n async addResources(datas) {\n const revisits = [];\n const regulars = [];\n\n const digestRefCount = {};\n const changedDigests = new Set();\n\n const dtx = this.db.transaction(["digestRef", "payload"], "readwrite");\n\n for (const data of datas) {\n let refCount = 1;\n\n const array = data.mime === REVISIT ? revisits : regulars;\n\n array.push(data);\n\n const fuzzyUrlData = this.getFuzzyUrl(data);\n\n if (fuzzyUrlData) {\n array.push(fuzzyUrlData);\n refCount = 2;\n }\n\n if (this.useRefCounts && data.digest) {\n if (!digestRefCount[data.digest]) {\n digestRefCount[data.digest] = await this.dedupResource(data.digest, data.payload, dtx, refCount);\n } else {\n digestRefCount[data.digest].count += refCount;\n changedDigests.add(data.digest);\n }\n delete data.payload;\n }\n }\n\n if (this.useRefCounts) {\n const digestRefStore = dtx.objectStore("digestRef");\n\n for (const digest of changedDigests) {\n digestRefStore.put(digestRefCount[digest]);\n }\n }\n\n try {\n await dtx.done;\n } catch(e) {\n console.error("Payload and Ref Count Bulk Add Failed: ", e);\n }\n\n // Add resources\n const tx = this.db.transaction("resources", "readwrite");\n\n // First, add revisits\n for (const data of revisits) {\n tx.store.put(data);\n }\n\n // Then, add non-revisits, overriding any revisits\n for (const data of regulars) {\n tx.store.put(data);\n }\n\n try {\n await tx.done;\n } catch (e) {\n console.error("Resources Bulk Add Failed", e);\n }\n }\n\n getFuzzyUrl(result) {\n if (result.status >= 200 && result.status < 400 && result.status !== 304 && result.status !== 204) {\n const {fuzzyCanonUrl} = _fuzzymatcher_js__WEBPACK_IMPORTED_MODULE_2__.fuzzyMatcher.getRuleFor(result.url);\n\n if (!fuzzyCanonUrl || fuzzyCanonUrl === result.url) {\n return null;\n }\n\n const fuzzyRes = {\n url: fuzzyCanonUrl,\n ts: result.ts,\n origURL: result.url,\n origTS: result.ts,\n pageId: result.pageId,\n digest: result.digest\n };\n\n return fuzzyRes;\n }\n\n return null;\n }\n\n async addResource(data) {\n if (data.payload && data.payload.length > this.minDedupSize) {\n if (!data.digest) {\n data.digest = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.digestMessage)(data.payload, "sha-256");\n }\n }\n\n let digestRefCount = null;\n let isNew = false;\n\n const tx = this.db.transaction(["resources", "digestRef", "payload"], "readwrite");\n\n if (data.payload && data.payload.length > this.minDedupSize) {\n digestRefCount = await this.dedupResource(data.digest, data.payload, tx);\n isNew = (digestRefCount && digestRefCount.count === 1);\n delete data.payload;\n } else if (data.payload) {\n isNew = true;\n }\n\n if (data.mime !== REVISIT) {\n tx.objectStore("resources").put(data);\n\n const fuzzyUrlData = this.getFuzzyUrl(data);\n\n if (fuzzyUrlData) {\n tx.objectStore("resources").put(fuzzyUrlData);\n if (digestRefCount) {\n digestRefCount.count++;\n }\n }\n } else {\n // using add() to allow failing if non-revisit already exists\n tx.objectStore("resources").add(data);\n }\n\n if (digestRefCount) {\n tx.objectStore("digestRef").put(digestRefCount);\n }\n\n try {\n await tx.done;\n } catch (e) {\n if (data.mime === REVISIT) {\n console.log("Skip Duplicate revisit for: " + data.url);\n } else {\n console.log("Add Error for " + data.url);\n }\n console.log(e);\n }\n\n return isNew;\n }\n\n async getResource(request, rwPrefix, event, opts = {}) {\n const ts = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.tsToDate)(request.timestamp).getTime();\n let url = request.url;\n\n let result = null;\n\n const skip = this.repeatTracker ? this.repeatTracker.getSkipCount(event, url, request.request.method) : 0;\n const newOpts = {...opts, skip};\n\n if (url.startsWith("//")) {\n let useHttp = false;\n result = await this.lookupUrl("https:" + url, ts, newOpts);\n if (!result) {\n result = await this.lookupUrl("http:" + url, ts, newOpts);\n // use http if found or if referrer contains an http replay path\n // otherwise, default to https\n if (result || request.request.referrer.indexOf("/http://", 2) > 0) {\n useHttp = true;\n }\n }\n url = (useHttp ? "http:" : "https:") + url;\n } else {\n result = await this.lookupUrl(url, ts, newOpts);\n if (!result && this.autoHttpsCheck && url.startsWith("http://")) {\n const httpsUrl = url.replace("http://", "https://");\n result = await this.lookupUrl(httpsUrl, ts, newOpts);\n if (result) {\n url = httpsUrl;\n }\n }\n }\n\n if (!result && this.fuzzyPrefixSearch && !opts.noFuzzyCheck) {\n result = await this.lookupQueryPrefix(url, opts);\n }\n\n // check if redirect\n if (result && result.origURL) {\n const origResult = await this.lookupUrl(result.origURL, result.origTS || result.ts, opts);\n if (origResult) {\n url = origResult.url;\n result = origResult;\n }\n }\n\n if (!result) {\n return null;\n }\n\n const status = result.status;\n const statusText = result.statusText || (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getStatusText)(status);\n\n let payload = null;\n\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.isNullBodyStatus)()) {\n payload = await this.loadPayload(result, opts);\n if (!payload) {\n return null;\n }\n }\n\n const headers = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.makeHeaders)(result.respHeaders);\n\n const date = new Date(result.ts);\n\n const extraOpts = result.extraOpts || null;\n\n url = result.url;\n\n if (url !== request.url) {\n headers.set("Content-Location", url);\n }\n\n return new _response_js__WEBPACK_IMPORTED_MODULE_3__.ArchiveResponse({url, payload, status, statusText, headers, date, extraOpts});\n }\n\n async loadPayload(result/*, opts*/) {\n if (result.digest && !result.payload) {\n if (result.digest === EMPTY_PAYLOAD_SHA256 || result.digest === EMPTY_PAYLOAD_SHA1) {\n return new Uint8Array([]);\n }\n const payloadRes = await this.db.get("payload", result.digest);\n if (!payloadRes) {\n return null;\n }\n const { payload } = payloadRes;\n return payload;\n }\n\n return result.payload;\n }\n\n async lookupUrl(url, ts, opts = {}) {\n const tx = this.db.transaction("resources", "readonly");\n\n if (ts) {\n const range = IDBKeyRange.bound([url, ts], [url, MAX_DATE_TS]);\n\n if (!opts.noRevisits && !opts.pageId) {\n const result = await tx.store.get(range);\n if (result) {\n return result;\n }\n } else {\n let results = await tx.store.getAll(range, MAX_RESULTS);\n results = results || [];\n\n for (const result of results) {\n if (opts.pageId && result.pageId && (result.pageId !== opts.pageId)) {\n continue;\n }\n\n if (opts.noRevisits && result.mime === REVISIT) {\n continue;\n }\n\n return result;\n }\n }\n } \n\n // search reverse from ts (or from latest capture)\n const range = IDBKeyRange.bound([url], [url, ts || MAX_DATE_TS]);\n\n for await (const cursor of tx.store.iterate(range, "prev")) {\n const result = cursor.value;\n\n if (opts.pageId && result.pageId && (result.pageId !== opts.pageId)) {\n continue;\n }\n\n if (opts.noRevisits && result.mime === REVISIT) {\n continue;\n }\n\n return result;\n }\n\n return null;\n }\n\n async lookupQueryPrefix(url, opts) {\n const {rule, prefix, fuzzyCanonUrl/*, fuzzyPrefix*/} = _fuzzymatcher_js__WEBPACK_IMPORTED_MODULE_2__.fuzzyMatcher.getRuleFor(url);\n\n if (fuzzyCanonUrl !== url) {\n const result = await this.lookupUrl(fuzzyCanonUrl, 0, opts);\n if (result) {\n return result;\n }\n\n //const results = await this.db.getAll("resources", this.getLookupRange(fuzzyPrefix, "prefix"));\n //return fuzzyMatcher.fuzzyCompareUrls(url, results, rule);\n }\n\n // only do fuzzy prefix match for custom rules that have a query\n if (!rule && prefix === url && prefix === fuzzyCanonUrl && !url.endsWith("?")) {\n return null;\n }\n\n //todo: explore optimizing with incremental loading?\n const results = await this.db.getAll("resources", this.getLookupRange(prefix, "prefix"), MAX_FUZZY_MATCH);\n\n return _fuzzymatcher_js__WEBPACK_IMPORTED_MODULE_2__.fuzzyMatcher.fuzzyCompareUrls(url, results, rule);\n }\n\n resJson(res) {\n const date = new Date(res.ts).toISOString();\n return {\n url: res.url,\n date: date,\n ts: (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTS)(date),\n mime: res.mime,\n status: res.status\n };\n }\n\n async resourcesByPage(pageId) {\n return this.db.getAllFromIndex("resources", "pageId", pageId);\n }\n\n async* resourcesByPages2(pageIds) {\n pageIds.sort();\n\n yield* this.matchAny("resources", "pageId", pageIds);\n }\n\n async* resourcesByPages(pageIds) {\n const tx = this.db.transaction("resources", "readonly");\n\n for await (const cursor of tx.store.iterate()) {\n if (pageIds.includes(cursor.value.pageId)) {\n yield cursor.value;\n }\n }\n }\n\n async* matchAny(storeName, indexName, sortedKeys, subKey, openBound = false) {\n const tx = this.db.transaction(storeName, "readonly");\n\n const range = IDBKeyRange.lowerBound(sortedKeys[0], openBound);\n\n let cursor = indexName ? await tx.store.index(indexName).openCursor(range) : await tx.store.openCursor(range);\n\n let i = 0;\n\n while (cursor && i < sortedKeys.length) {\n let currKey, matchKey, matches;\n\n if (subKey !== undefined) {\n currKey = cursor.key[subKey];\n matchKey = sortedKeys[i][subKey];\n matches = currKey.startsWith(matchKey);\n } else {\n currKey = cursor.key;\n matchKey = sortedKeys[i];\n matches = currKey === matchKey;\n }\n\n if (!matches && currKey > matchKey) {\n ++i;\n continue;\n }\n\n if (matches) {\n yield cursor.value;\n cursor = await cursor.continue();\n } else {\n cursor = await cursor.continue(sortedKeys[i]);\n }\n }\n }\n\n async resourcesByUrlAndMime(url, mimes, count = 1000, prefix = true, fromUrl = "", fromTs = "") {\n // if doing local mime filtering, need to remove count\n const queryCount = mimes ? null : count;\n\n const fullResults = await this.db.getAll("resources",\n this.getLookupRange(url, prefix ? "prefix" : "exact", fromUrl, fromTs), queryCount);\n\n mimes = mimes.split(",");\n const results = [];\n\n for (const res of fullResults) {\n for (const mime of mimes) {\n if (!mime || (res.mime && res.mime.startsWith(mime))) {\n results.push(this.resJson(res));\n if (results.length === count) {\n return results;\n }\n break;\n }\n }\n }\n\n return results;\n }\n\n async resourcesByMime(mimes, count = 100, fromMime = "", fromUrl = "", fromStatus = 0) {\n mimes = mimes.split(",");\n const results = [];\n\n mimes.sort();\n\n let startKey = [];\n\n if (fromMime) {\n startKey.push([fromMime, fromStatus, fromUrl]);\n }\n\n for (const mime of mimes) {\n if (!fromMime || !mime || mime > fromMime) {\n startKey.push([mime, 0, ""]);\n }\n }\n\n for await (const result of this.matchAny("resources", "mimeStatusUrl", startKey, 0, true)) {\n results.push(this.resJson(result));\n\n if (results.length === count) {\n break;\n }\n }\n\n return results;\n /*\n let i = 0;\n let cursor = await this.db.transaction("resources").store.index("mimeStatusUrl").openCursor();\n\n while (cursor && i < startKey.length) {\n const mime = cursor.key[0];\n\n const matches = mime.startsWith(startKey[i][0]);\n\n if (!matches && mime > startKey[i][0]) {\n ++i;\n continue;\n }\n\n if (matches) {\n results.push(this.resJson(cursor.value));\n cursor = await cursor.continue();\n } else {\n cursor = await cursor.continue(startKey[i]);\n }\n }\n*/\n }\n\n async deletePage(id) {\n const tx = this.db.transaction("pages", "readwrite");\n const page = await tx.store.get(id);\n await tx.store.delete(id);\n\n const size = await this.deletePageResources(id);\n return {pageSize: page && page.size || 0,\n dedupSize: size};\n }\n\n async deletePageResources(pageId) {\n const digestSet = {};\n\n const tx = this.db.transaction("resources", "readwrite");\n\n let cursor = await tx.store.index("pageId").openCursor(pageId);\n\n let size = 0;\n\n while (cursor) {\n const digest = cursor.value.digest;\n if (digest) {\n digestSet[digest] = (digestSet[digest] || 0) + 1;\n } else if (cursor.value.payload) {\n size += cursor.value.payload.length;\n }\n\n tx.store.delete(cursor.primaryKey);\n\n cursor = await cursor.continue();\n }\n\n await tx.done;\n\n // delete payloads\n const tx2 = this.db.transaction(["payload", "digestRef"], "readwrite");\n const digestRefStore = tx2.objectStore("digestRef");\n\n for (const digest of Object.keys(digestSet)) {\n const ref = await digestRefStore.get(digest);\n\n if (ref) {\n ref.count -= digestSet[digest];\n }\n\n if (ref && ref.count >= 1) {\n digestRefStore.put(ref);\n } else {\n size += ref ? ref.size : 0;\n digestRefStore.delete(digest);\n tx2.objectStore("payload").delete(digest);\n }\n }\n\n await tx2.done;\n return size;\n }\n\n prefixUpperBound(url) {\n return url.slice(0, -1) + String.fromCharCode(url.charCodeAt(url.length - 1) + 1);\n }\n\n getLookupRange(url, type, fromUrl, fromTs) {\n let lower;\n let upper;\n\n switch (type) {\n case "prefix":\n lower = [url];\n upper = [this.prefixUpperBound(url)];\n break;\n\n case "host": {\n const origin = new URL(url).origin;\n lower = [origin + "/"];\n upper = [origin + "0"];\n break;\n }\n\n case "exact":\n default:\n lower = [url];\n //upper = [url + "!"];\n upper = [url, Number.MAX_SAFE_INTEGER];\n }\n\n let exclusive;\n\n if (fromUrl) {\n lower = [fromUrl, fromTs || ""];\n exclusive = true;\n } else {\n exclusive = false;\n }\n\n return IDBKeyRange.bound(lower, upper, exclusive, true);\n }\n}\n\n// ===========================================================================\nclass RepeatTracker {\n constructor() {\n this.repeats = {};\n }\n\n getSkipCount(event, url, method) {\n if (method !== "POST" && !url.endsWith(".m3u8")) {\n return 0;\n }\n\n if (event.replacesClientId) {\n delete this.repeats[event.replacesClientId];\n }\n\n const id = event.resultingClientId || event.clientId;\n if (!id) {\n return 0;\n }\n\n if (this.repeats[id] === undefined) {\n this.repeats[id] = {};\n }\n\n if (this.repeats[id][url] === undefined) {\n this.repeats[id][url] = 0;\n } else {\n this.repeats[id][url]++;\n }\n\n return this.repeats[id][url];\n }\n}\n\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/archivedb.js?')},"../wabac.js/src/baseparser.js":
/*!*************************************!*\
!*** ../wabac.js/src/baseparser.js ***!
\*************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "BaseParser": () => (/* binding */ BaseParser)\n/* harmony export */ });\nconst DEFAULT_BATCH_SIZE = 1000;\n\n\n// ===========================================================================\nclass BaseParser\n{\n constructor(batchSize = DEFAULT_BATCH_SIZE) {\n this.batchSize = batchSize;\n\n this.promises = [];\n\n this.batch = [];\n this.count = 0;\n\n this.dupeSet = new Set();\n }\n\n addPage(page) {\n this.promises.push(this.db.addPage(page));\n }\n\n isBatchFull() {\n return this.batch.length >= this.batchSize;\n }\n\n addResource(res) {\n if (this.isBatchFull()) {\n this.flush();\n }\n\n if (Number.isNaN(res.ts)) {\n console.warn("Skipping resource with missing/invalid ts: " + res.url);\n return;\n }\n\n const key = res.url + " " + res.ts;\n\n if (res.mime === "warc/revisit") {\n if (this.dupeSet.has(key)) {\n console.warn("Skipping duplicate revisit, prevent overriding non-revisit");\n return;\n }\n } else {\n this.dupeSet.add(key);\n }\n\n this.batch.push(res);\n }\n\n flush() {\n if (this.batch.length > 0) {\n this.promises.push(this.db.addResources(this.batch));\n }\n console.log(`Read ${this.count += this.batch.length} records`);\n this.batch = [];\n }\n\n async finishIndexing() {\n this.flush();\n\n this._finishLoad();\n\n try {\n await Promise.all(this.promises);\n } catch (e) {\n console.warn(e);\n }\n\n this.promises = [];\n }\n\n _finishLoad() {\n\n }\n}\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/baseparser.js?')},"../wabac.js/src/blockloaders.js":
/*!***************************************!*\
!*** ../wabac.js/src/blockloaders.js ***!
\***************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "createLoader": () => (/* binding */ createLoader),\n/* harmony export */ "getReadableStreamFromArray": () => (/* binding */ getReadableStreamFromArray),\n/* harmony export */ "getReadableStreamFromIter": () => (/* binding */ getReadableStreamFromIter)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _ipfs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ipfs.js */ "../wabac.js/src/ipfs.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n\n\n\n\n\n\n// todo: make configurable\nconst HELPER_PROXY = "https://helper-proxy.webrecorder.workers.dev";\n\n\n// ===========================================================================\nasync function createLoader(opts) {\n const { url } = opts;\n\n if (opts.extra && opts.extra.arrayBuffer) {\n return new ArrayBufferLoader(opts.extra.arrayBuffer);\n }\n\n const scheme = url.split(":", 1)[0];\n\n // built-in loaders\n switch (scheme) {\n case "blob":\n return new BlobCacheLoader(opts);\n\n case "http":\n case "https":\n return new FetchRangeLoader(opts);\n\n case "file":\n return new FileHandleLoader(opts);\n\n case "googledrive":\n return new GoogleDriveLoader(opts);\n\n case "ipfs":\n return new IPFSRangeLoader(opts);\n }\n\n // if URL has same scheme as current origin, use regular http fetch\n try {\n if (self.location && scheme === self.location.protocol.split(":")[0]) {\n return new FetchRangeLoader(opts);\n }\n } catch (e) {\n // likely no self and self.location, so ignore\n }\n\n // see if the specified scheme is generally fetchable\n try {\n await fetch(`${scheme}://localhost`, {method: "HEAD"});\n // if reached here, scheme is supported, so use fetch loader\n return new FetchRangeLoader(opts);\n } catch (e) {\n // if raised exception, scheme not supported, don\'t use fetch loader\n }\n\n // custom provided loaders\n throw new Error("Invalid URL: " + url);\n}\n\n// ===========================================================================\nclass FetchRangeLoader\n{\n constructor({url, headers, length = null, canLoadOnDemand = false}) {\n this.url = url;\n this.headers = headers || {};\n this.length = length;\n this.canLoadOnDemand = canLoadOnDemand;\n this.isValid = false;\n this.ipfsAPI = null;\n this.loadingIPFS = null;\n }\n\n async doInitialFetch(tryHead, skipRange = false) {\n const headers = new Headers(this.headers);\n if (!skipRange) {\n headers.set("Range", "bytes=0-");\n }\n\n this.isValid = false;\n let abort = null;\n let response = null;\n\n if (tryHead) {\n try {\n response = await this.retryFetch(this.url, {headers, method: "HEAD", cache: "no-store"});\n if (response.status === 200 || response.status == 206) {\n this.canLoadOnDemand = ((response.status === 206) || response.headers.get("Accept-Ranges") === "bytes");\n this.isValid = true;\n }\n } catch (e) {\n // ignore fetch failure, considered invalid\n }\n }\n\n if (!this.isValid || !this.canLoadOnDemand) {\n abort = new AbortController();\n const signal = abort.signal;\n response = await this.retryFetch(this.url, {headers, signal, cache: "no-store"});\n this.canLoadOnDemand = ((response.status === 206) || response.headers.get("Accept-Ranges") === "bytes");\n this.isValid = (response.status === 206 || response.status === 200);\n\n // if emulating HEAD, abort here\n if (tryHead) {\n abort.abort();\n abort = null;\n }\n }\n\n if (this.length === null) {\n this.length = Number(response.headers.get("Content-Length"));\n if (!this.length && response.status === 206) {\n let range = response.headers.get("Content-Range");\n if (range) {\n range = range.split("/");\n if (range.length === 2){\n this.length = range[1];\n }\n }\n }\n }\n\n if (this.length === null) {\n // attempt to get length via proxy\n try {\n const resp = await fetch(`${HELPER_PROXY}/c/${this.url}`);\n const json = await resp.json();\n if (json.size) {\n this.length = json.size;\n }\n } catch (e) { \n console.log("Error fetching from helper: " + e.toString());\n }\n }\n \n this.length = Number(this.length || 0);\n\n return {response, abort};\n }\n\n async getLength() {\n if (this.length === null) {\n const {abort} = await this.doInitialFetch(true);\n if (abort) {\n abort.abort();\n }\n }\n return this.length;\n }\n\n async getRange(offset, length, streaming = false, signal = null) {\n const headers = new Headers(this.headers);\n headers.set("Range", `bytes=${offset}-${offset + length - 1}`);\n\n const cache = "no-store";\n\n const options = {signal, headers, cache};\n\n let resp = null;\n\n try {\n resp = await this.retryFetch(this.url, options);\n } catch(e) {\n console.log(e);\n throw new _utils_js__WEBPACK_IMPORTED_MODULE_0__.RangeError(this.url);\n }\n\n if (resp.status != 206) {\n const info = {url: this.url, status: resp.status, resp};\n\n if (resp.status === 401) {\n throw new _utils_js__WEBPACK_IMPORTED_MODULE_0__.AuthNeededError(info);\n } else if (resp.status == 403) {\n throw new _utils_js__WEBPACK_IMPORTED_MODULE_0__.AccessDeniedError(info);\n } else {\n throw new _utils_js__WEBPACK_IMPORTED_MODULE_0__.RangeError(info);\n }\n }\n\n if (streaming) {\n return resp.body;\n } else {\n return new Uint8Array(await resp.arrayBuffer());\n }\n }\n\n async retryFetch(url, options) {\n let resp = null;\n let backoff = 1000;\n for (let count = 0; count < 20; count++) {\n resp = await fetch(url, options);\n if (resp.status !== 429) {\n break;\n }\n await (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.sleep)(backoff);\n backoff += 2000;\n }\n return resp;\n }\n}\n\n// ===========================================================================\nclass GoogleDriveLoader\n{\n constructor({url, headers, size, extra}) {\n this.fileId = url.slice("googledrive://".length);\n this.apiUrl = `https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`;\n this.canLoadOnDemand = true;\n\n this.headers = headers;\n if (extra && extra.publicUrl) {\n this.publicUrl = extra.publicUrl;\n } else {\n this.publicUrl = null;\n }\n this.length = size;\n this.isValid = false;\n }\n\n async getLength() {\n return this.length;\n }\n\n async doInitialFetch(tryHead) {\n let loader = null;\n let result = null;\n\n if (this.publicUrl) {\n loader = new FetchRangeLoader({url: this.publicUrl, length: this.length});\n try {\n result = await loader.doInitialFetch(tryHead);\n } catch(e) {\n // catch and ignore, considered invalid\n }\n\n if (!loader.isValid) {\n if (result && result.abort) {\n result.abort.abort();\n }\n\n if (await this.refreshPublicUrl()) {\n loader = new FetchRangeLoader({url: this.publicUrl, length: this.length});\n try {\n result = await loader.doInitialFetch(tryHead);\n } catch(e) {\n // catch and ignore, considered invalid\n }\n\n if (!loader.isValid && result && result.abort) {\n result.abort.abort();\n }\n }\n }\n }\n\n if (!loader || !loader.isValid) {\n this.publicUrl = null;\n loader = new FetchRangeLoader({url: this.apiUrl, headers: this.headers, length: this.length});\n result = await loader.doInitialFetch(tryHead);\n }\n\n this.isValid = loader.isValid;\n if (!this.length) {\n this.length = loader.length;\n }\n return result;\n }\n\n async getRange(offset, length, streaming = false, signal) {\n let loader = null;\n\n if (this.publicUrl) {\n loader = new FetchRangeLoader({url: this.publicUrl, length: this.length});\n\n try {\n return await loader.getRange(offset, length, streaming, signal);\n } catch (e) {\n if (await this.refreshPublicUrl()) {\n loader = new FetchRangeLoader({url: this.publicUrl, length: this.length});\n try {\n return await loader.getRange(offset, length, streaming, signal);\n } catch (e) {\n // ignore fetch failure, considered invalid\n }\n }\n }\n\n //disable public mode?\n this.publicUrl = null;\n }\n\n loader = new FetchRangeLoader({url: this.apiUrl, headers: this.headers, length: this.length});\n\n let backoff = 50;\n\n while (backoff < 2000) {\n try {\n return await loader.getRange(offset, length, streaming, signal);\n } catch(e) {\n if ((e instanceof _utils_js__WEBPACK_IMPORTED_MODULE_0__.AccessDeniedError) &&\n e.info && e.info.resp && e.info.resp.headers.get("content-type").\n startsWith("application/json")) {\n const err = await e.info.resp.json();\n if (err.error && err.error.errors && err.error.errors[0].reason === "userRateLimitExceeded") {\n console.log(`Exponential backoff, waiting for: ${backoff}`);\n await (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.sleep)(backoff);\n backoff *= 2;\n continue;\n }\n }\n throw e;\n }\n }\n }\n\n async refreshPublicUrl() {\n try {\n const resp = await fetch(`${HELPER_PROXY}/g/${this.fileId}`);\n const json = await resp.json();\n if (json.url) {\n this.publicUrl = json.url;\n return true;\n }\n } catch (e) {\n // ignore, return false\n }\n\n return false;\n }\n}\n\n// ===========================================================================\nclass ArrayBufferLoader\n{\n constructor(arrayBuffer) {\n this.arrayBuffer = arrayBuffer;\n this.size = arrayBuffer.length;\n\n this.canLoadOnDemand = true;\n }\n\n get length() {\n return this.size;\n }\n\n get isValid() {\n return !!this.arrayBuffer;\n }\n\n async getLength() {\n return this.size;\n }\n\n async doInitialFetch(tryHead = false) {\n const stream = tryHead ? null : getReadableStreamFromArray(this.arrayBuffer);\n\n const response = new Response(stream);\n\n return {response};\n }\n\n async getRange(offset, length, streaming = false/*, signal*/) {\n const range = this.arrayBuffer.slice(offset, offset + length);\n\n return streaming ? getReadableStreamFromArray(range) : range;\n }\n}\n\n\n// ===========================================================================\nclass BlobCacheLoader\n{\n constructor({url, blob = null, size = null}) {\n this.url = url;\n this.blob = blob;\n this.size = this.blob ? this.blob.size : size;\n \n this.canLoadOnDemand = true;\n }\n\n get length() {\n return this.size;\n }\n\n get isValid() {\n return !!this.blob;\n }\n\n async getLength() {\n if (!this.blob || !this.blob.size) {\n let response = await fetch(this.url);\n this.blob = await response.blob();\n this.size = this.blob.size;\n }\n return this.size;\n }\n\n async doInitialFetch(tryHead = false) {\n if (!this.blob) {\n try {\n const response = await fetch(this.url);\n this.blob = await response.blob();\n this.size = this.blob.size;\n } catch (e) {\n console.warn(e);\n throw e;\n }\n }\n\n this.arrayBuffer = this.blob.arrayBuffer ? await this.blob.arrayBuffer() : await this._getArrayBuffer();\n this.arrayBuffer = new Uint8Array(this.arrayBuffer);\n\n const stream = tryHead ? null : getReadableStreamFromArray(this.arrayBuffer);\n\n const response = new Response(stream);\n\n return {response};\n }\n\n async getRange(offset, length, streaming = false/*, signal*/) {\n if (!this.arrayBuffer) {\n await this.doInitialFetch(true);\n }\n\n const range = this.arrayBuffer.slice(offset, offset + length);\n\n return streaming ? getReadableStreamFromArray(range) : range;\n }\n\n _getArrayBuffer() {\n return new Promise((resolve) => {\n const fr = new FileReader();\n fr.onloadend = () => {\n resolve(fr.result);\n };\n fr.readAsArrayBuffer(this.blob);\n });\n }\n}\n\n// ===========================================================================\nclass FileHandleLoader\n{\n constructor({blob, size, extra, url})\n {\n this.url = url;\n this.file = blob;\n this.size = this.blob ? this.blob.size : size;\n\n this.fileHandle = extra.fileHandle;\n\n this.canLoadOnDemand = true;\n }\n\n get length() {\n return this.size;\n }\n\n get isValid() {\n return !!this.file;\n }\n\n async getLength() {\n if (this.size === undefined) {\n await this.initFileObject();\n }\n return this.size;\n }\n\n async initFileObject() {\n const options = {mode: "read"};\n\n const curr = await this.fileHandle.queryPermission(options);\n\n if (curr !== "granted") {\n const requested = await this.fileHandle.requestPermission(options);\n\n if (requested !== "granted") {\n throw new _utils_js__WEBPACK_IMPORTED_MODULE_0__.AuthNeededError({fileHandle: this.fileHandle});\n }\n }\n\n this.file = await this.fileHandle.getFile();\n this.size = this.file.size;\n }\n\n async doInitialFetch(tryHead = false) {\n if (!this.file) {\n await this.initFileObject();\n }\n\n const stream = tryHead ? null : this.file.stream();\n\n const response = new Response(stream);\n\n return {response};\n }\n\n async getRange(offset, length, streaming = false/*, signal*/) {\n if (!this.file) {\n await this.initFileObject();\n }\n\n const fileSlice = this.file.slice(offset, offset + length);\n\n return streaming ? fileSlice.stream() : new Uint8Array(await fileSlice.arrayBuffer());\n }\n}\n\n// ===========================================================================\nclass IPFSRangeLoader\n{\n constructor({url, headers, ...opts}) {\n this.url = url;\n this.opts = opts;\n\n let inx = url.lastIndexOf("#");\n if (inx < 0) {\n inx = undefined;\n }\n\n this.headers = headers;\n this.length = null;\n this.canLoadOnDemand = true;\n }\n\n async getLength() {\n if (this.length === null) {\n await this.doInitialFetch(true);\n }\n\n return this.length;\n }\n\n async doInitialFetch(tryHead) {\n const autoipfsClient = await (0,_ipfs_js__WEBPACK_IMPORTED_MODULE_1__.initAutoIPFS)(this.opts);\n\n try {\n this.length = await autoipfsClient.getSize(this.url);\n this.isValid = (this.length !== null);\n } catch (e) {\n console.warn(e);\n this.length = null;\n this.isValid = false;\n }\n\n let status = 206;\n\n if (!this.isValid) {\n status = 404;\n }\n\n const abort = new AbortController();\n const signal = abort.signal;\n let body;\n\n if (tryHead || !this.isValid) {\n body = new Uint8Array([]);\n } else {\n const iter = autoipfsClient.get(this.url, {signal});\n body = getReadableStreamFromIter(iter);\n }\n\n const response = new Response(body, {status});\n\n return {response, abort};\n }\n\n async getRange(offset, length, streaming = false, signal = null) {\n const autoipfsClient = await (0,_ipfs_js__WEBPACK_IMPORTED_MODULE_1__.initAutoIPFS)(this.opts);\n\n const iter = autoipfsClient.get(this.url, {\n start: offset,\n end: offset + length - 1,\n signal\n });\n\n if (streaming) {\n return getReadableStreamFromIter(iter);\n } else {\n const chunks = [];\n let size = 0;\n\n for await (const chunk of iter) {\n chunks.push(chunk);\n size += chunk.byteLength;\n }\n\n return (0,warcio__WEBPACK_IMPORTED_MODULE_2__.concatChunks)(chunks, size);\n }\n }\n}\n\nfunction getReadableStreamFromIter(stream) {\n return new ReadableStream({\n start: async (controller) => {\n try {\n for await (const chunk of stream) {\n controller.enqueue(chunk);\n }\n } catch (e) {\n console.log(e);\n }\n controller.close();\n }\n });\n}\n\nfunction getReadableStreamFromArray(array) {\n return new ReadableStream({\n start(controller) {\n controller.enqueue(array);\n controller.close();\n }\n });\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/blockloaders.js?')},"../wabac.js/src/cdxloader.js":
/*!************************************!*\
!*** ../wabac.js/src/cdxloader.js ***!
\************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CDXFromWARCLoader": () => (/* binding */ CDXFromWARCLoader),\n/* harmony export */ "CDXLoader": () => (/* binding */ CDXLoader),\n/* harmony export */ "CDX_COOKIE": () => (/* binding */ CDX_COOKIE)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _warcloader_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./warcloader.js */ "../wabac.js/src/warcloader.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n\n\n\n\n\n\nconst CDX_COOKIE = "req.http:cookie";\n\n\n// ===========================================================================\nclass CDXFromWARCLoader extends _warcloader_js__WEBPACK_IMPORTED_MODULE_1__.WARCLoader\n{\n constructor(reader, abort, id, sourceExtra = {}, shaPrefix = "sha256:") {\n super(reader, abort, id);\n this.cdxindexer = null;\n this.sourceExtra = sourceExtra;\n this.shaPrefix = shaPrefix;\n }\n\n filterRecord(record) {\n switch (record.warcType) {\n case "warcinfo":\n case "revisit":\n case "request":\n return null;\n\n case "metadata":\n return this.shouldIndexMetadataRecord(record) ? null : "skip";\n }\n\n const url = record.warcTargetURI;\n const ts = new Date(record.warcDate).getTime();\n\n if (this.pageMap[ts + "/" + url]) {\n record._isPage = true;\n return null;\n }\n }\n\n index(record, parser) {\n if (record) {\n record._offset = parser.offset;\n record._length = parser.recordLength;\n }\n return super.index(record, parser);\n }\n\n indexReqResponse(record, reqRecord, parser) {\n if (record._isPage) {\n return super.indexReqResponse(record, reqRecord, parser);\n }\n\n if (record.warcType === "warcinfo") {\n this.parseWarcInfo(record);\n return;\n }\n\n if (!this.cdxindexer) {\n this.cdxindexer = new warcio__WEBPACK_IMPORTED_MODULE_2__.CDXIndexer({noSurt: true}, null);\n }\n\n const cdx = this.cdxindexer.indexRecordPair(record, reqRecord, parser, "");\n\n if (!cdx) {\n return;\n }\n\n if (cdx.status === 206 && !this.isFullRangeRequest(record.httpHeaders.headers)) {\n return;\n }\n\n if (reqRecord && reqRecord.httpHeaders) {\n let cookie = reqRecord.httpHeaders.headers.get("cookie");\n if (cookie) {\n cdx[CDX_COOKIE] = cookie;\n }\n }\n\n this.addCdx(cdx);\n }\n\n getSource(cdx) {\n return {\n ...this.sourceExtra,\n path: cdx.filename,\n start: Number(cdx.offset),\n length: Number(cdx.length)\n };\n }\n\n addCdx(cdx) {\n const { url, mime } = cdx;\n\n const status = Number(cdx.status) || 200;\n\n const date = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.tsToDate)(cdx.timestamp);\n const ts = date.getTime();\n\n //if (this.detectPages && isPage(url, status, mime)) {\n // const title = url;\n // promises.push(this.db.addPage({url, date: date.toISOString(), title}));\n //}\n\n const source = this.getSource(cdx);\n\n let { digest, recordDigest } = cdx;\n if (digest && digest.indexOf(":") === -1) {\n digest = this.shaPrefix + digest;\n }\n\n const entry = {url, ts, status, digest, recordDigest, mime, loaded: false, source};\n\n if (cdx.method) {\n if (cdx.method === "HEAD" || cdx.method === "OPTIONS") {\n return;\n }\n entry.method = cdx.method;\n }\n\n if (cdx[CDX_COOKIE]) {\n entry[CDX_COOKIE] = cdx[CDX_COOKIE];\n }\n\n // url with post query appended\n if (cdx.requestBody) {\n entry.url = (0,warcio__WEBPACK_IMPORTED_MODULE_2__.appendRequestQuery)(cdx.url, cdx.requestBody, cdx.method);\n }\n\n this.addResource(entry);\n }\n}\n\n// ===========================================================================\nclass CDXLoader extends CDXFromWARCLoader\n{\n async load(db, progressUpdate, totalSize) {\n this.db = db;\n\n let reader = this.reader;\n\n if (!reader.iterLines) {\n reader = new warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader(this.reader);\n }\n\n let numRead = 0;\n\n for await (const origLine of reader.iterLines()) {\n let cdx;\n let urlkey;\n let timestamp;\n numRead += origLine.length;\n let line = origLine.trimEnd();\n\n if (!line.startsWith("{")) {\n const inx = line.indexOf(" {");\n if (inx < 0) {\n continue;\n }\n [urlkey, timestamp] = line.split(" ", 2);\n line = line.slice(inx);\n }\n\n try {\n cdx = JSON.parse(line);\n } catch (e) {\n console.log("JSON Parser error on: " + line);\n continue;\n }\n\n cdx.timestamp = timestamp;\n if (!cdx.url) {\n cdx.url = urlkey;\n console.warn(`URL missing, using urlkey ${urlkey}`);\n }\n if (progressUpdate && this.isBatchFull()) {\n progressUpdate(Math.round((numRead / totalSize) * 100), null, numRead, totalSize);\n }\n this.addCdx(cdx);\n }\n\n await this.finishIndexing();\n\n if (progressUpdate) {\n progressUpdate(100, null, totalSize, totalSize);\n }\n }\n}\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/cdxloader.js?')},"../wabac.js/src/collection.js":
/*!*************************************!*\
!*** ../wabac.js/src/collection.js ***!
\*************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Collection": () => (/* binding */ Collection)\n/* harmony export */ });\n/* harmony import */ var _rewrite_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rewrite/index.js */ "../wabac.js/src/rewrite/index.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _response_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./response.js */ "../wabac.js/src/response.js");\n\n\n\n\n\n\nconst DEFAULT_CSP = "default-src \'unsafe-eval\' \'unsafe-inline\' \'self\' data: blob: mediastream: ws: wss: ; form-action \'self\'";\n\n\n// ===========================================================================\nclass Collection {\n constructor(opts, prefixes, defaultConfig = {}) {\n const { name, store, config } = opts;\n\n this.name = name;\n this.store = store;\n this.config = config;\n this.metadata = this.config.metadata ? this.config.metadata : {};\n\n const extraConfig = {...defaultConfig, ...this.config.extraConfig};\n\n this.injectScripts = extraConfig.injectScripts || [];\n this.noRewritePrefixes = extraConfig.noRewritePrefixes || null;\n\n this.noPostToGet = !!extraConfig.noPostToGet;\n\n this.convertPostToGet = !!extraConfig.convertPostToGet;\n\n this.coHeaders = extraConfig.coHeaders || false;\n\n this.csp = extraConfig.csp || DEFAULT_CSP;\n\n this.injectRelCanon = extraConfig.injectRelCanon || false;\n\n this.baseFramePrefix = extraConfig.baseUrlSourcePrefix;\n this.baseFrameUrl = extraConfig.baseUrl;\n this.baseFrameHashReplay = extraConfig.baseUrlHashReplay || false;\n\n this.liveRedirectOnNotFound = extraConfig.liveRedirectOnNotFound || false;\n\n this.rootPrefix = prefixes.root || prefixes.main;\n\n this.prefix = prefixes.main;\n\n // support root collection hashtag nav\n if (this.config.root) {\n this.isRoot = true;\n } else {\n this.prefix += this.name + "/";\n this.isRoot = false;\n }\n\n this.staticPrefix = prefixes.static;\n }\n\n async handleRequest(request, event) {\n // force timestamp for root coll\n //if (!requestTS && this.isRoot) {\n //requestTS = "2";\n //}\n let requestURL = request.url;\n let requestTS = request.timestamp;\n\n if (!request.mod) {\n return await this.makeTopFrame(requestURL, requestTS);\n }\n\n if (!this.noPostToGet) {\n requestURL = await request.convertPostToGet();\n }\n\n // exact or fuzzy match\n let response = null;\n\n let baseUrl = requestURL;\n \n try {\n if (requestURL.startsWith("srcdoc:")) {\n response = this.getSrcDocResponse(requestURL, requestURL.slice("srcdoc:".length));\n } else if (requestURL.startsWith("blob:")) {\n // the form of this url is now blob:<blob id>/<base url>\n // split on / to separate <blob id> and <base url>\n const inx = requestURL.indexOf("/");\n // blob url = blob:<origin>/<blob id>\n // skip blob prefix also\n const blobId = requestURL.slice(5, inx);\n const blobUrl = `blob:${self.location.origin}/${blobId}`;\n baseUrl = requestURL.slice(inx + 1);\n response = await this.getBlobResponse(blobUrl);\n } else if (requestURL === "about:blank") {\n response = await this.getSrcDocResponse(requestURL);\n } else if (requestURL === "__wb_module_decl.js") {\n response = await this.getWrappedModuleDecl(requestURL);\n } else {\n response = await this.getReplayResponse(request, event);\n requestURL = request.url;\n if (response && response.updateTS) {\n requestTS = response.updateTS;\n }\n }\n } catch (e) { \n if (await (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.handleAuthNeeded)(e, this.config)) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.notFound)(request, "<p style=\\"margin: auto\\">Please wait, this page will reload after authentication...</p>", 401);\n }\n }\n\n if (!response) {\n try {\n requestURL = decodeURIComponent(requestURL);\n requestURL += request.hash;\n } catch(e) {\n // ignore invalid URL\n }\n\n const msg = `\n <html>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p>Sorry, this page was not found in this archive:</p>\n <p><code style="word-break: break-all; font-size: larger">${requestURL}</code></p>\n ${this.liveRedirectOnNotFound && request.mode === "navigate" ? `\n <p>Redirecting to live page now... (If this URL is a file download, the download should have started).</p>\n <script>\n window.top.location.href = "${requestURL}";\n <\/script>\n ` : `\n `}\n <p>\n <a target="_blank" href="${requestURL}">Click Here</a> to try to load the live page in a new tab (or to download the URL as a file).</p>\n </body>\n </html>\n `; \n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.notFound)(request, msg);\n } else if (response instanceof Response) {\n // custom Response, not an ArchiveResponse, just return\n return response;\n }\n\n if (!response.noRW) {\n const basePrefix = this.prefix + (request.pageId ? `:${request.pageId}/` : "");\n const basePrefixTS = basePrefix + requestTS;\n\n const headInsertFunc = (url) => {\n let presetCookie = response.headers.get("x-wabac-preset-cookie") || "";\n const setCookie = response.headers.get("Set-Cookie");\n const topUrl = basePrefixTS + (requestTS ? "/" : "") + url;\n return this.makeHeadInsert(url, requestTS, response.date, topUrl, basePrefix, presetCookie, setCookie, response.isLive, request.referrer, response.extraOpts);\n };\n\n const workerInsertFunc = (text) => {\n return `\n (function() { self.importScripts(\'${this.staticPrefix}wombatWorkers.js\');\\\n new WBWombat({\'prefix\': \'${basePrefixTS}/\', \'prefixMod\': \'${basePrefixTS}wkrf_/\', \'originalURL\': \'${requestURL}\'});\\\n })();` + text;\n };\n\n const mod = request.mod;\n\n const noRewrite = mod === "id_" || mod === "wkrf_";\n\n const prefix = basePrefixTS + mod + "/";\n\n const rewriteOpts = {\n baseUrl,\n responseUrl: response.url,\n prefix,\n headInsertFunc,\n workerInsertFunc,\n urlRewrite: !noRewrite,\n contentRewrite: !noRewrite,\n decode: this.config.decode\n };\n\n const rewriter = new _rewrite_index_js__WEBPACK_IMPORTED_MODULE_0__.Rewriter(rewriteOpts);\n\n response = await rewriter.rewrite(response, request);\n\n if (mod !== "id_") {\n response.headers.append("Content-Security-Policy", this.csp);\n }\n }\n\n const range = request.headers.get("range");\n\n if (range && (response.status === 200 || response.status === 206)) {\n response.setRange(range);\n }\n\n return response.makeResponse(this.coHeaders);\n }\n\n getCanonRedirect(query) {\n let {url, timestamp, mod, referrer} = query;\n const schemeRel = url.startsWith("//");\n\n if (schemeRel) {\n let scheme = (referrer && referrer.indexOf("/http://") > 0) ? "http:" : "https:";\n url = scheme + url;\n }\n\n try {\n const parsed = new URL(url);\n if (parsed.href !== url) {\n if (parsed.pathname === "/") {\n let redirectUrl = this.prefix + timestamp + mod;\n if (timestamp || mod) {\n redirectUrl += "/";\n }\n redirectUrl += parsed.href;\n return Response.redirect(redirectUrl, 301);\n // if different due to canonical URL included, just update the URL\n } else if (!schemeRel && url.indexOf(":443") || url.indexOf(":80")) {\n query.url = parsed.href;\n }\n }\n } catch (e) {\n // ignore invalid URLs, no redirect\n }\n\n return null;\n }\n\n getWrappedModuleDecl() {\n const string = `\n var wrapObj = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\n if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n\n const window = wrapObj("window");\n const document = wrapObj("document");\n const location = wrapObj("location");\n const top = wrapObj("top");\n const parent = wrapObj("parent");\n const frames = wrapObj("frames");\n const opener = wrapObj("opener");\n const __self = wrapObj("self");\n const __globalThis = wrapObj("globalThis");\n\n export { window, document, location, top, parent, frames, opener, __self as self, __globalThis as globalThis };\n `;\n\n const payload = new TextEncoder().encode(string);\n\n const status = 200;\n const statusText = "OK";\n const headers = new Headers({"Content-Type": "application/javascript"});\n return new Response(payload, {headers, status, statusText});\n }\n\n getSrcDocResponse(url, base64str) {\n const string = base64str ? decodeURIComponent(atob(base64str)) : "<!DOCTYPE html><html><head></head><body></body></html>";\n const payload = new TextEncoder().encode(string);\n\n const status = 200;\n const statusText = "OK";\n const headers = new Headers({"Content-Type": "text/html"});\n const date = new Date();\n return new _response_js__WEBPACK_IMPORTED_MODULE_2__.ArchiveResponse({payload, status, statusText, headers, url, date});\n }\n\n async getBlobResponse(url) {\n const resp = await fetch(url);\n\n const status = resp.status;\n const statusText = resp.statusText;\n const headers = new Headers(resp.headers);\n if (headers.get("content-type") === "application/xhtml+xml") {\n headers.set("content-type", "text/html");\n }\n const date = new Date();\n const payload = new Uint8Array(await resp.arrayBuffer());\n\n return new _response_js__WEBPACK_IMPORTED_MODULE_2__.ArchiveResponse({payload, status, statusText, headers, url, date});\n }\n\n async getReplayResponse(query, event) {\n let response = this.getCanonRedirect(query);\n\n if (response) {\n return response;\n }\n\n const opts = {pageId: query.pageId};\n\n response = await this.store.getResource(query, this.prefix, event, opts);\n\n const {request, url} = query;\n\n // necessary as service worker seem to not be allowed to return a redirect in some circumstances (eg. in extension)\n if ((request.destination === "video" || request.destination === "audio") && request.mode !== "navigate") {\n while (response && (response.status >= 301 && response.status < 400)) {\n const newUrl = new URL(response.headers.get("location"), url);\n query.url = newUrl.href;\n console.log(`resolve redirect ${url} -> ${query.url}`);\n response = await this.store.getResource(query, this.prefix, event, opts);\n }\n }\n\n return response;\n }\n\n async makeTopFrame(url, requestTS) {\n let baseUrl = null;\n\n if (this.baseFrameUrl && !this.baseFramePrefix) {\n baseUrl = this.baseFrameUrl;\n } else if (!this.isRoot && this.config.sourceUrl) {\n baseUrl = this.baseFramePrefix || "./";\n baseUrl += `?source=${this.config.sourceUrl}`;\n }\n\n if (baseUrl) {\n if (this.baseFrameHashReplay) {\n baseUrl += `#${requestTS}/${url}`;\n } else {\n const locParams = new URLSearchParams({url, ts: requestTS, view: "replay"});\n baseUrl += "#" + locParams.toString();\n }\n\n return Response.redirect(baseUrl);\n }\n\n let content = null;\n\n if (this.config.topTemplateUrl) {\n const resp = await fetch(this.config.topTemplateUrl);\n const topTemplate = await resp.text();\n content = topTemplate.replace("$URL", url).replace("$TS", requestTS).replace("$PREFIX", this.prefix);\n } else {\n content = `\n<!DOCTYPE html>\n<html>\n<head>\n<style>\nhtml, body\n{\n height: 100%;\n margin: 0px;\n padding: 0px;\n border: 0px;\n overflow: hidden;\n}\n\n</style>\n<script src=\'${this.staticPrefix}wb_frame.js\'> <\/script>\n\n<script>\nwindow.home = "${this.rootPrefix}";\n<\/script>\n\n<script src=\'${this.staticPrefix}default_banner.js\'> <\/script>\n<link rel=\'stylesheet\' href=\'${this.staticPrefix}default_banner.css\'/>\n\n</head>\n<body style="margin: 0px; padding: 0px;">\n<div id="wb_iframe_div">\n<iframe id="replay_iframe" name="${_utils_js__WEBPACK_IMPORTED_MODULE_1__.REPLAY_TOP_FRAME_NAME}" frameborder="0" seamless="seamless" scrolling="yes" class="wb_iframe" allow="autoplay; fullscreen"></iframe>\n</div>\n<script>\n var cframe = new ContentFrame({"url": "${url}",\n "app_prefix": "${this.prefix}",\n "content_prefix": "${this.prefix}",\n "request_ts": "${requestTS}",\n "iframe": "#replay_iframe"});\n\n<\/script>\n</body>\n</html>\n`;\n }\n\n let responseData = {\n "status": 200,\n "statusText": "OK",\n "headers": { "Content-Type": "text/html", "Content-Security-Policy": this.csp }\n };\n\n return new Response(content, responseData);\n }\n\n makeHeadInsert(url, requestTS, date, topUrl, prefix, presetCookie, setCookie, isLive, referrer, extraOpts) {\n const coll = this.name;\n\n const seconds = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getSecondsStr)(date);\n\n const timestamp = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTS)(date.toISOString());\n\n const urlParsed = new URL(url);\n\n let scheme;\n\n // protocol scheme (for relative urls): if not http/https, try to get actual protocol from referrer\n if (urlParsed.protocol !== "https:" && urlParsed.protocol !== "http:") {\n scheme = (referrer && referrer.indexOf("/http://") > 0) ? "http" : "https";\n } else {\n scheme = urlParsed.protocol.slice(0, -1);\n }\n\n if (setCookie) {\n presetCookie = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.parseSetCookie)(setCookie, scheme) + ";" + presetCookie;\n }\n\n const pixelRatio = extraOpts && Number(extraOpts.pixelRatio) ? extraOpts.pixelRatio : 1;\n const storage = extraOpts && extraOpts.storage ? btoa(extraOpts.storage) : "";\n const presetCookieStr = presetCookie ? JSON.stringify(presetCookie) : "\\"\\"";\n return `\n\x3c!-- WB Insert --\x3e\n<style>\nbody {\n font-family: inherit;\n font-size: inherit;\n}\n</style>\n${this.injectRelCanon ? `<link rel="canonical" href="${url}"/>` : ""}\n<script>\n wbinfo = {};\n wbinfo.top_url = "${topUrl}";\n // Fast Top-Frame Redirect\n if (window == window.top && wbinfo.top_url) {\n var loc = window.location.href.replace(window.location.hash, "");\n loc = decodeURI(loc);\n\n if (loc != decodeURI(wbinfo.top_url)) {\n window.location.href = wbinfo.top_url + window.location.hash;\n }\n }\n wbinfo.url = "${url}";\n wbinfo.timestamp = "${timestamp}";\n wbinfo.request_ts = "${requestTS}";\n wbinfo.prefix = decodeURI("${prefix}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${isLive ? "true" : "false"};\n wbinfo.coll = "${coll}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${presetCookieStr};\n wbinfo.storage = "${storage}";\n wbinfo.isSW = true;\n wbinfo.pixel_ratio = ${pixelRatio};\n wbinfo.convert_post_to_get = ${this.convertPostToGet};\n wbinfo.target_frame = "${_utils_js__WEBPACK_IMPORTED_MODULE_1__.REPLAY_TOP_FRAME_NAME}";\n<\/script>\n<script src=\'${this.staticPrefix}wombat.js\'> <\/script>\n<script>\n wbinfo.wombat_ts = "${isLive ? timestamp : requestTS}";\n wbinfo.wombat_sec = "${seconds}";\n wbinfo.wombat_scheme = "${scheme}";\n wbinfo.wombat_host = "${urlParsed.host}";\n\n ${this.noRewritePrefixes ? `\n wbinfo.wombat_opts = {"no_rewrite_prefixes": ${JSON.stringify(this.noRewritePrefixes)}}` : `\n wbinfo.wombat_opts = {}\n `}\n\n if (window && window._WBWombatInit) {\n window._WBWombatInit(wbinfo);\n }\n<\/script>\n${this.injectScripts.map((script) => `<script src=\'${script}\'> <\/script>`).join("")}\n `;\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/collection.js?')},"../wabac.js/src/detectfiletype.js":
/*!*****************************************!*\
!*** ../wabac.js/src/detectfiletype.js ***!
\*****************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "checkMagicBytes": () => (/* binding */ checkMagicBytes),\n/* harmony export */ "detectFileType": () => (/* binding */ detectFileType),\n/* harmony export */ "getKnownFileExtension": () => (/* binding */ getKnownFileExtension)\n/* harmony export */ });\n// https://en.wikipedia.org/wiki/List_of_file_signatures\nconst zipMagicBytes = [0x50, 0x4B, 0x03, 0x04];\nconst isZipFile = hasMagicBytes(zipMagicBytes);\n\nconst gzMagicBytes = [0x1F, 0x8B, 0x08];\nconst isGzFile = hasMagicBytes(gzMagicBytes);\n\n// starts with "WARC""\nconst warcMagicBytes = [0x57, 0x41, 0x52, 0x43];\nconst isWarcFile = hasMagicBytes(warcMagicBytes);\n\nconst PEEK_BYTES = 4;\n\n// todo: improve this to do full detection of different text types\nfunction detectTextType(bytes) {\n try {\n const text = new TextDecoder().decode(bytes);\n const lines = text.split("\\n");\n\n if (lines > 1 && lines.indexOf(" {")) {\n return ".cdxj";\n }\n } catch (e) {\n return "";\n }\n}\n\nfunction hasMagicBytes(magicBytes) {\n return fileBytes => {\n for (const [index, value] of magicBytes.entries()) {\n if (value !== fileBytes[index]) {\n return false;\n }\n }\n return true;\n };\n}\n\nfunction getKnownFileExtension(name) {\n const fileExtensions = [\n ".warc",\n ".warc.gz",\n ".cdx",\n ".cdxj",\n ".har",\n ".json",\n ".wacz",\n ".zip"\n ];\n for (const ext of fileExtensions) {\n if (name.endsWith(ext)) {\n return ext;\n }\n }\n return "";\n}\n\nfunction checkMagicBytes(fileBytes) {\n // todo: add additional detection for WACZ besides just zip\n if (isZipFile(fileBytes)) {\n return ".wacz";\n }\n\n if (isWarcFile(fileBytes)) {\n return ".warc";\n }\n\n if (isGzFile(fileBytes)) {\n return ".warc.gz";\n }\n}\n\nasync function detectFileType(response) {\n const reader = response.body.getReader();\n let fileType = "";\n const { value, done } = await reader.read();\n if (!done && value.length >= PEEK_BYTES) {\n fileType = checkMagicBytes(value.slice(0, PEEK_BYTES));\n if (!fileType) {\n fileType = detectTextType(value);\n }\n }\n if (!done) {\n reader.cancel();\n }\n return fileType;\n}\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/detectfiletype.js?')},"../wabac.js/src/extract.js":
/*!**********************************!*\
!*** ../wabac.js/src/extract.js ***!
\**********************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "extractText": () => (/* binding */ extractText)\n/* harmony export */ });\n/* harmony import */ var parse5_sax_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parse5-sax-parser */ "../wabac.js/node_modules/parse5-sax-parser/dist/index.js");\n/* harmony import */ var _rewrite_decoder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rewrite/decoder.js */ "../wabac.js/src/rewrite/decoder.js");\n\n\n\n\n\nconst SKIPPED_TAGS = ["script", "style", "header", "footer", "banner-div", "noscript"];\n\n\n// ===========================================================================\nasync function extractText(url, buffer, ce, te) {\n const parser = new parse5_sax_parser__WEBPACK_IMPORTED_MODULE_0__.SAXParser();\n const textChunks = [];\n let context = null;\n\n parser.on("text", (data/*, raw*/) => {\n if (context) {\n return;\n }\n const text = data.text.trim();\n if (text) {\n textChunks.push(text);\n }\n });\n\n parser.on("startTag", startTag => {\n if (!startTag.selfClosing && SKIPPED_TAGS.includes(startTag.tagName)) {\n context = startTag.tagName;\n }\n });\n\n parser.on("endTag", endTag => {\n if (endTag.tagName === context) {\n context = null;\n }\n });\n\n if (ce || te) {\n buffer = await (0,_rewrite_decoder_js__WEBPACK_IMPORTED_MODULE_1__.decodeContent)(buffer, ce, te);\n }\n\n parser.end(new TextDecoder().decode(buffer));\n\n const p = new Promise((resolve) => {\n parser.on("end", () => {\n resolve(textChunks.join(" "));\n });\n });\n\n return await p;\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/extract.js?')},"../wabac.js/src/fuzzymatcher.js":
/*!***************************************!*\
!*** ../wabac.js/src/fuzzymatcher.js ***!
\***************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "FuzzyMatcher": () => (/* binding */ FuzzyMatcher),\n/* harmony export */ "fuzzyMatcher": () => (/* binding */ fuzzyMatcher)\n/* harmony export */ });\n/* harmony import */ var js_levenshtein__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! js-levenshtein */ "../wabac.js/node_modules/js-levenshtein/index.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n\n\n\nfunction joinRx(rxStr) {\n return new RegExp("[?&]" + rxStr.map(x => "(" + x + ")").join("|"), "gi");\n}\n\nconst MAX_ARG_LEN = 1024;\n\nconst SPLIT_BASE_RX = /\\[\\d]+/;\n\nconst DEFAULT_RULES = \n[\n {\n "match": /\\/\\/.*(?:gcs-vimeo|vod|vod-progressive)\\.akamaized\\.net.*?\\/([\\d/]+\\.mp4)/,\n "fuzzyCanonReplace": "//vimeo-cdn.fuzzy.replayweb.page/$1",\n "split": ".net",\n },\n {\n "match": /\\/\\/.*player.vimeo.com\\/(video\\/[\\d]+)\\?.*/i,\n "fuzzyCanonReplace": "//vimeo.fuzzy.replayweb.page/$1"\n },\n {\n "match": /www.\\washingtonpost\\.com\\/wp-apps\\/imrs.php/,\n "args": [["src"]],\n },\n {\n "match": /(static.wixstatic.com\\/.*\\.[\\w]+\\/v1\\/fill\\/)(w_.*)/,\n "replace": "$1?_args=$2",\n "split": "/v1/fill"\n },\n {\n "match": /(twimg.com\\/profile_images\\/[^/]+\\/[^_]+)_([\\w]+\\.[\\w]+)/,\n "replace": "$1=_args=$2",\n "split": "_",\n "splitLast": true\n },\n // YouTube\n {\n "match": /^https?:\\/\\/(?:www\\.)?(youtube\\.com\\/embed\\/[^?]+)[?].*/i,\n "replace": "$1"\n },\n {\n "match": /^(https?:\\/\\/(?:www\\.)?)(youtube\\.com\\/@[^?]+)[?].*/i,\n "fuzzyCanonReplace": "$1$2"\n },\n {\n "match": /\\/\\/(?:www\\.)?youtube(?:-nocookie)?\\.com\\/(get_video_info)/i,\n "fuzzyCanonReplace": "//youtube.fuzzy.replayweb.page/$1",\n "args": [["video_id"]],\n },\n {\n "match": /\\/\\/(?:www\\.)?youtube(?:-nocookie)?\\.com\\/(youtubei\\/v1\\/[^?]+\\?).*(videoId[^&]+).*/i,\n "fuzzyCanonReplace": "//youtube.fuzzy.replayweb.page/$1$2",\n "args": [["videoId"]]\n },\n {\n "match": /\\/\\/.*googlevideo.com\\/(videoplayback)/i,\n "fuzzyCanonReplace": "//youtube.fuzzy.replayweb.page/$1",\n "args": [\n ["id", "itag"],\n ["id"]\n ],\n "fuzzyArgs": true\n },\n {\n "match": /facebook\\.com\\/ajax\\/pagelet\\/generic.php\\/photoviewerinitpagelet/i,\n "args": [[{"arg": "data",\n "keys": ["query_type", "fbid", "v", "cursor", "data"]}]]\n },\n {\n "match": /(twitter.com\\/[^/]+\\/status\\/[^?]+)(\\?.*)/,\n "fuzzyCanonReplace": "$1"\n },\n // Facebook\n {\n "match": /facebook\\.com\\/ajax\\//i,\n "fuzzySet": true\n },\n // {\n // "match": /facebook\\.com\\/api\\/graphql/i,\n // "args": [["fb_api_req_friendly_name"]],\n // //"args": [["variables", "doc_id"]],\n // //"fuzzyArgs": true\n // },\n // {\n // "match": /facebook\\.com\\/api\\/graphqlbatch/i,\n // "args": [["batch_name", "queries"], ["batch_name"]]\n // },\n // {\n // "match": /facebook\\.com\\/ajax\\/navigation/i,\n // "args": [["route_url", "__user"], ["route_url"]]\n // },\n // {\n // "match": /facebook\\.com\\/ajax\\/route-definition/i,\n // "args": [["route_url", "__user"], ["route_url"]]\n // },\n // {\n // "match": /facebook\\.com\\/ajax\\/bulk-route-definitions/i,\n // "args": [["route_urls[0]", "__user"], ["route_urls[0]"]]\n // },\n // {\n // "match": /facebook\\.com\\/ajax\\/relay-ef/i,\n // "args": [["queries[0]", "__user"], ["queries[0]"]]\n // },\n // {\n // "match": /facebook\\.com\\/videos\\/vodcomments/i,\n // "args": [["eft_id"]],\n // },\n // {\n // "match": /facebook\\.com\\/ajax\\.*/i,\n // "replaceQuery": /([?&][^_]\\w+=[^&]+)/g,\n // },\n // {"match": /plus\\.googleapis\\.com\\/u\\/\\/0\\/_\\/widget\\/render\\/comments/i,\n // "args": [["href", "stream_id", "substream_id"]]\n // },\n\n // Generic Rules -- should be last\n {\n "match": joinRx([\n "(callback=jsonp)[^&]+(?=&|$)",\n "((?:\\\\w+)=jquery)[\\\\d]+_[\\\\d]+",\n "utm_[^=]+=[^&]+(?=&|$)",\n "(_|cb|_ga|\\\\w*cache\\\\w*)=[\\\\d.-]+(?=$|&)"\n ]),\n "replace": ""\n },\n {\n "match": /(\\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\\?.*/i,\n "replace": "$1",\n "maxResults": 2\n }\n];\n\n// ===========================================================================\nclass FuzzyMatcher {\n constructor(rules) {\n this.rules = rules || DEFAULT_RULES;\n }\n\n getRuleFor(reqUrl) {\n let rule;\n\n const matchUrl = reqUrl.indexOf("?") === -1 ? reqUrl + "?" : reqUrl;\n\n for (const testRule of this.rules) {\n if (matchUrl.match(testRule.match)) {\n rule = testRule;\n break;\n }\n }\n\n let fuzzyCanonUrl = reqUrl;\n\n if (rule && rule.fuzzyCanonReplace) {\n fuzzyCanonUrl = reqUrl.replace(rule.match, rule.fuzzyCanonReplace);\n }\n\n const split = rule && rule.split || "?";\n const inx = rule && rule.splitLast ? reqUrl.lastIndexOf(split) : reqUrl.indexOf(split);\n const prefix = inx > 0 ? reqUrl.slice(0, inx + split.length) : reqUrl;\n\n return {prefix, rule, fuzzyCanonUrl};\n }\n\n getFuzzyCanonsWithArgs(reqUrl) {\n let { fuzzyCanonUrl, prefix, rule } = this.getRuleFor(reqUrl);\n\n if (fuzzyCanonUrl === reqUrl) {\n fuzzyCanonUrl = prefix;\n }\n\n const urls = [];\n\n if (rule && rule.args) {\n const fuzzUrl = new URL(fuzzyCanonUrl);\n const origUrl = new URL(reqUrl);\n\n for (const args of rule.args) {\n const query = new URLSearchParams();\n\n for (const arg of args) {\n query.set(arg, origUrl.searchParams.get(arg) || "");\n }\n fuzzUrl.search = query.toString();\n urls.push(fuzzUrl.href);\n }\n return urls;\n }\n\n return [fuzzyCanonUrl];\n }\n\n fuzzyCompareUrls(reqUrl, results, matchedRule) {\n if (!results || !results.length) {\n return null;\n }\n\n if (matchedRule && matchedRule.replace !== undefined && matchedRule.match !== undefined &&\n // if limit exists, only apply if < limit results\n (!matchedRule.maxResults || results.length <= matchedRule.maxResults)) {\n const match = matchedRule.match;\n const replace = matchedRule.replace;\n const fuzzyReqUrl = reqUrl.replace(match, replace);\n\n const newResults = [];\n \n // find best match by regex\n for (const result of results) {\n const url = (typeof result === "string" ? result : result.url);\n \n const fuzzyMatchUrl = url.replace(match, replace);\n\n if (fuzzyReqUrl === fuzzyMatchUrl) {\n // exact match, return\n return result;\n }\n\n result.fuzzyMatchUrl = fuzzyMatchUrl;\n newResults.push(result);\n }\n\n results = newResults;\n reqUrl = fuzzyReqUrl;\n }\n\n return this.fuzzyBestMatchQuery(reqUrl, results, matchedRule);\n }\n\n fuzzyBestMatchQuery(reqUrl, results, rule) {\n try {\n reqUrl = new URL(reqUrl);\n } catch (e) {\n return 0.0;\n }\n\n const reqArgs = rule && rule.args && !rule.fuzzyArgs ? new Set(rule.args[0]) : null;\n\n let bestTotal = 0;\n let bestResult = null;\n\n const reqQuery = new URLSearchParams(reqUrl.search);\n\n for (const result of results) {\n // skip 204s and 304s from fuzzy matching (todo: reexamine)\n if (result.status === 204 || result.status === 304) {\n continue;\n }\n\n let url = (typeof result === "string" ? result : result.fuzzyMatchUrl || result.url);\n\n try {\n url = new URL(url);\n } catch (e) {\n continue;\n }\n\n const foundQuery = new URLSearchParams(url.search);\n let total = this.getMatch(reqQuery, foundQuery, reqArgs, rule && rule.fuzzySet);\n total += this.getMatch(foundQuery, reqQuery, reqArgs);\n total /= 2.0;\n\n // lower total score for status >200\n if (result.status > 200) {\n total *= 10 ** ((200 - result.status) * 0.0003);\n }\n\n //console.log(\'total: \' + total + \' \' + url.href + \' <=> \' + reqUrl);\n\n if (total > bestTotal) {\n bestTotal = total;\n bestResult = result;\n }\n }\n\n //console.log("best: " + bestResult.url);\n\n //return {"score": bestTotal, "result": bestResult};\n return bestResult;\n }\n\n getMatch(reqQuery, foundQuery, reqArgs = null, fuzzySet = false) {\n let score = 1.0;\n let total = 1.0;\n\n const keySets = {};\n\n for (let [key, value] of reqQuery) {\n let foundValue = foundQuery.get(key);\n\n // if key is required, return a large negative to skip this match\n if (reqArgs && reqArgs.has(key) && foundValue !== value) {\n return -1000;\n }\n\n let weight;\n\n if (key[0] === "_") {\n weight = 0.1;\n } else {\n weight = 10.0;\n }\n\n if (foundValue !== null) {\n score += weight * 0.5;\n\n if (foundValue.length > MAX_ARG_LEN) {\n foundValue = foundValue.slice(0, MAX_ARG_LEN);\n }\n }\n\n if (value && value.length > MAX_ARG_LEN) {\n value = value.slice(0, MAX_ARG_LEN);\n }\n\n const numValue = Number(value);\n const numFoundValue = Number(foundValue);\n\n total += weight;\n\n if (fuzzySet) {\n this.addSetMatch(keySets, key, value, foundValue);\n }\n\n if (foundValue === value) {\n score += weight * value.length;\n } else if (foundValue === null || value === null) {\n score += 0.0;\n } else if (!isNaN(numValue) && !isNaN(numFoundValue)) {\n score += 10.0 - Math.log(Math.abs(numValue - numFoundValue) + 1);\n } else if (value.startsWith("{") && foundValue.startsWith("{")) {\n try {\n const rQ = (0,warcio__WEBPACK_IMPORTED_MODULE_1__.jsonToQueryParams)(value);\n const fQ = (0,warcio__WEBPACK_IMPORTED_MODULE_1__.jsonToQueryParams)(foundValue);\n\n score += this.getMatch(rQ, fQ) * weight * 2;\n\n } catch (e) {\n score += 0.5 * weight * this.levScore(value, foundValue);\n }\n\n } else {\n // if (foundValue.length > value.length && foundValue.indexOf(",") >= 0 && foundValue.indexOf(value) >= 0) {\n // score += weight * value.length * 0.5;\n // }\n if (!fuzzySet) {\n score += weight * this.levScore(value, foundValue);\n }\n }\n }\n\n const result = (score / total) + (fuzzySet ? this.paramSetMatch(keySets, 100) : 0);\n //console.log(\'score: \' + result + " " + reqQuery + " <-> " + foundQuery);\n return result;\n }\n\n addSetMatch(keySets, key, value, foundValue) {\n if (!value || !foundValue || value[0] !== "/" || foundValue[0] !== "/") {\n return;\n }\n\n const keyParts = key.split(SPLIT_BASE_RX);\n\n if (keyParts.length <= 1) {\n return;\n }\n\n // compare set matches instead of by string\n const valueQ = value.indexOf("?");\n const foundQ = foundValue.indexOf("?");\n\n const keyBase = keyParts[0];\n\n const valueNoQ = valueQ > 0 ? value.slice(0, valueQ) : value;\n const foundNoQ = foundQ > 0 ? foundValue.slice(0, foundQ) : foundValue;\n\n if (!keySets[keyBase]) {\n keySets[keyBase] = {value: [], found: new Set()};\n }\n\n keySets[keyBase].value.push(valueNoQ);\n keySets[keyBase].found.add(foundNoQ);\n }\n\n paramSetMatch(keySets, weight) {\n let score = 0;\n\n for (const keySet of Object.values(keySets)) {\n let currWeight = weight;\n\n for (const obj of keySet.value) {\n if (keySet.found.has(obj)) {\n score += currWeight;\n }\n currWeight *= 0.33;\n }\n }\n\n return score;\n }\n\n levScore(val1, val2) {\n const minLen = Math.min(val1.length, val2.length);\n const lev = js_levenshtein__WEBPACK_IMPORTED_MODULE_0__(val1, val2);\n return lev < minLen ? minLen - lev : 0;\n }\n}\n\nconst fuzzyMatcher = new FuzzyMatcher();\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/fuzzymatcher.js?')},"../wabac.js/src/harloader.js":
/*!************************************!*\
!*** ../wabac.js/src/harloader.js ***!
\************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "HARLoader": () => (/* binding */ HARLoader)\n/* harmony export */ });\n/* harmony import */ var _baseparser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./baseparser.js */ "../wabac.js/src/baseparser.js");\n\n\n\n// ===========================================================================\nclass HARLoader extends _baseparser_js__WEBPACK_IMPORTED_MODULE_0__.BaseParser {\n constructor(string_or_har) {\n super();\n this.har = string_or_har;\n this.pageRefs = {};\n }\n\n async load(db) {\n this.db = db;\n if (typeof this.har === "string") {\n this.har = JSON.parse(this.har);\n }\n\n this.parseEntries(this.har);\n\n this.parsePages(this.har);\n\n await this.finishIndexing();\n\n return {};\n }\n\n parsePages(har) {\n for (const page of har.log.pages) {\n if (!page.pageTimings || !page.pageTimings.onLoad) {\n continue;\n }\n\n let url;\n if (page.title && (page.title.startsWith("http:") || page.title.startsWith("https:"))) {\n url = page.title;\n } else {\n url = this.pageRefs[page.id];\n }\n\n const title = page.title || url;\n\n const date = page.startedDateTime;\n\n //this.pageList.push({ "timestamp": getTS(page.startedDateTime), "title": title, "url": url });\n this.addPage({url, date, title});\n }\n }\n\n parseEntries(har) {\n for (const entry of har.log.entries) {\n const ts = new Date(entry.startedDateTime).getTime();\n\n const respHeaders = {};\n\n for (const {name, value} of entry.response.headers) {\n respHeaders[name] = value;\n }\n\n let payload = null;\n\n const encoder = new TextEncoder();\n\n if (entry.response.content && entry.response.content.text) {\n try {\n payload = Uint8Array.from(atob(entry.response.content.text), c => c.charCodeAt(0));\n } catch (e) {\n payload = entry.response.content.text;\n }\n } else {\n const cl = respHeaders["Content-Length"];\n if (cl && cl !== "0") {\n console.log(`Warning: Content-Length ${cl} but no content found for ${entry.request.url}`);\n payload = encoder.encode("Sorry, the HAR file did not include the content for this resource.");\n } else {\n payload = Uint8Array.from([]);\n }\n }\n\n this.addResource({url: entry.request.url,\n ts,\n status: entry.response.status,\n //statusText: entry.response.statusText,\n respHeaders,\n //reqHeaders,\n payload});\n\n if (entry.pageref && !this.pageRefs[entry.pageref]) {\n this.pageRefs[entry.pageref] = entry.request.url;\n }\n }\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/harloader.js?')},"../wabac.js/src/ipfs.js":
/*!*******************************!*\
!*** ../wabac.js/src/ipfs.js ***!
\*******************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "initAutoIPFS": () => (/* binding */ initAutoIPFS)\n/* harmony export */ });\n/* harmony import */ var auto_js_ipfs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! auto-js-ipfs */ "../wabac.js/node_modules/auto-js-ipfs/index.js");\n// ===========================================================================\n\n\nlet autoipfsAPI = null;\n\nasync function initAutoIPFS(opts) {\n if (!autoipfsAPI) {\n autoipfsAPI = await (0,auto_js_ipfs__WEBPACK_IMPORTED_MODULE_0__.create)(opts);\n }\n\n return autoipfsAPI;\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/ipfs.js?')},"../wabac.js/src/liveproxy.js":
/*!************************************!*\
!*** ../wabac.js/src/liveproxy.js ***!
\************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "LiveProxy": () => (/* binding */ LiveProxy)\n/* harmony export */ });\n/* harmony import */ var _response_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./response.js */ "../wabac.js/src/response.js");\n\n\n\n// ===========================================================================\nclass LiveProxy {\n constructor(extraConfig, {cloneResponse = false, allowBody = false, hostProxyOnly = false} = {}) {\n extraConfig = extraConfig || {};\n\n this.prefix = extraConfig.prefix || "";\n this.proxyPathOnly = extraConfig.proxyPathOnly || false;\n this.isLive = extraConfig.isLive !== undefined ? extraConfig.isLive : true;\n this.archivePrefix = extraConfig.archivePrefix || "";\n this.cloneResponse = cloneResponse;\n this.allowBody = allowBody;\n\n this.hostProxy = extraConfig.hostProxy;\n\n if (this.hostProxy instanceof Array) {\n const byHost = {};\n for (const entry of this.hostProxy) {\n byHost[entry.host] = entry;\n }\n this.hostProxy = byHost;\n }\n\n this.hostProxyOnly = hostProxyOnly;\n }\n\n async getAllPages() {\n return [];\n }\n\n getFetchUrl(url, request, headers) {\n let parsedUrl;\n\n if (this.hostProxy) {\n parsedUrl = new URL(url);\n const hostdata = this.hostProxy[parsedUrl.host];\n if (hostdata) {\n // set X-Proxy-Host to matched host\n headers.set("X-Proxy-Host", parsedUrl.host);\n // Given https://example.com/path/somefile.html, and prefix "https://upstream-server/prefix/"\n // with pathOnly, send to https://upstream-server/prefix/path/somefile.html\n // without pathOnly, send to https://upstream-server/prefix/https://example.com/path/somefile.html\n return hostdata.prefix + (hostdata.pathOnly ? parsedUrl.pathname + parsedUrl.search : url);\n }\n }\n\n if (this.hostProxyOnly) {\n return null;\n }\n\n if (this.proxyPathOnly) {\n if (!parsedUrl) {\n parsedUrl = new URL(url);\n }\n return this.prefix + parsedUrl.pathname + parsedUrl.search;\n } else if (this.isLive || !request.timestamp) {\n return this.prefix + url;\n } else {\n return this.prefix + this.archivePrefix + request.timestamp + "id_/" + url;\n }\n }\n\n\n async getResource(request, prefix) {\n const { headers, credentials, url} = request.prepareProxyRequest(prefix, true);\n\n const fetchUrl = this.getFetchUrl(url, request, headers);\n\n if (!fetchUrl) {\n return null;\n }\n\n let body = null;\n\n if (this.allowBody && (request.method === "POST" || request.method === "PUT")) {\n body = await request.getBody();\n }\n\n const response = await fetch(fetchUrl, {\n method: request.method,\n body,\n headers,\n credentials,\n mode: "cors",\n redirect: "follow"\n });\n\n let clonedResponse = null;\n\n if (this.cloneResponse) {\n clonedResponse = response.clone();\n }\n\n const archiveResponse = _response_js__WEBPACK_IMPORTED_MODULE_0__.ArchiveResponse.fromResponse({url,\n response,\n date: new Date(),\n noRW: false,\n isLive: this.isLive,\n });\n\n if (clonedResponse) {\n archiveResponse.clonedResponse = clonedResponse;\n }\n\n return archiveResponse;\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/liveproxy.js?')},"../wabac.js/src/loaders.js":
/*!**********************************!*\
!*** ../wabac.js/src/loaders.js ***!
\**********************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "CollectionLoader": () => (/* binding */ CollectionLoader),\n/* harmony export */ "WorkerLoader": () => (/* binding */ WorkerLoader)\n/* harmony export */ });\n/* harmony import */ var _archivedb_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./archivedb.js */ "../wabac.js/src/archivedb.js");\n/* harmony import */ var _remotearchivedb_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./remotearchivedb.js */ "../wabac.js/src/remotearchivedb.js");\n/* harmony import */ var _harloader_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./harloader.js */ "../wabac.js/src/harloader.js");\n/* harmony import */ var _warcloader_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./warcloader.js */ "../wabac.js/src/warcloader.js");\n/* harmony import */ var _cdxloader_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cdxloader.js */ "../wabac.js/src/cdxloader.js");\n/* harmony import */ var _wacz_waczloader_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./wacz/waczloader.js */ "../wabac.js/src/wacz/waczloader.js");\n/* harmony import */ var _wacz_multiwacz_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./wacz/multiwacz.js */ "../wabac.js/src/wacz/multiwacz.js");\n/* harmony import */ var _blockloaders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./blockloaders.js */ "../wabac.js/src/blockloaders.js");\n/* harmony import */ var _remotewarcproxy_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./remotewarcproxy.js */ "../wabac.js/src/remotewarcproxy.js");\n/* harmony import */ var _liveproxy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./liveproxy.js */ "../wabac.js/src/liveproxy.js");\n/* harmony import */ var idb_with_async_ittr__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! idb/with-async-ittr */ "../wabac.js/node_modules/idb/with-async-ittr.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _detectfiletype_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./detectfiletype.js */ "../wabac.js/src/detectfiletype.js");\n\n\n//import { WACZRemoteArchiveDB } from "./waczarchive";\n\n\n//import { WBNLoader } from "./wbnloader";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nif (!globalThis.self) {\n globalThis.self = globalThis;\n}\n\nself.interruptLoads = {};\n\n\n// ===========================================================================\nclass CollectionLoader\n{\n constructor() {\n this.colldb = null;\n this.root = null;\n this.checkIpfs = true;\n this._init_db = this._initDB();\n }\n\n async _initDB() {\n this.colldb = await (0,idb_with_async_ittr__WEBPACK_IMPORTED_MODULE_10__.openDB)("collDB", 1, {\n upgrade: (db/*, oldV, newV, tx*/) => {\n const collstore = db.createObjectStore("colls", {keyPath: "name"});\n\n collstore.createIndex("type", "type");\n }\n });\n }\n\n async loadAll(dbColls) {\n await this._init_db;\n\n if (dbColls) {\n for (const extraColl of dbColls.split(",")) {\n const parts = extraColl.split(":");\n if (parts.length === 2) {\n const config = {dbname: parts[1], sourceName: parts[1], decode: false};\n const collData = {name: parts[0], type: "archive", config};\n console.log("Adding Coll: " + JSON.stringify(collData));\n await this.colldb.put("colls", collData);\n }\n }\n }\n\n try {\n const allColls = await this.listAll();\n\n const promises = allColls.map((data) => this._initColl(data));\n \n await Promise.all(promises);\n } catch (e) {\n console.warn(e.toString());\n }\n\n return true;\n }\n\n async listAll() {\n await this._init_db;\n return await this.colldb.getAll("colls");\n }\n\n async loadColl(name) {\n await this._init_db;\n const data = await this.colldb.get("colls", name);\n if (!data) {\n return null;\n }\n\n return await this._initColl(data);\n }\n\n async reload(name) {\n return this.loadColl(name);\n }\n\n async deleteColl(name) {\n await this._init_db;\n const data = await this.colldb.get("colls", name);\n if (!data) {\n return false;\n }\n\n if (data.config.dbname) {\n try {\n await (0,idb_with_async_ittr__WEBPACK_IMPORTED_MODULE_10__.deleteDB)(data.config.dbname, {\n blocked(_, e) {\n console.log(`Unable to delete ${data.config.dbname}, blocked: ${e}`);\n }\n });\n } catch(e) {\n console.warn(e);\n return false;\n }\n }\n\n await this.colldb.delete("colls", name);\n\n return true;\n }\n\n async updateAuth(name, newHeaders) {\n await this._init_db;\n const data = await this.colldb.get("colls", name);\n if (!data) {\n return false;\n }\n data.config.headers = newHeaders;\n await this.colldb.put("colls", data);\n return true;\n }\n\n async updateMetadata(name, newMetadata) {\n await this._init_db;\n const data = await this.colldb.get("colls", name);\n if (!data) {\n return false;\n }\n data.config.metadata = {...data.config.metadata, ...newMetadata};\n\n await this.colldb.put("colls", data);\n return data.config.metadata;\n }\n\n async updateSize(name, fullSize, dedupSize, decodeUpdate) {\n await this._init_db;\n const data = await this.colldb.get("colls", name);\n if (!data) {\n return false;\n }\n\n const metadata = data.config.metadata;\n metadata.fullSize = (metadata.fullSize || 0) + fullSize;\n metadata.size = (metadata.size || 0) + dedupSize;\n metadata.mtime = new Date().getTime();\n\n // if set, also update decode (a little hacky)\n if (decodeUpdate !== undefined) {\n data.config.decode = decodeUpdate;\n }\n await this.colldb.put("colls", data);\n return metadata;\n }\n\n async initNewColl(metadata, extraConfig = {}, type = "archive") {\n await this._init_db;\n const id = (0,_utils_js__WEBPACK_IMPORTED_MODULE_11__.randomId)();\n const dbname = "db:" + id;\n const sourceUrl = "local://" + id;\n const decode = false;\n const ctime = new Date().getTime();\n\n const data = {\n name: id,\n type,\n config: {\n dbname,\n ctime,\n decode,\n metadata,\n sourceUrl,\n extraConfig,\n }\n };\n\n const coll = await this._initColl(data);\n await this.colldb.put("colls", data);\n return coll;\n }\n\n async _initColl(data) {\n const store = await this._initStore(data.type, data.config);\n\n const name = data.name;\n const config = data.config;\n\n if (data.config.root && !this.root) {\n this.root = name;\n }\n\n return this._createCollection({name, store, config});\n }\n\n async _initStore(type, config) {\n let sourceLoader = null;\n let store = null;\n\n switch (type) {\n case "archive":\n store = new _archivedb_js__WEBPACK_IMPORTED_MODULE_0__.ArchiveDB(config.dbname);\n break;\n\n case "remotesource":\n sourceLoader = await (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_7__.createLoader)({\n url: config.loadUrl,\n headers: config.headers,\n size: config.size,\n extra: config.extra\n });\n store = new _remotearchivedb_js__WEBPACK_IMPORTED_MODULE_1__.RemoteSourceArchiveDB(config.dbname, sourceLoader, config.noCache);\n break;\n\n case "remoteprefix":\n store = new _remotearchivedb_js__WEBPACK_IMPORTED_MODULE_1__.RemotePrefixArchiveDB(config.dbname, config.remotePrefix, config.headers, config.noCache);\n break; \n\n case "wacz":\n case "remotezip":\n case "multiwacz":\n sourceLoader = await (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_7__.createLoader)({\n url: config.loadUrl || config.sourceUrl,\n headers: config.headers,\n extra: config.extra\n });\n store = new _wacz_multiwacz_js__WEBPACK_IMPORTED_MODULE_6__.MultiWACZ(config, sourceLoader, type === "multiwacz" ? "json" : "wacz");\n break;\n\n case "remotewarcproxy":\n store = new _remotewarcproxy_js__WEBPACK_IMPORTED_MODULE_8__.RemoteWARCProxy(config);\n break;\n\n case "live":\n store = new _liveproxy_js__WEBPACK_IMPORTED_MODULE_9__.LiveProxy(config.extraConfig);\n break;\n }\n\n if (!store) {\n console.log("no store found: " + type);\n return null;\n }\n\n if (store.initing) {\n await store.initing;\n }\n\n return store;\n }\n\n _createCollection(opts) {\n return opts;\n }\n}\n\n// ===========================================================================\nclass WorkerLoader extends CollectionLoader\n{\n constructor(worker) {\n super();\n this.registerListener(worker);\n }\n\n async hasCollection(name) {\n await this._init_db;\n\n return await this.colldb.getKey("colls", name) != null;\n }\n\n registerListener(worker) {\n worker.addEventListener("message", event => {\n if (event.waitUntil) {\n event.waitUntil(this._handleMessage(event));\n } else {\n this._handleMessage(event);\n }\n });\n }\n\n async _handleMessage(event) {\n await this._init_db;\n\n const client = event.source || self;\n\n switch (event.data.msg_type) {\n case "addColl":\n {\n const name = event.data.name; \n\n const progressUpdate = (percent, error, currentSize, totalSize, fileHandle = null, extraMsg = null) => {\n client.postMessage({\n "msg_type": "collProgress",\n name,\n percent,\n error,\n currentSize,\n totalSize,\n fileHandle,\n extraMsg\n });\n };\n\n let res;\n\n try {\n res = await this.colldb.get("colls", name);\n if (res) {\n if (!event.data.skipExisting) {\n await this.deleteColl(name);\n res = await this.addCollection(event.data, progressUpdate);\n }\n } else {\n res = await this.addCollection(event.data, progressUpdate);\n }\n \n if (!res) {\n if (event.data.name) {\n try {\n await (0,idb_with_async_ittr__WEBPACK_IMPORTED_MODULE_10__.deleteDB)("db:" + event.data.name, {\n blocked(_, e) {\n console.log(`Load failed and unable to delete ${event.data.name}: ${e}`);\n }\n });\n } catch (e) {\n console.warn(e);\n }\n }\n return;\n }\n\n } catch (e) {\n if (e instanceof _utils_js__WEBPACK_IMPORTED_MODULE_11__.AuthNeededError) {\n console.warn(e);\n progressUpdate(0, "permission_needed", null, null, e.info && e.info.fileHandle);\n return;\n } else if (e.name === "ConstraintError") {\n console.log("already being added, just continue...");\n res = await this.colldb.get("colls", name);\n } else {\n console.warn(e);\n progressUpdate(0, "An unexpected error occured: " + e.toString());\n return;\n }\n }\n\n client.postMessage({\n msg_type: "collAdded",\n name,\n sourceUrl: res.config.sourceUrl\n });\n\n //this.doListAll(client);\n break;\n }\n\n case "cancelLoad":\n {\n const name = event.data.name;\n\n const p = new Promise((resolve) => self.interruptLoads[name] = resolve);\n\n await p;\n\n await this.deleteColl(name);\n\n delete self.interruptLoads[name];\n\n break;\n }\n\n case "removeColl":\n {\n const name = event.data.name;\n\n if (await this.hasCollection(name)) {\n await this.deleteColl(name);\n this.doListAll(client);\n }\n break;\n }\n\n case "listAll":\n this.doListAll(client);\n break;\n\n case "reload":\n this.reload(event.data.name);\n break;\n }\n }\n\n async doListAll(client) {\n const msgData = [];\n const allColls = await this.listAll();\n\n for (const coll of allColls) {\n\n //const pageList = await coll.store.getAllPages();\n \n msgData.push({\n "name": coll.name,\n "prefix": coll.name,\n "pageList": [],\n "sourceName": coll.config.sourceName\n });\n }\n client.postMessage({ "msg_type": "listAll", "colls": msgData });\n }\n \n async addCollection(data, progressUpdate) {\n let name = data.name;\n\n let type = null;\n let config = {root: data.root || false};\n let db = null;\n\n let updateExistingConfig = null;\n\n const file = data.file;\n\n if (!file || !file.sourceUrl) {\n progressUpdate(0, "Invalid Load Request");\n return false;\n }\n\n config.dbname = "db:" + name;\n\n if (file.sourceUrl.startsWith("proxy:")) {\n config.sourceUrl = file.sourceUrl.slice("proxy:".length);\n config.extraConfig = data.extraConfig;\n if (!config.extraConfig.prefix) {\n config.extraConfig.prefix = config.sourceUrl;\n }\n config.topTemplateUrl = data.topTemplateUrl;\n config.metadata = {};\n type = data.type || config.extraConfig.type || "remotewarcproxy";\n\n db = await this._initStore(type, config);\n\n } else {\n let loader = null;\n\n if (file.newFullImport) {\n name = (0,_utils_js__WEBPACK_IMPORTED_MODULE_11__.randomId)();\n file.loadUrl = file.loadUrl || file.sourceUrl;\n file.name = file.name || file.sourceUrl;\n file.sourceUrl = "local://" + name;\n }\n\n type = "archive";\n\n if (file.newFullImport && file.importCollId) {\n const existing = await this.colldb.get("colls", file.importCollId);\n if (!existing || existing.type !== "archive") {\n progressUpdate(0, "Invalid Existing Collection: " + file.importCollId);\n return;\n }\n config.dbname = existing.config.dbname;\n updateExistingConfig = existing.config;\n updateExistingConfig.decode = true;\n }\n\n let loadUrl = file.loadUrl || file.sourceUrl;\n\n if (!loadUrl.match(/[\\w]+:\\/\\//)) {\n loadUrl = new URL(loadUrl, self.location.href).href;\n }\n\n config.decode = true;\n config.onDemand = false;\n config.loadUrl = loadUrl;\n config.sourceUrl = file.sourceUrl;\n\n config.sourceName = file.name || file.sourceUrl;\n\n // parse to strip out query, keep hash/fragment (if any)\n try {\n if (config.sourceName.match(/https?:\\/\\//)) {\n const sourceUrl = new URL(config.sourceName);\n config.sourceName = sourceUrl.pathname + sourceUrl.hash;\n }\n } catch (e) {\n // ignore, keep sourceName as is\n }\n config.sourceName = config.sourceName.slice(config.sourceName.lastIndexOf("/") + 1);\n\n config.size = typeof(file.size) === "number" ? file.size : null;\n config.extra = file.extra;\n\n if (config.loadUrl.startsWith("file://") && !file.blob && !config.extra) {\n if (this._fileHandles && this._fileHandles[config.sourceUrl]) {\n config.extra = {fileHandle: this._fileHandles[config.sourceUrl]};\n } else {\n progressUpdate(0, "missing_local_file");\n return;\n }\n }\n\n config.extraConfig = data.extraConfig;\n config.headers = file.headers || (config.extraConfig && config.extraConfig.headers);\n config.noCache = file.noCache;\n\n let sourceLoader = await (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_7__.createLoader)({\n url: loadUrl,\n headers: config.headers,\n size: file.size,\n extra: config.extra,\n blob: file.blob\n });\n\n if (file.loadEager) {\n const {response} = await sourceLoader.doInitialFetch(false, true);\n const arrayBuffer = new Uint8Array(await response.arrayBuffer());\n const extra = {arrayBuffer};\n\n //config.extra = extra;\n file.newFullImport = true;\n\n sourceLoader = await (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_7__.createLoader)({\n url: loadUrl,\n headers: config.headers,\n size: file.size,\n extra,\n });\n }\n\n let sourceExt = (0,_detectfiletype_js__WEBPACK_IMPORTED_MODULE_12__.getKnownFileExtension)(config.sourceName);\n\n let { abort, response } = await sourceLoader.doInitialFetch(sourceExt === ".wacz");\n\n if (!sourceExt) {\n sourceExt = await (0,_detectfiletype_js__WEBPACK_IMPORTED_MODULE_12__.detectFileType)(await response.clone());\n }\n\n const stream = response.body;\n\n config.onDemand = sourceLoader.canLoadOnDemand && !file.newFullImport;\n\n if (!sourceLoader.isValid) {\n const text = sourceLoader.length <= 1000 ? await response.text() : "";\n progressUpdate(0, `\\\nSorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${response.status} ${response.statusText}\nError Details:\n${text}`);\n if (abort) {\n abort.abort();\n }\n return false;\n }\n\n if (!sourceLoader.length) {\n progressUpdate(0, `\\\nSorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file.`);\n if (abort) {\n abort.abort();\n }\n return false;\n }\n\n const contentLength = sourceLoader.length;\n\n if (sourceExt === ".wacz") {\n if (config.onDemand) {\n loader = new _wacz_waczloader_js__WEBPACK_IMPORTED_MODULE_5__.SingleWACZLoader(sourceLoader, config, name);\n db = new _wacz_multiwacz_js__WEBPACK_IMPORTED_MODULE_6__.MultiWACZ(config, sourceLoader, "wacz");\n type = "wacz";\n\n // can load on demand, but want a full import\n } else if (sourceLoader.canLoadOnDemand && file.newFullImport) {\n loader = new _wacz_waczloader_js__WEBPACK_IMPORTED_MODULE_5__.SingleWACZFullImportLoader(sourceLoader, config, name);\n //use default db\n db = null;\n delete config.extra;\n\n } else {\n progressUpdate(0, "Sorry, can\'t load this WACZ file due to lack of range request support on the server");\n if (abort) {\n abort.abort();\n }\n return false;\n }\n\n } else if (sourceExt === ".warc" || sourceExt === ".warc.gz") {\n if (!config.noCache && (contentLength < _utils_js__WEBPACK_IMPORTED_MODULE_11__.MAX_FULL_DOWNLOAD_SIZE || !config.onDemand)) {\n loader = new _warcloader_js__WEBPACK_IMPORTED_MODULE_3__.WARCLoader(stream, abort, name);\n } else {\n loader = new _cdxloader_js__WEBPACK_IMPORTED_MODULE_4__.CDXFromWARCLoader(stream, abort, name);\n type = "remotesource";\n db = new _remotearchivedb_js__WEBPACK_IMPORTED_MODULE_1__.RemoteSourceArchiveDB(config.dbname, sourceLoader, config.noCache);\n }\n\n } else if (sourceExt === ".cdx" || sourceExt === ".cdxj") {\n config.remotePrefix = data.remotePrefix || loadUrl.slice(0, loadUrl.lastIndexOf("/") + 1);\n loader = new _cdxloader_js__WEBPACK_IMPORTED_MODULE_4__.CDXLoader(stream, abort, name);\n type = "remoteprefix";\n db = new _remotearchivedb_js__WEBPACK_IMPORTED_MODULE_1__.RemotePrefixArchiveDB(config.dbname, config.remotePrefix, config.headers, config.noCache);\n \n // } else if (sourceExt === ".wbn") {\n // //todo: fix\n // loader = new WBNLoader(await response.arrayBuffer());\n // config.decode = false;\n\n } else if (sourceExt === ".har") {\n loader = new _harloader_js__WEBPACK_IMPORTED_MODULE_2__.HARLoader(await response.json());\n config.decode = false;\n } else if (sourceExt === ".json") {\n db = new _wacz_multiwacz_js__WEBPACK_IMPORTED_MODULE_6__.MultiWACZ(config, sourceLoader, "json");\n loader = new _wacz_waczloader_js__WEBPACK_IMPORTED_MODULE_5__.JSONResponseMultiWACZLoader(response);\n type = "multiwacz";\n }\n\n if (!loader) {\n progressUpdate(0, `The ${config.sourceName} is not a known archive format that could be loaded.`);\n if (abort) {\n abort.abort();\n }\n return false;\n }\n\n if (!db) {\n db = new _archivedb_js__WEBPACK_IMPORTED_MODULE_0__.ArchiveDB(config.dbname);\n }\n await db.initing;\n\n try {\n config.metadata = await loader.load(db, progressUpdate, contentLength);\n } catch (e) {\n if (!(e instanceof _utils_js__WEBPACK_IMPORTED_MODULE_11__.Canceled)) {\n progressUpdate(0, `Unexpected Loading Error: ${e.toString()}`);\n console.warn(e);\n }\n return false;\n }\n\n if (updateExistingConfig) {\n await this.updateSize(file.importCollId, contentLength, contentLength, updateExistingConfig.decode);\n return {config: updateExistingConfig};\n }\n\n if (!config.metadata.size) {\n config.metadata.size = contentLength;\n }\n\n if (!config.metadata.title) {\n config.metadata.title = config.sourceName;\n }\n }\n\n config.ctime = new Date().getTime();\n\n if (this._fileHandles && config.extra && config.extra.fileHandle) {\n delete this._fileHandles[config.sourceUrl];\n }\n\n const collData = {name, type, config};\n await this.colldb.add("colls", collData);\n collData.store = db;\n return collData;\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/loaders.js?')},"../wabac.js/src/remotearchivedb.js":
/*!******************************************!*\
!*** ../wabac.js/src/remotearchivedb.js ***!
\******************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "OnDemandPayloadArchiveDB": () => (/* binding */ OnDemandPayloadArchiveDB),\n/* harmony export */ "RemotePrefixArchiveDB": () => (/* binding */ RemotePrefixArchiveDB),\n/* harmony export */ "RemoteSourceArchiveDB": () => (/* binding */ RemoteSourceArchiveDB)\n/* harmony export */ });\n/* harmony import */ var _archivedb_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./archivedb.js */ "../wabac.js/src/archivedb.js");\n/* harmony import */ var _warcloader_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./warcloader.js */ "../wabac.js/src/warcloader.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n/* harmony import */ var _blockloaders_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blockloaders.js */ "../wabac.js/src/blockloaders.js");\n\n\n\n\n\n\n\n// ===========================================================================\nclass OnDemandPayloadArchiveDB extends _archivedb_js__WEBPACK_IMPORTED_MODULE_0__.ArchiveDB\n{\n constructor(name, noCache = false) {\n super(name);\n this.noCache = noCache;\n\n this.useRefCounts = !noCache;\n\n this.streamMap = new Map();\n }\n\n async loadRecordFromSource(cdx) {\n const responseStream = await this.loadSource(cdx.source);\n\n const loader = new _warcloader_js__WEBPACK_IMPORTED_MODULE_1__.SingleRecordWARCLoader(responseStream);\n\n const remote = await loader.load();\n return {remote};\n }\n\n async loadPayload(cdx, opts) {\n let payload = await super.loadPayload(cdx, opts);\n if (payload) {\n if (cdx.respHeaders && (cdx.mime !== "warc/revisit" || (cdx.status >= 300 && cdx.status < 400))) {\n return payload;\n }\n }\n\n const chunkstore = this.streamMap.get(cdx.url);\n if (chunkstore) {\n console.log(`Reuse stream for ${cdx.url}`);\n return new PartialStreamReader(chunkstore);\n }\n\n const {remote, hasher} = await this.loadRecordFromSource(cdx);\n \n if (!remote) {\n console.log(`No WARC Record Loaded for: ${cdx.url}`);\n return null;\n }\n\n if (remote.url !== cdx.url && !(cdx.method && cdx.url.startsWith(remote.url))) {\n console.log(`Wrong url: expected ${cdx.url}, got ${remote.url}`);\n return null;\n }\n\n if (remote.ts !== cdx.ts) {\n const rounded = Math.floor(remote.ts / 1000) * 1000;\n if (rounded !== cdx.ts) {\n console.log(`Wrong timestamp: expected ${cdx.ts}, got ${remote.ts}`);\n return null;\n }\n }\n\n if (remote.digest !== cdx.digest && cdx.digest && remote.digest) {\n const remoteDigestParts = remote.digest.split(":");\n const cdxDigestParts = cdx.digest.split(":");\n if (remoteDigestParts.length === 2 && cdxDigestParts.length === 2 && \n cdxDigestParts[1] === remoteDigestParts[1]) {\n cdx.digest = remoteDigestParts[0] + ":" + cdxDigestParts[1];\n } else {\n console.log(`Wrong digest: expected ${cdx.digest}, got ${remote.digest}`);\n }\n //return null;\n }\n\n // Revisit\n if (remote.origURL) {\n // optimize: if revisit of redirect, just set the respHeaders and return empty payload\n if (!payload && cdx.status >= 300 && cdx.status < 400 && remote.respHeaders) {\n cdx.respHeaders = remote.respHeaders;\n if (!this.noCache) {\n try {\n await this.db.put("resources", cdx);\n } catch(e) {\n console.log(e);\n }\n }\n return new Uint8Array([]);\n }\n\n const origResult = await this.lookupUrl(remote.origURL, remote.origTS, {...opts, noRevisits: true});\n if (!origResult) {\n return null;\n }\n\n const depth = opts && opts.depth || 0;\n\n if (!payload) {\n if (depth < 2) {\n payload = await this.loadPayload(origResult, {...opts, depth: depth + 1});\n } else {\n console.warn("Avoiding revisit lookup loop for: " + JSON.stringify(remote));\n }\n if (!payload) {\n return null;\n }\n }\n\n // if revisit record has header, use those, otherwise use headers from original\n cdx.respHeaders = remote.respHeaders ? remote.respHeaders : origResult.respHeaders;\n cdx.mime = origResult.mime;\n // ensure digest is set to original (usually same but may have different prefix)\n // to ensure proper lookup from cache\n cdx.digest = origResult.digest;\n\n if (origResult.extraOpts) {\n cdx.extraOpts = origResult.extraOpts;\n }\n\n // update revisit data if cacheing\n if (!this.noCache) {\n // don\'t store in resources db\n delete cdx.payload;\n\n try {\n await this.db.put("resources", cdx);\n } catch(e) {\n console.log(e);\n }\n\n // cache here only if somehow the digests don\'t match (wrong digest from previous versions?)\n if (origResult.digest !== remote.digest && !payload[Symbol.asyncIterator]) {\n await this.commitPayload(payload, remote.digest);\n }\n }\n\n return payload;\n }\n\n const digest = remote.digest;\n\n if (!this.noCache && remote.reader && digest) {\n remote.reader = new PayloadBufferingReader(this, remote.reader, digest, cdx.url, this.streamMap, hasher, cdx.recordDigest, cdx.source);\n }\n\n payload = remote.payload;\n\n if (!payload && !remote.reader) {\n return null;\n }\n\n // Update payload if cacheing\n try {\n if (payload && !this.noCache) {\n await this.commitPayload(payload, digest);\n }\n } catch(e) {\n console.warn(`Payload Update Error: ${cdx.url}`);\n console.warn(e);\n }\n\n // Update resources if headers or digest missing\n if (!cdx.respHeaders || !cdx.digest) {\n cdx.respHeaders = remote.respHeaders;\n cdx.digest = digest;\n if (remote.extraOpts) {\n cdx.extraOpts = remote.extraOpts;\n }\n\n if (!this.noCache) {\n try {\n await this.db.put("resources", cdx);\n } catch (e) {\n console.warn(`Resource Update Error: ${cdx.url}`);\n console.warn(e);\n }\n }\n }\n\n return payload ? payload : remote.reader;\n }\n\n async commitPayload(payload, digest) {\n if (!payload || payload.length === 0) {\n return;\n }\n\n const tx = this.db.transaction(["payload", "digestRef"], "readwrite");\n\n try {\n //const payloadEntry = await tx.objectStore("payload").get(digest);\n //payloadEntry.payload = payload;\n tx.objectStore("payload").put({payload, digest});\n\n if (this.useRefCounts) {\n const ref = await tx.objectStore("digestRef").get(digest);\n if (ref) {\n ref.size = payload.length;\n tx.objectStore("digestRef").put(ref);\n }\n }\n\n await tx.done;\n\n } catch (e) {\n console.warn("Payload Commit Error: " + e);\n }\n }\n}\n\n\n// ===========================================================================\nclass RemoteSourceArchiveDB extends OnDemandPayloadArchiveDB\n{\n constructor(name, loader, noCache = false) {\n super(name, noCache);\n\n this.loader = loader;\n }\n\n updateHeaders(headers) {\n this.loader.headers = headers;\n }\n\n async loadSource(source) {\n const { start, length } = source;\n\n return await this.loader.getRange(start, length, true);\n }\n}\n\n\n// ===========================================================================\nclass RemotePrefixArchiveDB extends OnDemandPayloadArchiveDB\n{\n constructor(name, remoteUrlPrefix, headers, noCache = false) {\n super(name, noCache);\n\n this.remoteUrlPrefix = remoteUrlPrefix;\n this.headers = headers;\n }\n\n updateHeaders(headers) {\n this.headers = headers; \n }\n\n async loadSource(source) {\n const { start, length } = source;\n\n const headers = new Headers(this.headers);\n const url = new URL(source.path, this.remoteUrlPrefix).href;\n\n const loader = await (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_2__.createLoader)(url, headers);\n\n return await loader.getRange(start, length, true);\n }\n}\n\n\n// ===========================================================================\nclass PartialStreamReader extends warcio__WEBPACK_IMPORTED_MODULE_3__.BaseAsyncIterReader\n{\n constructor(chunkstore) {\n super();\n this.chunkstore = chunkstore;\n this.offset = 0;\n this.size = this.chunkstore.totalLength;\n }\n\n setLimitSkip(limit = -1, skip = 0) {\n this.offset = skip;\n if (limit > 0) {\n this.size = limit;\n }\n }\n\n setRangeAll(length) {\n this.size = length;\n }\n\n getReadableStream() {\n console.log(`Offset: ${this.offset}, Size: ${this.size}`);\n\n const reader = this.chunkstore.getChunkIter();\n\n const limitreader = new warcio__WEBPACK_IMPORTED_MODULE_3__.LimitReader(reader, this.size, this.offset);\n return limitreader.getReadableStream();\n }\n}\n\n// ===========================================================================\nclass ChunkStore\n{\n constructor(totalLength) {\n this.chunks = [];\n this.size = 0;\n this.done = false;\n this.totalLength = totalLength;\n\n this.nextChunk = new Promise(resolve => this._nextResolve = resolve);\n }\n\n add(chunk) {\n this.chunks.push(chunk);\n this.size += chunk.byteLength;\n this._nextResolve(true);\n this.nextChunk = new Promise(resolve => this._nextResolve = resolve);\n }\n\n concatChunks() {\n this._nextResolve(false);\n this.done = true;\n\n return (0,warcio__WEBPACK_IMPORTED_MODULE_3__.concatChunks)(this.chunks, this.size);\n }\n\n async* getChunkIter() {\n for (const chunk of this.chunks) {\n yield chunk;\n }\n\n let i = this.chunks.length;\n\n while (!this.done) {\n if (!await this.nextChunk) {\n break;\n }\n\n for (i; i < this.chunks.length; i++) {\n yield this.chunks[i];\n }\n }\n }\n}\n\n\n// ===========================================================================\nclass PayloadBufferingReader extends warcio__WEBPACK_IMPORTED_MODULE_3__.BaseAsyncIterReader\n{\n constructor(db, reader, digest, url = "", streamMap, hasher, expectedHash, source) {\n super();\n this.db = db;\n this.reader = reader;\n\n this.digest = digest;\n this.url = url;\n\n this.commit = true;\n this.fullbuff = null;\n\n this.hasher = hasher;\n this.expectedHash = expectedHash;\n this.source = source;\n\n this.isRange = false;\n this.totalLength = -1;\n\n this.streamMap = streamMap;\n }\n\n setRangeAll(length) {\n this.isRange = true;\n this.totalLength = length;\n }\n\n setLimitSkip(limit = -1, skip = 0) {\n this.isRange = true;\n\n if (limit === 2 && skip === 0) {\n this.fixedSize = 2;\n return;\n }\n\n if (limit != -1 || skip > 0) {\n this.commit = false;\n }\n this.reader.setLimitSkip(limit, skip);\n }\n\n async* [Symbol.asyncIterator]() {\n let chunkstore = null;\n\n if (this.commit) {\n chunkstore = new ChunkStore(this.totalLength);\n\n if (this.isRange) {\n console.log(`Store stream for ${this.url}, ${this.totalLength}`);\n this.streamMap.set(this.url, chunkstore);\n }\n }\n\n for await (const chunk of this.reader) {\n if (chunkstore) {\n chunkstore.add(chunk);\n }\n\n yield chunk;\n }\n\n if (this.reader.limit !== 0) {\n console.warn(`Expected payload not consumed, ${this.reader.limit} bytes left`);\n } else {\n\n if (!this.isRange && this.hasher && this.expectedHash && this.source) {\n const hash = this.hasher.getHash();\n const {path, start, length} = this.source;\n const id = `${path}:${start}-${length}`;\n this.db.addVerifyData(id, this.expectedHash, hash);\n }\n\n if (this.commit) {\n this.fullbuff = chunkstore.concatChunks();\n await this.db.commitPayload(this.fullbuff, this.digest);\n }\n }\n\n if (this.commit && this.isRange) {\n this.streamMap.delete(this.url);\n console.log(`Delete stream for ${this.url}`);\n }\n }\n\n async _consumeIter(iter) {\n // eslint-disable-next-line no-unused-vars\n for await (const chunk of iter);\n }\n\n async readFully() {\n if (!this.fullbuff) {\n // should not set if already false\n //this.commit = true;\n await this._consumeIter(this);\n }\n return this.fullbuff;\n }\n\n getReadableStream() {\n const stream = super.getReadableStream();\n\n if (!this.commit) {\n return stream;\n }\n\n // if committing, need to consume entire stream, so tee reader and consume async\n const tees = stream.tee();\n\n this._consumeIter(warcio__WEBPACK_IMPORTED_MODULE_3__.AsyncIterReader.fromReadable(tees[1].getReader()));\n\n // load a single, fixed chunk (only used for 0-1 safari range)\n if (this.fixedSize) {\n return this.getFixedSizeReader(tees[0].getReader(), this.fixedSize);\n } else {\n return tees[0];\n }\n }\n\n getFixedSizeReader(reader, size) {\n return new ReadableStream({\n async start(controller) {\n const {value, done} = await reader.read();\n if (!done) {\n controller.enqueue(value.slice(0, size));\n }\n controller.close();\n reader.close();\n }\n });\n }\n}\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/remotearchivedb.js?')},"../wabac.js/src/remotewarcproxy.js":
/*!******************************************!*\
!*** ../wabac.js/src/remotewarcproxy.js ***!
\******************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RemoteWARCProxy": () => (/* binding */ RemoteWARCProxy)\n/* harmony export */ });\n/* harmony import */ var _response_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./response.js */ "../wabac.js/src/response.js");\n/* harmony import */ var _fuzzymatcher_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fuzzymatcher.js */ "../wabac.js/src/fuzzymatcher.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n\n\n\n\n\n\n// ===========================================================================\nclass RemoteWARCProxy {\n constructor(rootConfig) {\n const config = rootConfig.extraConfig || {};\n\n this.sourceUrl = config.prefix;\n this.type = config.sourceType || "kiwix";\n this.notFoundPageUrl = config.notFoundPageUrl;\n }\n\n async getAllPages() {\n return [];\n }\n\n async getResource(request, prefix) {\n const { url, headers } = request.prepareProxyRequest(prefix);\n let reqHeaders = headers;\n\n if (this.type === "kiwix") {\n let headersData = await this.resolveHeaders(url);\n\n if (!headersData) {\n for (const newUrl of _fuzzymatcher_js__WEBPACK_IMPORTED_MODULE_1__.fuzzyMatcher.getFuzzyCanonsWithArgs(url)) {\n if (newUrl !== url) {\n headersData = await this.resolveHeaders(newUrl);\n if (headersData) {\n break;\n }\n }\n }\n }\n\n if (!headersData) {\n\n // use custom error page for navigate events\n if (this.notFoundPageUrl && request.mode === "navigate") {\n const resp = await fetch(this.notFoundPageUrl);\n // load \'not found\' page template\n if (resp.status === 200) {\n const headers = {"Content-Type": "text/html"};\n const text = await resp.text();\n return new Response(text.replace("$URL", url), {status: 404, headers});\n }\n }\n\n return null;\n }\n\n let { headers, encodedUrl, date, status, statusText, hasPayload } = headersData;\n\n if (reqHeaders.has("Range")) {\n const range = reqHeaders.get("Range");\n // ensure uppercase range to avoid bug in kiwix-serve\n reqHeaders = {"Range": range};\n }\n\n let payload = null;\n\n let response = null;\n\n if (hasPayload) {\n response = await fetch(this.sourceUrl + "A/" + encodedUrl, {headers: reqHeaders});\n\n if (response.body) {\n payload = new warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader(response.body.getReader(), false);\n }\n\n if (response.status === 206) {\n status = 206;\n statusText = "Partial Content";\n headers.set("Content-Length", response.headers.get("Content-Length"));\n headers.set("Content-Range", response.headers.get("Content-Range"));\n headers.set("Accept-Ranges", "bytes");\n }\n }\n\n if (!payload) {\n payload = new Uint8Array([]);\n }\n\n if (!date) {\n date = new Date();\n }\n\n if (!headers) {\n headers = new Headers();\n }\n\n const isLive = false;\n const noRW = false;\n\n return new _response_js__WEBPACK_IMPORTED_MODULE_0__.ArchiveResponse({payload, status, statusText, headers, url, date, noRW, isLive});\n }\n }\n\n async resolveHeaders(url) {\n const urlNoScheme = url.slice(url.indexOf("//") + 2);\n\n // need to escape utf-8, then % encode the entire string\n let encodedUrl = encodeURI(urlNoScheme);\n encodedUrl = encodeURIComponent(urlNoScheme);\n\n let headersResp = await fetch(this.sourceUrl + "H/" + encodedUrl);\n\n if (headersResp.status !== 200) {\n return null;\n }\n\n let headers = null;\n let date = null;\n let status = null;\n let statusText = null;\n let hasPayload = false;\n\n try {\n const record = await warcio__WEBPACK_IMPORTED_MODULE_2__.WARCParser.parse(headersResp.body);\n\n if (record.warcType === "revisit") {\n const warcRevisitTarget = record.warcHeaders.headers.get("WARC-Refers-To-Target-URI");\n if (warcRevisitTarget && warcRevisitTarget !== url) {\n return await this.resolveHeaders(warcRevisitTarget);\n }\n }\n \n date = new Date(record.warcDate);\n\n if (record.httpHeaders) {\n headers = record.httpHeaders.headers;\n status = Number(record.httpHeaders.statusCode);\n statusText = record.httpHeaders.statusText;\n hasPayload = record.httpHeaders.headers.get("Content-Length") !== "0";\n } else if (record.warcType === "resource") {\n headers = new Headers();\n headers.set("Content-Type", record.warcContentType);\n headers.set("Content-Length", record.warcContentLength);\n status = 200;\n statusText = "OK";\n hasPayload = record.warcContentLength > 0;\n }\n\n if (!status) {\n status = 200;\n }\n\n } catch (e) {\n console.warn(e);\n console.warn("Ignoring headers, error parsing headers response for: " + url);\n }\n\n return {encodedUrl, headers, date, status, statusText, hasPayload};\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/remotewarcproxy.js?')},"../wabac.js/src/request.js":
/*!**********************************!*\
!*** ../wabac.js/src/request.js ***!
\**********************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ArchiveRequest": () => (/* binding */ ArchiveRequest)\n/* harmony export */ });\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n\n\nconst REPLAY_REGEX = /^(?::([\\w-]+)\\/)?(\\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\\/|\\||%7C|%7c)(.+)/;\n\n\nclass ArchiveRequest\n{\n constructor(wbUrlStr, request, {isRoot = false, mod = "", ts = "", proxyOrigin = null, localOrigin = null} = {})\n {\n const wbUrl = REPLAY_REGEX.exec(wbUrlStr);\n\n this.url = "";\n this.timestamp = ts;\n this.mod = mod;\n this.pageId = "";\n this.hash = "";\n\n if (!wbUrl && (wbUrlStr.startsWith("https:") || wbUrlStr.startsWith("http:") || wbUrlStr.startsWith("blob:"))) {\n this.url = wbUrlStr;\n } else if (!wbUrl && isRoot) {\n this.url = "https://" + wbUrlStr;\n } else if (!wbUrl) {\n this.url = null;\n return;\n } else {\n this.pageId = wbUrl[1] || "";\n this.timestamp = wbUrl[2];\n this.mod = wbUrl[3];\n this.url = wbUrl[4];\n }\n\n if (proxyOrigin && localOrigin) {\n const url = new URL(this.url);\n if (url.origin === localOrigin) {\n this.url = proxyOrigin + url.pathname + (url.search ? url.search : "");\n }\n }\n\n const hashIndex = this.url.indexOf("#");\n if (hashIndex > 0) {\n this.hash = this.url.slice(hashIndex);\n this.url = this.url.substring(0, hashIndex);\n }\n\n this.request = request;\n this.method = request.method;\n this.mode = request.mode;\n this._postToGetConverted = false;\n }\n\n get headers() {\n return this.request.headers;\n }\n\n get destination() {\n return this.request.destination;\n }\n\n get referrer() {\n return this.request.referrer;\n }\n\n async convertPostToGet() {\n if (this._postToGetConverted) {\n return this.url;\n }\n\n const request = this.request;\n\n if (request.method !== "POST" && request.method !== "PUT") {\n return this.url;\n }\n\n const data = {\n method: request.method,\n postData: await request.text(),\n headers: request.headers,\n url: this.url\n };\n\n if ((0,warcio__WEBPACK_IMPORTED_MODULE_0__.postToGetUrl)(data)) {\n this.url = data.url;\n this.method = "GET";\n this.mode = this.request.mode === "navigate" ? "same-origin" : this.request.mode;\n this._postToGetConverted = true;\n }\n\n return this.url;\n }\n\n prepareProxyRequest(prefix, isLive = true) {\n let headers;\n let referrer;\n let credentials;\n\n if (isLive) {\n headers = new Headers(this.request.headers);\n referrer = this.request.referrer;\n const inx = referrer.indexOf("/http", prefix.length - 1);\n if (inx > 0) {\n referrer = referrer.slice(inx + 1);\n headers.set("X-Proxy-Referer", referrer);\n }\n credentials = this.request.credentials;\n if (this.cookie) {\n headers.set("X-Proxy-Cookie", this.cookie);\n }\n } else {\n headers = new Headers();\n credentials = "omit";\n }\n\n let url = this.url;\n\n if (url.startsWith("//")) {\n try {\n url = new URL(referrer).protocol + url;\n } catch(e) {\n url = "https:" + url;\n }\n }\n\n return {referrer, headers, credentials, url};\n }\n\n async getBody() {\n const request = this.request.clone();\n return new Uint8Array(await request.arrayBuffer());\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/request.js?')},"../wabac.js/src/response.js":
/*!***********************************!*\
!*** ../wabac.js/src/response.js ***!
\***********************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ArchiveResponse": () => (/* binding */ ArchiveResponse)\n/* harmony export */ });\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n\n\n\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\n\n\n// ===========================================================================\nclass ArchiveResponse\n{\n\n static fromResponse({url, response, date, noRW, isLive}) {\n const payload = response.body ? new warcio__WEBPACK_IMPORTED_MODULE_1__.AsyncIterReader(response.body.getReader(), false) : null;\n const status = Number(response.headers.get("x-redirect-status") || response.status);\n const statusText = response.headers.get("x-redirect-statusText") || response.statusText;\n\n let headers = new Headers(response.headers);\n\n let origLoc = headers.get("x-orig-location");\n if (origLoc) {\n if (origLoc.startsWith(self.location.origin)) {\n origLoc = origLoc.slice(self.location.origin.length);\n }\n headers.set("location", origLoc);\n headers.delete("x-orig-location");\n headers.delete("x-redirect-status");\n headers.delete("x-redirect-statusText");\n }\n\n let updateTS = null;\n\n const origTs = headers.get("x-orig-ts");\n if (origTs) {\n date = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.tsToDate)(origTs);\n headers.delete("x-orig-ts");\n\n // force TS update downstream\n if (origTs && origLoc) {\n updateTS = origTs;\n }\n }\n const mementoDt = headers.get("memento-datetime");\n if (mementoDt) {\n date = new Date(mementoDt);\n }\n\n const cookie = (headers.get("x-proxy-set-cookie"));\n if (cookie) {\n const cookies = [];\n cookie.split(",").forEach((c) => {\n const cval = c.split(";", 1)[0].trim();\n if (cval.indexOf("=") > 0) {\n cookies.push(cval);\n }\n });\n headers.delete("x-proxy-set-cookie");\n\n if (cookies.length) {\n headers.set("x-wabac-preset-cookie", cookies.join(";"));\n //console.log("cookies", cookies.join(";"));\n }\n }\n\n return new ArchiveResponse({payload, status, statusText, headers, url, date, noRW, isLive, updateTS});\n }\n\n constructor({payload, status, statusText, headers, url, date, extraOpts = null, noRW = false, isLive = false, updateTS = null}) {\n this.reader = null;\n this.buffer = null;\n\n if (payload && (payload[Symbol.asyncIterator] || payload instanceof warcio__WEBPACK_IMPORTED_MODULE_1__.BaseAsyncIterReader)) {\n this.reader = payload;\n } else {\n this.buffer = payload;\n }\n\n this.status = status;\n this.statusText = statusText;\n this.headers = headers;\n this.url = url;\n this.date = date;\n this.extraOpts = extraOpts;\n this.noRW = noRW;\n this.isLive = isLive;\n this.updateTS = updateTS;\n }\n\n async getText(isUTF8 = false) {\n const buff = await this.getBuffer();\n if (typeof(buff) === "string") {\n return buff;\n }\n\n return isUTF8 ? decoder.decode(buff) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.decodeLatin1)(buff);\n }\n\n setText(text, isUTF8 = false) {\n this.setBuffer(isUTF8 ? encoder.encode(text) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.encodeLatin1)(text));\n }\n\n async getBuffer() {\n if (this.buffer) {\n return this.buffer;\n }\n\n this.buffer = await this.reader.readFully();\n return this.buffer;\n }\n\n setBuffer(buffer) {\n this.buffer = buffer;\n this.reader = null;\n }\n\n setReader(reader) {\n if (reader instanceof warcio__WEBPACK_IMPORTED_MODULE_1__.BaseAsyncIterReader) {\n this.reader = reader;\n this.buffer = null;\n } else if (reader.getReader) {\n this.reader = new warcio__WEBPACK_IMPORTED_MODULE_1__.AsyncIterReader(reader.getReader());\n this.buffer = null;\n }\n }\n\n expectedLength() {\n if (this.buffer) {\n return this.buffer.length;\n } else if (this.reader && this.reader.reader) {\n return this.reader.reader.length;\n }\n }\n\n createIter() {\n const buffer = this.buffer;\n const reader = this.reader;\n\n async function* iter() {\n if (buffer) {\n for (let i = 0; i < buffer.length; i += _utils_js__WEBPACK_IMPORTED_MODULE_0__.MAX_STREAM_CHUNK_SIZE) {\n yield buffer.slice(i, i + _utils_js__WEBPACK_IMPORTED_MODULE_0__.MAX_STREAM_CHUNK_SIZE);\n }\n\n } else if (reader) {\n yield* reader;\n }\n }\n\n return iter();\n }\n\n async* [Symbol.asyncIterator]() {\n yield* this.createIter();\n }\n\n setRange(range) {\n if (this.status === 206) {\n const currRange = this.headers.get("Content-Range");\n if (currRange && !currRange.startsWith("bytes 0-")) {\n return false;\n }\n }\n\n const bytes = range.match(/^bytes=(\\d+)-(\\d+)?$/);\n\n let length = 0;\n\n if (this.buffer) {\n length = this.buffer.length;\n } else if (this.reader) {\n //length = this.reader.length;\n length = Number(this.headers.get("content-length"));\n\n // if length is not known, keep as 200\n if (!length) {\n return false;\n }\n }\n\n if (!bytes) {\n this.status = 416;\n this.statusText = "Range Not Satisfiable";\n this.headers.set("Content-Range", `*/${length}`);\n return false;\n }\n\n const start = Number(bytes[1]);\n const end = Number(bytes[2]) || (length - 1);\n\n if (this.buffer) {\n this.buffer = this.buffer.slice(start, end + 1);\n\n } else if (this.reader) {\n if (!this.reader.setLimitSkip) {\n return false;\n }\n if (start !== 0 || end !== (length - 1)) {\n this.reader.setLimitSkip(end - start + 1, start);\n } else if (this.reader.setRangeAll) {\n this.reader.setRangeAll(length);\n }\n }\n\n this.headers.set("Content-Range", `bytes ${start}-${end}/${length}`);\n this.headers.set("Content-Length", end - start + 1);\n\n this.status = 206;\n this.statusText = "Partial Content";\n\n return true;\n }\n\n makeResponse(coHeaders = false) {\n let body = null;\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isNullBodyStatus)(this.status)) {\n body = this.buffer || !this.reader ? this.buffer : this.reader.getReadableStream();\n }\n\n const response = new Response(body, {status: this.status,\n statusText: this.statusText,\n headers: this.headers});\n response.date = this.date;\n if (coHeaders) {\n response.headers.set("Cross-Origin-Opener-Policy", "same-origin");\n response.headers.set("Cross-Origin-Embedder-Policy", "require-corp");\n }\n return response;\n }\n}\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/response.js?')},"../wabac.js/src/rewrite/decoder.js":
/*!******************************************!*\
!*** ../wabac.js/src/rewrite/decoder.js ***!
\******************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "decodeContent": () => (/* binding */ decodeContent),\n/* harmony export */ "decodeResponse": () => (/* binding */ decodeResponse)\n/* harmony export */ });\n/* harmony import */ var brotli_decompress_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! brotli/decompress.js */ "../wabac.js/node_modules/brotli/decompress.js");\n/* harmony import */ var pako_lib_inflate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pako/lib/inflate.js */ "../wabac.js/node_modules/pako/lib/inflate.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n\n\n\n\n\n\n\n// ===========================================================================\nasync function decodeResponse(response, contentEncoding, transferEncoding, noRW) {\n\n // use the streaming decoder if gzip only and no rewriting\n if (response.reader && noRW &&\n ((contentEncoding === "gzip" && !transferEncoding) || \n (!contentEncoding && transferEncoding === "gzip"))) {\n response.setReader(new warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader(response.reader));\n return response;\n }\n\n const origContent = new Uint8Array(await response.getBuffer());\n\n const content = await decodeContent(origContent, contentEncoding, transferEncoding);\n\n if (origContent !== content) {\n response.setBuffer(content);\n }\n\n return response;\n}\n\n\n// ===========================================================================\nasync function decodeContent(content, contentEncoding, transferEncoding) {\n const origContent = content;\n\n try {\n if (transferEncoding === "chunked") {\n content = dechunkArrayBuffer(content);\n }\n } catch (e) {\n console.log("Chunk-Encoding Ignored: " + e);\n }\n\n try {\n if (contentEncoding === "br") {\n content = brotli_decompress_js__WEBPACK_IMPORTED_MODULE_0__(content);\n\n // if ended up with zero-length, probably not valid, just use original\n if (content.length === 0) {\n content = origContent;\n }\n\n } else if (contentEncoding === "gzip" || transferEncoding === "gzip") {\n const inflator = new pako_lib_inflate_js__WEBPACK_IMPORTED_MODULE_1__.Inflate();\n\n inflator.push(content, true);\n\n // if error occurs (eg. not gzip), use original arraybuffer\n if (inflator.result && !inflator.err) {\n content = inflator.result;\n }\n }\n } catch(e) {\n console.log("Content-Encoding Ignored: " + e);\n }\n\n return content;\n}\n\n\n// ===========================================================================\nfunction dechunkArrayBuffer(data) {\n let readOffset = 0;\n let writeOffset = 0;\n\n const decoder = new TextDecoder("utf-8");\n\n while (readOffset < data.length) {\n let i = readOffset;\n\n // check hex digits, 0-9, A-Z, a-z\n while ((data[i] >= 48 && data[i] <= 57) ||\n (data[i] >= 65 && data[i] <= 70) ||\n (data[i] >= 97 && data[i] <= 102)) {\n i++;\n }\n\n // doesn\'t start with number, return original\n if (i === 0) {\n return data;\n }\n\n // ensure \\r\\n\\r\\n\n if (data[i] != 13 || data[i + 1] != 10) {\n return data;\n }\n\n i += 2;\n\n var chunkLength = parseInt(decoder.decode(data.subarray(readOffset, i)), 16);\n\n if (chunkLength == 0) {\n break;\n }\n\n data.set(data.subarray(i, i + chunkLength), writeOffset);\n\n i += chunkLength;\n\n writeOffset += chunkLength;\n\n if (data[i] == 13 && data[i + 1] == 10) {\n i += 2;\n }\n\n readOffset = i;\n }\n\n return data.subarray(0, writeOffset);\n}\n\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/rewrite/decoder.js?')},"../wabac.js/src/rewrite/dsruleset.js":
/*!********************************************!*\
!*** ../wabac.js/src/rewrite/dsruleset.js ***!
\********************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DomainSpecificRuleSet": () => (/* binding */ DomainSpecificRuleSet)\n/* harmony export */ });\n//import unescapeJs from "unescape-js";\nconst MAX_BITRATE = 5000000;\n\n// ===========================================================================\nconst DEFAULT_RULES = [\n {\n contains: ["youtube.com", "youtube-nocookie.com"],\n rxRules: [\n [/ytplayer.load\\(\\);/, ruleReplace("ytplayer.config.args.dash = \\"0\\"; ytplayer.config.args.dashmpd = \\"\\"; {0}")],\n [/yt\\.setConfig.*PLAYER_CONFIG.*args":\\s*{/, ruleReplace("{0} \\"dash\\": \\"0\\", dashmpd: \\"\\", ")],\n [/(?:"player":|ytplayer\\.config).*"args":\\s*{/, ruleReplace("{0}\\"dash\\":\\"0\\",\\"dashmpd\\":\\"\\",")],\n [/yt\\.setConfig.*PLAYER_VARS.*?{/, ruleReplace("{0}\\"dash\\":\\"0\\",\\"dashmpd\\":\\"\\",")],\n [/ytplayer.config={args:\\s*{/, ruleReplace("{0}\\"dash\\":\\"0\\",\\"dashmpd\\":\\"\\",")],\n [/"0"\\s*?==\\s*?\\w+\\.dash&&/m, ruleReplace("1&&")],\n ]\n },\n {\n contains: ["player.vimeo.com/video/"],\n rxRules: [\n [/^\\{.+\\}$/, ruleRewriteVimeoConfig]\n ]\n },\n {\n contains: ["master.json?query_string_ranges=0", "master.json?base64"],\n rxRules: [\n [/^\\{.+\\}$/, ruleRewriteVimeoDashManifest]\n ]\n },\n {\n contains: ["facebook.com/"],\n rxRules: [\n //[/"dash_manifest":"?.*dash_prefetched_representation_ids"?:(\\[.*\\]|[^,]+)/, ruleRewriteFBDash],\n //[/"dash_manifest":"?.*?dash_prefetched_representation_ids"?:(?:null|(?:.+?\\]))/, ruleRewriteFBDash],\n\n [/"dash_/, ruleReplace("\\"__nodash__")],\n [/_dash"/, ruleReplace("__nodash__\\"")],\n [/_dash_/, ruleReplace("__nodash__")],\n [/"debugNoBatching\\s?":(?:false|0)/, ruleReplace("\\"debugNoBatching\\":true")]\n ]\n },\n\n {\n contains: ["instagram.com/"],\n rxRules: [\n [/"is_dash_eligible":(?:true|1)/, ruleReplace("\\"is_dash_eligible\\":false")],\n [/"debugNoBatching\\s?":(?:false|0)/, ruleReplace("\\"debugNoBatching\\":true")]\n ]\n },\n\n {\n contains: ["api.twitter.com/2/", "twitter.com/i/api/2/", "twitter.com/i/api/graphql/"],\n rxRules: [\n [/"video_info":.*?}]}/, ruleRewriteTwitterVideo("\\"video_info\\":")]\n ]\n },\n\n {\n contains: ["cdn.syndication.twimg.com/tweet-result"],\n rxRules: [\n [/"video":.*?viewCount":\\d+}/, ruleRewriteTwitterVideo("\\"video\\":")]\n ]\n },\n\n {\n contains: ["/vqlweb.js"],\n rxRules: [\n [/\\b\\w+\\.updatePortSize\\(\\);this\\.updateApplicationSize\\(\\)(?![*])/img, ruleReplace("/*{0}*/")]\n ]\n }\n];\n\n// ===========================================================================\nfunction ruleReplace(string) {\n return x => string.replace("{0}", x); \n}\n\n// ===========================================================================\nfunction setMaxBitrate(opts)\n{\n let maxBitrate = MAX_BITRATE;\n const extraOpts = opts.response && opts.response.extraOpts;\n\n if (opts.save) {\n opts.save.maxBitrate = maxBitrate;\n } else if (extraOpts && extraOpts.maxBitrate) {\n maxBitrate = extraOpts.maxBitrate;\n }\n\n return maxBitrate;\n}\n\n// ===========================================================================\nfunction ruleRewriteTwitterVideo(prefix) {\n\n return (string, opts) => {\n if (!opts) {\n return string;\n }\n\n const origString = string;\n\n try {\n const W_X_H = /([\\d]+)x([\\d]+)/;\n\n const maxBitrate = setMaxBitrate(opts);\n\n string = string.slice(prefix.length);\n\n const data = JSON.parse(string);\n\n let bestVariant = null;\n let bestBitrate = 0;\n\n for (const variant of data.variants) {\n if ((variant.content_type && variant.content_type !== "video/mp4") ||\n (variant.type && variant.type !== "video/mp4")) {\n continue;\n }\n\n if (variant.bitrate && variant.bitrate > bestBitrate && variant.bitrate <= maxBitrate) {\n bestVariant = variant;\n bestBitrate = variant.bitrate;\n } else if (variant.src) {\n const matched = W_X_H.exec(variant.src);\n if (matched) {\n const bitrate = Number(matched[1]) * Number(matched[2]);\n if (bitrate > bestBitrate) {\n bestBitrate = bitrate;\n bestVariant = variant;\n }\n }\n }\n }\n\n if (bestVariant) {\n data.variants = [bestVariant];\n }\n\n return prefix + JSON.stringify(data);\n\n } catch (e) {\n console.warn("rewriter error: ", e);\n return origString;\n }\n };\n}\n\n// ===========================================================================\nfunction ruleRewriteVimeoConfig(string) {\n let config;\n try {\n config = JSON.parse(string);\n } catch (e) {\n return string;\n }\n\n if (config && config.request && config.request.files) {\n const files = config.request.files;\n if (typeof(files.progressive) === "object" && files.progressive.length) {\n if (files.dash) {\n files.__dash = files.dash;\n delete files.dash;\n }\n if (files.hls) {\n files.__hls = files.hls;\n delete files.hls;\n }\n return JSON.stringify(config);\n }\n }\n\n return string.replace(/query_string_ranges=1/g, "query_string_ranges=0");\n}\n\n// ===========================================================================\nfunction ruleRewriteVimeoDashManifest(string, opts) {\n if (!opts) {\n return string;\n }\n\n let vimeoManifest = null;\n\n const maxBitrate = setMaxBitrate(opts);\n\n try {\n vimeoManifest = JSON.parse(string);\n console.log("manifest", vimeoManifest);\n } catch (e) {\n return string;\n }\n\n function filterByBitrate(array, max, mime) {\n let bestVariant = 0;\n let bestBitrate = null;\n\n for (const variant of array) {\n if (variant.mime_type == mime && variant.bitrate > bestBitrate && variant.bitrate <= max) {\n bestBitrate = variant.bitrate;\n bestVariant = variant;\n }\n }\n\n return bestVariant ? [bestVariant] : array;\n }\n\n vimeoManifest.video = filterByBitrate(vimeoManifest.video, maxBitrate, "video/mp4");\n vimeoManifest.audio = filterByBitrate(vimeoManifest.audio, maxBitrate, "audio/mp4");\n\n return JSON.stringify(vimeoManifest);\n}\n\n// ===========================================================================\n\n// ===========================================================================\nclass DomainSpecificRuleSet\n{\n\n constructor(RewriterCls, rwRules) {\n this.rwRules = rwRules || DEFAULT_RULES;\n this.RewriterCls = RewriterCls;\n\n this._initRules();\n }\n\n _initRules() {\n this.rewriters = new Map();\n\n for (const rule of this.rwRules) {\n if (rule.rxRules) {\n this.rewriters.set(rule, new this.RewriterCls(rule.rxRules));\n }\n }\n this.defaultRewriter = new this.RewriterCls();\n }\n\n getRewriter(url) {\n for (const rule of this.rwRules) {\n if (!rule.contains) {\n continue;\n }\n\n for (const containsStr of rule.contains) {\n if (url.indexOf(containsStr) >= 0) {\n const rewriter = this.rewriters.get(rule);\n if (rewriter) {\n return rewriter;\n }\n }\n }\n }\n\n return this.defaultRewriter;\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/rewrite/dsruleset.js?')},"../wabac.js/src/rewrite/html.js":
/*!***************************************!*\
!*** ../wabac.js/src/rewrite/html.js ***!
\***************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "HTMLRewriter": () => (/* binding */ HTMLRewriter)\n/* harmony export */ });\n/* harmony import */ var parse5_html_rewriting_stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parse5-html-rewriting-stream */ "../wabac.js/node_modules/parse5-html-rewriting-stream/dist/index.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "../wabac.js/src/utils.js");\n\n\n\n\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\n\n\n// ===========================================================================\nconst META_REFRESH_REGEX = /([\\d.]+\\s*;\\s*url\\s*=\\s*)(.+)(\\s*)/mi;\n\nconst DATA_RW_PROTOCOLS = ["http://", "https://", "//"];\n\nconst defmod = "mp_";\n\nconst MAX_HTML_REWRITE_SIZE = 5000000;\n\nconst rewriteTags = {\n "a": { "href": defmod },\n "applet": {\n "codebase": "oe_",\n "archive": "oe_"\n },\n "area": { "href": defmod },\n "audio": { "src": "oe_" },\n "base": { "href": defmod },\n "blockquote": { "cite": defmod },\n "body": { "background": "im_" },\n "button": { "formaction": defmod },\n "command": { "icon": "im_" },\n "del": { "cite": defmod },\n "embed": { "src": "oe_" },\n "iframe": { "src": "if_" },\n "image": { "src": "im_", "xlink:href": "im_", "href": "im_" },\n "img": {\n "src": "im_",\n "srcset": "im_"\n },\n "ins": { "cite": defmod },\n "input": {\n "src": "im_",\n "formaction": defmod\n },\n "form": { "action": defmod },\n "frame": { "src": "fr_" },\n "link": { "href": "oe_" },\n "meta": { "content": defmod },\n "object": {\n "codebase": "oe_",\n "data": "oe_"\n },\n "param": { "value": "oe_" },\n "q": { "cite": defmod },\n "ref": { "href": "oe_" },\n "script": { "src": "js_", "xlink:href": "js_" },\n "source": { "src": "oe_", "srcset": "oe_" },\n "video": {\n "src": "oe_",\n "poster": "im_"\n },\n};\n\nconst OBJECT_FLASH_DATA_RX = [{\n "match": /youtube.com\\/v\\/([^&]+)[&]/,\n "replace": "youtube.com/embed/$1?"\n}];\n\n\nconst TEXT_NODE_REWRITE_RULES = [\n {\n urlMatch: /[?&]:loadOrderID=([\\d]+)/,\n match: /(loadOrderID&(quot;&)?#x[^;]+?;)([\\d]+)/gi,\n replace: "$1$U1"\n }\n];\n\n\n// ===========================================================================\nclass HTMLRewriter\n{\n constructor(rewriter, isCharsetUTF8 = false) {\n this.rewriter = rewriter;\n this.rule = null;\n\n for (const rule of TEXT_NODE_REWRITE_RULES) {\n const m = this.rewriter.url.match(rule.urlMatch);\n if (m) {\n this.ruleMatch = m;\n this.rule = rule;\n break;\n }\n }\n\n this.isCharsetUTF8 = isCharsetUTF8;\n }\n\n rewriteMetaContent(attrs, attr, rewriter) {\n let equiv = this.getAttr(attrs, "http-equiv");\n if (equiv) {\n equiv = equiv.toLowerCase();\n }\n\n if (equiv === "content-security-policy") {\n attr.name = "_" + attr.name;\n } else if (equiv === "refresh") {\n return attr.value.replace(META_REFRESH_REGEX, (m, p1, p2, p3) => p1 + this.rewriteUrl(rewriter, p2) + p3);\n } else if (this.getAttr(attrs, "name") === "referrer") {\n return "no-referrer-when-downgrade";\n } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.startsWithAny)(attr.value, DATA_RW_PROTOCOLS)) {\n return this.rewriteUrl(rewriter, attr.value);\n }\n\n return attr.value;\n }\n\n rewriteSrcSet(value, rewriter) {\n const SRCSET_REGEX = /\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/;\n\n let rv = [];\n\n for (let v of value.split(SRCSET_REGEX)) {\n if (v) {\n const parts = v.trim().split(" ");\n parts[0] = this.rewriteUrl(rewriter, parts[0]);\n rv.push(parts.join(" "));\n }\n }\n\n return rv.join(", ");\n }\n\n rewriteTagAndAttrs(tag, attrRules, rewriter) {\n const isUrl = (val) => { return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.startsWithAny)(val, DATA_RW_PROTOCOLS); };\n const tagName = tag.tagName;\n\n for (let attr of tag.attrs) {\n const name = attr.name;\n const value = attr.value;\n\n // js attrs\n if (name.startsWith("on") && value.startsWith("javascript:") && name.slice(2, 3) != "-") {\n attr.value = "javascript:" + rewriter.rewriteJS(value.slice("javascript:".length), {inline: true});\n }\n // css attrs\n else if (name === "style") {\n attr.value = rewriter.rewriteCSS(attr.value);\n }\n\n // background attr\n else if (name === "background") {\n attr.value = this.rewriteUrl(rewriter, value);\n }\n\n else if (name === "srcset" || (name === "imagesrcset" && tagName === "link")) {\n attr.value = this.rewriteSrcSet(value, rewriter);\n }\n\n // for now, download attribute doesn\'t work in Chrome\n // but disabling triggers default behavior which often does\n else if (name === "crossorigin" || name === "integrity" || name === "download") {\n attr.name = "_" + attr.name;\n }\n\n else if (tagName === "meta" && name === "content") {\n attr.value = this.rewriteMetaContent(tag.attrs, attr, rewriter);\n }\n\n else if (tagName === "param" && isUrl(value)) {\n attr.value = this.rewriteUrl(rewriter, attr.value);\n }\n\n else if (name.startsWith("data-") && isUrl(value)) {\n attr.value = this.rewriteUrl(rewriter, attr.value);\n }\n\n else if (tagName === "base" && name === "href") {\n try {\n // rewrite url, keeping relativeness intact\n attr.value = this.rewriter.updateBaseUrl(attr.value);\n } catch (e) {\n console.warn("Invalid <base>: " + attr.value);\n }\n }\n\n else if (tagName === "script" && name === "src") {\n const rwType = this.getScriptRWType(tag);\n const mod = (rwType === "module") ? "esm_" : null;\n const newValue = this.rewriteUrl(rewriter, attr.value, false, mod);\n if (newValue === attr.value) {// && this.isRewritableUrl(newValue)) {\n tag.attrs.push({"name": "__wb_orig_src", "value": attr.value});\n attr.value = this.rewriteUrl(rewriter, attr.value, true, mod);\n } else {\n attr.value = newValue;\n }\n }\n\n else if (tagName === "object" && name === "data") {\n const type = this.getAttr(tag.attrs, "type");\n\n // convert object tag to iframe\n if (type === "application/pdf") {\n attr.name = "src";\n tag.tagName = "iframe";\n } else if (type === "application/x-shockwave-flash") {\n for (const rule of OBJECT_FLASH_DATA_RX) {\n const value = attr.value.replace(rule.match, rule.replace);\n if (value !== attr.value) {\n attr.name = "src";\n attr.value = this.rewriteUrl(rewriter, value);\n tag.tagName = "iframe";\n break;\n }\n }\n }\n }\n\n else if (name === "target") {\n const target = attr.value;\n\n if (target === "_blank" || target === "_parent" || target === "_top" || target === "new") {\n attr.value = _utils_js__WEBPACK_IMPORTED_MODULE_1__.REPLAY_TOP_FRAME_NAME;\n }\n }\n\n else if (name === "href" || name === "src") {\n attr.value = this.rewriteUrl(rewriter, attr.value);\n }\n\n else {\n if (attrRules[attr.name]) {\n attr.value = this.rewriteUrl(rewriter, attr.value);\n }\n }\n }\n }\n\n getAttr(attrs, name) {\n for (let attr of attrs) {\n if (attr.name === name) {\n return attr.value;\n }\n }\n\n return null;\n }\n\n getScriptRWType(tag) {\n const scriptType = this.getAttr(tag.attrs, "type");\n\n if (scriptType === "module") {\n return "module";\n } else if (scriptType === "application/json") {\n return "json";\n } else if (!scriptType || (scriptType.indexOf("javascript") >= 0 || scriptType.indexOf("ecmascript") >= 0)) {\n return "js";\n } else {\n return "";\n }\n }\n\n async rewrite(response) {\n if (!response.buffer && !response.reader) {\n //console.warn("Missing response body for: " + response.url);\n return response;\n }\n\n if (response.expectedLength() > MAX_HTML_REWRITE_SIZE) {\n console.warn("Skipping rewriting, HTML file too big: " + response.expectedLength());\n return response;\n }\n\n const rewriter = this.rewriter;\n\n const rwStream = new parse5_html_rewriting_stream__WEBPACK_IMPORTED_MODULE_0__.RewritingStream();\n rwStream.tokenizer.preprocessor.bufferWaterline = Infinity;\n\n let insertAdded = false;\n\n let context = "";\n let scriptRw = "";\n let replaceTag = null;\n\n const addInsert = () => {\n if (!insertAdded && rewriter.headInsertFunc) {\n const headInsert = rewriter.headInsertFunc(rewriter.url);\n if (headInsert) {\n rwStream.emitRaw(headInsert);\n }\n insertAdded = true;\n }\n };\n\n rwStream.on("startTag", startTag => {\n\n const tagRules = rewriteTags[startTag.tagName];\n\n const original = startTag.tagName;\n\n this.rewriteTagAndAttrs(startTag, tagRules || {}, rewriter);\n\n if (!insertAdded && !["head", "html"].includes(startTag.tagName)) {\n addInsert();\n }\n\n rwStream.emitStartTag(startTag);\n\n switch (startTag.tagName) {\n case "script": {\n if (startTag.selfClosing) {\n break;\n }\n\n context = startTag.tagName;\n scriptRw = this.getScriptRWType(startTag);\n break;\n }\n\n case "style":\n if (!startTag.selfClosing) {\n context = startTag.tagName;\n }\n break;\n\n case "head":\n addInsert();\n break;\n }\n\n if (startTag.tagName !== original) {\n context = original;\n replaceTag = startTag.tagName;\n }\n });\n\n rwStream.on("endTag", endTag => {\n if (endTag.tagName === context) {\n if (replaceTag) {\n endTag.tagName = replaceTag;\n replaceTag = null;\n }\n context = "";\n }\n rwStream.emitEndTag(endTag);\n });\n\n rwStream.on("text", (textToken, raw) => {\n const text = (() => {\n if (context === "script") {\n const prefix = rewriter.prefix;\n const isModule = scriptRw === "module";\n\n if (scriptRw === "js" || isModule) {\n return rewriter.rewriteJS(textToken.text, {isModule, prefix});\n } else if (scriptRw === "json") {\n return rewriter.rewriteJSON(textToken.text, {prefix});\n } else {\n return textToken.text;\n }\n } else if (context === "style") {\n return rewriter.rewriteCSS(textToken.text);\n } else {\n return this.rewriteHTMLText(raw);\n }\n })();\n\n for (let i = 0; i < text.length; i += _utils_js__WEBPACK_IMPORTED_MODULE_1__.MAX_STREAM_CHUNK_SIZE) {\n rwStream.emitRaw(text.slice(i, i + _utils_js__WEBPACK_IMPORTED_MODULE_1__.MAX_STREAM_CHUNK_SIZE));\n }\n });\n\n const sourceGen = response.createIter();\n let hasData = false;\n\n const isCharsetUTF8 = this.isCharsetUTF8;\n\n response.setReader(new ReadableStream({\n async start(controller) {\n rwStream.on("data", (text) => {\n controller.enqueue(isCharsetUTF8 ? encoder.encode(text) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.encodeLatin1)(text));\n });\n\n rwStream.on("end", () => {\n controller.close();\n });\n\n for await (const chunk of sourceGen) {\n if (isCharsetUTF8) {\n rwStream.write(decoder.decode(chunk), "utf8");\n } else {\n rwStream.write((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.decodeLatin1)(chunk), "latin1");\n }\n hasData = true;\n }\n if (hasData) {\n addInsert();\n }\n\n rwStream.end();\n },\n }));\n \n return response;\n }\n\n rewriteUrl(rewriter, text, forceAbs = false, mod = null) {\n // if html charset not utf-8, just convert the url to utf-8 for rewriting\n if (!this.isCharsetUTF8) {\n text = decoder.decode((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.encodeLatin1)(text));\n }\n const res = rewriter.rewriteUrl(text, forceAbs);\n return mod ? res.replace("mp_/", mod + "/") : res;\n }\n\n rewriteHTMLText(text) {\n if (this.rule) {\n // todo: make more general if additional rules needed\n // for now, just replace the first match\n const replacer = this.rule.replace.replace("$U1", this.ruleMatch[1]);\n const newText = text.replace(this.rule.match, replacer);\n if (text !== newText) {\n return newText;\n }\n }\n return text;\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/rewrite/html.js?')},"../wabac.js/src/rewrite/index.js":
/*!****************************************!*\
!*** ../wabac.js/src/rewrite/index.js ***!
\****************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "ArchiveResponse": () => (/* reexport safe */ _response_js__WEBPACK_IMPORTED_MODULE_3__.ArchiveResponse),\n/* harmony export */ "Rewriter": () => (/* binding */ Rewriter),\n/* harmony export */ "baseRules": () => (/* binding */ baseRules),\n/* harmony export */ "jsRules": () => (/* binding */ jsRules)\n/* harmony export */ });\n/* harmony import */ var http_link_header__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! http-link-header */ "../wabac.js/node_modules/http-link-header/lib/link.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _decoder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decoder.js */ "../wabac.js/src/rewrite/decoder.js");\n/* harmony import */ var _response_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../response.js */ "../wabac.js/src/response.js");\n/* harmony import */ var _rewriteVideo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./rewriteVideo.js */ "../wabac.js/src/rewrite/rewriteVideo.js");\n/* harmony import */ var _dsruleset_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dsruleset.js */ "../wabac.js/src/rewrite/dsruleset.js");\n/* harmony import */ var _rxrewriter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./rxrewriter.js */ "../wabac.js/src/rewrite/rxrewriter.js");\n/* harmony import */ var _jsrewriter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./jsrewriter.js */ "../wabac.js/src/rewrite/jsrewriter.js");\n/* harmony import */ var _html_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./html.js */ "../wabac.js/src/rewrite/html.js");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// ===========================================================================\nconst STYLE_REGEX = /(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi;\n\nconst IMPORT_REGEX = /(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi;\n\nconst NO_WOMBAT_REGEX = /WB_wombat_/g;\n\n//const JSONP_REGEX = /^(?:[ \\t]*(?:(?:\\/\\*[^\\*]*\\*\\/)|(?:\\/\\/[^\\n]+[\\n])))*[ \\t]*(\\w+)\\(\\{/m;\nconst JSONP_REGEX = /^(?:\\s*(?:(?:\\/\\*[^*]*\\*\\/)|(?:\\/\\/[^\\n]+[\\n])))*\\s*([\\w.]+)\\([{[]/;\n\nconst JSONP_CALLBACK_REGEX = /[?].*(?:callback|jsonp)=([^&]+)/i;\n\n// JS Rewriters\nconst jsRules = new _dsruleset_js__WEBPACK_IMPORTED_MODULE_5__.DomainSpecificRuleSet(_jsrewriter_js__WEBPACK_IMPORTED_MODULE_7__.JSRewriter);\nconst baseRules = new _dsruleset_js__WEBPACK_IMPORTED_MODULE_5__.DomainSpecificRuleSet(_rxrewriter_js__WEBPACK_IMPORTED_MODULE_6__.RxRewriter);\n\n\n// ===========================================================================\nclass Rewriter {\n constructor({baseUrl, prefix, responseUrl, workerInsertFunc, headInsertFunc = null,\n urlRewrite = true, contentRewrite = true, decode = true, useBaseRules = false} = {}) {\n this.urlRewrite = urlRewrite;\n this.contentRewrite = contentRewrite;\n this.dsRules = urlRewrite && !useBaseRules ? jsRules : baseRules;\n this.decode = decode;\n\n this.prefix = prefix || "";\n if (this.prefix && urlRewrite) {\n const parsed = new URL(this.prefix);\n this.relPrefix = parsed.pathname;\n this.schemeRelPrefix = this.prefix.slice(parsed.protocol.length);\n }\n\n // response url always has a scheme, should be specified if baseUrl may not..\n const parsed = new URL(responseUrl || baseUrl);\n this.scheme = parsed.protocol;\n\n if (baseUrl.startsWith("//")) {\n baseUrl = this.scheme + baseUrl;\n }\n\n this.url = this.baseUrl = baseUrl;\n\n this.headInsertFunc = headInsertFunc;\n this.workerInsertFunc = workerInsertFunc;\n this.responseUrl = responseUrl;\n this.isCharsetUTF8 = false;\n\n this._jsonpCallback = null;\n }\n\n getRewriteMode(request, response, url = "", mime = null) {\n if (!mime && response) {\n mime = response.headers.get("Content-Type") || "";\n const parts = mime.split(";");\n mime = parts[0];\n if (parts.length > 1) {\n this.isCharsetUTF8 = parts[1].trim().toLowerCase().replace("charset=", "").replace("-", "") === "utf8";\n }\n }\n\n if (request) {\n switch (request.destination) {\n case "style":\n return "css";\n\n case "script":\n return this.getScriptRewriteMode(mime, url, "js");\n\n case "worker":\n return "js-worker";\n }\n }\n\n switch (mime) {\n case "text/html":\n if (!request.destination && request.headers.get("Accept") === "application/json") {\n return "json";\n }\n return "html";\n\n case "text/css":\n return "css";\n\n case "application/x-mpegURL":\n case "application/vnd.apple.mpegurl":\n return "hls";\n\n case "application/dash+xml":\n return "dash";\n\n default:\n return this.getScriptRewriteMode(mime, url, null);\n }\n }\n\n getScriptRewriteMode(mime, url, defaultType) {\n switch (mime) {\n case "text/javascript":\n case "application/javascript":\n case "application/x-javascript":\n if (this.parseJSONPCallback(url)) {\n return "jsonp";\n }\n return url.endsWith(".json") ? "json" : "js";\n\n case "application/json":\n return "json";\n\n default:\n return defaultType;\n }\n }\n\n async rewrite(response, request) {\n const rewriteMode = this.contentRewrite ? this.getRewriteMode(request, response, this.baseUrl) : null;\n\n const isAjax = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.isAjaxRequest)(request);\n\n const urlRewrite = this.urlRewrite && !isAjax;\n\n const headers = this.rewriteHeaders(response.headers, this.urlRewrite, !!rewriteMode, isAjax);\n\n const encoding = response.headers.get("content-encoding");\n const te = response.headers.get("transfer-encoding");\n\n response.headers = headers;\n\n // attempt to decode only if set\n // eg. data may already be decoded for many stores\n if (this.decode && (encoding || te)) {\n response = await (0,_decoder_js__WEBPACK_IMPORTED_MODULE_2__.decodeResponse)(response, encoding, te, rewriteMode === null);\n }\n\n const opts = {\n response,\n prefix: this.prefix,\n baseUrl: this.baseUrl,\n };\n\n let rwFunc = null;\n\n switch (rewriteMode) {\n case "html":\n if (urlRewrite) {\n return await this.rewriteHtml(response);\n }\n break;\n\n case "css":\n if (this.urlRewrite) {\n rwFunc = this.rewriteCSS;\n }\n break;\n\n case "js":\n rwFunc = this.rewriteJS;\n if (request.mod === "esm_") {\n opts.isModule = true;\n }\n break;\n\n case "json":\n rwFunc = this.rewriteJSON;\n break;\n\n case "js-worker":\n rwFunc = this.workerInsertFunc;\n break;\n\n case "jsonp":\n rwFunc = this.rewriteJSONP;\n break;\n\n case "hls":\n rwFunc = _rewriteVideo_js__WEBPACK_IMPORTED_MODULE_4__.rewriteHLS;\n break;\n\n case "dash":\n rwFunc = _rewriteVideo_js__WEBPACK_IMPORTED_MODULE_4__.rewriteDASH;\n break;\n }\n\n if (urlRewrite) {\n opts.rewriteUrl = url => this.rewriteUrl(url);\n }\n\n if (rwFunc) {\n let text = await response.getText(this.isCharsetUTF8);\n text = rwFunc.call(this, text, opts);\n response.setText(text, this.isCharsetUTF8);\n }\n\n return response;\n }\n\n updateBaseUrl(url) {\n // set internal base to full url\n this.baseUrl = new URL(url, this.baseUrl).href;\n\n // not an absolute url, ensure it has slash\n if (url && this.baseUrl != url) {\n try {\n url = new URL(url).href;\n } catch (e) {\n if (url.startsWith("//")) {\n url = new URL("https:" + url).href;\n url = url.slice("https:".length);\n }\n }\n }\n\n // return rewritten base url, but keeping scheme-relativeness\n return this.rewriteUrl(url);\n }\n\n isRewritableUrl(url) {\n const NO_REWRITE_URI_PREFIX = ["#", "javascript:", "data:", "mailto:", "about:", "file:", "blob:", "{"];\n\n for (let prefix of NO_REWRITE_URI_PREFIX) {\n if (url.startsWith(prefix)) {\n return false;\n }\n }\n\n return true;\n }\n\n rewriteUrl(url, forceAbs = false) {\n if (!this.urlRewrite) {\n return url;\n }\n\n var origUrl = url;\n\n url = url.trim();\n\n if (!url || !this.isRewritableUrl(url) || url.startsWith(this.prefix) || url.startsWith(this.relPrefix)) {\n return origUrl;\n }\n\n if (url.startsWith("http:") || url.startsWith("https:") || url.startsWith("https\\\\3a/")) {\n return this.prefix + url;\n }\n\n if (url.startsWith("//") || url.startsWith("\\\\/\\\\/")) {\n return this.schemeRelPrefix + url;\n }\n\n if (url.startsWith("/")) {\n url = new URL(url, this.baseUrl).href;\n return this.relPrefix + url;\n } else if (forceAbs || url.indexOf("../") >= 0) {\n url = new URL(url, this.baseUrl).href;\n return this.prefix + url;\n } else {\n return origUrl;\n }\n }\n\n // HTML\n rewriteHtml(response) {\n const htmlRW = new _html_js__WEBPACK_IMPORTED_MODULE_8__.HTMLRewriter(this, this.isCharsetUTF8);\n return htmlRW.rewrite(response);\n }\n\n // CSS\n rewriteCSS(text) {\n const rewriter = this;\n\n function cssStyleReplacer(match, n1, n2, n3) {\n n2 = n2.trim();\n return n1 + rewriter.rewriteUrl(n2) + n3;\n }\n\n return text\n .replace(STYLE_REGEX, cssStyleReplacer)\n .replace(IMPORT_REGEX, cssStyleReplacer)\n .replace(NO_WOMBAT_REGEX, "");\n }\n\n // JS\n rewriteJS(text, opts) {\n const noUrlProxyRewrite = opts && !opts.rewriteUrl && opts.isModule === undefined;\n const dsRules = noUrlProxyRewrite ? baseRules : this.dsRules;\n const dsRewriter = dsRules.getRewriter(this.baseUrl);\n\n\n // optimize: if default rewriter and not rewriting urls, skip\n if (dsRewriter === dsRules.defaultRewriter && noUrlProxyRewrite) {\n return text;\n }\n\n return dsRewriter.rewrite(text, opts);\n }\n\n // JSON\n rewriteJSON(text, opts) {\n text = this.rewriteJSONP(text);\n\n const dsRewriter = baseRules.getRewriter(this.baseUrl);\n\n if (dsRewriter !== baseRules.defaultRewriter) {\n return dsRewriter.rewrite(text, opts);\n }\n\n return text;\n }\n\n parseJSONPCallback(url) {\n const callback = url.match(JSONP_CALLBACK_REGEX);\n if (!callback || callback[1] === "?") {\n this._jsonpCallback = false;\n return false;\n }\n\n this._jsonpCallback = callback[1];\n return true;\n }\n\n // JSONP\n rewriteJSONP(text) {\n const jsonM = text.match(JSONP_REGEX);\n if (!jsonM) {\n return text;\n }\n\n // if null, hasn\'t been parsed yet\n if (this._jsonpCallback === null) {\n this.parseJSONPCallback(this.baseUrl);\n }\n\n if (this._jsonpCallback === false) {\n return text;\n }\n\n return this._jsonpCallback + text.slice(text.indexOf(jsonM[1]) + jsonM[1].length);\n }\n\n //Headers\n rewriteHeaders(headers, urlRewrite, contentRewrite, isAjax) {\n const headerRules = {\n "access-control-allow-origin": "prefix-if-url-rewrite",\n "access-control-allow-credentials": "prefix-if-url-rewrite",\n "access-control-expose-headers": "prefix-if-url-rewrite",\n "access-control-max-age": "prefix-if-url-rewrite",\n "access-control-allow-methods": "prefix-if-url-rewrite",\n "access-control-allow-headers": "prefix-if-url-rewrite",\n\n "accept-patch": "keep",\n "accept-ranges": "keep",\n\n "age": "prefix",\n\n "allow": "keep",\n\n "alt-svc": "prefix",\n "cache-control": "prefix",\n\n "connection": "prefix",\n\n "content-base": "url-rewrite",\n "content-disposition": "keep",\n "content-encoding": "prefix-if-content-rewrite",\n "content-language": "keep",\n "content-length": "content-length",\n "content-location": "url-rewrite",\n "content-md5": "prefix",\n "content-range": "keep",\n "content-security-policy": "prefix",\n "content-security-policy-report-only": "prefix",\n "content-type": "keep",\n\n "date": "keep",\n\n "etag": "prefix",\n "expires": "prefix",\n\n "last-modified": "prefix",\n "link": "link",\n "location": "url-rewrite",\n\n "p3p": "prefix",\n "pragma": "prefix",\n\n "proxy-authenticate": "keep",\n\n "public-key-pins": "prefix",\n "retry-after": "prefix",\n "server": "prefix",\n\n "set-cookie": "cookie",\n\n "status": "prefix",\n\n "strict-transport-security": "prefix",\n\n "trailer": "prefix",\n "transfer-encoding": "transfer-encoding",\n "tk": "prefix",\n\n "upgrade": "prefix",\n "upgrade-insecure-requests": "prefix",\n\n "vary": "prefix",\n\n "via": "prefix",\n\n "warning": "prefix",\n\n "www-authenticate": "keep",\n\n "x-frame-options": "prefix",\n "x-xss-protection": "prefix",\n };\n\n const headerPrefix = "X-Archive-Orig-";\n\n let new_headers = new Headers();\n\n for (let header of headers.entries()) {\n const rule = headerRules[header[0]];\n switch (rule) {\n case "keep":\n new_headers.append(header[0], header[1]);\n break;\n\n case "url-rewrite":\n if (urlRewrite) {\n\n // if location and redirect just to change scheme of the responseUrl\n if (header[0] === "location" && this.url !== this.responseUrl) {\n const otherScheme = (this.scheme === "http:" ? "https:" : "http:");\n const responseUrlOtherScheme = otherScheme + this.responseUrl.slice(this.scheme.length);\n if (header[1] === responseUrlOtherScheme) {\n header[1] = otherScheme + this.url.slice(this.url.indexOf("//"));\n }\n }\n\n new_headers.append(header[0], this.rewriteUrl(header[1]));\n } else {\n new_headers.append(header[0], header[1]);\n }\n break;\n\n case "prefix-if-content-rewrite":\n if (contentRewrite) {\n new_headers.append(headerPrefix + header[0], header[1]);\n } else {\n new_headers.append(header[0], header[1]);\n }\n break;\n\n case "prefix-if-url-rewrite":\n if (urlRewrite) {\n new_headers.append(headerPrefix + header[0], header[1]);\n } else {\n new_headers.append(header[0], header[1]);\n }\n break;\n\n case "content-length":\n if (header[1] == "0") {\n new_headers.append(header[0], header[1]);\n continue;\n }\n\n if (contentRewrite) {\n try {\n if (parseInt(header[1]) >= 0) {\n new_headers.append(header[0], header[1]);\n continue;\n }\n } catch (e) { \n // ignore if content-length is not parsable as number\n }\n }\n\n new_headers.append(header[0], header[1]);\n break;\n\n case "transfer-encoding":\n //todo: mark as needing decoding?\n new_headers.append(headerPrefix + header[0], header[1]);\n break;\n\n case "prefix":\n new_headers.append(headerPrefix + header[0], header[1]);\n break;\n\n case "cookie":\n //todo\n new_headers.append(header[0], header[1]);\n break;\n\n case "link":\n if (urlRewrite && !isAjax) {\n new_headers.append(header[0], this.rewriteLinkHeader(header[1]));\n } else {\n new_headers.append(header[0], header[1]);\n }\n break;\n\n default:\n new_headers.append(header[0], header[1]);\n }\n }\n\n return new_headers;\n }\n\n rewriteLinkHeader(value) {\n try {\n const parsed = http_link_header__WEBPACK_IMPORTED_MODULE_0__.parse(value);\n\n for (const entry of parsed.refs) {\n if (entry.uri) {\n entry.uri = this.rewriteUrl(entry.uri);\n }\n }\n\n return parsed.toString();\n } catch (e) {\n console.warn("Error parsing link header: " + value);\n return value;\n }\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/rewrite/index.js?')},"../wabac.js/src/rewrite/jsrewriter.js":
/*!*********************************************!*\
!*** ../wabac.js/src/rewrite/jsrewriter.js ***!
\*********************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "JSRewriter": () => (/* binding */ JSRewriter)\n/* harmony export */ });\n/* harmony import */ var _rxrewriter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rxrewriter.js */ "../wabac.js/src/rewrite/rxrewriter.js");\n\n\nconst IMPORT_RX = /^\\s*?import\\s*?[{"\'*]/;\nconst EXPORT_RX = /^\\s*?export\\s*?({([\\s\\w,$\\n]+?)}[\\s;]*|default|class)\\s+/m;\n\nconst IMPORT_MATCH_RX = /^\\s*?import(?:[\'"\\s]*(?:[\\w*${}\\s,]+from\\s*)?[\'"\\s]?[\'"\\s])(?:.*?)[\'"\\s]/;\n\nconst IMPORT_HTTP_RX = /(import(?:[\'"\\s]*(?:[\\w*${}\\s,]+from\\s*)?[\'"\\s]?[\'"\\s]))((?:https?|[./]).*?)([\'"\\s])/;\n\n\nconst GLOBAL_OVERRIDES = [\n "window",\n "globalThis",\n "self",\n "document",\n "location",\n "top",\n "parent",\n "frames",\n "opener"\n];\n\nconst GLOBALS_CONCAT_STR = GLOBAL_OVERRIDES.map((x) => `(?:^|[^$.])\\\\b${x}\\\\b(?:$|[^$])`).join("|");\n\nconst GLOBALS_RX = new RegExp(`(${GLOBALS_CONCAT_STR})`);\n\n// ===========================================================================\nconst createJSRules = () => {\n\n const thisRw = "_____WB$wombat$check$this$function_____(this)";\n\n const checkLoc = "((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).href = ";\n\n const evalStr = "WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),";\n\n function addPrefix(prefix) {\n return x => prefix + x;\n }\n\n function replacePrefixFrom(prefix, match) {\n return (x) => {\n const start = x.indexOf(match);\n if (start === 0) {\n return prefix;\n } else {\n return x.slice(0, start) + prefix;\n }\n };\n }\n\n function addSuffix(suffix) {\n return (x, _opts, offset, string) => {\n if (offset > 0) {\n const prev = string[offset - 1];\n if (prev === "." || prev === "$") {\n return x;\n }\n }\n return x + suffix;\n };\n }\n\n function replaceThis() {\n return x => x.replace("this", thisRw);\n }\n\n function replace(src, target) {\n return x => x.replace(src, target);\n }\n\n function replaceThisProp() {\n return (x, _opts, offset, string) => {\n const prev = (offset > 0 ? string[offset - 1] : "");\n if (prev === "\\n") {\n return x.replace("this", ";" + thisRw);\n } else if (prev !== "." && prev !== "$") {\n return x.replace("this", thisRw);\n } else {\n return x;\n }\n };\n }\n\n function replaceImport(src, target) {\n return (x, opts) => {\n let res = x.replace(src, target);\n // if not module, add empty string, otherwise, import.meta.url\n res += (opts.isModule ? "import.meta.url, " : "null, ");\n return res;\n };\n }\n\n return [\n // rewriting \'eval(...)\' - invocation\n [/(?:^|\\s)\\beval\\s*\\(/, replacePrefixFrom(evalStr, "eval")],\n\n // rewriting \'x = eval\' - no invocation\n [/[=]\\s*\\beval\\b(?![(:.$])/, replace("eval", "self.eval")],\n\n // rewriting .postMessage -> __WB_pmw(self).postMessage\n [/\\.postMessage\\b\\(/, addPrefix(".__WB_pmw(self)")],\n\n // rewriting \'location = \' to custom expression \'(...).href =\' assignment\n [/[^$.]?\\s?\\blocation\\b\\s*[=]\\s*(?![\\s=])/, addSuffix(checkLoc)],\n\n // rewriting \'return this\'\n [/\\breturn\\s+this\\b\\s*(?![\\s\\w.$])/, replaceThis()],\n\n // rewriting \'this.\' special properties access on new line, with ; prepended\n // if prev char is \'\\n\', or if prev is not \'.\' or \'$\', no semi\n [new RegExp(`[^$.]\\\\s?\\\\bthis\\\\b(?=(?:\\\\.(?:${GLOBAL_OVERRIDES.join("|")})\\\\b))`), replaceThisProp()],\n\n // rewrite \'= this\' or \', this\'\n [/[=,]\\s*\\bthis\\b\\s*(?![\\s\\w:.$])/, replaceThis()],\n\n // rewrite \'})(this)\'\n [/\\}(?:\\s*\\))?\\s*\\(this\\)/, replaceThis()],\n\n // rewrite this in && or || expr?\n [/[^|&][|&]{2}\\s*this\\b\\s*(?![|\\s&.$](?:[^|&]|$))/, replaceThis()],\n\n // ignore \'async import\', custom function\n [/async\\s+import\\s*\\(/, x => x],\n\n // esm dynamic import, if found, mark as module\n [/[^$.]\\bimport\\s*\\(/, replaceImport("import", "____wb_rewrite_import__")]\n ];\n};\n\n// ===========================================================================\nconst DEFAULT_RULES = createJSRules();\n\n\n// ===========================================================================\nclass JSRewriter extends _rxrewriter_js__WEBPACK_IMPORTED_MODULE_0__.RxRewriter {\n constructor(extraRules) {\n super();\n this.extraRules = extraRules;\n\n this.firstBuff = this.initLocalDecl(GLOBAL_OVERRIDES);\n this.lastBuff = "\\n\\n}";\n }\n\n initLocalDecl(localDecls) {\n const assignFunc = "_____WB$wombat$assign$function_____";\n \n let buffer = `\\\nvar ${assignFunc} = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n{\n`;\n\n for (let decl of localDecls) {\n buffer += `let ${decl} = ${assignFunc}("${decl}");\\n`;\n }\n buffer += "let arguments;\\n";\n\n return buffer + "\\n";\n }\n\n getModuleDecl(localDecls, prefix) {\n return `import { ${localDecls.join(", ")} } from "${prefix}__wb_module_decl.js";\\n`;\n }\n\n detectIsModule(text) {\n if (text.indexOf("import") >= 0 && text.match(IMPORT_RX)) {\n return true;\n }\n\n if (text.indexOf("export") >= 0 && text.match(EXPORT_RX)) {\n return true;\n }\n\n return false;\n }\n\n rewrite(text, opts) {\n opts = opts || {};\n if (opts.isModule === undefined || opts.isModule === null) {\n opts.isModule = this.detectIsModule(text, opts);\n }\n\n let rules = DEFAULT_RULES;\n\n if (opts.isModule) {\n rules = [...rules, this.getESMImportRule()];\n }\n\n if (this.extraRules && this.extraRules.length) {\n this.rules = [...rules, ...this.extraRules];\n } else {\n this.rules = rules;\n }\n\n this.compileRules();\n\n let newText = super.rewrite(text, opts);\n\n if (opts.isModule) {\n return this.getModuleDecl(GLOBAL_OVERRIDES, opts.prefix) + newText;\n }\n\n const wrapGlobals = GLOBALS_RX.exec(text);\n\n if (wrapGlobals) {\n newText = this.firstBuff + newText + this.lastBuff;\n }\n\n if (opts && opts.inline) {\n newText = newText.replace(/\\n/g, " ") ;\n }\n\n return newText;\n }\n\n getESMImportRule() {\n // mark as module side-effect + rewrite if http[s] url\n function rewriteImport() {\n return (x, opts) => {\n const prefix = opts.prefix.replace("mp_/", "esm_/");\n\n return x.replace(IMPORT_HTTP_RX, (_, g1, g2, g3) => {\n try {\n g2 = new URL(g2, opts.baseUrl).href;\n g2 = prefix + g2;\n } catch (e) {\n // ignore, keep same url\n }\n return g1 + g2 + g3;\n });\n };\n }\n\n // match and rewrite import statements\n return [IMPORT_MATCH_RX, rewriteImport()];\n }\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/rewrite/jsrewriter.js?')},"../wabac.js/src/rewrite/rewriteVideo.js":
/*!***********************************************!*\
!*** ../wabac.js/src/rewrite/rewriteVideo.js ***!
\***********************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DEFAULT_MAX_BAND": () => (/* binding */ DEFAULT_MAX_BAND),\n/* harmony export */ "dashOutputOpts": () => (/* binding */ dashOutputOpts),\n/* harmony export */ "rewriteDASH": () => (/* binding */ rewriteDASH),\n/* harmony export */ "rewriteHLS": () => (/* binding */ rewriteHLS)\n/* harmony export */ });\n/* harmony import */ var fast_xml_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fast-xml-parser */ "../wabac.js/node_modules/fast-xml-parser/src/parser.js");\n\n\n// orig pywb defaults\nconst OLD_DEFAULT_MAX_BAND = 2000000;\nconst OLD_DEFAULT_MAX_RES = 1280 * 720;\n\n// lower defaults\nconst DEFAULT_MAX_BAND = 1000000;\nconst DEFAULT_MAX_RES = 860 * 480;\n\n\n// ===========================================================================\nfunction getMaxResAndBand(opts = {}) {\n // read opts from warc, if any\n let maxRes, maxBand;\n\n const extraOpts = (opts && opts.response && opts.response.extraOpts);\n\n if (extraOpts) {\n maxRes = extraOpts.adaptive_max_resolution || extraOpts.maxRes;\n maxBand = extraOpts.adaptive_max_bandwidth || extraOpts.maxBand;\n if (maxRes && maxBand) {\n return {maxRes, maxBand};\n }\n }\n\n const isReplay = opts && opts.response && !opts.response.isLive;\n let res;\n \n // if not replay, or unknown, use new lower setting\n if (!isReplay) {\n res = {maxRes: DEFAULT_MAX_RES, maxBand: DEFAULT_MAX_BAND};\n } else {\n // use existing pywb defaults\n res = {maxRes: OLD_DEFAULT_MAX_RES, maxBand: OLD_DEFAULT_MAX_BAND};\n }\n\n if (opts && opts.save) {\n opts.save.maxRes = res.maxRes;\n opts.save.maxBand = res.maxBand;\n }\n\n return res;\n}\n\n\n// ===========================================================================\n//HLS\nfunction rewriteHLS(text, opts) {\n const EXT_INF = /#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\\d]+)/;\n const EXT_RESOLUTION = /RESOLUTION=([\\d]+)x([\\d]+)/;\n\n const { maxRes, maxBand} = getMaxResAndBand(opts);\n\n let indexes = [];\n let count = 0;\n let bestIndex = null;\n\n let bestBand = 0;\n let bestRes = 0;\n\n let lines = text.trimEnd().split("\\n");\n\n for (const line of lines) {\n const m = line.match(EXT_INF);\n if (!m) {\n // if has rewriteUrl (not-ajax), then rewrite HLS urls\n if (opts && opts.rewriteUrl && !line.startsWith("#")) {\n lines[count] = opts.rewriteUrl(line);\n }\n count += 1;\n continue;\n }\n\n indexes.push(count);\n\n const currBand = Number(m[1]);\n\n const m2 = line.match(EXT_RESOLUTION);\n const currRes = m2 ? Number(m2[1]) * Number(m2[2]) : 0;\n\n if (currRes && maxRes) {\n if (currRes <= maxRes && currRes > bestRes) {\n bestRes = currRes;\n bestBand = currBand;\n bestIndex = count;\n }\n } else if (currBand <= maxBand && currBand > bestBand) {\n bestRes = currRes;\n bestBand = currBand;\n bestIndex = count;\n }\n\n count += 1;\n }\n\n indexes.reverse();\n\n for (const inx of indexes) {\n if (inx !== bestIndex) {\n lines.splice(inx, 2);\n }\n }\n\n return lines.join("\\n");\n}\n\n// ===========================================================================\n// DASH\nconst dashOutputOpts = {ignoreAttributes: false, ignoreNameSpace: false, format: false, supressEmptyNode: true};\n\n\nfunction rewriteDASH(text, opts, bestIds) {\n try {\n return _rewriteDASH(text, opts, bestIds);\n } catch (e) {\n console.log(e);\n return text;\n }\n}\n\n\nfunction _rewriteDASH(text, opts, bestIds) {\n const options = dashOutputOpts;\n const root = fast_xml_parser__WEBPACK_IMPORTED_MODULE_0__.parse(text, options);\n\n const { maxRes, maxBand} = getMaxResAndBand(opts);\n\n let best = null;\n let bestRes = 0;\n let bestBand = 0;\n\n let adaptSets = null;\n\n if (!Array.isArray(root.MPD.Period.AdaptationSet)) {\n adaptSets = [root.MPD.Period.AdaptationSet];\n } else {\n adaptSets = root.MPD.Period.AdaptationSet;\n }\n\n for (const adaptset of adaptSets) {\n best = null;\n bestRes = 0;\n bestBand = 0;\n\n let reps = null;\n\n if (!Array.isArray(adaptset.Representation)) {\n reps = [adaptset.Representation];\n } else {\n reps = adaptset.Representation;\n }\n\n for (const repres of reps) {\n const currRes = Number(repres["@_width"] || "0") * Number(repres["@_height"] || "0");\n const currBand = Number(repres["@_bandwidth"] || "0");\n\n if (currRes && maxRes) {\n if (currRes <= maxRes && currRes > bestRes) {\n bestRes = currRes;\n bestBand = currBand;\n best = repres;\n }\n } else if (currBand <= maxBand && currBand > bestBand) {\n bestRes = currRes;\n bestBand = currBand;\n best = repres;\n }\n }\n\n if (best && Array.isArray(bestIds)) {\n bestIds.push(best["@_id"]);\n }\n\n if (best) {\n adaptset.Representation = [best];\n }\n }\n\n const toXML = new fast_xml_parser__WEBPACK_IMPORTED_MODULE_0__.j2xParser(options);\n const xml = toXML.parse(root);\n\n return "<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\n" + xml.trim();\n}\n\n\n// ===========================================================================\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/rewrite/rewriteVideo.js?')},"../wabac.js/src/rewrite/rxrewriter.js":
/*!*********************************************!*\
!*** ../wabac.js/src/rewrite/rxrewriter.js ***!
\*********************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "RxRewriter": () => (/* binding */ RxRewriter)\n/* harmony export */ });\n\n// ===========================================================================\nclass RxRewriter\n{\n constructor(rules) {\n this.rules = rules || null;\n if (this.rules) {\n this.compileRules();\n } else {\n this.rx = null;\n }\n }\n\n compileRules() {\n let rxBuff = "";\n\n for (let rule of this.rules) {\n if (rxBuff) {\n rxBuff += "|";\n }\n rxBuff += `(${rule[0].source})`;\n }\n\n const rxString = `(?:${rxBuff})`;\n\n this.rx = new RegExp(rxString, "gm");\n }\n\n doReplace(params, opts) {\n const offset = params[params.length - 2];\n const string = params[params.length - 1];\n\n for (let i = 0; i < this.rules.length; i++) {\n const curr = params[i];\n if (!curr) {\n continue;\n }\n\n const result = this.rules[i][1].call(this, curr, opts, offset, string);\n if (result) {\n return result;\n }\n }\n }\n\n rewrite(text, opts) {\n if (!this.rx) {\n return text;\n }\n\n return text.replace(this.rx, (match, ...params) => this.doReplace(params, opts));\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/rewrite/rxrewriter.js?')},"../wabac.js/src/statstracker.js":
/*!***************************************!*\
!*** ../wabac.js/src/statstracker.js ***!
\***************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "StatsTracker": () => (/* binding */ StatsTracker)\n/* harmony export */ });\nclass StatsTracker {\n constructor() {\n this.timeRanges = {};\n }\n\n updateStats(date, status, request, event) {\n const id = event.clientId || event.resultingClientId;\n \n if (!id || !date) {\n return;\n }\n\n if (!request.url || request.url.indexOf("mp_/") < 0) {\n return;\n }\n\n if (request.destination === "document" && (status > 300 && status < 400)) {\n return;\n }\n\n let timeRange = null;\n\n if (this.timeRanges[id] === undefined) {\n timeRange = { "count": 0, "children": [] };\n this.timeRanges[id] = timeRange;\n if (request.referrer.indexOf("mp_/") > 0) {\n self.clients.matchAll({ "type": "window" }).then(clients => this.updateStatsParent(id, request.referrer, clients));\n }\n } else {\n timeRange = this.timeRanges[id];\n }\n\n const timestamp = date.getTime();\n\n if (!timeRange.min || (timestamp < timeRange.min)) {\n timeRange.min = timestamp;\n }\n\n if (!timeRange.max || (timestamp > timeRange.max)) {\n timeRange.max = timestamp;\n }\n\n timeRange.count++;\n }\n\n updateStatsParent(id, referrer, clients) {\n for (let client of clients) {\n if (client.url === referrer) {\n //self.timeRanges[id].parent = client.id;\n if (!this.timeRanges[client.id]) {\n this.timeRanges[client.id] = { "count": 0, "children": { id: 1 } };\n } else {\n this.timeRanges[client.id].children[id] = 1;\n }\n break;\n }\n }\n }\n\n async getStats(event) {\n //const client = await self.clients.get(fe.clientId);\n\n //const timeRange = self.timeRanges[client.url] || {};\n\n const reqUrl = new URL(event.request.url);\n\n const params = new URLSearchParams(reqUrl.search);\n\n let id = 0;\n\n const url = params.get("url");\n\n const clients = await self.clients.matchAll({ "type": "window" });\n\n const validIds = {};\n\n for (let client of clients) {\n if (client.url === url) {\n id = client.id;\n }\n validIds[client.id] = 1;\n }\n\n const srcRange = this.timeRanges[id] || {};\n\n const timeRange = {\n "count": srcRange.count || 0,\n "min": srcRange.min,\n "max": srcRange.max\n };\n\n const children = (this.timeRanges[id] && Object.keys(this.timeRanges[id].children)) || [];\n\n for (let child of children) {\n const childRange = this.timeRanges[child];\n\n if (!childRange) {\n continue;\n }\n\n\n if (!timeRange.min || (childRange.min < timeRange.min)) {\n timeRange.min = childRange.min;\n }\n\n if (!timeRange.max || (childRange.max > timeRange.max)) {\n timeRange.max = childRange.max;\n }\n\n timeRange.count += childRange.count;\n }\n\n // remove invalid timeranges\n for (let id of Object.keys(this.timeRanges)) {\n if (!validIds[id]) {\n delete this.timeRanges[id];\n }\n }\n\n return new Response(JSON.stringify(timeRange), { "headers": { "Content-Type": "application/json" } });\n }\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/statstracker.js?')},"../wabac.js/src/swmain.js":
/*!*********************************!*\
!*** ../wabac.js/src/swmain.js ***!
\*********************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SWCollections": () => (/* binding */ SWCollections),\n/* harmony export */ "SWReplay": () => (/* binding */ SWReplay)\n/* harmony export */ });\n/* harmony import */ var _collection_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./collection.js */ "../wabac.js/src/collection.js");\n/* harmony import */ var _loaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loaders.js */ "../wabac.js/src/loaders.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _statstracker_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./statstracker.js */ "../wabac.js/src/statstracker.js");\n/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./api.js */ "../wabac.js/src/api.js");\n/* harmony import */ var _dist_wombat_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dist/wombat.js */ "../wabac.js/dist/wombat.js");\n/* harmony import */ var _webrecorder_wombat_src_wombatWorkers_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @webrecorder/wombat/src/wombatWorkers.js */ "../wabac.js/node_modules/@webrecorder/wombat/src/wombatWorkers.js");\n/* harmony import */ var _request_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./request.js */ "../wabac.js/src/request.js");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst CACHE_PREFIX = "wabac-";\nconst IS_AJAX_HEADER = "x-wabac-is-ajax-req";\n\n\n// ===========================================================================\nclass SWCollections extends _loaders_js__WEBPACK_IMPORTED_MODULE_1__.WorkerLoader\n{\n constructor(prefixes, root = null, defaultConfig = {}) {\n super(self);\n this.prefixes = prefixes;\n this.colls = {};\n this.inited = null;\n this.root = root;\n this.defaultConfig = defaultConfig;\n\n this._fileHandles = {};\n }\n\n _createCollection(opts) {\n return new _collection_js__WEBPACK_IMPORTED_MODULE_0__.Collection(opts, this.prefixes, this.defaultConfig);\n }\n\n loadAll(dbColl) {\n this.colls = {};\n this.inited = super.loadAll(dbColl);\n return this.inited;\n }\n\n async getColl(name) {\n if (!this.colls[name]) {\n this.colls[name] = await this.loadColl(name);\n }\n return this.colls[name];\n }\n\n async reload(name) {\n delete this.colls[name];\n\n await this.getColl(name);\n }\n\n async addCollection(data, progressUpdate) {\n const opts = await super.addCollection(data, progressUpdate);\n\n if (opts && opts.name) {\n this.colls[opts.name] = this._createCollection(opts);\n }\n\n return opts;\n }\n\n async deleteColl(name, keepFileHandle = false) {\n if (this.colls[name]) {\n if (this.colls[name].store && this.colls[name].store.delete) {\n await this.colls[name].store.delete();\n }\n\n if (keepFileHandle && this.colls[name].config && this.colls[name].config.extra &&\n this.colls[name].config.extra.fileHandle) {\n this._fileHandles[this.colls[name].config.sourceUrl] = this.colls[name].config.extra.fileHandle;\n }\n }\n\n if (!await super.deleteColl(name)) {\n return false;\n }\n delete this.colls[name];\n return true;\n }\n\n async initNewColl(metadata, extraConfig = {}, type = "archive") {\n const coll = await super.initNewColl(metadata, extraConfig, type);\n if (coll) {\n this.colls[coll.name] = coll;\n }\n return coll;\n }\n\n async updateAuth(name, headers) {\n if (this.colls[name] && this.colls[name].store.updateHeaders) {\n this.colls[name].store.updateHeaders(headers);\n }\n\n await super.updateAuth(name, headers);\n }\n\n async updateMetadata(name, newMetadata) {\n const metadata = await super.updateMetadata(name, newMetadata);\n if (this.colls[name] && metadata) {\n this.colls[name].config.metadata = metadata;\n this.colls[name].metadata = metadata;\n }\n return metadata;\n }\n\n async updateSize(name, fullSize, dedupSize, updateDecode) {\n const metadata = await super.updateSize(name, fullSize, dedupSize, updateDecode);\n if (this.colls[name] && metadata) {\n this.colls[name].config.metadata = metadata;\n this.colls[name].metadata = metadata;\n }\n if (updateDecode !== undefined && this.colls[name]) {\n this.colls[name].config.decode = updateDecode;\n }\n return metadata;\n }\n}\n\n\n// ===========================================================================\nclass SWReplay {\n constructor({staticData = null, ApiClass = _api_js__WEBPACK_IMPORTED_MODULE_4__.API, defaultConfig = {}, CollectionsClass = SWCollections} = {}) {\n this.prefix = self.registration ? self.registration.scope : "";\n\n this.replayPrefix = this.prefix;\n\n const sp = new URLSearchParams(self.location.search);\n\n let replayPrefixPath = "w";\n\n if (sp.has("replayPrefix")) {\n replayPrefixPath = sp.get("replayPrefix");\n }\n\n if (replayPrefixPath) {\n this.replayPrefix += replayPrefixPath + "/";\n }\n\n this.staticPrefix = this.prefix + "static/";\n this.distPrefix = this.prefix + "dist/";\n\n const prefixes = {\n static: this.staticPrefix,\n root: this.prefix,\n main: this.replayPrefix\n };\n\n this.staticData = staticData || new Map();\n this.staticData.set(this.staticPrefix + "wombat.js", {type: "application/javascript", content: _dist_wombat_js__WEBPACK_IMPORTED_MODULE_5__["default"]});\n this.staticData.set(this.staticPrefix + "wombatWorkers.js", {type: "application/javascript", content: _webrecorder_wombat_src_wombatWorkers_js__WEBPACK_IMPORTED_MODULE_6__["default"]});\n\n if (defaultConfig.injectScripts) {\n defaultConfig.injectScripts = defaultConfig.injectScripts.map(url => this.staticPrefix + "proxy/" + url);\n }\n\n this.collections = new CollectionsClass(prefixes, sp.get("root"), defaultConfig);\n this.collections.loadAll(sp.get("dbColl"));\n\n this.proxyOriginMode = !!sp.get("proxyOriginMode");\n\n this.api = new ApiClass(this.collections);\n this.apiPrefix = this.replayPrefix + "api/";\n\n this.allowRewrittenCache = sp.get("allowCache") ? true : false;\n\n this.stats = sp.get("stats") ? new _statstracker_js__WEBPACK_IMPORTED_MODULE_3__.StatsTracker() : null;\n\n self.addEventListener("install", () => {\n self.skipWaiting();\n });\n\n self.addEventListener("activate", (event) => {\n event.waitUntil(self.clients.claim());\n console.log("Activate!");\n });\n\n self.addEventListener("fetch", (event) => {\n event.respondWith(this.handleFetch(event));\n });\n\n self.addEventListener("message", (event) => {\n if (event.data.msg_type === "reload_all") {\n event.waitUntil(this.collections.loadAll());\n }\n });\n }\n\n handleFetch(event) {\n const url = event.request.url;\n\n if (this.proxyOriginMode) {\n return this.getResponseFor(event.request, event);\n }\n\n // if not on our domain, just pass through (loading handled in local worker)\n if (!url.startsWith(this.prefix)) {\n if (url === "chrome-extension://invalid/") {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.notFound)(event.request, "Invalid URL");\n }\n return this.defaultFetch(event.request);\n }\n\n // special handling when root collection set: pass through any root files, eg. /index.html\n if (this.collections.root && url.slice(this.prefix.length).indexOf("/") < 0) {\n return this.defaultFetch(event.request);\n }\n\n // JS rewrite on static/external files not from archive\n if (url.startsWith(this.staticPrefix + "proxy/")) {\n return this.staticPathProxy(url, event.request);\n }\n\n // handle replay / api\n if (url.startsWith(this.replayPrefix) && !url.startsWith(this.staticPrefix)) {\n return this.getResponseFor(event.request, event);\n }\n\n // current domain, but not replay, check if should cache ourselves or serve static data\n const parsedUrl = new URL(url);\n parsedUrl.search = "";\n parsedUrl.hash = "";\n const urlOnly = parsedUrl.href;\n\n for (const staticPath of this.staticData.keys()) {\n if (staticPath === urlOnly) {\n const { content, type} = this.staticData.get(staticPath);\n return new Response(content, {headers: {"Content-Type": type}});\n }\n }\n\n // only cache: urls in the root directory (no more slashes)\n if ((parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:") && (parsedUrl.pathname.indexOf("/", 1) < 0)) {\n return this.handleOffline(event.request);\n } else {\n return this.defaultFetch(event.request);\n }\n }\n\n staticPathProxy(url, request) {\n url = url.slice((this.staticPrefix + "proxy/").length);\n url = new URL(url, self.location.href).href;\n request = new Request(url);\n return this.defaultFetch(request);\n }\n\n defaultFetch(request) {\n const opts = {};\n if (request.cache === "only-if-cached" && request.mode !== "same-origin") {\n opts.cache = "default";\n }\n return self.fetch(request, opts);\n }\n\n async ensureCached(urls) {\n const cache = await caches.open("wabac-offline");\n\n for (let url of urls) {\n url = new URL(url, self.location.href).href;\n let response = await cache.match(url, {ignoreSearch: true});\n if (response) {\n continue;\n }\n\n //console.log(`Auto Cacheing: ${url}`);\n try {\n response = await this.defaultFetch(url);\n await cache.put(url, response);\n } catch(e) {\n console.warn(`Failed to Auto Cache: ${url}`, e);\n }\n }\n }\n\n async handleOffline(request) {\n let response = null;\n \n const cache = await caches.open("wabac-offline");\n\n try {\n response = await this.defaultFetch(request);\n\n } catch(e) {\n response = await cache.match(request, {ignoreSearch: true});\n if (!response) {\n response = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.notFound)(request, "Sorry, this url was not cached for offline use");\n }\n return response;\n }\n\n if (request.url.startsWith(this.prefix + "?")) {\n return response;\n }\n\n if (response.status === 200) {\n const cacheResponse = response.clone();\n await cache.put(request, cacheResponse);\n //console.log(`Cached: ${request.method} ${request.url}`);\n } else {\n console.warn(`Not Cacheing ${request.url} - Status ${response.status}`);\n }\n\n return response;\n }\n\n async getResponseFor(request, event) {\n // API\n if (!this.proxyOriginMode && request.url.startsWith(this.apiPrefix)) {\n if (this.stats && request.url.startsWith(this.apiPrefix + "stats.json")) {\n return await this.stats.getStats(event);\n }\n return await this.api.apiResponse(request.url.slice(this.apiPrefix.length), request, event);\n }\n\n await this.collections.inited;\n\n const isAjax = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.isAjaxRequest)(request);\n const range = request.headers.get("range");\n\n try {\n if (this.allowRewrittenCache && !range) {\n const response = await self.caches.match(request);\n if (response && !!response.headers.get(IS_AJAX_HEADER) === isAjax) {\n return response;\n }\n }\n } catch (e) {\n // ignore, not cached\n }\n\n let collId = this.collections.root;\n\n if (!collId) {\n collId = request.url.slice(this.replayPrefix.length).split("/", 1)[0];\n }\n\n const coll = await this.collections.getColl(collId);\n\n if (!coll || (!this.proxyOriginMode && !request.url.startsWith(coll.prefix))) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.notFound)(request);\n }\n\n const wbUrlStr = this.proxyOriginMode ? request.url : request.url.substring(coll.prefix.length);\n\n const opts = {\n isRoot: !!this.collections.root\n };\n\n if (this.proxyOriginMode) {\n opts.mod = "id_";\n opts.proxyOrigin = coll.config.extraConfig.proxyOrigin;\n opts.localOrigin = self.location.origin;\n }\n\n const archiveRequest = new _request_js__WEBPACK_IMPORTED_MODULE_7__.ArchiveRequest(wbUrlStr, request, opts);\n\n if (!archiveRequest.url) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.notFound)(request, `Replay URL ${wbUrlStr} not found`);\n }\n\n const response = await coll.handleRequest(archiveRequest, event);\n\n if (response) {\n if (this.stats) {\n this.stats.updateStats(response.date, response.status, request, event);\n }\n\n if (this.allowRewrittenCache && response.status === 200) {\n try {\n const cache = await self.caches.open(CACHE_PREFIX + coll.name);\n if (isAjax) {\n response.headers.set(IS_AJAX_HEADER, "true");\n }\n const cacheResp = response.clone();\n await cache.put(request, cacheResp);\n } catch (e) {\n console.warn(e);\n }\n }\n\n return response;\n }\n\n if (range) {\n console.log("Not Found Range!: " + range);\n }\n\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.notFound)(request);\n }\n}\n\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/swmain.js?')},"../wabac.js/src/utils.js":
/*!********************************!*\
!*** ../wabac.js/src/utils.js ***!
\********************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "AccessDeniedError": () => (/* binding */ AccessDeniedError),\n/* harmony export */ "AuthNeededError": () => (/* binding */ AuthNeededError),\n/* harmony export */ "Canceled": () => (/* binding */ Canceled),\n/* harmony export */ "MAX_FULL_DOWNLOAD_SIZE": () => (/* binding */ MAX_FULL_DOWNLOAD_SIZE),\n/* harmony export */ "MAX_STREAM_CHUNK_SIZE": () => (/* binding */ MAX_STREAM_CHUNK_SIZE),\n/* harmony export */ "PAGE_STATE_NEED_LOCAL_SYNC": () => (/* binding */ PAGE_STATE_NEED_LOCAL_SYNC),\n/* harmony export */ "PAGE_STATE_NEED_REMOTE_SYNC": () => (/* binding */ PAGE_STATE_NEED_REMOTE_SYNC),\n/* harmony export */ "PAGE_STATE_NOT_FINISHED": () => (/* binding */ PAGE_STATE_NOT_FINISHED),\n/* harmony export */ "PAGE_STATE_SYNCED": () => (/* binding */ PAGE_STATE_SYNCED),\n/* harmony export */ "REMOVE_EXPIRES": () => (/* binding */ REMOVE_EXPIRES),\n/* harmony export */ "REPLAY_TOP_FRAME_NAME": () => (/* binding */ REPLAY_TOP_FRAME_NAME),\n/* harmony export */ "RangeError": () => (/* binding */ RangeError),\n/* harmony export */ "base16": () => (/* binding */ base16),\n/* harmony export */ "containsAny": () => (/* binding */ containsAny),\n/* harmony export */ "decodeLatin1": () => (/* binding */ decodeLatin1),\n/* harmony export */ "digestMessage": () => (/* binding */ digestMessage),\n/* harmony export */ "encodeLatin1": () => (/* binding */ encodeLatin1),\n/* harmony export */ "getCollData": () => (/* binding */ getCollData),\n/* harmony export */ "getSecondsStr": () => (/* binding */ getSecondsStr),\n/* harmony export */ "getStatusText": () => (/* binding */ getStatusText),\n/* harmony export */ "getTS": () => (/* binding */ getTS),\n/* harmony export */ "getTSMillis": () => (/* binding */ getTSMillis),\n/* harmony export */ "handleAuthNeeded": () => (/* binding */ handleAuthNeeded),\n/* harmony export */ "isAjaxRequest": () => (/* binding */ isAjaxRequest),\n/* harmony export */ "isNullBodyStatus": () => (/* binding */ isNullBodyStatus),\n/* harmony export */ "makeHeaders": () => (/* binding */ makeHeaders),\n/* harmony export */ "notFound": () => (/* binding */ notFound),\n/* harmony export */ "parseSetCookie": () => (/* binding */ parseSetCookie),\n/* harmony export */ "randomId": () => (/* binding */ randomId),\n/* harmony export */ "sleep": () => (/* binding */ sleep),\n/* harmony export */ "startsWithAny": () => (/* binding */ startsWithAny),\n/* harmony export */ "tsToDate": () => (/* binding */ tsToDate),\n/* harmony export */ "tsToSec": () => (/* binding */ tsToSec)\n/* harmony export */ });\n/* harmony import */ var http_status_codes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! http-status-codes */ "../wabac.js/node_modules/http-status-codes/build/es/utils-functions.js");\n\n\n// Threshold size for switching to range requests\nconst MAX_FULL_DOWNLOAD_SIZE = 25000000;\n\nconst PAGE_STATE_NOT_FINISHED = 0x00;\nconst PAGE_STATE_NEED_REMOTE_SYNC = 0x10;\nconst PAGE_STATE_NEED_LOCAL_SYNC = 0x01;\nconst PAGE_STATE_SYNCED = 0x11;\n\nconst MAX_STREAM_CHUNK_SIZE = 65536 * 4;\n\nconst REPLAY_TOP_FRAME_NAME = "___wb_replay_top_frame";\n\nconst REMOVE_EXPIRES = /Expires=\\w{3},\\s\\d[^;,]+(?:;\\s*)?/gi;\n\nfunction startsWithAny(value, iter) {\n for (const str of iter) {\n if (value.startsWith(str)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction containsAny(value, iter) {\n for (const str of iter) {\n if (value.indexOf(str) >= 0) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getTS(iso) {\n return iso.replace(/[-:T]/g, "").slice(0, 14);\n}\n\nfunction getTSMillis(iso) {\n return iso.replace(/[-:.TZ]/g, "");\n}\n\nfunction tsToDate(ts) {\n if (!ts) {\n return new Date();\n }\n\n if (ts.length < 17) {\n ts += "00000101000000000".substr(ts.length);\n }\n\n const datestr = (ts.substring(0, 4) + "-" +\n ts.substring(4, 6) + "-" +\n ts.substring(6, 8) + "T" +\n ts.substring(8, 10) + ":" +\n ts.substring(10, 12) + ":" +\n ts.substring(12, 14) + "." + \n ts.substring(14) + "Z");\n\n return new Date(datestr);\n}\n\nfunction tsToSec(ts) {\n return tsToDate(ts).getTime() / 1000;\n}\n\nfunction getSecondsStr(date) {\n if (!date) {\n return "";\n }\n\n try {\n return "" + parseInt(date.getTime() / 1000);\n } catch (e) {\n return "";\n }\n}\n\nfunction base16(hashBuffer) {\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n return hashArray.map(b => b.toString(16).padStart(2, "0")).join("");\n}\n\nasync function digestMessage(message, hashtype, prefix = null) {\n const msgUint8 = typeof(message) === "string" ? new TextEncoder().encode(message) : message;\n const hashBuffer = await crypto.subtle.digest(hashtype, msgUint8);\n if (prefix === "") {\n return base16(hashBuffer);\n }\n return (prefix || hashtype) + ":" + base16(hashBuffer);\n\n}\n\nfunction decodeLatin1(buf) {\n let str = "";\n for (let i = 0; i < buf.length; i++) {\n str += String.fromCharCode(buf[i]);\n }\n return str;\n}\n\nfunction encodeLatin1(str) {\n const buf = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n buf[i] = str.charCodeAt(i) & 0xFF;\n }\n return buf;\n}\n\n\n//from http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript\nfunction randomId() {\n return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n}\n\nfunction makeHeaders(headers) {\n try {\n return new Headers(headers);\n } catch (e) {\n // try to sanitize the headers, if any errors\n for (let key of Object.keys(headers)) {\n const value = headers[key];\n const newValue = value.replace(/[\\r\\n]+/g, ", ");\n if (value != newValue) {\n headers[key] = newValue;\n }\n }\n return new Headers(headers);\n }\n}\n\nfunction parseSetCookie(setCookie, scheme) {\n setCookie = setCookie.replace(REMOVE_EXPIRES, "");\n const cookies = [];\n\n for (const cookie of setCookie.split(",")) {\n const cookieCore = cookie.split(";", 1)[0];\n // if has cookie flags\n if (cookieCore !== cookie) {\n const cookieRemainder = cookie.slice(cookieCore.length).toLowerCase();\n if (cookieRemainder.indexOf("httponly") > 0) {\n continue;\n }\n if (scheme === "http" && cookieRemainder.indexOf("secure") > 0) {\n continue;\n }\n }\n\n cookies.push(cookieCore);\n }\n\n return cookies.join(";");\n}\n\nconst NULL_STATUS = [101, 204, 205, 304];\n\nfunction isNullBodyStatus(status) {\n return NULL_STATUS.includes(status);\n}\n\nfunction getStatusText(status) {\n try {\n return (0,http_status_codes__WEBPACK_IMPORTED_MODULE_0__.getReasonPhrase)(status);\n } catch (e) {\n return "Unknown Status";\n }\n}\n\nfunction isAjaxRequest(request) {\n if (request.headers.get("X-Pywb-Requested-With") === "XMLHttpRequest") {\n return true;\n }\n\n if (request.mode === "cors") {\n // if \'mod\' is esm_, then likely a module import\n if (request.destination === "script" && request.mod === "esm_") {\n return false;\n }\n return true;\n }\n\n return false;\n}\n\nasync function handleAuthNeeded(e, config) {\n if (e instanceof AuthNeededError) {\n //const client = await self.clients.get(event.clientId || event.resultingClientId);\n const clients = await self.clients.matchAll({ "type": "window" });\n for (const client of clients) {\n const url = new URL(client.url);\n if (url.searchParams.get("source") === config.sourceUrl) {\n client.postMessage({\n source: config.sourceUrl,\n coll: config.dbname.slice(3),\n type: "authneeded",\n fileHandle: e.info && e.info.fileHandle,\n });\n }\n }\n return true;\n }\n\n return false;\n}\n\n\nfunction notFound(request, msg, status = 404) {\n let content;\n let contentType;\n\n if (!msg) {\n msg = "Sorry, this url was not found in the archive.";\n }\n\n if (request.destination === "script" || request.headers.get("x-pywb-requested-with")) {\n content = JSON.stringify(msg);\n contentType = "application/json";\n } else {\n content = msg;\n contentType = "text/html";\n }\n\n //console.log(`Not Found ${request.destination} - ${msg}`);\n\n const initOpt = {\n "status": status,\n "statusText": getStatusText(status),\n "headers": { "Content-Type": contentType }\n };\n\n return new Response(content, initOpt);\n}\n\n\nfunction getCollData(coll) {\n const metadata = coll.config.metadata ? coll.config.metadata : {};\n\n const res = {\n "title": metadata.title || "",\n "desc": metadata.desc || "",\n "size": metadata.size || 0,\n "filename": coll.config.sourceName,\n "loadUrl": coll.config.loadUrl,\n "sourceUrl": coll.config.sourceUrl,\n "id": coll.name,\n "ctime": coll.config.ctime,\n "mtime": metadata.mtime || coll.config.ctime,\n "onDemand": coll.config.onDemand,\n };\n\n if (metadata.ipfsPins) {\n res.ipfsPins = metadata.ipfsPins;\n }\n\n return res;\n}\n\n\n// ===========================================================================\nclass RangeError\n{\n constructor(info = {}) {\n this.info = info;\n }\n\n toString() {\n return JSON.stringify(this.info);\n }\n}\n\nclass AuthNeededError extends RangeError\n{\n}\n\nclass AccessDeniedError extends RangeError\n{\n}\n\nclass Canceled\n{\n}\n\nfunction sleep(millis) {\n return new Promise((resolve) => setTimeout(resolve, millis));\n}\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/utils.js?')},"../wabac.js/src/wacz/certutils.js":
/*!*****************************************!*\
!*** ../wabac.js/src/wacz/certutils.js ***!
\*****************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "verifyWACZSignature": () => (/* binding */ verifyWACZSignature)\n/* harmony export */ });\n/* harmony import */ var base64_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! base64-js */ "../wabac.js/node_modules/base64-js/index.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _peculiar_x509__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @peculiar/x509 */ "../wabac.js/node_modules/@peculiar/x509/build/x509.es.js");\n/* harmony import */ var _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @peculiar/asn1-schema */ "../wabac.js/node_modules/@peculiar/asn1-schema/build/es2015/index.js");\n/* harmony import */ var _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @peculiar/asn1-ecc */ "../wabac.js/node_modules/@peculiar/asn1-ecc/build/es2015/index.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n\n\n\n\n\n\n//import { ASN1 } from "asn1-parser";\n\n\n\nconst SPLIT_PEM = /-{5}(BEGIN|END) .*-{5}/gm;\n\nasync function verifyWACZSignature({hash, signature, publicKey, domain, domainCert, created, software} = {}) {\n let domainActual;\n const results = [];\n\n signature = (0,base64_js__WEBPACK_IMPORTED_MODULE_0__.toByteArray)(signature);\n\n if (domainCert && domain && !publicKey) {\n const certs = domainCert.split("\\n\\n");\n\n const certBuffer = (0,base64_js__WEBPACK_IMPORTED_MODULE_0__.toByteArray)(certs[0].replace(SPLIT_PEM, "").replace(/\\s/gm, ""));\n\n const fingerprint = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.base16)(await crypto.subtle.digest("SHA-256", certBuffer));\n results.push({id: "certFingerprint", expected: fingerprint, matched: null});\n\n const cert = new _peculiar_x509__WEBPACK_IMPORTED_MODULE_2__.X509Certificate(certBuffer);\n\n publicKey = await cert.publicKey.export();\n\n const publicKeyEncoded = (0,base64_js__WEBPACK_IMPORTED_MODULE_0__.fromByteArray)(new Uint8Array(cert.publicKey.rawData));\n results.push({id: "publicKey", expected: publicKeyEncoded, matched: null});\n\n if (cert.subject && cert.subject.startsWith("CN=")) {\n domainActual = cert.subject.split(3);\n }\n\n signature = parseASN1Signature(signature);\n \n } else {\n const ecdsaImportParams = {\n name: "ECDSA",\n namedCurve: "P-384"\n };\n\n results.push({id: "publicKey", expected: publicKey, matched: null});\n\n publicKey = await crypto.subtle.importKey("spki", (0,base64_js__WEBPACK_IMPORTED_MODULE_0__.toByteArray)(publicKey), ecdsaImportParams, true, ["verify"]);\n }\n\n const ecdsaSignParams = {\n name: "ECDSA",\n hash: "SHA-256"\n };\n\n const encoder = new TextEncoder();\n\n const sigValid = await crypto.subtle.verify(ecdsaSignParams, publicKey, signature, encoder.encode(hash));\n\n results.push({id: "signature", expected: true, matched: sigValid});\n\n if (created) {\n results.push({id: "created", expected: created, matched: null});\n }\n\n if (software) {\n results.push({id: "software", expected: software, matched: null});\n }\n\n if (domain) {\n results.push({id: "domain", expected: domain, matched: domainActual});\n }\n\n return results;\n}\n\nfunction parseASN1Signature(signature) {\n // extract r|s values from asn1\n try {\n const sig = _peculiar_asn1_schema__WEBPACK_IMPORTED_MODULE_3__.AsnParser.parse(signature, _peculiar_asn1_ecc__WEBPACK_IMPORTED_MODULE_4__.ECDSASigValue);\n\n const r = sig.r[0] === 0 ? sig.r.slice(1) : sig.r;\n const s = sig.s[0] === 0 ? sig.s.slice(1) : sig.s;\n signature = (0,warcio__WEBPACK_IMPORTED_MODULE_5__.concatChunks)([r, s], r.length + s.length);\n\n } catch (se) {\n console.log(se);\n }\n\n return signature;\n}\n\n\n// function parseSignature2(signature) {\n// // extract r|s values from asn1\n// try {\n// signature = decodeBase64(signature);\n \n// const result = ASN1.parse(signature);\n// \n// if (result && result.children && result.children.length == 2) {\n// const r = result.children[0].value;\n// const s = result.children[1].value;\n// \n// signature = concatChunks([r, s], r.length + s.length);\n// }\n// \n// } catch (se) {\n// console.log(se);\n// }\n// \n// return signature;\n// }\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/wacz/certutils.js?')},"../wabac.js/src/wacz/multiwacz.js":
/*!*****************************************!*\
!*** ../wabac.js/src/wacz/multiwacz.js ***!
\*****************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "MultiWACZ": () => (/* binding */ MultiWACZ)\n/* harmony export */ });\n/* harmony import */ var _remotearchivedb_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../remotearchivedb.js */ "../wabac.js/src/remotearchivedb.js");\n/* harmony import */ var _warcloader_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../warcloader.js */ "../wabac.js/src/warcloader.js");\n/* harmony import */ var _cdxloader_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../cdxloader.js */ "../wabac.js/src/cdxloader.js");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n/* harmony import */ var _liveproxy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../liveproxy.js */ "../wabac.js/src/liveproxy.js");\n/* harmony import */ var _waczfile_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./waczfile.js */ "../wabac.js/src/wacz/waczfile.js");\n/* harmony import */ var _waczimporter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./waczimporter.js */ "../wabac.js/src/wacz/waczimporter.js");\n/* harmony import */ var _blockloaders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../blockloaders.js */ "../wabac.js/src/blockloaders.js");\n\n\n\n\n\n\n\n\n\n\n\nconst MAX_BLOCKS = 3;\n\nconst IS_SURT = /^([\\w-]+,)*[\\w-]+(:\\d+)?,?\\)\\//;\n\n\n// ==========================================================================\nclass MultiWACZ extends _remotearchivedb_js__WEBPACK_IMPORTED_MODULE_0__.OnDemandPayloadArchiveDB// implements WACZLoadSource\n{\n constructor(config, sourceLoader, rootSourceType = "wacz") {\n super(config.dbname, config.noCache);\n\n this.config = config;\n\n this.waczfiles = {};\n this.waczNameForHash = {};\n this.ziploadercache = {};\n\n this.updating = null;\n\n this.rootSourceType = rootSourceType;\n\n this.sourceLoader = sourceLoader;\n\n this.externalSource = null;\n this.fuzzyUrlRules = [];\n\n this.textIndex = config && config.metadata && config.metadata.textIndex;\n\n if (config.extraConfig) {\n this.initConfig(config.extraConfig);\n }\n }\n\n initConfig(extraConfig) {\n if (extraConfig.decodeResponses !== undefined) {\n this.config.decode = extraConfig.decodeResponses;\n }\n if (extraConfig.hostProxy) {\n this.externalSource = new _liveproxy_js__WEBPACK_IMPORTED_MODULE_4__.LiveProxy(extraConfig, {hostProxyOnly: true});\n }\n if (extraConfig.fuzzy) {\n for (const [matchStr, replace] of extraConfig.fuzzy) {\n const match = new RegExp(matchStr);\n this.fuzzyUrlRules.push({match, replace});\n }\n }\n if (extraConfig.textIndex) {\n this.textIndex = extraConfig.textIndex;\n }\n }\n\n updateHeaders(headers) {\n if (this.sourceLoader) {\n this.sourceLoader.headers = headers;\n }\n }\n\n _initDB(db, oldV, newV, tx) {\n super._initDB(db, oldV, newV, tx);\n\n if (!oldV) {\n db.createObjectStore("ziplines", { keyPath: ["waczname", "prefix"] });\n\n db.createObjectStore("waczfiles", { keyPath: "waczname" } );\n\n db.createObjectStore("verification", { keyPath: "id" });\n }\n\n if (oldV === 2) {\n this.convertV2WACZDB(db, tx);\n }\n\n if (oldV === 3) {\n db.createObjectStore("verification", { keyPath: "id" });\n }\n }\n\n async convertV2WACZDB(db, tx) {\n try {\n\n const ziplines = await (tx.objectStore("ziplines")).getAll();\n const entries = await (tx.objectStore("zipEntries")).getAll();\n\n db.deleteObjectStore("ziplines");\n\n db.deleteObjectStore("zipEntries");\n\n db.createObjectStore("ziplines", { keyPath: ["waczname", "prefix"] });\n\n db.createObjectStore("waczfiles", { keyPath: "waczname"} );\n\n db.createObjectStore("verification", {keyPath: "id"});\n\n const waczname = this.config.loadUrl;\n\n for (const line of ziplines) {\n line.waczname = waczname;\n tx.objectStore("ziplines").put(line);\n }\n\n const indexType = ziplines.length > 0 ? _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_IDX : _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_CDX;\n const hash = await this.computeHash(waczname);\n const filedata = new _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.WACZFile({waczname, hash, url: waczname, entries, indexType});\n\n tx.objectStore("waczfiles").put(filedata.serialize());\n\n await tx.done;\n } catch (e) {\n console.warn(e);\n }\n }\n\n addWACZFile(file) {\n this.waczfiles[file.waczname] = new _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.WACZFile(file);\n this.waczNameForHash[file.hash] = file.waczname;\n return this.waczfiles[file.waczname];\n }\n\n async init() {\n await super.init();\n\n const fileDatas = await this.db.getAll("waczfiles") || [];\n\n for (const file of fileDatas) {\n this.addWACZFile({...file, parent: this});\n }\n\n for (const [key, value] of Object.entries(this.waczfiles)) {\n value.path = value.path || key;\n\n // nested wacz will contain \'#!/\'\n const inx = value.path.lastIndexOf("#!/");\n if (inx > 0) {\n const parentName = value.path.slice(0, inx);\n const parent = this.waczfiles[parentName];\n value.parent = parent;\n } else if (this.rootSourceType !== "json") {\n value.loader = this.sourceLoader;\n }\n }\n\n await this.checkUpdates();\n }\n\n async close() {\n super.close();\n caches.delete("cache:" + this.name.slice("db:".length));\n }\n\n async clearZipData() {\n const stores = ["waczfiles", "ziplines"];\n\n for (const store of stores) {\n await this.db.clear(store);\n }\n }\n\n async addVerifyData(prefix = "", id, expected, actual, log = false) {\n let matched = null;\n\n if (prefix) {\n id = prefix + id;\n }\n\n if (actual) {\n matched = expected === actual;\n if (log) {\n console.log(`verify ${id}: ${matched}`);\n }\n }\n await this.db.put("verification", {id, expected, matched});\n }\n\n async addVerifyDataList(prefix, datalist) {\n const tx = this.db.transaction("verification", "readwrite");\n\n for (const data of datalist) {\n if (prefix) {\n data.id = prefix + data.id;\n }\n tx.store.put(data);\n }\n\n try {\n await tx.done;\n } catch (e) {\n console.warn(e);\n }\n }\n\n async getVerifyInfo() {\n const results = await this.db.getAll("verification");\n\n let numValid = 0;\n let numInvalid = 0;\n\n let info = {};\n\n const includeProps = ["domain", "created", "certFingerprint", "software", "datapackageHash", "publicKey"];\n\n for (const res of results) {\n if (includeProps.includes(res.id)) {\n info[res.id] = res.expected;\n } else if (res.id === "signature") {\n numValid++;\n } else if (res.matched === true) {\n numValid++;\n } else if (res.matched === false) {\n numInvalid++;\n }\n }\n\n info.numInvalid = numInvalid;\n info.numValid = numValid;\n\n return info;\n }\n\n async getVerifyExpected(id) {\n const res = await this.db.get("verification", id);\n return res && res.expected;\n }\n\n async clearAll() {\n await super.clearAll();\n\n await this.clearZipData();\n }\n\n async loadRecordFromSource(cdx) {\n const {start, length, path, wacz} = cdx.source;\n const params = {offset: start, length, unzip: true, computeHash: true};\n const waczname = wacz;\n\n const {reader, hasher} = await this.loadFileFromNamedWACZ(waczname, "archive/" + path, params);\n \n const loader = new _warcloader_js__WEBPACK_IMPORTED_MODULE_1__.SingleRecordWARCLoader(reader, hasher);\n\n await this.waczfiles[waczname].save(this.db);\n\n const remote = await loader.load();\n\n if (cdx[_cdxloader_js__WEBPACK_IMPORTED_MODULE_2__.CDX_COOKIE]) {\n remote.respHeaders["x-wabac-preset-cookie"] = cdx[_cdxloader_js__WEBPACK_IMPORTED_MODULE_2__.CDX_COOKIE];\n }\n\n return {remote, hasher};\n }\n\n async loadIndex(waczname) {\n if (!this.waczfiles[waczname]) {\n throw new Error("unknown waczfile: " + waczname);\n }\n\n if (this.waczfiles[waczname].indexType) {\n return {indexType: this.waczfiles[waczname].indexType, isNew: false};\n }\n\n //const indexloaders = [];\n let indexType = _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_NOT_LOADED;\n\n // load CDX and IDX\n for (const filename of this.waczfiles[waczname].iterContainedFiles()) {\n if (filename.endsWith(".cdx") || filename.endsWith(".cdxj")) {\n\n console.log(`Loading CDX for ${waczname}`);\n\n await this.loadCDX(filename, waczname);\n\n indexType = _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_CDX;\n\n } else if (filename.endsWith(".idx")) {\n // For compressed indices\n console.log(`Loading IDX for ${waczname}`);\n\n await this.loadIDX(filename, waczname);\n\n indexType = _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_IDX;\n }\n }\n\n this.waczfiles[waczname].indexType = indexType;\n\n await this.waczfiles[waczname].save(this.db, true);\n\n return {indexType, isNew: true};\n }\n\n async loadCDX(filename, waczname, progressUpdate, total) {\n const { reader, hasher } = await this.loadFileFromNamedWACZ(waczname, filename, {computeHash: true});\n\n const loader = new _cdxloader_js__WEBPACK_IMPORTED_MODULE_2__.CDXLoader(reader, null, waczname, {wacz: waczname});\n\n const res = await loader.load(this, progressUpdate, total);\n\n if (hasher) {\n const expected = await this.getVerifyExpected(filename);\n if (expected) {\n this.addVerifyData(waczname, filename, expected, hasher.getHash());\n }\n }\n\n return res;\n }\n\n async loadIDX(filename, waczname, progressUpdate, total) {\n const { reader, hasher } = await this.loadFileFromNamedWACZ(waczname, filename, {computeHash: true});\n\n let batch = [];\n let defaultFilename = "";\n\n // start out as non surt, if surt detected, set to false\n let nonSurt = true;\n\n let currOffset = 0;\n \n for await (const line of reader.iterLines()) {\n currOffset += line.length;\n\n // first line\n if (currOffset === line.length) {\n if (line.startsWith("!meta")) {\n const inx = line.indexOf(" {");\n if (inx < 0) {\n console.warn("Invalid Meta Line: " + line);\n continue;\n }\n\n const indexMetadata = JSON.parse(line.slice(inx));\n \n if (indexMetadata.filename) {\n defaultFilename = indexMetadata.filename;\n }\n if (indexMetadata.format !== "cdxj-gzip-1.0") {\n console.log(`Unknown CDXJ format "${indexMetadata.format}", archive may not parse correctly`);\n }\n continue;\n }\n }\n\n let entry;\n\n if (line.indexOf("\\t") > 0) {\n let [prefix, filename, offset, length] = line.split("\\t");\n offset = Number(offset);\n length = Number(length);\n\n entry = {waczname, prefix, filename, offset, length, loaded: false};\n\n nonSurt = false;\n\n } else {\n const inx = line.indexOf(" {");\n if (inx < 0) {\n console.log("Invalid Index Line: " + line);\n continue;\n }\n\n const prefix = line.slice(0, inx);\n let {offset, length, filename, digest} = JSON.parse(line.slice(inx));\n\n nonSurt = nonSurt && !IS_SURT.test(prefix);\n\n filename = filename || defaultFilename;\n\n entry = {waczname, prefix, filename, offset, length, digest, loaded: false};\n }\n\n if (progressUpdate) {\n progressUpdate(currOffset / total, currOffset, total);\n }\n\n batch.push(entry);\n }\n\n if (hasher) {\n const expected = await this.getVerifyExpected(filename);\n if (expected) {\n this.addVerifyData(waczname, filename, expected, hasher.getHash());\n }\n }\n\n const tx = this.db.transaction("ziplines", "readwrite");\n\n for (const entry of batch) {\n tx.store.put(entry);\n }\n\n try {\n await tx.done;\n } catch (e) {\n console.log("Error loading ziplines index: ", e);\n }\n\n // set only if nonSurt is true (defaults to false)\n if (nonSurt && nonSurt !== this.waczfiles[waczname].nonSurt) {\n this.waczfiles[waczname].nonSurt = nonSurt;\n await this.waczfiles[waczname].save(this.db, true);\n }\n }\n\n async loadCDXFromIDX(waczname, url, datetime = 0, isPrefix = false) {\n //const timestamp = datetime ? getTS(new Date(datetime).toISOString()) : "";\n\n const surt = this.waczfiles[waczname].nonSurt ? url : (0,warcio__WEBPACK_IMPORTED_MODULE_8__.getSurt)(url);\n\n const upperBound = isPrefix ? this.prefixUpperBound(surt) : surt + " 9999";\n\n const key = IDBKeyRange.upperBound([waczname, upperBound], true);\n\n const tx = this.db.transaction("ziplines", "readonly");\n\n const values = [];\n\n for await (const cursor of tx.store.iterate(key, "prev")) {\n // restrict to specific waczname\n if (cursor.value.waczname !== waczname) {\n break;\n }\n\n // add to beginning as processing entries in reverse here\n values.unshift(cursor.value);\n if (!cursor.value.prefix.split(" ")[0].startsWith(surt)) {\n break;\n }\n }\n\n await tx.done;\n\n const cdxloaders = [];\n\n if (values.length > MAX_BLOCKS && datetime) {\n values.sort((a, b) => {\n const ts1 = a.prefix.split(" ")[1];\n const ts2 = b.prefix.split(" ")[1];\n if (!ts1 || !ts2) {\n return 0;\n }\n const diff1 = Math.abs((0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.tsToDate)(ts1).getTime() - datetime);\n const diff2 = Math.abs((0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.tsToDate)(ts2).getTime() - datetime);\n if (diff1 === diff2) {\n return 0;\n }\n return diff1 < diff2 ? -1 : 1;\n });\n }\n\n let count = 0;\n\n for (const zipblock of values) {\n if (zipblock.loaded) {\n continue;\n }\n\n const cacheKey = waczname + ":" + zipblock.filename + ":" + zipblock.offset;\n\n let cachedLoad = this.ziploadercache[cacheKey];\n\n if (!cachedLoad) {\n cachedLoad = this.doCDXLoad(cacheKey, zipblock, waczname);\n this.ziploadercache[cacheKey] = cachedLoad;\n }\n cdxloaders.push(cachedLoad);\n\n if (++count > MAX_BLOCKS) {\n break;\n }\n }\n\n if (cdxloaders.length) {\n await Promise.allSettled(cdxloaders);\n }\n\n await this.waczfiles[waczname].save(this.db);\n\n return cdxloaders.length > 0;\n }\n\n async doCDXLoad(cacheKey, zipblock, waczname) {\n try {\n const filename = "indexes/" + zipblock.filename;\n const params = {offset: zipblock.offset, length: zipblock.length, unzip: true, computeHash: !!zipblock.digest};\n const { reader, hasher } = await this.loadFileFromNamedWACZ(waczname, filename, params);\n\n const loader = new _cdxloader_js__WEBPACK_IMPORTED_MODULE_2__.CDXLoader(reader, null, null, {wacz: waczname});\n await loader.load(this);\n\n if (hasher) {\n const hash = hasher.getHash();\n const id = `${filename}:${zipblock.offset}-${zipblock.length}`;\n await this.addVerifyData(waczname, id, zipblock.digest, hash);\n }\n\n zipblock.loaded = true;\n await this.db.put("ziplines", zipblock);\n\n } catch (e) {\n if (!await (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.handleAuthNeeded)(e, this.config)) {\n console.warn(e);\n }\n } finally {\n delete this.ziploadercache[cacheKey];\n }\n }\n\n async findPageAtUrl(url, ts) {\n const pages = await this.db.getAllFromIndex("pages", "url", url);\n let currPage = null;\n let minDiff = Number.MAX_SAFE_INTEGER;\n\n for (const page of pages) {\n const diff = Math.abs(page.ts - ts);\n if (diff < 1000) {\n return page;\n }\n if (diff < minDiff) {\n currPage = page;\n minDiff = diff;\n }\n }\n\n return currPage;\n }\n\n async lookupUrl(url, datetime, opts = {}) {\n try {\n let result = await super.lookupUrl(url, datetime, opts);\n\n if (result && (!opts.noRevisits || result.mime !== "warc/revisit")) {\n return result;\n }\n\n const { waczname } = opts;\n\n if (waczname && waczname !== _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.NO_LOAD_WACZ) {\n result = await this.lookupUrlForWACZ(waczname, url, datetime, opts);\n }\n\n return result;\n } catch (e) {\n console.warn(e);\n return null;\n }\n }\n\n async lookupUrlForWACZ(waczname, url, datetime, opts) {\n const {indexType, isNew} = await this.loadIndex(waczname);\n\n switch (indexType) {\n case _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_IDX:\n if (!await this.loadCDXFromIDX(waczname, url, datetime, false)) {\n // no new idx lines loaded\n return null;\n }\n break;\n\n case _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_CDX:\n if (!isNew) {\n return null;\n }\n break;\n\n default:\n return null;\n }\n\n return await super.lookupUrl(url, datetime, opts);\n }\n\n async resourcesByUrlAndMime(url, ...args) {\n let results = await super.resourcesByUrlAndMime(url, ...args);\n\n if (results.length > 0) {\n return results;\n }\n\n for (const waczname of Object.keys(this.waczfiles)) {\n if (waczname && waczname !== "local") {\n const {indexType, isNew} = await this.loadIndex(waczname);\n \n switch (indexType) {\n case _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_IDX:\n if (!await this.loadCDXFromIDX(waczname, url, 0, true)) {\n // no new idx lines loaded\n continue;\n }\n break;\n \n case _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.INDEX_CDX:\n if (!isNew) {\n continue;\n }\n break;\n \n default:\n continue;\n }\n \n const newRes = await super.resourcesByUrlAndMime(url, ...args);\n if (newRes && newRes.length) {\n results = results.concat(newRes);\n }\n }\n }\n\n return results;\n }\n\n async loadFileFromWACZ(waczfile, filename, opts) {\n try {\n return await waczfile.loadFile(filename, opts);\n } catch (e) {\n if (await this.retryLoad(e)) {\n return await waczfile.loadFile(filename, opts);\n } else {\n throw e;\n }\n }\n }\n\n async loadFileFromNamedWACZ(waczname, filename, opts) {\n const waczfile = this.waczfiles[waczname];\n\n if (!waczfile) {\n throw new Error("No WACZ Found for: " + waczname);\n }\n\n return await this.loadFileFromWACZ(waczfile, filename, opts);\n }\n\n async addNewWACZ({name, hash, path, parent = null, loader = null} = {}) {\n const waczname = name || path;\n\n if (!hash) {\n hash = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.digestMessage)(waczname, "sha-256", "");\n } else if (hash.indexOf(":") > 0) {\n hash = hash.split(":")[1];\n }\n\n const file = this.addWACZFile({waczname, hash, path, parent, loader}, true);\n\n await file.init();\n\n await file.save(this.db, true);\n\n const importer = new _waczimporter_js__WEBPACK_IMPORTED_MODULE_6__.WACZImporter(this, file, !parent);\n\n return await importer.load();\n }\n\n async loadWACZFiles(json, parent = this) {\n const promises = [];\n\n const update = async (name, path) => {\n await this.waczfiles[name].init(path);\n await this.waczfiles[name].save(this.db, true);\n };\n\n const files = json.resources.map((res) => {\n const path = parent.getLoadPath(res.path);\n const name = parent.getName(res.name);\n const hash = res.hash;\n return {name, hash, path};\n });\n\n for (const {name, hash, path} of files) {\n if (!this.waczfiles[name]) {\n promises.push(this.addNewWACZ({name, hash, path, parent}));\n } else if (this.waczfiles[name].path !== path) {\n promises.push(update(name, path));\n }\n }\n\n if (promises.length) {\n await Promise.allSettled(promises);\n }\n }\n\n async getTextIndex() {\n const headers = {"Content-Type": "application/ndjson"};\n\n const keys = Object.keys(this.waczfiles);\n\n if (!this.textIndex || !keys.length) {\n return new Response("", {headers});\n }\n\n // just look at first wacz for now\n const waczname = keys[0];\n\n let result;\n\n try {\n result = await this.loadFileFromNamedWACZ(waczname, this.textIndex, {unzip: true});\n } catch (e) {\n return new Response("", {headers});\n }\n\n const {reader} = result;\n\n const size = this.waczfiles[waczname].getSizeOf(this.textIndex);\n\n if (size > 0) {\n headers["Content-Length"] = "" + size;\n }\n\n return new Response(reader.getReadableStream(), {headers});\n }\n\n async getResource(request, prefix, event, {pageId} = {}) {\n await this.initing;\n\n if (this.externalSource) {\n const res = await this.externalSource.getResource(request, prefix, event);\n if (res) {\n return res;\n }\n }\n\n const isNavigate = event.request.mode === "navigate";\n\n let hash = pageId;\n let waczname = null;\n\n let resp = null;\n\n if (hash) {\n waczname = this.waczNameForHash[hash];\n if (!waczname) {\n return null;\n }\n resp = await super.getResource(request, prefix, event, {waczname});\n }\n\n if (resp || !isNavigate) {\n return resp;\n }\n\n for (const [name, file] of Object.entries(this.waczfiles)) {\n if (file.fileType !== _waczfile_js__WEBPACK_IMPORTED_MODULE_5__.WACZ_LEAF) {\n continue;\n }\n\n resp = await super.getResource(request, prefix, event, {waczname: name, noFuzzyCheck: true});\n if (resp) {\n waczname = name;\n hash = file.hash;\n break;\n }\n }\n\n if (waczname) { \n return Response.redirect(`${prefix}:${hash}/${request.timestamp}mp_/${request.url}`);\n }\n\n if (this.fuzzyUrlRules.length) {\n for (const {match, replace} of this.fuzzyUrlRules) {\n const newUrl = decodeURIComponent(request.url.replace(match, replace));\n if (newUrl && newUrl !== request.url) {\n request.url = newUrl;\n const res = await super.getResource(request, prefix, event);\n if (res) {\n return res;\n }\n }\n }\n }\n\n return null;\n }\n async retryLoad(e) {\n if (this.rootSourceType !== "json") {\n return false;\n }\n\n if (e instanceof _utils_js__WEBPACK_IMPORTED_MODULE_3__.AccessDeniedError) {\n if (!this.updating) {\n this.updating = this.checkUpdates();\n }\n await this.updating;\n this.updating = null;\n return true;\n } else {\n return await (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.handleAuthNeeded)(e, this.config);\n }\n }\n\n async checkUpdates() {\n if (this.rootSourceType === "json") {\n await this.loadFromJSON();\n }\n }\n\n async loadFromJSON(response = null) {\n if (!response) {\n const result = await this.sourceLoader.doInitialFetch(false);\n response = result.response;\n }\n\n if (response.status !== 206 && response.status !== 200) {\n console.warn("WACZ update failed from: " + this.config.loadUrl);\n return {};\n }\n\n const data = await response.json();\n\n switch (data.profile) {\n case "data-package":\n case "wacz-package":\n //eslint: disable=no-fallthrough\n default:\n await this.loadWACZFiles(data);\n }\n\n return data;\n }\n\n getLoadPath(path) {\n return new URL(path, this.config.loadUrl).href;\n }\n\n getName(name) {\n return name;\n }\n\n async createLoader(opts) {\n return await (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_7__.createLoader)(opts);\n }\n}\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/wacz/multiwacz.js?')},"../wabac.js/src/wacz/waczfile.js":
/*!****************************************!*\
!*** ../wabac.js/src/wacz/waczfile.js ***!
\****************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DEFAULT_WACZ": () => (/* binding */ DEFAULT_WACZ),\n/* harmony export */ "INDEX_CDX": () => (/* binding */ INDEX_CDX),\n/* harmony export */ "INDEX_IDX": () => (/* binding */ INDEX_IDX),\n/* harmony export */ "INDEX_NOT_LOADED": () => (/* binding */ INDEX_NOT_LOADED),\n/* harmony export */ "MULTI_WACZ": () => (/* binding */ MULTI_WACZ),\n/* harmony export */ "NO_LOAD_WACZ": () => (/* binding */ NO_LOAD_WACZ),\n/* harmony export */ "WACZFile": () => (/* binding */ WACZFile),\n/* harmony export */ "WACZ_LEAF": () => (/* binding */ WACZ_LEAF)\n/* harmony export */ });\n/* harmony import */ var _ziprangereader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ziprangereader.js */ "../wabac.js/src/wacz/ziprangereader.js");\n\n\nconst NO_LOAD_WACZ = "local";\nconst DEFAULT_WACZ = "default";\n\nconst INDEX_NOT_LOADED = 0;\nconst INDEX_CDX = 1;\nconst INDEX_IDX = 2;\n\nconst WACZ_LEAF = "wacz";\nconst MULTI_WACZ = "multi-wacz";\n\n// ==========================================================================\nclass WACZLoadSource\n{\n getLoadPath(/*path*/) {\n // not implemented;\n }\n\n getName(/*name*/) {\n // not implemented;\n }\n\n async createLoader(/*opts*/) {\n // not implemented;\n }\n}\n\n// ==========================================================================\nclass WACZFile extends WACZLoadSource\n{\n constructor({waczname, hash, path, parent = null, entries = null, fileType = WACZ_LEAF, indexType = INDEX_NOT_LOADED, nonSurt = false, loader = null} = {}) {\n super();\n this.waczname = waczname;\n this.hash = hash;\n this.path = path;\n this.loader = loader;\n this.parent = parent;\n this.zipreader = null;\n this.entries = entries;\n this.indexType = indexType;\n this.fileType = fileType;\n this.nonSurt = nonSurt;\n }\n\n markAsMultiWACZ() {\n this.fileType = MULTI_WACZ;\n }\n\n async init(path) {\n if (path) {\n this.path = path;\n }\n const loader = this.loader ? this.loader : await this.parent.createLoader({url: this.path});\n\n return await this.initFromLoader(loader);\n }\n\n async initFromLoader(loader) {\n this.zipreader = new _ziprangereader_js__WEBPACK_IMPORTED_MODULE_0__.ZipRangeReader(loader, this.entries);\n\n if (!this.entries) {\n this.entries = await this.zipreader.load();\n }\n\n return this.entries;\n }\n\n async loadFile(filename, opts) {\n if (!this.zipreader) {\n await this.init();\n }\n\n return await this.zipreader.loadFile(filename, opts);\n }\n\n containsFile(filename) {\n return !!this.entries[filename];\n }\n\n getSizeOf(filename) {\n return this.zipreader ? this.zipreader.getCompressedSize(filename) : 0 ;\n }\n\n serialize() {\n return {\n waczname: this.waczname,\n hash: this.hash,\n path: this.path,\n entries: this.entries,\n indexType: this.indexType,\n nonSurt: this.nonSurt\n };\n }\n\n async save(db, always = false) {\n const zipreader = this.zipreader;\n if (always || (zipreader && zipreader.entriesUpdated)) {\n await db.put("waczfiles", this.serialize());\n if (zipreader) {\n zipreader.entriesUpdated = false;\n }\n }\n }\n\n iterContainedFiles() {\n return this.entries ? Object.keys(this.entries) : [];\n }\n\n getLoadPath(path) {\n return this.waczname + "#!/" + path;\n }\n\n getName(name) {\n return this.waczname + "#!/" + name;\n }\n\n async createLoader(opts) {\n const { url } = opts;\n const inx = url.lastIndexOf("#!/");\n\n if (!this.zipreader) {\n await this.init();\n }\n\n if (inx >= 0) {\n return new _ziprangereader_js__WEBPACK_IMPORTED_MODULE_0__.ZipBlockLoader(this.zipreader, url.slice(inx + 3));\n }\n }\n}\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/wacz/waczfile.js?')},"../wabac.js/src/wacz/waczimporter.js":
/*!********************************************!*\
!*** ../wabac.js/src/wacz/waczimporter.js ***!
\********************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "DATAPACKAGE_DIGEST_JSON": () => (/* binding */ DATAPACKAGE_DIGEST_JSON),\n/* harmony export */ "DATAPACKAGE_JSON": () => (/* binding */ DATAPACKAGE_JSON),\n/* harmony export */ "EXTRA_PAGES_JSON": () => (/* binding */ EXTRA_PAGES_JSON),\n/* harmony export */ "MAIN_PAGES_JSON": () => (/* binding */ MAIN_PAGES_JSON),\n/* harmony export */ "WACZImporter": () => (/* binding */ WACZImporter)\n/* harmony export */ });\n/* harmony import */ var js_yaml__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! js-yaml */ "../wabac.js/node_modules/js-yaml/dist/js-yaml.mjs");\n/* harmony import */ var _certutils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./certutils.js */ "../wabac.js/src/wacz/certutils.js");\n\n\n\n\nconst MAIN_PAGES_JSON = "pages/pages.jsonl";\nconst EXTRA_PAGES_JSON = "pages/extraPages.jsonl";\n\nconst DATAPACKAGE_JSON = "datapackage.json";\nconst DATAPACKAGE_DIGEST_JSON = "datapackage-digest.json";\nconst WEBARCHIVE_YAML = "webarchive.yaml";\n\nconst PAGE_BATCH_SIZE = 500;\n\n// ==========================================================================\nclass WACZImporter\n{\n constructor(store, file, isRoot = true) {\n this.file = file;\n this.waczname = file.waczname;\n this.store = store;\n this.isRoot = isRoot;\n }\n\n async loadFileFromWACZ(filename, opts) {\n if (this.store.loadFileFromWACZ) {\n return await this.store.loadFileFromWACZ(this.file, filename, opts);\n } else {\n return await this.file.loadFile(filename, opts);\n }\n }\n\n async load() {\n // process loading\n let metadata;\n\n let datapackageDigest = null;\n\n if (this.file.containsFile(DATAPACKAGE_DIGEST_JSON)) {\n datapackageDigest = await this.loadDigestData(DATAPACKAGE_DIGEST_JSON);\n }\n\n if (this.file.containsFile(DATAPACKAGE_JSON)) {\n metadata = await this.loadPackage(DATAPACKAGE_JSON, datapackageDigest);\n } else if (this.file.containsFile(WEBARCHIVE_YAML)) {\n metadata = await this.loadOldPackageYAML(WEBARCHIVE_YAML);\n }\n \n return metadata || {};\n }\n\n async loadTextFileFromWACZ(filename, expectedHash = false) {\n const { reader, hasher } = await this.loadFileFromWACZ(filename, {computeHash: !!expectedHash});\n const text = new TextDecoder().decode(await reader.readFully());\n if (expectedHash && hasher) {\n await this.store.addVerifyData(this.waczname, filename, expectedHash, hasher.getHash());\n }\n return text;\n }\n\n async loadDigestData(filename) {\n try {\n const digestData = JSON.parse(await this.loadTextFileFromWACZ(filename));\n let datapackageHash;\n\n if (digestData.path === DATAPACKAGE_JSON && digestData.hash) {\n datapackageHash = digestData.hash;\n }\n\n const store = this.store;\n const sigPrefix = this.isRoot ? "" : this.waczname + ":";\n\n if (!digestData.signedData || digestData.signedData.hash !== datapackageHash) {\n await store.addVerifyData(sigPrefix, "signature");\n return;\n }\n\n await store.addVerifyData(sigPrefix, "datapackageHash", datapackageHash);\n\n const results = await (0,_certutils_js__WEBPACK_IMPORTED_MODULE_1__.verifyWACZSignature)(digestData.signedData);\n\n await store.addVerifyDataList(sigPrefix, results);\n\n return datapackageHash;\n\n } catch (e) {\n console.warn(e);\n }\n }\n\n async loadPackage(filename, expectedDigest) {\n const text = await this.loadTextFileFromWACZ(filename, expectedDigest);\n\n const root = JSON.parse(text);\n\n //todo: check\n if (this.isRoot && root.config !== undefined) {\n this.store.initConfig(root.config);\n }\n\n switch (root.profile) {\n case "data-package":\n case "wacz-package":\n case undefined:\n case null:\n return await this.loadLeafWACZPackage(root);\n\n case "multi-wacz-package":\n return await this.loadMultiWACZPackage(root);\n\n default:\n throw new Error(`Unknown package profile: ${root.profile}`);\n }\n }\n\n async loadMultiWACZPackage(root) {\n this.file.markAsMultiWACZ();\n await this.store.loadWACZFiles(root, this.file);\n return root;\n }\n\n async loadLeafWACZPackage(datapackage) {\n const metadata = datapackage.metadata || {};\n\n let pagesHash = null;\n\n for (const res of datapackage.resources) {\n if (res.path === MAIN_PAGES_JSON) {\n pagesHash = res.hash;\n await this.store.addVerifyData(this.waczname, res.path, res.hash);\n } else if (res.path.endsWith(".idx") || res.path.endsWith(".cdx")) {\n await this.store.addVerifyData(this.waczname, res.path, res.hash);\n }\n }\n\n // All Pages\n if (this.file.containsFile(MAIN_PAGES_JSON)) {\n const pageInfo = await this.loadPages(MAIN_PAGES_JSON, pagesHash);\n\n if (pageInfo.hasText) {\n this.store.textIndex = metadata.textIndex = MAIN_PAGES_JSON;\n }\n }\n\n if (this.file.containsFile(EXTRA_PAGES_JSON)) {\n this.store.textIndex = metadata.textIndex = EXTRA_PAGES_JSON;\n }\n\n return metadata;\n }\n\n // Old WACZ 0.1.0 Format\n async loadOldPackageYAML(filename) {\n const text = await this.loadTextFileFromWACZ(filename);\n\n const root = js_yaml__WEBPACK_IMPORTED_MODULE_0__["default"].load(text);\n\n const metadata = {\n desc: root.desc,\n title: root.title\n };\n\n if (root.textIndex) {\n metadata.textIndex = root.textIndex;\n if (!root.config) {\n root.config = {};\n }\n root.config.textIndex = root.textIndex;\n }\n\n if (this.isRoot && root.config !== undefined) {\n this.store.initConfig(root.config);\n }\n\n if (!metadata.title) {\n metadata.title = this.store.config.sourceName;\n }\n\n // All pages\n const pages = root.pages || [];\n\n if (pages && pages.length) {\n await this.store.addPages(pages);\n }\n\n // Curated Pages\n const pageLists = root.pageLists || [];\n\n if (pageLists && pageLists.length) {\n await this.store.addCuratedPageLists(pageLists, "pages", "show");\n }\n\n return metadata;\n }\n\n async loadPages(filename = MAIN_PAGES_JSON, expectedHash = null) {\n const {reader, hasher} = await this.loadFileFromWACZ(filename, {unzip: true, computeHash: true});\n\n let pageListInfo = null;\n \n let pages = [];\n \n for await (const textLine of reader.iterLines()) {\n const page = JSON.parse(textLine);\n \n if (this.waczname) {\n page.wacz = this.waczname;\n }\n \n if (!pageListInfo) {\n pageListInfo = page;\n continue;\n }\n \n pages.push(page);\n \n if (pages.length === PAGE_BATCH_SIZE) {\n await this.store.addPages(pages);\n pages = [];\n }\n }\n \n if (pages.length) {\n await this.store.addPages(pages);\n }\n\n if (hasher && expectedHash) {\n await this.store.addVerifyData(this.waczname, filename, expectedHash, hasher.getHash());\n }\n\n return pageListInfo;\n }\n}\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/wacz/waczimporter.js?')},"../wabac.js/src/wacz/waczloader.js":
/*!******************************************!*\
!*** ../wabac.js/src/wacz/waczloader.js ***!
\******************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "JSONResponseMultiWACZLoader": () => (/* binding */ JSONResponseMultiWACZLoader),\n/* harmony export */ "SingleWACZFullImportLoader": () => (/* binding */ SingleWACZFullImportLoader),\n/* harmony export */ "SingleWACZLoader": () => (/* binding */ SingleWACZLoader)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var _warcloader_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../warcloader.js */ "../wabac.js/src/warcloader.js");\n/* harmony import */ var _waczfile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./waczfile.js */ "../wabac.js/src/wacz/waczfile.js");\n/* harmony import */ var _waczimporter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./waczimporter.js */ "../wabac.js/src/wacz/waczimporter.js");\n\n\n\n\n\n\n\n\n// ============================================================================\nclass SingleWACZLoader\n{\n constructor(loader, config, loadId = null) {\n this.loader = loader;\n this.loadId = loadId;\n this.loadUrl = config.loadUrl;\n }\n\n async load(db, /*progressUpdate, fullTotalSize*/) {\n // if size less than MAX_FULL_DOWNLOAD_SIZE\n if (db.fullConfig && this.loader.arrayBuffer &&\n this.loader.arrayBuffer.byteLength <= _utils_js__WEBPACK_IMPORTED_MODULE_0__.MAX_FULL_DOWNLOAD_SIZE) {\n if (!db.fullConfig.extra) {\n db.fullConfig.extra = {};\n }\n db.fullConfig.extra.arrayBuffer = this.loader.arrayBuffer;\n }\n\n const name = _waczfile_js__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_WACZ;\n const path = this.loadUrl;\n const loader = this.loader;\n return await db.addNewWACZ({name, path, loader});\n }\n}\n\n// ==========================================================================\nclass SingleWACZFullImportLoader\n{\n constructor(loader, config, loadId = null) {\n this.config = config;\n this.loadId = loadId;\n\n this.loader = loader;\n }\n\n async load(db, progressUpdateCallback = null, fullTotalSize = 0) {\n\n const file = new _waczfile_js__WEBPACK_IMPORTED_MODULE_2__.WACZFile({loader: this.loader});\n await file.init();\n \n const zipreader = file.zipreader;\n const importer = new _waczimporter_js__WEBPACK_IMPORTED_MODULE_3__.WACZImporter(db, file);\n\n const metadata = await importer.load();\n\n let offsetTotal = 0;\n\n const progressUpdate = (percent, error, offset/*, total*/) => {\n offset += offsetTotal;\n if (progressUpdateCallback && fullTotalSize) {\n progressUpdateCallback(Math.round(offset * 100.0 / fullTotalSize), null, offset, fullTotalSize);\n }\n };\n\n // load CDX and IDX\n for (const filename of file.iterContainedFiles()) {\n const entryTotal = zipreader.getCompressedSize(filename);\n if (filename.endsWith(".warc.gz") || filename.endsWith(".warc")) {\n await this.loadWARC(db, zipreader, filename, progressUpdate, entryTotal);\n }\n\n offsetTotal += entryTotal;\n }\n\n return metadata || {};\n }\n\n async loadWARC(db, zipreader, filename, progressUpdate, total) {\n const {reader} = await zipreader.loadFile(filename, {unzip: true});\n\n const loader = new _warcloader_js__WEBPACK_IMPORTED_MODULE_1__.WARCLoader(reader, null, filename);\n loader.detectPages = false;\n\n return await loader.load(db, progressUpdate, total);\n }\n}\n\n// ==========================================================================\nclass JSONResponseMultiWACZLoader\n{\n constructor(response) {\n this.response = response;\n }\n\n async load(db) {\n return await db.loadFromJSON(this.response);\n }\n}\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/wacz/waczloader.js?')},"../wabac.js/src/wacz/ziprangereader.js":
/*!**********************************************!*\
!*** ../wabac.js/src/wacz/ziprangereader.js ***!
\**********************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "HashingAsyncIterReader": () => (/* binding */ HashingAsyncIterReader),\n/* harmony export */ "ZipBlockLoader": () => (/* binding */ ZipBlockLoader),\n/* harmony export */ "ZipRangeReader": () => (/* binding */ ZipRangeReader)\n/* harmony export */ });\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n/* harmony import */ var hash_wasm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hash-wasm */ "../wabac.js/node_modules/hash-wasm/dist/index.esm.js");\n/* harmony import */ var _blockloaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../blockloaders.js */ "../wabac.js/src/blockloaders.js");\n\n\n\n\n// ===========================================================================\nconst MAX_INT32 = 0xFFFFFFFF;\nconst MAX_INT16 = 0xFFFF;\n\n\n// ===========================================================================\nclass LoadMoreException\n{\n constructor(start, length) {\n this.start = start;\n this.length = length;\n }\n}\n\n// ===========================================================================\nclass HashingAsyncIterReader extends warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader\n{\n constructor(source, compressed = "gzip", dechunk = false) {\n super(source, compressed, dechunk);\n }\n\n async initHasher() {\n this.hasher = await (0,hash_wasm__WEBPACK_IMPORTED_MODULE_0__.createSHA256)();\n }\n\n async _loadNext() {\n const value = await super._loadNext();\n if (value) {\n this.hasher.update(value);\n }\n return value;\n }\n\n getHash() {\n return "sha256:" + this.hasher.digest("hex");\n }\n}\n\n// ===========================================================================\nclass ZipRangeReader\n{\n constructor(loader, entries = null) {\n this.loader = loader;\n this.entries = entries;\n this.entriesUpdated = false;\n\n // todo: make configurable\n this.enableHashing = true;\n }\n\n async load(always = false) {\n if (!this.entries || always) {\n const totalLength = await this.loader.getLength();\n\n const length = Math.min(MAX_INT16 + 23, totalLength);\n const start = totalLength - length;\n const endChunk = await this.loader.getRange(start, length);\n\n try {\n this.entries = this._loadEntries(endChunk, start);\n } catch (e) {\n if (e instanceof LoadMoreException) {\n const extraChunk = await this.loader.getRange(e.start, e.length);\n const combinedChunk = (0,warcio__WEBPACK_IMPORTED_MODULE_2__.concatChunks)([extraChunk, endChunk], e.length + length);\n this.entries = this._loadEntries(combinedChunk, e.start);\n }\n }\n\n this.entriesUpdated = true;\n }\n return this.entries;\n }\n\n _loadEntries(data, dataStartOffset) {\n // Adapted from\n // Copyright (c) 2016 Rob Wu <rob@robwu.nl> (https://robwu.nl)\n // * Published under a MIT license.\n // * https://github.com/Rob--W/zipinfo.js\n const length = data.byteLength;\n\n if (!length) {\n return null;\n }\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n const utf8Decoder = new TextDecoder("utf8");\n const asciiDecoder = new TextDecoder("ascii");\n const entries = {};\n\n let entriesLeft = 0;\n let offset = 0;\n let endoffset = length;\n // Find EOCD (0xFFFF is the maximum size of an optional trailing comment).\n for (let i = length - 22, ii = Math.max(0, i - MAX_INT16); i >= ii; --i) {\n if (data[i] === 0x50 && data[i + 1] === 0x4b &&\n data[i + 2] === 0x05 && data[i + 3] === 0x06) {\n endoffset = i;\n offset = view.getUint32(i + 16, true);\n entriesLeft = view.getUint16(i + 8, true);\n break;\n }\n }\n\n //ZIP64 find offset\n if (offset === MAX_INT32 || entriesLeft === MAX_INT16) {\n if (view.getUint32(endoffset - 20, true) !== 0x07064b50) {\n console.warn("invalid zip64 EOCD locator");\n return;\n }\n\n const zip64Offset = this.getUint64(view, endoffset - 12, true);\n\n const viewOffset = zip64Offset - dataStartOffset;\n\n if (view.getUint32(viewOffset, true) !== 0x06064b50) {\n console.warn("invalid zip64 EOCD record");\n return;\n }\n\n entriesLeft = this.getUint64(view, viewOffset + 32, true);\n offset = this.getUint64(view, viewOffset + 48, true);\n //zip64 = true;\n }\n\n if (offset >= dataStartOffset) {\n offset -= dataStartOffset;\n } else if (offset < dataStartOffset && offset > 0) {\n throw new LoadMoreException(offset, dataStartOffset - offset);\n }\n\n if (offset >= length || offset < 0) {\n // EOCD not found or malformed. Try to recover if possible (the result is\n // most likely going to be incomplete or bogus, but we can try...).\n offset = -1;\n entriesLeft = MAX_INT16;\n while (++offset < length && data[offset] !== 0x50 &&\n data[offset + 1] !== 0x4b && data[offset + 2] !== 0x01 &&\n data[offset + 3] !== 0x02);\n }\n\n endoffset -= 46; // 46 = minimum size of an entry in the central directory.\n\n while (--entriesLeft >= 0 && offset < endoffset) {\n if (view.getUint32(offset) != 0x504b0102) {\n break;\n }\n\n const bitFlag = view.getUint16(offset + 8, true);\n let compressedSize = view.getUint32(offset + 20, true);\n let uncompressedSize = view.getUint32(offset + 24, true);\n const fileNameLength = view.getUint16(offset + 28, true);\n const extraFieldLength = view.getUint16(offset + 30, true);\n const fileCommentLength = view.getUint16(offset + 32, true);\n\n const deflate = (view.getUint16(offset + 10, true) === 8);\n \n let localEntryOffset = view.getUint32(offset + 42, true);\n\n const decoder = (bitFlag & 0x800) ? utf8Decoder : asciiDecoder;\n const filename = decoder.decode(data.subarray(offset + 46, offset + 46 + fileNameLength));\n\n // ZIP64 support\n if (compressedSize === MAX_INT32 ||\n uncompressedSize === MAX_INT32 ||\n localEntryOffset === MAX_INT32) {\n\n let extraFieldOffset = offset + 46 + fileNameLength;\n const efEnd = extraFieldOffset + extraFieldLength - 3;\n while (extraFieldOffset < efEnd) {\n const type = view.getUint16(extraFieldOffset, true);\n let size = view.getUint16(extraFieldOffset + 2, true);\n extraFieldOffset += 4;\n\n // zip64 info\n if (type === 1) {\n if (uncompressedSize === MAX_INT32 && size >= 8) {\n uncompressedSize = this.getUint64(view, extraFieldOffset, true);\n extraFieldOffset += 8;\n size -= 8;\n }\n if (compressedSize === MAX_INT32 && size >= 8) {\n compressedSize = this.getUint64(view, extraFieldOffset, true);\n extraFieldOffset += 8;\n size -= 8;\n }\n if (localEntryOffset === MAX_INT32 && size >= 8) {\n localEntryOffset = this.getUint64(view, extraFieldOffset, true);\n extraFieldOffset += 8;\n size -= 8;\n }\n }\n\n extraFieldOffset += size;\n }\n }\n\n const directory = filename.endsWith("/");\n\n if (!directory) {\n entries[filename] = {\n filename,\n deflate,\n uncompressedSize,\n compressedSize,\n localEntryOffset,\n };\n\n // optimization if no extraFieldLength, can set offset and avoid extra lookup\n if (!extraFieldLength) {\n entries[filename].offset = 30 + fileNameLength + localEntryOffset;\n }\n }\n\n offset += 46 + fileNameLength + extraFieldLength + fileCommentLength;\n }\n return entries;\n }\n\n getCompressedSize(name) {\n if (this.entries === null) {\n return 0;\n }\n\n const entry = this.entries[name];\n\n if (!entry) {\n return 0;\n }\n\n return isNaN(entry.compressedSize) ? 0 : entry.compressedSize;\n }\n\n async loadFile(name, {offset = 0, length = -1, signal = null, unzip = false, computeHash = null} = {}) {\n if (this.entries === null) {\n await this.load();\n }\n\n const entry = this.entries[name];\n\n if (!entry) {\n return {reader: null};\n }\n\n if (entry.offset === undefined) {\n const header = await this.loader.getRange(entry.localEntryOffset, 30);\n const view = new DataView(header.buffer, header.byteOffset, header.byteLength);\n\n const fileNameLength = view.getUint16(26, true);\n const extraFieldLength = view.getUint16(28, true);\n\n entry.offset = 30 + fileNameLength + extraFieldLength + entry.localEntryOffset;\n this.entriesUpdated = true;\n }\n\n length = length < 0 ? entry.compressedSize : Math.min(length, entry.compressedSize - offset);\n\n offset += entry.offset;\n\n const body = await this.loader.getRange(offset, length, true, signal);\n\n let reader = body.getReader();\n let hasher = null;\n\n const wrapHasher = (reader) => {\n if (computeHash && this.enableHashing) {\n hasher = new HashingAsyncIterReader(reader);\n return hasher;\n }\n return reader;\n };\n\n // if not unzip, deflate if needed only\n if (!unzip) {\n reader = new warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader(reader, entry.deflate ? "deflate" : null);\n reader = wrapHasher(reader);\n // if unzip and not deflated, reuse AsyncIterReader for auto unzipping\n } else if (!entry.deflate) {\n reader = wrapHasher(reader);\n reader = new warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader(reader);\n } else {\n // need to deflate, than unzip again\n reader = new warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader(new warcio__WEBPACK_IMPORTED_MODULE_2__.AsyncIterReader(reader, "deflate"));\n reader = wrapHasher(reader);\n }\n\n if (hasher) {\n await hasher.initHasher();\n }\n\n return {reader, hasher};\n }\n\n // from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n getUint64(dataview, byteOffset, littleEndian) {\n // split 64-bit number into two 32-bit (4-byte) parts\n const left = dataview.getUint32(byteOffset, littleEndian);\n const right = dataview.getUint32(byteOffset+4, littleEndian);\n\n // combine the two 32-bit values\n const combined = littleEndian? left + 2**32*right : 2**32*left + right;\n\n if (!Number.isSafeInteger(combined))\n console.warn(combined, "exceeds MAX_SAFE_INTEGER. Precision may be lost");\n\n return combined;\n }\n}\n\n// ===========================================================================\nclass ZipBlockLoader\n{\n constructor(zipreader, filename) {\n this.zipreader = zipreader;\n this.filename = filename;\n this.size = null;\n }\n\n async doInitialFetch(tryHead = false) {\n await this.zipreader.load();\n\n this.size = this.zipreader.getCompressedSize(this.filename);\n\n let stream = null;\n\n if (!tryHead) {\n const { reader } = await this.zipreader.loadFile(this.filename, {unzip: true});\n stream = (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_1__.getReadableStreamFromIter)(reader);\n }\n\n const response = new Response(stream);\n\n return {response};\n }\n\n async getLength() {\n if (this.size === null) {\n await this.doInitialFetch(true);\n }\n\n return this.size;\n }\n\n async getRange(offset, length, streaming = false, signal = null) {\n const { reader } = await this.zipreader.loadFile(this.filename, {offset, length, signal, unzip: true});\n\n if (streaming) {\n return (0,_blockloaders_js__WEBPACK_IMPORTED_MODULE_1__.getReadableStreamFromIter)(reader);\n } else {\n return await reader.readFully();\n }\n }\n}\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/wacz/ziprangereader.js?')},"../wabac.js/src/warcloader.js":
/*!*************************************!*\
!*** ../wabac.js/src/warcloader.js ***!
\*************************************/(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "SingleRecordWARCLoader": () => (/* binding */ SingleRecordWARCLoader),\n/* harmony export */ "WARCInfoOnlyWARCLoader": () => (/* binding */ WARCInfoOnlyWARCLoader),\n/* harmony export */ "WARCLoader": () => (/* binding */ WARCLoader),\n/* harmony export */ "isPage": () => (/* binding */ isPage)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../wabac.js/src/utils.js");\n/* harmony import */ var warcio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! warcio */ "../wabac.js/node_modules/warcio/dist/index.js");\n/* harmony import */ var _extract_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extract.js */ "../wabac.js/src/extract.js");\n/* harmony import */ var _baseparser_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./baseparser.js */ "../wabac.js/src/baseparser.js");\n\n\n\n\n\n\n\n\n\n// ===========================================================================\nclass WARCLoader extends _baseparser_js__WEBPACK_IMPORTED_MODULE_2__.BaseParser {\n constructor(reader, abort = null, loadId = null, sourceExtra = null) {\n super();\n \n this.reader = reader;\n this.abort = abort;\n this.loadId = loadId;\n\n this.anyPages = false;\n this.detectPages = false;\n\n this._lastRecord = null;\n\n this.metadata = {};\n\n this.pageMap = {};\n this.pages = [];\n this.lists = [];\n\n this.source = sourceExtra;\n }\n\n parseWarcInfo(record) {\n if (!record.payload) {\n return;\n }\n var dec = new TextDecoder("utf-8");\n const text = dec.decode(record.payload);\n\n // Webrecorder-style metadata\n for (const line of text.split("\\n")) {\n if (!line.startsWith("json-metadata:")) {\n continue;\n }\n \n try {\n const json = JSON.parse(line.slice("json-metadata:".length));\n\n if (json.type === "collection") {\n this.metadata.desc = json.desc;\n this.metadata.title = json.title;\n }\n\n if (json.pages && json.pages.length) {\n this.pages = this.pages.concat(json.pages);\n\n for (const page of json.pages) {\n page.ts = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.tsToDate)(page.timestamp).getTime();\n this.pageMap[page.ts + "/" + page.url] = {page};\n }\n //this.promises.push(this.db.addPages(pages));\n this.anyPages = true;\n }\n\n if (json.lists && json.lists.length) {\n this.lists = this.lists.concat(json.lists);\n // this.promises.push(this.db.addCuratedPageLists(lists, "bookmarks", "public"));\n }\n\n } catch (e) { \n console.log("Page Add Error", e.toString());\n }\n }\n }\n\n index(record, parser) {\n if (record.warcType === "warcinfo") {\n this.parseWarcInfo(record);\n return;\n }\n\n //record.cdx = cdx;\n\n if (!this._lastRecord) {\n this._lastRecord = record;\n return;\n }\n\n if (this._lastRecord.warcTargetURI != record.warcTargetURI) {\n this.indexReqResponse(this._lastRecord, null, parser);\n this._lastRecord = record;\n return;\n }\n\n if (record.warcType === "request" && this._lastRecord.warcType === "response") {\n this.indexReqResponse(this._lastRecord, record, parser);\n this._lastRecord = null;\n } else if (record.warcType === "response" && this._lastRecord.warcType === "request") {\n this.indexReqResponse(record, this._lastRecord, parser);\n this._lastRecord = null;\n } else {\n this.indexReqResponse(this._lastRecord, null, parser);\n this._lastRecord = record;\n }\n }\n\n indexDone(parser) {\n if (this._lastRecord) {\n this.indexReqResponse(this._lastRecord, null, parser);\n this._lastRecord = null;\n }\n }\n\n shouldIndexMetadataRecord(record) {\n const targetURI = record.warcTargetURI;\n if (targetURI && targetURI.startsWith("metadata://")) {\n return true;\n }\n\n return false;\n }\n\n parseRevisitRecord(record, reqRecord) {\n const url = record.warcTargetURI.split("#")[0];\n const date = record.warcDate;\n const ts = new Date(date).getTime();\n\n let respHeaders = undefined;\n\n if (record.httpHeaders) {\n const parsed = this.parseResponseHttpHeaders(record, url, reqRecord);\n respHeaders = parsed && Object.fromEntries(parsed.headers.entries());\n }\n\n const origURL = record.warcRefersToTargetURI;\n const origTS = new Date(record.warcRefersToDate).getTime();\n\n // self-revisit, skip\n if (origURL === url && origTS === ts) {\n return null;\n }\n\n const digest = record.warcPayloadDigest;\n\n return {url, ts, origURL, origTS, digest, pageId: null, respHeaders};\n }\n\n parseResponseHttpHeaders(record, url, reqRecord) {\n let status = 200;\n let headers = null;\n let mime = "";\n\n const method = (reqRecord && reqRecord.httpHeaders.method);\n\n if (record.httpHeaders) {\n status = Number(record.httpHeaders.statusCode) || 200;\n\n if (method === "OPTIONS" || method === "HEAD") {\n return null;\n }\n \n //statusText = record.httpHeaders.statusText;\n\n headers = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.makeHeaders)(record.httpHeaders.headers);\n\n //if (!reqRecord && !record.content.length &&\n // (headers.get("access-control-allow-methods") || headers.get("access-control-allow-credentials"))) {\n // return null;\n //}\n\n mime = (headers.get("content-type") || "").split(";")[0];\n\n // skip partial responses (not starting from 0)\n if (status === 206 && !this.isFullRangeRequest(headers)) {\n return null;\n }\n\n // skip self-redirects\n if (status > 300 && status < 400) {\n const location = headers.get("location");\n if (location) {\n if (new URL(location, url).href === url) {\n return null;\n }\n }\n }\n } else {\n headers = new Headers();\n headers.set("content-type", record.warcContentType);\n headers.set("content-length", record.warcContentLength);\n mime = record.warcContentType;\n\n //cl = record.warcContentLength;\n }\n\n return {status, method, headers, mime};\n }\n\n indexReqResponse(record, reqRecord) {\n const entry = this.parseRecords(record, reqRecord);\n\n if (entry) {\n this.addResource(entry);\n }\n }\n\n parseRecords(record, reqRecord) {\n switch (record.warcType) {\n case "revisit":\n return this.parseRevisitRecord(record, reqRecord);\n\n case "resource":\n reqRecord = null;\n break;\n\n case "response":\n break;\n\n case "metadata":\n if (!this.shouldIndexMetadataRecord(record)) {\n return null;\n }\n break;\n\n default:\n return null;\n }\n\n let url = record.warcTargetURI.split("#")[0];\n const date = record.warcDate;\n\n const parsed = this.parseResponseHttpHeaders(record, url, reqRecord);\n\n if (!parsed) {\n return null;\n }\n\n const {status, method, headers, mime} = parsed;\n\n let referrer = null;\n let requestBody = null;\n let requestUrl;\n let reqHeaders;\n\n if (reqRecord && reqRecord.httpHeaders.headers) {\n let requestHeaders = null;\n try {\n requestHeaders = new Headers(reqRecord.httpHeaders.headers);\n const cookie = requestHeaders.get("cookie");\n if (cookie) {\n headers.set("x-wabac-preset-cookie", cookie);\n }\n referrer = reqRecord.httpHeaders.headers.get("Referer");\n } catch(e) {\n requestHeaders = new Headers();\n console.warn(e);\n }\n\n reqHeaders = Object.fromEntries(requestHeaders.entries());\n\n if (method !== "GET") {\n const data = {\n headers: requestHeaders,\n method,\n url,\n postData: reqRecord.payload\n };\n\n if ((0,warcio__WEBPACK_IMPORTED_MODULE_3__.postToGetUrl)(data)) {\n // original requestUrl\n requestUrl = url;\n\n // url with post data appended\n url = data.url;\n\n // raw request payload (for future serialization)\n requestBody = reqRecord.payload;\n }\n }\n }\n\n // if no pages found, start detection if hasn\'t started already\n if (this.detectPages === undefined) {\n this.detectPages = !this.anyPages;\n }\n\n if (this.detectPages) {\n if (isPage(url, status, mime)) {\n const title = url;\n this.addPage({url, date, title});\n }\n }\n\n const ts = new Date(date).getTime();\n\n const respHeaders = Object.fromEntries(headers.entries());\n\n const digest = record.warcPayloadDigest;\n\n const payload = record.payload;\n const reader = payload ? null : record.reader;\n\n const entry = {url, ts, status, mime, respHeaders, reqHeaders, digest, payload, reader, referrer};\n\n if (this.pageMap[ts + "/" + url] && payload && mime.startsWith("text/")) {\n this.pageMap[ts + "/" + url].textPromise = (0,_extract_js__WEBPACK_IMPORTED_MODULE_1__.extractText)(\n url, payload, \n headers.get("content-encoding"),\n headers.get("transfer-encoding")\n );\n }\n\n const extraMetadata = record.warcHeader("WARC-JSON-Metadata");\n\n if (extraMetadata) {\n try {\n entry.extraOpts = JSON.parse(extraMetadata);\n } catch (e) { \n // ignore error on extraOpts\n }\n }\n\n const pageId = record.warcHeader("WARC-Page-ID");\n\n if (pageId) {\n entry.pageId = pageId;\n }\n\n if (this.sourceExtra) {\n entry.source = this.sourceExtra;\n }\n\n if (method !== "GET" && requestUrl && requestBody !== null) {\n entry.requestUrl = requestUrl;\n entry.method = method;\n entry.requestBody = requestBody;\n }\n\n return entry;\n }\n\n isFullRangeRequest(headers) {\n const range = headers.get("content-range");\n\n const cl = parseInt(headers.get("content-length") || 0);\n\n const fullRange = `bytes 0-${cl-1}/${cl}`;\n\n // full range is range exists and matches expected full range\n return range && range === fullRange;\n }\n\n filterRecord() {\n return null;\n }\n\n async load(db, progressUpdate, totalSize) {\n this.db = db;\n\n const parser = new warcio__WEBPACK_IMPORTED_MODULE_3__.WARCParser(this.reader);\n\n let lastUpdate = 0, updateTime = 0;\n let count = 0;\n\n try {\n for await (const record of parser) {\n count++;\n\n if (!record.warcType) {\n console.log("skip empty record");\n continue;\n }\n\n if (self.interruptLoads && this.loadId && self.interruptLoads[this.loadId]) {\n progressUpdate(Math.round((parser.offset / totalSize) * 95.0), "Loading Canceled", parser.offset, totalSize);\n self.interruptLoads[this.loadId]();\n if (this.abort) {\n this.abort.abort();\n }\n throw new _utils_js__WEBPACK_IMPORTED_MODULE_0__.Canceled();\n }\n\n updateTime = new Date().getTime();\n if ((updateTime - lastUpdate) > 500) {\n const extraMsg = `Processed ${count} records`;\n progressUpdate(Math.round((parser.offset / totalSize) * 95.0), null, parser.offset, totalSize, null, extraMsg);\n lastUpdate = updateTime;\n }\n\n const skipMode = this.filterRecord(record);\n if (skipMode === "done") {\n if (this.abort) {\n this.abort.abort();\n }\n break;\n } else if (skipMode === "skip") {\n continue;\n }\n\n if (skipMode === "skipContent") {\n await record.skipFully();\n } else {\n await record.readFully();\n }\n\n count++;\n\n this.index(record, parser);\n\n if (this.promises.length > 0) {\n try {\n await Promise.all(this.promises);\n } catch (e) {\n console.warn(e.toString());\n }\n this.promises = [];\n }\n }\n } catch(e) {\n if (e instanceof _utils_js__WEBPACK_IMPORTED_MODULE_0__.Canceled) {\n throw e;\n }\n \n progressUpdate(Math.round((parser.offset / totalSize) * 95.0),\n `Sorry there was an error downloading. Please try again (${e})`,\n parser.offset, totalSize);\n\n console.warn(e);\n }\n\n this.indexDone(parser);\n\n progressUpdate(95, null, parser.offset, totalSize);\n\n await this.finishIndexing();\n\n progressUpdate(100, null, totalSize, totalSize);\n\n return this.metadata;\n }\n\n async _finishLoad() {\n if (this.pages.length) {\n for (const {page, textPromise} of Object.values(this.pageMap)) {\n if (textPromise) {\n try {\n page.text = await textPromise;\n } catch (e) {\n console.warn("Error adding text: " + e.toString());\n }\n }\n }\n this.promises.push(this.db.addPages(this.pages));\n }\n\n if (this.lists.length) {\n this.promises.push(this.db.addCuratedPageLists(this.lists, "bookmarks", "public"));\n }\n }\n}\n\n\n// ===========================================================================\nfunction isPage(url, status, mime) {\n if (status != 200) {\n return false;\n }\n\n if (!url.startsWith("http:") && !url.startsWith("https:") && !url.startsWith("blob:")) {\n return false;\n }\n\n if (url.endsWith("/robots.txt")) {\n return false;\n }\n\n // skip urls with long query\n const parts = url.split("?", 2);\n\n if (parts.length === 2 && parts[1].length > parts[0].length) {\n return false;\n }\n\n // skip \'files\' starting with \'.\' from being listed as pages\n if (parts[0].substring(parts[0].lastIndexOf("/") + 1).startsWith(".")) {\n return false;\n }\n\n if (mime && mime !== "text/html") {\n return false;\n }\n\n return true;\n}\n\n\n// ===========================================================================\nclass SingleRecordWARCLoader extends WARCLoader\n{\n constructor(reader) {\n super(reader);\n this.detectPages = false;\n }\n\n addPage() {}\n\n async load() {\n const record = await new warcio__WEBPACK_IMPORTED_MODULE_3__.WARCParser(this.reader).parse();\n\n if (!record) {\n return null;\n }\n\n const entry = this.parseRecords(record, null);\n\n if (!entry || record.warcType === "revisit") {\n await record.readFully();\n }\n\n return entry;\n }\n}\n\n\n// ===========================================================================\nclass WARCInfoOnlyWARCLoader extends WARCLoader\n{\n filterRecord(record) {\n if (record.warcType != "warcinfo") {\n return "done";\n }\n }\n}\n\n\n\n\n//# sourceURL=webpack://replaywebpage/../wabac.js/src/warcloader.js?')}},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var t=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(t.exports,t,t.exports,__webpack_require__),t.exports}__webpack_require__.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(n,{a:n}),n},__webpack_require__.d=(e,n)=>{for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./src/sw.js"),__webpack_export_target__=self;for(var i in __webpack_exports__)__webpack_export_target__[i]=__webpack_exports__[i];__webpack_exports__.__esModule&&Object.defineProperty(__webpack_export_target__,"__esModule",{value:!0})})();