@scratch/scratch-svg-renderer 12.1.0-login-from-editor → 12.1.0-membership-program

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25100,7 +25100,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;;(function (globalScope) {
25100
25100
  /***/ ((module) => {
25101
25101
 
25102
25102
  "use strict";
25103
- /*! @license DOMPurify 3.2.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.7/LICENSE */
25103
+ /*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
25104
25104
 
25105
25105
 
25106
25106
 
@@ -25288,7 +25288,7 @@ function lookupGetter(object, prop) {
25288
25288
  }
25289
25289
 
25290
25290
  const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
25291
- const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'slot', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
25291
+ const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
25292
25292
  const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
25293
25293
  // List of SVG elements that are disallowed by default.
25294
25294
  // We still need to know them so that we can do namespace
@@ -25302,7 +25302,7 @@ const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongd
25302
25302
  const text = freeze(['#text']);
25303
25303
 
25304
25304
  const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
25305
- const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
25305
+ const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
25306
25306
  const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
25307
25307
  const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
25308
25308
 
@@ -25409,7 +25409,7 @@ const _createHooksMap = function _createHooksMap() {
25409
25409
  function createDOMPurify() {
25410
25410
  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
25411
25411
  const DOMPurify = root => createDOMPurify(root);
25412
- DOMPurify.version = '3.2.7';
25412
+ DOMPurify.version = '3.3.0';
25413
25413
  DOMPurify.removed = [];
25414
25414
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
25415
25415
  // Not running in a browser, provide a factory function
@@ -25520,6 +25520,21 @@ function createDOMPurify() {
25520
25520
  let FORBID_TAGS = null;
25521
25521
  /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
25522
25522
  let FORBID_ATTR = null;
25523
+ /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
25524
+ const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
25525
+ tagCheck: {
25526
+ writable: true,
25527
+ configurable: false,
25528
+ enumerable: true,
25529
+ value: null
25530
+ },
25531
+ attributeCheck: {
25532
+ writable: true,
25533
+ configurable: false,
25534
+ enumerable: true,
25535
+ value: null
25536
+ }
25537
+ }));
25523
25538
  /* Decide if ARIA attributes are okay */
25524
25539
  let ALLOW_ARIA_ATTR = true;
25525
25540
  /* Decide if custom data attributes are okay */
@@ -25712,16 +25727,24 @@ function createDOMPurify() {
25712
25727
  }
25713
25728
  /* Merge configuration parameters */
25714
25729
  if (cfg.ADD_TAGS) {
25715
- if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
25716
- ALLOWED_TAGS = clone(ALLOWED_TAGS);
25730
+ if (typeof cfg.ADD_TAGS === 'function') {
25731
+ EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
25732
+ } else {
25733
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
25734
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
25735
+ }
25736
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
25717
25737
  }
25718
- addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
25719
25738
  }
25720
25739
  if (cfg.ADD_ATTR) {
25721
- if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
25722
- ALLOWED_ATTR = clone(ALLOWED_ATTR);
25740
+ if (typeof cfg.ADD_ATTR === 'function') {
25741
+ EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
25742
+ } else {
25743
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
25744
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
25745
+ }
25746
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
25723
25747
  }
25724
- addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
25725
25748
  }
25726
25749
  if (cfg.ADD_URI_SAFE_ATTR) {
25727
25750
  addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
@@ -26029,7 +26052,7 @@ function createDOMPurify() {
26029
26052
  return true;
26030
26053
  }
26031
26054
  /* Remove element if anything forbids its presence */
26032
- if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
26055
+ if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
26033
26056
  /* Check if we have a custom element to handle */
26034
26057
  if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
26035
26058
  if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
@@ -26101,7 +26124,7 @@ function createDOMPurify() {
26101
26124
  (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
26102
26125
  XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
26103
26126
  We don't need to check the value; it's always URI safe. */
26104
- if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
26127
+ if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
26105
26128
  if (
26106
26129
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
26107
26130
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
@@ -141631,471 +141654,6 @@ module.exports = class VirtualConsole extends EventEmitter {
141631
141654
  "use strict";
141632
141655
  module.exports = /*#__PURE__*/JSON.parse('{"name":"jsdom","version":"26.1.0","description":"A JavaScript implementation of many web standards","keywords":["dom","html","whatwg","w3c"],"maintainers":["Elijah Insua <tmpvar@gmail.com> (http://tmpvar.com)","Domenic Denicola <d@domenic.me> (https://domenic.me/)","Sebastian Mayr <sebmaster16@gmail.com> (https://blog.smayr.name/)","Joris van der Wel <joris@jorisvanderwel.com>","Timothy Gu <timothygu99@gmail.com> (https://timothygu.me/)","Magne Andersson <code@zirro.se> (https://zirro.se/)","Pierre-Marie Dartus <dartus.pierremarie@gmail.com>"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jsdom/jsdom.git"},"dependencies":{"cssstyle":"^4.2.1","data-urls":"^5.0.0","decimal.js":"^10.5.0","html-encoding-sniffer":"^4.0.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","is-potential-custom-element-name":"^1.0.1","nwsapi":"^2.2.16","parse5":"^7.2.1","rrweb-cssom":"^0.8.0","saxes":"^6.0.0","symbol-tree":"^3.2.4","tough-cookie":"^5.1.1","w3c-xmlserializer":"^5.0.0","webidl-conversions":"^7.0.0","whatwg-encoding":"^3.1.1","whatwg-mimetype":"^4.0.0","whatwg-url":"^14.1.1","ws":"^8.18.0","xml-name-validator":"^5.0.0"},"peerDependencies":{"canvas":"^3.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"devDependencies":{"@domenic/eslint-config":"^4.0.1","benchmark":"^2.1.4","eslint":"^9.20.0","eslint-plugin-html":"^8.1.2","globals":"^15.14.0","js-yaml":"^4.1.0","minimatch":"^9.0.5","mocha":"^11.1.0","mocha-sugar-free":"^1.4.0","pngjs":"^7.0.0","server-destroy":"^1.0.1","webidl2js":"^18.0.0","yargs":"^17.7.2"},"scripts":{"prepare":"npm run convert-idl && npm run generate-js-globals","pretest":"npm run prepare && npm run init-wpt","test-wpt":"mocha test/web-platform-tests/run-wpts.js","test-tuwpt":"mocha test/web-platform-tests/run-tuwpts.js","test-mocha":"mocha","test-api":"mocha test/api","test":"mocha test/index.js","lint":"eslint --cache","init-wpt":"git submodule update --init --recursive","reset-wpt":"rm -rf ./test/web-platform-tests/tests && npm run init-wpt","update-wpt":"git submodule update --init --recursive --remote && cd test/web-platform-tests/tests && python wpt.py manifest --path ../wpt-manifest.json","update-authors":"git log --format=\\"%aN <%aE>\\" | sort -f | uniq > AUTHORS.txt","benchmark":"node ./benchmark/runner","convert-idl":"node ./scripts/webidl/convert.js","generate-js-globals":"node ./scripts/generate-js-globals.js"},"main":"./lib/api.js","type":"commonjs","engines":{"node":">=18"}}');
141633
141656
 
141634
- /***/ }),
141635
-
141636
- /***/ "../../node_modules/isomorphic-dompurify/node_modules/punycode/punycode.es6.js":
141637
- /*!*************************************************************************************!*\
141638
- !*** ../../node_modules/isomorphic-dompurify/node_modules/punycode/punycode.es6.js ***!
141639
- \*************************************************************************************/
141640
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
141641
-
141642
- "use strict";
141643
- __webpack_require__.r(__webpack_exports__);
141644
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
141645
- /* harmony export */ decode: () => (/* binding */ decode),
141646
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
141647
- /* harmony export */ encode: () => (/* binding */ encode),
141648
- /* harmony export */ toASCII: () => (/* binding */ toASCII),
141649
- /* harmony export */ toUnicode: () => (/* binding */ toUnicode),
141650
- /* harmony export */ ucs2decode: () => (/* binding */ ucs2decode),
141651
- /* harmony export */ ucs2encode: () => (/* binding */ ucs2encode)
141652
- /* harmony export */ });
141653
-
141654
-
141655
- /** Highest positive signed 32-bit float value */
141656
- const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
141657
-
141658
- /** Bootstring parameters */
141659
- const base = 36;
141660
- const tMin = 1;
141661
- const tMax = 26;
141662
- const skew = 38;
141663
- const damp = 700;
141664
- const initialBias = 72;
141665
- const initialN = 128; // 0x80
141666
- const delimiter = '-'; // '\x2D'
141667
-
141668
- /** Regular expressions */
141669
- const regexPunycode = /^xn--/;
141670
- const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too.
141671
- const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
141672
-
141673
- /** Error messages */
141674
- const errors = {
141675
- 'overflow': 'Overflow: input needs wider integers to process',
141676
- 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
141677
- 'invalid-input': 'Invalid input'
141678
- };
141679
-
141680
- /** Convenience shortcuts */
141681
- const baseMinusTMin = base - tMin;
141682
- const floor = Math.floor;
141683
- const stringFromCharCode = String.fromCharCode;
141684
-
141685
- /*--------------------------------------------------------------------------*/
141686
-
141687
- /**
141688
- * A generic error utility function.
141689
- * @private
141690
- * @param {String} type The error type.
141691
- * @returns {Error} Throws a `RangeError` with the applicable error message.
141692
- */
141693
- function error(type) {
141694
- throw new RangeError(errors[type]);
141695
- }
141696
-
141697
- /**
141698
- * A generic `Array#map` utility function.
141699
- * @private
141700
- * @param {Array} array The array to iterate over.
141701
- * @param {Function} callback The function that gets called for every array
141702
- * item.
141703
- * @returns {Array} A new array of values returned by the callback function.
141704
- */
141705
- function map(array, callback) {
141706
- const result = [];
141707
- let length = array.length;
141708
- while (length--) {
141709
- result[length] = callback(array[length]);
141710
- }
141711
- return result;
141712
- }
141713
-
141714
- /**
141715
- * A simple `Array#map`-like wrapper to work with domain name strings or email
141716
- * addresses.
141717
- * @private
141718
- * @param {String} domain The domain name or email address.
141719
- * @param {Function} callback The function that gets called for every
141720
- * character.
141721
- * @returns {String} A new string of characters returned by the callback
141722
- * function.
141723
- */
141724
- function mapDomain(domain, callback) {
141725
- const parts = domain.split('@');
141726
- let result = '';
141727
- if (parts.length > 1) {
141728
- // In email addresses, only the domain name should be punycoded. Leave
141729
- // the local part (i.e. everything up to `@`) intact.
141730
- result = parts[0] + '@';
141731
- domain = parts[1];
141732
- }
141733
- // Avoid `split(regex)` for IE8 compatibility. See #17.
141734
- domain = domain.replace(regexSeparators, '\x2E');
141735
- const labels = domain.split('.');
141736
- const encoded = map(labels, callback).join('.');
141737
- return result + encoded;
141738
- }
141739
-
141740
- /**
141741
- * Creates an array containing the numeric code points of each Unicode
141742
- * character in the string. While JavaScript uses UCS-2 internally,
141743
- * this function will convert a pair of surrogate halves (each of which
141744
- * UCS-2 exposes as separate characters) into a single code point,
141745
- * matching UTF-16.
141746
- * @see `punycode.ucs2.encode`
141747
- * @see <https://mathiasbynens.be/notes/javascript-encoding>
141748
- * @memberOf punycode.ucs2
141749
- * @name decode
141750
- * @param {String} string The Unicode input string (UCS-2).
141751
- * @returns {Array} The new array of code points.
141752
- */
141753
- function ucs2decode(string) {
141754
- const output = [];
141755
- let counter = 0;
141756
- const length = string.length;
141757
- while (counter < length) {
141758
- const value = string.charCodeAt(counter++);
141759
- if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
141760
- // It's a high surrogate, and there is a next character.
141761
- const extra = string.charCodeAt(counter++);
141762
- if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
141763
- output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
141764
- } else {
141765
- // It's an unmatched surrogate; only append this code unit, in case the
141766
- // next code unit is the high surrogate of a surrogate pair.
141767
- output.push(value);
141768
- counter--;
141769
- }
141770
- } else {
141771
- output.push(value);
141772
- }
141773
- }
141774
- return output;
141775
- }
141776
-
141777
- /**
141778
- * Creates a string based on an array of numeric code points.
141779
- * @see `punycode.ucs2.decode`
141780
- * @memberOf punycode.ucs2
141781
- * @name encode
141782
- * @param {Array} codePoints The array of numeric code points.
141783
- * @returns {String} The new Unicode string (UCS-2).
141784
- */
141785
- const ucs2encode = codePoints => String.fromCodePoint(...codePoints);
141786
-
141787
- /**
141788
- * Converts a basic code point into a digit/integer.
141789
- * @see `digitToBasic()`
141790
- * @private
141791
- * @param {Number} codePoint The basic numeric code point value.
141792
- * @returns {Number} The numeric value of a basic code point (for use in
141793
- * representing integers) in the range `0` to `base - 1`, or `base` if
141794
- * the code point does not represent a value.
141795
- */
141796
- const basicToDigit = function(codePoint) {
141797
- if (codePoint >= 0x30 && codePoint < 0x3A) {
141798
- return 26 + (codePoint - 0x30);
141799
- }
141800
- if (codePoint >= 0x41 && codePoint < 0x5B) {
141801
- return codePoint - 0x41;
141802
- }
141803
- if (codePoint >= 0x61 && codePoint < 0x7B) {
141804
- return codePoint - 0x61;
141805
- }
141806
- return base;
141807
- };
141808
-
141809
- /**
141810
- * Converts a digit/integer into a basic code point.
141811
- * @see `basicToDigit()`
141812
- * @private
141813
- * @param {Number} digit The numeric value of a basic code point.
141814
- * @returns {Number} The basic code point whose value (when used for
141815
- * representing integers) is `digit`, which needs to be in the range
141816
- * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
141817
- * used; else, the lowercase form is used. The behavior is undefined
141818
- * if `flag` is non-zero and `digit` has no uppercase form.
141819
- */
141820
- const digitToBasic = function(digit, flag) {
141821
- // 0..25 map to ASCII a..z or A..Z
141822
- // 26..35 map to ASCII 0..9
141823
- return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
141824
- };
141825
-
141826
- /**
141827
- * Bias adaptation function as per section 3.4 of RFC 3492.
141828
- * https://tools.ietf.org/html/rfc3492#section-3.4
141829
- * @private
141830
- */
141831
- const adapt = function(delta, numPoints, firstTime) {
141832
- let k = 0;
141833
- delta = firstTime ? floor(delta / damp) : delta >> 1;
141834
- delta += floor(delta / numPoints);
141835
- for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
141836
- delta = floor(delta / baseMinusTMin);
141837
- }
141838
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
141839
- };
141840
-
141841
- /**
141842
- * Converts a Punycode string of ASCII-only symbols to a string of Unicode
141843
- * symbols.
141844
- * @memberOf punycode
141845
- * @param {String} input The Punycode string of ASCII-only symbols.
141846
- * @returns {String} The resulting string of Unicode symbols.
141847
- */
141848
- const decode = function(input) {
141849
- // Don't use UCS-2.
141850
- const output = [];
141851
- const inputLength = input.length;
141852
- let i = 0;
141853
- let n = initialN;
141854
- let bias = initialBias;
141855
-
141856
- // Handle the basic code points: let `basic` be the number of input code
141857
- // points before the last delimiter, or `0` if there is none, then copy
141858
- // the first basic code points to the output.
141859
-
141860
- let basic = input.lastIndexOf(delimiter);
141861
- if (basic < 0) {
141862
- basic = 0;
141863
- }
141864
-
141865
- for (let j = 0; j < basic; ++j) {
141866
- // if it's not a basic code point
141867
- if (input.charCodeAt(j) >= 0x80) {
141868
- error('not-basic');
141869
- }
141870
- output.push(input.charCodeAt(j));
141871
- }
141872
-
141873
- // Main decoding loop: start just after the last delimiter if any basic code
141874
- // points were copied; start at the beginning otherwise.
141875
-
141876
- for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
141877
-
141878
- // `index` is the index of the next character to be consumed.
141879
- // Decode a generalized variable-length integer into `delta`,
141880
- // which gets added to `i`. The overflow checking is easier
141881
- // if we increase `i` as we go, then subtract off its starting
141882
- // value at the end to obtain `delta`.
141883
- const oldi = i;
141884
- for (let w = 1, k = base; /* no condition */; k += base) {
141885
-
141886
- if (index >= inputLength) {
141887
- error('invalid-input');
141888
- }
141889
-
141890
- const digit = basicToDigit(input.charCodeAt(index++));
141891
-
141892
- if (digit >= base) {
141893
- error('invalid-input');
141894
- }
141895
- if (digit > floor((maxInt - i) / w)) {
141896
- error('overflow');
141897
- }
141898
-
141899
- i += digit * w;
141900
- const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
141901
-
141902
- if (digit < t) {
141903
- break;
141904
- }
141905
-
141906
- const baseMinusT = base - t;
141907
- if (w > floor(maxInt / baseMinusT)) {
141908
- error('overflow');
141909
- }
141910
-
141911
- w *= baseMinusT;
141912
-
141913
- }
141914
-
141915
- const out = output.length + 1;
141916
- bias = adapt(i - oldi, out, oldi == 0);
141917
-
141918
- // `i` was supposed to wrap around from `out` to `0`,
141919
- // incrementing `n` each time, so we'll fix that now:
141920
- if (floor(i / out) > maxInt - n) {
141921
- error('overflow');
141922
- }
141923
-
141924
- n += floor(i / out);
141925
- i %= out;
141926
-
141927
- // Insert `n` at position `i` of the output.
141928
- output.splice(i++, 0, n);
141929
-
141930
- }
141931
-
141932
- return String.fromCodePoint(...output);
141933
- };
141934
-
141935
- /**
141936
- * Converts a string of Unicode symbols (e.g. a domain name label) to a
141937
- * Punycode string of ASCII-only symbols.
141938
- * @memberOf punycode
141939
- * @param {String} input The string of Unicode symbols.
141940
- * @returns {String} The resulting Punycode string of ASCII-only symbols.
141941
- */
141942
- const encode = function(input) {
141943
- const output = [];
141944
-
141945
- // Convert the input in UCS-2 to an array of Unicode code points.
141946
- input = ucs2decode(input);
141947
-
141948
- // Cache the length.
141949
- const inputLength = input.length;
141950
-
141951
- // Initialize the state.
141952
- let n = initialN;
141953
- let delta = 0;
141954
- let bias = initialBias;
141955
-
141956
- // Handle the basic code points.
141957
- for (const currentValue of input) {
141958
- if (currentValue < 0x80) {
141959
- output.push(stringFromCharCode(currentValue));
141960
- }
141961
- }
141962
-
141963
- const basicLength = output.length;
141964
- let handledCPCount = basicLength;
141965
-
141966
- // `handledCPCount` is the number of code points that have been handled;
141967
- // `basicLength` is the number of basic code points.
141968
-
141969
- // Finish the basic string with a delimiter unless it's empty.
141970
- if (basicLength) {
141971
- output.push(delimiter);
141972
- }
141973
-
141974
- // Main encoding loop:
141975
- while (handledCPCount < inputLength) {
141976
-
141977
- // All non-basic code points < n have been handled already. Find the next
141978
- // larger one:
141979
- let m = maxInt;
141980
- for (const currentValue of input) {
141981
- if (currentValue >= n && currentValue < m) {
141982
- m = currentValue;
141983
- }
141984
- }
141985
-
141986
- // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
141987
- // but guard against overflow.
141988
- const handledCPCountPlusOne = handledCPCount + 1;
141989
- if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
141990
- error('overflow');
141991
- }
141992
-
141993
- delta += (m - n) * handledCPCountPlusOne;
141994
- n = m;
141995
-
141996
- for (const currentValue of input) {
141997
- if (currentValue < n && ++delta > maxInt) {
141998
- error('overflow');
141999
- }
142000
- if (currentValue === n) {
142001
- // Represent delta as a generalized variable-length integer.
142002
- let q = delta;
142003
- for (let k = base; /* no condition */; k += base) {
142004
- const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
142005
- if (q < t) {
142006
- break;
142007
- }
142008
- const qMinusT = q - t;
142009
- const baseMinusT = base - t;
142010
- output.push(
142011
- stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
142012
- );
142013
- q = floor(qMinusT / baseMinusT);
142014
- }
142015
-
142016
- output.push(stringFromCharCode(digitToBasic(q, 0)));
142017
- bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
142018
- delta = 0;
142019
- ++handledCPCount;
142020
- }
142021
- }
142022
-
142023
- ++delta;
142024
- ++n;
142025
-
142026
- }
142027
- return output.join('');
142028
- };
142029
-
142030
- /**
142031
- * Converts a Punycode string representing a domain name or an email address
142032
- * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
142033
- * it doesn't matter if you call it on a string that has already been
142034
- * converted to Unicode.
142035
- * @memberOf punycode
142036
- * @param {String} input The Punycoded domain name or email address to
142037
- * convert to Unicode.
142038
- * @returns {String} The Unicode representation of the given Punycode
142039
- * string.
142040
- */
142041
- const toUnicode = function(input) {
142042
- return mapDomain(input, function(string) {
142043
- return regexPunycode.test(string)
142044
- ? decode(string.slice(4).toLowerCase())
142045
- : string;
142046
- });
142047
- };
142048
-
142049
- /**
142050
- * Converts a Unicode string representing a domain name or an email address to
142051
- * Punycode. Only the non-ASCII parts of the domain name will be converted,
142052
- * i.e. it doesn't matter if you call it with a domain that's already in
142053
- * ASCII.
142054
- * @memberOf punycode
142055
- * @param {String} input The domain name or email address to convert, as a
142056
- * Unicode string.
142057
- * @returns {String} The Punycode representation of the given domain name or
142058
- * email address.
142059
- */
142060
- const toASCII = function(input) {
142061
- return mapDomain(input, function(string) {
142062
- return regexNonASCII.test(string)
142063
- ? 'xn--' + encode(string)
142064
- : string;
142065
- });
142066
- };
142067
-
142068
- /*--------------------------------------------------------------------------*/
142069
-
142070
- /** Define the public API */
142071
- const punycode = {
142072
- /**
142073
- * A string representing the current Punycode.js version number.
142074
- * @memberOf punycode
142075
- * @type String
142076
- */
142077
- 'version': '2.3.1',
142078
- /**
142079
- * An object of methods to convert from JavaScript's internal character
142080
- * representation (UCS-2) to Unicode code points, and back.
142081
- * @see <https://mathiasbynens.be/notes/javascript-encoding>
142082
- * @memberOf punycode
142083
- * @type Object
142084
- */
142085
- 'ucs2': {
142086
- 'decode': ucs2decode,
142087
- 'encode': ucs2encode
142088
- },
142089
- 'decode': decode,
142090
- 'encode': encode,
142091
- 'toASCII': toASCII,
142092
- 'toUnicode': toUnicode
142093
- };
142094
-
142095
-
142096
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (punycode);
142097
-
142098
-
142099
141657
  /***/ }),
