From 32dedfe677304264f6ffee348bbfd29043180d1f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 Jan 2025 20:48:36 +0000 Subject: [PATCH] Deployed 7ccec5d to master with MkDocs 1.6.1 and mike 2.1.3 --- latest | 2 +- master/404.html | 2 +- .../social/documentation/rest-api/api-doc.png | Bin 0 -> 38781 bytes .../assets/javascripts/swagger-initializer.js | 20 + .../assets/javascripts/swagger-ui-bundle.js | 2 + .../javascripts/swagger-ui-bundle.js.map | 1 + .../javascripts/swagger-ui-es-bundle-core.js | 3 + .../swagger-ui-es-bundle-core.js.map | 1 + .../javascripts/swagger-ui-es-bundle.js | 3 + .../javascripts/swagger-ui-es-bundle.js.map | 1 + .../swagger-ui-standalone-preset.js | 2 + .../swagger-ui-standalone-preset.js.map | 1 + master/assets/stylesheets/.DS_Store | Bin 0 -> 6148 bytes master/assets/stylesheets/swagger-ui-dark.css | 849 ++++++++++++++++++ master/assets/stylesheets/swagger-ui.css | 3 + master/assets/stylesheets/swagger-ui.css.map | 1 + master/assets/stylesheets/swagger-ui.js | 2 + master/assets/stylesheets/swagger-ui.js.map | 1 + master/assets/swagger-ui/oauth2-redirect.html | 79 ++ .../getting-started/building/index.html | 75 +- .../getting-started/docker/index.html | 107 ++- .../getting-started/upgrade/index.html | 71 +- master/documentation/overview/index.html | 67 +- .../documentation/rest-api/api-doc/index.html | 66 ++ .../rest-api/api-doc/swagger-c860b3e8.html | 120 +++ master/index.html | 69 +- master/search/search_index.json | 2 +- master/sitemap.xml | 14 +- master/sitemap.xml.gz | Bin 245 -> 257 bytes versions.json | 8 +- 30 files changed, 1528 insertions(+), 44 deletions(-) create mode 100644 master/assets/images/social/documentation/rest-api/api-doc.png create mode 100644 master/assets/javascripts/swagger-initializer.js create mode 100644 master/assets/javascripts/swagger-ui-bundle.js create mode 100644 master/assets/javascripts/swagger-ui-bundle.js.map create mode 100644 master/assets/javascripts/swagger-ui-es-bundle-core.js create mode 100644 master/assets/javascripts/swagger-ui-es-bundle-core.js.map create mode 100644 master/assets/javascripts/swagger-ui-es-bundle.js create mode 100644 master/assets/javascripts/swagger-ui-es-bundle.js.map create mode 100644 master/assets/javascripts/swagger-ui-standalone-preset.js create mode 100644 master/assets/javascripts/swagger-ui-standalone-preset.js.map create mode 100644 master/assets/stylesheets/.DS_Store create mode 100644 master/assets/stylesheets/swagger-ui-dark.css create mode 100644 master/assets/stylesheets/swagger-ui.css create mode 100644 master/assets/stylesheets/swagger-ui.css.map create mode 100644 master/assets/stylesheets/swagger-ui.js create mode 100644 master/assets/stylesheets/swagger-ui.js.map create mode 100644 master/assets/swagger-ui/oauth2-redirect.html create mode 100644 master/documentation/rest-api/api-doc/index.html create mode 100644 master/documentation/rest-api/api-doc/swagger-c860b3e8.html diff --git a/latest b/latest index 9daf349..8b25206 120000 --- a/latest +++ b/latest @@ -1 +1 @@ -v2.0.0-beta.2 \ No newline at end of file +master \ No newline at end of file diff --git a/master/404.html b/master/404.html index 9fc7e0e..2a23795 100644 --- a/master/404.html +++ b/master/404.html @@ -1 +1 @@ -
?{^ldXDjV#pu(zkOhLXlSV27OfdUyOgRw15A8Z;AD{4c!;5<~#S&gT3z7}TF>v!(d;&E+1 z7S5a)>q(5!$w`lpe{e6s=26x7s9vt463$HKy&Wg-#Z90ZrP+2V `%gvJe41CWu!Q3`On^DY`iqtbo&UH$Z(_KyMB#z_4T0jc6fwJL zy1;u7MO)-oQ31<8SFd& S|&&?Al%} z#_6nIZRT%LKI_N8z|*M@X2LAos>cqwGbv$BgpA&-ah({dV~gEWf$TRl+-TVoo0$K7 zRPz}7thkjTqVaui`@7!Gh{fuT{dgzIn98?ma~C#mFbFwd{q4h3gPHrYtlNFJDYB`U zNB{@~U-(|aQSe1J!{||y1zw1%129L`w;$+EyPL97@Qe{`;?5s3*hOuR`R~+ING}Mj zH&D0kuI3Ut_kRC1<_$7+lb=3)GI{^#GRlft*s;5+Bl7Rs*w?K?Lv*4G=vF>0(YPui zJXS){S} _Ey0Bkm zNxSdzD{PWG;JnJZz~*)=nyYO&U%oQNMNUk0=a2W= 8oJ}r#Zj=&zy2zbY$fP>zZd^I~ z{~^RzWW9qk+tkkd(akUWx$^|P`8`5e?ZajL6~6bOqDG(0uwX8Vt-cdU3o>3L7GIo( zKp^NHd~wq08bi;yYwJ)~m6Yq)pfrE%8=qq0Sb8mR=9Kzc@_;-#7|Py%F)>x6XA0L! zF)}>nxV2eSpoF(YB)o5^PS3%SlZ8Jx%}qbu>+iXXVh-O}E}gzX;=+e~&T1S|@A!@? zbRmG7+e^|L&l-n2Oz;SNDe;k_P6L1)jpnBD;hD4NaXgs2YSpR;^gEqMPuWgCBGN5e z6L4-g>$h=oa!Q-HbyaS?*5>Z+9_X-5E*+q2$BESKCBgva@tRK$V&f}QjjK`(%T`@e zIo$Ckz~^(9%^eZvUq~ZD7e@OH#_xfT03J}0le>iz{#bHy^pIhxuhsXK08^x2X2rVz z-&Woi3&y%*OC$~xDS}mR^o&HC*!gTeyIgJEwvY=?kn8rU`G*z{-QLskK1wN6@XU+9 zu9*V~L{qa{9i;^Pm>hOXoI0)Z4mWPztdiZC_vP-~SIx`NrAYg5cBR$nmc6&y2VUiI zTL1%4g7C6kdnt>hzja;P%IB)pu^Ng1r1Ht;XcnADKV9=F&nK7&4ks1}))Yr-m| j5HU+k!aM{D_}FI%1JmrE3KP z#a+^gQ1J5dTIpjc<$rR6fYB{Zx%*y544|aJ&Tp%vN~Tb19`gEjHD)AAO#S-7!7c*q z)qqAC+5NF<@iE2#(wJ59$0D#xviEqOzH9n{I)c?ryYSOmElzWHy|Il^7Ji+qWsAQl z>h>$s= 9zaCJrLf5MUCkH~(EPCfSM?X?X# z4vDTVz<+L|pXTEX3YI&oxM=I#UG_Ud6;O(0hR!IreD3IoM0q?1^h^cFy5ns;*d%V$ z9Y8!KP0jmQ c9EEVC6&^lS`gJQlcjTvvmL4+;!MQG#d|2{J6y`FjzQyiAb(Fy0emqB=jD8>dj(b zG>F=Dhv6_j&)>nvr+{sePWEzjUN7z}sP(bqdZ ec$G ziAKwUt&JT|i`i^O#pcbOOHI9keeWoca3#yB@Zrqt&0Fpe^W5YLY|a>VRt&Zt>Q<9~ zD6;!y 9aK_r(_75UT#Nb?h4< `q9&shB=Uxm?- zrjlz8eyk+D{cX_6wqj3*%qjF6-sX)+c8CE#1D(jmm#LqYb0;r)jFg!MQ`&v&(o-1_#lPg z@|pg4)E1z(bk$--hLzosqw6WfXXd;pE{?r8HOa-7amEfEW*tBS3o9$N_UB%EZ6b8* z&b%Q8Njq-+U$eqRn8+!tT%}*rTsSBjM5OOY81}C;dFJC(`Z#a-sG1%-x z0V~($%?GKlp=Zg{Db=}gq)BDjnl<;o*+v0`n}7j8)0Mvige-;PM5{ya(M+TAwby#| zYS8;N{atl_V$3dM{FvC>r @PeF+Spwb1P^0O!c+BVz+mJV**%k^)_F;R`6J|+uI-w?R}2@kBT@X zLTB@$vQ&-XNqmd6G^ZxV6OHxngLkqU`}O0UkNHJ#lXhR 1i~>uJx=q}U_ tG#-M02kV@Wb jG&WGoJ_L}}RkpLB8vi`hV4Bz! z /g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit(o,...s){const i=Object.create(null);for(const s in o)i[s]=o[s];return s.forEach((function(o){for(const s in o)i[s]=o[s]})),i}const emitsWrappingTags=o=>!!o.kind;class HTMLRenderer{constructor(o,s){this.buffer="",this.classPrefix=s.classPrefix,o.walk(this)}addText(o){this.buffer+=escapeHTML(o)}openNode(o){if(!emitsWrappingTags(o))return;let s=o.kind;o.sublanguage||(s=`${this.classPrefix}${s}`),this.span(s)}closeNode(o){emitsWrappingTags(o)&&(this.buffer+="")}value(){return this.buffer}span(o){this.buffer+=``}}class TokenTree{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(o){this.top.children.push(o)}openNode(o){const s={kind:o,children:[]};this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(o){return this.constructor._walk(o,this.rootNode)}static _walk(o,s){return"string"==typeof s?o.addText(s):s.children&&(o.openNode(s),s.children.forEach((s=>this._walk(o,s))),o.closeNode(s)),o}static _collapse(o){"string"!=typeof o&&o.children&&(o.children.every((o=>"string"==typeof o))?o.children=[o.children.join("")]:o.children.forEach((o=>{TokenTree._collapse(o)})))}}class TokenTreeEmitter extends TokenTree{constructor(o){super(),this.options=o}addKeyword(o,s){""!==o&&(this.openNode(s),this.addText(o),this.closeNode())}addText(o){""!==o&&this.add(o)}addSublanguage(o,s){const i=o.root;i.kind=s,i.sublanguage=!0,this.add(i)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return!0}}function source(o){return o?"string"==typeof o?o:o.source:null}const u=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const _="[a-zA-Z]\\w*",w="[a-zA-Z_]\\w*",x="\\b\\d+(\\.\\d+)?",C="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",j="\\b(0b[01]+)",L={begin:"\\\\[\\s\\S]",relevance:0},B={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[L]},$={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[L]},V={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT=function(o,s,i={}){const u=inherit({className:"comment",begin:o,end:s,contains:[]},i);return u.contains.push(V),u.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),u},U=COMMENT("//","$"),z=COMMENT("/\\*","\\*/"),Y=COMMENT("#","$"),Z={className:"number",begin:x,relevance:0},ee={className:"number",begin:C,relevance:0},ie={className:"number",begin:j,relevance:0},ae={className:"number",begin:x+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ce={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[L,{begin:/\[/,end:/\]/,relevance:0,contains:[L]}]}]},le={className:"title",begin:_,relevance:0},pe={className:"title",begin:w,relevance:0},de={begin:"\\.\\s*"+w,relevance:0};var fe=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:_,UNDERSCORE_IDENT_RE:w,NUMBER_RE:x,C_NUMBER_RE:C,BINARY_NUMBER_RE:j,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(o={})=>{const s=/^#![ ]*\//;return o.binary&&(o.begin=function concat(...o){return o.map((o=>source(o))).join("")}(s,/.*\b/,o.binary,/\b.*/)),inherit({className:"meta",begin:s,end:/$/,relevance:0,"on:begin":(o,s)=>{0!==o.index&&s.ignoreMatch()}},o)},BACKSLASH_ESCAPE:L,APOS_STRING_MODE:B,QUOTE_STRING_MODE:$,PHRASAL_WORDS_MODE:V,COMMENT,C_LINE_COMMENT_MODE:U,C_BLOCK_COMMENT_MODE:z,HASH_COMMENT_MODE:Y,NUMBER_MODE:Z,C_NUMBER_MODE:ee,BINARY_NUMBER_MODE:ie,CSS_NUMBER_MODE:ae,REGEXP_MODE:ce,TITLE_MODE:le,UNDERSCORE_TITLE_MODE:pe,METHOD_GUARD:de,END_SAME_AS_BEGIN:function(o){return Object.assign(o,{"on:begin":(o,s)=>{s.data._beginMatch=o[1]},"on:end":(o,s)=>{s.data._beginMatch!==o[1]&&s.ignoreMatch()}})}});function skipIfhasPrecedingDot(o,s){"."===o.input[o.index-1]&&s.ignoreMatch()}function beginKeywords(o,s){s&&o.beginKeywords&&(o.begin="\\b("+o.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",o.__beforeBegin=skipIfhasPrecedingDot,o.keywords=o.keywords||o.beginKeywords,delete o.beginKeywords,void 0===o.relevance&&(o.relevance=0))}function compileIllegal(o,s){Array.isArray(o.illegal)&&(o.illegal=function either(...o){return"("+o.map((o=>source(o))).join("|")+")"}(...o.illegal))}function compileMatch(o,s){if(o.match){if(o.begin||o.end)throw new Error("begin & end are not supported with match");o.begin=o.match,delete o.match}}function compileRelevance(o,s){void 0===o.relevance&&(o.relevance=1)}const ye=["of","and","for","in","not","or","if","then","parent","list","value"],be="keyword";function compileKeywords(o,s,i=be){const u={};return"string"==typeof o?compileList(i,o.split(" ")):Array.isArray(o)?compileList(i,o):Object.keys(o).forEach((function(i){Object.assign(u,compileKeywords(o[i],s,i))})),u;function compileList(o,i){s&&(i=i.map((o=>o.toLowerCase()))),i.forEach((function(s){const i=s.split("|");u[i[0]]=[o,scoreForKeyword(i[0],i[1])]}))}}function scoreForKeyword(o,s){return s?Number(s):function commonKeyword(o){return ye.includes(o.toLowerCase())}(o)?0:1}function compileLanguage(o,{plugins:s}){function langRe(s,i){return new RegExp(source(s),"m"+(o.case_insensitive?"i":"")+(i?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,o]),this.matchAt+=function countMatchGroups(o){return new RegExp(o.toString()+"|").exec("").length-1}(o)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const o=this.regexes.map((o=>o[1]));this.matcherRe=langRe(function join(o,s="|"){let i=0;return o.map((o=>{i+=1;const s=i;let _=source(o),w="";for(;_.length>0;){const o=u.exec(_);if(!o){w+=_;break}w+=_.substring(0,o.index),_=_.substring(o.index+o[0].length),"\\"===o[0][0]&&o[1]?w+="\\"+String(Number(o[1])+s):(w+=o[0],"("===o[0]&&i++)}return w})).map((o=>`(${o})`)).join(s)}(o),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(o);if(!s)return null;const i=s.findIndex(((o,s)=>s>0&&void 0!==o)),u=this.matchIndexes[i];return s.splice(0,i),Object.assign(s,u)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const s=new MultiRegex;return this.rules.slice(o).forEach((([o,i])=>s.addRule(o,i))),s.compile(),this.multiRegexes[o]=s,s}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(o,s){this.rules.push([o,s]),"begin"===s.type&&this.count++}exec(o){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let i=s.exec(o);if(this.resumingScanAtSamePosition())if(i&&i.index===this.lastIndex);else{const s=this.getMatcher(0);s.lastIndex=this.lastIndex+1,i=s.exec(o)}return i&&(this.regexIndex+=i.position+1,this.regexIndex===this.count&&this.considerAll()),i}}if(o.compilerExtensions||(o.compilerExtensions=[]),o.contains&&o.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return o.classNameAliases=inherit(o.classNameAliases||{}),function compileMode(s,i){const u=s;if(s.isCompiled)return u;[compileMatch].forEach((o=>o(s,i))),o.compilerExtensions.forEach((o=>o(s,i))),s.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach((o=>o(s,i))),s.isCompiled=!0;let _=null;if("object"==typeof s.keywords&&(_=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=compileKeywords(s.keywords,o.case_insensitive)),s.lexemes&&_)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return _=_||s.lexemes||/\w+/,u.keywordPatternRe=langRe(_,!0),i&&(s.begin||(s.begin=/\B|\b/),u.beginRe=langRe(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(u.endRe=langRe(s.end)),u.terminatorEnd=source(s.end)||"",s.endsWithParent&&i.terminatorEnd&&(u.terminatorEnd+=(s.end?"|":"")+i.terminatorEnd)),s.illegal&&(u.illegalRe=langRe(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(o){return function expandOrCloneMode(o){o.variants&&!o.cachedVariants&&(o.cachedVariants=o.variants.map((function(s){return inherit(o,{variants:null},s)})));if(o.cachedVariants)return o.cachedVariants;if(dependencyOnParent(o))return inherit(o,{starts:o.starts?inherit(o.starts):null});if(Object.isFrozen(o))return inherit(o);return o}("self"===o?s:o)}))),s.contains.forEach((function(o){compileMode(o,u)})),s.starts&&compileMode(s.starts,i),u.matcher=function buildModeRegex(o){const s=new ResumableMultiRegex;return o.contains.forEach((o=>s.addRule(o.begin,{rule:o,type:"begin"}))),o.terminatorEnd&&s.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&s.addRule(o.illegal,{type:"illegal"}),s}(u),u}(o)}function dependencyOnParent(o){return!!o&&(o.endsWithParent||dependencyOnParent(o.starts))}function BuildVuePlugin(o){const s={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!o.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,escapeHTML(this.code);let s={};return this.autoDetect?(s=o.highlightAuto(this.code),this.detectedLanguage=s.language):(s=o.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),s.value},autoDetect(){return!this.language||function hasValueOrEmptyAttribute(o){return Boolean(o||""===o)}(this.autodetect)},ignoreIllegals:()=>!0},render(o){return o("pre",{},[o("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:s,VuePlugin:{install(o){o.component("highlightjs",s)}}}}const _e={"after:highlightElement":({el:o,result:s,text:i})=>{const u=nodeStream(o);if(!u.length)return;const _=document.createElement("div");_.innerHTML=s.value,s.value=function mergeStreams(o,s,i){let u=0,_="";const w=[];function selectStream(){return o.length&&s.length?o[0].offset!==s[0].offset?o[0].offsetw?2K}mGU<) zD)eNrcy~WfUYz`SHrX8KdayLmxJ7~rvzHwcyM&mmcK8^UlJ;{5Tty6^mvg(H#^9@U zmYt}7)q7emgo5~$LpxQAFq2;=z`=1CMTc;PDqu_1*ih<+51Qx)UL^bMN#>pvC+N$o zRr%>n_+hZ_s*oRi%q@W_VkVro6n4LVd}X54^aj#!{H8 7 fcjF3>6uTc^V^hXo61+Hhfl;3#g%_(Xn3_bFF(v~#%_cKyA_(Uw5&)C4 zkvct7KqC);D d?Hh=o`sq>e+Qi3kSW=Eu? zc<>^C(x6o0z31KnH_+XjlVLnGXa4-M)>g^-VWg>UVkRz5<`U#D8UKB%-RV@<^RsH{ z0LZi;*ATlxeEiT!#3~UuU_E!)O&BTO09)j*=hnsG@8z3UDToq($h#;6A1i9+ ijKM%`UHonprA=#)iPNJ9>koP=^;XGYf|cpJn0IJdWp(5ni!f>EOY?i=rQa zoucfsAwhQNiL?QY?`5cvT*KbdYQ_br65yfTIZsn`M z;jz1oK5H~=68bBt@-ak$lG;1o7ISx^p6GcnloxX6T8({VnAFBaBS>R$Ub-3z@b-kO zz#Z `fFmMCe2g>?Cv4(Jl2_tfRsY|uWktzMek{GJoHZN zhg{6~=-8MEc9Cn|%^ReDp pP7uTydV`fqmwKJq7dubW zTQ&8Z(gegNlAQ|NCaAI!ZWMkXkIm**iMSQ)+|7mcQKWK!TJpds#JnN3B3Rrd75FKy z|M{XAkeP_LFKumGzySg*M+0R#cSlDGg3TZ}>BA|n3?W#Bk%1%K@KpcW*f1j&Viwn~ zUB~nD^SMu?M$wnV>*T1@Avk#GP*vP+US2sOsEpp+e++y~`GokhJL~rj0)v=5|7XF8 zWP=+hf4*@HRE#R^vpnK>h*T_W`NO>`1VUSKo!Z;lLf^kX4z5lcJYNM>ll%)#8O5dB zsnXyb1i@|+=gzJ4 WlEk(w>nAMJ=-)trGTcC0F)Fmw^HOiaTH4+}hlQ1gnfCB=xt- z ?1aib@ zH1s@f?aU jp>BtIrjejs5g>4uObe9tmn~b?kYO2;pq=F%_YRQO Lb0J4I@g)4v9s6?7f5tr`=&nV3l5^q_nB zq4Vs2Y&Kof^&gOB(4JLc(V|5v&}VBxrIwIb-yAtFqPWCoo6y;}>n8vki0XB9LERce zE5HLbHR6^H8hK)|2{3X^1ay_}X|2Z5?Pc&M|7+=~{DjSk(ap gIjCJmPSJ)e;A?Bj=)||~vwN0U{SEvlfmQytvV~-JKuj5U#Fm^@ z=l#r#L^NZ+=r2_40Pb9ppvY~oY|BwcF{q2!pRW3|AvO4JA; gw5V>@f3T4 z&$!Qj6pJN @j~Z%oB(}(j9xz3o)@vVuRNTp7Xl5 zQ!fGMs|!`$q$=XJutn23nJHw+D&QzH89gKEW5?d3GJpEtt3Yi7N%t*$TjWv0t5M&F zo-f*YKl`m84+OYa2pe5sGpq6DL!F_X++t!)3^!L-SK>Yq!-2=coycQ=h_v*-Yxu`Z z<>ii-flPV`pQ=Wh5UF}=g-jfCR_5T$$p;EbPmB#!0bPNdnvd`)W4NsoG6{po|Nfta z ib_mrnAF>q=o`Vd z6A^7OWSml8opM&uhg+~1EoB;HrT_hS3yXH8f)>GVJ+Wsr7$aGttPR_9MUzAh?KB(` zQ70S&wcrSvx)Z_d6Qv iO znyw5jo~8k;5*my8(im@_8b63>hu!I(k*EC%z#o711k!eGTs}1R($0e z_s5`Kun7iKjKEbn<}mq-qZ|{}fI|}nCNryv${e-cD|l>L(Uj-v9K3h 4D9as0#MWE zP^km?4L!)Aga!!E^O;)?auxN>INf^iHKd|D `j_7pQ ftyi@XCp-$#Okuz!P=zjav$V&pTeexA=%6xsc2%L6 z+d 1sS+HLEzsj zH?qk}#C}MV|3b%vqyUipSz`H-OHT!Ovi`PJikt^C3Yi8dEeA-qq^_ wHu{X;(K%y2nL}XRKuqR rwx)FdN{^lu}J(Bh0Cm8lguQ`@e!xogvE*BW%*bx2f!pS*-9fx(275IXQ^b z>@>|W01~-4&Mc}p%|<}Y4N0f3V8fn(M$Q)O1t8Qm=`dCo9TJS)_&baXF9TlC2S8!Z zX&Od_0b3Y!qlP2HdB{X3&$%XA7(|W|_72Y!fn=~(+z8MetY(mf|FSs86Z%F{f6QF7 z)w5@vM)d1gtV8_yY*P%>l(+t4eXPuzy1Hn!pxZA;WH`INmgex?p6H2j&NHiPtF(1i zFme4c*A`wz`F)3lfnr Uv)?9keUa{c=>4^)$Mnoru0_nu3UzL1`rea#16x-N3IX43w1rzy zy55ARvtCyDtNee~qbo?scUjY3H9nw=uPokw7Z&bE%Gq8%!Kv^t3hWli4$de5I&7AZ z>d0qP#t<);DOOPb*B>`KSa(k;>)W`Uc9CaZdT?=Yym(>a%>#G~&sAWz1Ob(?!LCsJ zyXkVYaG|wRE_^zfO~PAt%`Us}$2ui)D*S4uC!2V;bt9=fkP Z_ zpm-A#${`KoKqa7v8Z10GB|2!V1HrJ-7hU-IJxg32ZrT>W7P*vRHIqdRMMD4Xuorq} zOMkBypfA#lt2i^po!}fHMyA>3oj70G2s#~PgCRg&Q$RcCw%dDP7gQrB7t&G%^!&%@ zUt*9;Eb0O~!QNJa4wCPASA}+@>woV*G?;5ZlbhjlSivc`D?Cw(&FL_Nk_yOa51ErG z)d18ryY%Ie$B^i561bq(g#zyoI^T{M_7&YqyfwPU1mg+Ae}GK!= kwO )6+H*> zAka%?fPK+^45Fpz#D7(>>5xmbNc+SNfgg2+Pu3lsr{RgkcQ`mWIw9M?wf*GBfw%t9 zxYc0qzx#6>1;x_;<9kwPaI$ovUhdB8BSZ6x>&pUno&FmtS`FxSyWS?PCE|l#(JA?r zZD@|G(6a|V)(;Ga|KtD2ZMT@sDtnN#DSrq}cSO18KmF~#ggt?HH)KNS&XKy1htVOI zr|y0@0ALy@TE-jd2bz `%{eY4%nb-+ucAToh->07k$SsEMSS;Kj)v0va+0E=opP zzX`;Z0E>#@MnL%Gr<`W|Tgf!{7V S{lG_6%_L2$Fwo$~%czkTZLm zhr!TMV?^%=hru~C0Ay&KA0rn6A2R(JvWM20?2-jxuKH;IOu{37eB2-RKR$SsTnzZV zm_HViY^%1T*^S>?3-l08b%^&N^n0D)Mo4y?A1l`ky|xBfiI@_4H#D2EpkA6yhcXFK zE?l_qyFKgwU(UaP<3PFq;4!8iE8C$jp|i77aHJVcGue+pt)3hHR_{DiqapCzxQyW(HbsUfWco!{%?Z9iVFg2G3wgYwsX 3Dfe(%N3u?^sM?WtjKLk`^PwM;(3h+KUPzcQ< z7CnVwz85Dw?2X;;Gw5|0Z6emo%L4JB3Qi1IF!) d(0ccP)f9@ilOIG%eFNphc{vOU%!4m?Ct^ENp>Uj&b^OK$_HL=@q`3^1Tic7 zKkWg|V9d#kgrchN{62Vv9yEdK2mpAt;nl@AMu6})1zhqDTfSAM(@#TJDN#4icb|iW z|F{JFuibTt1d#8m#{VSGZXRkqeY`c__vr%lk?%8{x8PCUeV?gLUQ~^QI8ZuKP@Sp! z!$<_#iNFHNt`&Dql`4vb8QcVZ$+i3J &izB{p@nSodTllj*Fkw-l zXzndr0YpIP3T;2{|FnpxQQbi92)>dzbLUcqgl=#XJ$e{w8fO-&Y?r9Za2$Em=+U+a z!S8Sgh2lLtSZGSPq{;j;ZwXu6H8$thg99+YMF6Uz2bko~vvk0=UFTWqyfkv@^r(=R z2ikdJkF((v&5*szK|ChR2bEyHV(^_JO&$1HO2BwjGMpfp2Tq$#X?0 OTt0svG|d{2 ra7yUc8cI*&D5wMg&dXG^^VIws%{#bY!%C4Nv6go9B-V(N9S+(lx z@F>Iwb@2D8ZWGS_ bwsD zOc3-~!DB6tDVaQ-=Q@}FgpMtYtTm{XJp)!$Z{YZ<>9U8-miY1S*jlVXme?dpydW4* z|Hgf7__I|&ecBd!85TM#Vy$#xC)QrL_LJDZs|uz~f&87tV@L@(FcaDMD@^5Bw|h_< zjhEs^U&B|o3l?dJg;`B4tc@9#WL(B4;(#Uc1-BqDX)MG1SI&Yz>AuSs1{1PO>Q6|H ze@lrukrq?MAO|rx7s#S7 aWQ%T%-(-A W(ttu zWK#@i=tDp72&tE&(GA4=)oa&G(F9NvjbtB+tiAJP)h{^GI;|J)v;Wrr!Ee6Ga Q zEIGC&MzHS^>yCrv{3zKMrAan1_q&Yy9jAF%|mc zNh+ERLc!#n10`0~tOypXOvqsH8&6klgANAk&T|!hM-3|F`Ui+#C4k?MAFuE)%2FU> zD~$kQj{_@1z)xYL6Nz`nS0Q`?Aa1oQ>!JVPtFuCT>))8oEg{hozwv$0c#j8`XQ;1L z@=)=dKP$pV?ZzN{A~aYSF*t%+&&|zU%5cNZ>R9xY)+}jm@9F7L|I4o;QY;@XJ;);% z9$AoZaC-Fik}N3^7$bS+n~%RCzaWt#izN!ePk{0j0nBLh)*5>n?TiQkuT~mm*_zKP z%r^N)U6`?Y@tR%x!A=d?vr0eQ=kT^Yy+yMw`uwNoeDlvjG048~Gr5E%+zikab NStr+VceyYqDOjZ| zka6Kuc+8Q3$A~2#D(tVs&qA8YRMRtZajT?xLiB%kGRn@Em?q{$SmytH1?neKK@Bab zn5t4K|MyX8CVP-Y@t74L#{iin0U8sq<7Z#14ubM0JfM(q6A~&;fcSCDNo1b1Wi+S( z##G}kO%K@M1oCC<&`5Yl#zr`;R`AF)L&x}R-AHU88Z=JzHqBr$r$H3jQlk{73%nvn zFST!VKfN8bg7y>X2h#~?aw9m#X{Z6HQ3(?aH84xy_>{@k7>Sc-fef$Y*u*wO46Oro zMCLFQaBN)&X@hw`-tObp%g;5|FLa@q7GMz3W((AC-33Yfm5gV-ux`VQwszbccpF|1 zB{-J{QG8>Oy>;UNkqa+CX&i%nCk@q*Y#xp6=OD{_+`esRtWG-^>^fY}v?yue%I%L< z?KqLyG>J} N#wDBq!&RT2 zIpT_bDZ*XDfj)v}p-_He;RCP;y2fm(iHTTQy<;S)fFyBz^yJO6T}(8OMlH6?J>F;( zDb59%h}Go3K@^&d_J3;OJLFAfa=_}Q_F?44@}$^rL*MFEeshte=EuEy3jUsqb3aB! zj%}E!&bbUjg#?Rfd=({uJXDtczFn|W9>wxj!{6u&XX@#;SH;CWU^i5;Awx(Ch95F_ zwSutIG4V&i#I6LKl;bp9 -AV8GP4SDCXL+E-m|WK^lUx692W7$A5BL6{K(BgrU85+SJAFq9SCxlxX_86zA>bW znT>Di h(ep1TE@^As;1 fqso|Rd;~k26xlp-*rchE5KDeFAn;Bs6uH*@NaK#z?;7V8uE!KN3Cf_$R<2po z$*|7t#y>h^grm848$4_@DF`_&bn_99?O1G7_zH9}b|AFPF-J&f07YDfZ3_rGGNpm1 zZ|^8BtMEWWC tr6Hbhi!lqS9g 1ep#64CLcr&xnO|$;RHH zfI=c`6M{~;2dR+H6JID#^&Yz!1$TvV^B&j_h_50p71hN56{&$_*Mxs%Th0#5TVoK- zE?Q5Dz!+@6BF(*!t@jN5nt)V#zt%sJ1}O2^!tn*jV4Z-A n4Z#}&w4)*MMad!klLcHC>bV+hG%HuFGAhl?81Ifv90X+^&~O%v{U9{>u%G)j z=Dyy~pX1Oc%&~Vu0Hwme_|~mkf&|DzkKNtOcROfQ1-|_)e0*;!M{0bQFJFEO4Oq5q z2p;JcwuTijP{DH@JG&(lhFO#9&G>HXprT+(``K*IW6C)6cG3A!QQJN1jMUH(+4cx^ zb#}CQO1|}K$Qv4K0f9Bpo71-zgFx0jR#ZS$+He%A!>tgcP1yxFh+RTfpAT;l5&1CK z=WjeAc 4Dy z0Zfd!mq1OeugTEe{m-V*_@?tXBLkM3UuDmsH9&Vc?-U<~B|ZlNmM`sU2k@Q(fb^cc zR)`)3T|CF{!4HqgrwWK=XdxE)kN-q+utgWVf(NZae*&FVKo~W!f&8{jI5?*0Oj$)E zw!L`usvDbFh2N6zdWTLE^nEzd*NJ@To`ahTlkWrXx#DR^FDi4zL|xqr4}O2dOlEZg ztc5gn+}K7P4fWkRCi`G)%qYH=1&eMB0rzon6gYS~^_>gURlo(q>-@gGYzZ7zI`F{o zXK`Z@`$&}_>H^fs&O^l;z|es~^#%KDj)F~O7ndtJ=m3;dVXTttS`sXE$#A;HqZ#Q_ zZY-D_D{DH#e;3{f(dJi1DaP*~9f+vu$Eo6hg-;>FM(Dzoj{9~)&u;ZL%AnVw;a2}T z?NO)#@(BRqh2z8`NlyK$O6B<;UJUB78Vww3h~bC(MkjI|pGy4dKcq57N 5z(yx0papcnIZ=r-0G@WMPt2jC*uW&}9RP0l(qLIgEU7VI zMp?Jbrkeod6N~)pF5=h#BX6oQy=?k0XcJk6)Z$MFHIJj0rIA{z C{sA05Oaa5s6DMs2WldumZC`BlU1(Hsk8Ezdjy225e% z>NbQB@$FSJYtapXf!TewtSl9vpj$a7$L=T>&1GQrkWehT=_=y?p%y#Y<`N1=2xfc> z)Z|f*n>H=MU69ix1=OAfk(n52;2KW#`IZ|ClQW^vWmUgzwz(n@i=F{0HqLrP;!_{^ z+F9K{4SL2d8Y$9#`}P*?1DYh-VY;!VnZZ=_9?Drz9N&+HaDL&TgDi^I!aMNMg2wn= z0f(mX10ou&O1Zv1AwF>XDNQvC3IL8!sNc2=OmmquUWP1T=cN2s9PJc!pvoj8`|y;k zhjFXZ_5pAki5P5A^8zZeY&uA3i)?6;_(2kyLRt_69j2o5G4e+0xVa^=u_=Bv!4-!L zfc74M)CvHeA=FJLv!k^DI@R!KlY;?d4IAs0JhY_|1iVp?t-8MX(%2Yu&=XJ3Tt#Ev zb$Q_@`8k@aI=c6kz^N{n<^ARp%$5$(%^1vs`Fp8P>;WUH^e YNow@DjdD~&Z z=cGU2brsS|-eB1tTKH(KT7&7L{(nH*odZqV08ej=Q^y9s?MlxFcjNoR;3Vt5E5%j; zmR7D$atArvmq`A4L?#yS;tnz9 YVgU^P7W47Gk+K&?)=3`^wMSuOH6vvQV~=8Og63b5BQ zL`jf}dotau0$WQNy(%#x1I7p;izZFFYXhvWg-PojWN+fOona6fs+8TicWB%a$C|8i zQ2nGai*y`G7UOkdnmclDV?%{4TfQmhAU_12JjS_f`SK^*f*qf?4@*uA`jF^B?p03p zt8dQW?7+L|5OX_}Rpag3=Yaq;Ix8L?J$h8MnUggA)o56}r0MDbGzJx*N?AZBkn;~N zzg_0>aTtw(|Hg_$9So^I0sh#I Go(o73^R&h+c(7K~;DHco&KOpubj#>TdH@PSj ztZN;$`_`SJX#=qT_6Wz77)3^pvak8A-%SBTWYc2uA;JKoLYfekB@R$47LbWAexGwB zDeyqUWTaQcG#Dr!Js{XftaO{L9xw%6(*Z#Dgya}JfCk!^G_(z>jdb4#2&Cx>kKLjh zU&sYO$)e&V pY2%qXdP$XTRE ywXAxyjZ694BTV z8h62v1H*VI4xkwfRt<4aq|}fW1J~v=rn|hSaD)^X>`>*AEFvApflPZ gAssyxCf)5UO3r4B%|pRoX)DanT;%+7?$Yoblg=3(-}?UL^gz-eLRdf z6|Lz2dp3j|x3A_^cZ6a{0^~lr48T6x75z{74kCT`N4#L-U4f63#|z5W<%8i96+J%dPrs95+K%#PPW9;g1b-vEUY3gG~$i|ifzM+ zUYp_WE0CT6666ENNh2QvcNdfpj`XCE_B0TG5hD$UTQB^$jo0h4mIU#p3ZnB358xCY z?Z_p=C$M +4dc*2!>GCjUK?tZ+@E<%7F-NAup3(v2ZcBmRt_3QqXX~hxuAmv zp^!cuV&oxs`2w*Ej?fh?xZf-E%KRk}IejFwq4$Um4(>DtZjU9T-#f8l_D^IJ20RH^ z6g%gm54I44hkD)A3;t)u{;!z3n2YNni~$IEFZs{IWjZuH>x@AaGS{5LFgz@kRS0&Uth?kw#}{&gIu?U_YFQfjK;h2Y>4Z<-ibsUemsfOP<0mlkNLO5@Os)h zHBVnip#^r*&>Ep~BHK0^>j3jU|83MJx^@TP)sL8{P5Q51yg2tKCt |Jud%A_89p4cS zD=b`JhNPjOYk0V+fY%ab93*T7kf)f$s>*cm+n58Xj1~qbp>gckvFs7NNjl=By?PC_ z(hO#H2|(sJ+`2%%I1-sMWJ%9GwF%spDjI9z{o$g;NVHrc?iWF23Iv*Y0(^6vOdOq# z5KxX|3Yn6WlkNJjaz9c;>`J|a!GN64mNz<^Qjds|%n~$ROdC^s6cnUt{0TK!j_P(6 z{Q6vTBsk>>NE%ujQCvMn+$_4!SNfh-FcAeieqLa7#;F34L)X4UHjILoNA_3nY?s+6 zfZ?NzM7h8KN?rtB;0wsrnRX;D+FV%50j4bys<|m(Hr+6gr*j8%7f;bHu}KvWYfJ@} znC>uXNR1{s4Uu<_kkR*&ZD{BCRElrl;uOfzG}WOpeq>DUfpB>jPdk~Aao?kYry8bp z$RQLhjO J=G#KyM{|B~|5; zDu}}6 ^YGx6#5dhtSiM z>1Xrjkn1Mfc_^k#|AgAz%|~$49eWpSCf%(C1(?3d)0y_w+-zIh9`G9N(-4kP6nc;r zKFmqMFhrmSWwwUU^||*ONic4oBnJZ!GD^AJ-YuE@ HSPUVckY zIaN>uR0c{>_Xzbu?D(=b?_)J~`WwAQ?IxLVHp`|85>cjU|4*rO`5vgPMnn39OLh1J zB@!Ya&}CQK12*%;r}?U}a48=aeo!7A0<&X-{*c&EwF+NaBQXPhAMNSTVU7n{*a_Te zMswT@e)_ON)4!5(&A?=%MA~IHLrd3uGa-zo+9A6fN4b3Gm#J7-eq hwt z`1>#^SwKS=6e%MK7|8`(G<{hA!dbkFFwC_C$-U1u2hf+Fr)`P{({)wmi1)UqTAB&L zEtqGKOPF(mfBax4=1kGPxM%z}{3il{ULxBO$WVu922h_sd!U37u0wRMGG{94|L}JU z&c9VO`61rynByG=QztH-sAx3Iyj@5)ZxuFs%qZJTu2{gJz0JL7&wwa>=W~~8 z=KuikKrsGd5{8}0sZM|(%c(J|tJZJdmMvRo*c@b7==4PY^!vO%4}heE!EAC(@THN> zg Jf+&et?|Ggdz&q=aBD?vqoUIQIFDdR(kj{ xA;RI)^SNaE1={}65AK}&63UGL4gqTy=0cZ-mCibw z5aY__%g>zHklBu8%NN8=WtaAx|D~f zlNx~Sm9$w@YM|@X&H~?(X!F}$OyuZAF0t$3zC_J5*!9luqDNqsvvx8IGlNRO7r$Zz z4YkXoz^MWB7id3mnn8@BZ*hFInf5)2PttPrr7&>xiSVoLb(Q%D-h!N71|OU?|HToT z^qUi)D0NqaUMp&(+c`<-X|F$r#)@tk94zHYj3Tu-KlwCj5n7FKs(V0?HpXVsWUtV+ zxapg +I4fkVlXT0a4(_rCJxF07Xg^NmJ?vo}&|;9qILcu(2u*IC z?9}<(vLOGo*w~BilE$zGqaFA&H0@2d3x!XDn~DW;H^ot+KMr 6C?> r4rLPlE&a~H~ti>vTG=xa0zMCjb<` n9(DbGtoT3y%B&b*CavcZ6#OhO* zLep9#eBnF^g }qB?CktvxM((qO;rlG;NF z*Ap~=3Q$N24$ibDSslq`f)QFY%yh>!-CPdW7Ntet;3zy6wVb30U^+m99Nzgnv{W+; zSpT@>XCw(KY?}V68UNj||KE=j_~R{`@vn_^#*F`d6vH1=>Wu$>?!> M2@@!yZ0`S0iK6i#;y{~@UVt3QxwV-RWOBn_hH{BF t-QwIb6-qoE=IA@** z<**Hj22_Tq^|OL*U5$&Haea2n !L-K!ZBwXghuYam08x1z9pz=T0%M{y;k@hdxNn z(J_;hQFskI!4tRe?I=sC?3f+LC0_hjqS}lZm0-)6=|=%!IO=Zi#Nwj&5Y4|m^YGdZ zRUO@CAcrwtfU6gFVK0skH~zo&zB4T9tNRvfG>Q!iMMPx~DT08Apg`0_9TZfMUJZy! z5u_I>Hn31+q$mhj=v|cFj2Muvl%WhI(mO%A1I%5Aym{|)zx|)*-j6p=K7~yCopbit zd+oK>_VGD)vjaGX5{+<~Aq`QY0a&gF0*O*inap?Liq7lCTR_* 5s7M5ID4>H8epkW!7rNAqoLp6} rs@^e4EP7I3r;m*q6bVo&8OY1WI)__D&km8{shA?0IbB! zp6EAV#&HQK2kGVGsn(-ZjfH4rkcg6D#{i=8w}#N<{YQ>y!CRY}DX?0LkZ{o0e*;*7 zjIx2Es~#n1!6hNdM66!Z-6`;LoTuyx@TJbuh|v`~Mu15x%ri``v@hQBbd2tkj->zR zH%hD!2?tTsL@`|S0AWdZC;lJSk)yERt?>H5QB7g+Vv zd3foQcdI8`4*-7x$f2|-NavT#TtY-v>p7yJrK&;^Ja?Zn?Vv#-8(Wkwn+Q9$F&Rt* zQbe7-&R<}EA40Q*nzcRnUSFGnns9X8njHspC{)555uoDa**ZPa?;N=6I6Y)ZekBf} z0F_Md0o~5cn~A4$7CaIf&RLZ1p6xFPC5g!`08s*wW`&3>*K zv>K=IBSx~0{(zdx? Gycr%BLM;I|C!j=s)4}E cOTkjWQwg9qyr;re$q5tG3wqM^U0@gQ6;OR17DJh z47?h@IghJIZMd|-xVVAYJ@~e((!BkvL}#UWLtEF;XyZc%OmB_mxeW7o^(kQOpK~nJ z_<4&*v-14+3t+>Yq!GM$D?=2%GK;UEVzV*E%%EwH4lW}?n4V@3ZwG$pZnH7{ zjW+=L@L!$2-8boKU5x%EcWT`n7`i5KOK)z%ggOZrfbrvc#ri>(HjB3DIUZMd_)Rk^ zf<&&8uS$NL56(R|87@OJ{C%g}^9>s}$^eaLr=CLa^99k78 yt&~EqTISqe!{gnfS8tfLx{dPYOf2@|Hl4*` z^MSyS2cJ@c*Zbl}aMdPnGRL7S`(fSJWId&j<2oFLyH>+9kZ#_fyDV5cl9`ep;_@8? zy(hApjiPsthqM6}h7}Yi!FVZLpg5gEU$Xcxi3AI0;m34>CLWRXlNO$7I;$ZceSvtt zNaUMc2o2O5c@t; 4wan%Xt>Thw3yvJlCW<{-M zcHD9_I61Iz%evP|vP()vU{qm72#dDsnA5>#1){Y;!yLhpT=;FHgKxi8yY2m8Q(0N# zcD3WI`~vdw&o8uAh_Hj9@Wjqs`7TnD{|qcs&NPIKlx!GkEn0m0!>UZJTm{j#!R1ZZ zpxn?J6}!QHQiS>lzP}TL-q>I&naKd-r&&dA?0k+T2G9{LJhH%bnfvkMM_LA0tk)me z!=+IP*&Qtk%dUm9sFHaejLQ)QhqzGqF1WZ{0OwgiK>sH~44Dqq%`g+7g1`~{y{{&f zBx+cTLaWZ@qu^TSVv1p{{PYOO8&h9SZWLgQR=b_oYf`7-H`6j6LokY^R-Ko4tX*oU z DZ81|NE0R zGjsZBMz f7 zP?Oml#DuB4YochLcz=@_L&zT80!F~&l^ceGIHl@-Hkh y;4SbV zxAE~snk>_IEK$+>OOJ-O%)nO0Pw0)W9}5=M{+-1Fo$p|o__{1)G>=H{8+mMuPG2}` zu{iXLrKz4lPE&tiy;@d?q5i|cB`(fOmb7;Ly9Yd$X`qutJC;>_4IG%_k%;^;BDN>? zxt${ 7Dqd=j+WXAD7 zyluVryvO$Ja*otj3|ZG>IV1s+GGqujgJ`6dKLTMh;i3?K1Y9UBtPkD)E&| zRT+*}0)lBjz9ezJ-7an*N}cW#{z_ $Q2HFjk%Y$!7qcFG4>jkJj>8^IGfl2QI z3tY2a8%xuhGug@qEKu$|!-s~RJb6;BH5F}lIZ(1u{L&Ubs$G89{I7_clrP{B4p^H$ zK3eleyVOI;KN74QLSfy&E7y;5lL#6}vkX82F|8uLXG($l1A4RloVp6ibxS{v=(%|) zKaTZZbv5V5{J!eHMe)UPIoHWY#44`S>nUq|(mlU)0l7RIZ&9IkI_^2Wh4qpmRF=dm z<;Q-$JvJ{W&p%#dELvk0oC~dun4@r`=#Vw;Yjp_J2}zqUQ{}g6gUgTcisAzrpM&;` ziHZH`4mMLXvJp_KPST=?iycTr$TFXz5`xX;*u%UodecJ>-m@c*Cr3u-B}axsh5}8~ zqNC7moMsuKYYRuD8?1HH;mb6T+QS!|v^GfxAF#!H53aldzN-)p$h9I2)c}E5U~$CO zb)=yDl3dSUmI+Fy?6HOhebb#;Lh`3*6Q$2YLcV~jn|Jn|DP<<&^gBOR{jMTx9oUeZ zAhRoo`jgn*;Fy6t6AVxURK?e18~|!3B}d+Nm(=nH#((Hac50mwcZ}%x)VDw5<;Trr zLl<+T?$IQ>dApVS#+(J)k!i)sY*!1X356@_w;)PLx+k4hYkl?L-xxZeL?fPo;TR%8 zBUC_4Wr!{SlSC*}*$(dH%#hnq*Awy`u^=GiLYxFMJnT?8`vk#JKV4%onUH3OOxw"}function close(o){_+=""+tag(o)+">"}function render(o){("start"===o.event?open:close)(o.node)}for(;o.length||s.length;){let s=selectStream();if(_+=escapeHTML(i.substring(u,s[0].offset)),u=s[0].offset,s===o){w.reverse().forEach(close);do{render(s.splice(0,1)[0]),s=selectStream()}while(s===o&&s.length&&s[0].offset===u);w.reverse().forEach(open)}else"start"===s[0].event?w.push(s[0].node):w.pop(),render(s.splice(0,1)[0])}return _+escapeHTML(i.substr(u))}(u,nodeStream(_),i)}};function tag(o){return o.nodeName.toLowerCase()}function nodeStream(o){const s=[];return function _nodeStream(o,i){for(let u=o.firstChild;u;u=u.nextSibling)3===u.nodeType?i+=u.nodeValue.length:1===u.nodeType&&(s.push({event:"start",offset:i,node:u}),i=_nodeStream(u,i),tag(u).match(/br|hr|img|input/)||s.push({event:"stop",offset:i,node:u}));return i}(o,0),s}const we={},error=o=>{console.error(o)},warn=(o,...s)=>{console.log(`WARN: ${o}`,...s)},deprecated=(o,s)=>{we[`${o}/${s}`]||(console.log(`Deprecated as of ${o}. ${s}`),we[`${o}/${s}`]=!0)},Se=escapeHTML,xe=inherit,Pe=Symbol("nomatch");var Te=function(o){const i=Object.create(null),u=Object.create(null),_=[];let w=!0;const x=/(^(<[^>]+>|\t|)+|\n)/gm,C="Could not find the language '{}', did you forget to load/include a language module?",j={disableAutodetect:!0,name:"Plain text",contains:[]};let L={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(o){return L.noHighlightRe.test(o)}function highlight(o,s,i,u){let _="",w="";"object"==typeof s?(_=o,i=s.ignoreIllegals,w=s.language,u=void 0):(deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),w=o,_=s);const x={code:_,language:w};fire("before:highlight",x);const C=x.result?x.result:_highlight(x.language,x.code,i,u);return C.code=x.code,fire("after:highlight",C),C}function _highlight(o,s,u,x){function keywordData(o,s){const i=B.case_insensitive?s[0].toLowerCase():s[0];return Object.prototype.hasOwnProperty.call(o.keywords,i)&&o.keywords[i]}function processBuffer(){null!=U.subLanguage?function processSubLanguage(){if(""===Z)return;let o=null;if("string"==typeof U.subLanguage){if(!i[U.subLanguage])return void Y.addText(Z);o=_highlight(U.subLanguage,Z,!0,z[U.subLanguage]),z[U.subLanguage]=o.top}else o=highlightAuto(Z,U.subLanguage.length?U.subLanguage:null);U.relevance>0&&(ee+=o.relevance),Y.addSublanguage(o.emitter,o.language)}():function processKeywords(){if(!U.keywords)return void Y.addText(Z);let o=0;U.keywordPatternRe.lastIndex=0;let s=U.keywordPatternRe.exec(Z),i="";for(;s;){i+=Z.substring(o,s.index);const u=keywordData(U,s);if(u){const[o,_]=u;if(Y.addText(i),i="",ee+=_,o.startsWith("_"))i+=s[0];else{const i=B.classNameAliases[o]||o;Y.addKeyword(s[0],i)}}else i+=s[0];o=U.keywordPatternRe.lastIndex,s=U.keywordPatternRe.exec(Z)}i+=Z.substr(o),Y.addText(i)}(),Z=""}function startNewMode(o){return o.className&&Y.openNode(B.classNameAliases[o.className]||o.className),U=Object.create(o,{parent:{value:U}}),U}function endOfMode(o,s,i){let u=function startsWith(o,s){const i=o&&o.exec(s);return i&&0===i.index}(o.endRe,i);if(u){if(o["on:end"]){const i=new Response(o);o["on:end"](s,i),i.isMatchIgnored&&(u=!1)}if(u){for(;o.endsParent&&o.parent;)o=o.parent;return o}}if(o.endsWithParent)return endOfMode(o.parent,s,i)}function doIgnore(o){return 0===U.matcher.regexIndex?(Z+=o[0],1):(ce=!0,0)}function doBeginMatch(o){const s=o[0],i=o.rule,u=new Response(i),_=[i.__beforeBegin,i["on:begin"]];for(const i of _)if(i&&(i(o,u),u.isMatchIgnored))return doIgnore(s);return i&&i.endSameAsBegin&&(i.endRe=function escape(o){return new RegExp(o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}(s)),i.skip?Z+=s:(i.excludeBegin&&(Z+=s),processBuffer(),i.returnBegin||i.excludeBegin||(Z=s)),startNewMode(i),i.returnBegin?0:s.length}function doEndMatch(o){const i=o[0],u=s.substr(o.index),_=endOfMode(U,o,u);if(!_)return Pe;const w=U;w.skip?Z+=i:(w.returnEnd||w.excludeEnd||(Z+=i),processBuffer(),w.excludeEnd&&(Z=i));do{U.className&&Y.closeNode(),U.skip||U.subLanguage||(ee+=U.relevance),U=U.parent}while(U!==_.parent);return _.starts&&(_.endSameAsBegin&&(_.starts.endRe=_.endRe),startNewMode(_.starts)),w.returnEnd?0:i.length}let j={};function processLexeme(i,_){const x=_&&_[0];if(Z+=i,null==x)return processBuffer(),0;if("begin"===j.type&&"end"===_.type&&j.index===_.index&&""===x){if(Z+=s.slice(_.index,_.index+1),!w){const s=new Error("0 width match regex");throw s.languageName=o,s.badRule=j.rule,s}return 1}if(j=_,"begin"===_.type)return doBeginMatch(_);if("illegal"===_.type&&!u){const o=new Error('Illegal lexeme "'+x+'" for mode "'+(U.className||"")+'"');throw o.mode=U,o}if("end"===_.type){const o=doEndMatch(_);if(o!==Pe)return o}if("illegal"===_.type&&""===x)return 1;if(ae>1e5&&ae>3*_.index){throw new Error("potential infinite loop, way more iterations than matches")}return Z+=x,x.length}const B=getLanguage(o);if(!B)throw error(C.replace("{}",o)),new Error('Unknown language: "'+o+'"');const $=compileLanguage(B,{plugins:_});let V="",U=x||$;const z={},Y=new L.__emitter(L);!function processContinuations(){const o=[];for(let s=U;s!==B;s=s.parent)s.className&&o.unshift(s.className);o.forEach((o=>Y.openNode(o)))}();let Z="",ee=0,ie=0,ae=0,ce=!1;try{for(U.matcher.considerAll();;){ae++,ce?ce=!1:U.matcher.considerAll(),U.matcher.lastIndex=ie;const o=U.matcher.exec(s);if(!o)break;const i=processLexeme(s.substring(ie,o.index),o);ie=o.index+i}return processLexeme(s.substr(ie)),Y.closeAllNodes(),Y.finalize(),V=Y.toHTML(),{relevance:Math.floor(ee),value:V,language:o,illegal:!1,emitter:Y,top:U}}catch(i){if(i.message&&i.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:i.message,context:s.slice(ie-100,ie+100),mode:i.mode},sofar:V,relevance:0,value:Se(s),emitter:Y};if(w)return{illegal:!1,relevance:0,value:Se(s),emitter:Y,language:o,top:U,errorRaised:i};throw i}}function highlightAuto(o,s){s=s||L.languages||Object.keys(i);const u=function justTextHighlightResult(o){const s={relevance:0,emitter:new L.__emitter(L),value:Se(o),illegal:!1,top:j};return s.emitter.addText(o),s}(o),_=s.filter(getLanguage).filter(autoDetection).map((s=>_highlight(s,o,!1)));_.unshift(u);const w=_.sort(((o,s)=>{if(o.relevance!==s.relevance)return s.relevance-o.relevance;if(o.language&&s.language){if(getLanguage(o.language).supersetOf===s.language)return 1;if(getLanguage(s.language).supersetOf===o.language)return-1}return 0})),[x,C]=w,B=x;return B.second_best=C,B}const B={"before:highlightElement":({el:o})=>{L.useBR&&(o.innerHTML=o.innerHTML.replace(/\n/g,"").replace(/
/g,"\n"))},"after:highlightElement":({result:o})=>{L.useBR&&(o.value=o.value.replace(/\n/g,"
"))}},$=/^(<[^>]+>|\t)+/gm,V={"after:highlightElement":({result:o})=>{L.tabReplace&&(o.value=o.value.replace($,(o=>o.replace(/\t/g,L.tabReplace))))}};function highlightElement(o){let s=null;const i=function blockLanguage(o){let s=o.className+" ";s+=o.parentNode?o.parentNode.className:"";const i=L.languageDetectRe.exec(s);if(i){const s=getLanguage(i[1]);return s||(warn(C.replace("{}",i[1])),warn("Falling back to no-highlight mode for this block.",o)),s?i[1]:"no-highlight"}return s.split(/\s+/).find((o=>shouldNotHighlight(o)||getLanguage(o)))}(o);if(shouldNotHighlight(i))return;fire("before:highlightElement",{el:o,language:i}),s=o;const _=s.textContent,w=i?highlight(_,{language:i,ignoreIllegals:!0}):highlightAuto(_);fire("after:highlightElement",{el:o,result:w,text:_}),o.innerHTML=w.value,function updateClassName(o,s,i){const _=s?u[s]:i;o.classList.add("hljs"),_&&o.classList.add(_)}(o,i,w.language),o.result={language:w.language,re:w.relevance,relavance:w.relevance},w.second_best&&(o.second_best={language:w.second_best.language,re:w.second_best.relevance,relavance:w.second_best.relevance})}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=!0,deprecated("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(highlightElement)};let U=!1;function highlightAll(){if("loading"===document.readyState)return void(U=!0);document.querySelectorAll("pre code").forEach(highlightElement)}function getLanguage(o){return o=(o||"").toLowerCase(),i[o]||i[u[o]]}function registerAliases(o,{languageName:s}){"string"==typeof o&&(o=[o]),o.forEach((o=>{u[o.toLowerCase()]=s}))}function autoDetection(o){const s=getLanguage(o);return s&&!s.disableAutodetect}function fire(o,s){const i=o;_.forEach((function(o){o[i]&&o[i](s)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function boot(){U&&highlightAll()}),!1),Object.assign(o,{highlight,highlightAuto,highlightAll,fixMarkup:function deprecateFixMarkup(o){return deprecated("10.2.0","fixMarkup will be removed entirely in v11.0"),deprecated("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function fixMarkup(o){return L.tabReplace||L.useBR?o.replace(x,(o=>"\n"===o?L.useBR?"
":o:L.tabReplace?o.replace(/\t/g,L.tabReplace):o)):o}(o)},highlightElement,highlightBlock:function deprecateHighlightBlock(o){return deprecated("10.7.0","highlightBlock will be removed entirely in v12.0"),deprecated("10.7.0","Please use highlightElement now."),highlightElement(o)},configure:function configure(o){o.useBR&&(deprecated("10.3.0","'useBR' will be removed entirely in v11.0"),deprecated("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),L=xe(L,o)},initHighlighting,initHighlightingOnLoad:function initHighlightingOnLoad(){deprecated("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),U=!0},registerLanguage:function registerLanguage(s,u){let _=null;try{_=u(o)}catch(o){if(error("Language definition for '{}' could not be registered.".replace("{}",s)),!w)throw o;error(o),_=j}_.name||(_.name=s),i[s]=_,_.rawDefinition=u.bind(null,o),_.aliases&®isterAliases(_.aliases,{languageName:s})},unregisterLanguage:function unregisterLanguage(o){delete i[o];for(const s of Object.keys(u))u[s]===o&&delete u[s]},listLanguages:function listLanguages(){return Object.keys(i)},getLanguage,registerAliases,requireLanguage:function requireLanguage(o){deprecated("10.4.0","requireLanguage will be removed entirely in v11."),deprecated("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const s=getLanguage(o);if(s)return s;throw new Error("The '{}' language is required, but not loaded.".replace("{}",o))},autoDetection,inherit:xe,addPlugin:function addPlugin(o){!function upgradePluginAPI(o){o["before:highlightBlock"]&&!o["before:highlightElement"]&&(o["before:highlightElement"]=s=>{o["before:highlightBlock"](Object.assign({block:s.el},s))}),o["after:highlightBlock"]&&!o["after:highlightElement"]&&(o["after:highlightElement"]=s=>{o["after:highlightBlock"](Object.assign({block:s.el},s))})}(o),_.push(o)},vuePlugin:BuildVuePlugin(o).VuePlugin}),o.debugMode=function(){w=!1},o.safeMode=function(){w=!0},o.versionString="10.7.3";for(const o in fe)"object"==typeof fe[o]&&s(fe[o]);return Object.assign(o,fe),o.addPlugin(B),o.addPlugin(_e),o.addPlugin(V),o}({});o.exports=Te},35344:o=>{function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function bash(o){const s={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const u={className:"subst",begin:/\$\(/,end:/\)/,contains:[o.BACKSLASH_ESCAPE]},_={begin:/<<-?\s*(?=\w+)/,starts:{contains:[o.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},w={className:"string",begin:/"/,end:/"/,contains:[o.BACKSLASH_ESCAPE,s,u]};u.contains.push(w);const x={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},o.NUMBER_MODE,s]},C=o.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),j={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[o.inherit(o.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[C,o.SHEBANG(),j,x,o.HASH_COMMENT_MODE,_,w,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},73402:o=>{function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function http(o){const s="HTTP/(2|1\\.[01])",i={className:"attribute",begin:concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},u=[i,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:u}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:u}},o.inherit(i,{relevance:0})]}}},95089:o=>{const s="[A-Za-z$_][0-9A-Za-z$_]*",i=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],u=["true","false","null","undefined","NaN","Infinity"],_=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function lookahead(o){return concat("(?=",o,")")}function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function javascript(o){const w=s,x="<>",C=">",j={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(o,s)=>{const i=o[0].length+o.index,u=o.input[i];"<"!==u?">"===u&&(((o,{after:s})=>{const i=""+o[0].slice(1);return-1!==o.input.indexOf(i,s)})(o,{after:i})||s.ignoreMatch()):s.ignoreMatch()}},L={$pattern:s,keyword:i,literal:u,built_in:_},B="[0-9](_?[0-9])*",$=`\\.(${B})`,V="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",U={className:"number",variants:[{begin:`(\\b(${V})((${$})|\\.)?|(${$}))[eE][+-]?(${B})\\b`},{begin:`\\b(${V})\\b((${$})\\b|\\.)?|(${$})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},z={className:"subst",begin:"\\$\\{",end:"\\}",keywords:L,contains:[]},Y={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,z],subLanguage:"xml"}},Z={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,z],subLanguage:"css"}},ee={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,z]},ie={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:w+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},ae=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,Y,Z,ee,U,o.REGEXP_MODE];z.contains=ae.concat({begin:/\{/,end:/\}/,keywords:L,contains:["self"].concat(ae)});const ce=[].concat(ie,z.contains),le=ce.concat([{begin:/\(/,end:/\)/,keywords:L,contains:["self"].concat(ce)}]),pe={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:L,contains:le};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:L,exports:{PARAMS_CONTAINS:le},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,Y,Z,ee,ie,U,{begin:concat(/[{,\n]\s*/,lookahead(concat(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,w+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:w+lookahead("\\s*:"),relevance:0}]},{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[ie,o.REGEXP_MODE,{className:"function",begin:"(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:L,contains:le}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:x,end:C},{begin:j.begin,"on:begin":j.isTrulyOpeningTag,end:j.end}],subLanguage:"xml",contains:[{begin:j.begin,end:j.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:L,contains:["self",o.inherit(o.TITLE_MODE,{begin:w}),pe],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[pe,o.inherit(o.TITLE_MODE,{begin:w})]},{variants:[{begin:"\\."+w},{begin:"\\$"+w}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},o.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[o.inherit(o.TITLE_MODE,{begin:w}),"self",pe]},{begin:"(get|set)\\s+(?="+w+"\\()",end:/\{/,keywords:"get set",contains:[o.inherit(o.TITLE_MODE,{begin:w}),{begin:/\(\)/},pe]},{begin:/\$[(.]/}]}}},65772:o=>{o.exports=function json(o){const s={literal:"true false null"},i=[o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE],u=[o.QUOTE_STRING_MODE,o.C_NUMBER_MODE],_={end:",",endsWithParent:!0,excludeEnd:!0,contains:u,keywords:s},w={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[o.BACKSLASH_ESCAPE],illegal:"\\n"},o.inherit(_,{begin:/:/})].concat(i),illegal:"\\S"},x={begin:"\\[",end:"\\]",contains:[o.inherit(_)],illegal:"\\S"};return u.push(w,x),i.forEach((function(o){u.push(o)})),{name:"JSON",contains:u,keywords:s,illegal:"\\S"}}},26571:o=>{o.exports=function powershell(o){const s={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},i={begin:"`[\\s\\S]",relevance:0},u={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},_={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[i,u,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},w={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},x=o.inherit(o.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),C={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},j={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[o.TITLE_MODE]},L={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[u]}]},B={begin:/using\s/,end:/$/,returnBegin:!0,contains:[_,w,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},$={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},V={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(s.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},o.inherit(o.TITLE_MODE,{endsParent:!0})]},U=[V,x,i,o.NUMBER_MODE,_,w,C,u,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],z={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",U,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return V.contains.unshift(z),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:s,contains:U.concat(j,L,B,$,z)}}},17285:o=>{function source(o){return o?"string"==typeof o?o:o.source:null}function lookahead(o){return concat("(?=",o,")")}function concat(...o){return o.map((o=>source(o))).join("")}function either(...o){return"("+o.map((o=>source(o))).join("|")+")"}o.exports=function xml(o){const s=concat(/[A-Z_]/,function optional(o){return concat("(",o,")?")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),i={className:"symbol",begin:/&[a-z]+;|[0-9]+;|[a-f0-9]+;/},u={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},_=o.inherit(u,{begin:/\(/,end:/\)/}),w=o.inherit(o.APOS_STRING_MODE,{className:"meta-string"}),x=o.inherit(o.QUOTE_STRING_MODE,{className:"meta-string"}),C={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[u,x,w,_,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[u,_,x,w]}]}]},o.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/A beautiful and simple UI to manage your WireGuard peers and interfaces
WireGuard Portal is an open source web-based user interface that makes it easy to setup and manage WireGuard VPN connections. It's built on top of WireGuard's official wgctrl library.
Get started![]()
More information about WireGuard
WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography.
WireGuard uses state-of-the-art cryptography and still manages to be as easy to configure and deploy as SSH. A combination of extremely high-speed cryptographic primitives and the fact that WireGuard lives inside the Linux kernel means that secure networking can be very high-speed. It is suitable for both small embedded devices like smartphones and fully loaded backbone routers.
![]()
Explore official documentation
Official Website
If you'd like a general conceptual overview of what WireGuard is about, read onward here.
Protocol & Cryptography
WireGuard uses state-of-the-art cryptography, like the Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, and secure trusted constructions.
Client Installation
You may progress to installation and reading the quickstart instructions on how to use it.