29 lines
62 KiB
JavaScript
29 lines
62 KiB
JavaScript
var e=new TextEncoder,t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,n=new Uint8Array(256);for(let e=0;e<64;e++)n[t.charCodeAt(e)]=e;function r(e){let t=Math.ceil(e.length/4)*3,r=e.length,i=0;e.length%4==3?t--:e.length%4==2?t-=2:e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);let a=new ArrayBuffer(t),o=new Uint8Array(a);for(let t=0;t<r;t+=4){let r=n[e.charCodeAt(t)],a=n[e.charCodeAt(t+1)],s=n[e.charCodeAt(t+2)],c=n[e.charCodeAt(t+3)];o[i++]=r<<2|a>>4,o[i++]=(a&15)<<4|s>>2,o[i++]=(s&3)<<6|c&63}return a}function i(e){e||=`utf8`;let t;try{t=new TextDecoder(e)}catch{t=new TextDecoder(`windows-1252`)}return t}async function a(e){if(`arrayBuffer`in e)return await e.arrayBuffer();let t=new FileReader;return new Promise((n,r)=>{t.onload=function(e){n(e.target.result)},t.onerror=function(e){r(t.error)},t.readAsArrayBuffer(e)})}function o(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70?String.fromCharCode(e):!1}function s(t,n,a){let s=t.indexOf(`*`);s>=0&&(t=t.substr(0,s)),n=n.toUpperCase();let c;if(n===`Q`){a=a.replace(/=\s+([0-9a-fA-F])/g,`=$1`).replace(/[_\s]/g,` `);let t=e.encode(a),n=[];for(let e=0,r=t.length;e<r;e++){let i=t[e];if(e<=r-2&&i===61){let r=o(t[e+1]),i=o(t[e+2]);if(r&&i){let t=parseInt(r+i,16);n.push(t),e+=2;continue}}n.push(i)}c=new ArrayBuffer(n.length);let r=new DataView(c);for(let e=0,t=n.length;e<t;e++)r.setUint8(e,n[e])}else c=n===`B`?r(a.replace(/[^a-zA-Z0-9\+\/=]+/g,``)):e.encode(a);return i(t).decode(c)}function c(e){let t=!0;for(;;){let n=(e||``).toString().replace(/(=\?([^?]+)\?[Bb]\?([^?]*)\?=)\s*(?==\?([^?]+)\?[Bb]\?[^?]*\?=)/g,(e,n,r,i,a)=>t&&r===a&&i.length%4==0&&!/=$/.test(i)?n+`__\0JOIN\0__`:e).replace(/(=\?([^?]+)\?[Qq]\?[^?]*\?=)\s*(?==\?([^?]+)\?[Qq]\?[^?]*\?=)/g,(e,n,r,i)=>t&&r===i?n+`__\0JOIN\0__`:e).replace(/(\?=)?__\x00JOIN\x00__(=\?([^?]+)\?[QqBb]\?)?/g,``).replace(/(=\?[^?]+\?[QqBb]\?[^?]*\?=)\s+(?==\?[^?]+\?[QqBb]\?[^?]*\?=)/g,`$1`).replace(/=\?([\w_\-*]+)\?([QqBb])\?([^?]*)\?=/g,(e,t,n,r)=>s(t,n,r));if(t&&n.indexOf(`<EFBFBD>`)>=0)t=!1;else return n}}function l(t,n){n||=`utf-8`;let r=[];for(let n=0;n<t.length;n++){let i=t.charAt(n);if(i===`%`&&/^[a-f0-9]{2}/i.test(t.substr(n+1,2))){let e=t.substr(n+1,2);n+=2,r.push(parseInt(e,16))}else if(i.charCodeAt(0)>126){i=e.encode(i);for(let e=0;e<i.length;e++)r.push(i[e])}else r.push(i.charCodeAt(0))}let a=new ArrayBuffer(r.length),o=new DataView(a);for(let e=0,t=r.length;e<t;e++)o.setUint8(e,r[e]);return i(n).decode(a)}function u(e){let t=new Map;Object.keys(e.params).forEach(n=>{let r=n.match(/\*((\d+)\*?)?$/);if(!r)return;let i=n.substr(0,r.index).toLowerCase(),a=Number(r[2])||0,o;t.has(i)?o=t.get(i):(o={charset:!1,values:[]},t.set(i,o));let s=e.params[n];a===0&&r[0].charAt(r[0].length-1)===`*`&&(r=s.match(/^([^']*)'[^']*'(.*)$/))&&(o.charset=r[1]||`utf-8`,s=r[2]),o.values.push({nr:a,value:s}),delete e.params[n]}),t.forEach((t,n)=>{e.params[n]=l(t.values.sort((e,t)=>e.nr-t.nr).map(e=>e.value).join(``),t.charset)})}var d=class{constructor(){this.chunks=[]}update(e){this.chunks.push(e),this.chunks.push(`
|
||
`)}finalize(){return a(new Blob(this.chunks,{type:`application/octet-stream`}))}},f=class{constructor(e){e||={},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.chunks=[],this.remainder=``}update(e){let t=this.decoder.decode(e);if(t=t.replace(/[^a-zA-Z0-9+\/]+/g,``),this.remainder+=t,this.remainder.length>=this.maxChunkSize){let e=Math.floor(this.remainder.length/4)*4,t;e===this.remainder.length?(t=this.remainder,this.remainder=``):(t=this.remainder.substr(0,e),this.remainder=this.remainder.substr(e)),t.length&&this.chunks.push(r(t))}}finalize(){return this.remainder&&!/^=+$/.test(this.remainder)&&this.chunks.push(r(this.remainder)),a(new Blob(this.chunks,{type:`application/octet-stream`}))}},p=/^=[a-f0-9]{2}$/i,m=/(?==[a-f0-9]{2})/i,h=/=\r?\n/g,g=/=[a-fA-F0-9]?$/,_=class{constructor(e){e||={},this.decoder=e.decoder||new TextDecoder,this.maxChunkSize=100*1024,this.remainder=``,this.chunks=[]}decodeQPBytes(e){let t=new ArrayBuffer(e.length),n=new DataView(t);for(let t=0,r=e.length;t<r;t++)n.setUint8(t,parseInt(e[t],16));return t}decodeChunks(e){e=e.replace(h,``);let t=e.split(m),n=[];for(let e of t){if(e.charAt(0)!==`=`){n.length&&(this.chunks.push(this.decodeQPBytes(n)),n=[]),this.chunks.push(e);continue}if(e.length===3){p.test(e)?n.push(e.substr(1)):(n.length&&(this.chunks.push(this.decodeQPBytes(n)),n=[]),this.chunks.push(e));continue}if(e.length>3){let t=e.substr(0,3);p.test(t)?(n.push(e.substr(1,2)),this.chunks.push(this.decodeQPBytes(n)),n=[],e=e.substr(3),this.chunks.push(e)):(n.length&&(this.chunks.push(this.decodeQPBytes(n)),n=[]),this.chunks.push(e))}}n.length&&this.chunks.push(this.decodeQPBytes(n))}update(e){let t=this.decoder.decode(e)+`
|
||
`;if(t=this.remainder+t,t.length<this.maxChunkSize){this.remainder=t;return}this.remainder=``;let n=t.match(g);if(n){if(n.index===0){this.remainder=t;return}this.remainder=t.substr(n.index),t=t.substr(0,n.index)}this.decodeChunks(t)}finalize(){return this.remainder.length&&(this.decodeChunks(this.remainder),this.remainder=``),a(new Blob(this.chunks,{type:`application/octet-stream`}))}},v=i(),y=class{constructor(e){if(this.options=e||{},this.postalMime=this.options.postalMime,this.root=!!this.options.parentNode,this.childNodes=[],this.options.parentNode){if(this.parentNode=this.options.parentNode,this.depth=this.parentNode.depth+1,this.depth>this.options.maxNestingDepth)throw Error(`Maximum MIME nesting depth of ${this.options.maxNestingDepth} levels exceeded`);this.options.parentNode.childNodes.push(this)}else this.depth=0;this.state=`header`,this.headerLines=[],this.headerSize=0;let t=(this.options.parentMultipartType||null)===`digest`?`message/rfc822`:`text/plain`;this.contentType={value:t,default:!0},this.contentTransferEncoding={value:`8bit`},this.contentDisposition={value:``},this.headers=[],this.contentDecoder=!1}setupContentDecoder(e){/base64/i.test(e)?this.contentDecoder=new f:/quoted-printable/i.test(e)?this.contentDecoder=new _({decoder:i(this.contentType.parsed.params.charset)}):this.contentDecoder=new d}async finalize(){if(this.state===`finished`)return;this.state===`header`&&this.processHeaders();let e=this.postalMime.boundaries;for(let t=e.length-1;t>=0;t--)if(e[t].node===this){e.splice(t,1);break}await this.finalizeChildNodes(),this.content=this.contentDecoder?await this.contentDecoder.finalize():null,this.state=`finished`}async finalizeChildNodes(){for(let e of this.childNodes)await e.finalize()}stripComments(e){let t=``,n=0,r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e.charAt(a);if(r){n===0&&(t+=o),r=!1;continue}if(o===`\\`){r=!0,n===0&&(t+=o);continue}if(o===`"`&&n===0){i=!i,t+=o;continue}if(!i){if(o===`(`){n++;continue}if(o===`)`&&n>0){n--;continue}}n===0&&(t+=o)}return t}parseStructuredHeader(e){e=this.stripComments(e);let t={value:!1,params:{}},n=!1,r=``,i=`value`,a=!1,o=!1,s;for(let c=0,l=e.length;c<l;c++)switch(s=e.charAt(c),i){case`key`:if(s===`=`){n=r.trim().toLowerCase(),i=`value`,r=``;break}r+=s;break;case`value`:if(o)r+=s;else if(s===`\\`){o=!0;continue}else a&&s===a?a=!1:!a&&s===`"`?a=s:!a&&s===`;`?(n===!1?t.value=r.trim():t.params[n]=r.trim(),i=`key`,r=``):r+=s;o=!1;break}return r=r.trim(),i===`value`?n===!1?t.value=r:t.params[n]=r:r&&(t.params[r.toLowerCase()]=``),t.value&&=t.value.toLowerCase(),u(t),t}decodeFlowedText(e,t){return e.split(/\r?\n/).reduce((e,n)=>e.endsWith(` `)&&e!==`-- `&&!e.endsWith(`
|
||
-- `)?t?e.slice(0,-1)+n:e+n:e+`
|
||
`+n).replace(/^ /gm,``)}getTextContent(){if(!this.content)return``;let e=i(this.contentType.parsed.params.charset).decode(this.content);return/^flowed$/i.test(this.contentType.parsed.params.format)&&(e=this.decodeFlowedText(e,/^yes$/i.test(this.contentType.parsed.params.delsp))),e}processHeaders(){for(let e=this.headerLines.length-1;e>=0;e--){let t=this.headerLines[e];e&&/^\s/.test(t)&&(this.headerLines[e-1]+=`
|
||
`+t,this.headerLines.splice(e,1))}this.rawHeaderLines=[];for(let e=this.headerLines.length-1;e>=0;e--){let t=this.headerLines[e],n=t.indexOf(`:`),r=n<0?t.trim():t.substr(0,n).trim();this.rawHeaderLines.push({key:r.toLowerCase(),line:t});let i=t.replace(/\s+/g,` `);n=i.indexOf(`:`);let a=n<0?i.trim():i.substr(0,n).trim(),o=n<0?``:i.substr(n+1).trim();switch(this.headers.push({key:a.toLowerCase(),originalKey:a,value:o}),a.toLowerCase()){case`content-type`:this.contentType.default&&(this.contentType={value:o,parsed:{}});break;case`content-transfer-encoding`:this.contentTransferEncoding={value:o,parsed:{}};break;case`content-disposition`:this.contentDisposition={value:o,parsed:{}};break;case`content-id`:this.contentId=o;break;case`content-description`:this.contentDescription=o;break}}this.contentType.parsed=this.parseStructuredHeader(this.contentType.value),this.contentType.multipart=/^multipart\//i.test(this.contentType.parsed.value)?this.contentType.parsed.value.substr(this.contentType.parsed.value.indexOf(`/`)+1):!1,this.contentType.multipart&&this.contentType.parsed.params.boundary&&this.postalMime.boundaries.push({value:e.encode(this.contentType.parsed.params.boundary),node:this}),this.contentDisposition.parsed=this.parseStructuredHeader(this.contentDisposition.value),this.contentTransferEncoding.encoding=this.contentTransferEncoding.value.toLowerCase().split(/[^\w-]/).shift(),this.setupContentDecoder(this.contentTransferEncoding.encoding)}feed(e){switch(this.state){case`header`:if(!e.length)return this.state=`body`,this.processHeaders();if(this.headerSize+=e.length,this.headerSize>this.options.maxHeadersSize)throw Error(`Maximum header size of ${this.options.maxHeadersSize} bytes exceeded`);this.headerLines.push(v.decode(e));break;case`body`:this.contentDecoder.update(e)}}},b={"Æ":`Æ`,"Æ":`Æ`,"&":`&`,"&":`&`,"Á":`Á`,"Á":`Á`,"Ă":`Ă`,"Â":`Â`,"Â":`Â`,"А":`А`,"𝔄":`𝔄`,"À":`À`,"À":`À`,"Α":`Α`,"Ā":`Ā`,"⩓":`⩓`,"Ą":`Ą`,"𝔸":`𝔸`,"⁡":``,"Å":`Å`,"Å":`Å`,"𝒜":`𝒜`,"≔":`≔`,"Ã":`Ã`,"Ã":`Ã`,"Ä":`Ä`,"Ä":`Ä`,"∖":`∖`,"⫧":`⫧`,"⌆":`⌆`,"Б":`Б`,"∵":`∵`,"ℬ":`ℬ`,"Β":`Β`,"𝔅":`𝔅`,"𝔹":`𝔹`,"˘":`˘`,"ℬ":`ℬ`,"≎":`≎`,"Ч":`Ч`,"©":`©`,"©":`©`,"Ć":`Ć`,"⋒":`⋒`,"ⅅ":`ⅅ`,"ℭ":`ℭ`,"Č":`Č`,"Ç":`Ç`,"Ç":`Ç`,"Ĉ":`Ĉ`,"∰":`∰`,"Ċ":`Ċ`,"¸":`¸`,"·":`·`,"ℭ":`ℭ`,"Χ":`Χ`,"⊙":`⊙`,"⊖":`⊖`,"⊕":`⊕`,"⊗":`⊗`,"∲":`∲`,"”":`”`,"’":`’`,"∷":`∷`,"⩴":`⩴`,"≡":`≡`,"∯":`∯`,"∮":`∮`,"ℂ":`ℂ`,"∐":`∐`,"∳":`∳`,"⨯":`⨯`,"𝒞":`𝒞`,"⋓":`⋓`,"≍":`≍`,"ⅅ":`ⅅ`,"⤑":`⤑`,"Ђ":`Ђ`,"Ѕ":`Ѕ`,"Џ":`Џ`,"‡":`‡`,"↡":`↡`,"⫤":`⫤`,"Ď":`Ď`,"Д":`Д`,"∇":`∇`,"Δ":`Δ`,"𝔇":`𝔇`,"´":`´`,"˙":`˙`,"˝":`˝`,"`":"`","˜":`˜`,"⋄":`⋄`,"ⅆ":`ⅆ`,"𝔻":`𝔻`,"¨":`¨`,"⃜":`⃜`,"≐":`≐`,"∯":`∯`,"¨":`¨`,"⇓":`⇓`,"⇐":`⇐`,"⇔":`⇔`,"⫤":`⫤`,"⟸":`⟸`,"⟺":`⟺`,"⟹":`⟹`,"⇒":`⇒`,"⊨":`⊨`,"⇑":`⇑`,"⇕":`⇕`,"∥":`∥`,"↓":`↓`,"⤓":`⤓`,"⇵":`⇵`,"̑":`̑`,"⥐":`⥐`,"⥞":`⥞`,"↽":`↽`,"⥖":`⥖`,"⥟":`⥟`,"⇁":`⇁`,"⥗":`⥗`,"⊤":`⊤`,"↧":`↧`,"⇓":`⇓`,"𝒟":`𝒟`,"Đ":`Đ`,"Ŋ":`Ŋ`,"Ð":`Ð`,"Ð":`Ð`,"É":`É`,"É":`É`,"Ě":`Ě`,"Ê":`Ê`,"Ê":`Ê`,"Э":`Э`,"Ė":`Ė`,"𝔈":`𝔈`,"È":`È`,"È":`È`,"∈":`∈`,"Ē":`Ē`,"◻":`◻`,"▫":`▫`,"Ę":`Ę`,"𝔼":`𝔼`,"Ε":`Ε`,"⩵":`⩵`,"≂":`≂`,"⇌":`⇌`,"ℰ":`ℰ`,"⩳":`⩳`,"Η":`Η`,"Ë":`Ë`,"Ë":`Ë`,"∃":`∃`,"ⅇ":`ⅇ`,"Ф":`Ф`,"𝔉":`𝔉`,"◼":`◼`,"▪":`▪`,"𝔽":`𝔽`,"∀":`∀`,"ℱ":`ℱ`,"ℱ":`ℱ`,"Ѓ":`Ѓ`,">":`>`,">":`>`,"Γ":`Γ`,"Ϝ":`Ϝ`,"Ğ":`Ğ`,"Ģ":`Ģ`,"Ĝ":`Ĝ`,"Г":`Г`,"Ġ":`Ġ`,"𝔊":`𝔊`,"⋙":`⋙`,"𝔾":`𝔾`,"≥":`≥`,"⋛":`⋛`,"≧":`≧`,"⪢":`⪢`,"≷":`≷`,"⩾":`⩾`,"≳":`≳`,"𝒢":`𝒢`,"≫":`≫`,"Ъ":`Ъ`,"ˇ":`ˇ`,"^":`^`,"Ĥ":`Ĥ`,"ℌ":`ℌ`,"ℋ":`ℋ`,"ℍ":`ℍ`,"─":`─`,"ℋ":`ℋ`,"Ħ":`Ħ`,"≎":`≎`,"≏":`≏`,"Е":`Е`,"IJ":`IJ`,"Ё":`Ё`,"Í":`Í`,"Í":`Í`,"Î":`Î`,"Î":`Î`,"И":`И`,"İ":`İ`,"ℑ":`ℑ`,"Ì":`Ì`,"Ì":`Ì`,"ℑ":`ℑ`,"Ī":`Ī`,"ⅈ":`ⅈ`,"⇒":`⇒`,"∬":`∬`,"∫":`∫`,"⋂":`⋂`,"⁣":``,"⁢":``,"Į":`Į`,"𝕀":`𝕀`,"Ι":`Ι`,"ℐ":`ℐ`,"Ĩ":`Ĩ`,"І":`І`,"Ï":`Ï`,"Ï":`Ï`,"Ĵ":`Ĵ`,"Й":`Й`,"𝔍":`𝔍`,"𝕁":`𝕁`,"𝒥":`𝒥`,"Ј":`Ј`,"Є":`Є`,"Х":`Х`,"Ќ":`Ќ`,"Κ":`Κ`,"Ķ":`Ķ`,"К":`К`,"𝔎":`𝔎`,"𝕂":`𝕂`,"𝒦":`𝒦`,"Љ":`Љ`,"<":`<`,"<":`<`,"Ĺ":`Ĺ`,"Λ":`Λ`,"⟪":`⟪`,"ℒ":`ℒ`,"↞":`↞`,"Ľ":`Ľ`,"Ļ":`Ļ`,"Л":`Л`,"⟨":`⟨`,"←":`←`,"⇤":`⇤`,"⇆":`⇆`,"⌈":`⌈`,"⟦":`⟦`,"⥡":`⥡`,"⇃":`⇃`,"⥙":`⥙`,"⌊":`⌊`,"↔":`↔`,"⥎":`⥎`,"⊣":`⊣`,"↤":`↤`,"⥚":`⥚`,"⊲":`⊲`,"⧏":`⧏`,"⊴":`⊴`,"⥑":`⥑`,"⥠":`⥠`,"↿":`↿`,"⥘":`⥘`,"↼":`↼`,"⥒":`⥒`,"⇐":`⇐`,"⇔":`⇔`,"⋚":`⋚`,"≦":`≦`,"≶":`≶`,"⪡":`⪡`,"⩽":`⩽`,"≲":`≲`,"𝔏":`𝔏`,"⋘":`⋘`,"⇚":`⇚`,"Ŀ":`Ŀ`,"⟵":`⟵`,"⟷":`⟷`,"⟶":`⟶`,"⟸":`⟸`,"⟺":`⟺`,"⟹":`⟹`,"𝕃":`𝕃`,"↙":`↙`,"↘":`↘`,"ℒ":`ℒ`,"↰":`↰`,"Ł":`Ł`,"≪":`≪`,"⤅":`⤅`,"М":`М`," ":` `,"ℳ":`ℳ`,"𝔐":`𝔐`,"∓":`∓`,"𝕄":`𝕄`,"ℳ":`ℳ`,"Μ":`Μ`,"Њ":`Њ`,"Ń":`Ń`,"Ň":`Ň`,"Ņ":`Ņ`,"Н":`Н`,"​":``,"​":``,"​":``,"​":``,"≫":`≫`,"≪":`≪`,"
":`
|
||
`,"𝔑":`𝔑`,"⁠":``," ":`\xA0`,"ℕ":`ℕ`,"⫬":`⫬`,"≢":`≢`,"≭":`≭`,"∦":`∦`,"∉":`∉`,"≠":`≠`,"≂̸":`≂̸`,"∄":`∄`,"≯":`≯`,"≱":`≱`,"≧̸":`≧̸`,"≫̸":`≫̸`,"≹":`≹`,"⩾̸":`⩾̸`,"≵":`≵`,"≎̸":`≎̸`,"≏̸":`≏̸`,"⋪":`⋪`,"⧏̸":`⧏̸`,"⋬":`⋬`,"≮":`≮`,"≰":`≰`,"≸":`≸`,"≪̸":`≪̸`,"⩽̸":`⩽̸`,"≴":`≴`,"⪢̸":`⪢̸`,"⪡̸":`⪡̸`,"⊀":`⊀`,"⪯̸":`⪯̸`,"⋠":`⋠`,"∌":`∌`,"⋫":`⋫`,"⧐̸":`⧐̸`,"⋭":`⋭`,"⊏̸":`⊏̸`,"⋢":`⋢`,"⊐̸":`⊐̸`,"⋣":`⋣`,"⊂⃒":`⊂⃒`,"⊈":`⊈`,"⊁":`⊁`,"⪰̸":`⪰̸`,"⋡":`⋡`,"≿̸":`≿̸`,"⊃⃒":`⊃⃒`,"⊉":`⊉`,"≁":`≁`,"≄":`≄`,"≇":`≇`,"≉":`≉`,"∤":`∤`,"𝒩":`𝒩`,"Ñ":`Ñ`,"Ñ":`Ñ`,"Ν":`Ν`,"Œ":`Œ`,"Ó":`Ó`,"Ó":`Ó`,"Ô":`Ô`,"Ô":`Ô`,"О":`О`,"Ő":`Ő`,"𝔒":`𝔒`,"Ò":`Ò`,"Ò":`Ò`,"Ō":`Ō`,"Ω":`Ω`,"Ο":`Ο`,"𝕆":`𝕆`,"“":`“`,"‘":`‘`,"⩔":`⩔`,"𝒪":`𝒪`,"Ø":`Ø`,"Ø":`Ø`,"Õ":`Õ`,"Õ":`Õ`,"⨷":`⨷`,"Ö":`Ö`,"Ö":`Ö`,"‾":`‾`,"⏞":`⏞`,"⎴":`⎴`,"⏜":`⏜`,"∂":`∂`,"П":`П`,"𝔓":`𝔓`,"Φ":`Φ`,"Π":`Π`,"±":`±`,"ℌ":`ℌ`,"ℙ":`ℙ`,"⪻":`⪻`,"≺":`≺`,"⪯":`⪯`,"≼":`≼`,"≾":`≾`,"″":`″`,"∏":`∏`,"∷":`∷`,"∝":`∝`,"𝒫":`𝒫`,"Ψ":`Ψ`,""":`"`,""":`"`,"𝔔":`𝔔`,"ℚ":`ℚ`,"𝒬":`𝒬`,"⤐":`⤐`,"®":`®`,"®":`®`,"Ŕ":`Ŕ`,"⟫":`⟫`,"↠":`↠`,"⤖":`⤖`,"Ř":`Ř`,"Ŗ":`Ŗ`,"Р":`Р`,"ℜ":`ℜ`,"∋":`∋`,"⇋":`⇋`,"⥯":`⥯`,"ℜ":`ℜ`,"Ρ":`Ρ`,"⟩":`⟩`,"→":`→`,"⇥":`⇥`,"⇄":`⇄`,"⌉":`⌉`,"⟧":`⟧`,"⥝":`⥝`,"⇂":`⇂`,"⥕":`⥕`,"⌋":`⌋`,"⊢":`⊢`,"↦":`↦`,"⥛":`⥛`,"⊳":`⊳`,"⧐":`⧐`,"⊵":`⊵`,"⥏":`⥏`,"⥜":`⥜`,"↾":`↾`,"⥔":`⥔`,"⇀":`⇀`,"⥓":`⥓`,"⇒":`⇒`,"ℝ":`ℝ`,"⥰":`⥰`,"⇛":`⇛`,"ℛ":`ℛ`,"↱":`↱`,"⧴":`⧴`,"Щ":`Щ`,"Ш":`Ш`,"Ь":`Ь`,"Ś":`Ś`,"⪼":`⪼`,"Š":`Š`,"Ş":`Ş`,"Ŝ":`Ŝ`,"С":`С`,"𝔖":`𝔖`,"↓":`↓`,"←":`←`,"→":`→`,"↑":`↑`,"Σ":`Σ`,"∘":`∘`,"𝕊":`𝕊`,"√":`√`,"□":`□`,"⊓":`⊓`,"⊏":`⊏`,"⊑":`⊑`,"⊐":`⊐`,"⊒":`⊒`,"⊔":`⊔`,"𝒮":`𝒮`,"⋆":`⋆`,"⋐":`⋐`,"⋐":`⋐`,"⊆":`⊆`,"≻":`≻`,"⪰":`⪰`,"≽":`≽`,"≿":`≿`,"∋":`∋`,"∑":`∑`,"⋑":`⋑`,"⊃":`⊃`,"⊇":`⊇`,"⋑":`⋑`,"Þ":`Þ`,"Þ":`Þ`,"™":`™`,"Ћ":`Ћ`,"Ц":`Ц`,"	":` `,"Τ":`Τ`,"Ť":`Ť`,"Ţ":`Ţ`,"Т":`Т`,"𝔗":`𝔗`,"∴":`∴`,"Θ":`Θ`,"  ":` `," ":` `,"∼":`∼`,"≃":`≃`,"≅":`≅`,"≈":`≈`,"𝕋":`𝕋`,"⃛":`⃛`,"𝒯":`𝒯`,"Ŧ":`Ŧ`,"Ú":`Ú`,"Ú":`Ú`,"↟":`↟`,"⥉":`⥉`,"Ў":`Ў`,"Ŭ":`Ŭ`,"Û":`Û`,"Û":`Û`,"У":`У`,"Ű":`Ű`,"𝔘":`𝔘`,"Ù":`Ù`,"Ù":`Ù`,"Ū":`Ū`,"_":`_`,"⏟":`⏟`,"⎵":`⎵`,"⏝":`⏝`,"⋃":`⋃`,"⊎":`⊎`,"Ų":`Ų`,"𝕌":`𝕌`,"↑":`↑`,"⤒":`⤒`,"⇅":`⇅`,"↕":`↕`,"⥮":`⥮`,"⊥":`⊥`,"↥":`↥`,"⇑":`⇑`,"⇕":`⇕`,"↖":`↖`,"↗":`↗`,"ϒ":`ϒ`,"Υ":`Υ`,"Ů":`Ů`,"𝒰":`𝒰`,"Ũ":`Ũ`,"Ü":`Ü`,"Ü":`Ü`,"⊫":`⊫`,"⫫":`⫫`,"В":`В`,"⊩":`⊩`,"⫦":`⫦`,"⋁":`⋁`,"‖":`‖`,"‖":`‖`,"∣":`∣`,"|":`|`,"❘":`❘`,"≀":`≀`," ":` `,"𝔙":`𝔙`,"𝕍":`𝕍`,"𝒱":`𝒱`,"⊪":`⊪`,"Ŵ":`Ŵ`,"⋀":`⋀`,"𝔚":`𝔚`,"𝕎":`𝕎`,"𝒲":`𝒲`,"𝔛":`𝔛`,"Ξ":`Ξ`,"𝕏":`𝕏`,"𝒳":`𝒳`,"Я":`Я`,"Ї":`Ї`,"Ю":`Ю`,"Ý":`Ý`,"Ý":`Ý`,"Ŷ":`Ŷ`,"Ы":`Ы`,"𝔜":`𝔜`,"𝕐":`𝕐`,"𝒴":`𝒴`,"Ÿ":`Ÿ`,"Ж":`Ж`,"Ź":`Ź`,"Ž":`Ž`,"З":`З`,"Ż":`Ż`,"​":``,"Ζ":`Ζ`,"ℨ":`ℨ`,"ℤ":`ℤ`,"𝒵":`𝒵`,"á":`á`,"á":`á`,"ă":`ă`,"∾":`∾`,"∾̳":`∾̳`,"∿":`∿`,"â":`â`,"â":`â`,"´":`´`,"´":`´`,"а":`а`,"æ":`æ`,"æ":`æ`,"⁡":``,"𝔞":`𝔞`,"à":`à`,"à":`à`,"ℵ":`ℵ`,"ℵ":`ℵ`,"α":`α`,"ā":`ā`,"⨿":`⨿`,"&":`&`,"&":`&`,"∧":`∧`,"⩕":`⩕`,"⩜":`⩜`,"⩘":`⩘`,"⩚":`⩚`,"∠":`∠`,"⦤":`⦤`,"∠":`∠`,"∡":`∡`,"⦨":`⦨`,"⦩":`⦩`,"⦪":`⦪`,"⦫":`⦫`,"⦬":`⦬`,"⦭":`⦭`,"⦮":`⦮`,"⦯":`⦯`,"∟":`∟`,"⊾":`⊾`,"⦝":`⦝`,"∢":`∢`,"Å":`Å`,"⍼":`⍼`,"ą":`ą`,"𝕒":`𝕒`,"≈":`≈`,"⩰":`⩰`,"⩯":`⩯`,"≊":`≊`,"≋":`≋`,"'":`'`,"≈":`≈`,"≊":`≊`,"å":`å`,"å":`å`,"𝒶":`𝒶`,"*":`*`,"≈":`≈`,"≍":`≍`,"ã":`ã`,"ã":`ã`,"ä":`ä`,"ä":`ä`,"∳":`∳`,"⨑":`⨑`,"⫭":`⫭`,"≌":`≌`,"϶":`϶`,"‵":`‵`,"∽":`∽`,"⋍":`⋍`,"⊽":`⊽`,"⌅":`⌅`,"⌅":`⌅`,"⎵":`⎵`,"⎶":`⎶`,"≌":`≌`,"б":`б`,"„":`„`,"∵":`∵`,"∵":`∵`,"⦰":`⦰`,"϶":`϶`,"ℬ":`ℬ`,"β":`β`,"ℶ":`ℶ`,"≬":`≬`,"𝔟":`𝔟`,"⋂":`⋂`,"◯":`◯`,"⋃":`⋃`,"⨀":`⨀`,"⨁":`⨁`,"⨂":`⨂`,"⨆":`⨆`,"★":`★`,"▽":`▽`,"△":`△`,"⨄":`⨄`,"⋁":`⋁`,"⋀":`⋀`,"⤍":`⤍`,"⧫":`⧫`,"▪":`▪`,"▴":`▴`,"▾":`▾`,"◂":`◂`,"▸":`▸`,"␣":`␣`,"▒":`▒`,"░":`░`,"▓":`▓`,"█":`█`,"=⃥":`=⃥`,"≡⃥":`≡⃥`,"⌐":`⌐`,"𝕓":`𝕓`,"⊥":`⊥`,"⊥":`⊥`,"⋈":`⋈`,"╗":`╗`,"╔":`╔`,"╖":`╖`,"╓":`╓`,"═":`═`,"╦":`╦`,"╩":`╩`,"╤":`╤`,"╧":`╧`,"╝":`╝`,"╚":`╚`,"╜":`╜`,"╙":`╙`,"║":`║`,"╬":`╬`,"╣":`╣`,"╠":`╠`,"╫":`╫`,"╢":`╢`,"╟":`╟`,"⧉":`⧉`,"╕":`╕`,"╒":`╒`,"┐":`┐`,"┌":`┌`,"─":`─`,"╥":`╥`,"╨":`╨`,"┬":`┬`,"┴":`┴`,"⊟":`⊟`,"⊞":`⊞`,"⊠":`⊠`,"╛":`╛`,"╘":`╘`,"┘":`┘`,"└":`└`,"│":`│`,"╪":`╪`,"╡":`╡`,"╞":`╞`,"┼":`┼`,"┤":`┤`,"├":`├`,"‵":`‵`,"˘":`˘`,"¦":`¦`,"¦":`¦`,"𝒷":`𝒷`,"⁏":`⁏`,"∽":`∽`,"⋍":`⋍`,"\":`\\`,"⧅":`⧅`,"⟈":`⟈`,"•":`•`,"•":`•`,"≎":`≎`,"⪮":`⪮`,"≏":`≏`,"≏":`≏`,"ć":`ć`,"∩":`∩`,"⩄":`⩄`,"⩉":`⩉`,"⩋":`⩋`,"⩇":`⩇`,"⩀":`⩀`,"∩︀":`∩︀`,"⁁":`⁁`,"ˇ":`ˇ`,"⩍":`⩍`,"č":`č`,"ç":`ç`,"ç":`ç`,"ĉ":`ĉ`,"⩌":`⩌`,"⩐":`⩐`,"ċ":`ċ`,"¸":`¸`,"¸":`¸`,"⦲":`⦲`,"¢":`¢`,"¢":`¢`,"·":`·`,"𝔠":`𝔠`,"ч":`ч`,"✓":`✓`,"✓":`✓`,"χ":`χ`,"○":`○`,"⧃":`⧃`,"ˆ":`ˆ`,"≗":`≗`,"↺":`↺`,"↻":`↻`,"®":`®`,"Ⓢ":`Ⓢ`,"⊛":`⊛`,"⊚":`⊚`,"⊝":`⊝`,"≗":`≗`,"⨐":`⨐`,"⫯":`⫯`,"⧂":`⧂`,"♣":`♣`,"♣":`♣`,":":`:`,"≔":`≔`,"≔":`≔`,",":`,`,"@":`@`,"∁":`∁`,"∘":`∘`,"∁":`∁`,"ℂ":`ℂ`,"≅":`≅`,"⩭":`⩭`,"∮":`∮`,"𝕔":`𝕔`,"∐":`∐`,"©":`©`,"©":`©`,"℗":`℗`,"↵":`↵`,"✗":`✗`,"𝒸":`𝒸`,"⫏":`⫏`,"⫑":`⫑`,"⫐":`⫐`,"⫒":`⫒`,"⋯":`⋯`,"⤸":`⤸`,"⤵":`⤵`,"⋞":`⋞`,"⋟":`⋟`,"↶":`↶`,"⤽":`⤽`,"∪":`∪`,"⩈":`⩈`,"⩆":`⩆`,"⩊":`⩊`,"⊍":`⊍`,"⩅":`⩅`,"∪︀":`∪︀`,"↷":`↷`,"⤼":`⤼`,"⋞":`⋞`,"⋟":`⋟`,"⋎":`⋎`,"⋏":`⋏`,"¤":`¤`,"¤":`¤`,"↶":`↶`,"↷":`↷`,"⋎":`⋎`,"⋏":`⋏`,"∲":`∲`,"∱":`∱`,"⌭":`⌭`,"⇓":`⇓`,"⥥":`⥥`,"†":`†`,"ℸ":`ℸ`,"↓":`↓`,"‐":`‐`,"⊣":`⊣`,"⤏":`⤏`,"˝":`˝`,"ď":`ď`,"д":`д`,"ⅆ":`ⅆ`,"‡":`‡`,"⇊":`⇊`,"⩷":`⩷`,"°":`°`,"°":`°`,"δ":`δ`,"⦱":`⦱`,"⥿":`⥿`,"𝔡":`𝔡`,"⇃":`⇃`,"⇂":`⇂`,"⋄":`⋄`,"⋄":`⋄`,"♦":`♦`,"♦":`♦`,"¨":`¨`,"ϝ":`ϝ`,"⋲":`⋲`,"÷":`÷`,"÷":`÷`,"÷":`÷`,"⋇":`⋇`,"⋇":`⋇`,"ђ":`ђ`,"⌞":`⌞`,"⌍":`⌍`,"$":`$`,"𝕕":`𝕕`,"˙":`˙`,"≐":`≐`,"≑":`≑`,"∸":`∸`,"∔":`∔`,"⊡":`⊡`,"⌆":`⌆`,"↓":`↓`,"⇊":`⇊`,"⇃":`⇃`,"⇂":`⇂`,"⤐":`⤐`,"⌟":`⌟`,"⌌":`⌌`,"𝒹":`𝒹`,"ѕ":`ѕ`,"⧶":`⧶`,"đ":`đ`,"⋱":`⋱`,"▿":`▿`,"▾":`▾`,"⇵":`⇵`,"⥯":`⥯`,"⦦":`⦦`,"џ":`џ`,"⟿":`⟿`,"⩷":`⩷`,"≑":`≑`,"é":`é`,"é":`é`,"⩮":`⩮`,"ě":`ě`,"≖":`≖`,"ê":`ê`,"ê":`ê`,"≕":`≕`,"э":`э`,"ė":`ė`,"ⅇ":`ⅇ`,"≒":`≒`,"𝔢":`𝔢`,"⪚":`⪚`,"è":`è`,"è":`è`,"⪖":`⪖`,"⪘":`⪘`,"⪙":`⪙`,"⏧":`⏧`,"ℓ":`ℓ`,"⪕":`⪕`,"⪗":`⪗`,"ē":`ē`,"∅":`∅`,"∅":`∅`,"∅":`∅`," ":` `," ":` `," ":` `,"ŋ":`ŋ`," ":` `,"ę":`ę`,"𝕖":`𝕖`,"⋕":`⋕`,"⧣":`⧣`,"⩱":`⩱`,"ε":`ε`,"ε":`ε`,"ϵ":`ϵ`,"≖":`≖`,"≕":`≕`,"≂":`≂`,"⪖":`⪖`,"⪕":`⪕`,"=":`=`,"≟":`≟`,"≡":`≡`,"⩸":`⩸`,"⧥":`⧥`,"≓":`≓`,"⥱":`⥱`,"ℯ":`ℯ`,"≐":`≐`,"≂":`≂`,"η":`η`,"ð":`ð`,"ð":`ð`,"ë":`ë`,"ë":`ë`,"€":`€`,"!":`!`,"∃":`∃`,"ℰ":`ℰ`,"ⅇ":`ⅇ`,"≒":`≒`,"ф":`ф`,"♀":`♀`,"ffi":`ffi`,"ff":`ff`,"ffl":`ffl`,"𝔣":`𝔣`,"fi":`fi`,"fj":`fj`,"♭":`♭`,"fl":`fl`,"▱":`▱`,"ƒ":`ƒ`,"𝕗":`𝕗`,"∀":`∀`,"⋔":`⋔`,"⫙":`⫙`,"⨍":`⨍`,"½":`½`,"½":`½`,"⅓":`⅓`,"¼":`¼`,"¼":`¼`,"⅕":`⅕`,"⅙":`⅙`,"⅛":`⅛`,"⅔":`⅔`,"⅖":`⅖`,"¾":`¾`,"¾":`¾`,"⅗":`⅗`,"⅜":`⅜`,"⅘":`⅘`,"⅚":`⅚`,"⅝":`⅝`,"⅞":`⅞`,"⁄":`⁄`,"⌢":`⌢`,"𝒻":`𝒻`,"≧":`≧`,"⪌":`⪌`,"ǵ":`ǵ`,"γ":`γ`,"ϝ":`ϝ`,"⪆":`⪆`,"ğ":`ğ`,"ĝ":`ĝ`,"г":`г`,"ġ":`ġ`,"≥":`≥`,"⋛":`⋛`,"≥":`≥`,"≧":`≧`,"⩾":`⩾`,"⩾":`⩾`,"⪩":`⪩`,"⪀":`⪀`,"⪂":`⪂`,"⪄":`⪄`,"⋛︀":`⋛︀`,"⪔":`⪔`,"𝔤":`𝔤`,"≫":`≫`,"⋙":`⋙`,"ℷ":`ℷ`,"ѓ":`ѓ`,"≷":`≷`,"⪒":`⪒`,"⪥":`⪥`,"⪤":`⪤`,"≩":`≩`,"⪊":`⪊`,"⪊":`⪊`,"⪈":`⪈`,"⪈":`⪈`,"≩":`≩`,"⋧":`⋧`,"𝕘":`𝕘`,"`":"`","ℊ":`ℊ`,"≳":`≳`,"⪎":`⪎`,"⪐":`⪐`,">":`>`,">":`>`,"⪧":`⪧`,"⩺":`⩺`,"⋗":`⋗`,"⦕":`⦕`,"⩼":`⩼`,"⪆":`⪆`,"⥸":`⥸`,"⋗":`⋗`,"⋛":`⋛`,"⪌":`⪌`,"≷":`≷`,"≳":`≳`,"≩︀":`≩︀`,"≩︀":`≩︀`,"⇔":`⇔`," ":` `,"½":`½`,"ℋ":`ℋ`,"ъ":`ъ`,"↔":`↔`,"⥈":`⥈`,"↭":`↭`,"ℏ":`ℏ`,"ĥ":`ĥ`,"♥":`♥`,"♥":`♥`,"…":`…`,"⊹":`⊹`,"𝔥":`𝔥`,"⤥":`⤥`,"⤦":`⤦`,"⇿":`⇿`,"∻":`∻`,"↩":`↩`,"↪":`↪`,"𝕙":`𝕙`,"―":`―`,"𝒽":`𝒽`,"ℏ":`ℏ`,"ħ":`ħ`,"⁃":`⁃`,"‐":`‐`,"í":`í`,"í":`í`,"⁣":``,"î":`î`,"î":`î`,"и":`и`,"е":`е`,"¡":`¡`,"¡":`¡`,"⇔":`⇔`,"𝔦":`𝔦`,"ì":`ì`,"ì":`ì`,"ⅈ":`ⅈ`,"⨌":`⨌`,"∭":`∭`,"⧜":`⧜`,"℩":`℩`,"ij":`ij`,"ī":`ī`,"ℑ":`ℑ`,"ℐ":`ℐ`,"ℑ":`ℑ`,"ı":`ı`,"⊷":`⊷`,"Ƶ":`Ƶ`,"∈":`∈`,"℅":`℅`,"∞":`∞`,"⧝":`⧝`,"ı":`ı`,"∫":`∫`,"⊺":`⊺`,"ℤ":`ℤ`,"⊺":`⊺`,"⨗":`⨗`,"⨼":`⨼`,"ё":`ё`,"į":`į`,"𝕚":`𝕚`,"ι":`ι`,"⨼":`⨼`,"¿":`¿`,"¿":`¿`,"𝒾":`𝒾`,"∈":`∈`,"⋹":`⋹`,"⋵":`⋵`,"⋴":`⋴`,"⋳":`⋳`,"∈":`∈`,"⁢":``,"ĩ":`ĩ`,"і":`і`,"ï":`ï`,"ï":`ï`,"ĵ":`ĵ`,"й":`й`,"𝔧":`𝔧`,"ȷ":`ȷ`,"𝕛":`𝕛`,"𝒿":`𝒿`,"ј":`ј`,"є":`є`,"κ":`κ`,"ϰ":`ϰ`,"ķ":`ķ`,"к":`к`,"𝔨":`𝔨`,"ĸ":`ĸ`,"х":`х`,"ќ":`ќ`,"𝕜":`𝕜`,"𝓀":`𝓀`,"⇚":`⇚`,"⇐":`⇐`,"⤛":`⤛`,"⤎":`⤎`,"≦":`≦`,"⪋":`⪋`,"⥢":`⥢`,"ĺ":`ĺ`,"⦴":`⦴`,"ℒ":`ℒ`,"λ":`λ`,"⟨":`⟨`,"⦑":`⦑`,"⟨":`⟨`,"⪅":`⪅`,"«":`«`,"«":`«`,"←":`←`,"⇤":`⇤`,"⤟":`⤟`,"⤝":`⤝`,"↩":`↩`,"↫":`↫`,"⤹":`⤹`,"⥳":`⥳`,"↢":`↢`,"⪫":`⪫`,"⤙":`⤙`,"⪭":`⪭`,"⪭︀":`⪭︀`,"⤌":`⤌`,"❲":`❲`,"{":`{`,"[":`[`,"⦋":`⦋`,"⦏":`⦏`,"⦍":`⦍`,"ľ":`ľ`,"ļ":`ļ`,"⌈":`⌈`,"{":`{`,"л":`л`,"⤶":`⤶`,"“":`“`,"„":`„`,"⥧":`⥧`,"⥋":`⥋`,"↲":`↲`,"≤":`≤`,"←":`←`,"↢":`↢`,"↽":`↽`,"↼":`↼`,"⇇":`⇇`,"↔":`↔`,"⇆":`⇆`,"⇋":`⇋`,"↭":`↭`,"⋋":`⋋`,"⋚":`⋚`,"≤":`≤`,"≦":`≦`,"⩽":`⩽`,"⩽":`⩽`,"⪨":`⪨`,"⩿":`⩿`,"⪁":`⪁`,"⪃":`⪃`,"⋚︀":`⋚︀`,"⪓":`⪓`,"⪅":`⪅`,"⋖":`⋖`,"⋚":`⋚`,"⪋":`⪋`,"≶":`≶`,"≲":`≲`,"⥼":`⥼`,"⌊":`⌊`,"𝔩":`𝔩`,"≶":`≶`,"⪑":`⪑`,"↽":`↽`,"↼":`↼`,"⥪":`⥪`,"▄":`▄`,"љ":`љ`,"≪":`≪`,"⇇":`⇇`,"⌞":`⌞`,"⥫":`⥫`,"◺":`◺`,"ŀ":`ŀ`,"⎰":`⎰`,"⎰":`⎰`,"≨":`≨`,"⪉":`⪉`,"⪉":`⪉`,"⪇":`⪇`,"⪇":`⪇`,"≨":`≨`,"⋦":`⋦`,"⟬":`⟬`,"⇽":`⇽`,"⟦":`⟦`,"⟵":`⟵`,"⟷":`⟷`,"⟼":`⟼`,"⟶":`⟶`,"↫":`↫`,"↬":`↬`,"⦅":`⦅`,"𝕝":`𝕝`,"⨭":`⨭`,"⨴":`⨴`,"∗":`∗`,"_":`_`,"◊":`◊`,"◊":`◊`,"⧫":`⧫`,"(":`(`,"⦓":`⦓`,"⇆":`⇆`,"⌟":`⌟`,"⇋":`⇋`,"⥭":`⥭`,"‎":``,"⊿":`⊿`,"‹":`‹`,"𝓁":`𝓁`,"↰":`↰`,"≲":`≲`,"⪍":`⪍`,"⪏":`⪏`,"[":`[`,"‘":`‘`,"‚":`‚`,"ł":`ł`,"<":`<`,"<":`<`,"⪦":`⪦`,"⩹":`⩹`,"⋖":`⋖`,"⋋":`⋋`,"⋉":`⋉`,"⥶":`⥶`,"⩻":`⩻`,"⦖":`⦖`,"◃":`◃`,"⊴":`⊴`,"◂":`◂`,"⥊":`⥊`,"⥦":`⥦`,"≨︀":`≨︀`,"≨︀":`≨︀`,"∺":`∺`,"¯":`¯`,"¯":`¯`,"♂":`♂`,"✠":`✠`,"✠":`✠`,"↦":`↦`,"↦":`↦`,"↧":`↧`,"↤":`↤`,"↥":`↥`,"▮":`▮`,"⨩":`⨩`,"м":`м`,"—":`—`,"∡":`∡`,"𝔪":`𝔪`,"℧":`℧`,"µ":`µ`,"µ":`µ`,"∣":`∣`,"*":`*`,"⫰":`⫰`,"·":`·`,"·":`·`,"−":`−`,"⊟":`⊟`,"∸":`∸`,"⨪":`⨪`,"⫛":`⫛`,"…":`…`,"∓":`∓`,"⊧":`⊧`,"𝕞":`𝕞`,"∓":`∓`,"𝓂":`𝓂`,"∾":`∾`,"μ":`μ`,"⊸":`⊸`,"⊸":`⊸`,"⋙̸":`⋙̸`,"≫⃒":`≫⃒`,"≫̸":`≫̸`,"⇍":`⇍`,"⇎":`⇎`,"⋘̸":`⋘̸`,"≪⃒":`≪⃒`,"≪̸":`≪̸`,"⇏":`⇏`,"⊯":`⊯`,"⊮":`⊮`,"∇":`∇`,"ń":`ń`,"∠⃒":`∠⃒`,"≉":`≉`,"⩰̸":`⩰̸`,"≋̸":`≋̸`,"ʼn":`ʼn`,"≉":`≉`,"♮":`♮`,"♮":`♮`,"ℕ":`ℕ`," ":`\xA0`," ":`\xA0`,"≎̸":`≎̸`,"≏̸":`≏̸`,"⩃":`⩃`,"ň":`ň`,"ņ":`ņ`,"≇":`≇`,"⩭̸":`⩭̸`,"⩂":`⩂`,"н":`н`,"–":`–`,"≠":`≠`,"⇗":`⇗`,"⤤":`⤤`,"↗":`↗`,"↗":`↗`,"≐̸":`≐̸`,"≢":`≢`,"⤨":`⤨`,"≂̸":`≂̸`,"∄":`∄`,"∄":`∄`,"𝔫":`𝔫`,"≧̸":`≧̸`,"≱":`≱`,"≱":`≱`,"≧̸":`≧̸`,"⩾̸":`⩾̸`,"⩾̸":`⩾̸`,"≵":`≵`,"≯":`≯`,"≯":`≯`,"⇎":`⇎`,"↮":`↮`,"⫲":`⫲`,"∋":`∋`,"⋼":`⋼`,"⋺":`⋺`,"∋":`∋`,"њ":`њ`,"⇍":`⇍`,"≦̸":`≦̸`,"↚":`↚`,"‥":`‥`,"≰":`≰`,"↚":`↚`,"↮":`↮`,"≰":`≰`,"≦̸":`≦̸`,"⩽̸":`⩽̸`,"⩽̸":`⩽̸`,"≮":`≮`,"≴":`≴`,"≮":`≮`,"⋪":`⋪`,"⋬":`⋬`,"∤":`∤`,"𝕟":`𝕟`,"¬":`¬`,"¬":`¬`,"∉":`∉`,"⋹̸":`⋹̸`,"⋵̸":`⋵̸`,"∉":`∉`,"⋷":`⋷`,"⋶":`⋶`,"∌":`∌`,"∌":`∌`,"⋾":`⋾`,"⋽":`⋽`,"∦":`∦`,"∦":`∦`,"⫽⃥":`⫽⃥`,"∂̸":`∂̸`,"⨔":`⨔`,"⊀":`⊀`,"⋠":`⋠`,"⪯̸":`⪯̸`,"⊀":`⊀`,"⪯̸":`⪯̸`,"⇏":`⇏`,"↛":`↛`,"⤳̸":`⤳̸`,"↝̸":`↝̸`,"↛":`↛`,"⋫":`⋫`,"⋭":`⋭`,"⊁":`⊁`,"⋡":`⋡`,"⪰̸":`⪰̸`,"𝓃":`𝓃`,"∤":`∤`,"∦":`∦`,"≁":`≁`,"≄":`≄`,"≄":`≄`,"∤":`∤`,"∦":`∦`,"⋢":`⋢`,"⋣":`⋣`,"⊄":`⊄`,"⫅̸":`⫅̸`,"⊈":`⊈`,"⊂⃒":`⊂⃒`,"⊈":`⊈`,"⫅̸":`⫅̸`,"⊁":`⊁`,"⪰̸":`⪰̸`,"⊅":`⊅`,"⫆̸":`⫆̸`,"⊉":`⊉`,"⊃⃒":`⊃⃒`,"⊉":`⊉`,"⫆̸":`⫆̸`,"≹":`≹`,"ñ":`ñ`,"ñ":`ñ`,"≸":`≸`,"⋪":`⋪`,"⋬":`⋬`,"⋫":`⋫`,"⋭":`⋭`,"ν":`ν`,"#":`#`,"№":`№`," ":` `,"⊭":`⊭`,"⤄":`⤄`,"≍⃒":`≍⃒`,"⊬":`⊬`,"≥⃒":`≥⃒`,">⃒":`>⃒`,"⧞":`⧞`,"⤂":`⤂`,"≤⃒":`≤⃒`,"<⃒":`<⃒`,"⊴⃒":`⊴⃒`,"⤃":`⤃`,"⊵⃒":`⊵⃒`,"∼⃒":`∼⃒`,"⇖":`⇖`,"⤣":`⤣`,"↖":`↖`,"↖":`↖`,"⤧":`⤧`,"Ⓢ":`Ⓢ`,"ó":`ó`,"ó":`ó`,"⊛":`⊛`,"⊚":`⊚`,"ô":`ô`,"ô":`ô`,"о":`о`,"⊝":`⊝`,"ő":`ő`,"⨸":`⨸`,"⊙":`⊙`,"⦼":`⦼`,"œ":`œ`,"⦿":`⦿`,"𝔬":`𝔬`,"˛":`˛`,"ò":`ò`,"ò":`ò`,"⧁":`⧁`,"⦵":`⦵`,"Ω":`Ω`,"∮":`∮`,"↺":`↺`,"⦾":`⦾`,"⦻":`⦻`,"‾":`‾`,"⧀":`⧀`,"ō":`ō`,"ω":`ω`,"ο":`ο`,"⦶":`⦶`,"⊖":`⊖`,"𝕠":`𝕠`,"⦷":`⦷`,"⦹":`⦹`,"⊕":`⊕`,"∨":`∨`,"↻":`↻`,"⩝":`⩝`,"ℴ":`ℴ`,"ℴ":`ℴ`,"ª":`ª`,"ª":`ª`,"º":`º`,"º":`º`,"⊶":`⊶`,"⩖":`⩖`,"⩗":`⩗`,"⩛":`⩛`,"ℴ":`ℴ`,"ø":`ø`,"ø":`ø`,"⊘":`⊘`,"õ":`õ`,"õ":`õ`,"⊗":`⊗`,"⨶":`⨶`,"ö":`ö`,"ö":`ö`,"⌽":`⌽`,"∥":`∥`,"¶":`¶`,"¶":`¶`,"∥":`∥`,"⫳":`⫳`,"⫽":`⫽`,"∂":`∂`,"п":`п`,"%":`%`,".":`.`,"‰":`‰`,"⊥":`⊥`,"‱":`‱`,"𝔭":`𝔭`,"φ":`φ`,"ϕ":`ϕ`,"ℳ":`ℳ`,"☎":`☎`,"π":`π`,"⋔":`⋔`,"ϖ":`ϖ`,"ℏ":`ℏ`,"ℎ":`ℎ`,"ℏ":`ℏ`,"+":`+`,"⨣":`⨣`,"⊞":`⊞`,"⨢":`⨢`,"∔":`∔`,"⨥":`⨥`,"⩲":`⩲`,"±":`±`,"±":`±`,"⨦":`⨦`,"⨧":`⨧`,"±":`±`,"⨕":`⨕`,"𝕡":`𝕡`,"£":`£`,"£":`£`,"≺":`≺`,"⪳":`⪳`,"⪷":`⪷`,"≼":`≼`,"⪯":`⪯`,"≺":`≺`,"⪷":`⪷`,"≼":`≼`,"⪯":`⪯`,"⪹":`⪹`,"⪵":`⪵`,"⋨":`⋨`,"≾":`≾`,"′":`′`,"ℙ":`ℙ`,"⪵":`⪵`,"⪹":`⪹`,"⋨":`⋨`,"∏":`∏`,"⌮":`⌮`,"⌒":`⌒`,"⌓":`⌓`,"∝":`∝`,"∝":`∝`,"≾":`≾`,"⊰":`⊰`,"𝓅":`𝓅`,"ψ":`ψ`," ":` `,"𝔮":`𝔮`,"⨌":`⨌`,"𝕢":`𝕢`,"⁗":`⁗`,"𝓆":`𝓆`,"ℍ":`ℍ`,"⨖":`⨖`,"?":`?`,"≟":`≟`,""":`"`,""":`"`,"⇛":`⇛`,"⇒":`⇒`,"⤜":`⤜`,"⤏":`⤏`,"⥤":`⥤`,"∽̱":`∽̱`,"ŕ":`ŕ`,"√":`√`,"⦳":`⦳`,"⟩":`⟩`,"⦒":`⦒`,"⦥":`⦥`,"⟩":`⟩`,"»":`»`,"»":`»`,"→":`→`,"⥵":`⥵`,"⇥":`⇥`,"⤠":`⤠`,"⤳":`⤳`,"⤞":`⤞`,"↪":`↪`,"↬":`↬`,"⥅":`⥅`,"⥴":`⥴`,"↣":`↣`,"↝":`↝`,"⤚":`⤚`,"∶":`∶`,"ℚ":`ℚ`,"⤍":`⤍`,"❳":`❳`,"}":`}`,"]":`]`,"⦌":`⦌`,"⦎":`⦎`,"⦐":`⦐`,"ř":`ř`,"ŗ":`ŗ`,"⌉":`⌉`,"}":`}`,"р":`р`,"⤷":`⤷`,"⥩":`⥩`,"”":`”`,"”":`”`,"↳":`↳`,"ℜ":`ℜ`,"ℛ":`ℛ`,"ℜ":`ℜ`,"ℝ":`ℝ`,"▭":`▭`,"®":`®`,"®":`®`,"⥽":`⥽`,"⌋":`⌋`,"𝔯":`𝔯`,"⇁":`⇁`,"⇀":`⇀`,"⥬":`⥬`,"ρ":`ρ`,"ϱ":`ϱ`,"→":`→`,"↣":`↣`,"⇁":`⇁`,"⇀":`⇀`,"⇄":`⇄`,"⇌":`⇌`,"⇉":`⇉`,"↝":`↝`,"⋌":`⋌`,"˚":`˚`,"≓":`≓`,"⇄":`⇄`,"⇌":`⇌`,"‏":``,"⎱":`⎱`,"⎱":`⎱`,"⫮":`⫮`,"⟭":`⟭`,"⇾":`⇾`,"⟧":`⟧`,"⦆":`⦆`,"𝕣":`𝕣`,"⨮":`⨮`,"⨵":`⨵`,")":`)`,"⦔":`⦔`,"⨒":`⨒`,"⇉":`⇉`,"›":`›`,"𝓇":`𝓇`,"↱":`↱`,"]":`]`,"’":`’`,"’":`’`,"⋌":`⋌`,"⋊":`⋊`,"▹":`▹`,"⊵":`⊵`,"▸":`▸`,"⧎":`⧎`,"⥨":`⥨`,"℞":`℞`,"ś":`ś`,"‚":`‚`,"≻":`≻`,"⪴":`⪴`,"⪸":`⪸`,"š":`š`,"≽":`≽`,"⪰":`⪰`,"ş":`ş`,"ŝ":`ŝ`,"⪶":`⪶`,"⪺":`⪺`,"⋩":`⋩`,"⨓":`⨓`,"≿":`≿`,"с":`с`,"⋅":`⋅`,"⊡":`⊡`,"⩦":`⩦`,"⇘":`⇘`,"⤥":`⤥`,"↘":`↘`,"↘":`↘`,"§":`§`,"§":`§`,";":`;`,"⤩":`⤩`,"∖":`∖`,"∖":`∖`,"✶":`✶`,"𝔰":`𝔰`,"⌢":`⌢`,"♯":`♯`,"щ":`щ`,"ш":`ш`,"∣":`∣`,"∥":`∥`,"­":``,"­":``,"σ":`σ`,"ς":`ς`,"ς":`ς`,"∼":`∼`,"⩪":`⩪`,"≃":`≃`,"≃":`≃`,"⪞":`⪞`,"⪠":`⪠`,"⪝":`⪝`,"⪟":`⪟`,"≆":`≆`,"⨤":`⨤`,"⥲":`⥲`,"←":`←`,"∖":`∖`,"⨳":`⨳`,"⧤":`⧤`,"∣":`∣`,"⌣":`⌣`,"⪪":`⪪`,"⪬":`⪬`,"⪬︀":`⪬︀`,"ь":`ь`,"/":`/`,"⧄":`⧄`,"⌿":`⌿`,"𝕤":`𝕤`,"♠":`♠`,"♠":`♠`,"∥":`∥`,"⊓":`⊓`,"⊓︀":`⊓︀`,"⊔":`⊔`,"⊔︀":`⊔︀`,"⊏":`⊏`,"⊑":`⊑`,"⊏":`⊏`,"⊑":`⊑`,"⊐":`⊐`,"⊒":`⊒`,"⊐":`⊐`,"⊒":`⊒`,"□":`□`,"□":`□`,"▪":`▪`,"▪":`▪`,"→":`→`,"𝓈":`𝓈`,"∖":`∖`,"⌣":`⌣`,"⋆":`⋆`,"☆":`☆`,"★":`★`,"ϵ":`ϵ`,"ϕ":`ϕ`,"¯":`¯`,"⊂":`⊂`,"⫅":`⫅`,"⪽":`⪽`,"⊆":`⊆`,"⫃":`⫃`,"⫁":`⫁`,"⫋":`⫋`,"⊊":`⊊`,"⪿":`⪿`,"⥹":`⥹`,"⊂":`⊂`,"⊆":`⊆`,"⫅":`⫅`,"⊊":`⊊`,"⫋":`⫋`,"⫇":`⫇`,"⫕":`⫕`,"⫓":`⫓`,"≻":`≻`,"⪸":`⪸`,"≽":`≽`,"⪰":`⪰`,"⪺":`⪺`,"⪶":`⪶`,"⋩":`⋩`,"≿":`≿`,"∑":`∑`,"♪":`♪`,"¹":`¹`,"¹":`¹`,"²":`²`,"²":`²`,"³":`³`,"³":`³`,"⊃":`⊃`,"⫆":`⫆`,"⪾":`⪾`,"⫘":`⫘`,"⊇":`⊇`,"⫄":`⫄`,"⟉":`⟉`,"⫗":`⫗`,"⥻":`⥻`,"⫂":`⫂`,"⫌":`⫌`,"⊋":`⊋`,"⫀":`⫀`,"⊃":`⊃`,"⊇":`⊇`,"⫆":`⫆`,"⊋":`⊋`,"⫌":`⫌`,"⫈":`⫈`,"⫔":`⫔`,"⫖":`⫖`,"⇙":`⇙`,"⤦":`⤦`,"↙":`↙`,"↙":`↙`,"⤪":`⤪`,"ß":`ß`,"ß":`ß`,"⌖":`⌖`,"τ":`τ`,"⎴":`⎴`,"ť":`ť`,"ţ":`ţ`,"т":`т`,"⃛":`⃛`,"⌕":`⌕`,"𝔱":`𝔱`,"∴":`∴`,"∴":`∴`,"θ":`θ`,"ϑ":`ϑ`,"ϑ":`ϑ`,"≈":`≈`,"∼":`∼`," ":` `,"≈":`≈`,"∼":`∼`,"þ":`þ`,"þ":`þ`,"˜":`˜`,"×":`×`,"×":`×`,"⊠":`⊠`,"⨱":`⨱`,"⨰":`⨰`,"∭":`∭`,"⤨":`⤨`,"⊤":`⊤`,"⌶":`⌶`,"⫱":`⫱`,"𝕥":`𝕥`,"⫚":`⫚`,"⤩":`⤩`,"‴":`‴`,"™":`™`,"▵":`▵`,"▿":`▿`,"◃":`◃`,"⊴":`⊴`,"≜":`≜`,"▹":`▹`,"⊵":`⊵`,"◬":`◬`,"≜":`≜`,"⨺":`⨺`,"⨹":`⨹`,"⧍":`⧍`,"⨻":`⨻`,"⏢":`⏢`,"𝓉":`𝓉`,"ц":`ц`,"ћ":`ћ`,"ŧ":`ŧ`,"≬":`≬`,"↞":`↞`,"↠":`↠`,"⇑":`⇑`,"⥣":`⥣`,"ú":`ú`,"ú":`ú`,"↑":`↑`,"ў":`ў`,"ŭ":`ŭ`,"û":`û`,"û":`û`,"у":`у`,"⇅":`⇅`,"ű":`ű`,"⥮":`⥮`,"⥾":`⥾`,"𝔲":`𝔲`,"ù":`ù`,"ù":`ù`,"↿":`↿`,"↾":`↾`,"▀":`▀`,"⌜":`⌜`,"⌜":`⌜`,"⌏":`⌏`,"◸":`◸`,"ū":`ū`,"¨":`¨`,"¨":`¨`,"ų":`ų`,"𝕦":`𝕦`,"↑":`↑`,"↕":`↕`,"↿":`↿`,"↾":`↾`,"⊎":`⊎`,"υ":`υ`,"ϒ":`ϒ`,"υ":`υ`,"⇈":`⇈`,"⌝":`⌝`,"⌝":`⌝`,"⌎":`⌎`,"ů":`ů`,"◹":`◹`,"𝓊":`𝓊`,"⋰":`⋰`,"ũ":`ũ`,"▵":`▵`,"▴":`▴`,"⇈":`⇈`,"ü":`ü`,"ü":`ü`,"⦧":`⦧`,"⇕":`⇕`,"⫨":`⫨`,"⫩":`⫩`,"⊨":`⊨`,"⦜":`⦜`,"ϵ":`ϵ`,"ϰ":`ϰ`,"∅":`∅`,"ϕ":`ϕ`,"ϖ":`ϖ`,"∝":`∝`,"↕":`↕`,"ϱ":`ϱ`,"ς":`ς`,"⊊︀":`⊊︀`,"⫋︀":`⫋︀`,"⊋︀":`⊋︀`,"⫌︀":`⫌︀`,"ϑ":`ϑ`,"⊲":`⊲`,"⊳":`⊳`,"в":`в`,"⊢":`⊢`,"∨":`∨`,"⊻":`⊻`,"≚":`≚`,"⋮":`⋮`,"|":`|`,"|":`|`,"𝔳":`𝔳`,"⊲":`⊲`,"⊂⃒":`⊂⃒`,"⊃⃒":`⊃⃒`,"𝕧":`𝕧`,"∝":`∝`,"⊳":`⊳`,"𝓋":`𝓋`,"⫋︀":`⫋︀`,"⊊︀":`⊊︀`,"⫌︀":`⫌︀`,"⊋︀":`⊋︀`,"⦚":`⦚`,"ŵ":`ŵ`,"⩟":`⩟`,"∧":`∧`,"≙":`≙`,"℘":`℘`,"𝔴":`𝔴`,"𝕨":`𝕨`,"℘":`℘`,"≀":`≀`,"≀":`≀`,"𝓌":`𝓌`,"⋂":`⋂`,"◯":`◯`,"⋃":`⋃`,"▽":`▽`,"𝔵":`𝔵`,"⟺":`⟺`,"⟷":`⟷`,"ξ":`ξ`,"⟸":`⟸`,"⟵":`⟵`,"⟼":`⟼`,"⋻":`⋻`,"⨀":`⨀`,"𝕩":`𝕩`,"⨁":`⨁`,"⨂":`⨂`,"⟹":`⟹`,"⟶":`⟶`,"𝓍":`𝓍`,"⨆":`⨆`,"⨄":`⨄`,"△":`△`,"⋁":`⋁`,"⋀":`⋀`,"ý":`ý`,"ý":`ý`,"я":`я`,"ŷ":`ŷ`,"ы":`ы`,"¥":`¥`,"¥":`¥`,"𝔶":`𝔶`,"ї":`ї`,"𝕪":`𝕪`,"𝓎":`𝓎`,"ю":`ю`,"ÿ":`ÿ`,"ÿ":`ÿ`,"ź":`ź`,"ž":`ž`,"з":`з`,"ż":`ż`,"ℨ":`ℨ`,"ζ":`ζ`,"𝔷":`𝔷`,"ж":`ж`,"⇝":`⇝`,"𝕫":`𝕫`,"𝓏":`𝓏`,"‍":``,"‌":``};function x(e){return e.replace(/&(#\d+|#x[a-f0-9]+|[a-z]+\d*);?/gi,(e,t)=>{if(typeof b[e]==`string`)return b[e];if(t.charAt(0)!==`#`||e.charAt(e.length-1)!==`;`)return e;let n;n=t.charAt(1)===`x`?parseInt(t.substr(2),16):parseInt(t.substr(1),10);let r=``;return n>=55296&&n<=57343||n>1114111?`<EFBFBD>`:(n>65535&&(n-=65536,r+=String.fromCharCode(n>>>10&1023|55296),n=56320|n&1023),r+=String.fromCharCode(n),r)})}function S(e){return e.trim().replace(/[<>"'?&]/g,e=>{let t=e.charCodeAt(0).toString(16);return t.length<2&&(t=`0`+t),`&#x`+t.toUpperCase()+`;`})}function C(e){return`<div>`+S(e).replace(/\n/g,`<br />`)+`</div>`}function w(e){return e=e.replace(/\r?\n/g,``).replace(/<\!\-\-.*?\-\->/gi,` `).replace(/<br\b[^>]*>/gi,`
|
||
`).replace(/<\/?(p|div|table|tr|td|th)\b[^>]*>/gi,`
|
||
|
||
`).replace(/<script\b[^>]*>.*?<\/script\b[^>]*>/gi,` `).replace(/^.*<body\b[^>]*>/i,``).replace(/^.*<\/head\b[^>]*>/i,``).replace(/^.*<\!doctype\b[^>]*>/i,``).replace(/<\/body\b[^>]*>.*$/i,``).replace(/<\/html\b[^>]*>.*$/i,``).replace(/<a\b[^>]*href\s*=\s*["']?([^\s"']+)[^>]*>/gi,` ($1) `).replace(/<\/?(span|em|i|strong|b|u|a)\b[^>]*>/gi,``).replace(/<li\b[^>]*>[\n\u0001\s]*/gi,`* `).replace(/<hr\b[^>]*>/g,`
|
||
-------------
|
||
`).replace(/<[^>]*>/g,` `).replace(/\u0001/g,`
|
||
`).replace(/[ \t]+/g,` `).replace(/^\s+$/gm,``).replace(/\n\n+/g,`
|
||
|
||
`).replace(/^\n+/,`
|
||
`).replace(/\n+$/,`
|
||
`),e=x(e),e}function T(e){return[].concat(e.name||[],e.name?`<${e.address}>`:e.address).join(` `)}function E(e){let t=[],n=(e,r)=>{if(r&&t.push(`, `),e.group){let r=`${e.name}:`;t.push(r),e.group.forEach(n),t.push(`;`)}else t.push(T(e))};return e.forEach(n),t.join(``)}function D(e){return`<a href="mailto:${S(e.address)}" class="postal-email-address">${S(e.name||`<${e.address}>`)}</a>`}function O(e){let t=[],n=(e,r)=>{if(r&&t.push(`<span class="postal-email-address-separator">, </span>`),e.group){let r=`<span class="postal-email-address-group">${S(e.name)}:</span>`;t.push(r),e.group.forEach(n),t.push(`<span class="postal-email-address-group">;</span>`)}else t.push(D(e))};return e.forEach(n),t.join(` `)}function k(e,t,n){e=(e||``).toString(),t||=76;let r=0,i=e.length,a=``,o,s;for(;r<i;){if(o=e.substr(r,t),o.length<t){a+=o;break}if(s=o.match(/^[^\n\r]*(\r?\n|\r)/)){o=s[0],a+=o,r+=o.length;continue}else (s=o.match(/(\s+)[^\s]*$/))&&s[0].length-(n?(s[1]||``).length:0)<o.length?o=o.substr(0,o.length-(s[0].length-(n?(s[1]||``).length:0))):(s=e.substr(r+o.length).match(/^[^\s]+(\s*)/))&&(o+=s[0].substr(0,s[0].length-(n?0:(s[1]||``).length)));a+=o,r+=o.length,r<i&&(a+=`\r
|
||
`)}return a}function A(e){let t=[];if(e.from&&t.push({key:`From`,val:T(e.from)}),e.subject&&t.push({key:`Subject`,val:e.subject}),e.date){let n=typeof Intl>`u`?e.date:new Intl.DateTimeFormat(`default`,{year:`numeric`,month:`numeric`,day:`numeric`,hour:`numeric`,minute:`numeric`,second:`numeric`,hour12:!1}).format(new Date(e.date));t.push({key:`Date`,val:n})}e.to&&e.to.length&&t.push({key:`To`,val:E(e.to)}),e.cc&&e.cc.length&&t.push({key:`Cc`,val:E(e.cc)}),e.bcc&&e.bcc.length&&t.push({key:`Bcc`,val:E(e.bcc)});let n=t.map(e=>e.key.length).reduce((e,t)=>t>e?t:e,0);t=t.flatMap(e=>{let t=n-e.key.length,r=`${e.key}: ${` `.repeat(t)}`,i=`${` `.repeat(e.key.length+1)} ${` `.repeat(t)}`;return k(e.val,80,!0).split(/\r?\n/).map(e=>e.trim()).map((e,t)=>`${t?i:r}${e}`)});let r=t.map(e=>e.length).reduce((e,t)=>t>e?t:e,0),i=`-`.repeat(r);return`
|
||
${i}
|
||
${t.join(`
|
||
`)}
|
||
${i}
|
||
`}function j(e){let t=[];if(e.from&&t.push(`<div class="postal-email-header-key">From</div><div class="postal-email-header-value">${D(e.from)}</div>`),e.subject&&t.push(`<div class="postal-email-header-key">Subject</div><div class="postal-email-header-value postal-email-header-subject">${S(e.subject)}</div>`),e.date){let n=typeof Intl>`u`?e.date:new Intl.DateTimeFormat(`default`,{year:`numeric`,month:`numeric`,day:`numeric`,hour:`numeric`,minute:`numeric`,second:`numeric`,hour12:!1}).format(new Date(e.date));t.push(`<div class="postal-email-header-key">Date</div><div class="postal-email-header-value postal-email-header-date" data-date="${S(e.date)}">${S(n)}</div>`)}return e.to&&e.to.length&&t.push(`<div class="postal-email-header-key">To</div><div class="postal-email-header-value">${O(e.to)}</div>`),e.cc&&e.cc.length&&t.push(`<div class="postal-email-header-key">Cc</div><div class="postal-email-header-value">${O(e.cc)}</div>`),e.bcc&&e.bcc.length&&t.push(`<div class="postal-email-header-key">Bcc</div><div class="postal-email-header-value">${O(e.bcc)}</div>`),`<div class="postal-email-header">${t.length?`<div class="postal-email-header-row">`:``}${t.join(`</div>
|
||
<div class="postal-email-header-row">`)}${t.length?`</div>`:``}</div>`}function M(e,t){let n=!1,r=`text`,i,a=[],o={address:[],comment:[],group:[],text:[],textWasQuoted:[]},s,l,u=!1;for(s=0,l=e.length;s<l;s++){let t=e[s],i=s?e[s-1]:null;if(t.type===`operator`)switch(t.value){case`<`:r=`address`,u=!1;break;case`(`:r=`comment`,u=!1;break;case`:`:r=`group`,n=!0,u=!1;break;case`"`:u=!u,r=`text`;break;default:r=`text`,u=!1;break}else t.value&&(r===`address`&&(t.value=t.value.replace(/^[^<]*<\s*/,``)),i&&i.noBreak&&o[r].length?(o[r][o[r].length-1]+=t.value,r===`text`&&u&&(o.textWasQuoted[o.textWasQuoted.length-1]=!0)):(o[r].push(t.value),r===`text`&&o.textWasQuoted.push(u)))}if(!o.text.length&&o.comment.length&&(o.text=o.comment,o.comment=[]),n){o.text=o.text.join(` `);let e=[];o.group.length&&F(o.group.join(`,`),{_depth:t+1}).forEach(t=>{t.group?e=e.concat(t.group):e.push(t)}),a.push({name:c(o.text||i&&i.name),group:e})}else{if(!o.address.length&&o.text.length){for(s=o.text.length-1;s>=0;s--)if(!o.textWasQuoted[s]&&o.text[s].match(/^[^@\s]+@[^@\s]+$/)){o.address=o.text.splice(s,1),o.textWasQuoted.splice(s,1);break}let e=function(e){return o.address.length?e:(o.address=[e.trim()],` `)};if(!o.address.length)for(s=o.text.length-1;s>=0&&!(!o.textWasQuoted[s]&&(o.text[s]=o.text[s].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,e).trim(),o.address.length));s--);}if(!o.text.length&&o.comment.length&&(o.text=o.comment,o.comment=[]),o.address.length>1&&(o.text=o.text.concat(o.address.splice(1))),o.text=o.text.join(` `),o.address=o.address.join(` `),!o.address&&/^=\?[^=]+?=$/.test(o.text.trim())){let e=c(o.text);if(/<[^<>]+@[^<>]+>/.test(e)){let t=F(e);if(t&&t.length)return t}return[{address:``,name:e}]}i={address:o.address||o.text||``,name:c(o.text||o.address||``)},i.address===i.name&&((i.address||``).match(/@/)?i.name=``:i.address=``),a.push(i)}return a}var N=class{constructor(e){this.str=(e||``).toString(),this.operatorCurrent=``,this.operatorExpecting=``,this.node=null,this.escaped=!1,this.list=[],this.operators={'"':`"`,"(":`)`,"<":`>`,",":``,":":`;`,";":``}}tokenize(){let e=[];for(let e=0,t=this.str.length;e<t;e++){let n=this.str.charAt(e),r=e<t-1?this.str.charAt(e+1):null;this.checkChar(n,r)}return this.list.forEach(t=>{t.value=(t.value||``).toString().trim(),t.value&&e.push(t)}),e}checkChar(e,t){if(!this.escaped){if(e===this.operatorExpecting){this.node={type:`operator`,value:e},t&&![` `,` `,`\r`,`
|
||
`,`,`,`;`].includes(t)&&(this.node.noBreak=!0),this.list.push(this.node),this.node=null,this.operatorExpecting=``,this.escaped=!1;return}else if(!this.operatorExpecting&&e in this.operators){this.node={type:`operator`,value:e},this.list.push(this.node),this.node=null,this.operatorExpecting=this.operators[e],this.escaped=!1;return}else if(this.operatorExpecting===`"`&&e===`\\`){this.escaped=!0;return}}this.node||(this.node={type:`text`,value:``},this.list.push(this.node)),e===`
|
||
`&&(e=` `),(e.charCodeAt(0)>=33||[` `,` `].includes(e))&&(this.node.value+=e),this.escaped=!1}},P=50;function F(e,t){t||={};let n=t._depth||0;if(n>P)return[];let r=new N(e).tokenize(),i=[],a=[],o=[];if(r.forEach(e=>{e.type===`operator`&&(e.value===`,`||e.value===`;`)?(a.length&&i.push(a),a=[]):a.push(e)}),a.length&&i.push(a),i.forEach(e=>{e=M(e,n),e.length&&(o=o.concat(e))}),t.flatten){let e=[],t=n=>{n.forEach(n=>{if(n.group)return t(n.group);e.push(n)})};return t(o),e}return o}function I(e){for(var t=``,n=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,r=new Uint8Array(e),i=r.byteLength,a=i%3,o=i-a,s,c,l,u,d,f=0;f<o;f+=3)d=r[f]<<16|r[f+1]<<8|r[f+2],s=(d&16515072)>>18,c=(d&258048)>>12,l=(d&4032)>>6,u=d&63,t+=n[s]+n[c]+n[l]+n[u];return a==1?(d=r[o],s=(d&252)>>2,c=(d&3)<<4,t+=n[s]+n[c]+`==`):a==2&&(d=r[o]<<8|r[o+1],s=(d&64512)>>10,c=(d&1008)>>4,l=(d&15)<<2,t+=n[s]+n[c]+n[l]+`=`),t}var L=256,R=2*1024*1024;function z(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}var B=class t{static parse(e,n){return new t(n).parse(e)}constructor(e){this.options=e||{},this.mimeOptions={maxNestingDepth:this.options.maxNestingDepth||L,maxHeadersSize:this.options.maxHeadersSize||R},this.root=this.currentNode=new y({postalMime:this,...this.mimeOptions}),this.boundaries=[],this.textContent={},this.attachments=[],this.attachmentEncoding=(this.options.attachmentEncoding||``).toString().replace(/[-_\s]/g,``).trim().toLowerCase()||`arraybuffer`,this.started=!1}async finalize(){await this.root.finalize()}async processLine(e,t){let n=this.boundaries;if(n.length&&e.length>2&&e[0]===45&&e[1]===45)for(let r=n.length-1;r>=0;r--){let i=n[r];if(e.length<i.value.length+2)continue;let a=!0;for(let t=0;t<i.value.length;t++)if(e[t+2]!==i.value[t]){a=!1;break}if(!a)continue;let o=i.value.length+2,s=!1;e.length>=i.value.length+4&&e[i.value.length+2]===45&&e[i.value.length+3]===45&&(s=!0,o=i.value.length+4);let c=!0;for(let t=o;t<e.length;t++)if(e[t]!==32&&e[t]!==9){c=!1;break}if(c)return s?(await i.node.finalize(),this.currentNode=i.node.parentNode||this.root):(await i.node.finalizeChildNodes(),this.currentNode=new y({postalMime:this,parentNode:i.node,parentMultipartType:i.node.contentType.multipart,...this.mimeOptions})),t?this.finalize():void 0}if(this.currentNode.feed(e),t)return this.finalize()}readLine(){let e=this.readPos,t=this.readPos;for(;this.readPos<this.av.length;){let n=this.av[this.readPos++];if(n!==13&&n!==10&&(t=this.readPos),n===10)return{bytes:new Uint8Array(this.buf,e,t-e),done:this.readPos>=this.av.length}}return{bytes:new Uint8Array(this.buf,e,t-e),done:this.readPos>=this.av.length}}async processNodeTree(){let n={},r=new Set,i=this.textMap=new Map,a=this.forceRfc822Attachments(),o=async(n,s,l)=>{if(s||=!1,l||=!1,n.contentType.multipart)n.contentType.multipart===`alternative`?s=n:n.contentType.multipart===`related`&&(l=n);else if(this.isInlineMessageRfc822(n)&&!a){let e=new t;n.subMessage=await e.parse(n.content),i.has(n)||i.set(n,{});let a=i.get(n);(n.subMessage.text||!n.subMessage.html)&&(a.plain=a.plain||[],a.plain.push({type:`subMessage`,value:n.subMessage}),r.add(`plain`)),n.subMessage.html&&(a.html=a.html||[],a.html.push({type:`subMessage`,value:n.subMessage}),r.add(`html`)),e.textMap&&e.textMap.forEach((e,t)=>{i.set(t,e)});for(let e of n.subMessage.attachments||[])this.attachments.push(e)}else if(this.isInlineTextNode(n)){let e=n.contentType.parsed.value.substr(n.contentType.parsed.value.indexOf(`/`)+1),t=s||n;i.has(t)||i.set(t,{});let a=i.get(t);a[e]=a[e]||[],a[e].push({type:`text`,value:n.getTextContent()}),r.add(e)}else if(n.content){let t=n.contentDisposition?.parsed?.params?.filename||n.contentType.parsed.params.name||null,r={filename:t?c(t):null,mimeType:n.contentType.parsed.value,disposition:n.contentDisposition?.parsed?.value||null};switch(l&&n.contentId&&(r.related=!0),n.contentDescription&&(r.description=n.contentDescription),n.contentId&&(r.contentId=n.contentId),n.contentType.parsed.value){case`text/calendar`:case`application/ics`:{n.contentType.parsed.params.method&&(r.method=n.contentType.parsed.params.method.toString().toUpperCase().trim());let t=n.getTextContent().replace(/\r?\n/g,`
|
||
`).replace(/\n*$/,`
|
||
`);r.content=e.encode(t);break}default:r.content=n.content}this.attachments.push(r)}for(let e of n.childNodes)await o(e,s,l)};await o(this.root,!1,!1),i.forEach(e=>{r.forEach(t=>{if(n[t]||(n[t]=[]),e[t])e[t].forEach(e=>{switch(e.type){case`text`:n[t].push(e.value);break;case`subMessage`:switch(t){case`html`:n[t].push(j(e.value));break;case`plain`:n[t].push(A(e.value));break}break}});else{let r;switch(t){case`html`:r=`plain`;break;case`plain`:r=`html`;break}(e[r]||[]).forEach(e=>{switch(e.type){case`text`:switch(t){case`html`:n[t].push(C(e.value));break;case`plain`:n[t].push(w(e.value));break}break;case`subMessage`:switch(t){case`html`:n[t].push(j(e.value));break;case`plain`:n[t].push(A(e.value));break}break}})}})}),Object.keys(n).forEach(e=>{n[e]=n[e].join(`
|
||
`)}),this.textContent=n}isInlineTextNode(e){if(e.contentDisposition?.parsed?.value===`attachment`)return!1;switch(e.contentType.parsed?.value){case`text/html`:case`text/plain`:return!0;default:return!1}}isInlineMessageRfc822(e){return e.contentType.parsed?.value===`message/rfc822`?(e.contentDisposition?.parsed?.value||(this.options.rfc822Attachments?`attachment`:`inline`))===`inline`:!1}forceRfc822Attachments(){if(this.options.forceRfc822Attachments)return!0;let e=!1,t=n=>{n.contentType.multipart||n.contentType.parsed&&[`message/delivery-status`,`message/feedback-report`].includes(n.contentType.parsed.value)&&(e=!0);for(let e of n.childNodes)t(e)};return t(this.root),e}async resolveStream(e){let t=0,n=[],r=e.getReader();for(;;){let{done:e,value:i}=await r.read();if(e)break;n.push(i),t+=i.length}let i=new Uint8Array(t),a=0;for(let e of n)i.set(e,a),a+=e.length;return i}async parse(t){if(this.started)throw Error(`Can not reuse parser, create a new PostalMime object`);for(this.started=!0,t&&typeof t.getReader==`function`&&(t=await this.resolveStream(t)),t||=new ArrayBuffer(0),typeof t==`string`&&(t=e.encode(t)),(t instanceof Blob||Object.prototype.toString.call(t)===`[object Blob]`)&&(t=await a(t)),t.buffer instanceof ArrayBuffer&&(t=new Uint8Array(t).buffer),this.buf=t,this.av=new Uint8Array(t),this.readPos=0;this.readPos<this.av.length;){let e=this.readLine();await this.processLine(e.bytes,e.done)}await this.processNodeTree();let n={headers:this.root.headers.map(e=>({key:e.key,originalKey:e.originalKey,value:e.value})).reverse()};for(let e of[`from`,`sender`]){let t=this.root.headers.find(t=>t.key===e);if(t&&t.value){let r=F(t.value);r&&r.length&&(n[e]=r[0])}}for(let e of[`delivered-to`,`return-path`]){let t=this.root.headers.find(t=>t.key===e);if(t&&t.value){let r=F(t.value);if(r&&r.length&&r[0].address){let t=z(e);n[t]=r[0].address}}}for(let e of[`to`,`cc`,`bcc`,`reply-to`]){let t=this.root.headers.filter(t=>t.key===e),r=[];if(t.filter(e=>e&&e.value).map(e=>F(e.value)).forEach(e=>r=r.concat(e||[])),r&&r.length){let t=z(e);n[t]=r}}for(let e of[`subject`,`message-id`,`in-reply-to`,`references`]){let t=this.root.headers.find(t=>t.key===e);if(t&&t.value){let r=z(e);n[r]=c(t.value)}}let r=this.root.headers.find(e=>e.key===`date`);if(r){let e=new Date(r.value);e=e.toString()===`Invalid Date`?r.value:e.toISOString(),n.date=e}switch(this.textContent?.html&&(n.html=this.textContent.html),this.textContent?.plain&&(n.text=this.textContent.plain),n.attachments=this.attachments,n.headerLines=(this.root.rawHeaderLines||[]).slice().reverse(),this.attachmentEncoding){case`arraybuffer`:break;case`base64`:for(let e of n.attachments||[])e?.content&&(e.content=I(e.content),e.encoding=`base64`);break;case`utf8`:let e=new TextDecoder(`utf8`);for(let t of n.attachments||[])t?.content&&(t.content=e.decode(t.content),t.encoding=`utf8`);break;default:throw Error(`Unknown attachment encoding`)}return n}};export{B as default}; |