{"version":3,"sources":["webpack:///./node_modules/@nextcloud/vue/dist/Components/AppNavigationSpacer.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/AppSidebar.js","webpack:///./node_modules/p-limit/index.js","webpack:///./node_modules/p-try/index.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///./node_modules/dompurify/dist/purify.js"],"names":["window","module","exports","e","t","n","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","0","a","u","options","render","staticRenderFns","_compiled","functional","_scopeId","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","f","beforeCreate","concat","1","toString","map","btoa","unescape","encodeURIComponent","JSON","stringify","sources","sourceRoot","join","length","push","169","name","$createElement","_self","_c","staticClass","2","id","css","media","sourceMap","parts","v","document","DEBUG","Error","head","getElementsByTagName","navigator","test","userAgent","toLowerCase","h","refs","g","createElement","type","appendChild","querySelector","parentNode","removeChild","x","setAttribute","ssrId","styleSheet","cssText","firstChild","createTextNode","y","b","filter","Boolean","childNodes","insertBefore","209","210","99","locals","A","10","100","inserted","focus","101","102","11","12","VTooltip","defaultTemplate","defaultHtml","125","13","15","170","trim","indexOf","components","Actions","directives","props","active","String","title","required","titleEditable","titlePlaceholder","subtitle","background","starred","starLoading","compact","data","tabs","activeTab","isStarred","children","computed","canStar","hasFigure","$slots","header","hasMultipleTabs","hasFigureClickListener","$listeners","currentTabIndex","findIndex","watch","updateActive","updateTabs","mounted","$children","methods","closeSidebar","$emit","onFigureClick","setActive","target","closest","dataset","focusPreviousTab","focusActiveTab","focusNextTab","focusFirstTab","focusLastTab","$el","focusActiveTabContent","toggleStarred","icon","util","warn","sort","order","OC","Util","naturalSortCompare","onTitleInput","attrs","class","href","on","click","preventDefault","_v","style","backgroundImage","_t","_e","_s","rawName","placeholder","domProps","input","keydown","_k","keyCode","key","button","ctrlKey","shiftKey","altKey","metaKey","_l","tabindex","role","19","B","20","21","211","212","213","214","215","216","22","Math","random","replace","substr","24","26","3","31","35","getBoundingClientRect","documentElement","clientHeight","clientWidth","assign","top","left","bottom","right","any","all","offsetY","offsetX","forEach","componentOptions","tag","splice","ClickOutside","directive","tooltip","open","menuAlign","validator","defaultIcon","actions","opened","focusIndex","randomId","offsetYArrow","rotateArrow","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","is","to","exact","firstActionEvent","listeners","firstActionEventBinding","firstActionClass","$nextTick","onOpen","beforeMount","initActions","beforeUpdate","toggleMenu","focusFirstAction","closeMenu","$refs","menu","round","onMouseFocusAction","activeElement","querySelectorAll","Array","focusAction","removeCurrentActive","classList","remove","focusPreviousAction","max","focusNextAction","min","focusLastAction","execFirstAction","_b","text","expression","modifiers","auto","rel","_d","hidden","ref","marginRight","marginTop","mousemove","transform","37","38","4","42","5","50","56","6","7","slice","hash","needQuotes","72","74","75","76","77","8","9","pTry","require","pLimit","concurrency","Number","isInteger","Infinity","Promise","reject","TypeError","queue","activeCount","next","shift","run","fn","resolve","args","result","then","enqueue","generator","defineProperties","pendingCount","arguments_","root","block","newline","code","fences","hr","heading","blockquote","list","html","def","nptable","noop","table","lheading","_paragraph","Lexer","tokens","links","marked","defaults","rules","normal","pedantic","gfm","_label","_title","edit","getRegex","bullet","item","source","_tag","_comment","paragraph","merge","lex","src","token","loose","cap","bull","listStart","listItems","space","isordered","istask","ischecked","exec","substring","lastToken","trimRight","codeBlockStyle","rtrim","lang","depth","splitCells","align","split","cells","ordered","start","match","RegExp","smartLists","charAt","undefined","task","checked","sanitize","pre","sanitizer","escape","charCodeAt","inline","autolink","url","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","_","fromCharCode","parseInt","regex","opt","val","cleanUrl","base","prot","decodeURIComponent","originIndependentUrl","baseUrls","resolveUrl","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","out","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","image","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","originalSlug","obj","arguments","tableRow","count","offset","str","curr","invert","suffLen","currChar","checkSanitizeDeprecation","callback","pending","done","err","message","setOptions","getDefaults","parser","lexer","inlineLexer","freeze$1","freeze","svg","svgFilters","mathMl","freeze$2","html$1","svg$1","mathMl$1","xml","setPrototypeOf","apply$1","Reflect","apply","addToSet","set","array","element","lcElement","isFrozen","clone","object","newObject","property","fun","thisValue","seal","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","_typeof","iterator","constructor","_toConsumableArray","arr","isArray","arr2","from","arraySlice","getGlobal","_createTrustedTypesPolicy","trustedTypes","createPolicy","suffix","currentScript","hasAttribute","getAttribute","policyName","createHTML","html$$1","error","createDOMPurify","DOMPurify","version","removed","nodeType","isSupported","originalDocument","useDOMParser","removeTitle","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","Text","Comment","DOMParser","TrustedTypes","template","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","importNode","hooks","createHTMLDocument","documentMode","MUSTACHE_EXPR$$1","ERB_EXPR$$1","DATA_ATTR$$1","ARIA_ATTR$$1","IS_SCRIPT_OR_DATA$$1","ATTR_WHITESPACE$$1","IS_ALLOWED_URI$$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_JQUERY","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","tbody","_forceRemove","node","outerHTML","_removeAttribute","attribute","getAttributeNode","removeAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","parseFromString","firstElementChild","innerHTML","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","FILTER_ACCEPT","_isNode","nodeName","_executeHook","entryPoint","currentNode","hook","_sanitizeElements","elm","textContent","attributes","namespaceURI","tagName","allowedTags","insertAdjacentHTML","htmlToInsert","cloneNode","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attr","idAttr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","keys","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","importedNode","oldNode","returnNode","toStaticHTML","nodeIterator","serializedHTML","setConfig","clearConfig","isValidAttribute","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","factory"],"mappings":"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","file":"vue-7.js?v=9210268c9d6241a24ac9","sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/AppNavigationSpacer\",[],t):\"object\"==typeof exports?exports[\"Components/AppNavigationSpacer\"]=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/AppNavigationSpacer\"]=t())}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/dist/\",n(n.s=169)}({0:function(e,t,n){\"use strict\";function r(e,t,n,r,o,i,a,s){var c,u=\"function\"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId=\"data-v-\"+i),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,this.$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var f=u.render;u.render=function(e,t){return c.call(t),f(e,t)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:u}}n.d(t,\"a\",function(){return r})},1:function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||\"\",r=e[3];if(!r)return n;if(t&&\"function\"==typeof btoa){var o=(a=r,s=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),c=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(s),\"/*# \".concat(c,\" */\")),i=r.sources.map(function(e){return\"/*# sourceURL=\".concat(r.sourceRoot||\"\").concat(e,\" */\")});return[n].concat(i).concat([o]).join(\"\\n\")}var a,s,c;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n}).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r=0;r\n *\n * @author 2019 Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */t.default=i},2:function(e,t,n){\"use strict\";function r(e,t){for(var n=[],r={},o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar i={inserted:function(A){A.focus()}};t.default=i},101:function(A,t,e){var i=e(214);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"29dd0d36\",i,!0,{})},102:function(A,t,e){var i=e(216);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"4dd3631b\",i,!0,{})},11:function(A,t,e){\"use strict\";e.r(t),t.default=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTJiMTU1NDEiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtMmIxNTU0MSIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0xIDAgNTAxMSA0ODQ0IiB1bmRlcmxpbmUtdGhpY2tuZXNzPSIwIiB1bmRlcmxpbmUtcG9zaXRpb249IjUwIiB1bmljb2RlLXJhbmdlPSJVK2VhMDEtZWEwYyIgLz48bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iMCIgIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQtZG91YmxlIiB1bmljb2RlPSImI3hlYTAxOyIgZD0iTTM3NTAgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFpNMjM0NCAzOTA2IGwtMTQwNiAtMTQwNiBsMTQwNiAtMTQwNiBsMCAzMTIgbC0xMDk0IDEwOTQgbDEwOTQgMTA5NCBsMCAzMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctbGVmdCIgdW5pY29kZT0iJiN4ZWEwMjsiIGQ9Ik0xNTYzIDI1MDAgbDE4NzUgLTE4NzUgbDAgLTMxMiBsLTIxODggMjE4NyBsMjE4OCAyMTg4IGwwIC0zMTMgbC0xODc1IC0xODc1IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LXJpZ2h0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMzsiIGQ9Ik0xMjUwIDEwOTQgbDE0MDYgMTQwNiBsLTE0MDYgMTQwNiBsMCAtMzEyIGwxMDk0IC0xMDk0IGwtMTA5NCAtMTA5NCBsMCAtMzEyIFpNMjY1NiAxMDk0IGwxNDA3IDE0MDYgbC0xNDA3IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodCIgdW5pY29kZT0iJiN4ZWEwNDsiIGQ9Ik0zNDM4IDI1MDAgbC0xODc1IDE4NzUgbDAgMzEzIGwyMTg3IC0yMTg4IGwtMjE4NyAtMjE4NyBsMCAzMTIgbDE4NzUgMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja21hcmsiIHVuaWNvZGU9IiYjeGVhMDU7IiBkPSJNNDA0NSAzOTcxIGwtMjA2MSAtMjA2MSBsLTEwMjkgMTAyOSBsLTQ0MiAtNDQxIGwxNDcxIC0xNDcxIGwyNTAzIDI1MDIgbC00NDIgNDQyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNsb3NlIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQzNzUgMTE1NiBsLTUzMSAtNTMxIGwtMTM0NCAxMzQ0IGwtMTM0NCAtMTM0NCBsLTUzMSA1MzEgbDEzNDQgMTM0NCBsLTEzNDQgMTM0NCBsNTMxIDUzMSBsMTM0NCAtMTM0NCBsMTM0NCAxMzQ0IGw1MzEgLTUzMSBsLTEzNDQgLTEzNDQgbDEzNDQgLTEzNDQgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY29uZmlybSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik0yNjU2IDQ4NDQgcS0xMDEgMCAtMTgwIC01NyBxLTc0IC01MiAtMTA5IC0xMzggcS0zNSAtODYgLTE5IC0xNzUgcTE4IC05NiA5MCAtMTY3IGwxNDk1IC0xNDk0IGwtMzYxNiAwIHEtNzcgMSAtMTM5IC0yNiBxLTU4IC0yNCAtOTkgLTcwIHEtMzkgLTQ0IC01OSAtMTAxIHEtMjAgLTU2IC0yMCAtMTE2IHEwIC02MCAyMCAtMTE2IHEyMCAtNTcgNTkgLTEwMSBxNDEgLTQ2IDk5IC03MCBxNjIgLTI3IDEzOSAtMjUgbDM2MTYgMCBsLTE0OTUgLTE0OTUgcS01NSAtNTMgLTgxIC0xMTYgcS0yNCAtNTkgLTIxIC0xMjEgcTMgLTU4IDMwIC0xMTMgcTI1IC01NCA2OCAtOTcgcTQzIC00MyA5NiAtNjggcTU1IC0yNiAxMTQgLTI5IHE2MiAtMyAxMjAgMjEgcTYzIDI1IDExNiA4MSBsMjAyOSAyMDI4IHE1OSA2MCA4MCAxNDEgcTIxIDgwIDEgMTU5IHEtMjEgODIgLTgxIDE0MiBsLTIwMjkgMjAyOCBxLTQ0IDQ1IC0xMDIgNzAgcS01OCAyNSAtMTIyIDI1IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9Im1lbnUiIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNNjI1IDQzNzUgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaTTYyNSAyODEzIGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMTI1MCBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9Im1vcmUiIHVuaWNvZGU9IiYjeGVhMDk7IiBkPSJNOTM4IDMxMjUgcS0xMjggMCAtMjQ0IC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzMy41IC0xOTguNSBxLTUwIC0xMTYgLTQ5LjUgLTI0MyBxMC41IC0xMjcgNDkuNSAtMjQzIHE0NyAtMTEyIDEzMy41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzLjUgLTQ5IHExMjcuNSAwIDI0My41IDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzMuNSAxOTguNSBxNTAgMTE2IDUwIDI0MyBxMCAxMjcgLTUwIDI0MyBxLTQ3IDExMiAtMTMzLjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWk0yNTAwIDMxMjUgcS0xMjcgMCAtMjQzIC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzNC41IC0xOTguNSBxLTQ5IC0xMTYgLTQ5IC0yNDMgcTAgLTEyNyA0OSAtMjQzIHE0OCAtMTEyIDEzNC41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzIC00OSBxMTI3IDAgMjQzIDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzQuNSAxOTguNSBxNDkgMTE2IDQ5IDI0MyBxMCAxMjcgLTQ5IDI0MyBxLTQ4IDExMiAtMTM0LjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWk00MDYzIDMxMjUgcS0xMjggMCAtMjQ0IC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzMy41IC0xOTguNSBxLTQ5IC0xMTYgLTQ5IC0yNDMgcTAgLTEyNyA0OSAtMjQzIHE0NyAtMTEyIDEzMy41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzLjUgLTQ5IHExMjcuNSAwIDI0My41IDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzMuNSAxOTguNSBxNTAgMTE2IDUwIDI0MyBxMCAxMjcgLTUwIDI0MyBxLTQ3IDExMiAtMTMzLjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGF1c2UiIHVuaWNvZGU9IiYjeGVhMGE7IiBkPSJNOTM4IDQwNjMgbDAgLTMxMjUgbDEyNTAgMCBsMCAzMTI1IGwtMTI1MCAwIFpNMjgxMyA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJwbGF5IiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTYyNSA0Mzc1IGwzNzUwIC0xODc1IGwtMzc1MCAtMTg3NSBsMCAzNzUwIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InRyaWFuZ2xlLXMiIHVuaWNvZGU9IiYjeGVhMGM7IiBkPSJNMTI1MCAzMTI1IGwxMjUwIC0xMjUwIGwxMjUwIDEyNDggbC0yNTAwIDIgWiIgLz48L2ZvbnQ+PC9kZWZzPjwvc3ZnPg==\"},12:function(A,t,e){\"use strict\";e.r(t);var i=e(4);e(37);\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\ni.VTooltip.options.defaultTemplate='
'),i.VTooltip.options.defaultHtml=!1,t.default=i.VTooltip},125:function(A,t){},13:function(A,t){A.exports=require(\"core-js/modules/es.regexp.exec\")},15:function(A,t){A.exports=require(\"v-click-outside\")},170:function(A,t,e){\"use strict\";e.r(t);e(50),e(211),e(19),e(212),e(6),e(24);var i=e(5),a=e.n(i),n=e(56),o=e(100),r=function(A){return A&&\"string\"==typeof A&&\"\"!==A.trim()&&-1===A.indexOf(\" \")},s={name:\"AppSidebar\",components:{Actions:n.default},directives:{focus:o.default},props:{active:{type:String,default:\"\"},title:{type:String,default:\"\",required:!0},titleEditable:{type:Boolean,default:!1},titlePlaceholder:{type:String,default:\"\"},subtitle:{type:String,default:\"\"},background:{type:String,default:\"\"},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},data:function(){return{tabs:[],activeTab:\"\",isStarred:this.starred,children:[]}},computed:{canStar:function(){return null!==this.isStarred},hasFigure:function(){return this.$slots.header||this.background},hasMultipleTabs:function(){return this.tabs.length>1},hasFigureClickListener:function(){return this.$listeners[\"figure-click\"]},currentTabIndex:function(){var A=this;return this.tabs.findIndex(function(t){return t.id===A.activeTab})}},watch:{active:function(A){A!==this.activeTab&&this.updateActive()},starred:function(){this.isStarred=this.starred},children:function(){this.updateTabs()}},mounted:function(){this.updateTabs(),this.children=this.$children},methods:{closeSidebar:function(A){this.$emit(\"close\",A)},onFigureClick:function(A){this.$emit(\"figure-click\",A)},setActive:function(A){var t=A.target.closest(\"a\").dataset.id;this.activeTab=t,this.$emit(\"update:active\",t)},focusPreviousTab:function(){this.currentTabIndex>0&&(this.activeTab=this.tabs[this.currentTabIndex-1].id,this.$emit(\"update:active\",this.activeTab)),this.focusActiveTab()},focusNextTab:function(){this.currentTabIndex0?this.tabs[0].id:\"\"},toggleStarred:function(){this.isStarred=!this.isStarred,this.$emit(\"update:starred\",this.isStarred)},updateTabs:function(){var A=this.$children.filter(function(A){return A.name&&\"string\"==typeof A.name&&r(A.id)&&r(A.icon)});0!==A.length&&A.length!==this.$children.length&&a.a.util.warn(\"Mixing tabs and non-tab-content is not possible.\"),this.tabs=A.sort(function(A,t){var e=A.order||0,i=t.order||0;return e===i?OC.Util.naturalSortCompare(A.name,t.name):e-i}),this.tabs.length>0&&this.updateActive()},onTitleInput:function(A){this.$emit(\"input:title\",A),this.$emit(\"update:title\",A.target.value)}}},c=(e(213),e(215),e(0)),d=e(125),u=e.n(d),l=Object(c.a)(s,function(){var A=this,t=A.$createElement,e=A._self._c||t;return e(\"transition\",{attrs:{name:\"slide-right\"}},[e(\"aside\",{attrs:{id:\"app-sidebar\"}},[e(\"header\",{staticClass:\"app-sidebar-header\",class:{\"app-sidebar-header--with-figure\":A.hasFigure,\"app-sidebar-header--compact\":A.compact}},[e(\"a\",{staticClass:\"app-sidebar__close icon-close\",attrs:{href:\"#\",title:A.t(\"core\",\"close\")},on:{click:function(t){return t.preventDefault(),A.closeSidebar(t)}}}),A._v(\" \"),A.hasFigure?e(\"div\",{staticClass:\"app-sidebar-header__figure\",class:{\"app-sidebar-header__figure--with-action\":A.hasFigureClickListener},style:{backgroundImage:\"url(\"+A.background+\")\"},on:{click:A.onFigureClick}},[A._t(\"header\")],2):A._e(),A._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-header__desc\",class:{\"app-sidebar-header__desc--with-star\":A.canStar,\"app-sidebar-header__desc--with-subtitle\":A.subtitle&&!A.titleEditable,\"app-sidebar-header__desc--editable\":A.titleEditable&&!A.subtitle,\"app-sidebar-header__desc--with-subtitle--editable\":A.titleEditable&&A.subtitle}},[A.canStar?e(\"a\",{staticClass:\"app-sidebar-header__star\",class:{\"icon-starred\":A.isStarred&&!A.starLoading,\"icon-star\":!A.isStarred&&!A.starLoading,\"icon-loading-small\":A.starLoading},on:{click:function(t){return t.preventDefault(),A.toggleStarred(t)}}}):A._e(),A._v(\" \"),A.titleEditable?A._e():e(\"h2\",{staticClass:\"app-sidebar-header__title\"},[A._v(\"\\n\\t\\t\\t\\t\\t\"+A._s(A.title)+\"\\n\\t\\t\\t\\t\")]),A._v(\" \"),A.titleEditable?e(\"input\",{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"app-sidebar-header__title-input\",attrs:{type:\"text\",placeholder:A.titlePlaceholder},domProps:{value:A.title},on:{input:A.onTitleInput}}):A._e(),A._v(\" \"),\"\"!==A.subtitle.trim()?e(\"p\",{staticClass:\"app-sidebar-header__subtitle\"},[A._v(\"\\n\\t\\t\\t\\t\\t\"+A._s(A.subtitle)+\"\\n\\t\\t\\t\\t\")]):A._e(),A._v(\" \"),A.$slots[\"secondary-actions\"]?e(\"Actions\",{staticClass:\"app-sidebar-header__menu\"},[A._t(\"secondary-actions\")],2):A._e()],1),A._v(\" \"),A.$slots[\"primary-actions\"]?e(\"div\",{staticClass:\"app-sidebar-header__action\"},[A._t(\"primary-actions\")],2):A._e()]),A._v(\" \"),A.hasMultipleTabs?e(\"nav\",{staticClass:\"app-sidebar-tabs__nav\",on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"left\",37,t.key,[\"Left\",\"ArrowLeft\"])?null:\"button\"in t&&0!==t.button?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusPreviousTab(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"right\",39,t.key,[\"Right\",\"ArrowRight\"])?null:\"button\"in t&&2!==t.button?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusNextTab(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusActiveTabContent(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-up\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusFirstTab(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-down\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusLastTab(t))}]}},[e(\"ul\",A._l(A.tabs,function(t){return e(\"li\",{key:t.id,staticClass:\"app-sidebar-tabs__tab\"},[e(\"a\",{class:{active:A.activeTab===t.id},attrs:{id:t.id,\"aria-controls\":\"tab-\"+t.id,\"aria-selected\":A.activeTab===t.id,\"data-id\":t.id,href:\"#tab-\"+t.id,tabindex:A.activeTab===t.id?null:-1,role:\"tab\"},on:{click:function(t){return t.preventDefault(),A.setActive(t)}}},[e(\"span\",{staticClass:\"app-sidebar-tabs__tab-icon\",class:t.icon}),A._v(\"\\n\\t\\t\\t\\t\\t\\t\"+A._s(t.name)+\"\\n\\t\\t\\t\\t\\t\")])])}),0)]):A._e(),A._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-tabs__content\",class:{\"app-sidebar-tabs__content--multiple\":A.hasMultipleTabs}},[A._t(\"default\",null,{activeTab:A.activeTab})],2)])])},[],!1,null,\"3242ef51\",null);\"function\"==typeof u.a&&u()(l);var p=l.exports;e.d(t,\"AppSidebar\",function(){return p});\n/*\n * @copyright 2019 Christoph Wurst \n *\n * @author 2019 Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */t.default=p},19:function(A,t){A.exports=require(\"core-js/modules/es.array.index-of\")},2:function(A,t,e){\"use strict\";function i(A,t){for(var e=[],i={},a=0;ae.parts.length&&(i.parts.length=e.parts.length)}else{var o=[];for(a=0;a.app-sidebar__close[data-v-3242ef51]{position:absolute;width:44px;height:44px;top:0;right:0;z-index:100;opacity:.7;border-radius:22px}#app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-3242ef51]:hover,#app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-3242ef51]:active,#app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-3242ef51]:focus{opacity:1;background-color:rgba(127,127,127,0.25)}#app-sidebar .app-sidebar-header__figure[data-v-3242ef51]{max-height:250px;height:250px;width:100%;background-size:contain;background-position:center;background-repeat:no-repeat}#app-sidebar .app-sidebar-header__figure--with-action[data-v-3242ef51]{cursor:pointer}#app-sidebar .app-sidebar-header__desc[data-v-3242ef51]{position:relative;padding:18px 88px 18px 9px;display:flex;height:23px;flex-direction:column;justify-content:center;box-sizing:content-box}#app-sidebar .app-sidebar-header__desc--with-star[data-v-3242ef51]{padding-left:44px}#app-sidebar .app-sidebar-header__desc--with-subtitle[data-v-3242ef51]{justify-content:space-between;height:46px}#app-sidebar .app-sidebar-header__desc--editable[data-v-3242ef51]{height:34.5px}#app-sidebar .app-sidebar-header__desc--with-subtitle--editable[data-v-3242ef51]{height:69px}#app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle[data-v-3242ef51]{margin-left:7px}#app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle input.app-sidebar-header__title-input[data-v-3242ef51]{margin-top:-9px}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__title[data-v-3242ef51],#app-sidebar .app-sidebar-header__desc .app-sidebar-header__subtitle[data-v-3242ef51]{width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__title[data-v-3242ef51]{padding:0}#app-sidebar .app-sidebar-header__desc input.app-sidebar-header__title-input[data-v-3242ef51]{font-size:16px;width:100%}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__subtitle[data-v-3242ef51]{font-size:14px;padding:0;opacity:.7}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__star[data-v-3242ef51]{display:block;width:44px;height:44px;padding:14px;position:absolute;top:6px;left:0}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__menu[data-v-3242ef51]{position:absolute;right:22px;top:50%;margin-top:-22px;background-color:rgba(127,127,127,0.25);border-radius:22px}#app-sidebar .app-sidebar-header__action[data-v-3242ef51]{display:flex;margin:0 10px;max-height:50px;align-items:center}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__figure[data-v-3242ef51]{height:64px;width:64px;margin:9px;border-radius:3px;position:absolute;left:0;top:0;z-index:2}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc[data-v-3242ef51]{padding-left:44px;margin-left:40px;height:46px}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc .app-sidebar-header__star[data-v-3242ef51]{margin-top:-9px;z-index:3}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc .app-sidebar-header__menu[data-v-3242ef51]{right:44px;top:0;margin:0;background-color:transparent}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc--editable[data-v-3242ef51]{padding-top:0}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc--editable input.app-sidebar-header__title-input[data-v-3242ef51]{margin-top:0}#app-sidebar .app-sidebar-tabs__nav[data-v-3242ef51]{margin-top:10px}#app-sidebar .app-sidebar-tabs__nav ul[data-v-3242ef51]{display:flex;justify-content:stretch}#app-sidebar .app-sidebar-tabs__tab[data-v-3242ef51]{display:block;text-align:center;flex:1 1}#app-sidebar .app-sidebar-tabs__tab a[data-v-3242ef51]{display:block;padding-top:25px;padding-bottom:5px;position:relative;border-bottom:1px solid var(--color-border);text-align:center;opacity:.7;color:var(--color-main-text);transition:color var(--animation-quick),opacity var(--animation-quick),border-color var(--animation-quick)}#app-sidebar .app-sidebar-tabs__tab a[data-v-3242ef51]:hover,#app-sidebar .app-sidebar-tabs__tab a[data-v-3242ef51]:focus,#app-sidebar .app-sidebar-tabs__tab a[data-v-3242ef51]:active,#app-sidebar .app-sidebar-tabs__tab a.active[data-v-3242ef51]{opacity:1}#app-sidebar .app-sidebar-tabs__tab a:hover .app-sidebar-tabs__tab-icon[data-v-3242ef51],#app-sidebar .app-sidebar-tabs__tab a:focus .app-sidebar-tabs__tab-icon[data-v-3242ef51],#app-sidebar .app-sidebar-tabs__tab a:active .app-sidebar-tabs__tab-icon[data-v-3242ef51],#app-sidebar .app-sidebar-tabs__tab a.active .app-sidebar-tabs__tab-icon[data-v-3242ef51]{opacity:1}#app-sidebar .app-sidebar-tabs__tab a[data-v-3242ef51]:not(.active):hover,#app-sidebar .app-sidebar-tabs__tab a[data-v-3242ef51]:not(.active):focus{box-shadow:inset 0 -1px 0 var(--color-background-darker);border-bottom-color:var(--color-background-darker)}#app-sidebar .app-sidebar-tabs__tab a.active[data-v-3242ef51]{font-weight:bold;color:var(--color-text-light);border-bottom-color:var(--color-text-light);box-shadow:inset 0 -1px 0 var(--color-text-light)}#app-sidebar .app-sidebar-tabs__tab a[data-v-3242ef51]:focus{border-bottom-color:var(--color-primary-element);box-shadow:inset 0 -1px 0 var(--color-primary-element)}#app-sidebar .app-sidebar-tabs__tab-icon[data-v-3242ef51]{height:25px;width:100%;position:absolute;top:0;left:0;opacity:.7;background-position:center 8px;background-size:16px;transition:opacity var(--animation-quick)}#app-sidebar .app-sidebar-tabs__content[data-v-3242ef51]{position:relative;flex:1 1 100%}#app-sidebar .app-sidebar-tabs__content--multiple[data-v-3242ef51]>:not(section){display:none}.slide-right-leave-active[data-v-3242ef51],.slide-right-enter-active[data-v-3242ef51]{transition-duration:var(--animation-quick);transition-property:max-width, min-width}.slide-right-enter-to[data-v-3242ef51],.slide-right-leave[data-v-3242ef51]{min-width:300px;max-width:500px}.slide-right-enter[data-v-3242ef51],.slide-right-leave-to[data-v-3242ef51]{min-width:0 !important;max-width:0 !important}.fade-leave-active[data-v-3242ef51],.fade-enter-active[data-v-3242ef51]{transition-duration:var(--animation-quick);transition-property:opacity;position:absolute;top:0;left:0;width:100%;opacity:1}.fade-enter[data-v-3242ef51],.fade-leave-to[data-v-3242ef51]{opacity:0}\\n\",\"\"]),A.exports=t},215:function(A,t,e){\"use strict\";var i=e(102);e.n(i).a},216:function(A,t,e){(t=e(1)(!1)).push([A.i,\".app-sidebar-header__action button,.app-sidebar-header__action .button,.app-sidebar-header__action input[type='button'],.app-sidebar-header__action input[type='submit'],.app-sidebar-header__action input[type='reset']{padding:6px 22px}\\n\",\"\"]),A.exports=t},22:function(A,t,e){\"use strict\";e(3),e(13),e(20),e(21);t.a=function(A){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,A||5)}},24:function(A,t){A.exports=require(\"core-js/modules/es.string.trim\")},26:function(A,t){A.exports=require(\"core-js/modules/es.array.concat\")},3:function(A,t){A.exports=require(\"core-js/modules/es.object.to-string\")},31:function(A,t,e){var i=e(77);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"aba74858\",i,!0,{})},35:function(A,t,e){\"use strict\";e(26),e(50),e(19);var i=e(15),a=e(12),n=e(22),o=(e(74),function(A){var t=A.getBoundingClientRect(),e=document.documentElement.clientHeight,i=document.documentElement.clientWidth,a=Object.assign({});return a.top=t.top<0,a.left=t.left<0,a.bottom=t.bottom>e,a.right=t.right>i,a.any=a.top||a.left||a.bottom||a.right,a.all=a.top&&a.left&&a.bottom&&a.right,a.offsetY=a.top?t.top:a.bottom?t.bottom-e:0,a.offsetX=a.left?t.left:a.right?t.right-i:0,a}),r=(e(75),e(6),e(72),e(5)),s=e.n(r),c=function(A,t,e){void 0!==A&&A.forEach(function(i,a){var n=!i.componentOptions&&i.tag&&-1===t.indexOf(i.tag),o=!!i.componentOptions&&\"string\"==typeof i.componentOptions.tag&&-1===t.indexOf(i.componentOptions.tag);(n||o)&&(s.a.util.warn(\"\".concat(n?i.tag:i.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),A.splice(a,1))})},d=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\"],u={name:\"Actions\",directives:{ClickOutside:i.directive,tooltip:a.default},props:{open:{type:Boolean,default:!1},menuAlign:{type:String,default:\"center\",validator:function(A){return[\"left\",\"center\",\"right\"].indexOf(A)>-1}},defaultIcon:{type:String,default:\"action-item__menutoggle--default-icon\"}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(n.a)(),offsetX:0,offsetY:0,offsetYArrow:0,rotateArrow:!1,children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var A=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===A)return{is:\"a\",href:this.firstAction.href,target:this.firstAction.target};if(\"ActionRouter\"===A)return{is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact};if(\"ActionButton\"===A)return{is:\"button\"}}return null},firstActionEvent:function(){return this.firstActionVNode&&this.firstActionVNode.componentOptions&&this.firstActionVNode.componentOptions.listeners&&this.firstActionVNode.componentOptions.listeners.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionClass:function(){var A=this.firstActionVNode&&this.firstActionVNode.data.staticClass,t=this.firstActionVNode&&this.firstActionVNode.data.class;return\"\".concat(A,\" \").concat(t)}},watch:{open:function(A){var t=this;this.opened=A,this.opened&&this.$nextTick(function(){t.onOpen()})}},beforeMount:function(){this.initActions(),c(this.$slots.default,d,this)},beforeUpdate:function(){this.initActions(),c(this.$slots.default,d,this)},methods:{toggleMenu:function(){var A=this;this.opened=!this.opened,this.opened?(this.$nextTick(function(){A.onOpen(),A.focusFirstAction()}),this.$emit(\"open\")):(this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1),this.$emit(\"update:open\",this.opened)},closeMenu:function(){this.opened&&(this.$emit(\"update:open\",!1),this.$emit(\"close\")),this.opened=!1,this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1},onOpen:function(){if(this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1,\"center\"===this.menuAlign){var A=o(this.$refs.menu);(A.left||A.right)&&(this.offsetX=A.offsetX>0?Math.round(A.offsetX)+5:Math.round(A.offsetX)-5),A.bottom&&(this.offsetY=0-Math.round(this.$refs.menu.clientHeight)-42,this.offsetYArrow=Math.round(this.$refs.menu.clientHeight)+18,this.rotateArrow=!0)}},onMouseFocusAction:function(A){if(document.activeElement!==A.target){var t=A.target.closest(\"li\");if(t){var e=t.querySelector(\".focusable\");if(e){var i=this.$refs.menu.querySelectorAll(\".focusable\"),a=Array.prototype.indexOf.call(i,e);a>-1&&(this.focusIndex=a,this.focusAction())}}}},removeCurrentActive:function(){var A=this.$refs.menu.querySelector(\"li.active\");A&&A.classList.remove(\"active\")},focusAction:function(){var A=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(A){var t=A.closest(\"li\");A.focus(),t&&(this.removeCurrentActive(),t.classList.add(\"active\"))}},focusPreviousAction:function(){this.focusIndex=Math.max(this.focusIndex-1,0),this.focusAction()},focusNextAction:function(){this.focusIndex=Math.min(this.focusIndex+1,this.$refs.menu.querySelectorAll(\".focusable\").length-1),this.focusAction()},focusFirstAction:function(){this.focusIndex=0,this.focusAction()},focusLastAction:function(){this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction()},execFirstAction:function(A){this.firstActionEvent&&this.firstActionEvent(A)},initActions:function(){this.actions=(this.$slots.default||[]).filter(function(A){return!!A&&!!A.componentOptions})}}},l=(e(76),e(0)),p=e(42),g=e.n(p),b=Object(l.a)(u,function(){var A=this,t=A.$createElement,e=A._self._c||t;return A.isValidSingleAction?e(\"element\",A._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:A.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:[A.firstAction.icon,A.firstActionClass],attrs:{\"aria-label\":A.firstAction.text,rel:\"noreferrer noopener\"},on:A._d({},[A.firstActionEventBinding,A.execFirstAction])},\"element\",A.firstActionBinding,!1),[e(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[A._t(\"default\")],2)]):e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:A.hasMultipleActions,expression:\"hasMultipleActions\"}],staticClass:\"action-item\",class:{\"action-item--open\":A.opened},on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusPreviousAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusNextAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?(t.preventDefault(),A.focusPreviousAction(t)):null},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-up\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusFirstAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-down\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusLastAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.closeMenu(t))}]}},[e(\"a\",{staticClass:\"icon action-item__menutoggle\",class:A.defaultIcon,attrs:{href:\"#\",\"aria-haspopup\":\"true\",\"aria-controls\":A.randomId,\"aria-expanded\":A.opened},on:{click:function(t){return t.preventDefault(),A.toggleMenu(t)},keydown:function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"space\",32,t.key,[\" \",\"Spacebar\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.toggleMenu(t))}}}),A._v(\" \"),A.opened?e(\"div\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:A.closeMenu,expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"action-item__menu\",class:[\"menu-\"+A.menuAlign,{open:A.opened}],style:{marginRight:A.offsetX+\"px\",marginTop:A.offsetY+\"px\"},attrs:{tabindex:\"-1\"},on:{mousemove:A.onMouseFocusAction}},[e(\"div\",{staticClass:\"action-item__menu_arrow\",style:{transform:\"translateX(\"+A.offsetX+\"px) translateY(\"+A.offsetYArrow+\"px) \"+(A.rotateArrow?\" rotate(180deg)\":\"\")}}),A._v(\" \"),e(\"ul\",{attrs:{id:A.randomId,tabindex:\"-1\"}},[A._t(\"default\")],2)]):A._e()])},[],!1,null,\"53cb6bd0\",null);\"function\"==typeof g.a&&g()(b);t.a=b.exports},37:function(A,t,e){var i=e(38);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"941c791e\",i,!0,{})},38:function(A,t,e){(t=e(1)(!1)).push([A.i,\".vue-tooltip[data-v-2b15541]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;white-space:normal;text-decoration:none;letter-spacing:normal;word-spacing:normal;text-transform:none;word-wrap:normal;word-break:normal;opacity:0;text-shadow:none;font-family:'Nunito', 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;font-size:12px;font-weight:normal;font-style:normal;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-2b15541][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-2b15541][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-2b15541][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-2b15541][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-2b15541][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-2b15541][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-2b15541] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-2b15541] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\"]),A.exports=t},4:function(A,t){A.exports=require(\"v-tooltip\")},42:function(A,t){},5:function(A,t){A.exports=require(\"vue\")},50:function(A,t){A.exports=require(\"core-js/modules/es.array.filter\")},56:function(A,t,e){\"use strict\";e.r(t);var i=e(35);e.d(t,\"Actions\",function(){return i.a}),\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */t.default=i.a},6:function(A,t){A.exports=require(\"core-js/modules/es.function.name\")},7:function(A,t,e){\"use strict\";A.exports=function(A,t){return t||(t={}),\"string\"!=typeof(A=A&&A.__esModule?A.default:A)?A:(/^['\"].*['\"]$/.test(A)&&(A=A.slice(1,-1)),t.hash&&(A+=t.hash),/[\"'() \\t\\n]/.test(A)||t.needQuotes?'\"'.concat(A.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):A)}},72:function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.for-each\")},74:function(A,t){A.exports=require(\"core-js/modules/es.object.assign\")},75:function(A,t){A.exports=require(\"core-js/modules/es.array.splice\")},76:function(A,t,e){\"use strict\";var i=e(31);e.n(i).a},77:function(A,t,e){var i=e(1),a=e(7),n=e(8),o=e(9),r=e(10),s=e(11);t=i(!1);var c=a(n),d=a(o),u=a(r),l=a(s);t.push([A.i,'@font-face{font-family:\"iconfont-vue-2b15541\";src:url('+c+\");src:url(\"+c+') format(\"embedded-opentype\"),url('+d+') format(\"woff\"),url('+u+') format(\"truetype\"),url('+l+') format(\"svg\")}.icon[data-v-53cb6bd0]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.arrow-left[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.arrow-right-double[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.arrow-right[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.checkmark[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.close[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.confirm[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.menu[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.more[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.pause[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.play[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.icon.triangle-s[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";content:\"\"}.action-item[data-v-53cb6bd0]{position:relative;display:inline-block}.action-item--single[data-v-53cb6bd0]:hover,.action-item--single[data-v-53cb6bd0]:focus,.action-item--single[data-v-53cb6bd0]:active,.action-item__menutoggle[data-v-53cb6bd0]:hover,.action-item__menutoggle[data-v-53cb6bd0]:focus,.action-item__menutoggle[data-v-53cb6bd0]:active{border-radius:22px;background-color:rgba(127,127,127,0.25) !important;opacity:1}.action-item.action-item--open .action-item__menutoggle[data-v-53cb6bd0]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-53cb6bd0],.action-item__menutoggle[data-v-53cb6bd0]{box-sizing:border-box;width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;background-color:transparent}.action-item__menutoggle[data-v-53cb6bd0]{display:flex;align-items:center;justify-content:center;opacity:.7}.action-item__menutoggle[data-v-53cb6bd0]:before{content:\\'\\'}.action-item__menutoggle--default-icon[data-v-53cb6bd0]{font-size:16px}.action-item__menutoggle--default-icon[data-v-53cb6bd0]:before{font-family:\"iconfont-vue-2b15541\";font-style:normal;font-weight:400;content:\"\"}.action-item--single[data-v-53cb6bd0]{opacity:.7}.action-item--single[data-v-53cb6bd0]:hover,.action-item--single[data-v-53cb6bd0]:focus,.action-item--single[data-v-53cb6bd0]:active{opacity:1}.action-item--single>[hidden][data-v-53cb6bd0]{display:none}.action-item--multiple[data-v-53cb6bd0]{position:relative}.action-item__menu[data-v-53cb6bd0]{position:absolute;z-index:110;right:50%;display:none;margin-bottom:10px;margin-top:-5px;transform:translateX(50%);color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background);filter:drop-shadow(0 1px 3px var(--color-box-shadow))}.action-item__menu ul[data-v-53cb6bd0]>:not(li){display:none}.action-item__menu.open[data-v-53cb6bd0]{display:block}.action-item__menu .action-item__menu_arrow[data-v-53cb6bd0]{position:absolute;right:50%;bottom:100%;width:0;height:0;margin-right:-9px;content:\\' \\';pointer-events:none;border:solid transparent;border-width:9px;border-bottom-color:var(--color-main-background)}.action-item__menu.menu-right[data-v-53cb6bd0]{right:0;left:auto;transform:none}.action-item__menu.menu-right .action-item__menu_arrow[data-v-53cb6bd0]{right:13px;margin-right:0}.action-item__menu.menu-left[data-v-53cb6bd0]{right:auto;left:0;transform:none}.action-item__menu.menu-left .action-item__menu_arrow[data-v-53cb6bd0]{right:auto;left:13px;margin-right:0}.ie .action-item__menu[data-v-53cb6bd0],.ie .action-item__menu .action-item__menu_arrow[data-v-53cb6bd0],.edge .action-item__menu[data-v-53cb6bd0],.edge .action-item__menu .action-item__menu_arrow[data-v-53cb6bd0]{border:1px solid var(--color-border)}\\n',\"\"]),A.exports=t},8:function(A,t,e){\"use strict\";e.r(t),t.default=\"data:application/vnd.ms-fontobject;base64,qgoAAOAJAAABAAIAAAAAAAIABQMAAAAAAAABQJABAAAAAExQAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAedA0JgAAAAAAAAAAAAAAAAAAAAAAACgAAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AMgBiADEANQA1ADQAMQAAAAAAABYAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAKAAAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQAyAGIAMQA1ADUANAAxAAAAAAABAAAACgCAAAMAIE9TLzJ045CJAAAArAAAAGBjbWFwAA3rsgAAAQwAAAFCZ2x5ZrP154sAAAJQAAADgGhlYWQm2bV6AAAF0AAAADZoaGVhJxwTgAAABggAAAAkaG10eBOI//8AAAYsAAAAHmxvY2EFNAW+AAAGTAAAABxtYXhwARoAVwAABmgAAAAgbmFtZdDhHNAAAAaIAAACpnBvc3TeHIDjAAAJMAAAALAABBOIAZAABQAADGUNrAAAArwMZQ2sAAAJYAD1BQoAAAIABQMAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUGZFZABA6gHqDBOIAAABwhOIAAAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQAAAAAAPAADAAEAAAAcAAQAIAAAAAQABAABAADqDP//AADqAf//FgAAAQAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOpg9DAAUACwAACQIRCQQRCQEOpvqCBX77ugRG+oL6ggV++7oERg9C+oL6ggE4BEYERgE4+oL6ggE4BEYERgABAAAAAA1uElAABQAACQERCQERBhsHU/d0CIwJxPit/sgIiwiM/scAAgAAAAAP3w9DAAUACwAACQIRCQQRCQEE4gV++oIERvu6BX4Ff/qBBEb7ugRGBX4Ffv7I+7r7uv7IBX4Ffv7I+7r7ugABAAAAAA6mElAABQAACQERCQERDW74rQiL93UJxAdTATn3dPd1ATgAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAADAAAAABEXERcAAwAHAAsAAAERIREBESERAREhEQJxDqbxWg6m8VoOphEX/Y8Ccfnm/Y8Ccfnl/Y8CcQADAAAAABJQDDUAGAAxAEoAAAEiBw4BBwYWFx4BFxYyNz4BNzY0Jy4BJyYhIgcOAQcGFBceARcWMjc+ATc2NCcuAScmISIHDgEHBhQXHgEXFjI3PgE3NjQnLgEnJgOqgHRwrS8yATEvrXB0/3RwrS8yMi+tcHQFm390cK0wMTEwrXB0/nRwrTAxMTCtcHQFnIB0cK0vMTEvrXB0/3RwrS8yMi+tcHQMNTEwrXB0/nRwrTAxMTCtcHT+dHCtMDExMK1wdP50cK0wMTEwrXB0/nRwrTAxMTCtcHT+dHCtMDExMK1wdP50cK0wMQAAAAIAAAAAD98P3wADAAcAAAERIREhESERA6oE4gJxBOIP3/PLDDXzyww1AAAAAQAAAAARFxEXAAIAAAkCAnEOpvFaERf4rfitAAEAAAAADqYMNQACAAAJAgTiBOIE4gw1+x4E4AABAAAAAQAAJjTQeV8PPPUACxOIAAAAANo9FwQAAAAA2ew7Bf//AAATkxLsAAAACAACAAAAAAAAAAEAABOIAAAAABOI////9ROTAAEAAAAAAAAAAAAAAAAAAAACAAAAABOIAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAACIANgBYAGwAgACgAPoBGAGOAaQBsgHAAAEAAAANAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtMmIxNTU0MVJlZ3VsYXJpY29uZm9udC12dWUtMmIxNTU0MWljb25mb250LXZ1ZS0yYjE1NTQxVmVyc2lvbiAxLjBpY29uZm9udC12dWUtMmIxNTU0MUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AMgBiADEANQA1ADQAMQBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AMgBiADEANQA1ADQAMQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADIAYgAxADUANQA0ADEAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AMgBiADEANQA1ADQAMQBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAANAA0AAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDRFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodAljaGVja21hcmsFY2xvc2UHY29uZmlybQRtZW51BG1vcmUFcGF1c2UEcGxheQp0cmlhbmdsZS1z\"},9:function(A,t,e){\"use strict\";e.r(t),t.default=\"data:font/woff;base64,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\"}})});\n//# sourceMappingURL=AppSidebar.js.map","'use strict';\nconst pTry = require('p-try');\n\nconst pLimit = concurrency => {\n\tif (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {\n\t\treturn Promise.reject(new TypeError('Expected `concurrency` to be a number from 1 and up'));\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\tconst run = (fn, resolve, ...args) => {\n\t\tactiveCount++;\n\n\t\tconst result = pTry(fn, ...args);\n\n\t\tresolve(result);\n\n\t\tresult.then(next, next);\n\t};\n\n\tconst enqueue = (fn, resolve, ...args) => {\n\t\tif (activeCount < concurrency) {\n\t\t\trun(fn, resolve, ...args);\n\t\t} else {\n\t\t\tqueue.push(run.bind(null, fn, resolve, ...args));\n\t\t}\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => enqueue(fn, resolve, ...args));\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.length\n\t\t}\n\t});\n\n\treturn generator;\n};\n\nmodule.exports = pLimit;\nmodule.exports.default = pLimit;\n","'use strict';\n\nconst pTry = (fn, ...arguments_) => new Promise(resolve => {\n\tresolve(fn(...arguments_));\n});\n\nmodule.exports = pTry;\n// TODO: remove this in the next major version\nmodule.exports.default = pTry;\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}|~{3,})([^`~\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noop,\n table: noop,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} +')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noop, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n this.rules = block.gfm;\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = 4 + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
'\n      + (escaped ? code : escape(code, true))\n      + '
';\n }\n\n return '
'\n    + (escaped ? code : escape(code, true))\n    + '
\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
\\n' + quote + '
\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function(text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n this.token = this.tokens.pop();\n return this.token;\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger() {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function(value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function(match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n checkSanitizeDeprecation(opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.DOMPurify = factory());\n}(this, (function () { 'use strict';\n\nvar freeze$1 = Object.freeze || function (x) {\n return x;\n};\n\nvar html = freeze$1(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n\n// SVG\nvar svg = freeze$1(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'audio', 'canvas', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'video', 'view', 'vkern']);\n\nvar svgFilters = freeze$1(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n\nvar mathMl = freeze$1(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);\n\nvar text = freeze$1(['#text']);\n\nvar freeze$2 = Object.freeze || function (x) {\n return x;\n};\n\nvar html$1 = freeze$2(['accept', 'action', 'align', 'alt', 'autocomplete', 'background', 'bgcolor', 'border', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'coords', 'crossorigin', 'datetime', 'default', 'dir', 'disabled', 'download', 'enctype', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'integrity', 'ismap', 'label', 'lang', 'list', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']);\n\nvar svg$1 = freeze$2(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n\nvar mathMl$1 = freeze$2(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n\nvar xml = freeze$2(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nvar hasOwnProperty = Object.hasOwnProperty;\nvar setPrototypeOf = Object.setPrototypeOf;\n\nvar _ref$1 = typeof Reflect !== 'undefined' && Reflect;\nvar apply$1 = _ref$1.apply;\n\nif (!apply$1) {\n apply$1 = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\n/* Add properties to a lookup table */\nfunction addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n while (l--) {\n var element = array[l];\n if (typeof element === 'string') {\n var lcElement = element.toLowerCase();\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!Object.isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nfunction clone(object) {\n var newObject = {};\n\n var property = void 0;\n for (property in object) {\n if (apply$1(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\nvar seal = Object.seal || function (x) {\n return x;\n};\n\nvar MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nvar ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\nvar DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nvar ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nvar IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nvar IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nvar ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g // eslint-disable-line no-control-regex\n);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect;\nvar apply = _ref.apply;\n\nvar arraySlice = Array.prototype.slice;\nvar freeze = Object.freeze;\n\nvar getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nvar _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html$$1) {\n return html$$1;\n }\n });\n } catch (error) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '2.0.7';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n var useDOMParser = false;\n var removeTitle = false;\n\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n TrustedTypes = window.TrustedTypes;\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(TrustedTypes, originalDocument);\n var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n getElementsByTagName = _document.getElementsByTagName,\n createDocumentFragment = _document.createDocumentFragment;\n var importNode = originalDocument.importNode;\n\n\n var hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = implementation && typeof implementation.createHTMLDocument !== 'undefined' && document.documentMode !== 9;\n\n var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,\n ERB_EXPR$$1 = ERB_EXPR,\n DATA_ATTR$$1 = DATA_ATTR,\n ARIA_ATTR$$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(svgFilters), _toConsumableArray(mathMl), _toConsumableArray(text)));\n\n /* Allowed attribute names */\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(mathMl$1), _toConsumableArray(xml)));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n var FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n var FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n var ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n var ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for jQuery's $() factory? */\n var SAFE_FOR_JQUERY = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n var SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with ... should be returned */\n var WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n var SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n var FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n var RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n var RETURN_DOM_FRAGMENT = false;\n\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify. */\n var RETURN_DOM_IMPORT = false;\n\n /* Try to return a Trusted Type object instead of a string, retrun a string in\n * case Trusted Types are not supported */\n var RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n var SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n var KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n var IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n var USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n var DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image']);\n\n /* Attributes safe for values like \"javascript:\" */\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']);\n\n /* Keep a reference to config to pass to hooks */\n var CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n\n /* Set configuration parameters */\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_JQUERY = cfg.SAFE_FOR_JQUERY || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(text)));\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html);\n addToSet(ALLOWED_ATTR, html$1);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl);\n addToSet(ALLOWED_ATTR, mathMl$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n var _forceRemove = function _forceRemove(node) {\n DOMPurify.removed.push({ element: node });\n try {\n node.parentNode.removeChild(node);\n } catch (error) {\n node.outerHTML = emptyHTML;\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n DOMPurify.removed.push({\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (error) {\n DOMPurify.removed.push({\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name);\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc = void 0;\n var leadingWhitespace = void 0;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = dirty.match(/^[\\s]+/);\n leadingWhitespace = matches && matches[0];\n if (leadingWhitespace) {\n dirty = dirty.slice(leadingWhitespace.length);\n }\n }\n\n /* Use DOMParser to workaround Firefox bug (see comment below) */\n if (useDOMParser) {\n try {\n doc = new DOMParser().parseFromString(dirty, 'text/html');\n } catch (error) {}\n }\n\n /* Remove title to fix a mXSS bug in older MS Edge */\n if (removeTitle) {\n addToSet(FORBID_TAGS, ['title']);\n }\n\n /* Otherwise use createHTMLDocument, because DOMParser is unsafe in\n Safari (see comment below) */\n if (!doc || !doc.documentElement) {\n doc = implementation.createHTMLDocument('');\n var _doc = doc,\n body = _doc.body;\n\n body.parentNode.removeChild(body.parentNode.firstElementChild);\n body.outerHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n\n if (dirty && leadingWhitespace) {\n doc.body.insertBefore(document.createTextNode(leadingWhitespace), doc.body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n };\n\n // Firefox uses a different parser for innerHTML rather than\n // DOMParser (see https://bugzilla.mozilla.org/show_bug.cgi?id=1205631)\n // which means that you *must* use DOMParser, otherwise the output may\n // not be safe if used in a document.write context later.\n //\n // So we feature detect the Firefox bug and use the DOMParser if necessary.\n //\n // Chrome 77 and other versions ship an mXSS bug that caused a bypass to\n // happen. We now check for the mXSS trigger and react accordingly.\n if (DOMPurify.isSupported) {\n (function () {\n try {\n var doc = _initDocument('

    ');\n if (doc.querySelector('svg img')) {\n useDOMParser = true;\n }\n } catch (error) {}\n })();\n\n (function () {\n try {\n var doc = _initDocument('</title><img>');\n if (/<\\/title/.test(doc.querySelector('title').innerHTML)) {\n removeTitle = true;\n }\n } catch (error) {}\n })();\n }\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, function () {\n return NodeFilter.FILTER_ACCEPT;\n }, false);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n var _isClobbered = function _isClobbered(elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string') {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n var _isNode = function _isNode(obj) {\n return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? obj instanceof Node : obj && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && typeof obj.nodeType === 'number' && typeof obj.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n hooks[entryPoint].forEach(function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n // eslint-disable-next-line complexity\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content = void 0;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n var tagName = currentNode.nodeName.toLowerCase();\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Take care of an mXSS pattern using p, br inside svg, math */\n if ((tagName === 'svg' || tagName === 'math') && currentNode.querySelectorAll('p, br').length !== 0) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Keep content except for black-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName] && typeof currentNode.insertAdjacentHTML === 'function') {\n try {\n var htmlToInsert = currentNode.innerHTML;\n currentNode.insertAdjacentHTML('AfterEnd', trustedTypesPolicy ? trustedTypesPolicy.createHTML(htmlToInsert) : htmlToInsert);\n } catch (error) {}\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove in case a noscript/noembed XSS is suspected */\n if (tagName === 'noscript' && /<\\/noscript/i.test(currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n if (tagName === 'noembed' && /<\\/noembed/i.test(currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Convert markup to cover jQuery behavior */\n if (SAFE_FOR_JQUERY && !currentNode.firstElementChild && (!currentNode.content || !currentNode.content.firstElementChild) && /</g.test(currentNode.textContent)) {\n DOMPurify.removed.push({ element: currentNode.cloneNode() });\n if (currentNode.innerHTML) {\n currentNode.innerHTML = currentNode.innerHTML.replace(/</g, '<');\n } else {\n currentNode.innerHTML = currentNode.textContent.replace(/</g, '<');\n }\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = content.replace(MUSTACHE_EXPR$$1, ' ');\n content = content.replace(ERB_EXPR$$1, ' ');\n if (currentNode.textContent !== content) {\n DOMPurify.removed.push({ element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && DATA_ATTR$$1.test(lcName)) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && ARIA_ATTR$$1.test(lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n return false;\n\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (IS_ALLOWED_URI$$1.test(value.replace(ATTR_WHITESPACE$$1, ''))) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && value.indexOf('data:') === 0 && DATA_URI_TAGS[lcTag]) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (ALLOW_UNKNOWN_PROTOCOLS && !IS_SCRIPT_OR_DATA$$1.test(value.replace(ATTR_WHITESPACE$$1, ''))) {\n // This attribute is safe\n /* Check for binary attributes */\n // eslint-disable-next-line no-negated-condition\n } else if (!value) {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n } else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n // eslint-disable-next-line complexity\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr = void 0;\n var value = void 0;\n var lcName = void 0;\n var idAttr = void 0;\n var l = void 0;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n\n value = attr.value.trim();\n lcName = name.toLowerCase();\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n\n /* Remove attribute */\n // Safari (iOS + Mac), last tested v8.0.5, crashes if you try to\n // remove a \"name\" attribute from an <img> tag that has an \"id\"\n // attribute at the time.\n if (lcName === 'name' && currentNode.nodeName === 'IMG' && attributes.id) {\n idAttr = attributes.id;\n attributes = apply(arraySlice, attributes, []);\n _removeAttribute('id', currentNode);\n _removeAttribute(name, currentNode);\n if (attributes.indexOf(idAttr) > l) {\n currentNode.setAttribute('id', idAttr.value);\n }\n } else if (\n // This works around a bug in Safari, where input[type=file]\n // cannot be dynamically set after type has been removed\n currentNode.nodeName === 'INPUT' && lcName === 'type' && value === 'file' && hookEvent.keepAttr && (ALLOWED_ATTR[lcName] || !FORBID_ATTR[lcName])) {\n continue;\n } else {\n // This avoids a crash in Safari v9.0 with double-ids.\n // The trick is to first set the id to be empty and then to\n // remove the attribute\n if (name === 'id') {\n currentNode.setAttribute(name, '');\n }\n\n _removeAttribute(name, currentNode);\n }\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Take care of an mXSS pattern using namespace switches */\n if (/svg|math/i.test(currentNode.namespaceURI) && new RegExp('</(' + Object.keys(FORBID_CONTENTS).join('|') + ')', 'i').test(value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = value.replace(MUSTACHE_EXPR$$1, ' ');\n value = value.replace(ERB_EXPR$$1, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n var lcTag = currentNode.nodeName.toLowerCase();\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n DOMPurify.removed.pop();\n } catch (error) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode = void 0;\n var shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg) {\n var body = void 0;\n var importedNode = void 0;\n var currentNode = void 0;\n var oldNode = void 0;\n var returnNode = void 0;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n if (!dirty) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw new TypeError('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw new TypeError('dirty is not a string, aborting');\n }\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n if (IN_PLACE) {\n /* No special handling necessary for in-place sanitization */\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!-->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && RETURN_TRUSTED_TYPE && dirty.indexOf('<') === -1) {\n return trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : emptyHTML;\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (RETURN_DOM_IMPORT) {\n /* AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs. */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = serializedHTML.replace(MUSTACHE_EXPR$$1, ' ');\n serializedHTML = serializedHTML.replace(ERB_EXPR$$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = tag.toLowerCase();\n var lcName = attr.toLowerCase();\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n hooks[entryPoint].push(hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint].pop();\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nvar purify = createDOMPurify();\n\nreturn purify;\n\n})));\n//# sourceMappingURL=purify.js.map\n"],"sourceRoot":""}