@techandsoftware/teletext
Advanced tools
@@ -5,2 +5,2 @@ // SPDX-FileCopyrightText: (c) 2021 Tech and Software Ltd. | ||
// LicenseRef-uk.ltd.TechAndSoftware-1.0 refers to https://tech-and-software.ltd.uk/LICENSES/LicenseRef-uk.ltd.TechAndSoftware-1.0.txt | ||
const t=new Set(["Uint1Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","UInt32Array","Float32Array","Float64Array"]),s=Uint8Array,i=Symbol();class e{constructor(t,{length:i=null,buffer:e=null,byteOffset:r=0,byteLength:n=null}={}){let h;e?i=8*(n||e.byteLength):i||(i=0);const _=s.BYTES_PER_ELEMENT,o=8*_,a=o-1,l=(t=>{let s=0;for(;t>>=1;)s++;return s})(o),A=Math.max(1,i+a>>l);e?h=new s(e,r,A):(e=new ArrayBuffer(_*A),h=new s(e)),Object.assign(this,{buffer:e,byteOffset:r,length:i,wordSize:o,wordCount:A,wordSizeMask:a,wordSizeShift:l,internal:h})}toArray(){const t=new Uint8Array(this.length);for(let s=0;s<this.wordCount;s++){const i=this.internal[s];for(let e=s*this.wordSize;e<(s+1)*this.wordSize;e++)t[e]=this.getBit(e,i)}return t}getBit(t,s){if(!(t>=this.length))return null==s&&(s=this.internal[t>>this.wordSizeShift]),s>>(t&this.wordSizeMask)&1}setBit(t,s){if(t>=this.length)return;const i=t>>this.wordSizeShift,e=t&this.wordSizeMask,r=this.internal[i];let n=r;return n|=s<<e,n&=~((1&~s)<<e),r!==n&&(this.internal[i]=n),s}}class r{constructor(t,s=0,r=null){let h,l,A;switch(a(t)){case"Number":h=t=~~t,l=new e(this,{length:h});break;case"ArrayBuffer":l=new e(this,{buffer:t,byteOffset:s,byteLength:r});break;case"Undefined":case"Null":case"RegExp":case"Infinity":h=0,l=new e(this,{length:h});break;case"Array":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"UInt32Array":case"Float32Array":case"Float64Array":case"Uint1Array":case"Object":default:A=_(t),l=new e(this,{length:A.length}),A.forEach(((t,s)=>l.setBit(s,o(t))))}return this[i]=l,new n(this)}static get BYTES_PER_ELEMENT(){return.125}static get name(){return"Uint1Array"}static get length(){return 0}static get[Symbol.species](){return this}static[Symbol.hasInstance](t){return t.__proto__=this}static from(t){const s=_(t);return new r(s)}static of(...t){return r.from(t)}get buffer(){return this[i].buffer}get byteLength(){return this.length+7>>3}get byteOffset(){return this[i].byteOffset}get length(){return this[i].length}get[Symbol.toStringTag](){return"Uint1Array"}copyWithin(t,s=0,i=this.length){if(!Number.isInteger(t))return this;const e=new Uint8Array(i-s);for(let t=s;t<i;t++)e[t-s]=this[t];return this.set(e,t),this}entries(){return this[i].toArray().entries()}every(...t){return this[i].toArray().every(...t)}fill(t,s=0,i=this.length){for(let e=s;e<i;e++)this[e]=t;return this}filter(...t){return new r(this[i].toArray().filter(...t))}find(...t){return this[i].toArray().find(...t)}findIndex(...t){return this[i].toArray().findIndex(...t)}forEach(...t){this[i].toArray().forEach(...t)}includes(...t){return this[i].toArray().includes(...t)}indexOf(...t){return this[i].toArray().indexOf(...t)}join(...t){return this[i].toArray().join(...t)}keys(...t){return this[i].toArray().keys(...t)}lastIndexOf(...t){return this[i].toArray().lastIndexOf(...t)}map(...t){return new r(this[i].toArray().map(...t))}reduce(...t){return this[i].toArray().reduce(...t)}reduceRight(...t){return this[i].toArray().reduceRight(...t)}reverse(){const t=this[i].toArray().reverse();return this.set(t),this}set(s,i=0){if(!Number.isInteger(i))return;const e=a(s);if("Array"!==e&&!t.has(e))return;const r=Math.min(s.length+i,this.length);s=s.map((t=>o(t)));for(let t=i;t<r;t++)this[t]=s[t-i]}slice(...t){return new r(this[i].toArray().slice(...t))}sort(...t){const s=this[i].toArray().sort(...t);return this.set(s),this}subarray(...t){return new r(this[i].toArray().subarray(...t))}values(...t){return this[i].toArray().values(...t)}toLocaleString(...t){return Array.from(this).toLocaleString()}toString(){return""+Array.from(this)}[Symbol.iterator](){return this[i].toArray()[Symbol.iterator]()}valueOf(){return this}toJSON(){return Array.from(this)}}function n(t){const s=t[i];return new Proxy(t,{get(i,e,r){const n="string"==typeof e?parseInt(e):e;return Number.isInteger(n)?s.getBit(n):Reflect.get(t,e)},set(i,e,r,n){const h="string"==typeof e?parseInt(e):e;return Number.isInteger(h)?(s.setBit(h,o(r)),!0):Reflect.set(t,e,r)}})}const h=/\[object (\w+)]/;function _(t){const s=[];for(let i of t){const t=o(i);s.push(t)}return s}function o(t){return"number"!=typeof t||Number.isNaN(t)?new Boolean(t).valueOf():t%2}function a(t){const s=t&&t.constructor?t.constructor.name:null,i=h.exec(Object.prototype.toString.call(t))[1];return i!==s&&s?s:i}class l{static tt(t,s){const i=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(i){if(1===i)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-i).join("=")}const e=[...s(t)].map((t=>c(t))),n=new ArrayBuffer(e.length);return new Uint8Array(n).set(e),(t=>{const s=[];for(let i=0;i<25;i++){const e=[];for(let s=0;s<40;s++){let r=6,n=0;const h=280*i+7*s;for(let s=h;s<h+7;s++)n+=t[s]*Math.pow(2,r),r--;e.push(String.fromCharCode(n))}s.push(e.join(""))}return s})(new r(n))}static st(t){const s=[];let i=!1;for(const e of[...t]){const t=e.charCodeAt(0);27==t?i=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),i=!1):t>=160?(s.push(""),i=!1):i?(s.push(String.fromCharCode(t-64)),i=!1):s.push(e)}return s}static it(t){const s=[],i=/^OL,(\d{1,2}),(.*)/;for(const e of[...t]){const t=e.match(i);null!=t&&(s[t[1]]=l.st(t[2]))}return s}static et(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}const A={};function c(t){if(t in A)return A[t];const s=[...t.charCodeAt(0).toString(2).padStart(8,"0")].reverse();return A[t]=Number.parseInt(s.join(""),2),A[t]}const g={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmKCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},u="http://www.w3.org/2000/svg";let C,f,I=0;class E{constructor(){}rt(){return this.nt}ht(){this.nt=null}_t(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.nt.removeAttribute(s):this.nt.setAttribute(s,t[s]);else{if(void 0===s)return this.nt.getAttribute(t);null==s?this.nt.removeAttribute(t):this.nt.setAttribute(t,s)}return this}ot(t){if(!this.at(t)){const s=this.lt();s.push(t),this.nt.setAttribute("class",s.join(" "))}return this}at(t){return-1!==this.lt().indexOf(t)}lt(){const t=this.nt.getAttribute("class");return null==t?[]:t.split(" ")}At(t){return this.at(t)&&this.nt.setAttribute("class",this.lt().filter((s=>s!==t)).join(" ")),this}ct(t){return this.at(t)?this.At(t):this.ot(t),this}gt(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.nt.dataset[s]:this.nt.dataset[s]=t[s];else{if(void 0===s)return this.nt.dataset[t];null==s?delete this.nt.dataset[t]:this.nt.dataset[t]=s}return this}}class B extends E{constructor(t){return super(),C=t,f=C.document,this.nt=f.createElementNS(u,"svg"),this.nt.setAttribute("xmlns",u),this}ut(t){const s=f.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.nt),this}Ct(t){return this.nt.setAttribute("viewBox",t),this}ft(t,s){return this.nt.setAttribute("width",t),this.nt.setAttribute("height",s),this}It(t){const s=f.createElementNS(u,"style");return s.append(t),this.nt.append(s),this}Et(){const t=new d;return this.nt.append(t.rt()),t}Bt(){return this.nt.clientWidth}dt(){return this.nt.clientHeight}Qt(t){const s=new p(t);return this.nt.append(s.rt()),s}}class d extends E{constructor(){return super(),this.nt=f.createElementNS(u,"g"),this.yt=[],this}Et(){const t=new d;return this.nt.append(t.rt()),this.yt.push(t),t}bt(t){const s=new m(t);return this.nt.append(s.rt()),this.yt.push(s),s}wt(){const t=new w;return this.nt.append(t.rt()),t}St(t,s){const i=new x(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}xt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}vt(t){return this.nt.setAttribute("clip-path",`url("#${t.rt().id}")`),this}kt(){return this.nt.removeAttribute("clip-path"),this}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null,this.yt.forEach((t=>t.ht())),this.yt=[]}Ft(t,s,i,e){const r=new U(t,s,i,e);return this.nt.append(r.rt()),this.yt.push(r),r}Lt(t){const s=new b(t);return this.nt.append(s.rt()),this.yt.push(s),s}Dt(t,s){const i=new y(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}Gt(t,s){const i=new Q(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}}class Q extends E{constructor(){return super(),this.nt=f.createElementNS(u,"svg"),this}attr(...t){return this._t(...t)}get node(){return this.rt()}}class y extends E{constructor(t,s){return super(),this.nt=f.createElementNS(u,"image"),this.nt.setAttribute("width",parseInt(t)),this.nt.setAttribute("height",parseInt(s)),this}attr(...t){return this._t(...t)}}class b extends E{constructor(t){return super(),this.nt=f.createElementNS(u,"use"),this.nt.setAttribute("href","#"+t),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}}class p extends E{constructor(t){return super(),this.nt=f.createElementNS(u,"symbol"),this.nt.setAttribute("id",t),this}St(t,s){const i=new x(t,s);return this.nt.append(i.rt()),i}}class m extends E{constructor(t){return super(),this.nt=f.createElementNS(u,"text"),this.nt.append(t),this}bt(t){return this.nt.textContent=t,this}Nt(t){return this.nt.setAttribute("fill",t),this}}class w extends E{constructor(){return super(),this.nt=f.createElementNS(u,"defs"),this}Ht(){const t=new S;return this.nt.append(t.rt()),t}jt(t){return[...this.nt.querySelectorAll(t)].map(v)}St(t,s){const i=new x(t,s);return this.nt.append(i.rt()),i}}class S extends E{constructor(){return super(),this.nt=f.createElementNS(u,"clipPath"),this.nt.setAttribute("id","clipPath-"+I),I++,this}Ut(){return[...this.nt.children].map(v)}Pt(t){this.nt.appendChild(t.rt())}}class x extends E{constructor(t,s){if(super(),t instanceof C.SVGElement)return this.nt=t,this;const i=t;return this.nt=f.createElementNS(u,"rect"),this.nt.setAttribute("width",parseInt(i)),this.nt.setAttribute("height",parseInt(s)),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}Bt(t){return void 0===t?parseInt(this.nt.getAttribute("width")):(this.nt.setAttribute("width",parseInt(t)),this)}dt(t){return void 0===t?parseInt(this.nt.getAttribute("height")):(this.nt.setAttribute("height",parseInt(t)),this)}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null}}class U extends E{constructor(t,s,i,e){return super(),this.nt=f.createElementNS(u,"line"),this.nt.setAttribute("x1",t),this.nt.setAttribute("y1",s),this.nt.setAttribute("x2",i),this.nt.setAttribute("y2",e),this}}function v(t){let s;switch(t.constructor.name){case"SVGRectElement":s=new x(t);break;default:throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name)}return s}const k={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(k);const R={Mt:Symbol(),qt:Symbol(),Tt:Symbol(),zt:Symbol()};Object.freeze(R);const F={Jt:Symbol(),Vt:Symbol(),Yt:Symbol(),Kt:Symbol()};Object.freeze(F);class L{static charFromTextColour(t){if(t in j)return j[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in P)return P[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in M)return M[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function D(t){return G[t]}L.TEXT_COLOUR=R.Mt,L.MOSAIC_COLOUR=Symbol(),L.NEW_BACKGROUND=Symbol(),L.BLACK_BACKGROUND=Symbol(),L.CONTIGUOUS_GRAPHICS=R.qt,L.SEPARATED_GRAPHICS=R.Tt,L.ESC=Symbol(),L.FLASH=Symbol(),L.STEADY=Symbol(),L.NORMAL_SIZE=F.Jt,L.DOUBLE_HEIGHT=F.Vt,L.DOUBLE_WIDTH=F.Yt,L.DOUBLE_SIZE=F.Kt,L.CONCEAL=Symbol(),L.HOLD_MOSAICS=Symbol(),L.RELEASE_MOSAICS=Symbol(),L.START_BOX=Symbol(),L.END_BOX=Symbol(),L.Zt=Symbol();const G={[k.BLACK]:"#000",[k.RED]:"#f00",[k.GREEN]:"#0f0",[k.YELLOW]:"#ff0",[k.BLUE]:"#00f",[k.MAGENTA]:"#f0f",[k.CYAN]:"#0ff",[k.WHITE]:"#fff"};Object.freeze(G);const N={"\0":k.BLACK,"":k.RED,"":k.GREEN,"":k.YELLOW,"":k.BLUE,"":k.MAGENTA,"":k.CYAN,"":k.WHITE};Object.freeze(N);const O={"":k.BLACK,"":k.RED,"":k.GREEN,"":k.YELLOW,"":k.BLUE,"":k.MAGENTA,"":k.CYAN,"":k.WHITE};Object.freeze(O);const H={"\b":L.FLASH,"\t":L.STEADY,"\n":L.END_BOX,"\v":L.START_BOX,"\f":L.NORMAL_SIZE,"\r":L.DOUBLE_HEIGHT,"":L.DOUBLE_WIDTH,"":L.DOUBLE_SIZE,"":L.CONCEAL,"":L.CONTIGUOUS_GRAPHICS,"":L.SEPARATED_GRAPHICS,"":L.ESC,"":L.BLACK_BACKGROUND,"":L.NEW_BACKGROUND,"":L.HOLD_MOSAICS,"":L.RELEASE_MOSAICS},j={};for(const t in N)j[N[t]]=t,H[t]=N[t];Object.freeze(j);const P={};for(const t in O)P[O[t]]=t,H[t]=O[t];Object.freeze(P),Object.freeze(H);const M={};for(const t in H)M[H[t]]=t;Object.freeze(M);const q={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(q);const T={};T[q[0]]=[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23],T[q[1]]=[...T[q[0]]].concat([10,11,12,13,24,25,26,27,28,29,30,31]),T[q[1.5]]=[...T[q[1]]].concat([0,16]),T[q[2.5]]=[...T[q[1.5]]].concat([14,15]),Object.freeze(T);const z={Xt:{Wt:10.4,$t:-5.2},ts:{Wt:10,$t:-4.5}};Object.freeze(z);class J{constructor(t,s){this.ss=new B(s).Ct("0 0 400 250").ft(600,500)._t({preserveAspectRatio:"none",style:"font-family: sans-serif"}).It("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.ss.Et()._t("class","conceal_concealed flash_flashing"),this.es=1.2,this.rs(),this.ns(),this.hs=null,this._s=t,this.os=this._s.As.ls((()=>this.cs())),this.gs=!1,this.us=!1,this.Cs=!1,this.fs={}}ut(t){this.ss.ut(t)}Is(){this._s.As.Is(this.os),this.os=null}cs(){let t=!1,s=!1;this.Cs=!1,this.d.At("flash_flashing"),this.Es.forEach(((i,e)=>{let r=!1;if(this.Bs(e),t)return t=!1,void this.ds(i,e);const n=this._s.Qs(e);let h,_;i.forEach(((t,i)=>{if(r)return r=!1,this.ys(t),this.bs(e),void(_&&this.ps());const o=n.ws(i),a=D(o.Ss),l=o.xs(),A=D(o.Us),c=this.vs(o.ks,l,o.et);this.Rs(t,o,c,A,i,e,l),o.Fs&&(_?this.ps():this.Ls(e,i),this.Cs=!0),h==a?this.bs(e):this.Ds(e,i,a),o.ft!=F.Yt&&o.ft!=F.Kt||(r=!0),h=a,_=o.Fs,o.Gs&&(s=!0)})),n.Ns?(this.Os(e),this.Hs(),t=!0):t=!1,this.js(e)})),"Ps"in this.fs&&this.fs.Ps(this.ss.Bt(),this.ss.dt()),this.d.ot("conceal_concealed"),s&&setTimeout((()=>this.d.ot("flash_flashing")),100),this.Ms()}Bs(t){this.qs(t),this.Ts(t)}ds(t,s){"zs"in this.fs&&this.fs.zs(t.length,s),t.forEach((t=>this.ys(t)))}ys(t){t.bt(" ")._t({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}Rs(t,s,i,e,r,n,h){this.Js(t,s,i,e,r,n),s.ks==R.qt&&h||s.ks==R.zt?t.ot("mosaic"):s.ks==R.Tt&&h&&t.ot("mosaic_separated")}Js(t,s,i,e,r,n){t.bt(s.Vs)._t(i).Nt(e),s.ft==F.Vt?t._t("transform",`translate(0 ${W(n)}) scale(1 2)`):s.ft==F.Yt?t._t("transform",`translate(${$(r)} 0) scale(2 1)`):s.ft==F.Kt&&t._t("transform",`translate(${$(r)} ${W(n)}) scale(2 2)`),s.Gs&&t.ot("flash"),s.Ys&&t.ot("conceal")}Ks(){this.d.ct("conceal_concealed")}Zs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.ss._t("style","font-family: "+s)}Xs(){this.hs?(this.hs.Rt(),this.hs=null):this.Ws()}$s(){this.us?(this.us=!1,this.ti._t("opacity",null).kt()):(this.us=!0,this.si())}ii(t){this.es=t,this.ei(this.ss.dt())}ei(t){this.ss.ft("natural"==this.es?1.6*t:t*this.es,t)}si(){this.gs&&this.Cs?this.ti._t("opacity",.3):this.Cs?this.ti.vt(this.ri)._t("opacity",.3):this.ti._t("opacity",0)}Ms(){this.us&&this.si()}ni(){this.gs?(this.d.kt(),this.gs=!1):(this.d.vt(this.ri),this.gs=!0),this.Ms()}Ws(){this.hs=this.d.Et();for(let t=0;t<25;t++)this.hs.Ft(0,10*t,399,10*t)._t({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this.hs.Ft(10*t,0,10*t,249)._t({stroke:"#555","stroke-width":.5})}ns(){this.hi=this.d.wt(),this._i=null,this.ri=this.hi.Ht()}rs(){this.oi(),this.ai()}oi(){const t=this.d.Et();t._t({"shape-rendering":"crispEdges",id:"background"}),this.li=[],this.ti=t}ai(){const t=[],s=this.d.Et()._t({"text-anchor":"middle",fill:"#fff"})._t("id","textlayer");for(let i=0;i<25;i++){const e=[];for(let t=0;t<40;t++)e.push(s.bt(String.fromCharCode(32+95*Math.random()))._t({x:10*t+5,y:10*i+8}));t.push(e)}this.Es=t,this.Ai=s}Ts(t){this.ri.Ut().filter((s=>s.gt("r")==t)).forEach((t=>t.Rt()))}qs(t){this.li[t]&&this.li[t].Rt(),this.li[t]=this.ti.Et()}bs(t){const s=this.li[t].xt(),i=s.Bt();s.Bt(i+10)}Ds(t,s,i){const e=10*s,r=10*t;this.li[t].St(10,10).Nt(i).Ot(e,r)}ps(){const t=this._i.Bt();this._i.Bt(t+10)}Os(t){this.li[t].Ut().forEach((t=>t._t("height",20)))}Hs(){this.hi.jt("[data-boxbuffer]").forEach((t=>t.dt(20)))}Ls(t,s){const i=10*s,e=10*t;this._i=this.hi.St(10,10).gt("boxbuffer",!0).Ot(i,e)}js(t){this.hi.jt("[data-boxbuffer]").forEach((s=>{s.gt({r:t,boxbuffer:null}),this.ri.Pt(s)}))}vs(t,s,i){return t==R.qt&&s||t==R.zt?{dx:z.Xt.$t,dy:-.15,textLength:z.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==R.Tt&&s?{dx:z.ts.$t,dy:null,textLength:z.ts.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?10:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.fs.ci=s.renderBackground),"renderMosaic"in s&&(this.fs.gi=s.renderMosaic),"endOfPageUpdate"in s&&(this.fs.Ps=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.fs.zs=s.clearCellsForRow),{lookupColour:V,isDoubleHeight:Y,isDoubleWidth:K,isDoubleSize:Z,isSeparatedMosaic:X,createImageOverlay:this.ui.bind(this),createSVGOverlay:this.Ci.bind(this)}}ui(){const t=this.d.Dt(400,250);return t._t("preserveAspectRatio","none"),t}Ci(){const t=this.d.Gt();return t._t("preserveAspectRatio","none"),t}}J.fi=10,J.Ii=10,J.Ei=20,J.Bi=20,J.di=400,J.Qi=250,J.yi=z,J.ROWS=25,J.COLS=40;const V=t=>D(t),Y=t=>t==F.Vt,K=t=>t==F.Yt,Z=t=>t==F.Kt,X=t=>t==R.Tt,W=t=>0-10*t,$=t=>0-10*t,tt={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"µ",6:"¶",7:"·",8:"÷",9:"’","!":"¡",'"':"¢","#":"£","%":"¥","&":"#","'":"§","(":"¤",")":"‘","*":"“","+":"«",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"»","<":"¼","=":"½",">":"¾","?":"¿","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"—",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"α",Y:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",A:"Α",B:"Β",C:"Γ",D:"Δ",E:"Ε",F:"Ζ",G:"Η",H:"Θ",I:"Ι",J:"Κ",K:"Λ",L:"Μ",M:"Ν",N:"Ξ",O:"Ο",P:"Π",Q:"Ρ",R:"ʹ",S:"Σ",T:"Τ",U:"Υ",V:"Φ",W:"Χ",X:"Ψ",Y:"Ω",Z:"Ϊ","[":"Ϋ","\\":"ά","]":"έ","^":"ή",_:"ί","`":"ΰ",a:"α",b:"β",c:"γ",d:"δ",e:"ε",f:"ζ",g:"η",h:"θ",i:"ι",j:"κ",k:"λ",l:"μ",m:"ν",n:"ξ",o:"ο",p:"π",q:"ρ",r:"ς",s:"σ",t:"τ",u:"υ",v:"φ",w:"χ",x:"ψ",y:"ω",z:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"ɑ",Y:"Ί",Z:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",Z:"З","[":"Ш","]":"Щ","^":"Ч","`":"ю",a:"а",b:"б",c:"ц",d:"д",e:"е",f:"ф",g:"г",h:"х",i:"и",j:"ѝ",k:"к",l:"л",m:"м",n:"н",o:"о",p:"п",q:"я",r:"р",s:"с",t:"т",u:"у",v:"ж",w:"в",x:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"©",R:"®",S:"¹",T:"ɑ",U:"Ί",V:"Ύ",W:"Ώ",X:"‰",Y:"₠",Z:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",A:"ﺀ",B:"ﺒ",C:"ﺏ",D:"ﺘ",E:"ﺕ",F:"ﺎ",G:"ﺍ",H:"ﺑ",I:"ﺓ",J:"ﺗ",K:"ﺛ",L:"ﺟ",M:"ﺣ",N:"ﺧ",O:"ﺩ",P:"ﺫ",Q:"ﺭ",R:"ﺯ",S:"ﺳ",T:"ﺷ",U:"ﺻ",V:"ﺿ",W:"ﻃ",X:"ﻇ",Y:"ﻋ",Z:"ﻏ","[":"ﺜ","\\":"ﺠ","]":"ﺤ","^":"ﺨ",_:"#","`":"ـ",a:"ﻓ",b:"ﻗ",c:"ﻛ",d:"ﻟ",e:"ﻣ",f:"ﻧ",g:"ﻫ",h:"ﻭ",i:"ﻰ",j:"ﻳ",k:"ﺙ",l:"ﺝ",m:"ﺡ",n:"ﺥ",o:"ﻴ",p:"ﻯ",q:"ﻌ",r:"ﻐ",s:"ﻔ",t:"ﻑ",u:"ﻘ",v:"ﻕ",w:"ﻙ",x:"ﻠ",y:"ﻝ",z:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",a:"ב",b:"ג",c:"ד",d:"ה",e:"ו",f:"ז",g:"ח",h:"ט",i:"י",j:"ך",k:"כ",l:"ל",m:"ם",n:"מ",o:"ן",p:"נ",q:"ס",r:"ע",s:"ף",t:"פ",u:"ץ",v:"צ",w:"ק",x:"ר",y:"ש",z:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{0:"🬏",1:"🬐",2:"🬑",3:"🬒",4:"🬓",5:"▌",6:"🬔",7:"🬕",8:"🬖",9:"🬗"," ":" ","!":"🬀",'"':"🬁","#":"🬂",$:"🬃","%":"🬄","&":"🬅","'":"🬆","(":"🬇",")":"🬈","*":"🬉","+":"🬊",",":"🬋","-":"🬌",".":"🬍","/":"🬎",":":"🬘",";":"🬙","<":"🬚","=":"🬛",">":"🬜","?":"🬝","`":"🬞",a:"🬟",b:"🬠",c:"🬡",d:"🬢",e:"🬣",f:"🬤",g:"🬥",h:"🬦",i:"🬧",j:"▐",k:"🬨",l:"🬩",m:"🬪",n:"🬫",o:"🬬",p:"🬭",q:"🬮",r:"🬯",s:"🬰",t:"🬱",u:"🬲",v:"🬳",w:"🬴",x:"🬵",y:"🬶",z:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{0:"",1:"",2:"",3:"",4:"",5:"",6:"",7:"",8:"",9:""," ":" ","!":"",'"':"","#":"",$:"","%":"","&":"","'":"","(":"",")":"","*":"","+":"",",":"","-":"",".":"","/":"",":":"",";":"","<":"","=":"",">":"","?":"","`":"",a:"",b:"",c:"",d:"",e:"",f:"",g:"",h:"",i:"",j:"",k:"",l:"",m:"",n:"",o:"",p:"",q:"",r:"",s:"",t:"",u:"",v:"",w:"",x:"",y:"",z:"","{":"","|":"","}":"","~":"","":""},g3:{0:"🭇",1:"🭈",2:"🭉",3:"🭊",4:"🭋",5:"◢",6:"🭌",7:"🭍",8:"🭎",9:"🭏"," ":"🬼","!":"🬽",'"':"🬾","#":"🬿",$:"🭀","%":"◣","&":"🭁","'":"🭂","(":"🭃",")":"🭄","*":"🭅","+":"🭆",",":"🭨","-":"🭩",".":"🭰","/":"▒",":":"🭐",";":"🭑","<":"🭪","=":"🭫",">":"🭵","?":"█","@":"┷",A:"┯",B:"┝",C:"┥",D:"🮤",E:"🮥",F:"🮦",G:"🮧",H:"🮠",I:"🮡",J:"🮢",K:"🮣",L:"┿",M:"•",N:"●",O:"○",P:"│",Q:"─",R:"┌",S:"┐",T:"└",U:"┘",V:"├",W:"┤",X:"┬",Y:"┴",Z:"┼","[":"→","\\":"←","]":"↑","^":"↓",_:" ","`":"🭒",a:"🭓",b:"🭔",c:"🭕",d:"🭖",e:"◥",f:"🭗",g:"🭘",h:"🭙",i:"🭚",j:"🭛",k:"🭜",l:"🭬",m:"🭭",n:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},st={};class it{constructor(t){this.type=t.ks,this.flashing=t.Gs,this.concealed=t.Ys,this.size=t.ft,this.sextants=t.bi()}}class et{constructor(){this.pi=" ",this.mi=" ",this.wi=k.WHITE,this.Si=k.BLACK,this.xi=R.Mt,this.Ui=!1,this.vi=F.Jt,this.ki=!1,this.Ri=!1,this.Fi=null,this.Li=!1,this.Di=null,this.Gi=null}set Ni(t){this.pi=t}get Ni(){return this.pi}set Us(t){this.wi=t}get Us(){return this.wi}set Ss(t){this.Si=t}get Ss(){return this.Si}get et(){return this.Li}Oi(t){const s=this.xi==R.qt||this.xi==R.Tt;this.xi==R.Mt||0==(32&this.pi.charCodeAt(0))&&s?(this.mi=nt(this.pi,t),this.Di>0&&(this.mi+=tt.g2_latin[String.fromCharCode(this.Di+64)]),this.Li=!1,"g0_arabic"!=t&&"g2_arabic"!=t||(this.Li=l.et(this.mi))):this.xi==R.qt?this.mi=nt(this.pi,"g1_block_mosaic_to_unicode__legacy_computing"):this.xi==R.Tt?this.mi=nt(this.pi,"g1_block_mosaic_to_unicode__unscii_separated"):this.xi==R.zt&&(this.mi=nt(this.pi,"g3")),this.Fi=null}Hi(t){if(this.xi!=R.qt&&this.xi!=R.Tt||!t.ji)this.Fi=null,this.mi=" ";else{this.Fi=t.Vs,this.xi=t.ks;let s="g1_block_mosaic_to_unicode__legacy_computing";this.xi==R.Tt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.mi=nt(t.Vs,s)}}get Vs(){return this.mi}get ks(){return this.xi}set ks(t){this.xi=t}set Gs(t){this.Ui=t}get Gs(){return this.Ui}get ft(){return this.vi}set ft(t){this.vi=t}set Ys(t){this.ki=t}get Ys(){return this.ki}set Fs(t){this.Ri=t}get Fs(){return this.Ri}xs(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.pi.charCodeAt(0);return t<=127&&32==(32&t)}Pi(){const t=this.pi.charCodeAt(0);return(this.xi==R.qt||this.xi==R.Tt)&&t<=127&&32==(32&t)}bi(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.pi.charCodeAt(0);if(t>127)return null;if(t in st)return st[t];let s=t-32;return s>=64&&(s-=32),st[t]=[...s.toString(2).padStart(6,"0")].reverse(),st[t]}}class rt extends et{constructor(t){super(),Object.assign(this,t)}set Mi(t){this.Di=t}get Mi(){return this.Di}set qi(t){this.Gi=t}get Vs(){return null==this.Gi?this.mi:this.Gi}}function nt(t,s){if(!(s in tt))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in tt[s])return tt[s][t];const i=s.match(/^(.+)__/);if(null!=i){const e=i[1];if(t in tt[e])return tt[s][t]=tt[e][t],tt[e][t]}return t}class ht extends J{constructor(t,s,i){super(t,i),this.Ti=s,this.zi=new Set}rs(){super.rs(),this.Ji=[],this.Vi=this.d.Et()}Bs(t){super.Bs(t),this.Yi(t)}Rs(t,s,i,e,r,n,h){"ci"in this.fs&&this.fs.ci(n,r,s.ft,s.Ss),s.ks!=R.Mt&&s.ks!=R.zt&&h?h&&(t.bt(" ")._t(i),this.Ki(n,r,s,e)):(this.Js(t,s,i,e,r,n),s.ks==R.zt&&t.ot("mosaic"))}Ki(t,s,i,e){if("gi"in this.fs){const r=new it(i);if(this.fs.gi(t,s,r,e))return}const r=i.bi();if(!r.includes("1"))return;let n=i.ks==R.qt?"c":"s";n+=r.join("");let h,_=J.fi,o=J.Ii;if(i.ks==R.qt&&(_=J.fi+.3,o=J.Ii+.2),!this.zi.has(n)){this.zi.add(n);const t=this.ss.Qt(n);if(i.ks==R.qt){t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(6,6).Ot(s%2*6,6*Math.floor(s/2))}else{t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(4,4).Ot(s%2*6+1,6*Math.floor(s/2)+2)}}h=i.ks==R.qt?this.Ji[t].Lt(n).Ot(s*J.fi-.15,t*J.Ii-.1).Nt(e):this.Ji[t].Lt(n).Ot(s*J.fi,t*J.Ii).Nt(e),this.Ti&&h._t({width:_,height:o}),i.ft!=F.Vt&&i.ft!=F.Kt||h._t("height",J.Bi),i.ft!=F.Yt&&i.ft!=F.Kt||h._t("width",J.Ei),i.Gs&&h.ot("flash"),i.Ys&&h.ot("conceal")}Yi(t){this.Ji[t]&&this.Ji[t].Rt(),this.Ji[t]=this.Vi.Et()}vs(t,s,i){return t==R.zt?{dx:J.yi.Xt.$t,dy:-.15,textLength:J.yi.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?J.fi:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class _t{constructor(t){this._s=t,this.Zi=0,this.Xi=0,this.Wi=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Zi=t,this.Xi=s),this}putG0(t,s){let i=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(i=t)}const e=t.charCodeAt(0);return e<32||e>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g0",Vs:t,Mi:i}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g1",Vs:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g2",Vs:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g3",Vs:t}),this}putAt(){return this.Wi.push({$i:this.Zi,te:this.Xi,ks:"char",Vs:"@"}),this}end(){return this._s.se(this.Wi),this._s.ie(),this}}class ot extends J{}const at=["SPLASH","ENGINEERING","ADVERT","UK"];class lt{constructor(t,s){if(this.ee=null,"object"==typeof window&&(this.ee=window),this.re={ne:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this.re.ne=!1),"dom"in s&&(this.ee=s.dom)),null==this.ee)throw Error("TeletextController E24: No window dom object available");this.he=new ht(t,this.re.ne,this.ee),this._s=t,this._e=1,this.oe=0,this.ae(),this.le=null,this.Ae=null,this.ce=0,this.ge=0,this.ue=null}setRowFromOutputLine(t,s){const i=l.st(s);this._s.Ce(t,i)}setRow(t,s){this._s.Ce(t,s)}setPageFromOutputLines(t,s){const i=l.it(t);void 0!==s&&(i[0]=this.fe(s)),this.setPageRows(i)}setPageRows(t){this._s.Ie(),this._s.Ee(t)}fe(t){return(t=l.st(t)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(g[at[this.oe]]),this.oe++,4==this.oe&&(this.oe=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(t,s){const i=l.tt(t,this.ee.atob);void 0!==s&&(i[0]=this.fe(s)),this.setPageRows(i)}ae(){this.ee.addEventListener("ttx.reveal",(()=>this.he.Ks())),this.ee.addEventListener("ttx.mix",(()=>this.he.$s())),this.ee.addEventListener("ttx.subtitlemode",(()=>this.he.ni()))}toggleReveal(){this.he.Ks()}toggleMixMode(){this.he.$s()}toggleBoxMode(){this.he.ni()}toggleGrid(){this.he.Xs()}setLevel(t){this._s.Be(t)}addTo(t){this.de=t,this.he.ut(t)}setFont(t){this.ue=t,this.he.Zs(t)}clearScreen(t){this._s.Ie(),this._s.Qe(t)}setAspectRatio(t){if("natural"==t)return void this.he.ii(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this.he.ii(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this.he.ei(s),this.Ae=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this._s.ye(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this._s.be(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this._s.pe(t,s)}remove(){if(this.he.Is(),this.de){const t=document.querySelector(this.de);t&&t.removeChild(t.firstChild)}this.he=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this.he=new ot(this._s,this.ee);break;case"classic__graphic-for-mosaic":this.he=new ht(this._s,this.re.ne,this.ee);break;default:throw Error("setView E126: bad view name:"+t)}this.Ae&&this.he.ei(this.Ae),this.ue&&this.he.Zs(this.ue),this.de&&this.he.ut(this.de),this._s.ie()}registerViewPlugin(t){t.registerWithView(this.he),this._s.ie()}enhance(){return new _t(this._s)}}class At{constructor(t){this.me=t,this.we=[]}ls(t){return this.we.push(t),this.we.length-1}ie(t){this.we.forEach((s=>null!=s&&s(this.me,t)))}Is(t){this.we[t]=null}}class ct{constructor(){this.Se=!1,this.xe=[]}get Ns(){return this.Se}set Ns(t){this.Se=t}Ue(t){this.xe.push(t)}ws(t){if(t>=this.xe.length)throw Error("RowModel.getCell E20 bad cell index");return this.xe[t]}}const gt=[q[1.5],q[2.5]],ut=new class{constructor(){this.ve=[];for(let t=0;t<25;t++){const t=[];for(let s=0;s<40;s++)t.push(new et);this.ve.push(t)}this.ke="g0_latin",this.Re=null,this.Fe="g2_latin",this.Le=L.charFromAttribute(L.START_BOX),this.De=q[1],this.Ge=[],this.As=new At(this)}ie(){this.As.ie()}Ce(t,s){if(t>=25)throw Error("PageModel E29 bad row number");this.Ne(t,s),this.As.ie()}Ee(t){(t=t.slice(0,25)).forEach(((t,s)=>{this.Ne(s,t)})),this.As.ie()}Ne(t,s){let i=[...s];if(i=i.slice(0,40),i.forEach(((s,i)=>{const e=s.charCodeAt(0);if(Number.isNaN(e)||e>127)throw Error(`PageModel E51 failed to write row: bad character code (${e}) at row ${t} col ${i}`);this.ve[t][i].Ni=s})),i.length<40)for(let s=i.length;s<40;s++)this.ve[t][s].Ni=" "}Be(t){this.De=t,this.As.ie()}Qe(t){if(void 0===t||t){const t=[];for(let s=0;s<25;s++)t.push("");this.Ee(t)}else for(let t=0;t<25;t++)this.Ne(t,"")}ye(t,s){this.ke=t;const i=t.match(/^g0_([a-z]+)/);if(null!=i){const t="g2_"+i[1];t in tt?this.Fe=t:"hebrew"==i[1]&&(this.Fe="g2_arabic")}s&&this.As.ie()}be(t,s){this.Re=t,s&&this.As.ie()}pe(t,s){this.Fe=t,s&&this.As.ie()}Qs(t){if(t>=25)throw Error("PageModel.getRow E42 bad rowNum");const s=new ct;let i,e,r=R.Mt,n=k.WHITE,h=!1,_=F.Jt,o=!1,a=!1,l=!1,A=!1,c=k.BLACK,g=R.qt,u={ji:!1,Vs:" ",ks:R.qt},C=[];return gt.includes(this.De)&&(C=this.Ge.filter((s=>s.te==t))),this.ve[t].forEach(((f,I)=>{const E=f.Ni,B=((t,s)=>{let i=null,e=null;return s in H&&T[t].includes(s.charCodeAt(0))?s in N?(i=L.TEXT_COLOUR,e=H[s]):s in O?(i=L.MOSAIC_COLOUR,e=H[s]):i=H[s]:s.charCodeAt(0)<=31&&(i=L.Zt),{Oe:i,He:e}})(this.De,E);switch(i=n,f.ks=r,f.Fs=A,e=o,B.Oe!=L.STEADY&&(f.Gs=h),B.Oe!=L.NORMAL_SIZE&&(f.ft=_),B.Oe!=L.CONCEAL&&(f.Ys=a),l&&(B.Oe!=L.HOLD_MOSAICS&&(u.ji=!1,u.Vs=" "),l=!1),B.Oe){case L.TEXT_COLOUR:r=R.Mt,n=B.He,a=!1,f.Hi(u);break;case L.MOSAIC_COLOUR:r=g,n=B.He,a=!1,f.Hi(u);break;case L.NEW_BACKGROUND:c=i,f.Hi(u);break;case L.BLACK_BACKGROUND:c=k.BLACK,f.Hi(u);break;case L.CONTIGUOUS_GRAPHICS:g=R.qt,f.ks==R.Tt&&(f.ks=R.qt),r==R.Tt&&(r=R.qt),f.Hi(u);break;case L.SEPARATED_GRAPHICS:g=R.Tt,f.ks==R.qt&&(f.ks=R.Tt),r==R.qt&&(r=R.Tt),f.Hi(u);break;case L.ESC:this.Re&&(o=!e),f.Hi(u);break;case L.FLASH:h=!0,f.Hi(u);break;case L.STEADY:f.Gs=!1,h=!1,f.Hi(u);break;case L.NORMAL_SIZE:f.ft=F.Jt,_=F.Jt,f.Hi(u);break;case L.DOUBLE_HEIGHT:_=F.Vt,s.Ns=!0,f.Hi(u);break;case L.DOUBLE_WIDTH:_=F.Yt,f.Hi(u);break;case L.DOUBLE_SIZE:_=F.Kt,s.Ns=!0,f.Hi(u);break;case L.CONCEAL:f.Ys=!0,a=!0,f.Hi(u);break;case L.HOLD_MOSAICS:u.ji=!0,f.Hi(u);break;case L.RELEASE_MOSAICS:l=!0,f.Hi(u);break;case L.START_BOX:I>=1&&this.ve[t][I-1].Ni==this.Le&&(f.Fs=!0,A=!0),f.Hi(u);break;case L.END_BOX:A=!1,f.Hi(u);break;case L.Zt:f.Hi(u);break;default:f.Oi(e?this.Re:this.ke),f.Pi()&&(u.Vs=E,u.ks=f.ks)}f.Us=i,f.Ss=c,C.filter((t=>t.$i==I)).forEach((t=>{const s=new rt(f);f=s,"g0"==t.ks?(f.Ni=t.Vs,f.Mi=t.Mi,f.ks=R.Mt,f.Oi(e?this.Re:this.ke)):"g1"==t.ks?this.De==q[2.5]&&(f.Ni=t.Vs,f.ks=g,f.Oi()):"g2"==t.ks?(f.Ni=t.Vs,f.ks=R.Mt,f.Oi(this.Fe)):"g3"==t.ks?(this.De!=q[1.5]||-1!="Q[\\]".indexOf(t.Vs))&&(f.Ni=t.Vs,f.ks=R.zt,f.Oi()):"char"==t.ks&&(f.qi=t.Vs,f.ks=R.Mt)})),s.Ue(f)})),s}se(t){this.Ge=t}Ie(){this.Ge=[]}};function Ct(t){return new lt(ut,t)}export{L as Attributes,k as Colour,q as Level,Ct as Teletext};//# sourceMappingURL=teletext.min.js.map | ||
const t=new Set(["Uint1Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","UInt32Array","Float32Array","Float64Array"]),s=Uint8Array,i=Symbol();class e{constructor(t,{length:i=null,buffer:e=null,byteOffset:r=0,byteLength:n=null}={}){let h;e?i=8*(n||e.byteLength):i||(i=0);const _=s.BYTES_PER_ELEMENT,o=8*_,a=o-1,l=(t=>{let s=0;for(;t>>=1;)s++;return s})(o),A=Math.max(1,i+a>>l);e?h=new s(e,r,A):(e=new ArrayBuffer(_*A),h=new s(e)),Object.assign(this,{buffer:e,byteOffset:r,length:i,wordSize:o,wordCount:A,wordSizeMask:a,wordSizeShift:l,internal:h})}toArray(){const t=new Uint8Array(this.length);for(let s=0;s<this.wordCount;s++){const i=this.internal[s];for(let e=s*this.wordSize;e<(s+1)*this.wordSize;e++)t[e]=this.getBit(e,i)}return t}getBit(t,s){if(!(t>=this.length))return null==s&&(s=this.internal[t>>this.wordSizeShift]),s>>(t&this.wordSizeMask)&1}setBit(t,s){if(t>=this.length)return;const i=t>>this.wordSizeShift,e=t&this.wordSizeMask,r=this.internal[i];let n=r;return n|=s<<e,n&=~((1&~s)<<e),r!==n&&(this.internal[i]=n),s}}class r{constructor(t,s=0,r=null){let h,l,A;switch(a(t)){case"Number":h=t=~~t,l=new e(this,{length:h});break;case"ArrayBuffer":l=new e(this,{buffer:t,byteOffset:s,byteLength:r});break;case"Undefined":case"Null":case"RegExp":case"Infinity":h=0,l=new e(this,{length:h});break;case"Array":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"UInt32Array":case"Float32Array":case"Float64Array":case"Uint1Array":case"Object":default:A=_(t),l=new e(this,{length:A.length}),A.forEach(((t,s)=>l.setBit(s,o(t))))}return this[i]=l,new n(this)}static get BYTES_PER_ELEMENT(){return.125}static get name(){return"Uint1Array"}static get length(){return 0}static get[Symbol.species](){return this}static[Symbol.hasInstance](t){return t.__proto__=this}static from(t){const s=_(t);return new r(s)}static of(...t){return r.from(t)}get buffer(){return this[i].buffer}get byteLength(){return this.length+7>>3}get byteOffset(){return this[i].byteOffset}get length(){return this[i].length}get[Symbol.toStringTag](){return"Uint1Array"}copyWithin(t,s=0,i=this.length){if(!Number.isInteger(t))return this;const e=new Uint8Array(i-s);for(let t=s;t<i;t++)e[t-s]=this[t];return this.set(e,t),this}entries(){return this[i].toArray().entries()}every(...t){return this[i].toArray().every(...t)}fill(t,s=0,i=this.length){for(let e=s;e<i;e++)this[e]=t;return this}filter(...t){return new r(this[i].toArray().filter(...t))}find(...t){return this[i].toArray().find(...t)}findIndex(...t){return this[i].toArray().findIndex(...t)}forEach(...t){this[i].toArray().forEach(...t)}includes(...t){return this[i].toArray().includes(...t)}indexOf(...t){return this[i].toArray().indexOf(...t)}join(...t){return this[i].toArray().join(...t)}keys(...t){return this[i].toArray().keys(...t)}lastIndexOf(...t){return this[i].toArray().lastIndexOf(...t)}map(...t){return new r(this[i].toArray().map(...t))}reduce(...t){return this[i].toArray().reduce(...t)}reduceRight(...t){return this[i].toArray().reduceRight(...t)}reverse(){const t=this[i].toArray().reverse();return this.set(t),this}set(s,i=0){if(!Number.isInteger(i))return;const e=a(s);if("Array"!==e&&!t.has(e))return;const r=Math.min(s.length+i,this.length);s=s.map((t=>o(t)));for(let t=i;t<r;t++)this[t]=s[t-i]}slice(...t){return new r(this[i].toArray().slice(...t))}sort(...t){const s=this[i].toArray().sort(...t);return this.set(s),this}subarray(...t){return new r(this[i].toArray().subarray(...t))}values(...t){return this[i].toArray().values(...t)}toLocaleString(...t){return Array.from(this).toLocaleString()}toString(){return""+Array.from(this)}[Symbol.iterator](){return this[i].toArray()[Symbol.iterator]()}valueOf(){return this}toJSON(){return Array.from(this)}}function n(t){const s=t[i];return new Proxy(t,{get(i,e,r){const n="string"==typeof e?parseInt(e):e;return Number.isInteger(n)?s.getBit(n):Reflect.get(t,e)},set(i,e,r,n){const h="string"==typeof e?parseInt(e):e;return Number.isInteger(h)?(s.setBit(h,o(r)),!0):Reflect.set(t,e,r)}})}const h=/\[object (\w+)]/;function _(t){const s=[];for(let i of t){const t=o(i);s.push(t)}return s}function o(t){return"number"!=typeof t||Number.isNaN(t)?new Boolean(t).valueOf():t%2}function a(t){const s=t&&t.constructor?t.constructor.name:null,i=h.exec(Object.prototype.toString.call(t))[1];return i!==s&&s?s:i}class l{static tt(t,s){const i=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(i){if(1===i)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-i).join("=")}const e=[...s(t)].map((t=>c(t))),n=new ArrayBuffer(e.length);return new Uint8Array(n).set(e),(t=>{const s=[];for(let i=0;i<25;i++){const e=[];for(let s=0;s<40;s++){let r=6,n=0;const h=280*i+7*s;for(let s=h;s<h+7;s++)n+=t[s]*Math.pow(2,r),r--;e.push(String.fromCharCode(n))}s.push(e.join(""))}return s})(new r(n))}static st(t){const s=[];let i=!1;for(const e of[...t]){const t=e.charCodeAt(0);27==t?i=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),i=!1):t>=160?(s.push(""),i=!1):i?(s.push(String.fromCharCode(t-64)),i=!1):s.push(e)}return s}static it(t){const s=[],i=/^OL,(\d{1,2}),(.*)/;for(const e of[...t]){const t=e.match(i);null!=t&&(s[t[1]]=l.st(t[2]))}return s}static et(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}const A={};function c(t){if(t in A)return A[t];const s=[...t.charCodeAt(0).toString(2).padStart(8,"0")].reverse();return A[t]=Number.parseInt(s.join(""),2),A[t]}const g={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmKCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},u="http://www.w3.org/2000/svg";let C,f,I=0;class E{constructor(){}rt(){return this.nt}ht(){this.nt=null}_t(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.nt.removeAttribute(s):this.nt.setAttribute(s,t[s]);else{if(void 0===s)return this.nt.getAttribute(t);null==s?this.nt.removeAttribute(t):this.nt.setAttribute(t,s)}return this}ot(t){if(!this.at(t)){const s=this.lt();s.push(t),this.nt.setAttribute("class",s.join(" "))}return this}at(t){return-1!==this.lt().indexOf(t)}lt(){const t=this.nt.getAttribute("class");return null==t?[]:t.split(" ")}At(t){return this.at(t)&&this.nt.setAttribute("class",this.lt().filter((s=>s!==t)).join(" ")),this}ct(t){return this.at(t)?this.At(t):this.ot(t),this}gt(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.nt.dataset[s]:this.nt.dataset[s]=t[s];else{if(void 0===s)return this.nt.dataset[t];null==s?delete this.nt.dataset[t]:this.nt.dataset[t]=s}return this}}class B extends E{constructor(t){return super(),C=t,f=C.document,this.nt=f.createElementNS(u,"svg"),this.nt.setAttribute("xmlns",u),this}ut(t){const s=f.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.nt),this}Ct(t){return this.nt.setAttribute("viewBox",t),this}ft(t,s){return this.nt.setAttribute("width",t),this.nt.setAttribute("height",s),this}It(t){const s=f.createElementNS(u,"style");return s.append(t),this.nt.append(s),this}Et(){const t=new d;return this.nt.append(t.rt()),t}Bt(){return this.nt.clientWidth}dt(){return this.nt.clientHeight}Qt(t){const s=new p(t);return this.nt.append(s.rt()),s}}class d extends E{constructor(){return super(),this.nt=f.createElementNS(u,"g"),this.yt=[],this}Et(){const t=new d;return this.nt.append(t.rt()),this.yt.push(t),t}bt(t){const s=new w(t);return this.nt.append(s.rt()),this.yt.push(s),s}wt(){const t=new m;return this.nt.append(t.rt()),t}St(t,s){const i=new x(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}xt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}vt(t){return this.nt.setAttribute("clip-path",`url("#${t.rt().id}")`),this}kt(){return this.nt.removeAttribute("clip-path"),this}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null,this.yt.forEach((t=>t.ht())),this.yt=[]}Ft(t,s,i,e){const r=new U(t,s,i,e);return this.nt.append(r.rt()),this.yt.push(r),r}Lt(t){const s=new b(t);return this.nt.append(s.rt()),this.yt.push(s),s}Dt(t,s){const i=new y(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}Gt(t,s){const i=new Q(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}}class Q extends E{constructor(){return super(),this.nt=f.createElementNS(u,"svg"),this}attr(...t){return this._t(...t)}get node(){return this.rt()}}class y extends E{constructor(t,s){return super(),this.nt=f.createElementNS(u,"image"),this.nt.setAttribute("width",parseInt(t)),this.nt.setAttribute("height",parseInt(s)),this}attr(...t){return this._t(...t)}}class b extends E{constructor(t){return super(),this.nt=f.createElementNS(u,"use"),this.nt.setAttribute("href","#"+t),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}}class p extends E{constructor(t){return super(),this.nt=f.createElementNS(u,"symbol"),this.nt.setAttribute("id",t),this}St(t,s){const i=new x(t,s);return this.nt.append(i.rt()),i}}class w extends E{constructor(t){return super(),this.nt=f.createElementNS(u,"text"),this.nt.append(t),this}bt(t){return this.nt.textContent=t,this}Nt(t){return this.nt.setAttribute("fill",t),this}}class m extends E{constructor(){return super(),this.nt=f.createElementNS(u,"defs"),this}Ht(){const t=new S;return this.nt.append(t.rt()),t}jt(t){return[...this.nt.querySelectorAll(t)].map(v)}St(t,s){const i=new x(t,s);return this.nt.append(i.rt()),i}}class S extends E{constructor(){return super(),this.nt=f.createElementNS(u,"clipPath"),this.nt.setAttribute("id","clipPath-"+I),I++,this}Ut(){return[...this.nt.children].map(v)}Pt(t){this.nt.appendChild(t.rt())}}class x extends E{constructor(t,s){if(super(),t instanceof C.SVGElement)return this.nt=t,this;const i=t;return this.nt=f.createElementNS(u,"rect"),this.nt.setAttribute("width",parseInt(i)),this.nt.setAttribute("height",parseInt(s)),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}Bt(t){return void 0===t?parseInt(this.nt.getAttribute("width")):(this.nt.setAttribute("width",parseInt(t)),this)}dt(t){return void 0===t?parseInt(this.nt.getAttribute("height")):(this.nt.setAttribute("height",parseInt(t)),this)}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null}}class U extends E{constructor(t,s,i,e){return super(),this.nt=f.createElementNS(u,"line"),this.nt.setAttribute("x1",t),this.nt.setAttribute("y1",s),this.nt.setAttribute("x2",i),this.nt.setAttribute("y2",e),this}}function v(t){let s;switch(t.constructor.name){case"SVGRectElement":s=new x(t);break;default:throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name)}return s}const k={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(k);const R={Mt:Symbol(),qt:Symbol(),Tt:Symbol(),zt:Symbol()};Object.freeze(R);const F={Jt:Symbol(),Vt:Symbol(),Yt:Symbol(),Kt:Symbol()};Object.freeze(F);class L{static charFromTextColour(t){if(t in j)return j[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in P)return P[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in M)return M[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function D(t){return G[t]}L.TEXT_COLOUR=R.Mt,L.MOSAIC_COLOUR=Symbol(),L.NEW_BACKGROUND=Symbol(),L.BLACK_BACKGROUND=Symbol(),L.CONTIGUOUS_GRAPHICS=R.qt,L.SEPARATED_GRAPHICS=R.Tt,L.ESC=Symbol(),L.FLASH=Symbol(),L.STEADY=Symbol(),L.NORMAL_SIZE=F.Jt,L.DOUBLE_HEIGHT=F.Vt,L.DOUBLE_WIDTH=F.Yt,L.DOUBLE_SIZE=F.Kt,L.CONCEAL=Symbol(),L.HOLD_MOSAICS=Symbol(),L.RELEASE_MOSAICS=Symbol(),L.START_BOX=Symbol(),L.END_BOX=Symbol(),L.Zt=Symbol();const G={[k.BLACK]:"#000",[k.RED]:"#f00",[k.GREEN]:"#0f0",[k.YELLOW]:"#ff0",[k.BLUE]:"#00f",[k.MAGENTA]:"#f0f",[k.CYAN]:"#0ff",[k.WHITE]:"#fff"};Object.freeze(G);const N={"\0":k.BLACK,"":k.RED,"":k.GREEN,"":k.YELLOW,"":k.BLUE,"":k.MAGENTA,"":k.CYAN,"":k.WHITE};Object.freeze(N);const O={"":k.BLACK,"":k.RED,"":k.GREEN,"":k.YELLOW,"":k.BLUE,"":k.MAGENTA,"":k.CYAN,"":k.WHITE};Object.freeze(O);const H={"\b":L.FLASH,"\t":L.STEADY,"\n":L.END_BOX,"\v":L.START_BOX,"\f":L.NORMAL_SIZE,"\r":L.DOUBLE_HEIGHT,"":L.DOUBLE_WIDTH,"":L.DOUBLE_SIZE,"":L.CONCEAL,"":L.CONTIGUOUS_GRAPHICS,"":L.SEPARATED_GRAPHICS,"":L.ESC,"":L.BLACK_BACKGROUND,"":L.NEW_BACKGROUND,"":L.HOLD_MOSAICS,"":L.RELEASE_MOSAICS},j={};for(const t in N)j[N[t]]=t,H[t]=N[t];Object.freeze(j);const P={};for(const t in O)P[O[t]]=t,H[t]=O[t];Object.freeze(P),Object.freeze(H);const M={};for(const t in H)M[H[t]]=t;Object.freeze(M);const q={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(q);const T={};T[q[0]]=[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23],T[q[1]]=[...T[q[0]]].concat([10,11,12,13,24,25,26,27,28,29,30,31]),T[q[1.5]]=[...T[q[1]]].concat([0,16]),T[q[2.5]]=[...T[q[1.5]]].concat([14,15]),Object.freeze(T);const z={Xt:{Wt:10.4,$t:-5.2},ts:{Wt:10,$t:-4.5}};Object.freeze(z);class J{constructor(t,s){this.ss=new B(s).Ct("0 0 400 250").ft(600,500)._t({preserveAspectRatio:"none",style:"font-family: sans-serif"}).It("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.ss.Et()._t("class","conceal_concealed flash_flashing"),this.es=1.2,this.rs(),this.ns(),this.hs=null,this._s=t,this.os=this._s.As.ls((()=>this.cs())),this.gs=!1,this.us=!1,this.Cs=!1,this.fs={}}ut(t){this.ss.ut(t)}Is(){this._s.As.Is(this.os),this.os=null}cs(){let t=!1,s=!1;this.Cs=!1,this.d.At("flash_flashing"),this.Es.forEach(((i,e)=>{let r=!1;if(this.Bs(e),t)return t=!1,void this.ds(i,e);const n=this._s.Qs(e);let h,_;i.forEach(((t,i)=>{if(r)return r=!1,this.ys(t),this.bs(e),void(_&&this.ps());const o=n.ws(i),a=D(o.Ss),l=o.xs(),A=D(o.Us),c=this.vs(o.ks,l,o.et);this.Rs(t,o,c,A,i,e,l),o.Fs&&(_?this.ps():this.Ls(e,i),this.Cs=!0),h==a?this.bs(e):this.Ds(e,i,a),o.ft!=F.Yt&&o.ft!=F.Kt||(r=!0),h=a,_=o.Fs,o.Gs&&(s=!0)})),n.Ns?(this.Os(e),this.Hs(),t=!0):t=!1,this.js(e)})),"Ps"in this.fs&&this.fs.Ps(this.ss.Bt(),this.ss.dt()),this.d.ot("conceal_concealed"),s&&setTimeout((()=>this.d.ot("flash_flashing")),100),this.Ms()}Bs(t){this.qs(t),this.Ts(t)}ds(t,s){"zs"in this.fs&&this.fs.zs(t.length,s),t.forEach((t=>this.ys(t)))}ys(t){t.bt(" ")._t({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}Rs(t,s,i,e,r,n,h){this.Js(t,s,i,e,r,n),s.ks==R.qt&&h||s.ks==R.zt?t.ot("mosaic"):s.ks==R.Tt&&h&&t.ot("mosaic_separated")}Js(t,s,i,e,r,n){t.bt(s.Vs)._t(i).Nt(e),s.ft==F.Vt?t._t("transform",`translate(0 ${W(n)}) scale(1 2)`):s.ft==F.Yt?t._t("transform",`translate(${$(r)} 0) scale(2 1)`):s.ft==F.Kt&&t._t("transform",`translate(${$(r)} ${W(n)}) scale(2 2)`),s.Gs&&t.ot("flash"),s.Ys&&t.ot("conceal")}Ks(){this.d.ct("conceal_concealed")}Zs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.ss._t("style","font-family: "+s)}Xs(){this.hs?(this.hs.Rt(),this.hs=null):this.Ws()}$s(){this.us?(this.us=!1,this.ti._t("opacity",null).kt()):(this.us=!0,this.si())}ii(t){this.es=t,this.ei(this.ss.dt())}ei(t){this.ss.ft("natural"==this.es?1.6*t:t*this.es,t)}si(){this.gs&&this.Cs?this.ti._t("opacity",.3):this.Cs?this.ti.vt(this.ri)._t("opacity",.3):this.ti._t("opacity",0)}Ms(){this.us&&this.si()}ni(){this.gs?(this.d.kt(),this.gs=!1):(this.d.vt(this.ri),this.gs=!0),this.Ms()}Ws(){this.hs=this.d.Et();for(let t=0;t<25;t++)this.hs.Ft(0,10*t,399,10*t)._t({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this.hs.Ft(10*t,0,10*t,249)._t({stroke:"#555","stroke-width":.5})}ns(){this.hi=this.d.wt(),this._i=null,this.ri=this.hi.Ht()}rs(){this.oi(),this.ai()}oi(){const t=this.d.Et();t._t({"shape-rendering":"crispEdges",id:"background"}),this.li=[],this.ti=t}ai(){const t=[],s=this.d.Et()._t({"text-anchor":"middle",fill:"#fff"})._t("id","textlayer");for(let i=0;i<25;i++){const e=[];for(let t=0;t<40;t++)e.push(s.bt(String.fromCharCode(32+95*Math.random()))._t({x:10*t+5,y:10*i+8}));t.push(e)}this.Es=t,this.Ai=s}Ts(t){this.ri.Ut().filter((s=>s.gt("r")==t)).forEach((t=>t.Rt()))}qs(t){this.li[t]&&this.li[t].Rt(),this.li[t]=this.ti.Et()}bs(t){const s=this.li[t].xt(),i=s.Bt();s.Bt(i+10)}Ds(t,s,i){const e=10*s,r=10*t;this.li[t].St(10,10).Nt(i).Ot(e,r)}ps(){const t=this._i.Bt();this._i.Bt(t+10)}Os(t){this.li[t].Ut().forEach((t=>t._t("height",20)))}Hs(){this.hi.jt("[data-boxbuffer]").forEach((t=>t.dt(20)))}Ls(t,s){const i=10*s,e=10*t;this._i=this.hi.St(10,10).gt("boxbuffer",!0).Ot(i,e)}js(t){this.hi.jt("[data-boxbuffer]").forEach((s=>{s.gt({r:t,boxbuffer:null}),this.ri.Pt(s)}))}vs(t,s,i){return t==R.qt&&s||t==R.zt?{dx:z.Xt.$t,dy:-.15,textLength:z.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==R.Tt&&s?{dx:z.ts.$t,dy:null,textLength:z.ts.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?10:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.fs.ci=s.renderBackground),"renderMosaic"in s&&(this.fs.gi=s.renderMosaic),"endOfPageUpdate"in s&&(this.fs.Ps=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.fs.zs=s.clearCellsForRow),{lookupColour:V,isDoubleHeight:Y,isDoubleWidth:K,isDoubleSize:Z,isSeparatedMosaic:X,createImageOverlay:this.ui.bind(this),createSVGOverlay:this.Ci.bind(this)}}ui(){const t=this.d.Dt(400,250);return t._t("preserveAspectRatio","none"),t}Ci(){const t=this.d.Gt();return t._t("preserveAspectRatio","none"),t}}J.fi=10,J.Ii=10,J.Ei=20,J.Bi=20,J.di=400,J.Qi=250,J.yi=z,J.ROWS=25,J.COLS=40;const V=t=>D(t),Y=t=>t==F.Vt,K=t=>t==F.Yt,Z=t=>t==F.Kt,X=t=>t==R.Tt,W=t=>0-10*t,$=t=>0-10*t,tt={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"µ",6:"¶",7:"·",8:"÷",9:"’","!":"¡",'"':"¢","#":"£","%":"¥","&":"#","'":"§","(":"¤",")":"‘","*":"“","+":"«",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"»","<":"¼","=":"½",">":"¾","?":"¿","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"—",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"α",Y:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",A:"Α",B:"Β",C:"Γ",D:"Δ",E:"Ε",F:"Ζ",G:"Η",H:"Θ",I:"Ι",J:"Κ",K:"Λ",L:"Μ",M:"Ν",N:"Ξ",O:"Ο",P:"Π",Q:"Ρ",R:"ʹ",S:"Σ",T:"Τ",U:"Υ",V:"Φ",W:"Χ",X:"Ψ",Y:"Ω",Z:"Ϊ","[":"Ϋ","\\":"ά","]":"έ","^":"ή",_:"ί","`":"ΰ",a:"α",b:"β",c:"γ",d:"δ",e:"ε",f:"ζ",g:"η",h:"θ",i:"ι",j:"κ",k:"λ",l:"μ",m:"ν",n:"ξ",o:"ο",p:"π",q:"ρ",r:"ς",s:"σ",t:"τ",u:"υ",v:"φ",w:"χ",x:"ψ",y:"ω",z:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"ɑ",Y:"Ί",Z:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",Z:"З","[":"Ш","]":"Щ","^":"Ч","`":"ю",a:"а",b:"б",c:"ц",d:"д",e:"е",f:"ф",g:"г",h:"х",i:"и",j:"ѝ",k:"к",l:"л",m:"м",n:"н",o:"о",p:"п",q:"я",r:"р",s:"с",t:"т",u:"у",v:"ж",w:"в",x:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"©",R:"®",S:"¹",T:"ɑ",U:"Ί",V:"Ύ",W:"Ώ",X:"‰",Y:"₠",Z:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",A:"ﺀ",B:"ﺒ",C:"ﺏ",D:"ﺘ",E:"ﺕ",F:"ﺎ",G:"ﺍ",H:"ﺑ",I:"ﺓ",J:"ﺗ",K:"ﺛ",L:"ﺟ",M:"ﺣ",N:"ﺧ",O:"ﺩ",P:"ﺫ",Q:"ﺭ",R:"ﺯ",S:"ﺳ",T:"ﺷ",U:"ﺻ",V:"ﺿ",W:"ﻃ",X:"ﻇ",Y:"ﻋ",Z:"ﻏ","[":"ﺜ","\\":"ﺠ","]":"ﺤ","^":"ﺨ",_:"#","`":"ـ",a:"ﻓ",b:"ﻗ",c:"ﻛ",d:"ﻟ",e:"ﻣ",f:"ﻧ",g:"ﻫ",h:"ﻭ",i:"ﻰ",j:"ﻳ",k:"ﺙ",l:"ﺝ",m:"ﺡ",n:"ﺥ",o:"ﻴ",p:"ﻯ",q:"ﻌ",r:"ﻐ",s:"ﻔ",t:"ﻑ",u:"ﻘ",v:"ﻕ",w:"ﻙ",x:"ﻠ",y:"ﻝ",z:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",a:"ב",b:"ג",c:"ד",d:"ה",e:"ו",f:"ז",g:"ח",h:"ט",i:"י",j:"ך",k:"כ",l:"ל",m:"ם",n:"מ",o:"ן",p:"נ",q:"ס",r:"ע",s:"ף",t:"פ",u:"ץ",v:"צ",w:"ק",x:"ר",y:"ש",z:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{0:"🬏",1:"🬐",2:"🬑",3:"🬒",4:"🬓",5:"▌",6:"🬔",7:"🬕",8:"🬖",9:"🬗"," ":" ","!":"🬀",'"':"🬁","#":"🬂",$:"🬃","%":"🬄","&":"🬅","'":"🬆","(":"🬇",")":"🬈","*":"🬉","+":"🬊",",":"🬋","-":"🬌",".":"🬍","/":"🬎",":":"🬘",";":"🬙","<":"🬚","=":"🬛",">":"🬜","?":"🬝","`":"🬞",a:"🬟",b:"🬠",c:"🬡",d:"🬢",e:"🬣",f:"🬤",g:"🬥",h:"🬦",i:"🬧",j:"▐",k:"🬨",l:"🬩",m:"🬪",n:"🬫",o:"🬬",p:"🬭",q:"🬮",r:"🬯",s:"🬰",t:"🬱",u:"🬲",v:"🬳",w:"🬴",x:"🬵",y:"🬶",z:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{0:"",1:"",2:"",3:"",4:"",5:"",6:"",7:"",8:"",9:""," ":" ","!":"",'"':"","#":"",$:"","%":"","&":"","'":"","(":"",")":"","*":"","+":"",",":"","-":"",".":"","/":"",":":"",";":"","<":"","=":"",">":"","?":"","`":"",a:"",b:"",c:"",d:"",e:"",f:"",g:"",h:"",i:"",j:"",k:"",l:"",m:"",n:"",o:"",p:"",q:"",r:"",s:"",t:"",u:"",v:"",w:"",x:"",y:"",z:"","{":"","|":"","}":"","~":"","":""},g3:{0:"🭇",1:"🭈",2:"🭉",3:"🭊",4:"🭋",5:"◢",6:"🭌",7:"🭍",8:"🭎",9:"🭏"," ":"🬼","!":"🬽",'"':"🬾","#":"🬿",$:"🭀","%":"◣","&":"🭁","'":"🭂","(":"🭃",")":"🭄","*":"🭅","+":"🭆",",":"🭨","-":"🭩",".":"🭰","/":"▒",":":"🭐",";":"🭑","<":"🭪","=":"🭫",">":"🭵","?":"█","@":"┷",A:"┯",B:"┝",C:"┥",D:"🮤",E:"🮥",F:"🮦",G:"🮧",H:"🮠",I:"🮡",J:"🮢",K:"🮣",L:"┿",M:"•",N:"●",O:"○",P:"│",Q:"─",R:"┌",S:"┐",T:"└",U:"┘",V:"├",W:"┤",X:"┬",Y:"┴",Z:"┼","[":"→","\\":"←","]":"↑","^":"↓",_:" ","`":"🭒",a:"🭓",b:"🭔",c:"🭕",d:"🭖",e:"◥",f:"🭗",g:"🭘",h:"🭙",i:"🭚",j:"🭛",k:"🭜",l:"🭬",m:"🭭",n:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},st={};class it{constructor(t){this.type=t.ks,this.flashing=t.Gs,this.concealed=t.Ys,this.size=t.ft,this.sextants=t.bi()}}class et{constructor(){this.pi=" ",this.wi=" ",this.mi=k.WHITE,this.Si=k.BLACK,this.xi=R.Mt,this.Ui=!1,this.vi=F.Jt,this.ki=!1,this.Ri=!1,this.Fi=null,this.Li=!1,this.Di=null,this.Gi=null}set Ni(t){this.pi=t}get Ni(){return this.pi}set Us(t){this.mi=t}get Us(){return this.mi}set Ss(t){this.Si=t}get Ss(){return this.Si}get et(){return this.Li}Oi(t){const s=this.xi==R.qt||this.xi==R.Tt;this.xi==R.Mt||0==(32&this.pi.charCodeAt(0))&&s?(this.wi=nt(this.pi,t),this.Di>0&&(this.wi+=tt.g2_latin[String.fromCharCode(this.Di+64)]),this.Li=!1,"g0_arabic"!=t&&"g2_arabic"!=t||(this.Li=l.et(this.wi))):this.xi==R.qt?this.wi=nt(this.pi,"g1_block_mosaic_to_unicode__legacy_computing"):this.xi==R.Tt?this.wi=nt(this.pi,"g1_block_mosaic_to_unicode__unscii_separated"):this.xi==R.zt&&(this.wi=nt(this.pi,"g3")),this.Fi=null}Hi(t){if(this.xi!=R.qt&&this.xi!=R.Tt||!t.ji)this.Fi=null,this.wi=" ";else{this.Fi=t.Vs,this.xi=t.ks;let s="g1_block_mosaic_to_unicode__legacy_computing";this.xi==R.Tt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.wi=nt(t.Vs,s)}}get Vs(){return this.wi}get ks(){return this.xi}set ks(t){this.xi=t}set Gs(t){this.Ui=t}get Gs(){return this.Ui}get ft(){return this.vi}set ft(t){this.vi=t}set Ys(t){this.ki=t}get Ys(){return this.ki}set Fs(t){this.Ri=t}get Fs(){return this.Ri}xs(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.pi.charCodeAt(0);return t<=127&&32==(32&t)}Pi(){const t=this.pi.charCodeAt(0);return(this.xi==R.qt||this.xi==R.Tt)&&t<=127&&32==(32&t)}bi(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.pi.charCodeAt(0);if(t>127)return null;if(t in st)return st[t];let s=t-32;return s>=64&&(s-=32),st[t]=[...s.toString(2).padStart(6,"0")].reverse(),st[t]}}class rt extends et{constructor(t){super(),Object.assign(this,t)}set Mi(t){this.Di=t}get Mi(){return this.Di}set qi(t){this.Gi=t}get Vs(){return null==this.Gi?this.wi:this.Gi}}function nt(t,s){if(!(s in tt))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in tt[s])return tt[s][t];const i=s.match(/^(.+)__/);if(null!=i){const e=i[1];if(t in tt[e])return tt[s][t]=tt[e][t],tt[e][t]}return t}class ht extends J{constructor(t,s,i){super(t,i),this.Ti=s,this.zi=new Set}rs(){super.rs(),this.Ji=[],this.Vi=this.d.Et()}Bs(t){super.Bs(t),this.Yi(t)}Rs(t,s,i,e,r,n,h){"ci"in this.fs&&this.fs.ci(n,r,s.ft,s.Ss),s.ks!=R.Mt&&s.ks!=R.zt&&h?h&&(t.bt(" ")._t(i),this.Ki(n,r,s,e)):(this.Js(t,s,i,e,r,n),s.ks==R.zt&&t.ot("mosaic"))}Ki(t,s,i,e){if("gi"in this.fs){const r=new it(i);if(this.fs.gi(t,s,r,e))return}const r=i.bi();if(!r.includes("1"))return;let n=i.ks==R.qt?"c":"s";n+=r.join("");let h,_=J.fi,o=J.Ii;if(i.ks==R.qt&&(_=J.fi+.3,o=J.Ii+.2),!this.zi.has(n)){this.zi.add(n);const t=this.ss.Qt(n);if(i.ks==R.qt){t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(6,6).Ot(s%2*6,6*Math.floor(s/2))}else{t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(4,4).Ot(s%2*6+1,6*Math.floor(s/2)+2)}}h=i.ks==R.qt?this.Ji[t].Lt(n).Ot(s*J.fi-.15,t*J.Ii-.1).Nt(e):this.Ji[t].Lt(n).Ot(s*J.fi,t*J.Ii).Nt(e),this.Ti&&h._t({width:_,height:o}),i.ft!=F.Vt&&i.ft!=F.Kt||h._t("height",J.Bi),i.ft!=F.Yt&&i.ft!=F.Kt||h._t("width",J.Ei),i.Gs&&h.ot("flash"),i.Ys&&h.ot("conceal")}Yi(t){this.Ji[t]&&this.Ji[t].Rt(),this.Ji[t]=this.Vi.Et()}vs(t,s,i){return t==R.zt?{dx:J.yi.Xt.$t,dy:-.15,textLength:J.yi.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?J.fi:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class _t{constructor(t){this._s=t,this.Zi=0,this.Xi=0,this.Wi=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Zi=t,this.Xi=s),this}putG0(t,s){let i=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(i=t)}const e=t.charCodeAt(0);return e<32||e>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g0",Vs:t,Mi:i}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g1",Vs:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g2",Vs:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g3",Vs:t}),this}putAt(){return this.Wi.push({$i:this.Zi,te:this.Xi,ks:"char",Vs:"@"}),this}end(){return this._s.se(this.Wi),this._s.ie(),this}}class ot extends J{}const at=["SPLASH","ENGINEERING","ADVERT","UK"];class lt{constructor(t,s){if(this.ee=null,"object"==typeof window&&(this.ee=window),this.re={ne:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this.re.ne=!1),"dom"in s&&(this.ee=s.dom)),null==this.ee)throw Error("TeletextController E24: No window dom object available");this.he=new ht(t,this.re.ne,this.ee),this._s=t,this._e=1,this.oe=0,this.ae(),this.le=null,this.Ae=null,this.ce=0,this.ge=0,this.ue=null}setRowFromOutputLine(t,s){const i=l.st(s);this._s.Ce(t,i)}setRow(t,s){this._s.Ce(t,s)}setPageFromOutputLines(t,s){const i=l.it(t);void 0!==s&&(i[0]=this.fe(s)),this.setPageRows(i)}setPageRows(t){this._s.Ie(),this._s.Ee(t)}fe(t){return(t=l.st(t)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(g[at[this.oe]]),this.oe++,4==this.oe&&(this.oe=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(t,s){const i=l.tt(t,this.ee.atob);void 0!==s&&(i[0]=this.fe(s)),this.setPageRows(i)}ae(){this.ee.addEventListener("ttx.reveal",(()=>this.he.Ks())),this.ee.addEventListener("ttx.mix",(()=>this.he.$s())),this.ee.addEventListener("ttx.subtitlemode",(()=>this.he.ni()))}toggleReveal(){this.he.Ks()}toggleMixMode(){this.he.$s()}toggleBoxMode(){this.he.ni()}toggleGrid(){this.he.Xs()}setLevel(t){this._s.Be(t)}addTo(t){this.de=t,this.he.ut(t)}setFont(t){this.ue=t,this.he.Zs(t)}clearScreen(t){this._s.Ie(),this._s.Qe(t)}setAspectRatio(t){if("natural"==t)return void this.he.ii(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this.he.ii(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this.he.ei(s),this.Ae=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this._s.ye(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this._s.be(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this._s.pe(t,s)}remove(){if(this.he.Is(),this.de){const t=document.querySelector(this.de);t&&t.removeChild(t.firstChild)}this.he=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this.he=new ot(this._s,this.ee);break;case"classic__graphic-for-mosaic":this.he=new ht(this._s,this.re.ne,this.ee);break;default:throw Error("setView E126: bad view name:"+t)}this.Ae&&this.he.ei(this.Ae),this.ue&&this.he.Zs(this.ue),this.de&&this.he.ut(this.de),this._s.ie()}registerViewPlugin(t){t.registerWithView(this.he),this._s.ie()}enhance(){return new _t(this._s)}writeBytes(t,s,i){this._s.we(t,s,i)}getBytes(){return this._s.me()}}class At{constructor(t){this.Se=t,this.xe=[]}ls(t){return this.xe.push(t),this.xe.length-1}ie(t){this.xe.forEach((s=>null!=s&&s(this.Se,t)))}Is(t){this.xe[t]=null}}class ct{constructor(){this.Ue=!1,this.ve=[]}get Ns(){return this.Ue}set Ns(t){this.Ue=t}ke(t){this.ve.push(t)}ws(t){if(t>=this.ve.length)throw Error("RowModel.getCell E20 bad cell index");return this.ve[t]}}const gt=[q[1.5],q[2.5]],ut=new class{constructor(){this.Re=[];for(let t=0;t<25;t++){const t=[];for(let s=0;s<40;s++)t.push(new et);this.Re.push(t)}this.Fe="g0_latin",this.Le=null,this.De="g2_latin",this.Ge=L.charFromAttribute(L.START_BOX),this.Ne=q[1],this.Oe=[],this.As=new At(this)}ie(){this.As.ie()}Ce(t,s){if(t>=25)throw Error("PageModel E29 bad row number");this.He(t,s),this.As.ie()}Ee(t){(t=t.slice(0,25)).forEach(((t,s)=>{this.He(s,t)})),this.As.ie()}we(t,s,i){for(let e=s,r=0;e<25&&r<i.length;e++,r++){const s=[...i[r]].slice(0,40-t);for(let i=t,r=0;i<40;i++,r++)this.Re[e][i].Ni=s[r]}this.As.ie()}He(t,s){let i=[...s];if(i=i.slice(0,40),i.forEach(((s,i)=>{const e=s.charCodeAt(0);if(Number.isNaN(e)||e>127)throw Error(`PageModel E51 failed to write row: bad character code (${e}) at row ${t} col ${i}`);this.Re[t][i].Ni=s})),i.length<40)for(let s=i.length;s<40;s++)this.Re[t][s].Ni=" "}Be(t){this.Ne=t,this.As.ie()}Qe(t){if(void 0===t||t){const t=[];for(let s=0;s<25;s++)t.push("");this.Ee(t)}else for(let t=0;t<25;t++)this.He(t,"")}ye(t,s){this.Fe=t;const i=t.match(/^g0_([a-z]+)/);if(null!=i){const t="g2_"+i[1];t in tt?this.De=t:"hebrew"==i[1]&&(this.De="g2_arabic")}s&&this.As.ie()}be(t,s){this.Le=t,s&&this.As.ie()}pe(t,s){this.De=t,s&&this.As.ie()}Qs(t){if(t>=25)throw Error("PageModel.getRow E42 bad rowNum");const s=new ct;let i,e,r=R.Mt,n=k.WHITE,h=!1,_=F.Jt,o=!1,a=!1,l=!1,A=!1,c=k.BLACK,g=R.qt,u={ji:!1,Vs:" ",ks:R.qt},C=[];return gt.includes(this.Ne)&&(C=this.Oe.filter((s=>s.te==t))),this.Re[t].forEach(((f,I)=>{const E=f.Ni,B=((t,s)=>{let i=null,e=null;return s in H&&T[t].includes(s.charCodeAt(0))?s in N?(i=L.TEXT_COLOUR,e=H[s]):s in O?(i=L.MOSAIC_COLOUR,e=H[s]):i=H[s]:s.charCodeAt(0)<=31&&(i=L.Zt),{je:i,Pe:e}})(this.Ne,E);switch(i=n,f.ks=r,f.Fs=A,e=o,B.je!=L.STEADY&&(f.Gs=h),B.je!=L.NORMAL_SIZE&&(f.ft=_),B.je!=L.CONCEAL&&(f.Ys=a),l&&(B.je!=L.HOLD_MOSAICS&&(u.ji=!1,u.Vs=" "),l=!1),B.je){case L.TEXT_COLOUR:r=R.Mt,n=B.Pe,a=!1,f.Hi(u);break;case L.MOSAIC_COLOUR:r=g,n=B.Pe,a=!1,f.Hi(u);break;case L.NEW_BACKGROUND:c=i,f.Hi(u);break;case L.BLACK_BACKGROUND:c=k.BLACK,f.Hi(u);break;case L.CONTIGUOUS_GRAPHICS:g=R.qt,f.ks==R.Tt&&(f.ks=R.qt),r==R.Tt&&(r=R.qt),f.Hi(u);break;case L.SEPARATED_GRAPHICS:g=R.Tt,f.ks==R.qt&&(f.ks=R.Tt),r==R.qt&&(r=R.Tt),f.Hi(u);break;case L.ESC:this.Le&&(o=!e),f.Hi(u);break;case L.FLASH:h=!0,f.Hi(u);break;case L.STEADY:f.Gs=!1,h=!1,f.Hi(u);break;case L.NORMAL_SIZE:f.ft=F.Jt,_=F.Jt,f.Hi(u);break;case L.DOUBLE_HEIGHT:_=F.Vt,s.Ns=!0,f.Hi(u);break;case L.DOUBLE_WIDTH:_=F.Yt,f.Hi(u);break;case L.DOUBLE_SIZE:_=F.Kt,s.Ns=!0,f.Hi(u);break;case L.CONCEAL:f.Ys=!0,a=!0,f.Hi(u);break;case L.HOLD_MOSAICS:u.ji=!0,f.Hi(u);break;case L.RELEASE_MOSAICS:l=!0,f.Hi(u);break;case L.START_BOX:I>=1&&this.Re[t][I-1].Ni==this.Ge&&(f.Fs=!0,A=!0),f.Hi(u);break;case L.END_BOX:A=!1,f.Hi(u);break;case L.Zt:f.Hi(u);break;default:f.Oi(e?this.Le:this.Fe),f.Pi()&&(u.Vs=E,u.ks=f.ks)}f.Us=i,f.Ss=c,C.filter((t=>t.$i==I)).forEach((t=>{const s=new rt(f);f=s,"g0"==t.ks?(f.Ni=t.Vs,f.Mi=t.Mi,f.ks=R.Mt,f.Oi(e?this.Le:this.Fe)):"g1"==t.ks?this.Ne==q[2.5]&&(f.Ni=t.Vs,f.ks=g,f.Oi()):"g2"==t.ks?(f.Ni=t.Vs,f.ks=R.Mt,f.Oi(this.De)):"g3"==t.ks?(this.Ne!=q[1.5]||-1!="Q[\\]".indexOf(t.Vs))&&(f.Ni=t.Vs,f.ks=R.zt,f.Oi()):"char"==t.ks&&(f.qi=t.Vs,f.ks=R.Mt)})),s.ke(f)})),s}se(t){this.Oe=t}Ie(){this.Oe=[]}me(){const t=new Uint8Array(1e3);return this.Re.forEach(((s,i)=>{s.forEach(((s,e)=>{t[40*i+e]=s.Ni.charCodeAt(0)}))})),t}};function Ct(t){return new lt(ut,t)}export{L as Attributes,k as Colour,q as Level,Ct as Teletext};//# sourceMappingURL=teletext.min.js.map |
@@ -5,2 +5,2 @@ // SPDX-FileCopyrightText: (c) 2021 Tech and Software Ltd. | ||
// LicenseRef-uk.ltd.TechAndSoftware-1.0 refers to https://tech-and-software.ltd.uk/LICENSES/LicenseRef-uk.ltd.TechAndSoftware-1.0.txt | ||
var t,s;t=this,s=function(t){"use strict";const s=new Set(["Uint1Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","UInt32Array","Float32Array","Float64Array"]),i=Uint8Array,e=Symbol();class r{constructor(t,{length:s=null,buffer:e=null,byteOffset:r=0,byteLength:n=null}={}){let h;e?s=8*(n||e.byteLength):s||(s=0);const _=i.BYTES_PER_ELEMENT,o=8*_,a=o-1,l=(t=>{let s=0;for(;t>>=1;)s++;return s})(o),A=Math.max(1,s+a>>l);e?h=new i(e,r,A):(e=new ArrayBuffer(_*A),h=new i(e)),Object.assign(this,{buffer:e,byteOffset:r,length:s,wordSize:o,wordCount:A,wordSizeMask:a,wordSizeShift:l,internal:h})}toArray(){const t=new Uint8Array(this.length);for(let s=0;s<this.wordCount;s++){const i=this.internal[s];for(let e=s*this.wordSize;e<(s+1)*this.wordSize;e++)t[e]=this.getBit(e,i)}return t}getBit(t,s){if(!(t>=this.length))return null==s&&(s=this.internal[t>>this.wordSizeShift]),s>>(t&this.wordSizeMask)&1}setBit(t,s){if(t>=this.length)return;const i=t>>this.wordSizeShift,e=t&this.wordSizeMask,r=this.internal[i];let n=r;return n|=s<<e,n&=~((1&~s)<<e),r!==n&&(this.internal[i]=n),s}}class n{constructor(t,s=0,i=null){let n,_,A;switch(l(t)){case"Number":n=t=~~t,_=new r(this,{length:n});break;case"ArrayBuffer":_=new r(this,{buffer:t,byteOffset:s,byteLength:i});break;case"Undefined":case"Null":case"RegExp":case"Infinity":n=0,_=new r(this,{length:n});break;case"Array":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"UInt32Array":case"Float32Array":case"Float64Array":case"Uint1Array":case"Object":default:A=o(t),_=new r(this,{length:A.length}),A.forEach(((t,s)=>_.setBit(s,a(t))))}return this[e]=_,new h(this)}static get BYTES_PER_ELEMENT(){return.125}static get name(){return"Uint1Array"}static get length(){return 0}static get[Symbol.species](){return this}static[Symbol.hasInstance](t){return t.__proto__=this}static from(t){const s=o(t);return new n(s)}static of(...t){return n.from(t)}get buffer(){return this[e].buffer}get byteLength(){return this.length+7>>3}get byteOffset(){return this[e].byteOffset}get length(){return this[e].length}get[Symbol.toStringTag](){return"Uint1Array"}copyWithin(t,s=0,i=this.length){if(!Number.isInteger(t))return this;const e=new Uint8Array(i-s);for(let t=s;t<i;t++)e[t-s]=this[t];return this.set(e,t),this}entries(){return this[e].toArray().entries()}every(...t){return this[e].toArray().every(...t)}fill(t,s=0,i=this.length){for(let e=s;e<i;e++)this[e]=t;return this}filter(...t){return new n(this[e].toArray().filter(...t))}find(...t){return this[e].toArray().find(...t)}findIndex(...t){return this[e].toArray().findIndex(...t)}forEach(...t){this[e].toArray().forEach(...t)}includes(...t){return this[e].toArray().includes(...t)}indexOf(...t){return this[e].toArray().indexOf(...t)}join(...t){return this[e].toArray().join(...t)}keys(...t){return this[e].toArray().keys(...t)}lastIndexOf(...t){return this[e].toArray().lastIndexOf(...t)}map(...t){return new n(this[e].toArray().map(...t))}reduce(...t){return this[e].toArray().reduce(...t)}reduceRight(...t){return this[e].toArray().reduceRight(...t)}reverse(){const t=this[e].toArray().reverse();return this.set(t),this}set(t,i=0){if(!Number.isInteger(i))return;const e=l(t);if("Array"!==e&&!s.has(e))return;const r=Math.min(t.length+i,this.length);t=t.map((t=>a(t)));for(let s=i;s<r;s++)this[s]=t[s-i]}slice(...t){return new n(this[e].toArray().slice(...t))}sort(...t){const s=this[e].toArray().sort(...t);return this.set(s),this}subarray(...t){return new n(this[e].toArray().subarray(...t))}values(...t){return this[e].toArray().values(...t)}toLocaleString(...t){return Array.from(this).toLocaleString()}toString(){return""+Array.from(this)}[Symbol.iterator](){return this[e].toArray()[Symbol.iterator]()}valueOf(){return this}toJSON(){return Array.from(this)}}function h(t){const s=t[e];return new Proxy(t,{get(i,e,r){const n="string"==typeof e?parseInt(e):e;return Number.isInteger(n)?s.getBit(n):Reflect.get(t,e)},set(i,e,r,n){const h="string"==typeof e?parseInt(e):e;return Number.isInteger(h)?(s.setBit(h,a(r)),!0):Reflect.set(t,e,r)}})}const _=/\[object (\w+)]/;function o(t){const s=[];for(let i of t){const t=a(i);s.push(t)}return s}function a(t){return"number"!=typeof t||Number.isNaN(t)?new Boolean(t).valueOf():t%2}function l(t){const s=t&&t.constructor?t.constructor.name:null,i=_.exec(Object.prototype.toString.call(t))[1];return i!==s&&s?s:i}class A{static tt(t,s){const i=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(i){if(1===i)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-i).join("=")}const e=[...s(t)].map((t=>g(t))),r=new ArrayBuffer(e.length);return new Uint8Array(r).set(e),(t=>{const s=[];for(let i=0;i<25;i++){const e=[];for(let s=0;s<40;s++){let r=6,n=0;const h=280*i+7*s;for(let s=h;s<h+7;s++)n+=t[s]*Math.pow(2,r),r--;e.push(String.fromCharCode(n))}s.push(e.join(""))}return s})(new n(r))}static st(t){const s=[];let i=!1;for(const e of[...t]){const t=e.charCodeAt(0);27==t?i=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),i=!1):t>=160?(s.push(""),i=!1):i?(s.push(String.fromCharCode(t-64)),i=!1):s.push(e)}return s}static it(t){const s=[],i=/^OL,(\d{1,2}),(.*)/;for(const e of[...t]){const t=e.match(i);null!=t&&(s[t[1]]=A.st(t[2]))}return s}static et(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}const c={};function g(t){if(t in c)return c[t];const s=[...t.charCodeAt(0).toString(2).padStart(8,"0")].reverse();return c[t]=Number.parseInt(s.join(""),2),c[t]}const u={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmKCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},f="http://www.w3.org/2000/svg";let C,I,E=0;class B{constructor(){}rt(){return this.nt}ht(){this.nt=null}_t(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.nt.removeAttribute(s):this.nt.setAttribute(s,t[s]);else{if(void 0===s)return this.nt.getAttribute(t);null==s?this.nt.removeAttribute(t):this.nt.setAttribute(t,s)}return this}ot(t){if(!this.at(t)){const s=this.lt();s.push(t),this.nt.setAttribute("class",s.join(" "))}return this}at(t){return-1!==this.lt().indexOf(t)}lt(){const t=this.nt.getAttribute("class");return null==t?[]:t.split(" ")}At(t){return this.at(t)&&this.nt.setAttribute("class",this.lt().filter((s=>s!==t)).join(" ")),this}ct(t){return this.at(t)?this.At(t):this.ot(t),this}gt(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.nt.dataset[s]:this.nt.dataset[s]=t[s];else{if(void 0===s)return this.nt.dataset[t];null==s?delete this.nt.dataset[t]:this.nt.dataset[t]=s}return this}}class d extends B{constructor(t){return super(),C=t,I=C.document,this.nt=I.createElementNS(f,"svg"),this.nt.setAttribute("xmlns",f),this}ut(t){const s=I.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.nt),this}ft(t){return this.nt.setAttribute("viewBox",t),this}Ct(t,s){return this.nt.setAttribute("width",t),this.nt.setAttribute("height",s),this}It(t){const s=I.createElementNS(f,"style");return s.append(t),this.nt.append(s),this}Et(){const t=new Q;return this.nt.append(t.rt()),t}Bt(){return this.nt.clientWidth}dt(){return this.nt.clientHeight}Qt(t){const s=new m(t);return this.nt.append(s.rt()),s}}class Q extends B{constructor(){return super(),this.nt=I.createElementNS(f,"g"),this.yt=[],this}Et(){const t=new Q;return this.nt.append(t.rt()),this.yt.push(t),t}bt(t){const s=new w(t);return this.nt.append(s.rt()),this.yt.push(s),s}wt(){const t=new S;return this.nt.append(t.rt()),t}St(t,s){const i=new U(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}xt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}vt(t){return this.nt.setAttribute("clip-path",`url("#${t.rt().id}")`),this}kt(){return this.nt.removeAttribute("clip-path"),this}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null,this.yt.forEach((t=>t.ht())),this.yt=[]}Ft(t,s,i,e){const r=new v(t,s,i,e);return this.nt.append(r.rt()),this.yt.push(r),r}Lt(t){const s=new p(t);return this.nt.append(s.rt()),this.yt.push(s),s}Dt(t,s){const i=new b(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}Gt(t,s){const i=new y(t,s);return this.nt.append(i.rt()),this.yt.push(i),i}}class y extends B{constructor(){return super(),this.nt=I.createElementNS(f,"svg"),this}attr(...t){return this._t(...t)}get node(){return this.rt()}}class b extends B{constructor(t,s){return super(),this.nt=I.createElementNS(f,"image"),this.nt.setAttribute("width",parseInt(t)),this.nt.setAttribute("height",parseInt(s)),this}attr(...t){return this._t(...t)}}class p extends B{constructor(t){return super(),this.nt=I.createElementNS(f,"use"),this.nt.setAttribute("href","#"+t),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}}class m extends B{constructor(t){return super(),this.nt=I.createElementNS(f,"symbol"),this.nt.setAttribute("id",t),this}St(t,s){const i=new U(t,s);return this.nt.append(i.rt()),i}}class w extends B{constructor(t){return super(),this.nt=I.createElementNS(f,"text"),this.nt.append(t),this}bt(t){return this.nt.textContent=t,this}Nt(t){return this.nt.setAttribute("fill",t),this}}class S extends B{constructor(){return super(),this.nt=I.createElementNS(f,"defs"),this}jt(){const t=new x;return this.nt.append(t.rt()),t}Ht(t){return[...this.nt.querySelectorAll(t)].map(k)}St(t,s){const i=new U(t,s);return this.nt.append(i.rt()),i}}class x extends B{constructor(){return super(),this.nt=I.createElementNS(f,"clipPath"),this.nt.setAttribute("id","clipPath-"+E),E++,this}Ut(){return[...this.nt.children].map(k)}Mt(t){this.nt.appendChild(t.rt())}}class U extends B{constructor(t,s){if(super(),t instanceof C.SVGElement)return this.nt=t,this;const i=t;return this.nt=I.createElementNS(f,"rect"),this.nt.setAttribute("width",parseInt(i)),this.nt.setAttribute("height",parseInt(s)),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}Bt(t){return void 0===t?parseInt(this.nt.getAttribute("width")):(this.nt.setAttribute("width",parseInt(t)),this)}dt(t){return void 0===t?parseInt(this.nt.getAttribute("height")):(this.nt.setAttribute("height",parseInt(t)),this)}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null}}class v extends B{constructor(t,s,i,e){return super(),this.nt=I.createElementNS(f,"line"),this.nt.setAttribute("x1",t),this.nt.setAttribute("y1",s),this.nt.setAttribute("x2",i),this.nt.setAttribute("y2",e),this}}function k(t){let s;switch(t.constructor.name){case"SVGRectElement":s=new U(t);break;default:throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name)}return s}const R={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(R);const F={Pt:Symbol(),Tt:Symbol(),qt:Symbol(),zt:Symbol()};Object.freeze(F);const L={Jt:Symbol(),Vt:Symbol(),Yt:Symbol(),Kt:Symbol()};Object.freeze(L);class D{static charFromTextColour(t){if(t in M)return M[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in P)return P[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in T)return T[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function G(t){return N[t]}D.TEXT_COLOUR=F.Pt,D.MOSAIC_COLOUR=Symbol(),D.NEW_BACKGROUND=Symbol(),D.BLACK_BACKGROUND=Symbol(),D.CONTIGUOUS_GRAPHICS=F.Tt,D.SEPARATED_GRAPHICS=F.qt,D.ESC=Symbol(),D.FLASH=Symbol(),D.STEADY=Symbol(),D.NORMAL_SIZE=L.Jt,D.DOUBLE_HEIGHT=L.Vt,D.DOUBLE_WIDTH=L.Yt,D.DOUBLE_SIZE=L.Kt,D.CONCEAL=Symbol(),D.HOLD_MOSAICS=Symbol(),D.RELEASE_MOSAICS=Symbol(),D.START_BOX=Symbol(),D.END_BOX=Symbol(),D.Zt=Symbol();const N={[R.BLACK]:"#000",[R.RED]:"#f00",[R.GREEN]:"#0f0",[R.YELLOW]:"#ff0",[R.BLUE]:"#00f",[R.MAGENTA]:"#f0f",[R.CYAN]:"#0ff",[R.WHITE]:"#fff"};Object.freeze(N);const O={"\0":R.BLACK,"":R.RED,"":R.GREEN,"":R.YELLOW,"":R.BLUE,"":R.MAGENTA,"":R.CYAN,"":R.WHITE};Object.freeze(O);const j={"":R.BLACK,"":R.RED,"":R.GREEN,"":R.YELLOW,"":R.BLUE,"":R.MAGENTA,"":R.CYAN,"":R.WHITE};Object.freeze(j);const H={"\b":D.FLASH,"\t":D.STEADY,"\n":D.END_BOX,"\v":D.START_BOX,"\f":D.NORMAL_SIZE,"\r":D.DOUBLE_HEIGHT,"":D.DOUBLE_WIDTH,"":D.DOUBLE_SIZE,"":D.CONCEAL,"":D.CONTIGUOUS_GRAPHICS,"":D.SEPARATED_GRAPHICS,"":D.ESC,"":D.BLACK_BACKGROUND,"":D.NEW_BACKGROUND,"":D.HOLD_MOSAICS,"":D.RELEASE_MOSAICS},M={};for(const t in O)M[O[t]]=t,H[t]=O[t];Object.freeze(M);const P={};for(const t in j)P[j[t]]=t,H[t]=j[t];Object.freeze(P),Object.freeze(H);const T={};for(const t in H)T[H[t]]=t;Object.freeze(T);const q={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(q);const z={};z[q[0]]=[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23],z[q[1]]=[...z[q[0]]].concat([10,11,12,13,24,25,26,27,28,29,30,31]),z[q[1.5]]=[...z[q[1]]].concat([0,16]),z[q[2.5]]=[...z[q[1.5]]].concat([14,15]),Object.freeze(z);const J=10,V=10,Y={Xt:{Wt:10.4,$t:-5.2},ts:{Wt:V,$t:-4.5}};Object.freeze(Y);class K{constructor(t,s){this.ss=new d(s).ft("0 0 400 250").Ct(600,500)._t({preserveAspectRatio:"none",style:"font-family: sans-serif"}).It("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.ss.Et()._t("class","conceal_concealed flash_flashing"),this.es=1.2,this.rs(),this.ns(),this.hs=null,this._s=t,this.os=this._s.As.ls((()=>this.cs())),this.gs=!1,this.us=!1,this.fs=!1,this.Cs={}}ut(t){this.ss.ut(t)}Is(){this._s.As.Is(this.os),this.os=null}cs(){let t=!1,s=!1;this.fs=!1,this.d.At("flash_flashing"),this.Es.forEach(((i,e)=>{let r=!1;if(this.Bs(e),t)return t=!1,void this.ds(i,e);const n=this._s.Qs(e);let h,_;i.forEach(((t,i)=>{if(r)return r=!1,this.ys(t),this.bs(e),void(_&&this.ps());const o=n.ws(i),a=G(o.Ss),l=o.xs(),A=G(o.Us),c=this.vs(o.ks,l,o.et);this.Rs(t,o,c,A,i,e,l),o.Fs&&(_?this.ps():this.Ls(e,i),this.fs=!0),h==a?this.bs(e):this.Ds(e,i,a),o.Ct!=L.Yt&&o.Ct!=L.Kt||(r=!0),h=a,_=o.Fs,o.Gs&&(s=!0)})),n.Ns?(this.Os(e),this.js(),t=!0):t=!1,this.Hs(e)})),"Ms"in this.Cs&&this.Cs.Ms(this.ss.Bt(),this.ss.dt()),this.d.ot("conceal_concealed"),s&&setTimeout((()=>this.d.ot("flash_flashing")),100),this.Ps()}Bs(t){this.Ts(t),this.qs(t)}ds(t,s){"zs"in this.Cs&&this.Cs.zs(t.length,s),t.forEach((t=>this.ys(t)))}ys(t){t.bt(" ")._t({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}Rs(t,s,i,e,r,n,h){this.Js(t,s,i,e,r,n),s.ks==F.Tt&&h||s.ks==F.zt?t.ot("mosaic"):s.ks==F.qt&&h&&t.ot("mosaic_separated")}Js(t,s,i,e,r,n){t.bt(s.Vs)._t(i).Nt(e),s.Ct==L.Vt?t._t("transform",`translate(0 ${st(n)}) scale(1 2)`):s.Ct==L.Yt?t._t("transform",`translate(${it(r)} 0) scale(2 1)`):s.Ct==L.Kt&&t._t("transform",`translate(${it(r)} ${st(n)}) scale(2 2)`),s.Gs&&t.ot("flash"),s.Ys&&t.ot("conceal")}Ks(){this.d.ct("conceal_concealed")}Zs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.ss._t("style","font-family: "+s)}Xs(){this.hs?(this.hs.Rt(),this.hs=null):this.Ws()}$s(){this.us?(this.us=!1,this.ti._t("opacity",null).kt()):(this.us=!0,this.si())}ii(t){this.es=t,this.ei(this.ss.dt())}ei(t){this.ss.Ct("natural"==this.es?1.6*t:t*this.es,t)}si(){this.gs&&this.fs?this.ti._t("opacity",.3):this.fs?this.ti.vt(this.ri)._t("opacity",.3):this.ti._t("opacity",0)}Ps(){this.us&&this.si()}ni(){this.gs?(this.d.kt(),this.gs=!1):(this.d.vt(this.ri),this.gs=!0),this.Ps()}Ws(){this.hs=this.d.Et();for(let t=0;t<25;t++)this.hs.Ft(0,t*J,399,t*J)._t({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this.hs.Ft(t*V,0,t*V,249)._t({stroke:"#555","stroke-width":.5})}ns(){this.hi=this.d.wt(),this._i=null,this.ri=this.hi.jt()}rs(){this.oi(),this.ai()}oi(){const t=this.d.Et();t._t({"shape-rendering":"crispEdges",id:"background"}),this.li=[],this.ti=t}ai(){const t=[],s=this.d.Et()._t({"text-anchor":"middle",fill:"#fff"})._t("id","textlayer");for(let i=0;i<25;i++){const e=[];for(let t=0;t<40;t++)e.push(s.bt(String.fromCharCode(32+95*Math.random()))._t({x:t*V+5,y:i*J+8}));t.push(e)}this.Es=t,this.Ai=s}qs(t){this.ri.Ut().filter((s=>s.gt("r")==t)).forEach((t=>t.Rt()))}Ts(t){this.li[t]&&this.li[t].Rt(),this.li[t]=this.ti.Et()}bs(t){const s=this.li[t].xt(),i=s.Bt();s.Bt(i+V)}Ds(t,s,i){const e=s*V,r=t*J;this.li[t].St(V,J).Nt(i).Ot(e,r)}ps(){const t=this._i.Bt();this._i.Bt(t+V)}Os(t){this.li[t].Ut().forEach((t=>t._t("height",20)))}js(){this.hi.Ht("[data-boxbuffer]").forEach((t=>t.dt(20)))}Ls(t,s){const i=s*V,e=t*J;this._i=this.hi.St(V,J).gt("boxbuffer",!0).Ot(i,e)}Hs(t){this.hi.Ht("[data-boxbuffer]").forEach((s=>{s.gt({r:t,boxbuffer:null}),this.ri.Mt(s)}))}vs(t,s,i){return t==F.Tt&&s||t==F.zt?{dx:Y.Xt.$t,dy:-.15,textLength:Y.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==F.qt&&s?{dx:Y.ts.$t,dy:null,textLength:Y.ts.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?V:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.Cs.ci=s.renderBackground),"renderMosaic"in s&&(this.Cs.gi=s.renderMosaic),"endOfPageUpdate"in s&&(this.Cs.Ms=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.Cs.zs=s.clearCellsForRow),{lookupColour:Z,isDoubleHeight:X,isDoubleWidth:W,isDoubleSize:$,isSeparatedMosaic:tt,createImageOverlay:this.ui.bind(this),createSVGOverlay:this.fi.bind(this)}}ui(){const t=this.d.Dt(400,250);return t._t("preserveAspectRatio","none"),t}fi(){const t=this.d.Gt();return t._t("preserveAspectRatio","none"),t}}K.Ci=V,K.Ii=J,K.Ei=20,K.Bi=20,K.di=400,K.Qi=250,K.yi=Y,K.ROWS=25,K.COLS=40;const Z=t=>G(t),X=t=>t==L.Vt,W=t=>t==L.Yt,$=t=>t==L.Kt,tt=t=>t==F.qt,st=t=>0-t*J,it=t=>0-t*V,et={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"µ",6:"¶",7:"·",8:"÷",9:"’","!":"¡",'"':"¢","#":"£","%":"¥","&":"#","'":"§","(":"¤",")":"‘","*":"“","+":"«",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"»","<":"¼","=":"½",">":"¾","?":"¿","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"—",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"α",Y:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",A:"Α",B:"Β",C:"Γ",D:"Δ",E:"Ε",F:"Ζ",G:"Η",H:"Θ",I:"Ι",J:"Κ",K:"Λ",L:"Μ",M:"Ν",N:"Ξ",O:"Ο",P:"Π",Q:"Ρ",R:"ʹ",S:"Σ",T:"Τ",U:"Υ",V:"Φ",W:"Χ",X:"Ψ",Y:"Ω",Z:"Ϊ","[":"Ϋ","\\":"ά","]":"έ","^":"ή",_:"ί","`":"ΰ",a:"α",b:"β",c:"γ",d:"δ",e:"ε",f:"ζ",g:"η",h:"θ",i:"ι",j:"κ",k:"λ",l:"μ",m:"ν",n:"ξ",o:"ο",p:"π",q:"ρ",r:"ς",s:"σ",t:"τ",u:"υ",v:"φ",w:"χ",x:"ψ",y:"ω",z:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"ɑ",Y:"Ί",Z:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",Z:"З","[":"Ш","]":"Щ","^":"Ч","`":"ю",a:"а",b:"б",c:"ц",d:"д",e:"е",f:"ф",g:"г",h:"х",i:"и",j:"ѝ",k:"к",l:"л",m:"м",n:"н",o:"о",p:"п",q:"я",r:"р",s:"с",t:"т",u:"у",v:"ж",w:"в",x:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"©",R:"®",S:"¹",T:"ɑ",U:"Ί",V:"Ύ",W:"Ώ",X:"‰",Y:"₠",Z:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",A:"ﺀ",B:"ﺒ",C:"ﺏ",D:"ﺘ",E:"ﺕ",F:"ﺎ",G:"ﺍ",H:"ﺑ",I:"ﺓ",J:"ﺗ",K:"ﺛ",L:"ﺟ",M:"ﺣ",N:"ﺧ",O:"ﺩ",P:"ﺫ",Q:"ﺭ",R:"ﺯ",S:"ﺳ",T:"ﺷ",U:"ﺻ",V:"ﺿ",W:"ﻃ",X:"ﻇ",Y:"ﻋ",Z:"ﻏ","[":"ﺜ","\\":"ﺠ","]":"ﺤ","^":"ﺨ",_:"#","`":"ـ",a:"ﻓ",b:"ﻗ",c:"ﻛ",d:"ﻟ",e:"ﻣ",f:"ﻧ",g:"ﻫ",h:"ﻭ",i:"ﻰ",j:"ﻳ",k:"ﺙ",l:"ﺝ",m:"ﺡ",n:"ﺥ",o:"ﻴ",p:"ﻯ",q:"ﻌ",r:"ﻐ",s:"ﻔ",t:"ﻑ",u:"ﻘ",v:"ﻕ",w:"ﻙ",x:"ﻠ",y:"ﻝ",z:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",a:"ב",b:"ג",c:"ד",d:"ה",e:"ו",f:"ז",g:"ח",h:"ט",i:"י",j:"ך",k:"כ",l:"ל",m:"ם",n:"מ",o:"ן",p:"נ",q:"ס",r:"ע",s:"ף",t:"פ",u:"ץ",v:"צ",w:"ק",x:"ר",y:"ש",z:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{0:"🬏",1:"🬐",2:"🬑",3:"🬒",4:"🬓",5:"▌",6:"🬔",7:"🬕",8:"🬖",9:"🬗"," ":" ","!":"🬀",'"':"🬁","#":"🬂",$:"🬃","%":"🬄","&":"🬅","'":"🬆","(":"🬇",")":"🬈","*":"🬉","+":"🬊",",":"🬋","-":"🬌",".":"🬍","/":"🬎",":":"🬘",";":"🬙","<":"🬚","=":"🬛",">":"🬜","?":"🬝","`":"🬞",a:"🬟",b:"🬠",c:"🬡",d:"🬢",e:"🬣",f:"🬤",g:"🬥",h:"🬦",i:"🬧",j:"▐",k:"🬨",l:"🬩",m:"🬪",n:"🬫",o:"🬬",p:"🬭",q:"🬮",r:"🬯",s:"🬰",t:"🬱",u:"🬲",v:"🬳",w:"🬴",x:"🬵",y:"🬶",z:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{0:"",1:"",2:"",3:"",4:"",5:"",6:"",7:"",8:"",9:""," ":" ","!":"",'"':"","#":"",$:"","%":"","&":"","'":"","(":"",")":"","*":"","+":"",",":"","-":"",".":"","/":"",":":"",";":"","<":"","=":"",">":"","?":"","`":"",a:"",b:"",c:"",d:"",e:"",f:"",g:"",h:"",i:"",j:"",k:"",l:"",m:"",n:"",o:"",p:"",q:"",r:"",s:"",t:"",u:"",v:"",w:"",x:"",y:"",z:"","{":"","|":"","}":"","~":"","":""},g3:{0:"🭇",1:"🭈",2:"🭉",3:"🭊",4:"🭋",5:"◢",6:"🭌",7:"🭍",8:"🭎",9:"🭏"," ":"🬼","!":"🬽",'"':"🬾","#":"🬿",$:"🭀","%":"◣","&":"🭁","'":"🭂","(":"🭃",")":"🭄","*":"🭅","+":"🭆",",":"🭨","-":"🭩",".":"🭰","/":"▒",":":"🭐",";":"🭑","<":"🭪","=":"🭫",">":"🭵","?":"█","@":"┷",A:"┯",B:"┝",C:"┥",D:"🮤",E:"🮥",F:"🮦",G:"🮧",H:"🮠",I:"🮡",J:"🮢",K:"🮣",L:"┿",M:"•",N:"●",O:"○",P:"│",Q:"─",R:"┌",S:"┐",T:"└",U:"┘",V:"├",W:"┤",X:"┬",Y:"┴",Z:"┼","[":"→","\\":"←","]":"↑","^":"↓",_:" ","`":"🭒",a:"🭓",b:"🭔",c:"🭕",d:"🭖",e:"◥",f:"🭗",g:"🭘",h:"🭙",i:"🭚",j:"🭛",k:"🭜",l:"🭬",m:"🭭",n:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},rt={};class nt{constructor(t){this.type=t.ks,this.flashing=t.Gs,this.concealed=t.Ys,this.size=t.Ct,this.sextants=t.bi()}}class ht{constructor(){this.pi=" ",this.mi=" ",this.wi=R.WHITE,this.Si=R.BLACK,this.xi=F.Pt,this.Ui=!1,this.vi=L.Jt,this.ki=!1,this.Ri=!1,this.Fi=null,this.Li=!1,this.Di=null,this.Gi=null}set Ni(t){this.pi=t}get Ni(){return this.pi}set Us(t){this.wi=t}get Us(){return this.wi}set Ss(t){this.Si=t}get Ss(){return this.Si}get et(){return this.Li}Oi(t){const s=this.xi==F.Tt||this.xi==F.qt;this.xi==F.Pt||0==(32&this.pi.charCodeAt(0))&&s?(this.mi=ot(this.pi,t),this.Di>0&&(this.mi+=et.g2_latin[String.fromCharCode(this.Di+64)]),this.Li=!1,"g0_arabic"!=t&&"g2_arabic"!=t||(this.Li=A.et(this.mi))):this.xi==F.Tt?this.mi=ot(this.pi,"g1_block_mosaic_to_unicode__legacy_computing"):this.xi==F.qt?this.mi=ot(this.pi,"g1_block_mosaic_to_unicode__unscii_separated"):this.xi==F.zt&&(this.mi=ot(this.pi,"g3")),this.Fi=null}ji(t){if(this.xi!=F.Tt&&this.xi!=F.qt||!t.Hi)this.Fi=null,this.mi=" ";else{this.Fi=t.Vs,this.xi=t.ks;let s="g1_block_mosaic_to_unicode__legacy_computing";this.xi==F.qt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.mi=ot(t.Vs,s)}}get Vs(){return this.mi}get ks(){return this.xi}set ks(t){this.xi=t}set Gs(t){this.Ui=t}get Gs(){return this.Ui}get Ct(){return this.vi}set Ct(t){this.vi=t}set Ys(t){this.ki=t}get Ys(){return this.ki}set Fs(t){this.Ri=t}get Fs(){return this.Ri}xs(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.pi.charCodeAt(0);return t<=127&&32==(32&t)}Mi(){const t=this.pi.charCodeAt(0);return(this.xi==F.Tt||this.xi==F.qt)&&t<=127&&32==(32&t)}bi(){const t=null!=this.Fi?this.Fi.charCodeAt(0):this.pi.charCodeAt(0);if(t>127)return null;if(t in rt)return rt[t];let s=t-32;return s>=64&&(s-=32),rt[t]=[...s.toString(2).padStart(6,"0")].reverse(),rt[t]}}class _t extends ht{constructor(t){super(),Object.assign(this,t)}set Pi(t){this.Di=t}get Pi(){return this.Di}set Ti(t){this.Gi=t}get Vs(){return null==this.Gi?this.mi:this.Gi}}function ot(t,s){if(!(s in et))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in et[s])return et[s][t];const i=s.match(/^(.+)__/);if(null!=i){const e=i[1];if(t in et[e])return et[s][t]=et[e][t],et[e][t]}return t}class at extends K{constructor(t,s,i){super(t,i),this.qi=s,this.zi=new Set}rs(){super.rs(),this.Ji=[],this.Vi=this.d.Et()}Bs(t){super.Bs(t),this.Yi(t)}Rs(t,s,i,e,r,n,h){"ci"in this.Cs&&this.Cs.ci(n,r,s.Ct,s.Ss),s.ks!=F.Pt&&s.ks!=F.zt&&h?h&&(t.bt(" ")._t(i),this.Ki(n,r,s,e)):(this.Js(t,s,i,e,r,n),s.ks==F.zt&&t.ot("mosaic"))}Ki(t,s,i,e){if("gi"in this.Cs){const r=new nt(i);if(this.Cs.gi(t,s,r,e))return}const r=i.bi();if(!r.includes("1"))return;let n=i.ks==F.Tt?"c":"s";n+=r.join("");let h,_=K.Ci,o=K.Ii;if(i.ks==F.Tt&&(_=K.Ci+.3,o=K.Ii+.2),!this.zi.has(n)){this.zi.add(n);const t=this.ss.Qt(n);if(i.ks==F.Tt){t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(6,6).Ot(s%2*6,6*Math.floor(s/2))}else{t._t({preserveAspectRatio:"none",width:_,height:o,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(4,4).Ot(s%2*6+1,6*Math.floor(s/2)+2)}}h=i.ks==F.Tt?this.Ji[t].Lt(n).Ot(s*K.Ci-.15,t*K.Ii-.1).Nt(e):this.Ji[t].Lt(n).Ot(s*K.Ci,t*K.Ii).Nt(e),this.qi&&h._t({width:_,height:o}),i.Ct!=L.Vt&&i.Ct!=L.Kt||h._t("height",K.Bi),i.Ct!=L.Yt&&i.Ct!=L.Kt||h._t("width",K.Ei),i.Gs&&h.ot("flash"),i.Ys&&h.ot("conceal")}Yi(t){this.Ji[t]&&this.Ji[t].Rt(),this.Ji[t]=this.Vi.Et()}vs(t,s,i){return t==F.zt?{dx:K.yi.Xt.$t,dy:-.15,textLength:K.yi.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:i?K.Ci:null,lengthAdjust:i?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class lt{constructor(t){this._s=t,this.Zi=0,this.Xi=0,this.Wi=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Zi=t,this.Xi=s),this}putG0(t,s){let i=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(i=t)}const e=t.charCodeAt(0);return e<32||e>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g0",Vs:t,Pi:i}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g1",Vs:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g2",Vs:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.Wi.push({$i:this.Zi,te:this.Xi,ks:"g3",Vs:t}),this}putAt(){return this.Wi.push({$i:this.Zi,te:this.Xi,ks:"char",Vs:"@"}),this}end(){return this._s.se(this.Wi),this._s.ie(),this}}class At extends K{}const ct=["SPLASH","ENGINEERING","ADVERT","UK"];class gt{constructor(t,s){if(this.ee=null,"object"==typeof window&&(this.ee=window),this.re={ne:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this.re.ne=!1),"dom"in s&&(this.ee=s.dom)),null==this.ee)throw Error("TeletextController E24: No window dom object available");this.he=new at(t,this.re.ne,this.ee),this._s=t,this._e=1,this.oe=0,this.ae(),this.le=null,this.Ae=null,this.ce=0,this.ge=0,this.ue=null}setRowFromOutputLine(t,s){const i=A.st(s);this._s.fe(t,i)}setRow(t,s){this._s.fe(t,s)}setPageFromOutputLines(t,s){const i=A.it(t);void 0!==s&&(i[0]=this.Ce(s)),this.setPageRows(i)}setPageRows(t){this._s.Ie(),this._s.Ee(t)}Ce(t){return(t=A.st(t)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(u[ct[this.oe]]),this.oe++,4==this.oe&&(this.oe=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(t,s){const i=A.tt(t,this.ee.atob);void 0!==s&&(i[0]=this.Ce(s)),this.setPageRows(i)}ae(){this.ee.addEventListener("ttx.reveal",(()=>this.he.Ks())),this.ee.addEventListener("ttx.mix",(()=>this.he.$s())),this.ee.addEventListener("ttx.subtitlemode",(()=>this.he.ni()))}toggleReveal(){this.he.Ks()}toggleMixMode(){this.he.$s()}toggleBoxMode(){this.he.ni()}toggleGrid(){this.he.Xs()}setLevel(t){this._s.Be(t)}addTo(t){this.de=t,this.he.ut(t)}setFont(t){this.ue=t,this.he.Zs(t)}clearScreen(t){this._s.Ie(),this._s.Qe(t)}setAspectRatio(t){if("natural"==t)return void this.he.ii(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this.he.ii(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this.he.ei(s),this.Ae=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this._s.ye(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this._s.be(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this._s.pe(t,s)}remove(){if(this.he.Is(),this.de){const t=document.querySelector(this.de);t&&t.removeChild(t.firstChild)}this.he=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this.he=new At(this._s,this.ee);break;case"classic__graphic-for-mosaic":this.he=new at(this._s,this.re.ne,this.ee);break;default:throw Error("setView E126: bad view name:"+t)}this.Ae&&this.he.ei(this.Ae),this.ue&&this.he.Zs(this.ue),this.de&&this.he.ut(this.de),this._s.ie()}registerViewPlugin(t){t.registerWithView(this.he),this._s.ie()}enhance(){return new lt(this._s)}}class ut{constructor(t){this.me=t,this.we=[]}ls(t){return this.we.push(t),this.we.length-1}ie(t){this.we.forEach((s=>null!=s&&s(this.me,t)))}Is(t){this.we[t]=null}}class ft{constructor(){this.Se=!1,this.xe=[]}get Ns(){return this.Se}set Ns(t){this.Se=t}Ue(t){this.xe.push(t)}ws(t){if(t>=this.xe.length)throw Error("RowModel.getCell E20 bad cell index");return this.xe[t]}}const Ct=25,It=[q[1.5],q[2.5]],Et=new class{constructor(){this.ve=[];for(let t=0;t<Ct;t++){const t=[];for(let s=0;s<40;s++)t.push(new ht);this.ve.push(t)}this.ke="g0_latin",this.Re=null,this.Fe="g2_latin",this.Le=D.charFromAttribute(D.START_BOX),this.De=q[1],this.Ge=[],this.As=new ut(this)}ie(){this.As.ie()}fe(t,s){if(t>=Ct)throw Error("PageModel E29 bad row number");this.Ne(t,s),this.As.ie()}Ee(t){(t=t.slice(0,Ct)).forEach(((t,s)=>{this.Ne(s,t)})),this.As.ie()}Ne(t,s){let i=[...s];if(i=i.slice(0,40),i.forEach(((s,i)=>{const e=s.charCodeAt(0);if(Number.isNaN(e)||e>127)throw Error(`PageModel E51 failed to write row: bad character code (${e}) at row ${t} col ${i}`);this.ve[t][i].Ni=s})),i.length<40)for(let s=i.length;s<40;s++)this.ve[t][s].Ni=" "}Be(t){this.De=t,this.As.ie()}Qe(t){if(void 0===t||t){const t=[];for(let s=0;s<Ct;s++)t.push("");this.Ee(t)}else for(let t=0;t<Ct;t++)this.Ne(t,"")}ye(t,s){this.ke=t;const i=t.match(/^g0_([a-z]+)/);if(null!=i){const t="g2_"+i[1];t in et?this.Fe=t:"hebrew"==i[1]&&(this.Fe="g2_arabic")}s&&this.As.ie()}be(t,s){this.Re=t,s&&this.As.ie()}pe(t,s){this.Fe=t,s&&this.As.ie()}Qs(t){if(t>=Ct)throw Error("PageModel.getRow E42 bad rowNum");const s=new ft;let i,e,r=F.Pt,n=R.WHITE,h=!1,_=L.Jt,o=!1,a=!1,l=!1,A=!1,c=R.BLACK,g=F.Tt,u={Hi:!1,Vs:" ",ks:F.Tt},f=[];return It.includes(this.De)&&(f=this.Ge.filter((s=>s.te==t))),this.ve[t].forEach(((C,I)=>{const E=C.Ni,B=((t,s)=>{let i=null,e=null;return s in H&&z[this.De].includes(s.charCodeAt(0))?s in O?(i=D.TEXT_COLOUR,e=H[s]):s in j?(i=D.MOSAIC_COLOUR,e=H[s]):i=H[s]:s.charCodeAt(0)<=31&&(i=D.Zt),{Oe:i,je:e}})(0,E);switch(i=n,C.ks=r,C.Fs=A,e=o,B.Oe!=D.STEADY&&(C.Gs=h),B.Oe!=D.NORMAL_SIZE&&(C.Ct=_),B.Oe!=D.CONCEAL&&(C.Ys=a),l&&(B.Oe!=D.HOLD_MOSAICS&&(u.Hi=!1,u.Vs=" "),l=!1),B.Oe){case D.TEXT_COLOUR:r=F.Pt,n=B.je,a=!1,C.ji(u);break;case D.MOSAIC_COLOUR:r=g,n=B.je,a=!1,C.ji(u);break;case D.NEW_BACKGROUND:c=i,C.ji(u);break;case D.BLACK_BACKGROUND:c=R.BLACK,C.ji(u);break;case D.CONTIGUOUS_GRAPHICS:g=F.Tt,C.ks==F.qt&&(C.ks=F.Tt),r==F.qt&&(r=F.Tt),C.ji(u);break;case D.SEPARATED_GRAPHICS:g=F.qt,C.ks==F.Tt&&(C.ks=F.qt),r==F.Tt&&(r=F.qt),C.ji(u);break;case D.ESC:this.Re&&(o=!e),C.ji(u);break;case D.FLASH:h=!0,C.ji(u);break;case D.STEADY:C.Gs=!1,h=!1,C.ji(u);break;case D.NORMAL_SIZE:C.Ct=L.Jt,_=L.Jt,C.ji(u);break;case D.DOUBLE_HEIGHT:_=L.Vt,s.Ns=!0,C.ji(u);break;case D.DOUBLE_WIDTH:_=L.Yt,C.ji(u);break;case D.DOUBLE_SIZE:_=L.Kt,s.Ns=!0,C.ji(u);break;case D.CONCEAL:C.Ys=!0,a=!0,C.ji(u);break;case D.HOLD_MOSAICS:u.Hi=!0,C.ji(u);break;case D.RELEASE_MOSAICS:l=!0,C.ji(u);break;case D.START_BOX:I>=1&&this.ve[t][I-1].Ni==this.Le&&(C.Fs=!0,A=!0),C.ji(u);break;case D.END_BOX:A=!1,C.ji(u);break;case D.Zt:C.ji(u);break;default:C.Oi(e?this.Re:this.ke),C.Mi()&&(u.Vs=E,u.ks=C.ks)}C.Us=i,C.Ss=c,f.filter((t=>t.$i==I)).forEach((t=>{const s=new _t(C);C=s,"g0"==t.ks?(C.Ni=t.Vs,C.Pi=t.Pi,C.ks=F.Pt,C.Oi(e?this.Re:this.ke)):"g1"==t.ks?this.De==q[2.5]&&(C.Ni=t.Vs,C.ks=g,C.Oi()):"g2"==t.ks?(C.Ni=t.Vs,C.ks=F.Pt,C.Oi(this.Fe)):"g3"==t.ks?(this.De!=q[1.5]||-1!="Q[\\]".indexOf(t.Vs))&&(C.Ni=t.Vs,C.ks=F.zt,C.Oi()):"char"==t.ks&&(C.Ti=t.Vs,C.ks=F.Pt)})),s.Ue(C)})),s}se(t){this.Ge=t}Ie(){this.Ge=[]}};t.Attributes=D,t.Colour=R,t.Level=q,t.Teletext=t=>new gt(Et,t),Object.defineProperty(t,"He",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).ttx={});//# sourceMappingURL=teletext.umd.min.js.map | ||
var t,s;t=this,s=function(t){"use strict";const s=new Set(["Uint1Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","UInt32Array","Float32Array","Float64Array"]),e=Uint8Array,i=Symbol();class r{constructor(t,{length:s=null,buffer:i=null,byteOffset:r=0,byteLength:n=null}={}){let h;i?s=8*(n||i.byteLength):s||(s=0);const o=e.BYTES_PER_ELEMENT,_=8*o,a=_-1,l=(t=>{let s=0;for(;t>>=1;)s++;return s})(_),A=Math.max(1,s+a>>l);i?h=new e(i,r,A):(i=new ArrayBuffer(o*A),h=new e(i)),Object.assign(this,{buffer:i,byteOffset:r,length:s,wordSize:_,wordCount:A,wordSizeMask:a,wordSizeShift:l,internal:h})}toArray(){const t=new Uint8Array(this.length);for(let s=0;s<this.wordCount;s++){const e=this.internal[s];for(let i=s*this.wordSize;i<(s+1)*this.wordSize;i++)t[i]=this.getBit(i,e)}return t}getBit(t,s){if(!(t>=this.length))return null==s&&(s=this.internal[t>>this.wordSizeShift]),s>>(t&this.wordSizeMask)&1}setBit(t,s){if(t>=this.length)return;const e=t>>this.wordSizeShift,i=t&this.wordSizeMask,r=this.internal[e];let n=r;return n|=s<<i,n&=~((1&~s)<<i),r!==n&&(this.internal[e]=n),s}}class n{constructor(t,s=0,e=null){let n,o,A;switch(l(t)){case"Number":n=t=~~t,o=new r(this,{length:n});break;case"ArrayBuffer":o=new r(this,{buffer:t,byteOffset:s,byteLength:e});break;case"Undefined":case"Null":case"RegExp":case"Infinity":n=0,o=new r(this,{length:n});break;case"Array":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"UInt32Array":case"Float32Array":case"Float64Array":case"Uint1Array":case"Object":default:A=_(t),o=new r(this,{length:A.length}),A.forEach(((t,s)=>o.setBit(s,a(t))))}return this[i]=o,new h(this)}static get BYTES_PER_ELEMENT(){return.125}static get name(){return"Uint1Array"}static get length(){return 0}static get[Symbol.species](){return this}static[Symbol.hasInstance](t){return t.__proto__=this}static from(t){const s=_(t);return new n(s)}static of(...t){return n.from(t)}get buffer(){return this[i].buffer}get byteLength(){return this.length+7>>3}get byteOffset(){return this[i].byteOffset}get length(){return this[i].length}get[Symbol.toStringTag](){return"Uint1Array"}copyWithin(t,s=0,e=this.length){if(!Number.isInteger(t))return this;const i=new Uint8Array(e-s);for(let t=s;t<e;t++)i[t-s]=this[t];return this.set(i,t),this}entries(){return this[i].toArray().entries()}every(...t){return this[i].toArray().every(...t)}fill(t,s=0,e=this.length){for(let i=s;i<e;i++)this[i]=t;return this}filter(...t){return new n(this[i].toArray().filter(...t))}find(...t){return this[i].toArray().find(...t)}findIndex(...t){return this[i].toArray().findIndex(...t)}forEach(...t){this[i].toArray().forEach(...t)}includes(...t){return this[i].toArray().includes(...t)}indexOf(...t){return this[i].toArray().indexOf(...t)}join(...t){return this[i].toArray().join(...t)}keys(...t){return this[i].toArray().keys(...t)}lastIndexOf(...t){return this[i].toArray().lastIndexOf(...t)}map(...t){return new n(this[i].toArray().map(...t))}reduce(...t){return this[i].toArray().reduce(...t)}reduceRight(...t){return this[i].toArray().reduceRight(...t)}reverse(){const t=this[i].toArray().reverse();return this.set(t),this}set(t,e=0){if(!Number.isInteger(e))return;const i=l(t);if("Array"!==i&&!s.has(i))return;const r=Math.min(t.length+e,this.length);t=t.map((t=>a(t)));for(let s=e;s<r;s++)this[s]=t[s-e]}slice(...t){return new n(this[i].toArray().slice(...t))}sort(...t){const s=this[i].toArray().sort(...t);return this.set(s),this}subarray(...t){return new n(this[i].toArray().subarray(...t))}values(...t){return this[i].toArray().values(...t)}toLocaleString(...t){return Array.from(this).toLocaleString()}toString(){return""+Array.from(this)}[Symbol.iterator](){return this[i].toArray()[Symbol.iterator]()}valueOf(){return this}toJSON(){return Array.from(this)}}function h(t){const s=t[i];return new Proxy(t,{get(e,i,r){const n="string"==typeof i?parseInt(i):i;return Number.isInteger(n)?s.getBit(n):Reflect.get(t,i)},set(e,i,r,n){const h="string"==typeof i?parseInt(i):i;return Number.isInteger(h)?(s.setBit(h,a(r)),!0):Reflect.set(t,i,r)}})}const o=/\[object (\w+)]/;function _(t){const s=[];for(let e of t){const t=a(e);s.push(t)}return s}function a(t){return"number"!=typeof t||Number.isNaN(t)?new Boolean(t).valueOf():t%2}function l(t){const s=t&&t.constructor?t.constructor.name:null,e=o.exec(Object.prototype.toString.call(t))[1];return e!==s&&s?s:e}class A{static tt(t,s){const e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw Error("Utils.decodeBase64URLEncoded E16: Input base64url string is the wrong length to determine padding");t+=Array(5-e).join("=")}const i=[...s(t)].map((t=>g(t))),r=new ArrayBuffer(i.length);return new Uint8Array(r).set(i),(t=>{const s=[];for(let e=0;e<25;e++){const i=[];for(let s=0;s<40;s++){let r=6,n=0;const h=280*e+7*s;for(let s=h;s<h+7;s++)n+=t[s]*Math.pow(2,r),r--;i.push(String.fromCharCode(n))}s.push(i.join(""))}return s})(new n(r))}static st(t){const s=[];let e=!1;for(const i of[...t]){const t=i.charCodeAt(0);27==t?e=!0:t>=128&&t<=159?(s.push(String.fromCharCode(t-128)),e=!1):t>=160?(s.push(""),e=!1):e?(s.push(String.fromCharCode(t-64)),e=!1):s.push(i)}return s}static et(t){const s=[],e=/^OL,(\d{1,2}),(.*)/;for(const i of[...t]){const t=i.match(e);null!=t&&(s[t[1]]=A.st(t[2]))}return s}static it(t){return-1!="ﻰﺋﺊﭼﭽﭘﭙﮔﻎﻼﻬﻪﻊﺔﺒﺘﺎﺑﺗﺛﺟﺣﺧﺳﺷﺻﺿﻃﻇﻋﻏﺜﺠﺤﺨـﻓﻗﻛﻟﻣﻧﻫﻰﻳﻴﻌﻐﻔﻘﻠﻤﻨ".indexOf(t)}}const c={};function g(t){if(t in c)return c[t];const s=[...t.charCodeAt(0).toString(2).padStart(8,"0")].reverse();return c[t]=Number.parseInt(s.join(""),2),c[t]}const u={ENGINEERING:"QIECBAgQIIcWLGg2EDdy3QIKnXKgYtUE7f2QA2TB0wYr2DECAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYMS54fzJmix4-YCDToOLOjyZ0WLSkzo6AkcGHuZUcRHlB4dgyAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAQAEABAAWDP9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YNCho9zImSoAqBGoAp0FUy8-iChhz5UCA4MPEuZYgTAFyAFg1_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2DYCAAoACACeQHkBdYTJlixIkSKlSJEoUKIEBQABAAQAEABYN_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39g4AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGDn9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_YsAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIBix_f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f2LICAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAYs_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_39i0AgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgAIACAAgGLX9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9__f_3_9_Ytq-jT0yg7OXZs39w0Pzh3Ao_LLl3BZuHPl3dMIGllyBIWzrlLmkKJGTSJUycsoUqlZJYtXLzLBiyZlWjVs3IuHLp2UePXz9AgQokaBIlTJ0ChSqVoFi1cvQMGLJmgaNWzdA4cunaB49fP0ECDChoIkWNHQSJMqWgmTZ09BQo0qaCpVrV0FizatoLl29fQYMOLGgyZc2dBo06taDZt3b0HDjy5oOnXt3QePPr2g-ff38pgw4sZHJlzZyujTq1ktm3dvNcOPLmW6de3cn48-vZf59_fwZiHv3Y8uHYIjbMPPQDVCxcLf4E0-mXDk8mI-_dlFCn5a9_DKr6q-qvqr6q-qvqr6AFS390DJoGQKr6q-qvqr6q-qvqr6o",ADVERT:"QIECBAgQIJ9KDDmRUDZi3QU8PRk1QQeHIHDaIEDJiwYumDACdDwcnbLy6aeeXbl3dECBAgQIECBAgQIECBAgQIHwZkvcoCx0og8LNGjYwQPEjzpoWaNjBA82YHnTQwabEjTpowPEiBAgLHSiBbs1atjFA9SPe2pZqQNUHX1qQatSlrqQNW-5UsaIECAsdKIFidUqQJUCVAlVKlipchQJUCJanVIEqpAlSqlC5CgQIEB0ogQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQHSKBAgQYEH7ogQaGCApw_fEm54R3PCm5JuSKHoFUEVIECAudIoECBB6-___TB-_v0JTU_WqkZHFyQKHmjYgYBECpAqQIC50igQIEH___3_-iD__6FFSAig-IP6JCg26lzRr3avEgFUgLnSKBAg1f1X9lv_9NSBAgI6G-HX1V_EqBUqQJUqXBzagVSAudIoECD9_Qa2qL__6IMDzoq682qdAgQIEARAgQIECBAgVIC50igQIP_9AiaoFX__0VfV_1kjQIECBAgQBECBAgAoECpAgLnSKBBq__0CBCgQa___oreokCBAgQIECBAgQBECBAgVIECAudIoEHr__QIECBAg3_36FAgQIECBAgQIECAIgQIFSBAgQIAZ0igQf_7dAgKIECAinKf9bTR9QIv-N6i_ofzNagQIECBAgJnSKDR__tUBRAoe6NiBB_XYf_rqg_q2iD-gRb-iBAgQIECAmdIoNX_-1QFECDrq9IMH9h664P_D-w34P7DZ4ToECBAgQICZ0ig___5TQ8SfEHzQ82MPCzpoedEHzA82MPjDQ0-LNDSk0JnSOD___lNXVh_Qf9T3cx_oP-prqa_1S3Y0_q_zX-s1NdTUmdI6v_9-U1NUH9B_1NdTX-g_6mvpL_wMNTX-g1Nf6DAz1tSZ0j-_v0JREjQokaFEhRIUSNCiRoUCNAjRoEaBEhRo0CNGgBnSP9OgQFECCNPpIIVKfDkVaUWmggzoiCFPny5M6PTQIECAGdIjUAGlJnR0DBu5coGrFm0YMEE-kgpxYqChBjxUDNuwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy92np007s6AFSy9tOXvzQA7O_ryQTd-7L5DQVtpBJ3ZMvg",UK:"QIECBAgQIIcWLGg2EDFy2QIJu_cgZNUETLjQA2TN0xYr2DAodJIECBAgQIEGDB4_PUCBAgQIECBAgQIECBAgQIEANkvaMih0kgQIECDA1Qfv__OgQYGCBAgQIECBAgQIECBAgQIECBAgKHSSBAgQIH6FR-__-v7___oECBAgQIEAORPmxUE6LXpoECAodJIECBAoQKum7______9-gQIECBAgQA82_Zs39-aB8-QIAh0kgQIECBAgSev_____v06BAgQIECBAgQIECBAgQIECBAgKHSSBAgQIECBR00____-_w9GCBAgQIECBAgQIECBAgQIECAodJIECBAgQIECD8rx________ECBAgQIECBAgQIECBAgQICh0kgQIECBAgQLETRlv_______6oECBAgQIECBAgQIECBAgKHSyBAgQIHGQlwYIEH_-_x_____9-dECBAgQIECBAgQIECAIdLIECDAmJbfz_-0RJ0qBV________7sECBAgQIECBAgQIAh0sgQIMzAl-__fX5Sg0JECvX______586IECBAgQIECBAgCHSyBAgwJiW9OjX_0qBAgQIEX________-l8fPjBAgQIECAIdLIEHBYhQIECBQxQICWDhg5fv____________tUCBAgQIAh0sgzIECBAgQIEGlAgQEtP_______________-lQIECBAgCHSyBUwQIECBAgQakCBASQqv_____________-6FAgQIECAIdLIECJygQIECBAgaoEBJBg______________5-OiBAgQIAh0sgQKGKBAgQIEHBKgJIMH7____8v__________QoECBAgCHSyBRmQIECBA4RoECAkgVoVaNel________r16FAgQIECAIdLINCFAgwOEyBAgQICSBAgQePn7___r06RAgQIECBAgQIAh0sgQLeKxCgQIECBAgJIECDR__v0aNGhQIECBAgQIECBAgCHSSBAgQIECBAgQIECBAgQYP3_-1QIECBAgQIECBAgQIECAIdJIECBAgQIECBAgQIECBB6boUSBAgQIECBAgQIECBAgQIAh0kgQIECBAgQIECBAgQIFStAgQIECBAgQIECBAgQIECBAgAzsvjognZe_MFIy4cmzTuy8wdTfwQU-G_l0DVKy-lhyad6A",SPLASH:"QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECAsaMIEGDx8YIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQICxowg0N2bdmgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgLGjCBFvz9_6BAZQIECBAgQIECAig0NECBAgQIECBAgQIECAsaMcOD5tjyoGCBAgQIECBAgQICLhCgQIECBAgQIECBAgQICxowoTod79ArSEcHBAgQIECBAg0ITKBAgQcGCBAgQIECBAgLGjCBBgXIUCAyRXmlLBAgQIECBuZ4fPn___aoECBAgQIECBAaQIECBAgQIEBFAgQaTPDh8-f___-vXo9f9qgQIECBAgQIECBAgQIEBFAgQcOHz5____69ejRoECBAg__0CBAgQIECBAgQIECBAgQEUCL___r16NGXQIOHDh8-NCOD-3QIECBAgQIECBAgQIECBARQINf0ug-fPi9evRo0aBAgI6v6VAgQIECBAgQIECBAgQIEBFAgRf2hfBw4cOHD58-fPiAj-_oECBAgQIECBAgQIECBAgQEUCBBr-l0SNGjRo0CBAgQEcH9qgQIECBAgQIECBAgQIECBARQIECL-0Lr169ev-fPnxAR1f0KBAgQIECBAgQIAiBAgQIEBFAgQINf3hw4cOCBAgQIEBH-_QIECBAgQIECBAgCIECBAgQIEB1ARRL1-_____________7VAgOIECBAgQIECAIgQIECBAgQHUBNAgQf26BAgQIN_8ijRoECA4gQIECBAgQIAiBAgQIECA6gQE0CDV_QoECBAgRf2iBAgQIEBxAgQIECBAgCIECBAgQIDqBAgQE0aFAgQIECBAgQIECBAgQHECBAgQIECAIgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIBp0Kg3cNqDSggdMuPRh3ZOe_N074eWVf0y7MvTL46IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQKMalAyYMmKCplx6ECZBT35unfDyyoJnTIuQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA"},f="http://www.w3.org/2000/svg";let C,I,E=0;class B{constructor(){}rt(){return this.nt}ht(){this.nt=null}ot(t,s){if("object"==typeof t)for(const s in t)null==t[s]?this.nt.removeAttribute(s):this.nt.setAttribute(s,t[s]);else{if(void 0===s)return this.nt.getAttribute(t);null==s?this.nt.removeAttribute(t):this.nt.setAttribute(t,s)}return this}_t(t){if(!this.at(t)){const s=this.lt();s.push(t),this.nt.setAttribute("class",s.join(" "))}return this}at(t){return-1!==this.lt().indexOf(t)}lt(){const t=this.nt.getAttribute("class");return null==t?[]:t.split(" ")}At(t){return this.at(t)&&this.nt.setAttribute("class",this.lt().filter((s=>s!==t)).join(" ")),this}ct(t){return this.at(t)?this.At(t):this._t(t),this}gt(t,s){if("object"==typeof t)for(const s in t)null==t[s]?delete this.nt.dataset[s]:this.nt.dataset[s]=t[s];else{if(void 0===s)return this.nt.dataset[t];null==s?delete this.nt.dataset[t]:this.nt.dataset[t]=s}return this}}class d extends B{constructor(t){return super(),C=t,I=C.document,this.nt=I.createElementNS(f,"svg"),this.nt.setAttribute("xmlns",f),this}ut(t){const s=I.querySelector(t);if(!s)throw Error("@techandsoftware/teletext: E117: addTo failed to match provided selector");return s.appendChild(this.nt),this}ft(t){return this.nt.setAttribute("viewBox",t),this}Ct(t,s){return this.nt.setAttribute("width",t),this.nt.setAttribute("height",s),this}It(t){const s=I.createElementNS(f,"style");return s.append(t),this.nt.append(s),this}Et(){const t=new Q;return this.nt.append(t.rt()),t}Bt(){return this.nt.clientWidth}dt(){return this.nt.clientHeight}Qt(t){const s=new m(t);return this.nt.append(s.rt()),s}}class Q extends B{constructor(){return super(),this.nt=I.createElementNS(f,"g"),this.yt=[],this}Et(){const t=new Q;return this.nt.append(t.rt()),this.yt.push(t),t}bt(t){const s=new w(t);return this.nt.append(s.rt()),this.yt.push(s),s}wt(){const t=new S;return this.nt.append(t.rt()),t}St(t,s){const e=new U(t,s);return this.nt.append(e.rt()),this.yt.push(e),e}xt(){return this.yt[this.yt.length-1]}Ut(){return this.yt}vt(t){return this.nt.setAttribute("clip-path",`url("#${t.rt().id}")`),this}kt(){return this.nt.removeAttribute("clip-path"),this}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null,this.yt.forEach((t=>t.ht())),this.yt=[]}Ft(t,s,e,i){const r=new v(t,s,e,i);return this.nt.append(r.rt()),this.yt.push(r),r}Lt(t){const s=new p(t);return this.nt.append(s.rt()),this.yt.push(s),s}Dt(t,s){const e=new b(t,s);return this.nt.append(e.rt()),this.yt.push(e),e}Gt(t,s){const e=new y(t,s);return this.nt.append(e.rt()),this.yt.push(e),e}}class y extends B{constructor(){return super(),this.nt=I.createElementNS(f,"svg"),this}attr(...t){return this.ot(...t)}get node(){return this.rt()}}class b extends B{constructor(t,s){return super(),this.nt=I.createElementNS(f,"image"),this.nt.setAttribute("width",parseInt(t)),this.nt.setAttribute("height",parseInt(s)),this}attr(...t){return this.ot(...t)}}class p extends B{constructor(t){return super(),this.nt=I.createElementNS(f,"use"),this.nt.setAttribute("href","#"+t),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}}class m extends B{constructor(t){return super(),this.nt=I.createElementNS(f,"symbol"),this.nt.setAttribute("id",t),this}St(t,s){const e=new U(t,s);return this.nt.append(e.rt()),e}}class w extends B{constructor(t){return super(),this.nt=I.createElementNS(f,"text"),this.nt.append(t),this}bt(t){return this.nt.textContent=t,this}Nt(t){return this.nt.setAttribute("fill",t),this}}class S extends B{constructor(){return super(),this.nt=I.createElementNS(f,"defs"),this}jt(){const t=new x;return this.nt.append(t.rt()),t}Ht(t){return[...this.nt.querySelectorAll(t)].map(k)}St(t,s){const e=new U(t,s);return this.nt.append(e.rt()),e}}class x extends B{constructor(){return super(),this.nt=I.createElementNS(f,"clipPath"),this.nt.setAttribute("id","clipPath-"+E),E++,this}Ut(){return[...this.nt.children].map(k)}Mt(t){this.nt.appendChild(t.rt())}}class U extends B{constructor(t,s){if(super(),t instanceof C.SVGElement)return this.nt=t,this;const e=t;return this.nt=I.createElementNS(f,"rect"),this.nt.setAttribute("width",parseInt(e)),this.nt.setAttribute("height",parseInt(s)),this}Nt(t){return this.nt.setAttribute("fill",t),this}Ot(t,s){return this.nt.setAttribute("x",t),this.nt.setAttribute("y",s),this}Bt(t){return void 0===t?parseInt(this.nt.getAttribute("width")):(this.nt.setAttribute("width",parseInt(t)),this)}dt(t){return void 0===t?parseInt(this.nt.getAttribute("height")):(this.nt.setAttribute("height",parseInt(t)),this)}Rt(){this.nt.parentNode&&this.nt.parentNode.removeChild(this.nt),this.nt=null}}class v extends B{constructor(t,s,e,i){return super(),this.nt=I.createElementNS(f,"line"),this.nt.setAttribute("x1",t),this.nt.setAttribute("y1",s),this.nt.setAttribute("x2",e),this.nt.setAttribute("y2",i),this}}function k(t){let s;switch(t.constructor.name){case"SVGRectElement":s=new U(t);break;default:throw Error("SVG:wrapSVGElement Unable to wrap SVG element of type "+t.constructor.name)}return s}const R={BLACK:Symbol(),RED:Symbol(),GREEN:Symbol(),YELLOW:Symbol(),BLUE:Symbol(),MAGENTA:Symbol(),CYAN:Symbol(),WHITE:Symbol()};Object.freeze(R);const F={Pt:Symbol(),Tt:Symbol(),qt:Symbol(),zt:Symbol()};Object.freeze(F);const L={Jt:Symbol(),Vt:Symbol(),Yt:Symbol(),Kt:Symbol()};Object.freeze(L);class D{static charFromTextColour(t){if(t in M)return M[t];throw Error("Attributes.charFromTextColour: bad colour: "+t)}static charFromGraphicColour(t){if(t in P)return P[t];throw Error("Attributes.charFromGraphicColour: bad colour")}static charFromAttribute(t){if(t in T)return T[t];throw Error("Attributes.charFromAttribute: bad attribute")}}function G(t){return N[t]}D.TEXT_COLOUR=F.Pt,D.MOSAIC_COLOUR=Symbol(),D.NEW_BACKGROUND=Symbol(),D.BLACK_BACKGROUND=Symbol(),D.CONTIGUOUS_GRAPHICS=F.Tt,D.SEPARATED_GRAPHICS=F.qt,D.ESC=Symbol(),D.FLASH=Symbol(),D.STEADY=Symbol(),D.NORMAL_SIZE=L.Jt,D.DOUBLE_HEIGHT=L.Vt,D.DOUBLE_WIDTH=L.Yt,D.DOUBLE_SIZE=L.Kt,D.CONCEAL=Symbol(),D.HOLD_MOSAICS=Symbol(),D.RELEASE_MOSAICS=Symbol(),D.START_BOX=Symbol(),D.END_BOX=Symbol(),D.Zt=Symbol();const N={[R.BLACK]:"#000",[R.RED]:"#f00",[R.GREEN]:"#0f0",[R.YELLOW]:"#ff0",[R.BLUE]:"#00f",[R.MAGENTA]:"#f0f",[R.CYAN]:"#0ff",[R.WHITE]:"#fff"};Object.freeze(N);const O={"\0":R.BLACK,"":R.RED,"":R.GREEN,"":R.YELLOW,"":R.BLUE,"":R.MAGENTA,"":R.CYAN,"":R.WHITE};Object.freeze(O);const j={"":R.BLACK,"":R.RED,"":R.GREEN,"":R.YELLOW,"":R.BLUE,"":R.MAGENTA,"":R.CYAN,"":R.WHITE};Object.freeze(j);const H={"\b":D.FLASH,"\t":D.STEADY,"\n":D.END_BOX,"\v":D.START_BOX,"\f":D.NORMAL_SIZE,"\r":D.DOUBLE_HEIGHT,"":D.DOUBLE_WIDTH,"":D.DOUBLE_SIZE,"":D.CONCEAL,"":D.CONTIGUOUS_GRAPHICS,"":D.SEPARATED_GRAPHICS,"":D.ESC,"":D.BLACK_BACKGROUND,"":D.NEW_BACKGROUND,"":D.HOLD_MOSAICS,"":D.RELEASE_MOSAICS},M={};for(const t in O)M[O[t]]=t,H[t]=O[t];Object.freeze(M);const P={};for(const t in j)P[j[t]]=t,H[t]=j[t];Object.freeze(P),Object.freeze(H);const T={};for(const t in H)T[H[t]]=t;Object.freeze(T);const q={0:Symbol(),1:Symbol(),1.5:Symbol(),2.5:Symbol()};Object.freeze(q);const z={};z[q[0]]=[1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23],z[q[1]]=[...z[q[0]]].concat([10,11,12,13,24,25,26,27,28,29,30,31]),z[q[1.5]]=[...z[q[1]]].concat([0,16]),z[q[2.5]]=[...z[q[1.5]]].concat([14,15]),Object.freeze(z);const J=10,V=10,Y={Xt:{Wt:10.4,$t:-5.2},ts:{Wt:V,$t:-4.5}};Object.freeze(Y);class K{constructor(t,s){this.ss=new d(s).ft("0 0 400 250").Ct(600,500).ot({preserveAspectRatio:"none",style:"font-family: sans-serif"}).It("@font-face {\nfont-family: 'Unscii';\nsrc: url('fonts/unscii-16.woff') format('woff'), \nurl('fonts/unscii-16.ttf') format('truetype'),\nurl('fonts/unscii-16.otf') format('opentype');\nunicode-range: U+0000-00FF, U+2022, U+2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+251C, U+251D, U+2524, U+2525, U+252C, U+252F, U+2534, U+2537, U+253C, U+253F, U+2588, U+258C, U+2590, U+2592, U+25CB, U+25CF, U+25E2-25E5, U+2B60-2B63, U+E0C0-E0FF, U+1FB00-1FB70, U+1FB75, U+1FBA0-1FBA7;\n-webkit-font-smoothing: none;\nfont-smooth: never;\n}\n@font-face {\nfont-family: 'Bedstead';\nsrc: url('fonts/bedstead.otf') format('opentype');\nunicode-range: U+0000-00FF;\n}\n@keyframes blink {\nto {\nvisibility: hidden;\n}\n}\n@keyframes fancyblink {\nfrom {\nfilter: none;\nopacity: 0.7;\n}\n33% {\nfilter: none;\nopacity: 1;\n}\n66% {\nfilter: blur(0px);\nopacity: 1;\n}\n95% {\nfilter: blur(4px);\nopacity: 0;\n}\nto {\nfilter: blur(0px);\nopacity: 0;\n}\n}\n#textlayer {\nfont-size: 10px;\n}\n.mosaic {\nfont-family: 'Unscii';\nfont-size: 10.3px;\n}\n.mosaic_separated {\nfont-family: 'Unscii';\nfont-size: 10px;\n}\n.flash_flashing .flash {\n/* animation: blink 2s steps(3, start) infinite; */\nanimation: fancyblink 2s linear infinite;\n}\n.conceal_concealed .conceal {\nvisibility: hidden;\n}\nsvg #background {\ntransition-property: opacity;\ntransition-duration: 0.25s;\n}\nsvg {\nbackground-color: transparent;\n}\nsvg use {\nshape-rendering: crispEdges;\n}\nrect { color: orange; }\n"),this.d=this.ss.Et().ot("class","conceal_concealed flash_flashing"),this.es=1.2,this.rs(),this.ns(),this.hs=null,this.os=t,this._s=this.os.As.ls((()=>this.cs())),this.gs=!1,this.us=!1,this.fs=!1,this.Cs={}}ut(t){this.ss.ut(t)}Is(){this.os.As.Is(this._s),this._s=null}cs(){let t=!1,s=!1;this.fs=!1,this.d.At("flash_flashing"),this.Es.forEach(((e,i)=>{let r=!1;if(this.Bs(i),t)return t=!1,void this.ds(e,i);const n=this.os.Qs(i);let h,o;e.forEach(((t,e)=>{if(r)return r=!1,this.ys(t),this.bs(i),void(o&&this.ps());const _=n.ws(e),a=G(_.Ss),l=_.xs(),A=G(_.Us),c=this.vs(_.ks,l,_.it);this.Rs(t,_,c,A,e,i,l),_.Fs&&(o?this.ps():this.Ls(i,e),this.fs=!0),h==a?this.bs(i):this.Ds(i,e,a),_.Ct!=L.Yt&&_.Ct!=L.Kt||(r=!0),h=a,o=_.Fs,_.Gs&&(s=!0)})),n.Ns?(this.Os(i),this.js(),t=!0):t=!1,this.Hs(i)})),"Ms"in this.Cs&&this.Cs.Ms(this.ss.Bt(),this.ss.dt()),this.d._t("conceal_concealed"),s&&setTimeout((()=>this.d._t("flash_flashing")),100),this.Ps()}Bs(t){this.Ts(t),this.qs(t)}ds(t,s){"zs"in this.Cs&&this.Cs.zs(t.length,s),t.forEach((t=>this.ys(t)))}ys(t){t.bt(" ").ot({dx:null,dy:null,textLength:null,lengthAdjust:null,"text-anchor":null,transform:null,class:null})}Rs(t,s,e,i,r,n,h){this.Js(t,s,e,i,r,n),s.ks==F.Tt&&h||s.ks==F.zt?t._t("mosaic"):s.ks==F.qt&&h&&t._t("mosaic_separated")}Js(t,s,e,i,r,n){t.bt(s.Vs).ot(e).Nt(i),s.Ct==L.Vt?t.ot("transform",`translate(0 ${st(n)}) scale(1 2)`):s.Ct==L.Yt?t.ot("transform",`translate(${et(r)} 0) scale(2 1)`):s.Ct==L.Kt&&t.ot("transform",`translate(${et(r)} ${st(n)}) scale(2 2)`),s.Gs&&t._t("flash"),s.Ys&&t._t("conceal")}Ks(){this.d.ct("conceal_concealed")}Zs(t){let s=t;"native"==t?s='-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif':"default"==t&&(s="sans-serif"),this.ss.ot("style","font-family: "+s)}Xs(){this.hs?(this.hs.Rt(),this.hs=null):this.Ws()}$s(){this.us?(this.us=!1,this.te.ot("opacity",null).kt()):(this.us=!0,this.se())}ee(t){this.es=t,this.ie(this.ss.dt())}ie(t){this.ss.Ct("natural"==this.es?1.6*t:t*this.es,t)}se(){this.gs&&this.fs?this.te.ot("opacity",.3):this.fs?this.te.vt(this.re).ot("opacity",.3):this.te.ot("opacity",0)}Ps(){this.us&&this.se()}ne(){this.gs?(this.d.kt(),this.gs=!1):(this.d.vt(this.re),this.gs=!0),this.Ps()}Ws(){this.hs=this.d.Et();for(let t=0;t<25;t++)this.hs.Ft(0,t*J,399,t*J).ot({stroke:"#555","stroke-width":.5});for(let t=0;t<40;t++)this.hs.Ft(t*V,0,t*V,249).ot({stroke:"#555","stroke-width":.5})}ns(){this.he=this.d.wt(),this.oe=null,this.re=this.he.jt()}rs(){this._e(),this.ae()}_e(){const t=this.d.Et();t.ot({"shape-rendering":"crispEdges",id:"background"}),this.le=[],this.te=t}ae(){const t=[],s=this.d.Et().ot({"text-anchor":"middle",fill:"#fff"}).ot("id","textlayer");for(let e=0;e<25;e++){const i=[];for(let t=0;t<40;t++)i.push(s.bt(String.fromCharCode(32+95*Math.random())).ot({x:t*V+5,y:e*J+8}));t.push(i)}this.Es=t,this.Ae=s}qs(t){this.re.Ut().filter((s=>s.gt("r")==t)).forEach((t=>t.Rt()))}Ts(t){this.le[t]&&this.le[t].Rt(),this.le[t]=this.te.Et()}bs(t){const s=this.le[t].xt(),e=s.Bt();s.Bt(e+V)}Ds(t,s,e){const i=s*V,r=t*J;this.le[t].St(V,J).Nt(e).Ot(i,r)}ps(){const t=this.oe.Bt();this.oe.Bt(t+V)}Os(t){this.le[t].Ut().forEach((t=>t.ot("height",20)))}js(){this.he.Ht("[data-boxbuffer]").forEach((t=>t.dt(20)))}Ls(t,s){const e=s*V,i=t*J;this.oe=this.he.St(V,J).gt("boxbuffer",!0).Ot(e,i)}Hs(t){this.he.Ht("[data-boxbuffer]").forEach((s=>{s.gt({r:t,boxbuffer:null}),this.re.Mt(s)}))}vs(t,s,e){return t==F.Tt&&s||t==F.zt?{dx:Y.Xt.$t,dy:-.15,textLength:Y.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:t==F.qt&&s?{dx:Y.ts.$t,dy:null,textLength:Y.ts.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:e?V:null,lengthAdjust:e?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}registerPlugin(t,s){return"renderBackground"in s&&(this.Cs.ce=s.renderBackground),"renderMosaic"in s&&(this.Cs.ge=s.renderMosaic),"endOfPageUpdate"in s&&(this.Cs.Ms=s.endOfPageUpdate),"clearCellsForRow"in s&&(this.Cs.zs=s.clearCellsForRow),{lookupColour:Z,isDoubleHeight:X,isDoubleWidth:W,isDoubleSize:$,isSeparatedMosaic:tt,createImageOverlay:this.ue.bind(this),createSVGOverlay:this.fe.bind(this)}}ue(){const t=this.d.Dt(400,250);return t.ot("preserveAspectRatio","none"),t}fe(){const t=this.d.Gt();return t.ot("preserveAspectRatio","none"),t}}K.Ce=V,K.Ie=J,K.Ee=20,K.Be=20,K.de=400,K.Qe=250,K.ye=Y,K.ROWS=25,K.COLS=40;const Z=t=>G(t),X=t=>t==L.Vt,W=t=>t==L.Yt,$=t=>t==L.Kt,tt=t=>t==F.qt,st=t=>0-t*J,et=t=>0-t*V,it={g0_latin:{$:"¤","":"■"},g0_latin__czech_slovak:{"#":"#",$:"ů","@":"č","[":"ť","\\":"ž","]":"ý","^":"í",_:"ř","`":"é","{":"á","|":"|","}":"ú","~":"š"},g0_latin__english:{"#":"£",$:"$","@":"@","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"—","{":"¼","|":"‖","}":"¾","~":"÷"},g0_latin__estonian:{"#":"#",$:"õ","@":"Š","[":"Ä","\\":"Ö","]":"Ž","^":"Ü",_:"Õ","`":"š","{":"ä","|":"ö","}":"ž","~":"ü"},g0_latin__french:{"#":"é",$:"ï","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"#","`":"è","{":"â","|":"ô","}":"û","~":"ç"},g0_latin__german:{"#":"#",$:"$","@":"§","[":"Ä","\\":"Ö","]":"Ü","^":"^",_:"_","`":"°","{":"ä","|":"ö","}":"ü","~":"ß"},g0_latin__italian:{"#":"£",$:"$","@":"é","[":"°","\\":"ç","]":"→","^":"↑",_:"#","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},g0_latin__latvian_lithuanian:{"#":"#",$:"$","@":"Š","[":"ė","\\":"ę","]":"Ž","^":"č",_:"ū","`":"š","{":"ą","|":"ų","}":"ž","~":"į"},g0_latin__polish:{"#":"#",$:"ń","@":"ą","[":"Ƶ","\\":"Ś","]":"Ł","^":"ć",_:"ó","`":"ę","{":"ż","|":"ś","}":"ł","~":"ź"},g0_latin__portuguese_spanish:{"#":"ç",$:"$","@":"¡","[":"á","\\":"é","]":"í","^":"ó",_:"ú","`":"¿","{":"ü","|":"ñ","}":"è","~":"à"},g0_latin__romanian:{"#":"#",$:"¤","@":"Ț","[":"Â","\\":"Ș","]":"Ă","^":"Î",_:"ı","`":"ț","{":"â","|":"ș","}":"ă","~":"î"},g0_latin__serbian_croatian_slovenian:{"#":"#",$:"Ë","@":"Č","[":"Ć","\\":"Ž","]":"Đ","^":"Š",_:"ë","`":"č","{":"ć","|":"ž","}":"đ","~":"š"},g0_latin__swedish_finnish_hungarian:{"#":"#",$:"¤","@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü",_:"_","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},g0_latin__turkish:{"#":"₺",$:"ğ","@":"İ","[":"Ş","\\":"Ö","]":"Ç","^":"Ü",_:"Ğ","`":"ı","{":"ş","|":"ö","}":"ç","~":"ü"},g2_latin:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"µ",6:"¶",7:"·",8:"÷",9:"’","!":"¡",'"':"¢","#":"£","%":"¥","&":"#","'":"§","(":"¤",")":"‘","*":"“","+":"«",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"»","<":"¼","=":"½",">":"¾","?":"¿","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"—",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"α",Y:null,Z:null,"[":null,"\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"Ω",a:"Æ",b:"Ð",c:"ª",d:"Ħ",e:null,f:"IJ",g:"Ŀ",h:"Ł",i:"Ø",j:"Œ",k:"º",l:"Þ",m:"Ŧ",n:"Ŋ",o:"ʼn",p:"ĸ",q:"æ",r:"đ",s:"ð",t:"ħ",u:"ı",v:"ij",w:"ŀ",x:"ł",y:"ø",z:"œ","{":"ß","|":"þ","}":"ŧ","~":"ŋ","":"■"},g0_greek:{"<":"«",">":"»","@":"ΐ",A:"Α",B:"Β",C:"Γ",D:"Δ",E:"Ε",F:"Ζ",G:"Η",H:"Θ",I:"Ι",J:"Κ",K:"Λ",L:"Μ",M:"Ν",N:"Ξ",O:"Ο",P:"Π",Q:"Ρ",R:"ʹ",S:"Σ",T:"Τ",U:"Υ",V:"Φ",W:"Χ",X:"Ψ",Y:"Ω",Z:"Ϊ","[":"Ϋ","\\":"ά","]":"έ","^":"ή",_:"ί","`":"ΰ",a:"α",b:"β",c:"γ",d:"δ",e:"ε",f:"ζ",g:"η",h:"θ",i:"ι",j:"κ",k:"λ",l:"μ",m:"ν",n:"ξ",o:"ο",p:"π",q:"ρ",r:"ς",s:"σ",t:"τ",u:"υ",v:"φ",w:"χ",x:"ψ",y:"ω",z:"ϊ","{":"ϋ","|":"ό","}":"ύ","~":"ώ","":"■"},g2_greek:{0:"°",1:"±",2:"²",3:"³",4:"×",5:"m",6:"n",7:"p",8:"÷",9:"’","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"”",";":"t","<":"¼","=":"½",">":"¾","?":"x","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"¹",R:"®",S:"©",T:"™",U:"♪",V:"₠",W:"‰",X:"ɑ",Y:"Ί",Z:"Ύ","[":"Ώ","\\":"⅛","]":"⅜","^":"⅝",_:"⅞","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_cyrillic:{"@":"Ю",A:"А",B:"Б",C:"Ц",D:"Д",E:"Е",F:"Ф",G:"Г",H:"Х",I:"И",J:"Ѝ",K:"К",L:"Л",M:"М",N:"Н",O:"О",P:"П",Q:"Я",R:"Р",S:"С",T:"Т",U:"У",V:"Ж",W:"В",X:"Ь",Z:"З","[":"Ш","]":"Щ","^":"Ч","`":"ю",a:"а",b:"б",c:"ц",d:"д",e:"е",f:"ф",g:"г",h:"х",i:"и",j:"ѝ",k:"к",l:"л",m:"м",n:"н",o:"о",p:"п",q:"я",r:"р",s:"с",t:"т",u:"у",v:"ж",w:"в",x:"ь",z:"з","{":"ш","}":"щ","~":"ч","":"■"},g0_cyrillic__russian_bulgarian:{"&":"ы",Y:"Ъ","\\":"Э",_:"Ы",y:"ъ","|":"э"},g0_cyrillic__serbian_croatian:{"@":"Ч",J:"Ј",Q:"Ќ",V:"В",W:"Ѓ",X:"Љ",Y:"Њ","[":"Ћ","\\":"Ж","]":"Ђ","^":"Ш",_:"Џ","`":"ч",j:"ј",q:"ќ",v:"в",w:"ѓ",x:"љ",y:"њ","{":"ћ","|":"ж","}":"ђ","~":"ш"},g0_cyrillic__ukranian:{"&":"ї",Y:"І","\\":"Є",_:"Ї",y:"і","|":"є"},g2_cyrillic:{0:"m",1:"n",2:"p",3:"t",4:"x",5:"x",6:"°",7:"±",8:"²",9:"³","!":"a",'"':"b","#":"£",$:"e","%":"h","&":"i","'":"§","(":":",")":"‘","*":"“","+":"k",",":"←","-":"↑",".":"→","/":"↓",":":"¼",";":"½","<":"¾","=":"÷",">":"’","?":"”","@":" ",A:"̀",B:"́",C:"̂",D:"̃",E:"̄",F:"̆",G:"̇",H:"̈",I:"̣",J:"̊",K:"̧",L:"̲",M:"̋",N:"̨",O:"̌",P:"?",Q:"©",R:"®",S:"¹",T:"ɑ",U:"Ί",V:"Ύ",W:"Ώ",X:"‰",Y:"₠",Z:"™","[":"⅛","\\":"⅜","]":"⅝","^":"⅞",_:"♪","`":"C",a:"D",b:"F",c:"G",d:"J",e:"L",f:"Q",g:"R",h:"S",i:"U",j:"V",k:"W",l:"Y",m:"Z",n:"Ά",o:"Ή",p:"c",q:"d",r:"f",s:"g",t:"j",u:"l",v:"q",w:"r",x:"s",y:"u",z:"v","{":"w","|":"y","}":"z","~":"Έ","":"■"},g0_arabic:{"#":"£","&":"ﻰ","'":"ﻱ","(":")",")":"(",";":"؛","<":">",">":"<","?":"؟","@":"ﺔ",A:"ﺀ",B:"ﺒ",C:"ﺏ",D:"ﺘ",E:"ﺕ",F:"ﺎ",G:"ﺍ",H:"ﺑ",I:"ﺓ",J:"ﺗ",K:"ﺛ",L:"ﺟ",M:"ﺣ",N:"ﺧ",O:"ﺩ",P:"ﺫ",Q:"ﺭ",R:"ﺯ",S:"ﺳ",T:"ﺷ",U:"ﺻ",V:"ﺿ",W:"ﻃ",X:"ﻇ",Y:"ﻋ",Z:"ﻏ","[":"ﺜ","\\":"ﺠ","]":"ﺤ","^":"ﺨ",_:"#","`":"ـ",a:"ﻓ",b:"ﻗ",c:"ﻛ",d:"ﻟ",e:"ﻣ",f:"ﻧ",g:"ﻫ",h:"ﻭ",i:"ﻰ",j:"ﻳ",k:"ﺙ",l:"ﺝ",m:"ﺡ",n:"ﺥ",o:"ﻴ",p:"ﻯ",q:"ﻌ",r:"ﻐ",s:"ﻔ",t:"ﻑ",u:"ﻘ",v:"ﻕ",w:"ﻙ",x:"ﻠ",y:"ﻝ",z:"ﻤ","{":"ﻡ","|":"ﻨ","}":"ﻥ","~":"ﻻ","":"■"},g2_arabic:{0:"٠",1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩","!":"ﻉ",'"':"ﺁ","#":"ﺃ",$:"ﺅ","%":"ﺇ","&":"ﺋ","'":"ﺊ","(":"ﭼ",")":"ﭽ","*":"ﭺ","+":"ﭘ",",":"ﭙ","-":"ﭖ",".":"ﮊ","/":"ﮔ",":":"ﻎ",";":"ﻍ","<":"ﻼ","=":"ﻬ",">":"ﻪ","?":"ﻩ","@":"à","[":"ë","\\":"ê","]":"ù","^":"î",_:"ﻊ","`":"é","{":"â","|":"ô","}":"û","~":"ç","":"■"},g0_hebrew:{"#":"£","[":"←","\\":"½","]":"→","^":"↑",_:"#","`":"א",a:"ב",b:"ג",c:"ד",d:"ה",e:"ו",f:"ז",g:"ח",h:"ט",i:"י",j:"ך",k:"כ",l:"ל",m:"ם",n:"מ",o:"ן",p:"נ",q:"ס",r:"ע",s:"ף",t:"פ",u:"ץ",v:"צ",w:"ק",x:"ר",y:"ש",z:"ת","{":"₪","|":"‖","}":"¾","~":"÷","":"■"},g1_block_mosaic_to_unicode__legacy_computing:{0:"🬏",1:"🬐",2:"🬑",3:"🬒",4:"🬓",5:"▌",6:"🬔",7:"🬕",8:"🬖",9:"🬗"," ":" ","!":"🬀",'"':"🬁","#":"🬂",$:"🬃","%":"🬄","&":"🬅","'":"🬆","(":"🬇",")":"🬈","*":"🬉","+":"🬊",",":"🬋","-":"🬌",".":"🬍","/":"🬎",":":"🬘",";":"🬙","<":"🬚","=":"🬛",">":"🬜","?":"🬝","`":"🬞",a:"🬟",b:"🬠",c:"🬡",d:"🬢",e:"🬣",f:"🬤",g:"🬥",h:"🬦",i:"🬧",j:"▐",k:"🬨",l:"🬩",m:"🬪",n:"🬫",o:"🬬",p:"🬭",q:"🬮",r:"🬯",s:"🬰",t:"🬱",u:"🬲",v:"🬳",w:"🬴",x:"🬵",y:"🬶",z:"🬷","{":"🬸","|":"🬹","}":"🬺","~":"🬻","":"█"},g1_block_mosaic_to_unicode__unscii_separated:{0:"",1:"",2:"",3:"",4:"",5:"",6:"",7:"",8:"",9:""," ":" ","!":"",'"':"","#":"",$:"","%":"","&":"","'":"","(":"",")":"","*":"","+":"",",":"","-":"",".":"","/":"",":":"",";":"","<":"","=":"",">":"","?":"","`":"",a:"",b:"",c:"",d:"",e:"",f:"",g:"",h:"",i:"",j:"",k:"",l:"",m:"",n:"",o:"",p:"",q:"",r:"",s:"",t:"",u:"",v:"",w:"",x:"",y:"",z:"","{":"","|":"","}":"","~":"","":""},g3:{0:"🭇",1:"🭈",2:"🭉",3:"🭊",4:"🭋",5:"◢",6:"🭌",7:"🭍",8:"🭎",9:"🭏"," ":"🬼","!":"🬽",'"':"🬾","#":"🬿",$:"🭀","%":"◣","&":"🭁","'":"🭂","(":"🭃",")":"🭄","*":"🭅","+":"🭆",",":"🭨","-":"🭩",".":"🭰","/":"▒",":":"🭐",";":"🭑","<":"🭪","=":"🭫",">":"🭵","?":"█","@":"┷",A:"┯",B:"┝",C:"┥",D:"🮤",E:"🮥",F:"🮦",G:"🮧",H:"🮠",I:"🮡",J:"🮢",K:"🮣",L:"┿",M:"•",N:"●",O:"○",P:"│",Q:"─",R:"┌",S:"┐",T:"└",U:"┘",V:"├",W:"┤",X:"┬",Y:"┴",Z:"┼","[":"→","\\":"←","]":"↑","^":"↓",_:" ","`":"🭒",a:"🭓",b:"🭔",c:"🭕",d:"🭖",e:"◥",f:"🭗",g:"🭘",h:"🭙",i:"🭚",j:"🭛",k:"🭜",l:"🭬",m:"🭭",n:null,o:null,p:"🭝",q:"🭞",r:"🭟",s:"🭠",t:"🭡",u:"◤",v:"🭢",w:"🭣",x:"🭤",y:"🭥",z:"🭦","{":"🭧","|":"🭮","}":"🭯","~":null,"":null}},rt={};class nt{constructor(t){this.type=t.ks,this.flashing=t.Gs,this.concealed=t.Ys,this.size=t.Ct,this.sextants=t.be()}}class ht{constructor(){this.pe=" ",this.me=" ",this.we=R.WHITE,this.Se=R.BLACK,this.xe=F.Pt,this.Ue=!1,this.ve=L.Jt,this.ke=!1,this.Re=!1,this.Fe=null,this.Le=!1,this.De=null,this.Ge=null}set Ne(t){this.pe=t}get Ne(){return this.pe}set Us(t){this.we=t}get Us(){return this.we}set Ss(t){this.Se=t}get Ss(){return this.Se}get it(){return this.Le}Oe(t){const s=this.xe==F.Tt||this.xe==F.qt;this.xe==F.Pt||0==(32&this.pe.charCodeAt(0))&&s?(this.me=_t(this.pe,t),this.De>0&&(this.me+=it.g2_latin[String.fromCharCode(this.De+64)]),this.Le=!1,"g0_arabic"!=t&&"g2_arabic"!=t||(this.Le=A.it(this.me))):this.xe==F.Tt?this.me=_t(this.pe,"g1_block_mosaic_to_unicode__legacy_computing"):this.xe==F.qt?this.me=_t(this.pe,"g1_block_mosaic_to_unicode__unscii_separated"):this.xe==F.zt&&(this.me=_t(this.pe,"g3")),this.Fe=null}je(t){if(this.xe!=F.Tt&&this.xe!=F.qt||!t.He)this.Fe=null,this.me=" ";else{this.Fe=t.Vs,this.xe=t.ks;let s="g1_block_mosaic_to_unicode__legacy_computing";this.xe==F.qt&&(s="g1_block_mosaic_to_unicode__unscii_separated"),this.me=_t(t.Vs,s)}}get Vs(){return this.me}get ks(){return this.xe}set ks(t){this.xe=t}set Gs(t){this.Ue=t}get Gs(){return this.Ue}get Ct(){return this.ve}set Ct(t){this.ve=t}set Ys(t){this.ke=t}get Ys(){return this.ke}set Fs(t){this.Re=t}get Fs(){return this.Re}xs(){const t=null!=this.Fe?this.Fe.charCodeAt(0):this.pe.charCodeAt(0);return t<=127&&32==(32&t)}Me(){const t=this.pe.charCodeAt(0);return(this.xe==F.Tt||this.xe==F.qt)&&t<=127&&32==(32&t)}be(){const t=null!=this.Fe?this.Fe.charCodeAt(0):this.pe.charCodeAt(0);if(t>127)return null;if(t in rt)return rt[t];let s=t-32;return s>=64&&(s-=32),rt[t]=[...s.toString(2).padStart(6,"0")].reverse(),rt[t]}}class ot extends ht{constructor(t){super(),Object.assign(this,t)}set Pe(t){this.De=t}get Pe(){return this.De}set Te(t){this.Ge=t}get Vs(){return null==this.Ge?this.me:this.Ge}}function _t(t,s){if(!(s in it))throw Error("Cell getCharWithEncoding: bad encoding: "+s);if(t in it[s])return it[s][t];const e=s.match(/^(.+)__/);if(null!=e){const i=e[1];if(t in it[i])return it[s][t]=it[i][t],it[i][t]}return t}class at extends K{constructor(t,s,e){super(t,e),this.qe=s,this.ze=new Set}rs(){super.rs(),this.Je=[],this.Ve=this.d.Et()}Bs(t){super.Bs(t),this.Ye(t)}Rs(t,s,e,i,r,n,h){"ce"in this.Cs&&this.Cs.ce(n,r,s.Ct,s.Ss),s.ks!=F.Pt&&s.ks!=F.zt&&h?h&&(t.bt(" ").ot(e),this.Ke(n,r,s,i)):(this.Js(t,s,e,i,r,n),s.ks==F.zt&&t._t("mosaic"))}Ke(t,s,e,i){if("ge"in this.Cs){const r=new nt(e);if(this.Cs.ge(t,s,r,i))return}const r=e.be();if(!r.includes("1"))return;let n=e.ks==F.Tt?"c":"s";n+=r.join("");let h,o=K.Ce,_=K.Ie;if(e.ks==F.Tt&&(o=K.Ce+.3,_=K.Ie+.2),!this.ze.has(n)){this.ze.add(n);const t=this.ss.Qt(n);if(e.ks==F.Tt){t.ot({preserveAspectRatio:"none",width:o,height:_,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(6,6).Ot(s%2*6,6*Math.floor(s/2))}else{t.ot({preserveAspectRatio:"none",width:o,height:_,viewBox:"0 0 12 18"});for(let s=0;s<6;s++)"1"==r[s]&&t.St(4,4).Ot(s%2*6+1,6*Math.floor(s/2)+2)}}h=e.ks==F.Tt?this.Je[t].Lt(n).Ot(s*K.Ce-.15,t*K.Ie-.1).Nt(i):this.Je[t].Lt(n).Ot(s*K.Ce,t*K.Ie).Nt(i),this.qe&&h.ot({width:o,height:_}),e.Ct!=L.Vt&&e.Ct!=L.Kt||h.ot("height",K.Be),e.Ct!=L.Yt&&e.Ct!=L.Kt||h.ot("width",K.Ee),e.Gs&&h._t("flash"),e.Ys&&h._t("conceal")}Ye(t){this.Je[t]&&this.Je[t].Rt(),this.Je[t]=this.Ve.Et()}vs(t,s,e){return t==F.zt?{dx:K.ye.Xt.$t,dy:-.15,textLength:K.ye.Xt.Wt,lengthAdjust:"spacingAndGlyphs","text-anchor":"start",transform:null,class:null}:{dx:null,dy:null,textLength:e?K.Ce:null,lengthAdjust:e?"spacingAndGlyphs":null,"text-anchor":null,transform:null,class:null}}}class lt{constructor(t){this.os=t,this.Ze=0,this.Xe=0,this.We=[]}pos(t,s){return(t=parseInt(t))<0||t>39||(s=parseInt(s))<0||s>24||(this.Ze=t,this.Xe=s),this}putG0(t,s){let e=null;if(void 0!==s){const t=parseInt(s);t>=0&&t<=15&&(e=t)}const i=t.charCodeAt(0);return i<32||i>127||this.We.push({$e:this.Ze,ti:this.Xe,ks:"g0",Vs:t,Pe:e}),this}putG1(t){const s=t.charCodeAt(0);return s<32||s>127||s>=64&&s<=95||this.We.push({$e:this.Ze,ti:this.Xe,ks:"g1",Vs:t}),this}putG2(t){const s=t.charCodeAt(0);return s<32||s>127||this.We.push({$e:this.Ze,ti:this.Xe,ks:"g2",Vs:t}),this}putG3(t){const s=t.charCodeAt(0);return s<32||s>127||this.We.push({$e:this.Ze,ti:this.Xe,ks:"g3",Vs:t}),this}putAt(){return this.We.push({$e:this.Ze,ti:this.Xe,ks:"char",Vs:"@"}),this}end(){return this.os.si(this.We),this.os.ei(),this}}class At extends K{}const ct=["SPLASH","ENGINEERING","ADVERT","UK"];class gt{constructor(t,s){if(this.ii=null,"object"==typeof window&&(this.ii=window),this.ri={ni:!0},"object"==typeof s&&("webkitCompat"in s&&!s.webkitCompat&&(this.ri.ni=!1),"dom"in s&&(this.ii=s.dom)),null==this.ii)throw Error("TeletextController E24: No window dom object available");this.hi=new at(t,this.ri.ni,this.ii),this.os=t,this.oi=1,this._i=0,this.ai(),this.li=null,this.Ai=null,this.ci=0,this.gi=0,this.ui=null}setRowFromOutputLine(t,s){const e=A.st(s);this.os.fi(t,e)}setRow(t,s){this.os.fi(t,s)}setPageFromOutputLines(t,s){const e=A.et(t);void 0!==s&&(e[0]=this.Ci(s)),this.setPageRows(e)}setPageRows(t){this.os.Ii(),this.os.Ei(t)}Ci(t){return(t=A.st(t)).join("").substring(0,32).padStart(40," ")}showTestPage(){this.loadPageFromEncodedString(u[ct[this._i]]),this._i++,4==this._i&&(this._i=0)}showRandomisedPage(){const t=[];for(let s=0;s<25;s++){const s=[];for(let t=0;t<40;t++)s.push(String.fromCharCode(127*Math.random()));t.push(s.join(""))}this.setPageRows(t)}loadPageFromEncodedString(t,s){const e=A.tt(t,this.ii.atob);void 0!==s&&(e[0]=this.Ci(s)),this.setPageRows(e)}ai(){this.ii.addEventListener("ttx.reveal",(()=>this.hi.Ks())),this.ii.addEventListener("ttx.mix",(()=>this.hi.$s())),this.ii.addEventListener("ttx.subtitlemode",(()=>this.hi.ne()))}toggleReveal(){this.hi.Ks()}toggleMixMode(){this.hi.$s()}toggleBoxMode(){this.hi.ne()}toggleGrid(){this.hi.Xs()}setLevel(t){this.os.Bi(t)}addTo(t){this.di=t,this.hi.ut(t)}setFont(t){this.ui=t,this.hi.Zs(t)}clearScreen(t){this.os.Ii(),this.os.Qi(t)}setAspectRatio(t){if("natural"==t)return void this.hi.ee(t);const s=parseFloat(t);if(Number.isNaN(s))throw Error("E80 setAspectRatio: bad number");this.hi.ee(s)}setHeight(t){const s=parseFloat(t);if(Number.isNaN(s))throw Error("E98 setHeight: bad number");this.hi.ie(s),this.Ai=s}setDefaultG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E130 setDefaultG0Charset: Bad g0 set");this.os.yi(t,s)}setSecondG0Charset(t,s){if(null==t.match(/g0_/))throw Error("E136 setSecondG0Charset: Bad g0 set");this.os.bi(t,s)}setG2Charset(t,s){if(null==t.match(/g2_/))throw Error("E142 setG2Charset: Bad g2 set");this.os.pi(t,s)}remove(){if(this.hi.Is(),this.di){const t=document.querySelector(this.di);t&&t.removeChild(t.firstChild)}this.hi=null}setView(t){switch(this.remove(),t){case"classic__font-for-mosaic":this.hi=new At(this.os,this.ii);break;case"classic__graphic-for-mosaic":this.hi=new at(this.os,this.ri.ni,this.ii);break;default:throw Error("setView E126: bad view name:"+t)}this.Ai&&this.hi.ie(this.Ai),this.ui&&this.hi.Zs(this.ui),this.di&&this.hi.ut(this.di),this.os.ei()}registerViewPlugin(t){t.registerWithView(this.hi),this.os.ei()}enhance(){return new lt(this.os)}writeBytes(t,s,e){this.os.mi(t,s,e)}getBytes(){return this.os.wi()}}class ut{constructor(t){this.Si=t,this.xi=[]}ls(t){return this.xi.push(t),this.xi.length-1}ei(t){this.xi.forEach((s=>null!=s&&s(this.Si,t)))}Is(t){this.xi[t]=null}}class ft{constructor(){this.Ui=!1,this.vi=[]}get Ns(){return this.Ui}set Ns(t){this.Ui=t}ki(t){this.vi.push(t)}ws(t){if(t>=this.vi.length)throw Error("RowModel.getCell E20 bad cell index");return this.vi[t]}}const Ct=25,It=40,Et=[q[1.5],q[2.5]],Bt=new class{constructor(){this.Ri=[];for(let t=0;t<Ct;t++){const t=[];for(let s=0;s<It;s++)t.push(new ht);this.Ri.push(t)}this.Fi="g0_latin",this.Li=null,this.Di="g2_latin",this.Gi=D.charFromAttribute(D.START_BOX),this.Ni=q[1],this.Oi=[],this.As=new ut(this)}ei(){this.As.ei()}fi(t,s){if(t>=Ct)throw Error("PageModel E29 bad row number");this.ji(t,s),this.As.ei()}Ei(t){(t=t.slice(0,Ct)).forEach(((t,s)=>{this.ji(s,t)})),this.As.ei()}mi(t,s,e){for(let i=s,r=0;i<Ct&&r<e.length;i++,r++){const s=[...e[r]].slice(0,It-t);for(let e=t,r=0;e<It;e++,r++)this.Ri[i][e].Ne=s[r]}this.As.ei()}ji(t,s){let e=[...s];if(e=e.slice(0,It),e.forEach(((s,e)=>{const i=s.charCodeAt(0);if(Number.isNaN(i)||i>127)throw Error(`PageModel E51 failed to write row: bad character code (${i}) at row ${t} col ${e}`);this.Ri[t][e].Ne=s})),e.length<It)for(let s=e.length;s<It;s++)this.Ri[t][s].Ne=" "}Bi(t){this.Ni=t,this.As.ei()}Qi(t){if(void 0===t||t){const t=[];for(let s=0;s<Ct;s++)t.push("");this.Ei(t)}else for(let t=0;t<Ct;t++)this.ji(t,"")}yi(t,s){this.Fi=t;const e=t.match(/^g0_([a-z]+)/);if(null!=e){const t="g2_"+e[1];t in it?this.Di=t:"hebrew"==e[1]&&(this.Di="g2_arabic")}s&&this.As.ei()}bi(t,s){this.Li=t,s&&this.As.ei()}pi(t,s){this.Di=t,s&&this.As.ei()}Qs(t){if(t>=Ct)throw Error("PageModel.getRow E42 bad rowNum");const s=new ft;let e,i,r=F.Pt,n=R.WHITE,h=!1,o=L.Jt,_=!1,a=!1,l=!1,A=!1,c=R.BLACK,g=F.Tt,u={He:!1,Vs:" ",ks:F.Tt},f=[];return Et.includes(this.Ni)&&(f=this.Oi.filter((s=>s.ti==t))),this.Ri[t].forEach(((C,I)=>{const E=C.Ne,B=((t,s)=>{let e=null,i=null;return s in H&&z[this.Ni].includes(s.charCodeAt(0))?s in O?(e=D.TEXT_COLOUR,i=H[s]):s in j?(e=D.MOSAIC_COLOUR,i=H[s]):e=H[s]:s.charCodeAt(0)<=31&&(e=D.Zt),{Hi:e,Mi:i}})(0,E);switch(e=n,C.ks=r,C.Fs=A,i=_,B.Hi!=D.STEADY&&(C.Gs=h),B.Hi!=D.NORMAL_SIZE&&(C.Ct=o),B.Hi!=D.CONCEAL&&(C.Ys=a),l&&(B.Hi!=D.HOLD_MOSAICS&&(u.He=!1,u.Vs=" "),l=!1),B.Hi){case D.TEXT_COLOUR:r=F.Pt,n=B.Mi,a=!1,C.je(u);break;case D.MOSAIC_COLOUR:r=g,n=B.Mi,a=!1,C.je(u);break;case D.NEW_BACKGROUND:c=e,C.je(u);break;case D.BLACK_BACKGROUND:c=R.BLACK,C.je(u);break;case D.CONTIGUOUS_GRAPHICS:g=F.Tt,C.ks==F.qt&&(C.ks=F.Tt),r==F.qt&&(r=F.Tt),C.je(u);break;case D.SEPARATED_GRAPHICS:g=F.qt,C.ks==F.Tt&&(C.ks=F.qt),r==F.Tt&&(r=F.qt),C.je(u);break;case D.ESC:this.Li&&(_=!i),C.je(u);break;case D.FLASH:h=!0,C.je(u);break;case D.STEADY:C.Gs=!1,h=!1,C.je(u);break;case D.NORMAL_SIZE:C.Ct=L.Jt,o=L.Jt,C.je(u);break;case D.DOUBLE_HEIGHT:o=L.Vt,s.Ns=!0,C.je(u);break;case D.DOUBLE_WIDTH:o=L.Yt,C.je(u);break;case D.DOUBLE_SIZE:o=L.Kt,s.Ns=!0,C.je(u);break;case D.CONCEAL:C.Ys=!0,a=!0,C.je(u);break;case D.HOLD_MOSAICS:u.He=!0,C.je(u);break;case D.RELEASE_MOSAICS:l=!0,C.je(u);break;case D.START_BOX:I>=1&&this.Ri[t][I-1].Ne==this.Gi&&(C.Fs=!0,A=!0),C.je(u);break;case D.END_BOX:A=!1,C.je(u);break;case D.Zt:C.je(u);break;default:C.Oe(i?this.Li:this.Fi),C.Me()&&(u.Vs=E,u.ks=C.ks)}C.Us=e,C.Ss=c,f.filter((t=>t.$e==I)).forEach((t=>{const s=new ot(C);C=s,"g0"==t.ks?(C.Ne=t.Vs,C.Pe=t.Pe,C.ks=F.Pt,C.Oe(i?this.Li:this.Fi)):"g1"==t.ks?this.Ni==q[2.5]&&(C.Ne=t.Vs,C.ks=g,C.Oe()):"g2"==t.ks?(C.Ne=t.Vs,C.ks=F.Pt,C.Oe(this.Di)):"g3"==t.ks?(this.Ni!=q[1.5]||-1!="Q[\\]".indexOf(t.Vs))&&(C.Ne=t.Vs,C.ks=F.zt,C.Oe()):"char"==t.ks&&(C.Te=t.Vs,C.ks=F.Pt)})),s.ki(C)})),s}si(t){this.Oi=t}Ii(){this.Oi=[]}wi(){const t=new Uint8Array(1e3);return this.Ri.forEach(((s,e)=>{s.forEach(((s,i)=>{t[e*It+i]=s.Ne.charCodeAt(0)}))})),t}};t.Attributes=D,t.Colour=R,t.Level=q,t.Teletext=t=>new gt(Bt,t),Object.defineProperty(t,"Pi",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).ttx={});//# sourceMappingURL=teletext.umd.min.js.map |
{ | ||
"name": "@techandsoftware/teletext", | ||
"version": "0.13.2", | ||
"version": "0.13.3", | ||
"description": "API to render teletext pages using vector graphics in the browser DOM", | ||
@@ -5,0 +5,0 @@ "browser": "dist/teletext.umd.min.js", |
@@ -455,2 +455,6 @@ <!-- | ||
## getBytes() | ||
Gets the raw bytes used in the page model. The response is a `Uint8Array` with 1000 elements. As each teletext byte is 7-bit, the element values will be between 0 and 127 inclusive. | ||
## Event API | ||
@@ -457,0 +461,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
851486
0.96%4050
0.72%564
0.71%