142100
141658
 
142101
141659
  /***/ "../../node_modules/isomorphic-dompurify/node_modules/saxes/saxes.js":
@@ -147595,7 +147153,7 @@ exports.version = '5.1.2';
147595
147153
  "use strict";
147596
147154
 
147597
147155
 
147598
- const punycode = __webpack_require__(/*! punycode/ */ "../../node_modules/isomorphic-dompurify/node_modules/punycode/punycode.es6.js");
147156
+ const punycode = __webpack_require__(/*! punycode/ */ "../../node_modules/punycode/punycode.es6.js");
147599
147157
  const regexes = __webpack_require__(/*! ./lib/regexes.js */ "../../node_modules/isomorphic-dompurify/node_modules/tr46/lib/regexes.js");
147600
147158
  const mappingTable = __webpack_require__(/*! ./lib/mappingTable.json */ "../../node_modules/isomorphic-dompurify/node_modules/tr46/lib/mappingTable.json");
147601
147159
  const { STATUS_MAPPING } = __webpack_require__(/*! ./lib/statusMapping.js */ "../../node_modules/isomorphic-dompurify/node_modules/tr46/lib/statusMapping.js");
@@ -169431,6 +168989,471 @@ exports.xmlDecodeTree = new Uint16Array(
169431
168989
  .map((c) => c.charCodeAt(0)));
