{"version":3,"file":"statics/js/7043.111517fd1.js","mappings":"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","sources":["webpack:///./node_modules/@ies/filter-xss/dist/index.umd.js"],"sourcesContent":["/*!\n* @ies/filter-xss v2.0.87\n* (c) 2023\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.xss = {}));\n}(this, (function (exports) { 'use strict';\n\n\tfunction unwrapExports (x) {\n\t\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n\t}\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar _typeof_1 = createCommonjsModule(function (module) {\n\t function _typeof(obj) {\n\t \"@babel/helpers - typeof\";\n\n\t return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n\t return typeof obj;\n\t } : function (obj) {\n\t return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n\t }\n\n\t module.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\n\tvar _typeof = unwrapExports(_typeof_1);\n\n\t/**\n\t * cssfilter\n\t *\n\t * @author 老雷\n\t */\n\tfunction getDefaultWhiteList() {\n\t // 白名单值说明:\n\t // true: 允许该属性\n\t // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n\t // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n\t // 除上面列出的值外均表示不允许\n\t var whiteList = {};\n\t whiteList['align-content'] = false; // default: auto\n\n\t whiteList['align-items'] = false; // default: auto\n\n\t whiteList['align-self'] = false; // default: auto\n\n\t whiteList['alignment-adjust'] = false; // default: auto\n\n\t whiteList['alignment-baseline'] = false; // default: baseline\n\n\t whiteList['all'] = false; // default: depending on individual properties\n\n\t whiteList['anchor-point'] = false; // default: none\n\n\t whiteList['animation'] = false; // default: depending on individual properties\n\n\t whiteList['animation-delay'] = false; // default: 0\n\n\t whiteList['animation-direction'] = false; // default: normal\n\n\t whiteList['animation-duration'] = false; // default: 0\n\n\t whiteList['animation-fill-mode'] = false; // default: none\n\n\t whiteList['animation-iteration-count'] = false; // default: 1\n\n\t whiteList['animation-name'] = false; // default: none\n\n\t whiteList['animation-play-state'] = false; // default: running\n\n\t whiteList['animation-timing-function'] = false; // default: ease\n\n\t whiteList['azimuth'] = false; // default: center\n\n\t whiteList['backface-visibility'] = false; // default: visible\n\n\t whiteList['background'] = true; // default: depending on individual properties\n\n\t whiteList['background-attachment'] = true; // default: scroll\n\n\t whiteList['background-clip'] = true; // default: border-box\n\n\t whiteList['background-color'] = true; // default: transparent\n\n\t whiteList['background-image'] = true; // default: none\n\n\t whiteList['background-origin'] = true; // default: padding-box\n\n\t whiteList['background-position'] = true; // default: 0% 0%\n\n\t whiteList['background-repeat'] = true; // default: repeat\n\n\t whiteList['background-size'] = true; // default: auto\n\n\t whiteList['baseline-shift'] = false; // default: baseline\n\n\t whiteList['binding'] = false; // default: none\n\n\t whiteList['bleed'] = false; // default: 6pt\n\n\t whiteList['bookmark-label'] = false; // default: content()\n\n\t whiteList['bookmark-level'] = false; // default: none\n\n\t whiteList['bookmark-state'] = false; // default: open\n\n\t whiteList['border'] = true; // default: depending on individual properties\n\n\t whiteList['border-bottom'] = true; // default: depending on individual properties\n\n\t whiteList['border-bottom-color'] = true; // default: current color\n\n\t whiteList['border-bottom-left-radius'] = true; // default: 0\n\n\t whiteList['border-bottom-right-radius'] = true; // default: 0\n\n\t whiteList['border-bottom-style'] = true; // default: none\n\n\t whiteList['border-bottom-width'] = true; // default: medium\n\n\t whiteList['border-collapse'] = true; // default: separate\n\n\t whiteList['border-color'] = true; // default: depending on individual properties\n\n\t whiteList['border-image'] = true; // default: none\n\n\t whiteList['border-image-outset'] = true; // default: 0\n\n\t whiteList['border-image-repeat'] = true; // default: stretch\n\n\t whiteList['border-image-slice'] = true; // default: 100%\n\n\t whiteList['border-image-source'] = true; // default: none\n\n\t whiteList['border-image-width'] = true; // default: 1\n\n\t whiteList['border-left'] = true; // default: depending on individual properties\n\n\t whiteList['border-left-color'] = true; // default: current color\n\n\t whiteList['border-left-style'] = true; // default: none\n\n\t whiteList['border-left-width'] = true; // default: medium\n\n\t whiteList['border-radius'] = true; // default: 0\n\n\t whiteList['border-right'] = true; // default: depending on individual properties\n\n\t whiteList['border-right-color'] = true; // default: current color\n\n\t whiteList['border-right-style'] = true; // default: none\n\n\t whiteList['border-right-width'] = true; // default: medium\n\n\t whiteList['border-spacing'] = true; // default: 0\n\n\t whiteList['border-style'] = true; // default: depending on individual properties\n\n\t whiteList['border-top'] = true; // default: depending on individual properties\n\n\t whiteList['border-top-color'] = true; // default: current color\n\n\t whiteList['border-top-left-radius'] = true; // default: 0\n\n\t whiteList['border-top-right-radius'] = true; // default: 0\n\n\t whiteList['border-top-style'] = true; // default: none\n\n\t whiteList['border-top-width'] = true; // default: medium\n\n\t whiteList['border-width'] = true; // default: depending on individual properties\n\n\t whiteList['bottom'] = false; // default: auto\n\n\t whiteList['box-decoration-break'] = true; // default: slice\n\n\t whiteList['box-shadow'] = true; // default: none\n\n\t whiteList['box-sizing'] = true; // default: content-box\n\n\t whiteList['box-snap'] = true; // default: none\n\n\t whiteList['box-suppress'] = true; // default: show\n\n\t whiteList['break-after'] = true; // default: auto\n\n\t whiteList['break-before'] = true; // default: auto\n\n\t whiteList['break-inside'] = true; // default: auto\n\n\t whiteList['caption-side'] = false; // default: top\n\n\t whiteList['chains'] = false; // default: none\n\n\t whiteList['clear'] = true; // default: none\n\n\t whiteList['clip'] = false; // default: auto\n\n\t whiteList['clip-path'] = false; // default: none\n\n\t whiteList['clip-rule'] = false; // default: nonzero\n\n\t whiteList['color'] = true; // default: implementation dependent\n\n\t whiteList['color-interpolation-filters'] = true; // default: auto\n\n\t whiteList['column-count'] = false; // default: auto\n\n\t whiteList['column-fill'] = false; // default: balance\n\n\t whiteList['column-gap'] = false; // default: normal\n\n\t whiteList['column-rule'] = false; // default: depending on individual properties\n\n\t whiteList['column-rule-color'] = false; // default: current color\n\n\t whiteList['column-rule-style'] = false; // default: medium\n\n\t whiteList['column-rule-width'] = false; // default: medium\n\n\t whiteList['column-span'] = false; // default: none\n\n\t whiteList['column-width'] = false; // default: auto\n\n\t whiteList['columns'] = false; // default: depending on individual properties\n\n\t whiteList['contain'] = false; // default: none\n\n\t whiteList['content'] = false; // default: normal\n\n\t whiteList['counter-increment'] = false; // default: none\n\n\t whiteList['counter-reset'] = false; // default: none\n\n\t whiteList['counter-set'] = false; // default: none\n\n\t whiteList['crop'] = false; // default: auto\n\n\t whiteList['cue'] = false; // default: depending on individual properties\n\n\t whiteList['cue-after'] = false; // default: none\n\n\t whiteList['cue-before'] = false; // default: none\n\n\t whiteList['cursor'] = false; // default: auto\n\n\t whiteList['direction'] = false; // default: ltr\n\n\t whiteList['display'] = true; // default: depending on individual properties\n\n\t whiteList['display-inside'] = true; // default: auto\n\n\t whiteList['display-list'] = true; // default: none\n\n\t whiteList['display-outside'] = true; // default: inline-level\n\n\t whiteList['dominant-baseline'] = false; // default: auto\n\n\t whiteList['elevation'] = false; // default: level\n\n\t whiteList['empty-cells'] = false; // default: show\n\n\t whiteList['filter'] = false; // default: none\n\n\t whiteList['flex'] = false; // default: depending on individual properties\n\n\t whiteList['flex-basis'] = false; // default: auto\n\n\t whiteList['flex-direction'] = false; // default: row\n\n\t whiteList['flex-flow'] = false; // default: depending on individual properties\n\n\t whiteList['flex-grow'] = false; // default: 0\n\n\t whiteList['flex-shrink'] = false; // default: 1\n\n\t whiteList['flex-wrap'] = false; // default: nowrap\n\n\t whiteList['float'] = false; // default: none\n\n\t whiteList['float-offset'] = false; // default: 0 0\n\n\t whiteList['flood-color'] = false; // default: black\n\n\t whiteList['flood-opacity'] = false; // default: 1\n\n\t whiteList['flow-from'] = false; // default: none\n\n\t whiteList['flow-into'] = false; // default: none\n\n\t whiteList['font'] = true; // default: depending on individual properties\n\n\t whiteList['font-family'] = true; // default: implementation dependent\n\n\t whiteList['font-feature-settings'] = true; // default: normal\n\n\t whiteList['font-kerning'] = true; // default: auto\n\n\t whiteList['font-language-override'] = true; // default: normal\n\n\t whiteList['font-size'] = true; // default: medium\n\n\t whiteList['font-size-adjust'] = true; // default: none\n\n\t whiteList['font-stretch'] = true; // default: normal\n\n\t whiteList['font-style'] = true; // default: normal\n\n\t whiteList['font-synthesis'] = true; // default: weight style\n\n\t whiteList['font-variant'] = true; // default: normal\n\n\t whiteList['font-variant-alternates'] = true; // default: normal\n\n\t whiteList['font-variant-caps'] = true; // default: normal\n\n\t whiteList['font-variant-east-asian'] = true; // default: normal\n\n\t whiteList['font-variant-ligatures'] = true; // default: normal\n\n\t whiteList['font-variant-numeric'] = true; // default: normal\n\n\t whiteList['font-variant-position'] = true; // default: normal\n\n\t whiteList['font-weight'] = true; // default: normal\n\n\t whiteList['grid'] = false; // default: depending on individual properties\n\n\t whiteList['grid-area'] = false; // default: depending on individual properties\n\n\t whiteList['grid-auto-columns'] = false; // default: auto\n\n\t whiteList['grid-auto-flow'] = false; // default: none\n\n\t whiteList['grid-auto-rows'] = false; // default: auto\n\n\t whiteList['grid-column'] = false; // default: depending on individual properties\n\n\t whiteList['grid-column-end'] = false; // default: auto\n\n\t whiteList['grid-column-start'] = false; // default: auto\n\n\t whiteList['grid-row'] = false; // default: depending on individual properties\n\n\t whiteList['grid-row-end'] = false; // default: auto\n\n\t whiteList['grid-row-start'] = false; // default: auto\n\n\t whiteList['grid-template'] = false; // default: depending on individual properties\n\n\t whiteList['grid-template-areas'] = false; // default: none\n\n\t whiteList['grid-template-columns'] = false; // default: none\n\n\t whiteList['grid-template-rows'] = false; // default: none\n\n\t whiteList['hanging-punctuation'] = false; // default: none\n\n\t whiteList['height'] = true; // default: auto\n\n\t whiteList['hyphens'] = false; // default: manual\n\n\t whiteList['icon'] = false; // default: auto\n\n\t whiteList['image-orientation'] = false; // default: auto\n\n\t whiteList['image-resolution'] = false; // default: normal\n\n\t whiteList['ime-mode'] = false; // default: auto\n\n\t whiteList['initial-letters'] = false; // default: normal\n\n\t whiteList['inline-box-align'] = false; // default: last\n\n\t whiteList['justify-content'] = false; // default: auto\n\n\t whiteList['justify-items'] = false; // default: auto\n\n\t whiteList['justify-self'] = false; // default: auto\n\n\t whiteList['left'] = false; // default: auto\n\n\t whiteList['letter-spacing'] = true; // default: normal\n\n\t whiteList['lighting-color'] = true; // default: white\n\n\t whiteList['line-box-contain'] = false; // default: block inline replaced\n\n\t whiteList['line-break'] = false; // default: auto\n\n\t whiteList['line-grid'] = false; // default: match-parent\n\n\t whiteList['line-height'] = false; // default: normal\n\n\t whiteList['line-snap'] = false; // default: none\n\n\t whiteList['line-stacking'] = false; // default: depending on individual properties\n\n\t whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n\n\t whiteList['line-stacking-shift'] = false; // default: consider-shifts\n\n\t whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n\n\t whiteList['list-style'] = true; // default: depending on individual properties\n\n\t whiteList['list-style-image'] = true; // default: none\n\n\t whiteList['list-style-position'] = true; // default: outside\n\n\t whiteList['list-style-type'] = true; // default: disc\n\n\t whiteList['margin'] = true; // default: depending on individual properties\n\n\t whiteList['margin-bottom'] = true; // default: 0\n\n\t whiteList['margin-left'] = true; // default: 0\n\n\t whiteList['margin-right'] = true; // default: 0\n\n\t whiteList['margin-top'] = true; // default: 0\n\n\t whiteList['marker-offset'] = false; // default: auto\n\n\t whiteList['marker-side'] = false; // default: list-item\n\n\t whiteList['marks'] = false; // default: none\n\n\t whiteList['mask'] = false; // default: border-box\n\n\t whiteList['mask-box'] = false; // default: see individual properties\n\n\t whiteList['mask-box-outset'] = false; // default: 0\n\n\t whiteList['mask-box-repeat'] = false; // default: stretch\n\n\t whiteList['mask-box-slice'] = false; // default: 0 fill\n\n\t whiteList['mask-box-source'] = false; // default: none\n\n\t whiteList['mask-box-width'] = false; // default: auto\n\n\t whiteList['mask-clip'] = false; // default: border-box\n\n\t whiteList['mask-image'] = false; // default: none\n\n\t whiteList['mask-origin'] = false; // default: border-box\n\n\t whiteList['mask-position'] = false; // default: center\n\n\t whiteList['mask-repeat'] = false; // default: no-repeat\n\n\t whiteList['mask-size'] = false; // default: border-box\n\n\t whiteList['mask-source-type'] = false; // default: auto\n\n\t whiteList['mask-type'] = false; // default: luminance\n\n\t whiteList['max-height'] = true; // default: none\n\n\t whiteList['max-lines'] = false; // default: none\n\n\t whiteList['max-width'] = true; // default: none\n\n\t whiteList['min-height'] = true; // default: 0\n\n\t whiteList['min-width'] = true; // default: 0\n\n\t whiteList['move-to'] = false; // default: normal\n\n\t whiteList['nav-down'] = false; // default: auto\n\n\t whiteList['nav-index'] = false; // default: auto\n\n\t whiteList['nav-left'] = false; // default: auto\n\n\t whiteList['nav-right'] = false; // default: auto\n\n\t whiteList['nav-up'] = false; // default: auto\n\n\t whiteList['object-fit'] = false; // default: fill\n\n\t whiteList['object-position'] = false; // default: 50% 50%\n\n\t whiteList['opacity'] = false; // default: 1\n\n\t whiteList['order'] = false; // default: 0\n\n\t whiteList['orphans'] = false; // default: 2\n\n\t whiteList['outline'] = false; // default: depending on individual properties\n\n\t whiteList['outline-color'] = false; // default: invert\n\n\t whiteList['outline-offset'] = false; // default: 0\n\n\t whiteList['outline-style'] = false; // default: none\n\n\t whiteList['outline-width'] = false; // default: medium\n\n\t whiteList['overflow'] = false; // default: depending on individual properties\n\n\t whiteList['overflow-wrap'] = false; // default: normal\n\n\t whiteList['overflow-x'] = false; // default: visible\n\n\t whiteList['overflow-y'] = false; // default: visible\n\n\t whiteList['padding'] = true; // default: depending on individual properties\n\n\t whiteList['padding-bottom'] = true; // default: 0\n\n\t whiteList['padding-left'] = true; // default: 0\n\n\t whiteList['padding-right'] = true; // default: 0\n\n\t whiteList['padding-top'] = true; // default: 0\n\n\t whiteList['page'] = false; // default: auto\n\n\t whiteList['page-break-after'] = false; // default: auto\n\n\t whiteList['page-break-before'] = false; // default: auto\n\n\t whiteList['page-break-inside'] = false; // default: auto\n\n\t whiteList['page-policy'] = false; // default: start\n\n\t whiteList['pause'] = false; // default: implementation dependent\n\n\t whiteList['pause-after'] = false; // default: implementation dependent\n\n\t whiteList['pause-before'] = false; // default: implementation dependent\n\n\t whiteList['perspective'] = false; // default: none\n\n\t whiteList['perspective-origin'] = false; // default: 50% 50%\n\n\t whiteList['pitch'] = false; // default: medium\n\n\t whiteList['pitch-range'] = false; // default: 50\n\n\t whiteList['play-during'] = false; // default: auto\n\n\t whiteList['position'] = false; // default: static\n\n\t whiteList['presentation-level'] = false; // default: 0\n\n\t whiteList['quotes'] = false; // default: text\n\n\t whiteList['region-fragment'] = false; // default: auto\n\n\t whiteList['resize'] = false; // default: none\n\n\t whiteList['rest'] = false; // default: depending on individual properties\n\n\t whiteList['rest-after'] = false; // default: none\n\n\t whiteList['rest-before'] = false; // default: none\n\n\t whiteList['richness'] = false; // default: 50\n\n\t whiteList['right'] = false; // default: auto\n\n\t whiteList['rotation'] = false; // default: 0\n\n\t whiteList['rotation-point'] = false; // default: 50% 50%\n\n\t whiteList['ruby-align'] = false; // default: auto\n\n\t whiteList['ruby-merge'] = false; // default: separate\n\n\t whiteList['ruby-position'] = false; // default: before\n\n\t whiteList['shape-image-threshold'] = false; // default: 0.0\n\n\t whiteList['shape-outside'] = false; // default: none\n\n\t whiteList['shape-margin'] = false; // default: 0\n\n\t whiteList['size'] = false; // default: auto\n\n\t whiteList['speak'] = false; // default: auto\n\n\t whiteList['speak-as'] = false; // default: normal\n\n\t whiteList['speak-header'] = false; // default: once\n\n\t whiteList['speak-numeral'] = false; // default: continuous\n\n\t whiteList['speak-punctuation'] = false; // default: none\n\n\t whiteList['speech-rate'] = false; // default: medium\n\n\t whiteList['stress'] = false; // default: 50\n\n\t whiteList['string-set'] = false; // default: none\n\n\t whiteList['tab-size'] = false; // default: 8\n\n\t whiteList['table-layout'] = false; // default: auto\n\n\t whiteList['text-align'] = true; // default: start\n\n\t whiteList['text-align-last'] = true; // default: auto\n\n\t whiteList['text-combine-upright'] = true; // default: none\n\n\t whiteList['text-decoration'] = true; // default: none\n\n\t whiteList['text-decoration-color'] = true; // default: currentColor\n\n\t whiteList['text-decoration-line'] = true; // default: none\n\n\t whiteList['text-decoration-skip'] = true; // default: objects\n\n\t whiteList['text-decoration-style'] = true; // default: solid\n\n\t whiteList['text-emphasis'] = true; // default: depending on individual properties\n\n\t whiteList['text-emphasis-color'] = true; // default: currentColor\n\n\t whiteList['text-emphasis-position'] = true; // default: over right\n\n\t whiteList['text-emphasis-style'] = true; // default: none\n\n\t whiteList['text-height'] = true; // default: auto\n\n\t whiteList['text-indent'] = true; // default: 0\n\n\t whiteList['text-justify'] = true; // default: auto\n\n\t whiteList['text-orientation'] = true; // default: mixed\n\n\t whiteList['text-overflow'] = true; // default: clip\n\n\t whiteList['text-shadow'] = true; // default: none\n\n\t whiteList['text-space-collapse'] = true; // default: collapse\n\n\t whiteList['text-transform'] = true; // default: none\n\n\t whiteList['text-underline-position'] = true; // default: auto\n\n\t whiteList['text-wrap'] = true; // default: normal\n\n\t whiteList['top'] = false; // default: auto\n\n\t whiteList['transform'] = false; // default: none\n\n\t whiteList['transform-origin'] = false; // default: 50% 50% 0\n\n\t whiteList['transform-style'] = false; // default: flat\n\n\t whiteList['transition'] = false; // default: depending on individual properties\n\n\t whiteList['transition-delay'] = false; // default: 0s\n\n\t whiteList['transition-duration'] = false; // default: 0s\n\n\t whiteList['transition-property'] = false; // default: all\n\n\t whiteList['transition-timing-function'] = false; // default: ease\n\n\t whiteList['unicode-bidi'] = false; // default: normal\n\n\t whiteList['vertical-align'] = false; // default: baseline\n\n\t whiteList['visibility'] = false; // default: visible\n\n\t whiteList['voice-balance'] = false; // default: center\n\n\t whiteList['voice-duration'] = false; // default: auto\n\n\t whiteList['voice-family'] = false; // default: implementation dependent\n\n\t whiteList['voice-pitch'] = false; // default: medium\n\n\t whiteList['voice-range'] = false; // default: medium\n\n\t whiteList['voice-rate'] = false; // default: normal\n\n\t whiteList['voice-stress'] = false; // default: normal\n\n\t whiteList['voice-volume'] = false; // default: medium\n\n\t whiteList['volume'] = false; // default: medium\n\n\t whiteList['white-space'] = false; // default: normal\n\n\t whiteList['widows'] = false; // default: 2\n\n\t whiteList['width'] = true; // default: auto\n\n\t whiteList['will-change'] = false; // default: auto\n\n\t whiteList['word-break'] = true; // default: normal\n\n\t whiteList['word-spacing'] = true; // default: normal\n\n\t whiteList['word-wrap'] = true; // default: normal\n\n\t whiteList['wrap-flow'] = false; // default: auto\n\n\t whiteList['wrap-through'] = false; // default: wrap\n\n\t whiteList['writing-mode'] = false; // default: horizontal-tb\n\n\t whiteList['z-index'] = false; // default: auto\n\n\t return whiteList;\n\t}\n\t/**\n\t * 匹配到白名单上的一个属性时\n\t *\n\t * @param {String} name\n\t * @param {String} value\n\t * @param {Object} options\n\t * @return {String}\n\t */\n\n\n\tfunction onAttr(name, value, options) {// do nothing\n\t}\n\t/**\n\t * 匹配到不在白名单上的一个属性时\n\t *\n\t * @param {String} name\n\t * @param {String} value\n\t * @param {Object} options\n\t * @return {String}\n\t */\n\n\n\tfunction onIgnoreAttr(name, value, options) {// do nothing\n\t}\n\n\tvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\t/**\n\t * 过滤属性值\n\t *\n\t * @param {String} name\n\t * @param {String} value\n\t * @return {String}\n\t */\n\n\tfunction safeAttrValue(name, value) {\n\t if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n\t return value;\n\t}\n\n\tvar whiteList = getDefaultWhiteList();\n\tvar getDefaultWhiteList_1 = getDefaultWhiteList;\n\tvar onAttr_1 = onAttr;\n\tvar onIgnoreAttr_1 = onIgnoreAttr;\n\tvar safeAttrValue_1 = safeAttrValue;\n\tvar _default = {\n\t whiteList: whiteList,\n\t getDefaultWhiteList: getDefaultWhiteList_1,\n\t onAttr: onAttr_1,\n\t onIgnoreAttr: onIgnoreAttr_1,\n\t safeAttrValue: safeAttrValue_1\n\t};\n\n\tvar util = {\n\t indexOf: function indexOf(arr, item) {\n\t var i, j;\n\n\t if (Array.prototype.indexOf) {\n\t return arr.indexOf(item);\n\t }\n\n\t for (i = 0, j = arr.length; i < j; i++) {\n\t if (arr[i] === item) {\n\t return i;\n\t }\n\t }\n\n\t return -1;\n\t },\n\t forEach: function forEach(arr, fn, scope) {\n\t var i, j;\n\n\t if (Array.prototype.forEach) {\n\t return arr.forEach(fn, scope);\n\t }\n\n\t for (i = 0, j = arr.length; i < j; i++) {\n\t fn.call(scope, arr[i], i, arr);\n\t }\n\t },\n\t trim: function trim(str) {\n\t if (String.prototype.trim) {\n\t return str.trim();\n\t }\n\n\t return str.replace(/(^\\s*)|(\\s*$)/g, '');\n\t },\n\t trimRight: function trimRight(str) {\n\t if (String.prototype.trimRight) {\n\t return str.trimRight();\n\t }\n\n\t return str.replace(/(\\s*$)/g, '');\n\t }\n\t};\n\n\t/**\n\t * cssfilter\n\t *\n\t * @author 老雷\n\t */\n\n\t/**\n\t * 解析style\n\t *\n\t * @param {String} css\n\t * @param {Function} onAttr 处理属性的函数\n\t * 参数格式: function (sourcePosition, position, name, value, source)\n\t * @return {String}\n\t */\n\n\tfunction parseStyle(css, onAttr) {\n\t css = util.trimRight(css);\n\t if (css[css.length - 1] !== ';') css += ';';\n\t var cssLength = css.length;\n\t var isParenthesisOpen = false;\n\t var lastPos = 0;\n\t var i = 0;\n\t var retCSS = '';\n\n\t function addNewAttr() {\n\t // 如果没有正常的闭合圆括号,则直接忽略当前属性\n\t if (!isParenthesisOpen) {\n\t var source = util.trim(css.slice(lastPos, i));\n\n\t var j = source.indexOf(':');\n\n\t if (j !== -1) {\n\t var name = util.trim(source.slice(0, j));\n\n\t var value = util.trim(source.slice(j + 1)); // 必须有属性名称\n\n\n\t if (name) {\n\t var ret = onAttr(lastPos, retCSS.length, name, value, source);\n\t if (ret) retCSS += ret + '; ';\n\t }\n\t }\n\t }\n\n\t lastPos = i + 1;\n\t }\n\n\t for (; i < cssLength; i++) {\n\t var c = css[i];\n\n\t if (c === '/' && css[i + 1] === '*') {\n\t // 备注开始\n\t var j = css.indexOf('*/', i + 2); // 如果没有正常的备注结束,则后面的部分全部跳过\n\n\t if (j === -1) break; // 直接将当前位置调到备注结尾,并且初始化状态\n\n\t i = j + 1;\n\t lastPos = i + 1;\n\t isParenthesisOpen = false;\n\t } else if (c === '(') {\n\t isParenthesisOpen = true;\n\t } else if (c === ')') {\n\t isParenthesisOpen = false;\n\t } else if (c === ';') {\n\t if (isParenthesisOpen) ; else {\n\t addNewAttr();\n\t }\n\t } else if (c === '\\n') {\n\t addNewAttr();\n\t }\n\t }\n\n\t return util.trim(retCSS);\n\t}\n\n\tvar parser = parseStyle;\n\n\t/**\n\t * cssfilter\n\t *\n\t * @author 老雷\n\t */\n\n\t/**\n\t * 返回值是否为空\n\t *\n\t * @param {Object} obj\n\t * @return {Boolean}\n\t */\n\n\tfunction isNull(obj) {\n\t return obj === undefined || obj === null;\n\t}\n\t/**\n\t * 浅拷贝对象\n\t *\n\t * @param {Object} obj\n\t * @return {Object}\n\t */\n\n\n\tfunction shallowCopyObject(obj) {\n\t var ret = {};\n\n\t for (var i in obj) {\n\t ret[i] = obj[i];\n\t }\n\n\t return ret;\n\t}\n\t/**\n\t * 创建CSS过滤器\n\t *\n\t * @param {Object} options\n\t * - {Object} whiteList\n\t * - {Function} onAttr\n\t * - {Function} onIgnoreAttr\n\t * - {Function} safeAttrValue\n\t */\n\n\n\tfunction FilterCSS(options) {\n\t options = shallowCopyObject(options || {});\n\t options.whiteList = options.whiteList || _default.whiteList;\n\t options.onAttr = options.onAttr || _default.onAttr;\n\t options.onIgnoreAttr = options.onIgnoreAttr || _default.onIgnoreAttr;\n\t options.safeAttrValue = options.safeAttrValue || _default.safeAttrValue;\n\t this.options = options;\n\t}\n\n\tFilterCSS.prototype.process = function (css) {\n\t // 兼容各种奇葩输入\n\t css = css || '';\n\t css = css.toString();\n\t if (!css) return '';\n\t var me = this;\n\t var options = me.options;\n\t var whiteList = options.whiteList;\n\t var onAttr = options.onAttr;\n\t var onIgnoreAttr = options.onIgnoreAttr;\n\t var safeAttrValue = options.safeAttrValue;\n\t var retCSS = parser(css, function (sourcePosition, position, name, value, source) {\n\t var check = whiteList[name];\n\t var isWhite = false;\n\t if (check === true) isWhite = check;else if (typeof check === 'function') isWhite = check(value);else if (check instanceof RegExp) isWhite = check.test(value);\n\t if (isWhite !== true) isWhite = false; // 如果过滤后 value 为空则直接忽略\n\n\t value = safeAttrValue(name, value);\n\t if (!value) return;\n\t var opts = {\n\t position: position,\n\t sourcePosition: sourcePosition,\n\t source: source,\n\t isWhite: isWhite\n\t };\n\n\t if (isWhite) {\n\t var ret = onAttr(name, value, opts);\n\n\t if (isNull(ret)) {\n\t return name + ':' + value;\n\t } else {\n\t return ret;\n\t }\n\t } else {\n\t var ret = onIgnoreAttr(name, value, opts);\n\n\t if (!isNull(ret)) {\n\t return ret;\n\t }\n\t }\n\t });\n\t return retCSS;\n\t};\n\n\tvar css = FilterCSS;\n\n\tvar lib = createCommonjsModule(function (module, exports) {\n\t /**\n\t * cssfilter\n\t *\n\t * @author 老雷\n\t */\n\n\t /**\n\t * XSS过滤\n\t *\n\t * @param {String} css 要过滤的CSS代码\n\t * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n\t * @return {String}\n\t */\n\t function filterCSS(html, options) {\n\t var xss = new css(options);\n\t return xss.process(html);\n\t } // 输出\n\n\n\t exports = module.exports = filterCSS;\n\t exports.FilterCSS = css;\n\n\t for (var i in _default) {\n\t exports[i] = _default[i];\n\t } // 在浏览器端使用\n\n\n\t if (typeof window !== 'undefined') {\n\t window.filterCSS = module.exports;\n\t }\n\t});\n\tvar lib_1 = lib.FilterCSS;\n\n\tvar util$1 = {\n\t indexOf: function indexOf(arr, item) {\n\t var i, j;\n\n\t if (Array.prototype.indexOf) {\n\t return arr.indexOf(item);\n\t }\n\n\t for (i = 0, j = arr.length; i < j; i++) {\n\t if (arr[i] === item) {\n\t return i;\n\t }\n\t }\n\n\t return -1;\n\t },\n\t forEach: function forEach(arr, fn, scope) {\n\t var i, j;\n\n\t if (Array.prototype.forEach) {\n\t return arr.forEach(fn, scope);\n\t }\n\n\t for (i = 0, j = arr.length; i < j; i++) {\n\t fn.call(scope, arr[i], i, arr);\n\t }\n\t },\n\t trim: function trim(str) {\n\t if (String.prototype.trim) {\n\t return str.trim();\n\t }\n\n\t return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n\t },\n\t spaceIndex: function spaceIndex(str) {\n\t var reg = /\\s|\\n|\\t/;\n\t var match = reg.exec(str);\n\t return match ? match.index : -1;\n\t }\n\t};\n\n\t/**\n\t * default settings\n\t *\n\t * @author Zongmin Lei\n\t */\n\n\tvar FilterCSS$1 = lib.FilterCSS;\n\tvar getDefaultCSSWhiteList = lib.getDefaultWhiteList;\n\n\tfunction getDefaultWhiteList$1() {\n\t return {\n\t a: [\"target\", \"href\", \"title\"],\n\t abbr: [\"title\"],\n\t address: [],\n\t area: [\"shape\", \"coords\", \"href\", \"alt\"],\n\t article: [],\n\t aside: [],\n\t audio: [\"autoplay\", \"controls\", \"crossorigin\", \"loop\", \"muted\", \"preload\", \"src\"],\n\t b: [],\n\t bdi: [\"dir\"],\n\t bdo: [\"dir\"],\n\t big: [],\n\t blockquote: [\"cite\"],\n\t br: [],\n\t caption: [],\n\t center: [],\n\t cite: [],\n\t code: [],\n\t col: [\"align\", \"valign\", \"span\", \"width\"],\n\t colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n\t dd: [],\n\t del: [\"datetime\"],\n\t details: [\"open\"],\n\t div: [],\n\t dl: [],\n\t dt: [],\n\t em: [],\n\t figcaption: [],\n\t figure: [],\n\t font: [\"color\", \"size\", \"face\"],\n\t footer: [],\n\t h1: [],\n\t h2: [],\n\t h3: [],\n\t h4: [],\n\t h5: [],\n\t h6: [],\n\t header: [],\n\t hr: [],\n\t i: [],\n\t img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n\t ins: [\"datetime\"],\n\t li: [],\n\t mark: [],\n\t nav: [],\n\t ol: [],\n\t p: [],\n\t pre: [],\n\t s: [],\n\t section: [],\n\t small: [],\n\t span: [],\n\t sub: [],\n\t summary: [],\n\t sup: [],\n\t strong: [],\n\t strike: [],\n\t table: [\"width\", \"border\", \"align\", \"valign\"],\n\t tbody: [\"align\", \"valign\"],\n\t td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n\t tfoot: [\"align\", \"valign\"],\n\t th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n\t thead: [\"align\", \"valign\"],\n\t tr: [\"rowspan\", \"align\", \"valign\"],\n\t tt: [],\n\t u: [],\n\t ul: [],\n\t video: [\"autoplay\", \"controls\", \"crossorigin\", \"loop\", \"muted\", \"playsinline\", \"poster\", \"preload\", \"src\", \"height\", \"width\"]\n\t };\n\t}\n\n\tvar defaultCSSFilter = new FilterCSS$1();\n\t/**\n\t * default onTag function\n\t *\n\t * @param {String} tag\n\t * @param {String} html\n\t * @param {Object} options\n\t * @return {String}\n\t */\n\n\tfunction onTag(tag, html, options) {// do nothing\n\t}\n\t/**\n\t * default onIgnoreTag function\n\t *\n\t * @param {String} tag\n\t * @param {String} html\n\t * @param {Object} options\n\t * @return {String}\n\t */\n\n\n\tfunction onIgnoreTag(tag, html, options) {// do nothing\n\t}\n\t/**\n\t * default onTagAttr function\n\t *\n\t * @param {String} tag\n\t * @param {String} name\n\t * @param {String} value\n\t * @return {String}\n\t */\n\n\n\tfunction onTagAttr(tag, name, value) {// do nothing\n\t}\n\t/**\n\t * default onIgnoreTagAttr function\n\t *\n\t * @param {String} tag\n\t * @param {String} name\n\t * @param {String} value\n\t * @return {String}\n\t */\n\n\n\tfunction onIgnoreTagAttr(tag, name, value) {// do nothing\n\t}\n\t/**\n\t * default escapeHtml function\n\t *\n\t * @param {String} html\n\t */\n\n\n\tfunction escapeHtml(html) {\n\t return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n\t}\n\t/**\n\t * default safeAttrValue function\n\t *\n\t * @param {String} tag\n\t * @param {String} name\n\t * @param {String} value\n\t * @param {Object} cssFilter\n\t * @return {String}\n\t */\n\n\n\tfunction safeAttrValue$1(tag, name, value, cssFilter) {\n\t // unescape attribute value firstly\n\t value = friendlyAttrValue(value);\n\n\t if (name === \"href\" || name === \"src\") {\n\t // filter `href` and `src` attribute\n\t // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n\t value = util$1.trim(value);\n\t if (value === \"#\") return \"#\";\n\n\t if (!(value.substr(0, 7) === \"http://\" || value.substr(0, 8) === \"https://\" || value.substr(0, 7) === \"mailto:\" || value.substr(0, 4) === \"tel:\" || value.substr(0, 11) === \"data:image/\" || value.substr(0, 6) === \"ftp://\" || value.substr(0, 2) === \"./\" || value.substr(0, 3) === \"../\" || value[0] === \"#\" || value[0] === \"/\")) {\n\t return \"\";\n\t }\n\t } else if (name === \"background\") {\n\t // filter `background` attribute (maybe no use)\n\t // `javascript:`\n\t REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n\n\t if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n\t return \"\";\n\t }\n\t } else if (name === \"style\") {\n\t // `expression()`\n\t REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n\n\t if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n\t return \"\";\n\t } // `url()`\n\n\n\t REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n\n\t if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n\t REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n\n\t if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n\t return \"\";\n\t }\n\t }\n\n\t if (cssFilter !== false) {\n\t cssFilter = cssFilter || defaultCSSFilter;\n\t value = cssFilter.process(value);\n\t }\n\t } // escape `<>\"` before returns\n\n\n\t value = escapeAttrValue(value);\n\t return value;\n\t} // RegExp list\n\n\n\tvar REGEXP_LT = //g;\n\tvar REGEXP_QUOTE = /\"/g;\n\tvar REGEXP_QUOTE_2 = /"/g;\n\tvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\n\tvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\n\tvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim; // var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\n\n\tvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a):/gi; // var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\n\t// var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\n\n\tvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\n\tvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\t/**\n\t * escape double quote\n\t *\n\t * @param {String} str\n\t * @return {String} str\n\t */\n\n\tfunction escapeQuote(str) {\n\t return str.replace(REGEXP_QUOTE, \""\");\n\t}\n\t/**\n\t * unescape double quote\n\t *\n\t * @param {String} str\n\t * @return {String} str\n\t */\n\n\n\tfunction unescapeQuote(str) {\n\t return str.replace(REGEXP_QUOTE_2, '\"');\n\t}\n\t/**\n\t * escape html entities\n\t *\n\t * @param {String} str\n\t * @return {String}\n\t */\n\n\n\tfunction escapeHtmlEntities(str) {\n\t return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n\t return code[0] === \"x\" || code[0] === \"X\" ? String.fromCharCode(parseInt(code.substr(1), 16)) : String.fromCharCode(parseInt(code, 10));\n\t });\n\t}\n\t/**\n\t * escape html5 new danger entities\n\t *\n\t * @param {String} str\n\t * @return {String}\n\t */\n\n\n\tfunction escapeDangerHtml5Entities(str) {\n\t return str.replace(REGEXP_ATTR_VALUE_COLON, \":\").replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n\t}\n\t/**\n\t * clear nonprintable characters\n\t *\n\t * @param {String} str\n\t * @return {String}\n\t */\n\n\n\tfunction clearNonPrintableCharacter(str) {\n\t var str2 = \"\";\n\n\t for (var i = 0, len = str.length; i < len; i++) {\n\t str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n\t }\n\n\t return util$1.trim(str2);\n\t}\n\t/**\n\t * get friendly attribute value\n\t *\n\t * @param {String} str\n\t * @return {String}\n\t */\n\n\n\tfunction friendlyAttrValue(str) {\n\t str = unescapeQuote(str);\n\t str = escapeHtmlEntities(str);\n\t str = escapeDangerHtml5Entities(str);\n\t str = clearNonPrintableCharacter(str);\n\t return str;\n\t}\n\t/**\n\t * unescape attribute value\n\t *\n\t * @param {String} str\n\t * @return {String}\n\t */\n\n\n\tfunction escapeAttrValue(str) {\n\t str = escapeQuote(str);\n\t str = escapeHtml(str);\n\t return str;\n\t}\n\t/**\n\t * `onIgnoreTag` function for removing all the tags that are not in whitelist\n\t */\n\n\n\tfunction onIgnoreTagStripAll() {\n\t return \"\";\n\t}\n\t/**\n\t * remove tag body\n\t * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n\t *\n\t * @param {array} tags\n\t * @param {function} next\n\t */\n\n\n\tfunction StripTagBody(tags, next) {\n\t if (typeof next !== \"function\") {\n\t next = function next() {};\n\t }\n\n\t var isRemoveAllTag = !Array.isArray(tags);\n\n\t function isRemoveTag(tag) {\n\t if (isRemoveAllTag) return true;\n\t return util$1.indexOf(tags, tag) !== -1;\n\t }\n\n\t var removeList = [];\n\t var posStart = false;\n\t return {\n\t onIgnoreTag: function onIgnoreTag(tag, html, options) {\n\t if (isRemoveTag(tag)) {\n\t if (options.isClosing) {\n\t var ret = \"[/removed]\";\n\t var end = options.position + ret.length;\n\t removeList.push([posStart !== false ? posStart : options.position, end]);\n\t posStart = false;\n\t return ret;\n\t } else {\n\t if (!posStart) {\n\t posStart = options.position;\n\t }\n\n\t return \"[removed]\";\n\t }\n\t } else {\n\t return next(tag, html, options);\n\t }\n\t },\n\t remove: function remove(html) {\n\t var rethtml = \"\";\n\t var lastPos = 0;\n\n\t util$1.forEach(removeList, function (pos) {\n\t rethtml += html.slice(lastPos, pos[0]);\n\t lastPos = pos[1];\n\t });\n\n\t rethtml += html.slice(lastPos);\n\t return rethtml;\n\t }\n\t };\n\t}\n\t/**\n\t * remove html comments\n\t *\n\t * @param {String} html\n\t * @return {String}\n\t */\n\n\n\tfunction stripCommentTag(html) {\n\t var retHtml = \"\";\n\t var lastPos = 0;\n\n\t while (lastPos < html.length) {\n\t var i = html.indexOf(\"\", i);\n\n\t if (j === -1) {\n\t break;\n\t }\n\n\t lastPos = j + 3;\n\t }\n\n\t return retHtml;\n\t}\n\t/**\n\t * remove invisible characters\n\t *\n\t * @param {String} html\n\t * @return {String}\n\t */\n\n\n\tfunction stripBlankChar(html) {\n\t var chars = html.split(\"\");\n\t chars = chars.filter(function (char) {\n\t var c = char.charCodeAt(0);\n\t if (c === 127) return false;\n\n\t if (c <= 31) {\n\t if (c === 10 || c === 13) return true;\n\t return false;\n\t }\n\n\t return true;\n\t });\n\t return chars.join(\"\");\n\t}\n\n\tvar whiteList$1 = getDefaultWhiteList$1();\n\tvar getDefaultWhiteList_1$1 = getDefaultWhiteList$1;\n\tvar onTag_1 = onTag;\n\tvar onIgnoreTag_1 = onIgnoreTag;\n\tvar onTagAttr_1 = onTagAttr;\n\tvar onIgnoreTagAttr_1 = onIgnoreTagAttr;\n\tvar safeAttrValue_1$1 = safeAttrValue$1;\n\tvar escapeHtml_1 = escapeHtml;\n\tvar escapeQuote_1 = escapeQuote;\n\tvar unescapeQuote_1 = unescapeQuote;\n\tvar escapeHtmlEntities_1 = escapeHtmlEntities;\n\tvar escapeDangerHtml5Entities_1 = escapeDangerHtml5Entities;\n\tvar clearNonPrintableCharacter_1 = clearNonPrintableCharacter;\n\tvar friendlyAttrValue_1 = friendlyAttrValue;\n\tvar escapeAttrValue_1 = escapeAttrValue;\n\tvar onIgnoreTagStripAll_1 = onIgnoreTagStripAll;\n\tvar StripTagBody_1 = StripTagBody;\n\tvar stripCommentTag_1 = stripCommentTag;\n\tvar stripBlankChar_1 = stripBlankChar;\n\tvar cssFilter = defaultCSSFilter;\n\tvar getDefaultCSSWhiteList_1 = getDefaultCSSWhiteList;\n\tvar _default$1 = {\n\t whiteList: whiteList$1,\n\t getDefaultWhiteList: getDefaultWhiteList_1$1,\n\t onTag: onTag_1,\n\t onIgnoreTag: onIgnoreTag_1,\n\t onTagAttr: onTagAttr_1,\n\t onIgnoreTagAttr: onIgnoreTagAttr_1,\n\t safeAttrValue: safeAttrValue_1$1,\n\t escapeHtml: escapeHtml_1,\n\t escapeQuote: escapeQuote_1,\n\t unescapeQuote: unescapeQuote_1,\n\t escapeHtmlEntities: escapeHtmlEntities_1,\n\t escapeDangerHtml5Entities: escapeDangerHtml5Entities_1,\n\t clearNonPrintableCharacter: clearNonPrintableCharacter_1,\n\t friendlyAttrValue: friendlyAttrValue_1,\n\t escapeAttrValue: escapeAttrValue_1,\n\t onIgnoreTagStripAll: onIgnoreTagStripAll_1,\n\t StripTagBody: StripTagBody_1,\n\t stripCommentTag: stripCommentTag_1,\n\t stripBlankChar: stripBlankChar_1,\n\t cssFilter: cssFilter,\n\t getDefaultCSSWhiteList: getDefaultCSSWhiteList_1\n\t};\n\n\t/**\n\t * Simple HTML Parser\n\t *\n\t * @author Zongmin Lei\n\t */\n\n\t/**\n\t * get tag name\n\t *\n\t * @param {String} html e.g. ''\n\t * @return {String}\n\t */\n\n\tfunction getTagName(html) {\n\t var i = util$1.spaceIndex(html);\n\n\t var tagName;\n\n\t if (i === -1) {\n\t tagName = html.slice(1, -1);\n\t } else {\n\t tagName = html.slice(1, i + 1);\n\t }\n\n\t tagName = util$1.trim(tagName).toLowerCase();\n\t if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n\t if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n\t return tagName;\n\t}\n\t/**\n\t * is close tag?\n\t *\n\t * @param {String} html 如:''\n\t * @return {Boolean}\n\t */\n\n\n\tfunction isClosing(html) {\n\t return html.slice(0, 2) === \"\" || currentPos === len - 1) {\n\t rethtml += escapeHtml(html.slice(lastPos, tagStart));\n\t currentHtml = html.slice(tagStart, currentPos + 1);\n\t currentTagName = getTagName(currentHtml);\n\t rethtml += onTag(tagStart, rethtml.length, currentTagName, currentHtml, isClosing(currentHtml));\n\t lastPos = currentPos + 1;\n\t tagStart = false;\n\t continue;\n\t }\n\n\t if (c === '\"' || c === \"'\") {\n\t var i = 1;\n\t var ic = html.charAt(currentPos - i);\n\n\t while (ic.trim() === \"\" || ic === \"=\") {\n\t if (ic === \"=\") {\n\t quoteStart = c;\n\t continue chariterator;\n\t }\n\n\t ic = html.charAt(currentPos - ++i);\n\t }\n\t }\n\t } else {\n\t if (c === quoteStart) {\n\t quoteStart = false;\n\t continue;\n\t }\n\t }\n\t }\n\t }\n\n\t if (lastPos < len) {\n\t rethtml += escapeHtml(html.substr(lastPos));\n\t }\n\n\t return rethtml;\n\t}\n\n\tvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\\\_:.-]/gim;\n\t/**\n\t * parse input attributes and returns processed attributes\n\t *\n\t * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n\t * @param {Function} onAttr e.g. `function (name, value)`\n\t * @return {String}\n\t */\n\n\tfunction parseAttr(html, onAttr) {\n\n\t var lastPos = 0;\n\t var lastMarkPos = 0;\n\t var retAttrs = [];\n\t var tmpName = false;\n\t var len = html.length;\n\n\t function addAttr(name, value) {\n\t name = util$1.trim(name);\n\t name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n\t if (name.length < 1) return;\n\t var ret = onAttr(name, value || \"\");\n\t if (ret) retAttrs.push(ret);\n\t } // 逐个分析字符\n\n\n\t for (var i = 0; i < len; i++) {\n\t var c = html.charAt(i);\n\t var v, j;\n\n\t if (tmpName === false && c === \"=\") {\n\t tmpName = html.slice(lastPos, i);\n\t lastPos = i + 1;\n\t lastMarkPos = html.charAt(lastPos) === '\"' || html.charAt(lastPos) === \"'\" ? lastPos : findNextQuotationMark(html, i + 1);\n\t continue;\n\t }\n\n\t if (tmpName !== false) {\n\t if (i === lastMarkPos) {\n\t j = html.indexOf(c, i + 1);\n\n\t if (j === -1) {\n\t break;\n\t } else {\n\t v = util$1.trim(html.slice(lastMarkPos + 1, j));\n\t addAttr(tmpName, v);\n\t tmpName = false;\n\t i = j;\n\t lastPos = i + 1;\n\t continue;\n\t }\n\t }\n\t }\n\n\t if (/\\s|\\n|\\t/.test(c)) {\n\t html = html.replace(/\\s|\\n|\\t/g, \" \");\n\n\t if (tmpName === false) {\n\t j = findNextEqual(html, i);\n\n\t if (j === -1) {\n\t v = util$1.trim(html.slice(lastPos, i));\n\t addAttr(v);\n\t tmpName = false;\n\t lastPos = i + 1;\n\t continue;\n\t } else {\n\t i = j - 1;\n\t continue;\n\t }\n\t } else {\n\t j = findBeforeEqual(html, i - 1);\n\n\t if (j === -1) {\n\t v = util$1.trim(html.slice(lastPos, i));\n\t v = stripQuoteWrap(v);\n\t addAttr(tmpName, v);\n\t tmpName = false;\n\t lastPos = i + 1;\n\t continue;\n\t } else {\n\t continue;\n\t }\n\t }\n\t }\n\t }\n\n\t if (lastPos < html.length) {\n\t if (tmpName === false) {\n\t addAttr(html.slice(lastPos));\n\t } else {\n\t addAttr(tmpName, stripQuoteWrap(util$1.trim(html.slice(lastPos))));\n\t }\n\t }\n\n\t return util$1.trim(retAttrs.join(\" \"));\n\t}\n\n\tfunction findNextEqual(str, i) {\n\t for (; i < str.length; i++) {\n\t var c = str[i];\n\t if (c === \" \") continue;\n\t if (c === \"=\") return i;\n\t return -1;\n\t }\n\t}\n\n\tfunction findNextQuotationMark(str, i) {\n\t for (; i < str.length; i++) {\n\t var c = str[i];\n\t if (c === \" \") continue;\n\t if (c === \"'\" || c === '\"') return i;\n\t return -1;\n\t }\n\t}\n\n\tfunction findBeforeEqual(str, i) {\n\t for (; i > 0; i--) {\n\t var c = str[i];\n\t if (c === \" \") continue;\n\t if (c === \"=\") return i;\n\t return -1;\n\t }\n\t}\n\n\tfunction isQuoteWrapString(text) {\n\t if (text[0] === '\"' && text[text.length - 1] === '\"' || text[0] === \"'\" && text[text.length - 1] === \"'\") {\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t}\n\n\tfunction stripQuoteWrap(text) {\n\t if (isQuoteWrapString(text)) {\n\t return text.substr(1, text.length - 2);\n\t } else {\n\t return text;\n\t }\n\t}\n\n\tvar parseTag_1 = parseTag;\n\tvar parseAttr_1 = parseAttr;\n\tvar parser$1 = {\n\t parseTag: parseTag_1,\n\t parseAttr: parseAttr_1\n\t};\n\n\t/**\n\t * filter xss\n\t *\n\t * @author Zongmin Lei\n\t */\n\n\tvar FilterCSS$2 = lib.FilterCSS;\n\tvar parseTag$1 = parser$1.parseTag;\n\tvar parseAttr$1 = parser$1.parseAttr;\n\t/**\n\t * returns `true` if the input value is `undefined` or `null`\n\t *\n\t * @param {Object} obj\n\t * @return {Boolean}\n\t */\n\n\tfunction isNull$1(obj) {\n\t return obj === undefined || obj === null;\n\t}\n\t/**\n\t * get attributes for a tag\n\t *\n\t * @param {String} html\n\t * @return {Object}\n\t * - {String} html\n\t * - {Boolean} closing\n\t */\n\n\n\tfunction getAttrs(html) {\n\t var i = util$1.spaceIndex(html);\n\n\t if (i === -1) {\n\t return {\n\t html: \"\",\n\t closing: html[html.length - 2] === \"/\"\n\t };\n\t }\n\n\t html = util$1.trim(html.slice(i + 1, -1));\n\t var isClosing = html[html.length - 1] === \"/\";\n\t if (isClosing) html = util$1.trim(html.slice(0, -1));\n\t return {\n\t html: html,\n\t closing: isClosing\n\t };\n\t}\n\t/**\n\t * shallow copy\n\t *\n\t * @param {Object} obj\n\t * @return {Object}\n\t */\n\n\n\tfunction shallowCopyObject$1(obj) {\n\t var ret = {};\n\n\t for (var i in obj) {\n\t ret[i] = obj[i];\n\t }\n\n\t return ret;\n\t}\n\n\tfunction keysToLowerCase(obj) {\n\t var ret = {};\n\n\t for (var i in obj) {\n\t if (Array.isArray(obj[i])) {\n\t ret[i.toLowerCase()] = obj[i].map(function (item) {\n\t return item.toLowerCase();\n\t });\n\t } else {\n\t ret[i.toLowerCase()] = obj[i];\n\t }\n\t }\n\n\t return ret;\n\t}\n\t/**\n\t * FilterXSS class\n\t *\n\t * @param {Object} options\n\t * whiteList (or allowList), onTag, onTagAttr, onIgnoreTag,\n\t * onIgnoreTagAttr, safeAttrValue, escapeHtml\n\t * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n\t * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n\t */\n\n\n\tfunction FilterXSS(options) {\n\t options = shallowCopyObject$1(options || {});\n\n\t if (options.stripIgnoreTag) {\n\t if (options.onIgnoreTag) {\n\t console.error('Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time');\n\t }\n\n\t options.onIgnoreTag = _default$1.onIgnoreTagStripAll;\n\t }\n\n\t if (options.whiteList || options.allowList) {\n\t options.whiteList = keysToLowerCase(options.whiteList || options.allowList);\n\t } else {\n\t options.whiteList = _default$1.whiteList;\n\t }\n\n\t options.onTag = options.onTag || _default$1.onTag;\n\t options.onTagAttr = options.onTagAttr || _default$1.onTagAttr;\n\t options.onIgnoreTag = options.onIgnoreTag || _default$1.onIgnoreTag;\n\t options.onIgnoreTagAttr = options.onIgnoreTagAttr || _default$1.onIgnoreTagAttr;\n\t options.safeAttrValue = options.safeAttrValue || _default$1.safeAttrValue;\n\t options.escapeHtml = options.escapeHtml || _default$1.escapeHtml;\n\t this.options = options;\n\n\t if (options.css === false) {\n\t this.cssFilter = false;\n\t } else {\n\t options.css = options.css || {};\n\t this.cssFilter = new FilterCSS$2(options.css);\n\t }\n\t}\n\t/**\n\t * start process and returns result\n\t *\n\t * @param {String} html\n\t * @return {String}\n\t */\n\n\n\tFilterXSS.prototype.process = function (html) {\n\t // compatible with the input\n\t html = html || \"\";\n\t html = html.toString();\n\t if (!html) return \"\";\n\t var me = this;\n\t var options = me.options;\n\t var whiteList = options.whiteList;\n\t var onTag = options.onTag;\n\t var onIgnoreTag = options.onIgnoreTag;\n\t var onTagAttr = options.onTagAttr;\n\t var onIgnoreTagAttr = options.onIgnoreTagAttr;\n\t var safeAttrValue = options.safeAttrValue;\n\t var escapeHtml = options.escapeHtml;\n\t var cssFilter = me.cssFilter; // remove invisible characters\n\n\t if (options.stripBlankChar) {\n\t html = _default$1.stripBlankChar(html);\n\t } // remove html comments\n\n\n\t if (!options.allowCommentTag) {\n\t html = _default$1.stripCommentTag(html);\n\t } // if enable stripIgnoreTagBody\n\n\n\t var stripIgnoreTagBody = false;\n\n\t if (options.stripIgnoreTagBody) {\n\t stripIgnoreTagBody = _default$1.StripTagBody(options.stripIgnoreTagBody, onIgnoreTag);\n\t onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n\t }\n\n\t var retHtml = parseTag$1(html, function (sourcePosition, position, tag, html, isClosing) {\n\t var info = {\n\t sourcePosition: sourcePosition,\n\t position: position,\n\t isClosing: isClosing,\n\t isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag)\n\t }; // call `onTag()`\n\n\t var ret = onTag(tag, html, info);\n\t if (!isNull$1(ret)) return ret;\n\n\t if (info.isWhite) {\n\t if (info.isClosing) {\n\t return \"\";\n\t }\n\n\t var attrs = getAttrs(html);\n\t var whiteAttrList = whiteList[tag];\n\t var attrsHtml = parseAttr$1(attrs.html, function (name, value) {\n\t // call `onTagAttr()`\n\t var isWhiteAttr = util$1.indexOf(whiteAttrList, name) !== -1;\n\t var ret = onTagAttr(tag, name, value, isWhiteAttr);\n\t if (!isNull$1(ret)) return ret;\n\n\t if (isWhiteAttr) {\n\t // call `safeAttrValue()`\n\t value = safeAttrValue(tag, name, value, cssFilter);\n\n\t if (value) {\n\t return name + '=\"' + value + '\"';\n\t } else {\n\t return name;\n\t }\n\t } else {\n\t // call `onIgnoreTagAttr()`\n\t ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n\t if (!isNull$1(ret)) return ret;\n\t return;\n\t }\n\t }); // build new tag html\n\n\t html = \"<\" + tag;\n\t if (attrsHtml) html += \" \" + attrsHtml;\n\t if (attrs.closing) html += \" /\";\n\t html += \">\";\n\t return html;\n\t } else {\n\t // call `onIgnoreTag()`\n\t ret = onIgnoreTag(tag, html, info);\n\t if (!isNull$1(ret)) return ret;\n\t return escapeHtml(html);\n\t }\n\t }, escapeHtml); // if enable stripIgnoreTagBody\n\n\t if (stripIgnoreTagBody) {\n\t retHtml = stripIgnoreTagBody.remove(retHtml);\n\t }\n\n\t return retHtml;\n\t};\n\n\tvar xss = FilterXSS;\n\n\tvar lib$1 = createCommonjsModule(function (module, exports) {\n\t /**\n\t * xss\n\t *\n\t * @author Zongmin Lei\n\t */\n\n\t /**\n\t * filter xss function\n\t *\n\t * @param {String} html\n\t * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n\t * @return {String}\n\t */\n\t function filterXSS(html, options) {\n\t var xss$1 = new xss(options);\n\t return xss$1.process(html);\n\t }\n\n\t exports = module.exports = filterXSS;\n\t exports.filterXSS = filterXSS;\n\t exports.FilterXSS = xss;\n\n\t (function () {\n\t for (var i in _default$1) {\n\t exports[i] = _default$1[i];\n\t }\n\n\t for (var j in parser$1) {\n\t exports[j] = parser$1[j];\n\t }\n\t })(); // using `xss` on the browser, output `filterXSS` to the globals\n\n\n\t if (typeof window !== \"undefined\") {\n\t window.filterXSS = module.exports;\n\t } // using `xss` on the WebWorker, output `filterXSS` to the globals\n\n\n\t function isWorkerEnv() {\n\t return typeof self !== \"undefined\" && typeof DedicatedWorkerGlobalScope !== \"undefined\" && self instanceof DedicatedWorkerGlobalScope;\n\t }\n\n\t if (isWorkerEnv()) {\n\t self.filterXSS = module.exports;\n\t }\n\t});\n\tvar lib_1$1 = lib$1.filterXSS;\n\tvar lib_2 = lib$1.FilterXSS;\n\n\tvar arrayLikeToArray = createCommonjsModule(function (module) {\n\t function _arrayLikeToArray(arr, len) {\n\t if (len == null || len > arr.length) len = arr.length;\n\n\t for (var i = 0, arr2 = new Array(len); i < len; i++) {\n\t arr2[i] = arr[i];\n\t }\n\n\t return arr2;\n\t }\n\n\t module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(arrayLikeToArray);\n\n\tvar arrayWithoutHoles = createCommonjsModule(function (module) {\n\t function _arrayWithoutHoles(arr) {\n\t if (Array.isArray(arr)) return arrayLikeToArray(arr);\n\t }\n\n\t module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(arrayWithoutHoles);\n\n\tvar iterableToArray = createCommonjsModule(function (module) {\n\t function _iterableToArray(iter) {\n\t if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n\t }\n\n\t module.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(iterableToArray);\n\n\tvar unsupportedIterableToArray = createCommonjsModule(function (module) {\n\t function _unsupportedIterableToArray(o, minLen) {\n\t if (!o) return;\n\t if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\t var n = Object.prototype.toString.call(o).slice(8, -1);\n\t if (n === \"Object\" && o.constructor) n = o.constructor.name;\n\t if (n === \"Map\" || n === \"Set\") return Array.from(o);\n\t if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n\t }\n\n\t module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(unsupportedIterableToArray);\n\n\tvar nonIterableSpread = createCommonjsModule(function (module) {\n\t function _nonIterableSpread() {\n\t throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t }\n\n\t module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(nonIterableSpread);\n\n\tvar toConsumableArray = createCommonjsModule(function (module) {\n\t function _toConsumableArray(arr) {\n\t return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n\t }\n\n\t module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tvar _toConsumableArray = unwrapExports(toConsumableArray);\n\n\tvar arrayWithHoles = createCommonjsModule(function (module) {\n\t function _arrayWithHoles(arr) {\n\t if (Array.isArray(arr)) return arr;\n\t }\n\n\t module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(arrayWithHoles);\n\n\tvar iterableToArrayLimit = createCommonjsModule(function (module) {\n\t function _iterableToArrayLimit(arr, i) {\n\t var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n\t if (null != _i) {\n\t var _s,\n\t _e,\n\t _x,\n\t _r,\n\t _arr = [],\n\t _n = !0,\n\t _d = !1;\n\n\t try {\n\t if (_x = (_i = _i.call(arr)).next, 0 === i) {\n\t if (Object(_i) !== _i) return;\n\t _n = !1;\n\t } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n\t ;\n\t }\n\t } catch (err) {\n\t _d = !0, _e = err;\n\t } finally {\n\t try {\n\t if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\n\t return _arr;\n\t }\n\t }\n\n\t module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(iterableToArrayLimit);\n\n\tvar nonIterableRest = createCommonjsModule(function (module) {\n\t function _nonIterableRest() {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t }\n\n\t module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(nonIterableRest);\n\n\tvar slicedToArray = createCommonjsModule(function (module) {\n\t function _slicedToArray(arr, i) {\n\t return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n\t }\n\n\t module.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tvar _slicedToArray = unwrapExports(slicedToArray);\n\n\tfunction urlParser(address) {\n\t var urlReg = /^(?:([A-Za-z]+):)?(\\/{0,3})([0-9.\\-A-Za-z]+)(?::(\\d+))?(?:\\/([^?#]*))?(?:\\?([^#]*))?(?:#(.*))?$/;\n\n\t var _ref = address.match(urlReg) || [],\n\t _ref2 = _slicedToArray(_ref, 8),\n\t url = _ref2[0],\n\t scheme = _ref2[1],\n\t slash = _ref2[2],\n\t host = _ref2[3],\n\t port = _ref2[4],\n\t path = _ref2[5],\n\t query = _ref2[6],\n\t hash = _ref2[7];\n\n\t return {\n\t url: url,\n\t scheme: scheme,\n\t slash: slash,\n\t host: host,\n\t port: port,\n\t path: path,\n\t query: query,\n\t hash: hash\n\t };\n\t}\n\n\tvar normalizeUrl = function normalizeUrl(url) {\n\t if (url.indexOf('&#') === -1) {\n\t return url.trim().toLowerCase();\n\t }\n\n\t return url.trim().replace(/&#(?:(x)([0-9a-f]+)|([0-9]+));?/gi, function (_, f, h, d) {\n\t return String.fromCharCode(f ? parseInt(h, 16) : parseInt(d));\n\t }).toLowerCase();\n\t};\n\n\tfunction isSafeProtocol() {\n\t var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n\t if (typeof url !== 'string') {\n\t return true;\n\t }\n\n\t url = normalizeUrl(url);\n\t var replaceUrl = url.replace(/(\\t|\\n|\\r)/g, '');\n\n\t if (url !== replaceUrl) {\n\t return false;\n\t } // check javascript\n\n\n\t if (/^javascript:/i.test(url)) {\n\t // 额外过滤a href中常见的使用方式\n\t // void (0)/void 0/ false/ 空 / undefined\n\t var jsContent = url.slice('javascript:'.length).replace(/\\s/g, '').trim();\n\t var exprs = ['void', 'void(0)', 'void0', 'false', 'undefined', ';'];\n\n\t if (exprs.some(function (v) {\n\t return v === jsContent;\n\t })) {\n\t return true;\n\t }\n\n\t return false;\n\t }\n\n\t return true;\n\t}\n\tvar filterUrl = function filterUrl(sourceText) {\n\t var isSafe = isSafeProtocol(sourceText);\n\n\t if (isSafe) {\n\t return sourceText;\n\t }\n\n\t return '#';\n\t};\n\tfunction isSafeUrl() {\n\t var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\t var whiteList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\t var cb = arguments.length > 2 ? arguments[2] : undefined;\n\n\t if (typeof url !== 'string') {\n\t return true;\n\t }\n\n\t url = normalizeUrl(url);\n\n\t if (!isSafeProtocol(url)) {\n\t return false;\n\t }\n\n\t var _urlParser = urlParser(url),\n\t scheme = _urlParser.scheme,\n\t host = _urlParser.host; // custom function\n\n\n\t if (cb) {\n\t return Boolean(cb(url));\n\t } // whiteList\n\n\n\t if (['http', 'https', 'file'].includes(scheme)) {\n\t if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && window) {\n\t whiteList = [].concat(_toConsumableArray(whiteList), [location.host]);\n\t }\n\n\t return whiteList.some(function (item) {\n\t if (item instanceof RegExp && item.test(host)) {\n\t return true;\n\t } else if (item === host) {\n\t return true;\n\t }\n\n\t return false;\n\t });\n\t }\n\n\t return true;\n\t}\n\n\t/**\n\t * base64.ts\n\t *\n\t * Licensed under the BSD 3-Clause License.\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t *\n\t * References:\n\t * http://en.wikipedia.org/wiki/Base64\n\t *\n\t * @author Dan Kogai (https://github.com/dankogai)\n\t */\n\n\tvar _hasatob = typeof atob === 'function';\n\n\tvar _hasbtoa = typeof btoa === 'function';\n\n\tvar _hasBuffer = typeof Buffer === 'function';\n\n\tvar _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n\n\tvar _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n\n\tvar b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\tvar b64chs = Array.prototype.slice.call(b64ch);\n\n\tvar b64tab = function (a) {\n\t var tab = {};\n\t a.forEach(function (c, i) {\n\t return tab[c] = i;\n\t });\n\t return tab;\n\t}(b64chs);\n\n\tvar b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n\n\tvar _fromCC = String.fromCharCode.bind(String);\n\n\tvar _U8Afrom = typeof Uint8Array.from === 'function' ? Uint8Array.from.bind(Uint8Array) : function (it) {\n\t return new Uint8Array(Array.prototype.slice.call(it, 0));\n\t};\n\n\tvar _mkUriSafe = function _mkUriSafe(src) {\n\t return src.replace(/=/g, '').replace(/[+\\/]/g, function (m0) {\n\t return m0 == '+' ? '-' : '_';\n\t });\n\t};\n\n\tvar _tidyB64 = function _tidyB64(s) {\n\t return s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n\t};\n\t/**\n\t * polyfill version of `btoa`\n\t */\n\n\n\tvar btoaPolyfill = function btoaPolyfill(bin) {\n\t // console.log('polyfilled');\n\t var u32,\n\t c0,\n\t c1,\n\t c2,\n\t asc = '';\n\t var pad = bin.length % 3;\n\n\t for (var i = 0; i < bin.length;) {\n\t if ((c0 = bin.charCodeAt(i++)) > 255 || (c1 = bin.charCodeAt(i++)) > 255 || (c2 = bin.charCodeAt(i++)) > 255) throw new TypeError('invalid character found');\n\t u32 = c0 << 16 | c1 << 8 | c2;\n\t asc += b64chs[u32 >> 18 & 63] + b64chs[u32 >> 12 & 63] + b64chs[u32 >> 6 & 63] + b64chs[u32 & 63];\n\t }\n\n\t return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n\t};\n\t/**\n\t * does what `window.btoa` of web browsers do.\n\t * @param {String} bin binary string\n\t * @returns {string} Base64-encoded string\n\t */\n\n\n\tvar _btoa = _hasbtoa ? function (bin) {\n\t return btoa(bin);\n\t} : _hasBuffer ? function (bin) {\n\t return Buffer.from(bin, 'binary').toString('base64');\n\t} : btoaPolyfill;\n\n\tvar _fromUint8Array = _hasBuffer ? function (u8a) {\n\t return Buffer.from(u8a).toString('base64');\n\t} : function (u8a) {\n\t // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n\t var maxargs = 0x1000;\n\t var strs = [];\n\n\t for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n\t strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n\t }\n\n\t return _btoa(strs.join(''));\n\t};\n\t// const utob = (src: string) => unescape(encodeURIComponent(src));\n\t// reverting good old fationed regexp\n\n\n\tvar cb_utob = function cb_utob(c) {\n\t if (c.length < 2) {\n\t var cc = c.charCodeAt(0);\n\t return cc < 0x80 ? c : cc < 0x800 ? _fromCC(0xc0 | cc >>> 6) + _fromCC(0x80 | cc & 0x3f) : _fromCC(0xe0 | cc >>> 12 & 0x0f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n\t } else {\n\t var cc = 0x10000 + (c.charCodeAt(0) - 0xD800) * 0x400 + (c.charCodeAt(1) - 0xDC00);\n\t return _fromCC(0xf0 | cc >>> 18 & 0x07) + _fromCC(0x80 | cc >>> 12 & 0x3f) + _fromCC(0x80 | cc >>> 6 & 0x3f) + _fromCC(0x80 | cc & 0x3f);\n\t }\n\t};\n\n\tvar re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n\t/**\n\t * @deprecated should have been internal use only.\n\t * @param {string} src UTF-8 string\n\t * @returns {string} UTF-16 string\n\t */\n\n\tvar utob = function utob(u) {\n\t return u.replace(re_utob, cb_utob);\n\t}; //\n\n\n\tvar _encode = _hasBuffer ? function (s) {\n\t return Buffer.from(s, 'utf8').toString('base64');\n\t} : _TE ? function (s) {\n\t return _fromUint8Array(_TE.encode(s));\n\t} : function (s) {\n\t return _btoa(utob(s));\n\t};\n\t/**\n\t * converts a UTF-8-encoded string to a Base64 string.\n\t * @param {boolean} [urlsafe] if `true` make the result URL-safe\n\t * @returns {string} Base64 string\n\t */\n\n\n\tvar encode = function encode(src) {\n\t var urlsafe = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\t return urlsafe ? _mkUriSafe(_encode(src)) : _encode(src);\n\t};\n\t// const btou = (src: string) => decodeURIComponent(escape(src));\n\t// reverting good old fationed regexp\n\n\n\tvar re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n\n\tvar cb_btou = function cb_btou(cccc) {\n\t switch (cccc.length) {\n\t case 4:\n\t var cp = (0x07 & cccc.charCodeAt(0)) << 18 | (0x3f & cccc.charCodeAt(1)) << 12 | (0x3f & cccc.charCodeAt(2)) << 6 | 0x3f & cccc.charCodeAt(3),\n\t offset = cp - 0x10000;\n\t return _fromCC((offset >>> 10) + 0xD800) + _fromCC((offset & 0x3FF) + 0xDC00);\n\n\t case 3:\n\t return _fromCC((0x0f & cccc.charCodeAt(0)) << 12 | (0x3f & cccc.charCodeAt(1)) << 6 | 0x3f & cccc.charCodeAt(2));\n\n\t default:\n\t return _fromCC((0x1f & cccc.charCodeAt(0)) << 6 | 0x3f & cccc.charCodeAt(1));\n\t }\n\t};\n\t/**\n\t * @deprecated should have been internal use only.\n\t * @param {string} src UTF-16 string\n\t * @returns {string} UTF-8 string\n\t */\n\n\n\tvar btou = function btou(b) {\n\t return b.replace(re_btou, cb_btou);\n\t};\n\t/**\n\t * polyfill version of `atob`\n\t */\n\n\n\tvar atobPolyfill = function atobPolyfill(asc) {\n\t // console.log('polyfilled');\n\t asc = asc.replace(/\\s+/g, '');\n\t if (!b64re.test(asc)) throw new TypeError('malformed base64.');\n\t asc += '=='.slice(2 - (asc.length & 3));\n\t var u24,\n\t bin = '',\n\t r1,\n\t r2;\n\n\t for (var i = 0; i < asc.length;) {\n\t u24 = b64tab[asc.charAt(i++)] << 18 | b64tab[asc.charAt(i++)] << 12 | (r1 = b64tab[asc.charAt(i++)]) << 6 | (r2 = b64tab[asc.charAt(i++)]);\n\t bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n\t }\n\n\t return bin;\n\t};\n\t/**\n\t * does what `window.atob` of web browsers do.\n\t * @param {String} asc Base64-encoded string\n\t * @returns {string} binary string\n\t */\n\n\n\tvar _atob = _hasatob ? function (asc) {\n\t return atob(_tidyB64(asc));\n\t} : _hasBuffer ? function (asc) {\n\t return Buffer.from(asc, 'base64').toString('binary');\n\t} : atobPolyfill; //\n\n\n\tvar _toUint8Array = _hasBuffer ? function (a) {\n\t return _U8Afrom(Buffer.from(a, 'base64'));\n\t} : function (a) {\n\t return _U8Afrom(_atob(a).split('').map(function (c) {\n\t return c.charCodeAt(0);\n\t }));\n\t};\n\n\n\tvar _decode = _hasBuffer ? function (a) {\n\t return Buffer.from(a, 'base64').toString('utf8');\n\t} : _TD ? function (a) {\n\t return _TD.decode(_toUint8Array(a));\n\t} : function (a) {\n\t return btou(_atob(a));\n\t};\n\n\tvar _unURI = function _unURI(a) {\n\t return _tidyB64(a.replace(/[-_]/g, function (m0) {\n\t return m0 == '-' ? '+' : '/';\n\t }));\n\t};\n\t/**\n\t * converts a Base64 string to a UTF-8 string.\n\t * @param {String} src Base64 string. Both normal and URL-safe are supported\n\t * @returns {string} UTF-8 string\n\t */\n\n\n\tvar decode = function decode(src) {\n\t return _decode(_unURI(src));\n\t};\n\n\tvar _checkXSS = function _checkXSS(it) {\n\t // eslint-disable-next-line eqeqeq\n\t return it && it.Math == Math && it;\n\t};\n\n\tvar _global = _checkXSS((typeof globalThis === \"undefined\" ? \"undefined\" : _typeof(globalThis)) === 'object' && globalThis) || _checkXSS((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && window) || _checkXSS((typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === 'object' && self) || _checkXSS((typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) === 'object' && global) || Function('return this')();\n\n\tvar whiteList$2 = {\n\t a: ['target', 'title', 'spellcheck', 'rel'],\n\t canvas: [],\n\t abbr: ['title'],\n\t address: [],\n\t area: ['shape', 'coords', 'alt'],\n\t article: [],\n\t aside: [],\n\t audio: ['autoplay', 'controls', 'loop', 'preload'],\n\t b: [],\n\t bdi: ['dir'],\n\t bdo: ['dir'],\n\t big: [],\n\t blockquote: ['cite'],\n\t br: [],\n\t caption: [],\n\t center: [],\n\t cite: [],\n\t code: [],\n\t col: ['align', 'valign', 'span', 'width'],\n\t colgroup: ['align', 'valign', 'span', 'width'],\n\t dd: [],\n\t del: ['datetime'],\n\t details: ['open'],\n\t div: ['dir'],\n\t dl: [],\n\t dt: [],\n\t em: [],\n\t font: ['color', 'size', 'face'],\n\t footer: [],\n\t h1: [],\n\t h2: [],\n\t h3: [],\n\t h4: [],\n\t h5: [],\n\t h6: [],\n\t header: [],\n\t hr: [],\n\t i: [],\n\t img: ['alt', 'title', 'width', 'height', 'decoding'],\n\t ins: ['datetime'],\n\t li: [],\n\t mark: [],\n\t nav: [],\n\t ol: [],\n\t p: [],\n\t pre: [],\n\t s: [],\n\t section: [],\n\t small: [],\n\t span: [],\n\t sub: [],\n\t sup: [],\n\t delete: [],\n\t form: [],\n\t strong: [],\n\t table: ['width', 'border', 'align', 'valign'],\n\t tbody: ['align', 'valign'],\n\t td: ['width', 'rowspan', 'colspan', 'align', 'valign'],\n\t tfoot: ['align', 'valign'],\n\t th: ['width', 'rowspan', 'colspan', 'align', 'valign'],\n\t thead: ['align', 'valign'],\n\t tr: ['rowspan', 'align', 'valign'],\n\t tt: [],\n\t u: [],\n\t ul: [],\n\t wbr: [],\n\t video: ['autoplay', 'controls', 'loop', 'preload', 'height', 'width'],\n\t svg: ['viewBox', 'version', 'xmlns', 'fill', 'width', 'height', 'stroke', 'stroke-width', 'style'],\n\t path: ['d', 'fill', 'opacity', 'stroke', 'p-id', 'fill-rule', 'clip-rule', 'stroke-width', 'stroke-linecap', 'stroke-linejoin'],\n\t rect: ['x', 'y', 'width', 'height', 'fill', 'stroke', 'rx'],\n\t g: []\n\t};\n\tvar Config = {\n\t onIgnoreTagAttr: function onIgnoreTagAttr(tag, name, value) {\n\t if (tag && ['href', 'src'].indexOf(name) > -1) {\n\t if (Config.domainWhiteList && Array.isArray(Config.domainWhiteList) && Config.domainWhiteList.length > 0) {\n\t if (!isSafeUrl(value, _toConsumableArray(Config.domainWhiteList))) {\n\t return '';\n\t }\n\t }\n\n\t return \"\".concat(name, \"=\\\"\").concat(filterUrl(value), \"\\\"\");\n\t }\n\n\t if (tag && (['style', 'class', 'id'].indexOf(name) > -1 || name.indexOf('data-') > -1)) {\n\t return \"\".concat(name, \"=\\\"\").concat(value, \"\\\"\");\n\t }\n\n\t Config.xssLog && Config.xssLog({\n\t type: 'attr',\n\t tagName: tag,\n\t attrName: name,\n\t value: value\n\t });\n\t return;\n\t },\n\t onIgnoreTag: function onIgnoreTag(tag, html) {\n\t if (tag === 'style') {\n\t return html;\n\t }\n\n\t Config.xssLog && Config.xssLog({\n\t type: 'tag',\n\t tagName: tag,\n\t value: html\n\t });\n\t return;\n\t },\n\t whiteList: whiteList$2\n\t};\n\n\tvar getSlardarBid = function getSlardarBid() {\n\t var _a, _b;\n\n\t if (Config.bid) {\n\t return Config.bid;\n\t }\n\n\t var global = _global;\n\n\t if (global && global._xssBid) {\n\t return global._xssBid;\n\t }\n\n\t if (global && global.slardar && typeof global.slardar.config === 'function') {\n\t var _ref = global.slardar.config() || {},\n\t _bid = _ref.bid;\n\n\t if (_bid) {\n\t return _bid;\n\t }\n\t }\n\n\t if (global && global.Slardar && typeof global.Slardar.config === 'function') {\n\t var _ref2 = global.Slardar.config() || {},\n\t _bid2 = _ref2.bid;\n\n\t if (_bid2) {\n\t return _bid2;\n\t }\n\t }\n\n\t var bid = ((_b = (_a = global === null || global === void 0 ? void 0 : global.Slardar) === null || _a === void 0 ? void 0 : _a._baseParams) === null || _b === void 0 ? void 0 : _b.bid) || 'argus';\n\t return bid;\n\t};\n\n\tvar getConfigRegion = function getConfigRegion() {\n\t var _a;\n\n\t if (Config.region) {\n\t return Config.region;\n\t }\n\n\t var goofyRegion = ((_a = _global === null || _global === void 0 ? void 0 : _global.gfdatav1) === null || _a === void 0 ? void 0 : _a.region) || 'cn';\n\t return goofyRegion.toLowerCase();\n\t};\n\n\tvar gerReportUrl = function gerReportUrl() {\n\t if (Config.reportUrl) {\n\t return Config.reportUrl;\n\t }\n\n\t var regionMap = {\n\t cn: decode('aHR0cHM6Ly9tb24uemlqaWVhcGkuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9'),\n\t boe: decode('aHR0cHM6Ly9tb24uemlqaWVhcGkuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9'),\n\t ttp: decode('aHR0cHM6Ly9tb24udXMudGlrdG9rdi5jb20vbW9uaXRvcl9icm93c2VyL2NvbGxlY3QvYmF0Y2gvc2VjdXJpdHkvP2JpZD0='),\n\t va: decode('aHR0cHM6Ly9tb24tdmEuYnl0ZW92ZXJzZWEuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9'),\n\t sg: decode('aHR0cHM6Ly9tb24tdmEuYnl0ZW92ZXJzZWEuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9'),\n\t boei18n: decode('aHR0cHM6Ly9tb24tdmEuYnl0ZW92ZXJzZWEuY29tL21vbml0b3JfYnJvd3Nlci9jb2xsZWN0L2JhdGNoL3NlY3VyaXR5Lz9iaWQ9')\n\t };\n\t var baseUrl = regionMap[getConfigRegion()];\n\n\t if (!baseUrl) {\n\t return;\n\t }\n\n\t return baseUrl + getSlardarBid();\n\t};\n\n\tfunction _filterXSS(html) {\n\t var xss = new lib_2(Config);\n\t return xss.process(html);\n\t}\n\n\tvar classCallCheck = createCommonjsModule(function (module) {\n\t function _classCallCheck(instance, Constructor) {\n\t if (!(instance instanceof Constructor)) {\n\t throw new TypeError(\"Cannot call a class as a function\");\n\t }\n\t }\n\n\t module.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tvar _classCallCheck = unwrapExports(classCallCheck);\n\n\tvar toPrimitive = createCommonjsModule(function (module) {\n\t var _typeof = _typeof_1[\"default\"];\n\n\t function _toPrimitive(input, hint) {\n\t if (_typeof(input) !== \"object\" || input === null) return input;\n\t var prim = input[Symbol.toPrimitive];\n\n\t if (prim !== undefined) {\n\t var res = prim.call(input, hint || \"default\");\n\t if (_typeof(res) !== \"object\") return res;\n\t throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t }\n\n\t return (hint === \"string\" ? String : Number)(input);\n\t }\n\n\t module.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(toPrimitive);\n\n\tvar toPropertyKey = createCommonjsModule(function (module) {\n\t var _typeof = _typeof_1[\"default\"];\n\n\t function _toPropertyKey(arg) {\n\t var key = toPrimitive(arg, \"string\");\n\t return _typeof(key) === \"symbol\" ? key : String(key);\n\t }\n\n\t module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tunwrapExports(toPropertyKey);\n\n\tvar createClass = createCommonjsModule(function (module) {\n\t function _defineProperties(target, props) {\n\t for (var i = 0; i < props.length; i++) {\n\t var descriptor = props[i];\n\t descriptor.enumerable = descriptor.enumerable || false;\n\t descriptor.configurable = true;\n\t if (\"value\" in descriptor) descriptor.writable = true;\n\t Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n\t }\n\t }\n\n\t function _createClass(Constructor, protoProps, staticProps) {\n\t if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n\t if (staticProps) _defineProperties(Constructor, staticProps);\n\t Object.defineProperty(Constructor, \"prototype\", {\n\t writable: false\n\t });\n\t return Constructor;\n\t }\n\n\t module.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\t});\n\tvar _createClass = unwrapExports(createClass);\n\n\tvar Reporter = /*#__PURE__*/function () {\n\t function Reporter() {\n\t _classCallCheck(this, Reporter);\n\n\t this.batchData = [];\n\t this.uniqKeys = new Set();\n\t this.timeout = 2000;\n\t this.lock = false;\n\t }\n\n\t _createClass(Reporter, [{\n\t key: \"upload\",\n\t value: function upload() {\n\t var _this = this;\n\n\t var url = gerReportUrl();\n\n\t if (this.lock || !url || this.batchData.length === 0 || (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== 'object') {\n\t return;\n\t }\n\n\t this.lock = true;\n\t setTimeout(function () {\n\t var currentData = _this.batchData.slice(0, 100);\n\n\t _this.batchData = _this.batchData.slice(100);\n\t window.fetch(url, {\n\t method: 'post',\n\t body: JSON.stringify(currentData),\n\t headers: {\n\t 'Content-Type': 'application/json'\n\t }\n\t }).catch(function (e) {\n\t console.warn('xss defense report error', e);\n\t });\n\t _this.lock = false;\n\n\t _this.upload();\n\t }, this.timeout);\n\t }\n\t }, {\n\t key: \"generateKey\",\n\t value: function generateKey(data) {\n\t var props = ['type', 'url', 'sourceText'];\n\t return props.map(function (prop) {\n\t return data[prop];\n\t }).join('___');\n\t }\n\t }, {\n\t key: \"push\",\n\t value: function push(data) {\n\t var key = this.generateKey(data);\n\n\t if (this.uniqKeys.has(key)) {\n\t return;\n\t }\n\n\t this.uniqKeys.add(key);\n\t this.batchData.push(data);\n\t this.upload();\n\t }\n\t }]);\n\n\t return Reporter;\n\t}();\n\n\tvar reporter = new Reporter();\n\n\tvar report = function report(data) {\n\t if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== 'object' || !window.fetch) {\n\t return;\n\t }\n\n\t var slardarData = {\n\t age: Math.floor(Date.now()),\n\t type: 'xss',\n\t url: window.location.href,\n\t body: data,\n\t 'user-agent': ''\n\t };\n\t reporter.push(slardarData);\n\t};\n\n\tvar getDisposition = function getDisposition(reportConfig) {\n\t var _reportConfig$reportO = reportConfig.reportOnly,\n\t reportOnly = _reportConfig$reportO === void 0 ? true : _reportConfig$reportO,\n\t block = reportConfig.block; // 对所有规则设置仅上报\n\n\t if (reportOnly && reportOnly === 'all') {\n\t return 'report';\n\t }\n\n\t if (block) {\n\t return 'enforce';\n\t } // 兼容低版本,默认过滤\n\n\n\t return reportOnly ? 'report' : 'enforce';\n\t}; // 引号统一、大小写统一、去除不可见字符\n\n\n\tvar normalize = function normalize(str) {\n\t return typeof str === 'string' ? str.replace(/\\'/g, '\"').replace('=\"\"', '').replace(/\\s+/g, '').toLowerCase() : '';\n\t};\n\n\tvar logWrapper = function logWrapper(fn) {\n\t return function (sourceText, config, reportConfig) {\n\t if (!sourceText || typeof sourceText !== 'string') {\n\t return sourceText;\n\t }\n\n\t var filterText = fn(sourceText, config);\n\n\t if (normalize(filterText) === normalize(sourceText)) {\n\t return sourceText;\n\t }\n\n\t if (!reportConfig) {\n\t return filterText;\n\t }\n\n\t var type = reportConfig.logType;\n\t var disposition = getDisposition(reportConfig);\n\t report({\n\t type: type,\n\t disposition: disposition,\n\t sourceText: encode(sourceText),\n\t filterText: encode(filterText)\n\t });\n\t return disposition === 'enforce' ? filterText : sourceText;\n\t };\n\t};\n\n\tvar logUrlWrapper = function logUrlWrapper(fn) {\n\t return function (sourceText, config, reportConfig) {\n\t var filterText = fn(sourceText);\n\n\t if (filterText === sourceText) {\n\t return sourceText;\n\t }\n\n\t var _config = config || reportConfig || {};\n\n\t if (!_config) {\n\t return filterText;\n\t }\n\n\t var type = _config.logType;\n\t var disposition = getDisposition(reportConfig);\n\t report({\n\t type: type,\n\t disposition: disposition,\n\t sourceText: encode(sourceText),\n\t filterText: encode(filterText)\n\t });\n\t return disposition === 'enforce' ? filterText : sourceText;\n\t };\n\t};\n\n\tvar logFilterXSS = logWrapper(lib_1$1);\n\n\tvar _logFilterXSS = logWrapper(_filterXSS);\n\n\tvar logFilterUrl = logUrlWrapper(filterUrl);\n\tvar project = _global._xssProject || {};\n\tvar version = '2.0.80';\n\tvar xssObj = {\n\t FilterXSS: lib_2,\n\t version: version,\n\t filterXSS: logFilterXSS,\n\t _filterXSS: _logFilterXSS,\n\t filterUrl: logFilterUrl,\n\t Config: Config,\n\t project: project,\n\t setProjectName: function setProjectName(projectName) {\n\t project[projectName] = this;\n\t _global._xssProjectName = projectName;\n\t }\n\t};\n\tproject[version] = xssObj;\n\t_global.globalThis = _global;\n\n\t_global.getFilterXss = function () {\n\t // const versionList = Object.keys(project).filter(v => v.indexOf('.')) as string[];\n\t // // 默认读取高版本的xss对象\n\t // if (versionList.length > 0) {\n\t // versionList.sort((a: any, b: any) => {\n\t // const aV = a.split('.');\n\t // const bV = b.split('.');\n\t // if (aV.length !== bV.length) {\n\t // return -1;\n\t // }\n\t // for (let i = 0; i < aV.length; i++) {\n\t // if (Number(bV[i]) !== Number(aV[i])) {\n\t // return Number(bV[i]) - Number(aV[i]);\n\t // }\n\t // }\n\t // return 0;\n\t // });\n\t // const latest = versionList[0];\n\t // return project[latest];\n\t // }\n\t if (typeof this._xssProjectName !== 'undefined') {\n\t return this._xssProject[this._xssProjectName];\n\t }\n\n\t return xssObj;\n\t}; // if (Object.defineProperty && !(Object.prototype as any).getFilterXss) {\n\t// Object.defineProperty(Object.prototype, 'getFilterXss', {\n\t// value: _global.getFilterXss.bind(_global),\n\t// enumerable: false,\n\t// });\n\t// }\n\n\n\t_global.xss = xssObj;\n\t_global.isSafeUrl = isSafeUrl;\n\t_global._xssProject = project;\n\n\tif (_global._xssProjectName) {\n\t project[_global._xssProjectName] = xssObj;\n\t}\n\n\tvar setProjectName = xssObj.setProjectName.bind(xssObj);\n\n\texports.Config = Config;\n\texports.FilterXSS = lib_2;\n\texports._filterXSS = _logFilterXSS;\n\texports.filterUrl = logFilterUrl;\n\texports.filterXSS = logFilterXSS;\n\texports.isSafeUrl = isSafeUrl;\n\texports.project = project;\n\texports.setProjectName = setProjectName;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n"],"names":["exports","unwrapExports","x","__esModule","Object","prototype","hasOwnProperty","call","createCommonjsModule","fn","module","_typeof_1","_typeof","obj","Symbol","iterator","constructor","getDefaultWhiteList","whiteList","onAttr","name","value","options","onIgnoreAttr","REGEXP_URL_JAVASCRIPT","safeAttrValue","test","_default","util","indexOf","arr","item","i","j","Array","length","forEach","scope","trim","str","String","replace","trimRight","parseStyle","css","cssLength","isParenthesisOpen","lastPos","retCSS","addNewAttr","source","slice","ret","c","parser","isNull","shallowCopyObject","FilterCSS","this","process","toString","sourcePosition","position","check","isWhite","RegExp","opts","lib","filterCSS","html","window","util$1","spaceIndex","match","exec","index","FilterCSS$1","getDefaultCSSWhiteList","getDefaultWhiteList$1","a","abbr","address","area","article","aside","audio","b","bdi","bdo","big","blockquote","br","caption","center","cite","code","col","colgroup","dd","del","details","div","dl","dt","em","figcaption","figure","font","footer","h1","h2","h3","h4","h5","h6","header","hr","img","ins","li","mark","nav","ol","p","pre","s","section","small","span","sub","summary","sup","strong","strike","table","tbody","td","tfoot","th","thead","tr","tt","u","ul","video","defaultCSSFilter","onTag","tag","onIgnoreTag","onTagAttr","onIgnoreTagAttr","escapeHtml","REGEXP_LT","REGEXP_GT","safeAttrValue$1","cssFilter","friendlyAttrValue","substr","REGEXP_DEFAULT_ON_TAG_ATTR_4","lastIndex","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeAttrValue","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","escapeQuote","unescapeQuote","escapeHtmlEntities","fromCharCode","parseInt","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","len","charCodeAt","charAt","onIgnoreTagStripAll","StripTagBody","tags","next","isRemoveAllTag","isArray","isRemoveTag","removeList","posStart","isClosing","end","push","remove","rethtml","pos","stripCommentTag","retHtml","stripBlankChar","chars","split","filter","char","join","_default$1","getTagName","tagName","toLowerCase","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","chariterator","ic","REGEXP_ILLEGAL_ATTR_NAME","parseAttr","lastMarkPos","retAttrs","tmpName","addAttr","findNextEqual","findBeforeEqual","stripQuoteWrap","findNextQuotationMark","isQuoteWrapString","text","parser$1","FilterCSS$2","parseTag$1","parseAttr$1","isNull$1","getAttrs","closing","shallowCopyObject$1","keysToLowerCase","map","FilterXSS","stripIgnoreTag","console","error","allowList","me","allowCommentTag","stripIgnoreTagBody","info","attrs","whiteAttrList","attrsHtml","isWhiteAttr","xss","lib$1","filterXSS","isWorkerEnv","self","DedicatedWorkerGlobalScope","lib_1$1","lib_2","arrayLikeToArray","_arrayLikeToArray","arr2","arrayWithoutHoles","_arrayWithoutHoles","iterableToArray","_iterableToArray","iter","from","unsupportedIterableToArray","_unsupportedIterableToArray","o","minLen","n","nonIterableSpread","_nonIterableSpread","TypeError","toConsumableArray","_toConsumableArray","arrayWithHoles","_arrayWithHoles","iterableToArrayLimit","_iterableToArrayLimit","_i","_s","_e","_x","_r","_arr","_n","_d","done","err","nonIterableRest","_nonIterableRest","slicedToArray","_slicedToArray","urlParser","urlReg","_ref","_ref2","url","scheme","slash","host","port","path","query","hash","normalizeUrl","_","f","h","d","isSafeProtocol","arguments","undefined","replaceUrl","jsContent","some","v","filterUrl","sourceText","isSafeUrl","cb","_urlParser","Boolean","includes","concat","location","tab","_hasatob","atob","_hasbtoa","btoa","_hasBuffer","Buffer","_TD","TextDecoder","_TE","TextEncoder","b64ch","b64chs","b64tab","b64re","_fromCC","bind","_U8Afrom","Uint8Array","it","_mkUriSafe","src","m0","_tidyB64","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","substring","_btoa","_fromUint8Array","u8a","maxargs","strs","l","apply","subarray","cb_utob","cc","re_utob","utob","_encode","encode","re_btou","cb_btou","cccc","offset","btou","atobPolyfill","u24","r1","r2","_atob","_toUint8Array","_decode","decode","_unURI","_checkXSS","Math","_global","globalThis","g","Function","Config","domainWhiteList","xssLog","type","attrName","canvas","delete","form","wbr","svg","rect","getSlardarBid","_a","_b","bid","global","_xssBid","slardar","config","_bid","Slardar","_bid2","_baseParams","getConfigRegion","region","gfdatav1","gerReportUrl","reportUrl","baseUrl","cn","boe","ttp","va","sg","boei18n","_filterXSS","classCallCheck","_classCallCheck","instance","Constructor","toPrimitive","_toPrimitive","input","hint","prim","res","Number","toPropertyKey","_toPropertyKey","arg","key","createClass","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","reporter","Reporter","batchData","uniqKeys","Set","timeout","lock","_this","setTimeout","currentData","fetch","method","body","JSON","stringify","headers","catch","e","warn","upload","data","prop","generateKey","has","add","report","slardarData","age","floor","Date","now","href","getDisposition","reportConfig","_reportConfig$reportO","reportOnly","block","normalize","logWrapper","filterText","logType","disposition","logUrlWrapper","_config","logFilterXSS","_logFilterXSS","logFilterUrl","project","_xssProject","version","xssObj","setProjectName","projectName","_xssProjectName","getFilterXss","factory"],"sourceRoot":""}