@openplayerjs/ads 3.1.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.js +639 -103
- package/dist/index.js.map +1 -1
- package/dist/openplayer-ads.js +1 -1
- package/dist/openplayer-ads.js.map +1 -1
- package/dist/types/ad-dom.d.ts.map +1 -1
- package/dist/types/ads.d.ts.map +1 -1
- package/dist/types/schedule.d.ts +1 -1
- package/dist/types/simid.d.ts +126 -9
- package/dist/types/simid.d.ts.map +1 -1
- package/dist/types/vast-parser.d.ts +1 -1
- package/dist/types/vast-parser.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openplayer-ads.js","sources":["../../../node_modules/.pnpm/@dailymotion+vast-client@6.4.2/node_modules/@dailymotion/vast-client/dist/vast-client.min.js","../src/vast-parser.ts","../src/ad-dom.ts","../src/caption-manager.ts","../src/omid.ts","../../../node_modules/.pnpm/@dailymotion+vmap@3.3.3/node_modules/@dailymotion/vmap/dist/vmap-js.js","../src/schedule.ts","../src/simid.ts","../src/types.ts","../src/ads.ts","../src/umd.ts","../src/install.ts","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/conventions.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/entities.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/sax.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom-parser.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/index.js"],"sourcesContent":["function e(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adId:e.adId||null,sequence:e.sequence||null,apiFramework:e.apiFramework||null,universalAdIds:[],creativeExtensions:[]}}const t=[\"ADCATEGORIES\",\"ADCOUNT\",\"ADPLAYHEAD\",\"ADSERVINGID\",\"ADTYPE\",\"APIFRAMEWORKS\",\"APPBUNDLE\",\"ASSETURI\",\"BLOCKEDADCATEGORIES\",\"BREAKMAXADLENGTH\",\"BREAKMAXADS\",\"BREAKMAXDURATION\",\"BREAKMINADLENGTH\",\"BREAKMINDURATION\",\"BREAKPOSITION\",\"CLICKPOS\",\"CLICKTYPE\",\"CLIENTUA\",\"CONTENTID\",\"CONTENTPLAYHEAD\",\"CONTENTURI\",\"DEVICEIP\",\"DEVICEUA\",\"DOMAIN\",\"EXTENSIONS\",\"GDPRCONSENT\",\"IFA\",\"IFATYPE\",\"INVENTORYSTATE\",\"LATLONG\",\"LIMITADTRACKING\",\"MEDIAMIME\",\"MEDIAPLAYHEAD\",\"OMIDPARTNER\",\"PAGEURL\",\"PLACEMENTTYPE\",\"PLAYERCAPABILITIES\",\"PLAYERSIZE\",\"PLAYERSTATE\",\"PODSEQUENCE\",\"REGULATIONS\",\"SERVERSIDE\",\"SERVERUA\",\"TRANSACTIONID\",\"UNIVERSALADID\",\"VASTVERSIONS\",\"VERIFICATIONVENDORS\"];function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],n=s(e);!t.ERRORCODE||r.isCustomCode||/^[0-9]{3}$/.test(t.ERRORCODE)||(t.ERRORCODE=900),t.CACHEBUSTING=d(Math.round(1e8*Math.random())),t.TIMESTAMP=(new Date).toISOString(),t.RANDOM=t.random=t.CACHEBUSTING;for(const e in t)t[e]=c(t[e]);for(const e in n){const r=n[e];\"string\"==typeof r&&a.push(i(r,t))}return a}function i(e,r){const i=(e=a(e,r)).match(/[^[\\]]+(?=])/g);if(!i)return e;let s=i.filter((e=>t.indexOf(e)>-1));return 0===s.length?e:(s=s.reduce(((e,t)=>(e[t]=-1,e)),{}),a(e,s))}function a(e,t){let r=e;for(const e in t){const i=t[e];r=r.replace(new RegExp(\"(?:\\\\[|%%)(\".concat(e,\")(?:\\\\]|%%)\"),\"g\"),i)}return r}function s(e){return Array.isArray(e)?e.map((e=>e&&e.hasOwnProperty(\"url\")?e.url:e)):e}function n(e){return/^(https?:\\/\\/|\\/\\/)/.test(e)}function o(e,t){for(let r=0;r<t.length;r++)if(l(t[r],e))return!0;return!1}function l(e,t){if(e&&t){const r=Object.getOwnPropertyNames(e),i=Object.getOwnPropertyNames(t);return r.length===i.length&&(e.id===t.id&&e.url===t.url)}return!1}function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(e=>\"%\".concat(e.charCodeAt(0).toString(16))))}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e.toString().padStart(t,\"0\")}const u={track:function(e,t,i){r(e,t,i).forEach((e=>{if(\"undefined\"!=typeof window&&null!==window){(new Image).src=e}}))},resolveURLTemplates:r,extractURLsFromTemplates:s,filterUrlTemplates:function(e){return e.reduce(((e,t)=>{const r=t.url||t;return n(r)?e.validUrls.push(r):e.invalidUrls.push(r),e}),{validUrls:[],invalidUrls:[]})},containsTemplateObject:o,isTemplateObjectEqual:l,encodeURIComponentRFC3986:c,replaceUrlMacros:i,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},flatten:function e(t){return t.reduce(((t,r)=>t.concat(Array.isArray(r)?e(r):r)),[])},joinArrayOfUniqueTemplateObjs:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];return r.concat(i).reduce(((e,t)=>(o(t,e)||e.push(t),e)),[])},isValidTimeValue:function(e){return Number.isFinite(e)&&e>=-2},addLeadingZeros:d,isValidUrl:n,isBrowserEnvironment:function(){return\"undefined\"!=typeof window},formatMacrosValues:function(e){return\"object\"!=typeof e?e:JSON.stringify(e)}};function h(e){return[\"true\",\"TRUE\",\"True\",\"1\"].includes(e)}function p(e){if(null==e)return-1;if(u.isNumeric(e))return parseInt(e);const t=e.split(\":\");if(3!==t.length)return-1;const r=t[2].split(\".\");let i=parseInt(r[0]);2===r.length&&(i+=parseFloat(\"0.\".concat(r[1])));const a=parseInt(60*t[1]),s=parseInt(60*t[0]*60);return isNaN(s)||isNaN(a)||isNaN(i)||a>3600||i>60?-1:s+a+i}const m={childByName:function(e,t){return Array.from(e.childNodes).find((e=>e.nodeName===t))},childrenByName:function(e,t){return Array.from(e.childNodes).filter((e=>e.nodeName===t))},resolveVastAdTagURI:function(e,t){if(!t)return e;if(e.startsWith(\"//\")){const{protocol:t}=location;return\"\".concat(t).concat(e)}if(!e.includes(\"://\")){const r=t.slice(0,t.lastIndexOf(\"/\"));return\"\".concat(r,\"/\").concat(e)}return e},parseBoolean:h,parseNodeText:function(e){return e&&(e.textContent||e.text||\"\").trim()},copyNodeAttribute:function(e,t,r){const i=t.getAttribute(e);i&&r.setAttribute(e,i)},parseAttributes:function(e){return Array.from(e.attributes).reduce(((e,t)=>(e[t.nodeName]=t.nodeValue,e)),{})},parseDuration:p,getStandAloneAds:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>!parseInt(e.sequence,10)))},getSortedAdPods:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>parseInt(e.sequence,10))).sort(((e,t)=>e.sequence-t.sequence))},assignAttributes:function(e,t){e&&Array.from(e).forEach((e=>{let{nodeName:r,nodeValue:i}=e;if(r&&i&&t.hasOwnProperty(r)){let e=i;\"boolean\"==typeof t[r]&&(e=h(e)),t[r]=e}}))},mergeWrapperAdData:function(e,t){var r;e.errorURLTemplates=t.errorURLTemplates.concat(e.errorURLTemplates),e.impressionURLTemplates=t.impressionURLTemplates.concat(e.impressionURLTemplates),e.extensions=t.extensions.concat(e.extensions),t.viewableImpression.length>0&&(e.viewableImpression=[...e.viewableImpression,...t.viewableImpression]),e.followAdditionalWrappers=t.followAdditionalWrappers,e.allowMultipleAds=t.allowMultipleAds,e.fallbackOnNoAd=t.fallbackOnNoAd;const i=(t.creatives||[]).filter((e=>e&&\"companion\"===e.type)),a=i.reduce(((e,t)=>((t.variations||[]).forEach((t=>{(t.companionClickTrackingURLTemplates||[]).forEach((t=>{u.containsTemplateObject(t,e)||e.push(t)}))})),e)),[]);e.creatives=i.concat(e.creatives);const s=t.videoClickTrackingURLTemplates&&t.videoClickTrackingURLTemplates.length,n=t.videoCustomClickURLTemplates&&t.videoCustomClickURLTemplates.length;if(e.creatives.forEach((e=>{if(t.trackingEvents&&t.trackingEvents[e.type])for(const r in t.trackingEvents[e.type]){const i=t.trackingEvents[e.type][r];Array.isArray(e.trackingEvents[r])||(e.trackingEvents[r]=[]),e.trackingEvents[r]=e.trackingEvents[r].concat(i)}\"linear\"===e.type&&(s&&(e.videoClickTrackingURLTemplates=e.videoClickTrackingURLTemplates.concat(t.videoClickTrackingURLTemplates)),n&&(e.videoCustomClickURLTemplates=e.videoCustomClickURLTemplates.concat(t.videoCustomClickURLTemplates)),!t.videoClickThroughURLTemplate||null!==e.videoClickThroughURLTemplate&&void 0!==e.videoClickThroughURLTemplate||(e.videoClickThroughURLTemplate=t.videoClickThroughURLTemplate)),\"companion\"===e.type&&a.length&&(e.variations||[]).forEach((e=>{e.companionClickTrackingURLTemplates=u.joinArrayOfUniqueTemplateObjs(e.companionClickTrackingURLTemplates,a)}))})),t.adVerifications&&(e.adVerifications=e.adVerifications.concat(t.adVerifications)),t.blockedAdCategories&&(e.blockedAdCategories=e.blockedAdCategories.concat(t.blockedAdCategories)),null!==(r=t.creatives)&&void 0!==r&&r.length){const r=t.creatives.filter((e=>{var t;return(null===(t=e.icons)||void 0===t?void 0:t.length)&&!e.mediaFiles.length}));r.length&&(e.creatives=e.creatives.concat(r))}}};function g(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"companion\",required:null,variations:[]}}(r);return i.required=t.getAttribute(\"required\")||null,i.variations=m.childrenByName(t,\"Companion\").map((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adType:\"companionAd\",width:e.width||0,height:e.height||0,assetWidth:e.assetWidth||null,assetHeight:e.assetHeight||null,expandedWidth:e.expandedWidth||null,expandedHeight:e.expandedHeight||null,apiFramework:e.apiFramework||null,adSlotId:e.adSlotId||null,pxratio:e.pxratio||\"1\",renderingMode:e.renderingMode||\"default\",staticResources:[],htmlResources:[],iframeResources:[],adParameters:null,altText:null,companionClickThroughURLTemplate:null,companionClickTrackingURLTemplates:[],trackingEvents:{}}}(m.parseAttributes(e));t.htmlResources=m.childrenByName(e,\"HTMLResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.iframeResources=m.childrenByName(e,\"IFrameResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.staticResources=m.childrenByName(e,\"StaticResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat({url:r,creativeType:t.getAttribute(\"creativeType\")||null}):e}),[]),t.altText=m.parseNodeText(m.childByName(e,\"AltText\"))||null;const r=m.childByName(e,\"TrackingEvents\");r&&m.childrenByName(r,\"Tracking\").forEach((e=>{const r=e.getAttribute(\"event\"),i=m.parseNodeText(e);r&&i&&(Array.isArray(t.trackingEvents[r])||(t.trackingEvents[r]=[]),t.trackingEvents[r].push(i))})),t.companionClickTrackingURLTemplates=m.childrenByName(e,\"CompanionClickTracking\").map((e=>({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}))),t.companionClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"CompanionClickThrough\"))||null;const i=m.childByName(e,\"AdParameters\");return i&&(t.adParameters={value:m.parseNodeText(i),xmlEncoded:i.getAttribute(\"xmlEncoded\")||null}),t})),i}function v(t,r){let i;const a=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"linear\",duration:0,skipDelay:null,mediaFiles:[],mezzanine:null,interactiveCreativeFile:null,closedCaptionFiles:[],videoClickThroughURLTemplate:null,videoClickTrackingURLTemplates:[],videoCustomClickURLTemplates:[],adParameters:null,icons:[],trackingEvents:{}}}(r);a.duration=m.parseDuration(m.parseNodeText(m.childByName(t,\"Duration\")));const s=t.getAttribute(\"skipoffset\");if(null==s)a.skipDelay=null;else if(\"%\"===s.charAt(s.length-1)&&-1!==a.duration){const e=parseInt(s,10);a.skipDelay=a.duration*(e/100)}else a.skipDelay=m.parseDuration(s);const n=m.childByName(t,\"VideoClicks\");if(n){const e=m.childByName(n,\"ClickThrough\");a.videoClickThroughURLTemplate=e?{id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}:null,m.childrenByName(n,\"ClickTracking\").forEach((e=>{a.videoClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),m.childrenByName(n,\"CustomClick\").forEach((e=>{a.videoCustomClickURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}))}const o=m.childByName(t,\"AdParameters\");o&&(a.adParameters={value:m.parseNodeText(o),xmlEncoded:o.getAttribute(\"xmlEncoded\")||null}),m.childrenByName(t,\"TrackingEvents\").forEach((e=>{m.childrenByName(e,\"Tracking\").forEach((e=>{let t=e.getAttribute(\"event\");const r=m.parseNodeText(e);if(t&&r){if(\"progress\"===t){if(i=e.getAttribute(\"offset\"),!i)return;t=\"%\"===i.charAt(i.length-1)?\"progress-\".concat(i):\"progress-\".concat(m.parseDuration(i))}Array.isArray(a.trackingEvents[t])||(a.trackingEvents[t]=[]),a.trackingEvents[t].push(r)}}))})),m.childrenByName(t,\"MediaFiles\").forEach((e=>{m.childrenByName(e,\"MediaFile\").forEach((e=>{a.mediaFiles.push(function(e){const t={id:null,fileURL:null,fileSize:0,deliveryType:\"progressive\",mimeType:null,mediaType:null,codec:null,bitrate:0,minBitrate:0,maxBitrate:0,width:0,height:0,apiFramework:null,scalable:null,maintainAspectRatio:null};t.id=e.getAttribute(\"id\"),t.fileURL=m.parseNodeText(e),t.deliveryType=e.getAttribute(\"delivery\"),t.codec=e.getAttribute(\"codec\"),t.mimeType=e.getAttribute(\"type\"),t.mediaType=e.getAttribute(\"mediaType\")||\"2D\",t.apiFramework=e.getAttribute(\"apiFramework\"),t.fileSize=parseInt(e.getAttribute(\"fileSize\")||0),t.bitrate=parseInt(e.getAttribute(\"bitrate\")||0),t.minBitrate=parseInt(e.getAttribute(\"minBitrate\")||0),t.maxBitrate=parseInt(e.getAttribute(\"maxBitrate\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.height=parseInt(e.getAttribute(\"height\")||0);const r=e.getAttribute(\"scalable\");r&&\"string\"==typeof r&&(t.scalable=m.parseBoolean(r));const i=e.getAttribute(\"maintainAspectRatio\");i&&\"string\"==typeof i&&(t.maintainAspectRatio=m.parseBoolean(i));return t}(e))}));const t=m.childByName(e,\"InteractiveCreativeFile\");t&&(a.interactiveCreativeFile=function(e){const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,apiFramework:e.apiFramework||null,variableDuration:m.parseBoolean(e.variableDuration),fileURL:null}}(m.parseAttributes(e));return t.fileURL=m.parseNodeText(e),t}(t));const r=m.childByName(e,\"ClosedCaptionFiles\");r&&m.childrenByName(r,\"ClosedCaptionFile\").forEach((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,language:e.language||null,fileURL:null}}(m.parseAttributes(e));t.fileURL=m.parseNodeText(e),a.closedCaptionFiles.push(t)}));const i=m.childByName(e,\"Mezzanine\"),s=function(e,t){const r={};let i=!1;return t.forEach((t=>{e&&e.getAttribute(t)?r[t]=e.getAttribute(t):i=!0})),i?null:r}(i,[\"delivery\",\"type\",\"width\",\"height\"]);if(s){const e={id:null,fileURL:null,delivery:null,codec:null,type:null,width:0,height:0,fileSize:0,mediaType:\"2D\"};e.id=i.getAttribute(\"id\"),e.fileURL=m.parseNodeText(i),e.delivery=s.delivery,e.codec=i.getAttribute(\"codec\"),e.type=s.type,e.width=parseInt(s.width,10),e.height=parseInt(s.height,10),e.fileSize=parseInt(i.getAttribute(\"fileSize\"),10),e.mediaType=i.getAttribute(\"mediaType\")||\"2D\",a.mezzanine=e}}));const l=m.childByName(t,\"Icons\");return l&&m.childrenByName(l,\"Icon\").forEach((e=>{a.icons.push(function(e){const t={program:null,height:0,width:0,xPosition:0,yPosition:0,apiFramework:null,offset:null,duration:0,type:null,staticResource:null,htmlResource:null,iframeResource:null,pxratio:\"1\",iconClickThroughURLTemplate:null,iconClickTrackingURLTemplates:[],iconViewTrackingURLTemplate:null,iconClickFallbackImages:[],altText:null,hoverText:null};t.program=e.getAttribute(\"program\"),t.height=parseInt(e.getAttribute(\"height\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.xPosition=function(e){if(-1!==[\"left\",\"right\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"xPosition\")),t.yPosition=function(e){if(-1!==[\"top\",\"bottom\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"yPosition\")),t.apiFramework=e.getAttribute(\"apiFramework\"),t.pxratio=e.getAttribute(\"pxratio\")||\"1\",t.offset=m.parseDuration(e.getAttribute(\"offset\")),t.duration=m.parseDuration(e.getAttribute(\"duration\")),t.altText=e.getAttribute(\"altText\"),t.hoverText=e.getAttribute(\"hoverText\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"IconClicks\");if(r){t.iconClickThroughURLTemplate=m.parseNodeText(m.childByName(r,\"IconClickThrough\")),m.childrenByName(r,\"IconClickTracking\").forEach((e=>{t.iconClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}));const e=m.childByName(r,\"IconClickFallbackImages\");e&&m.childrenByName(e,\"IconClickFallbackImage\").forEach((e=>{t.iconClickFallbackImages.push({url:m.parseNodeText(e)||null,width:e.getAttribute(\"width\")||null,height:e.getAttribute(\"height\")||null})}))}return t.iconViewTrackingURLTemplate=m.parseNodeText(m.childByName(e,\"IconViewTracking\")),t}(e))})),a}function f(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"nonlinear\",variations:[],trackingEvents:{}}}(r);return m.childrenByName(t,\"TrackingEvents\").forEach((e=>{let t,r;m.childrenByName(e,\"Tracking\").forEach((e=>{t=e.getAttribute(\"event\"),r=m.parseNodeText(e),t&&r&&(Array.isArray(i.trackingEvents[t])||(i.trackingEvents[t]=[]),i.trackingEvents[t].push(r))}))})),m.childrenByName(t,\"NonLinear\").forEach((e=>{const t={id:null,width:0,height:0,expandedWidth:0,expandedHeight:0,scalable:!0,maintainAspectRatio:!0,minSuggestedDuration:0,apiFramework:\"static\",adType:\"nonLinearAd\",type:null,staticResource:null,htmlResource:null,iframeResource:null,nonlinearClickThroughURLTemplate:null,nonlinearClickTrackingURLTemplates:[],adParameters:null};t.id=e.getAttribute(\"id\")||null,t.width=e.getAttribute(\"width\"),t.height=e.getAttribute(\"height\"),t.expandedWidth=e.getAttribute(\"expandedWidth\"),t.expandedHeight=e.getAttribute(\"expandedHeight\"),t.scalable=m.parseBoolean(e.getAttribute(\"scalable\")),t.maintainAspectRatio=m.parseBoolean(e.getAttribute(\"maintainAspectRatio\")),t.minSuggestedDuration=m.parseDuration(e.getAttribute(\"minSuggestedDuration\")),t.apiFramework=e.getAttribute(\"apiFramework\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"AdParameters\");r&&(t.adParameters={value:m.parseNodeText(r),xmlEncoded:r.getAttribute(\"xmlEncoded\")||null}),t.nonlinearClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"NonLinearClickThrough\")),m.childrenByName(e,\"NonLinearClickTracking\").forEach((e=>{t.nonlinearClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),i.variations.push(t)})),i}function T(e){const t=[];return e.forEach((e=>{const r=A(e);r&&t.push(r)})),t}function A(e){if(\"#comment\"===e.nodeName)return null;const t={name:null,value:null,attributes:{},children:[]},r=e.attributes,i=e.childNodes;if(t.name=e.nodeName,e.attributes)for(const e in r)if(r.hasOwnProperty(e)){const i=r[e];i.nodeName&&i.nodeValue&&(t.attributes[i.nodeName]=i.nodeValue)}for(const e in i)if(i.hasOwnProperty(e)){const r=A(i[e]);r&&t.children.push(r)}if(0===t.children.length||1===t.children.length&&[\"#cdata-section\",\"#text\"].indexOf(t.children[0].name)>=0){const r=m.parseNodeText(e);\"\"!==r&&(t.value=r),t.children=[]}return null===(a=t).value&&0===Object.keys(a.attributes).length&&0===a.children.length?null:t;var a}function R(e){return e.getAttribute(\"AdID\")||e.getAttribute(\"adID\")||e.getAttribute(\"adId\")||null}const k={Wrapper:{subElements:[\"VASTAdTagURI\",\"Impression\"]},BlockedAdCategories:{attributes:[\"authority\"]},InLine:{subElements:[\"AdSystem\",\"AdTitle\",\"Impression\",\"AdServingId\",\"Creatives\"]},Category:{attributes:[\"authority\"]},Pricing:{attributes:[\"model\",\"currency\"]},Verification:{oneOfinLineResources:[\"JavaScriptResource\",\"ExecutableResource\"],attributes:[\"vendor\"]},UniversalAdId:{attributes:[\"idRegistry\"]},JavaScriptResource:{attributes:[\"apiFramework\",\"browserOptional\"]},ExecutableResource:{attributes:[\"apiFramework\",\"type\"]},Tracking:{attributes:[\"event\"]},Creatives:{subElements:[\"Creative\"]},Creative:{subElements:[\"UniversalAdId\"]},Linear:{subElements:[\"MediaFiles\",\"Duration\"]},MediaFiles:{subElements:[\"MediaFile\"]},MediaFile:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},Mezzanine:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},NonLinear:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},Companion:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},StaticResource:{attributes:[\"creativeType\"]},Icons:{subElements:[\"Icon\"]},Icon:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"]}};function y(e,t){if(!k[e.nodeName]||!k[e.nodeName].attributes)return;const r=k[e.nodeName].attributes.filter((t=>!e.getAttribute(t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,attributes:r},t)}function E(e,t,r){const i=k[e.nodeName],a=!r&&\"Wrapper\"!==e.nodeName;if(!i||a)return;if(i.subElements){const r=i.subElements.filter((t=>!m.childByName(e,t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,subElements:r},t)}if(!r||!i.oneOfinLineResources)return;i.oneOfinLineResources.some((t=>m.childByName(e,t)))||N({name:e.nodeName,parentName:e.parentNode.nodeName,oneOfResources:i.oneOfinLineResources},t)}function b(e){return e.children&&0!==e.children.length}function N(e,t){let{name:r,parentName:i,attributes:a,subElements:s,oneOfResources:n}=e,o=\"Element '\".concat(r,\"'\");o+=a?\" missing required attribute(s) '\".concat(a.join(\", \"),\"' \"):s?\" missing required sub element(s) '\".concat(s.join(\", \"),\"' \"):n?\" must provide one of the following '\".concat(n.join(\", \"),\"' \"):\" is empty\",t(\"VAST-warning\",{message:o,parentElement:i,specVersion:4.1})}const w={verifyRequiredValues:function e(t,r,i){if(t&&t.nodeName)if(\"InLine\"===t.nodeName&&(i=!0),y(t,r),b(t)){E(t,r,i);for(let a=0;a<t.children.length;a++)e(t.children[a],r,i)}else 0===m.parseNodeText(t).length&&N({name:t.nodeName,parentName:t.parentNode.nodeName},r)},hasSubElements:b,emitMissingValueWarning:N,verifyRequiredAttributes:y,verifyRequiredSubElements:E};function L(e,t){let{allowMultipleAds:r,followAdditionalWrappers:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=Array.from(e.childNodes).filter((e=>{const t=e.nodeName.toLowerCase();return\"inline\"===t||!1!==i&&\"wrapper\"===t}));for(const i of a){if(m.copyNodeAttribute(\"id\",e,i),m.copyNodeAttribute(\"sequence\",e,i),m.copyNodeAttribute(\"adType\",e,i),\"Wrapper\"===i.nodeName)return{ad:I(i,t),type:\"WRAPPER\"};if(\"InLine\"===i.nodeName)return{ad:C(i,t,{allowMultipleAds:r}),type:\"INLINE\"};const a=i.nodeName.toLowerCase();t(\"VAST-warning\",{message:\"<\".concat(i.nodeName,\"inline\"===a?\"> must be written <InLine>\":\"> must be written <Wrapper>\"),wrongNode:i})}}function C(e,t){let{allowMultipleAds:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!1===r&&e.getAttribute(\"sequence\")?null:U(e,t)}function U(e,t){let r=[];t&&w.verifyRequiredValues(e,t);const i=Array.from(e.childNodes),a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,sequence:e.sequence||null,adType:e.adType||null,adServingId:null,categories:[],expires:null,viewableImpression:[],system:null,title:null,description:null,advertiser:null,pricing:null,survey:null,errorURLTemplates:[],impressionURLTemplates:[],creatives:[],extensions:[],adVerifications:[],blockedAdCategories:[],followAdditionalWrappers:!0,allowMultipleAds:!1,fallbackOnNoAd:null}}(m.parseAttributes(e));return i.forEach((e=>{switch(e.nodeName){case\"Error\":a.errorURLTemplates.push(m.parseNodeText(e));break;case\"Impression\":a.impressionURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)});break;case\"Creatives\":a.creatives=function(e){const t=[];return e.forEach((e=>{const r={id:e.getAttribute(\"id\")||null,adId:R(e),sequence:e.getAttribute(\"sequence\")||null,apiFramework:e.getAttribute(\"apiFramework\")||null},i=[];let a;m.childrenByName(e,\"UniversalAdId\").forEach((e=>{const t={idRegistry:e.getAttribute(\"idRegistry\")||\"unknown\",value:m.parseNodeText(e)};i.push(t)}));const s=m.childByName(e,\"CreativeExtensions\");s&&(a=T(m.childrenByName(s,\"CreativeExtension\")));for(const s in e.childNodes){const n=e.childNodes[s];let o;switch(n.nodeName){case\"Linear\":o=v(n,r);break;case\"NonLinearAds\":o=f(n,r);break;case\"CompanionAds\":o=g(n,r)}o&&(i&&(o.universalAdIds=i),a&&(o.creativeExtensions=a),t.push(o))}})),t}(m.childrenByName(e,\"Creative\"));break;case\"Extensions\":{const t=m.childrenByName(e,\"Extension\");a.extensions=T(t),a.adVerifications.length||(r=function(e){let t=null,r=[];e.some((e=>t=m.childByName(e,\"AdVerifications\"))),t&&(r=x(m.childrenByName(t,\"Verification\")));return r}(t));break}case\"AdVerifications\":a.adVerifications=x(m.childrenByName(e,\"Verification\"));break;case\"AdSystem\":a.system={value:m.parseNodeText(e),version:e.getAttribute(\"version\")||null};break;case\"AdTitle\":a.title=m.parseNodeText(e);break;case\"AdServingId\":a.adServingId=m.parseNodeText(e);break;case\"Category\":a.categories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)});break;case\"Expires\":a.expires=parseInt(m.parseNodeText(e),10);break;case\"ViewableImpression\":a.viewableImpression.push(function(e){const t=(e,t)=>{const r=m.parseNodeText(t);return r&&e.push(r),e};return{id:e.getAttribute(\"id\")||null,viewable:m.childrenByName(e,\"Viewable\").reduce(t,[]),notViewable:m.childrenByName(e,\"NotViewable\").reduce(t,[]),viewUndetermined:m.childrenByName(e,\"ViewUndetermined\").reduce(t,[])}}(e));break;case\"Description\":a.description=m.parseNodeText(e);break;case\"Advertiser\":a.advertiser={id:e.getAttribute(\"id\")||null,value:m.parseNodeText(e)};break;case\"Pricing\":a.pricing={value:m.parseNodeText(e),model:e.getAttribute(\"model\")||null,currency:e.getAttribute(\"currency\")||null};break;case\"Survey\":a.survey={value:m.parseNodeText(e),type:e.getAttribute(\"type\")||null};break;case\"BlockedAdCategories\":a.blockedAdCategories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)})}})),r.length&&(a.adVerifications=a.adVerifications.concat(r)),a}function I(e,t){const r=U(e,t),i=e.getAttribute(\"followAdditionalWrappers\"),a=e.getAttribute(\"allowMultipleAds\"),s=e.getAttribute(\"fallbackOnNoAd\");r.followAdditionalWrappers=!i||m.parseBoolean(i),r.allowMultipleAds=!!a&&m.parseBoolean(a),r.fallbackOnNoAd=s?m.parseBoolean(s):null;let n=m.childByName(e,\"VASTAdTagURI\");if(n?r.nextWrapperURL=m.parseNodeText(n):(n=m.childByName(e,\"VASTAdTagURL\"),n&&(r.nextWrapperURL=m.parseNodeText(m.childByName(n,\"URL\")))),r.creatives.forEach((e=>{if([\"linear\",\"nonlinear\"].includes(e.type)){if(e.trackingEvents){r.trackingEvents||(r.trackingEvents={}),r.trackingEvents[e.type]||(r.trackingEvents[e.type]={});for(const t in e.trackingEvents){const i=e.trackingEvents[t];Array.isArray(r.trackingEvents[e.type][t])||(r.trackingEvents[e.type][t]=[]),i.forEach((i=>{r.trackingEvents[e.type][t].push(i)}))}}e.videoClickTrackingURLTemplates&&(Array.isArray(r.videoClickTrackingURLTemplates)||(r.videoClickTrackingURLTemplates=[]),e.videoClickTrackingURLTemplates.forEach((e=>{r.videoClickTrackingURLTemplates.push(e)}))),e.videoClickThroughURLTemplate&&(r.videoClickThroughURLTemplate=e.videoClickThroughURLTemplate),e.videoCustomClickURLTemplates&&(Array.isArray(r.videoCustomClickURLTemplates)||(r.videoCustomClickURLTemplates=[]),e.videoCustomClickURLTemplates.forEach((e=>{r.videoCustomClickURLTemplates.push(e)})))}})),r.nextWrapperURL)return r}function x(e){const t=[];return e.forEach((e=>{const r={resource:null,vendor:null,browserOptional:!1,apiFramework:null,type:null,parameters:null,trackingEvents:{}},i=Array.from(e.childNodes);m.assignAttributes(e.attributes,r),i.forEach((e=>{let{nodeName:t,textContent:i,attributes:a}=e;switch(t){case\"JavaScriptResource\":case\"ExecutableResource\":r.resource=i.trim(),m.assignAttributes(a,r);break;case\"VerificationParameters\":r.parameters=i.trim()}}));const a=m.childByName(e,\"TrackingEvents\");a&&m.childrenByName(a,\"Tracking\").forEach((e=>{const t=e.getAttribute(\"event\"),i=m.parseNodeText(e);t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))})),t.push(r)})),t}class S{constructor(){this._handlers=[]}on(e,t){if(\"function\"!=typeof t)throw new TypeError(\"The handler argument must be of type Function. Received type \".concat(typeof t));if(!e)throw new TypeError(\"The event argument must be of type String. Received type \".concat(typeof e));return this._handlers.push({event:e,handler:t}),this}once(e,t){return this.on(e,function(e,t,r){const i={fired:!1,wrapFn:void 0};function a(){i.fired||(e.off(t,i.wrapFn),i.fired=!0,r.bind(e)(...arguments))}return i.wrapFn=a,a}(this,e,t))}off(e,t){return this._handlers=this._handlers.filter((r=>r.event!==e||r.handler!==t)),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];let a=!1;return this._handlers.forEach((t=>{\"*\"===t.event&&(a=!0,t.handler(e,...r)),t.event===e&&(a=!0,t.handler(...r))})),a}removeAllListeners(e){return e?(this._handlers=this._handlers.filter((t=>t.event!==e)),this):(this._handlers=[],this)}listenerCount(e){return this._handlers.filter((t=>t.event===e)).length}listeners(e){return this._handlers.reduce(((t,r)=>(r.event===e&&t.push(r.handler),t)),[])}eventNames(){return this._handlers.map((e=>e.event))}}let V=0,D=0;const O=(e,t)=>{if(!e||!t||e<=0||t<=0)return;D=(D*V+8*e/t)/++V},F={ERRORCODE:900,extensions:[]},P=\"VAST response version not supported\";class B extends S{constructor(){let{fetcher:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.maxWrapperDepth=null,this.rootErrorURLTemplates=[],this.errorURLTemplates=[],this.remainingAds=[],this.parsingOptions={},this.fetcher=e||null,this.keepFailedAdPod=!1}trackVastError(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];this.emit(\"VAST-error\",Object.assign({},F,t,...i)),u.track(e,t)}getErrorURLTemplates(){return this.rootErrorURLTemplates.concat(this.errorURLTemplates)}getEstimatedBitrate(){return D}initParsingStatus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.maxWrapperDepth=e.wrapperLimit||10,this.parsingOptions={allowMultipleAds:e.allowMultipleAds},this.keepFailedAdPod=e.keepFailedAdPod||!1,this.rootURL=\"\",this.resetParsingStatus(),O(e.byteLength,e.requestDuration)}resetParsingStatus(){this.errorURLTemplates=[],this.rootErrorURLTemplates=[],this.vastVersion=null}getRemainingAds(e){if(0===this.remainingAds.length)return Promise.reject(new Error(\"No more ads are available for the given VAST\"));const t=e?this.remainingAds:[this.remainingAds.shift()];return this.errorURLTemplates=[],this.resolveAds(t,{wrapperDepth:0,url:this.rootURL}).then((e=>this.buildVASTResponse(e)))}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(t),t.isRootVAST=!0,this.parse(e,t).then((e=>this.buildVASTResponse(e)))}buildVASTResponse(e){const t=function(e){let{ads:t,errorURLTemplates:r,version:i}=e;return{ads:t||[],errorURLTemplates:r||[],version:i||null}}({ads:e,errorURLTemplates:this.getErrorURLTemplates(),version:this.vastVersion});return this.completeWrapperResolving(t),t}parseVastXml(e,t){let{isRootVAST:r=!1,url:i=null,wrapperDepth:a=0,allowMultipleAds:s,followAdditionalWrappers:n}=t;if(!e||!e.documentElement||\"VAST\"!==e.documentElement.nodeName){var o;this.emit(\"VAST-ad-parsed\",{type:\"ERROR\",url:i,wrapperDepth:a});const t=\"VideoAdServingTemplate\"===(null==e||null===(o=e.documentElement)||void 0===o?void 0:o.nodeName);throw new Error(t?P:\"Invalid VAST XMLDocument\")}const l=[],c=e.documentElement.childNodes,d=e.documentElement.getAttribute(\"version\");r&&d&&(this.vastVersion=d);for(const e in c){const t=c[e];if(\"Error\"===t.nodeName){const e=m.parseNodeText(t);r?this.rootErrorURLTemplates.push(e):this.errorURLTemplates.push(e)}else if(\"Ad\"===t.nodeName){if(this.vastVersion&&parseFloat(this.vastVersion)<3)s=!0;else if(!1===s&&l.length>1)break;const e=L(t,this.emit.bind(this),{allowMultipleAds:s,followAdditionalWrappers:n});e.ad?(l.push(e.ad),this.emit(\"VAST-ad-parsed\",{type:e.type,url:i,wrapperDepth:a,adIndex:l.length-1,vastVersion:d})):this.trackVastError(this.getErrorURLTemplates(),{ERRORCODE:101})}}return l}parse(e){let{url:t=null,resolveAll:r=!0,wrapperSequence:i=null,previousUrl:a=null,wrapperDepth:s=0,isRootVAST:n=!1,followAdditionalWrappers:o,allowMultipleAds:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=[];this.vastVersion&&parseFloat(this.vastVersion)<3&&n&&(l=!0);try{c=this.parseVastXml(e,{isRootVAST:n,url:t,wrapperDepth:s,allowMultipleAds:l,followAdditionalWrappers:o})}catch(e){return Promise.reject(e)}if(1===c.length&&null!=i&&(c[0].sequence=i),!1===r){const e=m.getSortedAdPods(c),t=m.getStandAloneAds(c);e.length?c=e:t.length&&(c=[t.shift()]),this.remainingAds=t}return this.resolveAds(c,{wrapperDepth:s,previousUrl:a,url:t})}resolveAds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{wrapperDepth:t,previousUrl:r,url:i}=arguments.length>1?arguments[1]:void 0;const a=[];return r=i,e.forEach((e=>{const i=this.resolveWrappers(e,t,r);a.push(i)})),Promise.all(a).then((e=>u.flatten(e)))}resolveWrappers(e,t,r){const i={...e};return new Promise((e=>{var a;if(t++,!i.nextWrapperURL)return delete i.nextWrapperURL,e(i);if(!this.fetcher)return i.VASTAdTagURI=i.nextWrapperURL,delete i.nextWrapperURL,e(i);if(t>=this.maxWrapperDepth)return i.errorCode=302,delete i.nextWrapperURL,e(i);i.nextWrapperURL=m.resolveVastAdTagURI(i.nextWrapperURL,r);const s=null!==(a=this.parsingOptions.allowMultipleAds)&&void 0!==a?a:i.allowMultipleAds,n=i.sequence;this.fetcher.fetchVAST({url:i.nextWrapperURL,emitter:this.emit.bind(this),maxWrapperDepth:this.maxWrapperDepth}).then((a=>this.parse(a,{url:i.nextWrapperURL,previousUrl:r,wrapperSequence:n,wrapperDepth:t,followAdditionalWrappers:i.followAdditionalWrappers,allowMultipleAds:s}).then((t=>{if(delete i.nextWrapperURL,0===t.length)return i.creatives=[],e(i);t.forEach((e=>{e&&m.mergeWrapperAdData(e,i)})),e(t)})))).catch((t=>{i.errorCode=t.message===P?102:301,i.errorMessage=t.message,e(i)}))}))}completeWrapperResolving(e){if(0===e.ads.length)this.trackVastError(e.errorURLTemplates,{ERRORCODE:303});else for(let t=e.ads.length-1;t>=0;t--){const r=e.ads[t],i=!r.creatives.some((e=>{var t,r;return(null===(t=e.mediaFiles)||void 0===t?void 0:t.length)>0||(null===(r=e.variations)||void 0===r?void 0:r.length)>0}));!r.errorCode&&!i||r.VASTAdTagURI||(this.trackVastError(r.errorURLTemplates.concat(e.errorURLTemplates),{ERRORCODE:r.errorCode||303},{ERRORMESSAGE:r.errorMessage||\"\"},{extensions:r.extensions},{system:r.system}),this.keepFailedAdPod&&r.sequence?r.hasFailed=!0:e.ads.splice(t,1))}}}let M=null;const W={data:{},length:0,getItem(e){return this.data[e]},setItem(e,t){this.data[e]=t,this.length=Object.keys(this.data).length},removeItem(e){delete this.data[e],this.length=Object.keys(this.data).length},clear(){this.data={},this.length=0}};class j{constructor(){this.storage=this.initStorage()}initStorage(){if(M)return M;try{M=\"undefined\"!=typeof window&&null!==window?window.localStorage||window.sessionStorage:null}catch(e){M=null}return M&&!this.isStorageDisabled(M)||(M=W,M.clear()),M}isStorageDisabled(e){const t=\"__VASTStorage__\";try{if(e.setItem(t,t),e.getItem(t)!==t)return e.removeItem(t),!0}catch(e){return!0}return e.removeItem(t),!1}getItem(e){return this.storage.getItem(e)}setItem(e,t){return this.storage.setItem(e,t)}removeItem(e){return this.storage.removeItem(e)}clear(){return this.storage.clear()}}const q=12e4;const K={get:async function(e,t){try{const r=new AbortController,i=setTimeout((()=>{throw r.abort(),new Error(\"URLHandler: Request timed out after \".concat(t.timeout||q,\" ms (408)\"))}),t.timeout||q),a=await fetch(e,{...t,signal:r.signal,credentials:t.withCredentials?\"include\":\"omit\"}).finally((()=>{clearTimeout(i)})),s=function(e){return u.isBrowserEnvironment()&&\"https:\"===window.location.protocol&&e.url.includes(\"http://\")?\"URLHandler: Cannot go from HTTPS to HTTP.\":200===e.status&&e.ok?null:\"URLHandler: \".concat(e.statusText,\" (\").concat(e.status,\")\")}(a);return s?{error:new Error(s),statusCode:a.status}:async function(e){const t=await e.text();let r;r=u.isBrowserEnvironment()?new DOMParser:new((await import(\"@xmldom/xmldom\")).DOMParser);return{xml:r.parseFromString(t,\"text/xml\"),details:{byteLength:t.length,statusCode:e.status,rawXml:t}}}(a)}catch(e){return{error:e,statusCode:\"AbortError\"===e.name?408:null}}}};class H{constructor(){this.URLTemplateFilters=[]}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.urlHandler=e.urlHandler||e.urlhandler||K,this.fetchingOptions={...e.fetchOptions,timeout:e.timeout||q,withCredentials:Boolean(e.withCredentials)}}addURLTemplateFilter(e){\"function\"==typeof e&&this.URLTemplateFilters.push(e)}removeLastURLTemplateFilter(){this.URLTemplateFilters.pop()}countURLTemplateFilters(){return this.URLTemplateFilters.length}clearURLTemplateFilters(){this.URLTemplateFilters=[]}async fetchVAST(e){var t;let{url:r,maxWrapperDepth:i,emitter:a,wrapperDepth:s=0,previousUrl:n=null,wrapperAd:o=null}=e;const l=Date.now();this.URLTemplateFilters.forEach((e=>{r=e(r)})),a(\"VAST-resolving\",{url:r,previousUrl:n,wrapperDepth:s,maxWrapperDepth:i,timeout:this.fetchingOptions.timeout,wrapperAd:o});const c=await this.urlHandler.get(r,this.fetchingOptions),d=Math.round(Date.now()-l);if(a(\"VAST-resolved\",{url:r,previousUrl:n,wrapperDepth:s,error:(null==c?void 0:c.error)||null,duration:d,statusCode:(null==c?void 0:c.statusCode)||null,...null==c?void 0:c.details}),O(null==c||null===(t=c.details)||void 0===t?void 0:t.byteLength,d),c.error)throw new Error(c.error);return c.xml}}class _{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new j;this.cappingFreeLunch=e,this.cappingMinimumTimeInterval=t,this.fetcher=new H,this.vastParser=new B({fetcher:this.fetcher}),this.storage=r,void 0===this.lastSuccessfulAd&&(this.lastSuccessfulAd=0),void 0===this.totalCalls&&(this.totalCalls=0),void 0===this.totalCallsTimeout&&(this.totalCallsTimeout=0)}addURLTemplateFilter(e){this.fetcher.addURLTemplateFilter(e)}removeLastURLTemplateFilter(){this.fetcher.removeLastURLTemplateFilter()}countURLTemplateFilters(){return this.fetcher.countURLTemplateFilters()}clearURLTemplateFilters(){this.fetcher.clearURLTemplateFilters()}getParser(){return this.vastParser}get lastSuccessfulAd(){return this.storage.getItem(\"vast-client-last-successful-ad\")}set lastSuccessfulAd(e){this.storage.setItem(\"vast-client-last-successful-ad\",e)}get totalCalls(){return this.storage.getItem(\"vast-client-total-calls\")}set totalCalls(e){this.storage.setItem(\"vast-client-total-calls\",e)}get totalCallsTimeout(){return this.storage.getItem(\"vast-client-total-calls-timeout\")}set totalCallsTimeout(e){this.storage.setItem(\"vast-client-total-calls-timeout\",e)}hasRemainingAds(){return this.vastParser.remainingAds.length>0}getNextAds(e){return this.vastParser.getRemainingAds(e)}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.fetcher.setOptions(t),this.vastParser.parseVAST(e,t)}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Date.now();return t.hasOwnProperty(\"resolveAll\")||(t.resolveAll=!1),this.totalCallsTimeout<r?(this.totalCalls=1,this.totalCallsTimeout=r+36e5):this.totalCalls++,new Promise(((i,a)=>{if(this.cappingFreeLunch>=this.totalCalls)return a(new Error(\"VAST call canceled – FreeLunch capping not reached yet \".concat(this.totalCalls,\"/\").concat(this.cappingFreeLunch)));const s=r-this.lastSuccessfulAd;if(s<0)this.lastSuccessfulAd=0;else if(s<this.cappingMinimumTimeInterval)return a(new Error(\"VAST call canceled – (\".concat(this.cappingMinimumTimeInterval,\")ms minimum interval reached\")));this.vastParser.initParsingStatus(t),this.fetcher.setOptions(t),this.vastParser.rootURL=e,this.fetcher.fetchVAST({url:e,emitter:this.vastParser.emit.bind(this.vastParser),maxWrapperDepth:this.vastParser.maxWrapperDepth}).then((r=>(t.previousUrl=e,t.isRootVAST=!0,t.url=e,this.vastParser.parse(r,t).then((e=>{const t=this.vastParser.buildVASTResponse(e);i(t)}))))).catch((e=>a(e)))}))}}class z extends S{constructor(e,t,r){var i;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.ad=t,this.creative=r,this.variation=a,this.muted=s,this.impressed=!1,this.skippable=!1,this.trackingEvents={},this.trackedProgressEvents=[],this.lastPercentage=0,this._alreadyTriggeredQuartiles={},this.emitAlwaysEvents=[\"creativeView\",\"start\",\"firstQuartile\",\"midpoint\",\"thirdQuartile\",\"complete\",\"resume\",\"pause\",\"rewind\",\"skip\",\"closeLinear\",\"close\"];for(const e in this.creative.trackingEvents){const t=this.creative.trackingEvents[e];this.trackingEvents[e]=t.slice(0)}this.viewableImpressionTrackers=(null===(i=this.ad.viewableImpression)||void 0===i?void 0:i.reduce(((e,t)=>(e.notViewable.push(...t.notViewable),e.viewUndetermined.push(...t.viewUndetermined),e.viewable.push(...t.viewable),e)),{notViewable:[],viewUndetermined:[],viewable:[]}))||{},Object.entries(this.viewableImpressionTrackers).forEach((e=>{let[t,r]=e;r.length&&(this.trackingEvents[t]=r)})),!function(e){return\"linear\"===e.type}(this.creative)?this._initVariationTracking():this._initLinearTracking(),e&&this.on(\"start\",(()=>{e.lastSuccessfulAd=Date.now()}))}_initLinearTracking(){this.linear=!0,this.skipDelay=this.creative.skipDelay,this.setDuration(this.creative.duration),this.clickThroughURLTemplate=this.creative.videoClickThroughURLTemplate,this.clickTrackingURLTemplates=this.creative.videoClickTrackingURLTemplates}_initVariationTracking(){if(this.linear=!1,this.skipDelay=-1,this.variation){for(const e in this.variation.trackingEvents){const t=this.variation.trackingEvents[e];this.trackingEvents[e]?this.trackingEvents[e]=this.trackingEvents[e].concat(t.slice(0)):this.trackingEvents[e]=t.slice(0)}\"nonLinearAd\"===this.variation.adType?(this.clickThroughURLTemplate=this.variation.nonlinearClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.nonlinearClickTrackingURLTemplates,this.setDuration(this.variation.minSuggestedDuration)):function(e){return\"companionAd\"===e.adType}(this.variation)&&(this.clickThroughURLTemplate=this.variation.companionClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.companionClickTrackingURLTemplates)}}setDuration(e){u.isValidTimeValue(e)?(this.assetDuration=e,this.quartiles={firstQuartile:Math.round(25*this.assetDuration)/100,midpoint:Math.round(50*this.assetDuration)/100,thirdQuartile:Math.round(75*this.assetDuration)/100}):this.emit(\"TRACKER-error\",{message:\"the duration provided is not valid. duration: \".concat(e)})}setProgress(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!u.isValidTimeValue(e)||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given setProgress parameter has the wrong type. progress: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});const i=this.skipDelay||-1;if(-1===i||this.skippable||(i>e?this.emit(\"skip-countdown\",i-e):(this.skippable=!0,this.emit(\"skip-countdown\",0))),this.assetDuration>0){const i=Math.round(e/this.assetDuration*100),a=[];if(e>0){a.push(\"start\");for(let e=this.lastPercentage;e<i;e++)a.push(\"progress-\".concat(e+1,\"%\"));a.push(\"progress-\".concat(e));for(const t in this.quartiles)this.isQuartileReached(t,this.quartiles[t],e)&&(a.push(t),this._alreadyTriggeredQuartiles[t]=!0);this.lastPercentage=i}a.forEach((e=>{this.track(e,{macros:t,once:r})})),e<this.progress&&(this.track(\"rewind\",{macros:t}),this.trackedProgressEvents&&this.trackedProgressEvents.splice(0))}this.progress=e}isQuartileReached(e,t,r){let i=!1;return t<=r&&!this._alreadyTriggeredQuartiles[e]&&(i=!0),i}setMuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.muted!==e&&this.track(e?\"mute\":\"unmute\",{macros:t}),this.muted=e):this.emit(\"TRACKER-error\",{message:\"One given setMuted parameter has the wrong type. muted: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setPaused(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.paused!==e&&this.track(e?\"pause\":\"resume\",{macros:t}),this.paused=e):this.emit(\"TRACKER-error\",{message:\"One given setPaused parameter has the wrong type. paused: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setFullscreen(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.fullscreen!==e&&this.track(e?\"fullscreen\":\"exitFullscreen\",{macros:t}),this.fullscreen=e):this.emit(\"TRACKER-error\",{message:\"One given setFullScreen parameter has the wrong type. fullscreen: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setExpand(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.expanded!==e&&(this.track(e?\"expand\":\"collapse\",{macros:t}),this.track(e?\"playerExpand\":\"playerCollapse\",{macros:t})),this.expanded=e):this.emit(\"TRACKER-error\",{message:\"One given setExpand parameter has the wrong type. expanded: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setSkipDelay(e){u.isValidTimeValue(e)?this.skipDelay=e:this.emit(\"TRACKER-error\",{message:\"setSkipDelay parameter does not have a valid value. duration: \".concat(e)})}trackImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.impressed||(this.impressed=!0,this.trackURLs(this.ad.impressionURLTemplates,e),this.track(\"creativeView\",{macros:e})):this.emit(\"TRACKER-error\",{message:\"trackImpression parameter has the wrong type. macros: \".concat(e)})}trackViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackNotViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"notViewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackNotViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackUndeterminedImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewUndetermined\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackUndeterminedImpression given macros has the wrong type. macros: \".concat(e)})}error(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e&&\"boolean\"==typeof t?this.trackURLs(this.ad.errorURLTemplates,e,{isCustomCode:t}):this.emit(\"TRACKER-error\",{message:\"One given error parameter has the wrong type. macros: \".concat(u.formatMacrosValues(e),\", isCustomCode: \").concat(t)})}errorWithCode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"string\"==typeof e&&\"boolean\"==typeof t?(this.error({ERRORCODE:e},t),console.log(\"The method errorWithCode is deprecated, please use vast tracker error method instead\")):this.emit(\"TRACKER-error\",{message:\"One given errorWithCode parameter has the wrong type. errorCode: \".concat(e,\", isCustomCode: \").concat(t)})}complete(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"complete\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"complete given macros has the wrong type. macros: \".concat(e)})}notUsed(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?(this.track(\"notUsed\",{macros:e}),this.trackingEvents=[]):this.emit(\"TRACKER-error\",{message:\"notUsed given macros has the wrong type. macros: \".concat(e)})}otherAdInteraction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"otherAdInteraction\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"otherAdInteraction given macros has the wrong type. macros: \".concat(e)})}acceptInvitation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"acceptInvitation\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"acceptInvitation given macros has the wrong type. macros: \".concat(e)})}adExpand(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adExpand\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adExpand given macros has the wrong type. macros: \".concat(e)})}adCollapse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adCollapse\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adCollapse given macros has the wrong type. macros: \".concat(e)})}minimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"minimize\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"minimize given macros has the wrong type. macros: \".concat(e)})}verificationNotExecuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given verificationNotExecuted parameter has to wrong type. vendor: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});if(!this.ad||!this.ad.adVerifications||!this.ad.adVerifications.length)throw new Error(\"No adVerifications provided\");if(!e)throw new Error(\"No vendor provided, unable to find associated verificationNotExecuted\");const r=this.ad.adVerifications.find((t=>t.vendor===e));if(!r)throw new Error(\"No associated verification element found for vendor: \".concat(e));const i=r.trackingEvents;if(i&&i.verificationNotExecuted){const e=i.verificationNotExecuted;this.trackURLs(e,t),this.emit(\"verificationNotExecuted\",{trackingURLTemplates:e})}}overlayViewDuration(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"string\"==typeof e&&\"object\"==typeof t?(t.ADPLAYHEAD=e,this.track(\"overlayViewDuration\",{macros:t})):this.emit(\"TRACKER-error\",{message:\"One given overlayViewDuration parameters has the wrong type. formattedDuration: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(this.linear?\"closeLinear\":\"close\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"close given macros has the wrong type. macros: \".concat(e)})}skip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"skip\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"skip given macros has the wrong type. macros: \".concat(e)})}load(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"loaded\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"load given macros has the wrong type. macros: \".concat(e)})}click(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==e&&\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given click parameter has the wrong type. fallbackClickThroughURL: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});this.clickTrackingURLTemplates&&this.clickTrackingURLTemplates.length&&this.trackURLs(this.clickTrackingURLTemplates,t);const r=this.clickThroughURLTemplate||e,i={...t};if(r){this.progress&&(i.ADPLAYHEAD=this.progressFormatted());const e=u.resolveURLTemplates([r],i)[0];this.emit(\"clickthrough\",e)}}trackProgressEvents(e,t,r){const i=parseFloat(e.split(\"-\")[1]);Object.entries(this.trackingEvents).filter((e=>{let[t]=e;return t.startsWith(\"progress-\")})).map((e=>{let[t,r]=e;return{name:t,time:parseFloat(t.split(\"-\")[1]),urls:r}})).filter((e=>{let{time:t}=e;return t<=i&&t>this.progress})).forEach((e=>{let{name:i,urls:a}=e;!r&&this.trackedProgressEvents.includes(i)||(this.emit(i,{trackingURLTemplates:a}),this.trackURLs(a,t),r?delete this.trackingEvents[i]:this.trackedProgressEvents.push(i))}))}track(e){let{macros:t={},once:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"track given macros has the wrong type. macros: \".concat(t)});\"closeLinear\"===e&&!this.trackingEvents[e]&&this.trackingEvents.close&&(e=\"close\"),e.startsWith(\"progress-\")&&!e.endsWith(\"%\")&&this.trackProgressEvents(e,t,r);const i=this.trackingEvents[e],a=this.emitAlwaysEvents.indexOf(e)>-1;i?(this.emit(e,{trackingURLTemplates:i}),this.trackURLs(i,t)):a&&this.emit(e,null),r&&(delete this.trackingEvents[e],a&&this.emitAlwaysEvents.splice(this.emitAlwaysEvents.indexOf(e),1))}trackURLs(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{validUrls:a,invalidUrls:s}=u.filterUrlTemplates(e);s.length&&this.emit(\"TRACKER-error\",{message:\"Provided urls are malformed. url: \".concat(s)});const n={...r};this.linear&&(this.creative&&this.creative.mediaFiles&&this.creative.mediaFiles[0]&&this.creative.mediaFiles[0].fileURL&&(n.ASSETURI=this.creative.mediaFiles[0].fileURL),this.progress&&(n.ADPLAYHEAD=this.progressFormatted())),null!==(t=this.creative)&&void 0!==t&&null!==(t=t.universalAdIds)&&void 0!==t&&t.length&&(n.UNIVERSALADID=this.creative.universalAdIds.map((e=>e.idRegistry.concat(\" \",e.value))).join(\",\")),this.ad&&(this.ad.sequence&&(n.PODSEQUENCE=this.ad.sequence),this.ad.adType&&(n.ADTYPE=this.ad.adType),this.ad.adServingId&&(n.ADSERVINGID=this.ad.adServingId),this.ad.categories&&this.ad.categories.length&&(n.ADCATEGORIES=this.ad.categories.map((e=>e.value)).join(\",\")),this.ad.blockedAdCategories&&this.ad.blockedAdCategories.length&&(n.BLOCKEDADCATEGORIES=this.ad.blockedAdCategories.map((e=>e.value)).join(\",\"))),u.track(a,n,i)}convertToTimecode(e){if(!u.isValidTimeValue(e))return\"\";const t=1e3*e,r=Math.floor(t/36e5),i=Math.floor(t/6e4%60),a=Math.floor(t/1e3%60),s=Math.floor(t%1e3);return\"\".concat(u.addLeadingZeros(r,2),\":\").concat(u.addLeadingZeros(i,2),\":\").concat(u.addLeadingZeros(a,2),\".\").concat(u.addLeadingZeros(s,3))}progressFormatted(){return this.convertToTimecode(this.progress)}}export{_ as VASTClient,B as VASTParser,z as VASTTracker,p as parseDuration};\n",null,null,null,null,"function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}var n=a((function e(a){for(var n in t(this,e),this.id=a.getAttribute(\"id\"),this.allowMultipleAds=a.getAttribute(\"allowMultipleAds\"),this.followRedirects=a.getAttribute(\"followRedirects\"),this.vastAdData=null,this.adTagURI=null,this.customData=null,a.childNodes){var i=a.childNodes[n];switch(i.localName){case\"AdTagURI\":this.adTagURI={templateType:i.getAttribute(\"templateType\"),uri:(i.textContent||i.text||\"\").trim()};break;case\"VASTAdData\":for(this.vastAdData=i.firstChild;this.vastAdData&&1!==this.vastAdData.nodeType;)this.vastAdData=this.vastAdData.nextSibling;break;case\"CustomAdData\":this.customData=i}}}));function i(t,e){var a=[];for(var n in t.childNodes){var i=t.childNodes[n];i.nodeName!==e&&e!==\"vmap:\".concat(i.nodeName)&&i.nodeName!==\"vmap:\".concat(e)||a.push(i)}return a}function r(t){var e={attributes:{},children:{},value:{}};e.value=function(t){if(!t||!t.childNodes)return{};var e=t.childNodes,a=[];for(var n in e){var i=e[n];\"#cdata-section\"===i.nodeName&&a.push(i)}if(a&&a.length>0)try{return JSON.parse(a[0].data)}catch(t){}var r=\"\";for(var s in e){var o=e[s];switch(o.nodeName){case\"#text\":r+=o.textContent.trim();break;case\"#cdata-section\":r+=o.data}}return r}(t);var a=t.attributes;if(a)for(var n in a){var i=a[n];i.nodeName&&void 0!==i.nodeValue&&null!==i.nodeValue&&(e.attributes[i.nodeName]=i.nodeValue)}var s=t.childNodes;if(s)for(var o in s){var c=s[o];c.nodeName&&\"#\"!==c.nodeName.substring(0,1)&&(e.children[c.nodeName]=r(c))}return e}var s=function(){function e(a){for(var s in t(this,e),this.timeOffset=a.getAttribute(\"timeOffset\"),this.breakType=a.getAttribute(\"breakType\"),this.breakId=a.getAttribute(\"breakId\"),this.repeatAfter=a.getAttribute(\"repeatAfter\"),this.adSource=null,this.trackingEvents=[],this.extensions=[],a.childNodes){var o=a.childNodes[s];switch(o.localName){case\"AdSource\":this.adSource=new n(o);break;case\"TrackingEvents\":for(var c in o.childNodes){var d=o.childNodes[c];\"Tracking\"===d.localName&&this.trackingEvents.push({event:d.getAttribute(\"event\"),uri:(d.textContent||d.text||\"\").trim()})}break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}return a(e,[{key:\"track\",value:function(t,e){for(var a in this.trackingEvents){var n=this.trackingEvents[a];if(n.event===t){var i=n.uri;\"error\"===n.event&&(i=i.replace(\"[ERRORCODE]\",e)),this.tracker(i)}}}},{key:\"tracker\",value:function(t){\"undefined\"!=typeof window&&null!==window&&((new Image).src=t)}}]),e}(),o=a((function e(a){if(t(this,e),!a||!a.documentElement||\"VMAP\"!==a.documentElement.localName)throw new Error(\"Not a VMAP document\");for(var n in this.version=a.documentElement.getAttribute(\"version\"),this.adBreaks=[],this.extensions=[],a.documentElement.childNodes){var o=a.documentElement.childNodes[n];switch(o.localName){case\"AdBreak\":this.adBreaks.push(new s(o));break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}));export{o as default};\n",null,null,null,null,null,null,"'use strict'\n\n/**\n * Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.\n *\n * Works with anything that has a `length` property and index access properties, including NodeList.\n *\n * @template {unknown} T\n * @param {Array<T> | ({length:number, [number]: T})} list\n * @param {function (item: T, index: number, list:Array<T> | ({length:number, [number]: T})):boolean} predicate\n * @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac `Array.prototype` by default,\n * \t\t\t\tallows injecting a custom implementation in tests\n * @returns {T | undefined}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find\n */\nfunction find(list, predicate, ac) {\n\tif (ac === undefined) {\n\t\tac = Array.prototype;\n\t}\n\tif (list && typeof ac.find === 'function') {\n\t\treturn ac.find.call(list, predicate);\n\t}\n\tfor (var i = 0; i < list.length; i++) {\n\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\tvar item = list[i];\n\t\t\tif (predicate.call(undefined, item, i, list)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * \"Shallow freezes\" an object to render it immutable.\n * Uses `Object.freeze` if available,\n * otherwise the immutability is only in the type.\n *\n * Is used to create \"enum like\" objects.\n *\n * @template T\n * @param {T} object the object to freeze\n * @param {Pick<ObjectConstructor, 'freeze'> = Object} oc `Object` by default,\n * \t\t\t\tallows to inject custom object constructor for tests\n * @returns {Readonly<T>}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n */\nfunction freeze(object, oc) {\n\tif (oc === undefined) {\n\t\toc = Object\n\t}\n\treturn oc && typeof oc.freeze === 'function' ? oc.freeze(object) : object\n}\n\n/**\n * Since we can not rely on `Object.assign` we provide a simplified version\n * that is sufficient for our needs.\n *\n * @param {Object} target\n * @param {Object | null | undefined} source\n *\n * @returns {Object} target\n * @throws TypeError if target is not an object\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign\n */\nfunction assign(target, source) {\n\tif (target === null || typeof target !== 'object') {\n\t\tthrow new TypeError('target is not an object')\n\t}\n\tfor (var key in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\ttarget[key] = source[key]\n\t\t}\n\t}\n\treturn target\n}\n\n/**\n * All mime types that are allowed as input to `DOMParser.parseFromString`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02 MDN\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype WHATWG HTML Spec\n * @see DOMParser.prototype.parseFromString\n */\nvar MIME_TYPE = freeze({\n\t/**\n\t * `text/html`, the only mime type that triggers treating an XML document as HTML.\n\t *\n\t * @see DOMParser.SupportedType.isHTML\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec\n\t */\n\tHTML: 'text/html',\n\n\t/**\n\t * Helper method to check a mime type if it indicates an HTML document\n\t *\n\t * @param {string} [value]\n\t * @returns {boolean}\n\t *\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring \t */\n\tisHTML: function (value) {\n\t\treturn value === MIME_TYPE.HTML\n\t},\n\n\t/**\n\t * `application/xml`, the standard mime type for XML documents.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_APPLICATION: 'application/xml',\n\n\t/**\n\t * `text/html`, an alias for `application/xml`.\n\t *\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303\n\t * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_TEXT: 'text/xml',\n\n\t/**\n\t * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,\n\t * but is parsed as an XML document.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec\n\t * @see https://en.wikipedia.org/wiki/XHTML Wikipedia\n\t */\n\tXML_XHTML_APPLICATION: 'application/xhtml+xml',\n\n\t/**\n\t * `image/svg+xml`,\n\t *\n\t * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration\n\t * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1\n\t * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia\n\t */\n\tXML_SVG_IMAGE: 'image/svg+xml',\n})\n\n/**\n * Namespaces that are used in this code base.\n *\n * @see http://www.w3.org/TR/REC-xml-names\n */\nvar NAMESPACE = freeze({\n\t/**\n\t * The XHTML namespace.\n\t *\n\t * @see http://www.w3.org/1999/xhtml\n\t */\n\tHTML: 'http://www.w3.org/1999/xhtml',\n\n\t/**\n\t * Checks if `uri` equals `NAMESPACE.HTML`.\n\t *\n\t * @param {string} [uri]\n\t *\n\t * @see NAMESPACE.HTML\n\t */\n\tisHTML: function (uri) {\n\t\treturn uri === NAMESPACE.HTML\n\t},\n\n\t/**\n\t * The SVG namespace.\n\t *\n\t * @see http://www.w3.org/2000/svg\n\t */\n\tSVG: 'http://www.w3.org/2000/svg',\n\n\t/**\n\t * The `xml:` namespace.\n\t *\n\t * @see http://www.w3.org/XML/1998/namespace\n\t */\n\tXML: 'http://www.w3.org/XML/1998/namespace',\n\n\t/**\n\t * The `xmlns:` namespace\n\t *\n\t * @see https://www.w3.org/2000/xmlns/\n\t */\n\tXMLNS: 'http://www.w3.org/2000/xmlns/',\n})\n\nexports.assign = assign;\nexports.find = find;\nexports.freeze = freeze;\nexports.MIME_TYPE = MIME_TYPE;\nexports.NAMESPACE = NAMESPACE;\n","var conventions = require(\"./conventions\");\n\nvar find = conventions.find;\nvar NAMESPACE = conventions.NAMESPACE;\n\n/**\n * A prerequisite for `[].filter`, to drop elements that are empty\n * @param {string} input\n * @returns {boolean}\n */\nfunction notEmptyString (input) {\n\treturn input !== ''\n}\n/**\n * @see https://infra.spec.whatwg.org/#split-on-ascii-whitespace\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * @param {string} input\n * @returns {string[]} (can be empty)\n */\nfunction splitOnASCIIWhitespace(input) {\n\t// U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, U+0020 SPACE\n\treturn input ? input.split(/[\\t\\n\\f\\r ]+/).filter(notEmptyString) : []\n}\n\n/**\n * Adds element as a key to current if it is not already present.\n *\n * @param {Record<string, boolean | undefined>} current\n * @param {string} element\n * @returns {Record<string, boolean | undefined>}\n */\nfunction orderedSetReducer (current, element) {\n\tif (!current.hasOwnProperty(element)) {\n\t\tcurrent[element] = true;\n\t}\n\treturn current;\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ordered-set\n * @param {string} input\n * @returns {string[]}\n */\nfunction toOrderedSet(input) {\n\tif (!input) return [];\n\tvar list = splitOnASCIIWhitespace(input);\n\treturn Object.keys(list.reduce(orderedSetReducer, {}))\n}\n\n/**\n * Uses `list.indexOf` to implement something like `Array.prototype.includes`,\n * which we can not rely on being available.\n *\n * @param {any[]} list\n * @returns {function(any): boolean}\n */\nfunction arrayIncludes (list) {\n\treturn function(element) {\n\t\treturn list && list.indexOf(element) !== -1;\n\t}\n}\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tif (Object.prototype.hasOwnProperty.call(src, p)) {\n\t\t\tdest[p] = src[p];\n\t\t}\n\t}\n}\n\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknown Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\n\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n/**\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n */\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0,\n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long\n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index.\n\t */\n\titem: function(index) {\n\t\treturn index >= 0 && index < this.length ? this[index] : null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t},\n\t/**\n\t * @private\n\t * @param {function (Node):boolean} predicate\n\t * @returns {Node[]}\n\t */\n\tfilter: function (predicate) {\n\t\treturn Array.prototype.filter.call(this, predicate);\n\t},\n\t/**\n\t * @private\n\t * @param {Node} item\n\t * @returns {number}\n\t */\n\tindexOf: function (item) {\n\t\treturn Array.prototype.indexOf.call(this, item);\n\t},\n};\n\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif (list._inc !== inc) {\n\t\tvar ls = list._refresh(list._node);\n\t\t__set__(list,'length',ls.length);\n\t\tif (!list.$$length || ls.length < list.$$length) {\n\t\t\tfor (var i = ls.length; i in list; i++) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\t\t\tdelete list[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i] || null;\n}\n\n_extends(LiveNodeList,NodeList);\n\n/**\n * Objects implementing the NamedNodeMap interface are used\n * to represent collections of nodes that can be accessed by name.\n * Note that NamedNodeMap does not inherit from NodeList;\n * NamedNodeMaps are not maintained in any particular order.\n * Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index,\n * but this is simply to allow convenient enumeration of the contents of a NamedNodeMap,\n * and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities\n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow new DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\n\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n\n/**\n * The DOMImplementation interface represents an object providing methods\n * which are not dependent on any particular document.\n * Such an object is returned by the `Document.implementation` property.\n *\n * __The individual methods describe the differences compared to the specs.__\n *\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation MDN\n * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 DOM Level 1 Core (Initial)\n * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490 DOM Level 2 Core\n * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490 DOM Level 3 Core\n * @see https://dom.spec.whatwg.org/#domimplementation DOM Living Standard\n */\nfunction DOMImplementation() {\n}\n\nDOMImplementation.prototype = {\n\t/**\n\t * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported.\n\t * The different implementations fairly diverged in what kind of features were reported.\n\t * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use.\n\t *\n\t * @deprecated It is deprecated and modern browsers return true in all cases.\n\t *\n\t * @param {string} feature\n\t * @param {string} [version]\n\t * @returns {boolean} always true\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN\n\t * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard\n\t */\n\thasFeature: function(feature, version) {\n\t\t\treturn true;\n\t},\n\t/**\n\t * Creates an XML Document object of the specified type with its document element.\n\t *\n\t * __It behaves slightly different from the description in the living standard__:\n\t * - There is no interface/class `XMLDocument`, it returns a `Document` instance.\n\t * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared.\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string|null} namespaceURI\n\t * @param {string} qualifiedName\n\t * @param {DocumentType=null} doctype\n\t * @returns {Document}\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial)\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocument: function(namespaceURI, qualifiedName, doctype){\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype || null;\n\t\tif (doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif (qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI, qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t/**\n\t * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.\n\t *\n\t * __This behavior is slightly different from the in the specs__:\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string} qualifiedName\n\t * @param {string} [publicId]\n\t * @param {string} [systemId]\n\t * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation\n\t * \t\t\t\t or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocumentType: function(qualifiedName, publicId, systemId){\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId || '';\n\t\tnode.systemId = systemId || '';\n\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises\n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises\n\t\t_insertBefore(this, newChild,oldChild, assertPreReplacementValidityInDocument);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n\t/**\n\t * Look up the prefix associated to the given namespace URI, starting from this node.\n\t * **The default namespace declarations are ignored by this method.**\n\t * See Namespace Prefix Lookup for details on the algorithm used by this method.\n\t *\n\t * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._\n\t *\n\t * @param {string | null} namespaceURI\n\t * @returns {string | null}\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo\n\t * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix\n\t * @see https://github.com/xmldom/xmldom/issues/322\n\t */\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) {\n\t\t\t\t\t\t\treturn n;\n\t\t\t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(Object.prototype.hasOwnProperty.call(map, prefix)){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n\tthis.ownerDocument = this;\n}\n\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\n\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\n\n/**\n * Updates `el.childNodes`, updating the indexed items and it's `length`.\n * Passing `newChild` means it will be appended.\n * Otherwise it's assumed that an item has been removed,\n * and `el.firstNode` and it's `.nextSibling` are used\n * to walk the current list of child nodes.\n *\n * @param {Document} doc\n * @param {Node} el\n * @param {Node} [newChild]\n * @private\n */\nfunction _onUpdateChild (doc, el, newChild) {\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif (newChild) {\n\t\t\tcs[cs.length++] = newChild;\n\t\t} else {\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile (child) {\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild = child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t\tdelete cs[cs.length];\n\t\t}\n\t}\n}\n\n/**\n * Removes the connections between `parentNode` and `child`\n * and any existing `child.previousSibling` or `child.nextSibling`.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n *\n * @param {Node} parentNode\n * @param {Node} child\n * @returns {Node} the child that was removed.\n * @private\n */\nfunction _removeChild (parentNode, child) {\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif (previous) {\n\t\tprevious.nextSibling = next;\n\t} else {\n\t\tparentNode.firstChild = next;\n\t}\n\tif (next) {\n\t\tnext.previousSibling = previous;\n\t} else {\n\t\tparentNode.lastChild = previous;\n\t}\n\tchild.parentNode = null;\n\tchild.previousSibling = null;\n\tchild.nextSibling = null;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode);\n\treturn child;\n}\n\n/**\n * Returns `true` if `node` can be a parent for insertion.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasValidParentNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE)\n\t);\n}\n\n/**\n * Returns `true` if `node` can be inserted according to it's `nodeType`.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasInsertableNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(isElementNode(node) ||\n\t\t\tisTextNode(node) ||\n\t\t\tisDocTypeNode(node) ||\n\t\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\t\tnode.nodeType === Node.COMMENT_NODE ||\n\t\t\tnode.nodeType === Node.PROCESSING_INSTRUCTION_NODE)\n\t);\n}\n\n/**\n * Returns true if `node` is a DOCTYPE node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isDocTypeNode(node) {\n\treturn node && node.nodeType === Node.DOCUMENT_TYPE_NODE;\n}\n\n/**\n * Returns true if the node is an element\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isElementNode(node) {\n\treturn node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Returns true if `node` is a text node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isTextNode(node) {\n\treturn node && node.nodeType === Node.TEXT_NODE;\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Document} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementInsertionPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\tif (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Node} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementReplacementPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\n\tfunction hasElementChildThatIsNotChild(node) {\n\t\treturn isElementNode(node) && node !== child;\n\t}\n\n\tif (find(parentChildNodes, hasElementChildThatIsNotChild)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * @private\n * Steps 1-5 of the checks before inserting and before replacing a child are the same.\n *\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidity1to5(parent, node, child) {\n\t// 1. If `parent` is not a Document, DocumentFragment, or Element node, then throw a \"HierarchyRequestError\" DOMException.\n\tif (!hasValidParentNodeType(parent)) {\n\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Unexpected parent node type ' + parent.nodeType);\n\t}\n\t// 2. If `node` is a host-including inclusive ancestor of `parent`, then throw a \"HierarchyRequestError\" DOMException.\n\t// not implemented!\n\t// 3. If `child` is non-null and its parent is not `parent`, then throw a \"NotFoundError\" DOMException.\n\tif (child && child.parentNode !== parent) {\n\t\tthrow new DOMException(NOT_FOUND_ERR, 'child not in parent');\n\t}\n\tif (\n\t\t// 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a \"HierarchyRequestError\" DOMException.\n\t\t!hasInsertableNodeType(node) ||\n\t\t// 5. If either `node` is a Text node and `parent` is a document,\n\t\t// the sax parser currently adds top level text nodes, this will be fixed in 0.9.0\n\t\t// || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE)\n\t\t// or `node` is a doctype and `parent` is not a document, then throw a \"HierarchyRequestError\" DOMException.\n\t\t(isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE)\n\t) {\n\t\tthrow new DOMException(\n\t\t\tHIERARCHY_REQUEST_ERR,\n\t\t\t'Unexpected node type ' + node.nodeType + ' for parent node type ' + parent.nodeType\n\t\t);\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If node has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child,\n\t\t// `child` is a doctype, or `child` is non-null and a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child, `child` is a doctype,\n\t\t// or `child` is non-null and a doctype is following `child`.\n\t\tif (!isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\t// `parent` has a doctype child,\n\t\tif (find(parentChildNodes, isDocTypeNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// `child` is non-null and an element is preceding `child`,\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t\t// or `child` is null and `parent` has an element child.\n\t\tif (!child && parentElementChild) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can not be appended since element is present');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreReplacementValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If `node` has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (!isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\tfunction hasDoctypeChildThatIsNotChild(node) {\n\t\t\treturn isDocTypeNode(node) && node !== child;\n\t\t}\n\n\t\t// `parent` has a doctype child that is not `child`,\n\t\tif (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// or an element is preceding `child`.\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction _insertBefore(parent, node, child, _inDocumentAssertion) {\n\t// To ensure pre-insertion validity of a node into a parent before a child, run these steps:\n\tassertPreInsertionValidity1to5(parent, node, child);\n\n\t// If parent is a document, and any of the statements below, switched on the interface node implements,\n\t// are true, then throw a \"HierarchyRequestError\" DOMException.\n\tif (parent.nodeType === Node.DOCUMENT_NODE) {\n\t\t(_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child);\n\t}\n\n\tvar cp = node.parentNode;\n\tif(cp){\n\t\tcp.removeChild(node);//remove and update\n\t}\n\tif(node.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = node.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn node;\n\t\t}\n\t\tvar newLast = node.lastChild;\n\t}else{\n\t\tnewFirst = newLast = node;\n\t}\n\tvar pre = child ? child.previousSibling : parent.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = child;\n\n\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparent.firstChild = newFirst;\n\t}\n\tif(child == null){\n\t\tparent.lastChild = newLast;\n\t}else{\n\t\tchild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parent;\n\t\t// Update ownerDocument for each node being inserted\n\t\tvar targetDoc = parent.ownerDocument || parent;\n\t\t_updateOwnerDocument(newFirst, targetDoc);\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parent.ownerDocument||parent, parent);\n\t//console.log(parent.lastChild.nextSibling == null)\n\tif (node.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnode.firstChild = node.lastChild = null;\n\t}\n\treturn node;\n}\n\n/**\n * Recursively updates the ownerDocument property for a node and all its descendants\n * @param {Node} node\n * @param {Document} newOwnerDocument\n * @private\n */\nfunction _updateOwnerDocument(node, newOwnerDocument) {\n\tif (node.ownerDocument === newOwnerDocument) {\n\t\treturn;\n\t}\n\t\n\tnode.ownerDocument = newOwnerDocument;\n\t\n\t// Update attributes if this is an element\n\tif (node.nodeType === ELEMENT_NODE && node.attributes) {\n\t\tfor (var i = 0; i < node.attributes.length; i++) {\n\t\t\tvar attr = node.attributes.item(i);\n\t\t\tif (attr) {\n\t\t\t\tattr.ownerDocument = newOwnerDocument;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Recursively update child nodes\n\tvar child = node.firstChild;\n\twhile (child) {\n\t\t_updateOwnerDocument(child, newOwnerDocument);\n\t\tchild = child.nextSibling;\n\t}\n}\n\n/**\n * Appends `newChild` to `parentNode`.\n * If `newChild` is already connected to a `parentNode` it is first removed from it.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n * @param {Node} parentNode\n * @param {Node} newChild\n * @returns {Node}\n * @private\n */\nfunction _appendSingleChild (parentNode, newChild) {\n\tif (newChild.parentNode) {\n\t\tnewChild.parentNode.removeChild(newChild);\n\t}\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = parentNode.lastChild;\n\tnewChild.nextSibling = null;\n\tif (newChild.previousSibling) {\n\t\tnewChild.previousSibling.nextSibling = newChild;\n\t} else {\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode, newChild);\n\t\n\t// Update ownerDocument for the new child and all its descendants\n\tvar targetDoc = parentNode.ownerDocument || parentNode;\n\t_updateOwnerDocument(newChild, targetDoc);\n\t\n\treturn newChild;\n}\n\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\t/**\n\t * The DocumentType node of the document.\n\t *\n\t * @readonly\n\t * @type DocumentType\n\t */\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\n\tinsertBefore : function(newChild, refChild){//raises\n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\t_insertBefore(this, newChild, refChild);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\n\t\treturn newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\treplaceChild: function (newChild, oldChild) {\n\t\t//raises\n\t\t_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (oldChild) {\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t\tif (isElementNode(newChild)) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\n\t/**\n\t * The `getElementsByClassName` method of `Document` interface returns an array-like object\n\t * of all child elements which have **all** of the given class name(s).\n\t *\n\t * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters.\n\t *\n\t *\n\t * Warning: This is a live LiveNodeList.\n\t * Changes in the DOM will reflect in the array as the changes occur.\n\t * If an element selected by this array no longer qualifies for the selector,\n\t * it will automatically be removed. Be aware of this for iteration purposes.\n\t *\n\t * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName\n\t * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname\n\t */\n\tgetElementsByClassName: function(classNames) {\n\t\tvar classNamesSet = toOrderedSet(classNames)\n\t\treturn new LiveNodeList(this, function(base) {\n\t\t\tvar ls = [];\n\t\t\tif (classNamesSet.length > 0) {\n\t\t\t\t_visitNode(base.documentElement, function(node) {\n\t\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE) {\n\t\t\t\t\t\tvar nodeClassNames = node.getAttribute('class')\n\t\t\t\t\t\t// can be null if the attribute does not exist\n\t\t\t\t\t\tif (nodeClassNames) {\n\t\t\t\t\t\t\t// before splitting and iterating just compare them for the most common case\n\t\t\t\t\t\t\tvar matches = classNames === nodeClassNames;\n\t\t\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\t\t\tvar nodeClassNamesSet = toOrderedSet(nodeClassNames)\n\t\t\t\t\t\t\t\tmatches = classNamesSet.every(arrayIncludes(nodeClassNamesSet))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(matches) {\n\t\t\t\t\t\t\t\tls.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ls;\n\t\t});\n\t},\n\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.localName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.nodeName = node.target = target;\n\t\tnode.nodeValue = node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\n\nfunction needNamespaceDefine(node, isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix || '';\n\tvar uri = node.namespaceURI;\n\t// According to [Namespaces in XML 1.0](https://www.w3.org/TR/REC-xml-names/#ns-using) ,\n\t// and more specifically https://www.w3.org/TR/REC-xml-names/#nsc-NoPrefixUndecl :\n\t// > In a namespace declaration for a prefix [...], the attribute value MUST NOT be empty.\n\t// in a similar manner [Namespaces in XML 1.1](https://www.w3.org/TR/xml-names11/#ns-using)\n\t// and more specifically https://www.w3.org/TR/xml-names11/#nsc-NSDeclared :\n\t// > [...] Furthermore, the attribute value [...] must not be an empty string.\n\t// so serializing empty namespace value like xmlns:ds=\"\" would produce an invalid XML document.\n\tif (!uri) {\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) {\n\t\treturn false;\n\t}\n\n\tvar i = visibleNamespaces.length\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\tif (ns.prefix === prefix) {\n\t\t\treturn ns.namespace !== uri;\n\t\t}\n\t}\n\treturn true;\n}\n/**\n * Well-formed constraint: No < in Attribute Values\n * > The replacement text of any entity referred to directly or indirectly\n * > in an attribute value must not contain a <.\n * @see https://www.w3.org/TR/xml11/#CleanAttrVals\n * @see https://www.w3.org/TR/xml11/#NT-AttValue\n *\n * Literal whitespace other than space that appear in attribute values\n * are serialized as their entity references, so they will be preserved.\n * (In contrast to whitespace literals in the input which are normalized to spaces)\n * @see https://www.w3.org/TR/xml11/#AVNormalize\n * @see https://w3c.github.io/DOM-Parsing/#serializing-an-element-s-attributes\n */\nfunction addSerializedAttribute(buf, qualifiedName, value) {\n\tbuf.push(' ', qualifiedName, '=\"', value.replace(/[<>&\"\\t\\n\\r]/g, _xmlEncoder), '\"')\n}\n\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif (!visibleNamespaces) {\n\t\tvisibleNamespaces = [];\n\t}\n\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\n\t\tisHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML\n\n\t\tvar prefixedNodeName = nodeName\n\t\tif (!isHTML && !node.prefix && node.namespaceURI) {\n\t\t\tvar defaultNS\n\t\t\t// lookup current default ns from `xmlns` attribute\n\t\t\tfor (var ai = 0; ai < attrs.length; ai++) {\n\t\t\t\tif (attrs.item(ai).name === 'xmlns') {\n\t\t\t\t\tdefaultNS = attrs.item(ai).value\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!defaultNS) {\n\t\t\t\t// lookup current default ns in visibleNamespaces\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tdefaultNS = namespace.namespace\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (defaultNS !== node.namespaceURI) {\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tif (namespace.prefix) {\n\t\t\t\t\t\t\tprefixedNodeName = namespace.prefix + ':' + nodeName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuf.push('<', prefixedNodeName);\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\n\t\t// add namespace for current node\n\t\tif (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',prefixedNodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn addSerializedAttribute(buf, node.name, node.value);\n\tcase TEXT_NODE:\n\t\t/**\n\t\t * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,\n\t\t * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.\n\t\t * If they are needed elsewhere, they must be escaped using either numeric character references or the strings\n\t\t * `&` and `<` respectively.\n\t\t * The right angle bracket (>) may be represented using the string \" > \", and must, for compatibility,\n\t\t * be escaped using either `>` or a character reference when it appears in the string `]]>` in content,\n\t\t * when that string is not marking the end of a CDATA section.\n\t\t *\n\t\t * In the content of elements, character data is any string of characters\n\t\t * which does not contain the start-delimiter of any markup\n\t\t * and does not include the CDATA-section-close delimiter, `]]>`.\n\t\t *\n\t\t * @see https://www.w3.org/TR/xml/#NT-CharData\n\t\t * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node\n\t\t */\n\t\treturn buf.push(node.data\n\t\t\t.replace(/[<&>]/g,_xmlEncoder)\n\t\t);\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC ', pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push(' ', sysid);\n\t\t\t}\n\t\t\tbuf.push('>');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM ', sysid, '>');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor (var n in node) {\n\t\tif (Object.prototype.hasOwnProperty.call(node, n)) {\n\t\t\tvar v = node[n];\n\t\t\tif (typeof v != \"object\") {\n\t\t\t\tif (v != node2[n]) {\n\t\t\t\t\tnode2[n] = v;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DocumentType = DocumentType;\n\texports.DOMException = DOMException;\n\texports.DOMImplementation = DOMImplementation;\n\texports.Element = Element;\n\texports.Node = Node;\n\texports.NodeList = NodeList;\n\texports.XMLSerializer = XMLSerializer;\n//}\n","'use strict';\n\nvar freeze = require('./conventions').freeze;\n\n/**\n * The entities that are predefined in every XML document.\n *\n * @see https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent W3C XML 1.1\n * @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia\n */\nexports.XML_ENTITIES = freeze({\n\tamp: '&',\n\tapos: \"'\",\n\tgt: '>',\n\tlt: '<',\n\tquot: '\"',\n});\n\n/**\n * A map of all entities that are detected in an HTML document.\n * They contain all entries from `XML_ENTITIES`.\n *\n * @see XML_ENTITIES\n * @see DOMParser.parseFromString\n * @see DOMImplementation.prototype.createHTMLDocument\n * @see https://html.spec.whatwg.org/#named-character-references WHATWG HTML(5) Spec\n * @see https://html.spec.whatwg.org/entities.json JSON\n * @see https://www.w3.org/TR/xml-entity-names/ W3C XML Entity Names\n * @see https://www.w3.org/TR/html4/sgml/entities.html W3C HTML4/SGML\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)\n */\nexports.HTML_ENTITIES = freeze({\n\tAacute: '\\u00C1',\n\taacute: '\\u00E1',\n\tAbreve: '\\u0102',\n\tabreve: '\\u0103',\n\tac: '\\u223E',\n\tacd: '\\u223F',\n\tacE: '\\u223E\\u0333',\n\tAcirc: '\\u00C2',\n\tacirc: '\\u00E2',\n\tacute: '\\u00B4',\n\tAcy: '\\u0410',\n\tacy: '\\u0430',\n\tAElig: '\\u00C6',\n\taelig: '\\u00E6',\n\taf: '\\u2061',\n\tAfr: '\\uD835\\uDD04',\n\tafr: '\\uD835\\uDD1E',\n\tAgrave: '\\u00C0',\n\tagrave: '\\u00E0',\n\talefsym: '\\u2135',\n\taleph: '\\u2135',\n\tAlpha: '\\u0391',\n\talpha: '\\u03B1',\n\tAmacr: '\\u0100',\n\tamacr: '\\u0101',\n\tamalg: '\\u2A3F',\n\tAMP: '\\u0026',\n\tamp: '\\u0026',\n\tAnd: '\\u2A53',\n\tand: '\\u2227',\n\tandand: '\\u2A55',\n\tandd: '\\u2A5C',\n\tandslope: '\\u2A58',\n\tandv: '\\u2A5A',\n\tang: '\\u2220',\n\tange: '\\u29A4',\n\tangle: '\\u2220',\n\tangmsd: '\\u2221',\n\tangmsdaa: '\\u29A8',\n\tangmsdab: '\\u29A9',\n\tangmsdac: '\\u29AA',\n\tangmsdad: '\\u29AB',\n\tangmsdae: '\\u29AC',\n\tangmsdaf: '\\u29AD',\n\tangmsdag: '\\u29AE',\n\tangmsdah: '\\u29AF',\n\tangrt: '\\u221F',\n\tangrtvb: '\\u22BE',\n\tangrtvbd: '\\u299D',\n\tangsph: '\\u2222',\n\tangst: '\\u00C5',\n\tangzarr: '\\u237C',\n\tAogon: '\\u0104',\n\taogon: '\\u0105',\n\tAopf: '\\uD835\\uDD38',\n\taopf: '\\uD835\\uDD52',\n\tap: '\\u2248',\n\tapacir: '\\u2A6F',\n\tapE: '\\u2A70',\n\tape: '\\u224A',\n\tapid: '\\u224B',\n\tapos: '\\u0027',\n\tApplyFunction: '\\u2061',\n\tapprox: '\\u2248',\n\tapproxeq: '\\u224A',\n\tAring: '\\u00C5',\n\taring: '\\u00E5',\n\tAscr: '\\uD835\\uDC9C',\n\tascr: '\\uD835\\uDCB6',\n\tAssign: '\\u2254',\n\tast: '\\u002A',\n\tasymp: '\\u2248',\n\tasympeq: '\\u224D',\n\tAtilde: '\\u00C3',\n\tatilde: '\\u00E3',\n\tAuml: '\\u00C4',\n\tauml: '\\u00E4',\n\tawconint: '\\u2233',\n\tawint: '\\u2A11',\n\tbackcong: '\\u224C',\n\tbackepsilon: '\\u03F6',\n\tbackprime: '\\u2035',\n\tbacksim: '\\u223D',\n\tbacksimeq: '\\u22CD',\n\tBackslash: '\\u2216',\n\tBarv: '\\u2AE7',\n\tbarvee: '\\u22BD',\n\tBarwed: '\\u2306',\n\tbarwed: '\\u2305',\n\tbarwedge: '\\u2305',\n\tbbrk: '\\u23B5',\n\tbbrktbrk: '\\u23B6',\n\tbcong: '\\u224C',\n\tBcy: '\\u0411',\n\tbcy: '\\u0431',\n\tbdquo: '\\u201E',\n\tbecaus: '\\u2235',\n\tBecause: '\\u2235',\n\tbecause: '\\u2235',\n\tbemptyv: '\\u29B0',\n\tbepsi: '\\u03F6',\n\tbernou: '\\u212C',\n\tBernoullis: '\\u212C',\n\tBeta: '\\u0392',\n\tbeta: '\\u03B2',\n\tbeth: '\\u2136',\n\tbetween: '\\u226C',\n\tBfr: '\\uD835\\uDD05',\n\tbfr: '\\uD835\\uDD1F',\n\tbigcap: '\\u22C2',\n\tbigcirc: '\\u25EF',\n\tbigcup: '\\u22C3',\n\tbigodot: '\\u2A00',\n\tbigoplus: '\\u2A01',\n\tbigotimes: '\\u2A02',\n\tbigsqcup: '\\u2A06',\n\tbigstar: '\\u2605',\n\tbigtriangledown: '\\u25BD',\n\tbigtriangleup: '\\u25B3',\n\tbiguplus: '\\u2A04',\n\tbigvee: '\\u22C1',\n\tbigwedge: '\\u22C0',\n\tbkarow: '\\u290D',\n\tblacklozenge: '\\u29EB',\n\tblacksquare: '\\u25AA',\n\tblacktriangle: '\\u25B4',\n\tblacktriangledown: '\\u25BE',\n\tblacktriangleleft: '\\u25C2',\n\tblacktriangleright: '\\u25B8',\n\tblank: '\\u2423',\n\tblk12: '\\u2592',\n\tblk14: '\\u2591',\n\tblk34: '\\u2593',\n\tblock: '\\u2588',\n\tbne: '\\u003D\\u20E5',\n\tbnequiv: '\\u2261\\u20E5',\n\tbNot: '\\u2AED',\n\tbnot: '\\u2310',\n\tBopf: '\\uD835\\uDD39',\n\tbopf: '\\uD835\\uDD53',\n\tbot: '\\u22A5',\n\tbottom: '\\u22A5',\n\tbowtie: '\\u22C8',\n\tboxbox: '\\u29C9',\n\tboxDL: '\\u2557',\n\tboxDl: '\\u2556',\n\tboxdL: '\\u2555',\n\tboxdl: '\\u2510',\n\tboxDR: '\\u2554',\n\tboxDr: '\\u2553',\n\tboxdR: '\\u2552',\n\tboxdr: '\\u250C',\n\tboxH: '\\u2550',\n\tboxh: '\\u2500',\n\tboxHD: '\\u2566',\n\tboxHd: '\\u2564',\n\tboxhD: '\\u2565',\n\tboxhd: '\\u252C',\n\tboxHU: '\\u2569',\n\tboxHu: '\\u2567',\n\tboxhU: '\\u2568',\n\tboxhu: '\\u2534',\n\tboxminus: '\\u229F',\n\tboxplus: '\\u229E',\n\tboxtimes: '\\u22A0',\n\tboxUL: '\\u255D',\n\tboxUl: '\\u255C',\n\tboxuL: '\\u255B',\n\tboxul: '\\u2518',\n\tboxUR: '\\u255A',\n\tboxUr: '\\u2559',\n\tboxuR: '\\u2558',\n\tboxur: '\\u2514',\n\tboxV: '\\u2551',\n\tboxv: '\\u2502',\n\tboxVH: '\\u256C',\n\tboxVh: '\\u256B',\n\tboxvH: '\\u256A',\n\tboxvh: '\\u253C',\n\tboxVL: '\\u2563',\n\tboxVl: '\\u2562',\n\tboxvL: '\\u2561',\n\tboxvl: '\\u2524',\n\tboxVR: '\\u2560',\n\tboxVr: '\\u255F',\n\tboxvR: '\\u255E',\n\tboxvr: '\\u251C',\n\tbprime: '\\u2035',\n\tBreve: '\\u02D8',\n\tbreve: '\\u02D8',\n\tbrvbar: '\\u00A6',\n\tBscr: '\\u212C',\n\tbscr: '\\uD835\\uDCB7',\n\tbsemi: '\\u204F',\n\tbsim: '\\u223D',\n\tbsime: '\\u22CD',\n\tbsol: '\\u005C',\n\tbsolb: '\\u29C5',\n\tbsolhsub: '\\u27C8',\n\tbull: '\\u2022',\n\tbullet: '\\u2022',\n\tbump: '\\u224E',\n\tbumpE: '\\u2AAE',\n\tbumpe: '\\u224F',\n\tBumpeq: '\\u224E',\n\tbumpeq: '\\u224F',\n\tCacute: '\\u0106',\n\tcacute: '\\u0107',\n\tCap: '\\u22D2',\n\tcap: '\\u2229',\n\tcapand: '\\u2A44',\n\tcapbrcup: '\\u2A49',\n\tcapcap: '\\u2A4B',\n\tcapcup: '\\u2A47',\n\tcapdot: '\\u2A40',\n\tCapitalDifferentialD: '\\u2145',\n\tcaps: '\\u2229\\uFE00',\n\tcaret: '\\u2041',\n\tcaron: '\\u02C7',\n\tCayleys: '\\u212D',\n\tccaps: '\\u2A4D',\n\tCcaron: '\\u010C',\n\tccaron: '\\u010D',\n\tCcedil: '\\u00C7',\n\tccedil: '\\u00E7',\n\tCcirc: '\\u0108',\n\tccirc: '\\u0109',\n\tCconint: '\\u2230',\n\tccups: '\\u2A4C',\n\tccupssm: '\\u2A50',\n\tCdot: '\\u010A',\n\tcdot: '\\u010B',\n\tcedil: '\\u00B8',\n\tCedilla: '\\u00B8',\n\tcemptyv: '\\u29B2',\n\tcent: '\\u00A2',\n\tCenterDot: '\\u00B7',\n\tcenterdot: '\\u00B7',\n\tCfr: '\\u212D',\n\tcfr: '\\uD835\\uDD20',\n\tCHcy: '\\u0427',\n\tchcy: '\\u0447',\n\tcheck: '\\u2713',\n\tcheckmark: '\\u2713',\n\tChi: '\\u03A7',\n\tchi: '\\u03C7',\n\tcir: '\\u25CB',\n\tcirc: '\\u02C6',\n\tcirceq: '\\u2257',\n\tcirclearrowleft: '\\u21BA',\n\tcirclearrowright: '\\u21BB',\n\tcircledast: '\\u229B',\n\tcircledcirc: '\\u229A',\n\tcircleddash: '\\u229D',\n\tCircleDot: '\\u2299',\n\tcircledR: '\\u00AE',\n\tcircledS: '\\u24C8',\n\tCircleMinus: '\\u2296',\n\tCirclePlus: '\\u2295',\n\tCircleTimes: '\\u2297',\n\tcirE: '\\u29C3',\n\tcire: '\\u2257',\n\tcirfnint: '\\u2A10',\n\tcirmid: '\\u2AEF',\n\tcirscir: '\\u29C2',\n\tClockwiseContourIntegral: '\\u2232',\n\tCloseCurlyDoubleQuote: '\\u201D',\n\tCloseCurlyQuote: '\\u2019',\n\tclubs: '\\u2663',\n\tclubsuit: '\\u2663',\n\tColon: '\\u2237',\n\tcolon: '\\u003A',\n\tColone: '\\u2A74',\n\tcolone: '\\u2254',\n\tcoloneq: '\\u2254',\n\tcomma: '\\u002C',\n\tcommat: '\\u0040',\n\tcomp: '\\u2201',\n\tcompfn: '\\u2218',\n\tcomplement: '\\u2201',\n\tcomplexes: '\\u2102',\n\tcong: '\\u2245',\n\tcongdot: '\\u2A6D',\n\tCongruent: '\\u2261',\n\tConint: '\\u222F',\n\tconint: '\\u222E',\n\tContourIntegral: '\\u222E',\n\tCopf: '\\u2102',\n\tcopf: '\\uD835\\uDD54',\n\tcoprod: '\\u2210',\n\tCoproduct: '\\u2210',\n\tCOPY: '\\u00A9',\n\tcopy: '\\u00A9',\n\tcopysr: '\\u2117',\n\tCounterClockwiseContourIntegral: '\\u2233',\n\tcrarr: '\\u21B5',\n\tCross: '\\u2A2F',\n\tcross: '\\u2717',\n\tCscr: '\\uD835\\uDC9E',\n\tcscr: '\\uD835\\uDCB8',\n\tcsub: '\\u2ACF',\n\tcsube: '\\u2AD1',\n\tcsup: '\\u2AD0',\n\tcsupe: '\\u2AD2',\n\tctdot: '\\u22EF',\n\tcudarrl: '\\u2938',\n\tcudarrr: '\\u2935',\n\tcuepr: '\\u22DE',\n\tcuesc: '\\u22DF',\n\tcularr: '\\u21B6',\n\tcularrp: '\\u293D',\n\tCup: '\\u22D3',\n\tcup: '\\u222A',\n\tcupbrcap: '\\u2A48',\n\tCupCap: '\\u224D',\n\tcupcap: '\\u2A46',\n\tcupcup: '\\u2A4A',\n\tcupdot: '\\u228D',\n\tcupor: '\\u2A45',\n\tcups: '\\u222A\\uFE00',\n\tcurarr: '\\u21B7',\n\tcurarrm: '\\u293C',\n\tcurlyeqprec: '\\u22DE',\n\tcurlyeqsucc: '\\u22DF',\n\tcurlyvee: '\\u22CE',\n\tcurlywedge: '\\u22CF',\n\tcurren: '\\u00A4',\n\tcurvearrowleft: '\\u21B6',\n\tcurvearrowright: '\\u21B7',\n\tcuvee: '\\u22CE',\n\tcuwed: '\\u22CF',\n\tcwconint: '\\u2232',\n\tcwint: '\\u2231',\n\tcylcty: '\\u232D',\n\tDagger: '\\u2021',\n\tdagger: '\\u2020',\n\tdaleth: '\\u2138',\n\tDarr: '\\u21A1',\n\tdArr: '\\u21D3',\n\tdarr: '\\u2193',\n\tdash: '\\u2010',\n\tDashv: '\\u2AE4',\n\tdashv: '\\u22A3',\n\tdbkarow: '\\u290F',\n\tdblac: '\\u02DD',\n\tDcaron: '\\u010E',\n\tdcaron: '\\u010F',\n\tDcy: '\\u0414',\n\tdcy: '\\u0434',\n\tDD: '\\u2145',\n\tdd: '\\u2146',\n\tddagger: '\\u2021',\n\tddarr: '\\u21CA',\n\tDDotrahd: '\\u2911',\n\tddotseq: '\\u2A77',\n\tdeg: '\\u00B0',\n\tDel: '\\u2207',\n\tDelta: '\\u0394',\n\tdelta: '\\u03B4',\n\tdemptyv: '\\u29B1',\n\tdfisht: '\\u297F',\n\tDfr: '\\uD835\\uDD07',\n\tdfr: '\\uD835\\uDD21',\n\tdHar: '\\u2965',\n\tdharl: '\\u21C3',\n\tdharr: '\\u21C2',\n\tDiacriticalAcute: '\\u00B4',\n\tDiacriticalDot: '\\u02D9',\n\tDiacriticalDoubleAcute: '\\u02DD',\n\tDiacriticalGrave: '\\u0060',\n\tDiacriticalTilde: '\\u02DC',\n\tdiam: '\\u22C4',\n\tDiamond: '\\u22C4',\n\tdiamond: '\\u22C4',\n\tdiamondsuit: '\\u2666',\n\tdiams: '\\u2666',\n\tdie: '\\u00A8',\n\tDifferentialD: '\\u2146',\n\tdigamma: '\\u03DD',\n\tdisin: '\\u22F2',\n\tdiv: '\\u00F7',\n\tdivide: '\\u00F7',\n\tdivideontimes: '\\u22C7',\n\tdivonx: '\\u22C7',\n\tDJcy: '\\u0402',\n\tdjcy: '\\u0452',\n\tdlcorn: '\\u231E',\n\tdlcrop: '\\u230D',\n\tdollar: '\\u0024',\n\tDopf: '\\uD835\\uDD3B',\n\tdopf: '\\uD835\\uDD55',\n\tDot: '\\u00A8',\n\tdot: '\\u02D9',\n\tDotDot: '\\u20DC',\n\tdoteq: '\\u2250',\n\tdoteqdot: '\\u2251',\n\tDotEqual: '\\u2250',\n\tdotminus: '\\u2238',\n\tdotplus: '\\u2214',\n\tdotsquare: '\\u22A1',\n\tdoublebarwedge: '\\u2306',\n\tDoubleContourIntegral: '\\u222F',\n\tDoubleDot: '\\u00A8',\n\tDoubleDownArrow: '\\u21D3',\n\tDoubleLeftArrow: '\\u21D0',\n\tDoubleLeftRightArrow: '\\u21D4',\n\tDoubleLeftTee: '\\u2AE4',\n\tDoubleLongLeftArrow: '\\u27F8',\n\tDoubleLongLeftRightArrow: '\\u27FA',\n\tDoubleLongRightArrow: '\\u27F9',\n\tDoubleRightArrow: '\\u21D2',\n\tDoubleRightTee: '\\u22A8',\n\tDoubleUpArrow: '\\u21D1',\n\tDoubleUpDownArrow: '\\u21D5',\n\tDoubleVerticalBar: '\\u2225',\n\tDownArrow: '\\u2193',\n\tDownarrow: '\\u21D3',\n\tdownarrow: '\\u2193',\n\tDownArrowBar: '\\u2913',\n\tDownArrowUpArrow: '\\u21F5',\n\tDownBreve: '\\u0311',\n\tdowndownarrows: '\\u21CA',\n\tdownharpoonleft: '\\u21C3',\n\tdownharpoonright: '\\u21C2',\n\tDownLeftRightVector: '\\u2950',\n\tDownLeftTeeVector: '\\u295E',\n\tDownLeftVector: '\\u21BD',\n\tDownLeftVectorBar: '\\u2956',\n\tDownRightTeeVector: '\\u295F',\n\tDownRightVector: '\\u21C1',\n\tDownRightVectorBar: '\\u2957',\n\tDownTee: '\\u22A4',\n\tDownTeeArrow: '\\u21A7',\n\tdrbkarow: '\\u2910',\n\tdrcorn: '\\u231F',\n\tdrcrop: '\\u230C',\n\tDscr: '\\uD835\\uDC9F',\n\tdscr: '\\uD835\\uDCB9',\n\tDScy: '\\u0405',\n\tdscy: '\\u0455',\n\tdsol: '\\u29F6',\n\tDstrok: '\\u0110',\n\tdstrok: '\\u0111',\n\tdtdot: '\\u22F1',\n\tdtri: '\\u25BF',\n\tdtrif: '\\u25BE',\n\tduarr: '\\u21F5',\n\tduhar: '\\u296F',\n\tdwangle: '\\u29A6',\n\tDZcy: '\\u040F',\n\tdzcy: '\\u045F',\n\tdzigrarr: '\\u27FF',\n\tEacute: '\\u00C9',\n\teacute: '\\u00E9',\n\teaster: '\\u2A6E',\n\tEcaron: '\\u011A',\n\tecaron: '\\u011B',\n\tecir: '\\u2256',\n\tEcirc: '\\u00CA',\n\tecirc: '\\u00EA',\n\tecolon: '\\u2255',\n\tEcy: '\\u042D',\n\tecy: '\\u044D',\n\teDDot: '\\u2A77',\n\tEdot: '\\u0116',\n\teDot: '\\u2251',\n\tedot: '\\u0117',\n\tee: '\\u2147',\n\tefDot: '\\u2252',\n\tEfr: '\\uD835\\uDD08',\n\tefr: '\\uD835\\uDD22',\n\teg: '\\u2A9A',\n\tEgrave: '\\u00C8',\n\tegrave: '\\u00E8',\n\tegs: '\\u2A96',\n\tegsdot: '\\u2A98',\n\tel: '\\u2A99',\n\tElement: '\\u2208',\n\telinters: '\\u23E7',\n\tell: '\\u2113',\n\tels: '\\u2A95',\n\telsdot: '\\u2A97',\n\tEmacr: '\\u0112',\n\temacr: '\\u0113',\n\tempty: '\\u2205',\n\temptyset: '\\u2205',\n\tEmptySmallSquare: '\\u25FB',\n\temptyv: '\\u2205',\n\tEmptyVerySmallSquare: '\\u25AB',\n\temsp: '\\u2003',\n\temsp13: '\\u2004',\n\temsp14: '\\u2005',\n\tENG: '\\u014A',\n\teng: '\\u014B',\n\tensp: '\\u2002',\n\tEogon: '\\u0118',\n\teogon: '\\u0119',\n\tEopf: '\\uD835\\uDD3C',\n\teopf: '\\uD835\\uDD56',\n\tepar: '\\u22D5',\n\teparsl: '\\u29E3',\n\teplus: '\\u2A71',\n\tepsi: '\\u03B5',\n\tEpsilon: '\\u0395',\n\tepsilon: '\\u03B5',\n\tepsiv: '\\u03F5',\n\teqcirc: '\\u2256',\n\teqcolon: '\\u2255',\n\teqsim: '\\u2242',\n\teqslantgtr: '\\u2A96',\n\teqslantless: '\\u2A95',\n\tEqual: '\\u2A75',\n\tequals: '\\u003D',\n\tEqualTilde: '\\u2242',\n\tequest: '\\u225F',\n\tEquilibrium: '\\u21CC',\n\tequiv: '\\u2261',\n\tequivDD: '\\u2A78',\n\teqvparsl: '\\u29E5',\n\terarr: '\\u2971',\n\terDot: '\\u2253',\n\tEscr: '\\u2130',\n\tescr: '\\u212F',\n\tesdot: '\\u2250',\n\tEsim: '\\u2A73',\n\tesim: '\\u2242',\n\tEta: '\\u0397',\n\teta: '\\u03B7',\n\tETH: '\\u00D0',\n\teth: '\\u00F0',\n\tEuml: '\\u00CB',\n\teuml: '\\u00EB',\n\teuro: '\\u20AC',\n\texcl: '\\u0021',\n\texist: '\\u2203',\n\tExists: '\\u2203',\n\texpectation: '\\u2130',\n\tExponentialE: '\\u2147',\n\texponentiale: '\\u2147',\n\tfallingdotseq: '\\u2252',\n\tFcy: '\\u0424',\n\tfcy: '\\u0444',\n\tfemale: '\\u2640',\n\tffilig: '\\uFB03',\n\tfflig: '\\uFB00',\n\tffllig: '\\uFB04',\n\tFfr: '\\uD835\\uDD09',\n\tffr: '\\uD835\\uDD23',\n\tfilig: '\\uFB01',\n\tFilledSmallSquare: '\\u25FC',\n\tFilledVerySmallSquare: '\\u25AA',\n\tfjlig: '\\u0066\\u006A',\n\tflat: '\\u266D',\n\tfllig: '\\uFB02',\n\tfltns: '\\u25B1',\n\tfnof: '\\u0192',\n\tFopf: '\\uD835\\uDD3D',\n\tfopf: '\\uD835\\uDD57',\n\tForAll: '\\u2200',\n\tforall: '\\u2200',\n\tfork: '\\u22D4',\n\tforkv: '\\u2AD9',\n\tFouriertrf: '\\u2131',\n\tfpartint: '\\u2A0D',\n\tfrac12: '\\u00BD',\n\tfrac13: '\\u2153',\n\tfrac14: '\\u00BC',\n\tfrac15: '\\u2155',\n\tfrac16: '\\u2159',\n\tfrac18: '\\u215B',\n\tfrac23: '\\u2154',\n\tfrac25: '\\u2156',\n\tfrac34: '\\u00BE',\n\tfrac35: '\\u2157',\n\tfrac38: '\\u215C',\n\tfrac45: '\\u2158',\n\tfrac56: '\\u215A',\n\tfrac58: '\\u215D',\n\tfrac78: '\\u215E',\n\tfrasl: '\\u2044',\n\tfrown: '\\u2322',\n\tFscr: '\\u2131',\n\tfscr: '\\uD835\\uDCBB',\n\tgacute: '\\u01F5',\n\tGamma: '\\u0393',\n\tgamma: '\\u03B3',\n\tGammad: '\\u03DC',\n\tgammad: '\\u03DD',\n\tgap: '\\u2A86',\n\tGbreve: '\\u011E',\n\tgbreve: '\\u011F',\n\tGcedil: '\\u0122',\n\tGcirc: '\\u011C',\n\tgcirc: '\\u011D',\n\tGcy: '\\u0413',\n\tgcy: '\\u0433',\n\tGdot: '\\u0120',\n\tgdot: '\\u0121',\n\tgE: '\\u2267',\n\tge: '\\u2265',\n\tgEl: '\\u2A8C',\n\tgel: '\\u22DB',\n\tgeq: '\\u2265',\n\tgeqq: '\\u2267',\n\tgeqslant: '\\u2A7E',\n\tges: '\\u2A7E',\n\tgescc: '\\u2AA9',\n\tgesdot: '\\u2A80',\n\tgesdoto: '\\u2A82',\n\tgesdotol: '\\u2A84',\n\tgesl: '\\u22DB\\uFE00',\n\tgesles: '\\u2A94',\n\tGfr: '\\uD835\\uDD0A',\n\tgfr: '\\uD835\\uDD24',\n\tGg: '\\u22D9',\n\tgg: '\\u226B',\n\tggg: '\\u22D9',\n\tgimel: '\\u2137',\n\tGJcy: '\\u0403',\n\tgjcy: '\\u0453',\n\tgl: '\\u2277',\n\tgla: '\\u2AA5',\n\tglE: '\\u2A92',\n\tglj: '\\u2AA4',\n\tgnap: '\\u2A8A',\n\tgnapprox: '\\u2A8A',\n\tgnE: '\\u2269',\n\tgne: '\\u2A88',\n\tgneq: '\\u2A88',\n\tgneqq: '\\u2269',\n\tgnsim: '\\u22E7',\n\tGopf: '\\uD835\\uDD3E',\n\tgopf: '\\uD835\\uDD58',\n\tgrave: '\\u0060',\n\tGreaterEqual: '\\u2265',\n\tGreaterEqualLess: '\\u22DB',\n\tGreaterFullEqual: '\\u2267',\n\tGreaterGreater: '\\u2AA2',\n\tGreaterLess: '\\u2277',\n\tGreaterSlantEqual: '\\u2A7E',\n\tGreaterTilde: '\\u2273',\n\tGscr: '\\uD835\\uDCA2',\n\tgscr: '\\u210A',\n\tgsim: '\\u2273',\n\tgsime: '\\u2A8E',\n\tgsiml: '\\u2A90',\n\tGt: '\\u226B',\n\tGT: '\\u003E',\n\tgt: '\\u003E',\n\tgtcc: '\\u2AA7',\n\tgtcir: '\\u2A7A',\n\tgtdot: '\\u22D7',\n\tgtlPar: '\\u2995',\n\tgtquest: '\\u2A7C',\n\tgtrapprox: '\\u2A86',\n\tgtrarr: '\\u2978',\n\tgtrdot: '\\u22D7',\n\tgtreqless: '\\u22DB',\n\tgtreqqless: '\\u2A8C',\n\tgtrless: '\\u2277',\n\tgtrsim: '\\u2273',\n\tgvertneqq: '\\u2269\\uFE00',\n\tgvnE: '\\u2269\\uFE00',\n\tHacek: '\\u02C7',\n\thairsp: '\\u200A',\n\thalf: '\\u00BD',\n\thamilt: '\\u210B',\n\tHARDcy: '\\u042A',\n\thardcy: '\\u044A',\n\thArr: '\\u21D4',\n\tharr: '\\u2194',\n\tharrcir: '\\u2948',\n\tharrw: '\\u21AD',\n\tHat: '\\u005E',\n\thbar: '\\u210F',\n\tHcirc: '\\u0124',\n\thcirc: '\\u0125',\n\thearts: '\\u2665',\n\theartsuit: '\\u2665',\n\thellip: '\\u2026',\n\thercon: '\\u22B9',\n\tHfr: '\\u210C',\n\thfr: '\\uD835\\uDD25',\n\tHilbertSpace: '\\u210B',\n\thksearow: '\\u2925',\n\thkswarow: '\\u2926',\n\thoarr: '\\u21FF',\n\thomtht: '\\u223B',\n\thookleftarrow: '\\u21A9',\n\thookrightarrow: '\\u21AA',\n\tHopf: '\\u210D',\n\thopf: '\\uD835\\uDD59',\n\thorbar: '\\u2015',\n\tHorizontalLine: '\\u2500',\n\tHscr: '\\u210B',\n\thscr: '\\uD835\\uDCBD',\n\thslash: '\\u210F',\n\tHstrok: '\\u0126',\n\thstrok: '\\u0127',\n\tHumpDownHump: '\\u224E',\n\tHumpEqual: '\\u224F',\n\thybull: '\\u2043',\n\thyphen: '\\u2010',\n\tIacute: '\\u00CD',\n\tiacute: '\\u00ED',\n\tic: '\\u2063',\n\tIcirc: '\\u00CE',\n\ticirc: '\\u00EE',\n\tIcy: '\\u0418',\n\ticy: '\\u0438',\n\tIdot: '\\u0130',\n\tIEcy: '\\u0415',\n\tiecy: '\\u0435',\n\tiexcl: '\\u00A1',\n\tiff: '\\u21D4',\n\tIfr: '\\u2111',\n\tifr: '\\uD835\\uDD26',\n\tIgrave: '\\u00CC',\n\tigrave: '\\u00EC',\n\tii: '\\u2148',\n\tiiiint: '\\u2A0C',\n\tiiint: '\\u222D',\n\tiinfin: '\\u29DC',\n\tiiota: '\\u2129',\n\tIJlig: '\\u0132',\n\tijlig: '\\u0133',\n\tIm: '\\u2111',\n\tImacr: '\\u012A',\n\timacr: '\\u012B',\n\timage: '\\u2111',\n\tImaginaryI: '\\u2148',\n\timagline: '\\u2110',\n\timagpart: '\\u2111',\n\timath: '\\u0131',\n\timof: '\\u22B7',\n\timped: '\\u01B5',\n\tImplies: '\\u21D2',\n\tin: '\\u2208',\n\tincare: '\\u2105',\n\tinfin: '\\u221E',\n\tinfintie: '\\u29DD',\n\tinodot: '\\u0131',\n\tInt: '\\u222C',\n\tint: '\\u222B',\n\tintcal: '\\u22BA',\n\tintegers: '\\u2124',\n\tIntegral: '\\u222B',\n\tintercal: '\\u22BA',\n\tIntersection: '\\u22C2',\n\tintlarhk: '\\u2A17',\n\tintprod: '\\u2A3C',\n\tInvisibleComma: '\\u2063',\n\tInvisibleTimes: '\\u2062',\n\tIOcy: '\\u0401',\n\tiocy: '\\u0451',\n\tIogon: '\\u012E',\n\tiogon: '\\u012F',\n\tIopf: '\\uD835\\uDD40',\n\tiopf: '\\uD835\\uDD5A',\n\tIota: '\\u0399',\n\tiota: '\\u03B9',\n\tiprod: '\\u2A3C',\n\tiquest: '\\u00BF',\n\tIscr: '\\u2110',\n\tiscr: '\\uD835\\uDCBE',\n\tisin: '\\u2208',\n\tisindot: '\\u22F5',\n\tisinE: '\\u22F9',\n\tisins: '\\u22F4',\n\tisinsv: '\\u22F3',\n\tisinv: '\\u2208',\n\tit: '\\u2062',\n\tItilde: '\\u0128',\n\titilde: '\\u0129',\n\tIukcy: '\\u0406',\n\tiukcy: '\\u0456',\n\tIuml: '\\u00CF',\n\tiuml: '\\u00EF',\n\tJcirc: '\\u0134',\n\tjcirc: '\\u0135',\n\tJcy: '\\u0419',\n\tjcy: '\\u0439',\n\tJfr: '\\uD835\\uDD0D',\n\tjfr: '\\uD835\\uDD27',\n\tjmath: '\\u0237',\n\tJopf: '\\uD835\\uDD41',\n\tjopf: '\\uD835\\uDD5B',\n\tJscr: '\\uD835\\uDCA5',\n\tjscr: '\\uD835\\uDCBF',\n\tJsercy: '\\u0408',\n\tjsercy: '\\u0458',\n\tJukcy: '\\u0404',\n\tjukcy: '\\u0454',\n\tKappa: '\\u039A',\n\tkappa: '\\u03BA',\n\tkappav: '\\u03F0',\n\tKcedil: '\\u0136',\n\tkcedil: '\\u0137',\n\tKcy: '\\u041A',\n\tkcy: '\\u043A',\n\tKfr: '\\uD835\\uDD0E',\n\tkfr: '\\uD835\\uDD28',\n\tkgreen: '\\u0138',\n\tKHcy: '\\u0425',\n\tkhcy: '\\u0445',\n\tKJcy: '\\u040C',\n\tkjcy: '\\u045C',\n\tKopf: '\\uD835\\uDD42',\n\tkopf: '\\uD835\\uDD5C',\n\tKscr: '\\uD835\\uDCA6',\n\tkscr: '\\uD835\\uDCC0',\n\tlAarr: '\\u21DA',\n\tLacute: '\\u0139',\n\tlacute: '\\u013A',\n\tlaemptyv: '\\u29B4',\n\tlagran: '\\u2112',\n\tLambda: '\\u039B',\n\tlambda: '\\u03BB',\n\tLang: '\\u27EA',\n\tlang: '\\u27E8',\n\tlangd: '\\u2991',\n\tlangle: '\\u27E8',\n\tlap: '\\u2A85',\n\tLaplacetrf: '\\u2112',\n\tlaquo: '\\u00AB',\n\tLarr: '\\u219E',\n\tlArr: '\\u21D0',\n\tlarr: '\\u2190',\n\tlarrb: '\\u21E4',\n\tlarrbfs: '\\u291F',\n\tlarrfs: '\\u291D',\n\tlarrhk: '\\u21A9',\n\tlarrlp: '\\u21AB',\n\tlarrpl: '\\u2939',\n\tlarrsim: '\\u2973',\n\tlarrtl: '\\u21A2',\n\tlat: '\\u2AAB',\n\tlAtail: '\\u291B',\n\tlatail: '\\u2919',\n\tlate: '\\u2AAD',\n\tlates: '\\u2AAD\\uFE00',\n\tlBarr: '\\u290E',\n\tlbarr: '\\u290C',\n\tlbbrk: '\\u2772',\n\tlbrace: '\\u007B',\n\tlbrack: '\\u005B',\n\tlbrke: '\\u298B',\n\tlbrksld: '\\u298F',\n\tlbrkslu: '\\u298D',\n\tLcaron: '\\u013D',\n\tlcaron: '\\u013E',\n\tLcedil: '\\u013B',\n\tlcedil: '\\u013C',\n\tlceil: '\\u2308',\n\tlcub: '\\u007B',\n\tLcy: '\\u041B',\n\tlcy: '\\u043B',\n\tldca: '\\u2936',\n\tldquo: '\\u201C',\n\tldquor: '\\u201E',\n\tldrdhar: '\\u2967',\n\tldrushar: '\\u294B',\n\tldsh: '\\u21B2',\n\tlE: '\\u2266',\n\tle: '\\u2264',\n\tLeftAngleBracket: '\\u27E8',\n\tLeftArrow: '\\u2190',\n\tLeftarrow: '\\u21D0',\n\tleftarrow: '\\u2190',\n\tLeftArrowBar: '\\u21E4',\n\tLeftArrowRightArrow: '\\u21C6',\n\tleftarrowtail: '\\u21A2',\n\tLeftCeiling: '\\u2308',\n\tLeftDoubleBracket: '\\u27E6',\n\tLeftDownTeeVector: '\\u2961',\n\tLeftDownVector: '\\u21C3',\n\tLeftDownVectorBar: '\\u2959',\n\tLeftFloor: '\\u230A',\n\tleftharpoondown: '\\u21BD',\n\tleftharpoonup: '\\u21BC',\n\tleftleftarrows: '\\u21C7',\n\tLeftRightArrow: '\\u2194',\n\tLeftrightarrow: '\\u21D4',\n\tleftrightarrow: '\\u2194',\n\tleftrightarrows: '\\u21C6',\n\tleftrightharpoons: '\\u21CB',\n\tleftrightsquigarrow: '\\u21AD',\n\tLeftRightVector: '\\u294E',\n\tLeftTee: '\\u22A3',\n\tLeftTeeArrow: '\\u21A4',\n\tLeftTeeVector: '\\u295A',\n\tleftthreetimes: '\\u22CB',\n\tLeftTriangle: '\\u22B2',\n\tLeftTriangleBar: '\\u29CF',\n\tLeftTriangleEqual: '\\u22B4',\n\tLeftUpDownVector: '\\u2951',\n\tLeftUpTeeVector: '\\u2960',\n\tLeftUpVector: '\\u21BF',\n\tLeftUpVectorBar: '\\u2958',\n\tLeftVector: '\\u21BC',\n\tLeftVectorBar: '\\u2952',\n\tlEg: '\\u2A8B',\n\tleg: '\\u22DA',\n\tleq: '\\u2264',\n\tleqq: '\\u2266',\n\tleqslant: '\\u2A7D',\n\tles: '\\u2A7D',\n\tlescc: '\\u2AA8',\n\tlesdot: '\\u2A7F',\n\tlesdoto: '\\u2A81',\n\tlesdotor: '\\u2A83',\n\tlesg: '\\u22DA\\uFE00',\n\tlesges: '\\u2A93',\n\tlessapprox: '\\u2A85',\n\tlessdot: '\\u22D6',\n\tlesseqgtr: '\\u22DA',\n\tlesseqqgtr: '\\u2A8B',\n\tLessEqualGreater: '\\u22DA',\n\tLessFullEqual: '\\u2266',\n\tLessGreater: '\\u2276',\n\tlessgtr: '\\u2276',\n\tLessLess: '\\u2AA1',\n\tlesssim: '\\u2272',\n\tLessSlantEqual: '\\u2A7D',\n\tLessTilde: '\\u2272',\n\tlfisht: '\\u297C',\n\tlfloor: '\\u230A',\n\tLfr: '\\uD835\\uDD0F',\n\tlfr: '\\uD835\\uDD29',\n\tlg: '\\u2276',\n\tlgE: '\\u2A91',\n\tlHar: '\\u2962',\n\tlhard: '\\u21BD',\n\tlharu: '\\u21BC',\n\tlharul: '\\u296A',\n\tlhblk: '\\u2584',\n\tLJcy: '\\u0409',\n\tljcy: '\\u0459',\n\tLl: '\\u22D8',\n\tll: '\\u226A',\n\tllarr: '\\u21C7',\n\tllcorner: '\\u231E',\n\tLleftarrow: '\\u21DA',\n\tllhard: '\\u296B',\n\tlltri: '\\u25FA',\n\tLmidot: '\\u013F',\n\tlmidot: '\\u0140',\n\tlmoust: '\\u23B0',\n\tlmoustache: '\\u23B0',\n\tlnap: '\\u2A89',\n\tlnapprox: '\\u2A89',\n\tlnE: '\\u2268',\n\tlne: '\\u2A87',\n\tlneq: '\\u2A87',\n\tlneqq: '\\u2268',\n\tlnsim: '\\u22E6',\n\tloang: '\\u27EC',\n\tloarr: '\\u21FD',\n\tlobrk: '\\u27E6',\n\tLongLeftArrow: '\\u27F5',\n\tLongleftarrow: '\\u27F8',\n\tlongleftarrow: '\\u27F5',\n\tLongLeftRightArrow: '\\u27F7',\n\tLongleftrightarrow: '\\u27FA',\n\tlongleftrightarrow: '\\u27F7',\n\tlongmapsto: '\\u27FC',\n\tLongRightArrow: '\\u27F6',\n\tLongrightarrow: '\\u27F9',\n\tlongrightarrow: '\\u27F6',\n\tlooparrowleft: '\\u21AB',\n\tlooparrowright: '\\u21AC',\n\tlopar: '\\u2985',\n\tLopf: '\\uD835\\uDD43',\n\tlopf: '\\uD835\\uDD5D',\n\tloplus: '\\u2A2D',\n\tlotimes: '\\u2A34',\n\tlowast: '\\u2217',\n\tlowbar: '\\u005F',\n\tLowerLeftArrow: '\\u2199',\n\tLowerRightArrow: '\\u2198',\n\tloz: '\\u25CA',\n\tlozenge: '\\u25CA',\n\tlozf: '\\u29EB',\n\tlpar: '\\u0028',\n\tlparlt: '\\u2993',\n\tlrarr: '\\u21C6',\n\tlrcorner: '\\u231F',\n\tlrhar: '\\u21CB',\n\tlrhard: '\\u296D',\n\tlrm: '\\u200E',\n\tlrtri: '\\u22BF',\n\tlsaquo: '\\u2039',\n\tLscr: '\\u2112',\n\tlscr: '\\uD835\\uDCC1',\n\tLsh: '\\u21B0',\n\tlsh: '\\u21B0',\n\tlsim: '\\u2272',\n\tlsime: '\\u2A8D',\n\tlsimg: '\\u2A8F',\n\tlsqb: '\\u005B',\n\tlsquo: '\\u2018',\n\tlsquor: '\\u201A',\n\tLstrok: '\\u0141',\n\tlstrok: '\\u0142',\n\tLt: '\\u226A',\n\tLT: '\\u003C',\n\tlt: '\\u003C',\n\tltcc: '\\u2AA6',\n\tltcir: '\\u2A79',\n\tltdot: '\\u22D6',\n\tlthree: '\\u22CB',\n\tltimes: '\\u22C9',\n\tltlarr: '\\u2976',\n\tltquest: '\\u2A7B',\n\tltri: '\\u25C3',\n\tltrie: '\\u22B4',\n\tltrif: '\\u25C2',\n\tltrPar: '\\u2996',\n\tlurdshar: '\\u294A',\n\tluruhar: '\\u2966',\n\tlvertneqq: '\\u2268\\uFE00',\n\tlvnE: '\\u2268\\uFE00',\n\tmacr: '\\u00AF',\n\tmale: '\\u2642',\n\tmalt: '\\u2720',\n\tmaltese: '\\u2720',\n\tMap: '\\u2905',\n\tmap: '\\u21A6',\n\tmapsto: '\\u21A6',\n\tmapstodown: '\\u21A7',\n\tmapstoleft: '\\u21A4',\n\tmapstoup: '\\u21A5',\n\tmarker: '\\u25AE',\n\tmcomma: '\\u2A29',\n\tMcy: '\\u041C',\n\tmcy: '\\u043C',\n\tmdash: '\\u2014',\n\tmDDot: '\\u223A',\n\tmeasuredangle: '\\u2221',\n\tMediumSpace: '\\u205F',\n\tMellintrf: '\\u2133',\n\tMfr: '\\uD835\\uDD10',\n\tmfr: '\\uD835\\uDD2A',\n\tmho: '\\u2127',\n\tmicro: '\\u00B5',\n\tmid: '\\u2223',\n\tmidast: '\\u002A',\n\tmidcir: '\\u2AF0',\n\tmiddot: '\\u00B7',\n\tminus: '\\u2212',\n\tminusb: '\\u229F',\n\tminusd: '\\u2238',\n\tminusdu: '\\u2A2A',\n\tMinusPlus: '\\u2213',\n\tmlcp: '\\u2ADB',\n\tmldr: '\\u2026',\n\tmnplus: '\\u2213',\n\tmodels: '\\u22A7',\n\tMopf: '\\uD835\\uDD44',\n\tmopf: '\\uD835\\uDD5E',\n\tmp: '\\u2213',\n\tMscr: '\\u2133',\n\tmscr: '\\uD835\\uDCC2',\n\tmstpos: '\\u223E',\n\tMu: '\\u039C',\n\tmu: '\\u03BC',\n\tmultimap: '\\u22B8',\n\tmumap: '\\u22B8',\n\tnabla: '\\u2207',\n\tNacute: '\\u0143',\n\tnacute: '\\u0144',\n\tnang: '\\u2220\\u20D2',\n\tnap: '\\u2249',\n\tnapE: '\\u2A70\\u0338',\n\tnapid: '\\u224B\\u0338',\n\tnapos: '\\u0149',\n\tnapprox: '\\u2249',\n\tnatur: '\\u266E',\n\tnatural: '\\u266E',\n\tnaturals: '\\u2115',\n\tnbsp: '\\u00A0',\n\tnbump: '\\u224E\\u0338',\n\tnbumpe: '\\u224F\\u0338',\n\tncap: '\\u2A43',\n\tNcaron: '\\u0147',\n\tncaron: '\\u0148',\n\tNcedil: '\\u0145',\n\tncedil: '\\u0146',\n\tncong: '\\u2247',\n\tncongdot: '\\u2A6D\\u0338',\n\tncup: '\\u2A42',\n\tNcy: '\\u041D',\n\tncy: '\\u043D',\n\tndash: '\\u2013',\n\tne: '\\u2260',\n\tnearhk: '\\u2924',\n\tneArr: '\\u21D7',\n\tnearr: '\\u2197',\n\tnearrow: '\\u2197',\n\tnedot: '\\u2250\\u0338',\n\tNegativeMediumSpace: '\\u200B',\n\tNegativeThickSpace: '\\u200B',\n\tNegativeThinSpace: '\\u200B',\n\tNegativeVeryThinSpace: '\\u200B',\n\tnequiv: '\\u2262',\n\tnesear: '\\u2928',\n\tnesim: '\\u2242\\u0338',\n\tNestedGreaterGreater: '\\u226B',\n\tNestedLessLess: '\\u226A',\n\tNewLine: '\\u000A',\n\tnexist: '\\u2204',\n\tnexists: '\\u2204',\n\tNfr: '\\uD835\\uDD11',\n\tnfr: '\\uD835\\uDD2B',\n\tngE: '\\u2267\\u0338',\n\tnge: '\\u2271',\n\tngeq: '\\u2271',\n\tngeqq: '\\u2267\\u0338',\n\tngeqslant: '\\u2A7E\\u0338',\n\tnges: '\\u2A7E\\u0338',\n\tnGg: '\\u22D9\\u0338',\n\tngsim: '\\u2275',\n\tnGt: '\\u226B\\u20D2',\n\tngt: '\\u226F',\n\tngtr: '\\u226F',\n\tnGtv: '\\u226B\\u0338',\n\tnhArr: '\\u21CE',\n\tnharr: '\\u21AE',\n\tnhpar: '\\u2AF2',\n\tni: '\\u220B',\n\tnis: '\\u22FC',\n\tnisd: '\\u22FA',\n\tniv: '\\u220B',\n\tNJcy: '\\u040A',\n\tnjcy: '\\u045A',\n\tnlArr: '\\u21CD',\n\tnlarr: '\\u219A',\n\tnldr: '\\u2025',\n\tnlE: '\\u2266\\u0338',\n\tnle: '\\u2270',\n\tnLeftarrow: '\\u21CD',\n\tnleftarrow: '\\u219A',\n\tnLeftrightarrow: '\\u21CE',\n\tnleftrightarrow: '\\u21AE',\n\tnleq: '\\u2270',\n\tnleqq: '\\u2266\\u0338',\n\tnleqslant: '\\u2A7D\\u0338',\n\tnles: '\\u2A7D\\u0338',\n\tnless: '\\u226E',\n\tnLl: '\\u22D8\\u0338',\n\tnlsim: '\\u2274',\n\tnLt: '\\u226A\\u20D2',\n\tnlt: '\\u226E',\n\tnltri: '\\u22EA',\n\tnltrie: '\\u22EC',\n\tnLtv: '\\u226A\\u0338',\n\tnmid: '\\u2224',\n\tNoBreak: '\\u2060',\n\tNonBreakingSpace: '\\u00A0',\n\tNopf: '\\u2115',\n\tnopf: '\\uD835\\uDD5F',\n\tNot: '\\u2AEC',\n\tnot: '\\u00AC',\n\tNotCongruent: '\\u2262',\n\tNotCupCap: '\\u226D',\n\tNotDoubleVerticalBar: '\\u2226',\n\tNotElement: '\\u2209',\n\tNotEqual: '\\u2260',\n\tNotEqualTilde: '\\u2242\\u0338',\n\tNotExists: '\\u2204',\n\tNotGreater: '\\u226F',\n\tNotGreaterEqual: '\\u2271',\n\tNotGreaterFullEqual: '\\u2267\\u0338',\n\tNotGreaterGreater: '\\u226B\\u0338',\n\tNotGreaterLess: '\\u2279',\n\tNotGreaterSlantEqual: '\\u2A7E\\u0338',\n\tNotGreaterTilde: '\\u2275',\n\tNotHumpDownHump: '\\u224E\\u0338',\n\tNotHumpEqual: '\\u224F\\u0338',\n\tnotin: '\\u2209',\n\tnotindot: '\\u22F5\\u0338',\n\tnotinE: '\\u22F9\\u0338',\n\tnotinva: '\\u2209',\n\tnotinvb: '\\u22F7',\n\tnotinvc: '\\u22F6',\n\tNotLeftTriangle: '\\u22EA',\n\tNotLeftTriangleBar: '\\u29CF\\u0338',\n\tNotLeftTriangleEqual: '\\u22EC',\n\tNotLess: '\\u226E',\n\tNotLessEqual: '\\u2270',\n\tNotLessGreater: '\\u2278',\n\tNotLessLess: '\\u226A\\u0338',\n\tNotLessSlantEqual: '\\u2A7D\\u0338',\n\tNotLessTilde: '\\u2274',\n\tNotNestedGreaterGreater: '\\u2AA2\\u0338',\n\tNotNestedLessLess: '\\u2AA1\\u0338',\n\tnotni: '\\u220C',\n\tnotniva: '\\u220C',\n\tnotnivb: '\\u22FE',\n\tnotnivc: '\\u22FD',\n\tNotPrecedes: '\\u2280',\n\tNotPrecedesEqual: '\\u2AAF\\u0338',\n\tNotPrecedesSlantEqual: '\\u22E0',\n\tNotReverseElement: '\\u220C',\n\tNotRightTriangle: '\\u22EB',\n\tNotRightTriangleBar: '\\u29D0\\u0338',\n\tNotRightTriangleEqual: '\\u22ED',\n\tNotSquareSubset: '\\u228F\\u0338',\n\tNotSquareSubsetEqual: '\\u22E2',\n\tNotSquareSuperset: '\\u2290\\u0338',\n\tNotSquareSupersetEqual: '\\u22E3',\n\tNotSubset: '\\u2282\\u20D2',\n\tNotSubsetEqual: '\\u2288',\n\tNotSucceeds: '\\u2281',\n\tNotSucceedsEqual: '\\u2AB0\\u0338',\n\tNotSucceedsSlantEqual: '\\u22E1',\n\tNotSucceedsTilde: '\\u227F\\u0338',\n\tNotSuperset: '\\u2283\\u20D2',\n\tNotSupersetEqual: '\\u2289',\n\tNotTilde: '\\u2241',\n\tNotTildeEqual: '\\u2244',\n\tNotTildeFullEqual: '\\u2247',\n\tNotTildeTilde: '\\u2249',\n\tNotVerticalBar: '\\u2224',\n\tnpar: '\\u2226',\n\tnparallel: '\\u2226',\n\tnparsl: '\\u2AFD\\u20E5',\n\tnpart: '\\u2202\\u0338',\n\tnpolint: '\\u2A14',\n\tnpr: '\\u2280',\n\tnprcue: '\\u22E0',\n\tnpre: '\\u2AAF\\u0338',\n\tnprec: '\\u2280',\n\tnpreceq: '\\u2AAF\\u0338',\n\tnrArr: '\\u21CF',\n\tnrarr: '\\u219B',\n\tnrarrc: '\\u2933\\u0338',\n\tnrarrw: '\\u219D\\u0338',\n\tnRightarrow: '\\u21CF',\n\tnrightarrow: '\\u219B',\n\tnrtri: '\\u22EB',\n\tnrtrie: '\\u22ED',\n\tnsc: '\\u2281',\n\tnsccue: '\\u22E1',\n\tnsce: '\\u2AB0\\u0338',\n\tNscr: '\\uD835\\uDCA9',\n\tnscr: '\\uD835\\uDCC3',\n\tnshortmid: '\\u2224',\n\tnshortparallel: '\\u2226',\n\tnsim: '\\u2241',\n\tnsime: '\\u2244',\n\tnsimeq: '\\u2244',\n\tnsmid: '\\u2224',\n\tnspar: '\\u2226',\n\tnsqsube: '\\u22E2',\n\tnsqsupe: '\\u22E3',\n\tnsub: '\\u2284',\n\tnsubE: '\\u2AC5\\u0338',\n\tnsube: '\\u2288',\n\tnsubset: '\\u2282\\u20D2',\n\tnsubseteq: '\\u2288',\n\tnsubseteqq: '\\u2AC5\\u0338',\n\tnsucc: '\\u2281',\n\tnsucceq: '\\u2AB0\\u0338',\n\tnsup: '\\u2285',\n\tnsupE: '\\u2AC6\\u0338',\n\tnsupe: '\\u2289',\n\tnsupset: '\\u2283\\u20D2',\n\tnsupseteq: '\\u2289',\n\tnsupseteqq: '\\u2AC6\\u0338',\n\tntgl: '\\u2279',\n\tNtilde: '\\u00D1',\n\tntilde: '\\u00F1',\n\tntlg: '\\u2278',\n\tntriangleleft: '\\u22EA',\n\tntrianglelefteq: '\\u22EC',\n\tntriangleright: '\\u22EB',\n\tntrianglerighteq: '\\u22ED',\n\tNu: '\\u039D',\n\tnu: '\\u03BD',\n\tnum: '\\u0023',\n\tnumero: '\\u2116',\n\tnumsp: '\\u2007',\n\tnvap: '\\u224D\\u20D2',\n\tnVDash: '\\u22AF',\n\tnVdash: '\\u22AE',\n\tnvDash: '\\u22AD',\n\tnvdash: '\\u22AC',\n\tnvge: '\\u2265\\u20D2',\n\tnvgt: '\\u003E\\u20D2',\n\tnvHarr: '\\u2904',\n\tnvinfin: '\\u29DE',\n\tnvlArr: '\\u2902',\n\tnvle: '\\u2264\\u20D2',\n\tnvlt: '\\u003C\\u20D2',\n\tnvltrie: '\\u22B4\\u20D2',\n\tnvrArr: '\\u2903',\n\tnvrtrie: '\\u22B5\\u20D2',\n\tnvsim: '\\u223C\\u20D2',\n\tnwarhk: '\\u2923',\n\tnwArr: '\\u21D6',\n\tnwarr: '\\u2196',\n\tnwarrow: '\\u2196',\n\tnwnear: '\\u2927',\n\tOacute: '\\u00D3',\n\toacute: '\\u00F3',\n\toast: '\\u229B',\n\tocir: '\\u229A',\n\tOcirc: '\\u00D4',\n\tocirc: '\\u00F4',\n\tOcy: '\\u041E',\n\tocy: '\\u043E',\n\todash: '\\u229D',\n\tOdblac: '\\u0150',\n\todblac: '\\u0151',\n\todiv: '\\u2A38',\n\todot: '\\u2299',\n\todsold: '\\u29BC',\n\tOElig: '\\u0152',\n\toelig: '\\u0153',\n\tofcir: '\\u29BF',\n\tOfr: '\\uD835\\uDD12',\n\tofr: '\\uD835\\uDD2C',\n\togon: '\\u02DB',\n\tOgrave: '\\u00D2',\n\tograve: '\\u00F2',\n\togt: '\\u29C1',\n\tohbar: '\\u29B5',\n\tohm: '\\u03A9',\n\toint: '\\u222E',\n\tolarr: '\\u21BA',\n\tolcir: '\\u29BE',\n\tolcross: '\\u29BB',\n\toline: '\\u203E',\n\tolt: '\\u29C0',\n\tOmacr: '\\u014C',\n\tomacr: '\\u014D',\n\tOmega: '\\u03A9',\n\tomega: '\\u03C9',\n\tOmicron: '\\u039F',\n\tomicron: '\\u03BF',\n\tomid: '\\u29B6',\n\tominus: '\\u2296',\n\tOopf: '\\uD835\\uDD46',\n\toopf: '\\uD835\\uDD60',\n\topar: '\\u29B7',\n\tOpenCurlyDoubleQuote: '\\u201C',\n\tOpenCurlyQuote: '\\u2018',\n\toperp: '\\u29B9',\n\toplus: '\\u2295',\n\tOr: '\\u2A54',\n\tor: '\\u2228',\n\torarr: '\\u21BB',\n\tord: '\\u2A5D',\n\torder: '\\u2134',\n\torderof: '\\u2134',\n\tordf: '\\u00AA',\n\tordm: '\\u00BA',\n\torigof: '\\u22B6',\n\toror: '\\u2A56',\n\torslope: '\\u2A57',\n\torv: '\\u2A5B',\n\toS: '\\u24C8',\n\tOscr: '\\uD835\\uDCAA',\n\toscr: '\\u2134',\n\tOslash: '\\u00D8',\n\toslash: '\\u00F8',\n\tosol: '\\u2298',\n\tOtilde: '\\u00D5',\n\totilde: '\\u00F5',\n\tOtimes: '\\u2A37',\n\totimes: '\\u2297',\n\totimesas: '\\u2A36',\n\tOuml: '\\u00D6',\n\touml: '\\u00F6',\n\tovbar: '\\u233D',\n\tOverBar: '\\u203E',\n\tOverBrace: '\\u23DE',\n\tOverBracket: '\\u23B4',\n\tOverParenthesis: '\\u23DC',\n\tpar: '\\u2225',\n\tpara: '\\u00B6',\n\tparallel: '\\u2225',\n\tparsim: '\\u2AF3',\n\tparsl: '\\u2AFD',\n\tpart: '\\u2202',\n\tPartialD: '\\u2202',\n\tPcy: '\\u041F',\n\tpcy: '\\u043F',\n\tpercnt: '\\u0025',\n\tperiod: '\\u002E',\n\tpermil: '\\u2030',\n\tperp: '\\u22A5',\n\tpertenk: '\\u2031',\n\tPfr: '\\uD835\\uDD13',\n\tpfr: '\\uD835\\uDD2D',\n\tPhi: '\\u03A6',\n\tphi: '\\u03C6',\n\tphiv: '\\u03D5',\n\tphmmat: '\\u2133',\n\tphone: '\\u260E',\n\tPi: '\\u03A0',\n\tpi: '\\u03C0',\n\tpitchfork: '\\u22D4',\n\tpiv: '\\u03D6',\n\tplanck: '\\u210F',\n\tplanckh: '\\u210E',\n\tplankv: '\\u210F',\n\tplus: '\\u002B',\n\tplusacir: '\\u2A23',\n\tplusb: '\\u229E',\n\tpluscir: '\\u2A22',\n\tplusdo: '\\u2214',\n\tplusdu: '\\u2A25',\n\tpluse: '\\u2A72',\n\tPlusMinus: '\\u00B1',\n\tplusmn: '\\u00B1',\n\tplussim: '\\u2A26',\n\tplustwo: '\\u2A27',\n\tpm: '\\u00B1',\n\tPoincareplane: '\\u210C',\n\tpointint: '\\u2A15',\n\tPopf: '\\u2119',\n\tpopf: '\\uD835\\uDD61',\n\tpound: '\\u00A3',\n\tPr: '\\u2ABB',\n\tpr: '\\u227A',\n\tprap: '\\u2AB7',\n\tprcue: '\\u227C',\n\tprE: '\\u2AB3',\n\tpre: '\\u2AAF',\n\tprec: '\\u227A',\n\tprecapprox: '\\u2AB7',\n\tpreccurlyeq: '\\u227C',\n\tPrecedes: '\\u227A',\n\tPrecedesEqual: '\\u2AAF',\n\tPrecedesSlantEqual: '\\u227C',\n\tPrecedesTilde: '\\u227E',\n\tpreceq: '\\u2AAF',\n\tprecnapprox: '\\u2AB9',\n\tprecneqq: '\\u2AB5',\n\tprecnsim: '\\u22E8',\n\tprecsim: '\\u227E',\n\tPrime: '\\u2033',\n\tprime: '\\u2032',\n\tprimes: '\\u2119',\n\tprnap: '\\u2AB9',\n\tprnE: '\\u2AB5',\n\tprnsim: '\\u22E8',\n\tprod: '\\u220F',\n\tProduct: '\\u220F',\n\tprofalar: '\\u232E',\n\tprofline: '\\u2312',\n\tprofsurf: '\\u2313',\n\tprop: '\\u221D',\n\tProportion: '\\u2237',\n\tProportional: '\\u221D',\n\tpropto: '\\u221D',\n\tprsim: '\\u227E',\n\tprurel: '\\u22B0',\n\tPscr: '\\uD835\\uDCAB',\n\tpscr: '\\uD835\\uDCC5',\n\tPsi: '\\u03A8',\n\tpsi: '\\u03C8',\n\tpuncsp: '\\u2008',\n\tQfr: '\\uD835\\uDD14',\n\tqfr: '\\uD835\\uDD2E',\n\tqint: '\\u2A0C',\n\tQopf: '\\u211A',\n\tqopf: '\\uD835\\uDD62',\n\tqprime: '\\u2057',\n\tQscr: '\\uD835\\uDCAC',\n\tqscr: '\\uD835\\uDCC6',\n\tquaternions: '\\u210D',\n\tquatint: '\\u2A16',\n\tquest: '\\u003F',\n\tquesteq: '\\u225F',\n\tQUOT: '\\u0022',\n\tquot: '\\u0022',\n\trAarr: '\\u21DB',\n\trace: '\\u223D\\u0331',\n\tRacute: '\\u0154',\n\tracute: '\\u0155',\n\tradic: '\\u221A',\n\traemptyv: '\\u29B3',\n\tRang: '\\u27EB',\n\trang: '\\u27E9',\n\trangd: '\\u2992',\n\trange: '\\u29A5',\n\trangle: '\\u27E9',\n\traquo: '\\u00BB',\n\tRarr: '\\u21A0',\n\trArr: '\\u21D2',\n\trarr: '\\u2192',\n\trarrap: '\\u2975',\n\trarrb: '\\u21E5',\n\trarrbfs: '\\u2920',\n\trarrc: '\\u2933',\n\trarrfs: '\\u291E',\n\trarrhk: '\\u21AA',\n\trarrlp: '\\u21AC',\n\trarrpl: '\\u2945',\n\trarrsim: '\\u2974',\n\tRarrtl: '\\u2916',\n\trarrtl: '\\u21A3',\n\trarrw: '\\u219D',\n\trAtail: '\\u291C',\n\tratail: '\\u291A',\n\tratio: '\\u2236',\n\trationals: '\\u211A',\n\tRBarr: '\\u2910',\n\trBarr: '\\u290F',\n\trbarr: '\\u290D',\n\trbbrk: '\\u2773',\n\trbrace: '\\u007D',\n\trbrack: '\\u005D',\n\trbrke: '\\u298C',\n\trbrksld: '\\u298E',\n\trbrkslu: '\\u2990',\n\tRcaron: '\\u0158',\n\trcaron: '\\u0159',\n\tRcedil: '\\u0156',\n\trcedil: '\\u0157',\n\trceil: '\\u2309',\n\trcub: '\\u007D',\n\tRcy: '\\u0420',\n\trcy: '\\u0440',\n\trdca: '\\u2937',\n\trdldhar: '\\u2969',\n\trdquo: '\\u201D',\n\trdquor: '\\u201D',\n\trdsh: '\\u21B3',\n\tRe: '\\u211C',\n\treal: '\\u211C',\n\trealine: '\\u211B',\n\trealpart: '\\u211C',\n\treals: '\\u211D',\n\trect: '\\u25AD',\n\tREG: '\\u00AE',\n\treg: '\\u00AE',\n\tReverseElement: '\\u220B',\n\tReverseEquilibrium: '\\u21CB',\n\tReverseUpEquilibrium: '\\u296F',\n\trfisht: '\\u297D',\n\trfloor: '\\u230B',\n\tRfr: '\\u211C',\n\trfr: '\\uD835\\uDD2F',\n\trHar: '\\u2964',\n\trhard: '\\u21C1',\n\trharu: '\\u21C0',\n\trharul: '\\u296C',\n\tRho: '\\u03A1',\n\trho: '\\u03C1',\n\trhov: '\\u03F1',\n\tRightAngleBracket: '\\u27E9',\n\tRightArrow: '\\u2192',\n\tRightarrow: '\\u21D2',\n\trightarrow: '\\u2192',\n\tRightArrowBar: '\\u21E5',\n\tRightArrowLeftArrow: '\\u21C4',\n\trightarrowtail: '\\u21A3',\n\tRightCeiling: '\\u2309',\n\tRightDoubleBracket: '\\u27E7',\n\tRightDownTeeVector: '\\u295D',\n\tRightDownVector: '\\u21C2',\n\tRightDownVectorBar: '\\u2955',\n\tRightFloor: '\\u230B',\n\trightharpoondown: '\\u21C1',\n\trightharpoonup: '\\u21C0',\n\trightleftarrows: '\\u21C4',\n\trightleftharpoons: '\\u21CC',\n\trightrightarrows: '\\u21C9',\n\trightsquigarrow: '\\u219D',\n\tRightTee: '\\u22A2',\n\tRightTeeArrow: '\\u21A6',\n\tRightTeeVector: '\\u295B',\n\trightthreetimes: '\\u22CC',\n\tRightTriangle: '\\u22B3',\n\tRightTriangleBar: '\\u29D0',\n\tRightTriangleEqual: '\\u22B5',\n\tRightUpDownVector: '\\u294F',\n\tRightUpTeeVector: '\\u295C',\n\tRightUpVector: '\\u21BE',\n\tRightUpVectorBar: '\\u2954',\n\tRightVector: '\\u21C0',\n\tRightVectorBar: '\\u2953',\n\tring: '\\u02DA',\n\trisingdotseq: '\\u2253',\n\trlarr: '\\u21C4',\n\trlhar: '\\u21CC',\n\trlm: '\\u200F',\n\trmoust: '\\u23B1',\n\trmoustache: '\\u23B1',\n\trnmid: '\\u2AEE',\n\troang: '\\u27ED',\n\troarr: '\\u21FE',\n\trobrk: '\\u27E7',\n\tropar: '\\u2986',\n\tRopf: '\\u211D',\n\tropf: '\\uD835\\uDD63',\n\troplus: '\\u2A2E',\n\trotimes: '\\u2A35',\n\tRoundImplies: '\\u2970',\n\trpar: '\\u0029',\n\trpargt: '\\u2994',\n\trppolint: '\\u2A12',\n\trrarr: '\\u21C9',\n\tRrightarrow: '\\u21DB',\n\trsaquo: '\\u203A',\n\tRscr: '\\u211B',\n\trscr: '\\uD835\\uDCC7',\n\tRsh: '\\u21B1',\n\trsh: '\\u21B1',\n\trsqb: '\\u005D',\n\trsquo: '\\u2019',\n\trsquor: '\\u2019',\n\trthree: '\\u22CC',\n\trtimes: '\\u22CA',\n\trtri: '\\u25B9',\n\trtrie: '\\u22B5',\n\trtrif: '\\u25B8',\n\trtriltri: '\\u29CE',\n\tRuleDelayed: '\\u29F4',\n\truluhar: '\\u2968',\n\trx: '\\u211E',\n\tSacute: '\\u015A',\n\tsacute: '\\u015B',\n\tsbquo: '\\u201A',\n\tSc: '\\u2ABC',\n\tsc: '\\u227B',\n\tscap: '\\u2AB8',\n\tScaron: '\\u0160',\n\tscaron: '\\u0161',\n\tsccue: '\\u227D',\n\tscE: '\\u2AB4',\n\tsce: '\\u2AB0',\n\tScedil: '\\u015E',\n\tscedil: '\\u015F',\n\tScirc: '\\u015C',\n\tscirc: '\\u015D',\n\tscnap: '\\u2ABA',\n\tscnE: '\\u2AB6',\n\tscnsim: '\\u22E9',\n\tscpolint: '\\u2A13',\n\tscsim: '\\u227F',\n\tScy: '\\u0421',\n\tscy: '\\u0441',\n\tsdot: '\\u22C5',\n\tsdotb: '\\u22A1',\n\tsdote: '\\u2A66',\n\tsearhk: '\\u2925',\n\tseArr: '\\u21D8',\n\tsearr: '\\u2198',\n\tsearrow: '\\u2198',\n\tsect: '\\u00A7',\n\tsemi: '\\u003B',\n\tseswar: '\\u2929',\n\tsetminus: '\\u2216',\n\tsetmn: '\\u2216',\n\tsext: '\\u2736',\n\tSfr: '\\uD835\\uDD16',\n\tsfr: '\\uD835\\uDD30',\n\tsfrown: '\\u2322',\n\tsharp: '\\u266F',\n\tSHCHcy: '\\u0429',\n\tshchcy: '\\u0449',\n\tSHcy: '\\u0428',\n\tshcy: '\\u0448',\n\tShortDownArrow: '\\u2193',\n\tShortLeftArrow: '\\u2190',\n\tshortmid: '\\u2223',\n\tshortparallel: '\\u2225',\n\tShortRightArrow: '\\u2192',\n\tShortUpArrow: '\\u2191',\n\tshy: '\\u00AD',\n\tSigma: '\\u03A3',\n\tsigma: '\\u03C3',\n\tsigmaf: '\\u03C2',\n\tsigmav: '\\u03C2',\n\tsim: '\\u223C',\n\tsimdot: '\\u2A6A',\n\tsime: '\\u2243',\n\tsimeq: '\\u2243',\n\tsimg: '\\u2A9E',\n\tsimgE: '\\u2AA0',\n\tsiml: '\\u2A9D',\n\tsimlE: '\\u2A9F',\n\tsimne: '\\u2246',\n\tsimplus: '\\u2A24',\n\tsimrarr: '\\u2972',\n\tslarr: '\\u2190',\n\tSmallCircle: '\\u2218',\n\tsmallsetminus: '\\u2216',\n\tsmashp: '\\u2A33',\n\tsmeparsl: '\\u29E4',\n\tsmid: '\\u2223',\n\tsmile: '\\u2323',\n\tsmt: '\\u2AAA',\n\tsmte: '\\u2AAC',\n\tsmtes: '\\u2AAC\\uFE00',\n\tSOFTcy: '\\u042C',\n\tsoftcy: '\\u044C',\n\tsol: '\\u002F',\n\tsolb: '\\u29C4',\n\tsolbar: '\\u233F',\n\tSopf: '\\uD835\\uDD4A',\n\tsopf: '\\uD835\\uDD64',\n\tspades: '\\u2660',\n\tspadesuit: '\\u2660',\n\tspar: '\\u2225',\n\tsqcap: '\\u2293',\n\tsqcaps: '\\u2293\\uFE00',\n\tsqcup: '\\u2294',\n\tsqcups: '\\u2294\\uFE00',\n\tSqrt: '\\u221A',\n\tsqsub: '\\u228F',\n\tsqsube: '\\u2291',\n\tsqsubset: '\\u228F',\n\tsqsubseteq: '\\u2291',\n\tsqsup: '\\u2290',\n\tsqsupe: '\\u2292',\n\tsqsupset: '\\u2290',\n\tsqsupseteq: '\\u2292',\n\tsqu: '\\u25A1',\n\tSquare: '\\u25A1',\n\tsquare: '\\u25A1',\n\tSquareIntersection: '\\u2293',\n\tSquareSubset: '\\u228F',\n\tSquareSubsetEqual: '\\u2291',\n\tSquareSuperset: '\\u2290',\n\tSquareSupersetEqual: '\\u2292',\n\tSquareUnion: '\\u2294',\n\tsquarf: '\\u25AA',\n\tsquf: '\\u25AA',\n\tsrarr: '\\u2192',\n\tSscr: '\\uD835\\uDCAE',\n\tsscr: '\\uD835\\uDCC8',\n\tssetmn: '\\u2216',\n\tssmile: '\\u2323',\n\tsstarf: '\\u22C6',\n\tStar: '\\u22C6',\n\tstar: '\\u2606',\n\tstarf: '\\u2605',\n\tstraightepsilon: '\\u03F5',\n\tstraightphi: '\\u03D5',\n\tstrns: '\\u00AF',\n\tSub: '\\u22D0',\n\tsub: '\\u2282',\n\tsubdot: '\\u2ABD',\n\tsubE: '\\u2AC5',\n\tsube: '\\u2286',\n\tsubedot: '\\u2AC3',\n\tsubmult: '\\u2AC1',\n\tsubnE: '\\u2ACB',\n\tsubne: '\\u228A',\n\tsubplus: '\\u2ABF',\n\tsubrarr: '\\u2979',\n\tSubset: '\\u22D0',\n\tsubset: '\\u2282',\n\tsubseteq: '\\u2286',\n\tsubseteqq: '\\u2AC5',\n\tSubsetEqual: '\\u2286',\n\tsubsetneq: '\\u228A',\n\tsubsetneqq: '\\u2ACB',\n\tsubsim: '\\u2AC7',\n\tsubsub: '\\u2AD5',\n\tsubsup: '\\u2AD3',\n\tsucc: '\\u227B',\n\tsuccapprox: '\\u2AB8',\n\tsucccurlyeq: '\\u227D',\n\tSucceeds: '\\u227B',\n\tSucceedsEqual: '\\u2AB0',\n\tSucceedsSlantEqual: '\\u227D',\n\tSucceedsTilde: '\\u227F',\n\tsucceq: '\\u2AB0',\n\tsuccnapprox: '\\u2ABA',\n\tsuccneqq: '\\u2AB6',\n\tsuccnsim: '\\u22E9',\n\tsuccsim: '\\u227F',\n\tSuchThat: '\\u220B',\n\tSum: '\\u2211',\n\tsum: '\\u2211',\n\tsung: '\\u266A',\n\tSup: '\\u22D1',\n\tsup: '\\u2283',\n\tsup1: '\\u00B9',\n\tsup2: '\\u00B2',\n\tsup3: '\\u00B3',\n\tsupdot: '\\u2ABE',\n\tsupdsub: '\\u2AD8',\n\tsupE: '\\u2AC6',\n\tsupe: '\\u2287',\n\tsupedot: '\\u2AC4',\n\tSuperset: '\\u2283',\n\tSupersetEqual: '\\u2287',\n\tsuphsol: '\\u27C9',\n\tsuphsub: '\\u2AD7',\n\tsuplarr: '\\u297B',\n\tsupmult: '\\u2AC2',\n\tsupnE: '\\u2ACC',\n\tsupne: '\\u228B',\n\tsupplus: '\\u2AC0',\n\tSupset: '\\u22D1',\n\tsupset: '\\u2283',\n\tsupseteq: '\\u2287',\n\tsupseteqq: '\\u2AC6',\n\tsupsetneq: '\\u228B',\n\tsupsetneqq: '\\u2ACC',\n\tsupsim: '\\u2AC8',\n\tsupsub: '\\u2AD4',\n\tsupsup: '\\u2AD6',\n\tswarhk: '\\u2926',\n\tswArr: '\\u21D9',\n\tswarr: '\\u2199',\n\tswarrow: '\\u2199',\n\tswnwar: '\\u292A',\n\tszlig: '\\u00DF',\n\tTab: '\\u0009',\n\ttarget: '\\u2316',\n\tTau: '\\u03A4',\n\ttau: '\\u03C4',\n\ttbrk: '\\u23B4',\n\tTcaron: '\\u0164',\n\ttcaron: '\\u0165',\n\tTcedil: '\\u0162',\n\ttcedil: '\\u0163',\n\tTcy: '\\u0422',\n\ttcy: '\\u0442',\n\ttdot: '\\u20DB',\n\ttelrec: '\\u2315',\n\tTfr: '\\uD835\\uDD17',\n\ttfr: '\\uD835\\uDD31',\n\tthere4: '\\u2234',\n\tTherefore: '\\u2234',\n\ttherefore: '\\u2234',\n\tTheta: '\\u0398',\n\ttheta: '\\u03B8',\n\tthetasym: '\\u03D1',\n\tthetav: '\\u03D1',\n\tthickapprox: '\\u2248',\n\tthicksim: '\\u223C',\n\tThickSpace: '\\u205F\\u200A',\n\tthinsp: '\\u2009',\n\tThinSpace: '\\u2009',\n\tthkap: '\\u2248',\n\tthksim: '\\u223C',\n\tTHORN: '\\u00DE',\n\tthorn: '\\u00FE',\n\tTilde: '\\u223C',\n\ttilde: '\\u02DC',\n\tTildeEqual: '\\u2243',\n\tTildeFullEqual: '\\u2245',\n\tTildeTilde: '\\u2248',\n\ttimes: '\\u00D7',\n\ttimesb: '\\u22A0',\n\ttimesbar: '\\u2A31',\n\ttimesd: '\\u2A30',\n\ttint: '\\u222D',\n\ttoea: '\\u2928',\n\ttop: '\\u22A4',\n\ttopbot: '\\u2336',\n\ttopcir: '\\u2AF1',\n\tTopf: '\\uD835\\uDD4B',\n\ttopf: '\\uD835\\uDD65',\n\ttopfork: '\\u2ADA',\n\ttosa: '\\u2929',\n\ttprime: '\\u2034',\n\tTRADE: '\\u2122',\n\ttrade: '\\u2122',\n\ttriangle: '\\u25B5',\n\ttriangledown: '\\u25BF',\n\ttriangleleft: '\\u25C3',\n\ttrianglelefteq: '\\u22B4',\n\ttriangleq: '\\u225C',\n\ttriangleright: '\\u25B9',\n\ttrianglerighteq: '\\u22B5',\n\ttridot: '\\u25EC',\n\ttrie: '\\u225C',\n\ttriminus: '\\u2A3A',\n\tTripleDot: '\\u20DB',\n\ttriplus: '\\u2A39',\n\ttrisb: '\\u29CD',\n\ttritime: '\\u2A3B',\n\ttrpezium: '\\u23E2',\n\tTscr: '\\uD835\\uDCAF',\n\ttscr: '\\uD835\\uDCC9',\n\tTScy: '\\u0426',\n\ttscy: '\\u0446',\n\tTSHcy: '\\u040B',\n\ttshcy: '\\u045B',\n\tTstrok: '\\u0166',\n\ttstrok: '\\u0167',\n\ttwixt: '\\u226C',\n\ttwoheadleftarrow: '\\u219E',\n\ttwoheadrightarrow: '\\u21A0',\n\tUacute: '\\u00DA',\n\tuacute: '\\u00FA',\n\tUarr: '\\u219F',\n\tuArr: '\\u21D1',\n\tuarr: '\\u2191',\n\tUarrocir: '\\u2949',\n\tUbrcy: '\\u040E',\n\tubrcy: '\\u045E',\n\tUbreve: '\\u016C',\n\tubreve: '\\u016D',\n\tUcirc: '\\u00DB',\n\tucirc: '\\u00FB',\n\tUcy: '\\u0423',\n\tucy: '\\u0443',\n\tudarr: '\\u21C5',\n\tUdblac: '\\u0170',\n\tudblac: '\\u0171',\n\tudhar: '\\u296E',\n\tufisht: '\\u297E',\n\tUfr: '\\uD835\\uDD18',\n\tufr: '\\uD835\\uDD32',\n\tUgrave: '\\u00D9',\n\tugrave: '\\u00F9',\n\tuHar: '\\u2963',\n\tuharl: '\\u21BF',\n\tuharr: '\\u21BE',\n\tuhblk: '\\u2580',\n\tulcorn: '\\u231C',\n\tulcorner: '\\u231C',\n\tulcrop: '\\u230F',\n\tultri: '\\u25F8',\n\tUmacr: '\\u016A',\n\tumacr: '\\u016B',\n\tuml: '\\u00A8',\n\tUnderBar: '\\u005F',\n\tUnderBrace: '\\u23DF',\n\tUnderBracket: '\\u23B5',\n\tUnderParenthesis: '\\u23DD',\n\tUnion: '\\u22C3',\n\tUnionPlus: '\\u228E',\n\tUogon: '\\u0172',\n\tuogon: '\\u0173',\n\tUopf: '\\uD835\\uDD4C',\n\tuopf: '\\uD835\\uDD66',\n\tUpArrow: '\\u2191',\n\tUparrow: '\\u21D1',\n\tuparrow: '\\u2191',\n\tUpArrowBar: '\\u2912',\n\tUpArrowDownArrow: '\\u21C5',\n\tUpDownArrow: '\\u2195',\n\tUpdownarrow: '\\u21D5',\n\tupdownarrow: '\\u2195',\n\tUpEquilibrium: '\\u296E',\n\tupharpoonleft: '\\u21BF',\n\tupharpoonright: '\\u21BE',\n\tuplus: '\\u228E',\n\tUpperLeftArrow: '\\u2196',\n\tUpperRightArrow: '\\u2197',\n\tUpsi: '\\u03D2',\n\tupsi: '\\u03C5',\n\tupsih: '\\u03D2',\n\tUpsilon: '\\u03A5',\n\tupsilon: '\\u03C5',\n\tUpTee: '\\u22A5',\n\tUpTeeArrow: '\\u21A5',\n\tupuparrows: '\\u21C8',\n\turcorn: '\\u231D',\n\turcorner: '\\u231D',\n\turcrop: '\\u230E',\n\tUring: '\\u016E',\n\turing: '\\u016F',\n\turtri: '\\u25F9',\n\tUscr: '\\uD835\\uDCB0',\n\tuscr: '\\uD835\\uDCCA',\n\tutdot: '\\u22F0',\n\tUtilde: '\\u0168',\n\tutilde: '\\u0169',\n\tutri: '\\u25B5',\n\tutrif: '\\u25B4',\n\tuuarr: '\\u21C8',\n\tUuml: '\\u00DC',\n\tuuml: '\\u00FC',\n\tuwangle: '\\u29A7',\n\tvangrt: '\\u299C',\n\tvarepsilon: '\\u03F5',\n\tvarkappa: '\\u03F0',\n\tvarnothing: '\\u2205',\n\tvarphi: '\\u03D5',\n\tvarpi: '\\u03D6',\n\tvarpropto: '\\u221D',\n\tvArr: '\\u21D5',\n\tvarr: '\\u2195',\n\tvarrho: '\\u03F1',\n\tvarsigma: '\\u03C2',\n\tvarsubsetneq: '\\u228A\\uFE00',\n\tvarsubsetneqq: '\\u2ACB\\uFE00',\n\tvarsupsetneq: '\\u228B\\uFE00',\n\tvarsupsetneqq: '\\u2ACC\\uFE00',\n\tvartheta: '\\u03D1',\n\tvartriangleleft: '\\u22B2',\n\tvartriangleright: '\\u22B3',\n\tVbar: '\\u2AEB',\n\tvBar: '\\u2AE8',\n\tvBarv: '\\u2AE9',\n\tVcy: '\\u0412',\n\tvcy: '\\u0432',\n\tVDash: '\\u22AB',\n\tVdash: '\\u22A9',\n\tvDash: '\\u22A8',\n\tvdash: '\\u22A2',\n\tVdashl: '\\u2AE6',\n\tVee: '\\u22C1',\n\tvee: '\\u2228',\n\tveebar: '\\u22BB',\n\tveeeq: '\\u225A',\n\tvellip: '\\u22EE',\n\tVerbar: '\\u2016',\n\tverbar: '\\u007C',\n\tVert: '\\u2016',\n\tvert: '\\u007C',\n\tVerticalBar: '\\u2223',\n\tVerticalLine: '\\u007C',\n\tVerticalSeparator: '\\u2758',\n\tVerticalTilde: '\\u2240',\n\tVeryThinSpace: '\\u200A',\n\tVfr: '\\uD835\\uDD19',\n\tvfr: '\\uD835\\uDD33',\n\tvltri: '\\u22B2',\n\tvnsub: '\\u2282\\u20D2',\n\tvnsup: '\\u2283\\u20D2',\n\tVopf: '\\uD835\\uDD4D',\n\tvopf: '\\uD835\\uDD67',\n\tvprop: '\\u221D',\n\tvrtri: '\\u22B3',\n\tVscr: '\\uD835\\uDCB1',\n\tvscr: '\\uD835\\uDCCB',\n\tvsubnE: '\\u2ACB\\uFE00',\n\tvsubne: '\\u228A\\uFE00',\n\tvsupnE: '\\u2ACC\\uFE00',\n\tvsupne: '\\u228B\\uFE00',\n\tVvdash: '\\u22AA',\n\tvzigzag: '\\u299A',\n\tWcirc: '\\u0174',\n\twcirc: '\\u0175',\n\twedbar: '\\u2A5F',\n\tWedge: '\\u22C0',\n\twedge: '\\u2227',\n\twedgeq: '\\u2259',\n\tweierp: '\\u2118',\n\tWfr: '\\uD835\\uDD1A',\n\twfr: '\\uD835\\uDD34',\n\tWopf: '\\uD835\\uDD4E',\n\twopf: '\\uD835\\uDD68',\n\twp: '\\u2118',\n\twr: '\\u2240',\n\twreath: '\\u2240',\n\tWscr: '\\uD835\\uDCB2',\n\twscr: '\\uD835\\uDCCC',\n\txcap: '\\u22C2',\n\txcirc: '\\u25EF',\n\txcup: '\\u22C3',\n\txdtri: '\\u25BD',\n\tXfr: '\\uD835\\uDD1B',\n\txfr: '\\uD835\\uDD35',\n\txhArr: '\\u27FA',\n\txharr: '\\u27F7',\n\tXi: '\\u039E',\n\txi: '\\u03BE',\n\txlArr: '\\u27F8',\n\txlarr: '\\u27F5',\n\txmap: '\\u27FC',\n\txnis: '\\u22FB',\n\txodot: '\\u2A00',\n\tXopf: '\\uD835\\uDD4F',\n\txopf: '\\uD835\\uDD69',\n\txoplus: '\\u2A01',\n\txotime: '\\u2A02',\n\txrArr: '\\u27F9',\n\txrarr: '\\u27F6',\n\tXscr: '\\uD835\\uDCB3',\n\txscr: '\\uD835\\uDCCD',\n\txsqcup: '\\u2A06',\n\txuplus: '\\u2A04',\n\txutri: '\\u25B3',\n\txvee: '\\u22C1',\n\txwedge: '\\u22C0',\n\tYacute: '\\u00DD',\n\tyacute: '\\u00FD',\n\tYAcy: '\\u042F',\n\tyacy: '\\u044F',\n\tYcirc: '\\u0176',\n\tycirc: '\\u0177',\n\tYcy: '\\u042B',\n\tycy: '\\u044B',\n\tyen: '\\u00A5',\n\tYfr: '\\uD835\\uDD1C',\n\tyfr: '\\uD835\\uDD36',\n\tYIcy: '\\u0407',\n\tyicy: '\\u0457',\n\tYopf: '\\uD835\\uDD50',\n\tyopf: '\\uD835\\uDD6A',\n\tYscr: '\\uD835\\uDCB4',\n\tyscr: '\\uD835\\uDCCE',\n\tYUcy: '\\u042E',\n\tyucy: '\\u044E',\n\tYuml: '\\u0178',\n\tyuml: '\\u00FF',\n\tZacute: '\\u0179',\n\tzacute: '\\u017A',\n\tZcaron: '\\u017D',\n\tzcaron: '\\u017E',\n\tZcy: '\\u0417',\n\tzcy: '\\u0437',\n\tZdot: '\\u017B',\n\tzdot: '\\u017C',\n\tzeetrf: '\\u2128',\n\tZeroWidthSpace: '\\u200B',\n\tZeta: '\\u0396',\n\tzeta: '\\u03B6',\n\tZfr: '\\u2128',\n\tzfr: '\\uD835\\uDD37',\n\tZHcy: '\\u0416',\n\tzhcy: '\\u0436',\n\tzigrarr: '\\u21DD',\n\tZopf: '\\u2124',\n\tzopf: '\\uD835\\uDD6B',\n\tZscr: '\\uD835\\uDCB5',\n\tzscr: '\\uD835\\uDCCF',\n\tzwj: '\\u200D',\n\tzwnj: '\\u200C',\n});\n\n/**\n * @deprecated use `HTML_ENTITIES` instead\n * @see HTML_ENTITIES\n */\nexports.entityMap = exports.HTML_ENTITIES;\n","var NAMESPACE = require(\"./conventions\").NAMESPACE;\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring\nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif (Object.hasOwnProperty.call(entityMap, k)) {\n\t\t\treturn entityMap[k];\n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart + 2, end).replace(/[ \\t\\n\\r]+$/g, '');\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor (var prefix in localNSMap) {\n\t\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\n\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (NAMESPACE.isHTML(el.uri) && !el.closed) {\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t} else {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (el.attributeNames.hasOwnProperty(qname)) {\n\t\t\terrorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\t}\n\t\tel.addValue(\n\t\t\tqname,\n\t\t\t// @see https://www.w3.org/TR/xml/#AVNormalize\n\t\t\t// since the xmldom sax parser does not \"interpret\" DTD the following is not implemented:\n\t\t\t// - recursive replacement of (DTD) entity references\n\t\t\t// - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA\n\t\t\tvalue.replace(/[\\t\\n\\r]/g, ' ').replace(/&#?\\w+;/g, entityReplacer),\n\t\t\tstartIndex\n\t\t)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tel.closed = true;\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\t}else{\n\t\t\t\t\tif(!NAMESPACE.isHTML(currentNSMap['']) || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start, p);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif (!NAMESPACE.isHTML(currentNSMap['']) || !attrName.match(/^(?:disabled|checked|selected)$/i)) {\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute\n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = NAMESPACE.XMLNS\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value)\n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = NAMESPACE.XML;\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor (prefix in localNSMap) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//}\n}\n\nfunction _copy (source, target) {\n\tfor (var n in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, n)) {\n\t\t\ttarget[n] = source[n];\n\t\t}\n\t}\n}\n\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA()\n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)\n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n","var conventions = require(\"./conventions\");\nvar dom = require('./dom')\nvar entities = require('./entities');\nvar sax = require('./sax');\n\nvar DOMImplementation = dom.DOMImplementation;\n\nvar NAMESPACE = conventions.NAMESPACE;\n\nvar ParseError = sax.ParseError;\nvar XMLReader = sax.XMLReader;\n\n/**\n * Normalizes line ending according to https://www.w3.org/TR/xml11/#sec-line-ends:\n *\n * > XML parsed entities are often stored in computer files which,\n * > for editing convenience, are organized into lines.\n * > These lines are typically separated by some combination\n * > of the characters CARRIAGE RETURN (#xD) and LINE FEED (#xA).\n * >\n * > To simplify the tasks of applications, the XML processor must behave\n * > as if it normalized all line breaks in external parsed entities (including the document entity)\n * > on input, before parsing, by translating all of the following to a single #xA character:\n * >\n * > 1. the two-character sequence #xD #xA\n * > 2. the two-character sequence #xD #x85\n * > 3. the single character #x85\n * > 4. the single character #x2028\n * > 5. any #xD character that is not immediately followed by #xA or #x85.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizeLineEndings(input) {\n\treturn input\n\t\t.replace(/\\r[\\n\\u0085]/g, '\\n')\n\t\t.replace(/[\\r\\u0085\\u2028]/g, '\\n')\n}\n\n/**\n * @typedef Locator\n * @property {number} [columnNumber]\n * @property {number} [lineNumber]\n */\n\n/**\n * @typedef DOMParserOptions\n * @property {DOMHandler} [domBuilder]\n * @property {Function} [errorHandler]\n * @property {(string) => string} [normalizeLineEndings] used to replace line endings before parsing\n * \t\t\t\t\t\tdefaults to `normalizeLineEndings`\n * @property {Locator} [locator]\n * @property {Record<string, string>} [xmlns]\n *\n * @see normalizeLineEndings\n */\n\n/**\n * The DOMParser interface provides the ability to parse XML or HTML source code\n * from a string into a DOM `Document`.\n *\n * _xmldom is different from the spec in that it allows an `options` parameter,\n * to override the default behavior._\n *\n * @param {DOMParserOptions} [options]\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-parsing-and-serialization\n */\nfunction DOMParser(options){\n\tthis.options = options ||{locator:{}};\n}\n\nDOMParser.prototype.parseFromString = function(source,mimeType){\n\tvar options = this.options;\n\tvar sax = new XMLReader();\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\n\tvar errorHandler = options.errorHandler;\n\tvar locator = options.locator;\n\tvar defaultNSMap = options.xmlns||{};\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\n \tvar entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES;\n\tif(locator){\n\t\tdomBuilder.setDocumentLocator(locator)\n\t}\n\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\n\tsax.domBuilder = options.domBuilder || domBuilder;\n\tif(isHTML){\n\t\tdefaultNSMap[''] = NAMESPACE.HTML;\n\t}\n\tdefaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML;\n\tvar normalize = options.normalizeLineEndings || normalizeLineEndings;\n\tif (source && typeof source === 'string') {\n\t\tsax.parse(\n\t\t\tnormalize(source),\n\t\t\tdefaultNSMap,\n\t\t\tentityMap\n\t\t)\n\t} else {\n\t\tsax.errorHandler.error('invalid doc source')\n\t}\n\treturn domBuilder.doc;\n}\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\n\tif(!errorImpl){\n\t\tif(domBuilder instanceof DOMHandler){\n\t\t\treturn domBuilder;\n\t\t}\n\t\terrorImpl = domBuilder ;\n\t}\n\tvar errorHandler = {}\n\tvar isCallback = errorImpl instanceof Function;\n\tlocator = locator||{}\n\tfunction build(key){\n\t\tvar fn = errorImpl[key];\n\t\tif(!fn && isCallback){\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\n\t\t}\n\t\terrorHandler[key] = fn && function(msg){\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\n\t\t}||function(){};\n\t}\n\tbuild('warning');\n\tbuild('error');\n\tbuild('fatalError');\n\treturn errorHandler;\n}\n\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\n/**\n * +ContentHandler+ErrorHandler\n * +LexicalHandler+EntityResolver2\n * -DeclHandler-DTDHandler\n *\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\n */\nfunction DOMHandler() {\n this.cdata = false;\n}\nfunction position(locator,node){\n\tnode.lineNumber = locator.lineNumber;\n\tnode.columnNumber = locator.columnNumber;\n}\n/**\n * @see org.xml.sax.ContentHandler#startDocument\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\n */\nDOMHandler.prototype = {\n\tstartDocument : function() {\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\n \tif (this.locator) {\n \tthis.doc.documentURI = this.locator.systemId;\n \t}\n\t},\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\n\t\tvar doc = this.doc;\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\n\t var len = attrs.length;\n\t appendElement(this, el);\n\t this.currentElement = el;\n\n\t\tthis.locator && position(this.locator,el)\n\t for (var i = 0 ; i < len; i++) {\n\t var namespaceURI = attrs.getURI(i);\n\t var value = attrs.getValue(i);\n\t var qName = attrs.getQName(i);\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\n\t\t\tattr.value = attr.nodeValue = value;\n\t\t\tel.setAttributeNode(attr)\n\t }\n\t},\n\tendElement:function(namespaceURI, localName, qName) {\n\t\tvar current = this.currentElement\n\t\tvar tagName = current.tagName;\n\t\tthis.currentElement = current.parentNode;\n\t},\n\tstartPrefixMapping:function(prefix, uri) {\n\t},\n\tendPrefixMapping:function(prefix) {\n\t},\n\tprocessingInstruction:function(target, data) {\n\t var ins = this.doc.createProcessingInstruction(target, data);\n\t this.locator && position(this.locator,ins)\n\t appendElement(this, ins);\n\t},\n\tignorableWhitespace:function(ch, start, length) {\n\t},\n\tcharacters:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t\t//console.log(chars)\n\t\tif(chars){\n\t\t\tif (this.cdata) {\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\n\t\t\t} else {\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\n\t\t\t}\n\t\t\tif(this.currentElement){\n\t\t\t\tthis.currentElement.appendChild(charNode);\n\t\t\t}else if(/^\\s*$/.test(chars)){\n\t\t\t\tthis.doc.appendChild(charNode);\n\t\t\t\t//process xml\n\t\t\t}\n\t\t\tthis.locator && position(this.locator,charNode)\n\t\t}\n\t},\n\tskippedEntity:function(name) {\n\t},\n\tendDocument:function() {\n\t\tthis.doc.normalize();\n\t},\n\tsetDocumentLocator:function (locator) {\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\n\t \tlocator.lineNumber = 0;\n\t }\n\t},\n\t//LexicalHandler\n\tcomment:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t var comm = this.doc.createComment(chars);\n\t this.locator && position(this.locator,comm)\n\t appendElement(this, comm);\n\t},\n\n\tstartCDATA:function() {\n\t //used in characters() methods\n\t this.cdata = true;\n\t},\n\tendCDATA:function() {\n\t this.cdata = false;\n\t},\n\n\tstartDTD:function(name, publicId, systemId) {\n\t\tvar impl = this.doc.implementation;\n\t if (impl && impl.createDocumentType) {\n\t var dt = impl.createDocumentType(name, publicId, systemId);\n\t this.locator && position(this.locator,dt)\n\t appendElement(this, dt);\n\t\t\t\t\tthis.doc.doctype = dt;\n\t }\n\t},\n\t/**\n\t * @see org.xml.sax.ErrorHandler\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t */\n\twarning:function(error) {\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\n\t},\n\terror:function(error) {\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\n\t},\n\tfatalError:function(error) {\n\t\tthrow new ParseError(error, this.locator);\n\t}\n}\nfunction _locator(l){\n\tif(l){\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\n\t}\n}\nfunction _toString(chars,start,length){\n\tif(typeof chars == 'string'){\n\t\treturn chars.substr(start,length)\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\n\t\tif(chars.length >= start+length || start){\n\t\t\treturn new java.lang.String(chars,start,length)+'';\n\t\t}\n\t\treturn chars;\n\t}\n}\n\n/*\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\n * used method of org.xml.sax.ext.LexicalHandler:\n * #comment(chars, start, length)\n * #startCDATA()\n * #endCDATA()\n * #startDTD(name, publicId, systemId)\n *\n *\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\n * #endDTD()\n * #startEntity(name)\n * #endEntity(name)\n *\n *\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\n * IGNORED method of org.xml.sax.ext.DeclHandler\n * \t#attributeDecl(eName, aName, type, mode, value)\n * #elementDecl(name, model)\n * #externalEntityDecl(name, publicId, systemId)\n * #internalEntityDecl(name, value)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\n * IGNORED method of org.xml.sax.EntityResolver2\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\n * #resolveEntity(publicId, systemId)\n * #getExternalSubset(name, baseURI)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\n * IGNORED method of org.xml.sax.DTDHandler\n * #notationDecl(name, publicId, systemId) {};\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\n */\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\n\tDOMHandler.prototype[key] = function(){return null}\n})\n\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\nfunction appendElement (hander,node) {\n if (!hander.currentElement) {\n hander.doc.appendChild(node);\n } else {\n hander.currentElement.appendChild(node);\n }\n}//appendChild and setAttributeNS are preformance key\n\nexports.__DOMHandler = DOMHandler;\nexports.normalizeLineEndings = normalizeLineEndings;\nexports.DOMParser = DOMParser;\n","var dom = require('./dom')\nexports.DOMImplementation = dom.DOMImplementation\nexports.XMLSerializer = dom.XMLSerializer\nexports.DOMParser = require('./dom-parser').DOMParser\n"],"names":["e","arguments","length","id","adId","sequence","apiFramework","universalAdIds","creativeExtensions","t","r","a","n","s","ERRORCODE","isCustomCode","test","CACHEBUSTING","d","Math","round","random","TIMESTAMP","Date","toISOString","RANDOM","c","push","i","match","filter","indexOf","reduce","replace","RegExp","concat","Array","isArray","map","hasOwnProperty","url","o","l","Object","getOwnPropertyNames","encodeURIComponent","charCodeAt","toString","padStart","u","track","forEach","window","Image","src","resolveURLTemplates","extractURLsFromTemplates","filterUrlTemplates","validUrls","invalidUrls","containsTemplateObject","isTemplateObjectEqual","encodeURIComponentRFC3986","replaceUrlMacros","isNumeric","isNaN","parseFloat","isFinite","flatten","joinArrayOfUniqueTemplateObjs","isValidTimeValue","Number","addLeadingZeros","isValidUrl","isBrowserEnvironment","formatMacrosValues","JSON","stringify","h","includes","m","childByName","from","childNodes","find","nodeName","childrenByName","resolveVastAdTagURI","startsWith","protocol","location","slice","lastIndexOf","parseBoolean","parseNodeText","textContent","text","trim","copyNodeAttribute","getAttribute","setAttribute","parseAttributes","attributes","nodeValue","parseDuration","parseInt","split","getStandAloneAds","getSortedAdPods","sort","assignAttributes","mergeWrapperAdData","errorURLTemplates","impressionURLTemplates","extensions","viewableImpression","followAdditionalWrappers","allowMultipleAds","fallbackOnNoAd","creatives","type","variations","companionClickTrackingURLTemplates","videoClickTrackingURLTemplates","videoCustomClickURLTemplates","trackingEvents","videoClickThroughURLTemplate","adVerifications","blockedAdCategories","icons","mediaFiles","g","required","adType","width","height","assetWidth","assetHeight","expandedWidth","expandedHeight","adSlotId","pxratio","renderingMode","staticResources","htmlResources","iframeResources","adParameters","altText","companionClickThroughURLTemplate","creativeType","value","xmlEncoded","v","duration","skipDelay","mezzanine","interactiveCreativeFile","closedCaptionFiles","charAt","fileURL","fileSize","deliveryType","mimeType","mediaType","codec","bitrate","minBitrate","maxBitrate","scalable","maintainAspectRatio","variableDuration","language","delivery","program","xPosition","yPosition","offset","staticResource","htmlResource","iframeResource","iconClickThroughURLTemplate","iconClickTrackingURLTemplates","iconViewTrackingURLTemplate","iconClickFallbackImages","hoverText","f","minSuggestedDuration","nonlinearClickThroughURLTemplate","nonlinearClickTrackingURLTemplates","T","A","name","children","keys","R","k","Wrapper","subElements","BlockedAdCategories","InLine","Category","Pricing","Verification","oneOfinLineResources","UniversalAdId","JavaScriptResource","ExecutableResource","Tracking","Creatives","Creative","Linear","MediaFiles","MediaFile","Mezzanine","NonLinear","Companion","StaticResource","Icons","Icon","y","N","parentName","parentNode","E","some","oneOfResources","b","join","message","parentElement","specVersion","w","L","toLowerCase","ad","I","C","wrongNode","U","adServingId","categories","expires","system","title","description","advertiser","pricing","survey","idRegistry","x","version","authority","viewable","notViewable","viewUndetermined","model","currency","nextWrapperURL","resource","vendor","browserOptional","parameters","S","constructor","this","_handlers","on","TypeError","event","handler","once","fired","wrapFn","off","bind","emit","removeAllListeners","listenerCount","listeners","eventNames","V","D","O","F","P","B","fetcher","super","maxWrapperDepth","rootErrorURLTemplates","remainingAds","parsingOptions","keepFailedAdPod","trackVastError","assign","getErrorURLTemplates","getEstimatedBitrate","initParsingStatus","wrapperLimit","rootURL","resetParsingStatus","byteLength","requestDuration","vastVersion","getRemainingAds","Promise","reject","Error","shift","resolveAds","wrapperDepth","then","buildVASTResponse","parseVAST","isRootVAST","parse","ads","completeWrapperResolving","parseVastXml","documentElement","adIndex","resolveAll","wrapperSequence","previousUrl","resolveWrappers","all","VASTAdTagURI","errorCode","fetchVAST","emitter","catch","errorMessage","ERRORMESSAGE","hasFailed","splice","M","W","data","getItem","setItem","removeItem","clear","j","storage","initStorage","localStorage","sessionStorage","isStorageDisabled","q","K","get","async","AbortController","setTimeout","abort","timeout","fetch","signal","credentials","withCredentials","finally","clearTimeout","status","ok","statusText","error","statusCode","DOMParser","resolve","index$1","xml","parseFromString","details","rawXml","H","URLTemplateFilters","setOptions","urlHandler","urlhandler","fetchingOptions","fetchOptions","Boolean","addURLTemplateFilter","removeLastURLTemplateFilter","pop","countURLTemplateFilters","clearURLTemplateFilters","wrapperAd","now","_","cappingFreeLunch","cappingMinimumTimeInterval","vastParser","lastSuccessfulAd","totalCalls","totalCallsTimeout","getParser","hasRemainingAds","getNextAds","z","creative","variation","muted","impressed","skippable","trackedProgressEvents","lastPercentage","_alreadyTriggeredQuartiles","emitAlwaysEvents","viewableImpressionTrackers","entries","_initLinearTracking","_initVariationTracking","linear","setDuration","clickThroughURLTemplate","clickTrackingURLTemplates","assetDuration","quartiles","firstQuartile","midpoint","thirdQuartile","setProgress","isQuartileReached","macros","progress","setMuted","setPaused","paused","setFullscreen","fullscreen","setExpand","expanded","setSkipDelay","trackImpression","trackURLs","trackViewableImpression","trackNotViewableImpression","trackUndeterminedImpression","errorWithCode","console","log","complete","notUsed","otherAdInteraction","acceptInvitation","adExpand","adCollapse","minimize","verificationNotExecuted","trackingURLTemplates","overlayViewDuration","ADPLAYHEAD","close","skip","load","click","progressFormatted","trackProgressEvents","time","urls","endsWith","ASSETURI","UNIVERSALADID","PODSEQUENCE","ADTYPE","ADSERVINGID","ADCATEGORIES","BLOCKEDADCATEGORIES","convertToTimecode","floor","toXmlDocument","String","computeSkipAtSeconds","skipOffset","p","tc","exec","hh","mm","ss","every","parseTimecodeToSeconds","pickBestMediaFile","preferredMediaTypes","normalized","bitRate","raw","candidates","extractSkipOffsetFromCreative","skipdelay","skipoffset","normalize","undefined","obj","extractSimidUrl","rawDoc","interactiveCreativeFiles","mf","APIFramework","tagName","els","getElementsByTagName","el","extractAdsFromParsed","parsed","direct","vastResponse","adPods","adpods","flattened","pod","Ads","singlePod","adPod","adpod","singleAds","collectPodAds","out","seqRaw","seq","cidx","mediafiles","companions","companionAds","nonLinears","nonLinearAds","mediaFile","creativeIndex","as","MAX_SAFE_INTEGER","bs","collectNonLinearCreatives","nonLinear","NonLinearAds","NonLinears","nl","collectNonLinearFromXml","doc","byLocalName","root","localName","getElementsByTagNameNS","arr","firstChildText","compEls","staticRes","clickThrough","nlEls","iframeRes","htmlRes","iFrameResource","nonLinearClickThrough","buildCaptionsFromVastMediaFileRaw","mediaFileRaw","ccFiles","cc","ClosedCaptionFiles","closedCaptionFile","ClosedCaptionFile","mime_type","lang","extractClosedCaptions","kind","srclang","label","toUpperCase","AdDomManager","overlay","cfg","getAdVideo","getTracker","onSkipCallback","defineProperty","addSessionUnsub","fn","sessionUnsubs","clearSession","clearAdOverlays","resolveContainer","selector","nodeType","found","document","querySelector","HTMLElement","getNonLinearContainer","resolvedNonLinearContainer","nonLinearContainer","nonLinearSelector","getCompanionContainer","resolvedCompanionContainer","companionContainer","companionSelector","resolveMount","media","mountEl","mountSelector","closest","body","ensureOverlayMounted","mount","cs","getComputedStyle","position","style","inset","zIndex","pointerEvents","appendChild","setSafeHTML","html","tpl","createElement","innerHTML","blockedTags","Set","walker","createTreeWalker","content","NodeFilter","SHOW_ELEMENT","toRemove","nextNode","node","currentNode","has","attr","removeAttribute","isJs","isVbscript","isData","isHttp","isSafeDataImage","remove","replaceChildren","cloneNode","safeWindowOpen","rawUrl","URL","href","open","ensureSkipDom","skipWrap","skipBtn","wrap","className","btn","onClick","preventDefault","stopPropagation","addEventListener","EVENT_OPTIONS","removeEventListener","hideSkipUi","display","skipOffsetRaw","skipAtSeconds","setupSkipUIForPodItem","item","update","dur","skipAt","cur","currentTime","remaining","max","ceil","requestSkip","reason","adVideo","currentBreakMeta","emitSkip","trackSkip","break","breakId","dispatchEvent","Event","companionWrap","nonLinearWrap","mountCompanions","container","flexDirection","gap","maxWidth","renderCompanion","childElementCount","companion","companionClickThrough","cursor","StaticResources","IFrameResource","iFrameResources","IFrameResources","HTMLResource","HTMLResources","img","uri","ifr","border","div","trackClick","trackClickThrough","nonLinearSuggestedDurationSeconds","minSuggestedDurationSeconds","ensureNonLinearDom","left","right","bottom","justifyContent","renderNonLinear","nonLinearClickThroughURLTemplate","pickFirst","target","mountNonLinear","mountSimidIframe","iframe","CaptionManager","captionsSignature","listCaptionTracks","list","textTracks","captureActiveCaptionTrack","prevActiveCaptionSig","active","mode","restoreActiveTextTrack","sig","tracks","ensureRawCaptions","captions","fileLanguage","fileType","attachAdCaptionTracks","vtt","created","default","adTrackEls","clearAdTracks","removeAdCaptions","getOmidClient","OmidSessionClient","OmidSession","isAvailable","injectVerificationScript","scriptUrl","params","head","verifications","accessMode","omid","partner","Partner","verificationResources","VerificationScriptResource","sdkAccessMode","AccessMode","DOMAIN","LIMITED","context","Context","setVideoElement","setAccessMode","adSession","AdSession","videoEvents","VideoEvents","adEvents","AdEvents","start","impression","destroyed","triggerSessionStart","impressionOccurred","loaded","isSkippable","isAutoPlay","vastProps","VastProperties","volume","pause","resume","skipped","volumeChange","playerStateChange","state","adUserInteraction","interactionType","bufferStart","bufferFinish","destroy","finish","enumerable","configurable","writable","key","prototype","followRedirects","vastAdData","adTagURI","customData","templateType","firstChild","nextSibling","substring","timeOffset","breakType","repeatAfter","adSource","tracker","adBreaks","getVastInputFromBreakFn","isXml","source","input","sourceType","firstSource","sources","AdScheduler","ctx","warn","onVmapError","isXmlString","getSource","getPrimaryVastLikeSource","inferSourceTypeForUrl","exact","getVastInputFromBreak","getBreakId","at","getPrerollBreak","resolvedBreaks","playedBreaks","breaks","hasExplicitPrerolls","primary","getPostrollBreak","getDueMidrollBreaks","core","pendingPercentBreaks","toAdd","pb","atSec","percent","due","breakTolerance","getDueMidrollBreak","rebuild","combined","vastLikeSources","adSourcesMode","vmap","preload","pendingVmapSrc","vmapPending","vmapLoadPromise","loadVmapAndMerge","normalizeVmapAdSource","extractVastTagUri","URI","parseVmapTimeOffset","pendingPercent","existing","vmapSrc","xmlText","xmlDoc","VMAP","vmapBreaks","prevPendingCount","rawAdBreakCount","ns","rawOffset","vastInline","vastTag","XMLSerializer","serializeToString","libBreakCount","parseVmapFallback","err","_prevPendingCount","byTag","adBreakEls","adSrc","uriEls","dataEls","reset","SIMID_PLAYER","SIMID_CREATIVE","SimidSession","callbacks","Map","messageListener","handleMessage","nextMsgId","msgId","send","args","msg","pending","set","contentWindow","postMessage","delete","onCreativeReady","resolves","rejects","onSkip","onStop","onPause","onPlay","clickThroughUrl","onClickThrough","trackingEvent","onTrackingEvent","requestFullscreen","resize","offsetWidth","innerWidth","offsetHeight","innerHeight","onFatal","onLog","started","rect","getBoundingClientRect","creativeData","environmentData","playerWidth","playerHeight","videoDuration","videoVolume","fullscreenAllowed","init","remainingTime","stop","fatal","PluginBus","bus","cb","AdsPlugin","dom","_dom","config","normalizeSources","hasExplicitPreroll","hasSourceVastOrVmap","allowNativeControls","resumeContent","debug","interceptPlayForPreroll","autoPlayOnReady","setup","events","vastClient","VASTClient","scheduler","captionMgr","globalUnsubs","startingBreak","contentMedia","contentHadControls","leases","release","getOverlayManager","deactivate","overlayId","userPlayIntent","bindBreakScheduler","bindPrerollInterceptors","forcedMuteUntilInteraction","playAds","vastUrl","playBreakFromVast","playAdsFromXml","vastXml","tryMountSimidLayer","simidUrl","maybeStartDeferredVmap","vmapWasPending","shouldInterceptNow","shouldInterceptPreroll","userInteracted","guard","pre","startBreak","onNativePlayCapture","capture","current","onTime","earliestBreak","earliestAt","vmapOffset","tol","group","abs","startBreakGroup","onEnded","post","opts","waterfallSources","add","isLastWaterfall","suppressResumeOnError","suppressResumeOnSuccess","suppressResume","startedMain","playable","isBumper","meta","requestPayload","resumeAfter","pauseAndAcquireLease","acquire","owner","loadRawDocBestEffort","buildParsedForNonLinearFromXml","getVastXmlText","XMLDocument","emitLoaded","count","nonLinearItems","playNonLinearOnlyBreak","xmlItems","playNonLinearOnlyBreakFromXml","adEl","seqAttr","cEl","linearEl","mediaFilesEl","rawEl","collectPodAdsFromXml","AdVerifications","Vendor","resources","javaScriptResource","javascriptResource","resArr","verificationParameters","tag","verEls","jsEls","jsEl","paramsEl","extractAdVerifications","omidSession","index","VASTTracker","_lastCreative","mountAdVideo","endPromise","waitForAdEnd","simidSession","_data","_code","_reason","bindAdSurfaceCommands","bindTrackerAndTelemetry","startAdPlayback","items","maxDuration","companionCreative","trackCreativeView","dismissNonLinear","it","tick","elapsed","playsInline","contentPreload","forceMutedForPolicy","autoplay","controls","desiredMuted","desiredVolume","defaultMuted","min","adEndPromise","cleanup","onError","onVisibility","visibilityState","ended","play","captionTracks","overlayMgr","activate","priority","canSeek","fullscreenEl","fullscreenVideoEl","updateOverlay","wantsAutoplayPath","vol","syncingVolume","lastMuted","lastPaused","q25","q50","q75","q100","emitDuration","emitQuartile","quartile","onPlaying","trackResume","trackStart","trackPause","pct","trackFirstQuartile","trackMidpoint","trackThirdQuartile","trackComplete","onVolume","trackMute","trackUnmute","ev","defaultPrevented","videoClicks","tryPlay","p2","querySelectorAll","removeChild","shouldResume","res","normalizeVmapAdSourceFn","extractVastTagUriFn","parseVmapTimeOffsetFn","setSafeHTMLFn","getBreakIdFn","global","OpenPlayerPlugins","factory","install","PlayerCtor","getOwnPropertyDescriptor","getPlugin","plugin","installAds","extend","player","extendAds","OpenPlayerJS","getCore","freeze","object","oc","MIME_TYPE","HTML","isHTML","XML_APPLICATION","XML_TEXT","XML_XHTML_APPLICATION","XML_SVG_IMAGE","NAMESPACE","SVG","XML","XMLNS","conventions","call","predicate","ac","require$$0","notEmptyString","orderedSetReducer","element","toOrderedSet","splitOnASCIIWhitespace","copy","dest","_extends","Class","Super","pt","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","DOMException","code","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ownerDocument","ls","__set__","$$length","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","namespaceURI","_nsMap","prefix","_onAddAttribute","_removeNamedNode","lastIndex","DOMImplementation","Node","_xmlEncoder","_visitNode","callback","Document","_onUpdateChild","newChild","child","_removeChild","previous","previousSibling","next","lastChild","isDocTypeNode","isElementNode","isTextNode","isElementInsertionPossible","parentChildNodes","docTypeNode","isElementReplacementPossible","assertPreInsertionValidity1to5","parent","hasValidParentNodeType","hasInsertableNodeType","assertPreInsertionValidityInDocument","nodeChildNodes","nodeChildElements","parentElementChild","assertPreReplacementValidityInDocument","hasDoctypeChildThatIsNotChild","_insertBefore","_inDocumentAssertion","cp","newFirst","newLast","_updateOwnerDocument","newOwnerDocument","Element","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","lookupPrefix","visibleNamespaces","namespace","needNamespaceDefine","addSerializedAttribute","qualifiedName","attrs","len","prefixedNodeName","defaultNS","ai","nsi","pubid","publicId","sysid","systemId","sub","internalSubset","importNode","deep","node2","attrs2","_ownerElement","setAttributeNode","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","getNamedItem","setNamedItem","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","feature","createDocument","doctype","implementation","createElementNS","createDocumentType","insertBefore","refChild","replaceChild","oldChild","hasChildNodes","appendData","isSupported","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importedNode","getElementById","rtv","getElementsByClassName","classNames","classNamesSet","base","nodeClassNames","matches","nodeClassNamesSet","createDocumentFragment","createTextNode","createComment","createCDATASection","createProcessingInstruction","createAttribute","specified","createEntityReference","pl","createAttributeNS","hasAttribute","getAttributeNode","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","substringData","insertData","replaceData","deleteData","splitText","newText","newNode","getTextContent","exports","XML_ENTITIES","amp","apos","gt","lt","quot","HTML_ENTITIES","Aacute","aacute","Abreve","abreve","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","af","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","alpha","Amacr","amacr","amalg","AMP","And","and","andand","andd","andslope","andv","ang","ange","angle","angmsd","angmsdaa","angmsdab","angmsdac","angmsdad","angmsdae","angmsdaf","angmsdag","angmsdah","angrt","angrtvb","angrtvbd","angsph","angst","angzarr","Aogon","aogon","Aopf","aopf","ap","apacir","apE","ape","apid","ApplyFunction","approx","approxeq","Aring","aring","Ascr","ascr","Assign","ast","asymp","asympeq","Atilde","atilde","Auml","auml","awconint","awint","backcong","backepsilon","backprime","backsim","backsimeq","Backslash","Barv","barvee","Barwed","barwed","barwedge","bbrk","bbrktbrk","bcong","Bcy","bcy","bdquo","becaus","Because","because","bemptyv","bepsi","bernou","Bernoullis","Beta","beta","beth","between","Bfr","bfr","bigcap","bigcirc","bigcup","bigodot","bigoplus","bigotimes","bigsqcup","bigstar","bigtriangledown","bigtriangleup","biguplus","bigvee","bigwedge","bkarow","blacklozenge","blacksquare","blacktriangle","blacktriangledown","blacktriangleleft","blacktriangleright","blank","blk12","blk14","blk34","block","bne","bnequiv","bNot","bnot","Bopf","bopf","bot","bowtie","boxbox","boxDL","boxDl","boxdL","boxdl","boxDR","boxDr","boxdR","boxdr","boxH","boxh","boxHD","boxHd","boxhD","boxhd","boxHU","boxHu","boxhU","boxhu","boxminus","boxplus","boxtimes","boxUL","boxUl","boxuL","boxul","boxUR","boxUr","boxuR","boxur","boxV","boxv","boxVH","boxVh","boxvH","boxvh","boxVL","boxVl","boxvL","boxvl","boxVR","boxVr","boxvR","boxvr","bprime","Breve","breve","brvbar","Bscr","bscr","bsemi","bsim","bsime","bsol","bsolb","bsolhsub","bull","bullet","bump","bumpE","bumpe","Bumpeq","bumpeq","Cacute","cacute","Cap","cap","capand","capbrcup","capcap","capcup","capdot","CapitalDifferentialD","caps","caret","caron","Cayleys","ccaps","Ccaron","ccaron","Ccedil","ccedil","Ccirc","ccirc","Cconint","ccups","ccupssm","Cdot","cdot","cedil","Cedilla","cemptyv","cent","CenterDot","centerdot","Cfr","cfr","CHcy","chcy","check","checkmark","Chi","chi","cir","circ","circeq","circlearrowleft","circlearrowright","circledast","circledcirc","circleddash","CircleDot","circledR","circledS","CircleMinus","CirclePlus","CircleTimes","cirE","cire","cirfnint","cirmid","cirscir","ClockwiseContourIntegral","CloseCurlyDoubleQuote","CloseCurlyQuote","clubs","clubsuit","Colon","colon","Colone","colone","coloneq","comma","commat","comp","compfn","complement","complexes","cong","congdot","Congruent","Conint","conint","ContourIntegral","Copf","copf","coprod","Coproduct","COPY","copysr","CounterClockwiseContourIntegral","crarr","Cross","cross","Cscr","cscr","csub","csube","csup","csupe","ctdot","cudarrl","cudarrr","cuepr","cuesc","cularr","cularrp","Cup","cup","cupbrcap","CupCap","cupcap","cupcup","cupdot","cupor","cups","curarr","curarrm","curlyeqprec","curlyeqsucc","curlyvee","curlywedge","curren","curvearrowleft","curvearrowright","cuvee","cuwed","cwconint","cwint","cylcty","Dagger","dagger","daleth","Darr","dArr","darr","dash","Dashv","dashv","dbkarow","dblac","Dcaron","dcaron","Dcy","dcy","DD","dd","ddagger","ddarr","DDotrahd","ddotseq","deg","Del","Delta","delta","demptyv","dfisht","Dfr","dfr","dHar","dharl","dharr","DiacriticalAcute","DiacriticalDot","DiacriticalDoubleAcute","DiacriticalGrave","DiacriticalTilde","diam","Diamond","diamond","diamondsuit","diams","die","DifferentialD","digamma","disin","divide","divideontimes","divonx","DJcy","djcy","dlcorn","dlcrop","dollar","Dopf","dopf","Dot","dot","DotDot","doteq","doteqdot","DotEqual","dotminus","dotplus","dotsquare","doublebarwedge","DoubleContourIntegral","DoubleDot","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DownArrow","Downarrow","downarrow","DownArrowBar","DownArrowUpArrow","DownBreve","downdownarrows","downharpoonleft","downharpoonright","DownLeftRightVector","DownLeftTeeVector","DownLeftVector","DownLeftVectorBar","DownRightTeeVector","DownRightVector","DownRightVectorBar","DownTee","DownTeeArrow","drbkarow","drcorn","drcrop","Dscr","dscr","DScy","dscy","dsol","Dstrok","dstrok","dtdot","dtri","dtrif","duarr","duhar","dwangle","DZcy","dzcy","dzigrarr","Eacute","eacute","easter","Ecaron","ecaron","ecir","Ecirc","ecirc","ecolon","Ecy","ecy","eDDot","Edot","eDot","edot","ee","efDot","Efr","efr","eg","Egrave","egrave","egs","egsdot","elinters","ell","elsdot","Emacr","emacr","empty","emptyset","EmptySmallSquare","emptyv","EmptyVerySmallSquare","emsp","emsp13","emsp14","ENG","eng","ensp","Eogon","eogon","Eopf","eopf","epar","eparsl","eplus","epsi","Epsilon","epsilon","epsiv","eqcirc","eqcolon","eqsim","eqslantgtr","eqslantless","Equal","equals","EqualTilde","equest","Equilibrium","equiv","equivDD","eqvparsl","erarr","erDot","Escr","escr","esdot","Esim","esim","Eta","eta","ETH","eth","Euml","euml","euro","excl","exist","Exists","expectation","ExponentialE","exponentiale","fallingdotseq","Fcy","fcy","female","ffilig","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","fltns","fnof","Fopf","fopf","ForAll","forall","fork","forkv","Fouriertrf","fpartint","frac12","frac13","frac14","frac15","frac16","frac18","frac23","frac25","frac34","frac35","frac38","frac45","frac56","frac58","frac78","frasl","frown","Fscr","fscr","gacute","Gamma","gamma","Gammad","gammad","Gbreve","gbreve","Gcedil","Gcirc","gcirc","Gcy","gcy","Gdot","gdot","gE","ge","gEl","gel","geq","geqq","geqslant","ges","gescc","gesdot","gesdoto","gesdotol","gesl","gesles","Gfr","gfr","Gg","gg","ggg","gimel","GJcy","gjcy","gl","gla","glE","glj","gnap","gnapprox","gnE","gne","gneq","gneqq","gnsim","Gopf","gopf","grave","GreaterEqual","GreaterEqualLess","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterTilde","Gscr","gscr","gsim","gsime","gsiml","Gt","GT","gtcc","gtcir","gtdot","gtlPar","gtquest","gtrapprox","gtrarr","gtrdot","gtreqless","gtreqqless","gtrless","gtrsim","gvertneqq","gvnE","Hacek","hairsp","half","hamilt","HARDcy","hardcy","hArr","harr","harrcir","harrw","Hat","hbar","Hcirc","hcirc","hearts","heartsuit","hellip","hercon","Hfr","hfr","HilbertSpace","hksearow","hkswarow","hoarr","homtht","hookleftarrow","hookrightarrow","Hopf","hopf","horbar","HorizontalLine","Hscr","hscr","hslash","Hstrok","hstrok","HumpDownHump","HumpEqual","hybull","hyphen","Iacute","iacute","ic","Icirc","icirc","Icy","icy","Idot","IEcy","iecy","iexcl","iff","Ifr","Igrave","igrave","ii","iiiint","iiint","iinfin","iiota","IJlig","ijlig","Im","Imacr","imacr","image","ImaginaryI","imagline","imagpart","imath","imof","imped","Implies","in","incare","infin","infintie","inodot","Int","int","intcal","integers","Integral","intercal","Intersection","intlarhk","intprod","InvisibleComma","InvisibleTimes","IOcy","iocy","Iogon","iogon","Iopf","iopf","Iota","iota","iprod","iquest","Iscr","iscr","isin","isindot","isinE","isins","isinsv","isinv","Itilde","itilde","Iukcy","iukcy","Iuml","iuml","Jcirc","jcirc","Jcy","jcy","Jfr","jfr","jmath","Jopf","jopf","Jscr","jscr","Jsercy","jsercy","Jukcy","jukcy","Kappa","kappa","kappav","Kcedil","kcedil","Kcy","kcy","Kfr","kfr","kgreen","KHcy","khcy","KJcy","kjcy","Kopf","kopf","Kscr","kscr","lAarr","Lacute","lacute","laemptyv","lagran","Lambda","lambda","Lang","langd","langle","lap","Laplacetrf","laquo","Larr","lArr","larr","larrb","larrbfs","larrfs","larrhk","larrlp","larrpl","larrsim","larrtl","lat","lAtail","latail","late","lates","lBarr","lbarr","lbbrk","lbrace","lbrack","lbrke","lbrksld","lbrkslu","Lcaron","lcaron","Lcedil","lcedil","lceil","lcub","Lcy","lcy","ldca","ldquo","ldquor","ldrdhar","ldrushar","ldsh","lE","le","LeftAngleBracket","LeftArrow","Leftarrow","leftarrow","LeftArrowBar","LeftArrowRightArrow","leftarrowtail","LeftCeiling","LeftDoubleBracket","LeftDownTeeVector","LeftDownVector","LeftDownVectorBar","LeftFloor","leftharpoondown","leftharpoonup","leftleftarrows","LeftRightArrow","Leftrightarrow","leftrightarrow","leftrightarrows","leftrightharpoons","leftrightsquigarrow","LeftRightVector","LeftTee","LeftTeeArrow","LeftTeeVector","leftthreetimes","LeftTriangle","LeftTriangleBar","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVector","LeftUpVectorBar","LeftVector","LeftVectorBar","lEg","leg","leq","leqq","leqslant","les","lescc","lesdot","lesdoto","lesdotor","lesg","lesges","lessapprox","lessdot","lesseqgtr","lesseqqgtr","LessEqualGreater","LessFullEqual","LessGreater","lessgtr","LessLess","lesssim","LessSlantEqual","LessTilde","lfisht","lfloor","Lfr","lfr","lg","lgE","lHar","lhard","lharu","lharul","lhblk","LJcy","ljcy","Ll","ll","llarr","llcorner","Lleftarrow","llhard","lltri","Lmidot","lmidot","lmoust","lmoustache","lnap","lnapprox","lnE","lne","lneq","lneqq","lnsim","loang","loarr","lobrk","LongLeftArrow","Longleftarrow","longleftarrow","LongLeftRightArrow","Longleftrightarrow","longleftrightarrow","longmapsto","LongRightArrow","Longrightarrow","longrightarrow","looparrowleft","looparrowright","lopar","Lopf","lopf","loplus","lotimes","lowast","lowbar","LowerLeftArrow","LowerRightArrow","loz","lozenge","lozf","lpar","lparlt","lrarr","lrcorner","lrhar","lrhard","lrm","lrtri","lsaquo","Lscr","lscr","Lsh","lsh","lsim","lsime","lsimg","lsqb","lsquo","lsquor","Lstrok","lstrok","Lt","LT","ltcc","ltcir","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","mapsto","mapstodown","mapstoleft","mapstoup","marker","mcomma","Mcy","mcy","mdash","mDDot","measuredangle","MediumSpace","Mellintrf","Mfr","mfr","mho","micro","mid","midast","midcir","middot","minus","minusb","minusd","minusdu","MinusPlus","mlcp","mldr","mnplus","models","Mopf","mopf","mp","Mscr","mscr","mstpos","Mu","mu","multimap","mumap","nabla","Nacute","nacute","nang","nap","napE","napid","napos","napprox","natur","natural","naturals","nbsp","nbump","nbumpe","ncap","Ncaron","ncaron","Ncedil","ncedil","ncong","ncongdot","ncup","Ncy","ncy","ndash","ne","nearhk","neArr","nearr","nearrow","nedot","NegativeMediumSpace","NegativeThickSpace","NegativeThinSpace","NegativeVeryThinSpace","nequiv","nesear","nesim","NestedGreaterGreater","NestedLessLess","NewLine","nexist","nexists","Nfr","nfr","ngE","nge","ngeq","ngeqq","ngeqslant","nges","nGg","ngsim","nGt","ngt","ngtr","nGtv","nhArr","nharr","nhpar","ni","nis","nisd","niv","NJcy","njcy","nlArr","nlarr","nldr","nlE","nle","nLeftarrow","nleftarrow","nLeftrightarrow","nleftrightarrow","nleq","nleqq","nleqslant","nles","nless","nLl","nlsim","nLt","nlt","nltri","nltrie","nLtv","nmid","NoBreak","NonBreakingSpace","Nopf","nopf","Not","not","NotCongruent","NotCupCap","NotDoubleVerticalBar","NotElement","NotEqual","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","NotHumpDownHump","NotHumpEqual","notin","notindot","notinE","notinva","notinvb","notinvc","NotLeftTriangle","NotLeftTriangleBar","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","notni","notniva","notnivb","notnivc","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotReverseElement","NotRightTriangle","NotRightTriangleBar","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","npar","nparallel","nparsl","npart","npolint","npr","nprcue","npre","nprec","npreceq","nrArr","nrarr","nrarrc","nrarrw","nRightarrow","nrightarrow","nrtri","nrtrie","nsc","nsccue","nsce","Nscr","nscr","nshortmid","nshortparallel","nsim","nsime","nsimeq","nsmid","nspar","nsqsube","nsqsupe","nsub","nsubE","nsube","nsubset","nsubseteq","nsubseteqq","nsucc","nsucceq","nsup","nsupE","nsupe","nsupset","nsupseteq","nsupseteqq","ntgl","Ntilde","ntilde","ntlg","ntriangleleft","ntrianglelefteq","ntriangleright","ntrianglerighteq","Nu","nu","num","numero","numsp","nvap","nVDash","nVdash","nvDash","nvdash","nvge","nvgt","nvHarr","nvinfin","nvlArr","nvle","nvlt","nvltrie","nvrArr","nvrtrie","nvsim","nwarhk","nwArr","nwarr","nwarrow","nwnear","Oacute","oacute","oast","ocir","Ocirc","ocirc","Ocy","ocy","odash","Odblac","odblac","odiv","odot","odsold","OElig","oelig","ofcir","Ofr","ofr","ogon","Ograve","ograve","ogt","ohbar","ohm","oint","olarr","olcir","olcross","oline","olt","Omacr","omacr","Omega","omega","Omicron","omicron","ominus","Oopf","oopf","opar","OpenCurlyDoubleQuote","OpenCurlyQuote","operp","oplus","Or","or","orarr","ord","order","orderof","ordf","ordm","origof","oror","orslope","orv","oS","Oscr","oscr","Oslash","oslash","osol","Otilde","otilde","Otimes","otimes","otimesas","Ouml","ouml","ovbar","OverBar","OverBrace","OverBracket","OverParenthesis","par","para","parallel","parsim","parsl","part","PartialD","Pcy","pcy","percnt","period","permil","perp","pertenk","Pfr","pfr","Phi","phi","phiv","phmmat","phone","Pi","pi","pitchfork","piv","planck","planckh","plankv","plus","plusacir","plusb","pluscir","plusdo","plusdu","pluse","PlusMinus","plusmn","plussim","plustwo","pm","Poincareplane","pointint","Popf","popf","pound","Pr","pr","prap","prcue","prE","prec","precapprox","preccurlyeq","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","preceq","precnapprox","precneqq","precnsim","precsim","Prime","prime","primes","prnap","prnE","prnsim","prod","Product","profalar","profline","profsurf","prop","Proportion","Proportional","propto","prsim","prurel","Pscr","pscr","Psi","psi","puncsp","Qfr","qfr","qint","Qopf","qopf","qprime","Qscr","qscr","quaternions","quatint","quest","questeq","QUOT","rAarr","race","Racute","racute","radic","raemptyv","Rang","rang","rangd","range","rangle","raquo","Rarr","rArr","rarr","rarrap","rarrb","rarrbfs","rarrc","rarrfs","rarrhk","rarrlp","rarrpl","rarrsim","Rarrtl","rarrtl","rarrw","rAtail","ratail","ratio","rationals","RBarr","rBarr","rbarr","rbbrk","rbrace","rbrack","rbrke","rbrksld","rbrkslu","Rcaron","rcaron","Rcedil","rcedil","rceil","rcub","Rcy","rcy","rdca","rdldhar","rdquo","rdquor","rdsh","Re","real","realine","realpart","reals","REG","reg","ReverseElement","ReverseEquilibrium","ReverseUpEquilibrium","rfisht","rfloor","Rfr","rfr","rHar","rhard","rharu","rharul","Rho","rho","rhov","RightAngleBracket","RightArrow","Rightarrow","rightarrow","RightArrowBar","RightArrowLeftArrow","rightarrowtail","RightCeiling","RightDoubleBracket","RightDownTeeVector","RightDownVector","RightDownVectorBar","RightFloor","rightharpoondown","rightharpoonup","rightleftarrows","rightleftharpoons","rightrightarrows","rightsquigarrow","RightTee","RightTeeArrow","RightTeeVector","rightthreetimes","RightTriangle","RightTriangleBar","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVector","RightUpVectorBar","RightVector","RightVectorBar","ring","risingdotseq","rlarr","rlhar","rlm","rmoust","rmoustache","rnmid","roang","roarr","robrk","ropar","Ropf","ropf","roplus","rotimes","RoundImplies","rpar","rpargt","rppolint","rrarr","Rrightarrow","rsaquo","Rscr","rscr","Rsh","rsh","rsqb","rsquo","rsquor","rthree","rtimes","rtri","rtrie","rtrif","rtriltri","RuleDelayed","ruluhar","rx","Sacute","sacute","sbquo","Sc","sc","scap","Scaron","scaron","sccue","scE","sce","Scedil","scedil","Scirc","scirc","scnap","scnE","scnsim","scpolint","scsim","Scy","scy","sdot","sdotb","sdote","searhk","seArr","searr","searrow","sect","semi","seswar","setminus","setmn","sext","Sfr","sfr","sfrown","sharp","SHCHcy","shchcy","SHcy","shcy","ShortDownArrow","ShortLeftArrow","shortmid","shortparallel","ShortRightArrow","ShortUpArrow","shy","Sigma","sigma","sigmaf","sigmav","sim","simdot","sime","simeq","simg","simgE","siml","simlE","simne","simplus","simrarr","slarr","SmallCircle","smallsetminus","smashp","smeparsl","smid","smile","smt","smte","smtes","SOFTcy","softcy","sol","solb","solbar","Sopf","sopf","spades","spadesuit","spar","sqcap","sqcaps","sqcup","sqcups","Sqrt","sqsub","sqsube","sqsubset","sqsubseteq","sqsup","sqsupe","sqsupset","sqsupseteq","squ","Square","square","SquareIntersection","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","squarf","squf","srarr","Sscr","sscr","ssetmn","ssmile","sstarf","Star","star","starf","straightepsilon","straightphi","strns","Sub","subdot","subE","sube","subedot","submult","subnE","subne","subplus","subrarr","Subset","subset","subseteq","subseteqq","SubsetEqual","subsetneq","subsetneqq","subsim","subsub","subsup","succ","succapprox","succcurlyeq","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","succeq","succnapprox","succneqq","succnsim","succsim","SuchThat","Sum","sum","sung","Sup","sup","sup1","sup2","sup3","supdot","supdsub","supE","supe","supedot","Superset","SupersetEqual","suphsol","suphsub","suplarr","supmult","supnE","supne","supplus","Supset","supset","supseteq","supseteqq","supsetneq","supsetneqq","supsim","supsub","supsup","swarhk","swArr","swarr","swarrow","swnwar","szlig","Tab","Tau","tau","tbrk","Tcaron","tcaron","Tcedil","tcedil","Tcy","tcy","tdot","telrec","Tfr","tfr","there4","Therefore","therefore","Theta","theta","thetasym","thetav","thickapprox","thicksim","ThickSpace","thinsp","ThinSpace","thkap","thksim","THORN","thorn","Tilde","tilde","TildeEqual","TildeFullEqual","TildeTilde","times","timesb","timesbar","timesd","tint","toea","top","topbot","topcir","Topf","topf","topfork","tosa","tprime","TRADE","trade","triangle","triangledown","triangleleft","trianglelefteq","triangleq","triangleright","trianglerighteq","tridot","trie","triminus","TripleDot","triplus","trisb","tritime","trpezium","Tscr","tscr","TScy","tscy","TSHcy","tshcy","Tstrok","tstrok","twixt","twoheadleftarrow","twoheadrightarrow","Uacute","uacute","Uarr","uArr","uarr","Uarrocir","Ubrcy","ubrcy","Ubreve","ubreve","Ucirc","ucirc","Ucy","ucy","udarr","Udblac","udblac","udhar","ufisht","Ufr","ufr","Ugrave","ugrave","uHar","uharl","uharr","uhblk","ulcorn","ulcorner","ulcrop","ultri","Umacr","umacr","uml","UnderBar","UnderBrace","UnderBracket","UnderParenthesis","Union","UnionPlus","Uogon","uogon","Uopf","uopf","UpArrow","Uparrow","uparrow","UpArrowBar","UpArrowDownArrow","UpDownArrow","Updownarrow","updownarrow","UpEquilibrium","upharpoonleft","upharpoonright","uplus","UpperLeftArrow","UpperRightArrow","Upsi","upsi","upsih","Upsilon","upsilon","UpTee","UpTeeArrow","upuparrows","urcorn","urcorner","urcrop","Uring","uring","urtri","Uscr","uscr","utdot","Utilde","utilde","utri","utrif","uuarr","Uuml","uuml","uwangle","vangrt","varepsilon","varkappa","varnothing","varphi","varpi","varpropto","vArr","varr","varrho","varsigma","varsubsetneq","varsubsetneqq","varsupsetneq","varsupsetneqq","vartheta","vartriangleleft","vartriangleright","Vbar","vBar","vBarv","Vcy","vcy","VDash","Vdash","vDash","vdash","Vdashl","Vee","vee","veebar","veeeq","vellip","Verbar","verbar","Vert","vert","VerticalBar","VerticalLine","VerticalSeparator","VerticalTilde","VeryThinSpace","Vfr","vfr","vltri","vnsub","vnsup","Vopf","vopf","vprop","vrtri","Vscr","vscr","vsubnE","vsubne","vsupnE","vsupne","Vvdash","vzigzag","Wcirc","wcirc","wedbar","Wedge","wedge","wedgeq","weierp","Wfr","wfr","Wopf","wopf","wp","wr","wreath","Wscr","wscr","xcap","xcirc","xcup","xdtri","Xfr","xfr","xhArr","xharr","Xi","xi","xlArr","xlarr","xmap","xnis","xodot","Xopf","xopf","xoplus","xotime","xrArr","xrarr","Xscr","xscr","xsqcup","xuplus","xutri","xvee","xwedge","Yacute","yacute","YAcy","yacy","Ycirc","ycirc","Ycy","ycy","yen","Yfr","yfr","YIcy","yicy","Yopf","yopf","Yscr","yscr","YUcy","yucy","Yuml","yuml","Zacute","zacute","Zcaron","zcaron","Zcy","zcy","Zdot","zdot","zeetrf","ZeroWidthSpace","Zeta","zeta","Zfr","zfr","ZHcy","zhcy","zigrarr","Zopf","zopf","Zscr","zscr","zwj","zwnj","entityMap","nameStartChar","nameChar","tagNamePattern","ParseError","locator","XMLReader","copyLocator","lineNumber","columnNumber","parseElementStartPart","currentNSMap","entityReplacer","errorHandler","addAttribute","qname","startIndex","attributeNames","fatalError","addValue","attrName","warning","setTagName","closed","appendElement","domBuilder","localNSMap","qName","nsp","nsPrefix","_copy","startPrefixMapping","startElement","endElement","endPrefixMapping","parseHtmlSpecialContent","elStartEnd","elEndStart","characters","fixSelfClosed","closeMap","pos","parseDCC","end","comment","substr","startCDATA","endCDATA","matchs","lastMatch","startDTD","endDTD","parseInstruction","processingInstruction","ElementAttributes","defaultNSMap","startDocument","defaultNSMapCopy","fixedFromCharCode","surrogate1","surrogate2","fromCharCode","appendText","xt","lineEnd","linePattern","lineStart","parseStack","tagStart","currentElement","endMatch","locator2","endDocument","getLocalName","getLocator","getQName","getURI","getValue","sax","require$$1","entities","require$$2","require$$3","normalizeLineEndings","options","DOMHandler","cdata","_locator","_toString","chars","java","hander","xmlns","setDocumentLocator","errorImpl","isCallback","Function","build","buildErrorHandler","documentURI","ins","ignorableWhitespace","ch","apply","charNode","skippedEntity","comm","impl","dt","domParser","__DOMHandler","lib"],"mappings":"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","x_google_ignoreList":[0,5,12,13,14,15,16,17]}
|
|
1
|
+
{"version":3,"file":"openplayer-ads.js","sources":["../../../node_modules/.pnpm/@dailymotion+vast-client@6.4.3/node_modules/@dailymotion/vast-client/dist/vast-client.min.js","../src/vast-parser.ts","../src/ad-dom.ts","../src/caption-manager.ts","../src/omid.ts","../../../node_modules/.pnpm/@dailymotion+vmap@3.3.3/node_modules/@dailymotion/vmap/dist/vmap-js.js","../src/schedule.ts","../src/simid.ts","../src/types.ts","../src/ads.ts","../src/umd.ts","../src/install.ts","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/conventions.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/entities.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/sax.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom-parser.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/index.js"],"sourcesContent":["function e(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adId:e.adId||null,sequence:e.sequence||null,apiFramework:e.apiFramework||null,universalAdIds:[],creativeExtensions:[]}}const t=[\"ADCATEGORIES\",\"ADCOUNT\",\"ADPLAYHEAD\",\"ADSERVINGID\",\"ADTYPE\",\"APIFRAMEWORKS\",\"APPBUNDLE\",\"ASSETURI\",\"BLOCKEDADCATEGORIES\",\"BREAKMAXADLENGTH\",\"BREAKMAXADS\",\"BREAKMAXDURATION\",\"BREAKMINADLENGTH\",\"BREAKMINDURATION\",\"BREAKPOSITION\",\"CLICKPOS\",\"CLICKTYPE\",\"CLIENTUA\",\"CONTENTID\",\"CONTENTPLAYHEAD\",\"CONTENTURI\",\"DEVICEIP\",\"DEVICEUA\",\"DOMAIN\",\"EXTENSIONS\",\"GDPRCONSENT\",\"IFA\",\"IFATYPE\",\"INVENTORYSTATE\",\"LATLONG\",\"LIMITADTRACKING\",\"MEDIAMIME\",\"MEDIAPLAYHEAD\",\"OMIDPARTNER\",\"PAGEURL\",\"PLACEMENTTYPE\",\"PLAYERCAPABILITIES\",\"PLAYERSIZE\",\"PLAYERSTATE\",\"PODSEQUENCE\",\"REGULATIONS\",\"SERVERSIDE\",\"SERVERUA\",\"TRANSACTIONID\",\"UNIVERSALADID\",\"VASTVERSIONS\",\"VERIFICATIONVENDORS\"];function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],n=s(e);!t.ERRORCODE||r.isCustomCode||/^[0-9]{3}$/.test(t.ERRORCODE)||(t.ERRORCODE=900),t.CACHEBUSTING=d(Math.round(1e8*Math.random())),t.TIMESTAMP=(new Date).toISOString(),t.RANDOM=t.random=t.CACHEBUSTING;for(const e in t)t[e]=c(t[e]);for(const e in n){const r=n[e];\"string\"==typeof r&&a.push(i(r,t))}return a}function i(e,r){const i=(e=a(e,r)).match(/[^[\\]]+(?=])/g);if(!i)return e;let s=i.filter((e=>t.indexOf(e)>-1));return 0===s.length?e:(s=s.reduce(((e,t)=>(e[t]=-1,e)),{}),a(e,s))}function a(e,t){let r=e;for(const e in t){const i=t[e];r=r.replace(new RegExp(\"(?:\\\\[|%%)(\".concat(e,\")(?:\\\\]|%%)\"),\"g\"),i)}return r}function s(e){return Array.isArray(e)?e.map((e=>e&&e.hasOwnProperty(\"url\")?e.url:e)):e}function n(e){return/^(https?:\\/\\/|\\/\\/)/.test(e)}function o(e,t){for(let r=0;r<t.length;r++)if(l(t[r],e))return!0;return!1}function l(e,t){if(e&&t){const r=Object.getOwnPropertyNames(e),i=Object.getOwnPropertyNames(t);return r.length===i.length&&(e.id===t.id&&e.url===t.url)}return!1}function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(e=>\"%\".concat(e.charCodeAt(0).toString(16))))}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e.toString().padStart(t,\"0\")}const u={track:function(e,t,i){r(e,t,i).forEach((e=>{if(\"undefined\"!=typeof window&&null!==window){(new Image).src=e}}))},resolveURLTemplates:r,extractURLsFromTemplates:s,filterUrlTemplates:function(e){return e.reduce(((e,t)=>{const r=t.url||t;return n(r)?e.validUrls.push(r):e.invalidUrls.push(r),e}),{validUrls:[],invalidUrls:[]})},containsTemplateObject:o,isTemplateObjectEqual:l,encodeURIComponentRFC3986:c,replaceUrlMacros:i,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},flatten:function e(t){return t.reduce(((t,r)=>t.concat(Array.isArray(r)?e(r):r)),[])},joinArrayOfUniqueTemplateObjs:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];return r.concat(i).reduce(((e,t)=>(o(t,e)||e.push(t),e)),[])},isValidTimeValue:function(e){return Number.isFinite(e)&&e>=-2},addLeadingZeros:d,isValidUrl:n,isBrowserEnvironment:function(){return\"undefined\"!=typeof window},formatMacrosValues:function(e){return\"object\"!=typeof e?e:JSON.stringify(e)}};function h(e){return[\"true\",\"TRUE\",\"True\",\"1\"].includes(e)}function p(e){if(null==e)return-1;if(u.isNumeric(e))return parseInt(e);const t=e.split(\":\");if(3!==t.length)return-1;const r=t[2].split(\".\");let i=parseInt(r[0]);2===r.length&&(i+=parseFloat(\"0.\".concat(r[1])));const a=parseInt(60*t[1]),s=parseInt(60*t[0]*60);return isNaN(s)||isNaN(a)||isNaN(i)||a>3600||i>60?-1:s+a+i}const m={childByName:function(e,t){return Array.from(e.childNodes).find((e=>e.nodeName===t))},childrenByName:function(e,t){return Array.from(e.childNodes).filter((e=>e.nodeName===t))},resolveVastAdTagURI:function(e,t){if(!t)return e;if(e.startsWith(\"//\")){const{protocol:t}=location;return\"\".concat(t).concat(e)}if(!e.includes(\"://\")){const r=t.slice(0,t.lastIndexOf(\"/\"));return\"\".concat(r,\"/\").concat(e)}return e},parseBoolean:h,parseNodeText:function(e){return e&&(e.textContent||e.text||\"\").trim()},copyNodeAttribute:function(e,t,r){const i=t.getAttribute(e);i&&r.setAttribute(e,i)},parseAttributes:function(e){return Array.from(e.attributes).reduce(((e,t)=>(e[t.nodeName]=t.nodeValue,e)),{})},parseDuration:p,getStandAloneAds:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>!parseInt(e.sequence,10)))},getSortedAdPods:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>parseInt(e.sequence,10))).sort(((e,t)=>e.sequence-t.sequence))},assignAttributes:function(e,t){e&&Array.from(e).forEach((e=>{let{nodeName:r,nodeValue:i}=e;if(r&&i&&t.hasOwnProperty(r)){let e=i;\"boolean\"==typeof t[r]&&(e=h(e)),t[r]=e}}))},mergeWrapperAdData:function(e,t){var r;e.errorURLTemplates=t.errorURLTemplates.concat(e.errorURLTemplates),e.impressionURLTemplates=t.impressionURLTemplates.concat(e.impressionURLTemplates),e.extensions=t.extensions.concat(e.extensions),t.viewableImpression.length>0&&(e.viewableImpression=[...e.viewableImpression,...t.viewableImpression]),e.followAdditionalWrappers=t.followAdditionalWrappers,e.allowMultipleAds=t.allowMultipleAds,e.fallbackOnNoAd=t.fallbackOnNoAd;const i=(t.creatives||[]).filter((e=>e&&\"companion\"===e.type)),a=i.reduce(((e,t)=>((t.variations||[]).forEach((t=>{(t.companionClickTrackingURLTemplates||[]).forEach((t=>{u.containsTemplateObject(t,e)||e.push(t)}))})),e)),[]);e.creatives=i.concat(e.creatives);const s=t.videoClickTrackingURLTemplates&&t.videoClickTrackingURLTemplates.length,n=t.videoCustomClickURLTemplates&&t.videoCustomClickURLTemplates.length;if(e.creatives.forEach((e=>{if(t.trackingEvents&&t.trackingEvents[e.type])for(const r in t.trackingEvents[e.type]){const i=t.trackingEvents[e.type][r];Array.isArray(e.trackingEvents[r])||(e.trackingEvents[r]=[]),e.trackingEvents[r]=e.trackingEvents[r].concat(i)}\"linear\"===e.type&&(s&&(e.videoClickTrackingURLTemplates=e.videoClickTrackingURLTemplates.concat(t.videoClickTrackingURLTemplates)),n&&(e.videoCustomClickURLTemplates=e.videoCustomClickURLTemplates.concat(t.videoCustomClickURLTemplates)),!t.videoClickThroughURLTemplate||null!==e.videoClickThroughURLTemplate&&void 0!==e.videoClickThroughURLTemplate||(e.videoClickThroughURLTemplate=t.videoClickThroughURLTemplate)),\"companion\"===e.type&&a.length&&(e.variations||[]).forEach((e=>{e.companionClickTrackingURLTemplates=u.joinArrayOfUniqueTemplateObjs(e.companionClickTrackingURLTemplates,a)}))})),t.adVerifications&&(e.adVerifications=e.adVerifications.concat(t.adVerifications)),t.blockedAdCategories&&(e.blockedAdCategories=e.blockedAdCategories.concat(t.blockedAdCategories)),null!==(r=t.creatives)&&void 0!==r&&r.length){const r=t.creatives.filter((e=>{var t;return(null===(t=e.icons)||void 0===t?void 0:t.length)&&!e.mediaFiles.length}));r.length&&(e.creatives=e.creatives.concat(r))}}};function g(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"companion\",required:null,variations:[]}}(r);return i.required=t.getAttribute(\"required\")||null,i.variations=m.childrenByName(t,\"Companion\").map((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adType:\"companionAd\",width:e.width||0,height:e.height||0,assetWidth:e.assetWidth||null,assetHeight:e.assetHeight||null,expandedWidth:e.expandedWidth||null,expandedHeight:e.expandedHeight||null,apiFramework:e.apiFramework||null,adSlotId:e.adSlotId||null,pxratio:e.pxratio||\"1\",renderingMode:e.renderingMode||\"default\",staticResources:[],htmlResources:[],iframeResources:[],adParameters:null,altText:null,companionClickThroughURLTemplate:null,companionClickTrackingURLTemplates:[],trackingEvents:{}}}(m.parseAttributes(e));t.htmlResources=m.childrenByName(e,\"HTMLResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.iframeResources=m.childrenByName(e,\"IFrameResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.staticResources=m.childrenByName(e,\"StaticResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat({url:r,creativeType:t.getAttribute(\"creativeType\")||null}):e}),[]),t.altText=m.parseNodeText(m.childByName(e,\"AltText\"))||null;const r=m.childByName(e,\"TrackingEvents\");r&&m.childrenByName(r,\"Tracking\").forEach((e=>{const r=e.getAttribute(\"event\"),i=m.parseNodeText(e);r&&i&&(Array.isArray(t.trackingEvents[r])||(t.trackingEvents[r]=[]),t.trackingEvents[r].push(i))})),t.companionClickTrackingURLTemplates=m.childrenByName(e,\"CompanionClickTracking\").map((e=>({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}))),t.companionClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"CompanionClickThrough\"))||null;const i=m.childByName(e,\"AdParameters\");return i&&(t.adParameters={value:m.parseNodeText(i),xmlEncoded:i.getAttribute(\"xmlEncoded\")||null}),t})),i}function v(t,r){let i;const a=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"linear\",duration:0,skipDelay:null,mediaFiles:[],mezzanine:null,interactiveCreativeFile:null,closedCaptionFiles:[],videoClickThroughURLTemplate:null,videoClickTrackingURLTemplates:[],videoCustomClickURLTemplates:[],adParameters:null,icons:[],trackingEvents:{}}}(r);a.duration=m.parseDuration(m.parseNodeText(m.childByName(t,\"Duration\")));const s=t.getAttribute(\"skipoffset\");if(null==s)a.skipDelay=null;else if(\"%\"===s.charAt(s.length-1)&&-1!==a.duration){const e=parseInt(s,10);a.skipDelay=a.duration*(e/100)}else a.skipDelay=m.parseDuration(s);const n=m.childByName(t,\"VideoClicks\");if(n){const e=m.childByName(n,\"ClickThrough\");a.videoClickThroughURLTemplate=e?{id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}:null,m.childrenByName(n,\"ClickTracking\").forEach((e=>{a.videoClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),m.childrenByName(n,\"CustomClick\").forEach((e=>{a.videoCustomClickURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}))}const o=m.childByName(t,\"AdParameters\");o&&(a.adParameters={value:m.parseNodeText(o),xmlEncoded:o.getAttribute(\"xmlEncoded\")||null}),m.childrenByName(t,\"TrackingEvents\").forEach((e=>{m.childrenByName(e,\"Tracking\").forEach((e=>{let t=e.getAttribute(\"event\");const r=m.parseNodeText(e);if(t&&r){if(\"progress\"===t){if(i=e.getAttribute(\"offset\"),!i)return;t=\"%\"===i.charAt(i.length-1)?\"progress-\".concat(i):\"progress-\".concat(m.parseDuration(i))}Array.isArray(a.trackingEvents[t])||(a.trackingEvents[t]=[]),a.trackingEvents[t].push(r)}}))})),m.childrenByName(t,\"MediaFiles\").forEach((e=>{m.childrenByName(e,\"MediaFile\").forEach((e=>{a.mediaFiles.push(function(e){const t={id:null,fileURL:null,fileSize:0,deliveryType:\"progressive\",mimeType:null,mediaType:null,codec:null,bitrate:0,minBitrate:0,maxBitrate:0,width:0,height:0,apiFramework:null,scalable:null,maintainAspectRatio:null};t.id=e.getAttribute(\"id\"),t.fileURL=m.parseNodeText(e),t.deliveryType=e.getAttribute(\"delivery\"),t.codec=e.getAttribute(\"codec\"),t.mimeType=e.getAttribute(\"type\"),t.mediaType=e.getAttribute(\"mediaType\")||\"2D\",t.apiFramework=e.getAttribute(\"apiFramework\"),t.fileSize=parseInt(e.getAttribute(\"fileSize\")||0),t.bitrate=parseInt(e.getAttribute(\"bitrate\")||0),t.minBitrate=parseInt(e.getAttribute(\"minBitrate\")||0),t.maxBitrate=parseInt(e.getAttribute(\"maxBitrate\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.height=parseInt(e.getAttribute(\"height\")||0);const r=e.getAttribute(\"scalable\");r&&\"string\"==typeof r&&(t.scalable=m.parseBoolean(r));const i=e.getAttribute(\"maintainAspectRatio\");i&&\"string\"==typeof i&&(t.maintainAspectRatio=m.parseBoolean(i));return t}(e))}));const t=m.childByName(e,\"InteractiveCreativeFile\");t&&(a.interactiveCreativeFile=function(e){const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,apiFramework:e.apiFramework||null,variableDuration:m.parseBoolean(e.variableDuration),fileURL:null}}(m.parseAttributes(e));return t.fileURL=m.parseNodeText(e),t}(t));const r=m.childByName(e,\"ClosedCaptionFiles\");r&&m.childrenByName(r,\"ClosedCaptionFile\").forEach((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,language:e.language||null,fileURL:null}}(m.parseAttributes(e));t.fileURL=m.parseNodeText(e),a.closedCaptionFiles.push(t)}));const i=m.childByName(e,\"Mezzanine\"),s=function(e,t){const r={};let i=!1;return t.forEach((t=>{e&&e.getAttribute(t)?r[t]=e.getAttribute(t):i=!0})),i?null:r}(i,[\"delivery\",\"type\",\"width\",\"height\"]);if(s){const e={id:null,fileURL:null,delivery:null,codec:null,type:null,width:0,height:0,fileSize:0,mediaType:\"2D\"};e.id=i.getAttribute(\"id\"),e.fileURL=m.parseNodeText(i),e.delivery=s.delivery,e.codec=i.getAttribute(\"codec\"),e.type=s.type,e.width=parseInt(s.width,10),e.height=parseInt(s.height,10),e.fileSize=parseInt(i.getAttribute(\"fileSize\"),10),e.mediaType=i.getAttribute(\"mediaType\")||\"2D\",a.mezzanine=e}}));const l=m.childByName(t,\"Icons\");return l&&m.childrenByName(l,\"Icon\").forEach((e=>{a.icons.push(function(e){const t={program:null,height:0,width:0,xPosition:0,yPosition:0,apiFramework:null,offset:null,duration:0,type:null,staticResource:null,htmlResource:null,iframeResource:null,pxratio:\"1\",iconClickThroughURLTemplate:null,iconClickTrackingURLTemplates:[],iconViewTrackingURLTemplate:null,iconClickFallbackImages:[],altText:null,hoverText:null};t.program=e.getAttribute(\"program\"),t.height=parseInt(e.getAttribute(\"height\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.xPosition=function(e){if(-1!==[\"left\",\"right\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"xPosition\")),t.yPosition=function(e){if(-1!==[\"top\",\"bottom\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"yPosition\")),t.apiFramework=e.getAttribute(\"apiFramework\"),t.pxratio=e.getAttribute(\"pxratio\")||\"1\",t.offset=m.parseDuration(e.getAttribute(\"offset\")),t.duration=m.parseDuration(e.getAttribute(\"duration\")),t.altText=e.getAttribute(\"altText\"),t.hoverText=e.getAttribute(\"hoverText\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"IconClicks\");if(r){t.iconClickThroughURLTemplate=m.parseNodeText(m.childByName(r,\"IconClickThrough\")),m.childrenByName(r,\"IconClickTracking\").forEach((e=>{t.iconClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}));const e=m.childByName(r,\"IconClickFallbackImages\");e&&m.childrenByName(e,\"IconClickFallbackImage\").forEach((e=>{t.iconClickFallbackImages.push({url:m.parseNodeText(e)||null,width:e.getAttribute(\"width\")||null,height:e.getAttribute(\"height\")||null})}))}return t.iconViewTrackingURLTemplate=m.parseNodeText(m.childByName(e,\"IconViewTracking\")),t}(e))})),a}function f(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"nonlinear\",variations:[],trackingEvents:{}}}(r);return m.childrenByName(t,\"TrackingEvents\").forEach((e=>{let t,r;m.childrenByName(e,\"Tracking\").forEach((e=>{t=e.getAttribute(\"event\"),r=m.parseNodeText(e),t&&r&&(Array.isArray(i.trackingEvents[t])||(i.trackingEvents[t]=[]),i.trackingEvents[t].push(r))}))})),m.childrenByName(t,\"NonLinear\").forEach((e=>{const t={id:null,width:0,height:0,expandedWidth:0,expandedHeight:0,scalable:!0,maintainAspectRatio:!0,minSuggestedDuration:0,apiFramework:\"static\",adType:\"nonLinearAd\",type:null,staticResource:null,htmlResource:null,iframeResource:null,nonlinearClickThroughURLTemplate:null,nonlinearClickTrackingURLTemplates:[],adParameters:null};t.id=e.getAttribute(\"id\")||null,t.width=e.getAttribute(\"width\"),t.height=e.getAttribute(\"height\"),t.expandedWidth=e.getAttribute(\"expandedWidth\"),t.expandedHeight=e.getAttribute(\"expandedHeight\"),t.scalable=m.parseBoolean(e.getAttribute(\"scalable\")),t.maintainAspectRatio=m.parseBoolean(e.getAttribute(\"maintainAspectRatio\")),t.minSuggestedDuration=m.parseDuration(e.getAttribute(\"minSuggestedDuration\")),t.apiFramework=e.getAttribute(\"apiFramework\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"AdParameters\");r&&(t.adParameters={value:m.parseNodeText(r),xmlEncoded:r.getAttribute(\"xmlEncoded\")||null}),t.nonlinearClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"NonLinearClickThrough\")),m.childrenByName(e,\"NonLinearClickTracking\").forEach((e=>{t.nonlinearClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),i.variations.push(t)})),i}function T(e){const t=[];return e.forEach((e=>{const r=A(e);r&&t.push(r)})),t}function A(e){if(\"#comment\"===e.nodeName)return null;const t={name:null,value:null,attributes:{},children:[]},r=e.attributes,i=e.childNodes;if(t.name=e.nodeName,e.attributes)for(const e in r)if(r.hasOwnProperty(e)){const i=r[e];i.nodeName&&i.nodeValue&&(t.attributes[i.nodeName]=i.nodeValue)}for(const e in i)if(i.hasOwnProperty(e)){const r=A(i[e]);r&&t.children.push(r)}if(0===t.children.length||1===t.children.length&&[\"#cdata-section\",\"#text\"].indexOf(t.children[0].name)>=0){const r=m.parseNodeText(e);\"\"!==r&&(t.value=r),t.children=[]}return null===(a=t).value&&0===Object.keys(a.attributes).length&&0===a.children.length?null:t;var a}function R(e){return e.getAttribute(\"AdID\")||e.getAttribute(\"adID\")||e.getAttribute(\"adId\")||null}const k={Wrapper:{subElements:[\"VASTAdTagURI\",\"Impression\"]},BlockedAdCategories:{attributes:[\"authority\"]},InLine:{subElements:[\"AdSystem\",\"AdTitle\",\"Impression\",\"AdServingId\",\"Creatives\"]},Category:{attributes:[\"authority\"]},Pricing:{attributes:[\"model\",\"currency\"]},Verification:{oneOfinLineResources:[\"JavaScriptResource\",\"ExecutableResource\"],attributes:[\"vendor\"]},UniversalAdId:{attributes:[\"idRegistry\"]},JavaScriptResource:{attributes:[\"apiFramework\",\"browserOptional\"]},ExecutableResource:{attributes:[\"apiFramework\",\"type\"]},Tracking:{attributes:[\"event\"]},Creatives:{subElements:[\"Creative\"]},Creative:{subElements:[\"UniversalAdId\"]},Linear:{subElements:[\"MediaFiles\",\"Duration\"]},MediaFiles:{subElements:[\"MediaFile\"]},MediaFile:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},Mezzanine:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},NonLinear:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},Companion:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},StaticResource:{attributes:[\"creativeType\"]},Icons:{subElements:[\"Icon\"]},Icon:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"]}};function y(e,t){if(!k[e.nodeName]||!k[e.nodeName].attributes)return;const r=k[e.nodeName].attributes.filter((t=>!e.getAttribute(t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,attributes:r},t)}function E(e,t,r){const i=k[e.nodeName],a=!r&&\"Wrapper\"!==e.nodeName;if(!i||a)return;if(i.subElements){const r=i.subElements.filter((t=>!m.childByName(e,t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,subElements:r},t)}if(!r||!i.oneOfinLineResources)return;i.oneOfinLineResources.some((t=>m.childByName(e,t)))||N({name:e.nodeName,parentName:e.parentNode.nodeName,oneOfResources:i.oneOfinLineResources},t)}function b(e){return e.children&&0!==e.children.length}function N(e,t){let{name:r,parentName:i,attributes:a,subElements:s,oneOfResources:n}=e,o=\"Element '\".concat(r,\"'\");o+=a?\" missing required attribute(s) '\".concat(a.join(\", \"),\"' \"):s?\" missing required sub element(s) '\".concat(s.join(\", \"),\"' \"):n?\" must provide one of the following '\".concat(n.join(\", \"),\"' \"):\" is empty\",t(\"VAST-warning\",{message:o,parentElement:i,specVersion:4.1})}const w={verifyRequiredValues:function e(t,r,i){if(t&&t.nodeName)if(\"InLine\"===t.nodeName&&(i=!0),y(t,r),b(t)){E(t,r,i);for(let a=0;a<t.children.length;a++)e(t.children[a],r,i)}else 0===m.parseNodeText(t).length&&N({name:t.nodeName,parentName:t.parentNode.nodeName},r)},hasSubElements:b,emitMissingValueWarning:N,verifyRequiredAttributes:y,verifyRequiredSubElements:E};function L(e,t){let{allowMultipleAds:r,followAdditionalWrappers:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=Array.from(e.childNodes).filter((e=>{const t=e.nodeName.toLowerCase();return\"inline\"===t||!1!==i&&\"wrapper\"===t}));for(const i of a){if(m.copyNodeAttribute(\"id\",e,i),m.copyNodeAttribute(\"sequence\",e,i),m.copyNodeAttribute(\"adType\",e,i),\"Wrapper\"===i.nodeName)return{ad:I(i,t),type:\"WRAPPER\"};if(\"InLine\"===i.nodeName)return{ad:C(i,t,{allowMultipleAds:r}),type:\"INLINE\"};const a=i.nodeName.toLowerCase();t(\"VAST-warning\",{message:\"<\".concat(i.nodeName,\"inline\"===a?\"> must be written <InLine>\":\"> must be written <Wrapper>\"),wrongNode:i})}}function C(e,t){let{allowMultipleAds:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!1===r&&e.getAttribute(\"sequence\")?null:U(e,t)}function U(e,t){let r=[];t&&w.verifyRequiredValues(e,t);const i=Array.from(e.childNodes),a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,sequence:e.sequence||null,adType:e.adType||null,adServingId:null,categories:[],expires:null,viewableImpression:[],system:null,title:null,description:null,advertiser:null,pricing:null,survey:null,errorURLTemplates:[],impressionURLTemplates:[],creatives:[],extensions:[],adVerifications:[],blockedAdCategories:[],followAdditionalWrappers:!0,allowMultipleAds:!1,fallbackOnNoAd:null}}(m.parseAttributes(e));return i.forEach((e=>{switch(e.nodeName){case\"Error\":a.errorURLTemplates.push(m.parseNodeText(e));break;case\"Impression\":a.impressionURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)});break;case\"Creatives\":a.creatives=function(e){const t=[];return e.forEach((e=>{const r={id:e.getAttribute(\"id\")||null,adId:R(e),sequence:e.getAttribute(\"sequence\")||null,apiFramework:e.getAttribute(\"apiFramework\")||null},i=[];let a;m.childrenByName(e,\"UniversalAdId\").forEach((e=>{const t={idRegistry:e.getAttribute(\"idRegistry\")||\"unknown\",value:m.parseNodeText(e)};i.push(t)}));const s=m.childByName(e,\"CreativeExtensions\");s&&(a=T(m.childrenByName(s,\"CreativeExtension\")));for(const s in e.childNodes){const n=e.childNodes[s];let o;switch(n.nodeName){case\"Linear\":o=v(n,r);break;case\"NonLinearAds\":o=f(n,r);break;case\"CompanionAds\":o=g(n,r)}o&&(i&&(o.universalAdIds=i),a&&(o.creativeExtensions=a),t.push(o))}})),t}(m.childrenByName(e,\"Creative\"));break;case\"Extensions\":{const t=m.childrenByName(e,\"Extension\");a.extensions=T(t),a.adVerifications.length||(r=function(e){let t=null,r=[];e.some((e=>t=m.childByName(e,\"AdVerifications\"))),t&&(r=x(m.childrenByName(t,\"Verification\")));return r}(t));break}case\"AdVerifications\":a.adVerifications=x(m.childrenByName(e,\"Verification\"));break;case\"AdSystem\":a.system={value:m.parseNodeText(e),version:e.getAttribute(\"version\")||null};break;case\"AdTitle\":a.title=m.parseNodeText(e);break;case\"AdServingId\":a.adServingId=m.parseNodeText(e);break;case\"Category\":a.categories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)});break;case\"Expires\":a.expires=parseInt(m.parseNodeText(e),10);break;case\"ViewableImpression\":a.viewableImpression.push(function(e){const t=(e,t)=>{const r=m.parseNodeText(t);return r&&e.push(r),e};return{id:e.getAttribute(\"id\")||null,viewable:m.childrenByName(e,\"Viewable\").reduce(t,[]),notViewable:m.childrenByName(e,\"NotViewable\").reduce(t,[]),viewUndetermined:m.childrenByName(e,\"ViewUndetermined\").reduce(t,[])}}(e));break;case\"Description\":a.description=m.parseNodeText(e);break;case\"Advertiser\":a.advertiser={id:e.getAttribute(\"id\")||null,value:m.parseNodeText(e)};break;case\"Pricing\":a.pricing={value:m.parseNodeText(e),model:e.getAttribute(\"model\")||null,currency:e.getAttribute(\"currency\")||null};break;case\"Survey\":a.survey={value:m.parseNodeText(e),type:e.getAttribute(\"type\")||null};break;case\"BlockedAdCategories\":a.blockedAdCategories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)})}})),r.length&&(a.adVerifications=a.adVerifications.concat(r)),a}function I(e,t){const r=U(e,t),i=e.getAttribute(\"followAdditionalWrappers\"),a=e.getAttribute(\"allowMultipleAds\"),s=e.getAttribute(\"fallbackOnNoAd\");r.followAdditionalWrappers=!i||m.parseBoolean(i),r.allowMultipleAds=!!a&&m.parseBoolean(a),r.fallbackOnNoAd=s?m.parseBoolean(s):null;let n=m.childByName(e,\"VASTAdTagURI\");if(n?r.nextWrapperURL=m.parseNodeText(n):(n=m.childByName(e,\"VASTAdTagURL\"),n&&(r.nextWrapperURL=m.parseNodeText(m.childByName(n,\"URL\")))),r.creatives.forEach((e=>{if([\"linear\",\"nonlinear\"].includes(e.type)){if(e.trackingEvents){r.trackingEvents||(r.trackingEvents={}),r.trackingEvents[e.type]||(r.trackingEvents[e.type]={});for(const t in e.trackingEvents){const i=e.trackingEvents[t];Array.isArray(r.trackingEvents[e.type][t])||(r.trackingEvents[e.type][t]=[]),i.forEach((i=>{r.trackingEvents[e.type][t].push(i)}))}}e.videoClickTrackingURLTemplates&&(Array.isArray(r.videoClickTrackingURLTemplates)||(r.videoClickTrackingURLTemplates=[]),e.videoClickTrackingURLTemplates.forEach((e=>{r.videoClickTrackingURLTemplates.push(e)}))),e.videoClickThroughURLTemplate&&(r.videoClickThroughURLTemplate=e.videoClickThroughURLTemplate),e.videoCustomClickURLTemplates&&(Array.isArray(r.videoCustomClickURLTemplates)||(r.videoCustomClickURLTemplates=[]),e.videoCustomClickURLTemplates.forEach((e=>{r.videoCustomClickURLTemplates.push(e)})))}})),r.nextWrapperURL)return r}function x(e){const t=[];return e.forEach((e=>{const r={resource:null,vendor:null,browserOptional:!1,apiFramework:null,type:null,parameters:null,trackingEvents:{}},i=Array.from(e.childNodes);m.assignAttributes(e.attributes,r),i.forEach((e=>{let{nodeName:t,textContent:i,attributes:a}=e;switch(t){case\"JavaScriptResource\":case\"ExecutableResource\":r.resource=i.trim(),m.assignAttributes(a,r);break;case\"VerificationParameters\":r.parameters=i.trim()}}));const a=m.childByName(e,\"TrackingEvents\");a&&m.childrenByName(a,\"Tracking\").forEach((e=>{const t=e.getAttribute(\"event\"),i=m.parseNodeText(e);t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))})),t.push(r)})),t}class S{constructor(){this._handlers=[]}on(e,t){if(\"function\"!=typeof t)throw new TypeError(\"The handler argument must be of type Function. Received type \".concat(typeof t));if(!e)throw new TypeError(\"The event argument must be of type String. Received type \".concat(typeof e));return this._handlers.push({event:e,handler:t}),this}once(e,t){return this.on(e,function(e,t,r){const i={fired:!1,wrapFn:void 0};function a(){i.fired||(e.off(t,i.wrapFn),i.fired=!0,r.bind(e)(...arguments))}return i.wrapFn=a,a}(this,e,t))}off(e,t){return this._handlers=this._handlers.filter((r=>r.event!==e||r.handler!==t)),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];let a=!1;return this._handlers.forEach((t=>{\"*\"===t.event&&(a=!0,t.handler(e,...r)),t.event===e&&(a=!0,t.handler(...r))})),a}removeAllListeners(e){return e?(this._handlers=this._handlers.filter((t=>t.event!==e)),this):(this._handlers=[],this)}listenerCount(e){return this._handlers.filter((t=>t.event===e)).length}listeners(e){return this._handlers.reduce(((t,r)=>(r.event===e&&t.push(r.handler),t)),[])}eventNames(){return this._handlers.map((e=>e.event))}}let D=0,V=0;const O=(e,t)=>{if(!e||!t||e<=0||t<=0)return;V=(V*D+8*e/t)/++D},F={ERRORCODE:900,extensions:[]},P=\"VAST response version not supported\";class B extends S{constructor(){let{fetcher:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.maxWrapperDepth=null,this.rootErrorURLTemplates=[],this.errorURLTemplates=[],this.remainingAds=[],this.parsingOptions={},this.fetcher=e||null,this.keepFailedAdPod=!1}trackVastError(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];this.emit(\"VAST-error\",Object.assign({},F,t,...i)),u.track(e,t)}getErrorURLTemplates(){return this.rootErrorURLTemplates.concat(this.errorURLTemplates)}getEstimatedBitrate(){return V}initParsingStatus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.maxWrapperDepth=e.wrapperLimit||10,this.parsingOptions={allowMultipleAds:e.allowMultipleAds},this.keepFailedAdPod=e.keepFailedAdPod||!1,this.rootURL=\"\",this.resetParsingStatus(),O(e.byteLength,e.requestDuration)}resetParsingStatus(){this.errorURLTemplates=[],this.rootErrorURLTemplates=[],this.vastVersion=null}getRemainingAds(e){if(0===this.remainingAds.length)return Promise.reject(new Error(\"No more ads are available for the given VAST\"));const t=e?this.remainingAds:[this.remainingAds.shift()];return this.errorURLTemplates=[],this.resolveAds(t,{wrapperDepth:0,url:this.rootURL}).then((e=>this.buildVASTResponse(e)))}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(t),t.isRootVAST=!0,this.parse(e,t).then((e=>this.buildVASTResponse(e)))}buildVASTResponse(e){const t=function(e){let{ads:t,errorURLTemplates:r,version:i}=e;return{ads:t||[],errorURLTemplates:r||[],version:i||null}}({ads:e,errorURLTemplates:this.getErrorURLTemplates(),version:this.vastVersion});return this.completeWrapperResolving(t),t}parseVastXml(e,t){let{isRootVAST:r=!1,url:i=null,wrapperDepth:a=0,allowMultipleAds:s,followAdditionalWrappers:n}=t;if(!e||!e.documentElement||\"VAST\"!==e.documentElement.nodeName){var o;this.emit(\"VAST-ad-parsed\",{type:\"ERROR\",url:i,wrapperDepth:a});const t=\"VideoAdServingTemplate\"===(null==e||null===(o=e.documentElement)||void 0===o?void 0:o.nodeName);throw new Error(t?P:\"Invalid VAST XMLDocument\")}const l=[],c=e.documentElement.childNodes,d=e.documentElement.getAttribute(\"version\");r&&d&&(this.vastVersion=d);for(const e in c){const t=c[e];if(\"Error\"===t.nodeName){const e=m.parseNodeText(t);r?this.rootErrorURLTemplates.push(e):this.errorURLTemplates.push(e)}else if(\"Ad\"===t.nodeName){if(this.vastVersion&&parseFloat(this.vastVersion)<3)s=!0;else if(!1===s&&l.length>1)break;const e=L(t,this.emit.bind(this),{allowMultipleAds:s,followAdditionalWrappers:n});e.ad?(l.push(e.ad),this.emit(\"VAST-ad-parsed\",{type:e.type,url:i,wrapperDepth:a,adIndex:l.length-1,vastVersion:d})):this.trackVastError(this.getErrorURLTemplates(),{ERRORCODE:101})}}return l}parse(e){let{url:t=null,resolveAll:r=!0,wrapperSequence:i=null,previousUrl:a=null,wrapperDepth:s=0,isRootVAST:n=!1,followAdditionalWrappers:o,allowMultipleAds:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=[];this.vastVersion&&parseFloat(this.vastVersion)<3&&n&&(l=!0);try{c=this.parseVastXml(e,{isRootVAST:n,url:t,wrapperDepth:s,allowMultipleAds:l,followAdditionalWrappers:o})}catch(e){return Promise.reject(e)}if(1===c.length&&null!=i&&(c[0].sequence=i),!1===r){const e=m.getSortedAdPods(c),t=m.getStandAloneAds(c);e.length?c=e:t.length&&(c=[t.shift()]),this.remainingAds=t}return this.resolveAds(c,{wrapperDepth:s,previousUrl:a,url:t})}resolveAds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{wrapperDepth:t,previousUrl:r,url:i}=arguments.length>1?arguments[1]:void 0;const a=[];return r=i,e.forEach((e=>{const i=this.resolveWrappers(e,t,r);a.push(i)})),Promise.all(a).then((e=>u.flatten(e)))}resolveWrappers(e,t,r){const i={...e};return new Promise((e=>{var a;if(t++,!i.nextWrapperURL)return delete i.nextWrapperURL,e(i);if(!this.fetcher)return i.VASTAdTagURI=i.nextWrapperURL,delete i.nextWrapperURL,e(i);if(t>=this.maxWrapperDepth)return i.errorCode=302,delete i.nextWrapperURL,e(i);i.nextWrapperURL=m.resolveVastAdTagURI(i.nextWrapperURL,r);const s=null!==(a=this.parsingOptions.allowMultipleAds)&&void 0!==a?a:i.allowMultipleAds,n=i.sequence;this.fetcher.fetchVAST({url:i.nextWrapperURL,emitter:this.emit.bind(this),maxWrapperDepth:this.maxWrapperDepth,wrapperDepth:t,previousUrl:r,wrapperAd:i}).then((a=>this.parse(a,{url:i.nextWrapperURL,previousUrl:r,wrapperSequence:n,wrapperDepth:t,followAdditionalWrappers:i.followAdditionalWrappers,allowMultipleAds:s}).then((t=>{if(delete i.nextWrapperURL,0===t.length)return i.creatives=[],e(i);t.forEach((e=>{e&&m.mergeWrapperAdData(e,i)})),e(t)})))).catch((t=>{i.errorCode=t.message===P?102:301,i.errorMessage=t.message,e(i)}))}))}completeWrapperResolving(e){if(0===e.ads.length)this.trackVastError(e.errorURLTemplates,{ERRORCODE:303});else for(let t=e.ads.length-1;t>=0;t--){const r=e.ads[t],i=!r.creatives.some((e=>{var t,r;return(null===(t=e.mediaFiles)||void 0===t?void 0:t.length)>0||(null===(r=e.variations)||void 0===r?void 0:r.length)>0}));!r.errorCode&&!i||r.VASTAdTagURI||(this.trackVastError(r.errorURLTemplates.concat(e.errorURLTemplates),{ERRORCODE:r.errorCode||303},{ERRORMESSAGE:r.errorMessage||\"\"},{extensions:r.extensions},{system:r.system}),this.keepFailedAdPod&&r.sequence?r.hasFailed=!0:e.ads.splice(t,1))}}}let M=null;const W={data:{},length:0,getItem(e){return this.data[e]},setItem(e,t){this.data[e]=t,this.length=Object.keys(this.data).length},removeItem(e){delete this.data[e],this.length=Object.keys(this.data).length},clear(){this.data={},this.length=0}};class j{constructor(){this.storage=this.initStorage()}initStorage(){if(M)return M;try{M=\"undefined\"!=typeof window&&null!==window?window.localStorage||window.sessionStorage:null}catch(e){M=null}return M&&!this.isStorageDisabled(M)||(M=W,M.clear()),M}isStorageDisabled(e){const t=\"__VASTStorage__\";try{if(e.setItem(t,t),e.getItem(t)!==t)return e.removeItem(t),!0}catch(e){return!0}return e.removeItem(t),!1}getItem(e){return this.storage.getItem(e)}setItem(e,t){return this.storage.setItem(e,t)}removeItem(e){return this.storage.removeItem(e)}clear(){return this.storage.clear()}}const q=12e4;const K={get:async function(e,t){try{const r=new AbortController,i=setTimeout((()=>{throw r.abort(),new Error(\"URLHandler: Request timed out after \".concat(t.timeout||q,\" ms (408)\"))}),t.timeout||q),a=await fetch(e,{...t,signal:r.signal,credentials:t.withCredentials?\"include\":\"omit\"}).finally((()=>{clearTimeout(i)})),s=function(e){return u.isBrowserEnvironment()&&\"https:\"===window.location.protocol&&e.url.includes(\"http://\")?\"URLHandler: Cannot go from HTTPS to HTTP.\":200===e.status&&e.ok?null:\"URLHandler: \".concat(e.statusText,\" (\").concat(e.status,\")\")}(a);return s?{error:new Error(s),statusCode:a.status}:async function(e){const t=await e.text();let r;r=u.isBrowserEnvironment()?new DOMParser:new((await import(\"@xmldom/xmldom\")).DOMParser);return{xml:r.parseFromString(t,\"text/xml\"),details:{byteLength:t.length,statusCode:e.status,rawXml:t}}}(a)}catch(e){return{error:e,statusCode:\"AbortError\"===e.name?408:null}}}};class H{constructor(){this.URLTemplateFilters=[]}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.urlHandler=e.urlHandler||e.urlhandler||K,this.fetchingOptions={...e.fetchOptions,timeout:e.timeout||q,withCredentials:Boolean(e.withCredentials)}}addURLTemplateFilter(e){\"function\"==typeof e&&this.URLTemplateFilters.push(e)}removeLastURLTemplateFilter(){this.URLTemplateFilters.pop()}countURLTemplateFilters(){return this.URLTemplateFilters.length}clearURLTemplateFilters(){this.URLTemplateFilters=[]}async fetchVAST(e){var t;let{url:r,maxWrapperDepth:i,emitter:a,wrapperDepth:s=0,previousUrl:n=null,wrapperAd:o=null}=e;const l=Date.now();this.URLTemplateFilters.forEach((e=>{r=e(r)})),a(\"VAST-resolving\",{url:r,previousUrl:n,wrapperDepth:s,maxWrapperDepth:i,timeout:this.fetchingOptions.timeout,wrapperAd:o});const c=await this.urlHandler.get(r,this.fetchingOptions),d=Math.round(Date.now()-l);if(a(\"VAST-resolved\",{url:r,previousUrl:n,wrapperDepth:s,error:(null==c?void 0:c.error)||null,duration:d,statusCode:(null==c?void 0:c.statusCode)||null,...null==c?void 0:c.details}),O(null==c||null===(t=c.details)||void 0===t?void 0:t.byteLength,d),c.error)throw new Error(c.error);return c.xml}}class _{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new j;this.cappingFreeLunch=e,this.cappingMinimumTimeInterval=t,this.fetcher=new H,this.vastParser=new B({fetcher:this.fetcher}),this.storage=r,void 0===this.lastSuccessfulAd&&(this.lastSuccessfulAd=0),void 0===this.totalCalls&&(this.totalCalls=0),void 0===this.totalCallsTimeout&&(this.totalCallsTimeout=0)}addURLTemplateFilter(e){this.fetcher.addURLTemplateFilter(e)}removeLastURLTemplateFilter(){this.fetcher.removeLastURLTemplateFilter()}countURLTemplateFilters(){return this.fetcher.countURLTemplateFilters()}clearURLTemplateFilters(){this.fetcher.clearURLTemplateFilters()}getParser(){return this.vastParser}get lastSuccessfulAd(){return this.storage.getItem(\"vast-client-last-successful-ad\")}set lastSuccessfulAd(e){this.storage.setItem(\"vast-client-last-successful-ad\",e)}get totalCalls(){return this.storage.getItem(\"vast-client-total-calls\")}set totalCalls(e){this.storage.setItem(\"vast-client-total-calls\",e)}get totalCallsTimeout(){return this.storage.getItem(\"vast-client-total-calls-timeout\")}set totalCallsTimeout(e){this.storage.setItem(\"vast-client-total-calls-timeout\",e)}hasRemainingAds(){return this.vastParser.remainingAds.length>0}getNextAds(e){return this.vastParser.getRemainingAds(e)}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.fetcher.setOptions(t),this.vastParser.parseVAST(e,t)}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Date.now();return t.hasOwnProperty(\"resolveAll\")||(t.resolveAll=!1),this.totalCallsTimeout<r?(this.totalCalls=1,this.totalCallsTimeout=r+36e5):this.totalCalls++,new Promise(((i,a)=>{if(this.cappingFreeLunch>=this.totalCalls)return a(new Error(\"VAST call canceled – FreeLunch capping not reached yet \".concat(this.totalCalls,\"/\").concat(this.cappingFreeLunch)));const s=r-this.lastSuccessfulAd;if(s<0)this.lastSuccessfulAd=0;else if(s<this.cappingMinimumTimeInterval)return a(new Error(\"VAST call canceled – (\".concat(this.cappingMinimumTimeInterval,\")ms minimum interval reached\")));this.vastParser.initParsingStatus(t),this.fetcher.setOptions(t),this.vastParser.rootURL=e,this.fetcher.fetchVAST({url:e,emitter:this.vastParser.emit.bind(this.vastParser),maxWrapperDepth:this.vastParser.maxWrapperDepth}).then((r=>(t.previousUrl=e,t.isRootVAST=!0,t.url=e,this.vastParser.parse(r,t).then((e=>{const t=this.vastParser.buildVASTResponse(e);i(t)}))))).catch((e=>a(e)))}))}}class z extends S{constructor(e,t,r){var i;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.ad=t,this.creative=r,this.variation=a,this.muted=s,this.impressed=!1,this.skippable=!1,this.trackingEvents={},this.trackedProgressEvents=[],this.lastPercentage=0,this._alreadyTriggeredQuartiles={},this.emitAlwaysEvents=[\"creativeView\",\"start\",\"firstQuartile\",\"midpoint\",\"thirdQuartile\",\"complete\",\"resume\",\"pause\",\"rewind\",\"skip\",\"closeLinear\",\"close\"];for(const e in this.creative.trackingEvents){const t=this.creative.trackingEvents[e];this.trackingEvents[e]=t.slice(0)}this.viewableImpressionTrackers=(null===(i=this.ad.viewableImpression)||void 0===i?void 0:i.reduce(((e,t)=>(e.notViewable.push(...t.notViewable),e.viewUndetermined.push(...t.viewUndetermined),e.viewable.push(...t.viewable),e)),{notViewable:[],viewUndetermined:[],viewable:[]}))||{},Object.entries(this.viewableImpressionTrackers).forEach((e=>{let[t,r]=e;r.length&&(this.trackingEvents[t]=r)})),!function(e){return\"linear\"===e.type}(this.creative)?this._initVariationTracking():this._initLinearTracking(),e&&this.on(\"start\",(()=>{e.lastSuccessfulAd=Date.now()}))}_initLinearTracking(){this.linear=!0,this.skipDelay=this.creative.skipDelay,this.setDuration(this.creative.duration),this.clickThroughURLTemplate=this.creative.videoClickThroughURLTemplate,this.clickTrackingURLTemplates=this.creative.videoClickTrackingURLTemplates}_initVariationTracking(){if(this.linear=!1,this.skipDelay=-1,this.variation){for(const e in this.variation.trackingEvents){const t=this.variation.trackingEvents[e];this.trackingEvents[e]?this.trackingEvents[e]=this.trackingEvents[e].concat(t.slice(0)):this.trackingEvents[e]=t.slice(0)}\"nonLinearAd\"===this.variation.adType?(this.clickThroughURLTemplate=this.variation.nonlinearClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.nonlinearClickTrackingURLTemplates,this.setDuration(this.variation.minSuggestedDuration)):function(e){return\"companionAd\"===e.adType}(this.variation)&&(this.clickThroughURLTemplate=this.variation.companionClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.companionClickTrackingURLTemplates)}}setDuration(e){u.isValidTimeValue(e)?(this.assetDuration=e,this.quartiles={firstQuartile:Math.round(25*this.assetDuration)/100,midpoint:Math.round(50*this.assetDuration)/100,thirdQuartile:Math.round(75*this.assetDuration)/100}):this.emit(\"TRACKER-error\",{message:\"the duration provided is not valid. duration: \".concat(e)})}setProgress(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!u.isValidTimeValue(e)||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given setProgress parameter has the wrong type. progress: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});const i=this.skipDelay||-1;if(-1===i||this.skippable||(i>e?this.emit(\"skip-countdown\",i-e):(this.skippable=!0,this.emit(\"skip-countdown\",0))),this.assetDuration>0){const i=Math.round(e/this.assetDuration*100),a=[];if(e>0){a.push(\"start\");for(let e=this.lastPercentage;e<i;e++)a.push(\"progress-\".concat(e+1,\"%\"));a.push(\"progress-\".concat(e));for(const t in this.quartiles)this.isQuartileReached(t,this.quartiles[t],e)&&(a.push(t),this._alreadyTriggeredQuartiles[t]=!0);this.lastPercentage=i}a.forEach((e=>{this.track(e,{macros:t,once:r})})),e<this.progress&&(this.track(\"rewind\",{macros:t}),this.trackedProgressEvents&&this.trackedProgressEvents.splice(0))}this.progress=e}isQuartileReached(e,t,r){let i=!1;return t<=r&&!this._alreadyTriggeredQuartiles[e]&&(i=!0),i}setMuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.muted!==e&&this.track(e?\"mute\":\"unmute\",{macros:t}),this.muted=e):this.emit(\"TRACKER-error\",{message:\"One given setMuted parameter has the wrong type. muted: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setPaused(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.paused!==e&&this.track(e?\"pause\":\"resume\",{macros:t}),this.paused=e):this.emit(\"TRACKER-error\",{message:\"One given setPaused parameter has the wrong type. paused: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setFullscreen(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.fullscreen!==e&&this.track(e?\"fullscreen\":\"exitFullscreen\",{macros:t}),this.fullscreen=e):this.emit(\"TRACKER-error\",{message:\"One given setFullScreen parameter has the wrong type. fullscreen: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setExpand(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.expanded!==e&&(this.track(e?\"expand\":\"collapse\",{macros:t}),this.track(e?\"playerExpand\":\"playerCollapse\",{macros:t})),this.expanded=e):this.emit(\"TRACKER-error\",{message:\"One given setExpand parameter has the wrong type. expanded: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setSkipDelay(e){u.isValidTimeValue(e)?this.skipDelay=e:this.emit(\"TRACKER-error\",{message:\"setSkipDelay parameter does not have a valid value. duration: \".concat(e)})}trackImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.impressed||(this.impressed=!0,this.trackURLs(this.ad.impressionURLTemplates,e),this.track(\"creativeView\",{macros:e})):this.emit(\"TRACKER-error\",{message:\"trackImpression parameter has the wrong type. macros: \".concat(e)})}trackViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackNotViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"notViewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackNotViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackUndeterminedImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewUndetermined\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackUndeterminedImpression given macros has the wrong type. macros: \".concat(e)})}error(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e&&\"boolean\"==typeof t?this.trackURLs(this.ad.errorURLTemplates,e,{isCustomCode:t}):this.emit(\"TRACKER-error\",{message:\"One given error parameter has the wrong type. macros: \".concat(u.formatMacrosValues(e),\", isCustomCode: \").concat(t)})}errorWithCode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"string\"==typeof e&&\"boolean\"==typeof t?(this.error({ERRORCODE:e},t),console.log(\"The method errorWithCode is deprecated, please use vast tracker error method instead\")):this.emit(\"TRACKER-error\",{message:\"One given errorWithCode parameter has the wrong type. errorCode: \".concat(e,\", isCustomCode: \").concat(t)})}complete(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"complete\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"complete given macros has the wrong type. macros: \".concat(e)})}notUsed(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?(this.track(\"notUsed\",{macros:e}),this.trackingEvents=[]):this.emit(\"TRACKER-error\",{message:\"notUsed given macros has the wrong type. macros: \".concat(e)})}otherAdInteraction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"otherAdInteraction\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"otherAdInteraction given macros has the wrong type. macros: \".concat(e)})}acceptInvitation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"acceptInvitation\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"acceptInvitation given macros has the wrong type. macros: \".concat(e)})}adExpand(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adExpand\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adExpand given macros has the wrong type. macros: \".concat(e)})}adCollapse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adCollapse\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adCollapse given macros has the wrong type. macros: \".concat(e)})}minimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"minimize\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"minimize given macros has the wrong type. macros: \".concat(e)})}verificationNotExecuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given verificationNotExecuted parameter has to wrong type. vendor: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});if(!this.ad||!this.ad.adVerifications||!this.ad.adVerifications.length)throw new Error(\"No adVerifications provided\");if(!e)throw new Error(\"No vendor provided, unable to find associated verificationNotExecuted\");const r=this.ad.adVerifications.find((t=>t.vendor===e));if(!r)throw new Error(\"No associated verification element found for vendor: \".concat(e));const i=r.trackingEvents;if(i&&i.verificationNotExecuted){const e=i.verificationNotExecuted;this.trackURLs(e,t),this.emit(\"verificationNotExecuted\",{trackingURLTemplates:e})}}overlayViewDuration(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"string\"==typeof e&&\"object\"==typeof t?(t.ADPLAYHEAD=e,this.track(\"overlayViewDuration\",{macros:t})):this.emit(\"TRACKER-error\",{message:\"One given overlayViewDuration parameters has the wrong type. formattedDuration: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(this.linear?\"closeLinear\":\"close\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"close given macros has the wrong type. macros: \".concat(e)})}skip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"skip\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"skip given macros has the wrong type. macros: \".concat(e)})}load(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"loaded\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"load given macros has the wrong type. macros: \".concat(e)})}click(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==e&&\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given click parameter has the wrong type. fallbackClickThroughURL: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});this.clickTrackingURLTemplates&&this.clickTrackingURLTemplates.length&&this.trackURLs(this.clickTrackingURLTemplates,t);const r=this.clickThroughURLTemplate||e,i={...t};if(r){this.progress&&(i.ADPLAYHEAD=this.progressFormatted());const e=u.resolveURLTemplates([r],i)[0];this.emit(\"clickthrough\",e)}}trackProgressEvents(e,t,r){const i=parseFloat(e.split(\"-\")[1]);Object.entries(this.trackingEvents).filter((e=>{let[t]=e;return t.startsWith(\"progress-\")})).map((e=>{let[t,r]=e;return{name:t,time:parseFloat(t.split(\"-\")[1]),urls:r}})).filter((e=>{let{time:t}=e;return t<=i&&t>this.progress})).forEach((e=>{let{name:i,urls:a}=e;!r&&this.trackedProgressEvents.includes(i)||(this.emit(i,{trackingURLTemplates:a}),this.trackURLs(a,t),r?delete this.trackingEvents[i]:this.trackedProgressEvents.push(i))}))}track(e){let{macros:t={},once:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"track given macros has the wrong type. macros: \".concat(t)});\"closeLinear\"===e&&!this.trackingEvents[e]&&this.trackingEvents.close&&(e=\"close\"),e.startsWith(\"progress-\")&&!e.endsWith(\"%\")&&this.trackProgressEvents(e,t,r);const i=this.trackingEvents[e],a=this.emitAlwaysEvents.indexOf(e)>-1;i?(this.emit(e,{trackingURLTemplates:i}),this.trackURLs(i,t)):a&&this.emit(e,null),r&&(delete this.trackingEvents[e],a&&this.emitAlwaysEvents.splice(this.emitAlwaysEvents.indexOf(e),1))}trackURLs(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{validUrls:a,invalidUrls:s}=u.filterUrlTemplates(e);s.length&&this.emit(\"TRACKER-error\",{message:\"Provided urls are malformed. url: \".concat(s)});const n={...r};this.linear&&(this.creative&&this.creative.mediaFiles&&this.creative.mediaFiles[0]&&this.creative.mediaFiles[0].fileURL&&(n.ASSETURI=this.creative.mediaFiles[0].fileURL),this.progress&&(n.ADPLAYHEAD=this.progressFormatted())),null!==(t=this.creative)&&void 0!==t&&null!==(t=t.universalAdIds)&&void 0!==t&&t.length&&(n.UNIVERSALADID=this.creative.universalAdIds.map((e=>e.idRegistry.concat(\" \",e.value))).join(\",\")),this.ad&&(this.ad.sequence&&(n.PODSEQUENCE=this.ad.sequence),this.ad.adType&&(n.ADTYPE=this.ad.adType),this.ad.adServingId&&(n.ADSERVINGID=this.ad.adServingId),this.ad.categories&&this.ad.categories.length&&(n.ADCATEGORIES=this.ad.categories.map((e=>e.value)).join(\",\")),this.ad.blockedAdCategories&&this.ad.blockedAdCategories.length&&(n.BLOCKEDADCATEGORIES=this.ad.blockedAdCategories.map((e=>e.value)).join(\",\"))),u.track(a,n,i)}convertToTimecode(e){if(!u.isValidTimeValue(e))return\"\";const t=1e3*e,r=Math.floor(t/36e5),i=Math.floor(t/6e4%60),a=Math.floor(t/1e3%60),s=Math.floor(t%1e3);return\"\".concat(u.addLeadingZeros(r,2),\":\").concat(u.addLeadingZeros(i,2),\":\").concat(u.addLeadingZeros(a,2),\".\").concat(u.addLeadingZeros(s,3))}progressFormatted(){return this.convertToTimecode(this.progress)}}export{_ as VASTClient,B as VASTParser,z as VASTTracker,p as parseDuration};\n",null,null,null,null,"function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}var n=a((function e(a){for(var n in t(this,e),this.id=a.getAttribute(\"id\"),this.allowMultipleAds=a.getAttribute(\"allowMultipleAds\"),this.followRedirects=a.getAttribute(\"followRedirects\"),this.vastAdData=null,this.adTagURI=null,this.customData=null,a.childNodes){var i=a.childNodes[n];switch(i.localName){case\"AdTagURI\":this.adTagURI={templateType:i.getAttribute(\"templateType\"),uri:(i.textContent||i.text||\"\").trim()};break;case\"VASTAdData\":for(this.vastAdData=i.firstChild;this.vastAdData&&1!==this.vastAdData.nodeType;)this.vastAdData=this.vastAdData.nextSibling;break;case\"CustomAdData\":this.customData=i}}}));function i(t,e){var a=[];for(var n in t.childNodes){var i=t.childNodes[n];i.nodeName!==e&&e!==\"vmap:\".concat(i.nodeName)&&i.nodeName!==\"vmap:\".concat(e)||a.push(i)}return a}function r(t){var e={attributes:{},children:{},value:{}};e.value=function(t){if(!t||!t.childNodes)return{};var e=t.childNodes,a=[];for(var n in e){var i=e[n];\"#cdata-section\"===i.nodeName&&a.push(i)}if(a&&a.length>0)try{return JSON.parse(a[0].data)}catch(t){}var r=\"\";for(var s in e){var o=e[s];switch(o.nodeName){case\"#text\":r+=o.textContent.trim();break;case\"#cdata-section\":r+=o.data}}return r}(t);var a=t.attributes;if(a)for(var n in a){var i=a[n];i.nodeName&&void 0!==i.nodeValue&&null!==i.nodeValue&&(e.attributes[i.nodeName]=i.nodeValue)}var s=t.childNodes;if(s)for(var o in s){var c=s[o];c.nodeName&&\"#\"!==c.nodeName.substring(0,1)&&(e.children[c.nodeName]=r(c))}return e}var s=function(){function e(a){for(var s in t(this,e),this.timeOffset=a.getAttribute(\"timeOffset\"),this.breakType=a.getAttribute(\"breakType\"),this.breakId=a.getAttribute(\"breakId\"),this.repeatAfter=a.getAttribute(\"repeatAfter\"),this.adSource=null,this.trackingEvents=[],this.extensions=[],a.childNodes){var o=a.childNodes[s];switch(o.localName){case\"AdSource\":this.adSource=new n(o);break;case\"TrackingEvents\":for(var c in o.childNodes){var d=o.childNodes[c];\"Tracking\"===d.localName&&this.trackingEvents.push({event:d.getAttribute(\"event\"),uri:(d.textContent||d.text||\"\").trim()})}break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}return a(e,[{key:\"track\",value:function(t,e){for(var a in this.trackingEvents){var n=this.trackingEvents[a];if(n.event===t){var i=n.uri;\"error\"===n.event&&(i=i.replace(\"[ERRORCODE]\",e)),this.tracker(i)}}}},{key:\"tracker\",value:function(t){\"undefined\"!=typeof window&&null!==window&&((new Image).src=t)}}]),e}(),o=a((function e(a){if(t(this,e),!a||!a.documentElement||\"VMAP\"!==a.documentElement.localName)throw new Error(\"Not a VMAP document\");for(var n in this.version=a.documentElement.getAttribute(\"version\"),this.adBreaks=[],this.extensions=[],a.documentElement.childNodes){var o=a.documentElement.childNodes[n];switch(o.localName){case\"AdBreak\":this.adBreaks.push(new s(o));break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}));export{o as default};\n",null,null,null,null,null,null,"'use strict'\n\n/**\n * Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.\n *\n * Works with anything that has a `length` property and index access properties, including NodeList.\n *\n * @template {unknown} T\n * @param {Array<T> | ({length:number, [number]: T})} list\n * @param {function (item: T, index: number, list:Array<T> | ({length:number, [number]: T})):boolean} predicate\n * @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac `Array.prototype` by default,\n * \t\t\t\tallows injecting a custom implementation in tests\n * @returns {T | undefined}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find\n */\nfunction find(list, predicate, ac) {\n\tif (ac === undefined) {\n\t\tac = Array.prototype;\n\t}\n\tif (list && typeof ac.find === 'function') {\n\t\treturn ac.find.call(list, predicate);\n\t}\n\tfor (var i = 0; i < list.length; i++) {\n\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\tvar item = list[i];\n\t\t\tif (predicate.call(undefined, item, i, list)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * \"Shallow freezes\" an object to render it immutable.\n * Uses `Object.freeze` if available,\n * otherwise the immutability is only in the type.\n *\n * Is used to create \"enum like\" objects.\n *\n * @template T\n * @param {T} object the object to freeze\n * @param {Pick<ObjectConstructor, 'freeze'> = Object} oc `Object` by default,\n * \t\t\t\tallows to inject custom object constructor for tests\n * @returns {Readonly<T>}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n */\nfunction freeze(object, oc) {\n\tif (oc === undefined) {\n\t\toc = Object\n\t}\n\treturn oc && typeof oc.freeze === 'function' ? oc.freeze(object) : object\n}\n\n/**\n * Since we can not rely on `Object.assign` we provide a simplified version\n * that is sufficient for our needs.\n *\n * @param {Object} target\n * @param {Object | null | undefined} source\n *\n * @returns {Object} target\n * @throws TypeError if target is not an object\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign\n */\nfunction assign(target, source) {\n\tif (target === null || typeof target !== 'object') {\n\t\tthrow new TypeError('target is not an object')\n\t}\n\tfor (var key in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\ttarget[key] = source[key]\n\t\t}\n\t}\n\treturn target\n}\n\n/**\n * All mime types that are allowed as input to `DOMParser.parseFromString`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02 MDN\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype WHATWG HTML Spec\n * @see DOMParser.prototype.parseFromString\n */\nvar MIME_TYPE = freeze({\n\t/**\n\t * `text/html`, the only mime type that triggers treating an XML document as HTML.\n\t *\n\t * @see DOMParser.SupportedType.isHTML\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec\n\t */\n\tHTML: 'text/html',\n\n\t/**\n\t * Helper method to check a mime type if it indicates an HTML document\n\t *\n\t * @param {string} [value]\n\t * @returns {boolean}\n\t *\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring \t */\n\tisHTML: function (value) {\n\t\treturn value === MIME_TYPE.HTML\n\t},\n\n\t/**\n\t * `application/xml`, the standard mime type for XML documents.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_APPLICATION: 'application/xml',\n\n\t/**\n\t * `text/html`, an alias for `application/xml`.\n\t *\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303\n\t * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_TEXT: 'text/xml',\n\n\t/**\n\t * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,\n\t * but is parsed as an XML document.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec\n\t * @see https://en.wikipedia.org/wiki/XHTML Wikipedia\n\t */\n\tXML_XHTML_APPLICATION: 'application/xhtml+xml',\n\n\t/**\n\t * `image/svg+xml`,\n\t *\n\t * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration\n\t * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1\n\t * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia\n\t */\n\tXML_SVG_IMAGE: 'image/svg+xml',\n})\n\n/**\n * Namespaces that are used in this code base.\n *\n * @see http://www.w3.org/TR/REC-xml-names\n */\nvar NAMESPACE = freeze({\n\t/**\n\t * The XHTML namespace.\n\t *\n\t * @see http://www.w3.org/1999/xhtml\n\t */\n\tHTML: 'http://www.w3.org/1999/xhtml',\n\n\t/**\n\t * Checks if `uri` equals `NAMESPACE.HTML`.\n\t *\n\t * @param {string} [uri]\n\t *\n\t * @see NAMESPACE.HTML\n\t */\n\tisHTML: function (uri) {\n\t\treturn uri === NAMESPACE.HTML\n\t},\n\n\t/**\n\t * The SVG namespace.\n\t *\n\t * @see http://www.w3.org/2000/svg\n\t */\n\tSVG: 'http://www.w3.org/2000/svg',\n\n\t/**\n\t * The `xml:` namespace.\n\t *\n\t * @see http://www.w3.org/XML/1998/namespace\n\t */\n\tXML: 'http://www.w3.org/XML/1998/namespace',\n\n\t/**\n\t * The `xmlns:` namespace\n\t *\n\t * @see https://www.w3.org/2000/xmlns/\n\t */\n\tXMLNS: 'http://www.w3.org/2000/xmlns/',\n})\n\nexports.assign = assign;\nexports.find = find;\nexports.freeze = freeze;\nexports.MIME_TYPE = MIME_TYPE;\nexports.NAMESPACE = NAMESPACE;\n","var conventions = require(\"./conventions\");\n\nvar find = conventions.find;\nvar NAMESPACE = conventions.NAMESPACE;\n\n/**\n * A prerequisite for `[].filter`, to drop elements that are empty\n * @param {string} input\n * @returns {boolean}\n */\nfunction notEmptyString (input) {\n\treturn input !== ''\n}\n/**\n * @see https://infra.spec.whatwg.org/#split-on-ascii-whitespace\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * @param {string} input\n * @returns {string[]} (can be empty)\n */\nfunction splitOnASCIIWhitespace(input) {\n\t// U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, U+0020 SPACE\n\treturn input ? input.split(/[\\t\\n\\f\\r ]+/).filter(notEmptyString) : []\n}\n\n/**\n * Adds element as a key to current if it is not already present.\n *\n * @param {Record<string, boolean | undefined>} current\n * @param {string} element\n * @returns {Record<string, boolean | undefined>}\n */\nfunction orderedSetReducer (current, element) {\n\tif (!current.hasOwnProperty(element)) {\n\t\tcurrent[element] = true;\n\t}\n\treturn current;\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ordered-set\n * @param {string} input\n * @returns {string[]}\n */\nfunction toOrderedSet(input) {\n\tif (!input) return [];\n\tvar list = splitOnASCIIWhitespace(input);\n\treturn Object.keys(list.reduce(orderedSetReducer, {}))\n}\n\n/**\n * Uses `list.indexOf` to implement something like `Array.prototype.includes`,\n * which we can not rely on being available.\n *\n * @param {any[]} list\n * @returns {function(any): boolean}\n */\nfunction arrayIncludes (list) {\n\treturn function(element) {\n\t\treturn list && list.indexOf(element) !== -1;\n\t}\n}\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tif (Object.prototype.hasOwnProperty.call(src, p)) {\n\t\t\tdest[p] = src[p];\n\t\t}\n\t}\n}\n\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknown Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\n\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n/**\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n */\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0,\n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long\n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index.\n\t */\n\titem: function(index) {\n\t\treturn index >= 0 && index < this.length ? this[index] : null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t},\n\t/**\n\t * @private\n\t * @param {function (Node):boolean} predicate\n\t * @returns {Node[]}\n\t */\n\tfilter: function (predicate) {\n\t\treturn Array.prototype.filter.call(this, predicate);\n\t},\n\t/**\n\t * @private\n\t * @param {Node} item\n\t * @returns {number}\n\t */\n\tindexOf: function (item) {\n\t\treturn Array.prototype.indexOf.call(this, item);\n\t},\n};\n\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif (list._inc !== inc) {\n\t\tvar ls = list._refresh(list._node);\n\t\t__set__(list,'length',ls.length);\n\t\tif (!list.$$length || ls.length < list.$$length) {\n\t\t\tfor (var i = ls.length; i in list; i++) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\t\t\tdelete list[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i] || null;\n}\n\n_extends(LiveNodeList,NodeList);\n\n/**\n * Objects implementing the NamedNodeMap interface are used\n * to represent collections of nodes that can be accessed by name.\n * Note that NamedNodeMap does not inherit from NodeList;\n * NamedNodeMaps are not maintained in any particular order.\n * Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index,\n * but this is simply to allow convenient enumeration of the contents of a NamedNodeMap,\n * and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities\n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow new DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\n\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n\n/**\n * The DOMImplementation interface represents an object providing methods\n * which are not dependent on any particular document.\n * Such an object is returned by the `Document.implementation` property.\n *\n * __The individual methods describe the differences compared to the specs.__\n *\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation MDN\n * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 DOM Level 1 Core (Initial)\n * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490 DOM Level 2 Core\n * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490 DOM Level 3 Core\n * @see https://dom.spec.whatwg.org/#domimplementation DOM Living Standard\n */\nfunction DOMImplementation() {\n}\n\nDOMImplementation.prototype = {\n\t/**\n\t * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported.\n\t * The different implementations fairly diverged in what kind of features were reported.\n\t * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use.\n\t *\n\t * @deprecated It is deprecated and modern browsers return true in all cases.\n\t *\n\t * @param {string} feature\n\t * @param {string} [version]\n\t * @returns {boolean} always true\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN\n\t * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard\n\t */\n\thasFeature: function(feature, version) {\n\t\t\treturn true;\n\t},\n\t/**\n\t * Creates an XML Document object of the specified type with its document element.\n\t *\n\t * __It behaves slightly different from the description in the living standard__:\n\t * - There is no interface/class `XMLDocument`, it returns a `Document` instance.\n\t * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared.\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string|null} namespaceURI\n\t * @param {string} qualifiedName\n\t * @param {DocumentType=null} doctype\n\t * @returns {Document}\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial)\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocument: function(namespaceURI, qualifiedName, doctype){\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype || null;\n\t\tif (doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif (qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI, qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t/**\n\t * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.\n\t *\n\t * __This behavior is slightly different from the in the specs__:\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string} qualifiedName\n\t * @param {string} [publicId]\n\t * @param {string} [systemId]\n\t * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation\n\t * \t\t\t\t or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocumentType: function(qualifiedName, publicId, systemId){\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId || '';\n\t\tnode.systemId = systemId || '';\n\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises\n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises\n\t\t_insertBefore(this, newChild,oldChild, assertPreReplacementValidityInDocument);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n\t/**\n\t * Look up the prefix associated to the given namespace URI, starting from this node.\n\t * **The default namespace declarations are ignored by this method.**\n\t * See Namespace Prefix Lookup for details on the algorithm used by this method.\n\t *\n\t * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._\n\t *\n\t * @param {string | null} namespaceURI\n\t * @returns {string | null}\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo\n\t * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix\n\t * @see https://github.com/xmldom/xmldom/issues/322\n\t */\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) {\n\t\t\t\t\t\t\treturn n;\n\t\t\t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(Object.prototype.hasOwnProperty.call(map, prefix)){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n\tthis.ownerDocument = this;\n}\n\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\n\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\n\n/**\n * Updates `el.childNodes`, updating the indexed items and it's `length`.\n * Passing `newChild` means it will be appended.\n * Otherwise it's assumed that an item has been removed,\n * and `el.firstNode` and it's `.nextSibling` are used\n * to walk the current list of child nodes.\n *\n * @param {Document} doc\n * @param {Node} el\n * @param {Node} [newChild]\n * @private\n */\nfunction _onUpdateChild (doc, el, newChild) {\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif (newChild) {\n\t\t\tcs[cs.length++] = newChild;\n\t\t} else {\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile (child) {\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild = child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t\tdelete cs[cs.length];\n\t\t}\n\t}\n}\n\n/**\n * Removes the connections between `parentNode` and `child`\n * and any existing `child.previousSibling` or `child.nextSibling`.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n *\n * @param {Node} parentNode\n * @param {Node} child\n * @returns {Node} the child that was removed.\n * @private\n */\nfunction _removeChild (parentNode, child) {\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif (previous) {\n\t\tprevious.nextSibling = next;\n\t} else {\n\t\tparentNode.firstChild = next;\n\t}\n\tif (next) {\n\t\tnext.previousSibling = previous;\n\t} else {\n\t\tparentNode.lastChild = previous;\n\t}\n\tchild.parentNode = null;\n\tchild.previousSibling = null;\n\tchild.nextSibling = null;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode);\n\treturn child;\n}\n\n/**\n * Returns `true` if `node` can be a parent for insertion.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasValidParentNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE)\n\t);\n}\n\n/**\n * Returns `true` if `node` can be inserted according to it's `nodeType`.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasInsertableNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(isElementNode(node) ||\n\t\t\tisTextNode(node) ||\n\t\t\tisDocTypeNode(node) ||\n\t\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\t\tnode.nodeType === Node.COMMENT_NODE ||\n\t\t\tnode.nodeType === Node.PROCESSING_INSTRUCTION_NODE)\n\t);\n}\n\n/**\n * Returns true if `node` is a DOCTYPE node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isDocTypeNode(node) {\n\treturn node && node.nodeType === Node.DOCUMENT_TYPE_NODE;\n}\n\n/**\n * Returns true if the node is an element\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isElementNode(node) {\n\treturn node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Returns true if `node` is a text node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isTextNode(node) {\n\treturn node && node.nodeType === Node.TEXT_NODE;\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Document} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementInsertionPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\tif (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Node} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementReplacementPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\n\tfunction hasElementChildThatIsNotChild(node) {\n\t\treturn isElementNode(node) && node !== child;\n\t}\n\n\tif (find(parentChildNodes, hasElementChildThatIsNotChild)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * @private\n * Steps 1-5 of the checks before inserting and before replacing a child are the same.\n *\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidity1to5(parent, node, child) {\n\t// 1. If `parent` is not a Document, DocumentFragment, or Element node, then throw a \"HierarchyRequestError\" DOMException.\n\tif (!hasValidParentNodeType(parent)) {\n\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Unexpected parent node type ' + parent.nodeType);\n\t}\n\t// 2. If `node` is a host-including inclusive ancestor of `parent`, then throw a \"HierarchyRequestError\" DOMException.\n\t// not implemented!\n\t// 3. If `child` is non-null and its parent is not `parent`, then throw a \"NotFoundError\" DOMException.\n\tif (child && child.parentNode !== parent) {\n\t\tthrow new DOMException(NOT_FOUND_ERR, 'child not in parent');\n\t}\n\tif (\n\t\t// 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a \"HierarchyRequestError\" DOMException.\n\t\t!hasInsertableNodeType(node) ||\n\t\t// 5. If either `node` is a Text node and `parent` is a document,\n\t\t// the sax parser currently adds top level text nodes, this will be fixed in 0.9.0\n\t\t// || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE)\n\t\t// or `node` is a doctype and `parent` is not a document, then throw a \"HierarchyRequestError\" DOMException.\n\t\t(isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE)\n\t) {\n\t\tthrow new DOMException(\n\t\t\tHIERARCHY_REQUEST_ERR,\n\t\t\t'Unexpected node type ' + node.nodeType + ' for parent node type ' + parent.nodeType\n\t\t);\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If node has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child,\n\t\t// `child` is a doctype, or `child` is non-null and a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child, `child` is a doctype,\n\t\t// or `child` is non-null and a doctype is following `child`.\n\t\tif (!isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\t// `parent` has a doctype child,\n\t\tif (find(parentChildNodes, isDocTypeNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// `child` is non-null and an element is preceding `child`,\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t\t// or `child` is null and `parent` has an element child.\n\t\tif (!child && parentElementChild) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can not be appended since element is present');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreReplacementValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If `node` has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (!isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\tfunction hasDoctypeChildThatIsNotChild(node) {\n\t\t\treturn isDocTypeNode(node) && node !== child;\n\t\t}\n\n\t\t// `parent` has a doctype child that is not `child`,\n\t\tif (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// or an element is preceding `child`.\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction _insertBefore(parent, node, child, _inDocumentAssertion) {\n\t// To ensure pre-insertion validity of a node into a parent before a child, run these steps:\n\tassertPreInsertionValidity1to5(parent, node, child);\n\n\t// If parent is a document, and any of the statements below, switched on the interface node implements,\n\t// are true, then throw a \"HierarchyRequestError\" DOMException.\n\tif (parent.nodeType === Node.DOCUMENT_NODE) {\n\t\t(_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child);\n\t}\n\n\tvar cp = node.parentNode;\n\tif(cp){\n\t\tcp.removeChild(node);//remove and update\n\t}\n\tif(node.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = node.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn node;\n\t\t}\n\t\tvar newLast = node.lastChild;\n\t}else{\n\t\tnewFirst = newLast = node;\n\t}\n\tvar pre = child ? child.previousSibling : parent.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = child;\n\n\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparent.firstChild = newFirst;\n\t}\n\tif(child == null){\n\t\tparent.lastChild = newLast;\n\t}else{\n\t\tchild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parent;\n\t\t// Update ownerDocument for each node being inserted\n\t\tvar targetDoc = parent.ownerDocument || parent;\n\t\t_updateOwnerDocument(newFirst, targetDoc);\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parent.ownerDocument||parent, parent);\n\t//console.log(parent.lastChild.nextSibling == null)\n\tif (node.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnode.firstChild = node.lastChild = null;\n\t}\n\treturn node;\n}\n\n/**\n * Recursively updates the ownerDocument property for a node and all its descendants\n * @param {Node} node\n * @param {Document} newOwnerDocument\n * @private\n */\nfunction _updateOwnerDocument(node, newOwnerDocument) {\n\tif (node.ownerDocument === newOwnerDocument) {\n\t\treturn;\n\t}\n\t\n\tnode.ownerDocument = newOwnerDocument;\n\t\n\t// Update attributes if this is an element\n\tif (node.nodeType === ELEMENT_NODE && node.attributes) {\n\t\tfor (var i = 0; i < node.attributes.length; i++) {\n\t\t\tvar attr = node.attributes.item(i);\n\t\t\tif (attr) {\n\t\t\t\tattr.ownerDocument = newOwnerDocument;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Recursively update child nodes\n\tvar child = node.firstChild;\n\twhile (child) {\n\t\t_updateOwnerDocument(child, newOwnerDocument);\n\t\tchild = child.nextSibling;\n\t}\n}\n\n/**\n * Appends `newChild` to `parentNode`.\n * If `newChild` is already connected to a `parentNode` it is first removed from it.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n * @param {Node} parentNode\n * @param {Node} newChild\n * @returns {Node}\n * @private\n */\nfunction _appendSingleChild (parentNode, newChild) {\n\tif (newChild.parentNode) {\n\t\tnewChild.parentNode.removeChild(newChild);\n\t}\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = parentNode.lastChild;\n\tnewChild.nextSibling = null;\n\tif (newChild.previousSibling) {\n\t\tnewChild.previousSibling.nextSibling = newChild;\n\t} else {\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode, newChild);\n\t\n\t// Update ownerDocument for the new child and all its descendants\n\tvar targetDoc = parentNode.ownerDocument || parentNode;\n\t_updateOwnerDocument(newChild, targetDoc);\n\t\n\treturn newChild;\n}\n\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\t/**\n\t * The DocumentType node of the document.\n\t *\n\t * @readonly\n\t * @type DocumentType\n\t */\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\n\tinsertBefore : function(newChild, refChild){//raises\n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\t_insertBefore(this, newChild, refChild);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\n\t\treturn newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\treplaceChild: function (newChild, oldChild) {\n\t\t//raises\n\t\t_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (oldChild) {\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t\tif (isElementNode(newChild)) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\n\t/**\n\t * The `getElementsByClassName` method of `Document` interface returns an array-like object\n\t * of all child elements which have **all** of the given class name(s).\n\t *\n\t * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters.\n\t *\n\t *\n\t * Warning: This is a live LiveNodeList.\n\t * Changes in the DOM will reflect in the array as the changes occur.\n\t * If an element selected by this array no longer qualifies for the selector,\n\t * it will automatically be removed. Be aware of this for iteration purposes.\n\t *\n\t * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName\n\t * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname\n\t */\n\tgetElementsByClassName: function(classNames) {\n\t\tvar classNamesSet = toOrderedSet(classNames)\n\t\treturn new LiveNodeList(this, function(base) {\n\t\t\tvar ls = [];\n\t\t\tif (classNamesSet.length > 0) {\n\t\t\t\t_visitNode(base.documentElement, function(node) {\n\t\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE) {\n\t\t\t\t\t\tvar nodeClassNames = node.getAttribute('class')\n\t\t\t\t\t\t// can be null if the attribute does not exist\n\t\t\t\t\t\tif (nodeClassNames) {\n\t\t\t\t\t\t\t// before splitting and iterating just compare them for the most common case\n\t\t\t\t\t\t\tvar matches = classNames === nodeClassNames;\n\t\t\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\t\t\tvar nodeClassNamesSet = toOrderedSet(nodeClassNames)\n\t\t\t\t\t\t\t\tmatches = classNamesSet.every(arrayIncludes(nodeClassNamesSet))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(matches) {\n\t\t\t\t\t\t\t\tls.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ls;\n\t\t});\n\t},\n\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.localName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.nodeName = node.target = target;\n\t\tnode.nodeValue = node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\n\nfunction needNamespaceDefine(node, isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix || '';\n\tvar uri = node.namespaceURI;\n\t// According to [Namespaces in XML 1.0](https://www.w3.org/TR/REC-xml-names/#ns-using) ,\n\t// and more specifically https://www.w3.org/TR/REC-xml-names/#nsc-NoPrefixUndecl :\n\t// > In a namespace declaration for a prefix [...], the attribute value MUST NOT be empty.\n\t// in a similar manner [Namespaces in XML 1.1](https://www.w3.org/TR/xml-names11/#ns-using)\n\t// and more specifically https://www.w3.org/TR/xml-names11/#nsc-NSDeclared :\n\t// > [...] Furthermore, the attribute value [...] must not be an empty string.\n\t// so serializing empty namespace value like xmlns:ds=\"\" would produce an invalid XML document.\n\tif (!uri) {\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) {\n\t\treturn false;\n\t}\n\n\tvar i = visibleNamespaces.length\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\tif (ns.prefix === prefix) {\n\t\t\treturn ns.namespace !== uri;\n\t\t}\n\t}\n\treturn true;\n}\n/**\n * Well-formed constraint: No < in Attribute Values\n * > The replacement text of any entity referred to directly or indirectly\n * > in an attribute value must not contain a <.\n * @see https://www.w3.org/TR/xml11/#CleanAttrVals\n * @see https://www.w3.org/TR/xml11/#NT-AttValue\n *\n * Literal whitespace other than space that appear in attribute values\n * are serialized as their entity references, so they will be preserved.\n * (In contrast to whitespace literals in the input which are normalized to spaces)\n * @see https://www.w3.org/TR/xml11/#AVNormalize\n * @see https://w3c.github.io/DOM-Parsing/#serializing-an-element-s-attributes\n */\nfunction addSerializedAttribute(buf, qualifiedName, value) {\n\tbuf.push(' ', qualifiedName, '=\"', value.replace(/[<>&\"\\t\\n\\r]/g, _xmlEncoder), '\"')\n}\n\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif (!visibleNamespaces) {\n\t\tvisibleNamespaces = [];\n\t}\n\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\n\t\tisHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML\n\n\t\tvar prefixedNodeName = nodeName\n\t\tif (!isHTML && !node.prefix && node.namespaceURI) {\n\t\t\tvar defaultNS\n\t\t\t// lookup current default ns from `xmlns` attribute\n\t\t\tfor (var ai = 0; ai < attrs.length; ai++) {\n\t\t\t\tif (attrs.item(ai).name === 'xmlns') {\n\t\t\t\t\tdefaultNS = attrs.item(ai).value\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!defaultNS) {\n\t\t\t\t// lookup current default ns in visibleNamespaces\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tdefaultNS = namespace.namespace\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (defaultNS !== node.namespaceURI) {\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tif (namespace.prefix) {\n\t\t\t\t\t\t\tprefixedNodeName = namespace.prefix + ':' + nodeName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuf.push('<', prefixedNodeName);\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\n\t\t// add namespace for current node\n\t\tif (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',prefixedNodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn addSerializedAttribute(buf, node.name, node.value);\n\tcase TEXT_NODE:\n\t\t/**\n\t\t * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,\n\t\t * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.\n\t\t * If they are needed elsewhere, they must be escaped using either numeric character references or the strings\n\t\t * `&` and `<` respectively.\n\t\t * The right angle bracket (>) may be represented using the string \" > \", and must, for compatibility,\n\t\t * be escaped using either `>` or a character reference when it appears in the string `]]>` in content,\n\t\t * when that string is not marking the end of a CDATA section.\n\t\t *\n\t\t * In the content of elements, character data is any string of characters\n\t\t * which does not contain the start-delimiter of any markup\n\t\t * and does not include the CDATA-section-close delimiter, `]]>`.\n\t\t *\n\t\t * @see https://www.w3.org/TR/xml/#NT-CharData\n\t\t * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node\n\t\t */\n\t\treturn buf.push(node.data\n\t\t\t.replace(/[<&>]/g,_xmlEncoder)\n\t\t);\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC ', pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push(' ', sysid);\n\t\t\t}\n\t\t\tbuf.push('>');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM ', sysid, '>');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor (var n in node) {\n\t\tif (Object.prototype.hasOwnProperty.call(node, n)) {\n\t\t\tvar v = node[n];\n\t\t\tif (typeof v != \"object\") {\n\t\t\t\tif (v != node2[n]) {\n\t\t\t\t\tnode2[n] = v;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DocumentType = DocumentType;\n\texports.DOMException = DOMException;\n\texports.DOMImplementation = DOMImplementation;\n\texports.Element = Element;\n\texports.Node = Node;\n\texports.NodeList = NodeList;\n\texports.XMLSerializer = XMLSerializer;\n//}\n","'use strict';\n\nvar freeze = require('./conventions').freeze;\n\n/**\n * The entities that are predefined in every XML document.\n *\n * @see https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent W3C XML 1.1\n * @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia\n */\nexports.XML_ENTITIES = freeze({\n\tamp: '&',\n\tapos: \"'\",\n\tgt: '>',\n\tlt: '<',\n\tquot: '\"',\n});\n\n/**\n * A map of all entities that are detected in an HTML document.\n * They contain all entries from `XML_ENTITIES`.\n *\n * @see XML_ENTITIES\n * @see DOMParser.parseFromString\n * @see DOMImplementation.prototype.createHTMLDocument\n * @see https://html.spec.whatwg.org/#named-character-references WHATWG HTML(5) Spec\n * @see https://html.spec.whatwg.org/entities.json JSON\n * @see https://www.w3.org/TR/xml-entity-names/ W3C XML Entity Names\n * @see https://www.w3.org/TR/html4/sgml/entities.html W3C HTML4/SGML\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)\n */\nexports.HTML_ENTITIES = freeze({\n\tAacute: '\\u00C1',\n\taacute: '\\u00E1',\n\tAbreve: '\\u0102',\n\tabreve: '\\u0103',\n\tac: '\\u223E',\n\tacd: '\\u223F',\n\tacE: '\\u223E\\u0333',\n\tAcirc: '\\u00C2',\n\tacirc: '\\u00E2',\n\tacute: '\\u00B4',\n\tAcy: '\\u0410',\n\tacy: '\\u0430',\n\tAElig: '\\u00C6',\n\taelig: '\\u00E6',\n\taf: '\\u2061',\n\tAfr: '\\uD835\\uDD04',\n\tafr: '\\uD835\\uDD1E',\n\tAgrave: '\\u00C0',\n\tagrave: '\\u00E0',\n\talefsym: '\\u2135',\n\taleph: '\\u2135',\n\tAlpha: '\\u0391',\n\talpha: '\\u03B1',\n\tAmacr: '\\u0100',\n\tamacr: '\\u0101',\n\tamalg: '\\u2A3F',\n\tAMP: '\\u0026',\n\tamp: '\\u0026',\n\tAnd: '\\u2A53',\n\tand: '\\u2227',\n\tandand: '\\u2A55',\n\tandd: '\\u2A5C',\n\tandslope: '\\u2A58',\n\tandv: '\\u2A5A',\n\tang: '\\u2220',\n\tange: '\\u29A4',\n\tangle: '\\u2220',\n\tangmsd: '\\u2221',\n\tangmsdaa: '\\u29A8',\n\tangmsdab: '\\u29A9',\n\tangmsdac: '\\u29AA',\n\tangmsdad: '\\u29AB',\n\tangmsdae: '\\u29AC',\n\tangmsdaf: '\\u29AD',\n\tangmsdag: '\\u29AE',\n\tangmsdah: '\\u29AF',\n\tangrt: '\\u221F',\n\tangrtvb: '\\u22BE',\n\tangrtvbd: '\\u299D',\n\tangsph: '\\u2222',\n\tangst: '\\u00C5',\n\tangzarr: '\\u237C',\n\tAogon: '\\u0104',\n\taogon: '\\u0105',\n\tAopf: '\\uD835\\uDD38',\n\taopf: '\\uD835\\uDD52',\n\tap: '\\u2248',\n\tapacir: '\\u2A6F',\n\tapE: '\\u2A70',\n\tape: '\\u224A',\n\tapid: '\\u224B',\n\tapos: '\\u0027',\n\tApplyFunction: '\\u2061',\n\tapprox: '\\u2248',\n\tapproxeq: '\\u224A',\n\tAring: '\\u00C5',\n\taring: '\\u00E5',\n\tAscr: '\\uD835\\uDC9C',\n\tascr: '\\uD835\\uDCB6',\n\tAssign: '\\u2254',\n\tast: '\\u002A',\n\tasymp: '\\u2248',\n\tasympeq: '\\u224D',\n\tAtilde: '\\u00C3',\n\tatilde: '\\u00E3',\n\tAuml: '\\u00C4',\n\tauml: '\\u00E4',\n\tawconint: '\\u2233',\n\tawint: '\\u2A11',\n\tbackcong: '\\u224C',\n\tbackepsilon: '\\u03F6',\n\tbackprime: '\\u2035',\n\tbacksim: '\\u223D',\n\tbacksimeq: '\\u22CD',\n\tBackslash: '\\u2216',\n\tBarv: '\\u2AE7',\n\tbarvee: '\\u22BD',\n\tBarwed: '\\u2306',\n\tbarwed: '\\u2305',\n\tbarwedge: '\\u2305',\n\tbbrk: '\\u23B5',\n\tbbrktbrk: '\\u23B6',\n\tbcong: '\\u224C',\n\tBcy: '\\u0411',\n\tbcy: '\\u0431',\n\tbdquo: '\\u201E',\n\tbecaus: '\\u2235',\n\tBecause: '\\u2235',\n\tbecause: '\\u2235',\n\tbemptyv: '\\u29B0',\n\tbepsi: '\\u03F6',\n\tbernou: '\\u212C',\n\tBernoullis: '\\u212C',\n\tBeta: '\\u0392',\n\tbeta: '\\u03B2',\n\tbeth: '\\u2136',\n\tbetween: '\\u226C',\n\tBfr: '\\uD835\\uDD05',\n\tbfr: '\\uD835\\uDD1F',\n\tbigcap: '\\u22C2',\n\tbigcirc: '\\u25EF',\n\tbigcup: '\\u22C3',\n\tbigodot: '\\u2A00',\n\tbigoplus: '\\u2A01',\n\tbigotimes: '\\u2A02',\n\tbigsqcup: '\\u2A06',\n\tbigstar: '\\u2605',\n\tbigtriangledown: '\\u25BD',\n\tbigtriangleup: '\\u25B3',\n\tbiguplus: '\\u2A04',\n\tbigvee: '\\u22C1',\n\tbigwedge: '\\u22C0',\n\tbkarow: '\\u290D',\n\tblacklozenge: '\\u29EB',\n\tblacksquare: '\\u25AA',\n\tblacktriangle: '\\u25B4',\n\tblacktriangledown: '\\u25BE',\n\tblacktriangleleft: '\\u25C2',\n\tblacktriangleright: '\\u25B8',\n\tblank: '\\u2423',\n\tblk12: '\\u2592',\n\tblk14: '\\u2591',\n\tblk34: '\\u2593',\n\tblock: '\\u2588',\n\tbne: '\\u003D\\u20E5',\n\tbnequiv: '\\u2261\\u20E5',\n\tbNot: '\\u2AED',\n\tbnot: '\\u2310',\n\tBopf: '\\uD835\\uDD39',\n\tbopf: '\\uD835\\uDD53',\n\tbot: '\\u22A5',\n\tbottom: '\\u22A5',\n\tbowtie: '\\u22C8',\n\tboxbox: '\\u29C9',\n\tboxDL: '\\u2557',\n\tboxDl: '\\u2556',\n\tboxdL: '\\u2555',\n\tboxdl: '\\u2510',\n\tboxDR: '\\u2554',\n\tboxDr: '\\u2553',\n\tboxdR: '\\u2552',\n\tboxdr: '\\u250C',\n\tboxH: '\\u2550',\n\tboxh: '\\u2500',\n\tboxHD: '\\u2566',\n\tboxHd: '\\u2564',\n\tboxhD: '\\u2565',\n\tboxhd: '\\u252C',\n\tboxHU: '\\u2569',\n\tboxHu: '\\u2567',\n\tboxhU: '\\u2568',\n\tboxhu: '\\u2534',\n\tboxminus: '\\u229F',\n\tboxplus: '\\u229E',\n\tboxtimes: '\\u22A0',\n\tboxUL: '\\u255D',\n\tboxUl: '\\u255C',\n\tboxuL: '\\u255B',\n\tboxul: '\\u2518',\n\tboxUR: '\\u255A',\n\tboxUr: '\\u2559',\n\tboxuR: '\\u2558',\n\tboxur: '\\u2514',\n\tboxV: '\\u2551',\n\tboxv: '\\u2502',\n\tboxVH: '\\u256C',\n\tboxVh: '\\u256B',\n\tboxvH: '\\u256A',\n\tboxvh: '\\u253C',\n\tboxVL: '\\u2563',\n\tboxVl: '\\u2562',\n\tboxvL: '\\u2561',\n\tboxvl: '\\u2524',\n\tboxVR: '\\u2560',\n\tboxVr: '\\u255F',\n\tboxvR: '\\u255E',\n\tboxvr: '\\u251C',\n\tbprime: '\\u2035',\n\tBreve: '\\u02D8',\n\tbreve: '\\u02D8',\n\tbrvbar: '\\u00A6',\n\tBscr: '\\u212C',\n\tbscr: '\\uD835\\uDCB7',\n\tbsemi: '\\u204F',\n\tbsim: '\\u223D',\n\tbsime: '\\u22CD',\n\tbsol: '\\u005C',\n\tbsolb: '\\u29C5',\n\tbsolhsub: '\\u27C8',\n\tbull: '\\u2022',\n\tbullet: '\\u2022',\n\tbump: '\\u224E',\n\tbumpE: '\\u2AAE',\n\tbumpe: '\\u224F',\n\tBumpeq: '\\u224E',\n\tbumpeq: '\\u224F',\n\tCacute: '\\u0106',\n\tcacute: '\\u0107',\n\tCap: '\\u22D2',\n\tcap: '\\u2229',\n\tcapand: '\\u2A44',\n\tcapbrcup: '\\u2A49',\n\tcapcap: '\\u2A4B',\n\tcapcup: '\\u2A47',\n\tcapdot: '\\u2A40',\n\tCapitalDifferentialD: '\\u2145',\n\tcaps: '\\u2229\\uFE00',\n\tcaret: '\\u2041',\n\tcaron: '\\u02C7',\n\tCayleys: '\\u212D',\n\tccaps: '\\u2A4D',\n\tCcaron: '\\u010C',\n\tccaron: '\\u010D',\n\tCcedil: '\\u00C7',\n\tccedil: '\\u00E7',\n\tCcirc: '\\u0108',\n\tccirc: '\\u0109',\n\tCconint: '\\u2230',\n\tccups: '\\u2A4C',\n\tccupssm: '\\u2A50',\n\tCdot: '\\u010A',\n\tcdot: '\\u010B',\n\tcedil: '\\u00B8',\n\tCedilla: '\\u00B8',\n\tcemptyv: '\\u29B2',\n\tcent: '\\u00A2',\n\tCenterDot: '\\u00B7',\n\tcenterdot: '\\u00B7',\n\tCfr: '\\u212D',\n\tcfr: '\\uD835\\uDD20',\n\tCHcy: '\\u0427',\n\tchcy: '\\u0447',\n\tcheck: '\\u2713',\n\tcheckmark: '\\u2713',\n\tChi: '\\u03A7',\n\tchi: '\\u03C7',\n\tcir: '\\u25CB',\n\tcirc: '\\u02C6',\n\tcirceq: '\\u2257',\n\tcirclearrowleft: '\\u21BA',\n\tcirclearrowright: '\\u21BB',\n\tcircledast: '\\u229B',\n\tcircledcirc: '\\u229A',\n\tcircleddash: '\\u229D',\n\tCircleDot: '\\u2299',\n\tcircledR: '\\u00AE',\n\tcircledS: '\\u24C8',\n\tCircleMinus: '\\u2296',\n\tCirclePlus: '\\u2295',\n\tCircleTimes: '\\u2297',\n\tcirE: '\\u29C3',\n\tcire: '\\u2257',\n\tcirfnint: '\\u2A10',\n\tcirmid: '\\u2AEF',\n\tcirscir: '\\u29C2',\n\tClockwiseContourIntegral: '\\u2232',\n\tCloseCurlyDoubleQuote: '\\u201D',\n\tCloseCurlyQuote: '\\u2019',\n\tclubs: '\\u2663',\n\tclubsuit: '\\u2663',\n\tColon: '\\u2237',\n\tcolon: '\\u003A',\n\tColone: '\\u2A74',\n\tcolone: '\\u2254',\n\tcoloneq: '\\u2254',\n\tcomma: '\\u002C',\n\tcommat: '\\u0040',\n\tcomp: '\\u2201',\n\tcompfn: '\\u2218',\n\tcomplement: '\\u2201',\n\tcomplexes: '\\u2102',\n\tcong: '\\u2245',\n\tcongdot: '\\u2A6D',\n\tCongruent: '\\u2261',\n\tConint: '\\u222F',\n\tconint: '\\u222E',\n\tContourIntegral: '\\u222E',\n\tCopf: '\\u2102',\n\tcopf: '\\uD835\\uDD54',\n\tcoprod: '\\u2210',\n\tCoproduct: '\\u2210',\n\tCOPY: '\\u00A9',\n\tcopy: '\\u00A9',\n\tcopysr: '\\u2117',\n\tCounterClockwiseContourIntegral: '\\u2233',\n\tcrarr: '\\u21B5',\n\tCross: '\\u2A2F',\n\tcross: '\\u2717',\n\tCscr: '\\uD835\\uDC9E',\n\tcscr: '\\uD835\\uDCB8',\n\tcsub: '\\u2ACF',\n\tcsube: '\\u2AD1',\n\tcsup: '\\u2AD0',\n\tcsupe: '\\u2AD2',\n\tctdot: '\\u22EF',\n\tcudarrl: '\\u2938',\n\tcudarrr: '\\u2935',\n\tcuepr: '\\u22DE',\n\tcuesc: '\\u22DF',\n\tcularr: '\\u21B6',\n\tcularrp: '\\u293D',\n\tCup: '\\u22D3',\n\tcup: '\\u222A',\n\tcupbrcap: '\\u2A48',\n\tCupCap: '\\u224D',\n\tcupcap: '\\u2A46',\n\tcupcup: '\\u2A4A',\n\tcupdot: '\\u228D',\n\tcupor: '\\u2A45',\n\tcups: '\\u222A\\uFE00',\n\tcurarr: '\\u21B7',\n\tcurarrm: '\\u293C',\n\tcurlyeqprec: '\\u22DE',\n\tcurlyeqsucc: '\\u22DF',\n\tcurlyvee: '\\u22CE',\n\tcurlywedge: '\\u22CF',\n\tcurren: '\\u00A4',\n\tcurvearrowleft: '\\u21B6',\n\tcurvearrowright: '\\u21B7',\n\tcuvee: '\\u22CE',\n\tcuwed: '\\u22CF',\n\tcwconint: '\\u2232',\n\tcwint: '\\u2231',\n\tcylcty: '\\u232D',\n\tDagger: '\\u2021',\n\tdagger: '\\u2020',\n\tdaleth: '\\u2138',\n\tDarr: '\\u21A1',\n\tdArr: '\\u21D3',\n\tdarr: '\\u2193',\n\tdash: '\\u2010',\n\tDashv: '\\u2AE4',\n\tdashv: '\\u22A3',\n\tdbkarow: '\\u290F',\n\tdblac: '\\u02DD',\n\tDcaron: '\\u010E',\n\tdcaron: '\\u010F',\n\tDcy: '\\u0414',\n\tdcy: '\\u0434',\n\tDD: '\\u2145',\n\tdd: '\\u2146',\n\tddagger: '\\u2021',\n\tddarr: '\\u21CA',\n\tDDotrahd: '\\u2911',\n\tddotseq: '\\u2A77',\n\tdeg: '\\u00B0',\n\tDel: '\\u2207',\n\tDelta: '\\u0394',\n\tdelta: '\\u03B4',\n\tdemptyv: '\\u29B1',\n\tdfisht: '\\u297F',\n\tDfr: '\\uD835\\uDD07',\n\tdfr: '\\uD835\\uDD21',\n\tdHar: '\\u2965',\n\tdharl: '\\u21C3',\n\tdharr: '\\u21C2',\n\tDiacriticalAcute: '\\u00B4',\n\tDiacriticalDot: '\\u02D9',\n\tDiacriticalDoubleAcute: '\\u02DD',\n\tDiacriticalGrave: '\\u0060',\n\tDiacriticalTilde: '\\u02DC',\n\tdiam: '\\u22C4',\n\tDiamond: '\\u22C4',\n\tdiamond: '\\u22C4',\n\tdiamondsuit: '\\u2666',\n\tdiams: '\\u2666',\n\tdie: '\\u00A8',\n\tDifferentialD: '\\u2146',\n\tdigamma: '\\u03DD',\n\tdisin: '\\u22F2',\n\tdiv: '\\u00F7',\n\tdivide: '\\u00F7',\n\tdivideontimes: '\\u22C7',\n\tdivonx: '\\u22C7',\n\tDJcy: '\\u0402',\n\tdjcy: '\\u0452',\n\tdlcorn: '\\u231E',\n\tdlcrop: '\\u230D',\n\tdollar: '\\u0024',\n\tDopf: '\\uD835\\uDD3B',\n\tdopf: '\\uD835\\uDD55',\n\tDot: '\\u00A8',\n\tdot: '\\u02D9',\n\tDotDot: '\\u20DC',\n\tdoteq: '\\u2250',\n\tdoteqdot: '\\u2251',\n\tDotEqual: '\\u2250',\n\tdotminus: '\\u2238',\n\tdotplus: '\\u2214',\n\tdotsquare: '\\u22A1',\n\tdoublebarwedge: '\\u2306',\n\tDoubleContourIntegral: '\\u222F',\n\tDoubleDot: '\\u00A8',\n\tDoubleDownArrow: '\\u21D3',\n\tDoubleLeftArrow: '\\u21D0',\n\tDoubleLeftRightArrow: '\\u21D4',\n\tDoubleLeftTee: '\\u2AE4',\n\tDoubleLongLeftArrow: '\\u27F8',\n\tDoubleLongLeftRightArrow: '\\u27FA',\n\tDoubleLongRightArrow: '\\u27F9',\n\tDoubleRightArrow: '\\u21D2',\n\tDoubleRightTee: '\\u22A8',\n\tDoubleUpArrow: '\\u21D1',\n\tDoubleUpDownArrow: '\\u21D5',\n\tDoubleVerticalBar: '\\u2225',\n\tDownArrow: '\\u2193',\n\tDownarrow: '\\u21D3',\n\tdownarrow: '\\u2193',\n\tDownArrowBar: '\\u2913',\n\tDownArrowUpArrow: '\\u21F5',\n\tDownBreve: '\\u0311',\n\tdowndownarrows: '\\u21CA',\n\tdownharpoonleft: '\\u21C3',\n\tdownharpoonright: '\\u21C2',\n\tDownLeftRightVector: '\\u2950',\n\tDownLeftTeeVector: '\\u295E',\n\tDownLeftVector: '\\u21BD',\n\tDownLeftVectorBar: '\\u2956',\n\tDownRightTeeVector: '\\u295F',\n\tDownRightVector: '\\u21C1',\n\tDownRightVectorBar: '\\u2957',\n\tDownTee: '\\u22A4',\n\tDownTeeArrow: '\\u21A7',\n\tdrbkarow: '\\u2910',\n\tdrcorn: '\\u231F',\n\tdrcrop: '\\u230C',\n\tDscr: '\\uD835\\uDC9F',\n\tdscr: '\\uD835\\uDCB9',\n\tDScy: '\\u0405',\n\tdscy: '\\u0455',\n\tdsol: '\\u29F6',\n\tDstrok: '\\u0110',\n\tdstrok: '\\u0111',\n\tdtdot: '\\u22F1',\n\tdtri: '\\u25BF',\n\tdtrif: '\\u25BE',\n\tduarr: '\\u21F5',\n\tduhar: '\\u296F',\n\tdwangle: '\\u29A6',\n\tDZcy: '\\u040F',\n\tdzcy: '\\u045F',\n\tdzigrarr: '\\u27FF',\n\tEacute: '\\u00C9',\n\teacute: '\\u00E9',\n\teaster: '\\u2A6E',\n\tEcaron: '\\u011A',\n\tecaron: '\\u011B',\n\tecir: '\\u2256',\n\tEcirc: '\\u00CA',\n\tecirc: '\\u00EA',\n\tecolon: '\\u2255',\n\tEcy: '\\u042D',\n\tecy: '\\u044D',\n\teDDot: '\\u2A77',\n\tEdot: '\\u0116',\n\teDot: '\\u2251',\n\tedot: '\\u0117',\n\tee: '\\u2147',\n\tefDot: '\\u2252',\n\tEfr: '\\uD835\\uDD08',\n\tefr: '\\uD835\\uDD22',\n\teg: '\\u2A9A',\n\tEgrave: '\\u00C8',\n\tegrave: '\\u00E8',\n\tegs: '\\u2A96',\n\tegsdot: '\\u2A98',\n\tel: '\\u2A99',\n\tElement: '\\u2208',\n\telinters: '\\u23E7',\n\tell: '\\u2113',\n\tels: '\\u2A95',\n\telsdot: '\\u2A97',\n\tEmacr: '\\u0112',\n\temacr: '\\u0113',\n\tempty: '\\u2205',\n\temptyset: '\\u2205',\n\tEmptySmallSquare: '\\u25FB',\n\temptyv: '\\u2205',\n\tEmptyVerySmallSquare: '\\u25AB',\n\temsp: '\\u2003',\n\temsp13: '\\u2004',\n\temsp14: '\\u2005',\n\tENG: '\\u014A',\n\teng: '\\u014B',\n\tensp: '\\u2002',\n\tEogon: '\\u0118',\n\teogon: '\\u0119',\n\tEopf: '\\uD835\\uDD3C',\n\teopf: '\\uD835\\uDD56',\n\tepar: '\\u22D5',\n\teparsl: '\\u29E3',\n\teplus: '\\u2A71',\n\tepsi: '\\u03B5',\n\tEpsilon: '\\u0395',\n\tepsilon: '\\u03B5',\n\tepsiv: '\\u03F5',\n\teqcirc: '\\u2256',\n\teqcolon: '\\u2255',\n\teqsim: '\\u2242',\n\teqslantgtr: '\\u2A96',\n\teqslantless: '\\u2A95',\n\tEqual: '\\u2A75',\n\tequals: '\\u003D',\n\tEqualTilde: '\\u2242',\n\tequest: '\\u225F',\n\tEquilibrium: '\\u21CC',\n\tequiv: '\\u2261',\n\tequivDD: '\\u2A78',\n\teqvparsl: '\\u29E5',\n\terarr: '\\u2971',\n\terDot: '\\u2253',\n\tEscr: '\\u2130',\n\tescr: '\\u212F',\n\tesdot: '\\u2250',\n\tEsim: '\\u2A73',\n\tesim: '\\u2242',\n\tEta: '\\u0397',\n\teta: '\\u03B7',\n\tETH: '\\u00D0',\n\teth: '\\u00F0',\n\tEuml: '\\u00CB',\n\teuml: '\\u00EB',\n\teuro: '\\u20AC',\n\texcl: '\\u0021',\n\texist: '\\u2203',\n\tExists: '\\u2203',\n\texpectation: '\\u2130',\n\tExponentialE: '\\u2147',\n\texponentiale: '\\u2147',\n\tfallingdotseq: '\\u2252',\n\tFcy: '\\u0424',\n\tfcy: '\\u0444',\n\tfemale: '\\u2640',\n\tffilig: '\\uFB03',\n\tfflig: '\\uFB00',\n\tffllig: '\\uFB04',\n\tFfr: '\\uD835\\uDD09',\n\tffr: '\\uD835\\uDD23',\n\tfilig: '\\uFB01',\n\tFilledSmallSquare: '\\u25FC',\n\tFilledVerySmallSquare: '\\u25AA',\n\tfjlig: '\\u0066\\u006A',\n\tflat: '\\u266D',\n\tfllig: '\\uFB02',\n\tfltns: '\\u25B1',\n\tfnof: '\\u0192',\n\tFopf: '\\uD835\\uDD3D',\n\tfopf: '\\uD835\\uDD57',\n\tForAll: '\\u2200',\n\tforall: '\\u2200',\n\tfork: '\\u22D4',\n\tforkv: '\\u2AD9',\n\tFouriertrf: '\\u2131',\n\tfpartint: '\\u2A0D',\n\tfrac12: '\\u00BD',\n\tfrac13: '\\u2153',\n\tfrac14: '\\u00BC',\n\tfrac15: '\\u2155',\n\tfrac16: '\\u2159',\n\tfrac18: '\\u215B',\n\tfrac23: '\\u2154',\n\tfrac25: '\\u2156',\n\tfrac34: '\\u00BE',\n\tfrac35: '\\u2157',\n\tfrac38: '\\u215C',\n\tfrac45: '\\u2158',\n\tfrac56: '\\u215A',\n\tfrac58: '\\u215D',\n\tfrac78: '\\u215E',\n\tfrasl: '\\u2044',\n\tfrown: '\\u2322',\n\tFscr: '\\u2131',\n\tfscr: '\\uD835\\uDCBB',\n\tgacute: '\\u01F5',\n\tGamma: '\\u0393',\n\tgamma: '\\u03B3',\n\tGammad: '\\u03DC',\n\tgammad: '\\u03DD',\n\tgap: '\\u2A86',\n\tGbreve: '\\u011E',\n\tgbreve: '\\u011F',\n\tGcedil: '\\u0122',\n\tGcirc: '\\u011C',\n\tgcirc: '\\u011D',\n\tGcy: '\\u0413',\n\tgcy: '\\u0433',\n\tGdot: '\\u0120',\n\tgdot: '\\u0121',\n\tgE: '\\u2267',\n\tge: '\\u2265',\n\tgEl: '\\u2A8C',\n\tgel: '\\u22DB',\n\tgeq: '\\u2265',\n\tgeqq: '\\u2267',\n\tgeqslant: '\\u2A7E',\n\tges: '\\u2A7E',\n\tgescc: '\\u2AA9',\n\tgesdot: '\\u2A80',\n\tgesdoto: '\\u2A82',\n\tgesdotol: '\\u2A84',\n\tgesl: '\\u22DB\\uFE00',\n\tgesles: '\\u2A94',\n\tGfr: '\\uD835\\uDD0A',\n\tgfr: '\\uD835\\uDD24',\n\tGg: '\\u22D9',\n\tgg: '\\u226B',\n\tggg: '\\u22D9',\n\tgimel: '\\u2137',\n\tGJcy: '\\u0403',\n\tgjcy: '\\u0453',\n\tgl: '\\u2277',\n\tgla: '\\u2AA5',\n\tglE: '\\u2A92',\n\tglj: '\\u2AA4',\n\tgnap: '\\u2A8A',\n\tgnapprox: '\\u2A8A',\n\tgnE: '\\u2269',\n\tgne: '\\u2A88',\n\tgneq: '\\u2A88',\n\tgneqq: '\\u2269',\n\tgnsim: '\\u22E7',\n\tGopf: '\\uD835\\uDD3E',\n\tgopf: '\\uD835\\uDD58',\n\tgrave: '\\u0060',\n\tGreaterEqual: '\\u2265',\n\tGreaterEqualLess: '\\u22DB',\n\tGreaterFullEqual: '\\u2267',\n\tGreaterGreater: '\\u2AA2',\n\tGreaterLess: '\\u2277',\n\tGreaterSlantEqual: '\\u2A7E',\n\tGreaterTilde: '\\u2273',\n\tGscr: '\\uD835\\uDCA2',\n\tgscr: '\\u210A',\n\tgsim: '\\u2273',\n\tgsime: '\\u2A8E',\n\tgsiml: '\\u2A90',\n\tGt: '\\u226B',\n\tGT: '\\u003E',\n\tgt: '\\u003E',\n\tgtcc: '\\u2AA7',\n\tgtcir: '\\u2A7A',\n\tgtdot: '\\u22D7',\n\tgtlPar: '\\u2995',\n\tgtquest: '\\u2A7C',\n\tgtrapprox: '\\u2A86',\n\tgtrarr: '\\u2978',\n\tgtrdot: '\\u22D7',\n\tgtreqless: '\\u22DB',\n\tgtreqqless: '\\u2A8C',\n\tgtrless: '\\u2277',\n\tgtrsim: '\\u2273',\n\tgvertneqq: '\\u2269\\uFE00',\n\tgvnE: '\\u2269\\uFE00',\n\tHacek: '\\u02C7',\n\thairsp: '\\u200A',\n\thalf: '\\u00BD',\n\thamilt: '\\u210B',\n\tHARDcy: '\\u042A',\n\thardcy: '\\u044A',\n\thArr: '\\u21D4',\n\tharr: '\\u2194',\n\tharrcir: '\\u2948',\n\tharrw: '\\u21AD',\n\tHat: '\\u005E',\n\thbar: '\\u210F',\n\tHcirc: '\\u0124',\n\thcirc: '\\u0125',\n\thearts: '\\u2665',\n\theartsuit: '\\u2665',\n\thellip: '\\u2026',\n\thercon: '\\u22B9',\n\tHfr: '\\u210C',\n\thfr: '\\uD835\\uDD25',\n\tHilbertSpace: '\\u210B',\n\thksearow: '\\u2925',\n\thkswarow: '\\u2926',\n\thoarr: '\\u21FF',\n\thomtht: '\\u223B',\n\thookleftarrow: '\\u21A9',\n\thookrightarrow: '\\u21AA',\n\tHopf: '\\u210D',\n\thopf: '\\uD835\\uDD59',\n\thorbar: '\\u2015',\n\tHorizontalLine: '\\u2500',\n\tHscr: '\\u210B',\n\thscr: '\\uD835\\uDCBD',\n\thslash: '\\u210F',\n\tHstrok: '\\u0126',\n\thstrok: '\\u0127',\n\tHumpDownHump: '\\u224E',\n\tHumpEqual: '\\u224F',\n\thybull: '\\u2043',\n\thyphen: '\\u2010',\n\tIacute: '\\u00CD',\n\tiacute: '\\u00ED',\n\tic: '\\u2063',\n\tIcirc: '\\u00CE',\n\ticirc: '\\u00EE',\n\tIcy: '\\u0418',\n\ticy: '\\u0438',\n\tIdot: '\\u0130',\n\tIEcy: '\\u0415',\n\tiecy: '\\u0435',\n\tiexcl: '\\u00A1',\n\tiff: '\\u21D4',\n\tIfr: '\\u2111',\n\tifr: '\\uD835\\uDD26',\n\tIgrave: '\\u00CC',\n\tigrave: '\\u00EC',\n\tii: '\\u2148',\n\tiiiint: '\\u2A0C',\n\tiiint: '\\u222D',\n\tiinfin: '\\u29DC',\n\tiiota: '\\u2129',\n\tIJlig: '\\u0132',\n\tijlig: '\\u0133',\n\tIm: '\\u2111',\n\tImacr: '\\u012A',\n\timacr: '\\u012B',\n\timage: '\\u2111',\n\tImaginaryI: '\\u2148',\n\timagline: '\\u2110',\n\timagpart: '\\u2111',\n\timath: '\\u0131',\n\timof: '\\u22B7',\n\timped: '\\u01B5',\n\tImplies: '\\u21D2',\n\tin: '\\u2208',\n\tincare: '\\u2105',\n\tinfin: '\\u221E',\n\tinfintie: '\\u29DD',\n\tinodot: '\\u0131',\n\tInt: '\\u222C',\n\tint: '\\u222B',\n\tintcal: '\\u22BA',\n\tintegers: '\\u2124',\n\tIntegral: '\\u222B',\n\tintercal: '\\u22BA',\n\tIntersection: '\\u22C2',\n\tintlarhk: '\\u2A17',\n\tintprod: '\\u2A3C',\n\tInvisibleComma: '\\u2063',\n\tInvisibleTimes: '\\u2062',\n\tIOcy: '\\u0401',\n\tiocy: '\\u0451',\n\tIogon: '\\u012E',\n\tiogon: '\\u012F',\n\tIopf: '\\uD835\\uDD40',\n\tiopf: '\\uD835\\uDD5A',\n\tIota: '\\u0399',\n\tiota: '\\u03B9',\n\tiprod: '\\u2A3C',\n\tiquest: '\\u00BF',\n\tIscr: '\\u2110',\n\tiscr: '\\uD835\\uDCBE',\n\tisin: '\\u2208',\n\tisindot: '\\u22F5',\n\tisinE: '\\u22F9',\n\tisins: '\\u22F4',\n\tisinsv: '\\u22F3',\n\tisinv: '\\u2208',\n\tit: '\\u2062',\n\tItilde: '\\u0128',\n\titilde: '\\u0129',\n\tIukcy: '\\u0406',\n\tiukcy: '\\u0456',\n\tIuml: '\\u00CF',\n\tiuml: '\\u00EF',\n\tJcirc: '\\u0134',\n\tjcirc: '\\u0135',\n\tJcy: '\\u0419',\n\tjcy: '\\u0439',\n\tJfr: '\\uD835\\uDD0D',\n\tjfr: '\\uD835\\uDD27',\n\tjmath: '\\u0237',\n\tJopf: '\\uD835\\uDD41',\n\tjopf: '\\uD835\\uDD5B',\n\tJscr: '\\uD835\\uDCA5',\n\tjscr: '\\uD835\\uDCBF',\n\tJsercy: '\\u0408',\n\tjsercy: '\\u0458',\n\tJukcy: '\\u0404',\n\tjukcy: '\\u0454',\n\tKappa: '\\u039A',\n\tkappa: '\\u03BA',\n\tkappav: '\\u03F0',\n\tKcedil: '\\u0136',\n\tkcedil: '\\u0137',\n\tKcy: '\\u041A',\n\tkcy: '\\u043A',\n\tKfr: '\\uD835\\uDD0E',\n\tkfr: '\\uD835\\uDD28',\n\tkgreen: '\\u0138',\n\tKHcy: '\\u0425',\n\tkhcy: '\\u0445',\n\tKJcy: '\\u040C',\n\tkjcy: '\\u045C',\n\tKopf: '\\uD835\\uDD42',\n\tkopf: '\\uD835\\uDD5C',\n\tKscr: '\\uD835\\uDCA6',\n\tkscr: '\\uD835\\uDCC0',\n\tlAarr: '\\u21DA',\n\tLacute: '\\u0139',\n\tlacute: '\\u013A',\n\tlaemptyv: '\\u29B4',\n\tlagran: '\\u2112',\n\tLambda: '\\u039B',\n\tlambda: '\\u03BB',\n\tLang: '\\u27EA',\n\tlang: '\\u27E8',\n\tlangd: '\\u2991',\n\tlangle: '\\u27E8',\n\tlap: '\\u2A85',\n\tLaplacetrf: '\\u2112',\n\tlaquo: '\\u00AB',\n\tLarr: '\\u219E',\n\tlArr: '\\u21D0',\n\tlarr: '\\u2190',\n\tlarrb: '\\u21E4',\n\tlarrbfs: '\\u291F',\n\tlarrfs: '\\u291D',\n\tlarrhk: '\\u21A9',\n\tlarrlp: '\\u21AB',\n\tlarrpl: '\\u2939',\n\tlarrsim: '\\u2973',\n\tlarrtl: '\\u21A2',\n\tlat: '\\u2AAB',\n\tlAtail: '\\u291B',\n\tlatail: '\\u2919',\n\tlate: '\\u2AAD',\n\tlates: '\\u2AAD\\uFE00',\n\tlBarr: '\\u290E',\n\tlbarr: '\\u290C',\n\tlbbrk: '\\u2772',\n\tlbrace: '\\u007B',\n\tlbrack: '\\u005B',\n\tlbrke: '\\u298B',\n\tlbrksld: '\\u298F',\n\tlbrkslu: '\\u298D',\n\tLcaron: '\\u013D',\n\tlcaron: '\\u013E',\n\tLcedil: '\\u013B',\n\tlcedil: '\\u013C',\n\tlceil: '\\u2308',\n\tlcub: '\\u007B',\n\tLcy: '\\u041B',\n\tlcy: '\\u043B',\n\tldca: '\\u2936',\n\tldquo: '\\u201C',\n\tldquor: '\\u201E',\n\tldrdhar: '\\u2967',\n\tldrushar: '\\u294B',\n\tldsh: '\\u21B2',\n\tlE: '\\u2266',\n\tle: '\\u2264',\n\tLeftAngleBracket: '\\u27E8',\n\tLeftArrow: '\\u2190',\n\tLeftarrow: '\\u21D0',\n\tleftarrow: '\\u2190',\n\tLeftArrowBar: '\\u21E4',\n\tLeftArrowRightArrow: '\\u21C6',\n\tleftarrowtail: '\\u21A2',\n\tLeftCeiling: '\\u2308',\n\tLeftDoubleBracket: '\\u27E6',\n\tLeftDownTeeVector: '\\u2961',\n\tLeftDownVector: '\\u21C3',\n\tLeftDownVectorBar: '\\u2959',\n\tLeftFloor: '\\u230A',\n\tleftharpoondown: '\\u21BD',\n\tleftharpoonup: '\\u21BC',\n\tleftleftarrows: '\\u21C7',\n\tLeftRightArrow: '\\u2194',\n\tLeftrightarrow: '\\u21D4',\n\tleftrightarrow: '\\u2194',\n\tleftrightarrows: '\\u21C6',\n\tleftrightharpoons: '\\u21CB',\n\tleftrightsquigarrow: '\\u21AD',\n\tLeftRightVector: '\\u294E',\n\tLeftTee: '\\u22A3',\n\tLeftTeeArrow: '\\u21A4',\n\tLeftTeeVector: '\\u295A',\n\tleftthreetimes: '\\u22CB',\n\tLeftTriangle: '\\u22B2',\n\tLeftTriangleBar: '\\u29CF',\n\tLeftTriangleEqual: '\\u22B4',\n\tLeftUpDownVector: '\\u2951',\n\tLeftUpTeeVector: '\\u2960',\n\tLeftUpVector: '\\u21BF',\n\tLeftUpVectorBar: '\\u2958',\n\tLeftVector: '\\u21BC',\n\tLeftVectorBar: '\\u2952',\n\tlEg: '\\u2A8B',\n\tleg: '\\u22DA',\n\tleq: '\\u2264',\n\tleqq: '\\u2266',\n\tleqslant: '\\u2A7D',\n\tles: '\\u2A7D',\n\tlescc: '\\u2AA8',\n\tlesdot: '\\u2A7F',\n\tlesdoto: '\\u2A81',\n\tlesdotor: '\\u2A83',\n\tlesg: '\\u22DA\\uFE00',\n\tlesges: '\\u2A93',\n\tlessapprox: '\\u2A85',\n\tlessdot: '\\u22D6',\n\tlesseqgtr: '\\u22DA',\n\tlesseqqgtr: '\\u2A8B',\n\tLessEqualGreater: '\\u22DA',\n\tLessFullEqual: '\\u2266',\n\tLessGreater: '\\u2276',\n\tlessgtr: '\\u2276',\n\tLessLess: '\\u2AA1',\n\tlesssim: '\\u2272',\n\tLessSlantEqual: '\\u2A7D',\n\tLessTilde: '\\u2272',\n\tlfisht: '\\u297C',\n\tlfloor: '\\u230A',\n\tLfr: '\\uD835\\uDD0F',\n\tlfr: '\\uD835\\uDD29',\n\tlg: '\\u2276',\n\tlgE: '\\u2A91',\n\tlHar: '\\u2962',\n\tlhard: '\\u21BD',\n\tlharu: '\\u21BC',\n\tlharul: '\\u296A',\n\tlhblk: '\\u2584',\n\tLJcy: '\\u0409',\n\tljcy: '\\u0459',\n\tLl: '\\u22D8',\n\tll: '\\u226A',\n\tllarr: '\\u21C7',\n\tllcorner: '\\u231E',\n\tLleftarrow: '\\u21DA',\n\tllhard: '\\u296B',\n\tlltri: '\\u25FA',\n\tLmidot: '\\u013F',\n\tlmidot: '\\u0140',\n\tlmoust: '\\u23B0',\n\tlmoustache: '\\u23B0',\n\tlnap: '\\u2A89',\n\tlnapprox: '\\u2A89',\n\tlnE: '\\u2268',\n\tlne: '\\u2A87',\n\tlneq: '\\u2A87',\n\tlneqq: '\\u2268',\n\tlnsim: '\\u22E6',\n\tloang: '\\u27EC',\n\tloarr: '\\u21FD',\n\tlobrk: '\\u27E6',\n\tLongLeftArrow: '\\u27F5',\n\tLongleftarrow: '\\u27F8',\n\tlongleftarrow: '\\u27F5',\n\tLongLeftRightArrow: '\\u27F7',\n\tLongleftrightarrow: '\\u27FA',\n\tlongleftrightarrow: '\\u27F7',\n\tlongmapsto: '\\u27FC',\n\tLongRightArrow: '\\u27F6',\n\tLongrightarrow: '\\u27F9',\n\tlongrightarrow: '\\u27F6',\n\tlooparrowleft: '\\u21AB',\n\tlooparrowright: '\\u21AC',\n\tlopar: '\\u2985',\n\tLopf: '\\uD835\\uDD43',\n\tlopf: '\\uD835\\uDD5D',\n\tloplus: '\\u2A2D',\n\tlotimes: '\\u2A34',\n\tlowast: '\\u2217',\n\tlowbar: '\\u005F',\n\tLowerLeftArrow: '\\u2199',\n\tLowerRightArrow: '\\u2198',\n\tloz: '\\u25CA',\n\tlozenge: '\\u25CA',\n\tlozf: '\\u29EB',\n\tlpar: '\\u0028',\n\tlparlt: '\\u2993',\n\tlrarr: '\\u21C6',\n\tlrcorner: '\\u231F',\n\tlrhar: '\\u21CB',\n\tlrhard: '\\u296D',\n\tlrm: '\\u200E',\n\tlrtri: '\\u22BF',\n\tlsaquo: '\\u2039',\n\tLscr: '\\u2112',\n\tlscr: '\\uD835\\uDCC1',\n\tLsh: '\\u21B0',\n\tlsh: '\\u21B0',\n\tlsim: '\\u2272',\n\tlsime: '\\u2A8D',\n\tlsimg: '\\u2A8F',\n\tlsqb: '\\u005B',\n\tlsquo: '\\u2018',\n\tlsquor: '\\u201A',\n\tLstrok: '\\u0141',\n\tlstrok: '\\u0142',\n\tLt: '\\u226A',\n\tLT: '\\u003C',\n\tlt: '\\u003C',\n\tltcc: '\\u2AA6',\n\tltcir: '\\u2A79',\n\tltdot: '\\u22D6',\n\tlthree: '\\u22CB',\n\tltimes: '\\u22C9',\n\tltlarr: '\\u2976',\n\tltquest: '\\u2A7B',\n\tltri: '\\u25C3',\n\tltrie: '\\u22B4',\n\tltrif: '\\u25C2',\n\tltrPar: '\\u2996',\n\tlurdshar: '\\u294A',\n\tluruhar: '\\u2966',\n\tlvertneqq: '\\u2268\\uFE00',\n\tlvnE: '\\u2268\\uFE00',\n\tmacr: '\\u00AF',\n\tmale: '\\u2642',\n\tmalt: '\\u2720',\n\tmaltese: '\\u2720',\n\tMap: '\\u2905',\n\tmap: '\\u21A6',\n\tmapsto: '\\u21A6',\n\tmapstodown: '\\u21A7',\n\tmapstoleft: '\\u21A4',\n\tmapstoup: '\\u21A5',\n\tmarker: '\\u25AE',\n\tmcomma: '\\u2A29',\n\tMcy: '\\u041C',\n\tmcy: '\\u043C',\n\tmdash: '\\u2014',\n\tmDDot: '\\u223A',\n\tmeasuredangle: '\\u2221',\n\tMediumSpace: '\\u205F',\n\tMellintrf: '\\u2133',\n\tMfr: '\\uD835\\uDD10',\n\tmfr: '\\uD835\\uDD2A',\n\tmho: '\\u2127',\n\tmicro: '\\u00B5',\n\tmid: '\\u2223',\n\tmidast: '\\u002A',\n\tmidcir: '\\u2AF0',\n\tmiddot: '\\u00B7',\n\tminus: '\\u2212',\n\tminusb: '\\u229F',\n\tminusd: '\\u2238',\n\tminusdu: '\\u2A2A',\n\tMinusPlus: '\\u2213',\n\tmlcp: '\\u2ADB',\n\tmldr: '\\u2026',\n\tmnplus: '\\u2213',\n\tmodels: '\\u22A7',\n\tMopf: '\\uD835\\uDD44',\n\tmopf: '\\uD835\\uDD5E',\n\tmp: '\\u2213',\n\tMscr: '\\u2133',\n\tmscr: '\\uD835\\uDCC2',\n\tmstpos: '\\u223E',\n\tMu: '\\u039C',\n\tmu: '\\u03BC',\n\tmultimap: '\\u22B8',\n\tmumap: '\\u22B8',\n\tnabla: '\\u2207',\n\tNacute: '\\u0143',\n\tnacute: '\\u0144',\n\tnang: '\\u2220\\u20D2',\n\tnap: '\\u2249',\n\tnapE: '\\u2A70\\u0338',\n\tnapid: '\\u224B\\u0338',\n\tnapos: '\\u0149',\n\tnapprox: '\\u2249',\n\tnatur: '\\u266E',\n\tnatural: '\\u266E',\n\tnaturals: '\\u2115',\n\tnbsp: '\\u00A0',\n\tnbump: '\\u224E\\u0338',\n\tnbumpe: '\\u224F\\u0338',\n\tncap: '\\u2A43',\n\tNcaron: '\\u0147',\n\tncaron: '\\u0148',\n\tNcedil: '\\u0145',\n\tncedil: '\\u0146',\n\tncong: '\\u2247',\n\tncongdot: '\\u2A6D\\u0338',\n\tncup: '\\u2A42',\n\tNcy: '\\u041D',\n\tncy: '\\u043D',\n\tndash: '\\u2013',\n\tne: '\\u2260',\n\tnearhk: '\\u2924',\n\tneArr: '\\u21D7',\n\tnearr: '\\u2197',\n\tnearrow: '\\u2197',\n\tnedot: '\\u2250\\u0338',\n\tNegativeMediumSpace: '\\u200B',\n\tNegativeThickSpace: '\\u200B',\n\tNegativeThinSpace: '\\u200B',\n\tNegativeVeryThinSpace: '\\u200B',\n\tnequiv: '\\u2262',\n\tnesear: '\\u2928',\n\tnesim: '\\u2242\\u0338',\n\tNestedGreaterGreater: '\\u226B',\n\tNestedLessLess: '\\u226A',\n\tNewLine: '\\u000A',\n\tnexist: '\\u2204',\n\tnexists: '\\u2204',\n\tNfr: '\\uD835\\uDD11',\n\tnfr: '\\uD835\\uDD2B',\n\tngE: '\\u2267\\u0338',\n\tnge: '\\u2271',\n\tngeq: '\\u2271',\n\tngeqq: '\\u2267\\u0338',\n\tngeqslant: '\\u2A7E\\u0338',\n\tnges: '\\u2A7E\\u0338',\n\tnGg: '\\u22D9\\u0338',\n\tngsim: '\\u2275',\n\tnGt: '\\u226B\\u20D2',\n\tngt: '\\u226F',\n\tngtr: '\\u226F',\n\tnGtv: '\\u226B\\u0338',\n\tnhArr: '\\u21CE',\n\tnharr: '\\u21AE',\n\tnhpar: '\\u2AF2',\n\tni: '\\u220B',\n\tnis: '\\u22FC',\n\tnisd: '\\u22FA',\n\tniv: '\\u220B',\n\tNJcy: '\\u040A',\n\tnjcy: '\\u045A',\n\tnlArr: '\\u21CD',\n\tnlarr: '\\u219A',\n\tnldr: '\\u2025',\n\tnlE: '\\u2266\\u0338',\n\tnle: '\\u2270',\n\tnLeftarrow: '\\u21CD',\n\tnleftarrow: '\\u219A',\n\tnLeftrightarrow: '\\u21CE',\n\tnleftrightarrow: '\\u21AE',\n\tnleq: '\\u2270',\n\tnleqq: '\\u2266\\u0338',\n\tnleqslant: '\\u2A7D\\u0338',\n\tnles: '\\u2A7D\\u0338',\n\tnless: '\\u226E',\n\tnLl: '\\u22D8\\u0338',\n\tnlsim: '\\u2274',\n\tnLt: '\\u226A\\u20D2',\n\tnlt: '\\u226E',\n\tnltri: '\\u22EA',\n\tnltrie: '\\u22EC',\n\tnLtv: '\\u226A\\u0338',\n\tnmid: '\\u2224',\n\tNoBreak: '\\u2060',\n\tNonBreakingSpace: '\\u00A0',\n\tNopf: '\\u2115',\n\tnopf: '\\uD835\\uDD5F',\n\tNot: '\\u2AEC',\n\tnot: '\\u00AC',\n\tNotCongruent: '\\u2262',\n\tNotCupCap: '\\u226D',\n\tNotDoubleVerticalBar: '\\u2226',\n\tNotElement: '\\u2209',\n\tNotEqual: '\\u2260',\n\tNotEqualTilde: '\\u2242\\u0338',\n\tNotExists: '\\u2204',\n\tNotGreater: '\\u226F',\n\tNotGreaterEqual: '\\u2271',\n\tNotGreaterFullEqual: '\\u2267\\u0338',\n\tNotGreaterGreater: '\\u226B\\u0338',\n\tNotGreaterLess: '\\u2279',\n\tNotGreaterSlantEqual: '\\u2A7E\\u0338',\n\tNotGreaterTilde: '\\u2275',\n\tNotHumpDownHump: '\\u224E\\u0338',\n\tNotHumpEqual: '\\u224F\\u0338',\n\tnotin: '\\u2209',\n\tnotindot: '\\u22F5\\u0338',\n\tnotinE: '\\u22F9\\u0338',\n\tnotinva: '\\u2209',\n\tnotinvb: '\\u22F7',\n\tnotinvc: '\\u22F6',\n\tNotLeftTriangle: '\\u22EA',\n\tNotLeftTriangleBar: '\\u29CF\\u0338',\n\tNotLeftTriangleEqual: '\\u22EC',\n\tNotLess: '\\u226E',\n\tNotLessEqual: '\\u2270',\n\tNotLessGreater: '\\u2278',\n\tNotLessLess: '\\u226A\\u0338',\n\tNotLessSlantEqual: '\\u2A7D\\u0338',\n\tNotLessTilde: '\\u2274',\n\tNotNestedGreaterGreater: '\\u2AA2\\u0338',\n\tNotNestedLessLess: '\\u2AA1\\u0338',\n\tnotni: '\\u220C',\n\tnotniva: '\\u220C',\n\tnotnivb: '\\u22FE',\n\tnotnivc: '\\u22FD',\n\tNotPrecedes: '\\u2280',\n\tNotPrecedesEqual: '\\u2AAF\\u0338',\n\tNotPrecedesSlantEqual: '\\u22E0',\n\tNotReverseElement: '\\u220C',\n\tNotRightTriangle: '\\u22EB',\n\tNotRightTriangleBar: '\\u29D0\\u0338',\n\tNotRightTriangleEqual: '\\u22ED',\n\tNotSquareSubset: '\\u228F\\u0338',\n\tNotSquareSubsetEqual: '\\u22E2',\n\tNotSquareSuperset: '\\u2290\\u0338',\n\tNotSquareSupersetEqual: '\\u22E3',\n\tNotSubset: '\\u2282\\u20D2',\n\tNotSubsetEqual: '\\u2288',\n\tNotSucceeds: '\\u2281',\n\tNotSucceedsEqual: '\\u2AB0\\u0338',\n\tNotSucceedsSlantEqual: '\\u22E1',\n\tNotSucceedsTilde: '\\u227F\\u0338',\n\tNotSuperset: '\\u2283\\u20D2',\n\tNotSupersetEqual: '\\u2289',\n\tNotTilde: '\\u2241',\n\tNotTildeEqual: '\\u2244',\n\tNotTildeFullEqual: '\\u2247',\n\tNotTildeTilde: '\\u2249',\n\tNotVerticalBar: '\\u2224',\n\tnpar: '\\u2226',\n\tnparallel: '\\u2226',\n\tnparsl: '\\u2AFD\\u20E5',\n\tnpart: '\\u2202\\u0338',\n\tnpolint: '\\u2A14',\n\tnpr: '\\u2280',\n\tnprcue: '\\u22E0',\n\tnpre: '\\u2AAF\\u0338',\n\tnprec: '\\u2280',\n\tnpreceq: '\\u2AAF\\u0338',\n\tnrArr: '\\u21CF',\n\tnrarr: '\\u219B',\n\tnrarrc: '\\u2933\\u0338',\n\tnrarrw: '\\u219D\\u0338',\n\tnRightarrow: '\\u21CF',\n\tnrightarrow: '\\u219B',\n\tnrtri: '\\u22EB',\n\tnrtrie: '\\u22ED',\n\tnsc: '\\u2281',\n\tnsccue: '\\u22E1',\n\tnsce: '\\u2AB0\\u0338',\n\tNscr: '\\uD835\\uDCA9',\n\tnscr: '\\uD835\\uDCC3',\n\tnshortmid: '\\u2224',\n\tnshortparallel: '\\u2226',\n\tnsim: '\\u2241',\n\tnsime: '\\u2244',\n\tnsimeq: '\\u2244',\n\tnsmid: '\\u2224',\n\tnspar: '\\u2226',\n\tnsqsube: '\\u22E2',\n\tnsqsupe: '\\u22E3',\n\tnsub: '\\u2284',\n\tnsubE: '\\u2AC5\\u0338',\n\tnsube: '\\u2288',\n\tnsubset: '\\u2282\\u20D2',\n\tnsubseteq: '\\u2288',\n\tnsubseteqq: '\\u2AC5\\u0338',\n\tnsucc: '\\u2281',\n\tnsucceq: '\\u2AB0\\u0338',\n\tnsup: '\\u2285',\n\tnsupE: '\\u2AC6\\u0338',\n\tnsupe: '\\u2289',\n\tnsupset: '\\u2283\\u20D2',\n\tnsupseteq: '\\u2289',\n\tnsupseteqq: '\\u2AC6\\u0338',\n\tntgl: '\\u2279',\n\tNtilde: '\\u00D1',\n\tntilde: '\\u00F1',\n\tntlg: '\\u2278',\n\tntriangleleft: '\\u22EA',\n\tntrianglelefteq: '\\u22EC',\n\tntriangleright: '\\u22EB',\n\tntrianglerighteq: '\\u22ED',\n\tNu: '\\u039D',\n\tnu: '\\u03BD',\n\tnum: '\\u0023',\n\tnumero: '\\u2116',\n\tnumsp: '\\u2007',\n\tnvap: '\\u224D\\u20D2',\n\tnVDash: '\\u22AF',\n\tnVdash: '\\u22AE',\n\tnvDash: '\\u22AD',\n\tnvdash: '\\u22AC',\n\tnvge: '\\u2265\\u20D2',\n\tnvgt: '\\u003E\\u20D2',\n\tnvHarr: '\\u2904',\n\tnvinfin: '\\u29DE',\n\tnvlArr: '\\u2902',\n\tnvle: '\\u2264\\u20D2',\n\tnvlt: '\\u003C\\u20D2',\n\tnvltrie: '\\u22B4\\u20D2',\n\tnvrArr: '\\u2903',\n\tnvrtrie: '\\u22B5\\u20D2',\n\tnvsim: '\\u223C\\u20D2',\n\tnwarhk: '\\u2923',\n\tnwArr: '\\u21D6',\n\tnwarr: '\\u2196',\n\tnwarrow: '\\u2196',\n\tnwnear: '\\u2927',\n\tOacute: '\\u00D3',\n\toacute: '\\u00F3',\n\toast: '\\u229B',\n\tocir: '\\u229A',\n\tOcirc: '\\u00D4',\n\tocirc: '\\u00F4',\n\tOcy: '\\u041E',\n\tocy: '\\u043E',\n\todash: '\\u229D',\n\tOdblac: '\\u0150',\n\todblac: '\\u0151',\n\todiv: '\\u2A38',\n\todot: '\\u2299',\n\todsold: '\\u29BC',\n\tOElig: '\\u0152',\n\toelig: '\\u0153',\n\tofcir: '\\u29BF',\n\tOfr: '\\uD835\\uDD12',\n\tofr: '\\uD835\\uDD2C',\n\togon: '\\u02DB',\n\tOgrave: '\\u00D2',\n\tograve: '\\u00F2',\n\togt: '\\u29C1',\n\tohbar: '\\u29B5',\n\tohm: '\\u03A9',\n\toint: '\\u222E',\n\tolarr: '\\u21BA',\n\tolcir: '\\u29BE',\n\tolcross: '\\u29BB',\n\toline: '\\u203E',\n\tolt: '\\u29C0',\n\tOmacr: '\\u014C',\n\tomacr: '\\u014D',\n\tOmega: '\\u03A9',\n\tomega: '\\u03C9',\n\tOmicron: '\\u039F',\n\tomicron: '\\u03BF',\n\tomid: '\\u29B6',\n\tominus: '\\u2296',\n\tOopf: '\\uD835\\uDD46',\n\toopf: '\\uD835\\uDD60',\n\topar: '\\u29B7',\n\tOpenCurlyDoubleQuote: '\\u201C',\n\tOpenCurlyQuote: '\\u2018',\n\toperp: '\\u29B9',\n\toplus: '\\u2295',\n\tOr: '\\u2A54',\n\tor: '\\u2228',\n\torarr: '\\u21BB',\n\tord: '\\u2A5D',\n\torder: '\\u2134',\n\torderof: '\\u2134',\n\tordf: '\\u00AA',\n\tordm: '\\u00BA',\n\torigof: '\\u22B6',\n\toror: '\\u2A56',\n\torslope: '\\u2A57',\n\torv: '\\u2A5B',\n\toS: '\\u24C8',\n\tOscr: '\\uD835\\uDCAA',\n\toscr: '\\u2134',\n\tOslash: '\\u00D8',\n\toslash: '\\u00F8',\n\tosol: '\\u2298',\n\tOtilde: '\\u00D5',\n\totilde: '\\u00F5',\n\tOtimes: '\\u2A37',\n\totimes: '\\u2297',\n\totimesas: '\\u2A36',\n\tOuml: '\\u00D6',\n\touml: '\\u00F6',\n\tovbar: '\\u233D',\n\tOverBar: '\\u203E',\n\tOverBrace: '\\u23DE',\n\tOverBracket: '\\u23B4',\n\tOverParenthesis: '\\u23DC',\n\tpar: '\\u2225',\n\tpara: '\\u00B6',\n\tparallel: '\\u2225',\n\tparsim: '\\u2AF3',\n\tparsl: '\\u2AFD',\n\tpart: '\\u2202',\n\tPartialD: '\\u2202',\n\tPcy: '\\u041F',\n\tpcy: '\\u043F',\n\tpercnt: '\\u0025',\n\tperiod: '\\u002E',\n\tpermil: '\\u2030',\n\tperp: '\\u22A5',\n\tpertenk: '\\u2031',\n\tPfr: '\\uD835\\uDD13',\n\tpfr: '\\uD835\\uDD2D',\n\tPhi: '\\u03A6',\n\tphi: '\\u03C6',\n\tphiv: '\\u03D5',\n\tphmmat: '\\u2133',\n\tphone: '\\u260E',\n\tPi: '\\u03A0',\n\tpi: '\\u03C0',\n\tpitchfork: '\\u22D4',\n\tpiv: '\\u03D6',\n\tplanck: '\\u210F',\n\tplanckh: '\\u210E',\n\tplankv: '\\u210F',\n\tplus: '\\u002B',\n\tplusacir: '\\u2A23',\n\tplusb: '\\u229E',\n\tpluscir: '\\u2A22',\n\tplusdo: '\\u2214',\n\tplusdu: '\\u2A25',\n\tpluse: '\\u2A72',\n\tPlusMinus: '\\u00B1',\n\tplusmn: '\\u00B1',\n\tplussim: '\\u2A26',\n\tplustwo: '\\u2A27',\n\tpm: '\\u00B1',\n\tPoincareplane: '\\u210C',\n\tpointint: '\\u2A15',\n\tPopf: '\\u2119',\n\tpopf: '\\uD835\\uDD61',\n\tpound: '\\u00A3',\n\tPr: '\\u2ABB',\n\tpr: '\\u227A',\n\tprap: '\\u2AB7',\n\tprcue: '\\u227C',\n\tprE: '\\u2AB3',\n\tpre: '\\u2AAF',\n\tprec: '\\u227A',\n\tprecapprox: '\\u2AB7',\n\tpreccurlyeq: '\\u227C',\n\tPrecedes: '\\u227A',\n\tPrecedesEqual: '\\u2AAF',\n\tPrecedesSlantEqual: '\\u227C',\n\tPrecedesTilde: '\\u227E',\n\tpreceq: '\\u2AAF',\n\tprecnapprox: '\\u2AB9',\n\tprecneqq: '\\u2AB5',\n\tprecnsim: '\\u22E8',\n\tprecsim: '\\u227E',\n\tPrime: '\\u2033',\n\tprime: '\\u2032',\n\tprimes: '\\u2119',\n\tprnap: '\\u2AB9',\n\tprnE: '\\u2AB5',\n\tprnsim: '\\u22E8',\n\tprod: '\\u220F',\n\tProduct: '\\u220F',\n\tprofalar: '\\u232E',\n\tprofline: '\\u2312',\n\tprofsurf: '\\u2313',\n\tprop: '\\u221D',\n\tProportion: '\\u2237',\n\tProportional: '\\u221D',\n\tpropto: '\\u221D',\n\tprsim: '\\u227E',\n\tprurel: '\\u22B0',\n\tPscr: '\\uD835\\uDCAB',\n\tpscr: '\\uD835\\uDCC5',\n\tPsi: '\\u03A8',\n\tpsi: '\\u03C8',\n\tpuncsp: '\\u2008',\n\tQfr: '\\uD835\\uDD14',\n\tqfr: '\\uD835\\uDD2E',\n\tqint: '\\u2A0C',\n\tQopf: '\\u211A',\n\tqopf: '\\uD835\\uDD62',\n\tqprime: '\\u2057',\n\tQscr: '\\uD835\\uDCAC',\n\tqscr: '\\uD835\\uDCC6',\n\tquaternions: '\\u210D',\n\tquatint: '\\u2A16',\n\tquest: '\\u003F',\n\tquesteq: '\\u225F',\n\tQUOT: '\\u0022',\n\tquot: '\\u0022',\n\trAarr: '\\u21DB',\n\trace: '\\u223D\\u0331',\n\tRacute: '\\u0154',\n\tracute: '\\u0155',\n\tradic: '\\u221A',\n\traemptyv: '\\u29B3',\n\tRang: '\\u27EB',\n\trang: '\\u27E9',\n\trangd: '\\u2992',\n\trange: '\\u29A5',\n\trangle: '\\u27E9',\n\traquo: '\\u00BB',\n\tRarr: '\\u21A0',\n\trArr: '\\u21D2',\n\trarr: '\\u2192',\n\trarrap: '\\u2975',\n\trarrb: '\\u21E5',\n\trarrbfs: '\\u2920',\n\trarrc: '\\u2933',\n\trarrfs: '\\u291E',\n\trarrhk: '\\u21AA',\n\trarrlp: '\\u21AC',\n\trarrpl: '\\u2945',\n\trarrsim: '\\u2974',\n\tRarrtl: '\\u2916',\n\trarrtl: '\\u21A3',\n\trarrw: '\\u219D',\n\trAtail: '\\u291C',\n\tratail: '\\u291A',\n\tratio: '\\u2236',\n\trationals: '\\u211A',\n\tRBarr: '\\u2910',\n\trBarr: '\\u290F',\n\trbarr: '\\u290D',\n\trbbrk: '\\u2773',\n\trbrace: '\\u007D',\n\trbrack: '\\u005D',\n\trbrke: '\\u298C',\n\trbrksld: '\\u298E',\n\trbrkslu: '\\u2990',\n\tRcaron: '\\u0158',\n\trcaron: '\\u0159',\n\tRcedil: '\\u0156',\n\trcedil: '\\u0157',\n\trceil: '\\u2309',\n\trcub: '\\u007D',\n\tRcy: '\\u0420',\n\trcy: '\\u0440',\n\trdca: '\\u2937',\n\trdldhar: '\\u2969',\n\trdquo: '\\u201D',\n\trdquor: '\\u201D',\n\trdsh: '\\u21B3',\n\tRe: '\\u211C',\n\treal: '\\u211C',\n\trealine: '\\u211B',\n\trealpart: '\\u211C',\n\treals: '\\u211D',\n\trect: '\\u25AD',\n\tREG: '\\u00AE',\n\treg: '\\u00AE',\n\tReverseElement: '\\u220B',\n\tReverseEquilibrium: '\\u21CB',\n\tReverseUpEquilibrium: '\\u296F',\n\trfisht: '\\u297D',\n\trfloor: '\\u230B',\n\tRfr: '\\u211C',\n\trfr: '\\uD835\\uDD2F',\n\trHar: '\\u2964',\n\trhard: '\\u21C1',\n\trharu: '\\u21C0',\n\trharul: '\\u296C',\n\tRho: '\\u03A1',\n\trho: '\\u03C1',\n\trhov: '\\u03F1',\n\tRightAngleBracket: '\\u27E9',\n\tRightArrow: '\\u2192',\n\tRightarrow: '\\u21D2',\n\trightarrow: '\\u2192',\n\tRightArrowBar: '\\u21E5',\n\tRightArrowLeftArrow: '\\u21C4',\n\trightarrowtail: '\\u21A3',\n\tRightCeiling: '\\u2309',\n\tRightDoubleBracket: '\\u27E7',\n\tRightDownTeeVector: '\\u295D',\n\tRightDownVector: '\\u21C2',\n\tRightDownVectorBar: '\\u2955',\n\tRightFloor: '\\u230B',\n\trightharpoondown: '\\u21C1',\n\trightharpoonup: '\\u21C0',\n\trightleftarrows: '\\u21C4',\n\trightleftharpoons: '\\u21CC',\n\trightrightarrows: '\\u21C9',\n\trightsquigarrow: '\\u219D',\n\tRightTee: '\\u22A2',\n\tRightTeeArrow: '\\u21A6',\n\tRightTeeVector: '\\u295B',\n\trightthreetimes: '\\u22CC',\n\tRightTriangle: '\\u22B3',\n\tRightTriangleBar: '\\u29D0',\n\tRightTriangleEqual: '\\u22B5',\n\tRightUpDownVector: '\\u294F',\n\tRightUpTeeVector: '\\u295C',\n\tRightUpVector: '\\u21BE',\n\tRightUpVectorBar: '\\u2954',\n\tRightVector: '\\u21C0',\n\tRightVectorBar: '\\u2953',\n\tring: '\\u02DA',\n\trisingdotseq: '\\u2253',\n\trlarr: '\\u21C4',\n\trlhar: '\\u21CC',\n\trlm: '\\u200F',\n\trmoust: '\\u23B1',\n\trmoustache: '\\u23B1',\n\trnmid: '\\u2AEE',\n\troang: '\\u27ED',\n\troarr: '\\u21FE',\n\trobrk: '\\u27E7',\n\tropar: '\\u2986',\n\tRopf: '\\u211D',\n\tropf: '\\uD835\\uDD63',\n\troplus: '\\u2A2E',\n\trotimes: '\\u2A35',\n\tRoundImplies: '\\u2970',\n\trpar: '\\u0029',\n\trpargt: '\\u2994',\n\trppolint: '\\u2A12',\n\trrarr: '\\u21C9',\n\tRrightarrow: '\\u21DB',\n\trsaquo: '\\u203A',\n\tRscr: '\\u211B',\n\trscr: '\\uD835\\uDCC7',\n\tRsh: '\\u21B1',\n\trsh: '\\u21B1',\n\trsqb: '\\u005D',\n\trsquo: '\\u2019',\n\trsquor: '\\u2019',\n\trthree: '\\u22CC',\n\trtimes: '\\u22CA',\n\trtri: '\\u25B9',\n\trtrie: '\\u22B5',\n\trtrif: '\\u25B8',\n\trtriltri: '\\u29CE',\n\tRuleDelayed: '\\u29F4',\n\truluhar: '\\u2968',\n\trx: '\\u211E',\n\tSacute: '\\u015A',\n\tsacute: '\\u015B',\n\tsbquo: '\\u201A',\n\tSc: '\\u2ABC',\n\tsc: '\\u227B',\n\tscap: '\\u2AB8',\n\tScaron: '\\u0160',\n\tscaron: '\\u0161',\n\tsccue: '\\u227D',\n\tscE: '\\u2AB4',\n\tsce: '\\u2AB0',\n\tScedil: '\\u015E',\n\tscedil: '\\u015F',\n\tScirc: '\\u015C',\n\tscirc: '\\u015D',\n\tscnap: '\\u2ABA',\n\tscnE: '\\u2AB6',\n\tscnsim: '\\u22E9',\n\tscpolint: '\\u2A13',\n\tscsim: '\\u227F',\n\tScy: '\\u0421',\n\tscy: '\\u0441',\n\tsdot: '\\u22C5',\n\tsdotb: '\\u22A1',\n\tsdote: '\\u2A66',\n\tsearhk: '\\u2925',\n\tseArr: '\\u21D8',\n\tsearr: '\\u2198',\n\tsearrow: '\\u2198',\n\tsect: '\\u00A7',\n\tsemi: '\\u003B',\n\tseswar: '\\u2929',\n\tsetminus: '\\u2216',\n\tsetmn: '\\u2216',\n\tsext: '\\u2736',\n\tSfr: '\\uD835\\uDD16',\n\tsfr: '\\uD835\\uDD30',\n\tsfrown: '\\u2322',\n\tsharp: '\\u266F',\n\tSHCHcy: '\\u0429',\n\tshchcy: '\\u0449',\n\tSHcy: '\\u0428',\n\tshcy: '\\u0448',\n\tShortDownArrow: '\\u2193',\n\tShortLeftArrow: '\\u2190',\n\tshortmid: '\\u2223',\n\tshortparallel: '\\u2225',\n\tShortRightArrow: '\\u2192',\n\tShortUpArrow: '\\u2191',\n\tshy: '\\u00AD',\n\tSigma: '\\u03A3',\n\tsigma: '\\u03C3',\n\tsigmaf: '\\u03C2',\n\tsigmav: '\\u03C2',\n\tsim: '\\u223C',\n\tsimdot: '\\u2A6A',\n\tsime: '\\u2243',\n\tsimeq: '\\u2243',\n\tsimg: '\\u2A9E',\n\tsimgE: '\\u2AA0',\n\tsiml: '\\u2A9D',\n\tsimlE: '\\u2A9F',\n\tsimne: '\\u2246',\n\tsimplus: '\\u2A24',\n\tsimrarr: '\\u2972',\n\tslarr: '\\u2190',\n\tSmallCircle: '\\u2218',\n\tsmallsetminus: '\\u2216',\n\tsmashp: '\\u2A33',\n\tsmeparsl: '\\u29E4',\n\tsmid: '\\u2223',\n\tsmile: '\\u2323',\n\tsmt: '\\u2AAA',\n\tsmte: '\\u2AAC',\n\tsmtes: '\\u2AAC\\uFE00',\n\tSOFTcy: '\\u042C',\n\tsoftcy: '\\u044C',\n\tsol: '\\u002F',\n\tsolb: '\\u29C4',\n\tsolbar: '\\u233F',\n\tSopf: '\\uD835\\uDD4A',\n\tsopf: '\\uD835\\uDD64',\n\tspades: '\\u2660',\n\tspadesuit: '\\u2660',\n\tspar: '\\u2225',\n\tsqcap: '\\u2293',\n\tsqcaps: '\\u2293\\uFE00',\n\tsqcup: '\\u2294',\n\tsqcups: '\\u2294\\uFE00',\n\tSqrt: '\\u221A',\n\tsqsub: '\\u228F',\n\tsqsube: '\\u2291',\n\tsqsubset: '\\u228F',\n\tsqsubseteq: '\\u2291',\n\tsqsup: '\\u2290',\n\tsqsupe: '\\u2292',\n\tsqsupset: '\\u2290',\n\tsqsupseteq: '\\u2292',\n\tsqu: '\\u25A1',\n\tSquare: '\\u25A1',\n\tsquare: '\\u25A1',\n\tSquareIntersection: '\\u2293',\n\tSquareSubset: '\\u228F',\n\tSquareSubsetEqual: '\\u2291',\n\tSquareSuperset: '\\u2290',\n\tSquareSupersetEqual: '\\u2292',\n\tSquareUnion: '\\u2294',\n\tsquarf: '\\u25AA',\n\tsquf: '\\u25AA',\n\tsrarr: '\\u2192',\n\tSscr: '\\uD835\\uDCAE',\n\tsscr: '\\uD835\\uDCC8',\n\tssetmn: '\\u2216',\n\tssmile: '\\u2323',\n\tsstarf: '\\u22C6',\n\tStar: '\\u22C6',\n\tstar: '\\u2606',\n\tstarf: '\\u2605',\n\tstraightepsilon: '\\u03F5',\n\tstraightphi: '\\u03D5',\n\tstrns: '\\u00AF',\n\tSub: '\\u22D0',\n\tsub: '\\u2282',\n\tsubdot: '\\u2ABD',\n\tsubE: '\\u2AC5',\n\tsube: '\\u2286',\n\tsubedot: '\\u2AC3',\n\tsubmult: '\\u2AC1',\n\tsubnE: '\\u2ACB',\n\tsubne: '\\u228A',\n\tsubplus: '\\u2ABF',\n\tsubrarr: '\\u2979',\n\tSubset: '\\u22D0',\n\tsubset: '\\u2282',\n\tsubseteq: '\\u2286',\n\tsubseteqq: '\\u2AC5',\n\tSubsetEqual: '\\u2286',\n\tsubsetneq: '\\u228A',\n\tsubsetneqq: '\\u2ACB',\n\tsubsim: '\\u2AC7',\n\tsubsub: '\\u2AD5',\n\tsubsup: '\\u2AD3',\n\tsucc: '\\u227B',\n\tsuccapprox: '\\u2AB8',\n\tsucccurlyeq: '\\u227D',\n\tSucceeds: '\\u227B',\n\tSucceedsEqual: '\\u2AB0',\n\tSucceedsSlantEqual: '\\u227D',\n\tSucceedsTilde: '\\u227F',\n\tsucceq: '\\u2AB0',\n\tsuccnapprox: '\\u2ABA',\n\tsuccneqq: '\\u2AB6',\n\tsuccnsim: '\\u22E9',\n\tsuccsim: '\\u227F',\n\tSuchThat: '\\u220B',\n\tSum: '\\u2211',\n\tsum: '\\u2211',\n\tsung: '\\u266A',\n\tSup: '\\u22D1',\n\tsup: '\\u2283',\n\tsup1: '\\u00B9',\n\tsup2: '\\u00B2',\n\tsup3: '\\u00B3',\n\tsupdot: '\\u2ABE',\n\tsupdsub: '\\u2AD8',\n\tsupE: '\\u2AC6',\n\tsupe: '\\u2287',\n\tsupedot: '\\u2AC4',\n\tSuperset: '\\u2283',\n\tSupersetEqual: '\\u2287',\n\tsuphsol: '\\u27C9',\n\tsuphsub: '\\u2AD7',\n\tsuplarr: '\\u297B',\n\tsupmult: '\\u2AC2',\n\tsupnE: '\\u2ACC',\n\tsupne: '\\u228B',\n\tsupplus: '\\u2AC0',\n\tSupset: '\\u22D1',\n\tsupset: '\\u2283',\n\tsupseteq: '\\u2287',\n\tsupseteqq: '\\u2AC6',\n\tsupsetneq: '\\u228B',\n\tsupsetneqq: '\\u2ACC',\n\tsupsim: '\\u2AC8',\n\tsupsub: '\\u2AD4',\n\tsupsup: '\\u2AD6',\n\tswarhk: '\\u2926',\n\tswArr: '\\u21D9',\n\tswarr: '\\u2199',\n\tswarrow: '\\u2199',\n\tswnwar: '\\u292A',\n\tszlig: '\\u00DF',\n\tTab: '\\u0009',\n\ttarget: '\\u2316',\n\tTau: '\\u03A4',\n\ttau: '\\u03C4',\n\ttbrk: '\\u23B4',\n\tTcaron: '\\u0164',\n\ttcaron: '\\u0165',\n\tTcedil: '\\u0162',\n\ttcedil: '\\u0163',\n\tTcy: '\\u0422',\n\ttcy: '\\u0442',\n\ttdot: '\\u20DB',\n\ttelrec: '\\u2315',\n\tTfr: '\\uD835\\uDD17',\n\ttfr: '\\uD835\\uDD31',\n\tthere4: '\\u2234',\n\tTherefore: '\\u2234',\n\ttherefore: '\\u2234',\n\tTheta: '\\u0398',\n\ttheta: '\\u03B8',\n\tthetasym: '\\u03D1',\n\tthetav: '\\u03D1',\n\tthickapprox: '\\u2248',\n\tthicksim: '\\u223C',\n\tThickSpace: '\\u205F\\u200A',\n\tthinsp: '\\u2009',\n\tThinSpace: '\\u2009',\n\tthkap: '\\u2248',\n\tthksim: '\\u223C',\n\tTHORN: '\\u00DE',\n\tthorn: '\\u00FE',\n\tTilde: '\\u223C',\n\ttilde: '\\u02DC',\n\tTildeEqual: '\\u2243',\n\tTildeFullEqual: '\\u2245',\n\tTildeTilde: '\\u2248',\n\ttimes: '\\u00D7',\n\ttimesb: '\\u22A0',\n\ttimesbar: '\\u2A31',\n\ttimesd: '\\u2A30',\n\ttint: '\\u222D',\n\ttoea: '\\u2928',\n\ttop: '\\u22A4',\n\ttopbot: '\\u2336',\n\ttopcir: '\\u2AF1',\n\tTopf: '\\uD835\\uDD4B',\n\ttopf: '\\uD835\\uDD65',\n\ttopfork: '\\u2ADA',\n\ttosa: '\\u2929',\n\ttprime: '\\u2034',\n\tTRADE: '\\u2122',\n\ttrade: '\\u2122',\n\ttriangle: '\\u25B5',\n\ttriangledown: '\\u25BF',\n\ttriangleleft: '\\u25C3',\n\ttrianglelefteq: '\\u22B4',\n\ttriangleq: '\\u225C',\n\ttriangleright: '\\u25B9',\n\ttrianglerighteq: '\\u22B5',\n\ttridot: '\\u25EC',\n\ttrie: '\\u225C',\n\ttriminus: '\\u2A3A',\n\tTripleDot: '\\u20DB',\n\ttriplus: '\\u2A39',\n\ttrisb: '\\u29CD',\n\ttritime: '\\u2A3B',\n\ttrpezium: '\\u23E2',\n\tTscr: '\\uD835\\uDCAF',\n\ttscr: '\\uD835\\uDCC9',\n\tTScy: '\\u0426',\n\ttscy: '\\u0446',\n\tTSHcy: '\\u040B',\n\ttshcy: '\\u045B',\n\tTstrok: '\\u0166',\n\ttstrok: '\\u0167',\n\ttwixt: '\\u226C',\n\ttwoheadleftarrow: '\\u219E',\n\ttwoheadrightarrow: '\\u21A0',\n\tUacute: '\\u00DA',\n\tuacute: '\\u00FA',\n\tUarr: '\\u219F',\n\tuArr: '\\u21D1',\n\tuarr: '\\u2191',\n\tUarrocir: '\\u2949',\n\tUbrcy: '\\u040E',\n\tubrcy: '\\u045E',\n\tUbreve: '\\u016C',\n\tubreve: '\\u016D',\n\tUcirc: '\\u00DB',\n\tucirc: '\\u00FB',\n\tUcy: '\\u0423',\n\tucy: '\\u0443',\n\tudarr: '\\u21C5',\n\tUdblac: '\\u0170',\n\tudblac: '\\u0171',\n\tudhar: '\\u296E',\n\tufisht: '\\u297E',\n\tUfr: '\\uD835\\uDD18',\n\tufr: '\\uD835\\uDD32',\n\tUgrave: '\\u00D9',\n\tugrave: '\\u00F9',\n\tuHar: '\\u2963',\n\tuharl: '\\u21BF',\n\tuharr: '\\u21BE',\n\tuhblk: '\\u2580',\n\tulcorn: '\\u231C',\n\tulcorner: '\\u231C',\n\tulcrop: '\\u230F',\n\tultri: '\\u25F8',\n\tUmacr: '\\u016A',\n\tumacr: '\\u016B',\n\tuml: '\\u00A8',\n\tUnderBar: '\\u005F',\n\tUnderBrace: '\\u23DF',\n\tUnderBracket: '\\u23B5',\n\tUnderParenthesis: '\\u23DD',\n\tUnion: '\\u22C3',\n\tUnionPlus: '\\u228E',\n\tUogon: '\\u0172',\n\tuogon: '\\u0173',\n\tUopf: '\\uD835\\uDD4C',\n\tuopf: '\\uD835\\uDD66',\n\tUpArrow: '\\u2191',\n\tUparrow: '\\u21D1',\n\tuparrow: '\\u2191',\n\tUpArrowBar: '\\u2912',\n\tUpArrowDownArrow: '\\u21C5',\n\tUpDownArrow: '\\u2195',\n\tUpdownarrow: '\\u21D5',\n\tupdownarrow: '\\u2195',\n\tUpEquilibrium: '\\u296E',\n\tupharpoonleft: '\\u21BF',\n\tupharpoonright: '\\u21BE',\n\tuplus: '\\u228E',\n\tUpperLeftArrow: '\\u2196',\n\tUpperRightArrow: '\\u2197',\n\tUpsi: '\\u03D2',\n\tupsi: '\\u03C5',\n\tupsih: '\\u03D2',\n\tUpsilon: '\\u03A5',\n\tupsilon: '\\u03C5',\n\tUpTee: '\\u22A5',\n\tUpTeeArrow: '\\u21A5',\n\tupuparrows: '\\u21C8',\n\turcorn: '\\u231D',\n\turcorner: '\\u231D',\n\turcrop: '\\u230E',\n\tUring: '\\u016E',\n\turing: '\\u016F',\n\turtri: '\\u25F9',\n\tUscr: '\\uD835\\uDCB0',\n\tuscr: '\\uD835\\uDCCA',\n\tutdot: '\\u22F0',\n\tUtilde: '\\u0168',\n\tutilde: '\\u0169',\n\tutri: '\\u25B5',\n\tutrif: '\\u25B4',\n\tuuarr: '\\u21C8',\n\tUuml: '\\u00DC',\n\tuuml: '\\u00FC',\n\tuwangle: '\\u29A7',\n\tvangrt: '\\u299C',\n\tvarepsilon: '\\u03F5',\n\tvarkappa: '\\u03F0',\n\tvarnothing: '\\u2205',\n\tvarphi: '\\u03D5',\n\tvarpi: '\\u03D6',\n\tvarpropto: '\\u221D',\n\tvArr: '\\u21D5',\n\tvarr: '\\u2195',\n\tvarrho: '\\u03F1',\n\tvarsigma: '\\u03C2',\n\tvarsubsetneq: '\\u228A\\uFE00',\n\tvarsubsetneqq: '\\u2ACB\\uFE00',\n\tvarsupsetneq: '\\u228B\\uFE00',\n\tvarsupsetneqq: '\\u2ACC\\uFE00',\n\tvartheta: '\\u03D1',\n\tvartriangleleft: '\\u22B2',\n\tvartriangleright: '\\u22B3',\n\tVbar: '\\u2AEB',\n\tvBar: '\\u2AE8',\n\tvBarv: '\\u2AE9',\n\tVcy: '\\u0412',\n\tvcy: '\\u0432',\n\tVDash: '\\u22AB',\n\tVdash: '\\u22A9',\n\tvDash: '\\u22A8',\n\tvdash: '\\u22A2',\n\tVdashl: '\\u2AE6',\n\tVee: '\\u22C1',\n\tvee: '\\u2228',\n\tveebar: '\\u22BB',\n\tveeeq: '\\u225A',\n\tvellip: '\\u22EE',\n\tVerbar: '\\u2016',\n\tverbar: '\\u007C',\n\tVert: '\\u2016',\n\tvert: '\\u007C',\n\tVerticalBar: '\\u2223',\n\tVerticalLine: '\\u007C',\n\tVerticalSeparator: '\\u2758',\n\tVerticalTilde: '\\u2240',\n\tVeryThinSpace: '\\u200A',\n\tVfr: '\\uD835\\uDD19',\n\tvfr: '\\uD835\\uDD33',\n\tvltri: '\\u22B2',\n\tvnsub: '\\u2282\\u20D2',\n\tvnsup: '\\u2283\\u20D2',\n\tVopf: '\\uD835\\uDD4D',\n\tvopf: '\\uD835\\uDD67',\n\tvprop: '\\u221D',\n\tvrtri: '\\u22B3',\n\tVscr: '\\uD835\\uDCB1',\n\tvscr: '\\uD835\\uDCCB',\n\tvsubnE: '\\u2ACB\\uFE00',\n\tvsubne: '\\u228A\\uFE00',\n\tvsupnE: '\\u2ACC\\uFE00',\n\tvsupne: '\\u228B\\uFE00',\n\tVvdash: '\\u22AA',\n\tvzigzag: '\\u299A',\n\tWcirc: '\\u0174',\n\twcirc: '\\u0175',\n\twedbar: '\\u2A5F',\n\tWedge: '\\u22C0',\n\twedge: '\\u2227',\n\twedgeq: '\\u2259',\n\tweierp: '\\u2118',\n\tWfr: '\\uD835\\uDD1A',\n\twfr: '\\uD835\\uDD34',\n\tWopf: '\\uD835\\uDD4E',\n\twopf: '\\uD835\\uDD68',\n\twp: '\\u2118',\n\twr: '\\u2240',\n\twreath: '\\u2240',\n\tWscr: '\\uD835\\uDCB2',\n\twscr: '\\uD835\\uDCCC',\n\txcap: '\\u22C2',\n\txcirc: '\\u25EF',\n\txcup: '\\u22C3',\n\txdtri: '\\u25BD',\n\tXfr: '\\uD835\\uDD1B',\n\txfr: '\\uD835\\uDD35',\n\txhArr: '\\u27FA',\n\txharr: '\\u27F7',\n\tXi: '\\u039E',\n\txi: '\\u03BE',\n\txlArr: '\\u27F8',\n\txlarr: '\\u27F5',\n\txmap: '\\u27FC',\n\txnis: '\\u22FB',\n\txodot: '\\u2A00',\n\tXopf: '\\uD835\\uDD4F',\n\txopf: '\\uD835\\uDD69',\n\txoplus: '\\u2A01',\n\txotime: '\\u2A02',\n\txrArr: '\\u27F9',\n\txrarr: '\\u27F6',\n\tXscr: '\\uD835\\uDCB3',\n\txscr: '\\uD835\\uDCCD',\n\txsqcup: '\\u2A06',\n\txuplus: '\\u2A04',\n\txutri: '\\u25B3',\n\txvee: '\\u22C1',\n\txwedge: '\\u22C0',\n\tYacute: '\\u00DD',\n\tyacute: '\\u00FD',\n\tYAcy: '\\u042F',\n\tyacy: '\\u044F',\n\tYcirc: '\\u0176',\n\tycirc: '\\u0177',\n\tYcy: '\\u042B',\n\tycy: '\\u044B',\n\tyen: '\\u00A5',\n\tYfr: '\\uD835\\uDD1C',\n\tyfr: '\\uD835\\uDD36',\n\tYIcy: '\\u0407',\n\tyicy: '\\u0457',\n\tYopf: '\\uD835\\uDD50',\n\tyopf: '\\uD835\\uDD6A',\n\tYscr: '\\uD835\\uDCB4',\n\tyscr: '\\uD835\\uDCCE',\n\tYUcy: '\\u042E',\n\tyucy: '\\u044E',\n\tYuml: '\\u0178',\n\tyuml: '\\u00FF',\n\tZacute: '\\u0179',\n\tzacute: '\\u017A',\n\tZcaron: '\\u017D',\n\tzcaron: '\\u017E',\n\tZcy: '\\u0417',\n\tzcy: '\\u0437',\n\tZdot: '\\u017B',\n\tzdot: '\\u017C',\n\tzeetrf: '\\u2128',\n\tZeroWidthSpace: '\\u200B',\n\tZeta: '\\u0396',\n\tzeta: '\\u03B6',\n\tZfr: '\\u2128',\n\tzfr: '\\uD835\\uDD37',\n\tZHcy: '\\u0416',\n\tzhcy: '\\u0436',\n\tzigrarr: '\\u21DD',\n\tZopf: '\\u2124',\n\tzopf: '\\uD835\\uDD6B',\n\tZscr: '\\uD835\\uDCB5',\n\tzscr: '\\uD835\\uDCCF',\n\tzwj: '\\u200D',\n\tzwnj: '\\u200C',\n});\n\n/**\n * @deprecated use `HTML_ENTITIES` instead\n * @see HTML_ENTITIES\n */\nexports.entityMap = exports.HTML_ENTITIES;\n","var NAMESPACE = require(\"./conventions\").NAMESPACE;\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring\nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif (Object.hasOwnProperty.call(entityMap, k)) {\n\t\t\treturn entityMap[k];\n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart + 2, end).replace(/[ \\t\\n\\r]+$/g, '');\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor (var prefix in localNSMap) {\n\t\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\n\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (NAMESPACE.isHTML(el.uri) && !el.closed) {\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t} else {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (el.attributeNames.hasOwnProperty(qname)) {\n\t\t\terrorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\t}\n\t\tel.addValue(\n\t\t\tqname,\n\t\t\t// @see https://www.w3.org/TR/xml/#AVNormalize\n\t\t\t// since the xmldom sax parser does not \"interpret\" DTD the following is not implemented:\n\t\t\t// - recursive replacement of (DTD) entity references\n\t\t\t// - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA\n\t\t\tvalue.replace(/[\\t\\n\\r]/g, ' ').replace(/&#?\\w+;/g, entityReplacer),\n\t\t\tstartIndex\n\t\t)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tel.closed = true;\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\t}else{\n\t\t\t\t\tif(!NAMESPACE.isHTML(currentNSMap['']) || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start, p);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif (!NAMESPACE.isHTML(currentNSMap['']) || !attrName.match(/^(?:disabled|checked|selected)$/i)) {\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute\n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = NAMESPACE.XMLNS\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value)\n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = NAMESPACE.XML;\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor (prefix in localNSMap) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//}\n}\n\nfunction _copy (source, target) {\n\tfor (var n in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, n)) {\n\t\t\ttarget[n] = source[n];\n\t\t}\n\t}\n}\n\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA()\n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)\n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n","var conventions = require(\"./conventions\");\nvar dom = require('./dom')\nvar entities = require('./entities');\nvar sax = require('./sax');\n\nvar DOMImplementation = dom.DOMImplementation;\n\nvar NAMESPACE = conventions.NAMESPACE;\n\nvar ParseError = sax.ParseError;\nvar XMLReader = sax.XMLReader;\n\n/**\n * Normalizes line ending according to https://www.w3.org/TR/xml11/#sec-line-ends:\n *\n * > XML parsed entities are often stored in computer files which,\n * > for editing convenience, are organized into lines.\n * > These lines are typically separated by some combination\n * > of the characters CARRIAGE RETURN (#xD) and LINE FEED (#xA).\n * >\n * > To simplify the tasks of applications, the XML processor must behave\n * > as if it normalized all line breaks in external parsed entities (including the document entity)\n * > on input, before parsing, by translating all of the following to a single #xA character:\n * >\n * > 1. the two-character sequence #xD #xA\n * > 2. the two-character sequence #xD #x85\n * > 3. the single character #x85\n * > 4. the single character #x2028\n * > 5. any #xD character that is not immediately followed by #xA or #x85.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizeLineEndings(input) {\n\treturn input\n\t\t.replace(/\\r[\\n\\u0085]/g, '\\n')\n\t\t.replace(/[\\r\\u0085\\u2028]/g, '\\n')\n}\n\n/**\n * @typedef Locator\n * @property {number} [columnNumber]\n * @property {number} [lineNumber]\n */\n\n/**\n * @typedef DOMParserOptions\n * @property {DOMHandler} [domBuilder]\n * @property {Function} [errorHandler]\n * @property {(string) => string} [normalizeLineEndings] used to replace line endings before parsing\n * \t\t\t\t\t\tdefaults to `normalizeLineEndings`\n * @property {Locator} [locator]\n * @property {Record<string, string>} [xmlns]\n *\n * @see normalizeLineEndings\n */\n\n/**\n * The DOMParser interface provides the ability to parse XML or HTML source code\n * from a string into a DOM `Document`.\n *\n * _xmldom is different from the spec in that it allows an `options` parameter,\n * to override the default behavior._\n *\n * @param {DOMParserOptions} [options]\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-parsing-and-serialization\n */\nfunction DOMParser(options){\n\tthis.options = options ||{locator:{}};\n}\n\nDOMParser.prototype.parseFromString = function(source,mimeType){\n\tvar options = this.options;\n\tvar sax = new XMLReader();\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\n\tvar errorHandler = options.errorHandler;\n\tvar locator = options.locator;\n\tvar defaultNSMap = options.xmlns||{};\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\n \tvar entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES;\n\tif(locator){\n\t\tdomBuilder.setDocumentLocator(locator)\n\t}\n\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\n\tsax.domBuilder = options.domBuilder || domBuilder;\n\tif(isHTML){\n\t\tdefaultNSMap[''] = NAMESPACE.HTML;\n\t}\n\tdefaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML;\n\tvar normalize = options.normalizeLineEndings || normalizeLineEndings;\n\tif (source && typeof source === 'string') {\n\t\tsax.parse(\n\t\t\tnormalize(source),\n\t\t\tdefaultNSMap,\n\t\t\tentityMap\n\t\t)\n\t} else {\n\t\tsax.errorHandler.error('invalid doc source')\n\t}\n\treturn domBuilder.doc;\n}\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\n\tif(!errorImpl){\n\t\tif(domBuilder instanceof DOMHandler){\n\t\t\treturn domBuilder;\n\t\t}\n\t\terrorImpl = domBuilder ;\n\t}\n\tvar errorHandler = {}\n\tvar isCallback = errorImpl instanceof Function;\n\tlocator = locator||{}\n\tfunction build(key){\n\t\tvar fn = errorImpl[key];\n\t\tif(!fn && isCallback){\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\n\t\t}\n\t\terrorHandler[key] = fn && function(msg){\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\n\t\t}||function(){};\n\t}\n\tbuild('warning');\n\tbuild('error');\n\tbuild('fatalError');\n\treturn errorHandler;\n}\n\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\n/**\n * +ContentHandler+ErrorHandler\n * +LexicalHandler+EntityResolver2\n * -DeclHandler-DTDHandler\n *\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\n */\nfunction DOMHandler() {\n this.cdata = false;\n}\nfunction position(locator,node){\n\tnode.lineNumber = locator.lineNumber;\n\tnode.columnNumber = locator.columnNumber;\n}\n/**\n * @see org.xml.sax.ContentHandler#startDocument\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\n */\nDOMHandler.prototype = {\n\tstartDocument : function() {\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\n \tif (this.locator) {\n \tthis.doc.documentURI = this.locator.systemId;\n \t}\n\t},\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\n\t\tvar doc = this.doc;\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\n\t var len = attrs.length;\n\t appendElement(this, el);\n\t this.currentElement = el;\n\n\t\tthis.locator && position(this.locator,el)\n\t for (var i = 0 ; i < len; i++) {\n\t var namespaceURI = attrs.getURI(i);\n\t var value = attrs.getValue(i);\n\t var qName = attrs.getQName(i);\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\n\t\t\tattr.value = attr.nodeValue = value;\n\t\t\tel.setAttributeNode(attr)\n\t }\n\t},\n\tendElement:function(namespaceURI, localName, qName) {\n\t\tvar current = this.currentElement\n\t\tvar tagName = current.tagName;\n\t\tthis.currentElement = current.parentNode;\n\t},\n\tstartPrefixMapping:function(prefix, uri) {\n\t},\n\tendPrefixMapping:function(prefix) {\n\t},\n\tprocessingInstruction:function(target, data) {\n\t var ins = this.doc.createProcessingInstruction(target, data);\n\t this.locator && position(this.locator,ins)\n\t appendElement(this, ins);\n\t},\n\tignorableWhitespace:function(ch, start, length) {\n\t},\n\tcharacters:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t\t//console.log(chars)\n\t\tif(chars){\n\t\t\tif (this.cdata) {\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\n\t\t\t} else {\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\n\t\t\t}\n\t\t\tif(this.currentElement){\n\t\t\t\tthis.currentElement.appendChild(charNode);\n\t\t\t}else if(/^\\s*$/.test(chars)){\n\t\t\t\tthis.doc.appendChild(charNode);\n\t\t\t\t//process xml\n\t\t\t}\n\t\t\tthis.locator && position(this.locator,charNode)\n\t\t}\n\t},\n\tskippedEntity:function(name) {\n\t},\n\tendDocument:function() {\n\t\tthis.doc.normalize();\n\t},\n\tsetDocumentLocator:function (locator) {\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\n\t \tlocator.lineNumber = 0;\n\t }\n\t},\n\t//LexicalHandler\n\tcomment:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t var comm = this.doc.createComment(chars);\n\t this.locator && position(this.locator,comm)\n\t appendElement(this, comm);\n\t},\n\n\tstartCDATA:function() {\n\t //used in characters() methods\n\t this.cdata = true;\n\t},\n\tendCDATA:function() {\n\t this.cdata = false;\n\t},\n\n\tstartDTD:function(name, publicId, systemId) {\n\t\tvar impl = this.doc.implementation;\n\t if (impl && impl.createDocumentType) {\n\t var dt = impl.createDocumentType(name, publicId, systemId);\n\t this.locator && position(this.locator,dt)\n\t appendElement(this, dt);\n\t\t\t\t\tthis.doc.doctype = dt;\n\t }\n\t},\n\t/**\n\t * @see org.xml.sax.ErrorHandler\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t */\n\twarning:function(error) {\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\n\t},\n\terror:function(error) {\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\n\t},\n\tfatalError:function(error) {\n\t\tthrow new ParseError(error, this.locator);\n\t}\n}\nfunction _locator(l){\n\tif(l){\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\n\t}\n}\nfunction _toString(chars,start,length){\n\tif(typeof chars == 'string'){\n\t\treturn chars.substr(start,length)\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\n\t\tif(chars.length >= start+length || start){\n\t\t\treturn new java.lang.String(chars,start,length)+'';\n\t\t}\n\t\treturn chars;\n\t}\n}\n\n/*\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\n * used method of org.xml.sax.ext.LexicalHandler:\n * #comment(chars, start, length)\n * #startCDATA()\n * #endCDATA()\n * #startDTD(name, publicId, systemId)\n *\n *\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\n * #endDTD()\n * #startEntity(name)\n * #endEntity(name)\n *\n *\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\n * IGNORED method of org.xml.sax.ext.DeclHandler\n * \t#attributeDecl(eName, aName, type, mode, value)\n * #elementDecl(name, model)\n * #externalEntityDecl(name, publicId, systemId)\n * #internalEntityDecl(name, value)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\n * IGNORED method of org.xml.sax.EntityResolver2\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\n * #resolveEntity(publicId, systemId)\n * #getExternalSubset(name, baseURI)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\n * IGNORED method of org.xml.sax.DTDHandler\n * #notationDecl(name, publicId, systemId) {};\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\n */\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\n\tDOMHandler.prototype[key] = function(){return null}\n})\n\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\nfunction appendElement (hander,node) {\n if (!hander.currentElement) {\n hander.doc.appendChild(node);\n } else {\n hander.currentElement.appendChild(node);\n }\n}//appendChild and setAttributeNS are preformance key\n\nexports.__DOMHandler = DOMHandler;\nexports.normalizeLineEndings = normalizeLineEndings;\nexports.DOMParser = DOMParser;\n","var dom = require('./dom')\nexports.DOMImplementation = dom.DOMImplementation\nexports.XMLSerializer = dom.XMLSerializer\nexports.DOMParser = require('./dom-parser').DOMParser\n"],"names":["e","arguments","length","id","adId","sequence","apiFramework","universalAdIds","creativeExtensions","t","r","a","n","s","ERRORCODE","isCustomCode","test","CACHEBUSTING","d","Math","round","random","TIMESTAMP","Date","toISOString","RANDOM","c","push","i","match","filter","indexOf","reduce","replace","RegExp","concat","Array","isArray","map","hasOwnProperty","url","o","l","Object","getOwnPropertyNames","encodeURIComponent","charCodeAt","toString","padStart","u","track","forEach","window","Image","src","resolveURLTemplates","extractURLsFromTemplates","filterUrlTemplates","validUrls","invalidUrls","containsTemplateObject","isTemplateObjectEqual","encodeURIComponentRFC3986","replaceUrlMacros","isNumeric","isNaN","parseFloat","isFinite","flatten","joinArrayOfUniqueTemplateObjs","isValidTimeValue","Number","addLeadingZeros","isValidUrl","isBrowserEnvironment","formatMacrosValues","JSON","stringify","h","includes","m","childByName","from","childNodes","find","nodeName","childrenByName","resolveVastAdTagURI","startsWith","protocol","location","slice","lastIndexOf","parseBoolean","parseNodeText","textContent","text","trim","copyNodeAttribute","getAttribute","setAttribute","parseAttributes","attributes","nodeValue","parseDuration","parseInt","split","getStandAloneAds","getSortedAdPods","sort","assignAttributes","mergeWrapperAdData","errorURLTemplates","impressionURLTemplates","extensions","viewableImpression","followAdditionalWrappers","allowMultipleAds","fallbackOnNoAd","creatives","type","variations","companionClickTrackingURLTemplates","videoClickTrackingURLTemplates","videoCustomClickURLTemplates","trackingEvents","videoClickThroughURLTemplate","adVerifications","blockedAdCategories","icons","mediaFiles","g","required","adType","width","height","assetWidth","assetHeight","expandedWidth","expandedHeight","adSlotId","pxratio","renderingMode","staticResources","htmlResources","iframeResources","adParameters","altText","companionClickThroughURLTemplate","creativeType","value","xmlEncoded","v","duration","skipDelay","mezzanine","interactiveCreativeFile","closedCaptionFiles","charAt","fileURL","fileSize","deliveryType","mimeType","mediaType","codec","bitrate","minBitrate","maxBitrate","scalable","maintainAspectRatio","variableDuration","language","delivery","program","xPosition","yPosition","offset","staticResource","htmlResource","iframeResource","iconClickThroughURLTemplate","iconClickTrackingURLTemplates","iconViewTrackingURLTemplate","iconClickFallbackImages","hoverText","f","minSuggestedDuration","nonlinearClickThroughURLTemplate","nonlinearClickTrackingURLTemplates","T","A","name","children","keys","R","k","Wrapper","subElements","BlockedAdCategories","InLine","Category","Pricing","Verification","oneOfinLineResources","UniversalAdId","JavaScriptResource","ExecutableResource","Tracking","Creatives","Creative","Linear","MediaFiles","MediaFile","Mezzanine","NonLinear","Companion","StaticResource","Icons","Icon","y","N","parentName","parentNode","E","some","oneOfResources","b","join","message","parentElement","specVersion","w","L","toLowerCase","ad","I","C","wrongNode","U","adServingId","categories","expires","system","title","description","advertiser","pricing","survey","idRegistry","x","version","authority","viewable","notViewable","viewUndetermined","model","currency","nextWrapperURL","resource","vendor","browserOptional","parameters","S","constructor","this","_handlers","on","TypeError","event","handler","once","fired","wrapFn","off","bind","emit","removeAllListeners","listenerCount","listeners","eventNames","D","V","O","F","P","B","fetcher","super","maxWrapperDepth","rootErrorURLTemplates","remainingAds","parsingOptions","keepFailedAdPod","trackVastError","assign","getErrorURLTemplates","getEstimatedBitrate","initParsingStatus","wrapperLimit","rootURL","resetParsingStatus","byteLength","requestDuration","vastVersion","getRemainingAds","Promise","reject","Error","shift","resolveAds","wrapperDepth","then","buildVASTResponse","parseVAST","isRootVAST","parse","ads","completeWrapperResolving","parseVastXml","documentElement","adIndex","resolveAll","wrapperSequence","previousUrl","resolveWrappers","all","VASTAdTagURI","errorCode","fetchVAST","emitter","wrapperAd","catch","errorMessage","ERRORMESSAGE","hasFailed","splice","M","W","data","getItem","setItem","removeItem","clear","j","storage","initStorage","localStorage","sessionStorage","isStorageDisabled","q","K","get","async","AbortController","setTimeout","abort","timeout","fetch","signal","credentials","withCredentials","finally","clearTimeout","status","ok","statusText","error","statusCode","DOMParser","resolve","index$1","xml","parseFromString","details","rawXml","H","URLTemplateFilters","setOptions","urlHandler","urlhandler","fetchingOptions","fetchOptions","Boolean","addURLTemplateFilter","removeLastURLTemplateFilter","pop","countURLTemplateFilters","clearURLTemplateFilters","now","_","cappingFreeLunch","cappingMinimumTimeInterval","vastParser","lastSuccessfulAd","totalCalls","totalCallsTimeout","getParser","hasRemainingAds","getNextAds","z","creative","variation","muted","impressed","skippable","trackedProgressEvents","lastPercentage","_alreadyTriggeredQuartiles","emitAlwaysEvents","viewableImpressionTrackers","entries","_initLinearTracking","_initVariationTracking","linear","setDuration","clickThroughURLTemplate","clickTrackingURLTemplates","assetDuration","quartiles","firstQuartile","midpoint","thirdQuartile","setProgress","isQuartileReached","macros","progress","setMuted","setPaused","paused","setFullscreen","fullscreen","setExpand","expanded","setSkipDelay","trackImpression","trackURLs","trackViewableImpression","trackNotViewableImpression","trackUndeterminedImpression","errorWithCode","console","log","complete","notUsed","otherAdInteraction","acceptInvitation","adExpand","adCollapse","minimize","verificationNotExecuted","trackingURLTemplates","overlayViewDuration","ADPLAYHEAD","close","skip","load","click","progressFormatted","trackProgressEvents","time","urls","endsWith","ASSETURI","UNIVERSALADID","PODSEQUENCE","ADTYPE","ADSERVINGID","ADCATEGORIES","BLOCKEDADCATEGORIES","convertToTimecode","floor","toXmlDocument","String","computeSkipAtSeconds","skipOffset","p","tc","exec","hh","mm","ss","every","parseTimecodeToSeconds","pickBestMediaFile","preferredMediaTypes","normalized","bitRate","raw","candidates","extractSkipOffsetFromCreative","skipdelay","skipoffset","normalize","undefined","obj","extractSimidUrl","rawDoc","interactiveCreativeFiles","InteractiveCreativeFiles","InteractiveCreativeFile","mf","APIFramework","tagName","els","getElementsByTagName","el","extractAdsFromParsed","parsed","direct","vastResponse","adPods","adpods","flattened","pod","Ads","singlePod","adPod","adpod","singleAds","collectPodAds","out","seqRaw","seq","cidx","mediafiles","companions","companionAds","nonLinears","nonLinearAds","mediaFile","creativeIndex","as","MAX_SAFE_INTEGER","bs","collectNonLinearCreatives","nonLinear","NonLinearAds","NonLinears","nl","collectNonLinearFromXml","doc","byLocalName","root","localName","getElementsByTagNameNS","arr","firstChildText","compEls","staticRes","clickThrough","nlEls","iframeRes","htmlRes","iFrameResource","nonLinearClickThrough","buildCaptionsFromVastMediaFileRaw","mediaFileRaw","ccFiles","cc","ClosedCaptionFiles","closedCaptionFile","ClosedCaptionFile","mime_type","lang","extractClosedCaptions","kind","srclang","label","toUpperCase","AdDomManager","overlay","cfg","getAdVideo","getTracker","onSkipCallback","defineProperty","addSessionUnsub","fn","sessionUnsubs","clearSession","clearAdOverlays","resolveContainer","selector","nodeType","found","document","querySelector","HTMLElement","getNonLinearContainer","resolvedNonLinearContainer","nonLinearContainer","nonLinearSelector","getCompanionContainer","resolvedCompanionContainer","companionContainer","companionSelector","resolveMount","media","mountEl","mountSelector","closest","body","ensureOverlayMounted","mount","cs","getComputedStyle","position","style","inset","zIndex","pointerEvents","appendChild","setSafeHTML","html","tpl","createElement","innerHTML","blockedTags","Set","walker","createTreeWalker","content","NodeFilter","SHOW_ELEMENT","toRemove","nextNode","node","currentNode","has","attr","removeAttribute","isJs","isVbscript","isData","isHttp","isSafeDataImage","remove","replaceChildren","cloneNode","safeWindowOpen","rawUrl","URL","href","open","ensureSkipDom","skipWrap","skipBtn","wrap","className","btn","labels","onClick","preventDefault","stopPropagation","addEventListener","EVENT_OPTIONS","removeEventListener","hideSkipUi","display","skipOffsetRaw","skipAtSeconds","setupSkipUIForPodItem","item","update","dur","skipAt","cur","currentTime","remaining","max","ceil","requestSkip","reason","adVideo","currentBreakMeta","emitSkip","trackSkip","break","breakId","dispatchEvent","Event","companionWrap","nonLinearWrap","mountCompanions","container","flexDirection","gap","maxWidth","renderCompanion","childElementCount","companion","companionClickThrough","cursor","StaticResources","IFrameResource","iFrameResources","IFrameResources","HTMLResource","HTMLResources","img","uri","ifr","border","div","trackClick","trackClickThrough","nonLinearSuggestedDurationSeconds","minSuggestedDurationSeconds","ensureNonLinearDom","left","right","bottom","justifyContent","renderNonLinear","nonLinearClickThroughURLTemplate","pickFirst","target","mountNonLinear","mountSimidIframe","iframe","CaptionManager","captionsSignature","listCaptionTracks","list","textTracks","captureActiveCaptionTrack","prevActiveCaptionSig","active","mode","restoreActiveTextTrack","sig","tracks","ensureRawCaptions","captions","fileLanguage","fileType","attachAdCaptionTracks","vtt","created","default","adTrackEls","clearAdTracks","removeAdCaptions","getOmidClient","OmidSessionClient","OmidSession","isAvailable","injectVerificationScript","scriptUrl","params","head","verifications","accessMode","omid","partner","Partner","verificationResources","VerificationScriptResource","sdkAccessMode","AccessMode","DOMAIN","LIMITED","context","Context","setVideoElement","setAccessMode","adSession","AdSession","videoEvents","VideoEvents","adEvents","AdEvents","start","impression","destroyed","triggerSessionStart","impressionOccurred","loaded","isSkippable","isAutoPlay","vastProps","VastProperties","volume","pause","resume","skipped","volumeChange","playerStateChange","state","adUserInteraction","interactionType","bufferStart","bufferFinish","destroy","finish","enumerable","configurable","writable","key","prototype","followRedirects","vastAdData","adTagURI","customData","templateType","firstChild","nextSibling","substring","timeOffset","breakType","repeatAfter","adSource","tracker","adBreaks","getVastInputFromBreakFn","isXml","source","input","sourceType","firstSource","sources","AdScheduler","ctx","warn","onVmapError","isXmlString","getSource","getPrimaryVastLikeSource","inferSourceTypeForUrl","exact","getVastInputFromBreak","getBreakId","at","getPrerollBreak","resolvedBreaks","playedBreaks","breaks","hasExplicitPrerolls","primary","getPostrollBreak","getDueMidrollBreaks","core","pendingPercentBreaks","toAdd","pb","atSec","percent","due","breakTolerance","getDueMidrollBreak","rebuild","combined","vastLikeSources","adSourcesMode","vmap","preload","pendingVmapSrc","vmapPending","vmapLoadPromise","loadVmapAndMerge","normalizeVmapAdSource","extractVastTagUri","URI","parseVmapTimeOffset","pendingPercent","existing","vmapSrc","xmlText","xmlDoc","VMAP","vmapBreaks","prevPendingCount","rawAdBreakCount","ns","rawOffset","vastInline","vastTag","XMLSerializer","serializeToString","libBreakCount","parseVmapFallback","err","_prevPendingCount","byTag","adBreakEls","adSrc","uriEls","dataEls","reset","SIMID_PLAYER","SIMID_MEDIA","SIMID_CREATIVE","SimidSession","callbacks","creativeInfo","Map","messageListener","handleMessage","bindMediaEvents","nextMsgId","msgCounter","getTargetOrigin","_targetOrigin","origin","postMsg","payload","outgoingFormat","contentWindow","postMessage","send","args","messageId","sessionId","timestamp","pending","set","delete","sendResolve","resolvedMessageId","sendReject","parseMessageData","incomingId","msgId","onCreateSession","getMediaState","onCreativeReady","resolvedId","resolves","rejectedId","rejects","onSkip","onStop","onPause","onPlay","clickThroughUrl","onClickThrough","trackingEvent","onTrackingEvent","requestFullscreen","resize","offsetWidth","innerWidth","offsetHeight","innerHeight","durationChange","onRequestChangeAdDuration","onFatal","onLog","initSent","initPromise","creativeData","buildCreativeData","environmentData","buildEnvironmentData","started","playerRect","getBoundingClientRect","videoRect","pw","ph","vw","vh","vol","videoDimensions","top","creativeDimensions","fullscreenElement","fullscreenAllowed","variableDurationAllowed","skippableState","siteUrl","playerWidth","playerHeight","videoDuration","videoVolume","clickThruUrl","clickThruUri","currentSrc","ended","init","remainingTime","stop","adDurationChange","fatal","mediaEventMap","domEvent","simidType","mediaListeners","visibilityHandler","hidden","PluginBus","bus","cb","AdsPlugin","config","normalizeSources","hasExplicitPreroll","hasSourceVastOrVmap","allowNativeControls","resumeContent","debug","interceptPlayForPreroll","autoPlayOnReady","setup","events","vastClient","VASTClient","scheduler","captionMgr","dom","globalUnsubs","startingBreak","contentMedia","contentHadControls","leases","release","getOverlayManager","deactivate","overlayId","userPlayIntent","bindBreakScheduler","bindPrerollInterceptors","forcedMuteUntilInteraction","playAds","vastUrl","playBreakFromVast","playAdsFromXml","vastXml","tryMountSimidLayer","simidUrl","_dom","maybeStartDeferredVmap","vmapWasPending","shouldInterceptNow","shouldInterceptPreroll","userInteracted","guard","pre","startBreak","onNativePlayCapture","capture","current","onTime","earliestBreak","earliestAt","vmapOffset","tol","group","abs","startBreakGroup","onEnded","post","opts","waterfallSources","add","isLastWaterfall","suppressResumeOnError","suppressResumeOnSuccess","suppressResume","startedMain","playable","isBumper","meta","requestPayload","resumeAfter","pauseAndAcquireLease","acquire","owner","loadRawDocBestEffort","buildParsedForNonLinearFromXml","getVastXmlText","XMLDocument","emitLoaded","count","nonLinearItems","playNonLinearOnlyBreak","xmlItems","playNonLinearOnlyBreakFromXml","adEl","seqAttr","cEl","linearEl","mediaFilesEl","rawEl","collectPodAdsFromXml","AdVerifications","Vendor","resources","javaScriptResource","javascriptResource","resArr","verificationParameters","tag","verEls","jsEls","jsEl","paramsEl","extractAdVerifications","omidSession","index","VASTTracker","_lastCreative","mountAdVideo","endPromise","waitForAdEnd","clickThruRaw","videoClicks","simidCreativeInfo","simidSession","_data","_code","_reason","_reject","bindAdSurfaceCommands","bindTrackerAndTelemetry","startAdPlayback","announcer","adEnded","advertisement","items","maxDuration","companionCreative","trackCreativeView","dismissNonLinear","it","tick","elapsed","playsInline","contentPreload","forceMutedForPolicy","autoplay","controls","desiredMuted","desiredVolume","defaultMuted","min","adEndPromise","cleanup","onError","onVisibility","visibilityState","play","captionTracks","overlayMgr","activate","priority","canSeek","fullscreenEl","fullscreenVideoEl","updateOverlay","wantsAutoplayPath","syncingVolume","lastMuted","lastPaused","q25","q50","q75","q100","emitDuration","emitQuartile","quartile","onPlaying","trackResume","trackStart","trackPause","pct","trackFirstQuartile","trackMidpoint","trackThirdQuartile","trackComplete","onVolume","trackMute","trackUnmute","ev","defaultPrevented","tryPlay","p2","querySelectorAll","removeChild","shouldResume","res","normalizeVmapAdSourceFn","extractVastTagUriFn","parseVmapTimeOffsetFn","setSafeHTMLFn","getBreakIdFn","global","OpenPlayerPlugins","factory","install","PlayerCtor","getOwnPropertyDescriptor","getPlugin","plugin","installAds","extend","player","extendAds","OpenPlayerJS","getCore","freeze","object","oc","MIME_TYPE","HTML","isHTML","XML_APPLICATION","XML_TEXT","XML_XHTML_APPLICATION","XML_SVG_IMAGE","NAMESPACE","SVG","XML","XMLNS","conventions","call","predicate","ac","require$$0","notEmptyString","orderedSetReducer","element","toOrderedSet","splitOnASCIIWhitespace","copy","dest","_extends","Class","Super","pt","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","DOMException","code","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ownerDocument","ls","__set__","$$length","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","namespaceURI","_nsMap","prefix","_onAddAttribute","_removeNamedNode","lastIndex","DOMImplementation","Node","_xmlEncoder","_visitNode","callback","Document","_onUpdateChild","newChild","child","_removeChild","previous","previousSibling","next","lastChild","isDocTypeNode","isElementNode","isTextNode","isElementInsertionPossible","parentChildNodes","docTypeNode","isElementReplacementPossible","assertPreInsertionValidity1to5","parent","hasValidParentNodeType","hasInsertableNodeType","assertPreInsertionValidityInDocument","nodeChildNodes","nodeChildElements","parentElementChild","assertPreReplacementValidityInDocument","hasDoctypeChildThatIsNotChild","_insertBefore","_inDocumentAssertion","cp","newFirst","newLast","_updateOwnerDocument","newOwnerDocument","Element","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","lookupPrefix","visibleNamespaces","namespace","needNamespaceDefine","addSerializedAttribute","qualifiedName","attrs","len","prefixedNodeName","defaultNS","ai","nsi","pubid","publicId","sysid","systemId","sub","internalSubset","importNode","deep","node2","attrs2","_ownerElement","setAttributeNode","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","getNamedItem","setNamedItem","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","feature","createDocument","doctype","implementation","createElementNS","createDocumentType","insertBefore","refChild","replaceChild","oldChild","hasChildNodes","appendData","isSupported","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importedNode","getElementById","rtv","getElementsByClassName","classNames","classNamesSet","base","nodeClassNames","matches","nodeClassNamesSet","createDocumentFragment","createTextNode","createComment","createCDATASection","createProcessingInstruction","createAttribute","specified","createEntityReference","pl","createAttributeNS","hasAttribute","getAttributeNode","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","substringData","insertData","replaceData","deleteData","splitText","newText","newNode","getTextContent","exports","XML_ENTITIES","amp","apos","gt","lt","quot","HTML_ENTITIES","Aacute","aacute","Abreve","abreve","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","af","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","alpha","Amacr","amacr","amalg","AMP","And","and","andand","andd","andslope","andv","ang","ange","angle","angmsd","angmsdaa","angmsdab","angmsdac","angmsdad","angmsdae","angmsdaf","angmsdag","angmsdah","angrt","angrtvb","angrtvbd","angsph","angst","angzarr","Aogon","aogon","Aopf","aopf","ap","apacir","apE","ape","apid","ApplyFunction","approx","approxeq","Aring","aring","Ascr","ascr","Assign","ast","asymp","asympeq","Atilde","atilde","Auml","auml","awconint","awint","backcong","backepsilon","backprime","backsim","backsimeq","Backslash","Barv","barvee","Barwed","barwed","barwedge","bbrk","bbrktbrk","bcong","Bcy","bcy","bdquo","becaus","Because","because","bemptyv","bepsi","bernou","Bernoullis","Beta","beta","beth","between","Bfr","bfr","bigcap","bigcirc","bigcup","bigodot","bigoplus","bigotimes","bigsqcup","bigstar","bigtriangledown","bigtriangleup","biguplus","bigvee","bigwedge","bkarow","blacklozenge","blacksquare","blacktriangle","blacktriangledown","blacktriangleleft","blacktriangleright","blank","blk12","blk14","blk34","block","bne","bnequiv","bNot","bnot","Bopf","bopf","bot","bowtie","boxbox","boxDL","boxDl","boxdL","boxdl","boxDR","boxDr","boxdR","boxdr","boxH","boxh","boxHD","boxHd","boxhD","boxhd","boxHU","boxHu","boxhU","boxhu","boxminus","boxplus","boxtimes","boxUL","boxUl","boxuL","boxul","boxUR","boxUr","boxuR","boxur","boxV","boxv","boxVH","boxVh","boxvH","boxvh","boxVL","boxVl","boxvL","boxvl","boxVR","boxVr","boxvR","boxvr","bprime","Breve","breve","brvbar","Bscr","bscr","bsemi","bsim","bsime","bsol","bsolb","bsolhsub","bull","bullet","bump","bumpE","bumpe","Bumpeq","bumpeq","Cacute","cacute","Cap","cap","capand","capbrcup","capcap","capcup","capdot","CapitalDifferentialD","caps","caret","caron","Cayleys","ccaps","Ccaron","ccaron","Ccedil","ccedil","Ccirc","ccirc","Cconint","ccups","ccupssm","Cdot","cdot","cedil","Cedilla","cemptyv","cent","CenterDot","centerdot","Cfr","cfr","CHcy","chcy","check","checkmark","Chi","chi","cir","circ","circeq","circlearrowleft","circlearrowright","circledast","circledcirc","circleddash","CircleDot","circledR","circledS","CircleMinus","CirclePlus","CircleTimes","cirE","cire","cirfnint","cirmid","cirscir","ClockwiseContourIntegral","CloseCurlyDoubleQuote","CloseCurlyQuote","clubs","clubsuit","Colon","colon","Colone","colone","coloneq","comma","commat","comp","compfn","complement","complexes","cong","congdot","Congruent","Conint","conint","ContourIntegral","Copf","copf","coprod","Coproduct","COPY","copysr","CounterClockwiseContourIntegral","crarr","Cross","cross","Cscr","cscr","csub","csube","csup","csupe","ctdot","cudarrl","cudarrr","cuepr","cuesc","cularr","cularrp","Cup","cup","cupbrcap","CupCap","cupcap","cupcup","cupdot","cupor","cups","curarr","curarrm","curlyeqprec","curlyeqsucc","curlyvee","curlywedge","curren","curvearrowleft","curvearrowright","cuvee","cuwed","cwconint","cwint","cylcty","Dagger","dagger","daleth","Darr","dArr","darr","dash","Dashv","dashv","dbkarow","dblac","Dcaron","dcaron","Dcy","dcy","DD","dd","ddagger","ddarr","DDotrahd","ddotseq","deg","Del","Delta","delta","demptyv","dfisht","Dfr","dfr","dHar","dharl","dharr","DiacriticalAcute","DiacriticalDot","DiacriticalDoubleAcute","DiacriticalGrave","DiacriticalTilde","diam","Diamond","diamond","diamondsuit","diams","die","DifferentialD","digamma","disin","divide","divideontimes","divonx","DJcy","djcy","dlcorn","dlcrop","dollar","Dopf","dopf","Dot","dot","DotDot","doteq","doteqdot","DotEqual","dotminus","dotplus","dotsquare","doublebarwedge","DoubleContourIntegral","DoubleDot","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DownArrow","Downarrow","downarrow","DownArrowBar","DownArrowUpArrow","DownBreve","downdownarrows","downharpoonleft","downharpoonright","DownLeftRightVector","DownLeftTeeVector","DownLeftVector","DownLeftVectorBar","DownRightTeeVector","DownRightVector","DownRightVectorBar","DownTee","DownTeeArrow","drbkarow","drcorn","drcrop","Dscr","dscr","DScy","dscy","dsol","Dstrok","dstrok","dtdot","dtri","dtrif","duarr","duhar","dwangle","DZcy","dzcy","dzigrarr","Eacute","eacute","easter","Ecaron","ecaron","ecir","Ecirc","ecirc","ecolon","Ecy","ecy","eDDot","Edot","eDot","edot","ee","efDot","Efr","efr","eg","Egrave","egrave","egs","egsdot","elinters","ell","elsdot","Emacr","emacr","empty","emptyset","EmptySmallSquare","emptyv","EmptyVerySmallSquare","emsp","emsp13","emsp14","ENG","eng","ensp","Eogon","eogon","Eopf","eopf","epar","eparsl","eplus","epsi","Epsilon","epsilon","epsiv","eqcirc","eqcolon","eqsim","eqslantgtr","eqslantless","Equal","equals","EqualTilde","equest","Equilibrium","equiv","equivDD","eqvparsl","erarr","erDot","Escr","escr","esdot","Esim","esim","Eta","eta","ETH","eth","Euml","euml","euro","excl","exist","Exists","expectation","ExponentialE","exponentiale","fallingdotseq","Fcy","fcy","female","ffilig","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","fltns","fnof","Fopf","fopf","ForAll","forall","fork","forkv","Fouriertrf","fpartint","frac12","frac13","frac14","frac15","frac16","frac18","frac23","frac25","frac34","frac35","frac38","frac45","frac56","frac58","frac78","frasl","frown","Fscr","fscr","gacute","Gamma","gamma","Gammad","gammad","Gbreve","gbreve","Gcedil","Gcirc","gcirc","Gcy","gcy","Gdot","gdot","gE","ge","gEl","gel","geq","geqq","geqslant","ges","gescc","gesdot","gesdoto","gesdotol","gesl","gesles","Gfr","gfr","Gg","gg","ggg","gimel","GJcy","gjcy","gl","gla","glE","glj","gnap","gnapprox","gnE","gne","gneq","gneqq","gnsim","Gopf","gopf","grave","GreaterEqual","GreaterEqualLess","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterTilde","Gscr","gscr","gsim","gsime","gsiml","Gt","GT","gtcc","gtcir","gtdot","gtlPar","gtquest","gtrapprox","gtrarr","gtrdot","gtreqless","gtreqqless","gtrless","gtrsim","gvertneqq","gvnE","Hacek","hairsp","half","hamilt","HARDcy","hardcy","hArr","harr","harrcir","harrw","Hat","hbar","Hcirc","hcirc","hearts","heartsuit","hellip","hercon","Hfr","hfr","HilbertSpace","hksearow","hkswarow","hoarr","homtht","hookleftarrow","hookrightarrow","Hopf","hopf","horbar","HorizontalLine","Hscr","hscr","hslash","Hstrok","hstrok","HumpDownHump","HumpEqual","hybull","hyphen","Iacute","iacute","ic","Icirc","icirc","Icy","icy","Idot","IEcy","iecy","iexcl","iff","Ifr","Igrave","igrave","ii","iiiint","iiint","iinfin","iiota","IJlig","ijlig","Im","Imacr","imacr","image","ImaginaryI","imagline","imagpart","imath","imof","imped","Implies","in","incare","infin","infintie","inodot","Int","int","intcal","integers","Integral","intercal","Intersection","intlarhk","intprod","InvisibleComma","InvisibleTimes","IOcy","iocy","Iogon","iogon","Iopf","iopf","Iota","iota","iprod","iquest","Iscr","iscr","isin","isindot","isinE","isins","isinsv","isinv","Itilde","itilde","Iukcy","iukcy","Iuml","iuml","Jcirc","jcirc","Jcy","jcy","Jfr","jfr","jmath","Jopf","jopf","Jscr","jscr","Jsercy","jsercy","Jukcy","jukcy","Kappa","kappa","kappav","Kcedil","kcedil","Kcy","kcy","Kfr","kfr","kgreen","KHcy","khcy","KJcy","kjcy","Kopf","kopf","Kscr","kscr","lAarr","Lacute","lacute","laemptyv","lagran","Lambda","lambda","Lang","langd","langle","lap","Laplacetrf","laquo","Larr","lArr","larr","larrb","larrbfs","larrfs","larrhk","larrlp","larrpl","larrsim","larrtl","lat","lAtail","latail","late","lates","lBarr","lbarr","lbbrk","lbrace","lbrack","lbrke","lbrksld","lbrkslu","Lcaron","lcaron","Lcedil","lcedil","lceil","lcub","Lcy","lcy","ldca","ldquo","ldquor","ldrdhar","ldrushar","ldsh","lE","le","LeftAngleBracket","LeftArrow","Leftarrow","leftarrow","LeftArrowBar","LeftArrowRightArrow","leftarrowtail","LeftCeiling","LeftDoubleBracket","LeftDownTeeVector","LeftDownVector","LeftDownVectorBar","LeftFloor","leftharpoondown","leftharpoonup","leftleftarrows","LeftRightArrow","Leftrightarrow","leftrightarrow","leftrightarrows","leftrightharpoons","leftrightsquigarrow","LeftRightVector","LeftTee","LeftTeeArrow","LeftTeeVector","leftthreetimes","LeftTriangle","LeftTriangleBar","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVector","LeftUpVectorBar","LeftVector","LeftVectorBar","lEg","leg","leq","leqq","leqslant","les","lescc","lesdot","lesdoto","lesdotor","lesg","lesges","lessapprox","lessdot","lesseqgtr","lesseqqgtr","LessEqualGreater","LessFullEqual","LessGreater","lessgtr","LessLess","lesssim","LessSlantEqual","LessTilde","lfisht","lfloor","Lfr","lfr","lg","lgE","lHar","lhard","lharu","lharul","lhblk","LJcy","ljcy","Ll","ll","llarr","llcorner","Lleftarrow","llhard","lltri","Lmidot","lmidot","lmoust","lmoustache","lnap","lnapprox","lnE","lne","lneq","lneqq","lnsim","loang","loarr","lobrk","LongLeftArrow","Longleftarrow","longleftarrow","LongLeftRightArrow","Longleftrightarrow","longleftrightarrow","longmapsto","LongRightArrow","Longrightarrow","longrightarrow","looparrowleft","looparrowright","lopar","Lopf","lopf","loplus","lotimes","lowast","lowbar","LowerLeftArrow","LowerRightArrow","loz","lozenge","lozf","lpar","lparlt","lrarr","lrcorner","lrhar","lrhard","lrm","lrtri","lsaquo","Lscr","lscr","Lsh","lsh","lsim","lsime","lsimg","lsqb","lsquo","lsquor","Lstrok","lstrok","Lt","LT","ltcc","ltcir","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","mapsto","mapstodown","mapstoleft","mapstoup","marker","mcomma","Mcy","mcy","mdash","mDDot","measuredangle","MediumSpace","Mellintrf","Mfr","mfr","mho","micro","mid","midast","midcir","middot","minus","minusb","minusd","minusdu","MinusPlus","mlcp","mldr","mnplus","models","Mopf","mopf","mp","Mscr","mscr","mstpos","Mu","mu","multimap","mumap","nabla","Nacute","nacute","nang","nap","napE","napid","napos","napprox","natur","natural","naturals","nbsp","nbump","nbumpe","ncap","Ncaron","ncaron","Ncedil","ncedil","ncong","ncongdot","ncup","Ncy","ncy","ndash","ne","nearhk","neArr","nearr","nearrow","nedot","NegativeMediumSpace","NegativeThickSpace","NegativeThinSpace","NegativeVeryThinSpace","nequiv","nesear","nesim","NestedGreaterGreater","NestedLessLess","NewLine","nexist","nexists","Nfr","nfr","ngE","nge","ngeq","ngeqq","ngeqslant","nges","nGg","ngsim","nGt","ngt","ngtr","nGtv","nhArr","nharr","nhpar","ni","nis","nisd","niv","NJcy","njcy","nlArr","nlarr","nldr","nlE","nle","nLeftarrow","nleftarrow","nLeftrightarrow","nleftrightarrow","nleq","nleqq","nleqslant","nles","nless","nLl","nlsim","nLt","nlt","nltri","nltrie","nLtv","nmid","NoBreak","NonBreakingSpace","Nopf","nopf","Not","not","NotCongruent","NotCupCap","NotDoubleVerticalBar","NotElement","NotEqual","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","NotHumpDownHump","NotHumpEqual","notin","notindot","notinE","notinva","notinvb","notinvc","NotLeftTriangle","NotLeftTriangleBar","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","notni","notniva","notnivb","notnivc","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotReverseElement","NotRightTriangle","NotRightTriangleBar","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","npar","nparallel","nparsl","npart","npolint","npr","nprcue","npre","nprec","npreceq","nrArr","nrarr","nrarrc","nrarrw","nRightarrow","nrightarrow","nrtri","nrtrie","nsc","nsccue","nsce","Nscr","nscr","nshortmid","nshortparallel","nsim","nsime","nsimeq","nsmid","nspar","nsqsube","nsqsupe","nsub","nsubE","nsube","nsubset","nsubseteq","nsubseteqq","nsucc","nsucceq","nsup","nsupE","nsupe","nsupset","nsupseteq","nsupseteqq","ntgl","Ntilde","ntilde","ntlg","ntriangleleft","ntrianglelefteq","ntriangleright","ntrianglerighteq","Nu","nu","num","numero","numsp","nvap","nVDash","nVdash","nvDash","nvdash","nvge","nvgt","nvHarr","nvinfin","nvlArr","nvle","nvlt","nvltrie","nvrArr","nvrtrie","nvsim","nwarhk","nwArr","nwarr","nwarrow","nwnear","Oacute","oacute","oast","ocir","Ocirc","ocirc","Ocy","ocy","odash","Odblac","odblac","odiv","odot","odsold","OElig","oelig","ofcir","Ofr","ofr","ogon","Ograve","ograve","ogt","ohbar","ohm","oint","olarr","olcir","olcross","oline","olt","Omacr","omacr","Omega","omega","Omicron","omicron","ominus","Oopf","oopf","opar","OpenCurlyDoubleQuote","OpenCurlyQuote","operp","oplus","Or","or","orarr","ord","order","orderof","ordf","ordm","origof","oror","orslope","orv","oS","Oscr","oscr","Oslash","oslash","osol","Otilde","otilde","Otimes","otimes","otimesas","Ouml","ouml","ovbar","OverBar","OverBrace","OverBracket","OverParenthesis","par","para","parallel","parsim","parsl","part","PartialD","Pcy","pcy","percnt","period","permil","perp","pertenk","Pfr","pfr","Phi","phi","phiv","phmmat","phone","Pi","pi","pitchfork","piv","planck","planckh","plankv","plus","plusacir","plusb","pluscir","plusdo","plusdu","pluse","PlusMinus","plusmn","plussim","plustwo","pm","Poincareplane","pointint","Popf","popf","pound","Pr","pr","prap","prcue","prE","prec","precapprox","preccurlyeq","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","preceq","precnapprox","precneqq","precnsim","precsim","Prime","prime","primes","prnap","prnE","prnsim","prod","Product","profalar","profline","profsurf","prop","Proportion","Proportional","propto","prsim","prurel","Pscr","pscr","Psi","psi","puncsp","Qfr","qfr","qint","Qopf","qopf","qprime","Qscr","qscr","quaternions","quatint","quest","questeq","QUOT","rAarr","race","Racute","racute","radic","raemptyv","Rang","rang","rangd","range","rangle","raquo","Rarr","rArr","rarr","rarrap","rarrb","rarrbfs","rarrc","rarrfs","rarrhk","rarrlp","rarrpl","rarrsim","Rarrtl","rarrtl","rarrw","rAtail","ratail","ratio","rationals","RBarr","rBarr","rbarr","rbbrk","rbrace","rbrack","rbrke","rbrksld","rbrkslu","Rcaron","rcaron","Rcedil","rcedil","rceil","rcub","Rcy","rcy","rdca","rdldhar","rdquo","rdquor","rdsh","Re","real","realine","realpart","reals","rect","REG","reg","ReverseElement","ReverseEquilibrium","ReverseUpEquilibrium","rfisht","rfloor","Rfr","rfr","rHar","rhard","rharu","rharul","Rho","rho","rhov","RightAngleBracket","RightArrow","Rightarrow","rightarrow","RightArrowBar","RightArrowLeftArrow","rightarrowtail","RightCeiling","RightDoubleBracket","RightDownTeeVector","RightDownVector","RightDownVectorBar","RightFloor","rightharpoondown","rightharpoonup","rightleftarrows","rightleftharpoons","rightrightarrows","rightsquigarrow","RightTee","RightTeeArrow","RightTeeVector","rightthreetimes","RightTriangle","RightTriangleBar","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVector","RightUpVectorBar","RightVector","RightVectorBar","ring","risingdotseq","rlarr","rlhar","rlm","rmoust","rmoustache","rnmid","roang","roarr","robrk","ropar","Ropf","ropf","roplus","rotimes","RoundImplies","rpar","rpargt","rppolint","rrarr","Rrightarrow","rsaquo","Rscr","rscr","Rsh","rsh","rsqb","rsquo","rsquor","rthree","rtimes","rtri","rtrie","rtrif","rtriltri","RuleDelayed","ruluhar","rx","Sacute","sacute","sbquo","Sc","sc","scap","Scaron","scaron","sccue","scE","sce","Scedil","scedil","Scirc","scirc","scnap","scnE","scnsim","scpolint","scsim","Scy","scy","sdot","sdotb","sdote","searhk","seArr","searr","searrow","sect","semi","seswar","setminus","setmn","sext","Sfr","sfr","sfrown","sharp","SHCHcy","shchcy","SHcy","shcy","ShortDownArrow","ShortLeftArrow","shortmid","shortparallel","ShortRightArrow","ShortUpArrow","shy","Sigma","sigma","sigmaf","sigmav","sim","simdot","sime","simeq","simg","simgE","siml","simlE","simne","simplus","simrarr","slarr","SmallCircle","smallsetminus","smashp","smeparsl","smid","smile","smt","smte","smtes","SOFTcy","softcy","sol","solb","solbar","Sopf","sopf","spades","spadesuit","spar","sqcap","sqcaps","sqcup","sqcups","Sqrt","sqsub","sqsube","sqsubset","sqsubseteq","sqsup","sqsupe","sqsupset","sqsupseteq","squ","Square","square","SquareIntersection","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","squarf","squf","srarr","Sscr","sscr","ssetmn","ssmile","sstarf","Star","star","starf","straightepsilon","straightphi","strns","Sub","subdot","subE","sube","subedot","submult","subnE","subne","subplus","subrarr","Subset","subset","subseteq","subseteqq","SubsetEqual","subsetneq","subsetneqq","subsim","subsub","subsup","succ","succapprox","succcurlyeq","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","succeq","succnapprox","succneqq","succnsim","succsim","SuchThat","Sum","sum","sung","Sup","sup","sup1","sup2","sup3","supdot","supdsub","supE","supe","supedot","Superset","SupersetEqual","suphsol","suphsub","suplarr","supmult","supnE","supne","supplus","Supset","supset","supseteq","supseteqq","supsetneq","supsetneqq","supsim","supsub","supsup","swarhk","swArr","swarr","swarrow","swnwar","szlig","Tab","Tau","tau","tbrk","Tcaron","tcaron","Tcedil","tcedil","Tcy","tcy","tdot","telrec","Tfr","tfr","there4","Therefore","therefore","Theta","theta","thetasym","thetav","thickapprox","thicksim","ThickSpace","thinsp","ThinSpace","thkap","thksim","THORN","thorn","Tilde","tilde","TildeEqual","TildeFullEqual","TildeTilde","times","timesb","timesbar","timesd","tint","toea","topbot","topcir","Topf","topf","topfork","tosa","tprime","TRADE","trade","triangle","triangledown","triangleleft","trianglelefteq","triangleq","triangleright","trianglerighteq","tridot","trie","triminus","TripleDot","triplus","trisb","tritime","trpezium","Tscr","tscr","TScy","tscy","TSHcy","tshcy","Tstrok","tstrok","twixt","twoheadleftarrow","twoheadrightarrow","Uacute","uacute","Uarr","uArr","uarr","Uarrocir","Ubrcy","ubrcy","Ubreve","ubreve","Ucirc","ucirc","Ucy","ucy","udarr","Udblac","udblac","udhar","ufisht","Ufr","ufr","Ugrave","ugrave","uHar","uharl","uharr","uhblk","ulcorn","ulcorner","ulcrop","ultri","Umacr","umacr","uml","UnderBar","UnderBrace","UnderBracket","UnderParenthesis","Union","UnionPlus","Uogon","uogon","Uopf","uopf","UpArrow","Uparrow","uparrow","UpArrowBar","UpArrowDownArrow","UpDownArrow","Updownarrow","updownarrow","UpEquilibrium","upharpoonleft","upharpoonright","uplus","UpperLeftArrow","UpperRightArrow","Upsi","upsi","upsih","Upsilon","upsilon","UpTee","UpTeeArrow","upuparrows","urcorn","urcorner","urcrop","Uring","uring","urtri","Uscr","uscr","utdot","Utilde","utilde","utri","utrif","uuarr","Uuml","uuml","uwangle","vangrt","varepsilon","varkappa","varnothing","varphi","varpi","varpropto","vArr","varr","varrho","varsigma","varsubsetneq","varsubsetneqq","varsupsetneq","varsupsetneqq","vartheta","vartriangleleft","vartriangleright","Vbar","vBar","vBarv","Vcy","vcy","VDash","Vdash","vDash","vdash","Vdashl","Vee","vee","veebar","veeeq","vellip","Verbar","verbar","Vert","vert","VerticalBar","VerticalLine","VerticalSeparator","VerticalTilde","VeryThinSpace","Vfr","vfr","vltri","vnsub","vnsup","Vopf","vopf","vprop","vrtri","Vscr","vscr","vsubnE","vsubne","vsupnE","vsupne","Vvdash","vzigzag","Wcirc","wcirc","wedbar","Wedge","wedge","wedgeq","weierp","Wfr","wfr","Wopf","wopf","wp","wr","wreath","Wscr","wscr","xcap","xcirc","xcup","xdtri","Xfr","xfr","xhArr","xharr","Xi","xi","xlArr","xlarr","xmap","xnis","xodot","Xopf","xopf","xoplus","xotime","xrArr","xrarr","Xscr","xscr","xsqcup","xuplus","xutri","xvee","xwedge","Yacute","yacute","YAcy","yacy","Ycirc","ycirc","Ycy","ycy","yen","Yfr","yfr","YIcy","yicy","Yopf","yopf","Yscr","yscr","YUcy","yucy","Yuml","yuml","Zacute","zacute","Zcaron","zcaron","Zcy","zcy","Zdot","zdot","zeetrf","ZeroWidthSpace","Zeta","zeta","Zfr","zfr","ZHcy","zhcy","zigrarr","Zopf","zopf","Zscr","zscr","zwj","zwnj","entityMap","nameStartChar","nameChar","tagNamePattern","ParseError","locator","XMLReader","copyLocator","lineNumber","columnNumber","parseElementStartPart","currentNSMap","entityReplacer","errorHandler","addAttribute","qname","startIndex","attributeNames","fatalError","addValue","attrName","warning","setTagName","closed","appendElement","domBuilder","localNSMap","qName","nsp","nsPrefix","_copy","startPrefixMapping","startElement","endElement","endPrefixMapping","parseHtmlSpecialContent","elStartEnd","elEndStart","characters","fixSelfClosed","closeMap","pos","parseDCC","end","comment","substr","startCDATA","endCDATA","matchs","lastMatch","startDTD","endDTD","parseInstruction","processingInstruction","ElementAttributes","defaultNSMap","startDocument","defaultNSMapCopy","fixedFromCharCode","surrogate1","surrogate2","fromCharCode","appendText","xt","lineEnd","linePattern","lineStart","parseStack","tagStart","currentElement","endMatch","locator2","endDocument","getLocalName","getLocator","getQName","getURI","getValue","sax","require$$1","entities","require$$2","require$$3","normalizeLineEndings","options","DOMHandler","cdata","_locator","_toString","chars","java","hander","xmlns","setDocumentLocator","errorImpl","isCallback","Function","build","msg","buildErrorHandler","documentURI","ins","ignorableWhitespace","ch","apply","charNode","skippedEntity","comm","impl","dt","domParser","__DOMHandler","lib"],"mappings":"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","x_google_ignoreList":[0,5,12,13,14,15,16,17]}
|