169432
168990
  //# sourceMappingURL=decode-data-xml.js.map
169433
168991
 
168992
+ /***/ }),
168993
+
168994
+ /***/ "../../node_modules/punycode/punycode.es6.js":
168995
+ /*!***************************************************!*\
168996
+ !*** ../../node_modules/punycode/punycode.es6.js ***!
168997
+ \***************************************************/
168998
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
168999
+
169000
+ "use strict";
169001
+ __webpack_require__.r(__webpack_exports__);
169002
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
169003
+ /* harmony export */ decode: () => (/* binding */ decode),
169004
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
169005
+ /* harmony export */ encode: () => (/* binding */ encode),
169006
+ /* harmony export */ toASCII: () => (/* binding */ toASCII),
169007
+ /* harmony export */ toUnicode: () => (/* binding */ toUnicode),
169008
+ /* harmony export */ ucs2decode: () => (/* binding */ ucs2decode),
169009
+ /* harmony export */ ucs2encode: () => (/* binding */ ucs2encode)
169010
+ /* harmony export */ });
169011
+
169012
+
169013
+ /** Highest positive signed 32-bit float value */
169014
+ const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
169015
+
169016
+ /** Bootstring parameters */
169017
+ const base = 36;
169018
+ const tMin = 1;
169019
+ const tMax = 26;
169020
+ const skew = 38;
169021
+ const damp = 700;
169022
+ const initialBias = 72;
169023
+ const initialN = 128; // 0x80
169024
+ const delimiter = '-'; // '\x2D'
169025
+
169026
+ /** Regular expressions */
169027
+ const regexPunycode = /^xn--/;
169028
+ const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too.
169029
+ const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
169030
+
169031
+ /** Error messages */
169032
+ const errors = {
169033
+ 'overflow': 'Overflow: input needs wider integers to process',
169034
+ 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
169035
+ 'invalid-input': 'Invalid input'
169036
+ };
169037
+
169038
+ /** Convenience shortcuts */
169039
+ const baseMinusTMin = base - tMin;
169040
+ const floor = Math.floor;
169041
+ const stringFromCharCode = String.fromCharCode;
169042
+
169043
+ /*--------------------------------------------------------------------------*/
169044
+
169045
+ /**
169046
+ * A generic error utility function.
169047
+ * @private
169048
+ * @param {String} type The error type.
169049
+ * @returns {Error} Throws a `RangeError` with the applicable error message.
169050
+ */
169051
+ function error(type) {
169052
+ throw new RangeError(errors[type]);
169053
+ }
169054
+
169055
+ /**
169056
+ * A generic `Array#map` utility function.
169057
+ * @private
169058
+ * @param {Array} array The array to iterate over.
169059
+ * @param {Function} callback The function that gets called for every array
169060
+ * item.
169061
+ * @returns {Array} A new array of values returned by the callback function.
169062
+ */
169063
+ function map(array, callback) {
169064
+ const result = [];
169065
+ let length = array.length;
169066
+ while (length--) {
169067
+ result[length] = callback(array[length]);
169068
+ }
169069
+ return result;
169070
+ }
169071
+
169072
+ /**
169073
+ * A simple `Array#map`-like wrapper to work with domain name strings or email
169074
+ * addresses.
169075
+ * @private
169076
+ * @param {String} domain The domain name or email address.
169077
+ * @param {Function} callback The function that gets called for every
169078
+ * character.
169079
+ * @returns {String} A new string of characters returned by the callback
169080
+ * function.
169081
+ */
169082
+ function mapDomain(domain, callback) {
169083
+ const parts = domain.split('@');
169084
+ let result = '';
169085
+ if (parts.length > 1) {
169086
+ // In email addresses, only the domain name should be punycoded. Leave
169087
+ // the local part (i.e. everything up to `@`) intact.
169088
+ result = parts[0] + '@';
169089
+ domain = parts[1];
169090
+ }
169091
+ // Avoid `split(regex)` for IE8 compatibility. See #17.
169092
+ domain = domain.replace(regexSeparators, '\x2E');
169093
+ const labels = domain.split('.');
169094
+ const encoded = map(labels, callback).join('.');
169095
+ return result + encoded;
169096
+ }
169097
+
169098
+ /**
169099
+ * Creates an array containing the numeric code points of each Unicode
169100
+ * character in the string. While JavaScript uses UCS-2 internally,
169101
+ * this function will convert a pair of surrogate halves (each of which
169102
+ * UCS-2 exposes as separate characters) into a single code point,
169103
+ * matching UTF-16.
169104
+ * @see `punycode.ucs2.encode`
169105
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
169106
+ * @memberOf punycode.ucs2
169107
+ * @name decode
169108
+ * @param {String} string The Unicode input string (UCS-2).
169109
+ * @returns {Array} The new array of code points.
169110
+ */
169111
+ function ucs2decode(string) {
169112
+ const output = [];
169113
+ let counter = 0;
169114
+ const length = string.length;
169115
+ while (counter < length) {
169116
+ const value = string.charCodeAt(counter++);
169117
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
169118
+ // It's a high surrogate, and there is a next character.
169119
+ const extra = string.charCodeAt(counter++);
169120
+ if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
169121
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
169122
+ } else {
169123
+ // It's an unmatched surrogate; only append this code unit, in case the
169124
+ // next code unit is the high surrogate of a surrogate pair.
169125
+ output.push(value);
169126
+ counter--;
169127
+ }
169128
+ } else {
169129
+ output.push(value);
169130
+ }
169131
+ }
169132
+ return output;
169133
+ }
169134
+
169135
+ /**
169136
+ * Creates a string based on an array of numeric code points.
169137
+ * @see `punycode.ucs2.decode`
169138
+ * @memberOf punycode.ucs2
169139
+ * @name encode
169140
+ * @param {Array} codePoints The array of numeric code points.
169141
+ * @returns {String} The new Unicode string (UCS-2).
169142
+ */
169143
+ const ucs2encode = codePoints => String.fromCodePoint(...codePoints);
169144
+
169145
+ /**
169146
+ * Converts a basic code point into a digit/integer.
169147
+ * @see `digitToBasic()`
169148
+ * @private
169149
+ * @param {Number} codePoint The basic numeric code point value.
169150
+ * @returns {Number} The numeric value of a basic code point (for use in
169151
+ * representing integers) in the range `0` to `base - 1`, or `base` if
169152
+ * the code point does not represent a value.
169153
+ */
169154
+ const basicToDigit = function(codePoint) {
169155
+ if (codePoint >= 0x30 && codePoint < 0x3A) {
169156
+ return 26 + (codePoint - 0x30);
169157
+ }
169158
+ if (codePoint >= 0x41 && codePoint < 0x5B) {
169159
+ return codePoint - 0x41;
169160
+ }
169161
+ if (codePoint >= 0x61 && codePoint < 0x7B) {
169162
+ return codePoint - 0x61;
169163
+ }
169164
+ return base;
169165
+ };
169166
+
169167
+ /**
169168
+ * Converts a digit/integer into a basic code point.
169169
+ * @see `basicToDigit()`
169170
+ * @private
169171
+ * @param {Number} digit The numeric value of a basic code point.
169172
+ * @returns {Number} The basic code point whose value (when used for
169173
+ * representing integers) is `digit`, which needs to be in the range
169174
+ * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
169175
+ * used; else, the lowercase form is used. The behavior is undefined
169176
+ * if `flag` is non-zero and `digit` has no uppercase form.
169177
+ */
169178
+ const digitToBasic = function(digit, flag) {
169179
+ // 0..25 map to ASCII a..z or A..Z
169180
+ // 26..35 map to ASCII 0..9
169181
+ return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
169182
+ };
169183
+
169184
+ /**
169185
+ * Bias adaptation function as per section 3.4 of RFC 3492.
169186
+ * https://tools.ietf.org/html/rfc3492#section-3.4
169187
+ * @private
169188
+ */
169189
+ const adapt = function(delta, numPoints, firstTime) {
169190
+ let k = 0;
169191
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
169192
+ delta += floor(delta / numPoints);
169193
+ for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
169194
+ delta = floor(delta / baseMinusTMin);
169195
+ }
169196
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
169197
+ };
169198
+
169199
+ /**
169200
+ * Converts a Punycode string of ASCII-only symbols to a string of Unicode
169201
+ * symbols.
169202
+ * @memberOf punycode
169203
+ * @param {String} input The Punycode string of ASCII-only symbols.
169204
+ * @returns {String} The resulting string of Unicode symbols.
169205
+ */
169206
+ const decode = function(input) {
169207
+ // Don't use UCS-2.
169208
+ const output = [];
169209
+ const inputLength = input.length;
169210
+ let i = 0;
169211
+ let n = initialN;
169212
+ let bias = initialBias;
169213
+
169214
+ // Handle the basic code points: let `basic` be the number of input code
169215
+ // points before the last delimiter, or `0` if there is none, then copy
169216
+ // the first basic code points to the output.
169217
+
169218
+ let basic = input.lastIndexOf(delimiter);
169219
+ if (basic < 0) {
169220
+ basic = 0;
169221
+ }
169222
+
169223
+ for (let j = 0; j < basic; ++j) {
169224
+ // if it's not a basic code point
169225
+ if (input.charCodeAt(j) >= 0x80) {
169226
+ error('not-basic');
169227
+ }
169228
+ output.push(input.charCodeAt(j));
169229
+ }
169230
+
169231
+ // Main decoding loop: start just after the last delimiter if any basic code
169232
+ // points were copied; start at the beginning otherwise.
169233
+
169234
+ for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
169235
+
169236
+ // `index` is the index of the next character to be consumed.
169237
+ // Decode a generalized variable-length integer into `delta`,
169238
+ // which gets added to `i`. The overflow checking is easier
169239
+ // if we increase `i` as we go, then subtract off its starting
169240
+ // value at the end to obtain `delta`.
169241
+ const oldi = i;
169242
+ for (let w = 1, k = base; /* no condition */; k += base) {
169243
+
169244
+ if (index >= inputLength) {
169245
+ error('invalid-input');
169246
+ }
169247
+
169248
+ const digit = basicToDigit(input.charCodeAt(index++));
169249
+
169250
+ if (digit >= base) {
169251
+ error('invalid-input');
169252
+ }
169253
+ if (digit > floor((maxInt - i) / w)) {
169254
+ error('overflow');
169255
+ }
169256
+
169257
+ i += digit * w;
169258
+ const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
169259
+
169260
+ if (digit < t) {
169261
+ break;
169262
+ }
169263
+
169264
+ const baseMinusT = base - t;
169265
+ if (w > floor(maxInt / baseMinusT)) {
169266
+ error('overflow');
169267
+ }
169268
+
169269
+ w *= baseMinusT;
169270
+
169271
+ }
169272
+
169273
+ const out = output.length + 1;
169274
+ bias = adapt(i - oldi, out, oldi == 0);
169275
+
169276
+ // `i` was supposed to wrap around from `out` to `0`,
169277
+ // incrementing `n` each time, so we'll fix that now:
169278
+ if (floor(i / out) > maxInt - n) {
169279
+ error('overflow');
169280
+ }
169281
+
169282
+ n += floor(i / out);
169283
+ i %= out;
169284
+
169285
+ // Insert `n` at position `i` of the output.
169286
+ output.splice(i++, 0, n);
169287
+
169288
+ }
169289
+
169290
+ return String.fromCodePoint(...output);
169291
+ };
169292
+
169293
+ /**
169294
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
169295
+ * Punycode string of ASCII-only symbols.
169296
+ * @memberOf punycode
169297
+ * @param {String} input The string of Unicode symbols.
169298
+ * @returns {String} The resulting Punycode string of ASCII-only symbols.
169299
+ */
169300
+ const encode = function(input) {
169301
+ const output = [];
169302
+
169303
+ // Convert the input in UCS-2 to an array of Unicode code points.
169304
+ input = ucs2decode(input);
169305
+
169306
+ // Cache the length.
169307
+ const inputLength = input.length;
169308
+
169309
+ // Initialize the state.
169310
+ let n = initialN;
169311
+ let delta = 0;
169312
+ let bias = initialBias;
169313
+
169314
+ // Handle the basic code points.
169315
+ for (const currentValue of input) {
169316
+ if (currentValue < 0x80) {
169317
+ output.push(stringFromCharCode(currentValue));
169318
+ }
169319
+ }
169320
+
169321
+ const basicLength = output.length;
169322
+ let handledCPCount = basicLength;
169323
+
169324
+ // `handledCPCount` is the number of code points that have been handled;
169325
+ // `basicLength` is the number of basic code points.
169326
+
169327
+ // Finish the basic string with a delimiter unless it's empty.
169328
+ if (basicLength) {
169329
+ output.push(delimiter);
169330
+ }
169331
+
169332
+ // Main encoding loop:
169333
+ while (handledCPCount < inputLength) {
169334
+
169335
+ // All non-basic code points < n have been handled already. Find the next
169336
+ // larger one:
169337
+ let m = maxInt;
169338
+ for (const currentValue of input) {
169339
+ if (currentValue >= n && currentValue < m) {
169340
+ m = currentValue;
169341
+ }
169342
+ }
169343
+
169344
+ // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
169345
+ // but guard against overflow.
169346
+ const handledCPCountPlusOne = handledCPCount + 1;
169347
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
169348
+ error('overflow');
169349
+ }
169350
+
169351
+ delta += (m - n) * handledCPCountPlusOne;
169352
+ n = m;
169353
+
169354
+ for (const currentValue of input) {
169355
+ if (currentValue < n && ++delta > maxInt) {
169356
+ error('overflow');
169357
+ }
169358
+ if (currentValue === n) {
169359
+ // Represent delta as a generalized variable-length integer.
169360
+ let q = delta;
169361
+ for (let k = base; /* no condition */; k += base) {
169362
+ const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
169363
+ if (q < t) {
169364
+ break;
169365
+ }
169366
+ const qMinusT = q - t;
169367
+ const baseMinusT = base - t;
169368
+ output.push(
169369
+ stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
169370
+ );
169371
+ q = floor(qMinusT / baseMinusT);
169372
+ }
169373
+
169374
+ output.push(stringFromCharCode(digitToBasic(q, 0)));
169375
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
169376
+ delta = 0;
169377
+ ++handledCPCount;
169378
+ }
169379
+ }
169380
+
169381
+ ++delta;
169382
+ ++n;
169383
+
169384
+ }
169385
+ return output.join('');
169386
+ };
169387
+
169388
+ /**
169389
+ * Converts a Punycode string representing a domain name or an email address
169390
+ * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
169391
+ * it doesn't matter if you call it on a string that has already been
169392
+ * converted to Unicode.
169393
+ * @memberOf punycode
169394
+ * @param {String} input The Punycoded domain name or email address to
169395
+ * convert to Unicode.
169396
+ * @returns {String} The Unicode representation of the given Punycode
169397
+ * string.
169398
+ */
169399
+ const toUnicode = function(input) {
169400
+ return mapDomain(input, function(string) {
169401
+ return regexPunycode.test(string)
169402
+ ? decode(string.slice(4).toLowerCase())
169403
+ : string;
169404
+ });
169405
+ };
169406
+
169407
+ /**
169408
+ * Converts a Unicode string representing a domain name or an email address to
169409
+ * Punycode. Only the non-ASCII parts of the domain name will be converted,
169410
+ * i.e. it doesn't matter if you call it with a domain that's already in
169411
+ * ASCII.
169412
+ * @memberOf punycode
169413
+ * @param {String} input The domain name or email address to convert, as a
169414
+ * Unicode string.
169415
+ * @returns {String} The Punycode representation of the given domain name or
169416
+ * email address.
169417
+ */
169418
+ const toASCII = function(input) {
169419
+ return mapDomain(input, function(string) {
169420
+ return regexNonASCII.test(string)
169421
+ ? 'xn--' + encode(string)
169422
+ : string;
169423
+ });
169424
+ };
169425
+
169426
+ /*--------------------------------------------------------------------------*/
169427
+
169428
+ /** Define the public API */
169429
+ const punycode = {
169430
+ /**
169431
+ * A string representing the current Punycode.js version number.
169432
+ * @memberOf punycode
169433
+ * @type String
169434
+ */
169435
+ 'version': '2.3.1',
169436
+ /**
169437
+ * An object of methods to convert from JavaScript's internal character
169438
+ * representation (UCS-2) to Unicode code points, and back.
169439
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
169440
+ * @memberOf punycode
169441
+ * @type Object
169442
+ */
169443
+ 'ucs2': {
169444
+ 'decode': ucs2decode,
169445
+ 'encode': ucs2encode
169446
+ },
169447
+ 'decode': decode,
169448
+ 'encode': encode,
169449
+ 'toASCII': toASCII,
169450
+ 'toUnicode': toUnicode
169451
+ };
169452
+
169453
+
169454
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (punycode);
169455
+
169456
+
169434
169457
  /***/ }),
169435
169458
 
169436
169459
  /***/ "../../node_modules/rrweb-cssom/lib/CSSConditionRule.js":
@@ -177120,8 +177143,8 @@ const base64js = __webpack_require__(/*! base64-js */ "../../node_modules/base64
177120
177143
  */
177121
177144
  class BitmapAdapter {
177122
177145
  /**
177123
- * @param {?function} makeImage HTML image constructor. Tests can provide this.
177124
- * @param {?function} makeCanvas HTML canvas constructor. Tests can provide this.
177146
+ * @param {?Function} makeImage HTML image constructor. Tests can provide this.
177147
+ * @param {?Function} makeCanvas HTML canvas constructor. Tests can provide this.
177125
177148
  */
177126
177149
  constructor(makeImage, makeCanvas) {
177127
177150
  this._makeImage = makeImage ? makeImage : () => new Image();
@@ -177161,7 +177184,7 @@ class BitmapAdapter {
177161
177184
  * to resolution 2 bitmaps. Therefore, converting a resolution 1 bitmap means doubling
177162
177185
  * it in width and height.
177163
177186
  * @param {!string} dataURI Base 64 encoded image data of the bitmap
177164
- * @param {!function} callback Node-style callback that returns updated dataURI if conversion succeeded
177187
+ * @param {!Function} callback Node-style callback that returns updated dataURI if conversion succeeded
177165
177188
  */
177166
177189
  convertResolution1Bitmap(dataURI, callback) {
177167
177190
  const image = this._makeImage();
@@ -177179,7 +177202,7 @@ class BitmapAdapter {
177179
177202
  * to in Scratch 3.0
177180
177203
  * @param {!number} oldWidth original width
177181
177204
  * @param {!number} oldHeight original height
177182
- * @return {object} Array of new width, new height
177205
+ * @returns {object} Array of new width, new height
177183
177206
  */
177184
177207
  getResizedWidthHeight(oldWidth, oldHeight) {
177185
177208
  const STAGE_WIDTH = 480;
@@ -177359,7 +177382,7 @@ module.exports = function (svgString) {
177359
177382
  /**
177360
177383
  * Given an SVG, replace Scratch 2.0 fonts with new 3.0 fonts. Add defaults where there are none.
177361
177384
  * @param {SVGElement} svgTag The SVG dom object
177362
- * @return {void}
177385
+ * @returns {void}
177363
177386
  */
177364
177387
  const convertFonts = function convertFonts(svgTag) {
177365
177388
  // Collect all text elements into a list.
@@ -177414,7 +177437,7 @@ const getFonts = __webpack_require__(/*! scratch-render-fonts */ "../../node_mod
177414
177437
  * // Using a <link> or <style>@import</style> to link to font-family
177415
177438
  * // injected into the document: no effect.
177416
177439
  * @param {string} svgString The string representation of the svg to modify
177417
- * @return {string} The svg with any needed fonts inlined
177440
+ * @returns {string} The svg with any needed fonts inlined
177418
177441
  */
177419
177442
  const inlineSvgFonts = function inlineSvgFonts(svgString) {
177420
177443
  const FONTS = getFonts();
@@ -177496,7 +177519,7 @@ const {
177496
177519
  /**
177497
177520
  * @param {SVGElement} svgTag the tag to search within
177498
177521
  * @param {string} [tagName] svg tag to search for (or collect all elements if not given)
177499
- * @return {Array} a list of elements with the given tagname
177522
+ * @returns {Array} a list of elements with the given tagname
177500
177523
  */
177501
177524
  const collectElements = (svgTag, tagName) => {
177502
177525
  const elts = [];
@@ -177649,7 +177672,7 @@ const transformText = svgTag => {
177649
177672
  * This is used to enlarge the computed bounding box, which doesn't take
177650
177673
  * stroke width into account.
177651
177674
  * @param {SVGSVGElement} rootNode The root SVG node to traverse.
177652
- * @return {number} The largest stroke width in the SVG.
177675
+ * @returns {number} The largest stroke width in the SVG.
177653
177676
  */
177654
177677
  const findLargestStrokeWidth = rootNode => {
177655
177678
  let largestStrokeWidth = 0;
@@ -177782,7 +177805,7 @@ const normalizeSvg = (svgTag, fromVersion2) => {
177782
177805
  * mimic Scratch 2.0's SVG rendering.
177783
177806
  * @param {!string} svgString String of SVG data to draw in quirks-mode.
177784
177807
  * @param {boolean} [fromVersion2] True if we should perform conversion from version 2 to version 3 svg.
177785
- * @return {SVGSVGElement} The normalized SVG element.
177808
+ * @returns {SVGSVGElement} The normalized SVG element.
177786
177809
  */
177787
177810
  const loadSvgString = (svgString, fromVersion2) => {
177788
177811
  // Parse string into SVG XML.
@@ -177896,7 +177919,7 @@ let _TextDecoder;
177896
177919
  let _TextEncoder;
177897
177920
  if (typeof TextDecoder === 'undefined' || typeof TextEncoder === 'undefined') {
177898
177921
  // Wait to require the text encoding polyfill until we know it's needed.
177899
- // eslint-disable-next-line global-require
177922
+
177900
177923
  const encoding = __webpack_require__(/*! fastestsmallesttextencoderdecoder */ "../../node_modules/fastestsmallesttextencoderdecoder/NodeJS/EncoderAndDecoderNodeJS.min.mjs");
177901
177924
  _TextDecoder = encoding.TextDecoder;
177902
177925
  _TextEncoder = encoding.TextEncoder;
@@ -177908,7 +177931,7 @@ if (typeof TextDecoder === 'undefined' || typeof TextEncoder === 'undefined') {
177908
177931
  /**
177909
177932
  * Load an SVG Uint8Array of bytes and "sanitize" it
177910
177933
  * @param {!Uint8Array} rawData unsanitized SVG daata
177911
- * @return {Uint8Array} sanitized SVG data
177934
+ * @returns {Uint8Array} sanitized SVG data
177912
177935
  */
177913
177936
  sanitizeSvg.sanitizeByteStream = function (rawData) {
177914
177937
  const decoder = new _TextDecoder();
@@ -177922,7 +177945,7 @@ sanitizeSvg.sanitizeByteStream = function (rawData) {
177922
177945
  * fixup-svg-string.js, and thus more risky; there are known examples of SVGs that
177923
177946
  * it will clobber. We use DOMPurify's svg profile, which restricts many types of tag.
177924
177947
  * @param {!string} rawSvgText unsanitized SVG string
177925
- * @return {string} sanitized SVG text
177948
+ * @returns {string} sanitized SVG text
177926
177949
  */
177927
177950
  sanitizeSvg.sanitizeSvgText = function (rawSvgText) {
177928
177951
  let sanitizedText = DOMPurify.sanitize(rawSvgText, {
@@ -178067,7 +178090,7 @@ class SvgRenderer {
178067
178090
  * Create a quirks-mode SVG renderer for a particular canvas.
178068
178091
  * @param {HTMLCanvasElement} [canvas] An optional canvas element to draw to. If this is not provided, the renderer
178069
178092
  * will create a new canvas.
178070
- * @constructor
178093
+ * @class
178071
178094
  */
178072
178095
  constructor(canvas) {
178073
178096
  /**
@@ -178121,14 +178144,14 @@ class SvgRenderer {
178121
178144
  }
178122
178145
 
178123
178146
  /**
178124
- * @return {Array<number>} the natural size, in Scratch units, of this SVG.
178147
+ * @returns {Array<number>} the natural size, in Scratch units, of this SVG.
178125
178148
  */
178126
178149
  get size() {
178127
178150
  return [this._measurements.width, this._measurements.height];
178128
178151
  }
178129
178152
 
178130
178153
  /**
178131
- * @return {Array<number>} the offset (upper left corner) of the SVG's view box.
178154
+ * @returns {Array<number>} the offset (upper left corner) of the SVG's view box.
178132
178155
  */
178133
178156
  get viewOffset() {
178134
178157
  return [this._measurements.x, this._measurements.y];
@@ -178203,7 +178226,7 @@ class SvgRenderer {
178203
178226
  /**
178204
178227
  * Draw to the canvas from a loaded image element.
178205
178228
  * @param {number} [scale] - Optionally, also scale the image by this factor.
178206
- **/
178229
+ */
178207
178230
  _drawFromImage(scale) {
178208
178231
  if (this._cachedImage === null) return;
178209
178232
  const ratio = Number.isFinite(scale) ? scale : 1;
@@ -178754,14 +178777,13 @@ const _parseUrl = (value, windowRef) => {
178754
178777
  * on groups down to the leaf level and averaging out the stroke width
178755
178778
  * around the shapes. Note that this doens't just change stroke widths, it
178756
178779
  * changes path data and attributes throughout the SVG.
178757
- *
178758
178780
  * @param {SVGElement} svgTag The SVG dom object
178759
178781
  * @param {Window} windowRef The window to use. Need to pass in for
178760
178782
  * tests to work, as they get angry at even the mention of window.
178761
178783
  * @param {object} bboxForTesting The bounds to use. Need to pass in for
178762
178784
  * tests only, because getBBox doesn't work in Node. This should
178763
178785
  * be the bounds of the svgTag without including stroke width or transforms.
178764
- * @return {void}
178786
+ * @returns {void}
178765
178787
  */
178766
178788
  const transformStrokeWidths = function transformStrokeWidths(svgTag, windowRef, bboxForTesting) {
178767
178789
  const inherited = Matrix.identity();