PageSourceSearch

https://navpro.truckerpath.com/assets/vendor-pdf-DksyQ9Qr.js

js truckerpath.com collected 2026-09-24 09:43:44 UTC 988,384 bytes, 29,451 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/purify.es-CPm96WHv.js","assets/main-DDHJZG-i.js","assets/src-CC0OeqYt.js","assets/src-_v0Kngcc.css","assets/vendor-date-d6_4rWHy.js","assets/vendor-charts-D81iZKCV.js","assets/rolldown-runtime-Cql5ZV07.js","assets/vendor-dnd-D_JGdZnv.js","assets/vendor-utils-DiM3BD4o.js","assets/vendor-twilio-BWAG7uEQ.js","assets/vendor-ui-G6aSO5L-.js","assets/vendor-redux-CLEI5hTp.js","assets/vendor-tanstack-N3AJtZOe.js","assets/vendor-tiptap-_i5A4X7p.js","assets/vendor-react-HZz3WA9p.js","assets/vendor-maps-1lAD1rp9.js","assets/vendor-form-DCqShb_y.js","assets/vendor-nim-DNL8ztpi.js","assets/vendor-lucide-EY3Z5fcy.js","assets/vendor-mixpanel-Dh8wsiZW.js","assets/dist-Bh07-69G.js","assets/button-BWyXpawe.js","assets/biz-icon-BHlHk8WD.js","assets/ping-one-CpLVEVLd.js","assets/fleet-logo-with-text-DBrUWQu2.js","assets/spin-Bjb5hq6_.js","assets/alert-dialog-DqgZ-9QP.js","assets/label-BU8XDazs.js","assets/radio-group-DEh2WG4M.js","assets/sonner-DW8cmEcR.js","assets/app-storage-slice-mFVFfzPf.js","assets/dates-B2P7D4-n.js","assets/device-CBwMusKw.js","assets/strings-dAFeDkjR.js","assets/index.es-B3bLVv27.js"])))=>i.map(i=>d[i]);
2import { i as __toDynamicImportESM, t as __commonJSMin } from "./rolldown-runtime-Cql5ZV07.js";
3var scriptRel = "modulepreload";
4var assetsURL = function(dep) {
5	return "/" + dep;
6};
7var seen = {};
8const __vitePreload = function preload(baseModule, deps, importerUrl) {
9	let promise = Promise.resolve();
10	if (deps && deps.length > 0) {
11		const links = document.getElementsByTagName("link");
12		const cspNonceMeta = document.querySelector("meta[property=csp-nonce]");
13		const cspNonce = cspNonceMeta?.nonce || cspNonceMeta?.getAttribute("nonce");
14		function allSettled(promises$2) {
15			return Promise.all(promises$2.map((p$1) => Promise.resolve(p$1).then((value$1) => ({
16				status: "fulfilled",
17				value: value$1
18			}), (reason) => ({
19				status: "rejected",
20				reason
21			}))));
22		}
23		promise = allSettled(deps.map((dep) => {
24			dep = assetsURL(dep, importerUrl);
25			if (dep in seen) return;
26			seen[dep] = true;
27			const isCss = dep.endsWith(".css");
28			const cssSelector = isCss ? "[rel=\"stylesheet\"]" : "";
29			if (!!importerUrl) for (let i$1$1 = links.length - 1; i$1$1 >= 0; i$1$1--) {
30				const link$1 = links[i$1$1];
31				if (link$1.href === dep && (!isCss || link$1.rel === "stylesheet")) return;
32			}
33			else if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) return;
34			const link = document.createElement("link");
35			link.rel = isCss ? "stylesheet" : scriptRel;
36			if (!isCss) link.as = "script";
37			link.crossOrigin = "";
38			link.href = dep;
39			if (cspNonce) link.setAttribute("nonce", cspNonce);
40			document.head.appendChild(link);
41			if (isCss) return new Promise((res, rej) => {
42				link.addEventListener("load", res);
43				link.addEventListener("error", () => rej(/* @__PURE__ */ new Error(`Unable to preload CSS for ${dep}`)));
44			});
45		}));
46	}
47	function handlePreloadError(err$2) {
48		const e$1 = new Event("vite:preloadError", { cancelable: true });
49		e$1.payload = err$2;
50		window.dispatchEvent(e$1);
51		if (!e$1.defaultPrevented) throw err$2;
52	}
53	return promise.then((res) => {
54		for (const item of res || []) {
55			if (item.status !== "rejected") continue;
56			handlePreloadError(item.reason);
57		}
58		return baseModule().catch(handlePreloadError);
59	});
60};
61function _typeof(o$1) {
62	"@babel/helpers - typeof";
63	return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o$2) {
64		return typeof o$2;
65	} : function(o$2) {
66		return o$2 && "function" == typeof Symbol && o$2.constructor === Symbol && o$2 !== Symbol.prototype ? "symbol" : typeof o$2;
67	}, _typeof(o$1);
68}
69var require_html2canvas = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70	/*!
71	* html2canvas 1.4.1 <https://html2canvas.hertzen.com>
72	* Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
73	* Released under MIT License
74	*/
75	(function(global$1, factory) {
76		typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global$1 = typeof globalThis !== "undefined" ? globalThis : global$1 || self, global$1.html2canvas = factory());
77	})(exports, (function() {
78		/*! *****************************************************************************
79		Copyright (c) Microsoft Corporation.
80		
81		Permission to use, copy, modify, and/or distribute this software for any
82		purpose with or without fee is hereby granted.
83		
84		THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
85		REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
86		AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
87		INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
88		LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
89		OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
90		PERFORMANCE OF THIS SOFTWARE.
91		***************************************************************************** */
92		var extendStatics = function(d$1, b$1) {
93			extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d$2, b$2) {
94				d$2.__proto__ = b$2;
95			} || function(d$2, b$2) {
96				for (var p$1 in b$2) if (Object.prototype.hasOwnProperty.call(b$2, p$1)) d$2[p$1] = b$2[p$1];
97			};
98			return extendStatics(d$1, b$1);
99		};
100		function __extends(d$1, b$1) {
101			if (typeof b$1 !== "function" && b$1 !== null) throw new TypeError("Class extends value " + String(b$1) + " is not a constructor or null");
102			extendStatics(d$1, b$1);
103			function __() {
104				this.constructor = d$1;
105			}
106			d$1.prototype = b$1 === null ? Object.create(b$1) : (__.prototype = b$1.prototype, new __());
107		}
108		var __assign = function() {
109			__assign = Object.assign || function __assign$1(t) {
110				for (var s$1, i$5 = 1, n = arguments.length; i$5 < n; i$5++) {
111					s$1 = arguments[i$5];
112					for (var p$1 in s$1) if (Object.prototype.hasOwnProperty.call(s$1, p$1)) t[p$1] = s$1[p$1];
113				}
114				return t;
115			};
116			return __assign.apply(this, arguments);
117		};
118		function __awaiter(thisArg, _arguments, P$1, generator) {
119			function adopt(value) {
120				return value instanceof P$1 ? value : new P$1(function(resolve) {
121					resolve(value);
122				});
123			}
124			return new (P$1 || (P$1 = Promise))(function(resolve, reject) {
125				function fulfilled(value) {
126					try {
127						step(generator.next(value));
128					} catch (e$1) {
129						reject(e$1);
130					}
131				}
132				function rejected(value) {
133					try {
134						step(generator["throw"](value));
135					} catch (e$1) {
136						reject(e$1);
137					}
138				}
139				function step(result) {
140					result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
141				}
142				step((generator = generator.apply(thisArg, _arguments || [])).next());
143			});
144		}
145		function __generator(thisArg, body) {
146			var _$1 = {
147				label: 0,
148				sent: function() {
149					if (t[0] & 1) throw t[1];
150					return t[1];
151				},
152				trys: [],
153				ops: []
154			}, f$2, y$1, t, g$1;
155			return g$1 = {
156				next: verb(0),
157				"throw": verb(1),
158				"return": verb(2)
159			}, typeof Symbol === "function" && (g$1[Symbol.iterator] = function() {
160				return this;
161			}), g$1;
162			function verb(n) {
163				return function(v$1) {
164					return step([n, v$1]);
165				};
166			}
167			function step(op) {
168				if (f$2) throw new TypeError("Generator is already executing.");
169				while (_$1) try {
vendor: 4,810 bytes, lines 170-311
170					if (f$2 = 1, y$1 && (t = op[0] & 2 ? y$1["return"] : op[0] ? y$1["throw"] || ((t = y$1["return"]) && t.call(y$1), 0) : y$1.next) && !(t = t.call(y$1, op[1])).done) return t;
171					if (y$1 = 0, t) op = [op[0] & 2, t.value];
172					switch (op[0]) {
173						case 0:
174						case 1:
175							t = op;
176							break;
177						case 4:
178							_$1.label++;
179							return {
180								value: op[1],
181								done: false
182							};
183						case 5:
184							_$1.label++;
185							y$1 = op[1];
186							op = [0];
187							continue;
188						case 7:
189							op = _$1.ops.pop();
190							_$1.trys.pop();
191							continue;
192						default:
193							if (!(t = _$1.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
194								_$1 = 0;
195								continue;
196							}
197							if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
198								_$1.label = op[1];
199								break;
200							}
201							if (op[0] === 6 && _$1.label < t[1]) {
202								_$1.label = t[1];
203								t = op;
204								break;
205							}
206							if (t && _$1.label < t[2]) {
207								_$1.label = t[2];
208								_$1.ops.push(op);
209								break;
210							}
211							if (t[2]) _$1.ops.pop();
212							_$1.trys.pop();
213							continue;
214					}
215					op = body.call(thisArg, _$1);
216				} catch (e$1) {
217					op = [6, e$1];
218					y$1 = 0;
219				} finally {
220					f$2 = t = 0;
221				}
222				if (op[0] & 5) throw op[1];
223				return {
224					value: op[0] ? op[1] : void 0,
225					done: true
226				};
227			}
228		}
229		function __spreadArray(to, from, pack$1) {
230			if (pack$1 || arguments.length === 2) {
231				for (var i$5 = 0, l$1 = from.length, ar; i$5 < l$1; i$5++) if (ar || !(i$5 in from)) {
232					if (!ar) ar = Array.prototype.slice.call(from, 0, i$5);
233					ar[i$5] = from[i$5];
234				}
235			}
236			return to.concat(ar || from);
237		}
238		var Bounds = function() {
239			function Bounds$1(left, top, width, height) {
240				this.left = left;
241				this.top = top;
242				this.width = width;
243				this.height = height;
244			}
245			Bounds$1.prototype.add = function(x$2, y$1, w$1, h$1) {
246				return new Bounds$1(this.left + x$2, this.top + y$1, this.width + w$1, this.height + h$1);
247			};
248			Bounds$1.fromClientRect = function(context, clientRect) {
249				return new Bounds$1(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);
250			};
251			Bounds$1.fromDOMRectList = function(context, domRectList) {
252				var domRect = Array.from(domRectList).find(function(rect) {
253					return rect.width !== 0;
254				});
255				return domRect ? new Bounds$1(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height) : Bounds$1.EMPTY;
256			};
257			Bounds$1.EMPTY = new Bounds$1(0, 0, 0, 0);
258			return Bounds$1;
259		}();
260		var parseBounds = function(context, node) {
261			return Bounds.fromClientRect(context, node.getBoundingClientRect());
262		};
263		var parseDocumentSize = function(document$1) {
264			var body = document$1.body;
265			var documentElement = document$1.documentElement;
266			if (!body || !documentElement) throw new Error("Unable to get document size");
267			var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));
268			var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));
269			return new Bounds(0, 0, width, height);
270		};
271		var toCodePoints$1 = function(str) {
272			var codePoints = [];
273			var i$5 = 0;
274			var length = str.length;
275			while (i$5 < length) {
276				var value = str.charCodeAt(i$5++);
277				if (value >= 55296 && value <= 56319 && i$5 < length) {
278					var extra = str.charCodeAt(i$5++);
279					if ((extra & 64512) === 56320) codePoints.push(((value & 1023) << 10) + (extra & 1023) + 65536);
280					else {
281						codePoints.push(value);
282						i$5--;
283					}
284				} else codePoints.push(value);
285			}
286			return codePoints;
287		};
288		var fromCodePoint$1 = function() {
289			var codePoints = [];
290			for (var _i = 0; _i < arguments.length; _i++) codePoints[_i] = arguments[_i];
291			if (String.fromCodePoint) return String.fromCodePoint.apply(String, codePoints);
292			var length = codePoints.length;
293			if (!length) return "";
294			var codeUnits = [];
295			var index = -1;
296			var result = "";
297			while (++index < length) {
298				var codePoint = codePoints[index];
299				if (codePoint <= 65535) codeUnits.push(codePoint);
300				else {
301					codePoint -= 65536;
302					codeUnits.push((codePoint >> 10) + 55296, codePoint % 1024 + 56320);
303				}
304				if (index + 1 === length || codeUnits.length > 16384) {
305					result += String.fromCharCode.apply(String, codeUnits);
306					codeUnits.length = 0;
307				}
308			}
309			return result;
310		};
311		var chars$2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
vendor: 4,930 bytes, lines 311-411
311+/";
312		var lookup$2 = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
313		for (var i$2 = 0; i$2 < chars$2.length; i$2++) lookup$2[chars$2.charCodeAt(i$2)] = i$2;
314		var chars$1$1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
315		var lookup$1$1 = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
316		for (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;
317		var decode$1 = function(base64$2) {
318			var bufferLength = base64$2.length * .75, len = base64$2.length, i$5, p$1 = 0, encoded1, encoded2, encoded3, encoded4;
319			if (base64$2[base64$2.length - 1] === "=") {
320				bufferLength--;
321				if (base64$2[base64$2.length - 2] === "=") bufferLength--;
322			}
323			var buffer = typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined" && typeof Uint8Array.prototype.slice !== "undefined" ? new ArrayBuffer(bufferLength) : new Array(bufferLength);
324			var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);
325			for (i$5 = 0; i$5 < len; i$5 += 4) {
326				encoded1 = lookup$1$1[base64$2.charCodeAt(i$5)];
327				encoded2 = lookup$1$1[base64$2.charCodeAt(i$5 + 1)];
328				encoded3 = lookup$1$1[base64$2.charCodeAt(i$5 + 2)];
329				encoded4 = lookup$1$1[base64$2.charCodeAt(i$5 + 3)];
330				bytes[p$1++] = encoded1 << 2 | encoded2 >> 4;
331				bytes[p$1++] = (encoded2 & 15) << 4 | encoded3 >> 2;
332				bytes[p$1++] = (encoded3 & 3) << 6 | encoded4 & 63;
333			}
334			return buffer;
335		};
336		var polyUint16Array$1 = function(buffer) {
337			var length = buffer.length;
338			var bytes = [];
339			for (var i$5 = 0; i$5 < length; i$5 += 2) bytes.push(buffer[i$5 + 1] << 8 | buffer[i$5]);
340			return bytes;
341		};
342		var polyUint32Array$1 = function(buffer) {
343			var length = buffer.length;
344			var bytes = [];
345			for (var i$5 = 0; i$5 < length; i$5 += 4) bytes.push(buffer[i$5 + 3] << 24 | buffer[i$5 + 2] << 16 | buffer[i$5 + 1] << 8 | buffer[i$5]);
346			return bytes;
347		};
348		var UTRIE2_SHIFT_2$1 = 5;
349		var UTRIE2_SHIFT_1$1 = 11;
350		var UTRIE2_INDEX_SHIFT$1 = 2;
351		var UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;
352		var UTRIE2_LSCP_INDEX_2_OFFSET$1 = 65536 >> UTRIE2_SHIFT_2$1;
353		var UTRIE2_DATA_MASK$1 = (1 << UTRIE2_SHIFT_2$1) - 1;
354		var UTRIE2_LSCP_INDEX_2_LENGTH$1 = 1024 >> UTRIE2_SHIFT_2$1;
355		var UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1 + 32;
356		var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 65536 >> UTRIE2_SHIFT_1$1;
357		var UTRIE2_INDEX_2_MASK$1 = (1 << UTRIE2_SHIFT_1_2$1) - 1;
358		var slice16$1 = function(view, start, end) {
359			if (view.slice) return view.slice(start, end);
360			return new Uint16Array(Array.prototype.slice.call(view, start, end));
361		};
362		var slice32$1 = function(view, start, end) {
363			if (view.slice) return view.slice(start, end);
364			return new Uint32Array(Array.prototype.slice.call(view, start, end));
365		};
366		var createTrieFromBase64$1 = function(base64$2, _byteLength) {
367			var buffer = decode$1(base64$2);
368			var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);
369			var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);
370			var headerLength = 24;
371			var index = slice16$1(view16, headerLength / 2, view32[4] / 2);
372			var data = view32[5] === 2 ? slice16$1(view16, (headerLength + view32[4]) / 2) : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));
373			return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);
374		};
375		var Trie$1 = function() {
376			function Trie$2(initialValue, errorValue, highStart, highValueIndex, index, data) {
377				this.initialValue = initialValue;
378				this.errorValue = errorValue;
379				this.highStart = highStart;
380				this.highValueIndex = highValueIndex;
381				this.index = index;
382				this.data = data;
383			}
384			Trie$2.prototype.get = function(codePoint) {
385				var ix;
386				if (codePoint >= 0) {
387					if (codePoint < 55296 || codePoint > 56319 && codePoint <= 65535) {
388						ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];
389						ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);
390						return this.data[ix];
391					}
392					if (codePoint <= 65535) {
393						ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + (codePoint - 55296 >> UTRIE2_SHIFT_2$1)];
394						ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);
395						return this.data[ix];
396					}
397					if (codePoint < this.highStart) {
398						ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);
399						ix = this.index[ix];
400						ix += codePoint >> UTRIE2_SHIFT_2$1 & UTRIE2_INDEX_2_MASK$1;
401						ix = this.index[ix];
402						ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);
403						return this.data[ix];
404					}
405					if (codePoint <= 1114111) return this.data[this.highValueIndex];
406				}
407				return this.errorValue;
408			};
409			return Trie$2;
410		}();
411		var chars$3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
411+/";
412		var lookup$3 = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
413		for (var i$3 = 0; i$3 < chars$3.length; i$3++) lookup$3[chars$3.charCodeAt(i$3)] = i$3;
414		var base64$1 = "
vendor: 52,888 bytes, line 414
414KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==
vendor: 13,577 bytes, lines 414-833
414";
415		var LETTER_NUMBER_MODIFIER = 50;
416		var BK = 1;
417		var CR$1 = 2;
418		var LF$1 = 3;
419		var CM = 4;
420		var NL = 5;
421		var WJ = 7;
422		var ZW = 8;
423		var GL = 9;
424		var SP = 10;
425		var ZWJ$1 = 11;
426		var B2 = 12;
427		var BA = 13;
428		var BB = 14;
429		var HY = 15;
430		var CB = 16;
431		var CL = 17;
432		var CP = 18;
433		var EX = 19;
434		var IN = 20;
435		var NS = 21;
436		var OP = 22;
437		var QU = 23;
438		var IS = 24;
439		var NU = 25;
440		var PO = 26;
441		var PR = 27;
442		var SY = 28;
443		var AI = 29;
444		var AL = 30;
445		var CJ = 31;
446		var EB = 32;
447		var EM = 33;
448		var H2 = 34;
449		var H3 = 35;
450		var HL = 36;
451		var ID = 37;
452		var JL = 38;
453		var JV = 39;
454		var JT = 40;
455		var RI$1 = 41;
456		var SA = 42;
457		var XX = 43;
458		var ea_OP = [9001, 65288];
459		var BREAK_MANDATORY = "!";
460		var BREAK_NOT_ALLOWED$1 = "×";
461		var BREAK_ALLOWED$1 = "÷";
462		var UnicodeTrie$1 = createTrieFromBase64$1(base64$1);
463		var ALPHABETICS = [AL, HL];
464		var HARD_LINE_BREAKS = [
465			BK,
466			CR$1,
467			LF$1,
468			NL
469		];
470		var SPACE$1 = [SP, ZW];
471		var PREFIX_POSTFIX = [PR, PO];
472		var LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);
473		var KOREAN_SYLLABLE_BLOCK = [
474			JL,
475			JV,
476			JT,
477			H2,
478			H3
479		];
480		var HYPHEN = [HY, BA];
481		var codePointsToCharacterClasses = function(codePoints, lineBreak$1) {
482			if (lineBreak$1 === void 0) lineBreak$1 = "strict";
483			var types = [];
484			var indices = [];
485			var categories = [];
486			codePoints.forEach(function(codePoint, index) {
487				var classType = UnicodeTrie$1.get(codePoint);
488				if (classType > LETTER_NUMBER_MODIFIER) {
489					categories.push(true);
490					classType -= LETTER_NUMBER_MODIFIER;
491				} else categories.push(false);
492				if ([
493					"normal",
494					"auto",
495					"loose"
496				].indexOf(lineBreak$1) !== -1) {
497					if ([
498						8208,
499						8211,
500						12316,
501						12448
502					].indexOf(codePoint) !== -1) {
503						indices.push(index);
504						return types.push(CB);
505					}
506				}
507				if (classType === CM || classType === ZWJ$1) {
508					if (index === 0) {
509						indices.push(index);
510						return types.push(AL);
511					}
512					var prev = types[index - 1];
513					if (LINE_BREAKS.indexOf(prev) === -1) {
514						indices.push(indices[index - 1]);
515						return types.push(prev);
516					}
517					indices.push(index);
518					return types.push(AL);
519				}
520				indices.push(index);
521				if (classType === CJ) return types.push(lineBreak$1 === "strict" ? NS : ID);
522				if (classType === SA) return types.push(AL);
523				if (classType === AI) return types.push(AL);
524				if (classType === XX) if (codePoint >= 131072 && codePoint <= 196605 || codePoint >= 196608 && codePoint <= 262141) return types.push(ID);
525				else return types.push(AL);
526				types.push(classType);
527			});
528			return [
529				indices,
530				types,
531				categories
532			];
533		};
534		var isAdjacentWithSpaceIgnored = function(a$2, b$1, currentIndex, classTypes) {
535			var current = classTypes[currentIndex];
536			if (Array.isArray(a$2) ? a$2.indexOf(current) !== -1 : a$2 === current) {
537				var i$5 = currentIndex;
538				while (i$5 <= classTypes.length) {
539					i$5++;
540					var next = classTypes[i$5];
541					if (next === b$1) return true;
542					if (next !== SP) break;
543				}
544			}
545			if (current === SP) {
546				var i$5 = currentIndex;
547				while (i$5 > 0) {
548					i$5--;
549					var prev = classTypes[i$5];
550					if (Array.isArray(a$2) ? a$2.indexOf(prev) !== -1 : a$2 === prev) {
551						var n = currentIndex;
552						while (n <= classTypes.length) {
553							n++;
554							var next = classTypes[n];
555							if (next === b$1) return true;
556							if (next !== SP) break;
557						}
558					}
559					if (prev !== SP) break;
560				}
561			}
562			return false;
563		};
564		var previousNonSpaceClassType = function(currentIndex, classTypes) {
565			var i$5 = currentIndex;
566			while (i$5 >= 0) {
567				var type = classTypes[i$5];
568				if (type === SP) i$5--;
569				else return type;
570			}
571			return 0;
572		};
573		var _lineBreakAtIndex = function(codePoints, classTypes, indicies, index, forbiddenBreaks) {
574			if (indicies[index] === 0) return BREAK_NOT_ALLOWED$1;
575			var currentIndex = index - 1;
576			if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) return BREAK_NOT_ALLOWED$1;
577			var beforeIndex = currentIndex - 1;
578			var afterIndex = currentIndex + 1;
579			var current = classTypes[currentIndex];
580			var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;
581			var next = classTypes[afterIndex];
582			if (current === CR$1 && next === LF$1) return BREAK_NOT_ALLOWED$1;
583			if (HARD_LINE_BREAKS.indexOf(current) !== -1) return BREAK_MANDATORY;
584			if (HARD_LINE_BREAKS.indexOf(next) !== -1) return BREAK_NOT_ALLOWED$1;
585			if (SPACE$1.indexOf(next) !== -1) return BREAK_NOT_ALLOWED$1;
586			if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) return BREAK_ALLOWED$1;
587			if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) return BREAK_NOT_ALLOWED$1;
588			if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) return BREAK_NOT_ALLOWED$1;
589			if (current === WJ || next === WJ) return BREAK_NOT_ALLOWED$1;
590			if (current === GL) return BREAK_NOT_ALLOWED$1;
591			if ([
592				SP,
593				BA,
594				HY
595			].indexOf(current) === -1 && next === GL) return BREAK_NOT_ALLOWED$1;
596			if ([
597				CL,
598				CP,
599				EX,
600				IS,
601				SY
602			].indexOf(next) !== -1) return BREAK_NOT_ALLOWED$1;
603			if (previousNonSpaceClassType(currentIndex, classTypes) === OP) return BREAK_NOT_ALLOWED$1;
604			if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) return BREAK_NOT_ALLOWED$1;
605			if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) return BREAK_NOT_ALLOWED$1;
606			if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) return BREAK_NOT_ALLOWED$1;
607			if (current === SP) return BREAK_ALLOWED$1;
608			if (current === QU || next === QU) return BREAK_NOT_ALLOWED$1;
609			if (next === CB || current === CB) return BREAK_ALLOWED$1;
610			if ([
611				BA,
612				HY,
613				NS
614			].indexOf(next) !== -1 || current === BB) return BREAK_NOT_ALLOWED$1;
615			if (before === HL && HYPHEN.indexOf(current) !== -1) return BREAK_NOT_ALLOWED$1;
616			if (current === SY && next === HL) return BREAK_NOT_ALLOWED$1;
617			if (next === IN) return BREAK_NOT_ALLOWED$1;
618			if (ALPHABETICS.indexOf(next) !== -1 && current === NU || ALPHABETICS.indexOf(current) !== -1 && next === NU) return BREAK_NOT_ALLOWED$1;
619			if (current === PR && [
620				ID,
621				EB,
622				EM
623			].indexOf(next) !== -1 || [
624				ID,
625				EB,
626				EM
627			].indexOf(current) !== -1 && next === PO) return BREAK_NOT_ALLOWED$1;
628			if (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1 || PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) return BREAK_NOT_ALLOWED$1;
629			if ([PR, PO].indexOf(current) !== -1 && (next === NU || [OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU) || [OP, HY].indexOf(current) !== -1 && next === NU || current === NU && [
630				NU,
631				SY,
632				IS
633			].indexOf(next) !== -1) return BREAK_NOT_ALLOWED$1;
634			if ([
635				NU,
636				SY,
637				IS,
638				CL,
639				CP
640			].indexOf(next) !== -1) {
641				var prevIndex = currentIndex;
642				while (prevIndex >= 0) {
643					var type = classTypes[prevIndex];
644					if (type === NU) return BREAK_NOT_ALLOWED$1;
645					else if ([SY, IS].indexOf(type) !== -1) prevIndex--;
646					else break;
647				}
648			}
649			if ([PR, PO].indexOf(next) !== -1) {
650				var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;
651				while (prevIndex >= 0) {
652					var type = classTypes[prevIndex];
653					if (type === NU) return BREAK_NOT_ALLOWED$1;
654					else if ([SY, IS].indexOf(type) !== -1) prevIndex--;
655					else break;
656				}
657			}
658			if (JL === current && [
659				JL,
660				JV,
661				H2,
662				H3
663			].indexOf(next) !== -1 || [JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1 || [JT, H3].indexOf(current) !== -1 && next === JT) return BREAK_NOT_ALLOWED$1;
664			if (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1 || KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR) return BREAK_NOT_ALLOWED$1;
665			if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) return BREAK_NOT_ALLOWED$1;
666			if (current === IS && ALPHABETICS.indexOf(next) !== -1) return BREAK_NOT_ALLOWED$1;
667			if (ALPHABETICS.concat(NU).indexOf(current) !== -1 && next === OP && ea_OP.indexOf(codePoints[afterIndex]) === -1 || ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP) return BREAK_NOT_ALLOWED$1;
668			if (current === RI$1 && next === RI$1) {
669				var i$5 = indicies[currentIndex];
670				var count = 1;
671				while (i$5 > 0) {
672					i$5--;
673					if (classTypes[i$5] === RI$1) count++;
674					else break;
675				}
676				if (count % 2 !== 0) return BREAK_NOT_ALLOWED$1;
677			}
678			if (current === EB && next === EM) return BREAK_NOT_ALLOWED$1;
679			return BREAK_ALLOWED$1;
680		};
681		var cssFormattedClasses = function(codePoints, options) {
682			if (!options) options = {
683				lineBreak: "normal",
684				wordBreak: "normal"
685			};
686			var _a$1 = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a$1[0], classTypes = _a$1[1], isLetterNumber = _a$1[2];
687			if (options.wordBreak === "break-all" || options.wordBreak === "break-word") classTypes = classTypes.map(function(type) {
688				return [
689					NU,
690					AL,
691					SA
692				].indexOf(type) !== -1 ? ID : type;
693			});
694			var forbiddenBreakpoints = options.wordBreak === "keep-all" ? isLetterNumber.map(function(letterNumber, i$5) {
695				return letterNumber && codePoints[i$5] >= 19968 && codePoints[i$5] <= 40959;
696			}) : void 0;
697			return [
698				indicies,
699				classTypes,
700				forbiddenBreakpoints
701			];
702		};
703		var Break = function() {
704			function Break$1(codePoints, lineBreak$1, start, end) {
705				this.codePoints = codePoints;
706				this.required = lineBreak$1 === BREAK_MANDATORY;
707				this.start = start;
708				this.end = end;
709			}
710			Break$1.prototype.slice = function() {
711				return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));
712			};
713			return Break$1;
714		}();
715		var LineBreaker = function(str, options) {
716			var codePoints = toCodePoints$1(str);
717			var _a$1 = cssFormattedClasses(codePoints, options), indicies = _a$1[0], classTypes = _a$1[1], forbiddenBreakpoints = _a$1[2];
718			var length = codePoints.length;
719			var lastEnd = 0;
720			var nextIndex = 0;
721			return { next: function() {
722				if (nextIndex >= length) return {
723					done: true,
724					value: null
725				};
726				var lineBreak$1 = BREAK_NOT_ALLOWED$1;
727				while (nextIndex < length && (lineBreak$1 = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) === BREAK_NOT_ALLOWED$1);
728				if (lineBreak$1 !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {
729					var value = new Break(codePoints, lineBreak$1, lastEnd, nextIndex);
730					lastEnd = nextIndex;
731					return {
732						value,
733						done: false
734					};
735				}
736				return {
737					done: true,
738					value: null
739				};
740			} };
741		};
742		var FLAG_UNRESTRICTED = 1;
743		var FLAG_ID = 2;
744		var FLAG_INTEGER = 4;
745		var FLAG_NUMBER = 8;
746		var LINE_FEED = 10;
747		var SOLIDUS = 47;
748		var REVERSE_SOLIDUS = 92;
749		var CHARACTER_TABULATION = 9;
750		var SPACE = 32;
751		var QUOTATION_MARK = 34;
752		var EQUALS_SIGN = 61;
753		var NUMBER_SIGN = 35;
754		var DOLLAR_SIGN = 36;
755		var PERCENTAGE_SIGN = 37;
756		var APOSTROPHE = 39;
757		var LEFT_PARENTHESIS = 40;
758		var RIGHT_PARENTHESIS = 41;
759		var LOW_LINE = 95;
760		var HYPHEN_MINUS = 45;
761		var EXCLAMATION_MARK = 33;
762		var LESS_THAN_SIGN = 60;
763		var GREATER_THAN_SIGN = 62;
764		var COMMERCIAL_AT = 64;
765		var LEFT_SQUARE_BRACKET = 91;
766		var RIGHT_SQUARE_BRACKET = 93;
767		var CIRCUMFLEX_ACCENT = 61;
768		var LEFT_CURLY_BRACKET = 123;
769		var QUESTION_MARK = 63;
770		var RIGHT_CURLY_BRACKET = 125;
771		var VERTICAL_LINE = 124;
772		var TILDE = 126;
773		var CONTROL = 128;
774		var REPLACEMENT_CHARACTER = 65533;
775		var ASTERISK = 42;
776		var PLUS_SIGN = 43;
777		var COMMA = 44;
778		var COLON = 58;
779		var SEMICOLON = 59;
780		var FULL_STOP = 46;
781		var NULL$1 = 0;
782		var BACKSPACE = 8;
783		var LINE_TABULATION = 11;
784		var SHIFT_OUT = 14;
785		var INFORMATION_SEPARATOR_ONE = 31;
786		var DELETE = 127;
787		var EOF = -1;
788		var ZERO = 48;
789		var a$1 = 97;
790		var e = 101;
791		var f$1 = 102;
792		var u$1 = 117;
793		var z$1 = 122;
794		var A$1 = 65;
795		var E$1 = 69;
796		var F$1 = 70;
797		var U$1 = 85;
798		var Z$1 = 90;
799		var isDigit = function(codePoint) {
800			return codePoint >= ZERO && codePoint <= 57;
801		};
802		var isSurrogateCodePoint = function(codePoint) {
803			return codePoint >= 55296 && codePoint <= 57343;
804		};
805		var isHex = function(codePoint) {
806			return isDigit(codePoint) || codePoint >= A$1 && codePoint <= F$1 || codePoint >= a$1 && codePoint <= f$1;
807		};
808		var isLowerCaseLetter = function(codePoint) {
809			return codePoint >= a$1 && codePoint <= z$1;
810		};
811		var isUpperCaseLetter = function(codePoint) {
812			return codePoint >= A$1 && codePoint <= Z$1;
813		};
814		var isLetter = function(codePoint) {
815			return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);
816		};
817		var isNonASCIICodePoint = function(codePoint) {
818			return codePoint >= CONTROL;
819		};
820		var isWhiteSpace = function(codePoint) {
821			return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;
822		};
823		var isNameStartCodePoint = function(codePoint) {
824			return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;
825		};
826		var isNameCodePoint = function(codePoint) {
827			return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;
828		};
829		var isNonPrintableCodePoint = function(codePoint) {
830			return codePoint >= NULL$1 && codePoint <= BACKSPACE || codePoint === LINE_TABULATION || codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE || codePoint === DELETE;
831		};
832		var isValidEscape = function(c1, c2) {
833			if (c1 !== REVERSE_SOLIDUS) return false;
vendor: 8,742 bytes, lines 834-1090
834			return c2 !== LINE_FEED;
835		};
836		var isIdentifierStart = function(c1, c2, c3) {
837			if (c1 === HYPHEN_MINUS) return isNameStartCodePoint(c2) || isValidEscape(c2, c3);
838			else if (isNameStartCodePoint(c1)) return true;
839			else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) return true;
840			return false;
841		};
842		var isNumberStart = function(c1, c2, c3) {
843			if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {
844				if (isDigit(c2)) return true;
845				return c2 === FULL_STOP && isDigit(c3);
846			}
847			if (c1 === FULL_STOP) return isDigit(c2);
848			return isDigit(c1);
849		};
850		var stringToNumber = function(codePoints) {
851			var c$1 = 0;
852			var sign = 1;
853			if (codePoints[c$1] === PLUS_SIGN || codePoints[c$1] === HYPHEN_MINUS) {
854				if (codePoints[c$1] === HYPHEN_MINUS) sign = -1;
855				c$1++;
856			}
857			var integers = [];
858			while (isDigit(codePoints[c$1])) integers.push(codePoints[c$1++]);
859			var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;
860			if (codePoints[c$1] === FULL_STOP) c$1++;
861			var fraction = [];
862			while (isDigit(codePoints[c$1])) fraction.push(codePoints[c$1++]);
863			var fracd = fraction.length;
864			var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;
865			if (codePoints[c$1] === E$1 || codePoints[c$1] === e) c$1++;
866			var expsign = 1;
867			if (codePoints[c$1] === PLUS_SIGN || codePoints[c$1] === HYPHEN_MINUS) {
868				if (codePoints[c$1] === HYPHEN_MINUS) expsign = -1;
869				c$1++;
870			}
871			var exponent = [];
872			while (isDigit(codePoints[c$1])) exponent.push(codePoints[c$1++]);
873			var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;
874			return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);
875		};
876		var LEFT_PARENTHESIS_TOKEN = { type: 2 };
877		var RIGHT_PARENTHESIS_TOKEN = { type: 3 };
878		var COMMA_TOKEN = { type: 4 };
879		var SUFFIX_MATCH_TOKEN = { type: 13 };
880		var PREFIX_MATCH_TOKEN = { type: 8 };
881		var COLUMN_TOKEN = { type: 21 };
882		var DASH_MATCH_TOKEN = { type: 9 };
883		var INCLUDE_MATCH_TOKEN = { type: 10 };
884		var LEFT_CURLY_BRACKET_TOKEN = { type: 11 };
885		var RIGHT_CURLY_BRACKET_TOKEN = { type: 12 };
886		var SUBSTRING_MATCH_TOKEN = { type: 14 };
887		var BAD_URL_TOKEN = { type: 23 };
888		var BAD_STRING_TOKEN = { type: 1 };
889		var CDO_TOKEN = { type: 25 };
890		var CDC_TOKEN = { type: 24 };
891		var COLON_TOKEN = { type: 26 };
892		var SEMICOLON_TOKEN = { type: 27 };
893		var LEFT_SQUARE_BRACKET_TOKEN = { type: 28 };
894		var RIGHT_SQUARE_BRACKET_TOKEN = { type: 29 };
895		var WHITESPACE_TOKEN = { type: 31 };
896		var EOF_TOKEN = { type: 32 };
897		var Tokenizer = function() {
898			function Tokenizer$1() {
899				this._value = [];
900			}
901			Tokenizer$1.prototype.write = function(chunk) {
902				this._value = this._value.concat(toCodePoints$1(chunk));
903			};
904			Tokenizer$1.prototype.read = function() {
905				var tokens = [];
906				var token = this.consumeToken();
907				while (token !== EOF_TOKEN) {
908					tokens.push(token);
909					token = this.consumeToken();
910				}
911				return tokens;
912			};
913			Tokenizer$1.prototype.consumeToken = function() {
914				var codePoint = this.consumeCodePoint();
915				switch (codePoint) {
916					case QUOTATION_MARK: return this.consumeStringToken(QUOTATION_MARK);
917					case NUMBER_SIGN:
918						var c1 = this.peekCodePoint(0);
919						var c2 = this.peekCodePoint(1);
920						var c3 = this.peekCodePoint(2);
921						if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {
922							var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;
923							var value = this.consumeName();
924							return {
925								type: 5,
926								value,
927								flags
928							};
929						}
930						break;
931					case DOLLAR_SIGN:
932						if (this.peekCodePoint(0) === EQUALS_SIGN) {
933							this.consumeCodePoint();
934							return SUFFIX_MATCH_TOKEN;
935						}
936						break;
937					case APOSTROPHE: return this.consumeStringToken(APOSTROPHE);
938					case LEFT_PARENTHESIS: return LEFT_PARENTHESIS_TOKEN;
939					case RIGHT_PARENTHESIS: return RIGHT_PARENTHESIS_TOKEN;
940					case ASTERISK:
941						if (this.peekCodePoint(0) === EQUALS_SIGN) {
942							this.consumeCodePoint();
943							return SUBSTRING_MATCH_TOKEN;
944						}
945						break;
946					case PLUS_SIGN:
947						if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {
948							this.reconsumeCodePoint(codePoint);
949							return this.consumeNumericToken();
950						}
951						break;
952					case COMMA: return COMMA_TOKEN;
953					case HYPHEN_MINUS:
954						var e1 = codePoint;
955						var e2 = this.peekCodePoint(0);
956						var e3 = this.peekCodePoint(1);
957						if (isNumberStart(e1, e2, e3)) {
958							this.reconsumeCodePoint(codePoint);
959							return this.consumeNumericToken();
960						}
961						if (isIdentifierStart(e1, e2, e3)) {
962							this.reconsumeCodePoint(codePoint);
963							return this.consumeIdentLikeToken();
964						}
965						if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {
966							this.consumeCodePoint();
967							this.consumeCodePoint();
968							return CDC_TOKEN;
969						}
970						break;
971					case FULL_STOP:
972						if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {
973							this.reconsumeCodePoint(codePoint);
974							return this.consumeNumericToken();
975						}
976						break;
977					case SOLIDUS:
978						if (this.peekCodePoint(0) === ASTERISK) {
979							this.consumeCodePoint();
980							while (true) {
981								var c$1 = this.consumeCodePoint();
982								if (c$1 === ASTERISK) {
983									c$1 = this.consumeCodePoint();
984									if (c$1 === SOLIDUS) return this.consumeToken();
985								}
986								if (c$1 === EOF) return this.consumeToken();
987							}
988						}
989						break;
990					case COLON: return COLON_TOKEN;
991					case SEMICOLON: return SEMICOLON_TOKEN;
992					case LESS_THAN_SIGN:
993						if (this.peekCodePoint(0) === EXCLAMATION_MARK && this.peekCodePoint(1) === HYPHEN_MINUS && this.peekCodePoint(2) === HYPHEN_MINUS) {
994							this.consumeCodePoint();
995							this.consumeCodePoint();
996							return CDO_TOKEN;
997						}
998						break;
999					case COMMERCIAL_AT:
1000						var a1 = this.peekCodePoint(0);
1001						var a2 = this.peekCodePoint(1);
1002						var a3 = this.peekCodePoint(2);
1003						if (isIdentifierStart(a1, a2, a3)) {
1004							var value = this.consumeName();
1005							return {
1006								type: 7,
1007								value
1008							};
1009						}
1010						break;
1011					case LEFT_SQUARE_BRACKET: return LEFT_SQUARE_BRACKET_TOKEN;
1012					case REVERSE_SOLIDUS:
1013						if (isValidEscape(codePoint, this.peekCodePoint(0))) {
1014							this.reconsumeCodePoint(codePoint);
1015							return this.consumeIdentLikeToken();
1016						}
1017						break;
1018					case RIGHT_SQUARE_BRACKET: return RIGHT_SQUARE_BRACKET_TOKEN;
1019					case CIRCUMFLEX_ACCENT:
1020						if (this.peekCodePoint(0) === EQUALS_SIGN) {
1021							this.consumeCodePoint();
1022							return PREFIX_MATCH_TOKEN;
1023						}
1024						break;
1025					case LEFT_CURLY_BRACKET: return LEFT_CURLY_BRACKET_TOKEN;
1026					case RIGHT_CURLY_BRACKET: return RIGHT_CURLY_BRACKET_TOKEN;
1027					case u$1:
1028					case U$1:
1029						var u1 = this.peekCodePoint(0);
1030						var u2 = this.peekCodePoint(1);
1031						if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {
1032							this.consumeCodePoint();
1033							this.consumeUnicodeRangeToken();
1034						}
1035						this.reconsumeCodePoint(codePoint);
1036						return this.consumeIdentLikeToken();
1037					case VERTICAL_LINE:
1038						if (this.peekCodePoint(0) === EQUALS_SIGN) {
1039							this.consumeCodePoint();
1040							return DASH_MATCH_TOKEN;
1041						}
1042						if (this.peekCodePoint(0) === VERTICAL_LINE) {
1043							this.consumeCodePoint();
1044							return COLUMN_TOKEN;
1045						}
1046						break;
1047					case TILDE:
1048						if (this.peekCodePoint(0) === EQUALS_SIGN) {
1049							this.consumeCodePoint();
1050							return INCLUDE_MATCH_TOKEN;
1051						}
1052						break;
1053					case EOF: return EOF_TOKEN;
1054				}
1055				if (isWhiteSpace(codePoint)) {
1056					this.consumeWhiteSpace();
1057					return WHITESPACE_TOKEN;
1058				}
1059				if (isDigit(codePoint)) {
1060					this.reconsumeCodePoint(codePoint);
1061					return this.consumeNumericToken();
1062				}
1063				if (isNameStartCodePoint(codePoint)) {
1064					this.reconsumeCodePoint(codePoint);
1065					return this.consumeIdentLikeToken();
1066				}
1067				return {
1068					type: 6,
1069					value: fromCodePoint$1(codePoint)
1070				};
1071			};
1072			Tokenizer$1.prototype.consumeCodePoint = function() {
1073				var value = this._value.shift();
1074				return typeof value === "undefined" ? -1 : value;
1075			};
1076			Tokenizer$1.prototype.reconsumeCodePoint = function(codePoint) {
1077				this._value.unshift(codePoint);
1078			};
1079			Tokenizer$1.prototype.peekCodePoint = function(delta) {
1080				if (delta >= this._value.length) return -1;
1081				return this._value[delta];
1082			};
1083			Tokenizer$1.prototype.consumeUnicodeRangeToken = function() {
1084				var digits = [];
1085				var codePoint = this.consumeCodePoint();
1086				while (isHex(codePoint) && digits.length < 6) {
1087					digits.push(codePoint);
1088					codePoint = this.consumeCodePoint();
1089				}
1090				var questionMarks = false;
1091				while (codePoint === QUESTION_MARK && digits.length < 6) {
1092					digits.push(codePoint);
1093					codePoint = this.consumeCodePoint();
1094					questionMarks = true;
1095				}
1096				if (questionMarks) {
1097					var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function(digit) {
1098						return digit === QUESTION_MARK ? ZERO : digit;
1099					})), 16);
1100					var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function(digit) {
1101						return digit === QUESTION_MARK ? F$1 : digit;
1102					})), 16);
1103					return {
1104						type: 30,
1105						start: start_1,
1106						end
1107					};
1108				}
1109				var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);
1110				if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {
1111					this.consumeCodePoint();
1112					codePoint = this.consumeCodePoint();
1113					var endDigits = [];
1114					while (isHex(codePoint) && endDigits.length < 6) {
1115						endDigits.push(codePoint);
1116						codePoint = this.consumeCodePoint();
1117					}
1118					var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);
1119					return {
1120						type: 30,
1121						start,
1122						end
1123					};
1124				} else return {
1125					type: 30,
1126					start,
1127					end: start
1128				};
1129			};
1130			Tokenizer$1.prototype.consumeIdentLikeToken = function() {
1131				var value = this.consumeName();
1132				if (value.toLowerCase() === "url" && this.peekCodePoint(0) === LEFT_PARENTHESIS) {
1133					this.consumeCodePoint();
1134					return this.consumeUrlToken();
1135				} else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {
1136					this.consumeCodePoint();
1137					return {
1138						type: 19,
1139						value
1140					};
1141				}
1142				return {
1143					type: 20,
1144					value
1145				};
1146			};
1147			Tokenizer$1.prototype.consumeUrlToken = function() {
1148				var value = [];
1149				this.consumeWhiteSpace();
1150				if (this.peekCodePoint(0) === EOF) return {
1151					type: 22,
1152					value: ""
1153				};
1154				var next = this.peekCodePoint(0);
1155				if (next === APOSTROPHE || next === QUOTATION_MARK) {
1156					var stringToken = this.consumeStringToken(this.consumeCodePoint());
1157					if (stringToken.type === 0) {
1158						this.consumeWhiteSpace();
1159						if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {
1160							this.consumeCodePoint();
1161							return {
1162								type: 22,
1163								value: stringToken.value
1164							};
1165						}
1166					}
1167					this.consumeBadUrlRemnants();
1168					return BAD_URL_TOKEN;
1169				}
1170				while (true) {
1171					var codePoint = this.consumeCodePoint();
1172					if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) return {
1173						type: 22,
1174						value: fromCodePoint$1.apply(void 0, value)
1175					};
1176					else if (isWhiteSpace(codePoint)) {
1177						this.consumeWhiteSpace();
1178						if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {
1179							this.consumeCodePoint();
1180							return {
1181								type: 22,
1182								value: fromCodePoint$1.apply(void 0, value)
1183							};
1184						}
1185						this.consumeBadUrlRemnants();
1186						return BAD_URL_TOKEN;
1187					} else if (codePoint === QUOTATION_MARK || codePoint === APOSTROPHE || codePoint === LEFT_PARENTHESIS || isNonPrintableCodePoint(codePoint)) {
1188						this.consumeBadUrlRemnants();
1189						return BAD_URL_TOKEN;
1190					} else if (codePoint === REVERSE_SOLIDUS) if (isValidEscape(codePoint, this.peekCodePoint(0))) value.push(this.consumeEscapedCodePoint());
1191					else {
1192						this.consumeBadUrlRemnants();
1193						return BAD_URL_TOKEN;
1194					}
1195					else value.push(codePoint);
1196				}
1197			};
1198			Tokenizer$1.prototype.consumeWhiteSpace = function() {
1199				while (isWhiteSpace(this.peekCodePoint(0))) this.consumeCodePoint();
1200			};
1201			Tokenizer$1.prototype.consumeBadUrlRemnants = function() {
1202				while (true) {
1203					var codePoint = this.consumeCodePoint();
1204					if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) return;
1205					if (isValidEscape(codePoint, this.peekCodePoint(0))) this.consumeEscapedCodePoint();
1206				}
1207			};
1208			Tokenizer$1.prototype.consumeStringSlice = function(count) {
1209				var SLICE_STACK_SIZE = 5e4;
1210				var value = "";
1211				while (count > 0) {
1212					var amount = Math.min(SLICE_STACK_SIZE, count);
1213					value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));
1214					count -= amount;
1215				}
1216				this._value.shift();
1217				return value;
1218			};
1219			Tokenizer$1.prototype.consumeStringToken = function(endingCodePoint) {
1220				var value = "";
1221				var i$5 = 0;
1222				do {
1223					var codePoint = this._value[i$5];
1224					if (codePoint === EOF || codePoint === void 0 || codePoint === endingCodePoint) {
1225						value += this.consumeStringSlice(i$5);
1226						return {
1227							type: 0,
1228							value
1229						};
1230					}
1231					if (codePoint === LINE_FEED) {
1232						this._value.splice(0, i$5);
1233						return BAD_STRING_TOKEN;
1234					}
1235					if (codePoint === REVERSE_SOLIDUS) {
1236						var next = this._value[i$5 + 1];
1237						if (next !== EOF && next !== void 0) {
1238							if (next === LINE_FEED) {
1239								value += this.consumeStringSlice(i$5);
1240								i$5 = -1;
1241								this._value.shift();
1242							} else if (isValidEscape(codePoint, next)) {
1243								value += this.consumeStringSlice(i$5);
1244								value += fromCodePoint$1(this.consumeEscapedCodePoint());
1245								i$5 = -1;
1246							}
1247						}
1248					}
1249					i$5++;
1250				} while (true);
1251			};
1252			Tokenizer$1.prototype.consumeNumber = function() {
1253				var repr = [];
1254				var type = FLAG_INTEGER;
1255				var c1 = this.peekCodePoint(0);
1256				if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) repr.push(this.consumeCodePoint());
1257				while (isDigit(this.peekCodePoint(0))) repr.push(this.consumeCodePoint());
1258				c1 = this.peekCodePoint(0);
1259				var c2 = this.peekCodePoint(1);
1260				if (c1 === FULL_STOP && isDigit(c2)) {
1261					repr.push(this.consumeCodePoint(), this.consumeCodePoint());
1262					type = FLAG_NUMBER;
1263					while (isDigit(this.peekCodePoint(0))) repr.push(this.consumeCodePoint());
1264				}
1265				c1 = this.peekCodePoint(0);
1266				c2 = this.peekCodePoint(1);
1267				var c3 = this.peekCodePoint(2);
1268				if ((c1 === E$1 || c1 === e) && ((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3) || isDigit(c2))) {
1269					repr.push(this.consumeCodePoint(), this.consumeCodePoint());
1270					type = FLAG_NUMBER;
1271					while (isDigit(this.peekCodePoint(0))) repr.push(this.consumeCodePoint());
1272				}
1273				return [stringToNumber(repr), type];
1274			};
1275			Tokenizer$1.prototype.consumeNumericToken = function() {
1276				var _a$1 = this.consumeNumber(), number = _a$1[0], flags = _a$1[1];
1277				var c1 = this.peekCodePoint(0);
1278				var c2 = this.peekCodePoint(1);
1279				var c3 = this.peekCodePoint(2);
1280				if (isIdentifierStart(c1, c2, c3)) {
1281					var unit = this.consumeName();
1282					return {
1283						type: 15,
1284						number,
1285						flags,
1286						unit
1287					};
1288				}
1289				if (c1 === PERCENTAGE_SIGN) {
1290					this.consumeCodePoint();
1291					return {
1292						type: 16,
1293						number,
1294						flags
1295					};
1296				}
1297				return {
1298					type: 17,
1299					number,
1300					flags
1301				};
1302			};
1303			Tokenizer$1.prototype.consumeEscapedCodePoint = function() {
1304				var codePoint = this.consumeCodePoint();
1305				if (isHex(codePoint)) {
1306					var hex = fromCodePoint$1(codePoint);
1307					while (isHex(this.peekCodePoint(0)) && hex.length < 6) hex += fromCodePoint$1(this.consumeCodePoint());
1308					if (isWhiteSpace(this.peekCodePoint(0))) this.consumeCodePoint();
1309					var hexCodePoint = parseInt(hex, 16);
1310					if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 1114111) return REPLACEMENT_CHARACTER;
1311					return hexCodePoint;
1312				}
1313				if (codePoint === EOF) return REPLACEMENT_CHARACTER;
1314				return codePoint;
1315			};
1316			Tokenizer$1.prototype.consumeName = function() {
1317				var result = "";
1318				while (true) {
1319					var codePoint = this.consumeCodePoint();
1320					if (isNameCodePoint(codePoint)) result += fromCodePoint$1(codePoint);
1321					else if (isValidEscape(codePoint, this.peekCodePoint(0))) result += fromCodePoint$1(this.consumeEscapedCodePoint());
1322					else {
1323						this.reconsumeCodePoint(codePoint);
1324						return result;
1325					}
1326				}
1327			};
1328			return Tokenizer$1;
1329		}();
1330		var Parser = function() {
1331			function Parser$1(tokens) {
1332				this._tokens = tokens;
1333			}
1334			Parser$1.create = function(value) {
1335				var tokenizer = new Tokenizer();
1336				tokenizer.write(value);
1337				return new Parser$1(tokenizer.read());
1338			};
1339			Parser$1.parseValue = function(value) {
1340				return Parser$1.create(value).parseComponentValue();
1341			};
1342			Parser$1.parseValues = function(value) {
1343				return Parser$1.create(value).parseComponentValues();
1344			};
1345			Parser$1.prototype.parseComponentValue = function() {
1346				var token = this.consumeToken();
1347				while (token.type === 31) token = this.consumeToken();
1348				if (token.type === 32) throw new SyntaxError("Error parsing CSS component value, unexpected EOF");
1349				this.reconsumeToken(token);
1350				var value = this.consumeComponentValue();
1351				do
1352					token = this.consumeToken();
1353				while (token.type === 31);
1354				if (token.type === 32) return value;
1355				throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one");
1356			};
1357			Parser$1.prototype.parseComponentValues = function() {
1358				var values = [];
1359				while (true) {
1360					var value = this.consumeComponentValue();
1361					if (value.type === 32) return values;
1362					values.push(value);
1363					values.push();
1364				}
1365			};
1366			Parser$1.prototype.consumeComponentValue = function() {
1367				var token = this.consumeToken();
1368				switch (token.type) {
1369					case 11:
1370					case 28:
1371					case 2: return this.consumeSimpleBlock(token.type);
1372					case 19: return this.consumeFunction(token);
1373				}
1374				return token;
1375			};
1376			Parser$1.prototype.consumeSimpleBlock = function(type) {
1377				var block = {
1378					type,
1379					values: []
1380				};
1381				var token = this.consumeToken();
1382				while (true) {
1383					if (token.type === 32 || isEndingTokenFor(token, type)) return block;
1384					this.reconsumeToken(token);
1385					block.values.push(this.consumeComponentValue());
1386					token = this.consumeToken();
1387				}
1388			};
1389			Parser$1.prototype.consumeFunction = function(functionToken) {
1390				var cssFunction = {
1391					name: functionToken.value,
1392					values: [],
1393					type: 18
1394				};
1395				while (true) {
1396					var token = this.consumeToken();
1397					if (token.type === 32 || token.type === 3) return cssFunction;
1398					this.reconsumeToken(token);
1399					cssFunction.values.push(this.consumeComponentValue());
1400				}
1401			};
1402			Parser$1.prototype.consumeToken = function() {
1403				var token = this._tokens.shift();
1404				return typeof token === "undefined" ? EOF_TOKEN : token;
1405			};
1406			Parser$1.prototype.reconsumeToken = function(token) {
1407				this._tokens.unshift(token);
1408			};
1409			return Parser$1;
1410		}();
1411		var isDimensionToken = function(token) {
1412			return token.type === 15;
1413		};
1414		var isNumberToken = function(token) {
1415			return token.type === 17;
1416		};
1417		var isIdentToken = function(token) {
1418			return token.type === 20;
1419		};
1420		var isStringToken = function(token) {
1421			return token.type === 0;
1422		};
1423		var isIdentWithValue = function(token, value) {
1424			return isIdentToken(token) && token.value === value;
1425		};
1426		var nonWhiteSpace = function(token) {
1427			return token.type !== 31;
1428		};
1429		var nonFunctionArgSeparator = function(token) {
1430			return token.type !== 31 && token.type !== 4;
1431		};
1432		var parseFunctionArgs = function(tokens) {
1433			var args = [];
1434			var arg = [];
1435			tokens.forEach(function(token) {
1436				if (token.type === 4) {
1437					if (arg.length === 0) throw new Error("Error parsing function args, zero tokens for arg");
1438					args.push(arg);
1439					arg = [];
1440					return;
1441				}
1442				if (token.type !== 31) arg.push(token);
1443			});
1444			if (arg.length) args.push(arg);
1445			return args;
1446		};
1447		var isEndingTokenFor = function(token, type) {
1448			if (type === 11 && token.type === 12) return true;
1449			if (type === 28 && token.type === 29) return true;
1450			return type === 2 && token.type === 3;
1451		};
1452		var isLength = function(token) {
1453			return token.type === 17 || token.type === 15;
1454		};
1455		var isLengthPercentage = function(token) {
1456			return token.type === 16 || isLength(token);
1457		};
1458		var parseLengthPercentageTuple = function(tokens) {
1459			return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];
1460		};
1461		var ZERO_LENGTH = {
1462			type: 17,
1463			number: 0,
1464			flags: FLAG_INTEGER
1465		};
1466		var FIFTY_PERCENT = {
1467			type: 16,
1468			number: 50,
1469			flags: FLAG_INTEGER
1470		};
1471		var HUNDRED_PERCENT = {
1472			type: 16,
1473			number: 100,
1474			flags: FLAG_INTEGER
1475		};
1476		var getAbsoluteValueForTuple = function(tuple, width, height) {
1477			var x$2 = tuple[0], y$1 = tuple[1];
1478			return [getAbsoluteValue(x$2, width), getAbsoluteValue(typeof y$1 !== "undefined" ? y$1 : x$2, height)];
1479		};
1480		var getAbsoluteValue = function(token, parent) {
1481			if (token.type === 16) return token.number / 100 * parent;
1482			if (isDimensionToken(token)) switch (token.unit) {
1483				case "rem":
1484				case "em": return 16 * token.number;
1485				case "px":
1486				default: return token.number;
1487			}
1488			return token.number;
1489		};
1490		var DEG = "deg";
1491		var GRAD = "grad";
1492		var RAD = "rad";
1493		var TURN = "turn";
1494		var angle = {
1495			name: "angle",
1496			parse: function(_context, value) {
1497				if (value.type === 15) switch (value.unit) {
1498					case DEG: return Math.PI * value.number / 180;
1499					case GRAD: return Math.PI / 200 * value.number;
1500					case RAD: return value.number;
1501					case TURN: return Math.PI * 2 * value.number;
1502				}
1503				throw new Error("Unsupported angle type");
1504			}
1505		};
1506		var isAngle = function(value) {
1507			if (value.type === 15) {
1508				if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) return true;
1509			}
1510			return false;
1511		};
1512		var parseNamedSide = function(tokens) {
1513			switch (tokens.filter(isIdentToken).map(function(ident) {
1514				return ident.value;
1515			}).join(" ")) {
1516				case "to bottom right":
1517				case "to right bottom":
1518				case "left top":
1519				case "top left": return [ZERO_LENGTH, ZERO_LENGTH];
1520				case "to top":
1521				case "bottom": return deg(0);
1522				case "to bottom left":
1523				case "to left bottom":
1524				case "right top":
1525				case "top right": return [ZERO_LENGTH, HUNDRED_PERCENT];
1526				case "to right":
1527				case "left": return deg(90);
1528				case "to top left":
1529				case "to left top":
1530				case "right bottom":
1531				case "bottom right": return [HUNDRED_PERCENT, HUNDRED_PERCENT];
1532				case "to bottom":
1533				case "top": return deg(180);
1534				case "to top right":
1535				case "to right top":
1536				case "left bottom":
1537				case "bottom left": return [HUNDRED_PERCENT, ZERO_LENGTH];
1538				case "to left":
1539				case "right": return deg(270);
1540			}
1541			return 0;
1542		};
1543		var deg = function(deg$1) {
1544			return Math.PI * deg$1 / 180;
1545		};
1546		var color$1 = {
1547			name: "color",
1548			parse: function(context, value) {
1549				if (value.type === 18) {
1550					var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];
1551					if (typeof colorFunction === "undefined") throw new Error("Attempting to parse an unsupported color function \"" + value.name + "\"");
1552					return colorFunction(context, value.values);
1553				}
1554				if (value.type === 5) {
1555					if (value.value.length === 3) {
1556						var r = value.value.substring(0, 1);
1557						var g$1 = value.value.substring(1, 2);
1558						var b$1 = value.value.substring(2, 3);
1559						return pack(parseInt(r + r, 16), parseInt(g$1 + g$1, 16), parseInt(b$1 + b$1, 16), 1);
1560					}
1561					if (value.value.length === 4) {
1562						var r = value.value.substring(0, 1);
1563						var g$1 = value.value.substring(1, 2);
1564						var b$1 = value.value.substring(2, 3);
1565						var a$2 = value.value.substring(3, 4);
1566						return pack(parseInt(r + r, 16), parseInt(g$1 + g$1, 16), parseInt(b$1 + b$1, 16), parseInt(a$2 + a$2, 16) / 255);
1567					}
1568					if (value.value.length === 6) {
1569						var r = value.value.substring(0, 2);
1570						var g$1 = value.value.substring(2, 4);
1571						var b$1 = value.value.substring(4, 6);
1572						return pack(parseInt(r, 16), parseInt(g$1, 16), parseInt(b$1, 16), 1);
1573					}
1574					if (value.value.length === 8) {
1575						var r = value.value.substring(0, 2);
1576						var g$1 = value.value.substring(2, 4);
1577						var b$1 = value.value.substring(4, 6);
1578						var a$2 = value.value.substring(6, 8);
1579						return pack(parseInt(r, 16), parseInt(g$1, 16), parseInt(b$1, 16), parseInt(a$2, 16) / 255);
1580					}
1581				}
1582				if (value.type === 20) {
1583					var namedColor = COLORS[value.value.toUpperCase()];
1584					if (typeof namedColor !== "undefined") return namedColor;
1585				}
1586				return COLORS.TRANSPARENT;
1587			}
1588		};
1589		var isTransparent = function(color$2) {
1590			return (255 & color$2) === 0;
1591		};
1592		var asString = function(color$2) {
1593			var alpha = 255 & color$2;
1594			var blue = 255 & color$2 >> 8;
1595			var green = 255 & color$2 >> 16;
1596			var red = 255 & color$2 >> 24;
1597			return alpha < 255 ? "rgba(" + red + "," + green + "," + blue + "," + alpha / 255 + ")" : "rgb(" + red + "," + green + "," + blue + ")";
1598		};
1599		var pack = function(r, g$1, b$1, a$2) {
1600			return (r << 24 | g$1 << 16 | b$1 << 8 | Math.round(a$2 * 255) << 0) >>> 0;
1601		};
1602		var getTokenColorValue = function(token, i$5) {
1603			if (token.type === 17) return token.number;
1604			if (token.type === 16) {
1605				var max = i$5 === 3 ? 1 : 255;
1606				return i$5 === 3 ? token.number / 100 * max : Math.round(token.number / 100 * max);
1607			}
1608			return 0;
1609		};
1610		var rgb = function(_context, args) {
1611			var tokens = args.filter(nonFunctionArgSeparator);
1612			if (tokens.length === 3) {
1613				var _a$1 = tokens.map(getTokenColorValue), r = _a$1[0], g$1 = _a$1[1], b$1 = _a$1[2];
1614				return pack(r, g$1, b$1, 1);
1615			}
1616			if (tokens.length === 4) {
1617				var _b$1 = tokens.map(getTokenColorValue), r = _b$1[0], g$1 = _b$1[1], b$1 = _b$1[2], a$2 = _b$1[3];
1618				return pack(r, g$1, b$1, a$2);
1619			}
1620			return 0;
1621		};
1622		function hue2rgb(t1, t2, hue) {
1623			if (hue < 0) hue += 1;
1624			if (hue >= 1) hue -= 1;
1625			if (hue < 1 / 6) return (t2 - t1) * hue * 6 + t1;
1626			else if (hue < 1 / 2) return t2;
1627			else if (hue < 2 / 3) return (t2 - t1) * 6 * (2 / 3 - hue) + t1;
1628			else return t1;
1629		}
vendor: 14,687 bytes, lines 1630-2118
1630		var hsl = function(context, args) {
1631			var tokens = args.filter(nonFunctionArgSeparator);
1632			var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];
1633			var h$1 = (hue.type === 17 ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);
1634			var s$1 = isLengthPercentage(saturation) ? saturation.number / 100 : 0;
1635			var l$1 = isLengthPercentage(lightness) ? lightness.number / 100 : 0;
1636			var a$2 = typeof alpha !== "undefined" && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;
1637			if (s$1 === 0) return pack(l$1 * 255, l$1 * 255, l$1 * 255, 1);
1638			var t2 = l$1 <= .5 ? l$1 * (s$1 + 1) : l$1 + s$1 - l$1 * s$1;
1639			var t1 = l$1 * 2 - t2;
1640			var r = hue2rgb(t1, t2, h$1 + 1 / 3);
1641			var g$1 = hue2rgb(t1, t2, h$1);
1642			var b$1 = hue2rgb(t1, t2, h$1 - 1 / 3);
1643			return pack(r * 255, g$1 * 255, b$1 * 255, a$2);
1644		};
1645		var SUPPORTED_COLOR_FUNCTIONS = {
1646			hsl,
1647			hsla: hsl,
1648			rgb,
1649			rgba: rgb
1650		};
1651		var parseColor = function(context, value) {
1652			return color$1.parse(context, Parser.create(value).parseComponentValue());
1653		};
1654		var COLORS = {
1655			ALICEBLUE: 4042850303,
1656			ANTIQUEWHITE: 4209760255,
1657			AQUA: 16777215,
1658			AQUAMARINE: 2147472639,
1659			AZURE: 4043309055,
1660			BEIGE: 4126530815,
1661			BISQUE: 4293182719,
1662			BLACK: 255,
1663			BLANCHEDALMOND: 4293643775,
1664			BLUE: 65535,
1665			BLUEVIOLET: 2318131967,
1666			BROWN: 2771004159,
1667			BURLYWOOD: 3736635391,
1668			CADETBLUE: 1604231423,
1669			CHARTREUSE: 2147418367,
1670			CHOCOLATE: 3530104575,
1671			CORAL: 4286533887,
1672			CORNFLOWERBLUE: 1687547391,
1673			CORNSILK: 4294499583,
1674			CRIMSON: 3692313855,
1675			CYAN: 16777215,
1676			DARKBLUE: 35839,
1677			DARKCYAN: 9145343,
1678			DARKGOLDENROD: 3095837695,
1679			DARKGRAY: 2846468607,
1680			DARKGREEN: 6553855,
1681			DARKGREY: 2846468607,
1682			DARKKHAKI: 3182914559,
1683			DARKMAGENTA: 2332068863,
1684			DARKOLIVEGREEN: 1433087999,
1685			DARKORANGE: 4287365375,
1686			DARKORCHID: 2570243327,
1687			DARKRED: 2332033279,
1688			DARKSALMON: 3918953215,
1689			DARKSEAGREEN: 2411499519,
1690			DARKSLATEBLUE: 1211993087,
1691			DARKSLATEGRAY: 793726975,
1692			DARKSLATEGREY: 793726975,
1693			DARKTURQUOISE: 13554175,
1694			DARKVIOLET: 2483082239,
1695			DEEPPINK: 4279538687,
1696			DEEPSKYBLUE: 12582911,
1697			DIMGRAY: 1768516095,
1698			DIMGREY: 1768516095,
1699			DODGERBLUE: 512819199,
1700			FIREBRICK: 2988581631,
1701			FLORALWHITE: 4294635775,
1702			FORESTGREEN: 579543807,
1703			FUCHSIA: 4278255615,
1704			GAINSBORO: 3705462015,
1705			GHOSTWHITE: 4177068031,
1706			GOLD: 4292280575,
1707			GOLDENROD: 3668254975,
1708			GRAY: 2155905279,
1709			GREEN: 8388863,
1710			GREENYELLOW: 2919182335,
1711			GREY: 2155905279,
1712			HONEYDEW: 4043305215,
1713			HOTPINK: 4285117695,
1714			INDIANRED: 3445382399,
1715			INDIGO: 1258324735,
1716			IVORY: 4294963455,
1717			KHAKI: 4041641215,
1718			LAVENDER: 3873897215,
1719			LAVENDERBLUSH: 4293981695,
1720			LAWNGREEN: 2096890111,
1721			LEMONCHIFFON: 4294626815,
1722			LIGHTBLUE: 2916673279,
1723			LIGHTCORAL: 4034953471,
1724			LIGHTCYAN: 3774873599,
1725			LIGHTGOLDENRODYELLOW: 4210742015,
1726			LIGHTGRAY: 3553874943,
1727			LIGHTGREEN: 2431553791,
1728			LIGHTGREY: 3553874943,
1729			LIGHTPINK: 4290167295,
1730			LIGHTSALMON: 4288707327,
1731			LIGHTSEAGREEN: 548580095,
1732			LIGHTSKYBLUE: 2278488831,
1733			LIGHTSLATEGRAY: 2005441023,
1734			LIGHTSLATEGREY: 2005441023,
1735			LIGHTSTEELBLUE: 2965692159,
1736			LIGHTYELLOW: 4294959359,
1737			LIME: 16711935,
1738			LIMEGREEN: 852308735,
1739			LINEN: 4210091775,
1740			MAGENTA: 4278255615,
1741			MAROON: 2147483903,
1742			MEDIUMAQUAMARINE: 1724754687,
1743			MEDIUMBLUE: 52735,
1744			MEDIUMORCHID: 3126187007,
1745			MEDIUMPURPLE: 2473647103,
1746			MEDIUMSEAGREEN: 1018393087,
1747			MEDIUMSLATEBLUE: 2070474495,
1748			MEDIUMSPRINGGREEN: 16423679,
1749			MEDIUMTURQUOISE: 1221709055,
1750			MEDIUMVIOLETRED: 3340076543,
1751			MIDNIGHTBLUE: 421097727,
1752			MINTCREAM: 4127193855,
1753			MISTYROSE: 4293190143,
1754			MOCCASIN: 4293178879,
1755			NAVAJOWHITE: 4292783615,
1756			NAVY: 33023,
1757			OLDLACE: 4260751103,
1758			OLIVE: 2155872511,
1759			OLIVEDRAB: 1804477439,
1760			ORANGE: 4289003775,
1761			ORANGERED: 4282712319,
1762			ORCHID: 3664828159,
1763			PALEGOLDENROD: 4008225535,
1764			PALEGREEN: 2566625535,
1765			PALETURQUOISE: 2951671551,
1766			PALEVIOLETRED: 3681588223,
1767			PAPAYAWHIP: 4293907967,
1768			PEACHPUFF: 4292524543,
1769			PERU: 3448061951,
1770			PINK: 4290825215,
1771			PLUM: 3718307327,
1772			POWDERBLUE: 2967529215,
1773			PURPLE: 2147516671,
1774			REBECCAPURPLE: 1714657791,
1775			RED: 4278190335,
1776			ROSYBROWN: 3163525119,
1777			ROYALBLUE: 1097458175,
1778			SADDLEBROWN: 2336560127,
1779			SALMON: 4202722047,
1780			SANDYBROWN: 4104413439,
1781			SEAGREEN: 780883967,
1782			SEASHELL: 4294307583,
1783			SIENNA: 2689740287,
1784			SILVER: 3233857791,
1785			SKYBLUE: 2278484991,
1786			SLATEBLUE: 1784335871,
1787			SLATEGRAY: 1887473919,
1788			SLATEGREY: 1887473919,
1789			SNOW: 4294638335,
1790			SPRINGGREEN: 16744447,
1791			STEELBLUE: 1182971135,
1792			TAN: 3535047935,
1793			TEAL: 8421631,
1794			THISTLE: 3636451583,
1795			TOMATO: 4284696575,
1796			TRANSPARENT: 0,
1797			TURQUOISE: 1088475391,
1798			VIOLET: 4001558271,
1799			WHEAT: 4125012991,
1800			WHITE: 4294967295,
1801			WHITESMOKE: 4126537215,
1802			YELLOW: 4294902015,
1803			YELLOWGREEN: 2597139199
1804		};
1805		var backgroundClip = {
1806			name: "background-clip",
1807			initialValue: "border-box",
1808			prefix: false,
1809			type: 1,
1810			parse: function(_context, tokens) {
1811				return tokens.map(function(token) {
1812					if (isIdentToken(token)) switch (token.value) {
1813						case "padding-box": return 1;
1814						case "content-box": return 2;
1815					}
1816					return 0;
1817				});
1818			}
1819		};
1820		var backgroundColor = {
1821			name: "background-color",
1822			initialValue: "transparent",
1823			prefix: false,
1824			type: 3,
1825			format: "color"
1826		};
1827		var parseColorStop = function(context, args) {
1828			var color$2 = color$1.parse(context, args[0]);
1829			var stop = args[1];
1830			return stop && isLengthPercentage(stop) ? {
1831				color: color$2,
1832				stop
1833			} : {
1834				color: color$2,
1835				stop: null
1836			};
1837		};
1838		var processColorStops = function(stops, lineLength) {
1839			var first = stops[0];
1840			var last = stops[stops.length - 1];
1841			if (first.stop === null) first.stop = ZERO_LENGTH;
1842			if (last.stop === null) last.stop = HUNDRED_PERCENT;
1843			var processStops = [];
1844			var previous = 0;
1845			for (var i$5 = 0; i$5 < stops.length; i$5++) {
1846				var stop_1 = stops[i$5].stop;
1847				if (stop_1 !== null) {
1848					var absoluteValue = getAbsoluteValue(stop_1, lineLength);
1849					if (absoluteValue > previous) processStops.push(absoluteValue);
1850					else processStops.push(previous);
1851					previous = absoluteValue;
1852				} else processStops.push(null);
1853			}
1854			var gapBegin = null;
1855			for (var i$5 = 0; i$5 < processStops.length; i$5++) {
1856				var stop_2 = processStops[i$5];
1857				if (stop_2 === null) {
1858					if (gapBegin === null) gapBegin = i$5;
1859				} else if (gapBegin !== null) {
1860					var gapLength = i$5 - gapBegin;
1861					var beforeGap = processStops[gapBegin - 1];
1862					var gapValue = (stop_2 - beforeGap) / (gapLength + 1);
1863					for (var g$1 = 1; g$1 <= gapLength; g$1++) processStops[gapBegin + g$1 - 1] = gapValue * g$1;
1864					gapBegin = null;
1865				}
1866			}
1867			return stops.map(function(_a$1, i$6) {
1868				return {
1869					color: _a$1.color,
1870					stop: Math.max(Math.min(1, processStops[i$6] / lineLength), 0)
1871				};
1872			});
1873		};
1874		var getAngleFromCorner = function(corner, width, height) {
1875			var centerX = width / 2;
1876			var centerY = height / 2;
1877			var x$2 = getAbsoluteValue(corner[0], width) - centerX;
1878			var y$1 = centerY - getAbsoluteValue(corner[1], height);
1879			return (Math.atan2(y$1, x$2) + Math.PI * 2) % (Math.PI * 2);
1880		};
1881		var calculateGradientDirection = function(angle$1, width, height) {
1882			var radian = typeof angle$1 === "number" ? angle$1 : getAngleFromCorner(angle$1, width, height);
1883			var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));
1884			var halfWidth = width / 2;
1885			var halfHeight = height / 2;
1886			var halfLineLength = lineLength / 2;
1887			var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;
1888			var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;
1889			return [
1890				lineLength,
1891				halfWidth - xDiff,
1892				halfWidth + xDiff,
1893				halfHeight - yDiff,
1894				halfHeight + yDiff
1895			];
1896		};
1897		var distance = function(a$2, b$1) {
1898			return Math.sqrt(a$2 * a$2 + b$1 * b$1);
1899		};
1900		var findCorner = function(width, height, x$2, y$1, closest) {
1901			return [
1902				[0, 0],
1903				[0, height],
1904				[width, 0],
1905				[width, height]
1906			].reduce(function(stat, corner) {
1907				var cx = corner[0], cy = corner[1];
1908				var d$1 = distance(x$2 - cx, y$1 - cy);
1909				if (closest ? d$1 < stat.optimumDistance : d$1 > stat.optimumDistance) return {
1910					optimumCorner: corner,
1911					optimumDistance: d$1
1912				};
1913				return stat;
1914			}, {
1915				optimumDistance: closest ? Infinity : -Infinity,
1916				optimumCorner: null
1917			}).optimumCorner;
1918		};
1919		var calculateRadius = function(gradient, x$2, y$1, width, height) {
1920			var rx = 0;
1921			var ry = 0;
1922			switch (gradient.size) {
1923				case 0:
1924					if (gradient.shape === 0) rx = ry = Math.min(Math.abs(x$2), Math.abs(x$2 - width), Math.abs(y$1), Math.abs(y$1 - height));
1925					else if (gradient.shape === 1) {
1926						rx = Math.min(Math.abs(x$2), Math.abs(x$2 - width));
1927						ry = Math.min(Math.abs(y$1), Math.abs(y$1 - height));
1928					}
1929					break;
1930				case 2:
1931					if (gradient.shape === 0) rx = ry = Math.min(distance(x$2, y$1), distance(x$2, y$1 - height), distance(x$2 - width, y$1), distance(x$2 - width, y$1 - height));
1932					else if (gradient.shape === 1) {
1933						var c$1 = Math.min(Math.abs(y$1), Math.abs(y$1 - height)) / Math.min(Math.abs(x$2), Math.abs(x$2 - width));
1934						var _a$1 = findCorner(width, height, x$2, y$1, true), cx = _a$1[0], cy = _a$1[1];
1935						rx = distance(cx - x$2, (cy - y$1) / c$1);
1936						ry = c$1 * rx;
1937					}
1938					break;
1939				case 1:
1940					if (gradient.shape === 0) rx = ry = Math.max(Math.abs(x$2), Math.abs(x$2 - width), Math.abs(y$1), Math.abs(y$1 - height));
1941					else if (gradient.shape === 1) {
1942						rx = Math.max(Math.abs(x$2), Math.abs(x$2 - width));
1943						ry = Math.max(Math.abs(y$1), Math.abs(y$1 - height));
1944					}
1945					break;
1946				case 3:
1947					if (gradient.shape === 0) rx = ry = Math.max(distance(x$2, y$1), distance(x$2, y$1 - height), distance(x$2 - width, y$1), distance(x$2 - width, y$1 - height));
1948					else if (gradient.shape === 1) {
1949						var c$1 = Math.max(Math.abs(y$1), Math.abs(y$1 - height)) / Math.max(Math.abs(x$2), Math.abs(x$2 - width));
1950						var _b$1 = findCorner(width, height, x$2, y$1, false), cx = _b$1[0], cy = _b$1[1];
1951						rx = distance(cx - x$2, (cy - y$1) / c$1);
1952						ry = c$1 * rx;
1953					}
1954					break;
1955			}
1956			if (Array.isArray(gradient.size)) {
1957				rx = getAbsoluteValue(gradient.size[0], width);
1958				ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;
1959			}
1960			return [rx, ry];
1961		};
1962		var linearGradient = function(context, tokens) {
1963			var angle$1 = deg(180);
1964			var stops = [];
1965			parseFunctionArgs(tokens).forEach(function(arg, i$5) {
1966				if (i$5 === 0) {
1967					var firstToken = arg[0];
1968					if (firstToken.type === 20 && firstToken.value === "to") {
1969						angle$1 = parseNamedSide(arg);
1970						return;
1971					} else if (isAngle(firstToken)) {
1972						angle$1 = angle.parse(context, firstToken);
1973						return;
1974					}
1975				}
1976				var colorStop = parseColorStop(context, arg);
1977				stops.push(colorStop);
1978			});
1979			return {
1980				angle: angle$1,
1981				stops,
1982				type: 1
1983			};
1984		};
1985		var prefixLinearGradient = function(context, tokens) {
1986			var angle$1 = deg(180);
1987			var stops = [];
1988			parseFunctionArgs(tokens).forEach(function(arg, i$5) {
1989				if (i$5 === 0) {
1990					var firstToken = arg[0];
1991					if (firstToken.type === 20 && [
1992						"top",
1993						"left",
1994						"right",
1995						"bottom"
1996					].indexOf(firstToken.value) !== -1) {
1997						angle$1 = parseNamedSide(arg);
1998						return;
1999					} else if (isAngle(firstToken)) {
2000						angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);
2001						return;
2002					}
2003				}
2004				var colorStop = parseColorStop(context, arg);
2005				stops.push(colorStop);
2006			});
2007			return {
2008				angle: angle$1,
2009				stops,
2010				type: 1
2011			};
2012		};
2013		var webkitGradient = function(context, tokens) {
2014			var angle$1 = deg(180);
2015			var stops = [];
2016			var type = 1;
2017			var shape = 0;
2018			var size = 3;
2019			var position$1 = [];
2020			parseFunctionArgs(tokens).forEach(function(arg, i$5) {
2021				var firstToken = arg[0];
2022				if (i$5 === 0) {
2023					if (isIdentToken(firstToken) && firstToken.value === "linear") {
2024						type = 1;
2025						return;
2026					} else if (isIdentToken(firstToken) && firstToken.value === "radial") {
2027						type = 2;
2028						return;
2029					}
2030				}
2031				if (firstToken.type === 18) {
2032					if (firstToken.name === "from") {
2033						var color$2 = color$1.parse(context, firstToken.values[0]);
2034						stops.push({
2035							stop: ZERO_LENGTH,
2036							color: color$2
2037						});
2038					} else if (firstToken.name === "to") {
2039						var color$2 = color$1.parse(context, firstToken.values[0]);
2040						stops.push({
2041							stop: HUNDRED_PERCENT,
2042							color: color$2
2043						});
2044					} else if (firstToken.name === "color-stop") {
2045						var values = firstToken.values.filter(nonFunctionArgSeparator);
2046						if (values.length === 2) {
2047							var color$2 = color$1.parse(context, values[1]);
2048							var stop_1 = values[0];
2049							if (isNumberToken(stop_1)) stops.push({
2050								stop: {
2051									type: 16,
2052									number: stop_1.number * 100,
2053									flags: stop_1.flags
2054								},
2055								color: color$2
2056							});
2057						}
2058					}
2059				}
2060			});
2061			return type === 1 ? {
2062				angle: (angle$1 + deg(180)) % deg(360),
2063				stops,
2064				type
2065			} : {
2066				size,
2067				shape,
2068				stops,
2069				position: position$1,
2070				type
2071			};
2072		};
2073		var CLOSEST_SIDE = "closest-side";
2074		var FARTHEST_SIDE = "farthest-side";
2075		var CLOSEST_CORNER = "closest-corner";
2076		var FARTHEST_CORNER = "farthest-corner";
2077		var CIRCLE = "circle";
2078		var ELLIPSE = "ellipse";
2079		var COVER = "cover";
2080		var CONTAIN = "contain";
2081		var radialGradient = function(context, tokens) {
2082			var shape = 0;
2083			var size = 3;
2084			var stops = [];
2085			var position$1 = [];
2086			parseFunctionArgs(tokens).forEach(function(arg, i$5) {
2087				var isColorStop = true;
2088				if (i$5 === 0) {
2089					var isAtPosition_1 = false;
2090					isColorStop = arg.reduce(function(acc, token) {
2091						if (isAtPosition_1) {
2092							if (isIdentToken(token)) switch (token.value) {
2093								case "center":
2094									position$1.push(FIFTY_PERCENT);
2095									return acc;
2096								case "top":
2097								case "left":
2098									position$1.push(ZERO_LENGTH);
2099									return acc;
2100								case "right":
2101								case "bottom":
2102									position$1.push(HUNDRED_PERCENT);
2103									return acc;
2104							}
2105							else if (isLengthPercentage(token) || isLength(token)) position$1.push(token);
2106						} else if (isIdentToken(token)) switch (token.value) {
2107							case CIRCLE:
2108								shape = 0;
2109								return false;
2110							case ELLIPSE:
2111								shape = 1;
2112								return false;
2113							case "at":
2114								isAtPosition_1 = true;
2115								return false;
2116							case CLOSEST_SIDE:
2117								size = 0;
2118								return false;
2119							case COVER:
2120							case FARTHEST_SIDE:
2121								size = 1;
2122								return false;
2123							case CONTAIN:
2124							case CLOSEST_CORNER:
2125								size = 2;
2126								return false;
2127							case FARTHEST_CORNER:
2128								size = 3;
2129								return false;
2130						}
2131						else if (isLength(token) || isLengthPercentage(token)) {
2132							if (!Array.isArray(size)) size = [];
2133							size.push(token);
2134							return false;
2135						}
2136						return acc;
2137					}, isColorStop);
2138				}
2139				if (isColorStop) {
2140					var colorStop = parseColorStop(context, arg);
2141					stops.push(colorStop);
2142				}
2143			});
2144			return {
2145				size,
2146				shape,
2147				stops,
2148				position: position$1,
2149				type: 2
2150			};
2151		};
2152		var prefixRadialGradient = function(context, tokens) {
2153			var shape = 0;
2154			var size = 3;
2155			var stops = [];
2156			var position$1 = [];
2157			parseFunctionArgs(tokens).forEach(function(arg, i$5) {
2158				var isColorStop = true;
2159				if (i$5 === 0) isColorStop = arg.reduce(function(acc, token) {
2160					if (isIdentToken(token)) switch (token.value) {
2161						case "center":
2162							position$1.push(FIFTY_PERCENT);
2163							return false;
2164						case "top":
2165						case "left":
2166							position$1.push(ZERO_LENGTH);
2167							return false;
2168						case "right":
2169						case "bottom":
2170							position$1.push(HUNDRED_PERCENT);
2171							return false;
2172					}
2173					else if (isLengthPercentage(token) || isLength(token)) {
2174						position$1.push(token);
2175						return false;
2176					}
2177					return acc;
2178				}, isColorStop);
2179				else if (i$5 === 1) isColorStop = arg.reduce(function(acc, token) {
2180					if (isIdentToken(token)) switch (token.value) {
2181						case CIRCLE:
2182							shape = 0;
2183							return false;
2184						case ELLIPSE:
2185							shape = 1;
2186							return false;
2187						case CONTAIN:
2188						case CLOSEST_SIDE:
2189							size = 0;
2190							return false;
2191						case FARTHEST_SIDE:
2192							size = 1;
2193							return false;
2194						case CLOSEST_CORNER:
2195							size = 2;
2196							return false;
2197						case COVER:
2198						case FARTHEST_CORNER:
2199							size = 3;
2200							return false;
2201					}
2202					else if (isLength(token) || isLengthPercentage(token)) {
2203						if (!Array.isArray(size)) size = [];
2204						size.push(token);
2205						return false;
2206					}
2207					return acc;
2208				}, isColorStop);
2209				if (isColorStop) {
2210					var colorStop = parseColorStop(context, arg);
2211					stops.push(colorStop);
2212				}
2213			});
2214			return {
2215				size,
2216				shape,
2217				stops,
2218				position: position$1,
2219				type: 2
2220			};
2221		};
2222		var isLinearGradient = function(background) {
2223			return background.type === 1;
2224		};
2225		var isRadialGradient = function(background) {
2226			return background.type === 2;
2227		};
2228		var image = {
2229			name: "image",
2230			parse: function(context, value) {
2231				if (value.type === 22) {
2232					var image_1 = {
2233						url: value.value,
2234						type: 0
2235					};
2236					context.cache.addImage(value.value);
2237					return image_1;
2238				}
2239				if (value.type === 18) {
2240					var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];
2241					if (typeof imageFunction === "undefined") throw new Error("Attempting to parse an unsupported image function \"" + value.name + "\"");
2242					return imageFunction(context, value.values);
2243				}
2244				throw new Error("Unsupported image type " + value.type);
2245			}
2246		};
2247		function isSupportedImage(value) {
2248			return !(value.type === 20 && value.value === "none") && (value.type !== 18 || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]);
2249		}
2250		var SUPPORTED_IMAGE_FUNCTIONS = {
2251			"linear-gradient": linearGradient,
2252			"-moz-linear-gradient": prefixLinearGradient,
2253			"-ms-linear-gradient": prefixLinearGradient,
2254			"-o-linear-gradient": prefixLinearGradient,
2255			"-webkit-linear-gradient": prefixLinearGradient,
2256			"radial-gradient": radialGradient,
2257			"-moz-radial-gradient": prefixRadialGradient,
2258			"-ms-radial-gradient": prefixRadialGradient,
2259			"-o-radial-gradient": prefixRadialGradient,
2260			"-webkit-radial-gradient": prefixRadialGradient,
2261			"-webkit-gradient": webkitGradient
2262		};
2263		var backgroundImage = {
2264			name: "background-image",
2265			initialValue: "none",
2266			type: 1,
2267			prefix: false,
2268			parse: function(context, tokens) {
2269				if (tokens.length === 0) return [];
2270				var first = tokens[0];
2271				if (first.type === 20 && first.value === "none") return [];
2272				return tokens.filter(function(value) {
2273					return nonFunctionArgSeparator(value) && isSupportedImage(value);
2274				}).map(function(value) {
2275					return image.parse(context, value);
2276				});
2277			}
2278		};
2279		var backgroundOrigin = {
2280			name: "background-origin",
2281			initialValue: "border-box",
2282			prefix: false,
2283			type: 1,
2284			parse: function(_context, tokens) {
2285				return tokens.map(function(token) {
2286					if (isIdentToken(token)) switch (token.value) {
2287						case "padding-box": return 1;
2288						case "content-box": return 2;
2289					}
2290					return 0;
2291				});
2292			}
2293		};
2294		var backgroundPosition = {
2295			name: "background-position",
2296			initialValue: "0% 0%",
2297			type: 1,
2298			prefix: false,
2299			parse: function(_context, tokens) {
2300				return parseFunctionArgs(tokens).map(function(values) {
2301					return values.filter(isLengthPercentage);
2302				}).map(parseLengthPercentageTuple);
2303			}
2304		};
2305		var backgroundRepeat = {
2306			name: "background-repeat",
2307			initialValue: "repeat",
2308			prefix: false,
2309			type: 1,
2310			parse: function(_context, tokens) {
2311				return parseFunctionArgs(tokens).map(function(values) {
2312					return values.filter(isIdentToken).map(function(token) {
2313						return token.value;
2314					}).join(" ");
2315				}
vendor: 15,023 bytes, lines 2315-2871
2315).map(parseBackgroundRepeat);
2316			}
2317		};
2318		var parseBackgroundRepeat = function(value) {
2319			switch (value) {
2320				case "no-repeat": return 1;
2321				case "repeat-x":
2322				case "repeat no-repeat": return 2;
2323				case "repeat-y":
2324				case "no-repeat repeat": return 3;
2325				case "repeat":
2326				default: return 0;
2327			}
2328		};
2329		var BACKGROUND_SIZE;
2330		(function(BACKGROUND_SIZE$1) {
2331			BACKGROUND_SIZE$1["AUTO"] = "auto";
2332			BACKGROUND_SIZE$1["CONTAIN"] = "contain";
2333			BACKGROUND_SIZE$1["COVER"] = "cover";
2334		})(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));
2335		var backgroundSize = {
2336			name: "background-size",
2337			initialValue: "0",
2338			prefix: false,
2339			type: 1,
2340			parse: function(_context, tokens) {
2341				return parseFunctionArgs(tokens).map(function(values) {
2342					return values.filter(isBackgroundSizeInfoToken);
2343				});
2344			}
2345		};
2346		var isBackgroundSizeInfoToken = function(value) {
2347			return isIdentToken(value) || isLengthPercentage(value);
2348		};
2349		var borderColorForSide = function(side) {
2350			return {
2351				name: "border-" + side + "-color",
2352				initialValue: "transparent",
2353				prefix: false,
2354				type: 3,
2355				format: "color"
2356			};
2357		};
2358		var borderTopColor = borderColorForSide("top");
2359		var borderRightColor = borderColorForSide("right");
2360		var borderBottomColor = borderColorForSide("bottom");
2361		var borderLeftColor = borderColorForSide("left");
2362		var borderRadiusForSide = function(side) {
2363			return {
2364				name: "border-radius-" + side,
2365				initialValue: "0 0",
2366				prefix: false,
2367				type: 1,
2368				parse: function(_context, tokens) {
2369					return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));
2370				}
2371			};
2372		};
2373		var borderTopLeftRadius = borderRadiusForSide("top-left");
2374		var borderTopRightRadius = borderRadiusForSide("top-right");
2375		var borderBottomRightRadius = borderRadiusForSide("bottom-right");
2376		var borderBottomLeftRadius = borderRadiusForSide("bottom-left");
2377		var borderStyleForSide = function(side) {
2378			return {
2379				name: "border-" + side + "-style",
2380				initialValue: "solid",
2381				prefix: false,
2382				type: 2,
2383				parse: function(_context, style) {
2384					switch (style) {
2385						case "none": return 0;
2386						case "dashed": return 2;
2387						case "dotted": return 3;
2388						case "double": return 4;
2389					}
2390					return 1;
2391				}
2392			};
2393		};
2394		var borderTopStyle = borderStyleForSide("top");
2395		var borderRightStyle = borderStyleForSide("right");
2396		var borderBottomStyle = borderStyleForSide("bottom");
2397		var borderLeftStyle = borderStyleForSide("left");
2398		var borderWidthForSide = function(side) {
2399			return {
2400				name: "border-" + side + "-width",
2401				initialValue: "0",
2402				type: 0,
2403				prefix: false,
2404				parse: function(_context, token) {
2405					if (isDimensionToken(token)) return token.number;
2406					return 0;
2407				}
2408			};
2409		};
2410		var borderTopWidth = borderWidthForSide("top");
2411		var borderRightWidth = borderWidthForSide("right");
2412		var borderBottomWidth = borderWidthForSide("bottom");
2413		var borderLeftWidth = borderWidthForSide("left");
2414		var color = {
2415			name: "color",
2416			initialValue: "transparent",
2417			prefix: false,
2418			type: 3,
2419			format: "color"
2420		};
2421		var direction = {
2422			name: "direction",
2423			initialValue: "ltr",
2424			prefix: false,
2425			type: 2,
2426			parse: function(_context, direction$1) {
2427				switch (direction$1) {
2428					case "rtl": return 1;
2429					case "ltr":
2430					default: return 0;
2431				}
2432			}
2433		};
2434		var display = {
2435			name: "display",
2436			initialValue: "inline-block",
2437			prefix: false,
2438			type: 1,
2439			parse: function(_context, tokens) {
2440				return tokens.filter(isIdentToken).reduce(function(bit, token) {
2441					return bit | parseDisplayValue(token.value);
2442				}, 0);
2443			}
2444		};
2445		var parseDisplayValue = function(display$1) {
2446			switch (display$1) {
2447				case "block":
2448				case "-webkit-box": return 2;
2449				case "inline": return 4;
2450				case "run-in": return 8;
2451				case "flow": return 16;
2452				case "flow-root": return 32;
2453				case "table": return 64;
2454				case "flex":
2455				case "-webkit-flex": return 128;
2456				case "grid":
2457				case "-ms-grid": return 256;
2458				case "ruby": return 512;
2459				case "subgrid": return 1024;
2460				case "list-item": return 2048;
2461				case "table-row-group": return 4096;
2462				case "table-header-group": return 8192;
2463				case "table-footer-group": return 16384;
2464				case "table-row": return 32768;
2465				case "table-cell": return 65536;
2466				case "table-column-group": return 131072;
2467				case "table-column": return 262144;
2468				case "table-caption": return 524288;
2469				case "ruby-base": return 1048576;
2470				case "ruby-text": return 2097152;
2471				case "ruby-base-container": return 4194304;
2472				case "ruby-text-container": return 8388608;
2473				case "contents": return 16777216;
2474				case "inline-block": return 33554432;
2475				case "inline-list-item": return 67108864;
2476				case "inline-table": return 134217728;
2477				case "inline-flex": return 268435456;
2478				case "inline-grid": return 536870912;
2479			}
2480			return 0;
2481		};
2482		var float = {
2483			name: "float",
2484			initialValue: "none",
2485			prefix: false,
2486			type: 2,
2487			parse: function(_context, float$1) {
2488				switch (float$1) {
2489					case "left": return 1;
2490					case "right": return 2;
2491					case "inline-start": return 3;
2492					case "inline-end": return 4;
2493				}
2494				return 0;
2495			}
2496		};
2497		var letterSpacing = {
2498			name: "letter-spacing",
2499			initialValue: "0",
2500			prefix: false,
2501			type: 0,
2502			parse: function(_context, token) {
2503				if (token.type === 20 && token.value === "normal") return 0;
2504				if (token.type === 17) return token.number;
2505				if (token.type === 15) return token.number;
2506				return 0;
2507			}
2508		};
2509		var LINE_BREAK;
2510		(function(LINE_BREAK$1) {
2511			LINE_BREAK$1["NORMAL"] = "normal";
2512			LINE_BREAK$1["STRICT"] = "strict";
2513		})(LINE_BREAK || (LINE_BREAK = {}));
2514		var lineBreak = {
2515			name: "line-break",
2516			initialValue: "normal",
2517			prefix: false,
2518			type: 2,
2519			parse: function(_context, lineBreak$1) {
2520				switch (lineBreak$1) {
2521					case "strict": return LINE_BREAK.STRICT;
2522					case "normal":
2523					default: return LINE_BREAK.NORMAL;
2524				}
2525			}
2526		};
2527		var lineHeight = {
2528			name: "line-height",
2529			initialValue: "normal",
2530			prefix: false,
2531			type: 4
2532		};
2533		var computeLineHeight = function(token, fontSize$1) {
2534			if (isIdentToken(token) && token.value === "normal") return 1.2 * fontSize$1;
2535			else if (token.type === 17) return fontSize$1 * token.number;
2536			else if (isLengthPercentage(token)) return getAbsoluteValue(token, fontSize$1);
2537			return fontSize$1;
2538		};
2539		var listStyleImage = {
2540			name: "list-style-image",
2541			initialValue: "none",
2542			type: 0,
2543			prefix: false,
2544			parse: function(context, token) {
2545				if (token.type === 20 && token.value === "none") return null;
2546				return image.parse(context, token);
2547			}
2548		};
2549		var listStylePosition = {
2550			name: "list-style-position",
2551			initialValue: "outside",
2552			prefix: false,
2553			type: 2,
2554			parse: function(_context, position$1) {
2555				switch (position$1) {
2556					case "inside": return 0;
2557					case "outside":
2558					default: return 1;
2559				}
2560			}
2561		};
2562		var listStyleType = {
2563			name: "list-style-type",
2564			initialValue: "none",
2565			prefix: false,
2566			type: 2,
2567			parse: function(_context, type) {
2568				switch (type) {
2569					case "disc": return 0;
2570					case "circle": return 1;
2571					case "square": return 2;
2572					case "decimal": return 3;
2573					case "cjk-decimal": return 4;
2574					case "decimal-leading-zero": return 5;
2575					case "lower-roman": return 6;
2576					case "upper-roman": return 7;
2577					case "lower-greek": return 8;
2578					case "lower-alpha": return 9;
2579					case "upper-alpha": return 10;
2580					case "arabic-indic": return 11;
2581					case "armenian": return 12;
2582					case "bengali": return 13;
2583					case "cambodian": return 14;
2584					case "cjk-earthly-branch": return 15;
2585					case "cjk-heavenly-stem": return 16;
2586					case "cjk-ideographic": return 17;
2587					case "devanagari": return 18;
2588					case "ethiopic-numeric": return 19;
2589					case "georgian": return 20;
2590					case "gujarati": return 21;
2591					case "gurmukhi": return 22;
2592					case "hebrew": return 22;
2593					case "hiragana": return 23;
2594					case "hiragana-iroha": return 24;
2595					case "japanese-formal": return 25;
2596					case "japanese-informal": return 26;
2597					case "kannada": return 27;
2598					case "katakana": return 28;
2599					case "katakana-iroha": return 29;
2600					case "khmer": return 30;
2601					case "korean-hangul-formal": return 31;
2602					case "korean-hanja-formal": return 32;
2603					case "korean-hanja-informal": return 33;
2604					case "lao": return 34;
2605					case "lower-armenian": return 35;
2606					case "malayalam": return 36;
2607					case "mongolian": return 37;
2608					case "myanmar": return 38;
2609					case "oriya": return 39;
2610					case "persian": return 40;
2611					case "simp-chinese-formal": return 41;
2612					case "simp-chinese-informal": return 42;
2613					case "tamil": return 43;
2614					case "telugu": return 44;
2615					case "thai": return 45;
2616					case "tibetan": return 46;
2617					case "trad-chinese-formal": return 47;
2618					case "trad-chinese-informal": return 48;
2619					case "upper-armenian": return 49;
2620					case "disclosure-open": return 50;
2621					case "disclosure-closed": return 51;
2622					case "none":
2623					default: return -1;
2624				}
2625			}
2626		};
2627		var marginForSide = function(side) {
2628			return {
2629				name: "margin-" + side,
2630				initialValue: "0",
2631				prefix: false,
2632				type: 4
2633			};
2634		};
2635		var marginTop = marginForSide("top");
2636		var marginRight = marginForSide("right");
2637		var marginBottom = marginForSide("bottom");
2638		var marginLeft = marginForSide("left");
2639		var overflow = {
2640			name: "overflow",
2641			initialValue: "visible",
2642			prefix: false,
2643			type: 1,
2644			parse: function(_context, tokens) {
2645				return tokens.filter(isIdentToken).map(function(overflow$1) {
2646					switch (overflow$1.value) {
2647						case "hidden": return 1;
2648						case "scroll": return 2;
2649						case "clip": return 3;
2650						case "auto": return 4;
2651						case "visible":
2652						default: return 0;
2653					}
2654				});
2655			}
2656		};
2657		var overflowWrap = {
2658			name: "overflow-wrap",
2659			initialValue: "normal",
2660			prefix: false,
2661			type: 2,
2662			parse: function(_context, overflow$1) {
2663				switch (overflow$1) {
2664					case "break-word": return "break-word";
2665					case "normal":
2666					default: return "normal";
2667				}
2668			}
2669		};
2670		var paddingForSide = function(side) {
2671			return {
2672				name: "padding-" + side,
2673				initialValue: "0",
2674				prefix: false,
2675				type: 3,
2676				format: "length-percentage"
2677			};
2678		};
2679		var paddingTop = paddingForSide("top");
2680		var paddingRight = paddingForSide("right");
2681		var paddingBottom = paddingForSide("bottom");
2682		var paddingLeft = paddingForSide("left");
2683		var textAlign = {
2684			name: "text-align",
2685			initialValue: "left",
2686			prefix: false,
2687			type: 2,
2688			parse: function(_context, textAlign$1) {
2689				switch (textAlign$1) {
2690					case "right": return 2;
2691					case "center":
2692					case "justify": return 1;
2693					case "left":
2694					default: return 0;
2695				}
2696			}
2697		};
2698		var position = {
2699			name: "position",
2700			initialValue: "static",
2701			prefix: false,
2702			type: 2,
2703			parse: function(_context, position$1) {
2704				switch (position$1) {
2705					case "relative": return 1;
2706					case "absolute": return 2;
2707					case "fixed": return 3;
2708					case "sticky": return 4;
2709				}
2710				return 0;
2711			}
2712		};
2713		var textShadow = {
2714			name: "text-shadow",
2715			initialValue: "none",
2716			type: 1,
2717			prefix: false,
2718			parse: function(context, tokens) {
2719				if (tokens.length === 1 && isIdentWithValue(tokens[0], "none")) return [];
2720				return parseFunctionArgs(tokens).map(function(values) {
2721					var shadow = {
2722						color: COLORS.TRANSPARENT,
2723						offsetX: ZERO_LENGTH,
2724						offsetY: ZERO_LENGTH,
2725						blur: ZERO_LENGTH
2726					};
2727					var c$1 = 0;
2728					for (var i$5 = 0; i$5 < values.length; i$5++) {
2729						var token = values[i$5];
2730						if (isLength(token)) {
2731							if (c$1 === 0) shadow.offsetX = token;
2732							else if (c$1 === 1) shadow.offsetY = token;
2733							else shadow.blur = token;
2734							c$1++;
2735						} else shadow.color = color$1.parse(context, token);
2736					}
2737					return shadow;
2738				});
2739			}
2740		};
2741		var textTransform = {
2742			name: "text-transform",
2743			initialValue: "none",
2744			prefix: false,
2745			type: 2,
2746			parse: function(_context, textTransform$1) {
2747				switch (textTransform$1) {
2748					case "uppercase": return 2;
2749					case "lowercase": return 1;
2750					case "capitalize": return 3;
2751				}
2752				return 0;
2753			}
2754		};
2755		var transform$1 = {
2756			name: "transform",
2757			initialValue: "none",
2758			prefix: true,
2759			type: 0,
2760			parse: function(_context, token) {
2761				if (token.type === 20 && token.value === "none") return null;
2762				if (token.type === 18) {
2763					var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];
2764					if (typeof transformFunction === "undefined") throw new Error("Attempting to parse an unsupported transform function \"" + token.name + "\"");
2765					return transformFunction(token.values);
2766				}
2767				return null;
2768			}
2769		};
2770		var matrix = function(args) {
2771			var values = args.filter(function(arg) {
2772				return arg.type === 17;
2773			}).map(function(arg) {
2774				return arg.number;
2775			});
2776			return values.length === 6 ? values : null;
2777		};
2778		var matrix3d = function(args) {
2779			var values = args.filter(function(arg) {
2780				return arg.type === 17;
2781			}).map(function(arg) {
2782				return arg.number;
2783			});
2784			var a1 = values[0], b1 = values[1];
2785			values[2];
2786			values[3];
2787			var a2 = values[4], b2 = values[5];
2788			values[6];
2789			values[7];
2790			values[8];
2791			values[9];
2792			values[10];
2793			values[11];
2794			var a4 = values[12], b4 = values[13];
2795			values[14];
2796			values[15];
2797			return values.length === 16 ? [
2798				a1,
2799				b1,
2800				a2,
2801				b2,
2802				a4,
2803				b4
2804			] : null;
2805		};
2806		var SUPPORTED_TRANSFORM_FUNCTIONS = {
2807			matrix,
2808			matrix3d
2809		};
2810		var DEFAULT_VALUE = {
2811			type: 16,
2812			number: 50,
2813			flags: FLAG_INTEGER
2814		};
2815		var DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];
2816		var transformOrigin = {
2817			name: "transform-origin",
2818			initialValue: "50% 50%",
2819			prefix: true,
2820			type: 1,
2821			parse: function(_context, tokens) {
2822				var origins = tokens.filter(isLengthPercentage);
2823				if (origins.length !== 2) return DEFAULT;
2824				return [origins[0], origins[1]];
2825			}
2826		};
2827		var visibility = {
2828			name: "visible",
2829			initialValue: "none",
2830			prefix: false,
2831			type: 2,
2832			parse: function(_context, visibility$1) {
2833				switch (visibility$1) {
2834					case "hidden": return 1;
2835					case "collapse": return 2;
2836					case "visible":
2837					default: return 0;
2838				}
2839			}
2840		};
2841		var WORD_BREAK;
2842		(function(WORD_BREAK$1) {
2843			WORD_BREAK$1["NORMAL"] = "normal";
2844			WORD_BREAK$1["BREAK_ALL"] = "break-all";
2845			WORD_BREAK$1["KEEP_ALL"] = "keep-all";
2846		})(WORD_BREAK || (WORD_BREAK = {}));
2847		var wordBreak = {
2848			name: "word-break",
2849			initialValue: "normal",
2850			prefix: false,
2851			type: 2,
2852			parse: function(_context, wordBreak$1) {
2853				switch (wordBreak$1) {
2854					case "break-all": return WORD_BREAK.BREAK_ALL;
2855					case "keep-all": return WORD_BREAK.KEEP_ALL;
2856					case "normal":
2857					default: return WORD_BREAK.NORMAL;
2858				}
2859			}
2860		};
2861		var zIndex = {
2862			name: "z-index",
2863			initialValue: "auto",
2864			prefix: false,
2865			type: 0,
2866			parse: function(_context, token) {
2867				if (token.type === 20) return {
2868					auto: true,
2869					order: 0
2870				};
2871				if (isNumberToken(token)) return {
2872					auto: false,
2873					order: token.number
2874				};
2875				throw new Error("Invalid z-index number parsed");
2876			}
2877		};
2878		var time = {
2879			name: "time",
2880			parse: function(_context, value) {
2881				if (value.type === 15) switch (value.unit.toLowerCase()) {
2882					case "s": return 1e3 * value.number;
2883					case "ms": return value.number;
2884				}
2885				throw new Error("Unsupported time type");
2886			}
2887		};
2888		var opacity = {
2889			name: "opacity",
2890			initialValue: "1",
2891			type: 0,
2892			prefix: false,
2893			parse: function(_context, token) {
2894				if (isNumberToken(token)) return token.number;
2895				return 1;
2896			}
2897		};
2898		var textDecorationColor = {
2899			name: "text-decoration-color",
2900			initialValue: "transparent",
2901			prefix: false,
2902			type: 3,
2903			format: "color"
2904		};
2905		var textDecorationLine = {
2906			name: "text-decoration-line",
2907			initialValue: "none",
2908			prefix: false,
2909			type: 1,
2910			parse: function(_context, tokens) {
2911				return tokens.filter(isIdentToken).map(function(token) {
2912					switch (token.value) {
2913						case "underline": return 1;
2914						case "overline": return 2;
2915						case "line-through": return 3;
2916						case "none": return 4;
2917					}
2918					return 0;
2919				}).filter(function(line) {
2920					return line !== 0;
2921				});
2922			}
2923		};
2924		var fontFamily = {
2925			name: "font-family",
2926			initialValue: "",
2927			prefix: false,
2928			type: 1,
2929			parse: function(_context, tokens) {
2930				var accumulator = [];
2931				var results = [];
2932				tokens.forEach(function(token) {
2933					switch (token.type) {
2934						case 20:
2935						case 0:
2936							accumulator.push(token.value);
2937							break;
2938						case 17:
2939							accumulator.push(token.number.toString());
2940							break;
2941						case 4:
2942							results.push(accumulator.join(" "));
2943							accumulator.length = 0;
2944							break;
2945					}
2946				});
2947				if (accumulator.length) results.push(accumulator.join(" "));
2948				return results.map(function(result) {
2949					return result.indexOf(" ") === -1 ? result : "'" + result + "'";
2950				});
2951			}
2952		};
2953		var fontSize = {
2954			name: "font-size",
2955			initialValue: "0",
2956			prefix: false,
2957			type: 3,
2958			format: "length"
2959		};
2960		var fontWeight = {
2961			name: "font-weight",
2962			initialValue: "normal",
2963			type: 0,
2964			prefix: false,
2965			parse: function(_context, token) {
2966				if (isNumberToken(token)) return token.number;
2967				if (isIdentToken(token)) switch (token.value) {
2968					case "bold": return 700;
2969					case "normal":
2970					default: return 400;
2971				}
2972				return 400;
2973			}
2974		};
2975		var fontVariant = {
2976			name: "font-variant",
2977			initialValue: "none",
2978			type: 1,
2979			prefix: false,
2980			parse: function(_context, tokens) {
2981				return tokens.filter(isIdentToken).map(function(token) {
2982					return token.value;
2983				});
2984			}
2985		};
2986		var fontStyle = {
2987			name: "font-style",
2988			initialValue: "normal",
2989			prefix: false,
2990			type: 2,
2991			parse: function(_context, overflow$1) {
2992				switch (overflow$1) {
2993					case "oblique": return "oblique";
2994					case "italic": return "italic";
2995					case "normal":
2996					default: return "normal";
2997				}
2998			}
2999		};
3000		var contains = function(bit, value) {
3001			return (bit & value) !== 0;
3002		};
3003		var content = {
3004			name: "content",
3005			initialValue: "none",
3006			type: 1,
3007			prefix: false,
3008			parse: function(_context, tokens) {
3009				if (tokens.length === 0) return [];
3010				var first = tokens[0];
3011				if (first.type === 20 && first.value === "none") return [];
3012				return tokens;
3013			}
3014		};
3015		var counterIncrement = {
3016			name: "counter-increment",
3017			initialValue: "none",
3018			prefix: true,
3019			type: 1,
3020			parse: function(_context, tokens) {
3021				if (tokens.length === 0) return null;
3022				var first = tokens[0];
3023				if (first.type === 20 && first.value === "none") return null;
3024				var increments = [];
3025				var filtered = tokens.filter(nonWhiteSpace);
3026				for (var i$5 = 0; i$5 < filtered.length; i$5++) {
3027					var counter = filtered[i$5];
3028					var next = filtered[i$5 + 1];
3029					if (counter.type === 20) {
3030						var increment = next && isNumberToken(next) ? next.number : 1;
3031						increments.push({
3032							counter: counter.value,
3033							increment
3034						});
3035					}
3036				}
3037				return increments;
3038			}
3039		};
3040		var counterReset = {
3041			name: "counter-reset",
3042			initialValue: "none",
3043			prefix: true,
3044			type: 1,
3045			parse: function(_context, tokens) {
3046				if (tokens.length === 0) return [];
3047				var resets = [];
3048				var filtered = tokens.filter(nonWhiteSpace);
3049				for (var i$5 = 0; i$5 < filtered.length; i$5++) {
3050					var counter = filtered[i$5];
3051					var next = filtered[i$5 + 1];
vendor: 13,315 bytes, lines 3052-3352
3052					if (isIdentToken(counter) && counter.value !== "none") {
3053						var reset = next && isNumberToken(next) ? next.number : 0;
3054						resets.push({
3055							counter: counter.value,
3056							reset
3057						});
3058					}
3059				}
3060				return resets;
3061			}
3062		};
3063		var duration = {
3064			name: "duration",
3065			initialValue: "0s",
3066			prefix: false,
3067			type: 1,
3068			parse: function(context, tokens) {
3069				return tokens.filter(isDimensionToken).map(function(token) {
3070					return time.parse(context, token);
3071				});
3072			}
3073		};
3074		var quotes = {
3075			name: "quotes",
3076			initialValue: "none",
3077			prefix: true,
3078			type: 1,
3079			parse: function(_context, tokens) {
3080				if (tokens.length === 0) return null;
3081				var first = tokens[0];
3082				if (first.type === 20 && first.value === "none") return null;
3083				var quotes$1 = [];
3084				var filtered = tokens.filter(isStringToken);
3085				if (filtered.length % 2 !== 0) return null;
3086				for (var i$5 = 0; i$5 < filtered.length; i$5 += 2) {
3087					var open_1 = filtered[i$5].value;
3088					var close_1 = filtered[i$5 + 1].value;
3089					quotes$1.push({
3090						open: open_1,
3091						close: close_1
3092					});
3093				}
3094				return quotes$1;
3095			}
3096		};
3097		var getQuote = function(quotes$1, depth, open$1) {
3098			if (!quotes$1) return "";
3099			var quote = quotes$1[Math.min(depth, quotes$1.length - 1)];
3100			if (!quote) return "";
3101			return open$1 ? quote.open : quote.close;
3102		};
3103		var boxShadow = {
3104			name: "box-shadow",
3105			initialValue: "none",
3106			type: 1,
3107			prefix: false,
3108			parse: function(context, tokens) {
3109				if (tokens.length === 1 && isIdentWithValue(tokens[0], "none")) return [];
3110				return parseFunctionArgs(tokens).map(function(values) {
3111					var shadow = {
3112						color: 255,
3113						offsetX: ZERO_LENGTH,
3114						offsetY: ZERO_LENGTH,
3115						blur: ZERO_LENGTH,
3116						spread: ZERO_LENGTH,
3117						inset: false
3118					};
3119					var c$1 = 0;
3120					for (var i$5 = 0; i$5 < values.length; i$5++) {
3121						var token = values[i$5];
3122						if (isIdentWithValue(token, "inset")) shadow.inset = true;
3123						else if (isLength(token)) {
3124							if (c$1 === 0) shadow.offsetX = token;
3125							else if (c$1 === 1) shadow.offsetY = token;
3126							else if (c$1 === 2) shadow.blur = token;
3127							else shadow.spread = token;
3128							c$1++;
3129						} else shadow.color = color$1.parse(context, token);
3130					}
3131					return shadow;
3132				});
3133			}
3134		};
3135		var paintOrder = {
3136			name: "paint-order",
3137			initialValue: "normal",
3138			prefix: false,
3139			type: 1,
3140			parse: function(_context, tokens) {
3141				var DEFAULT_VALUE$1 = [
3142					0,
3143					1,
3144					2
3145				];
3146				var layers = [];
3147				tokens.filter(isIdentToken).forEach(function(token) {
3148					switch (token.value) {
3149						case "stroke":
3150							layers.push(1);
3151							break;
3152						case "fill":
3153							layers.push(0);
3154							break;
3155						case "markers":
3156							layers.push(2);
3157							break;
3158					}
3159				});
3160				DEFAULT_VALUE$1.forEach(function(value) {
3161					if (layers.indexOf(value) === -1) layers.push(value);
3162				});
3163				return layers;
3164			}
3165		};
3166		var webkitTextStrokeColor = {
3167			name: "-webkit-text-stroke-color",
3168			initialValue: "currentcolor",
3169			prefix: false,
3170			type: 3,
3171			format: "color"
3172		};
3173		var webkitTextStrokeWidth = {
3174			name: "-webkit-text-stroke-width",
3175			initialValue: "0",
3176			type: 0,
3177			prefix: false,
3178			parse: function(_context, token) {
3179				if (isDimensionToken(token)) return token.number;
3180				return 0;
3181			}
3182		};
3183		var CSSParsedDeclaration = function() {
3184			function CSSParsedDeclaration$1(context, declaration) {
3185				var _a$1, _b$1;
3186				this.animationDuration = parse(context, duration, declaration.animationDuration);
3187				this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);
3188				this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);
3189				this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);
3190				this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);
3191				this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);
3192				this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);
3193				this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);
3194				this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);
3195				this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);
3196				this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);
3197				this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);
3198				this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);
3199				this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);
3200				this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);
3201				this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);
3202				this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);
3203				this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);
3204				this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);
3205				this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);
3206				this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);
3207				this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);
3208				this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);
3209				this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);
3210				this.boxShadow = parse(context, boxShadow, declaration.boxShadow);
3211				this.color = parse(context, color, declaration.color);
3212				this.direction = parse(context, direction, declaration.direction);
3213				this.display = parse(context, display, declaration.display);
3214				this.float = parse(context, float, declaration.cssFloat);
3215				this.fontFamily = parse(context, fontFamily, declaration.fontFamily);
3216				this.fontSize = parse(context, fontSize, declaration.fontSize);
3217				this.fontStyle = parse(context, fontStyle, declaration.fontStyle);
3218				this.fontVariant = parse(context, fontVariant, declaration.fontVariant);
3219				this.fontWeight = parse(context, fontWeight, declaration.fontWeight);
3220				this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);
3221				this.lineBreak = parse(context, lineBreak, declaration.lineBreak);
3222				this.lineHeight = parse(context, lineHeight, declaration.lineHeight);
3223				this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);
3224				this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);
3225				this.listStyleType = parse(context, listStyleType, declaration.listStyleType);
3226				this.marginTop = parse(context, marginTop, declaration.marginTop);
3227				this.marginRight = parse(context, marginRight, declaration.marginRight);
3228				this.marginBottom = parse(context, marginBottom, declaration.marginBottom);
3229				this.marginLeft = parse(context, marginLeft, declaration.marginLeft);
3230				this.opacity = parse(context, opacity, declaration.opacity);
3231				var overflowTuple = parse(context, overflow, declaration.overflow);
3232				this.overflowX = overflowTuple[0];
3233				this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];
3234				this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);
3235				this.paddingTop = parse(context, paddingTop, declaration.paddingTop);
3236				this.paddingRight = parse(context, paddingRight, declaration.paddingRight);
3237				this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);
3238				this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);
3239				this.paintOrder = parse(context, paintOrder, declaration.paintOrder);
3240				this.position = parse(context, position, declaration.position);
3241				this.textAlign = parse(context, textAlign, declaration.textAlign);
3242				this.textDecorationColor = parse(context, textDecorationColor, (_a$1 = declaration.textDecorationColor) !== null && _a$1 !== void 0 ? _a$1 : declaration.color);
3243				this.textDecorationLine = parse(context, textDecorationLine, (_b$1 = declaration.textDecorationLine) !== null && _b$1 !== void 0 ? _b$1 : declaration.textDecoration);
3244				this.textShadow = parse(context, textShadow, declaration.textShadow);
3245				this.textTransform = parse(context, textTransform, declaration.textTransform);
3246				this.transform = parse(context, transform$1, declaration.transform);
3247				this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);
3248				this.visibility = parse(context, visibility, declaration.visibility);
3249				this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);
3250				this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);
3251				this.wordBreak = parse(context, wordBreak, declaration.wordBreak);
3252				this.zIndex = parse(context, zIndex, declaration.zIndex);
3253			}
3254			CSSParsedDeclaration$1.prototype.isVisible = function() {
3255				return this.display > 0 && this.opacity > 0 && this.visibility === 0;
3256			};
3257			CSSParsedDeclaration$1.prototype.isTransparent = function() {
3258				return isTransparent(this.backgroundColor);
3259			};
3260			CSSParsedDeclaration$1.prototype.isTransformed = function() {
3261				return this.transform !== null;
3262			};
3263			CSSParsedDeclaration$1.prototype.isPositioned = function() {
3264				return this.position !== 0;
3265			};
3266			CSSParsedDeclaration$1.prototype.isPositionedWithZIndex = function() {
3267				return this.isPositioned() && !this.zIndex.auto;
3268			};
3269			CSSParsedDeclaration$1.prototype.isFloating = function() {
3270				return this.float !== 0;
3271			};
3272			CSSParsedDeclaration$1.prototype.isInlineLevel = function() {
3273				return contains(this.display, 4) || contains(this.display, 33554432) || contains(this.display, 268435456) || contains(this.display, 536870912) || contains(this.display, 67108864) || contains(this.display, 134217728);
3274			};
3275			return CSSParsedDeclaration$1;
3276		}();
3277		var CSSParsedPseudoDeclaration = function() {
3278			function CSSParsedPseudoDeclaration$1(context, declaration) {
3279				this.content = parse(context, content, declaration.content);
3280				this.quotes = parse(context, quotes, declaration.quotes);
3281			}
3282			return CSSParsedPseudoDeclaration$1;
3283		}();
3284		var CSSParsedCounterDeclaration = function() {
3285			function CSSParsedCounterDeclaration$1(context, declaration) {
3286				this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);
3287				this.counterReset = parse(context, counterReset, declaration.counterReset);
3288			}
3289			return CSSParsedCounterDeclaration$1;
3290		}();
3291		var parse = function(context, descriptor, style) {
3292			var tokenizer = new Tokenizer();
3293			var value = style !== null && typeof style !== "undefined" ? style.toString() : descriptor.initialValue;
3294			tokenizer.write(value);
3295			var parser = new Parser(tokenizer.read());
3296			switch (descriptor.type) {
3297				case 2:
3298					var token = parser.parseComponentValue();
3299					return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);
3300				case 0: return descriptor.parse(context, parser.parseComponentValue());
3301				case 1: return descriptor.parse(context, parser.parseComponentValues());
3302				case 4: return parser.parseComponentValue();
3303				case 3:
3304					switch (descriptor.format) {
3305						case "angle": return angle.parse(context, parser.parseComponentValue());
3306						case "color": return color$1.parse(context, parser.parseComponentValue());
3307						case "image": return image.parse(context, parser.parseComponentValue());
3308						case "length":
3309							var length_1 = parser.parseComponentValue();
3310							return isLength(length_1) ? length_1 : ZERO_LENGTH;
3311						case "length-percentage":
3312							var value_1 = parser.parseComponentValue();
3313							return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;
3314						case "time": return time.parse(context, parser.parseComponentValue());
3315					}
3316					break;
3317			}
3318		};
3319		var elementDebuggerAttribute = "data-html2canvas-debug";
3320		var getElementDebugType = function(element) {
3321			switch (element.getAttribute(elementDebuggerAttribute)) {
3322				case "all": return 1;
3323				case "clone": return 2;
3324				case "parse": return 3;
3325				case "render": return 4;
3326				default: return 0;
3327			}
3328		};
3329		var isDebugging = function(element, type) {
3330			var elementType = getElementDebugType(element);
3331			return elementType === 1 || type === elementType;
3332		};
3333		var ElementContainer = function() {
3334			function ElementContainer$1(context, element) {
3335				this.context = context;
3336				this.textNodes = [];
3337				this.elements = [];
3338				this.flags = 0;
3339				if (isDebugging(element, 3)) debugger;
3340				this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));
3341				if (isHTMLElementNode(element)) {
3342					if (this.styles.animationDuration.some(function(duration$1) {
3343						return duration$1 > 0;
3344					})) element.style.animationDuration = "0s";
3345					if (this.styles.transform !== null) element.style.transform = "none";
3346				}
3347				this.bounds = parseBounds(this.context, element);
3348				if (isDebugging(element, 4)) this.flags |= 16;
3349			}
3350			return ElementContainer$1;
3351		}();
3352		var base64 = "
vendor: 26,156 bytes, line 3352
3352AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=
3352";
3353		var chars$1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
vendor: 4,567 bytes, lines 3353-3450
3353+/";
3354		var lookup$1 = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
3355		for (var i$1$2 = 0; i$1$2 < chars$1.length; i$1$2++) lookup$1[chars$1.charCodeAt(i$1$2)] = i$1$2;
3356		var decode$2 = function(base64$2) {
3357			var bufferLength = base64$2.length * .75, len = base64$2.length, i$5, p$1 = 0, encoded1, encoded2, encoded3, encoded4;
3358			if (base64$2[base64$2.length - 1] === "=") {
3359				bufferLength--;
3360				if (base64$2[base64$2.length - 2] === "=") bufferLength--;
3361			}
3362			var buffer = typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined" && typeof Uint8Array.prototype.slice !== "undefined" ? new ArrayBuffer(bufferLength) : new Array(bufferLength);
3363			var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);
3364			for (i$5 = 0; i$5 < len; i$5 += 4) {
3365				encoded1 = lookup$1[base64$2.charCodeAt(i$5)];
3366				encoded2 = lookup$1[base64$2.charCodeAt(i$5 + 1)];
3367				encoded3 = lookup$1[base64$2.charCodeAt(i$5 + 2)];
3368				encoded4 = lookup$1[base64$2.charCodeAt(i$5 + 3)];
3369				bytes[p$1++] = encoded1 << 2 | encoded2 >> 4;
3370				bytes[p$1++] = (encoded2 & 15) << 4 | encoded3 >> 2;
3371				bytes[p$1++] = (encoded3 & 3) << 6 | encoded4 & 63;
3372			}
3373			return buffer;
3374		};
3375		var polyUint16Array = function(buffer) {
3376			var length = buffer.length;
3377			var bytes = [];
3378			for (var i$5 = 0; i$5 < length; i$5 += 2) bytes.push(buffer[i$5 + 1] << 8 | buffer[i$5]);
3379			return bytes;
3380		};
3381		var polyUint32Array = function(buffer) {
3382			var length = buffer.length;
3383			var bytes = [];
3384			for (var i$5 = 0; i$5 < length; i$5 += 4) bytes.push(buffer[i$5 + 3] << 24 | buffer[i$5 + 2] << 16 | buffer[i$5 + 1] << 8 | buffer[i$5]);
3385			return bytes;
3386		};
3387		var UTRIE2_SHIFT_2 = 5;
3388		var UTRIE2_SHIFT_1 = 11;
3389		var UTRIE2_INDEX_SHIFT = 2;
3390		var UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;
3391		var UTRIE2_LSCP_INDEX_2_OFFSET = 65536 >> UTRIE2_SHIFT_2;
3392		var UTRIE2_DATA_MASK = (1 << UTRIE2_SHIFT_2) - 1;
3393		var UTRIE2_LSCP_INDEX_2_LENGTH = 1024 >> UTRIE2_SHIFT_2;
3394		var UTRIE2_INDEX_1_OFFSET = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH + 32;
3395		var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 65536 >> UTRIE2_SHIFT_1;
3396		var UTRIE2_INDEX_2_MASK = (1 << UTRIE2_SHIFT_1_2) - 1;
3397		var slice16 = function(view, start, end) {
3398			if (view.slice) return view.slice(start, end);
3399			return new Uint16Array(Array.prototype.slice.call(view, start, end));
3400		};
3401		var slice32 = function(view, start, end) {
3402			if (view.slice) return view.slice(start, end);
3403			return new Uint32Array(Array.prototype.slice.call(view, start, end));
3404		};
3405		var createTrieFromBase64 = function(base64$2, _byteLength) {
3406			var buffer = decode$2(base64$2);
3407			var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);
3408			var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);
3409			var headerLength = 24;
3410			var index = slice16(view16, headerLength / 2, view32[4] / 2);
3411			var data = view32[5] === 2 ? slice16(view16, (headerLength + view32[4]) / 2) : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));
3412			return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);
3413		};
3414		var Trie = function() {
3415			function Trie$2(initialValue, errorValue, highStart, highValueIndex, index, data) {
3416				this.initialValue = initialValue;
3417				this.errorValue = errorValue;
3418				this.highStart = highStart;
3419				this.highValueIndex = highValueIndex;
3420				this.index = index;
3421				this.data = data;
3422			}
3423			Trie$2.prototype.get = function(codePoint) {
3424				var ix;
3425				if (codePoint >= 0) {
3426					if (codePoint < 55296 || codePoint > 56319 && codePoint <= 65535) {
3427						ix = this.index[codePoint >> UTRIE2_SHIFT_2];
3428						ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);
3429						return this.data[ix];
3430					}
3431					if (codePoint <= 65535) {
3432						ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + (codePoint - 55296 >> UTRIE2_SHIFT_2)];
3433						ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);
3434						return this.data[ix];
3435					}
3436					if (codePoint < this.highStart) {
3437						ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);
3438						ix = this.index[ix];
3439						ix += codePoint >> UTRIE2_SHIFT_2 & UTRIE2_INDEX_2_MASK;
3440						ix = this.index[ix];
3441						ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);
3442						return this.data[ix];
3443					}
3444					if (codePoint <= 1114111) return this.data[this.highValueIndex];
3445				}
3446				return this.errorValue;
3447			};
3448			return Trie$2;
3449		}();
3450		var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
3450+/";
3451		var lookup = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
3452		for (var i$4 = 0; i$4 < chars.length; i$4++) lookup[chars.charCodeAt(i$4)] = i$4;
3453		var Prepend = 1;
3454		var CR = 2;
3455		var LF = 3;
3456		var Control = 4;
3457		var Extend = 5;
3458		var SpacingMark = 7;
3459		var L$1 = 8;
3460		var V$1 = 9;
3461		var T$1 = 10;
3462		var LV = 11;
3463		var LVT = 12;
3464		var ZWJ = 13;
3465		var Extended_Pictographic = 14;
3466		var RI = 15;
3467		var toCodePoints = function(str) {
3468			var codePoints = [];
3469			var i$5 = 0;
3470			var length = str.length;
3471			while (i$5 < length) {
3472				var value = str.charCodeAt(i$5++);
3473				if (value >= 55296 && value <= 56319 && i$5 < length) {
3474					var extra = str.charCodeAt(i$5++);
3475					if ((extra & 64512) === 56320) codePoints.push(((value & 1023) << 10) + (extra & 1023) + 65536);
3476					else {
3477						codePoints.push(value);
3478						i$5--;
3479					}
3480				} else codePoints.push(value);
3481			}
3482			return codePoints;
3483		};
3484		var fromCodePoint = function() {
3485			var codePoints = [];
3486			for (var _i = 0; _i < arguments.length; _i++) codePoints[_i] = arguments[_i];
3487			if (String.fromCodePoint) return String.fromCodePoint.apply(String, codePoints);
3488			var length = codePoints.length;
3489			if (!length) return "";
3490			var codeUnits = [];
3491			var index = -1;
3492			var result = "";
3493			while (++index < length) {
3494				var codePoint = codePoints[index];
3495				if (codePoint <= 65535) codeUnits.push(codePoint);
3496				else {
3497					codePoint -= 65536;
3498					codeUnits.push((codePoint >> 10) + 55296, codePoint % 1024 + 56320);
3499				}
3500				if (index + 1 === length || codeUnits.length > 16384) {
3501					result += String.fromCharCode.apply(String, codeUnits);
3502					codeUnits.length = 0;
3503				}
3504			}
3505			return result;
3506		};
3507		var UnicodeTrie = createTrieFromBase64(base64);
3508		var BREAK_NOT_ALLOWED = "×";
3509		var BREAK_ALLOWED = "÷";
3510		var codePointToClass = function(codePoint) {
3511			return UnicodeTrie.get(codePoint);
3512		};
3513		var _graphemeBreakAtIndex = function(_codePoints, classTypes, index) {
3514			var prevIndex = index - 2;
3515			var prev = classTypes[prevIndex];
3516			var current = classTypes[index - 1];
3517			var next = classTypes[index];
3518			if (current === CR && next === LF) return BREAK_NOT_ALLOWED;
3519			if (current === CR || current === LF || current === Control) return BREAK_ALLOWED;
3520			if (next === CR || next === LF || next === Control) return BREAK_ALLOWED;
3521			if (current === L$1 && [
3522				L$1,
3523				V$1,
3524				LV,
3525				LVT
3526			].indexOf(next) !== -1) return BREAK_NOT_ALLOWED;
3527			if ((current === LV || current === V$1) && (next === V$1 || next === T$1)) return BREAK_NOT_ALLOWED;
3528			if ((current === LVT || current === T$1) && next === T$1) return BREAK_NOT_ALLOWED;
3529			if (next === ZWJ || next === Extend) return BREAK_NOT_ALLOWED;
3530			if (next === SpacingMark) return BREAK_NOT_ALLOWED;
3531			if (current === Prepend) return BREAK_NOT_ALLOWED;
3532			if (current === ZWJ && next === Extended_Pictographic) {
3533				while (prev === Extend) prev = classTypes[--prevIndex];
3534				if (prev === Extended_Pictographic) return BREAK_NOT_ALLOWED;
3535			}
3536			if (current === RI && next === RI) {
3537				var countRI = 0;
3538				while (prev === RI) {
3539					countRI++;
3540					prev = classTypes[--prevIndex];
3541				}
3542				if (countRI % 2 === 0) return BREAK_NOT_ALLOWED;
3543			}
3544			return BREAK_ALLOWED;
3545		};
3546		var GraphemeBreaker = function(str) {
3547			var codePoints = toCodePoints(str);
3548			var length = codePoints.length;
3549			var index = 0;
3550			var lastEnd = 0;
3551			var classTypes = codePoints.map(codePointToClass);
3552			return { next: function() {
3553				if (index >= length) return {
3554					done: true,
3555					value: null
3556				};
3557				var graphemeBreak = BREAK_NOT_ALLOWED;
3558				while (index < length && (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED);
3559				if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {
3560					var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));
3561					lastEnd = index;
3562					return {
3563						value,
3564						done: false
3565					};
3566				}
3567				return {
3568					done: true,
3569					value: null
3570				};
3571			} };
3572		};
3573		var splitGraphemes = function(str) {
3574			var breaker = GraphemeBreaker(str);
3575			var graphemes = [];
3576			var bk;
3577			while (!(bk = breaker.next()).done) if (bk.value) graphemes.push(bk.value.slice());
3578			return graphemes;
3579		};
3580		var testRangeBounds = function(document$1) {
3581			var TEST_HEIGHT = 123;
3582			if (document$1.createRange) {
3583				var range = document$1.createRange();
3584				if (range.getBoundingClientRect) {
3585					var testElement = document$1.createElement("boundtest");
3586					testElement.style.height = TEST_HEIGHT + "px";
3587					testElement.style.display = "block";
3588					document$1.body.appendChild(testElement);
3589					range.selectNode(testElement);
3590					var rangeBounds = range.getBoundingClientRect();
3591					var rangeHeight = Math.round(rangeBounds.height);
3592					document$1.body.removeChild(testElement);
3593					if (rangeHeight === TEST_HEIGHT) return true;
3594				}
3595			}
3596			return false;
vendor: 15,808 bytes, lines 3597-4011
3597		};
3598		var testIOSLineBreak = function(document$1) {
3599			var testElement = document$1.createElement("boundtest");
3600			testElement.style.width = "50px";
3601			testElement.style.display = "block";
3602			testElement.style.fontSize = "12px";
3603			testElement.style.letterSpacing = "0px";
3604			testElement.style.wordSpacing = "0px";
3605			document$1.body.appendChild(testElement);
3606			var range = document$1.createRange();
3607			testElement.innerHTML = typeof "".repeat === "function" ? "&#128104;".repeat(10) : "";
3608			var node = testElement.firstChild;
3609			var textList = toCodePoints$1(node.data).map(function(i$5) {
3610				return fromCodePoint$1(i$5);
3611			});
3612			var offset = 0;
3613			var prev = {};
3614			var supports = textList.every(function(text, i$5) {
3615				range.setStart(node, offset);
3616				range.setEnd(node, offset + text.length);
3617				var rect = range.getBoundingClientRect();
3618				offset += text.length;
3619				var boundAhead = rect.x > prev.x || rect.y > prev.y;
3620				prev = rect;
3621				if (i$5 === 0) return true;
3622				return boundAhead;
3623			});
3624			document$1.body.removeChild(testElement);
3625			return supports;
3626		};
3627		var testCORS = function() {
3628			return typeof new Image().crossOrigin !== "undefined";
3629		};
3630		var testResponseType = function() {
3631			return typeof new XMLHttpRequest().responseType === "string";
3632		};
3633		var testSVG = function(document$1) {
3634			var img = new Image();
3635			var canvas = document$1.createElement("canvas");
3636			var ctx = canvas.getContext("2d");
3637			if (!ctx) return false;
3638			img.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";
3639			try {
3640				ctx.drawImage(img, 0, 0);
3641				canvas.toDataURL();
3642			} catch (e$1) {
3643				return false;
3644			}
3645			return true;
3646		};
3647		var isGreenPixel = function(data) {
3648			return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;
3649		};
3650		var testForeignObject = function(document$1) {
3651			var canvas = document$1.createElement("canvas");
3652			var size = 100;
3653			canvas.width = size;
3654			canvas.height = size;
3655			var ctx = canvas.getContext("2d");
3656			if (!ctx) return Promise.reject(false);
3657			ctx.fillStyle = "rgb(0, 255, 0)";
3658			ctx.fillRect(0, 0, size, size);
3659			var img = new Image();
3660			var greenImageSrc = canvas.toDataURL();
3661			img.src = greenImageSrc;
3662			var svg = createForeignObjectSVG(size, size, 0, 0, img);
3663			ctx.fillStyle = "red";
3664			ctx.fillRect(0, 0, size, size);
3665			return loadSerializedSVG$1(svg).then(function(img$1) {
3666				ctx.drawImage(img$1, 0, 0);
3667				var data = ctx.getImageData(0, 0, size, size).data;
3668				ctx.fillStyle = "red";
3669				ctx.fillRect(0, 0, size, size);
3670				var node = document$1.createElement("div");
3671				node.style.backgroundImage = "url(" + greenImageSrc + ")";
3672				node.style.height = size + "px";
3673				return isGreenPixel(data) ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node)) : Promise.reject(false);
3674			}).then(function(img$1) {
3675				ctx.drawImage(img$1, 0, 0);
3676				return isGreenPixel(ctx.getImageData(0, 0, size, size).data);
3677			}).catch(function() {
3678				return false;
3679			});
3680		};
3681		var createForeignObjectSVG = function(width, height, x$2, y$1, node) {
3682			var xmlns = "http://www.w3.org/2000/svg";
3683			var svg = document.createElementNS(xmlns, "svg");
3684			var foreignObject = document.createElementNS(xmlns, "foreignObject");
3685			svg.setAttributeNS(null, "width", width.toString());
3686			svg.setAttributeNS(null, "height", height.toString());
3687			foreignObject.setAttributeNS(null, "width", "100%");
3688			foreignObject.setAttributeNS(null, "height", "100%");
3689			foreignObject.setAttributeNS(null, "x", x$2.toString());
3690			foreignObject.setAttributeNS(null, "y", y$1.toString());
3691			foreignObject.setAttributeNS(null, "externalResourcesRequired", "true");
3692			svg.appendChild(foreignObject);
3693			foreignObject.appendChild(node);
3694			return svg;
3695		};
3696		var loadSerializedSVG$1 = function(svg) {
3697			return new Promise(function(resolve, reject) {
3698				var img = new Image();
3699				img.onload = function() {
3700					return resolve(img);
3701				};
3702				img.onerror = reject;
3703				img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(svg));
3704			});
3705		};
3706		var FEATURES = {
3707			get SUPPORT_RANGE_BOUNDS() {
3708				var value = testRangeBounds(document);
3709				Object.defineProperty(FEATURES, "SUPPORT_RANGE_BOUNDS", { value });
3710				return value;
3711			},
3712			get SUPPORT_WORD_BREAKING() {
3713				var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);
3714				Object.defineProperty(FEATURES, "SUPPORT_WORD_BREAKING", { value });
3715				return value;
3716			},
3717			get SUPPORT_SVG_DRAWING() {
3718				var value = testSVG(document);
3719				Object.defineProperty(FEATURES, "SUPPORT_SVG_DRAWING", { value });
3720				return value;
3721			},
3722			get SUPPORT_FOREIGNOBJECT_DRAWING() {
3723				var value = typeof Array.from === "function" && typeof window.fetch === "function" ? testForeignObject(document) : Promise.resolve(false);
3724				Object.defineProperty(FEATURES, "SUPPORT_FOREIGNOBJECT_DRAWING", { value });
3725				return value;
3726			},
3727			get SUPPORT_CORS_IMAGES() {
3728				var value = testCORS();
3729				Object.defineProperty(FEATURES, "SUPPORT_CORS_IMAGES", { value });
3730				return value;
3731			},
3732			get SUPPORT_RESPONSE_TYPE() {
3733				var value = testResponseType();
3734				Object.defineProperty(FEATURES, "SUPPORT_RESPONSE_TYPE", { value });
3735				return value;
3736			},
3737			get SUPPORT_CORS_XHR() {
3738				var value = "withCredentials" in new XMLHttpRequest();
3739				Object.defineProperty(FEATURES, "SUPPORT_CORS_XHR", { value });
3740				return value;
3741			},
3742			get SUPPORT_NATIVE_TEXT_SEGMENTATION() {
3743				var value = !!(typeof Intl !== "undefined" && Intl.Segmenter);
3744				Object.defineProperty(FEATURES, "SUPPORT_NATIVE_TEXT_SEGMENTATION", { value });
3745				return value;
3746			}
3747		};
3748		var TextBounds = function() {
3749			function TextBounds$1(text, bounds) {
3750				this.text = text;
3751				this.bounds = bounds;
3752			}
3753			return TextBounds$1;
3754		}();
3755		var parseTextBounds = function(context, value, styles, node) {
3756			var textList = breakText(value, styles);
3757			var textBounds = [];
3758			var offset = 0;
3759			textList.forEach(function(text) {
3760				if (styles.textDecorationLine.length || text.trim().length > 0) if (FEATURES.SUPPORT_RANGE_BOUNDS) {
3761					var clientRects = createRange(node, offset, text.length).getClientRects();
3762					if (clientRects.length > 1) {
3763						var subSegments = segmentGraphemes(text);
3764						var subOffset_1 = 0;
3765						subSegments.forEach(function(subSegment) {
3766							textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));
3767							subOffset_1 += subSegment.length;
3768						});
3769					} else textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));
3770				} else {
3771					var replacementNode = node.splitText(text.length);
3772					textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));
3773					node = replacementNode;
3774				}
3775				else if (!FEATURES.SUPPORT_RANGE_BOUNDS) node = node.splitText(text.length);
3776				offset += text.length;
3777			});
3778			return textBounds;
3779		};
3780		var getWrapperBounds = function(context, node) {
3781			var ownerDocument = node.ownerDocument;
3782			if (ownerDocument) {
3783				var wrapper = ownerDocument.createElement("html2canvaswrapper");
3784				wrapper.appendChild(node.cloneNode(true));
3785				var parentNode = node.parentNode;
3786				if (parentNode) {
3787					parentNode.replaceChild(wrapper, node);
3788					var bounds = parseBounds(context, wrapper);
3789					if (wrapper.firstChild) parentNode.replaceChild(wrapper.firstChild, wrapper);
3790					return bounds;
3791				}
3792			}
3793			return Bounds.EMPTY;
3794		};
3795		var createRange = function(node, offset, length) {
3796			var ownerDocument = node.ownerDocument;
3797			if (!ownerDocument) throw new Error("Node has no owner document");
3798			var range = ownerDocument.createRange();
3799			range.setStart(node, offset);
3800			range.setEnd(node, offset + length);
3801			return range;
3802		};
3803		var segmentGraphemes = function(value) {
3804			if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
3805				var segmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
3806				return Array.from(segmenter.segment(value)).map(function(segment) {
3807					return segment.segment;
3808				});
3809			}
3810			return splitGraphemes(value);
3811		};
3812		var segmentWords = function(value, styles) {
3813			if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
3814				var segmenter = new Intl.Segmenter(void 0, { granularity: "word" });
3815				return Array.from(segmenter.segment(value)).map(function(segment) {
3816					return segment.segment;
3817				});
3818			}
3819			return breakWords(value, styles);
3820		};
3821		var breakText = function(value, styles) {
3822			return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);
3823		};
3824		var wordSeparators = [
3825			32,
3826			160,
3827			4961,
3828			65792,
3829			65793,
3830			4153,
3831			4241
3832		];
3833		var breakWords = function(str, styles) {
3834			var breaker = LineBreaker(str, {
3835				lineBreak: styles.lineBreak,
3836				wordBreak: styles.overflowWrap === "break-word" ? "break-word" : styles.wordBreak
3837			});
3838			var words = [];
3839			var bk;
3840			var _loop_1 = function() {
3841				if (bk.value) {
3842					var value = bk.value.slice();
3843					var codePoints = toCodePoints$1(value);
3844					var word_1 = "";
3845					codePoints.forEach(function(codePoint) {
3846						if (wordSeparators.indexOf(codePoint) === -1) word_1 += fromCodePoint$1(codePoint);
3847						else {
3848							if (word_1.length) words.push(word_1);
3849							words.push(fromCodePoint$1(codePoint));
3850							word_1 = "";
3851						}
3852					});
3853					if (word_1.length) words.push(word_1);
3854				}
3855			};
3856			while (!(bk = breaker.next()).done) _loop_1();
3857			return words;
3858		};
3859		var TextContainer = function() {
3860			function TextContainer$1(context, node, styles) {
3861				this.text = transform(node.data, styles.textTransform);
3862				this.textBounds = parseTextBounds(context, this.text, styles, node);
3863			}
3864			return TextContainer$1;
3865		}();
3866		var transform = function(text, transform$2) {
3867			switch (transform$2) {
3868				case 1: return text.toLowerCase();
3869				case 3: return text.replace(CAPITALIZE, capitalize);
3870				case 2: return text.toUpperCase();
3871				default: return text;
3872			}
3873		};
3874		var CAPITALIZE = /(^|\s|:|-|\(|\))([a-z])/g;
3875		var capitalize = function(m$1, p1, p2) {
3876			if (m$1.length > 0) return p1 + p2.toUpperCase();
3877			return m$1;
3878		};
3879		var ImageElementContainer = function(_super) {
3880			__extends(ImageElementContainer$1, _super);
3881			function ImageElementContainer$1(context, img) {
3882				var _this = _super.call(this, context, img) || this;
3883				_this.src = img.currentSrc || img.src;
3884				_this.intrinsicWidth = img.naturalWidth;
3885				_this.intrinsicHeight = img.naturalHeight;
3886				_this.context.cache.addImage(_this.src);
3887				return _this;
3888			}
3889			return ImageElementContainer$1;
3890		}(ElementContainer);
3891		var CanvasElementContainer = function(_super) {
3892			__extends(CanvasElementContainer$1, _super);
3893			function CanvasElementContainer$1(context, canvas) {
3894				var _this = _super.call(this, context, canvas) || this;
3895				_this.canvas = canvas;
3896				_this.intrinsicWidth = canvas.width;
3897				_this.intrinsicHeight = canvas.height;
3898				return _this;
3899			}
3900			return CanvasElementContainer$1;
3901		}(ElementContainer);
3902		var SVGElementContainer = function(_super) {
3903			__extends(SVGElementContainer$1, _super);
3904			function SVGElementContainer$1(context, img) {
3905				var _this = _super.call(this, context, img) || this;
3906				var s$1 = new XMLSerializer();
3907				var bounds = parseBounds(context, img);
3908				img.setAttribute("width", bounds.width + "px");
3909				img.setAttribute("height", bounds.height + "px");
3910				_this.svg = "data:image/svg+xml," + encodeURIComponent(s$1.serializeToString(img));
3911				_this.intrinsicWidth = img.width.baseVal.value;
3912				_this.intrinsicHeight = img.height.baseVal.value;
3913				_this.context.cache.addImage(_this.svg);
3914				return _this;
3915			}
3916			return SVGElementContainer$1;
3917		}(ElementContainer);
3918		var LIElementContainer = function(_super) {
3919			__extends(LIElementContainer$1, _super);
3920			function LIElementContainer$1(context, element) {
3921				var _this = _super.call(this, context, element) || this;
3922				_this.value = element.value;
3923				return _this;
3924			}
3925			return LIElementContainer$1;
3926		}(ElementContainer);
3927		var OLElementContainer = function(_super) {
3928			__extends(OLElementContainer$1, _super);
3929			function OLElementContainer$1(context, element) {
3930				var _this = _super.call(this, context, element) || this;
3931				_this.start = element.start;
3932				_this.reversed = typeof element.reversed === "boolean" && element.reversed === true;
3933				return _this;
3934			}
3935			return OLElementContainer$1;
3936		}(ElementContainer);
3937		var CHECKBOX_BORDER_RADIUS = [{
3938			type: 15,
3939			flags: 0,
3940			unit: "px",
3941			number: 3
3942		}];
3943		var RADIO_BORDER_RADIUS = [{
3944			type: 16,
3945			flags: 0,
3946			number: 50
3947		}];
3948		var reformatInputBounds = function(bounds) {
3949			if (bounds.width > bounds.height) return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);
3950			else if (bounds.width < bounds.height) return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);
3951			return bounds;
3952		};
3953		var getInputValue = function(node) {
3954			var value = node.type === PASSWORD ? new Array(node.value.length + 1).join("•") : node.value;
3955			return value.length === 0 ? node.placeholder || "" : value;
3956		};
3957		var CHECKBOX = "checkbox";
3958		var RADIO = "radio";
3959		var PASSWORD = "password";
3960		var INPUT_COLOR = 707406591;
3961		var InputElementContainer = function(_super) {
3962			__extends(InputElementContainer$1, _super);
3963			function InputElementContainer$1(context, input) {
3964				var _this = _super.call(this, context, input) || this;
3965				_this.type = input.type.toLowerCase();
3966				_this.checked = input.checked;
3967				_this.value = getInputValue(input);
3968				if (_this.type === CHECKBOX || _this.type === RADIO) {
3969					_this.styles.backgroundColor = 3739148031;
3970					_this.styles.borderTopColor = _this.styles.borderRightColor = _this.styles.borderBottomColor = _this.styles.borderLeftColor = 2779096575;
3971					_this.styles.borderTopWidth = _this.styles.borderRightWidth = _this.styles.borderBottomWidth = _this.styles.borderLeftWidth = 1;
3972					_this.styles.borderTopStyle = _this.styles.borderRightStyle = _this.styles.borderBottomStyle = _this.styles.borderLeftStyle = 1;
3973					_this.styles.backgroundClip = [0];
3974					_this.styles.backgroundOrigin = [0];
3975					_this.bounds = reformatInputBounds(_this.bounds);
3976				}
3977				switch (_this.type) {
3978					case CHECKBOX:
3979						_this.styles.borderTopRightRadius = _this.styles.borderTopLeftRadius = _this.styles.borderBottomRightRadius = _this.styles.borderBottomLeftRadius = CHECKBOX_BORDER_RADIUS;
3980						break;
3981					case RADIO:
3982						_this.styles.borderTopRightRadius = _this.styles.borderTopLeftRadius = _this.styles.borderBottomRightRadius = _this.styles.borderBottomLeftRadius = RADIO_BORDER_RADIUS;
3983						break;
3984				}
3985				return _this;
3986			}
3987			return InputElementContainer$1;
3988		}(ElementContainer);
3989		var SelectElementContainer = function(_super) {
3990			__extends(SelectElementContainer$1, _super);
3991			function SelectElementContainer$1(context, element) {
3992				var _this = _super.call(this, context, element) || this;
3993				var option = element.options[element.selectedIndex || 0];
3994				_this.value = option ? option.text || "" : "";
3995				return _this;
3996			}
3997			return SelectElementContainer$1;
3998		}(ElementContainer);
3999		var TextareaElementContainer = function(_super) {
4000			__extends(TextareaElementContainer$1, _super);
4001			function TextareaElementContainer$1(context, element) {
4002				var _this = _super.call(this, context, element) || this;
4003				_this.value = element.value;
4004				return _this;
4005			}
4006			return TextareaElementContainer$1;
4007		}(ElementContainer);
4008		var IFrameElementContainer = function(_super) {
4009			__extends(IFrameElementContainer$1, _super);
4010			function IFrameElementContainer$1(context, iframe) {
4011				var _this = _super.call(this, context, iframe) || this;
4012				_this.src = iframe.src;
4013				_this.width = parseInt(iframe.width, 10) || 0;
4014				_this.height = parseInt(iframe.height, 10) || 0;
4015				_this.backgroundColor = _this.styles.backgroundColor;
4016				try {
4017					if (iframe.contentWindow && iframe.contentWindow.document && iframe.contentWindow.document.documentElement) {
4018						_this.tree = parseTree(context, iframe.contentWindow.document.documentElement);
4019						var documentBackgroundColor = iframe.contentWindow.document.documentElement ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor) : COLORS.TRANSPARENT;
4020						var bodyBackgroundColor = iframe.contentWindow.document.body ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor) : COLORS.TRANSPARENT;
4021						_this.backgroundColor = isTransparent(documentBackgroundColor) ? isTransparent(bodyBackgroundColor) ? _this.styles.backgroundColor : bodyBackgroundColor : documentBackgroundColor;
4022					}
4023				} catch (e$1) {}
4024				return _this;
4025			}
4026			return IFrameElementContainer$1;
4027		}(ElementContainer);
4028		var LIST_OWNERS = [
4029			"OL",
4030			"UL",
4031			"MENU"
4032		];
4033		var parseNodeTree = function(context, node, parent, root) {
4034			for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {
4035				nextNode = childNode.nextSibling;
4036				if (isTextNode(childNode) && childNode.data.trim().length > 0) parent.textNodes.push(new TextContainer(context, childNode, parent.styles));
4037				else if (isElementNode(childNode)) if (isSlotElement(childNode) && childNode.assignedNodes) childNode.assignedNodes().forEach(function(childNode$1) {
4038					return parseNodeTree(context, childNode$1, parent, root);
4039				});
4040				else {
4041					var container = createContainer(context, childNode);
4042					if (container.styles.isVisible()) {
4043						if (createsRealStackingContext(childNode, container, root)) container.flags |= 4;
4044						else if (createsStackingContext(container.styles)) container.flags |= 2;
4045						if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) container.flags |= 8;
4046						parent.elements.push(container);
4047						childNode.slot;
4048						if (childNode.shadowRoot) parseNodeTree(context, childNode.shadowRoot, container, root);
4049						else if (!isTextareaElement(childNode) && !isSVGElement(childNode) && !isSelectElement(childNode)) parseNodeTree(context, childNode, container, root);
4050					}
4051				}
4052			}
4053		};
4054		var createContainer = function(context, element) {
4055			if (isImageElement(element)) return new ImageElementContainer(context, element);
4056			if (isCanvasElement(element)) return new CanvasElementContainer(context, element);
4057			if (isSVGElement(element)) return new SVGElementContainer(context, element);
4058			if (isLIElement(element)) return new LIElementContainer(context, element);
4059			if (isOLElement(element)) return new OLElementContainer(context, element);
4060			if (isInputElement(element)) return new InputElementContainer(context, element);
4061			if (isSelectElement(element)) return new SelectElementContainer(context, element);
4062			if (isTextareaElement(element)) return new TextareaElementContainer(context, element);
4063			if (isIFrameElement(element)) return new IFrameElementContainer(context, element);
4064			return new ElementContainer(context, element);
4065		};
4066		var parseTree = function(context, element) {
4067			var container = createContainer(context, element);
4068			container.flags |= 4;
4069			parseNodeTree(context, element, container, container);
4070			return container;
4071		};
4072		var createsRealStackingContext = function(node, container, root) {
4073			return container.styles.isPositionedWithZIndex() || container.styles.opacity < 1 || container.styles.isTransformed() || isBodyElement(node) && root.styles.isTransparent();
4074		};
4075		var createsStackingContext = function(styles) {
4076			return styles.isPositioned() || styles.isFloating();
4077		};
4078		var isTextNode = function(node) {
4079			return node.nodeType === Node.TEXT_NODE;
4080		};
4081		var isElementNode = function(node) {
4082			return node.nodeType === Node.ELEMENT_NODE;
4083		};
4084		var isHTMLElementNode = function(node) {
4085			return isElementNode(node) && typeof node.style !== "undefined" && !isSVGElementNode(node);
4086		};
4087		var isSVGElementNode = function(element) {
4088			return typeof element.className === "object";
4089		};
4090		var isLIElement = function(node) {
4091			return node.tagName === "LI";
4092		};
4093		var isOLElement = function(node) {
4094			return node.tagName === "OL";
4095		};
4096		var isInputElement = function(node) {
4097			return node.tagName === "INPUT";
4098		};
4099		var isHTMLElement = function(node) {
4100			return node.tagName === "HTML";
4101		};
4102		var isSVGElement = function(node) {
4103			return node.tagName === "svg";
4104		};
4105		var isBodyElement = function(node) {
4106			return node.tagName === "BODY";
4107		};
4108		var isCanvasElement = function(node) {
4109			return node.tagName === "CANVAS";
4110		};
4111		var isVideoElement = function(node) {
4112			return node.tagName === "VIDEO";
4113		};
4114		var isImageElement = function(node) {
4115			return node.tagName === "IMG";
4116		};
4117		var isIFrameElement = function(node) {
4118			return node.tagName === "IFRAME";
4119		};
4120		var isStyleElement = function(node) {
4121			return node.tagName === "STYLE";
4122		};
4123		var isScriptElement = function(node) {
4124			return node.tagName === "SCRIPT";
4125		};
4126		var isTextareaElement = function(node) {
4127			return node.tagName === "TEXTAREA";
4128		};
4129		var isSelectElement = function(node) {
4130			return node.tagName === "SELECT";
4131		};
4132		var isSlotElement = function(node) {
4133			return node.tagName === "SLOT";
4134		};
4135		var isCustomElement = function(node) {
4136			return node.tagName.indexOf("-") > 0;
4137		};
4138		var CounterState = function() {
4139			function CounterState$1() {
4140				this.counters = {};
4141			}
4142			CounterState$1.prototype.getCounterValue = function(name) {
4143				var counter = this.counters[name];
4144				if (counter && counter.length) return counter[counter.length - 1];
4145				return 1;
4146			};
4147			CounterState$1.prototype.getCounterValues = function(name) {
4148				var counter = this.counters[name];
4149				return counter ? counter : [];
4150			};
4151			CounterState$1.prototype.pop = function(counters) {
4152				var _this = this;
4153				counters.forEach(function(counter) {
4154					return _this.counters[counter].pop();
4155				});
4156			};
4157			CounterState$1.prototype.parse = function(style) {
4158				var _this = this;
4159				var counterIncrement$1 = style.counterIncrement;
4160				var counterReset$1 = style.counterReset;
4161				var canReset = true;
4162				if (counterIncrement$1 !== null) counterIncrement$1.forEach(function(entry) {
4163					var counter = _this.counters[entry.counter];
4164					if (counter && entry.increment !== 0) {
4165						canReset = false;
4166						if (!counter.length) counter.push(1);
4167						counter[Math.max(0, counter.length - 1)] += entry.increment;
4168					}
4169				});
4170				var counterNames = [];
4171				if (canReset) counterReset$1.forEach(function(entry) {
4172					var counter = _this.counters[entry.counter];
4173					counterNames.push(entry.counter);
4174					if (!counter) counter = _this.counters[entry.counter] = [];
4175					counter.push(entry.reset);
4176				});
4177				return counterNames;
4178			};
4179			return CounterState$1;
4180		}();
4181		var ROMAN_UPPER = {
4182			integers: [
4183				1e3,
4184				900,
4185				500,
4186				400,
4187				100,
4188				90,
4189				50,
4190				40,
4191				10,
4192				9,
4193				5,
4194				4,
4195				1
4196			],
4197			values: [
4198				"M",
4199				"CM",
4200				"D",
4201				"CD",
4202				"C",
4203				"XC",
4204				"L",
4205				"XL",
4206				"X",
4207				"IX",
4208				"V",
4209				"IV",
4210				"I"
4211			]
4212		};
4213		var ARMENIAN = {
4214			integers: [
4215				9e3,
4216				8e3,
4217				7e3,
4218				6e3,
4219				5e3,
4220				4e3,
4221				3e3,
4222				2e3,
4223				1e3,
4224				900,
4225				800,
4226				700,
4227				600,
4228				500,
4229				400,
4230				300,
4231				200,
4232				100,
4233				90,
4234				80,
4235				70,
4236				60,
4237				50,
4238				40,
4239				30,
4240				20,
4241				10,
4242				9,
4243				8,
4244				7,
4245				6,
4246				5,
4247				4,
4248				3,
4249				2,
4250				1
4251			],
4252			values: [
4253				"Ք",
4254				"Փ",
4255				"Ւ",
4256				"Ց",
4257				"Ր",
4258				"Տ",
4259				"Վ",
4260				"Ս",
4261				"Ռ",
4262				"Ջ",
4263				"Պ",
4264				"Չ",
4265				"Ո",
4266				"Շ",
4267				"Ն",
4268				"Յ",
4269				"Մ",
4270				"Ճ",
4271				"Ղ",
4272				"Ձ",
4273				"Հ",
4274				"Ô¿",
4275				"Ô¾",
4276				"Ô½",
4277				"Ô¼",
4278				"Ô»",
4279				"Ôº",
4280				"Ô¹",
4281				"Ô¸",
4282				"Ô·",
4283				"Ô¶",
4284				"Ôµ",
4285				"Ô´",
4286				"Ô³",
4287				"Ô²",
4288				"Ô±"
4289			]
4290		};
4291		var HEBREW = {
4292			integers: [
4293				1e4,
4294				9e3,
4295				8e3,
4296				7e3,
4297				6e3,
4298				5e3,
4299				4e3,
4300				3e3,
4301				2e3,
4302				1e3,
4303				400,
4304				300,
4305				200,
4306				100,
4307				90,
4308				80,
4309				70,
4310				60,
4311				50,
4312				40,
4313				30,
4314				20,
4315				19,
4316				18,
4317				17,
4318				16,
4319				15,
4320				10,
4321				9,
4322				8,
4323				7,
4324				6,
4325				5,
4326				4,
4327				3,
4328				2,
4329				1
4330			],
4331			values: [
4332				"י׳",
4333				"ט׳",
4334				"ח׳",
4335				"ז׳",
4336				"ו׳",
4337				"ה׳",
4338				"ד׳",
4339				"ג׳",
4340				"ב׳",
4341				"א׳",
4342				"ת",
4343				"ש",
4344				"ר",
4345				"×§",
4346				"צ",
4347				"פ",
4348				"×¢",
4349				"ס",
4350				"× ",
4351				"מ",
4352				"ל",
4353				"כ",
4354				"יט",
4355				"יח",
4356				"יז",
4357				"טז",
4358				"טו",
4359				"י",
4360				"ט",
4361				"ח",
4362				"ז",
4363				"ו",
4364				"ה",
4365				"ד",
4366				"ג",
4367				"ב",
4368				"א"
4369			]
4370		};
4371		var GEORGIAN = {
4372			integers: [
4373				1e4,
4374				9e3,
4375				8e3,
4376				7e3,
4377				6e3,
4378				5e3,
4379				4e3,
4380				3e3,
4381				2e3,
4382				1e3,
4383				900,
4384				800,
4385				700,
4386				600,
4387				500,
4388				400,
4389				300,
4390				200,
4391				100,
4392				90,
4393				80,
4394				70,
4395				60,
4396				50,
4397				40,
4398				30,
4399				20,
4400				10,
4401				9,
4402				8,
4403				7,
4404				6,
4405				5,
4406				4,
4407				3,
4408				2,
4409				1
4410			],
4411			values: [
4412				"ჵ",
4413				"ჰ",
4414				"ჯ",
4415				"ჴ",
4416				"ხ",
4417				"ჭ",
4418				"წ",
4419				"ძ",
4420				"ც",
4421				"ჩ",
4422				"შ",
4423				"ყ",
4424				"ღ",
4425				"ქ",
4426				"ფ",
4427				"ჳ",
4428				"ტ",
4429				"ს",
4430				"რ",
4431				"ჟ",
4432				"პ",
4433				"ო",
4434				"ჲ",
4435				"ნ",
4436				"მ",
4437				"ლ",
4438				"კ",
4439				"ი",
4440				"თ",
4441				"ჱ",
4442				"ზ",
4443				"ვ",
4444				"ე",
4445				"დ",
4446				"გ",
4447				"ბ",
4448				"ა"
4449			]
4450		};
4451		var createAdditiveCounter = function(value, min, max, symbols, fallback, suffix) {
4452			if (value < min || value > max) return createCounterText(value, fallback, suffix.length > 0);
4453			return symbols.integers.reduce(function(string, integer, index) {
4454				while (value >= integer) {
4455					value -= integer;
4456					string += symbols.values[index];
4457				}
4458				return string;
4459			}, "") + suffix;
4460		};
4461		var createCounterStyleWithSymbolResolver = function(value, codePointRangeLength, isNumeric, resolver) {
4462			var string = "";
4463			do {
4464				if (!isNumeric) value--;
vendor: 13,184 bytes, lines 4465-4681
4465				string = resolver(value) + string;
4466				value /= codePointRangeLength;
4467			} while (value * codePointRangeLength >= codePointRangeLength);
4468			return string;
4469		};
4470		var createCounterStyleFromRange = function(value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {
4471			var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;
4472			return (value < 0 ? "-" : "") + (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function(codePoint) {
4473				return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);
4474			}) + suffix);
4475		};
4476		var createCounterStyleFromSymbols = function(value, symbols, suffix) {
4477			if (suffix === void 0) suffix = ". ";
4478			var codePointRangeLength = symbols.length;
4479			return createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function(codePoint) {
4480				return symbols[Math.floor(codePoint % codePointRangeLength)];
4481			}) + suffix;
4482		};
4483		var CJK_ZEROS = 1;
4484		var CJK_TEN_COEFFICIENTS = 2;
4485		var CJK_TEN_HIGH_COEFFICIENTS = 4;
4486		var CJK_HUNDRED_COEFFICIENTS = 8;
4487		var createCJKCounter = function(value, numbers, multipliers, negativeSign, suffix, flags) {
4488			if (value < -9999 || value > 9999) return createCounterText(value, 4, suffix.length > 0);
4489			var tmp = Math.abs(value);
4490			var string = suffix;
4491			if (tmp === 0) return numbers[0] + string;
4492			for (var digit = 0; tmp > 0 && digit <= 4; digit++) {
4493				var coefficient = tmp % 10;
4494				if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== "") string = numbers[coefficient] + string;
4495				else if (coefficient > 1 || coefficient === 1 && digit === 0 || coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS) || coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100 || coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS)) string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : "") + string;
4496				else if (coefficient === 1 && digit > 0) string = multipliers[digit - 1] + string;
4497				tmp = Math.floor(tmp / 10);
4498			}
4499			return (value < 0 ? negativeSign : "") + string;
4500		};
4501		var CHINESE_INFORMAL_MULTIPLIERS = "十百千萬";
4502		var CHINESE_FORMAL_MULTIPLIERS = "拾佰仟萬";
4503		var JAPANESE_NEGATIVE = "マイナス";
4504		var KOREAN_NEGATIVE = "마이너스";
4505		var createCounterText = function(value, type, appendSuffix) {
4506			var defaultSuffix = appendSuffix ? ". " : "";
4507			var cjkSuffix = appendSuffix ? "、" : "";
4508			var koreanSuffix = appendSuffix ? ", " : "";
4509			var spaceSuffix = appendSuffix ? " " : "";
4510			switch (type) {
4511				case 0: return "•" + spaceSuffix;
4512				case 1: return "◦" + spaceSuffix;
4513				case 2: return "◾" + spaceSuffix;
4514				case 5:
4515					var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);
4516					return string.length < 4 ? "0" + string : string;
4517				case 4: return createCounterStyleFromSymbols(value, "〇一二三四五六七八九", cjkSuffix);
4518				case 6: return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3, defaultSuffix).toLowerCase();
4519				case 7: return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3, defaultSuffix);
4520				case 8: return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);
4521				case 9: return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);
4522				case 10: return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);
4523				case 11: return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);
4524				case 12:
4525				case 49: return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3, defaultSuffix);
4526				case 35: return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3, defaultSuffix).toLowerCase();
4527				case 13: return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);
4528				case 14:
4529				case 30: return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);
4530				case 15: return createCounterStyleFromSymbols(value, "子丑寅卯辰巳午未申酉戌亥", cjkSuffix);
4531				case 16: return createCounterStyleFromSymbols(value, "甲乙丙丁戊己庚辛壬癸", cjkSuffix);
4532				case 17:
4533				case 48: return createCJKCounter(value, "零一二三四五六七八九", CHINESE_INFORMAL_MULTIPLIERS, "負", cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
4534				case 47: return createCJKCounter(value, "零壹貳參肆伍陸柒捌玖", CHINESE_FORMAL_MULTIPLIERS, "負", cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
4535				case 42: return createCJKCounter(value, "零一二三四五六七八九", CHINESE_INFORMAL_MULTIPLIERS, "负", cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
4536				case 41: return createCJKCounter(value, "零壹贰叁肆伍陆柒捌玖", CHINESE_FORMAL_MULTIPLIERS, "负", cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);
4537				case 26: return createCJKCounter(value, "〇一二三四五六七八九", "十百千万", JAPANESE_NEGATIVE, cjkSuffix, 0);
4538				case 25: return createCJKCounter(value, "零壱弐参四伍六七八九", "拾百千万", JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);
4539				case 31: return createCJKCounter(value, "영일이삼사오육칠팔구", "십백천만", KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);
4540				case 33: return createCJKCounter(value, "零一二三四五六七八九", "十百千萬", KOREAN_NEGATIVE, koreanSuffix, 0);
4541				case 32: return createCJKCounter(value, "零壹貳參四五六七八九", "拾百千", KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);
4542				case 18: return createCounterStyleFromRange(value, 2406, 2415, true, defaultSuffix);
4543				case 20: return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3, defaultSuffix);
4544				case 21: return createCounterStyleFromRange(value, 2790, 2799, true, defaultSuffix);
4545				case 22: return createCounterStyleFromRange(value, 2662, 2671, true, defaultSuffix);
4546				case 22: return createAdditiveCounter(value, 1, 10999, HEBREW, 3, defaultSuffix);
4547				case 23: return createCounterStyleFromSymbols(value, "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");
4548				case 24: return createCounterStyleFromSymbols(value, "いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");
4549				case 27: return createCounterStyleFromRange(value, 3302, 3311, true, defaultSuffix);
4550				case 28: return createCounterStyleFromSymbols(value, "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン", cjkSuffix);
4551				case 29: return createCounterStyleFromSymbols(value, "イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス", cjkSuffix);
4552				case 34: return createCounterStyleFromRange(value, 3792, 3801, true, defaultSuffix);
4553				case 37: return createCounterStyleFromRange(value, 6160, 6169, true, defaultSuffix);
4554				case 38: return createCounterStyleFromRange(value, 4160, 4169, true, defaultSuffix);
4555				case 39: return createCounterStyleFromRange(value, 2918, 2927, true, defaultSuffix);
4556				case 40: return createCounterStyleFromRange(value, 1776, 1785, true, defaultSuffix);
4557				case 43: return createCounterStyleFromRange(value, 3046, 3055, true, defaultSuffix);
4558				case 44: return createCounterStyleFromRange(value, 3174, 3183, true, defaultSuffix);
4559				case 45: return createCounterStyleFromRange(value, 3664, 3673, true, defaultSuffix);
4560				case 46: return createCounterStyleFromRange(value, 3872, 3881, true, defaultSuffix);
4561				case 3:
4562				default: return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);
4563			}
4564		};
4565		var IGNORE_ATTRIBUTE = "data-html2canvas-ignore";
4566		var DocumentCloner = function() {
4567			function DocumentCloner$1(context, element, options) {
4568				this.context = context;
4569				this.options = options;
4570				this.scrolledElements = [];
4571				this.referenceElement = element;
4572				this.counters = new CounterState();
4573				this.quoteDepth = 0;
4574				if (!element.ownerDocument) throw new Error("Cloned element does not have an owner document");
4575				this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);
4576			}
4577			DocumentCloner$1.prototype.toIFrame = function(ownerDocument, windowSize) {
4578				var _this = this;
4579				var iframe = createIFrameContainer(ownerDocument, windowSize);
4580				if (!iframe.contentWindow) return Promise.reject("Unable to find iframe window");
4581				var scrollX = ownerDocument.defaultView.pageXOffset;
4582				var scrollY = ownerDocument.defaultView.pageYOffset;
4583				var cloneWindow = iframe.contentWindow;
4584				var documentClone = cloneWindow.document;
4585				var iframeLoad = iframeLoader(iframe).then(function() {
4586					return __awaiter(_this, void 0, void 0, function() {
4587						var onclone, referenceElement;
4588						return __generator(this, function(_a$1) {
4589							switch (_a$1.label) {
4590								case 0:
4591									this.scrolledElements.forEach(restoreNodeScroll);
4592									if (cloneWindow) {
4593										cloneWindow.scrollTo(windowSize.left, windowSize.top);
4594										if (/(iPad|iPhone|iPod)/g.test(navigator.userAgent) && (cloneWindow.scrollY !== windowSize.top || cloneWindow.scrollX !== windowSize.left)) {
4595											this.context.logger.warn("Unable to restore scroll position for cloned document");
4596											this.context.windowBounds = this.context.windowBounds.add(cloneWindow.scrollX - windowSize.left, cloneWindow.scrollY - windowSize.top, 0, 0);
4597										}
4598									}
4599									onclone = this.options.onclone;
4600									referenceElement = this.clonedReferenceElement;
4601									if (typeof referenceElement === "undefined") return [2, Promise.reject("Error finding the " + this.referenceElement.nodeName + " in the cloned document")];
4602									if (!(documentClone.fonts && documentClone.fonts.ready)) return [3, 2];
4603									return [4, documentClone.fonts.ready];
4604								case 1:
4605									_a$1.sent();
4606									_a$1.label = 2;
4607								case 2:
4608									if (!/(AppleWebKit)/g.test(navigator.userAgent)) return [3, 4];
4609									return [4, imagesReady(documentClone)];
4610								case 3:
4611									_a$1.sent();
4612									_a$1.label = 4;
4613								case 4:
4614									if (typeof onclone === "function") return [2, Promise.resolve().then(function() {
4615										return onclone(documentClone, referenceElement);
4616									}).then(function() {
4617										return iframe;
4618									})];
4619									return [2, iframe];
4620							}
4621						});
4622					});
4623				});
4624				documentClone.open();
4625				documentClone.write(serializeDoctype(document.doctype) + "<html></html>");
4626				restoreOwnerScroll(this.referenceElement.ownerDocument, scrollX, scrollY);
4627				documentClone.replaceChild(documentClone.adoptNode(this.documentElement), documentClone.documentElement);
4628				documentClone.close();
4629				return iframeLoad;
4630			};
4631			DocumentCloner$1.prototype.createElementClone = function(node) {
4632				if (isDebugging(node, 2)) debugger;
4633				if (isCanvasElement(node)) return this.createCanvasClone(node);
4634				if (isVideoElement(node)) return this.createVideoClone(node);
4635				if (isStyleElement(node)) return this.createStyleClone(node);
4636				var clone = node.cloneNode(false);
4637				if (isImageElement(clone)) {
4638					if (isImageElement(node) && node.currentSrc && node.currentSrc !== node.src) {
4639						clone.src = node.currentSrc;
4640						clone.srcset = "";
4641					}
4642					if (clone.loading === "lazy") clone.loading = "eager";
4643				}
4644				if (isCustomElement(clone)) return this.createCustomElementClone(clone);
4645				return clone;
4646			};
4647			DocumentCloner$1.prototype.createCustomElementClone = function(node) {
4648				var clone = document.createElement("html2canvascustomelement");
4649				copyCSSStyles(node.style, clone);
4650				return clone;
4651			};
4652			DocumentCloner$1.prototype.createStyleClone = function(node) {
4653				try {
4654					var sheet = node.sheet;
4655					if (sheet && sheet.cssRules) {
4656						var css = [].slice.call(sheet.cssRules, 0).reduce(function(css$1, rule) {
4657							if (rule && typeof rule.cssText === "string") return css$1 + rule.cssText;
4658							return css$1;
4659						}, "");
4660						var style = node.cloneNode(false);
4661						style.textContent = css;
4662						return style;
4663					}
4664				} catch (e$1) {
4665					this.context.logger.error("Unable to access cssRules property", e$1);
4666					if (e$1.name !== "SecurityError") throw e$1;
4667				}
4668				return node.cloneNode(false);
4669			};
4670			DocumentCloner$1.prototype.createCanvasClone = function(canvas) {
4671				var _a$1;
4672				if (this.options.inlineImages && canvas.ownerDocument) {
4673					var img = canvas.ownerDocument.createElement("img");
4674					try {
4675						img.src = canvas.toDataURL();
4676						return img;
4677					} catch (e$1) {
4678						this.context.logger.info("Unable to inline canvas contents, canvas is tainted", canvas);
4679					}
4680				}
4681				var clonedCanvas = canvas.cloneNode(false);
4682				try {
4683					clonedCanvas.width = canvas.width;
4684					clonedCanvas.height = canvas.height;
4685					var ctx = canvas.getContext("2d");
4686					var clonedCtx = clonedCanvas.getContext("2d");
4687					if (clonedCtx) if (!this.options.allowTaint && ctx) clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0);
4688					else {
4689						var gl = (_a$1 = canvas.getContext("webgl2")) !== null && _a$1 !== void 0 ? _a$1 : canvas.getContext("webgl");
4690						if (gl) {
4691							var attribs = gl.getContextAttributes();
4692							if ((attribs === null || attribs === void 0 ? void 0 : attribs.preserveDrawingBuffer) === false) this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false", canvas);
4693						}
4694						clonedCtx.drawImage(canvas, 0, 0);
4695					}
4696					return clonedCanvas;
4697				} catch (e$1) {
4698					this.context.logger.info("Unable to clone canvas as it is tainted", canvas);
4699				}
4700				return clonedCanvas;
4701			};
4702			DocumentCloner$1.prototype.createVideoClone = function(video) {
4703				var canvas = video.ownerDocument.createElement("canvas");
4704				canvas.width = video.offsetWidth;
4705				canvas.height = video.offsetHeight;
4706				var ctx = canvas.getContext("2d");
4707				try {
4708					if (ctx) {
4709						ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
4710						if (!this.options.allowTaint) ctx.getImageData(0, 0, canvas.width, canvas.height);
4711					}
4712					return canvas;
4713				} catch (e$1) {
4714					this.context.logger.info("Unable to clone video as it is tainted", video);
4715				}
4716				var blankCanvas = video.ownerDocument.createElement("canvas");
4717				blankCanvas.width = video.offsetWidth;
4718				blankCanvas.height = video.offsetHeight;
4719				return blankCanvas;
4720			};
4721			DocumentCloner$1.prototype.appendChildNode = function(clone, child, copyStyles) {
4722				if (!isElementNode(child) || !isScriptElement(child) && !child.hasAttribute(IGNORE_ATTRIBUTE) && (typeof this.options.ignoreElements !== "function" || !this.options.ignoreElements(child))) {
4723					if (!this.options.copyStyles || !isElementNode(child) || !isStyleElement(child)) clone.appendChild(this.cloneNode(child, copyStyles));
4724				}
4725			};
4726			DocumentCloner$1.prototype.cloneChildNodes = function(node, clone, copyStyles) {
4727				var _this = this;
4728				for (var child = node.shadowRoot ? node.shadowRoot.firstChild : node.firstChild; child; child = child.nextSibling) if (isElementNode(child) && isSlotElement(child) && typeof child.assignedNodes === "function") {
4729					var assignedNodes = child.assignedNodes();
4730					if (assignedNodes.length) assignedNodes.forEach(function(assignedNode) {
4731						return _this.appendChildNode(clone, assignedNode, copyStyles);
4732					});
4733				} else this.appendChildNode(clone, child, copyStyles);
4734			};
4735			DocumentCloner$1.prototype.cloneNode = function(node, copyStyles) {
4736				if (isTextNode(node)) return document.createTextNode(node.data);
4737				if (!node.ownerDocument) return node.cloneNode(false);
4738				var window$1 = node.ownerDocument.defaultView;
4739				if (window$1 && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) {
4740					var clone = this.createElementClone(node);
4741					clone.style.transitionProperty = "none";
4742					var style = window$1.getComputedStyle(node);
4743					var styleBefore = window$1.getComputedStyle(node, ":before");
4744					var styleAfter = window$1.getComputedStyle(node, ":after");
4745					if (this.referenceElement === node && isHTMLElementNode(clone)) this.clonedReferenceElement = clone;
4746					if (isBodyElement(clone)) createPseudoHideStyles(clone);
4747					var counters = this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));
4748					var before = this.resolvePseudoContent(node, clone, styleBefore, PseudoElementType.BEFORE);
4749					if (isCustomElement(node)) copyStyles = true;
4750					if (!isVideoElement(node)) this.cloneChildNodes(node, clone, copyStyles);
4751					if (before) clone.insertBefore(before, clone.firstChild);
4752					var after = this.resolvePseudoContent(node, clone, styleAfter, PseudoElementType.AFTER);
4753					if (after) clone.appendChild(after);
4754					this.counters.pop(counters);
4755					if (style && (this.options.copyStyles || isSVGElementNode(node)) && !isIFrameElement(node) || copyStyles) copyCSSStyles(style, clone);
4756					if (node.scrollTop !== 0 || node.scrollLeft !== 0) this.scrolledElements.push([
4757						clone,
4758						node.scrollLeft,
4759						node.scrollTop
4760					]);
4761					if ((isTextareaElement(node) || isSelectElement(node)) && (isTextareaElement(clone) || isSelectElement(clone))) clone.value = node.value;
4762					return clone;
4763				}
4764				return node.cloneNode(false);
4765			};
4766			DocumentCloner$1.prototype.resolvePseudoContent = function(node, clone, style, pseudoElt) {
4767				var _this = this;
4768				if (!style) return;
4769				var value = style.content;
4770				var document$1 = clone.ownerDocument;
4771				if (!document$1 || !value || value === "none" || value === "-moz-alt-content" || style.display === "none") return;
4772				this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));
vendor: 39,261 bytes, lines 4773-5497
4773				var declaration = new CSSParsedPseudoDeclaration(this.context, style);
4774				var anonymousReplacedElement = document$1.createElement("html2canvaspseudoelement");
4775				copyCSSStyles(style, anonymousReplacedElement);
4776				declaration.content.forEach(function(token) {
4777					if (token.type === 0) anonymousReplacedElement.appendChild(document$1.createTextNode(token.value));
4778					else if (token.type === 22) {
4779						var img = document$1.createElement("img");
4780						img.src = token.value;
4781						img.style.opacity = "1";
4782						anonymousReplacedElement.appendChild(img);
4783					} else if (token.type === 18) {
4784						if (token.name === "attr") {
4785							var attr = token.values.filter(isIdentToken);
4786							if (attr.length) anonymousReplacedElement.appendChild(document$1.createTextNode(node.getAttribute(attr[0].value) || ""));
4787						} else if (token.name === "counter") {
4788							var _a$1 = token.values.filter(nonFunctionArgSeparator), counter = _a$1[0], counterStyle = _a$1[1];
4789							if (counter && isIdentToken(counter)) {
4790								var counterState = _this.counters.getCounterValue(counter.value);
4791								var counterType = counterStyle && isIdentToken(counterStyle) ? listStyleType.parse(_this.context, counterStyle.value) : 3;
4792								anonymousReplacedElement.appendChild(document$1.createTextNode(createCounterText(counterState, counterType, false)));
4793							}
4794						} else if (token.name === "counters") {
4795							var _b$1 = token.values.filter(nonFunctionArgSeparator), counter = _b$1[0], delim = _b$1[1], counterStyle = _b$1[2];
4796							if (counter && isIdentToken(counter)) {
4797								var counterStates = _this.counters.getCounterValues(counter.value);
4798								var counterType_1 = counterStyle && isIdentToken(counterStyle) ? listStyleType.parse(_this.context, counterStyle.value) : 3;
4799								var separator = delim && delim.type === 0 ? delim.value : "";
4800								var text = counterStates.map(function(value$1) {
4801									return createCounterText(value$1, counterType_1, false);
4802								}).join(separator);
4803								anonymousReplacedElement.appendChild(document$1.createTextNode(text));
4804							}
4805						}
4806					} else if (token.type === 20) switch (token.value) {
4807						case "open-quote":
4808							anonymousReplacedElement.appendChild(document$1.createTextNode(getQuote(declaration.quotes, _this.quoteDepth++, true)));
4809							break;
4810						case "close-quote":
4811							anonymousReplacedElement.appendChild(document$1.createTextNode(getQuote(declaration.quotes, --_this.quoteDepth, false)));
4812							break;
4813						default: anonymousReplacedElement.appendChild(document$1.createTextNode(token.value));
4814					}
4815				});
4816				anonymousReplacedElement.className = PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + " " + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;
4817				var newClassName = pseudoElt === PseudoElementType.BEFORE ? " " + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE : " " + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;
4818				if (isSVGElementNode(clone)) clone.className.baseValue += newClassName;
4819				else clone.className += newClassName;
4820				return anonymousReplacedElement;
4821			};
4822			DocumentCloner$1.destroy = function(container) {
4823				if (container.parentNode) {
4824					container.parentNode.removeChild(container);
4825					return true;
4826				}
4827				return false;
4828			};
4829			return DocumentCloner$1;
4830		}();
4831		var PseudoElementType;
4832		(function(PseudoElementType$1) {
4833			PseudoElementType$1[PseudoElementType$1["BEFORE"] = 0] = "BEFORE";
4834			PseudoElementType$1[PseudoElementType$1["AFTER"] = 1] = "AFTER";
4835		})(PseudoElementType || (PseudoElementType = {}));
4836		var createIFrameContainer = function(ownerDocument, bounds) {
4837			var cloneIframeContainer = ownerDocument.createElement("iframe");
4838			cloneIframeContainer.className = "html2canvas-container";
4839			cloneIframeContainer.style.visibility = "hidden";
4840			cloneIframeContainer.style.position = "fixed";
4841			cloneIframeContainer.style.left = "-10000px";
4842			cloneIframeContainer.style.top = "0px";
4843			cloneIframeContainer.style.border = "0";
4844			cloneIframeContainer.width = bounds.width.toString();
4845			cloneIframeContainer.height = bounds.height.toString();
4846			cloneIframeContainer.scrolling = "no";
4847			cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, "true");
4848			ownerDocument.body.appendChild(cloneIframeContainer);
4849			return cloneIframeContainer;
4850		};
4851		var imageReady = function(img) {
4852			return new Promise(function(resolve) {
4853				if (img.complete) {
4854					resolve();
4855					return;
4856				}
4857				if (!img.src) {
4858					resolve();
4859					return;
4860				}
4861				img.onload = resolve;
4862				img.onerror = resolve;
4863			});
4864		};
4865		var imagesReady = function(document$1) {
4866			return Promise.all([].slice.call(document$1.images, 0).map(imageReady));
4867		};
4868		var iframeLoader = function(iframe) {
4869			return new Promise(function(resolve, reject) {
4870				var cloneWindow = iframe.contentWindow;
4871				if (!cloneWindow) return reject("No window assigned for iframe");
4872				var documentClone = cloneWindow.document;
4873				cloneWindow.onload = iframe.onload = function() {
4874					cloneWindow.onload = iframe.onload = null;
4875					var interval = setInterval(function() {
4876						if (documentClone.body.childNodes.length > 0 && documentClone.readyState === "complete") {
4877							clearInterval(interval);
4878							resolve(iframe);
4879						}
4880					}, 50);
4881				};
4882			});
4883		};
4884		var ignoredStyleProperties = [
4885			"all",
4886			"d",
4887			"content"
4888		];
4889		var copyCSSStyles = function(style, target) {
4890			for (var i$5 = style.length - 1; i$5 >= 0; i$5--) {
4891				var property = style.item(i$5);
4892				if (ignoredStyleProperties.indexOf(property) === -1) target.style.setProperty(property, style.getPropertyValue(property));
4893			}
4894			return target;
4895		};
4896		var serializeDoctype = function(doctype) {
4897			var str = "";
4898			if (doctype) {
4899				str += "<!DOCTYPE ";
4900				if (doctype.name) str += doctype.name;
4901				if (doctype.internalSubset) str += doctype.internalSubset;
4902				if (doctype.publicId) str += "\"" + doctype.publicId + "\"";
4903				if (doctype.systemId) str += "\"" + doctype.systemId + "\"";
4904				str += ">";
4905			}
4906			return str;
4907		};
4908		var restoreOwnerScroll = function(ownerDocument, x$2, y$1) {
4909			if (ownerDocument && ownerDocument.defaultView && (x$2 !== ownerDocument.defaultView.pageXOffset || y$1 !== ownerDocument.defaultView.pageYOffset)) ownerDocument.defaultView.scrollTo(x$2, y$1);
4910		};
4911		var restoreNodeScroll = function(_a$1) {
4912			var element = _a$1[0], x$2 = _a$1[1], y$1 = _a$1[2];
4913			element.scrollLeft = x$2;
4914			element.scrollTop = y$1;
4915		};
4916		var PSEUDO_BEFORE = ":before";
4917		var PSEUDO_AFTER = ":after";
4918		var PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = "___html2canvas___pseudoelement_before";
4919		var PSEUDO_HIDE_ELEMENT_CLASS_AFTER = "___html2canvas___pseudoelement_after";
4920		var PSEUDO_HIDE_ELEMENT_STYLE = "{\n    content: \"\" !important;\n    display: none !important;\n}";
4921		var createPseudoHideStyles = function(body) {
4922			createStyles(body, "." + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + PSEUDO_BEFORE + PSEUDO_HIDE_ELEMENT_STYLE + "\n         ." + PSEUDO_HIDE_ELEMENT_CLASS_AFTER + PSEUDO_AFTER + PSEUDO_HIDE_ELEMENT_STYLE);
4923		};
4924		var createStyles = function(body, styles) {
4925			var document$1 = body.ownerDocument;
4926			if (document$1) {
4927				var style = document$1.createElement("style");
4928				style.textContent = styles;
4929				body.appendChild(style);
4930			}
4931		};
4932		var CacheStorage = function() {
4933			function CacheStorage$1() {}
4934			CacheStorage$1.getOrigin = function(url) {
4935				var link = CacheStorage$1._link;
4936				if (!link) return "about:blank";
4937				link.href = url;
4938				link.href = link.href;
4939				return link.protocol + link.hostname + link.port;
4940			};
4941			CacheStorage$1.isSameOrigin = function(src) {
4942				return CacheStorage$1.getOrigin(src) === CacheStorage$1._origin;
4943			};
4944			CacheStorage$1.setContext = function(window$1) {
4945				CacheStorage$1._link = window$1.document.createElement("a");
4946				CacheStorage$1._origin = CacheStorage$1.getOrigin(window$1.location.href);
4947			};
4948			CacheStorage$1._origin = "about:blank";
4949			return CacheStorage$1;
4950		}();
4951		var Cache = function() {
4952			function Cache$1(context, _options) {
4953				this.context = context;
4954				this._options = _options;
4955				this._cache = {};
4956			}
4957			Cache$1.prototype.addImage = function(src) {
4958				var result = Promise.resolve();
4959				if (this.has(src)) return result;
4960				if (isBlobImage(src) || isRenderable(src)) {
4961					(this._cache[src] = this.loadImage(src)).catch(function() {});
4962					return result;
4963				}
4964				return result;
4965			};
4966			Cache$1.prototype.match = function(src) {
4967				return this._cache[src];
4968			};
4969			Cache$1.prototype.loadImage = function(key) {
4970				return __awaiter(this, void 0, void 0, function() {
4971					var isSameOrigin, useCORS, useProxy, src;
4972					var _this = this;
4973					return __generator(this, function(_a$1) {
4974						switch (_a$1.label) {
4975							case 0:
4976								isSameOrigin = CacheStorage.isSameOrigin(key);
4977								useCORS = !isInlineImage(key) && this._options.useCORS === true && FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin;
4978								useProxy = !isInlineImage(key) && !isSameOrigin && !isBlobImage(key) && typeof this._options.proxy === "string" && FEATURES.SUPPORT_CORS_XHR && !useCORS;
4979								if (!isSameOrigin && this._options.allowTaint === false && !isInlineImage(key) && !isBlobImage(key) && !useProxy && !useCORS) return [2];
4980								src = key;
4981								if (!useProxy) return [3, 2];
4982								return [4, this.proxy(src)];
4983							case 1:
4984								src = _a$1.sent();
4985								_a$1.label = 2;
4986							case 2:
4987								this.context.logger.debug("Added image " + key.substring(0, 256));
4988								return [4, new Promise(function(resolve, reject) {
4989									var img = new Image();
4990									img.onload = function() {
4991										return resolve(img);
4992									};
4993									img.onerror = reject;
4994									if (isInlineBase64Image(src) || useCORS) img.crossOrigin = "anonymous";
4995									img.src = src;
4996									if (img.complete === true) setTimeout(function() {
4997										return resolve(img);
4998									}, 500);
4999									if (_this._options.imageTimeout > 0) setTimeout(function() {
5000										return reject("Timed out (" + _this._options.imageTimeout + "ms) loading image");
5001									}, _this._options.imageTimeout);
5002								})];
5003							case 3: return [2, _a$1.sent()];
5004						}
5005					});
5006				});
5007			};
5008			Cache$1.prototype.has = function(key) {
5009				return typeof this._cache[key] !== "undefined";
5010			};
5011			Cache$1.prototype.keys = function() {
5012				return Promise.resolve(Object.keys(this._cache));
5013			};
5014			Cache$1.prototype.proxy = function(src) {
5015				var _this = this;
5016				var proxy = this._options.proxy;
5017				if (!proxy) throw new Error("No proxy defined");
5018				var key = src.substring(0, 256);
5019				return new Promise(function(resolve, reject) {
5020					var responseType = FEATURES.SUPPORT_RESPONSE_TYPE ? "blob" : "text";
5021					var xhr = new XMLHttpRequest();
5022					xhr.onload = function() {
5023						if (xhr.status === 200) if (responseType === "text") resolve(xhr.response);
5024						else {
5025							var reader_1 = new FileReader();
5026							reader_1.addEventListener("load", function() {
5027								return resolve(reader_1.result);
5028							}, false);
5029							reader_1.addEventListener("error", function(e$1) {
5030								return reject(e$1);
5031							}, false);
5032							reader_1.readAsDataURL(xhr.response);
5033						}
5034						else reject("Failed to proxy resource " + key + " with status code " + xhr.status);
5035					};
5036					xhr.onerror = reject;
5037					var queryString = proxy.indexOf("?") > -1 ? "&" : "?";
5038					xhr.open("GET", "" + proxy + queryString + "url=" + encodeURIComponent(src) + "&responseType=" + responseType);
5039					if (responseType !== "text" && xhr instanceof XMLHttpRequest) xhr.responseType = responseType;
5040					if (_this._options.imageTimeout) {
5041						var timeout_1 = _this._options.imageTimeout;
5042						xhr.timeout = timeout_1;
5043						xhr.ontimeout = function() {
5044							return reject("Timed out (" + timeout_1 + "ms) proxying " + key);
5045						};
5046					}
5047					xhr.send();
5048				});
5049			};
5050			return Cache$1;
5051		}();
5052		var INLINE_SVG = /^data:image\/svg\+xml/i;
5053		var INLINE_BASE64 = /^data:image\/.*;base64,/i;
5054		var INLINE_IMG = /^data:image\/.*/i;
5055		var isRenderable = function(src) {
5056			return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src);
5057		};
5058		var isInlineImage = function(src) {
5059			return INLINE_IMG.test(src);
5060		};
5061		var isInlineBase64Image = function(src) {
5062			return INLINE_BASE64.test(src);
5063		};
5064		var isBlobImage = function(src) {
5065			return src.substr(0, 4) === "blob";
5066		};
5067		var isSVG = function(src) {
5068			return src.substr(-3).toLowerCase() === "svg" || INLINE_SVG.test(src);
5069		};
5070		var Vector = function() {
5071			function Vector$1(x$2, y$1) {
5072				this.type = 0;
5073				this.x = x$2;
5074				this.y = y$1;
5075			}
5076			Vector$1.prototype.add = function(deltaX, deltaY) {
5077				return new Vector$1(this.x + deltaX, this.y + deltaY);
5078			};
5079			return Vector$1;
5080		}();
5081		var lerp = function(a$2, b$1, t) {
5082			return new Vector(a$2.x + (b$1.x - a$2.x) * t, a$2.y + (b$1.y - a$2.y) * t);
5083		};
5084		var BezierCurve = function() {
5085			function BezierCurve$1(start, startControl, endControl, end) {
5086				this.type = 1;
5087				this.start = start;
5088				this.startControl = startControl;
5089				this.endControl = endControl;
5090				this.end = end;
5091			}
5092			BezierCurve$1.prototype.subdivide = function(t, firstHalf) {
5093				var ab = lerp(this.start, this.startControl, t);
5094				var bc = lerp(this.startControl, this.endControl, t);
5095				var cd = lerp(this.endControl, this.end, t);
5096				var abbc = lerp(ab, bc, t);
5097				var bccd = lerp(bc, cd, t);
5098				var dest = lerp(abbc, bccd, t);
5099				return firstHalf ? new BezierCurve$1(this.start, ab, abbc, dest) : new BezierCurve$1(dest, bccd, cd, this.end);
5100			};
5101			BezierCurve$1.prototype.add = function(deltaX, deltaY) {
5102				return new BezierCurve$1(this.start.add(deltaX, deltaY), this.startControl.add(deltaX, deltaY), this.endControl.add(deltaX, deltaY), this.end.add(deltaX, deltaY));
5103			};
5104			BezierCurve$1.prototype.reverse = function() {
5105				return new BezierCurve$1(this.end, this.endControl, this.startControl, this.start);
5106			};
5107			return BezierCurve$1;
5108		}();
5109		var isBezierCurve = function(path) {
5110			return path.type === 1;
5111		};
5112		var BoundCurves = function() {
5113			function BoundCurves$1(element) {
5114				var styles = element.styles;
5115				var bounds = element.bounds;
5116				var _a$1 = getAbsoluteValueForTuple(styles.borderTopLeftRadius, bounds.width, bounds.height), tlh = _a$1[0], tlv = _a$1[1];
5117				var _b$1 = getAbsoluteValueForTuple(styles.borderTopRightRadius, bounds.width, bounds.height), trh = _b$1[0], trv = _b$1[1];
5118				var _c = getAbsoluteValueForTuple(styles.borderBottomRightRadius, bounds.width, bounds.height), brh = _c[0], brv = _c[1];
5119				var _d = getAbsoluteValueForTuple(styles.borderBottomLeftRadius, bounds.width, bounds.height), blh = _d[0], blv = _d[1];
5120				var factors = [];
5121				factors.push((tlh + trh) / bounds.width);
5122				factors.push((blh + brh) / bounds.width);
5123				factors.push((tlv + blv) / bounds.height);
5124				factors.push((trv + brv) / bounds.height);
5125				var maxFactor = Math.max.apply(Math, factors);
5126				if (maxFactor > 1) {
5127					tlh /= maxFactor;
5128					tlv /= maxFactor;
5129					trh /= maxFactor;
5130					trv /= maxFactor;
5131					brh /= maxFactor;
5132					brv /= maxFactor;
5133					blh /= maxFactor;
5134					blv /= maxFactor;
5135				}
5136				var topWidth = bounds.width - trh;
5137				var rightHeight = bounds.height - brv;
5138				var bottomWidth = bounds.width - brh;
5139				var leftHeight = bounds.height - blv;
5140				var borderTopWidth$1 = styles.borderTopWidth;
5141				var borderRightWidth$1 = styles.borderRightWidth;
5142				var borderBottomWidth$1 = styles.borderBottomWidth;
5143				var borderLeftWidth$1 = styles.borderLeftWidth;
5144				var paddingTop$1 = getAbsoluteValue(styles.paddingTop, element.bounds.width);
5145				var paddingRight$1 = getAbsoluteValue(styles.paddingRight, element.bounds.width);
5146				var paddingBottom$1 = getAbsoluteValue(styles.paddingBottom, element.bounds.width);
5147				var paddingLeft$1 = getAbsoluteValue(styles.paddingLeft, element.bounds.width);
5148				this.topLeftBorderDoubleOuterBox = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 / 3, bounds.top + borderTopWidth$1 / 3, tlh - borderLeftWidth$1 / 3, tlv - borderTopWidth$1 / 3, CORNER.TOP_LEFT) : new Vector(bounds.left + borderLeftWidth$1 / 3, bounds.top + borderTopWidth$1 / 3);
5149				this.topRightBorderDoubleOuterBox = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth$1 / 3, trh - borderRightWidth$1 / 3, trv - borderTopWidth$1 / 3, CORNER.TOP_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1 / 3, bounds.top + borderTopWidth$1 / 3);
5150				this.bottomRightBorderDoubleOuterBox = brh > 0 || brv > 0 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth$1 / 3, brv - borderBottomWidth$1 / 3, CORNER.BOTTOM_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1 / 3, bounds.top + bounds.height - borderBottomWidth$1 / 3);
5151				this.bottomLeftBorderDoubleOuterBox = blh > 0 || blv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 / 3, bounds.top + leftHeight, blh - borderLeftWidth$1 / 3, blv - borderBottomWidth$1 / 3, CORNER.BOTTOM_LEFT) : new Vector(bounds.left + borderLeftWidth$1 / 3, bounds.top + bounds.height - borderBottomWidth$1 / 3);
5152				this.topLeftBorderDoubleInnerBox = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 * 2 / 3, bounds.top + borderTopWidth$1 * 2 / 3, tlh - borderLeftWidth$1 * 2 / 3, tlv - borderTopWidth$1 * 2 / 3, CORNER.TOP_LEFT) : new Vector(bounds.left + borderLeftWidth$1 * 2 / 3, bounds.top + borderTopWidth$1 * 2 / 3);
5153				this.topRightBorderDoubleInnerBox = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth$1 * 2 / 3, trh - borderRightWidth$1 * 2 / 3, trv - borderTopWidth$1 * 2 / 3, CORNER.TOP_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1 * 2 / 3, bounds.top + borderTopWidth$1 * 2 / 3);
5154				this.bottomRightBorderDoubleInnerBox = brh > 0 || brv > 0 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth$1 * 2 / 3, brv - borderBottomWidth$1 * 2 / 3, CORNER.BOTTOM_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1 * 2 / 3, bounds.top + bounds.height - borderBottomWidth$1 * 2 / 3);
5155				this.bottomLeftBorderDoubleInnerBox = blh > 0 || blv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 * 2 / 3, bounds.top + leftHeight, blh - borderLeftWidth$1 * 2 / 3, blv - borderBottomWidth$1 * 2 / 3, CORNER.BOTTOM_LEFT) : new Vector(bounds.left + borderLeftWidth$1 * 2 / 3, bounds.top + bounds.height - borderBottomWidth$1 * 2 / 3);
5156				this.topLeftBorderStroke = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 / 2, bounds.top + borderTopWidth$1 / 2, tlh - borderLeftWidth$1 / 2, tlv - borderTopWidth$1 / 2, CORNER.TOP_LEFT) : new Vector(bounds.left + borderLeftWidth$1 / 2, bounds.top + borderTopWidth$1 / 2);
5157				this.topRightBorderStroke = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth$1 / 2, trh - borderRightWidth$1 / 2, trv - borderTopWidth$1 / 2, CORNER.TOP_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1 / 2, bounds.top + borderTopWidth$1 / 2);
5158				this.bottomRightBorderStroke = brh > 0 || brv > 0 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth$1 / 2, brv - borderBottomWidth$1 / 2, CORNER.BOTTOM_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1 / 2, bounds.top + bounds.height - borderBottomWidth$1 / 2);
5159				this.bottomLeftBorderStroke = blh > 0 || blv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 / 2, bounds.top + leftHeight, blh - borderLeftWidth$1 / 2, blv - borderBottomWidth$1 / 2, CORNER.BOTTOM_LEFT) : new Vector(bounds.left + borderLeftWidth$1 / 2, bounds.top + bounds.height - borderBottomWidth$1 / 2);
5160				this.topLeftBorderBox = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left, bounds.top, tlh, tlv, CORNER.TOP_LEFT) : new Vector(bounds.left, bounds.top);
5161				this.topRightBorderBox = trh > 0 || trv > 0 ? getCurvePoints(bounds.left + topWidth, bounds.top, trh, trv, CORNER.TOP_RIGHT) : new Vector(bounds.left + bounds.width, bounds.top);
5162				this.bottomRightBorderBox = brh > 0 || brv > 0 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh, brv, CORNER.BOTTOM_RIGHT) : new Vector(bounds.left + bounds.width, bounds.top + bounds.height);
5163				this.bottomLeftBorderBox = blh > 0 || blv > 0 ? getCurvePoints(bounds.left, bounds.top + leftHeight, blh, blv, CORNER.BOTTOM_LEFT) : new Vector(bounds.left, bounds.top + bounds.height);
5164				this.topLeftPaddingBox = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1, bounds.top + borderTopWidth$1, Math.max(0, tlh - borderLeftWidth$1), Math.max(0, tlv - borderTopWidth$1), CORNER.TOP_LEFT) : new Vector(bounds.left + borderLeftWidth$1, bounds.top + borderTopWidth$1);
5165				this.topRightPaddingBox = trh > 0 || trv > 0 ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width - borderRightWidth$1), bounds.top + borderTopWidth$1, topWidth > bounds.width + borderRightWidth$1 ? 0 : Math.max(0, trh - borderRightWidth$1), Math.max(0, trv - borderTopWidth$1), CORNER.TOP_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1, bounds.top + borderTopWidth$1);
5166				this.bottomRightPaddingBox = brh > 0 || brv > 0 ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - borderLeftWidth$1), bounds.top + Math.min(rightHeight, bounds.height - borderBottomWidth$1), Math.max(0, brh - borderRightWidth$1), Math.max(0, brv - borderBottomWidth$1), CORNER.BOTTOM_RIGHT) : new Vector(bounds.left + bounds.width - borderRightWidth$1, bounds.top + bounds.height - borderBottomWidth$1);
5167				this.bottomLeftPaddingBox = blh > 0 || blv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1, bounds.top + Math.min(leftHeight, bounds.height - borderBottomWidth$1), Math.max(0, blh - borderLeftWidth$1), Math.max(0, blv - borderBottomWidth$1), CORNER.BOTTOM_LEFT) : new Vector(bounds.left + borderLeftWidth$1, bounds.top + bounds.height - borderBottomWidth$1);
5168				this.topLeftContentBox = tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 + paddingLeft$1, bounds.top + borderTopWidth$1 + paddingTop$1, Math.max(0, tlh - (borderLeftWidth$1 + paddingLeft$1)), Math.max(0, tlv - (borderTopWidth$1 + paddingTop$1)), CORNER.TOP_LEFT) : new Vector(bounds.left + borderLeftWidth$1 + paddingLeft$1, bounds.top + borderTopWidth$1 + paddingTop$1);
5169				this.topRightContentBox = trh > 0 || trv > 0 ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borderLeftWidth$1 + paddingLeft$1), bounds.top + borderTopWidth$1 + paddingTop$1, topWidth > bounds.width + borderLeftWidth$1 + paddingLeft$1 ? 0 : trh - borderLeftWidth$1 + paddingLeft$1, trv - (borderTopWidth$1 + paddingTop$1), CORNER.TOP_RIGHT) : new Vector(bounds.left + bounds.width - (borderRightWidth$1 + paddingRight$1), bounds.top + borderTopWidth$1 + paddingTop$1);
5170				this.bottomRightContentBox = brh > 0 || brv > 0 ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - (borderLeftWidth$1 + paddingLeft$1)), bounds.top + Math.min(rightHeight, bounds.height + borderTopWidth$1 + paddingTop$1), Math.max(0, brh - (borderRightWidth$1 + paddingRight$1)), brv - (borderBottomWidth$1 + paddingBottom$1), CORNER.BOTTOM_RIGHT) : new Vector(bounds.left + bounds.width - (borderRightWidth$1 + paddingRight$1), bounds.top + bounds.height - (borderBottomWidth$1 + paddingBottom$1));
5171				this.bottomLeftContentBox = blh > 0 || blv > 0 ? getCurvePoints(bounds.left + borderLeftWidth$1 + paddingLeft$1, bounds.top + leftHeight, Math.max(0, blh - (borderLeftWidth$1 + paddingLeft$1)), blv - (borderBottomWidth$1 + paddingBottom$1), CORNER.BOTTOM_LEFT) : new Vector(bounds.left + borderLeftWidth$1 + paddingLeft$1, bounds.top + bounds.height - (borderBottomWidth$1 + paddingBottom$1));
5172			}
5173			return BoundCurves$1;
5174		}();
5175		var CORNER;
5176		(function(CORNER$1) {
5177			CORNER$1[CORNER$1["TOP_LEFT"] = 0] = "TOP_LEFT";
5178			CORNER$1[CORNER$1["TOP_RIGHT"] = 1] = "TOP_RIGHT";
5179			CORNER$1[CORNER$1["BOTTOM_RIGHT"] = 2] = "BOTTOM_RIGHT";
5180			CORNER$1[CORNER$1["BOTTOM_LEFT"] = 3] = "BOTTOM_LEFT";
5181		})(CORNER || (CORNER = {}));
5182		var getCurvePoints = function(x$2, y$1, r1, r2, position$1) {
5183			var kappa = 4 * ((Math.sqrt(2) - 1) / 3);
5184			var ox = r1 * kappa;
5185			var oy = r2 * kappa;
5186			var xm = x$2 + r1;
5187			var ym = y$1 + r2;
5188			switch (position$1) {
5189				case CORNER.TOP_LEFT: return new BezierCurve(new Vector(x$2, ym), new Vector(x$2, ym - oy), new Vector(xm - ox, y$1), new Vector(xm, y$1));
5190				case CORNER.TOP_RIGHT: return new BezierCurve(new Vector(x$2, y$1), new Vector(x$2 + ox, y$1), new Vector(xm, ym - oy), new Vector(xm, ym));
5191				case CORNER.BOTTOM_RIGHT: return new BezierCurve(new Vector(xm, y$1), new Vector(xm, y$1 + oy), new Vector(x$2 + ox, ym), new Vector(x$2, ym));
5192				case CORNER.BOTTOM_LEFT:
5193				default: return new BezierCurve(new Vector(xm, ym), new Vector(xm - ox, ym), new Vector(x$2, y$1 + oy), new Vector(x$2, y$1));
5194			}
5195		};
5196		var calculateBorderBoxPath = function(curves) {
5197			return [
5198				curves.topLeftBorderBox,
5199				curves.topRightBorderBox,
5200				curves.bottomRightBorderBox,
5201				curves.bottomLeftBorderBox
5202			];
5203		};
5204		var calculateContentBoxPath = function(curves) {
5205			return [
5206				curves.topLeftContentBox,
5207				curves.topRightContentBox,
5208				curves.bottomRightContentBox,
5209				curves.bottomLeftContentBox
5210			];
5211		};
5212		var calculatePaddingBoxPath = function(curves) {
5213			return [
5214				curves.topLeftPaddingBox,
5215				curves.topRightPaddingBox,
5216				curves.bottomRightPaddingBox,
5217				curves.bottomLeftPaddingBox
5218			];
5219		};
5220		var TransformEffect = function() {
5221			function TransformEffect$1(offsetX, offsetY, matrix$1) {
5222				this.offsetX = offsetX;
5223				this.offsetY = offsetY;
5224				this.matrix = matrix$1;
5225				this.type = 0;
5226				this.target = 6;
5227			}
5228			return TransformEffect$1;
5229		}();
5230		var ClipEffect = function() {
5231			function ClipEffect$1(path, target) {
5232				this.path = path;
5233				this.target = target;
5234				this.type = 1;
5235			}
5236			return ClipEffect$1;
5237		}();
5238		var OpacityEffect = function() {
5239			function OpacityEffect$1(opacity$1) {
5240				this.opacity = opacity$1;
5241				this.type = 2;
5242				this.target = 6;
5243			}
5244			return OpacityEffect$1;
5245		}();
5246		var isTransformEffect = function(effect) {
5247			return effect.type === 0;
5248		};
5249		var isClipEffect = function(effect) {
5250			return effect.type === 1;
5251		};
5252		var isOpacityEffect = function(effect) {
5253			return effect.type === 2;
5254		};
5255		var equalPath = function(a$2, b$1) {
5256			if (a$2.length === b$1.length) return a$2.some(function(v$1, i$5) {
5257				return v$1 === b$1[i$5];
5258			});
5259			return false;
5260		};
5261		var transformPath = function(path, deltaX, deltaY, deltaW, deltaH) {
5262			return path.map(function(point, index) {
5263				switch (index) {
5264					case 0: return point.add(deltaX, deltaY);
5265					case 1: return point.add(deltaX + deltaW, deltaY);
5266					case 2: return point.add(deltaX + deltaW, deltaY + deltaH);
5267					case 3: return point.add(deltaX, deltaY + deltaH);
5268				}
5269				return point;
5270			});
5271		};
5272		var StackingContext = function() {
5273			function StackingContext$1(container) {
5274				this.element = container;
5275				this.inlineLevel = [];
5276				this.nonInlineLevel = [];
5277				this.negativeZIndex = [];
5278				this.zeroOrAutoZIndexOrTransformedOrOpacity = [];
5279				this.positiveZIndex = [];
5280				this.nonPositionedFloats = [];
5281				this.nonPositionedInlineLevel = [];
5282			}
5283			return StackingContext$1;
5284		}();
5285		var ElementPaint = function() {
5286			function ElementPaint$1(container, parent) {
5287				this.container = container;
5288				this.parent = parent;
5289				this.effects = [];
5290				this.curves = new BoundCurves(this.container);
5291				if (this.container.styles.opacity < 1) this.effects.push(new OpacityEffect(this.container.styles.opacity));
5292				if (this.container.styles.transform !== null) {
5293					var offsetX = this.container.bounds.left + this.container.styles.transformOrigin[0].number;
5294					var offsetY = this.container.bounds.top + this.container.styles.transformOrigin[1].number;
5295					var matrix$1 = this.container.styles.transform;
5296					this.effects.push(new TransformEffect(offsetX, offsetY, matrix$1));
5297				}
5298				if (this.container.styles.overflowX !== 0) {
5299					var borderBox = calculateBorderBoxPath(this.curves);
5300					var paddingBox$1 = calculatePaddingBoxPath(this.curves);
5301					if (equalPath(borderBox, paddingBox$1)) this.effects.push(new ClipEffect(borderBox, 6));
5302					else {
5303						this.effects.push(new ClipEffect(borderBox, 2));
5304						this.effects.push(new ClipEffect(paddingBox$1, 4));
5305					}
5306				}
5307			}
5308			ElementPaint$1.prototype.getEffects = function(target) {
5309				var inFlow = [2, 3].indexOf(this.container.styles.position) === -1;
5310				var parent = this.parent;
5311				var effects = this.effects.slice(0);
5312				while (parent) {
5313					var croplessEffects = parent.effects.filter(function(effect) {
5314						return !isClipEffect(effect);
5315					});
5316					if (inFlow || parent.container.styles.position !== 0 || !parent.parent) {
5317						effects.unshift.apply(effects, croplessEffects);
5318						inFlow = [2, 3].indexOf(parent.container.styles.position) === -1;
5319						if (parent.container.styles.overflowX !== 0) {
5320							var borderBox = calculateBorderBoxPath(parent.curves);
5321							var paddingBox$1 = calculatePaddingBoxPath(parent.curves);
5322							if (!equalPath(borderBox, paddingBox$1)) effects.unshift(new ClipEffect(paddingBox$1, 6));
5323						}
5324					} else effects.unshift.apply(effects, croplessEffects);
5325					parent = parent.parent;
5326				}
5327				return effects.filter(function(effect) {
5328					return contains(effect.target, target);
5329				});
5330			};
5331			return ElementPaint$1;
5332		}();
5333		var parseStackTree = function(parent, stackingContext, realStackingContext, listItems) {
5334			parent.container.elements.forEach(function(child) {
5335				var treatAsRealStackingContext = contains(child.flags, 4);
5336				var createsStackingContext$1 = contains(child.flags, 2);
5337				var paintContainer = new ElementPaint(child, parent);
5338				if (contains(child.styles.display, 2048)) listItems.push(paintContainer);
5339				var listOwnerItems = contains(child.flags, 8) ? [] : listItems;
5340				if (treatAsRealStackingContext || createsStackingContext$1) {
5341					var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;
5342					var stack = new StackingContext(paintContainer);
5343					if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) {
5344						var order_1 = child.styles.zIndex.order;
5345						if (order_1 < 0) {
5346							var index_1 = 0;
5347							parentStack.negativeZIndex.some(function(current, i$5) {
5348								if (order_1 > current.element.container.styles.zIndex.order) {
5349									index_1 = i$5;
5350									return false;
5351								} else if (index_1 > 0) return true;
5352								return false;
5353							});
5354							parentStack.negativeZIndex.splice(index_1, 0, stack);
5355						} else if (order_1 > 0) {
5356							var index_2 = 0;
5357							parentStack.positiveZIndex.some(function(current, i$5) {
5358								if (order_1 >= current.element.container.styles.zIndex.order) {
5359									index_2 = i$5 + 1;
5360									return false;
5361								} else if (index_2 > 0) return true;
5362								return false;
5363							});
5364							parentStack.positiveZIndex.splice(index_2, 0, stack);
5365						} else parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack);
5366					} else if (child.styles.isFloating()) parentStack.nonPositionedFloats.push(stack);
5367					else parentStack.nonPositionedInlineLevel.push(stack);
5368					parseStackTree(paintContainer, stack, treatAsRealStackingContext ? stack : realStackingContext, listOwnerItems);
5369				} else {
5370					if (child.styles.isInlineLevel()) stackingContext.inlineLevel.push(paintContainer);
5371					else stackingContext.nonInlineLevel.push(paintContainer);
5372					parseStackTree(paintContainer, stackingContext, realStackingContext, listOwnerItems);
5373				}
5374				if (contains(child.flags, 8)) processListItems(child, listOwnerItems);
5375			});
5376		};
5377		var processListItems = function(owner, elements) {
5378			var numbering = owner instanceof OLElementContainer ? owner.start : 1;
5379			var reversed = owner instanceof OLElementContainer ? owner.reversed : false;
5380			for (var i$5 = 0; i$5 < elements.length; i$5++) {
5381				var item = elements[i$5];
5382				if (item.container instanceof LIElementContainer && typeof item.container.value === "number" && item.container.value !== 0) numbering = item.container.value;
5383				item.listValue = createCounterText(numbering, item.container.styles.listStyleType, true);
5384				numbering += reversed ? -1 : 1;
5385			}
5386		};
5387		var parseStackingContexts = function(container) {
5388			var paintContainer = new ElementPaint(container, null);
5389			var root = new StackingContext(paintContainer);
5390			var listItems = [];
5391			parseStackTree(paintContainer, root, root, listItems);
5392			processListItems(paintContainer.container, listItems);
5393			return root;
5394		};
5395		var parsePathForBorder = function(curves, borderSide) {
5396			switch (borderSide) {
5397				case 0: return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftPaddingBox, curves.topRightBorderBox, curves.topRightPaddingBox);
5398				case 1: return createPathFromCurves(curves.topRightBorderBox, curves.topRightPaddingBox, curves.bottomRightBorderBox, curves.bottomRightPaddingBox);
5399				case 2: return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox);
5400				case 3:
5401				default: return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox, curves.topLeftBorderBox, curves.topLeftPaddingBox);
5402			}
5403		};
5404		var parsePathForBorderDoubleOuter = function(curves, borderSide) {
5405			switch (borderSide) {
5406				case 0: return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox, curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox);
5407				case 1: return createPathFromCurves(curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox, curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox);
5408				case 2: return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox, curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox);
5409				case 3:
5410				default: return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox, curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox);
5411			}
5412		};
5413		var parsePathForBorderDoubleInner = function(curves, borderSide) {
5414			switch (borderSide) {
5415				case 0: return createPathFromCurves(curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox, curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox);
5416				case 1: return createPathFromCurves(curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox, curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox);
5417				case 2: return createPathFromCurves(curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox);
5418				case 3:
5419				default: return createPathFromCurves(curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox, curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox);
5420			}
5421		};
5422		var parsePathForBorderStroke = function(curves, borderSide) {
5423			switch (borderSide) {
5424				case 0: return createStrokePathFromCurves(curves.topLeftBorderStroke, curves.topRightBorderStroke);
5425				case 1: return createStrokePathFromCurves(curves.topRightBorderStroke, curves.bottomRightBorderStroke);
5426				case 2: return createStrokePathFromCurves(curves.bottomRightBorderStroke, curves.bottomLeftBorderStroke);
5427				case 3:
5428				default: return createStrokePathFromCurves(curves.bottomLeftBorderStroke, curves.topLeftBorderStroke);
5429			}
5430		};
5431		var createStrokePathFromCurves = function(outer1, outer2) {
5432			var path = [];
5433			if (isBezierCurve(outer1)) path.push(outer1.subdivide(.5, false));
5434			else path.push(outer1);
5435			if (isBezierCurve(outer2)) path.push(outer2.subdivide(.5, true));
5436			else path.push(outer2);
5437			return path;
5438		};
5439		var createPathFromCurves = function(outer1, inner1, outer2, inner2) {
5440			var path = [];
5441			if (isBezierCurve(outer1)) path.push(outer1.subdivide(.5, false));
5442			else path.push(outer1);
5443			if (isBezierCurve(outer2)) path.push(outer2.subdivide(.5, true));
5444			else path.push(outer2);
5445			if (isBezierCurve(inner2)) path.push(inner2.subdivide(.5, true).reverse());
5446			else path.push(inner2);
5447			if (isBezierCurve(inner1)) path.push(inner1.subdivide(.5, false).reverse());
5448			else path.push(inner1);
5449			return path;
5450		};
5451		var paddingBox = function(element) {
5452			var bounds = element.bounds;
5453			var styles = element.styles;
5454			return bounds.add(styles.borderLeftWidth, styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth), -(styles.borderTopWidth + styles.borderBottomWidth));
5455		};
5456		var contentBox = function(element) {
5457			var styles = element.styles;
5458			var bounds = element.bounds;
5459			var paddingLeft$1 = getAbsoluteValue(styles.paddingLeft, bounds.width);
5460			var paddingRight$1 = getAbsoluteValue(styles.paddingRight, bounds.width);
5461			var paddingTop$1 = getAbsoluteValue(styles.paddingTop, bounds.width);
5462			var paddingBottom$1 = getAbsoluteValue(styles.paddingBottom, bounds.width);
5463			return bounds.add(paddingLeft$1 + styles.borderLeftWidth, paddingTop$1 + styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth + paddingLeft$1 + paddingRight$1), -(styles.borderTopWidth + styles.borderBottomWidth + paddingTop$1 + paddingBottom$1));
5464		};
5465		var calculateBackgroundPositioningArea = function(backgroundOrigin$1, element) {
5466			if (backgroundOrigin$1 === 0) return element.bounds;
5467			if (backgroundOrigin$1 === 2) return contentBox(element);
5468			return paddingBox(element);
5469		};
5470		var calculateBackgroundPaintingArea = function(backgroundClip$1, element) {
5471			if (backgroundClip$1 === 0) return element.bounds;
5472			if (backgroundClip$1 === 2) return contentBox(element);
5473			return paddingBox(element);
5474		};
5475		var calculateBackgroundRendering = function(container, index, intrinsicSize) {
5476			var backgroundPositioningArea = calculateBackgroundPositioningArea(getBackgroundValueForIndex(container.styles.backgroundOrigin, index), container);
5477			var backgroundPaintingArea = calculateBackgroundPaintingArea(getBackgroundValueForIndex(container.styles.backgroundClip, index), container);
5478			var backgroundImageSize = calculateBackgroundSize(getBackgroundValueForIndex(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea);
5479			var sizeWidth = backgroundImageSize[0], sizeHeight = backgroundImageSize[1];
5480			var position$1 = getAbsoluteValueForTuple(getBackgroundValueForIndex(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight);
5481			var path = calculateBackgroundRepeatPath(getBackgroundValueForIndex(container.styles.backgroundRepeat, index), position$1, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea);
5482			var offsetX = Math.round(backgroundPositioningArea.left + position$1[0]);
5483			var offsetY = Math.round(backgroundPositioningArea.top + position$1[1]);
5484			return [
5485				path,
5486				offsetX,
5487				offsetY,
5488				sizeWidth,
5489				sizeHeight
5490			];
5491		};
5492		var isAuto = function(token) {
5493			return isIdentToken(token) && token.value === BACKGROUND_SIZE.AUTO;
5494		};
5495		var hasIntrinsicValue = function(value) {
5496			return typeof value === "number";
5497		};
5498		var calculateBackgroundSize = function(size, _a$1, bounds) {
5499			var intrinsicWidth = _a$1[0], intrinsicHeight = _a$1[1], intrinsicProportion = _a$1[2];
5500			var first = size[0], second = size[1];
5501			if (!first) return [0, 0];
5502			if (isLengthPercentage(first) && second && isLengthPercentage(second)) return [getAbsoluteValue(first, bounds.width), getAbsoluteValue(second, bounds.height)];
5503			var hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion);
5504			if (isIdentToken(first) && (first.value === BACKGROUND_SIZE.CONTAIN || first.value === BACKGROUND_SIZE.COVER)) {
5505				if (hasIntrinsicValue(intrinsicProportion)) return bounds.width / bounds.height < intrinsicProportion !== (first.value === BACKGROUND_SIZE.COVER) ? [bounds.width, bounds.width / intrinsicProportion] : [bounds.height * intrinsicProportion, bounds.height];
5506				return [bounds.width, bounds.height];
5507			}
5508			var hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth);
5509			var hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight);
5510			var hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight;
5511			if (isAuto(first) && (!second || isAuto(second))) {
5512				if (hasIntrinsicWidth && hasIntrinsicHeight) return [intrinsicWidth, intrinsicHeight];
5513				if (!hasIntrinsicProportion && !hasIntrinsicDimensions) return [bounds.width, bounds.height];
5514				if (hasIntrinsicDimensions && hasIntrinsicProportion) {
5515					var width_1 = hasIntrinsicWidth ? intrinsicWidth : intrinsicHeight * intrinsicProportion;
5516					var height_1 = hasIntrinsicHeight ? intrinsicHeight : intrinsicWidth / intrinsicProportion;
5517					return [width_1, height_1];
5518				}
5519				var width_2 = hasIntrinsicWidth ? intrinsicWidth : bounds.width;
5520				var height_2 = hasIntrinsicHeight ? intrinsicHeight : bounds.height;
5521				return [width_2, height_2];
5522			}
5523			if (hasIntrinsicProportion) {
5524				var width_3 = 0;
5525				var height_3 = 0;
5526				if (isLengthPercentage(first)) width_3 = getAbsoluteValue(first, bounds.width);
5527				else if (isLengthPercentage(second)) height_3 = getAbsoluteValue(second, bounds.height);
5528				if (isAuto(first)) width_3 = height_3 * intrinsicProportion;
5529				else if (!second || isAuto(second)) height_3 = width_3 / intrinsicProportion;
5530				return [width_3, height_3];
5531			}
5532			var width = null;
5533			var height = null;
5534			if (isLengthPercentage(first)) width = getAbsoluteValue(first, bounds.width);
5535			else if (second && isLengthPercentage(second)) height = getAbsoluteValue(second, bounds.height);
5536			if (width !== null && (!second || isAuto(second))) height = hasIntrinsicWidth && hasIntrinsicHeight ? width / intrinsicWidth * intrinsicHeight : bounds.height;
5537			if (height !== null && isAuto(first)) width = hasIntrinsicWidth && hasIntrinsicHeight ? height / intrinsicHeight * intrinsicWidth : bounds.width;
5538			if (width !== null && height !== null) return [width, height];
5539			throw new Error("Unable to calculate background-size for element");
5540		};
5541		var getBackgroundValueForIndex = function(values, index) {
5542			var value = values[index];
5543			if (typeof value === "undefined") return values[0];
5544			return value;
5545		};
5546		var calculateBackgroundRepeatPath = function(repeat, _a$1, _b$1, backgroundPositioningArea, backgroundPaintingArea) {
5547			var x$2 = _a$1[0], y$1 = _a$1[1];
5548			var width = _b$1[0], height = _b$1[1];
5549			switch (repeat) {
5550				case 2: return [
5551					new Vector(Math.round(backgroundPositioningArea.left), Math.round(backgroundPositioningArea.top + y$1)),
5552					new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(backgroundPositioningArea.top + y$1)),
5553					new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(height + backgroundPositioningArea.top + y$1)),
5554					new Vector(Math.round(backgroundPositioningArea.left), Math.round(height + backgroundPositioningArea.top + y$1))
5555				];
5556				case 3: return [
5557					new Vector(Math.round(backgroundPositioningArea.left + x$2), Math.round(backgroundPositioningArea.top)),
5558					new Vector(Math.round(backgroundPositioningArea.left + x$2 + width), Math.round(backgroundPositioningArea.top)),
5559					new Vector(Math.round(backgroundPositioningArea.left + x$2 + width), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top)),
5560					new Vector(Math.round(backgroundPositioningArea.left + x$2), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top))
5561				];
5562				case 1: return [
5563					new Vector(Math.round(backgroundPositioningArea.left + x$2), Math.round(backgroundPositioningArea.top + y$1)),
5564					new Vector(Math.round(backgroundPositioningArea.left + x$2 + width), Math.round(backgroundPositioningArea.top + y$1)),
5565					new Vector(Math.round(backgroundPositioningArea.left + x$2 + width), Math.round(backgroundPositioningArea.top + y$1 + height)),
5566					new Vector(Math.round(backgroundPositioningArea.left + x$2), Math.round(backgroundPositioningArea.top + y$1 + height))
5567				];
5568				default: return [
5569					new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.top)),
5570					new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.top)),
5571					new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top)),
5572					new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top))
5573				];
5574			}
5575		};
5576		var SMALL_IMAGE = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
5577		var SAMPLE_TEXT = "Hidden Text";
5578		var FontMetrics = function() {
5579			function FontMetrics$1(document$1) {
5580				this._data = {};
5581				this._document = document$1;
5582			}
5583			FontMetrics$1.prototype.parseMetrics = function(fontFamily$1, fontSize$1) {
5584				var container = this._document.createElement("div");
5585				var img = this._document.createElement("img");
5586				var span = this._document.createElement("span");
5587				var body = this._document.body;
5588				container.style.visibility = "hidden";
5589				container.style.fontFamily = fontFamily$1;
5590				container.style.fontSize = fontSize$1;
5591				container.style.margin = "0";
5592				container.style.padding = "0";
5593				container.style.whiteSpace = "nowrap";
5594				body.appendChild(container);
5595				img.src = SMALL_IMAGE;
5596				img.width = 1;
5597				img.height = 1;
5598				img.style.margin = "0";
5599				img.style.padding = "0";
5600				img.style.verticalAlign = "baseline";
5601				span.style.fontFamily = fontFamily$1;
5602				span.style.fontSize = fontSize$1;
5603				span.style.margin = "0";
5604				span.style.padding = "0";
5605				span.appendChild(this._document.createTextNode(SAMPLE_TEXT));
5606				container.appendChild(span);
5607				container.appendChild(img);
5608				var baseline = img.offsetTop - span.offsetTop + 2;
5609				container.removeChild(span);
5610				container.appendChild(this._document.createTextNode(SAMPLE_TEXT));
5611				container.style.lineHeight = "normal";
5612				img.style.verticalAlign = "super";
5613				var middle = img.offsetTop - container.offsetTop + 2;
5614				body.removeChild(container);
5615				return {
5616					baseline,
5617					middle
5618				};
5619			};
5620			FontMetrics$1.prototype.getMetrics = function(fontFamily$1, fontSize$1) {
5621				var key = fontFamily$1 + " " + fontSize$1;
5622				if (typeof this._data[key] === "undefined") this._data[key] = this.parseMetrics(fontFamily$1, fontSize$1);
5623				return this._data[key];
5624			};
5625			return FontMetrics$1;
5626		}();
5627		var Renderer = function() {
vendor: 45,683 bytes, lines 5628-6725
5628			function Renderer$1(context, options) {
5629				this.context = context;
5630				this.options = options;
5631			}
5632			return Renderer$1;
5633		}();
5634		var MASK_OFFSET = 1e4;
5635		var CanvasRenderer = function(_super) {
5636			__extends(CanvasRenderer$1, _super);
5637			function CanvasRenderer$1(context, options) {
5638				var _this = _super.call(this, context, options) || this;
5639				_this._activeEffects = [];
5640				_this.canvas = options.canvas ? options.canvas : document.createElement("canvas");
5641				_this.ctx = _this.canvas.getContext("2d");
5642				if (!options.canvas) {
5643					_this.canvas.width = Math.floor(options.width * options.scale);
5644					_this.canvas.height = Math.floor(options.height * options.scale);
5645					_this.canvas.style.width = options.width + "px";
5646					_this.canvas.style.height = options.height + "px";
5647				}
5648				_this.fontMetrics = new FontMetrics(document);
5649				_this.ctx.scale(_this.options.scale, _this.options.scale);
5650				_this.ctx.translate(-options.x, -options.y);
5651				_this.ctx.textBaseline = "bottom";
5652				_this._activeEffects = [];
5653				_this.context.logger.debug("Canvas renderer initialized (" + options.width + "x" + options.height + ") with scale " + options.scale);
5654				return _this;
5655			}
5656			CanvasRenderer$1.prototype.applyEffects = function(effects) {
5657				var _this = this;
5658				while (this._activeEffects.length) this.popEffect();
5659				effects.forEach(function(effect) {
5660					return _this.applyEffect(effect);
5661				});
5662			};
5663			CanvasRenderer$1.prototype.applyEffect = function(effect) {
5664				this.ctx.save();
5665				if (isOpacityEffect(effect)) this.ctx.globalAlpha = effect.opacity;
5666				if (isTransformEffect(effect)) {
5667					this.ctx.translate(effect.offsetX, effect.offsetY);
5668					this.ctx.transform(effect.matrix[0], effect.matrix[1], effect.matrix[2], effect.matrix[3], effect.matrix[4], effect.matrix[5]);
5669					this.ctx.translate(-effect.offsetX, -effect.offsetY);
5670				}
5671				if (isClipEffect(effect)) {
5672					this.path(effect.path);
5673					this.ctx.clip();
5674				}
5675				this._activeEffects.push(effect);
5676			};
5677			CanvasRenderer$1.prototype.popEffect = function() {
5678				this._activeEffects.pop();
5679				this.ctx.restore();
5680			};
5681			CanvasRenderer$1.prototype.renderStack = function(stack) {
5682				return __awaiter(this, void 0, void 0, function() {
5683					var styles;
5684					return __generator(this, function(_a$1) {
5685						switch (_a$1.label) {
5686							case 0:
5687								styles = stack.element.container.styles;
5688								if (!styles.isVisible()) return [3, 2];
5689								return [4, this.renderStackContent(stack)];
5690							case 1:
5691								_a$1.sent();
5692								_a$1.label = 2;
5693							case 2: return [2];
5694						}
5695					});
5696				});
5697			};
5698			CanvasRenderer$1.prototype.renderNode = function(paint) {
5699				return __awaiter(this, void 0, void 0, function() {
5700					return __generator(this, function(_a$1) {
5701						switch (_a$1.label) {
5702							case 0:
5703								if (contains(paint.container.flags, 16)) debugger;
5704								if (!paint.container.styles.isVisible()) return [3, 3];
5705								return [4, this.renderNodeBackgroundAndBorders(paint)];
5706							case 1:
5707								_a$1.sent();
5708								return [4, this.renderNodeContent(paint)];
5709							case 2:
5710								_a$1.sent();
5711								_a$1.label = 3;
5712							case 3: return [2];
5713						}
5714					});
5715				});
5716			};
5717			CanvasRenderer$1.prototype.renderTextWithLetterSpacing = function(text, letterSpacing$1, baseline) {
5718				var _this = this;
5719				if (letterSpacing$1 === 0) this.ctx.fillText(text.text, text.bounds.left, text.bounds.top + baseline);
5720				else segmentGraphemes(text.text).reduce(function(left, letter) {
5721					_this.ctx.fillText(letter, left, text.bounds.top + baseline);
5722					return left + _this.ctx.measureText(letter).width;
5723				}, text.bounds.left);
5724			};
5725			CanvasRenderer$1.prototype.createFontStyle = function(styles) {
5726				var fontVariant$1 = styles.fontVariant.filter(function(variant) {
5727					return variant === "normal" || variant === "small-caps";
5728				}).join("");
5729				var fontFamily$1 = fixIOSSystemFonts(styles.fontFamily).join(", ");
5730				var fontSize$1 = isDimensionToken(styles.fontSize) ? "" + styles.fontSize.number + styles.fontSize.unit : styles.fontSize.number + "px";
5731				return [
5732					[
5733						styles.fontStyle,
5734						fontVariant$1,
5735						styles.fontWeight,
5736						fontSize$1,
5737						fontFamily$1
5738					].join(" "),
5739					fontFamily$1,
5740					fontSize$1
5741				];
5742			};
5743			CanvasRenderer$1.prototype.renderTextNode = function(text, styles) {
5744				return __awaiter(this, void 0, void 0, function() {
5745					var _a$1, font, fontFamily$1, fontSize$1, _b$1, baseline, middle, paintOrder$1;
5746					var _this = this;
5747					return __generator(this, function(_c) {
5748						_a$1 = this.createFontStyle(styles), font = _a$1[0], fontFamily$1 = _a$1[1], fontSize$1 = _a$1[2];
5749						this.ctx.font = font;
5750						this.ctx.direction = styles.direction === 1 ? "rtl" : "ltr";
5751						this.ctx.textAlign = "left";
5752						this.ctx.textBaseline = "alphabetic";
5753						_b$1 = this.fontMetrics.getMetrics(fontFamily$1, fontSize$1), baseline = _b$1.baseline, middle = _b$1.middle;
5754						paintOrder$1 = styles.paintOrder;
5755						text.textBounds.forEach(function(text$1) {
5756							paintOrder$1.forEach(function(paintOrderLayer) {
5757								switch (paintOrderLayer) {
5758									case 0:
5759										_this.ctx.fillStyle = asString(styles.color);
5760										_this.renderTextWithLetterSpacing(text$1, styles.letterSpacing, baseline);
5761										var textShadows = styles.textShadow;
5762										if (textShadows.length && text$1.text.trim().length) {
5763											textShadows.slice(0).reverse().forEach(function(textShadow$1) {
5764												_this.ctx.shadowColor = asString(textShadow$1.color);
5765												_this.ctx.shadowOffsetX = textShadow$1.offsetX.number * _this.options.scale;
5766												_this.ctx.shadowOffsetY = textShadow$1.offsetY.number * _this.options.scale;
5767												_this.ctx.shadowBlur = textShadow$1.blur.number;
5768												_this.renderTextWithLetterSpacing(text$1, styles.letterSpacing, baseline);
5769											});
5770											_this.ctx.shadowColor = "";
5771											_this.ctx.shadowOffsetX = 0;
5772											_this.ctx.shadowOffsetY = 0;
5773											_this.ctx.shadowBlur = 0;
5774										}
5775										if (styles.textDecorationLine.length) {
5776											_this.ctx.fillStyle = asString(styles.textDecorationColor || styles.color);
5777											styles.textDecorationLine.forEach(function(textDecorationLine$1) {
5778												switch (textDecorationLine$1) {
5779													case 1:
5780														_this.ctx.fillRect(text$1.bounds.left, Math.round(text$1.bounds.top + baseline), text$1.bounds.width, 1);
5781														break;
5782													case 2:
5783														_this.ctx.fillRect(text$1.bounds.left, Math.round(text$1.bounds.top), text$1.bounds.width, 1);
5784														break;
5785													case 3:
5786														_this.ctx.fillRect(text$1.bounds.left, Math.ceil(text$1.bounds.top + middle), text$1.bounds.width, 1);
5787														break;
5788												}
5789											});
5790										}
5791										break;
5792									case 1:
5793										if (styles.webkitTextStrokeWidth && text$1.text.trim().length) {
5794											_this.ctx.strokeStyle = asString(styles.webkitTextStrokeColor);
5795											_this.ctx.lineWidth = styles.webkitTextStrokeWidth;
5796											_this.ctx.lineJoin = !!window.chrome ? "miter" : "round";
5797											_this.ctx.strokeText(text$1.text, text$1.bounds.left, text$1.bounds.top + baseline);
5798										}
5799										_this.ctx.strokeStyle = "";
5800										_this.ctx.lineWidth = 0;
5801										_this.ctx.lineJoin = "miter";
5802										break;
5803								}
5804							});
5805						});
5806						return [2];
5807					});
5808				});
5809			};
5810			CanvasRenderer$1.prototype.renderReplacedElement = function(container, curves, image$1) {
5811				if (image$1 && container.intrinsicWidth > 0 && container.intrinsicHeight > 0) {
5812					var box = contentBox(container);
5813					var path = calculatePaddingBoxPath(curves);
5814					this.path(path);
5815					this.ctx.save();
5816					this.ctx.clip();
5817					this.ctx.drawImage(image$1, 0, 0, container.intrinsicWidth, container.intrinsicHeight, box.left, box.top, box.width, box.height);
5818					this.ctx.restore();
5819				}
5820			};
5821			CanvasRenderer$1.prototype.renderNodeContent = function(paint) {
5822				return __awaiter(this, void 0, void 0, function() {
5823					var container, curves, styles, _i, _a$1, child, image$1, image$1, iframeRenderer, canvas, size, _b$1, fontFamily$1, fontSize$1, baseline, bounds, x$2, textBounds, img, image$1, url, fontFamily$1, bounds;
5824					return __generator(this, function(_c) {
5825						switch (_c.label) {
5826							case 0:
5827								this.applyEffects(paint.getEffects(4));
5828								container = paint.container;
5829								curves = paint.curves;
5830								styles = container.styles;
5831								_i = 0, _a$1 = container.textNodes;
5832								_c.label = 1;
5833							case 1:
5834								if (!(_i < _a$1.length)) return [3, 4];
5835								child = _a$1[_i];
5836								return [4, this.renderTextNode(child, styles)];
5837							case 2:
5838								_c.sent();
5839								_c.label = 3;
5840							case 3:
5841								_i++;
5842								return [3, 1];
5843							case 4:
5844								if (!(container instanceof ImageElementContainer)) return [3, 8];
5845								_c.label = 5;
5846							case 5:
5847								_c.trys.push([
5848									5,
5849									7,
5850									,
5851									8
5852								]);
5853								return [4, this.context.cache.match(container.src)];
5854							case 6:
5855								image$1 = _c.sent();
5856								this.renderReplacedElement(container, curves, image$1);
5857								return [3, 8];
5858							case 7:
5859								_c.sent();
5860								this.context.logger.error("Error loading image " + container.src);
5861								return [3, 8];
5862							case 8:
5863								if (container instanceof CanvasElementContainer) this.renderReplacedElement(container, curves, container.canvas);
5864								if (!(container instanceof SVGElementContainer)) return [3, 12];
5865								_c.label = 9;
5866							case 9:
5867								_c.trys.push([
5868									9,
5869									11,
5870									,
5871									12
5872								]);
5873								return [4, this.context.cache.match(container.svg)];
5874							case 10:
5875								image$1 = _c.sent();
5876								this.renderReplacedElement(container, curves, image$1);
5877								return [3, 12];
5878							case 11:
5879								_c.sent();
5880								this.context.logger.error("Error loading svg " + container.svg.substring(0, 255));
5881								return [3, 12];
5882							case 12:
5883								if (!(container instanceof IFrameElementContainer && container.tree)) return [3, 14];
5884								iframeRenderer = new CanvasRenderer$1(this.context, {
5885									scale: this.options.scale,
5886									backgroundColor: container.backgroundColor,
5887									x: 0,
5888									y: 0,
5889									width: container.width,
5890									height: container.height
5891								});
5892								return [4, iframeRenderer.render(container.tree)];
5893							case 13:
5894								canvas = _c.sent();
5895								if (container.width && container.height) this.ctx.drawImage(canvas, 0, 0, container.width, container.height, container.bounds.left, container.bounds.top, container.bounds.width, container.bounds.height);
5896								_c.label = 14;
5897							case 14:
5898								if (container instanceof InputElementContainer) {
5899									size = Math.min(container.bounds.width, container.bounds.height);
5900									if (container.type === CHECKBOX) {
5901										if (container.checked) {
5902											this.ctx.save();
5903											this.path([
5904												new Vector(container.bounds.left + size * .39363, container.bounds.top + size * .79),
5905												new Vector(container.bounds.left + size * .16, container.bounds.top + size * .5549),
5906												new Vector(container.bounds.left + size * .27347, container.bounds.top + size * .44071),
5907												new Vector(container.bounds.left + size * .39694, container.bounds.top + size * .5649),
5908												new Vector(container.bounds.left + size * .72983, container.bounds.top + size * .23),
5909												new Vector(container.bounds.left + size * .84, container.bounds.top + size * .34085),
5910												new Vector(container.bounds.left + size * .39363, container.bounds.top + size * .79)
5911											]);
5912											this.ctx.fillStyle = asString(INPUT_COLOR);
5913											this.ctx.fill();
5914											this.ctx.restore();
5915										}
5916									} else if (container.type === RADIO) {
5917										if (container.checked) {
5918											this.ctx.save();
5919											this.ctx.beginPath();
5920											this.ctx.arc(container.bounds.left + size / 2, container.bounds.top + size / 2, size / 4, 0, Math.PI * 2, true);
5921											this.ctx.fillStyle = asString(INPUT_COLOR);
5922											this.ctx.fill();
5923											this.ctx.restore();
5924										}
5925									}
5926								}
5927								if (isTextInputElement(container) && container.value.length) {
5928									_b$1 = this.createFontStyle(styles), fontFamily$1 = _b$1[0], fontSize$1 = _b$1[1];
5929									baseline = this.fontMetrics.getMetrics(fontFamily$1, fontSize$1).baseline;
5930									this.ctx.font = fontFamily$1;
5931									this.ctx.fillStyle = asString(styles.color);
5932									this.ctx.textBaseline = "alphabetic";
5933									this.ctx.textAlign = canvasTextAlign(container.styles.textAlign);
5934									bounds = contentBox(container);
5935									x$2 = 0;
5936									switch (container.styles.textAlign) {
5937										case 1:
5938											x$2 += bounds.width / 2;
5939											break;
5940										case 2:
5941											x$2 += bounds.width;
5942											break;
5943									}
5944									textBounds = bounds.add(x$2, 0, 0, -bounds.height / 2 + 1);
5945									this.ctx.save();
5946									this.path([
5947										new Vector(bounds.left, bounds.top),
5948										new Vector(bounds.left + bounds.width, bounds.top),
5949										new Vector(bounds.left + bounds.width, bounds.top + bounds.height),
5950										new Vector(bounds.left, bounds.top + bounds.height)
5951									]);
5952									this.ctx.clip();
5953									this.renderTextWithLetterSpacing(new TextBounds(container.value, textBounds), styles.letterSpacing, baseline);
5954									this.ctx.restore();
5955									this.ctx.textBaseline = "alphabetic";
5956									this.ctx.textAlign = "left";
5957								}
5958								if (!contains(container.styles.display, 2048)) return [3, 20];
5959								if (!(container.styles.listStyleImage !== null)) return [3, 19];
5960								img = container.styles.listStyleImage;
5961								if (!(img.type === 0)) return [3, 18];
5962								image$1 = void 0;
5963								url = img.url;
5964								_c.label = 15;
5965							case 15:
5966								_c.trys.push([
5967									15,
5968									17,
5969									,
5970									18
5971								]);
5972								return [4, this.context.cache.match(url)];
5973							case 16:
5974								image$1 = _c.sent();
5975								this.ctx.drawImage(image$1, container.bounds.left - (image$1.width + 10), container.bounds.top);
5976								return [3, 18];
5977							case 17:
5978								_c.sent();
5979								this.context.logger.error("Error loading list-style-image " + url);
5980								return [3, 18];
5981							case 18: return [3, 20];
5982							case 19:
5983								if (paint.listValue && container.styles.listStyleType !== -1) {
5984									fontFamily$1 = this.createFontStyle(styles)[0];
5985									this.ctx.font = fontFamily$1;
5986									this.ctx.fillStyle = asString(styles.color);
5987									this.ctx.textBaseline = "middle";
5988									this.ctx.textAlign = "right";
5989									bounds = new Bounds(container.bounds.left, container.bounds.top + getAbsoluteValue(container.styles.paddingTop, container.bounds.width), container.bounds.width, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 1);
5990									this.renderTextWithLetterSpacing(new TextBounds(paint.listValue, bounds), styles.letterSpacing, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 2);
5991									this.ctx.textBaseline = "bottom";
5992									this.ctx.textAlign = "left";
5993								}
5994								_c.label = 20;
5995							case 20: return [2];
5996						}
5997					});
5998				});
5999			};
6000			CanvasRenderer$1.prototype.renderStackContent = function(stack) {
6001				return __awaiter(this, void 0, void 0, function() {
6002					var _i, _a$1, child, _b$1, _c, child, _d, _e$1, child, _f, _g, child, _h, _j, child, _k, _l, child, _m, _o, child;
6003					return __generator(this, function(_p) {
6004						switch (_p.label) {
6005							case 0:
6006								if (contains(stack.element.container.flags, 16)) debugger;
6007								return [4, this.renderNodeBackgroundAndBorders(stack.element)];
6008							case 1:
6009								_p.sent();
6010								_i = 0, _a$1 = stack.negativeZIndex;
6011								_p.label = 2;
6012							case 2:
6013								if (!(_i < _a$1.length)) return [3, 5];
6014								child = _a$1[_i];
6015								return [4, this.renderStack(child)];
6016							case 3:
6017								_p.sent();
6018								_p.label = 4;
6019							case 4:
6020								_i++;
6021								return [3, 2];
6022							case 5: return [4, this.renderNodeContent(stack.element)];
6023							case 6:
6024								_p.sent();
6025								_b$1 = 0, _c = stack.nonInlineLevel;
6026								_p.label = 7;
6027							case 7:
6028								if (!(_b$1 < _c.length)) return [3, 10];
6029								child = _c[_b$1];
6030								return [4, this.renderNode(child)];
6031							case 8:
6032								_p.sent();
6033								_p.label = 9;
6034							case 9:
6035								_b$1++;
6036								return [3, 7];
6037							case 10:
6038								_d = 0, _e$1 = stack.nonPositionedFloats;
6039								_p.label = 11;
6040							case 11:
6041								if (!(_d < _e$1.length)) return [3, 14];
6042								child = _e$1[_d];
6043								return [4, this.renderStack(child)];
6044							case 12:
6045								_p.sent();
6046								_p.label = 13;
6047							case 13:
6048								_d++;
6049								return [3, 11];
6050							case 14:
6051								_f = 0, _g = stack.nonPositionedInlineLevel;
6052								_p.label = 15;
6053							case 15:
6054								if (!(_f < _g.length)) return [3, 18];
6055								child = _g[_f];
6056								return [4, this.renderStack(child)];
6057							case 16:
6058								_p.sent();
6059								_p.label = 17;
6060							case 17:
6061								_f++;
6062								return [3, 15];
6063							case 18:
6064								_h = 0, _j = stack.inlineLevel;
6065								_p.label = 19;
6066							case 19:
6067								if (!(_h < _j.length)) return [3, 22];
6068								child = _j[_h];
6069								return [4, this.renderNode(child)];
6070							case 20:
6071								_p.sent();
6072								_p.label = 21;
6073							case 21:
6074								_h++;
6075								return [3, 19];
6076							case 22:
6077								_k = 0, _l = stack.zeroOrAutoZIndexOrTransformedOrOpacity;
6078								_p.label = 23;
6079							case 23:
6080								if (!(_k < _l.length)) return [3, 26];
6081								child = _l[_k];
6082								return [4, this.renderStack(child)];
6083							case 24:
6084								_p.sent();
6085								_p.label = 25;
6086							case 25:
6087								_k++;
6088								return [3, 23];
6089							case 26:
6090								_m = 0, _o = stack.positiveZIndex;
6091								_p.label = 27;
6092							case 27:
6093								if (!(_m < _o.length)) return [3, 30];
6094								child = _o[_m];
6095								return [4, this.renderStack(child)];
6096							case 28:
6097								_p.sent();
6098								_p.label = 29;
6099							case 29:
6100								_m++;
6101								return [3, 27];
6102							case 30: return [2];
6103						}
6104					});
6105				});
6106			};
6107			CanvasRenderer$1.prototype.mask = function(paths) {
6108				this.ctx.beginPath();
6109				this.ctx.moveTo(0, 0);
6110				this.ctx.lineTo(this.canvas.width, 0);
6111				this.ctx.lineTo(this.canvas.width, this.canvas.height);
6112				this.ctx.lineTo(0, this.canvas.height);
6113				this.ctx.lineTo(0, 0);
6114				this.formatPath(paths.slice(0).reverse());
6115				this.ctx.closePath();
6116			};
6117			CanvasRenderer$1.prototype.path = function(paths) {
6118				this.ctx.beginPath();
6119				this.formatPath(paths);
6120				this.ctx.closePath();
6121			};
6122			CanvasRenderer$1.prototype.formatPath = function(paths) {
6123				var _this = this;
6124				paths.forEach(function(point, index) {
6125					var start = isBezierCurve(point) ? point.start : point;
6126					if (index === 0) _this.ctx.moveTo(start.x, start.y);
6127					else _this.ctx.lineTo(start.x, start.y);
6128					if (isBezierCurve(point)) _this.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y);
6129				});
6130			};
6131			CanvasRenderer$1.prototype.renderRepeat = function(path, pattern, offsetX, offsetY) {
6132				this.path(path);
6133				this.ctx.fillStyle = pattern;
6134				this.ctx.translate(offsetX, offsetY);
6135				this.ctx.fill();
6136				this.ctx.translate(-offsetX, -offsetY);
6137			};
6138			CanvasRenderer$1.prototype.resizeImage = function(image$1, width, height) {
6139				var _a$1;
6140				if (image$1.width === width && image$1.height === height) return image$1;
6141				var canvas = ((_a$1 = this.canvas.ownerDocument) !== null && _a$1 !== void 0 ? _a$1 : document).createElement("canvas");
6142				canvas.width = Math.max(1, width);
6143				canvas.height = Math.max(1, height);
6144				canvas.getContext("2d").drawImage(image$1, 0, 0, image$1.width, image$1.height, 0, 0, width, height);
6145				return canvas;
6146			};
6147			CanvasRenderer$1.prototype.renderBackgroundImage = function(container) {
6148				return __awaiter(this, void 0, void 0, function() {
6149					var index, _loop_1, this_1, _i, _a$1, backgroundImage$1;
6150					return __generator(this, function(_b$1) {
6151						switch (_b$1.label) {
6152							case 0:
6153								index = container.styles.backgroundImage.length - 1;
6154								_loop_1 = function(backgroundImage$2) {
6155									var image$1, url, _c, path, x$2, y$1, width, height, pattern, _d, path, x$2, y$1, width, height, _e$1, lineLength, x0, x1, y0, y1, canvas, ctx, gradient_1, pattern, _f, path, left, top_1, width, height, position$1, x$2, y$1, _g, rx, ry, radialGradient_1, midX, midY, f$2, invF;
6156									return __generator(this, function(_h) {
6157										switch (_h.label) {
6158											case 0:
6159												if (!(backgroundImage$2.type === 0)) return [3, 5];
6160												image$1 = void 0;
6161												url = backgroundImage$2.url;
6162												_h.label = 1;
6163											case 1:
6164												_h.trys.push([
6165													1,
6166													3,
6167													,
6168													4
6169												]);
6170												return [4, this_1.context.cache.match(url)];
6171											case 2:
6172												image$1 = _h.sent();
6173												return [3, 4];
6174											case 3:
6175												_h.sent();
6176												this_1.context.logger.error("Error loading background-image " + url);
6177												return [3, 4];
6178											case 4:
6179												if (image$1) {
6180													_c = calculateBackgroundRendering(container, index, [
6181														image$1.width,
6182														image$1.height,
6183														image$1.width / image$1.height
6184													]), path = _c[0], x$2 = _c[1], y$1 = _c[2], width = _c[3], height = _c[4];
6185													pattern = this_1.ctx.createPattern(this_1.resizeImage(image$1, width, height), "repeat");
6186													this_1.renderRepeat(path, pattern, x$2, y$1);
6187												}
6188												return [3, 6];
6189											case 5:
6190												if (isLinearGradient(backgroundImage$2)) {
6191													_d = calculateBackgroundRendering(container, index, [
6192														null,
6193														null,
6194														null
6195													]), path = _d[0], x$2 = _d[1], y$1 = _d[2], width = _d[3], height = _d[4];
6196													_e$1 = calculateGradientDirection(backgroundImage$2.angle, width, height), lineLength = _e$1[0], x0 = _e$1[1], x1 = _e$1[2], y0 = _e$1[3], y1 = _e$1[4];
6197													canvas = document.createElement("canvas");
6198													canvas.width = width;
6199													canvas.height = height;
6200													ctx = canvas.getContext("2d");
6201													gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1);
6202													processColorStops(backgroundImage$2.stops, lineLength).forEach(function(colorStop) {
6203														return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color));
6204													});
6205													ctx.fillStyle = gradient_1;
6206													ctx.fillRect(0, 0, width, height);
6207													if (width > 0 && height > 0) {
6208														pattern = this_1.ctx.createPattern(canvas, "repeat");
6209														this_1.renderRepeat(path, pattern, x$2, y$1);
6210													}
6211												} else if (isRadialGradient(backgroundImage$2)) {
6212													_f = calculateBackgroundRendering(container, index, [
6213														null,
6214														null,
6215														null
6216													]), path = _f[0], left = _f[1], top_1 = _f[2], width = _f[3], height = _f[4];
6217													position$1 = backgroundImage$2.position.length === 0 ? [FIFTY_PERCENT] : backgroundImage$2.position;
6218													x$2 = getAbsoluteValue(position$1[0], width);
6219													y$1 = getAbsoluteValue(position$1[position$1.length - 1], height);
6220													_g = calculateRadius(backgroundImage$2, x$2, y$1, width, height), rx = _g[0], ry = _g[1];
6221													if (rx > 0 && ry > 0) {
6222														radialGradient_1 = this_1.ctx.createRadialGradient(left + x$2, top_1 + y$1, 0, left + x$2, top_1 + y$1, rx);
6223														processColorStops(backgroundImage$2.stops, rx * 2).forEach(function(colorStop) {
6224															return radialGradient_1.addColorStop(colorStop.stop, asString(colorStop.color));
6225														});
6226														this_1.path(path);
6227														this_1.ctx.fillStyle = radialGradient_1;
6228														if (rx !== ry) {
6229															midX = container.bounds.left + .5 * container.bounds.width;
6230															midY = container.bounds.top + .5 * container.bounds.height;
6231															f$2 = ry / rx;
6232															invF = 1 / f$2;
6233															this_1.ctx.save();
6234															this_1.ctx.translate(midX, midY);
6235															this_1.ctx.transform(1, 0, 0, f$2, 0, 0);
6236															this_1.ctx.translate(-midX, -midY);
6237															this_1.ctx.fillRect(left, invF * (top_1 - midY) + midY, width, height * invF);
6238															this_1.ctx.restore();
6239														} else this_1.ctx.fill();
6240													}
6241												}
6242												_h.label = 6;
6243											case 6:
6244												index--;
6245												return [2];
6246										}
6247									});
6248								};
6249								this_1 = this;
6250								_i = 0, _a$1 = container.styles.backgroundImage.slice(0).reverse();
6251								_b$1.label = 1;
6252							case 1:
6253								if (!(_i < _a$1.length)) return [3, 4];
6254								backgroundImage$1 = _a$1[_i];
6255								return [5, _loop_1(backgroundImage$1)];
6256							case 2:
6257								_b$1.sent();
6258								_b$1.label = 3;
6259							case 3:
6260								_i++;
6261								return [3, 1];
6262							case 4: return [2];
6263						}
6264					});
6265				});
6266			};
6267			CanvasRenderer$1.prototype.renderSolidBorder = function(color$2, side, curvePoints) {
6268				return __awaiter(this, void 0, void 0, function() {
6269					return __generator(this, function(_a$1) {
6270						this.path(parsePathForBorder(curvePoints, side));
6271						this.ctx.fillStyle = asString(color$2);
6272						this.ctx.fill();
6273						return [2];
6274					});
6275				});
6276			};
6277			CanvasRenderer$1.prototype.renderDoubleBorder = function(color$2, width, side, curvePoints) {
6278				return __awaiter(this, void 0, void 0, function() {
6279					var outerPaths, innerPaths;
6280					return __generator(this, function(_a$1) {
6281						switch (_a$1.label) {
6282							case 0:
6283								if (!(width < 3)) return [3, 2];
6284								return [4, this.renderSolidBorder(color$2, side, curvePoints)];
6285							case 1:
6286								_a$1.sent();
6287								return [2];
6288							case 2:
6289								outerPaths = parsePathForBorderDoubleOuter(curvePoints, side);
6290								this.path(outerPaths);
6291								this.ctx.fillStyle = asString(color$2);
6292								this.ctx.fill();
6293								innerPaths = parsePathForBorderDoubleInner(curvePoints, side);
6294								this.path(innerPaths);
6295								this.ctx.fill();
6296								return [2];
6297						}
6298					});
6299				});
6300			};
6301			CanvasRenderer$1.prototype.renderNodeBackgroundAndBorders = function(paint) {
6302				return __awaiter(this, void 0, void 0, function() {
6303					var styles, hasBackground, borders, backgroundPaintingArea, side, _i, borders_1, border;
6304					var _this = this;
6305					return __generator(this, function(_a$1) {
6306						switch (_a$1.label) {
6307							case 0:
6308								this.applyEffects(paint.getEffects(2));
6309								styles = paint.container.styles;
6310								hasBackground = !isTransparent(styles.backgroundColor) || styles.backgroundImage.length;
6311								borders = [
6312									{
6313										style: styles.borderTopStyle,
6314										color: styles.borderTopColor,
6315										width: styles.borderTopWidth
6316									},
6317									{
6318										style: styles.borderRightStyle,
6319										color: styles.borderRightColor,
6320										width: styles.borderRightWidth
6321									},
6322									{
6323										style: styles.borderBottomStyle,
6324										color: styles.borderBottomColor,
6325										width: styles.borderBottomWidth
6326									},
6327									{
6328										style: styles.borderLeftStyle,
6329										color: styles.borderLeftColor,
6330										width: styles.borderLeftWidth
6331									}
6332								];
6333								backgroundPaintingArea = calculateBackgroundCurvedPaintingArea(getBackgroundValueForIndex(styles.backgroundClip, 0), paint.curves);
6334								if (!(hasBackground || styles.boxShadow.length)) return [3, 2];
6335								this.ctx.save();
6336								this.path(backgroundPaintingArea);
6337								this.ctx.clip();
6338								if (!isTransparent(styles.backgroundColor)) {
6339									this.ctx.fillStyle = asString(styles.backgroundColor);
6340									this.ctx.fill();
6341								}
6342								return [4, this.renderBackgroundImage(paint.container)];
6343							case 1:
6344								_a$1.sent();
6345								this.ctx.restore();
6346								styles.boxShadow.slice(0).reverse().forEach(function(shadow) {
6347									_this.ctx.save();
6348									var borderBoxArea = calculateBorderBoxPath(paint.curves);
6349									var maskOffset = shadow.inset ? 0 : MASK_OFFSET;
6350									var shadowPaintingArea = transformPath(borderBoxArea, -maskOffset + (shadow.inset ? 1 : -1) * shadow.spread.number, (shadow.inset ? 1 : -1) * shadow.spread.number, shadow.spread.number * (shadow.inset ? -2 : 2), shadow.spread.number * (shadow.inset ? -2 : 2));
6351									if (shadow.inset) {
6352										_this.path(borderBoxArea);
6353										_this.ctx.clip();
6354										_this.mask(shadowPaintingArea);
6355									} else {
6356										_this.mask(borderBoxArea);
6357										_this.ctx.clip();
6358										_this.path(shadowPaintingArea);
6359									}
6360									_this.ctx.shadowOffsetX = shadow.offsetX.number + maskOffset;
6361									_this.ctx.shadowOffsetY = shadow.offsetY.number;
6362									_this.ctx.shadowColor = asString(shadow.color);
6363									_this.ctx.shadowBlur = shadow.blur.number;
6364									_this.ctx.fillStyle = shadow.inset ? asString(shadow.color) : "rgba(0,0,0,1)";
6365									_this.ctx.fill();
6366									_this.ctx.restore();
6367								});
6368								_a$1.label = 2;
6369							case 2:
6370								side = 0;
6371								_i = 0, borders_1 = borders;
6372								_a$1.label = 3;
6373							case 3:
6374								if (!(_i < borders_1.length)) return [3, 13];
6375								border = borders_1[_i];
6376								if (!(border.style !== 0 && !isTransparent(border.color) && border.width > 0)) return [3, 11];
6377								if (!(border.style === 2)) return [3, 5];
6378								return [4, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 2)];
6379							case 4:
6380								_a$1.sent();
6381								return [3, 11];
6382							case 5:
6383								if (!(border.style === 3)) return [3, 7];
6384								return [4, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 3)];
6385							case 6:
6386								_a$1.sent();
6387								return [3, 11];
6388							case 7:
6389								if (!(border.style === 4)) return [3, 9];
6390								return [4, this.renderDoubleBorder(border.color, border.width, side, paint.curves)];
6391							case 8:
6392								_a$1.sent();
6393								return [3, 11];
6394							case 9: return [4, this.renderSolidBorder(border.color, side, paint.curves)];
6395							case 10:
6396								_a$1.sent();
6397								_a$1.label = 11;
6398							case 11:
6399								side++;
6400								_a$1.label = 12;
6401							case 12:
6402								_i++;
6403								return [3, 3];
6404							case 13: return [2];
6405						}
6406					});
6407				});
6408			};
6409			CanvasRenderer$1.prototype.renderDashedDottedBorder = function(color$2, width, side, curvePoints, style) {
6410				return __awaiter(this, void 0, void 0, function() {
6411					var strokePaths, boxPaths, startX, startY, endX, endY, length, dashLength, spaceLength, useLineDash, multiplier, numberOfDashes, minSpace, maxSpace, path1, path2, path1, path2;
6412					return __generator(this, function(_a$1) {
6413						this.ctx.save();
6414						strokePaths = parsePathForBorderStroke(curvePoints, side);
6415						boxPaths = parsePathForBorder(curvePoints, side);
6416						if (style === 2) {
6417							this.path(boxPaths);
6418							this.ctx.clip();
6419						}
6420						if (isBezierCurve(boxPaths[0])) {
6421							startX = boxPaths[0].start.x;
6422							startY = boxPaths[0].start.y;
6423						} else {
6424							startX = boxPaths[0].x;
6425							startY = boxPaths[0].y;
6426						}
6427						if (isBezierCurve(boxPaths[1])) {
6428							endX = boxPaths[1].end.x;
6429							endY = boxPaths[1].end.y;
6430						} else {
6431							endX = boxPaths[1].x;
6432							endY = boxPaths[1].y;
6433						}
6434						if (side === 0 || side === 2) length = Math.abs(startX - endX);
6435						else length = Math.abs(startY - endY);
6436						this.ctx.beginPath();
6437						if (style === 3) this.formatPath(strokePaths);
6438						else this.formatPath(boxPaths.slice(0, 2));
6439						dashLength = width < 3 ? width * 3 : width * 2;
6440						spaceLength = width < 3 ? width * 2 : width;
6441						if (style === 3) {
6442							dashLength = width;
6443							spaceLength = width;
6444						}
6445						useLineDash = true;
6446						if (length <= dashLength * 2) useLineDash = false;
6447						else if (length <= dashLength * 2 + spaceLength) {
6448							multiplier = length / (2 * dashLength + spaceLength);
6449							dashLength *= multiplier;
6450							spaceLength *= multiplier;
6451						} else {
6452							numberOfDashes = Math.floor((length + spaceLength) / (dashLength + spaceLength));
6453							minSpace = (length - numberOfDashes * dashLength) / (numberOfDashes - 1);
6454							maxSpace = (length - (numberOfDashes + 1) * dashLength) / numberOfDashes;
6455							spaceLength = maxSpace <= 0 || Math.abs(spaceLength - minSpace) < Math.abs(spaceLength - maxSpace) ? minSpace : maxSpace;
6456						}
6457						if (useLineDash) if (style === 3) this.ctx.setLineDash([0, dashLength + spaceLength]);
6458						else this.ctx.setLineDash([dashLength, spaceLength]);
6459						if (style === 3) {
6460							this.ctx.lineCap = "round";
6461							this.ctx.lineWidth = width;
6462						} else this.ctx.lineWidth = width * 2 + 1.1;
6463						this.ctx.strokeStyle = asString(color$2);
6464						this.ctx.stroke();
6465						this.ctx.setLineDash([]);
6466						if (style === 2) {
6467							if (isBezierCurve(boxPaths[0])) {
6468								path1 = boxPaths[3];
6469								path2 = boxPaths[0];
6470								this.ctx.beginPath();
6471								this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);
6472								this.ctx.stroke();
6473							}
6474							if (isBezierCurve(boxPaths[1])) {
6475								path1 = boxPaths[1];
6476								path2 = boxPaths[2];
6477								this.ctx.beginPath();
6478								this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);
6479								this.ctx.stroke();
6480							}
6481						}
6482						this.ctx.restore();
6483						return [2];
6484					});
6485				});
6486			};
6487			CanvasRenderer$1.prototype.render = function(element) {
6488				return __awaiter(this, void 0, void 0, function() {
6489					var stack;
6490					return __generator(this, function(_a$1) {
6491						switch (_a$1.label) {
6492							case 0:
6493								if (this.options.backgroundColor) {
6494									this.ctx.fillStyle = asString(this.options.backgroundColor);
6495									this.ctx.fillRect(this.options.x, this.options.y, this.options.width, this.options.height);
6496								}
6497								stack = parseStackingContexts(element);
6498								return [4, this.renderStack(stack)];
6499							case 1:
6500								_a$1.sent();
6501								this.applyEffects([]);
6502								return [2, this.canvas];
6503						}
6504					});
6505				});
6506			};
6507			return CanvasRenderer$1;
6508		}(Renderer);
6509		var isTextInputElement = function(container) {
6510			if (container instanceof TextareaElementContainer) return true;
6511			else if (container instanceof SelectElementContainer) return true;
6512			else if (container instanceof InputElementContainer && container.type !== RADIO && container.type !== CHECKBOX) return true;
6513			return false;
6514		};
6515		var calculateBackgroundCurvedPaintingArea = function(clip, curves) {
6516			switch (clip) {
6517				case 0: return calculateBorderBoxPath(curves);
6518				case 2: return calculateContentBoxPath(curves);
6519				case 1:
6520				default: return calculatePaddingBoxPath(curves);
6521			}
6522		};
6523		var canvasTextAlign = function(textAlign$1) {
6524			switch (textAlign$1) {
6525				case 1: return "center";
6526				case 2: return "right";
6527				case 0:
6528				default: return "left";
6529			}
6530		};
6531		var iOSBrokenFonts = ["-apple-system", "system-ui"];
6532		var fixIOSSystemFonts = function(fontFamilies) {
6533			return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent) ? fontFamilies.filter(function(fontFamily$1) {
6534				return iOSBrokenFonts.indexOf(fontFamily$1) === -1;
6535			}) : fontFamilies;
6536		};
6537		var ForeignObjectRenderer = function(_super) {
6538			__extends(ForeignObjectRenderer$1, _super);
6539			function ForeignObjectRenderer$1(context, options) {
6540				var _this = _super.call(this, context, options) || this;
6541				_this.canvas = options.canvas ? options.canvas : document.createElement("canvas");
6542				_this.ctx = _this.canvas.getContext("2d");
6543				_this.options = options;
6544				_this.canvas.width = Math.floor(options.width * options.scale);
6545				_this.canvas.height = Math.floor(options.height * options.scale);
6546				_this.canvas.style.width = options.width + "px";
6547				_this.canvas.style.height = options.height + "px";
6548				_this.ctx.scale(_this.options.scale, _this.options.scale);
6549				_this.ctx.translate(-options.x, -options.y);
6550				_this.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized (" + options.width + "x" + options.height + " at " + options.x + "," + options.y + ") with scale " + options.scale);
6551				return _this;
6552			}
6553			ForeignObjectRenderer$1.prototype.render = function(element) {
6554				return __awaiter(this, void 0, void 0, function() {
6555					var svg, img;
6556					return __generator(this, function(_a$1) {
6557						switch (_a$1.label) {
6558							case 0:
6559								svg = createForeignObjectSVG(this.options.width * this.options.scale, this.options.height * this.options.scale, this.options.scale, this.options.scale, element);
6560								return [4, loadSerializedSVG(svg)];
6561							case 1:
6562								img = _a$1.sent();
6563								if (this.options.backgroundColor) {
6564									this.ctx.fillStyle = asString(this.options.backgroundColor);
6565									this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale);
6566								}
6567								this.ctx.drawImage(img, -this.options.x * this.options.scale, -this.options.y * this.options.scale);
6568								return [2, this.canvas];
6569						}
6570					});
6571				});
6572			};
6573			return ForeignObjectRenderer$1;
6574		}(Renderer);
6575		var loadSerializedSVG = function(svg) {
6576			return new Promise(function(resolve, reject) {
6577				var img = new Image();
6578				img.onload = function() {
6579					resolve(img);
6580				};
6581				img.onerror = reject;
6582				img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(svg));
6583			});
6584		};
6585		var Logger = function() {
6586			function Logger$1(_a$1) {
6587				var id = _a$1.id, enabled = _a$1.enabled;
6588				this.id = id;
6589				this.enabled = enabled;
6590				this.start = Date.now();
6591			}
6592			Logger$1.prototype.debug = function() {
6593				var args = [];
6594				for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
6595				if (this.enabled) if (typeof window !== "undefined" && window.console && typeof console.debug === "function") console.debug.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args));
6596				else this.info.apply(this, args);
6597			};
6598			Logger$1.prototype.getTime = function() {
6599				return Date.now() - this.start;
6600			};
6601			Logger$1.prototype.info = function() {
6602				var args = [];
6603				for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
6604				if (this.enabled) {
6605					if (typeof window !== "undefined" && window.console && typeof console.info === "function") console.info.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args));
6606				}
6607			};
6608			Logger$1.prototype.warn = function() {
6609				var args = [];
6610				for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
6611				if (this.enabled) if (typeof window !== "undefined" && window.console && typeof console.warn === "function") console.warn.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args));
6612				else this.info.apply(this, args);
6613			};
6614			Logger$1.prototype.error = function() {
6615				var args = [];
6616				for (var _i = 0; _i < arguments.length; _i++) args[_i] = arguments[_i];
6617				if (this.enabled) if (typeof window !== "undefined" && window.console && typeof console.error === "function") console.error.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args));
6618				else this.info.apply(this, args);
6619			};
6620			Logger$1.instances = {};
6621			return Logger$1;
6622		}();
6623		var Context = function() {
6624			function Context$1(options, windowBounds) {
6625				var _a$1;
6626				this.windowBounds = windowBounds;
6627				this.instanceName = "#" + Context$1.instanceCount++;
6628				this.logger = new Logger({
6629					id: this.instanceName,
6630					enabled: options.logging
6631				});
6632				this.cache = (_a$1 = options.cache) !== null && _a$1 !== void 0 ? _a$1 : new Cache(this, options);
6633			}
6634			Context$1.instanceCount = 1;
6635			return Context$1;
6636		}();
6637		var html2canvas = function(element, options) {
6638			if (options === void 0) options = {};
6639			return renderElement(element, options);
6640		};
6641		if (typeof window !== "undefined") CacheStorage.setContext(window);
6642		var renderElement = function(element, opts) {
6643			return __awaiter(void 0, void 0, void 0, function() {
6644				var ownerDocument, defaultView, resourceOptions, contextOptions, windowOptions, windowBounds, context, foreignObjectRendering, cloneOptions, documentCloner, clonedElement, container, _a$1, width, height, left, top, backgroundColor$1, renderOptions, canvas, renderer, root, renderer;
6645				var _b$1, _c, _d, _e$1, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t$1;
6646				return __generator(this, function(_u) {
6647					switch (_u.label) {
6648						case 0:
6649							if (!element || typeof element !== "object") return [2, Promise.reject("Invalid element provided as first argument")];
6650							ownerDocument = element.ownerDocument;
6651							if (!ownerDocument) throw new Error("Element is not attached to a Document");
6652							defaultView = ownerDocument.defaultView;
6653							if (!defaultView) throw new Error("Document is not attached to a Window");
6654							resourceOptions = {
6655								allowTaint: (_b$1 = opts.allowTaint) !== null && _b$1 !== void 0 ? _b$1 : false,
6656								imageTimeout: (_c = opts.imageTimeout) !== null && _c !== void 0 ? _c : 15e3,
6657								proxy: opts.proxy,
6658								useCORS: (_d = opts.useCORS) !== null && _d !== void 0 ? _d : false
6659							};
6660							contextOptions = __assign({
6661								logging: (_e$1 = opts.logging) !== null && _e$1 !== void 0 ? _e$1 : true,
6662								cache: opts.cache
6663							}, resourceOptions);
6664							windowOptions = {
6665								windowWidth: (_f = opts.windowWidth) !== null && _f !== void 0 ? _f : defaultView.innerWidth,
6666								windowHeight: (_g = opts.windowHeight) !== null && _g !== void 0 ? _g : defaultView.innerHeight,
6667								scrollX: (_h = opts.scrollX) !== null && _h !== void 0 ? _h : defaultView.pageXOffset,
6668								scrollY: (_j = opts.scrollY) !== null && _j !== void 0 ? _j : defaultView.pageYOffset
6669							};
6670							windowBounds = new Bounds(windowOptions.scrollX, windowOptions.scrollY, windowOptions.windowWidth, windowOptions.windowHeight);
6671							context = new Context(contextOptions, windowBounds);
6672							foreignObjectRendering = (_k = opts.foreignObjectRendering) !== null && _k !== void 0 ? _k : false;
6673							cloneOptions = {
6674								allowTaint: (_l = opts.allowTaint) !== null && _l !== void 0 ? _l : false,
6675								onclone: opts.onclone,
6676								ignoreElements: opts.ignoreElements,
6677								inlineImages: foreignObjectRendering,
6678								copyStyles: foreignObjectRendering
6679							};
6680							context.logger.debug("Starting document clone with size " + windowBounds.width + "x" + windowBounds.height + " scrolled to " + -windowBounds.left + "," + -windowBounds.top);
6681							documentCloner = new DocumentCloner(context, element, cloneOptions);
6682							clonedElement = documentCloner.clonedReferenceElement;
6683							if (!clonedElement) return [2, Promise.reject("Unable to find element in cloned iframe")];
6684							return [4, documentCloner.toIFrame(ownerDocument, windowBounds)];
6685						case 1:
6686							container = _u.sent();
6687							_a$1 = isBodyElement(clonedElement) || isHTMLElement(clonedElement) ? parseDocumentSize(clonedElement.ownerDocument) : parseBounds(context, clonedElement), width = _a$1.width, height = _a$1.height, left = _a$1.left, top = _a$1.top;
6688							backgroundColor$1 = parseBackgroundColor(context, clonedElement, opts.backgroundColor);
6689							renderOptions = {
6690								canvas: opts.canvas,
6691								backgroundColor: backgroundColor$1,
6692								scale: (_o = (_m = opts.scale) !== null && _m !== void 0 ? _m : defaultView.devicePixelRatio) !== null && _o !== void 0 ? _o : 1,
6693								x: ((_p = opts.x) !== null && _p !== void 0 ? _p : 0) + left,
6694								y: ((_q = opts.y) !== null && _q !== void 0 ? _q : 0) + top,
6695								width: (_r = opts.width) !== null && _r !== void 0 ? _r : Math.ceil(width),
6696								height: (_s = opts.height) !== null && _s !== void 0 ? _s : Math.ceil(height)
6697							};
6698							if (!foreignObjectRendering) return [3, 3];
6699							context.logger.debug("Document cloned, using foreign object rendering");
6700							renderer = new ForeignObjectRenderer(context, renderOptions);
6701							return [4, renderer.render(clonedElement)];
6702						case 2:
6703							canvas = _u.sent();
6704							return [3, 5];
6705						case 3:
6706							context.logger.debug("Document cloned, element located at " + left + "," + top + " with size " + width + "x" + height + " using computed rendering");
6707							context.logger.debug("Starting DOM parsing");
6708							root = parseTree(context, clonedElement);
6709							if (backgroundColor$1 === root.styles.backgroundColor) root.styles.backgroundColor = COLORS.TRANSPARENT;
6710							context.logger.debug("Starting renderer for element at " + renderOptions.x + "," + renderOptions.y + " with size " + renderOptions.width + "x" + renderOptions.height);
6711							renderer = new CanvasRenderer(context, renderOptions);
6712							return [4, renderer.render(root)];
6713						case 4:
6714							canvas = _u.sent();
6715							_u.label = 5;
6716						case 5:
6717							if ((_t$1 = opts.removeContainer) !== null && _t$1 !== void 0 ? _t$1 : true) {
6718								if (!DocumentCloner.destroy(container)) context.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore");
6719							}
6720							context.logger.debug("Finished rendering");
6721							return [2, canvas];
6722					}
6723				});
6724			});
6725		};
vendor: 28,252 bytes, lines 6726-7877
6726		var parseBackgroundColor = function(context, element, backgroundColorOverride) {
6727			var ownerDocument = element.ownerDocument;
6728			var documentBackgroundColor = ownerDocument.documentElement ? parseColor(context, getComputedStyle(ownerDocument.documentElement).backgroundColor) : COLORS.TRANSPARENT;
6729			var bodyBackgroundColor = ownerDocument.body ? parseColor(context, getComputedStyle(ownerDocument.body).backgroundColor) : COLORS.TRANSPARENT;
6730			var defaultBackgroundColor = typeof backgroundColorOverride === "string" ? parseColor(context, backgroundColorOverride) : backgroundColorOverride === null ? COLORS.TRANSPARENT : 4294967295;
6731			return element === ownerDocument.documentElement ? isTransparent(documentBackgroundColor) ? isTransparent(bodyBackgroundColor) ? defaultBackgroundColor : bodyBackgroundColor : documentBackgroundColor : defaultBackgroundColor;
6732		};
6733		return html2canvas;
6734	}));
6735}));
6736var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
6737var fleb = new u8([
6738	0,
6739	0,
6740	0,
6741	0,
6742	0,
6743	0,
6744	0,
6745	0,
6746	1,
6747	1,
6748	1,
6749	1,
6750	2,
6751	2,
6752	2,
6753	2,
6754	3,
6755	3,
6756	3,
6757	3,
6758	4,
6759	4,
6760	4,
6761	4,
6762	5,
6763	5,
6764	5,
6765	5,
6766	0,
6767	0,
6768	0,
6769	0
6770]);
6771var fdeb = new u8([
6772	0,
6773	0,
6774	0,
6775	0,
6776	1,
6777	1,
6778	2,
6779	2,
6780	3,
6781	3,
6782	4,
6783	4,
6784	5,
6785	5,
6786	6,
6787	6,
6788	7,
6789	7,
6790	8,
6791	8,
6792	9,
6793	9,
6794	10,
6795	10,
6796	11,
6797	11,
6798	12,
6799	12,
6800	13,
6801	13,
6802	0,
6803	0
6804]);
6805var clim = new u8([
6806	16,
6807	17,
6808	18,
6809	0,
6810	8,
6811	7,
6812	9,
6813	6,
6814	10,
6815	5,
6816	11,
6817	4,
6818	12,
6819	3,
6820	13,
6821	2,
6822	14,
6823	1,
6824	15
6825]);
6826var freb = function(eb, start) {
6827	var b$1 = new u16(31);
6828	for (var i$2 = 0; i$2 < 31; ++i$2) b$1[i$2] = start += 1 << eb[i$2 - 1];
6829	var r = new i32(b$1[30]);
6830	for (var i$2 = 1; i$2 < 30; ++i$2) for (var j$1 = b$1[i$2]; j$1 < b$1[i$2 + 1]; ++j$1) r[j$1] = j$1 - b$1[i$2] << 5 | i$2;
6831	return {
6832		b: b$1,
6833		r
6834	};
6835};
6836var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
6837fl[28] = 258, revfl[258] = 28;
6838var _b = freb(fdeb, 0);
6839_b.b;
6840var revfd = _b.r;
6841var rev = new u16(32768);
6842for (var i$1 = 0; i$1 < 32768; ++i$1) {
6843	var x$1 = (i$1 & 43690) >> 1 | (i$1 & 21845) << 1;
6844	x$1 = (x$1 & 52428) >> 2 | (x$1 & 13107) << 2;
6845	x$1 = (x$1 & 61680) >> 4 | (x$1 & 3855) << 4;
6846	rev[i$1] = ((x$1 & 65280) >> 8 | (x$1 & 255) << 8) >> 1;
6847}
6848var hMap = (function(cd, mb, r) {
6849	var s$1 = cd.length;
6850	var i$2 = 0;
6851	var l$1 = new u16(mb);
6852	for (; i$2 < s$1; ++i$2) if (cd[i$2]) ++l$1[cd[i$2] - 1];
6853	var le$1 = new u16(mb);
6854	for (i$2 = 1; i$2 < mb; ++i$2) le$1[i$2] = le$1[i$2 - 1] + l$1[i$2 - 1] << 1;
6855	var co;
6856	if (r) {
6857		co = new u16(1 << mb);
6858		var rvb = 15 - mb;
6859		for (i$2 = 0; i$2 < s$1; ++i$2) if (cd[i$2]) {
6860			var sv = i$2 << 4 | cd[i$2];
6861			var r_1 = mb - cd[i$2];
6862			var v$1 = le$1[cd[i$2] - 1]++ << r_1;
6863			for (var m$1 = v$1 | (1 << r_1) - 1; v$1 <= m$1; ++v$1) co[rev[v$1] >> rvb] = sv;
6864		}
6865	} else {
6866		co = new u16(s$1);
6867		for (i$2 = 0; i$2 < s$1; ++i$2) if (cd[i$2]) co[i$2] = rev[le$1[cd[i$2] - 1]++] >> 15 - cd[i$2];
6868	}
6869	return co;
6870});
6871var flt = new u8(288);
6872for (var i$1 = 0; i$1 < 144; ++i$1) flt[i$1] = 8;
6873for (var i$1 = 144; i$1 < 256; ++i$1) flt[i$1] = 9;
6874for (var i$1 = 256; i$1 < 280; ++i$1) flt[i$1] = 7;
6875for (var i$1 = 280; i$1 < 288; ++i$1) flt[i$1] = 8;
6876var fdt = new u8(32);
6877for (var i$1 = 0; i$1 < 32; ++i$1) fdt[i$1] = 5;
6878var flm = /* @__PURE__ */ hMap(flt, 9, 0), fdm = /* @__PURE__ */ hMap(fdt, 5, 0);
6879var shft = function(p$1) {
6880	return (p$1 + 7) / 8 | 0;
6881};
6882var slc = function(v$1, s$1, e) {
6883	if (s$1 == null || s$1 < 0) s$1 = 0;
6884	if (e == null || e > v$1.length) e = v$1.length;
6885	return new u8(v$1.subarray(s$1, e));
6886};
6887var wbits = function(d$1, p$1, v$1) {
6888	v$1 <<= p$1 & 7;
6889	var o$1 = p$1 / 8 | 0;
6890	d$1[o$1] |= v$1;
6891	d$1[o$1 + 1] |= v$1 >> 8;
6892};
6893var wbits16 = function(d$1, p$1, v$1) {
6894	v$1 <<= p$1 & 7;
6895	var o$1 = p$1 / 8 | 0;
6896	d$1[o$1] |= v$1;
6897	d$1[o$1 + 1] |= v$1 >> 8;
6898	d$1[o$1 + 2] |= v$1 >> 16;
6899};
6900var hTree = function(d$1, mb) {
6901	var t = [];
6902	for (var i$2 = 0; i$2 < d$1.length; ++i$2) if (d$1[i$2]) t.push({
6903		s: i$2,
6904		f: d$1[i$2]
6905	});
6906	var s$1 = t.length;
6907	var t2 = t.slice();
6908	if (!s$1) return {
6909		t: et$1,
6910		l: 0
6911	};
6912	if (s$1 == 1) {
6913		var v$1 = new u8(t[0].s + 1);
6914		v$1[t[0].s] = 1;
6915		return {
6916			t: v$1,
6917			l: 1
6918		};
6919	}
6920	t.sort(function(a$1, b$1) {
6921		return a$1.f - b$1.f;
6922	});
6923	t.push({
6924		s: -1,
6925		f: 25001
6926	});
6927	var l$1 = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;
6928	t[0] = {
6929		s: -1,
6930		f: l$1.f + r.f,
6931		l: l$1,
6932		r
6933	};
6934	while (i1 != s$1 - 1) {
6935		l$1 = t[t[i0].f < t[i2].f ? i0++ : i2++];
6936		r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];
6937		t[i1++] = {
6938			s: -1,
6939			f: l$1.f + r.f,
6940			l: l$1,
6941			r
6942		};
6943	}
6944	var maxSym = t2[0].s;
6945	for (var i$2 = 1; i$2 < s$1; ++i$2) if (t2[i$2].s > maxSym) maxSym = t2[i$2].s;
6946	var tr = new u16(maxSym + 1);
6947	var mbt = ln(t[i1 - 1], tr, 0);
6948	if (mbt > mb) {
6949		var i$2 = 0, dt$1 = 0;
6950		var lft = mbt - mb, cst = 1 << lft;
6951		t2.sort(function(a$1, b$1) {
6952			return tr[b$1.s] - tr[a$1.s] || a$1.f - b$1.f;
6953		});
6954		for (; i$2 < s$1; ++i$2) {
6955			var i2_1 = t2[i$2].s;
6956			if (tr[i2_1] > mb) {
6957				dt$1 += cst - (1 << mbt - tr[i2_1]);
6958				tr[i2_1] = mb;
6959			} else break;
6960		}
6961		dt$1 >>= lft;
6962		while (dt$1 > 0) {
6963			var i2_2 = t2[i$2].s;
6964			if (tr[i2_2] < mb) dt$1 -= 1 << mb - tr[i2_2]++ - 1;
6965			else ++i$2;
6966		}
6967		for (; i$2 >= 0 && dt$1; --i$2) {
6968			var i2_3 = t2[i$2].s;
6969			if (tr[i2_3] == mb) {
6970				--tr[i2_3];
6971				++dt$1;
6972			}
6973		}
6974		mbt = mb;
6975	}
6976	return {
6977		t: new u8(tr),
6978		l: mbt
6979	};
6980};
6981var ln = function(n, l$1, d$1) {
6982	return n.s == -1 ? Math.max(ln(n.l, l$1, d$1 + 1), ln(n.r, l$1, d$1 + 1)) : l$1[n.s] = d$1;
6983};
6984var lc = function(c$1) {
6985	var s$1 = c$1.length;
6986	while (s$1 && !c$1[--s$1]);
6987	var cl = new u16(++s$1);
6988	var cli = 0, cln = c$1[0], cls = 1;
6989	var w$1 = function(v$1) {
6990		cl[cli++] = v$1;
6991	};
6992	for (var i$2 = 1; i$2 <= s$1; ++i$2) if (c$1[i$2] == cln && i$2 != s$1) ++cls;
6993	else {
6994		if (!cln && cls > 2) {
6995			for (; cls > 138; cls -= 138) w$1(32754);
6996			if (cls > 2) {
6997				w$1(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305);
6998				cls = 0;
6999			}
7000		} else if (cls > 3) {
7001			w$1(cln), --cls;
7002			for (; cls > 6; cls -= 6) w$1(8304);
7003			if (cls > 2) w$1(cls - 3 << 5 | 8208), cls = 0;
7004		}
7005		while (cls--) w$1(cln);
7006		cls = 1;
7007		cln = c$1[i$2];
7008	}
7009	return {
7010		c: cl.subarray(0, cli),
7011		n: s$1
7012	};
7013};
7014var clen = function(cf, cl) {
7015	var l$1 = 0;
7016	for (var i$2 = 0; i$2 < cl.length; ++i$2) l$1 += cf[i$2] * cl[i$2];
7017	return l$1;
7018};
7019var wfblk = function(out, pos, dat) {
7020	var s$1 = dat.length;
7021	var o$1 = shft(pos + 2);
7022	out[o$1] = s$1 & 255;
7023	out[o$1 + 1] = s$1 >> 8;
7024	out[o$1 + 2] = out[o$1] ^ 255;
7025	out[o$1 + 3] = out[o$1 + 1] ^ 255;
7026	for (var i$2 = 0; i$2 < s$1; ++i$2) out[o$1 + i$2 + 4] = dat[i$2];
7027	return (o$1 + 4 + s$1) * 8;
7028};
7029var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p$1) {
7030	wbits(out, p$1++, final);
7031	++lf[256];
7032	var _a$1 = hTree(lf, 15), dlt = _a$1.t, mlb = _a$1.l;
7033	var _b$1 = hTree(df, 15), ddt = _b$1.t, mdb = _b$1.l;
7034	var _c = lc(dlt), lclt = _c.c, nlc = _c.n;
7035	var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;
7036	var lcfreq = new u16(19);
7037	for (var i$2 = 0; i$2 < lclt.length; ++i$2) ++lcfreq[lclt[i$2] & 31];
7038	for (var i$2 = 0; i$2 < lcdt.length; ++i$2) ++lcfreq[lcdt[i$2] & 31];
7039	var _e$1 = hTree(lcfreq, 7), lct = _e$1.t, mlcb = _e$1.l;
7040	var nlcc = 19;
7041	for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc);
7042	var flen = bl + 5 << 3;
7043	var ftlen = clen(lf, flt) + clen(df, fdt) + eb;
7044	var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];
7045	if (bs >= 0 && flen <= ftlen && flen <= dtlen) return wfblk(out, p$1, dat.subarray(bs, bs + bl));
7046	var lm, ll, dm, dl;
7047	wbits(out, p$1, 1 + (dtlen < ftlen)), p$1 += 2;
7048	if (dtlen < ftlen) {
7049		lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;
7050		var llm = hMap(lct, mlcb, 0);
7051		wbits(out, p$1, nlc - 257);
7052		wbits(out, p$1 + 5, ndc - 1);
7053		wbits(out, p$1 + 10, nlcc - 4);
7054		p$1 += 14;
7055		for (var i$2 = 0; i$2 < nlcc; ++i$2) wbits(out, p$1 + 3 * i$2, lct[clim[i$2]]);
7056		p$1 += 3 * nlcc;
7057		var lcts = [lclt, lcdt];
7058		for (var it$1 = 0; it$1 < 2; ++it$1) {
7059			var clct = lcts[it$1];
7060			for (var i$2 = 0; i$2 < clct.length; ++i$2) {
7061				var len = clct[i$2] & 31;
7062				wbits(out, p$1, llm[len]), p$1 += lct[len];
7063				if (len > 15) wbits(out, p$1, clct[i$2] >> 5 & 127), p$1 += clct[i$2] >> 12;
7064			}
7065		}
7066	} else lm = flm, ll = flt, dm = fdm, dl = fdt;
7067	for (var i$2 = 0; i$2 < li; ++i$2) {
7068		var sym = syms[i$2];
7069		if (sym > 255) {
7070			var len = sym >> 18 & 31;
7071			wbits16(out, p$1, lm[len + 257]), p$1 += ll[len + 257];
7072			if (len > 7) wbits(out, p$1, sym >> 23 & 31), p$1 += fleb[len];
7073			var dst = sym & 31;
7074			wbits16(out, p$1, dm[dst]), p$1 += dl[dst];
7075			if (dst > 3) wbits16(out, p$1, sym >> 5 & 8191), p$1 += fdeb[dst];
7076		} else wbits16(out, p$1, lm[sym]), p$1 += ll[sym];
7077	}
7078	wbits16(out, p$1, lm[256]);
7079	return p$1 + ll[256];
7080};
7081var deo = /* @__PURE__ */ new i32([
7082	65540,
7083	131080,
7084	131088,
7085	131104,
7086	262176,
7087	1048704,
7088	1048832,
7089	2114560,
7090	2117632
7091]);
7092var et$1 = /* @__PURE__ */ new u8(0);
7093var dflt = function(dat, lvl, plvl, pre, post, st$1) {
7094	var s$1 = st$1.z || dat.length;
7095	var o$1 = new u8(pre + s$1 + 5 * (1 + Math.ceil(s$1 / 7e3)) + post);
7096	var w$1 = o$1.subarray(pre, o$1.length - post);
7097	var lst = st$1.l;
7098	var pos = (st$1.r || 0) & 7;
7099	if (lvl) {
7100		if (pos) w$1[0] = st$1.r >> 3;
7101		var opt = deo[lvl - 1];
7102		var n = opt >> 13, c$1 = opt & 8191;
7103		var msk_1 = (1 << plvl) - 1;
7104		var prev = st$1.p || new u16(32768), head = st$1.h || new u16(msk_1 + 1);
7105		var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
7106		var hsh = function(i$3) {
7107			return (dat[i$3] ^ dat[i$3 + 1] << bs1_1 ^ dat[i$3 + 2] << bs2_1) & msk_1;
7108		};
7109		var syms = new i32(25e3);
7110		var lf = new u16(288), df = new u16(32);
7111		var lc_1 = 0, eb = 0, i$2 = st$1.i || 0, li = 0, wi = st$1.w || 0, bs = 0;
7112		for (; i$2 + 2 < s$1; ++i$2) {
7113			var hv = hsh(i$2);
7114			var imod = i$2 & 32767, pimod = head[hv];
7115			prev[imod] = pimod;
7116			head[hv] = imod;
7117			if (wi <= i$2) {
7118				var rem = s$1 - i$2;
7119				if ((lc_1 > 7e3 || li > 24576) && (rem > 423 || !lst)) {
7120					pos = wblk(dat, w$1, 0, syms, lf, df, eb, li, bs, i$2 - bs, pos);
7121					li = lc_1 = eb = 0, bs = i$2;
7122					for (var j$1 = 0; j$1 < 286; ++j$1) lf[j$1] = 0;
7123					for (var j$1 = 0; j$1 < 30; ++j$1) df[j$1] = 0;
7124				}
7125				var l$1 = 2, d$1 = 0, ch_1 = c$1, dif = imod - pimod & 32767;
7126				if (rem > 2 && hv == hsh(i$2 - dif)) {
7127					var maxn = Math.min(n, rem) - 1;
7128					var maxd = Math.min(32767, i$2);
7129					var ml = Math.min(258, rem);
7130					while (dif <= maxd && --ch_1 && imod != pimod) {
7131						if (dat[i$2 + l$1] == dat[i$2 + l$1 - dif]) {
7132							var nl = 0;
7133							for (; nl < ml && dat[i$2 + nl] == dat[i$2 + nl - dif]; ++nl);
7134							if (nl > l$1) {
7135								l$1 = nl, d$1 = dif;
7136								if (nl > maxn) break;
7137								var mmd = Math.min(dif, nl - 2);
7138								var md = 0;
7139								for (var j$1 = 0; j$1 < mmd; ++j$1) {
7140									var ti = i$2 - dif + j$1 & 32767;
7141									var pti = prev[ti];
7142									var cd = ti - pti & 32767;
7143									if (cd > md) md = cd, pimod = ti;
7144								}
7145							}
7146						}
7147						imod = pimod, pimod = prev[imod];
7148						dif += imod - pimod & 32767;
7149					}
7150				}
7151				if (d$1) {
7152					syms[li++] = 268435456 | revfl[l$1] << 18 | revfd[d$1];
7153					var lin = revfl[l$1] & 31, din = revfd[d$1] & 31;
7154					eb += fleb[lin] + fdeb[din];
7155					++lf[257 + lin];
7156					++df[din];
7157					wi = i$2 + l$1;
7158					++lc_1;
7159				} else {
7160					syms[li++] = dat[i$2];
7161					++lf[dat[i$2]];
7162				}
7163			}
7164		}
7165		for (i$2 = Math.max(i$2, wi); i$2 < s$1; ++i$2) {
7166			syms[li++] = dat[i$2];
7167			++lf[dat[i$2]];
7168		}
7169		pos = wblk(dat, w$1, lst, syms, lf, df, eb, li, bs, i$2 - bs, pos);
7170		if (!lst) {
7171			st$1.r = pos & 7 | w$1[pos / 8 | 0] << 3;
7172			pos -= 7;
7173			st$1.h = head, st$1.p = prev, st$1.i = i$2, st$1.w = wi;
7174		}
7175	} else {
7176		for (var i$2 = st$1.w || 0; i$2 < s$1 + lst; i$2 += 65535) {
7177			var e = i$2 + 65535;
7178			if (e >= s$1) {
7179				w$1[pos / 8 | 0] = lst;
7180				e = s$1;
7181			}
7182			pos = wfblk(w$1, pos + 1, dat.subarray(i$2, e));
7183		}
7184		st$1.i = s$1;
7185	}
7186	return slc(o$1, 0, pre + shft(pos) + post);
7187};
7188var adler = function() {
7189	var a$1 = 1, b$1 = 0;
7190	return {
7191		p: function(d$1) {
7192			var n = a$1, m$1 = b$1;
7193			var l$1 = d$1.length | 0;
7194			for (var i$2 = 0; i$2 != l$1;) {
7195				var e = Math.min(i$2 + 2655, l$1);
7196				for (; i$2 < e; ++i$2) m$1 += n += d$1[i$2];
7197				n = (n & 65535) + 15 * (n >> 16), m$1 = (m$1 & 65535) + 15 * (m$1 >> 16);
7198			}
7199			a$1 = n, b$1 = m$1;
7200		},
7201		d: function() {
7202			a$1 %= 65521, b$1 %= 65521;
7203			return (a$1 & 255) << 24 | (a$1 & 65280) << 8 | (b$1 & 255) << 8 | b$1 >> 8;
7204		}
7205	};
7206};
7207var dopt = function(dat, opt, pre, post, st$1) {
7208	if (!st$1) {
7209		st$1 = { l: 1 };
7210		if (opt.dictionary) {
7211			var dict = opt.dictionary.subarray(-32768);
7212			var newDat = new u8(dict.length + dat.length);
7213			newDat.set(dict);
7214			newDat.set(dat, dict.length);
7215			dat = newDat;
7216			st$1.w = dict.length;
7217		}
7218	}
7219	return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? st$1.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20 : 12 + opt.mem, pre, post, st$1);
7220};
7221var wbytes = function(d$1, b$1, v$1) {
7222	for (; v$1; ++b$1) d$1[b$1] = v$1, v$1 >>>= 8;
7223};
7224var zlh = function(c$1, o$1) {
7225	var lv = o$1.level, fl$1 = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;
7226	c$1[0] = 120, c$1[1] = fl$1 << 6 | (o$1.dictionary && 32);
7227	c$1[1] |= 31 - (c$1[0] << 8 | c$1[1]) % 31;
7228	if (o$1.dictionary) {
7229		var h$1 = adler();
7230		h$1.p(o$1.dictionary);
7231		wbytes(c$1, 2, h$1.d());
7232	}
7233};
7234function zlibSync(data, opts) {
7235	if (!opts) opts = {};
7236	var a$1 = adler();
7237	a$1.p(data);
7238	var d$1 = dopt(data, opts, opts.dictionary ? 6 : 2, 4);
7239	return zlh(d$1, opts), wbytes(d$1, d$1.length - 4, a$1.d()), d$1;
7240}
7241var td = typeof TextDecoder != "undefined" && /* @__PURE__ */ new TextDecoder();
7242try {
7243	td.decode(et$1, { stream: true });
7244} catch (e) {}
7245function _arrayWithHoles(r) {
7246	if (Array.isArray(r)) return r;
7247}
7248function _iterableToArrayLimit(r, l$1) {
7249	var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
7250	if (null != t) {
7251		var e, n, i$2, u$1, a$1 = [], f$1 = !0, o$1 = !1;
7252		try {
7253			if (i$2 = (t = t.call(r)).next, 0 === l$1) {
7254				if (Object(t) !== t) return;
7255				f$1 = !1;
7256			} else for (; !(f$1 = (e = i$2.call(t)).done) && (a$1.push(e.value), a$1.length !== l$1); f$1 = !0);
7257		} catch (r$1) {
7258			o$1 = !0, n = r$1;
7259		} finally {
7260			try {
7261				if (!f$1 && null != t["return"] && (u$1 = t["return"](), Object(u$1) !== u$1)) return;
7262			} finally {
7263				if (o$1) throw n;
7264			}
7265		}
7266		return a$1;
7267	}
7268}
7269function _arrayLikeToArray(r, a$1) {
7270	(null == a$1 || a$1 > r.length) && (a$1 = r.length);
7271	for (var e = 0, n = Array(a$1); e < a$1; e++) n[e] = r[e];
7272	return n;
7273}
7274function _unsupportedIterableToArray(r, a$1) {
7275	if (r) {
7276		if ("string" == typeof r) return _arrayLikeToArray(r, a$1);
7277		var t = {}.toString.call(r).slice(8, -1);
7278		return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a$1) : void 0;
7279	}
7280}
7281function _nonIterableRest() {
7282	throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
7283}
7284function _slicedToArray(r, e) {
7285	return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
7286}
7287function decode(bytes, encoding = "utf8") {
7288	return new TextDecoder(encoding).decode(bytes);
7289}
7290var encoder = new TextEncoder();
7291function encode(str) {
7292	return encoder.encode(str);
7293}
7294var defaultByteLength = 1024 * 8;
7295var hostBigEndian = (() => {
7296	const array = new Uint8Array(4);
7297	const view = new Uint32Array(array.buffer);
7298	return !((view[0] = 1) & array[0]);
7299})();
7300var typedArrays = {
7301	int8: globalThis.Int8Array,
7302	uint8: globalThis.Uint8Array,
7303	int16: globalThis.Int16Array,
7304	uint16: globalThis.Uint16Array,
7305	int32: globalThis.Int32Array,
7306	uint32: globalThis.Uint32Array,
7307	uint64: globalThis.BigUint64Array,
7308	int64: globalThis.BigInt64Array,
7309	float32: globalThis.Float32Array,
7310	float64: globalThis.Float64Array
7311};
7312var IOBuffer = class IOBuffer {
7313	buffer;
7314	byteLength;
7315	byteOffset;
7316	length;
7317	offset;
7318	lastWrittenByte;
7319	littleEndian;
7320	_data;
7321	_mark;
7322	_marks;
7323	constructor(data = defaultByteLength, options = {}) {
7324		let dataIsGiven = false;
7325		if (typeof data === "number") data = new ArrayBuffer(data);
7326		else {
7327			dataIsGiven = true;
7328			this.lastWrittenByte = data.byteLength;
7329		}
7330		const offset = options.offset ? options.offset >>> 0 : 0;
7331		const byteLength = data.byteLength - offset;
7332		let dvOffset = offset;
7333		if (ArrayBuffer.isView(data) || data instanceof IOBuffer) {
7334			if (data.byteLength !== data.buffer.byteLength) dvOffset = data.byteOffset + offset;
7335			data = data.buffer;
7336		}
7337		if (dataIsGiven) this.lastWrittenByte = byteLength;
7338		else this.lastWrittenByte = 0;
7339		this.buffer = data;
7340		this.length = byteLength;
7341		this.byteLength = byteLength;
7342		this.byteOffset = dvOffset;
7343		this.offset = 0;
7344		this.littleEndian = true;
7345		this._data = new DataView(this.buffer, dvOffset, byteLength);
7346		this._mark = 0;
7347		this._marks = [];
7348	}
7349	available(byteLength = 1) {
7350		return this.offset + byteLength <= this.length;
7351	}
7352	isLittleEndian() {
7353		return this.littleEndian;
7354	}
7355	setLittleEndian() {
7356		this.littleEndian = true;
7357		return this;
7358	}
7359	isBigEndian() {
7360		return !this.littleEndian;
7361	}
7362	setBigEndian() {
7363		this.littleEndian = false;
7364		return this;
7365	}
7366	skip(n = 1) {
7367		this.offset += n;
7368		return this;
7369	}
7370	back(n = 1) {
7371		this.offset -= n;
7372		return this;
7373	}
7374	seek(offset) {
7375		this.offset = offset;
7376		return this;
7377	}
7378	mark() {
7379		this._mark = this.offset;
7380		return this;
7381	}
7382	reset() {
7383		this.offset = this._mark;
7384		return this;
7385	}
7386	pushMark() {
7387		this._marks.push(this.offset);
7388		return this;
7389	}
7390	popMark() {
7391		const offset = this._marks.pop();
7392		if (offset === void 0) throw new Error("Mark stack empty");
7393		this.seek(offset);
7394		return this;
7395	}
7396	rewind() {
7397		this.offset = 0;
7398		return this;
7399	}
7400	ensureAvailable(byteLength = 1) {
7401		if (!this.available(byteLength)) {
7402			const newLength = (this.offset + byteLength) * 2;
7403			const newArray = new Uint8Array(newLength);
7404			newArray.set(new Uint8Array(this.buffer));
7405			this.buffer = newArray.buffer;
7406			this.length = newLength;
7407			this.byteLength = newLength;
7408			this._data = new DataView(this.buffer);
7409		}
7410		return this;
7411	}
7412	readBoolean() {
7413		return this.readUint8() !== 0;
7414	}
7415	readInt8() {
7416		return this._data.getInt8(this.offset++);
7417	}
7418	readUint8() {
7419		return this._data.getUint8(this.offset++);
7420	}
7421	readByte() {
7422		return this.readUint8();
7423	}
7424	readBytes(n = 1) {
7425		return this.readArray(n, "uint8");
7426	}
7427	readArray(size, type) {
7428		const bytes = typedArrays[type].BYTES_PER_ELEMENT * size;
7429		const offset = this.byteOffset + this.offset;
7430		const slice = this.buffer.slice(offset, offset + bytes);
7431		if (this.littleEndian === hostBigEndian && type !== "uint8" && type !== "int8") {
7432			const slice$1 = new Uint8Array(this.buffer.slice(offset, offset + bytes));
7433			slice$1.reverse();
7434			const returnArray$1 = new typedArrays[type](slice$1.buffer);
7435			this.offset += bytes;
7436			returnArray$1.reverse();
7437			return returnArray$1;
7438		}
7439		const returnArray = new typedArrays[type](slice);
7440		this.offset += bytes;
7441		return returnArray;
7442	}
7443	readInt16() {
7444		const value = this._data.getInt16(this.offset, this.littleEndian);
7445		this.offset += 2;
7446		return value;
7447	}
7448	readUint16() {
7449		const value = this._data.getUint16(this.offset, this.littleEndian);
7450		this.offset += 2;
7451		return value;
7452	}
7453	readInt32() {
7454		const value = this._data.getInt32(this.offset, this.littleEndian);
7455		this.offset += 4;
7456		return value;
7457	}
7458	readUint32() {
7459		const value = this._data.getUint32(this.offset, this.littleEndian);
7460		this.offset += 4;
7461		return value;
7462	}
7463	readFloat32() {
7464		const value = this._data.getFloat32(this.offset, this.littleEndian);
7465		this.offset += 4;
7466		return value;
7467	}
7468	readFloat64() {
7469		const value = this._data.getFloat64(this.offset, this.littleEndian);
7470		this.offset += 8;
7471		return value;
7472	}
7473	readBigInt64() {
7474		const value = this._data.getBigInt64(this.offset, this.littleEndian);
7475		this.offset += 8;
7476		return value;
7477	}
7478	readBigUint64() {
7479		const value = this._data.getBigUint64(this.offset, this.littleEndian);
7480		this.offset += 8;
7481		return value;
7482	}
7483	readChar() {
7484		return String.fromCharCode(this.readInt8());
7485	}
7486	readChars(n = 1) {
7487		let result = "";
7488		for (let i$2 = 0; i$2 < n; i$2++) result += this.readChar();
7489		return result;
7490	}
7491	readUtf8(n = 1) {
7492		return decode(this.readBytes(n));
7493	}
7494	decodeText(n = 1, encoding = "utf8") {
7495		return decode(this.readBytes(n), encoding);
7496	}
7497	writeBoolean(value) {
7498		this.writeUint8(value ? 255 : 0);
7499		return this;
7500	}
7501	writeInt8(value) {
7502		this.ensureAvailable(1);
7503		this._data.setInt8(this.offset++, value);
7504		this._updateLastWrittenByte();
7505		return this;
7506	}
7507	writeUint8(value) {
7508		this.ensureAvailable(1);
7509		this._data.setUint8(this.offset++, value);
7510		this._updateLastWrittenByte();
7511		return this;
7512	}
7513	writeByte(value) {
7514		return this.writeUint8(value);
7515	}
7516	writeBytes(bytes) {
7517		this.ensureAvailable(bytes.length);
7518		for (let i$2 = 0; i$2 < bytes.length; i$2++) this._data.setUint8(this.offset++, bytes[i$2]);
7519		this._updateLastWrittenByte();
7520		return this;
7521	}
7522	writeInt16(value) {
7523		this.ensureAvailable(2);
7524		this._data.setInt16(this.offset, value, this.littleEndian);
7525		this.offset += 2;
7526		this._updateLastWrittenByte();
7527		return this;
7528	}
7529	writeUint16(value) {
7530		this.ensureAvailable(2);
7531		this._data.setUint16(this.offset, value, this.littleEndian);
7532		this.offset += 2;
7533		this._updateLastWrittenByte();
7534		return this;
7535	}
7536	writeInt32(value) {
7537		this.ensureAvailable(4);
7538		this._data.setInt32(this.offset, value, this.littleEndian);
7539		this.offset += 4;
7540		this._updateLastWrittenByte();
7541		return this;
7542	}
7543	writeUint32(value) {
7544		this.ensureAvailable(4);
7545		this._data.setUint32(this.offset, value, this.littleEndian);
7546		this.offset += 4;
7547		this._updateLastWrittenByte();
7548		return this;
7549	}
7550	writeFloat32(value) {
7551		this.ensureAvailable(4);
7552		this._data.setFloat32(this.offset, value, this.littleEndian);
7553		this.offset += 4;
7554		this._updateLastWrittenByte();
7555		return this;
7556	}
7557	writeFloat64(value) {
7558		this.ensureAvailable(8);
7559		this._data.setFloat64(this.offset, value, this.littleEndian);
7560		this.offset += 8;
7561		this._updateLastWrittenByte();
7562		return this;
7563	}
7564	writeBigInt64(value) {
7565		this.ensureAvailable(8);
7566		this._data.setBigInt64(this.offset, value, this.littleEndian);
7567		this.offset += 8;
7568		this._updateLastWrittenByte();
7569		return this;
7570	}
7571	writeBigUint64(value) {
7572		this.ensureAvailable(8);
7573		this._data.setBigUint64(this.offset, value, this.littleEndian);
7574		this.offset += 8;
7575		this._updateLastWrittenByte();
7576		return this;
7577	}
7578	writeChar(str) {
7579		return this.writeUint8(str.charCodeAt(0));
7580	}
7581	writeChars(str) {
7582		for (let i$2 = 0; i$2 < str.length; i$2++) this.writeUint8(str.charCodeAt(i$2));
7583		return this;
7584	}
7585	writeUtf8(str) {
7586		return this.writeBytes(encode(str));
7587	}
7588	toArray() {
7589		return new Uint8Array(this.buffer, this.byteOffset, this.lastWrittenByte);
7590	}
7591	getWrittenByteLength() {
7592		return this.lastWrittenByte - this.byteOffset;
7593	}
7594	_updateLastWrittenByte() {
7595		if (this.offset > this.lastWrittenByte) this.lastWrittenByte = this.offset;
7596	}
7597};
7598/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */
7599var Z_FIXED$1 = 4;
7600var Z_BINARY = 0;
7601var Z_TEXT = 1;
7602var Z_UNKNOWN$1 = 2;
7603function zero$1(buf) {
7604	let len = buf.length;
7605	while (--len >= 0) buf[len] = 0;
7606}
7607var STORED_BLOCK = 0;
7608var STATIC_TREES = 1;
7609var DYN_TREES = 2;
7610var MIN_MATCH$1 = 3;
7611var MAX_MATCH$1 = 258;
7612var LENGTH_CODES$1 = 29;
7613var LITERALS$1 = 256;
7614var L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1;
7615var D_CODES$1 = 30;
7616var BL_CODES$1 = 19;
7617var HEAP_SIZE$1 = 2 * L_CODES$1 + 1;
7618var MAX_BITS$1 = 15;
7619var Buf_size = 16;
7620var MAX_BL_BITS = 7;
7621var END_BLOCK = 256;
7622var REP_3_6 = 16;
7623var REPZ_3_10 = 17;
7624var REPZ_11_138 = 18;
7625var extra_lbits = new Uint8Array([
7626	0,
7627	0,
7628	0,
7629	0,
7630	0,
7631	0,
7632	0,
7633	0,
7634	1,
7635	1,
7636	1,
7637	1,
7638	2,
7639	2,
7640	2,
7641	2,
7642	3,
7643	3,
7644	3,
7645	3,
7646	4,
7647	4,
7648	4,
7649	4,
7650	5,
7651	5,
7652	5,
7653	5,
7654	0
7655]);
7656var extra_dbits = new Uint8Array([
7657	0,
7658	0,
7659	0,
7660	0,
7661	1,
7662	1,
7663	2,
7664	2,
7665	3,
7666	3,
7667	4,
7668	4,
7669	5,
7670	5,
7671	6,
7672	6,
7673	7,
7674	7,
7675	8,
7676	8,
7677	9,
7678	9,
7679	10,
7680	10,
7681	11,
7682	11,
7683	12,
7684	12,
7685	13,
7686	13
7687]);
7688var extra_blbits = new Uint8Array([
7689	0,
7690	0,
7691	0,
7692	0,
7693	0,
7694	0,
7695	0,
7696	0,
7697	0,
7698	0,
7699	0,
7700	0,
7701	0,
7702	0,
7703	0,
7704	0,
7705	2,
7706	3,
7707	7
7708]);
7709var bl_order = new Uint8Array([
7710	16,
7711	17,
7712	18,
7713	0,
7714	8,
7715	7,
7716	9,
7717	6,
7718	10,
7719	5,
7720	11,
7721	4,
7722	12,
7723	3,
7724	13,
7725	2,
7726	14,
7727	1,
7728	15
7729]);
7730var DIST_CODE_LEN = 512;
7731var static_ltree = new Array((L_CODES$1 + 2) * 2);
7732zero$1(static_ltree);
7733var static_dtree = new Array(D_CODES$1 * 2);
7734zero$1(static_dtree);
7735var _dist_code = new Array(DIST_CODE_LEN);
7736zero$1(_dist_code);
7737var _length_code = new Array(MAX_MATCH$1 - MIN_MATCH$1 + 1);
7738zero$1(_length_code);
7739var base_length = new Array(LENGTH_CODES$1);
7740zero$1(base_length);
7741var base_dist = new Array(D_CODES$1);
7742zero$1(base_dist);
7743function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
7744	this.static_tree = static_tree;
7745	this.extra_bits = extra_bits;
7746	this.extra_base = extra_base;
7747	this.elems = elems;
7748	this.max_length = max_length;
7749	this.has_stree = static_tree && static_tree.length;
7750}
7751var static_l_desc;
7752var static_d_desc;
7753var static_bl_desc;
7754function TreeDesc(dyn_tree, stat_desc) {
7755	this.dyn_tree = dyn_tree;
7756	this.max_code = 0;
7757	this.stat_desc = stat_desc;
7758}
7759var d_code = (dist) => {
7760	return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];
7761};
7762var put_short = (s$1, w$1) => {
7763	s$1.pending_buf[s$1.pending++] = w$1 & 255;
7764	s$1.pending_buf[s$1.pending++] = w$1 >>> 8 & 255;
7765};
7766var send_bits = (s$1, value, length) => {
7767	if (s$1.bi_valid > Buf_size - length) {
7768		s$1.bi_buf |= value << s$1.bi_valid & 65535;
7769		put_short(s$1, s$1.bi_buf);
7770		s$1.bi_buf = value >> Buf_size - s$1.bi_valid;
7771		s$1.bi_valid += length - Buf_size;
7772	} else {
7773		s$1.bi_buf |= value << s$1.bi_valid & 65535;
7774		s$1.bi_valid += length;
7775	}
7776};
7777var send_code = (s$1, c$1, tree) => {
7778	send_bits(s$1, tree[c$1 * 2], tree[c$1 * 2 + 1]);
7779};
7780var bi_reverse = (code, len) => {
7781	let res = 0;
7782	do {
7783		res |= code & 1;
7784		code >>>= 1;
7785		res <<= 1;
7786	} while (--len > 0);
7787	return res >>> 1;
7788};
7789var bi_flush = (s$1) => {
7790	if (s$1.bi_valid === 16) {
7791		put_short(s$1, s$1.bi_buf);
7792		s$1.bi_buf = 0;
7793		s$1.bi_valid = 0;
7794	} else if (s$1.bi_valid >= 8) {
7795		s$1.pending_buf[s$1.pending++] = s$1.bi_buf & 255;
7796		s$1.bi_buf >>= 8;
7797		s$1.bi_valid -= 8;
7798	}
7799};
7800var gen_bitlen = (s$1, desc) => {
7801	const tree = desc.dyn_tree;
7802	const max_code = desc.max_code;
7803	const stree = desc.stat_desc.static_tree;
7804	const has_stree = desc.stat_desc.has_stree;
7805	const extra = desc.stat_desc.extra_bits;
7806	const base = desc.stat_desc.extra_base;
7807	const max_length = desc.stat_desc.max_length;
7808	let h$1;
7809	let n, m$1;
7810	let bits;
7811	let xbits;
7812	let f$1;
7813	let overflow = 0;
7814	for (bits = 0; bits <= MAX_BITS$1; bits++) s$1.bl_count[bits] = 0;
7815	tree[s$1.heap[s$1.heap_max] * 2 + 1] = 0;
7816	for (h$1 = s$1.heap_max + 1; h$1 < HEAP_SIZE$1; h$1++) {
7817		n = s$1.heap[h$1];
7818		bits = tree[tree[n * 2 + 1] * 2 + 1] + 1;
7819		if (bits > max_length) {
7820			bits = max_length;
7821			overflow++;
7822		}
7823		tree[n * 2 + 1] = bits;
7824		if (n > max_code) continue;
7825		s$1.bl_count[bits]++;
7826		xbits = 0;
7827		if (n >= base) xbits = extra[n - base];
7828		f$1 = tree[n * 2];
7829		s$1.opt_len += f$1 * (bits + xbits);
7830		if (has_stree) s$1.static_len += f$1 * (stree[n * 2 + 1] + xbits);
7831	}
7832	if (overflow === 0) return;
7833	do {
7834		bits = max_length - 1;
7835		while (s$1.bl_count[bits] === 0) bits--;
7836		s$1.bl_count[bits]--;
7837		s$1.bl_count[bits + 1] += 2;
7838		s$1.bl_count[max_length]--;
7839		overflow -= 2;
7840	} while (overflow > 0);
7841	for (bits = max_length; bits !== 0; bits--) {
7842		n = s$1.bl_count[bits];
7843		while (n !== 0) {
7844			m$1 = s$1.heap[--h$1];
7845			if (m$1 > max_code) continue;
7846			if (tree[m$1 * 2 + 1] !== bits) {
7847				s$1.opt_len += (bits - tree[m$1 * 2 + 1]) * tree[m$1 * 2];
7848				tree[m$1 * 2 + 1] = bits;
7849			}
7850			n--;
7851		}
7852	}
7853};
7854var gen_codes = (tree, max_code, bl_count) => {
7855	const next_code = new Array(MAX_BITS$1 + 1);
7856	let code = 0;
7857	let bits;
7858	let n;
7859	for (bits = 1; bits <= MAX_BITS$1; bits++) {
7860		code = code + bl_count[bits - 1] << 1;
7861		next_code[bits] = code;
7862	}
7863	for (n = 0; n <= max_code; n++) {
7864		let len = tree[n * 2 + 1];
7865		if (len === 0) continue;
7866		tree[n * 2] = bi_reverse(next_code[len]++, len);
7867	}
7868};
7869var tr_static_init = () => {
7870	let n;
7871	let bits;
7872	let length;
7873	let code;
7874	let dist;
7875	const bl_count = new Array(MAX_BITS$1 + 1);
7876	length = 0;
7877	for (code = 0;
vendor: 28,179 bytes, lines 7877-8744
7877 code < LENGTH_CODES$1 - 1; code++) {
7878		base_length[code] = length;
7879		for (n = 0; n < 1 << extra_lbits[code]; n++) _length_code[length++] = code;
7880	}
7881	_length_code[length - 1] = code;
7882	dist = 0;
7883	for (code = 0; code < 16; code++) {
7884		base_dist[code] = dist;
7885		for (n = 0; n < 1 << extra_dbits[code]; n++) _dist_code[dist++] = code;
7886	}
7887	dist >>= 7;
7888	for (; code < D_CODES$1; code++) {
7889		base_dist[code] = dist << 7;
7890		for (n = 0; n < 1 << extra_dbits[code] - 7; n++) _dist_code[256 + dist++] = code;
7891	}
7892	for (bits = 0; bits <= MAX_BITS$1; bits++) bl_count[bits] = 0;
7893	n = 0;
7894	while (n <= 143) {
7895		static_ltree[n * 2 + 1] = 8;
7896		n++;
7897		bl_count[8]++;
7898	}
7899	while (n <= 255) {
7900		static_ltree[n * 2 + 1] = 9;
7901		n++;
7902		bl_count[9]++;
7903	}
7904	while (n <= 279) {
7905		static_ltree[n * 2 + 1] = 7;
7906		n++;
7907		bl_count[7]++;
7908	}
7909	while (n <= 287) {
7910		static_ltree[n * 2 + 1] = 8;
7911		n++;
7912		bl_count[8]++;
7913	}
7914	gen_codes(static_ltree, L_CODES$1 + 1, bl_count);
7915	for (n = 0; n < D_CODES$1; n++) {
7916		static_dtree[n * 2 + 1] = 5;
7917		static_dtree[n * 2] = bi_reverse(n, 5);
7918	}
7919	static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS$1 + 1, L_CODES$1, MAX_BITS$1);
7920	static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES$1, MAX_BITS$1);
7921	static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES$1, MAX_BL_BITS);
7922};
7923var init_block = (s$1) => {
7924	let n;
7925	for (n = 0; n < L_CODES$1; n++) s$1.dyn_ltree[n * 2] = 0;
7926	for (n = 0; n < D_CODES$1; n++) s$1.dyn_dtree[n * 2] = 0;
7927	for (n = 0; n < BL_CODES$1; n++) s$1.bl_tree[n * 2] = 0;
7928	s$1.dyn_ltree[END_BLOCK * 2] = 1;
7929	s$1.opt_len = s$1.static_len = 0;
7930	s$1.sym_next = s$1.matches = 0;
7931};
7932var bi_windup = (s$1) => {
7933	if (s$1.bi_valid > 8) put_short(s$1, s$1.bi_buf);
7934	else if (s$1.bi_valid > 0) s$1.pending_buf[s$1.pending++] = s$1.bi_buf;
7935	s$1.bi_buf = 0;
7936	s$1.bi_valid = 0;
7937};
7938var smaller = (tree, n, m$1, depth) => {
7939	const _n2 = n * 2;
7940	const _m2 = m$1 * 2;
7941	return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m$1];
7942};
7943var pqdownheap = (s$1, tree, k$1) => {
7944	const v$1 = s$1.heap[k$1];
7945	let j$1 = k$1 << 1;
7946	while (j$1 <= s$1.heap_len) {
7947		if (j$1 < s$1.heap_len && smaller(tree, s$1.heap[j$1 + 1], s$1.heap[j$1], s$1.depth)) j$1++;
7948		if (smaller(tree, v$1, s$1.heap[j$1], s$1.depth)) break;
7949		s$1.heap[k$1] = s$1.heap[j$1];
7950		k$1 = j$1;
7951		j$1 <<= 1;
7952	}
7953	s$1.heap[k$1] = v$1;
7954};
7955var compress_block = (s$1, ltree, dtree) => {
7956	let dist;
7957	let lc$1;
7958	let sx = 0;
7959	let code;
7960	let extra;
7961	if (s$1.sym_next !== 0) do {
7962		dist = s$1.pending_buf[s$1.sym_buf + sx++] & 255;
7963		dist += (s$1.pending_buf[s$1.sym_buf + sx++] & 255) << 8;
7964		lc$1 = s$1.pending_buf[s$1.sym_buf + sx++];
7965		if (dist === 0) send_code(s$1, lc$1, ltree);
7966		else {
7967			code = _length_code[lc$1];
7968			send_code(s$1, code + LITERALS$1 + 1, ltree);
7969			extra = extra_lbits[code];
7970			if (extra !== 0) {
7971				lc$1 -= base_length[code];
7972				send_bits(s$1, lc$1, extra);
7973			}
7974			dist--;
7975			code = d_code(dist);
7976			send_code(s$1, code, dtree);
7977			extra = extra_dbits[code];
7978			if (extra !== 0) {
7979				dist -= base_dist[code];
7980				send_bits(s$1, dist, extra);
7981			}
7982		}
7983	} while (sx < s$1.sym_next);
7984	send_code(s$1, END_BLOCK, ltree);
7985};
7986var build_tree = (s$1, desc) => {
7987	const tree = desc.dyn_tree;
7988	const stree = desc.stat_desc.static_tree;
7989	const has_stree = desc.stat_desc.has_stree;
7990	const elems = desc.stat_desc.elems;
7991	let n, m$1;
7992	let max_code = -1;
7993	let node;
7994	s$1.heap_len = 0;
7995	s$1.heap_max = HEAP_SIZE$1;
7996	for (n = 0; n < elems; n++) if (tree[n * 2] !== 0) {
7997		s$1.heap[++s$1.heap_len] = max_code = n;
7998		s$1.depth[n] = 0;
7999	} else tree[n * 2 + 1] = 0;
8000	while (s$1.heap_len < 2) {
8001		node = s$1.heap[++s$1.heap_len] = max_code < 2 ? ++max_code : 0;
8002		tree[node * 2] = 1;
8003		s$1.depth[node] = 0;
8004		s$1.opt_len--;
8005		if (has_stree) s$1.static_len -= stree[node * 2 + 1];
8006	}
8007	desc.max_code = max_code;
8008	for (n = s$1.heap_len >> 1; n >= 1; n--) pqdownheap(s$1, tree, n);
8009	node = elems;
8010	do {
8011		n = s$1.heap[1];
8012		s$1.heap[1] = s$1.heap[s$1.heap_len--];
8013		pqdownheap(s$1, tree, 1);
8014		m$1 = s$1.heap[1];
8015		s$1.heap[--s$1.heap_max] = n;
8016		s$1.heap[--s$1.heap_max] = m$1;
8017		tree[node * 2] = tree[n * 2] + tree[m$1 * 2];
8018		s$1.depth[node] = (s$1.depth[n] >= s$1.depth[m$1] ? s$1.depth[n] : s$1.depth[m$1]) + 1;
8019		tree[n * 2 + 1] = tree[m$1 * 2 + 1] = node;
8020		s$1.heap[1] = node++;
8021		pqdownheap(s$1, tree, 1);
8022	} while (s$1.heap_len >= 2);
8023	s$1.heap[--s$1.heap_max] = s$1.heap[1];
8024	gen_bitlen(s$1, desc);
8025	gen_codes(tree, max_code, s$1.bl_count);
8026};
8027var scan_tree = (s$1, tree, max_code) => {
8028	let n;
8029	let prevlen = -1;
8030	let curlen;
8031	let nextlen = tree[1];
8032	let count = 0;
8033	let max_count = 7;
8034	let min_count = 4;
8035	if (nextlen === 0) {
8036		max_count = 138;
8037		min_count = 3;
8038	}
8039	tree[(max_code + 1) * 2 + 1] = 65535;
8040	for (n = 0; n <= max_code; n++) {
8041		curlen = nextlen;
8042		nextlen = tree[(n + 1) * 2 + 1];
8043		if (++count < max_count && curlen === nextlen) continue;
8044		else if (count < min_count) s$1.bl_tree[curlen * 2] += count;
8045		else if (curlen !== 0) {
8046			if (curlen !== prevlen) s$1.bl_tree[curlen * 2]++;
8047			s$1.bl_tree[REP_3_6 * 2]++;
8048		} else if (count <= 10) s$1.bl_tree[REPZ_3_10 * 2]++;
8049		else s$1.bl_tree[REPZ_11_138 * 2]++;
8050		count = 0;
8051		prevlen = curlen;
8052		if (nextlen === 0) {
8053			max_count = 138;
8054			min_count = 3;
8055		} else if (curlen === nextlen) {
8056			max_count = 6;
8057			min_count = 3;
8058		} else {
8059			max_count = 7;
8060			min_count = 4;
8061		}
8062	}
8063};
8064var send_tree = (s$1, tree, max_code) => {
8065	let n;
8066	let prevlen = -1;
8067	let curlen;
8068	let nextlen = tree[1];
8069	let count = 0;
8070	let max_count = 7;
8071	let min_count = 4;
8072	if (nextlen === 0) {
8073		max_count = 138;
8074		min_count = 3;
8075	}
8076	for (n = 0; n <= max_code; n++) {
8077		curlen = nextlen;
8078		nextlen = tree[(n + 1) * 2 + 1];
8079		if (++count < max_count && curlen === nextlen) continue;
8080		else if (count < min_count) do
8081			send_code(s$1, curlen, s$1.bl_tree);
8082		while (--count !== 0);
8083		else if (curlen !== 0) {
8084			if (curlen !== prevlen) {
8085				send_code(s$1, curlen, s$1.bl_tree);
8086				count--;
8087			}
8088			send_code(s$1, REP_3_6, s$1.bl_tree);
8089			send_bits(s$1, count - 3, 2);
8090		} else if (count <= 10) {
8091			send_code(s$1, REPZ_3_10, s$1.bl_tree);
8092			send_bits(s$1, count - 3, 3);
8093		} else {
8094			send_code(s$1, REPZ_11_138, s$1.bl_tree);
8095			send_bits(s$1, count - 11, 7);
8096		}
8097		count = 0;
8098		prevlen = curlen;
8099		if (nextlen === 0) {
8100			max_count = 138;
8101			min_count = 3;
8102		} else if (curlen === nextlen) {
8103			max_count = 6;
8104			min_count = 3;
8105		} else {
8106			max_count = 7;
8107			min_count = 4;
8108		}
8109	}
8110};
8111var build_bl_tree = (s$1) => {
8112	let max_blindex;
8113	scan_tree(s$1, s$1.dyn_ltree, s$1.l_desc.max_code);
8114	scan_tree(s$1, s$1.dyn_dtree, s$1.d_desc.max_code);
8115	build_tree(s$1, s$1.bl_desc);
8116	for (max_blindex = BL_CODES$1 - 1; max_blindex >= 3; max_blindex--) if (s$1.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0) break;
8117	s$1.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;
8118	return max_blindex;
8119};
8120var send_all_trees = (s$1, lcodes, dcodes, blcodes) => {
8121	let rank$1;
8122	send_bits(s$1, lcodes - 257, 5);
8123	send_bits(s$1, dcodes - 1, 5);
8124	send_bits(s$1, blcodes - 4, 4);
8125	for (rank$1 = 0; rank$1 < blcodes; rank$1++) send_bits(s$1, s$1.bl_tree[bl_order[rank$1] * 2 + 1], 3);
8126	send_tree(s$1, s$1.dyn_ltree, lcodes - 1);
8127	send_tree(s$1, s$1.dyn_dtree, dcodes - 1);
8128};
8129var detect_data_type = (s$1) => {
8130	let block_mask = 4093624447;
8131	let n;
8132	for (n = 0; n <= 31; n++, block_mask >>>= 1) if (block_mask & 1 && s$1.dyn_ltree[n * 2] !== 0) return Z_BINARY;
8133	if (s$1.dyn_ltree[18] !== 0 || s$1.dyn_ltree[20] !== 0 || s$1.dyn_ltree[26] !== 0) return Z_TEXT;
8134	for (n = 32; n < LITERALS$1; n++) if (s$1.dyn_ltree[n * 2] !== 0) return Z_TEXT;
8135	return Z_BINARY;
8136};
8137var static_init_done = false;
8138var _tr_init$1 = (s$1) => {
8139	if (!static_init_done) {
8140		tr_static_init();
8141		static_init_done = true;
8142	}
8143	s$1.l_desc = new TreeDesc(s$1.dyn_ltree, static_l_desc);
8144	s$1.d_desc = new TreeDesc(s$1.dyn_dtree, static_d_desc);
8145	s$1.bl_desc = new TreeDesc(s$1.bl_tree, static_bl_desc);
8146	s$1.bi_buf = 0;
8147	s$1.bi_valid = 0;
8148	init_block(s$1);
8149};
8150var _tr_stored_block$1 = (s$1, buf, stored_len, last) => {
8151	send_bits(s$1, (STORED_BLOCK << 1) + (last ? 1 : 0), 3);
8152	bi_windup(s$1);
8153	put_short(s$1, stored_len);
8154	put_short(s$1, ~stored_len);
8155	if (stored_len) s$1.pending_buf.set(s$1.window.subarray(buf, buf + stored_len), s$1.pending);
8156	s$1.pending += stored_len;
8157};
8158var _tr_align$1 = (s$1) => {
8159	send_bits(s$1, STATIC_TREES << 1, 3);
8160	send_code(s$1, END_BLOCK, static_ltree);
8161	bi_flush(s$1);
8162};
8163var _tr_flush_block$1 = (s$1, buf, stored_len, last) => {
8164	let opt_lenb, static_lenb;
8165	let max_blindex = 0;
8166	if (s$1.level > 0) {
8167		if (s$1.strm.data_type === Z_UNKNOWN$1) s$1.strm.data_type = detect_data_type(s$1);
8168		build_tree(s$1, s$1.l_desc);
8169		build_tree(s$1, s$1.d_desc);
8170		max_blindex = build_bl_tree(s$1);
8171		opt_lenb = s$1.opt_len + 3 + 7 >>> 3;
8172		static_lenb = s$1.static_len + 3 + 7 >>> 3;
8173		if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
8174	} else opt_lenb = static_lenb = stored_len + 5;
8175	if (stored_len + 4 <= opt_lenb && buf !== -1) _tr_stored_block$1(s$1, buf, stored_len, last);
8176	else if (s$1.strategy === Z_FIXED$1 || static_lenb === opt_lenb) {
8177		send_bits(s$1, (STATIC_TREES << 1) + (last ? 1 : 0), 3);
8178		compress_block(s$1, static_ltree, static_dtree);
8179	} else {
8180		send_bits(s$1, (DYN_TREES << 1) + (last ? 1 : 0), 3);
8181		send_all_trees(s$1, s$1.l_desc.max_code + 1, s$1.d_desc.max_code + 1, max_blindex + 1);
8182		compress_block(s$1, s$1.dyn_ltree, s$1.dyn_dtree);
8183	}
8184	init_block(s$1);
8185	if (last) bi_windup(s$1);
8186};
8187var _tr_tally$1 = (s$1, dist, lc$1) => {
8188	s$1.pending_buf[s$1.sym_buf + s$1.sym_next++] = dist;
8189	s$1.pending_buf[s$1.sym_buf + s$1.sym_next++] = dist >> 8;
8190	s$1.pending_buf[s$1.sym_buf + s$1.sym_next++] = lc$1;
8191	if (dist === 0) s$1.dyn_ltree[lc$1 * 2]++;
8192	else {
8193		s$1.matches++;
8194		dist--;
8195		s$1.dyn_ltree[(_length_code[lc$1] + LITERALS$1 + 1) * 2]++;
8196		s$1.dyn_dtree[d_code(dist) * 2]++;
8197	}
8198	return s$1.sym_next === s$1.sym_end;
8199};
8200var trees = {
8201	_tr_init: _tr_init$1,
8202	_tr_stored_block: _tr_stored_block$1,
8203	_tr_flush_block: _tr_flush_block$1,
8204	_tr_tally: _tr_tally$1,
8205	_tr_align: _tr_align$1
8206};
8207var adler32 = (adler$1, buf, len, pos) => {
8208	let s1 = adler$1 & 65535 | 0, s2 = adler$1 >>> 16 & 65535 | 0, n = 0;
8209	while (len !== 0) {
8210		n = len > 2e3 ? 2e3 : len;
8211		len -= n;
8212		do {
8213			s1 = s1 + buf[pos++] | 0;
8214			s2 = s2 + s1 | 0;
8215		} while (--n);
8216		s1 %= 65521;
8217		s2 %= 65521;
8218	}
8219	return s1 | s2 << 16 | 0;
8220};
8221var adler32_1 = adler32;
8222var makeTable = () => {
8223	let c$1, table = [];
8224	for (var n = 0; n < 256; n++) {
8225		c$1 = n;
8226		for (var k$1 = 0; k$1 < 8; k$1++) c$1 = c$1 & 1 ? 3988292384 ^ c$1 >>> 1 : c$1 >>> 1;
8227		table[n] = c$1;
8228	}
8229	return table;
8230};
8231var crcTable$1 = new Uint32Array(makeTable());
8232var crc32 = (crc$1, buf, len, pos) => {
8233	const t = crcTable$1;
8234	const end = pos + len;
8235	crc$1 ^= -1;
8236	for (let i$2 = pos; i$2 < end; i$2++) crc$1 = crc$1 >>> 8 ^ t[(crc$1 ^ buf[i$2]) & 255];
8237	return crc$1 ^ -1;
8238};
8239var crc32_1 = crc32;
8240var messages = {
8241	2: "need dictionary",
8242	1: "stream end",
8243	0: "",
8244	"-1": "file error",
8245	"-2": "stream error",
8246	"-3": "data error",
8247	"-4": "insufficient memory",
8248	"-5": "buffer error",
8249	"-6": "incompatible version"
8250};
8251var constants$2 = {
8252	Z_NO_FLUSH: 0,
8253	Z_PARTIAL_FLUSH: 1,
8254	Z_SYNC_FLUSH: 2,
8255	Z_FULL_FLUSH: 3,
8256	Z_FINISH: 4,
8257	Z_BLOCK: 5,
8258	Z_TREES: 6,
8259	Z_OK: 0,
8260	Z_STREAM_END: 1,
8261	Z_NEED_DICT: 2,
8262	Z_ERRNO: -1,
8263	Z_STREAM_ERROR: -2,
8264	Z_DATA_ERROR: -3,
8265	Z_MEM_ERROR: -4,
8266	Z_BUF_ERROR: -5,
8267	Z_NO_COMPRESSION: 0,
8268	Z_BEST_SPEED: 1,
8269	Z_BEST_COMPRESSION: 9,
8270	Z_DEFAULT_COMPRESSION: -1,
8271	Z_FILTERED: 1,
8272	Z_HUFFMAN_ONLY: 2,
8273	Z_RLE: 3,
8274	Z_FIXED: 4,
8275	Z_DEFAULT_STRATEGY: 0,
8276	Z_BINARY: 0,
8277	Z_TEXT: 1,
8278	Z_UNKNOWN: 2,
8279	Z_DEFLATED: 8
8280};
8281var { _tr_init, _tr_stored_block, _tr_flush_block, _tr_tally, _tr_align } = trees;
8282var { Z_NO_FLUSH: Z_NO_FLUSH$2, Z_PARTIAL_FLUSH, Z_FULL_FLUSH: Z_FULL_FLUSH$1, Z_FINISH: Z_FINISH$3, Z_BLOCK: Z_BLOCK$1, Z_OK: Z_OK$3, Z_STREAM_END: Z_STREAM_END$3, Z_STREAM_ERROR: Z_STREAM_ERROR$2, Z_DATA_ERROR: Z_DATA_ERROR$2, Z_BUF_ERROR: Z_BUF_ERROR$1, Z_DEFAULT_COMPRESSION: Z_DEFAULT_COMPRESSION$1, Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED, Z_DEFAULT_STRATEGY: Z_DEFAULT_STRATEGY$1, Z_UNKNOWN, Z_DEFLATED: Z_DEFLATED$2 } = constants$2;
8283var MAX_MEM_LEVEL = 9;
8284var MAX_WBITS$1 = 15;
8285var DEF_MEM_LEVEL = 8;
8286var L_CODES = 286;
8287var D_CODES = 30;
8288var BL_CODES = 19;
8289var HEAP_SIZE = 2 * L_CODES + 1;
8290var MAX_BITS = 15;
8291var MIN_MATCH = 3;
8292var MAX_MATCH = 258;
8293var MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1;
8294var PRESET_DICT = 32;
8295var INIT_STATE = 42;
8296var GZIP_STATE = 57;
8297var EXTRA_STATE = 69;
8298var NAME_STATE = 73;
8299var COMMENT_STATE = 91;
8300var HCRC_STATE = 103;
8301var BUSY_STATE = 113;
8302var FINISH_STATE = 666;
8303var BS_NEED_MORE = 1;
8304var BS_BLOCK_DONE = 2;
8305var BS_FINISH_STARTED = 3;
8306var BS_FINISH_DONE = 4;
8307var OS_CODE = 3;
8308var err = (strm, errorCode) => {
8309	strm.msg = messages[errorCode];
8310	return errorCode;
8311};
8312var rank = (f$1) => {
8313	return f$1 * 2 - (f$1 > 4 ? 9 : 0);
8314};
8315var zero = (buf) => {
8316	let len = buf.length;
8317	while (--len >= 0) buf[len] = 0;
8318};
8319var slide_hash = (s$1) => {
8320	let n, m$1;
8321	let p$1;
8322	let wsize = s$1.w_size;
8323	n = s$1.hash_size;
8324	p$1 = n;
8325	do {
8326		m$1 = s$1.head[--p$1];
8327		s$1.head[p$1] = m$1 >= wsize ? m$1 - wsize : 0;
8328	} while (--n);
8329	n = wsize;
8330	p$1 = n;
8331	do {
8332		m$1 = s$1.prev[--p$1];
8333		s$1.prev[p$1] = m$1 >= wsize ? m$1 - wsize : 0;
8334	} while (--n);
8335};
8336var HASH_ZLIB = (s$1, prev, data) => (prev << s$1.hash_shift ^ data) & s$1.hash_mask;
8337var HASH = HASH_ZLIB;
8338var flush_pending = (strm) => {
8339	const s$1 = strm.state;
8340	let len = s$1.pending;
8341	if (len > strm.avail_out) len = strm.avail_out;
8342	if (len === 0) return;
8343	strm.output.set(s$1.pending_buf.subarray(s$1.pending_out, s$1.pending_out + len), strm.next_out);
8344	strm.next_out += len;
8345	s$1.pending_out += len;
8346	strm.total_out += len;
8347	strm.avail_out -= len;
8348	s$1.pending -= len;
8349	if (s$1.pending === 0) s$1.pending_out = 0;
8350};
8351var flush_block_only = (s$1, last) => {
8352	_tr_flush_block(s$1, s$1.block_start >= 0 ? s$1.block_start : -1, s$1.strstart - s$1.block_start, last);
8353	s$1.block_start = s$1.strstart;
8354	flush_pending(s$1.strm);
8355};
8356var put_byte = (s$1, b$1) => {
8357	s$1.pending_buf[s$1.pending++] = b$1;
8358};
8359var putShortMSB = (s$1, b$1) => {
8360	s$1.pending_buf[s$1.pending++] = b$1 >>> 8 & 255;
8361	s$1.pending_buf[s$1.pending++] = b$1 & 255;
8362};
8363var read_buf = (strm, buf, start, size) => {
8364	let len = strm.avail_in;
8365	if (len > size) len = size;
8366	if (len === 0) return 0;
8367	strm.avail_in -= len;
8368	buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);
8369	if (strm.state.wrap === 1) strm.adler = adler32_1(strm.adler, buf, len, start);
8370	else if (strm.state.wrap === 2) strm.adler = crc32_1(strm.adler, buf, len, start);
8371	strm.next_in += len;
8372	strm.total_in += len;
8373	return len;
8374};
8375var longest_match = (s$1, cur_match) => {
8376	let chain_length = s$1.max_chain_length;
8377	let scan = s$1.strstart;
8378	let match;
8379	let len;
8380	let best_len = s$1.prev_length;
8381	let nice_match = s$1.nice_match;
8382	const limit = s$1.strstart > s$1.w_size - MIN_LOOKAHEAD ? s$1.strstart - (s$1.w_size - MIN_LOOKAHEAD) : 0;
8383	const _win = s$1.window;
8384	const wmask = s$1.w_mask;
8385	const prev = s$1.prev;
8386	const strend = s$1.strstart + MAX_MATCH;
8387	let scan_end1 = _win[scan + best_len - 1];
8388	let scan_end = _win[scan + best_len];
8389	if (s$1.prev_length >= s$1.good_match) chain_length >>= 2;
8390	if (nice_match > s$1.lookahead) nice_match = s$1.lookahead;
8391	do {
8392		match = cur_match;
8393		if (_win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1]) continue;
8394		scan += 2;
8395		match++;
8396		do		;
8397while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);
8398		len = MAX_MATCH - (strend - scan);
8399		scan = strend - MAX_MATCH;
8400		if (len > best_len) {
8401			s$1.match_start = cur_match;
8402			best_len = len;
8403			if (len >= nice_match) break;
8404			scan_end1 = _win[scan + best_len - 1];
8405			scan_end = _win[scan + best_len];
8406		}
8407	} while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);
8408	if (best_len <= s$1.lookahead) return best_len;
8409	return s$1.lookahead;
8410};
8411var fill_window = (s$1) => {
8412	const _w_size = s$1.w_size;
8413	let n, more, str;
8414	do {
8415		more = s$1.window_size - s$1.lookahead - s$1.strstart;
8416		if (s$1.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {
8417			s$1.window.set(s$1.window.subarray(_w_size, _w_size + _w_size - more), 0);
8418			s$1.match_start -= _w_size;
8419			s$1.strstart -= _w_size;
8420			s$1.block_start -= _w_size;
8421			if (s$1.insert > s$1.strstart) s$1.insert = s$1.strstart;
8422			slide_hash(s$1);
8423			more += _w_size;
8424		}
8425		if (s$1.strm.avail_in === 0) break;
8426		n = read_buf(s$1.strm, s$1.window, s$1.strstart + s$1.lookahead, more);
8427		s$1.lookahead += n;
8428		if (s$1.lookahead + s$1.insert >= MIN_MATCH) {
8429			str = s$1.strstart - s$1.insert;
8430			s$1.ins_h = s$1.window[str];
8431			s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[str + 1]);
8432			while (s$1.insert) {
8433				s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[str + MIN_MATCH - 1]);
8434				s$1.prev[str & s$1.w_mask] = s$1.head[s$1.ins_h];
8435				s$1.head[s$1.ins_h] = str;
8436				str++;
8437				s$1.insert--;
8438				if (s$1.lookahead + s$1.insert < MIN_MATCH) break;
8439			}
8440		}
8441	} while (s$1.lookahead < MIN_LOOKAHEAD && s$1.strm.avail_in !== 0);
8442};
8443var deflate_stored = (s$1, flush) => {
8444	let min_block = s$1.pending_buf_size - 5 > s$1.w_size ? s$1.w_size : s$1.pending_buf_size - 5;
8445	let len, left, have, last = 0;
8446	let used = s$1.strm.avail_in;
8447	do {
8448		len = 65535;
8449		have = s$1.bi_valid + 42 >> 3;
8450		if (s$1.strm.avail_out < have) break;
8451		have = s$1.strm.avail_out - have;
8452		left = s$1.strstart - s$1.block_start;
8453		if (len > left + s$1.strm.avail_in) len = left + s$1.strm.avail_in;
8454		if (len > have) len = have;
8455		if (len < min_block && (len === 0 && flush !== Z_FINISH$3 || flush === Z_NO_FLUSH$2 || len !== left + s$1.strm.avail_in)) break;
8456		last = flush === Z_FINISH$3 && len === left + s$1.strm.avail_in ? 1 : 0;
8457		_tr_stored_block(s$1, 0, 0, last);
8458		s$1.pending_buf[s$1.pending - 4] = len;
8459		s$1.pending_buf[s$1.pending - 3] = len >> 8;
8460		s$1.pending_buf[s$1.pending - 2] = ~len;
8461		s$1.pending_buf[s$1.pending - 1] = ~len >> 8;
8462		flush_pending(s$1.strm);
8463		if (left) {
8464			if (left > len) left = len;
8465			s$1.strm.output.set(s$1.window.subarray(s$1.block_start, s$1.block_start + left), s$1.strm.next_out);
8466			s$1.strm.next_out += left;
8467			s$1.strm.avail_out -= left;
8468			s$1.strm.total_out += left;
8469			s$1.block_start += left;
8470			len -= left;
8471		}
8472		if (len) {
8473			read_buf(s$1.strm, s$1.strm.output, s$1.strm.next_out, len);
8474			s$1.strm.next_out += len;
8475			s$1.strm.avail_out -= len;
8476			s$1.strm.total_out += len;
8477		}
8478	} while (last === 0);
8479	used -= s$1.strm.avail_in;
8480	if (used) {
8481		if (used >= s$1.w_size) {
8482			s$1.matches = 2;
8483			s$1.window.set(s$1.strm.input.subarray(s$1.strm.next_in - s$1.w_size, s$1.strm.next_in), 0);
8484			s$1.strstart = s$1.w_size;
8485			s$1.insert = s$1.strstart;
8486		} else {
8487			if (s$1.window_size - s$1.strstart <= used) {
8488				s$1.strstart -= s$1.w_size;
8489				s$1.window.set(s$1.window.subarray(s$1.w_size, s$1.w_size + s$1.strstart), 0);
8490				if (s$1.matches < 2) s$1.matches++;
8491				if (s$1.insert > s$1.strstart) s$1.insert = s$1.strstart;
8492			}
8493			s$1.window.set(s$1.strm.input.subarray(s$1.strm.next_in - used, s$1.strm.next_in), s$1.strstart);
8494			s$1.strstart += used;
8495			s$1.insert += used > s$1.w_size - s$1.insert ? s$1.w_size - s$1.insert : used;
8496		}
8497		s$1.block_start = s$1.strstart;
8498	}
8499	if (s$1.high_water < s$1.strstart) s$1.high_water = s$1.strstart;
8500	if (last) return BS_FINISH_DONE;
8501	if (flush !== Z_NO_FLUSH$2 && flush !== Z_FINISH$3 && s$1.strm.avail_in === 0 && s$1.strstart === s$1.block_start) return BS_BLOCK_DONE;
8502	have = s$1.window_size - s$1.strstart;
8503	if (s$1.strm.avail_in > have && s$1.block_start >= s$1.w_size) {
8504		s$1.block_start -= s$1.w_size;
8505		s$1.strstart -= s$1.w_size;
8506		s$1.window.set(s$1.window.subarray(s$1.w_size, s$1.w_size + s$1.strstart), 0);
8507		if (s$1.matches < 2) s$1.matches++;
8508		have += s$1.w_size;
8509		if (s$1.insert > s$1.strstart) s$1.insert = s$1.strstart;
8510	}
8511	if (have > s$1.strm.avail_in) have = s$1.strm.avail_in;
8512	if (have) {
8513		read_buf(s$1.strm, s$1.window, s$1.strstart, have);
8514		s$1.strstart += have;
8515		s$1.insert += have > s$1.w_size - s$1.insert ? s$1.w_size - s$1.insert : have;
8516	}
8517	if (s$1.high_water < s$1.strstart) s$1.high_water = s$1.strstart;
8518	have = s$1.bi_valid + 42 >> 3;
8519	have = s$1.pending_buf_size - have > 65535 ? 65535 : s$1.pending_buf_size - have;
8520	min_block = have > s$1.w_size ? s$1.w_size : have;
8521	left = s$1.strstart - s$1.block_start;
8522	if (left >= min_block || (left || flush === Z_FINISH$3) && flush !== Z_NO_FLUSH$2 && s$1.strm.avail_in === 0 && left <= have) {
8523		len = left > have ? have : left;
8524		last = flush === Z_FINISH$3 && s$1.strm.avail_in === 0 && len === left ? 1 : 0;
8525		_tr_stored_block(s$1, s$1.block_start, len, last);
8526		s$1.block_start += len;
8527		flush_pending(s$1.strm);
8528	}
8529	return last ? BS_FINISH_STARTED : BS_NEED_MORE;
8530};
8531var deflate_fast = (s$1, flush) => {
8532	let hash_head;
8533	let bflush;
8534	for (;;) {
8535		if (s$1.lookahead < MIN_LOOKAHEAD) {
8536			fill_window(s$1);
8537			if (s$1.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) return BS_NEED_MORE;
8538			if (s$1.lookahead === 0) break;
8539		}
8540		hash_head = 0;
8541		if (s$1.lookahead >= MIN_MATCH) {
8542			s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[s$1.strstart + MIN_MATCH - 1]);
8543			hash_head = s$1.prev[s$1.strstart & s$1.w_mask] = s$1.head[s$1.ins_h];
8544			s$1.head[s$1.ins_h] = s$1.strstart;
8545		}
8546		if (hash_head !== 0 && s$1.strstart - hash_head <= s$1.w_size - MIN_LOOKAHEAD) s$1.match_length = longest_match(s$1, hash_head);
8547		if (s$1.match_length >= MIN_MATCH) {
8548			bflush = _tr_tally(s$1, s$1.strstart - s$1.match_start, s$1.match_length - MIN_MATCH);
8549			s$1.lookahead -= s$1.match_length;
8550			if (s$1.match_length <= s$1.max_lazy_match && s$1.lookahead >= MIN_MATCH) {
8551				s$1.match_length--;
8552				do {
8553					s$1.strstart++;
8554					s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[s$1.strstart + MIN_MATCH - 1]);
8555					hash_head = s$1.prev[s$1.strstart & s$1.w_mask] = s$1.head[s$1.ins_h];
8556					s$1.head[s$1.ins_h] = s$1.strstart;
8557				} while (--s$1.match_length !== 0);
8558				s$1.strstart++;
8559			} else {
8560				s$1.strstart += s$1.match_length;
8561				s$1.match_length = 0;
8562				s$1.ins_h = s$1.window[s$1.strstart];
8563				s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[s$1.strstart + 1]);
8564			}
8565		} else {
8566			bflush = _tr_tally(s$1, 0, s$1.window[s$1.strstart]);
8567			s$1.lookahead--;
8568			s$1.strstart++;
8569		}
8570		if (bflush) {
8571			flush_block_only(s$1, false);
8572			if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8573		}
8574	}
8575	s$1.insert = s$1.strstart < MIN_MATCH - 1 ? s$1.strstart : MIN_MATCH - 1;
8576	if (flush === Z_FINISH$3) {
8577		flush_block_only(s$1, true);
8578		if (s$1.strm.avail_out === 0) return BS_FINISH_STARTED;
8579		return BS_FINISH_DONE;
8580	}
8581	if (s$1.sym_next) {
8582		flush_block_only(s$1, false);
8583		if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8584	}
8585	return BS_BLOCK_DONE;
8586};
8587var deflate_slow = (s$1, flush) => {
8588	let hash_head;
8589	let bflush;
8590	let max_insert;
8591	for (;;) {
8592		if (s$1.lookahead < MIN_LOOKAHEAD) {
8593			fill_window(s$1);
8594			if (s$1.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) return BS_NEED_MORE;
8595			if (s$1.lookahead === 0) break;
8596		}
8597		hash_head = 0;
8598		if (s$1.lookahead >= MIN_MATCH) {
8599			s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[s$1.strstart + MIN_MATCH - 1]);
8600			hash_head = s$1.prev[s$1.strstart & s$1.w_mask] = s$1.head[s$1.ins_h];
8601			s$1.head[s$1.ins_h] = s$1.strstart;
8602		}
8603		s$1.prev_length = s$1.match_length;
8604		s$1.prev_match = s$1.match_start;
8605		s$1.match_length = MIN_MATCH - 1;
8606		if (hash_head !== 0 && s$1.prev_length < s$1.max_lazy_match && s$1.strstart - hash_head <= s$1.w_size - MIN_LOOKAHEAD) {
8607			s$1.match_length = longest_match(s$1, hash_head);
8608			if (s$1.match_length <= 5 && (s$1.strategy === Z_FILTERED || s$1.match_length === MIN_MATCH && s$1.strstart - s$1.match_start > 4096)) s$1.match_length = MIN_MATCH - 1;
8609		}
8610		if (s$1.prev_length >= MIN_MATCH && s$1.match_length <= s$1.prev_length) {
8611			max_insert = s$1.strstart + s$1.lookahead - MIN_MATCH;
8612			bflush = _tr_tally(s$1, s$1.strstart - 1 - s$1.prev_match, s$1.prev_length - MIN_MATCH);
8613			s$1.lookahead -= s$1.prev_length - 1;
8614			s$1.prev_length -= 2;
8615			do
8616				if (++s$1.strstart <= max_insert) {
8617					s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[s$1.strstart + MIN_MATCH - 1]);
8618					hash_head = s$1.prev[s$1.strstart & s$1.w_mask] = s$1.head[s$1.ins_h];
8619					s$1.head[s$1.ins_h] = s$1.strstart;
8620				}
8621			while (--s$1.prev_length !== 0);
8622			s$1.match_available = 0;
8623			s$1.match_length = MIN_MATCH - 1;
8624			s$1.strstart++;
8625			if (bflush) {
8626				flush_block_only(s$1, false);
8627				if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8628			}
8629		} else if (s$1.match_available) {
8630			bflush = _tr_tally(s$1, 0, s$1.window[s$1.strstart - 1]);
8631			if (bflush) flush_block_only(s$1, false);
8632			s$1.strstart++;
8633			s$1.lookahead--;
8634			if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8635		} else {
8636			s$1.match_available = 1;
8637			s$1.strstart++;
8638			s$1.lookahead--;
8639		}
8640	}
8641	if (s$1.match_available) {
8642		bflush = _tr_tally(s$1, 0, s$1.window[s$1.strstart - 1]);
8643		s$1.match_available = 0;
8644	}
8645	s$1.insert = s$1.strstart < MIN_MATCH - 1 ? s$1.strstart : MIN_MATCH - 1;
8646	if (flush === Z_FINISH$3) {
8647		flush_block_only(s$1, true);
8648		if (s$1.strm.avail_out === 0) return BS_FINISH_STARTED;
8649		return BS_FINISH_DONE;
8650	}
8651	if (s$1.sym_next) {
8652		flush_block_only(s$1, false);
8653		if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8654	}
8655	return BS_BLOCK_DONE;
8656};
8657var deflate_rle = (s$1, flush) => {
8658	let bflush;
8659	let prev;
8660	let scan, strend;
8661	const _win = s$1.window;
8662	for (;;) {
8663		if (s$1.lookahead <= MAX_MATCH) {
8664			fill_window(s$1);
8665			if (s$1.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH$2) return BS_NEED_MORE;
8666			if (s$1.lookahead === 0) break;
8667		}
8668		s$1.match_length = 0;
8669		if (s$1.lookahead >= MIN_MATCH && s$1.strstart > 0) {
8670			scan = s$1.strstart - 1;
8671			prev = _win[scan];
8672			if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {
8673				strend = s$1.strstart + MAX_MATCH;
8674				do				;
8675while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);
8676				s$1.match_length = MAX_MATCH - (strend - scan);
8677				if (s$1.match_length > s$1.lookahead) s$1.match_length = s$1.lookahead;
8678			}
8679		}
8680		if (s$1.match_length >= MIN_MATCH) {
8681			bflush = _tr_tally(s$1, 1, s$1.match_length - MIN_MATCH);
8682			s$1.lookahead -= s$1.match_length;
8683			s$1.strstart += s$1.match_length;
8684			s$1.match_length = 0;
8685		} else {
8686			bflush = _tr_tally(s$1, 0, s$1.window[s$1.strstart]);
8687			s$1.lookahead--;
8688			s$1.strstart++;
8689		}
8690		if (bflush) {
8691			flush_block_only(s$1, false);
8692			if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8693		}
8694	}
8695	s$1.insert = 0;
8696	if (flush === Z_FINISH$3) {
8697		flush_block_only(s$1, true);
8698		if (s$1.strm.avail_out === 0) return BS_FINISH_STARTED;
8699		return BS_FINISH_DONE;
8700	}
8701	if (s$1.sym_next) {
8702		flush_block_only(s$1, false);
8703		if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8704	}
8705	return BS_BLOCK_DONE;
8706};
8707var deflate_huff = (s$1, flush) => {
8708	let bflush;
8709	for (;;) {
8710		if (s$1.lookahead === 0) {
8711			fill_window(s$1);
8712			if (s$1.lookahead === 0) {
8713				if (flush === Z_NO_FLUSH$2) return BS_NEED_MORE;
8714				break;
8715			}
8716		}
8717		s$1.match_length = 0;
8718		bflush = _tr_tally(s$1, 0, s$1.window[s$1.strstart]);
8719		s$1.lookahead--;
8720		s$1.strstart++;
8721		if (bflush) {
8722			flush_block_only(s$1, false);
8723			if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8724		}
8725	}
8726	s$1.insert = 0;
8727	if (flush === Z_FINISH$3) {
8728		flush_block_only(s$1, true);
8729		if (s$1.strm.avail_out === 0) return BS_FINISH_STARTED;
8730		return BS_FINISH_DONE;
8731	}
8732	if (s$1.sym_next) {
8733		flush_block_only(s$1, false);
8734		if (s$1.strm.avail_out === 0) return BS_NEED_MORE;
8735	}
8736	return BS_BLOCK_DONE;
8737};
8738function Config(good_length, max_lazy, nice_length, max_chain, func) {
8739	this.good_length = good_length;
8740	this.max_lazy = max_lazy;
8741	this.nice_length = nice_length;
8742	this.max_chain = max_chain;
8743	this.func = func;
8744}
vendor: 15,056 bytes, lines 8745-9201
8745var configuration_table = [
8746	new Config(0, 0, 0, 0, deflate_stored),
8747	new Config(4, 4, 8, 4, deflate_fast),
8748	new Config(4, 5, 16, 8, deflate_fast),
8749	new Config(4, 6, 32, 32, deflate_fast),
8750	new Config(4, 4, 16, 16, deflate_slow),
8751	new Config(8, 16, 32, 32, deflate_slow),
8752	new Config(8, 16, 128, 128, deflate_slow),
8753	new Config(8, 32, 128, 256, deflate_slow),
8754	new Config(32, 128, 258, 1024, deflate_slow),
8755	new Config(32, 258, 258, 4096, deflate_slow)
8756];
8757var lm_init = (s$1) => {
8758	s$1.window_size = 2 * s$1.w_size;
8759	zero(s$1.head);
8760	s$1.max_lazy_match = configuration_table[s$1.level].max_lazy;
8761	s$1.good_match = configuration_table[s$1.level].good_length;
8762	s$1.nice_match = configuration_table[s$1.level].nice_length;
8763	s$1.max_chain_length = configuration_table[s$1.level].max_chain;
8764	s$1.strstart = 0;
8765	s$1.block_start = 0;
8766	s$1.lookahead = 0;
8767	s$1.insert = 0;
8768	s$1.match_length = s$1.prev_length = MIN_MATCH - 1;
8769	s$1.match_available = 0;
8770	s$1.ins_h = 0;
8771};
8772function DeflateState() {
8773	this.strm = null;
8774	this.status = 0;
8775	this.pending_buf = null;
8776	this.pending_buf_size = 0;
8777	this.pending_out = 0;
8778	this.pending = 0;
8779	this.wrap = 0;
8780	this.gzhead = null;
8781	this.gzindex = 0;
8782	this.method = Z_DEFLATED$2;
8783	this.last_flush = -1;
8784	this.w_size = 0;
8785	this.w_bits = 0;
8786	this.w_mask = 0;
8787	this.window = null;
8788	this.window_size = 0;
8789	this.prev = null;
8790	this.head = null;
8791	this.ins_h = 0;
8792	this.hash_size = 0;
8793	this.hash_bits = 0;
8794	this.hash_mask = 0;
8795	this.hash_shift = 0;
8796	this.block_start = 0;
8797	this.match_length = 0;
8798	this.prev_match = 0;
8799	this.match_available = 0;
8800	this.strstart = 0;
8801	this.match_start = 0;
8802	this.lookahead = 0;
8803	this.prev_length = 0;
8804	this.max_chain_length = 0;
8805	this.max_lazy_match = 0;
8806	this.level = 0;
8807	this.strategy = 0;
8808	this.good_match = 0;
8809	this.nice_match = 0;
8810	this.dyn_ltree = new Uint16Array(HEAP_SIZE * 2);
8811	this.dyn_dtree = new Uint16Array((2 * D_CODES + 1) * 2);
8812	this.bl_tree = new Uint16Array((2 * BL_CODES + 1) * 2);
8813	zero(this.dyn_ltree);
8814	zero(this.dyn_dtree);
8815	zero(this.bl_tree);
8816	this.l_desc = null;
8817	this.d_desc = null;
8818	this.bl_desc = null;
8819	this.bl_count = new Uint16Array(MAX_BITS + 1);
8820	this.heap = new Uint16Array(2 * L_CODES + 1);
8821	zero(this.heap);
8822	this.heap_len = 0;
8823	this.heap_max = 0;
8824	this.depth = new Uint16Array(2 * L_CODES + 1);
8825	zero(this.depth);
8826	this.sym_buf = 0;
8827	this.lit_bufsize = 0;
8828	this.sym_next = 0;
8829	this.sym_end = 0;
8830	this.opt_len = 0;
8831	this.static_len = 0;
8832	this.matches = 0;
8833	this.insert = 0;
8834	this.bi_buf = 0;
8835	this.bi_valid = 0;
8836}
8837var deflateStateCheck = (strm) => {
8838	if (!strm) return 1;
8839	const s$1 = strm.state;
8840	if (!s$1 || s$1.strm !== strm || s$1.status !== INIT_STATE && s$1.status !== GZIP_STATE && s$1.status !== EXTRA_STATE && s$1.status !== NAME_STATE && s$1.status !== COMMENT_STATE && s$1.status !== HCRC_STATE && s$1.status !== BUSY_STATE && s$1.status !== FINISH_STATE) return 1;
8841	return 0;
8842};
8843var deflateResetKeep = (strm) => {
8844	if (deflateStateCheck(strm)) return err(strm, Z_STREAM_ERROR$2);
8845	strm.total_in = strm.total_out = 0;
8846	strm.data_type = Z_UNKNOWN;
8847	const s$1 = strm.state;
8848	s$1.pending = 0;
8849	s$1.pending_out = 0;
8850	if (s$1.wrap < 0) s$1.wrap = -s$1.wrap;
8851	s$1.status = s$1.wrap === 2 ? GZIP_STATE : s$1.wrap ? INIT_STATE : BUSY_STATE;
8852	strm.adler = s$1.wrap === 2 ? 0 : 1;
8853	s$1.last_flush = -2;
8854	_tr_init(s$1);
8855	return Z_OK$3;
8856};
8857var deflateReset = (strm) => {
8858	const ret = deflateResetKeep(strm);
8859	if (ret === Z_OK$3) lm_init(strm.state);
8860	return ret;
8861};
8862var deflateSetHeader = (strm, head) => {
8863	if (deflateStateCheck(strm) || strm.state.wrap !== 2) return Z_STREAM_ERROR$2;
8864	strm.state.gzhead = head;
8865	return Z_OK$3;
8866};
8867var deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => {
8868	if (!strm) return Z_STREAM_ERROR$2;
8869	let wrap = 1;
8870	if (level === Z_DEFAULT_COMPRESSION$1) level = 6;
8871	if (windowBits < 0) {
8872		wrap = 0;
8873		windowBits = -windowBits;
8874	} else if (windowBits > 15) {
8875		wrap = 2;
8876		windowBits -= 16;
8877	}
8878	if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED$2 || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED || windowBits === 8 && wrap !== 1) return err(strm, Z_STREAM_ERROR$2);
8879	if (windowBits === 8) windowBits = 9;
8880	const s$1 = new DeflateState();
8881	strm.state = s$1;
8882	s$1.strm = strm;
8883	s$1.status = INIT_STATE;
8884	s$1.wrap = wrap;
8885	s$1.gzhead = null;
8886	s$1.w_bits = windowBits;
8887	s$1.w_size = 1 << s$1.w_bits;
8888	s$1.w_mask = s$1.w_size - 1;
8889	s$1.hash_bits = memLevel + 7;
8890	s$1.hash_size = 1 << s$1.hash_bits;
8891	s$1.hash_mask = s$1.hash_size - 1;
8892	s$1.hash_shift = ~~((s$1.hash_bits + MIN_MATCH - 1) / MIN_MATCH);
8893	s$1.window = new Uint8Array(s$1.w_size * 2);
8894	s$1.head = new Uint16Array(s$1.hash_size);
8895	s$1.prev = new Uint16Array(s$1.w_size);
8896	s$1.lit_bufsize = 1 << memLevel + 6;
8897	s$1.pending_buf_size = s$1.lit_bufsize * 4;
8898	s$1.pending_buf = new Uint8Array(s$1.pending_buf_size);
8899	s$1.sym_buf = s$1.lit_bufsize;
8900	s$1.sym_end = (s$1.lit_bufsize - 1) * 3;
8901	s$1.level = level;
8902	s$1.strategy = strategy;
8903	s$1.method = method;
8904	return deflateReset(strm);
8905};
8906var deflateInit = (strm, level) => {
8907	return deflateInit2(strm, level, Z_DEFLATED$2, MAX_WBITS$1, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY$1);
8908};
8909var deflate$2 = (strm, flush) => {
8910	if (deflateStateCheck(strm) || flush > Z_BLOCK$1 || flush < 0) return strm ? err(strm, Z_STREAM_ERROR$2) : Z_STREAM_ERROR$2;
8911	const s$1 = strm.state;
8912	if (!strm.output || strm.avail_in !== 0 && !strm.input || s$1.status === FINISH_STATE && flush !== Z_FINISH$3) return err(strm, strm.avail_out === 0 ? Z_BUF_ERROR$1 : Z_STREAM_ERROR$2);
8913	const old_flush = s$1.last_flush;
8914	s$1.last_flush = flush;
8915	if (s$1.pending !== 0) {
8916		flush_pending(strm);
8917		if (strm.avail_out === 0) {
8918			s$1.last_flush = -1;
8919			return Z_OK$3;
8920		}
8921	} else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH$3) return err(strm, Z_BUF_ERROR$1);
8922	if (s$1.status === FINISH_STATE && strm.avail_in !== 0) return err(strm, Z_BUF_ERROR$1);
8923	if (s$1.status === INIT_STATE && s$1.wrap === 0) s$1.status = BUSY_STATE;
8924	if (s$1.status === INIT_STATE) {
8925		let header = Z_DEFLATED$2 + (s$1.w_bits - 8 << 4) << 8;
8926		let level_flags = -1;
8927		if (s$1.strategy >= Z_HUFFMAN_ONLY || s$1.level < 2) level_flags = 0;
8928		else if (s$1.level < 6) level_flags = 1;
8929		else if (s$1.level === 6) level_flags = 2;
8930		else level_flags = 3;
8931		header |= level_flags << 6;
8932		if (s$1.strstart !== 0) header |= PRESET_DICT;
8933		header += 31 - header % 31;
8934		putShortMSB(s$1, header);
8935		if (s$1.strstart !== 0) {
8936			putShortMSB(s$1, strm.adler >>> 16);
8937			putShortMSB(s$1, strm.adler & 65535);
8938		}
8939		strm.adler = 1;
8940		s$1.status = BUSY_STATE;
8941		flush_pending(strm);
8942		if (s$1.pending !== 0) {
8943			s$1.last_flush = -1;
8944			return Z_OK$3;
8945		}
8946	}
8947	if (s$1.status === GZIP_STATE) {
8948		strm.adler = 0;
8949		put_byte(s$1, 31);
8950		put_byte(s$1, 139);
8951		put_byte(s$1, 8);
8952		if (!s$1.gzhead) {
8953			put_byte(s$1, 0);
8954			put_byte(s$1, 0);
8955			put_byte(s$1, 0);
8956			put_byte(s$1, 0);
8957			put_byte(s$1, 0);
8958			put_byte(s$1, s$1.level === 9 ? 2 : s$1.strategy >= Z_HUFFMAN_ONLY || s$1.level < 2 ? 4 : 0);
8959			put_byte(s$1, OS_CODE);
8960			s$1.status = BUSY_STATE;
8961			flush_pending(strm);
8962			if (s$1.pending !== 0) {
8963				s$1.last_flush = -1;
8964				return Z_OK$3;
8965			}
8966		} else {
8967			put_byte(s$1, (s$1.gzhead.text ? 1 : 0) + (s$1.gzhead.hcrc ? 2 : 0) + (!s$1.gzhead.extra ? 0 : 4) + (!s$1.gzhead.name ? 0 : 8) + (!s$1.gzhead.comment ? 0 : 16));
8968			put_byte(s$1, s$1.gzhead.time & 255);
8969			put_byte(s$1, s$1.gzhead.time >> 8 & 255);
8970			put_byte(s$1, s$1.gzhead.time >> 16 & 255);
8971			put_byte(s$1, s$1.gzhead.time >> 24 & 255);
8972			put_byte(s$1, s$1.level === 9 ? 2 : s$1.strategy >= Z_HUFFMAN_ONLY || s$1.level < 2 ? 4 : 0);
8973			put_byte(s$1, s$1.gzhead.os & 255);
8974			if (s$1.gzhead.extra && s$1.gzhead.extra.length) {
8975				put_byte(s$1, s$1.gzhead.extra.length & 255);
8976				put_byte(s$1, s$1.gzhead.extra.length >> 8 & 255);
8977			}
8978			if (s$1.gzhead.hcrc) strm.adler = crc32_1(strm.adler, s$1.pending_buf, s$1.pending, 0);
8979			s$1.gzindex = 0;
8980			s$1.status = EXTRA_STATE;
8981		}
8982	}
8983	if (s$1.status === EXTRA_STATE) {
8984		if (s$1.gzhead.extra) {
8985			let beg = s$1.pending;
8986			let left = (s$1.gzhead.extra.length & 65535) - s$1.gzindex;
8987			while (s$1.pending + left > s$1.pending_buf_size) {
8988				let copy = s$1.pending_buf_size - s$1.pending;
8989				s$1.pending_buf.set(s$1.gzhead.extra.subarray(s$1.gzindex, s$1.gzindex + copy), s$1.pending);
8990				s$1.pending = s$1.pending_buf_size;
8991				if (s$1.gzhead.hcrc && s$1.pending > beg) strm.adler = crc32_1(strm.adler, s$1.pending_buf, s$1.pending - beg, beg);
8992				s$1.gzindex += copy;
8993				flush_pending(strm);
8994				if (s$1.pending !== 0) {
8995					s$1.last_flush = -1;
8996					return Z_OK$3;
8997				}
8998				beg = 0;
8999				left -= copy;
9000			}
9001			let gzhead_extra = new Uint8Array(s$1.gzhead.extra);
9002			s$1.pending_buf.set(gzhead_extra.subarray(s$1.gzindex, s$1.gzindex + left), s$1.pending);
9003			s$1.pending += left;
9004			if (s$1.gzhead.hcrc && s$1.pending > beg) strm.adler = crc32_1(strm.adler, s$1.pending_buf, s$1.pending - beg, beg);
9005			s$1.gzindex = 0;
9006		}
9007		s$1.status = NAME_STATE;
9008	}
9009	if (s$1.status === NAME_STATE) {
9010		if (s$1.gzhead.name) {
9011			let beg = s$1.pending;
9012			let val;
9013			do {
9014				if (s$1.pending === s$1.pending_buf_size) {
9015					if (s$1.gzhead.hcrc && s$1.pending > beg) strm.adler = crc32_1(strm.adler, s$1.pending_buf, s$1.pending - beg, beg);
9016					flush_pending(strm);
9017					if (s$1.pending !== 0) {
9018						s$1.last_flush = -1;
9019						return Z_OK$3;
9020					}
9021					beg = 0;
9022				}
9023				if (s$1.gzindex < s$1.gzhead.name.length) val = s$1.gzhead.name.charCodeAt(s$1.gzindex++) & 255;
9024				else val = 0;
9025				put_byte(s$1, val);
9026			} while (val !== 0);
9027			if (s$1.gzhead.hcrc && s$1.pending > beg) strm.adler = crc32_1(strm.adler, s$1.pending_buf, s$1.pending - beg, beg);
9028			s$1.gzindex = 0;
9029		}
9030		s$1.status = COMMENT_STATE;
9031	}
9032	if (s$1.status === COMMENT_STATE) {
9033		if (s$1.gzhead.comment) {
9034			let beg = s$1.pending;
9035			let val;
9036			do {
9037				if (s$1.pending === s$1.pending_buf_size) {
9038					if (s$1.gzhead.hcrc && s$1.pending > beg) strm.adler = crc32_1(strm.adler, s$1.pending_buf, s$1.pending - beg, beg);
9039					flush_pending(strm);
9040					if (s$1.pending !== 0) {
9041						s$1.last_flush = -1;
9042						return Z_OK$3;
9043					}
9044					beg = 0;
9045				}
9046				if (s$1.gzindex < s$1.gzhead.comment.length) val = s$1.gzhead.comment.charCodeAt(s$1.gzindex++) & 255;
9047				else val = 0;
9048				put_byte(s$1, val);
9049			} while (val !== 0);
9050			if (s$1.gzhead.hcrc && s$1.pending > beg) strm.adler = crc32_1(strm.adler, s$1.pending_buf, s$1.pending - beg, beg);
9051		}
9052		s$1.status = HCRC_STATE;
9053	}
9054	if (s$1.status === HCRC_STATE) {
9055		if (s$1.gzhead.hcrc) {
9056			if (s$1.pending + 2 > s$1.pending_buf_size) {
9057				flush_pending(strm);
9058				if (s$1.pending !== 0) {
9059					s$1.last_flush = -1;
9060					return Z_OK$3;
9061				}
9062			}
9063			put_byte(s$1, strm.adler & 255);
9064			put_byte(s$1, strm.adler >> 8 & 255);
9065			strm.adler = 0;
9066		}
9067		s$1.status = BUSY_STATE;
9068		flush_pending(strm);
9069		if (s$1.pending !== 0) {
9070			s$1.last_flush = -1;
9071			return Z_OK$3;
9072		}
9073	}
9074	if (strm.avail_in !== 0 || s$1.lookahead !== 0 || flush !== Z_NO_FLUSH$2 && s$1.status !== FINISH_STATE) {
9075		let bstate = s$1.level === 0 ? deflate_stored(s$1, flush) : s$1.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s$1, flush) : s$1.strategy === Z_RLE ? deflate_rle(s$1, flush) : configuration_table[s$1.level].func(s$1, flush);
9076		if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) s$1.status = FINISH_STATE;
9077		if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {
9078			if (strm.avail_out === 0) s$1.last_flush = -1;
9079			return Z_OK$3;
9080		}
9081		if (bstate === BS_BLOCK_DONE) {
9082			if (flush === Z_PARTIAL_FLUSH) _tr_align(s$1);
9083			else if (flush !== Z_BLOCK$1) {
9084				_tr_stored_block(s$1, 0, 0, false);
9085				if (flush === Z_FULL_FLUSH$1) {
9086					zero(s$1.head);
9087					if (s$1.lookahead === 0) {
9088						s$1.strstart = 0;
9089						s$1.block_start = 0;
9090						s$1.insert = 0;
9091					}
9092				}
9093			}
9094			flush_pending(strm);
9095			if (strm.avail_out === 0) {
9096				s$1.last_flush = -1;
9097				return Z_OK$3;
9098			}
9099		}
9100	}
9101	if (flush !== Z_FINISH$3) return Z_OK$3;
9102	if (s$1.wrap <= 0) return Z_STREAM_END$3;
9103	if (s$1.wrap === 2) {
9104		put_byte(s$1, strm.adler & 255);
9105		put_byte(s$1, strm.adler >> 8 & 255);
9106		put_byte(s$1, strm.adler >> 16 & 255);
9107		put_byte(s$1, strm.adler >> 24 & 255);
9108		put_byte(s$1, strm.total_in & 255);
9109		put_byte(s$1, strm.total_in >> 8 & 255);
9110		put_byte(s$1, strm.total_in >> 16 & 255);
9111		put_byte(s$1, strm.total_in >> 24 & 255);
9112	} else {
9113		putShortMSB(s$1, strm.adler >>> 16);
9114		putShortMSB(s$1, strm.adler & 65535);
9115	}
9116	flush_pending(strm);
9117	if (s$1.wrap > 0) s$1.wrap = -s$1.wrap;
9118	return s$1.pending !== 0 ? Z_OK$3 : Z_STREAM_END$3;
9119};
9120var deflateEnd = (strm) => {
9121	if (deflateStateCheck(strm)) return Z_STREAM_ERROR$2;
9122	const status = strm.state.status;
9123	strm.state = null;
9124	return status === BUSY_STATE ? err(strm, Z_DATA_ERROR$2) : Z_OK$3;
9125};
9126var deflateSetDictionary = (strm, dictionary) => {
9127	let dictLength = dictionary.length;
9128	if (deflateStateCheck(strm)) return Z_STREAM_ERROR$2;
9129	const s$1 = strm.state;
9130	const wrap = s$1.wrap;
9131	if (wrap === 2 || wrap === 1 && s$1.status !== INIT_STATE || s$1.lookahead) return Z_STREAM_ERROR$2;
9132	if (wrap === 1) strm.adler = adler32_1(strm.adler, dictionary, dictLength, 0);
9133	s$1.wrap = 0;
9134	if (dictLength >= s$1.w_size) {
9135		if (wrap === 0) {
9136			zero(s$1.head);
9137			s$1.strstart = 0;
9138			s$1.block_start = 0;
9139			s$1.insert = 0;
9140		}
9141		let tmpDict = new Uint8Array(s$1.w_size);
9142		tmpDict.set(dictionary.subarray(dictLength - s$1.w_size, dictLength), 0);
9143		dictionary = tmpDict;
9144		dictLength = s$1.w_size;
9145	}
9146	const avail = strm.avail_in;
9147	const next = strm.next_in;
9148	const input = strm.input;
9149	strm.avail_in = dictLength;
9150	strm.next_in = 0;
9151	strm.input = dictionary;
9152	fill_window(s$1);
9153	while (s$1.lookahead >= MIN_MATCH) {
9154		let str = s$1.strstart;
9155		let n = s$1.lookahead - (MIN_MATCH - 1);
9156		do {
9157			s$1.ins_h = HASH(s$1, s$1.ins_h, s$1.window[str + MIN_MATCH - 1]);
9158			s$1.prev[str & s$1.w_mask] = s$1.head[s$1.ins_h];
9159			s$1.head[s$1.ins_h] = str;
9160			str++;
9161		} while (--n);
9162		s$1.strstart = str;
9163		s$1.lookahead = MIN_MATCH - 1;
9164		fill_window(s$1);
9165	}
9166	s$1.strstart += s$1.lookahead;
9167	s$1.block_start = s$1.strstart;
9168	s$1.insert = s$1.lookahead;
9169	s$1.lookahead = 0;
9170	s$1.match_length = s$1.prev_length = MIN_MATCH - 1;
9171	s$1.match_available = 0;
9172	strm.next_in = next;
9173	strm.input = input;
9174	strm.avail_in = avail;
9175	s$1.wrap = wrap;
9176	return Z_OK$3;
9177};
9178var deflate_1$2 = {
9179	deflateInit,
9180	deflateInit2,
9181	deflateReset,
9182	deflateResetKeep,
9183	deflateSetHeader,
9184	deflate: deflate$2,
9185	deflateEnd,
9186	deflateSetDictionary,
9187	deflateInfo: "pako deflate (from Nodeca project)"
9188};
9189var _has = (obj, key) => {
9190	return Object.prototype.hasOwnProperty.call(obj, key);
9191};
9192var assign = function(obj) {
9193	const sources = Array.prototype.slice.call(arguments, 1);
9194	while (sources.length) {
9195		const source = sources.shift();
9196		if (!source) continue;
9197		if (typeof source !== "object") throw new TypeError(source + "must be non-object");
9198		for (const p$1 in source) if (_has(source, p$1)) obj[p$1] = source[p$1];
9199	}
9200	return obj;
9201};
9202var flattenChunks = (chunks) => {
9203	let len = 0;
9204	for (let i$2 = 0, l$1 = chunks.length; i$2 < l$1; i$2++) len += chunks[i$2].length;
9205	const result = new Uint8Array(len);
9206	for (let i$2 = 0, pos = 0, l$1 = chunks.length; i$2 < l$1; i$2++) {
9207		let chunk = chunks[i$2];
9208		result.set(chunk, pos);
9209		pos += chunk.length;
9210	}
9211	return result;
9212};
9213var common = {
9214	assign,
9215	flattenChunks
9216};
9217var STR_APPLY_UIA_OK = true;
9218try {
9219	String.fromCharCode.apply(null, new Uint8Array(1));
9220} catch (__) {
9221	STR_APPLY_UIA_OK = false;
9222}
9223var _utf8len = new Uint8Array(256);
9224for (let q$1 = 0; q$1 < 256; q$1++) _utf8len[q$1] = q$1 >= 252 ? 6 : q$1 >= 248 ? 5 : q$1 >= 240 ? 4 : q$1 >= 224 ? 3 : q$1 >= 192 ? 2 : 1;
9225_utf8len[254] = _utf8len[254] = 1;
9226var string2buf = (str) => {
9227	if (typeof TextEncoder === "function" && TextEncoder.prototype.encode) return new TextEncoder().encode(str);
9228	let buf, c$1, c2, m_pos, i$2, str_len = str.length, buf_len = 0;
9229	for (m_pos = 0; m_pos < str_len; m_pos++) {
9230		c$1 = str.charCodeAt(m_pos);
9231		if ((c$1 & 64512) === 55296 && m_pos + 1 < str_len) {
9232			c2 = str.charCodeAt(m_pos + 1);
9233			if ((c2 & 64512) === 56320) {
9234				c$1 = 65536 + (c$1 - 55296 << 10) + (c2 - 56320);
9235				m_pos++;
9236			}
9237		}
9238		buf_len += c$1 < 128 ? 1 : c$1 < 2048 ? 2 : c$1 < 65536 ? 3 : 4;
9239	}
9240	buf = new Uint8Array(buf_len);
9241	for (i$2 = 0, m_pos = 0; i$2 < buf_len; m_pos++) {
9242		c$1 = str.charCodeAt(m_pos);
9243		if ((c$1 & 64512) === 55296 && m_pos + 1 < str_len) {
9244			c2 = str.charCodeAt(m_pos + 1);
9245			if ((c2 & 64512) === 56320) {
9246				c$1 = 65536 + (c$1 - 55296 << 10) + (c2 - 56320);
9247				m_pos++;
9248			}
9249		}
9250		if (c$1 < 128) buf[i$2++] = c$1;
9251		else if (c$1 < 2048) {
9252			buf[i$2++] = 192 | c$1 >>> 6;
9253			buf[i$2++] = 128 | c$1 & 63;
9254		} else if (c$1 < 65536) {
9255			buf[i$2++] = 224 | c$1 >>> 12;
9256			buf[i$2++] = 128 | c$1 >>> 6 & 63;
9257			buf[i$2++] = 128 | c$1 & 63;
9258		} else {
9259			buf[i$2++] = 240 | c$1 >>> 18;
9260			buf[i$2++] = 128 | c$1 >>> 12 & 63;
9261			buf[i$2++] = 128 | c$1 >>> 6 & 63;
9262			buf[i$2++] = 128 | c$1 & 63;
9263		}
9264	}
9265	return buf;
9266};
9267var buf2binstring = (buf, len) => {
9268	if (len < 65534) {
9269		if (buf.subarray && STR_APPLY_UIA_OK) return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));
9270	}
9271	let result = "";
9272	for (let i$2 = 0; i$2 < len; i$2++) result += String.fromCharCode(buf[i$2]);
9273	return result;
9274};
9275var buf2string = (buf, max) => {
9276	const len = max || buf.length;
9277	if (typeof TextDecoder === "function" && TextDecoder.prototype.decode) return new TextDecoder().decode(buf.subarray(0, max));
9278	let i$2, out;
9279	const utf16buf = new Array(len * 2);
9280	for (out = 0, i$2 = 0; i$2 < len;) {
9281		let c$1 = buf[i$2++];
9282		if (c$1 < 128) {
9283			utf16buf[out++] = c$1;
9284			continue;
9285		}
9286		let c_len = _utf8len[c$1];
9287		if (c_len > 4) {
9288			utf16buf[out++] = 65533;
9289			i$2 += c_len - 1;
9290			continue;
9291		}
9292		c$1 &= c_len === 2 ? 31 : c_len === 3 ? 15 : 7;
9293		while (c_len > 1 && i$2 < len) {
9294			c$1 = c$1 << 6 | buf[i$2++] & 63;
9295			c_len--;
9296		}
9297		if (c_len > 1) {
9298			utf16buf[out++] = 65533;
9299			continue;
9300		}
9301		if (c$1 < 65536) utf16buf[out++] = c$1;
9302		else {
9303			c$1 -= 65536;
9304			utf16buf[out++] = 55296 | c$1 >> 10 & 1023;
9305			utf16buf[out++] = 56320 | c$1 & 1023;
9306		}
9307	}
9308	return buf2binstring(utf16buf, out);
9309};
9310var utf8border = (buf, max) => {
9311	max = max || buf.length;
9312	if (max > buf.length) max = buf.length;
9313	let pos = max - 1;
9314	while (pos >= 0 && (buf[pos] & 192) === 128) pos--;
9315	if (pos < 0) return max;
9316	if (pos === 0) return max;
9317	return pos + _utf8len[buf[pos]] > max ? pos : max;
9318};
9319var strings = {
9320	string2buf,
9321	buf2string,
9322	utf8border
9323};
9324function ZStream() {
9325	this.input = null;
9326	this.next_in = 0;
9327	this.avail_in = 0;
9328	this.total_in = 0;
9329	this.output = null;
9330	this.next_out = 0;
9331	this.avail_out = 0;
9332	this.total_out = 0;
9333	this.msg = "";
9334	this.state = null;
9335	this.data_type = 2;
9336	this.adler = 0;
9337}
9338var zstream = ZStream;
9339var toString$1 = Object.prototype.toString;
9340var { Z_NO_FLUSH: Z_NO_FLUSH$1, Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH: Z_FINISH$2, Z_OK: Z_OK$2, Z_STREAM_END: Z_STREAM_END$2, Z_DEFAULT_COMPRESSION, Z_DEFAULT_STRATEGY, Z_DEFLATED: Z_DEFLATED$1 } = constants$2;
9341function Deflate$1(options) {
9342	this.options = common.assign({
9343		level: Z_DEFAULT_COMPRESSION,
9344		method: Z_DEFLATED$1,
9345		chunkSize: 16384,
9346		windowBits: 15,
9347		memLevel: 8,
9348		strategy: Z_DEFAULT_STRATEGY
9349	}, options || {});
9350	let opt = this.options;
9351	if (opt.raw && opt.windowBits > 0) opt.windowBits = -opt.windowBits;
9352	else if (opt.gzip && opt.windowBits > 0 && opt.windowBits < 16) opt.windowBits += 16;
9353	this.err = 0;
9354	this.msg = "";
9355	this.ended = false;
vendor: 4,997 bytes, lines 9356-9543
9356	this.chunks = [];
9357	this.strm = new zstream();
9358	this.strm.avail_out = 0;
9359	let status = deflate_1$2.deflateInit2(this.strm, opt.level, opt.method, opt.windowBits, opt.memLevel, opt.strategy);
9360	if (status !== Z_OK$2) throw new Error(messages[status]);
9361	if (opt.header) deflate_1$2.deflateSetHeader(this.strm, opt.header);
9362	if (opt.dictionary) {
9363		let dict;
9364		if (typeof opt.dictionary === "string") dict = strings.string2buf(opt.dictionary);
9365		else if (toString$1.call(opt.dictionary) === "[object ArrayBuffer]") dict = new Uint8Array(opt.dictionary);
9366		else dict = opt.dictionary;
9367		status = deflate_1$2.deflateSetDictionary(this.strm, dict);
9368		if (status !== Z_OK$2) throw new Error(messages[status]);
9369		this._dict_set = true;
9370	}
9371}
9372Deflate$1.prototype.push = function(data, flush_mode) {
9373	const strm = this.strm;
9374	const chunkSize = this.options.chunkSize;
9375	let status, _flush_mode;
9376	if (this.ended) return false;
9377	if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;
9378	else _flush_mode = flush_mode === true ? Z_FINISH$2 : Z_NO_FLUSH$1;
9379	if (typeof data === "string") strm.input = strings.string2buf(data);
9380	else if (toString$1.call(data) === "[object ArrayBuffer]") strm.input = new Uint8Array(data);
9381	else strm.input = data;
9382	strm.next_in = 0;
9383	strm.avail_in = strm.input.length;
9384	for (;;) {
9385		if (strm.avail_out === 0) {
9386			strm.output = new Uint8Array(chunkSize);
9387			strm.next_out = 0;
9388			strm.avail_out = chunkSize;
9389		}
9390		if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) {
9391			this.onData(strm.output.subarray(0, strm.next_out));
9392			strm.avail_out = 0;
9393			continue;
9394		}
9395		status = deflate_1$2.deflate(strm, _flush_mode);
9396		if (status === Z_STREAM_END$2) {
9397			if (strm.next_out > 0) this.onData(strm.output.subarray(0, strm.next_out));
9398			status = deflate_1$2.deflateEnd(this.strm);
9399			this.onEnd(status);
9400			this.ended = true;
9401			return status === Z_OK$2;
9402		}
9403		if (strm.avail_out === 0) {
9404			this.onData(strm.output);
9405			continue;
9406		}
9407		if (_flush_mode > 0 && strm.next_out > 0) {
9408			this.onData(strm.output.subarray(0, strm.next_out));
9409			strm.avail_out = 0;
9410			continue;
9411		}
9412		if (strm.avail_in === 0) break;
9413	}
9414	return true;
9415};
9416Deflate$1.prototype.onData = function(chunk) {
9417	this.chunks.push(chunk);
9418};
9419Deflate$1.prototype.onEnd = function(status) {
9420	if (status === Z_OK$2) this.result = common.flattenChunks(this.chunks);
9421	this.chunks = [];
9422	this.err = status;
9423	this.msg = this.strm.msg;
9424};
9425function deflate$1(input, options) {
9426	const deflator = new Deflate$1(options);
9427	deflator.push(input, true);
9428	if (deflator.err) throw deflator.msg || messages[deflator.err];
9429	return deflator.result;
9430}
9431function deflateRaw$1(input, options) {
9432	options = options || {};
9433	options.raw = true;
9434	return deflate$1(input, options);
9435}
9436function gzip$1(input, options) {
9437	options = options || {};
9438	options.gzip = true;
9439	return deflate$1(input, options);
9440}
9441var deflate_1$1 = {
9442	Deflate: Deflate$1,
9443	deflate: deflate$1,
9444	deflateRaw: deflateRaw$1,
9445	gzip: gzip$1,
9446	constants: constants$2
9447};
9448var BAD$1 = 16209;
9449var TYPE$1 = 16191;
9450var inffast = function inflate_fast(strm, start) {
9451	let _in;
9452	let last;
9453	let _out;
9454	let beg;
9455	let end;
9456	let dmax;
9457	let wsize;
9458	let whave;
9459	let wnext;
9460	let s_window;
9461	let hold;
9462	let bits;
9463	let lcode;
9464	let dcode;
9465	let lmask;
9466	let dmask;
9467	let here;
9468	let op;
9469	let len;
9470	let dist;
9471	let from;
9472	let from_source;
9473	let input, output;
9474	const state = strm.state;
9475	_in = strm.next_in;
9476	input = strm.input;
9477	last = _in + (strm.avail_in - 5);
9478	_out = strm.next_out;
9479	output = strm.output;
9480	beg = _out - (start - strm.avail_out);
9481	end = _out + (strm.avail_out - 257);
9482	dmax = state.dmax;
9483	wsize = state.wsize;
9484	whave = state.whave;
9485	wnext = state.wnext;
9486	s_window = state.window;
9487	hold = state.hold;
9488	bits = state.bits;
9489	lcode = state.lencode;
9490	dcode = state.distcode;
9491	lmask = (1 << state.lenbits) - 1;
9492	dmask = (1 << state.distbits) - 1;
9493	top: do {
9494		if (bits < 15) {
9495			hold += input[_in++] << bits;
9496			bits += 8;
9497			hold += input[_in++] << bits;
9498			bits += 8;
9499		}
9500		here = lcode[hold & lmask];
9501		dolen: for (;;) {
9502			op = here >>> 24;
9503			hold >>>= op;
9504			bits -= op;
9505			op = here >>> 16 & 255;
9506			if (op === 0) output[_out++] = here & 65535;
9507			else if (op & 16) {
9508				len = here & 65535;
9509				op &= 15;
9510				if (op) {
9511					if (bits < op) {
9512						hold += input[_in++] << bits;
9513						bits += 8;
9514					}
9515					len += hold & (1 << op) - 1;
9516					hold >>>= op;
9517					bits -= op;
9518				}
9519				if (bits < 15) {
9520					hold += input[_in++] << bits;
9521					bits += 8;
9522					hold += input[_in++] << bits;
9523					bits += 8;
9524				}
9525				here = dcode[hold & dmask];
9526				dodist: for (;;) {
9527					op = here >>> 24;
9528					hold >>>= op;
9529					bits -= op;
9530					op = here >>> 16 & 255;
9531					if (op & 16) {
9532						dist = here & 65535;
9533						op &= 15;
9534						if (bits < op) {
9535							hold += input[_in++] << bits;
9536							bits += 8;
9537							if (bits < op) {
9538								hold += input[_in++] << bits;
9539								bits += 8;
9540							}
9541						}
9542						dist += hold & (1 << op) - 1;
9543						if (dist > dmax) {
vendor: 32,636 bytes, lines 9544-10936
9544							strm.msg = "invalid distance too far back";
9545							state.mode = BAD$1;
9546							break top;
9547						}
9548						hold >>>= op;
9549						bits -= op;
9550						op = _out - beg;
9551						if (dist > op) {
9552							op = dist - op;
9553							if (op > whave) {
9554								if (state.sane) {
9555									strm.msg = "invalid distance too far back";
9556									state.mode = BAD$1;
9557									break top;
9558								}
9559							}
9560							from = 0;
9561							from_source = s_window;
9562							if (wnext === 0) {
9563								from += wsize - op;
9564								if (op < len) {
9565									len -= op;
9566									do
9567										output[_out++] = s_window[from++];
9568									while (--op);
9569									from = _out - dist;
9570									from_source = output;
9571								}
9572							} else if (wnext < op) {
9573								from += wsize + wnext - op;
9574								op -= wnext;
9575								if (op < len) {
9576									len -= op;
9577									do
9578										output[_out++] = s_window[from++];
9579									while (--op);
9580									from = 0;
9581									if (wnext < len) {
9582										op = wnext;
9583										len -= op;
9584										do
9585											output[_out++] = s_window[from++];
9586										while (--op);
9587										from = _out - dist;
9588										from_source = output;
9589									}
9590								}
9591							} else {
9592								from += wnext - op;
9593								if (op < len) {
9594									len -= op;
9595									do
9596										output[_out++] = s_window[from++];
9597									while (--op);
9598									from = _out - dist;
9599									from_source = output;
9600								}
9601							}
9602							while (len > 2) {
9603								output[_out++] = from_source[from++];
9604								output[_out++] = from_source[from++];
9605								output[_out++] = from_source[from++];
9606								len -= 3;
9607							}
9608							if (len) {
9609								output[_out++] = from_source[from++];
9610								if (len > 1) output[_out++] = from_source[from++];
9611							}
9612						} else {
9613							from = _out - dist;
9614							do {
9615								output[_out++] = output[from++];
9616								output[_out++] = output[from++];
9617								output[_out++] = output[from++];
9618								len -= 3;
9619							} while (len > 2);
9620							if (len) {
9621								output[_out++] = output[from++];
9622								if (len > 1) output[_out++] = output[from++];
9623							}
9624						}
9625					} else if ((op & 64) === 0) {
9626						here = dcode[(here & 65535) + (hold & (1 << op) - 1)];
9627						continue dodist;
9628					} else {
9629						strm.msg = "invalid distance code";
9630						state.mode = BAD$1;
9631						break top;
9632					}
9633					break;
9634				}
9635			} else if ((op & 64) === 0) {
9636				here = lcode[(here & 65535) + (hold & (1 << op) - 1)];
9637				continue dolen;
9638			} else if (op & 32) {
9639				state.mode = TYPE$1;
9640				break top;
9641			} else {
9642				strm.msg = "invalid literal/length code";
9643				state.mode = BAD$1;
9644				break top;
9645			}
9646			break;
9647		}
9648	} while (_in < last && _out < end);
9649	len = bits >> 3;
9650	_in -= len;
9651	bits -= len << 3;
9652	hold &= (1 << bits) - 1;
9653	strm.next_in = _in;
9654	strm.next_out = _out;
9655	strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last);
9656	strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end);
9657	state.hold = hold;
9658	state.bits = bits;
9659};
9660var MAXBITS = 15;
9661var ENOUGH_LENS$1 = 852;
9662var ENOUGH_DISTS$1 = 592;
9663var CODES$1 = 0;
9664var LENS$1 = 1;
9665var DISTS$1 = 2;
9666var lbase = new Uint16Array([
9667	3,
9668	4,
9669	5,
9670	6,
9671	7,
9672	8,
9673	9,
9674	10,
9675	11,
9676	13,
9677	15,
9678	17,
9679	19,
9680	23,
9681	27,
9682	31,
9683	35,
9684	43,
9685	51,
9686	59,
9687	67,
9688	83,
9689	99,
9690	115,
9691	131,
9692	163,
9693	195,
9694	227,
9695	258,
9696	0,
9697	0
9698]);
9699var lext = new Uint8Array([
9700	16,
9701	16,
9702	16,
9703	16,
9704	16,
9705	16,
9706	16,
9707	16,
9708	17,
9709	17,
9710	17,
9711	17,
9712	18,
9713	18,
9714	18,
9715	18,
9716	19,
9717	19,
9718	19,
9719	19,
9720	20,
9721	20,
9722	20,
9723	20,
9724	21,
9725	21,
9726	21,
9727	21,
9728	16,
9729	72,
9730	78
9731]);
9732var dbase = new Uint16Array([
9733	1,
9734	2,
9735	3,
9736	4,
9737	5,
9738	7,
9739	9,
9740	13,
9741	17,
9742	25,
9743	33,
9744	49,
9745	65,
9746	97,
9747	129,
9748	193,
9749	257,
9750	385,
9751	513,
9752	769,
9753	1025,
9754	1537,
9755	2049,
9756	3073,
9757	4097,
9758	6145,
9759	8193,
9760	12289,
9761	16385,
9762	24577,
9763	0,
9764	0
9765]);
9766var dext = new Uint8Array([
9767	16,
9768	16,
9769	16,
9770	16,
9771	17,
9772	17,
9773	18,
9774	18,
9775	19,
9776	19,
9777	20,
9778	20,
9779	21,
9780	21,
9781	22,
9782	22,
9783	23,
9784	23,
9785	24,
9786	24,
9787	25,
9788	25,
9789	26,
9790	26,
9791	27,
9792	27,
9793	28,
9794	28,
9795	29,
9796	29,
9797	64,
9798	64
9799]);
9800var inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) => {
9801	const bits = opts.bits;
9802	let len = 0;
9803	let sym = 0;
9804	let min = 0, max = 0;
9805	let root = 0;
9806	let curr = 0;
9807	let drop = 0;
9808	let left = 0;
9809	let used = 0;
9810	let huff = 0;
9811	let incr;
9812	let fill;
9813	let low;
9814	let mask;
9815	let next;
9816	let base = null;
9817	let match;
9818	const count = new Uint16Array(MAXBITS + 1);
9819	const offs = new Uint16Array(MAXBITS + 1);
9820	let extra = null;
9821	let here_bits, here_op, here_val;
9822	for (len = 0; len <= MAXBITS; len++) count[len] = 0;
9823	for (sym = 0; sym < codes; sym++) count[lens[lens_index + sym]]++;
9824	root = bits;
9825	for (max = MAXBITS; max >= 1; max--) if (count[max] !== 0) break;
9826	if (root > max) root = max;
9827	if (max === 0) {
9828		table[table_index++] = 20971520;
9829		table[table_index++] = 20971520;
9830		opts.bits = 1;
9831		return 0;
9832	}
9833	for (min = 1; min < max; min++) if (count[min] !== 0) break;
9834	if (root < min) root = min;
9835	left = 1;
9836	for (len = 1; len <= MAXBITS; len++) {
9837		left <<= 1;
9838		left -= count[len];
9839		if (left < 0) return -1;
9840	}
9841	if (left > 0 && (type === CODES$1 || max !== 1)) return -1;
9842	offs[1] = 0;
9843	for (len = 1; len < MAXBITS; len++) offs[len + 1] = offs[len] + count[len];
9844	for (sym = 0; sym < codes; sym++) if (lens[lens_index + sym] !== 0) work[offs[lens[lens_index + sym]]++] = sym;
9845	if (type === CODES$1) {
9846		base = extra = work;
9847		match = 20;
9848	} else if (type === LENS$1) {
9849		base = lbase;
9850		extra = lext;
9851		match = 257;
9852	} else {
9853		base = dbase;
9854		extra = dext;
9855		match = 0;
9856	}
9857	huff = 0;
9858	sym = 0;
9859	len = min;
9860	next = table_index;
9861	curr = root;
9862	drop = 0;
9863	low = -1;
9864	used = 1 << root;
9865	mask = used - 1;
9866	if (type === LENS$1 && used > ENOUGH_LENS$1 || type === DISTS$1 && used > ENOUGH_DISTS$1) return 1;
9867	for (;;) {
9868		here_bits = len - drop;
9869		if (work[sym] + 1 < match) {
9870			here_op = 0;
9871			here_val = work[sym];
9872		} else if (work[sym] >= match) {
9873			here_op = extra[work[sym] - match];
9874			here_val = base[work[sym] - match];
9875		} else {
9876			here_op = 96;
9877			here_val = 0;
9878		}
9879		incr = 1 << len - drop;
9880		fill = 1 << curr;
9881		min = fill;
9882		do {
9883			fill -= incr;
9884			table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;
9885		} while (fill !== 0);
9886		incr = 1 << len - 1;
9887		while (huff & incr) incr >>= 1;
9888		if (incr !== 0) {
9889			huff &= incr - 1;
9890			huff += incr;
9891		} else huff = 0;
9892		sym++;
9893		if (--count[len] === 0) {
9894			if (len === max) break;
9895			len = lens[lens_index + work[sym]];
9896		}
9897		if (len > root && (huff & mask) !== low) {
9898			if (drop === 0) drop = root;
9899			next += min;
9900			curr = len - drop;
9901			left = 1 << curr;
9902			while (curr + drop < max) {
9903				left -= count[curr + drop];
9904				if (left <= 0) break;
9905				curr++;
9906				left <<= 1;
9907			}
9908			used += 1 << curr;
9909			if (type === LENS$1 && used > ENOUGH_LENS$1 || type === DISTS$1 && used > ENOUGH_DISTS$1) return 1;
9910			low = huff & mask;
9911			table[low] = root << 24 | curr << 16 | next - table_index | 0;
9912		}
9913	}
9914	if (huff !== 0) table[next + huff] = len - drop << 24 | 4194304;
9915	opts.bits = root;
9916	return 0;
9917};
9918var inftrees = inflate_table;
9919var CODES = 0;
9920var LENS = 1;
9921var DISTS = 2;
9922var { Z_FINISH: Z_FINISH$1, Z_BLOCK, Z_TREES, Z_OK: Z_OK$1, Z_STREAM_END: Z_STREAM_END$1, Z_NEED_DICT: Z_NEED_DICT$1, Z_STREAM_ERROR: Z_STREAM_ERROR$1, Z_DATA_ERROR: Z_DATA_ERROR$1, Z_MEM_ERROR: Z_MEM_ERROR$1, Z_BUF_ERROR, Z_DEFLATED } = constants$2;
9923var HEAD = 16180;
9924var FLAGS = 16181;
9925var TIME = 16182;
9926var OS = 16183;
9927var EXLEN = 16184;
9928var EXTRA = 16185;
9929var NAME = 16186;
9930var COMMENT = 16187;
9931var HCRC = 16188;
9932var DICTID = 16189;
9933var DICT = 16190;
9934var TYPE = 16191;
9935var TYPEDO = 16192;
9936var STORED = 16193;
9937var COPY_ = 16194;
9938var COPY = 16195;
9939var TABLE = 16196;
9940var LENLENS = 16197;
9941var CODELENS = 16198;
9942var LEN_ = 16199;
9943var LEN = 16200;
9944var LENEXT = 16201;
9945var DIST = 16202;
9946var DISTEXT = 16203;
9947var MATCH = 16204;
9948var LIT = 16205;
9949var CHECK = 16206;
9950var LENGTH = 16207;
9951var DONE = 16208;
9952var BAD = 16209;
9953var MEM = 16210;
9954var SYNC = 16211;
9955var ENOUGH_LENS = 852;
9956var ENOUGH_DISTS = 592;
9957var DEF_WBITS = 15;
9958var zswap32 = (q$1) => {
9959	return (q$1 >>> 24 & 255) + (q$1 >>> 8 & 65280) + ((q$1 & 65280) << 8) + ((q$1 & 255) << 24);
9960};
9961function InflateState() {
9962	this.strm = null;
9963	this.mode = 0;
9964	this.last = false;
9965	this.wrap = 0;
9966	this.havedict = false;
9967	this.flags = 0;
9968	this.dmax = 0;
9969	this.check = 0;
9970	this.total = 0;
9971	this.head = null;
9972	this.wbits = 0;
9973	this.wsize = 0;
9974	this.whave = 0;
9975	this.wnext = 0;
9976	this.window = null;
9977	this.hold = 0;
9978	this.bits = 0;
9979	this.length = 0;
9980	this.offset = 0;
9981	this.extra = 0;
9982	this.lencode = null;
9983	this.distcode = null;
9984	this.lenbits = 0;
9985	this.distbits = 0;
9986	this.ncode = 0;
9987	this.nlen = 0;
9988	this.ndist = 0;
9989	this.have = 0;
9990	this.next = null;
9991	this.lens = new Uint16Array(320);
9992	this.work = new Uint16Array(288);
9993	this.lendyn = null;
9994	this.distdyn = null;
9995	this.sane = 0;
9996	this.back = 0;
9997	this.was = 0;
9998}
9999var inflateStateCheck = (strm) => {
10000	if (!strm) return 1;
10001	const state = strm.state;
10002	if (!state || state.strm !== strm || state.mode < HEAD || state.mode > SYNC) return 1;
10003	return 0;
10004};
10005var inflateResetKeep = (strm) => {
10006	if (inflateStateCheck(strm)) return Z_STREAM_ERROR$1;
10007	const state = strm.state;
10008	strm.total_in = strm.total_out = state.total = 0;
10009	strm.msg = "";
10010	if (state.wrap) strm.adler = state.wrap & 1;
10011	state.mode = HEAD;
10012	state.last = 0;
10013	state.havedict = 0;
10014	state.flags = -1;
10015	state.dmax = 32768;
10016	state.head = null;
10017	state.hold = 0;
10018	state.bits = 0;
10019	state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS);
10020	state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS);
10021	state.sane = 1;
10022	state.back = -1;
10023	return Z_OK$1;
10024};
10025var inflateReset = (strm) => {
10026	if (inflateStateCheck(strm)) return Z_STREAM_ERROR$1;
10027	const state = strm.state;
10028	state.wsize = 0;
10029	state.whave = 0;
10030	state.wnext = 0;
10031	return inflateResetKeep(strm);
10032};
10033var inflateReset2 = (strm, windowBits) => {
10034	let wrap;
10035	if (inflateStateCheck(strm)) return Z_STREAM_ERROR$1;
10036	const state = strm.state;
10037	if (windowBits < 0) {
10038		wrap = 0;
10039		windowBits = -windowBits;
10040	} else {
10041		wrap = (windowBits >> 4) + 5;
10042		if (windowBits < 48) windowBits &= 15;
10043	}
10044	if (windowBits && (windowBits < 8 || windowBits > 15)) return Z_STREAM_ERROR$1;
10045	if (state.window !== null && state.wbits !== windowBits) state.window = null;
10046	state.wrap = wrap;
10047	state.wbits = windowBits;
10048	return inflateReset(strm);
10049};
10050var inflateInit2 = (strm, windowBits) => {
10051	if (!strm) return Z_STREAM_ERROR$1;
10052	const state = new InflateState();
10053	strm.state = state;
10054	state.strm = strm;
10055	state.window = null;
10056	state.mode = HEAD;
10057	const ret = inflateReset2(strm, windowBits);
10058	if (ret !== Z_OK$1) strm.state = null;
10059	return ret;
10060};
10061var inflateInit = (strm) => {
10062	return inflateInit2(strm, DEF_WBITS);
10063};
10064var virgin = true;
10065var lenfix, distfix;
10066var fixedtables = (state) => {
10067	if (virgin) {
10068		lenfix = new Int32Array(512);
10069		distfix = new Int32Array(32);
10070		let sym = 0;
10071		while (sym < 144) state.lens[sym++] = 8;
10072		while (sym < 256) state.lens[sym++] = 9;
10073		while (sym < 280) state.lens[sym++] = 7;
10074		while (sym < 288) state.lens[sym++] = 8;
10075		inftrees(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });
10076		sym = 0;
10077		while (sym < 32) state.lens[sym++] = 5;
10078		inftrees(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });
10079		virgin = false;
10080	}
10081	state.lencode = lenfix;
10082	state.lenbits = 9;
10083	state.distcode = distfix;
10084	state.distbits = 5;
10085};
10086var updatewindow = (strm, src, end, copy) => {
10087	let dist;
10088	const state = strm.state;
10089	if (state.window === null) {
10090		state.wsize = 1 << state.wbits;
10091		state.wnext = 0;
10092		state.whave = 0;
10093		state.window = new Uint8Array(state.wsize);
10094	}
10095	if (copy >= state.wsize) {
10096		state.window.set(src.subarray(end - state.wsize, end), 0);
10097		state.wnext = 0;
10098		state.whave = state.wsize;
10099	} else {
10100		dist = state.wsize - state.wnext;
10101		if (dist > copy) dist = copy;
10102		state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);
10103		copy -= dist;
10104		if (copy) {
10105			state.window.set(src.subarray(end - copy, end), 0);
10106			state.wnext = copy;
10107			state.whave = state.wsize;
10108		} else {
10109			state.wnext += dist;
10110			if (state.wnext === state.wsize) state.wnext = 0;
10111			if (state.whave < state.wsize) state.whave += dist;
10112		}
10113	}
10114	return 0;
10115};
10116var inflate$2 = (strm, flush) => {
10117	let state;
10118	let input, output;
10119	let next;
10120	let put;
10121	let have, left;
10122	let hold;
10123	let bits;
10124	let _in, _out;
10125	let copy;
10126	let from;
10127	let from_source;
10128	let here = 0;
10129	let here_bits, here_op, here_val;
10130	let last_bits, last_op, last_val;
10131	let len;
10132	let ret;
10133	const hbuf = new Uint8Array(4);
10134	let opts;
10135	let n;
10136	const order = new Uint8Array([
10137		16,
10138		17,
10139		18,
10140		0,
10141		8,
10142		7,
10143		9,
10144		6,
10145		10,
10146		5,
10147		11,
10148		4,
10149		12,
10150		3,
10151		13,
10152		2,
10153		14,
10154		1,
10155		15
10156	]);
10157	if (inflateStateCheck(strm) || !strm.output || !strm.input && strm.avail_in !== 0) return Z_STREAM_ERROR$1;
10158	state = strm.state;
10159	if (state.mode === TYPE) state.mode = TYPEDO;
10160	put = strm.next_out;
10161	output = strm.output;
10162	left = strm.avail_out;
10163	next = strm.next_in;
10164	input = strm.input;
10165	have = strm.avail_in;
10166	hold = state.hold;
10167	bits = state.bits;
10168	_in = have;
10169	_out = left;
10170	ret = Z_OK$1;
10171	inf_leave: for (;;) switch (state.mode) {
10172		case HEAD:
10173			if (state.wrap === 0) {
10174				state.mode = TYPEDO;
10175				break;
10176			}
10177			while (bits < 16) {
10178				if (have === 0) break inf_leave;
10179				have--;
10180				hold += input[next++] << bits;
10181				bits += 8;
10182			}
10183			if (state.wrap & 2 && hold === 35615) {
10184				if (state.wbits === 0) state.wbits = 15;
10185				state.check = 0;
10186				hbuf[0] = hold & 255;
10187				hbuf[1] = hold >>> 8 & 255;
10188				state.check = crc32_1(state.check, hbuf, 2, 0);
10189				hold = 0;
10190				bits = 0;
10191				state.mode = FLAGS;
10192				break;
10193			}
10194			if (state.head) state.head.done = false;
10195			if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {
10196				strm.msg = "incorrect header check";
10197				state.mode = BAD;
10198				break;
10199			}
10200			if ((hold & 15) !== Z_DEFLATED) {
10201				strm.msg = "unknown compression method";
10202				state.mode = BAD;
10203				break;
10204			}
10205			hold >>>= 4;
10206			bits -= 4;
10207			len = (hold & 15) + 8;
10208			if (state.wbits === 0) state.wbits = len;
10209			if (len > 15 || len > state.wbits) {
10210				strm.msg = "invalid window size";
10211				state.mode = BAD;
10212				break;
10213			}
10214			state.dmax = 1 << state.wbits;
10215			state.flags = 0;
10216			strm.adler = state.check = 1;
10217			state.mode = hold & 512 ? DICTID : TYPE;
10218			hold = 0;
10219			bits = 0;
10220			break;
10221		case FLAGS:
10222			while (bits < 16) {
10223				if (have === 0) break inf_leave;
10224				have--;
10225				hold += input[next++] << bits;
10226				bits += 8;
10227			}
10228			state.flags = hold;
10229			if ((state.flags & 255) !== Z_DEFLATED) {
10230				strm.msg = "unknown compression method";
10231				state.mode = BAD;
10232				break;
10233			}
10234			if (state.flags & 57344) {
10235				strm.msg = "unknown header flags set";
10236				state.mode = BAD;
10237				break;
10238			}
10239			if (state.head) state.head.text = hold >> 8 & 1;
10240			if (state.flags & 512 && state.wrap & 4) {
10241				hbuf[0] = hold & 255;
10242				hbuf[1] = hold >>> 8 & 255;
10243				state.check = crc32_1(state.check, hbuf, 2, 0);
10244			}
10245			hold = 0;
10246			bits = 0;
10247			state.mode = TIME;
10248		case TIME:
10249			while (bits < 32) {
10250				if (have === 0) break inf_leave;
10251				have--;
10252				hold += input[next++] << bits;
10253				bits += 8;
10254			}
10255			if (state.head) state.head.time = hold;
10256			if (state.flags & 512 && state.wrap & 4) {
10257				hbuf[0] = hold & 255;
10258				hbuf[1] = hold >>> 8 & 255;
10259				hbuf[2] = hold >>> 16 & 255;
10260				hbuf[3] = hold >>> 24 & 255;
10261				state.check = crc32_1(state.check, hbuf, 4, 0);
10262			}
10263			hold = 0;
10264			bits = 0;
10265			state.mode = OS;
10266		case OS:
10267			while (bits < 16) {
10268				if (have === 0) break inf_leave;
10269				have--;
10270				hold += input[next++] << bits;
10271				bits += 8;
10272			}
10273			if (state.head) {
10274				state.head.xflags = hold & 255;
10275				state.head.os = hold >> 8;
10276			}
10277			if (state.flags & 512 && state.wrap & 4) {
10278				hbuf[0] = hold & 255;
10279				hbuf[1] = hold >>> 8 & 255;
10280				state.check = crc32_1(state.check, hbuf, 2, 0);
10281			}
10282			hold = 0;
10283			bits = 0;
10284			state.mode = EXLEN;
10285		case EXLEN:
10286			if (state.flags & 1024) {
10287				while (bits < 16) {
10288					if (have === 0) break inf_leave;
10289					have--;
10290					hold += input[next++] << bits;
10291					bits += 8;
10292				}
10293				state.length = hold;
10294				if (state.head) state.head.extra_len = hold;
10295				if (state.flags & 512 && state.wrap & 4) {
10296					hbuf[0] = hold & 255;
10297					hbuf[1] = hold >>> 8 & 255;
10298					state.check = crc32_1(state.check, hbuf, 2, 0);
10299				}
10300				hold = 0;
10301				bits = 0;
10302			} else if (state.head) state.head.extra = null;
10303			state.mode = EXTRA;
10304		case EXTRA:
10305			if (state.flags & 1024) {
10306				copy = state.length;
10307				if (copy > have) copy = have;
10308				if (copy) {
10309					if (state.head) {
10310						len = state.head.extra_len - state.length;
10311						if (!state.head.extra) state.head.extra = new Uint8Array(state.head.extra_len);
10312						state.head.extra.set(input.subarray(next, next + copy), len);
10313					}
10314					if (state.flags & 512 && state.wrap & 4) state.check = crc32_1(state.check, input, copy, next);
10315					have -= copy;
10316					next += copy;
10317					state.length -= copy;
10318				}
10319				if (state.length) break inf_leave;
10320			}
10321			state.length = 0;
10322			state.mode = NAME;
10323		case NAME:
10324			if (state.flags & 2048) {
10325				if (have === 0) break inf_leave;
10326				copy = 0;
10327				do {
10328					len = input[next + copy++];
10329					if (state.head && len && state.length < 65536) state.head.name += String.fromCharCode(len);
10330				} while (len && copy < have);
10331				if (state.flags & 512 && state.wrap & 4) state.check = crc32_1(state.check, input, copy, next);
10332				have -= copy;
10333				next += copy;
10334				if (len) break inf_leave;
10335			} else if (state.head) state.head.name = null;
10336			state.length = 0;
10337			state.mode = COMMENT;
10338		case COMMENT:
10339			if (state.flags & 4096) {
10340				if (have === 0) break inf_leave;
10341				copy = 0;
10342				do {
10343					len = input[next + copy++];
10344					if (state.head && len && state.length < 65536) state.head.comment += String.fromCharCode(len);
10345				} while (len && copy < have);
10346				if (state.flags & 512 && state.wrap & 4) state.check = crc32_1(state.check, input, copy, next);
10347				have -= copy;
10348				next += copy;
10349				if (len) break inf_leave;
10350			} else if (state.head) state.head.comment = null;
10351			state.mode = HCRC;
10352		case HCRC:
10353			if (state.flags & 512) {
10354				while (bits < 16) {
10355					if (have === 0) break inf_leave;
10356					have--;
10357					hold += input[next++] << bits;
10358					bits += 8;
10359				}
10360				if (state.wrap & 4 && hold !== (state.check & 65535)) {
10361					strm.msg = "header crc mismatch";
10362					state.mode = BAD;
10363					break;
10364				}
10365				hold = 0;
10366				bits = 0;
10367			}
10368			if (state.head) {
10369				state.head.hcrc = state.flags >> 9 & 1;
10370				state.head.done = true;
10371			}
10372			strm.adler = state.check = 0;
10373			state.mode = TYPE;
10374			break;
10375		case DICTID:
10376			while (bits < 32) {
10377				if (have === 0) break inf_leave;
10378				have--;
10379				hold += input[next++] << bits;
10380				bits += 8;
10381			}
10382			strm.adler = state.check = zswap32(hold);
10383			hold = 0;
10384			bits = 0;
10385			state.mode = DICT;
10386		case DICT:
10387			if (state.havedict === 0) {
10388				strm.next_out = put;
10389				strm.avail_out = left;
10390				strm.next_in = next;
10391				strm.avail_in = have;
10392				state.hold = hold;
10393				state.bits = bits;
10394				return Z_NEED_DICT$1;
10395			}
10396			strm.adler = state.check = 1;
10397			state.mode = TYPE;
10398		case TYPE: if (flush === Z_BLOCK || flush === Z_TREES) break inf_leave;
10399		case TYPEDO:
10400			if (state.last) {
10401				hold >>>= bits & 7;
10402				bits -= bits & 7;
10403				state.mode = CHECK;
10404				break;
10405			}
10406			while (bits < 3) {
10407				if (have === 0) break inf_leave;
10408				have--;
10409				hold += input[next++] << bits;
10410				bits += 8;
10411			}
10412			state.last = hold & 1;
10413			hold >>>= 1;
10414			bits -= 1;
10415			switch (hold & 3) {
10416				case 0:
10417					state.mode = STORED;
10418					break;
10419				case 1:
10420					fixedtables(state);
10421					state.mode = LEN_;
10422					if (flush === Z_TREES) {
10423						hold >>>= 2;
10424						bits -= 2;
10425						break inf_leave;
10426					}
10427					break;
10428				case 2:
10429					state.mode = TABLE;
10430					break;
10431				case 3:
10432					strm.msg = "invalid block type";
10433					state.mode = BAD;
10434			}
10435			hold >>>= 2;
10436			bits -= 2;
10437			break;
10438		case STORED:
10439			hold >>>= bits & 7;
10440			bits -= bits & 7;
10441			while (bits < 32) {
10442				if (have === 0) break inf_leave;
10443				have--;
10444				hold += input[next++] << bits;
10445				bits += 8;
10446			}
10447			if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {
10448				strm.msg = "invalid stored block lengths";
10449				state.mode = BAD;
10450				break;
10451			}
10452			state.length = hold & 65535;
10453			hold = 0;
10454			bits = 0;
10455			state.mode = COPY_;
10456			if (flush === Z_TREES) break inf_leave;
10457		case COPY_: state.mode = COPY;
10458		case COPY:
10459			copy = state.length;
10460			if (copy) {
10461				if (copy > have) copy = have;
10462				if (copy > left) copy = left;
10463				if (copy === 0) break inf_leave;
10464				output.set(input.subarray(next, next + copy), put);
10465				have -= copy;
10466				next += copy;
10467				left -= copy;
10468				put += copy;
10469				state.length -= copy;
10470				break;
10471			}
10472			state.mode = TYPE;
10473			break;
10474		case TABLE:
10475			while (bits < 14) {
10476				if (have === 0) break inf_leave;
10477				have--;
10478				hold += input[next++] << bits;
10479				bits += 8;
10480			}
10481			state.nlen = (hold & 31) + 257;
10482			hold >>>= 5;
10483			bits -= 5;
10484			state.ndist = (hold & 31) + 1;
10485			hold >>>= 5;
10486			bits -= 5;
10487			state.ncode = (hold & 15) + 4;
10488			hold >>>= 4;
10489			bits -= 4;
10490			if (state.nlen > 286 || state.ndist > 30) {
10491				strm.msg = "too many length or distance symbols";
10492				state.mode = BAD;
10493				break;
10494			}
10495			state.have = 0;
10496			state.mode = LENLENS;
10497		case LENLENS:
10498			while (state.have < state.ncode) {
10499				while (bits < 3) {
10500					if (have === 0) break inf_leave;
10501					have--;
10502					hold += input[next++] << bits;
10503					bits += 8;
10504				}
10505				state.lens[order[state.have++]] = hold & 7;
10506				hold >>>= 3;
10507				bits -= 3;
10508			}
10509			while (state.have < 19) state.lens[order[state.have++]] = 0;
10510			state.lencode = state.lendyn;
10511			state.lenbits = 7;
10512			opts = { bits: state.lenbits };
10513			ret = inftrees(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);
10514			state.lenbits = opts.bits;
10515			if (ret) {
10516				strm.msg = "invalid code lengths set";
10517				state.mode = BAD;
10518				break;
10519			}
10520			state.have = 0;
10521			state.mode = CODELENS;
10522		case CODELENS:
10523			while (state.have < state.nlen + state.ndist) {
10524				for (;;) {
10525					here = state.lencode[hold & (1 << state.lenbits) - 1];
10526					here_bits = here >>> 24;
10527					here_op = here >>> 16 & 255;
10528					here_val = here & 65535;
10529					if (here_bits <= bits) break;
10530					if (have === 0) break inf_leave;
10531					have--;
10532					hold += input[next++] << bits;
10533					bits += 8;
10534				}
10535				if (here_val < 16) {
10536					hold >>>= here_bits;
10537					bits -= here_bits;
10538					state.lens[state.have++] = here_val;
10539				} else {
10540					if (here_val === 16) {
10541						n = here_bits + 2;
10542						while (bits < n) {
10543							if (have === 0) break inf_leave;
10544							have--;
10545							hold += input[next++] << bits;
10546							bits += 8;
10547						}
10548						hold >>>= here_bits;
10549						bits -= here_bits;
10550						if (state.have === 0) {
10551							strm.msg = "invalid bit length repeat";
10552							state.mode = BAD;
10553							break;
10554						}
10555						len = state.lens[state.have - 1];
10556						copy = 3 + (hold & 3);
10557						hold >>>= 2;
10558						bits -= 2;
10559					} else if (here_val === 17) {
10560						n = here_bits + 3;
10561						while (bits < n) {
10562							if (have === 0) break inf_leave;
10563							have--;
10564							hold += input[next++] << bits;
10565							bits += 8;
10566						}
10567						hold >>>= here_bits;
10568						bits -= here_bits;
10569						len = 0;
10570						copy = 3 + (hold & 7);
10571						hold >>>= 3;
10572						bits -= 3;
10573					} else {
10574						n = here_bits + 7;
10575						while (bits < n) {
10576							if (have === 0) break inf_leave;
10577							have--;
10578							hold += input[next++] << bits;
10579							bits += 8;
10580						}
10581						hold >>>= here_bits;
10582						bits -= here_bits;
10583						len = 0;
10584						copy = 11 + (hold & 127);
10585						hold >>>= 7;
10586						bits -= 7;
10587					}
10588					if (state.have + copy > state.nlen + state.ndist) {
10589						strm.msg = "invalid bit length repeat";
10590						state.mode = BAD;
10591						break;
10592					}
10593					while (copy--) state.lens[state.have++] = len;
10594				}
10595			}
10596			if (state.mode === BAD) break;
10597			if (state.lens[256] === 0) {
10598				strm.msg = "invalid code -- missing end-of-block";
10599				state.mode = BAD;
10600				break;
10601			}
10602			state.lenbits = 9;
10603			opts = { bits: state.lenbits };
10604			ret = inftrees(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);
10605			state.lenbits = opts.bits;
10606			if (ret) {
10607				strm.msg = "invalid literal/lengths set";
10608				state.mode = BAD;
10609				break;
10610			}
10611			state.distbits = 6;
10612			state.distcode = state.distdyn;
10613			opts = { bits: state.distbits };
10614			ret = inftrees(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);
10615			state.distbits = opts.bits;
10616			if (ret) {
10617				strm.msg = "invalid distances set";
10618				state.mode = BAD;
10619				break;
10620			}
10621			state.mode = LEN_;
10622			if (flush === Z_TREES) break inf_leave;
10623		case LEN_: state.mode = LEN;
10624		case LEN:
10625			if (have >= 6 && left >= 258) {
10626				strm.next_out = put;
10627				strm.avail_out = left;
10628				strm.next_in = next;
10629				strm.avail_in = have;
10630				state.hold = hold;
10631				state.bits = bits;
10632				inffast(strm, _out);
10633				put = strm.next_out;
10634				output = strm.output;
10635				left = strm.avail_out;
10636				next = strm.next_in;
10637				input = strm.input;
10638				have = strm.avail_in;
10639				hold = state.hold;
10640				bits = state.bits;
10641				if (state.mode === TYPE) state.back = -1;
10642				break;
10643			}
10644			state.back = 0;
10645			for (;;) {
10646				here = state.lencode[hold & (1 << state.lenbits) - 1];
10647				here_bits = here >>> 24;
10648				here_op = here >>> 16 & 255;
10649				here_val = here & 65535;
10650				if (here_bits <= bits) break;
10651				if (have === 0) break inf_leave;
10652				have--;
10653				hold += input[next++] << bits;
10654				bits += 8;
10655			}
10656			if (here_op && (here_op & 240) === 0) {
10657				last_bits = here_bits;
10658				last_op = here_op;
10659				last_val = here_val;
10660				for (;;) {
10661					here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)];
10662					here_bits = here >>> 24;
10663					here_op = here >>> 16 & 255;
10664					here_val = here & 65535;
10665					if (last_bits + here_bits <= bits) break;
10666					if (have === 0) break inf_leave;
10667					have--;
10668					hold += input[next++] << bits;
10669					bits += 8;
10670				}
10671				hold >>>= last_bits;
10672				bits -= last_bits;
10673				state.back += last_bits;
10674			}
10675			hold >>>= here_bits;
10676			bits -= here_bits;
10677			state.back += here_bits;
10678			state.length = here_val;
10679			if (here_op === 0) {
10680				state.mode = LIT;
10681				break;
10682			}
10683			if (here_op & 32) {
10684				state.back = -1;
10685				state.mode = TYPE;
10686				break;
10687			}
10688			if (here_op & 64) {
10689				strm.msg = "invalid literal/length code";
10690				state.mode = BAD;
10691				break;
10692			}
10693			state.extra = here_op & 15;
10694			state.mode = LENEXT;
10695		case LENEXT:
10696			if (state.extra) {
10697				n = state.extra;
10698				while (bits < n) {
10699					if (have === 0) break inf_leave;
10700					have--;
10701					hold += input[next++] << bits;
10702					bits += 8;
10703				}
10704				state.length += hold & (1 << state.extra) - 1;
10705				hold >>>= state.extra;
10706				bits -= state.extra;
10707				state.back += state.extra;
10708			}
10709			state.was = state.length;
10710			state.mode = DIST;
10711		case DIST:
10712			for (;;) {
10713				here = state.distcode[hold & (1 << state.distbits) - 1];
10714				here_bits = here >>> 24;
10715				here_op = here >>> 16 & 255;
10716				here_val = here & 65535;
10717				if (here_bits <= bits) break;
10718				if (have === 0) break inf_leave;
10719				have--;
10720				hold += input[next++] << bits;
10721				bits += 8;
10722			}
10723			if ((here_op & 240) === 0) {
10724				last_bits = here_bits;
10725				last_op = here_op;
10726				last_val = here_val;
10727				for (;;) {
10728					here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)];
10729					here_bits = here >>> 24;
10730					here_op = here >>> 16 & 255;
10731					here_val = here & 65535;
10732					if (last_bits + here_bits <= bits) break;
10733					if (have === 0) break inf_leave;
10734					have--;
10735					hold += input[next++] << bits;
10736					bits += 8;
10737				}
10738				hold >>>= last_bits;
10739				bits -= last_bits;
10740				state.back += last_bits;
10741			}
10742			hold >>>= here_bits;
10743			bits -= here_bits;
10744			state.back += here_bits;
10745			if (here_op & 64) {
10746				strm.msg = "invalid distance code";
10747				state.mode = BAD;
10748				break;
10749			}
10750			state.offset = here_val;
10751			state.extra = here_op & 15;
10752			state.mode = DISTEXT;
10753		case DISTEXT:
10754			if (state.extra) {
10755				n = state.extra;
10756				while (bits < n) {
10757					if (have === 0) break inf_leave;
10758					have--;
10759					hold += input[next++] << bits;
10760					bits += 8;
10761				}
10762				state.offset += hold & (1 << state.extra) - 1;
10763				hold >>>= state.extra;
10764				bits -= state.extra;
10765				state.back += state.extra;
10766			}
10767			if (state.offset > state.dmax) {
10768				strm.msg = "invalid distance too far back";
10769				state.mode = BAD;
10770				break;
10771			}
10772			state.mode = MATCH;
10773		case MATCH:
10774			if (left === 0) break inf_leave;
10775			copy = _out - left;
10776			if (state.offset > copy) {
10777				copy = state.offset - copy;
10778				if (copy > state.whave) {
10779					if (state.sane) {
10780						strm.msg = "invalid distance too far back";
10781						state.mode = BAD;
10782						break;
10783					}
10784				}
10785				if (copy > state.wnext) {
10786					copy -= state.wnext;
10787					from = state.wsize - copy;
10788				} else from = state.wnext - copy;
10789				if (copy > state.length) copy = state.length;
10790				from_source = state.window;
10791			} else {
10792				from_source = output;
10793				from = put - state.offset;
10794				copy = state.length;
10795			}
10796			if (copy > left) copy = left;
10797			left -= copy;
10798			state.length -= copy;
10799			do
10800				output[put++] = from_source[from++];
10801			while (--copy);
10802			if (state.length === 0) state.mode = LEN;
10803			break;
10804		case LIT:
10805			if (left === 0) break inf_leave;
10806			output[put++] = state.length;
10807			left--;
10808			state.mode = LEN;
10809			break;
10810		case CHECK:
10811			if (state.wrap) {
10812				while (bits < 32) {
10813					if (have === 0) break inf_leave;
10814					have--;
10815					hold |= input[next++] << bits;
10816					bits += 8;
10817				}
10818				_out -= left;
10819				strm.total_out += _out;
10820				state.total += _out;
10821				if (state.wrap & 4 && _out) strm.adler = state.check = state.flags ? crc32_1(state.check, output, _out, put - _out) : adler32_1(state.check, output, _out, put - _out);
10822				_out = left;
10823				if (state.wrap & 4 && (state.flags ? hold : zswap32(hold)) !== state.check) {
10824					strm.msg = "incorrect data check";
10825					state.mode = BAD;
10826					break;
10827				}
10828				hold = 0;
10829				bits = 0;
10830			}
10831			state.mode = LENGTH;
10832		case LENGTH:
10833			if (state.wrap && state.flags) {
10834				while (bits < 32) {
10835					if (have === 0) break inf_leave;
10836					have--;
10837					hold += input[next++] << bits;
10838					bits += 8;
10839				}
10840				if (state.wrap & 4 && hold !== (state.total & 4294967295)) {
10841					strm.msg = "incorrect length check";
10842					state.mode = BAD;
10843					break;
10844				}
10845				hold = 0;
10846				bits = 0;
10847			}
10848			state.mode = DONE;
10849		case DONE:
10850			ret = Z_STREAM_END$1;
10851			break inf_leave;
10852		case BAD:
10853			ret = Z_DATA_ERROR$1;
10854			break inf_leave;
10855		case MEM: return Z_MEM_ERROR$1;
10856		case SYNC:
10857		default: return Z_STREAM_ERROR$1;
10858	}
10859	strm.next_out = put;
10860	strm.avail_out = left;
10861	strm.next_in = next;
10862	strm.avail_in = have;
10863	state.hold = hold;
10864	state.bits = bits;
10865	if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH$1)) {
10866		if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out));
10867	}
10868	_in -= strm.avail_in;
10869	_out -= strm.avail_out;
10870	strm.total_in += _in;
10871	strm.total_out += _out;
10872	state.total += _out;
10873	if (state.wrap & 4 && _out) strm.adler = state.check = state.flags ? crc32_1(state.check, output, _out, strm.next_out - _out) : adler32_1(state.check, output, _out, strm.next_out - _out);
10874	strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
10875	if ((_in === 0 && _out === 0 || flush === Z_FINISH$1) && ret === Z_OK$1) ret = Z_BUF_ERROR;
10876	return ret;
10877};
10878var inflateEnd = (strm) => {
10879	if (inflateStateCheck(strm)) return Z_STREAM_ERROR$1;
10880	let state = strm.state;
10881	if (state.window) state.window = null;
10882	strm.state = null;
10883	return Z_OK$1;
10884};
10885var inflateGetHeader = (strm, head) => {
10886	if (inflateStateCheck(strm)) return Z_STREAM_ERROR$1;
10887	const state = strm.state;
10888	if ((state.wrap & 2) === 0) return Z_STREAM_ERROR$1;
10889	state.head = head;
10890	head.done = false;
10891	return Z_OK$1;
10892};
10893var inflateSetDictionary = (strm, dictionary) => {
10894	const dictLength = dictionary.length;
10895	let state;
10896	let dictid;
10897	let ret;
10898	if (inflateStateCheck(strm)) return Z_STREAM_ERROR$1;
10899	state = strm.state;
10900	if (state.wrap !== 0 && state.mode !== DICT) return Z_STREAM_ERROR$1;
10901	if (state.mode === DICT) {
10902		dictid = 1;
10903		dictid = adler32_1(dictid, dictionary, dictLength, 0);
10904		if (dictid !== state.check) return Z_DATA_ERROR$1;
10905	}
10906	ret = updatewindow(strm, dictionary, dictLength, dictLength);
10907	if (ret) {
10908		state.mode = MEM;
10909		return Z_MEM_ERROR$1;
10910	}
10911	state.havedict = 1;
10912	return Z_OK$1;
10913};
10914var inflate_1$2 = {
10915	inflateReset,
10916	inflateReset2,
10917	inflateResetKeep,
10918	inflateInit,
10919	inflateInit2,
10920	inflate: inflate$2,
10921	inflateEnd,
10922	inflateGetHeader,
10923	inflateSetDictionary,
10924	inflateInfo: "pako inflate (from Nodeca project)"
10925};
10926function GZheader() {
10927	this.text = 0;
10928	this.time = 0;
10929	this.xflags = 0;
10930	this.os = 0;
10931	this.extra = null;
10932	this.extra_len = 0;
10933	this.name = "";
10934	this.comment = "";
10935	this.hcrc = 0;
10936	this.done = false;
10937}
10938var gzheader = GZheader;
10939var toString = Object.prototype.toString;
10940var { Z_NO_FLUSH, Z_FINISH, Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR } = constants$2;
10941function Inflate$1(options) {
10942	this.options = common.assign({
10943		chunkSize: 1024 * 64,
10944		windowBits: 15,
10945		to: ""
10946	}, options || {});
10947	const opt = this.options;
10948	if (opt.raw && opt.windowBits >= 0 && opt.windowBits < 16) {
10949		opt.windowBits = -opt.windowBits;
10950		if (opt.windowBits === 0) opt.windowBits = -15;
10951	}
10952	if (opt.windowBits >= 0 && opt.windowBits < 16 && !(options && options.windowBits)) opt.windowBits += 32;
10953	if (opt.windowBits > 15 && opt.windowBits < 48) {
10954		if ((opt.windowBits & 15) === 0) opt.windowBits |= 15;
10955	}
10956	this.err = 0;
10957	this.msg = "";
10958	this.ended = false;
10959	this.chunks = [];
10960	this.strm = new zstream();
10961	this.strm.avail_out = 0;
10962	let status = inflate_1$2.inflateInit2(this.strm, opt.windowBits);
10963	if (status !== Z_OK) throw new Error(messages[status]);
10964	this.header = new gzheader();
10965	inflate_1$2.inflateGetHeader(this.strm, this.header);
10966	if (opt.dictionary) {
10967		if (typeof opt.dictionary === "string") opt.dictionary = strings.string2buf(opt.dictionary);
10968		else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") opt.dictionary = new Uint8Array(opt.dictionary);
10969		if (opt.raw) {
10970			status = inflate_1$2.inflateSetDictionary(this.strm, opt.dictionary);
10971			if (status !== Z_OK) throw new Error(messages[status]);
10972		}
10973	}
10974}
10975Inflate$1.prototype.push = function(data, flush_mode) {
10976	const strm = this.strm;
10977	const chunkSize = this.options.chunkSize;
10978	const dictionary = this.options.dictionary;
10979	let status, _flush_mode, last_avail_out;
10980	if (this.ended) return false;
10981	if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;
10982	else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;
10983	if (toString.call(data) === "[object ArrayBuffer]") strm.input = new Uint8Array(data);
10984	else strm.input = data;
10985	strm.next_in = 0;
10986	strm.avail_in = strm.input.length;
10987	for (;;) {
10988		if (strm.avail_out === 0) {
10989			strm.output = new Uint8Array(chunkSize);
10990			strm.next_out = 0;
10991			strm.avail_out = chunkSize;
10992		}
10993		status = inflate_1$2.inflate(strm, _flush_mode);
10994		if (status === Z_NEED_DICT && dictionary) {
10995			status = inflate_1$2.inflateSetDictionary(strm, dictionary);
10996			if (status === Z_OK) status = inflate_1$2.inflate(strm, _flush_mode);
10997			else if (status === Z_DATA_ERROR) status = Z_NEED_DICT;
10998		}
10999		while (strm.avail_in > 0 && status === Z_STREAM_END && strm.state.wrap > 0 && data[strm.next_in] !== 0) {
11000			inflate_1$2.inflateReset(strm);
11001			status = inflate_1$2.inflate(strm, _flush_mode);
11002		}
11003		switch (status) {
11004			case Z_STREAM_ERROR:
11005			case Z_DATA_ERROR:
11006			case Z_NEED_DICT:
11007			case Z_MEM_ERROR:
11008				this.onEnd(status);
11009				this.ended = true;
11010				return false;
11011		}
11012		last_avail_out = strm.avail_out;
11013		if (strm.next_out) {
11014			if (strm.avail_out === 0 || status === Z_STREAM_END) if (this.options.to === "string") {
11015				let next_out_utf8 = strings.utf8border(strm.output, strm.next_out);
11016				let tail = strm.next_out - next_out_utf8;
11017				let utf8str = strings.buf2string(strm.output, next_out_utf8);
11018				strm.next_out = tail;
11019				strm.avail_out = chunkSize - tail;
11020				if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);
11021				this.onData(utf8str);
11022			} else this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));
11023		}
11024		if (status === Z_OK && last_avail_out === 0) continue;
11025		if (status === Z_STREAM_END) {
11026			status = inflate_1$2.inflateEnd(this.strm);
11027			this.onEnd(status);
11028			this.ended = true;
11029			return true;
11030		}
11031		if (strm.avail_in === 0) break;
11032	}
11033	return true;
11034};
11035Inflate$1.prototype.onData = function(chunk) {
11036	this.chunks.push(chunk);
11037};
11038Inflate$1.prototype.onEnd = function(status) {
11039	if (status === Z_OK) if (this.options.to === "string") this.result = this.chunks.join("");
11040	else this.result = common.flattenChunks(this.chunks);
11041	this.chunks = [];
11042	this.err = status;
11043	this.msg = this.strm.msg;
11044};
11045function inflate$1(input, options) {
11046	const inflator = new Inflate$1(options);
11047	inflator.push(input);
11048	if (inflator.err) throw inflator.msg || messages[inflator.err];
11049	return inflator.result;
11050}
11051function inflateRaw$1(input, options) {
11052	options = options || {};
11053	options.raw = true;
11054	return inflate$1(input, options);
11055}
11056var inflate_1$1 = {
11057	Inflate: Inflate$1,
11058	inflate: inflate$1,
11059	inflateRaw: inflateRaw$1,
11060	ungzip: inflate$1,
11061	constants: constants$2
11062};
11063var { Deflate, deflate, deflateRaw, gzip } = deflate_1$1;
11064var { Inflate, inflate, inflateRaw, ungzip } = inflate_1$1;
11065var Inflate_1 = Inflate;
11066var inflate_1 = inflate;
11067var crcTable = [];
11068for (let n = 0; n < 256; n++) {
11069	let c$1 = n;
11070	for (let k$1 = 0; k$1 < 8; k$1++) if (c$1 & 1) c$1 = 3988292384 ^ c$1 >>> 1;
11071	else c$1 = c$1 >>> 1;
11072	crcTable[n] = c$1;
11073}
11074var initialCrc = 4294967295;
11075function updateCrc(currentCrc, data, length) {
11076	let c$1 = currentCrc;
11077	for (let n = 0; n < length; n++) c$1 = crcTable[(c$1 ^ data[n]) & 255] ^ c$1 >>> 8;
11078	return c$1;
11079}
11080function crc(data, length) {
11081	return (updateCrc(initialCrc, data, length) ^ initialCrc) >>> 0;
11082}
11083function checkCrc(buffer, crcLength, chunkName) {
11084	const expectedCrc = buffer.readUint32();
11085	const actualCrc = crc(new Uint8Array(buffer.buffer, buffer.byteOffset + buffer.offset - crcLength - 4, crcLength), crcLength);
11086	if (actualCrc !== expectedCrc) throw new Error(`CRC mismatch for chunk ${chunkName}. Expected ${expectedCrc}, found ${actualCrc}`);
11087}
vendor: 14,152 bytes, lines 11088-11567
11088function unfilterNone(currentLine, newLine, bytesPerLine) {
11089	for (let i$2 = 0; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2];
11090}
11091function unfilterSub(currentLine, newLine, bytesPerLine, bytesPerPixel) {
11092	let i$2 = 0;
11093	for (; i$2 < bytesPerPixel; i$2++) newLine[i$2] = currentLine[i$2];
11094	for (; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2] + newLine[i$2 - bytesPerPixel] & 255;
11095}
11096function unfilterUp(currentLine, newLine, prevLine, bytesPerLine) {
11097	let i$2 = 0;
11098	if (prevLine.length === 0) for (; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2];
11099	else for (; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2] + prevLine[i$2] & 255;
11100}
11101function unfilterAverage(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel) {
11102	let i$2 = 0;
11103	if (prevLine.length === 0) {
11104		for (; i$2 < bytesPerPixel; i$2++) newLine[i$2] = currentLine[i$2];
11105		for (; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2] + (newLine[i$2 - bytesPerPixel] >> 1) & 255;
11106	} else {
11107		for (; i$2 < bytesPerPixel; i$2++) newLine[i$2] = currentLine[i$2] + (prevLine[i$2] >> 1) & 255;
11108		for (; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2] + (newLine[i$2 - bytesPerPixel] + prevLine[i$2] >> 1) & 255;
11109	}
11110}
11111function unfilterPaeth(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel) {
11112	let i$2 = 0;
11113	if (prevLine.length === 0) {
11114		for (; i$2 < bytesPerPixel; i$2++) newLine[i$2] = currentLine[i$2];
11115		for (; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2] + newLine[i$2 - bytesPerPixel] & 255;
11116	} else {
11117		for (; i$2 < bytesPerPixel; i$2++) newLine[i$2] = currentLine[i$2] + prevLine[i$2] & 255;
11118		for (; i$2 < bytesPerLine; i$2++) newLine[i$2] = currentLine[i$2] + paethPredictor(newLine[i$2 - bytesPerPixel], prevLine[i$2], prevLine[i$2 - bytesPerPixel]) & 255;
11119	}
11120}
11121function paethPredictor(a$1, b$1, c$1) {
11122	const p$1 = a$1 + b$1 - c$1;
11123	const pa = Math.abs(p$1 - a$1);
11124	const pb = Math.abs(p$1 - b$1);
11125	const pc = Math.abs(p$1 - c$1);
11126	if (pa <= pb && pa <= pc) return a$1;
11127	else if (pb <= pc) return b$1;
11128	else return c$1;
11129}
11130function applyUnfilter(filterType, currentLine, newLine, prevLine, passLineBytes, bytesPerPixel) {
11131	switch (filterType) {
11132		case 0:
11133			unfilterNone(currentLine, newLine, passLineBytes);
11134			break;
11135		case 1:
11136			unfilterSub(currentLine, newLine, passLineBytes, bytesPerPixel);
11137			break;
11138		case 2:
11139			unfilterUp(currentLine, newLine, prevLine, passLineBytes);
11140			break;
11141		case 3:
11142			unfilterAverage(currentLine, newLine, prevLine, passLineBytes, bytesPerPixel);
11143			break;
11144		case 4:
11145			unfilterPaeth(currentLine, newLine, prevLine, passLineBytes, bytesPerPixel);
11146			break;
11147		default: throw new Error(`Unsupported filter: ${filterType}`);
11148	}
11149}
11150var uint16$1 = new Uint16Array([255]);
11151var osIsLittleEndian$1 = new Uint8Array(uint16$1.buffer)[0] === 255;
11152function decodeInterlaceAdam7(params) {
11153	const { data, width, height, channels, depth } = params;
11154	const passes = [
11155		{
11156			x: 0,
11157			y: 0,
11158			xStep: 8,
11159			yStep: 8
11160		},
11161		{
11162			x: 4,
11163			y: 0,
11164			xStep: 8,
11165			yStep: 8
11166		},
11167		{
11168			x: 0,
11169			y: 4,
11170			xStep: 4,
11171			yStep: 8
11172		},
11173		{
11174			x: 2,
11175			y: 0,
11176			xStep: 4,
11177			yStep: 4
11178		},
11179		{
11180			x: 0,
11181			y: 2,
11182			xStep: 2,
11183			yStep: 4
11184		},
11185		{
11186			x: 1,
11187			y: 0,
11188			xStep: 2,
11189			yStep: 2
11190		},
11191		{
11192			x: 0,
11193			y: 1,
11194			xStep: 1,
11195			yStep: 2
11196		}
11197	];
11198	const bytesPerPixel = Math.ceil(depth / 8) * channels;
11199	const resultData = new Uint8Array(height * width * bytesPerPixel);
11200	let offset = 0;
11201	for (let passIndex = 0; passIndex < 7; passIndex++) {
11202		const pass = passes[passIndex];
11203		const passWidth = Math.ceil((width - pass.x) / pass.xStep);
11204		const passHeight = Math.ceil((height - pass.y) / pass.yStep);
11205		if (passWidth <= 0 || passHeight <= 0) continue;
11206		const passLineBytes = passWidth * bytesPerPixel;
11207		const prevLine = new Uint8Array(passLineBytes);
11208		for (let y$1 = 0; y$1 < passHeight; y$1++) {
11209			const filterType = data[offset++];
11210			const currentLine = data.subarray(offset, offset + passLineBytes);
11211			offset += passLineBytes;
11212			const newLine = new Uint8Array(passLineBytes);
11213			applyUnfilter(filterType, currentLine, newLine, prevLine, passLineBytes, bytesPerPixel);
11214			prevLine.set(newLine);
11215			for (let x$2 = 0; x$2 < passWidth; x$2++) {
11216				const outputX = pass.x + x$2 * pass.xStep;
11217				const outputY = pass.y + y$1 * pass.yStep;
11218				if (outputX >= width || outputY >= height) continue;
11219				for (let i$2 = 0; i$2 < bytesPerPixel; i$2++) resultData[(outputY * width + outputX) * bytesPerPixel + i$2] = newLine[x$2 * bytesPerPixel + i$2];
11220			}
11221		}
11222	}
11223	if (depth === 16) {
11224		const uint16Data = new Uint16Array(resultData.buffer);
11225		if (osIsLittleEndian$1) for (let k$1 = 0; k$1 < uint16Data.length; k$1++) uint16Data[k$1] = swap16$1(uint16Data[k$1]);
11226		return uint16Data;
11227	} else return resultData;
11228}
11229function swap16$1(val) {
11230	return (val & 255) << 8 | val >> 8 & 255;
11231}
11232var uint16 = new Uint16Array([255]);
11233var osIsLittleEndian = new Uint8Array(uint16.buffer)[0] === 255;
11234var empty = new Uint8Array(0);
11235function decodeInterlaceNull(params) {
11236	const { data, width, height, channels, depth } = params;
11237	const bytesPerPixel = Math.ceil(depth / 8) * channels;
11238	const bytesPerLine = Math.ceil(depth / 8 * channels * width);
11239	const newData = new Uint8Array(height * bytesPerLine);
11240	let prevLine = empty;
11241	let offset = 0;
11242	let currentLine;
11243	let newLine;
11244	for (let i$2 = 0; i$2 < height; i$2++) {
11245		currentLine = data.subarray(offset + 1, offset + 1 + bytesPerLine);
11246		newLine = newData.subarray(i$2 * bytesPerLine, (i$2 + 1) * bytesPerLine);
11247		switch (data[offset]) {
11248			case 0:
11249				unfilterNone(currentLine, newLine, bytesPerLine);
11250				break;
11251			case 1:
11252				unfilterSub(currentLine, newLine, bytesPerLine, bytesPerPixel);
11253				break;
11254			case 2:
11255				unfilterUp(currentLine, newLine, prevLine, bytesPerLine);
11256				break;
11257			case 3:
11258				unfilterAverage(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel);
11259				break;
11260			case 4:
11261				unfilterPaeth(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel);
11262				break;
11263			default: throw new Error(`Unsupported filter: ${data[offset]}`);
11264		}
11265		prevLine = newLine;
11266		offset += bytesPerLine + 1;
11267	}
11268	if (depth === 16) {
11269		const uint16Data = new Uint16Array(newData.buffer);
11270		if (osIsLittleEndian) for (let k$1 = 0; k$1 < uint16Data.length; k$1++) uint16Data[k$1] = swap16(uint16Data[k$1]);
11271		return uint16Data;
11272	} else return newData;
11273}
11274function swap16(val) {
11275	return (val & 255) << 8 | val >> 8 & 255;
11276}
11277var pngSignature = Uint8Array.of(137, 80, 78, 71, 13, 10, 26, 10);
11278function checkSignature(buffer) {
11279	if (!hasPngSignature(buffer.readBytes(pngSignature.length))) throw new Error("wrong PNG signature");
11280}
11281function hasPngSignature(array) {
11282	if (array.length < pngSignature.length) return false;
11283	for (let i$2 = 0; i$2 < pngSignature.length; i$2++) if (array[i$2] !== pngSignature[i$2]) return false;
11284	return true;
11285}
11286const textChunkName = "tEXt";
11287var NULL = 0;
11288var latin1Decoder = new TextDecoder("latin1");
11289function validateKeyword(keyword) {
11290	validateLatin1(keyword);
11291	if (keyword.length === 0 || keyword.length > 79) throw new Error("keyword length must be between 1 and 79");
11292}
11293var latin1Regex = /^[\u0000-\u00FF]*$/;
11294function validateLatin1(text) {
11295	if (!latin1Regex.test(text)) throw new Error("invalid latin1 text");
11296}
11297function decodetEXt(text, buffer, length) {
11298	const keyword = readKeyword(buffer);
11299	text[keyword] = readLatin1(buffer, length - keyword.length - 1);
11300}
11301function readKeyword(buffer) {
11302	buffer.mark();
11303	while (buffer.readByte() !== NULL);
11304	const end = buffer.offset;
11305	buffer.reset();
11306	const keyword = latin1Decoder.decode(buffer.readBytes(end - buffer.offset - 1));
11307	buffer.skip(1);
11308	validateKeyword(keyword);
11309	return keyword;
11310}
11311function readLatin1(buffer, length) {
11312	return latin1Decoder.decode(buffer.readBytes(length));
11313}
11314const ColorType = {
11315	UNKNOWN: -1,
11316	GREYSCALE: 0,
11317	TRUECOLOUR: 2,
11318	INDEXED_COLOUR: 3,
11319	GREYSCALE_ALPHA: 4,
11320	TRUECOLOUR_ALPHA: 6
11321};
11322const CompressionMethod = {
11323	UNKNOWN: -1,
11324	DEFLATE: 0
11325};
11326const FilterMethod = {
11327	UNKNOWN: -1,
11328	ADAPTIVE: 0
11329};
11330const InterlaceMethod = {
11331	UNKNOWN: -1,
11332	NO_INTERLACE: 0,
11333	ADAM7: 1
11334};
11335const DisposeOpType = {
11336	NONE: 0,
11337	BACKGROUND: 1,
11338	PREVIOUS: 2
11339};
11340const BlendOpType = {
11341	SOURCE: 0,
11342	OVER: 1
11343};
11344var PngDecoder = class extends IOBuffer {
11345	_checkCrc;
11346	_inflator;
11347	_png;
11348	_apng;
11349	_end;
11350	_hasPalette;
11351	_palette;
11352	_hasTransparency;
11353	_transparency;
11354	_compressionMethod;
11355	_filterMethod;
11356	_interlaceMethod;
11357	_colorType;
11358	_isAnimated;
11359	_numberOfFrames;
11360	_numberOfPlays;
11361	_frames;
11362	_writingDataChunks;
11363	constructor(data, options = {}) {
11364		super(data);
11365		const { checkCrc: checkCrc$1 = false } = options;
11366		this._checkCrc = checkCrc$1;
11367		this._inflator = new Inflate_1();
11368		this._png = {
11369			width: -1,
11370			height: -1,
11371			channels: -1,
11372			data: new Uint8Array(0),
11373			depth: 1,
11374			text: {}
11375		};
11376		this._apng = {
11377			width: -1,
11378			height: -1,
11379			channels: -1,
11380			depth: 1,
11381			numberOfFrames: 1,
11382			numberOfPlays: 0,
11383			text: {},
11384			frames: []
11385		};
11386		this._end = false;
11387		this._hasPalette = false;
11388		this._palette = [];
11389		this._hasTransparency = false;
11390		this._transparency = new Uint16Array(0);
11391		this._compressionMethod = CompressionMethod.UNKNOWN;
11392		this._filterMethod = FilterMethod.UNKNOWN;
11393		this._interlaceMethod = InterlaceMethod.UNKNOWN;
11394		this._colorType = ColorType.UNKNOWN;
11395		this._isAnimated = false;
11396		this._numberOfFrames = 1;
11397		this._numberOfPlays = 0;
11398		this._frames = [];
11399		this._writingDataChunks = false;
11400		this.setBigEndian();
11401	}
11402	decode() {
11403		checkSignature(this);
11404		while (!this._end) {
11405			const length = this.readUint32();
11406			const type = this.readChars(4);
11407			this.decodeChunk(length, type);
11408		}
11409		this.decodeImage();
11410		return this._png;
11411	}
11412	decodeApng() {
11413		checkSignature(this);
11414		while (!this._end) {
11415			const length = this.readUint32();
11416			const type = this.readChars(4);
11417			this.decodeApngChunk(length, type);
11418		}
11419		this.decodeApngImage();
11420		return this._apng;
11421	}
11422	decodeChunk(length, type) {
11423		const offset = this.offset;
11424		switch (type) {
11425			case "IHDR":
11426				this.decodeIHDR();
11427				break;
11428			case "PLTE":
11429				this.decodePLTE(length);
11430				break;
11431			case "IDAT":
11432				this.decodeIDAT(length);
11433				break;
11434			case "IEND":
11435				this._end = true;
11436				break;
11437			case "tRNS":
11438				this.decodetRNS(length);
11439				break;
11440			case "iCCP":
11441				this.decodeiCCP(length);
11442				break;
11443			case textChunkName:
11444				decodetEXt(this._png.text, this, length);
11445				break;
11446			case "pHYs":
11447				this.decodepHYs();
11448				break;
11449			default:
11450				this.skip(length);
11451				break;
11452		}
11453		if (this.offset - offset !== length) throw new Error(`Length mismatch while decoding chunk ${type}`);
11454		if (this._checkCrc) checkCrc(this, length + 4, type);
11455		else this.skip(4);
11456	}
11457	decodeApngChunk(length, type) {
11458		const offset = this.offset;
11459		if (type !== "fdAT" && type !== "IDAT" && this._writingDataChunks) this.pushDataToFrame();
11460		switch (type) {
11461			case "acTL":
11462				this.decodeACTL();
11463				break;
11464			case "fcTL":
11465				this.decodeFCTL();
11466				break;
11467			case "fdAT":
11468				this.decodeFDAT(length);
11469				break;
11470			default:
11471				this.decodeChunk(length, type);
11472				this.offset = offset + length;
11473				break;
11474		}
11475		if (this.offset - offset !== length) throw new Error(`Length mismatch while decoding chunk ${type}`);
11476		if (this._checkCrc) checkCrc(this, length + 4, type);
11477		else this.skip(4);
11478	}
11479	decodeIHDR() {
11480		const image = this._png;
11481		image.width = this.readUint32();
11482		image.height = this.readUint32();
11483		image.depth = checkBitDepth(this.readUint8());
11484		const colorType = this.readUint8();
11485		this._colorType = colorType;
11486		let channels;
11487		switch (colorType) {
11488			case ColorType.GREYSCALE:
11489				channels = 1;
11490				break;
11491			case ColorType.TRUECOLOUR:
11492				channels = 3;
11493				break;
11494			case ColorType.INDEXED_COLOUR:
11495				channels = 1;
11496				break;
11497			case ColorType.GREYSCALE_ALPHA:
11498				channels = 2;
11499				break;
11500			case ColorType.TRUECOLOUR_ALPHA:
11501				channels = 4;
11502				break;
11503			case ColorType.UNKNOWN:
11504			default: throw new Error(`Unknown color type: ${colorType}`);
11505		}
11506		this._png.channels = channels;
11507		this._compressionMethod = this.readUint8();
11508		if (this._compressionMethod !== CompressionMethod.DEFLATE) throw new Error(`Unsupported compression method: ${this._compressionMethod}`);
11509		this._filterMethod = this.readUint8();
11510		this._interlaceMethod = this.readUint8();
11511	}
11512	decodeACTL() {
11513		this._numberOfFrames = this.readUint32();
11514		this._numberOfPlays = this.readUint32();
11515		this._isAnimated = true;
11516	}
11517	decodeFCTL() {
11518		const image = {
11519			sequenceNumber: this.readUint32(),
11520			width: this.readUint32(),
11521			height: this.readUint32(),
11522			xOffset: this.readUint32(),
11523			yOffset: this.readUint32(),
11524			delayNumber: this.readUint16(),
11525			delayDenominator: this.readUint16(),
11526			disposeOp: this.readUint8(),
11527			blendOp: this.readUint8(),
11528			data: new Uint8Array(0)
11529		};
11530		this._frames.push(image);
11531	}
11532	decodePLTE(length) {
11533		if (length % 3 !== 0) throw new RangeError(`PLTE field length must be a multiple of 3. Got ${length}`);
11534		const l$1 = length / 3;
11535		this._hasPalette = true;
11536		const palette = [];
11537		this._palette = palette;
11538		for (let i$2 = 0; i$2 < l$1; i$2++) palette.push([
11539			this.readUint8(),
11540			this.readUint8(),
11541			this.readUint8()
11542		]);
11543	}
11544	decodeIDAT(length) {
11545		this._writingDataChunks = true;
11546		const dataLength = length;
11547		const dataOffset = this.offset + this.byteOffset;
11548		this._inflator.push(new Uint8Array(this.buffer, dataOffset, dataLength));
11549		if (this._inflator.err) throw new Error(`Error while decompressing the data: ${this._inflator.err}`);
11550		this.skip(length);
11551	}
11552	decodeFDAT(length) {
11553		this._writingDataChunks = true;
11554		let dataLength = length;
11555		let dataOffset = this.offset + this.byteOffset;
11556		dataOffset += 4;
11557		dataLength -= 4;
11558		this._inflator.push(new Uint8Array(this.buffer, dataOffset, dataLength));
11559		if (this._inflator.err) throw new Error(`Error while decompressing the data: ${this._inflator.err}`);
11560		this.skip(length);
11561	}
11562	decodetRNS(length) {
11563		switch (this._colorType) {
11564			case ColorType.GREYSCALE:
11565			case ColorType.TRUECOLOUR:
11566				if (length % 2 !== 0) throw new RangeError(`tRNS chunk length must be a multiple of 2. Got ${length}`);
11567				if (length / 2 > this._png.width * this._png.height) throw new Error(`tRNS chunk contains more alph
11567a values than there are pixels (${length / 2} vs ${this._png.width * this._png.height})`);
11568				this._hasTransparency = true;
11569				this._transparency = new Uint16Array(length / 2);
11570				for (let i$2 = 0; i$2 < length / 2; i$2++) this._transparency[i$2] = this.readUint16();
11571				break;
11572			case ColorType.INDEXED_COLOUR: {
11573				if (length > this._palette.length) throw new Error(`tRNS chunk contains more alpha values than there are palette colors (${length} vs ${this._palette.length})`);
11574				let i$2 = 0;
11575				for (; i$2 < length; i$2++) {
11576					const alpha = this.readByte();
11577					this._palette[i$2].push(alpha);
11578				}
11579				for (; i$2 < this._palette.length; i$2++) this._palette[i$2].push(255);
11580				break;
11581			}
11582			case ColorType.UNKNOWN:
11583			case ColorType.GREYSCALE_ALPHA:
11584			case ColorType.TRUECOLOUR_ALPHA:
11585			default: throw new Error(`tRNS chunk is not supported for color type ${this._colorType}`);
11586		}
11587	}
11588	decodeiCCP(length) {
11589		const name = readKeyword(this);
11590		const compressionMethod = this.readUint8();
11591		if (compressionMethod !== CompressionMethod.DEFLATE) throw new Error(`Unsupported iCCP compression method: ${compressionMethod}`);
11592		const compressedProfile = this.readBytes(length - name.length - 2);
11593		this._png.iccEmbeddedProfile = {
11594			name,
11595			profile: inflate_1(compressedProfile)
11596		};
11597	}
11598	decodepHYs() {
11599		const ppuX = this.readUint32();
11600		const ppuY = this.readUint32();
11601		const unitSpecifier = this.readByte();
11602		this._png.resolution = {
11603			x: ppuX,
11604			y: ppuY,
11605			unit: unitSpecifier
11606		};
11607	}
11608	decodeApngImage() {
11609		this._apng.width = this._png.width;
11610		this._apng.height = this._png.height;
11611		this._apng.channels = this._png.channels;
11612		this._apng.depth = this._png.depth;
11613		this._apng.numberOfFrames = this._numberOfFrames;
11614		this._apng.numberOfPlays = this._numberOfPlays;
11615		this._apng.text = this._png.text;
11616		this._apng.resolution = this._png.resolution;
11617		for (let i$2 = 0; i$2 < this._numberOfFrames; i$2++) {
11618			const newFrame = {
11619				sequenceNumber: this._frames[i$2].sequenceNumber,
11620				delayNumber: this._frames[i$2].delayNumber,
11621				delayDenominator: this._frames[i$2].delayDenominator,
11622				data: this._apng.depth === 8 ? new Uint8Array(this._apng.width * this._apng.height * this._apng.channels) : new Uint16Array(this._apng.width * this._apng.height * this._apng.channels)
11623			};
11624			const frame = this._frames.at(i$2);
11625			if (frame) {
11626				frame.data = decodeInterlaceNull({
11627					data: frame.data,
11628					width: frame.width,
11629					height: frame.height,
11630					channels: this._apng.channels,
11631					depth: this._apng.depth
11632				});
11633				if (this._hasPalette) this._apng.palette = this._palette;
11634				if (this._hasTransparency) this._apng.transparency = this._transparency;
11635				if (i$2 === 0 || frame.xOffset === 0 && frame.yOffset === 0 && frame.width === this._png.width && frame.height === this._png.height) newFrame.data = frame.data;
11636				else {
11637					const prevFrame = this._apng.frames.at(i$2 - 1);
11638					this.disposeFrame(frame, prevFrame, newFrame);
11639					this.addFrameDataToCanvas(newFrame, frame);
11640				}
11641				this._apng.frames.push(newFrame);
11642			}
11643		}
11644		return this._apng;
11645	}
11646	disposeFrame(frame, prevFrame, imageFrame) {
11647		switch (frame.disposeOp) {
11648			case DisposeOpType.NONE: break;
11649			case DisposeOpType.BACKGROUND:
11650				for (let row = 0; row < this._png.height; row++) for (let col = 0; col < this._png.width; col++) {
11651					const index = (row * frame.width + col) * this._png.channels;
11652					for (let channel = 0; channel < this._png.channels; channel++) imageFrame.data[index + channel] = 0;
11653				}
11654				break;
11655			case DisposeOpType.PREVIOUS:
11656				imageFrame.data.set(prevFrame.data);
11657				break;
11658			default: throw new Error("Unknown disposeOp");
11659		}
11660	}
11661	addFrameDataToCanvas(imageFrame, frame) {
11662		const maxValue = 1 << this._png.depth;
11663		const calculatePixelIndices = (row, col) => {
11664			const index = ((row + frame.yOffset) * this._png.width + frame.xOffset + col) * this._png.channels;
11665			const frameIndex = (row * frame.width + col) * this._png.channels;
11666			return {
11667				index,
11668				frameIndex
11669			};
11670		};
11671		switch (frame.blendOp) {
11672			case BlendOpType.SOURCE:
11673				for (let row = 0; row < frame.height; row++) for (let col = 0; col < frame.width; col++) {
11674					const { index, frameIndex } = calculatePixelIndices(row, col);
11675					for (let channel = 0; channel < this._png.channels; channel++) imageFrame.data[index + channel] = frame.data[frameIndex + channel];
11676				}
11677				break;
11678			case BlendOpType.OVER:
11679				for (let row = 0; row < frame.height; row++) for (let col = 0; col < frame.width; col++) {
11680					const { index, frameIndex } = calculatePixelIndices(row, col);
11681					for (let channel = 0; channel < this._png.channels; channel++) {
11682						const sourceAlpha = frame.data[frameIndex + this._png.channels - 1] / maxValue;
11683						const foregroundValue = channel % (this._png.channels - 1) === 0 ? 1 : frame.data[frameIndex + channel];
11684						const value = Math.floor(sourceAlpha * foregroundValue + (1 - sourceAlpha) * imageFrame.data[index + channel]);
11685						imageFrame.data[index + channel] += value;
11686					}
11687				}
11688				break;
11689			default: throw new Error("Unknown blendOp");
11690		}
11691	}
11692	decodeImage() {
11693		if (this._inflator.err) throw new Error(`Error while decompressing the data: ${this._inflator.err}`);
11694		const data = this._isAnimated ? (this._frames?.at(0)).data : this._inflator.result;
11695		if (this._filterMethod !== FilterMethod.ADAPTIVE) throw new Error(`Filter method ${this._filterMethod} not supported`);
11696		if (this._interlaceMethod === InterlaceMethod.NO_INTERLACE) this._png.data = decodeInterlaceNull({
11697			data,
11698			width: this._png.width,
11699			height: this._png.height,
11700			channels: this._png.channels,
11701			depth: this._png.depth
11702		});
11703		else if (this._interlaceMethod === InterlaceMethod.ADAM7) this._png.data = decodeInterlaceAdam7({
11704			data,
11705			width: this._png.width,
11706			height: this._png.height,
11707			channels: this._png.channels,
11708			depth: this._png.depth
11709		});
11710		else throw new Error(`Interlace method ${this._interlaceMethod} not supported`);
11711		if (this._hasPalette) this._png.palette = this._palette;
11712		if (this._hasTransparency) this._png.transparency = this._transparency;
11713	}
11714	pushDataToFrame() {
11715		const result = this._inflator.result;
11716		const lastFrame = this._frames.at(-1);
11717		if (lastFrame) lastFrame.data = result;
11718		else this._frames.push({
11719			sequenceNumber: 0,
11720			width: this._png.width,
11721			height: this._png.height,
11722			xOffset: 0,
11723			yOffset: 0,
11724			delayNumber: 0,
11725			delayDenominator: 0,
11726			disposeOp: DisposeOpType.NONE,
11727			blendOp: BlendOpType.SOURCE,
11728			data: result
11729		});
11730		this._inflator = new Inflate_1();
11731		this._writingDataChunks = false;
11732	}
11733};
11734function checkBitDepth(value) {
11735	if (value !== 1 && value !== 2 && value !== 4 && value !== 8 && value !== 16) throw new Error(`invalid bit depth: ${value}`);
11736	return value;
11737}
11738var ResolutionUnitSpecifier;
11739(function(ResolutionUnitSpecifier$1) {
11740	ResolutionUnitSpecifier$1[ResolutionUnitSpecifier$1["UNKNOWN"] = 0] = "UNKNOWN";
11741	ResolutionUnitSpecifier$1[ResolutionUnitSpecifier$1["METRE"] = 1] = "METRE";
11742})(ResolutionUnitSpecifier || (ResolutionUnitSpecifier = {}));
11743function decodePng(data, options) {
11744	return new PngDecoder(data, options).decode();
11745}
11746var i = function() {
11747	return "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this;
11748}();
11749function a() {
11750	i.console && "function" == typeof i.console.log && i.console.log.apply(i.console, arguments);
11751}
11752var o = {
11753	log: a,
11754	warn: function(t) {
11755		i.console && ("function" == typeof i.console.warn ? i.console.warn.apply(i.console, arguments) : a.call(null, arguments));
11756	},
11757	error: function(t) {
11758		i.console && ("function" == typeof i.console.error ? i.console.error.apply(i.console, arguments) : a(t));
11759	}
11760};
11761function s(t, e, n) {
11762	var r = new XMLHttpRequest();
11763	r.open("GET", t), r.responseType = "blob", r.onload = function() {
11764		l(r.response, e, n);
11765	}, r.onerror = function() {
11766		o.error("could not download file");
11767	}, r.send();
11768}
11769function u(t) {
11770	var e = new XMLHttpRequest();
11771	e.open("HEAD", t, !1);
11772	try {
11773		e.send();
11774	} catch (n) {}
11775	return e.status >= 200 && e.status <= 299;
11776}
11777function c(t) {
11778	try {
11779		t.dispatchEvent(new MouseEvent("click"));
11780	} catch (n) {
11781		var e = document.createEvent("MouseEvents");
11782		e.initMouseEvent("click", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), t.dispatchEvent(e);
11783	}
11784}
11785var l = i.saveAs || ("object" !== ("undefined" == typeof window ? "undefined" : _typeof(window)) || window !== i ? function() {} : "undefined" != typeof HTMLAnchorElement && "download" in HTMLAnchorElement.prototype ? function(t, e, n) {
11786	var r = i.URL || i.webkitURL, a$1 = document.createElement("a");
11787	e = e || t.name || "download", a$1.download = e, a$1.rel = "noopener", "string" == typeof t ? (a$1.href = t, a$1.origin !== location.origin ? u(a$1.href) ? s(t, e, n) : c(a$1, a$1.target = "_blank") : c(a$1)) : (a$1.href = r.createObjectURL(t), setTimeout(function() {
11788		r.revokeObjectURL(a$1.href);
11789	}, 4e4), setTimeout(function() {
11790		c(a$1);
11791	}, 0));
11792} : "msSaveOrOpenBlob" in navigator ? function(e, n, r) {
11793	if (n = n || e.name || "download", "string" == typeof e) if (u(e)) s(e, n, r);
11794	else {
11795		var i$2 = document.createElement("a");
11796		i$2.href = e, i$2.target = "_blank", setTimeout(function() {
11797			c(i$2);
11798		});
11799	}
11800	else navigator.msSaveOrOpenBlob(function(e$1, n$1) {
11801		return void 0 === n$1 ? n$1 = { autoBom: !1 } : "object" !== _typeof(n$1) && (o.warn("Deprecated: Expected third argument to be a object"), n$1 = { autoBom: !n$1 }), n$1.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e$1.type) ? new Blob([String.fromCharCode(65279), e$1], { type: e$1.type }) : e$1;
11802	}(e, r), n);
11803} : function(e, n, r, a$1) {
11804	if ((a$1 = a$1 || open("", "_blank")) && (a$1.document.title = a$1.document.body.innerText = "downloading..."), "string" == typeof e) return s(e, n, r);
11805	var o$1 = "application/octet-stream" === e.type, u$1 = /constructor/i.test(i.HTMLElement) || i.safari, c$1 = /CriOS\/[\d]+/.test(navigator.userAgent);
11806	if ((c$1 || o$1 && u$1) && "object" === ("undefined" == typeof FileReader ? "undefined" : _typeof(FileReader))) {
11807		var l$1 = new FileReader();
11808		l$1.onloadend = function() {
11809			var t = l$1.result;
11810			t = c$1 ? t : t.replace(/^data:[^;]*;/, "data:attachment/file;"), a$1 ? a$1.location.href = t : location = t, a$1 = null;
11811		}, l$1.readAsDataURL(e);
11812	} else {
11813		var h$1 = i.URL || i.webkitURL, f$1 = h$1.createObjectURL(e);
11814		a$1 ? a$1.location = f$1 : location.href = f$1, a$1 = null, setTimeout(function() {
11815			h$1.revokeObjectURL(f$1);
11816		}, 4e4);
11817	}
11818});
11819/**
11820* A class to parse color values
11821* @author Stoyan Stefanov <[email protected]>
11822* {@link   http://www.phpied.com/rgb-color-parser-in-javascript/}
11823* @license Use it if you like it
11824*/ function h(t) {
11825	var e;
11826	t = t || "", this.ok = !1, "#" == t.charAt(0) && (t = t.substr(1, 6)), t = {
11827		aliceblue: "f0f8ff",
11828		antiquewhite: "faebd7",
11829		aqua: "00ffff",
11830		aquamarine: "7fffd4",
11831		azure: "f0ffff",
11832		beige: "f5f5dc",
11833		bisque: "ffe4c4",
11834		black: "000000",
11835		blanchedalmond: "ffebcd",
11836		blue: "0000ff",
11837		blueviolet: "8a2be2",
11838		brown: "a52a2a",
11839		burlywood: "deb887",
vendor: 14,630 bytes, lines 11840-12207
11840		cadetblue: "5f9ea0",
11841		chartreuse: "7fff00",
11842		chocolate: "d2691e",
11843		coral: "ff7f50",
11844		cornflowerblue: "6495ed",
11845		cornsilk: "fff8dc",
11846		crimson: "dc143c",
11847		cyan: "00ffff",
11848		darkblue: "00008b",
11849		darkcyan: "008b8b",
11850		darkgoldenrod: "b8860b",
11851		darkgray: "a9a9a9",
11852		darkgreen: "006400",
11853		darkkhaki: "bdb76b",
11854		darkmagenta: "8b008b",
11855		darkolivegreen: "556b2f",
11856		darkorange: "ff8c00",
11857		darkorchid: "9932cc",
11858		darkred: "8b0000",
11859		darksalmon: "e9967a",
11860		darkseagreen: "8fbc8f",
11861		darkslateblue: "483d8b",
11862		darkslategray: "2f4f4f",
11863		darkturquoise: "00ced1",
11864		darkviolet: "9400d3",
11865		deeppink: "ff1493",
11866		deepskyblue: "00bfff",
11867		dimgray: "696969",
11868		dodgerblue: "1e90ff",
11869		feldspar: "d19275",
11870		firebrick: "b22222",
11871		floralwhite: "fffaf0",
11872		forestgreen: "228b22",
11873		fuchsia: "ff00ff",
11874		gainsboro: "dcdcdc",
11875		ghostwhite: "f8f8ff",
11876		gold: "ffd700",
11877		goldenrod: "daa520",
11878		gray: "808080",
11879		green: "008000",
11880		greenyellow: "adff2f",
11881		honeydew: "f0fff0",
11882		hotpink: "ff69b4",
11883		indianred: "cd5c5c",
11884		indigo: "4b0082",
11885		ivory: "fffff0",
11886		khaki: "f0e68c",
11887		lavender: "e6e6fa",
11888		lavenderblush: "fff0f5",
11889		lawngreen: "7cfc00",
11890		lemonchiffon: "fffacd",
11891		lightblue: "add8e6",
11892		lightcoral: "f08080",
11893		lightcyan: "e0ffff",
11894		lightgoldenrodyellow: "fafad2",
11895		lightgrey: "d3d3d3",
11896		lightgreen: "90ee90",
11897		lightpink: "ffb6c1",
11898		lightsalmon: "ffa07a",
11899		lightseagreen: "20b2aa",
11900		lightskyblue: "87cefa",
11901		lightslateblue: "8470ff",
11902		lightslategray: "778899",
11903		lightsteelblue: "b0c4de",
11904		lightyellow: "ffffe0",
11905		lime: "00ff00",
11906		limegreen: "32cd32",
11907		linen: "faf0e6",
11908		magenta: "ff00ff",
11909		maroon: "800000",
11910		mediumaquamarine: "66cdaa",
11911		mediumblue: "0000cd",
11912		mediumorchid: "ba55d3",
11913		mediumpurple: "9370d8",
11914		mediumseagreen: "3cb371",
11915		mediumslateblue: "7b68ee",
11916		mediumspringgreen: "00fa9a",
11917		mediumturquoise: "48d1cc",
11918		mediumvioletred: "c71585",
11919		midnightblue: "191970",
11920		mintcream: "f5fffa",
11921		mistyrose: "ffe4e1",
11922		moccasin: "ffe4b5",
11923		navajowhite: "ffdead",
11924		navy: "000080",
11925		oldlace: "fdf5e6",
11926		olive: "808000",
11927		olivedrab: "6b8e23",
11928		orange: "ffa500",
11929		orangered: "ff4500",
11930		orchid: "da70d6",
11931		palegoldenrod: "eee8aa",
11932		palegreen: "98fb98",
11933		paleturquoise: "afeeee",
11934		palevioletred: "d87093",
11935		papayawhip: "ffefd5",
11936		peachpuff: "ffdab9",
11937		peru: "cd853f",
11938		pink: "ffc0cb",
11939		plum: "dda0dd",
11940		powderblue: "b0e0e6",
11941		purple: "800080",
11942		red: "ff0000",
11943		rosybrown: "bc8f8f",
11944		royalblue: "4169e1",
11945		saddlebrown: "8b4513",
11946		salmon: "fa8072",
11947		sandybrown: "f4a460",
11948		seagreen: "2e8b57",
11949		seashell: "fff5ee",
11950		sienna: "a0522d",
11951		silver: "c0c0c0",
11952		skyblue: "87ceeb",
11953		slateblue: "6a5acd",
11954		slategray: "708090",
11955		snow: "fffafa",
11956		springgreen: "00ff7f",
11957		steelblue: "4682b4",
11958		tan: "d2b48c",
11959		teal: "008080",
11960		thistle: "d8bfd8",
11961		tomato: "ff6347",
11962		turquoise: "40e0d0",
11963		violet: "ee82ee",
11964		violetred: "d02090",
11965		wheat: "f5deb3",
11966		white: "ffffff",
11967		whitesmoke: "f5f5f5",
11968		yellow: "ffff00",
11969		yellowgreen: "9acd32"
11970	}[t = (t = t.replace(/ /g, "")).toLowerCase()] || t;
11971	for (var n = [
11972		{
11973			re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
11974			example: ["rgb(123, 234, 45)", "rgb(255,234,245)"],
11975			process: function(t$1) {
11976				return [
11977					parseInt(t$1[1]),
11978					parseInt(t$1[2]),
11979					parseInt(t$1[3])
11980				];
11981			}
11982		},
11983		{
11984			re: /^(\w{2})(\w{2})(\w{2})$/,
11985			example: ["#00ff00", "336699"],
11986			process: function(t$1) {
11987				return [
11988					parseInt(t$1[1], 16),
11989					parseInt(t$1[2], 16),
11990					parseInt(t$1[3], 16)
11991				];
11992			}
11993		},
11994		{
11995			re: /^(\w{1})(\w{1})(\w{1})$/,
11996			example: ["#fb0", "f0f"],
11997			process: function(t$1) {
11998				return [
11999					parseInt(t$1[1] + t$1[1], 16),
12000					parseInt(t$1[2] + t$1[2], 16),
12001					parseInt(t$1[3] + t$1[3], 16)
12002				];
12003			}
12004		}
12005	], r = 0; r < n.length; r++) {
12006		var i$2 = n[r].re, a$1 = n[r].process, o$1 = i$2.exec(t);
12007		o$1 && (e = a$1(o$1), this.r = e[0], this.g = e[1], this.b = e[2], this.ok = !0);
12008	}
12009	this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b, this.toRGB = function() {
12010		return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")";
12011	}, this.toHex = function() {
12012		var t$1 = this.r.toString(16), e$1 = this.g.toString(16), n$1 = this.b.toString(16);
12013		return 1 == t$1.length && (t$1 = "0" + t$1), 1 == e$1.length && (e$1 = "0" + e$1), 1 == n$1.length && (n$1 = "0" + n$1), "#" + t$1 + e$1 + n$1;
12014	};
12015}
12016var f = i.atob.bind(i), d = i.btoa.bind(i);
12017/**
12018* @license
12019* Joseph Myers does not specify a particular license for his work.
12020*
12021* Author: Joseph Myers
12022* Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js
12023*
12024* Modified by: Owen Leong
12025*/
12026function p(t, e) {
12027	var n = t[0], r = t[1], i$2 = t[2], a$1 = t[3];
12028	n = m(n, r, i$2, a$1, e[0], 7, -680876936), a$1 = m(a$1, n, r, i$2, e[1], 12, -389564586), i$2 = m(i$2, a$1, n, r, e[2], 17, 606105819), r = m(r, i$2, a$1, n, e[3], 22, -1044525330), n = m(n, r, i$2, a$1, e[4], 7, -176418897), a$1 = m(a$1, n, r, i$2, e[5], 12, 1200080426), i$2 = m(i$2, a$1, n, r, e[6], 17, -1473231341), r = m(r, i$2, a$1, n, e[7], 22, -45705983), n = m(n, r, i$2, a$1, e[8], 7, 1770035416), a$1 = m(a$1, n, r, i$2, e[9], 12, -1958414417), i$2 = m(i$2, a$1, n, r, e[10], 17, -42063), r = m(r, i$2, a$1, n, e[11], 22, -1990404162), n = m(n, r, i$2, a$1, e[12], 7, 1804603682), a$1 = m(a$1, n, r, i$2, e[13], 12, -40341101), i$2 = m(i$2, a$1, n, r, e[14], 17, -1502002290), n = v(n, r = m(r, i$2, a$1, n, e[15], 22, 1236535329), i$2, a$1, e[1], 5, -165796510), a$1 = v(a$1, n, r, i$2, e[6], 9, -1069501632), i$2 = v(i$2, a$1, n, r, e[11], 14, 643717713), r = v(r, i$2, a$1, n, e[0], 20, -373897302), n = v(n, r, i$2, a$1, e[5], 5, -701558691), a$1 = v(a$1, n, r, i$2, e[10], 9, 38016083), i$2 = v(i$2, a$1, n, r, e[15], 14, -660478335), r = v(r, i$2, a$1, n, e[4], 20, -405537848), n = v(n, r, i$2, a$1, e[9], 5, 568446438), a$1 = v(a$1, n, r, i$2, e[14], 9, -1019803690), i$2 = v(i$2, a$1, n, r, e[3], 14, -187363961), r = v(r, i$2, a$1, n, e[8], 20, 1163531501), n = v(n, r, i$2, a$1, e[13], 5, -1444681467), a$1 = v(a$1, n, r, i$2, e[2], 9, -51403784), i$2 = v(i$2, a$1, n, r, e[7], 14, 1735328473), n = b(n, r = v(r, i$2, a$1, n, e[12], 20, -1926607734), i$2, a$1, e[5], 4, -378558), a$1 = b(a$1, n, r, i$2, e[8], 11, -2022574463), i$2 = b(i$2, a$1, n, r, e[11], 16, 1839030562), r = b(r, i$2, a$1, n, e[14], 23, -35309556), n = b(n, r, i$2, a$1, e[1], 4, -1530992060), a$1 = b(a$1, n, r, i$2, e[4], 11, 1272893353), i$2 = b(i$2, a$1, n, r, e[7], 16, -155497632), r = b(r, i$2, a$1, n, e[10], 23, -1094730640), n = b(n, r, i$2, a$1, e[13], 4, 681279174), a$1 = b(a$1, n, r, i$2, e[0], 11, -358537222), i$2 = b(i$2, a$1, n, r, e[3], 16, -722521979), r = b(r, i$2, a$1, n, e[6], 23, 76029189), n = b(n, r, i$2, a$1, e[9], 4, -640364487), a$1 = b(a$1, n, r, i$2, e[12], 11, -421815835), i$2 = b(i$2, a$1, n, r, e[15], 16, 530742520), n = y(n, r = b(r, i$2, a$1, n, e[2], 23, -995338651), i$2, a$1, e[0], 6, -198630844), a$1 = y(a$1, n, r, i$2, e[7], 10, 1126891415), i$2 = y(i$2, a$1, n, r, e[14], 15, -1416354905), r = y(r, i$2, a$1, n, e[5], 21, -57434055), n = y(n, r, i$2, a$1, e[12], 6, 1700485571), a$1 = y(a$1, n, r, i$2, e[3], 10, -1894986606), i$2 = y(i$2, a$1, n, r, e[10], 15, -1051523), r = y(r, i$2, a$1, n, e[1], 21, -2054922799), n = y(n, r, i$2, a$1, e[8], 6, 1873313359), a$1 = y(a$1, n, r, i$2, e[15], 10, -30611744), i$2 = y(i$2, a$1, n, r, e[6], 15, -1560198380), r = y(r, i$2, a$1, n, e[13], 21, 1309151649), n = y(n, r, i$2, a$1, e[4], 6, -145523070), a$1 = y(a$1, n, r, i$2, e[11], 10, -1120210379), i$2 = y(i$2, a$1, n, r, e[2], 15, 718787259), r = y(r, i$2, a$1, n, e[9], 21, -343485551), t[0] = P(n, t[0]), t[1] = P(r, t[1]), t[2] = P(i$2, t[2]), t[3] = P(a$1, t[3]);
12029}
12030function g(t, e, n, r, i$2, a$1) {
12031	return e = P(P(e, t), P(r, a$1)), P(e << i$2 | e >>> 32 - i$2, n);
12032}
12033function m(t, e, n, r, i$2, a$1, o$1) {
12034	return g(e & n | ~e & r, t, e, i$2, a$1, o$1);
12035}
12036function v(t, e, n, r, i$2, a$1, o$1) {
12037	return g(e & r | n & ~r, t, e, i$2, a$1, o$1);
12038}
12039function b(t, e, n, r, i$2, a$1, o$1) {
12040	return g(e ^ n ^ r, t, e, i$2, a$1, o$1);
12041}
12042function y(t, e, n, r, i$2, a$1, o$1) {
12043	return g(n ^ (e | ~r), t, e, i$2, a$1, o$1);
12044}
12045function w(t) {
12046	var e, n = t.length, r = [
12047		1732584193,
12048		-271733879,
12049		-1732584194,
12050		271733878
12051	];
12052	for (e = 64; e <= t.length; e += 64) p(r, N(t.substring(e - 64, e)));
12053	t = t.substring(e - 64);
12054	var i$2 = [
12055		0,
12056		0,
12057		0,
12058		0,
12059		0,
12060		0,
12061		0,
12062		0,
12063		0,
12064		0,
12065		0,
12066		0,
12067		0,
12068		0,
12069		0,
12070		0
12071	];
12072	for (e = 0; e < t.length; e++) i$2[e >> 2] |= t.charCodeAt(e) << (e % 4 << 3);
12073	if (i$2[e >> 2] |= 128 << (e % 4 << 3), e > 55) for (p(r, i$2), e = 0; e < 16; e++) i$2[e] = 0;
12074	return i$2[14] = 8 * n, p(r, i$2), r;
12075}
12076function N(t) {
12077	var e, n = [];
12078	for (e = 0; e < 64; e += 4) n[e >> 2] = t.charCodeAt(e) + (t.charCodeAt(e + 1) << 8) + (t.charCodeAt(e + 2) << 16) + (t.charCodeAt(e + 3) << 24);
12079	return n;
12080}
12081var L = "0123456789abcdef".split("");
12082function x(t) {
12083	for (var e = "", n = 0; n < 4; n++) e += L[t >> 8 * n + 4 & 15] + L[t >> 8 * n & 15];
12084	return e;
12085}
12086function A(t) {
12087	return String.fromCharCode(255 & t, (65280 & t) >> 8, (16711680 & t) >> 16, (4278190080 & t) >> 24);
12088}
12089function S(t) {
12090	return w(t).map(A).join("");
12091}
12092var _ = "5d41402abc4b2a76b9719d911017c592" != function(t) {
12093	for (var e = 0; e < t.length; e++) t[e] = x(t[e]);
12094	return t.join("");
12095}(w("hello"));
12096function P(t, e) {
12097	if (_) {
12098		var n = (65535 & t) + (65535 & e);
12099		return (t >> 16) + (e >> 16) + (n >> 16) << 16 | 65535 & n;
12100	}
12101	return t + e & 4294967295;
12102}
12103/**
12104* @license
12105* FPDF is released under a permissive license: there is no usage restriction.
12106* You may embed it freely in your application (commercial or not), with or
12107* without modifications.
12108*
12109* Reference: http://www.fpdf.org/en/script/script37.php
12110*/ function k(t, e) {
12111	var n, r, i$2, a$1;
12112	if (t !== n) {
12113		for (var o$1 = (i$2 = t, a$1 = 1 + (256 / t.length | 0), new Array(a$1 + 1).join(i$2)), s$1 = [], u$1 = 0; u$1 < 256; u$1++) s$1[u$1] = u$1;
12114		var c$1 = 0;
12115		for (u$1 = 0; u$1 < 256; u$1++) {
12116			var l$1 = s$1[u$1];
12117			c$1 = (c$1 + l$1 + o$1.charCodeAt(u$1)) % 256, s$1[u$1] = s$1[c$1], s$1[c$1] = l$1;
12118		}
12119		n = t, r = s$1;
12120	} else s$1 = r;
12121	var h$1 = e.length, f$1 = 0, d$1 = 0, p$1 = "";
12122	for (u$1 = 0; u$1 < h$1; u$1++) d$1 = (d$1 + (l$1 = s$1[f$1 = (f$1 + 1) % 256])) % 256, s$1[f$1] = s$1[d$1], s$1[d$1] = l$1, o$1 = s$1[(s$1[f$1] + s$1[d$1]) % 256], p$1 += String.fromCharCode(e.charCodeAt(u$1) ^ o$1);
12123	return p$1;
12124}
12125/**
12126* @license
12127* Licensed under the MIT License.
12128* http://opensource.org/licenses/mit-license
12129* Author: Owen Leong (@owenl131)
12130* Date: 15 Oct 2020
12131* References:
12132* https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt
12133* https://github.com/foliojs/pdfkit/blob/master/lib/security.js
12134* http://www.fpdf.org/en/script/script37.php
12135*/ var F = {
12136	print: 4,
12137	modify: 8,
12138	copy: 16,
12139	"annot-forms": 32
12140};
12141function I(t, e, n, r) {
12142	this.v = 1, this.r = 2;
12143	var i$2 = 192;
12144	t.forEach(function(t$1) {
12145		if (void 0 !== F.perm) throw new Error("Invalid permission: " + t$1);
12146		i$2 += F[t$1];
12147	}), this.padding = "(¿N^NuŠAd\0NVÿú�\b..\0¶Ðh>€/\f©þdSiz";
12148	var a$1 = (e + this.padding).substr(0, 32), o$1 = (n + this.padding).substr(0, 32);
12149	this.O = this.processOwnerPassword(a$1, o$1), this.P = -(1 + (255 ^ i$2)), this.encryptionKey = S(a$1 + this.O + this.lsbFirstWord(this.P) + this.hexToBytes(r)).substr(0, 5), this.U = k(this.encryptionKey, this.padding);
12150}
12151function j(t) {
12152	if (/[^\u0000-\u00ff]/.test(t)) throw new Error("Invalid PDF Name Object: " + t + ", Only accept ASCII characters.");
12153	for (var e = "", n = t.length, r = 0; r < n; r++) {
12154		var i$2 = t.charCodeAt(r);
12155		e += i$2 < 33 || 35 === i$2 || 37 === i$2 || 40 === i$2 || 41 === i$2 || 47 === i$2 || 60 === i$2 || 62 === i$2 || 91 === i$2 || 93 === i$2 || 123 === i$2 || 125 === i$2 || i$2 > 126 ? "#" + ("0" + i$2.toString(16)).slice(-2) : t[r];
12156	}
12157	return e;
12158}
12159function C(e) {
12160	if ("object" !== _typeof(e)) throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");
12161	var n = {};
12162	this.subscribe = function(t, e$1, r) {
12163		if (r = r || !1, "string" != typeof t || "function" != typeof e$1 || "boolean" != typeof r) throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");
12164		n.hasOwnProperty(t) || (n[t] = {});
12165		var i$2 = Math.random().toString(35);
12166		return n[t][i$2] = [e$1, !!r], i$2;
12167	}, this.unsubscribe = function(t) {
12168		for (var e$1 in n) if (n[e$1][t]) return delete n[e$1][t], 0 === Object.keys(n[e$1]).length && delete n[e$1], !0;
12169		return !1;
12170	}, this.publish = function(t) {
12171		if (n.hasOwnProperty(t)) {
12172			var r = Array.prototype.slice.call(arguments, 1), a$1 = [];
12173			for (var s$1 in n[t]) {
12174				var u$1 = n[t][s$1];
12175				try {
12176					u$1[0].apply(e, r);
12177				} catch (c$1) {
12178					i.console && o.error("jsPDF PubSub Error", c$1.message, c$1);
12179				}
12180				u$1[1] && a$1.push(s$1);
12181			}
12182			a$1.length && a$1.forEach(this.unsubscribe);
12183		}
12184	}, this.getTopics = function() {
12185		return n;
12186	};
12187}
12188function O(t) {
12189	if (!(this instanceof O)) return new O(t);
12190	var e = "opacity,stroke-opacity".split(",");
12191	for (var n in t) t.hasOwnProperty(n) && e.indexOf(n) >= 0 && (this[n] = t[n]);
12192	this.id = "", this.objectNumber = -1;
12193}
12194function B(t, e) {
12195	this.gState = t, this.matrix = e, this.id = "", this.objectNumber = -1;
12196}
12197function M(t, e, n, r, i$2) {
12198	if (!(this instanceof M)) return new M(t, e, n, r, i$2);
12199	this.type = "axial" === t ? 2 : 3, this.coords = e, this.colors = n, B.call(this, r, i$2);
12200}
12201function q(t, e, n, r, i$2) {
12202	if (!(this instanceof q)) return new q(t, e, n, r, i$2);
12203	this.boundingBox = t, this.xStep = e, this.yStep = n, this.stream = "", this.cloneIndex = 0, B.call(this, r, i$2);
12204}
12205function E(e) {
12206	var n, r = "string" == typeof arguments[0] ? arguments[0] : "p", a$1 = arguments[1], s$1 = arguments[2], u$1 = arguments[3], c$1 = [], f$1 = 1, p$1 = 16, g$1 = "S", m$1 = null;
12207	"object" === _typeof(e = e || {}) && (r = e.orientation, a$1 = e.unit || a$1, s$1 = e.format || s$1, u$1 = e.compress || e.compressPdf || u$1, null !== (m$1 = e.encryption || null) && (m$1.userPassword = m$1.userPassword || "", m$1.ownerPassword = m$1.ownerPassword || "", m$1.userPermissions = m$1.userPermissions || []), f$1 = "number" == typeof e.userUnit ? Math.abs(e.userUnit) : 1, void 0 !== e.precision && (n = e.precision), void 0 !== e.floatPrecision && (p$1 = e.floatPrecision), g$1 = e.defaultPathOperation || "S"), c$1 = e.filters || (!0 === u$1 ? ["FlateEncode"] : c$1), a$1 = a$1 || "mm", r = ("" + (r || "P")).toLowerCase();
12208	var v$1 = e.putOnlyUsedFonts || !1, b$1 = {}, y$1 = {
12209		internal: {},
12210		__private__: {}
12211	};
12212	y$1.__private__.PubSub = C;
12213	var w$1 = "1.3", N$1 = y$1.__private__.getPdfVersion = function() {
12214		return w$1;
12215	};
12216	y$1.__private__.setPdfVersion = function(t) {
12217		w$1 = t;
12218	};
12219	var L$1 = {
12220		a0: [2383.94, 3370.39],
12221		a1: [1683.78, 2383.94],
12222		a2: [1190.55, 1683.78],
12223		a3: [841.89, 1190.55],
12224		a4: [595.28, 841.89],
12225		a5: [419.53, 595.28],
12226		a6: [297.64, 419.53],
12227		a7: [209.76, 297.64],
12228		a8: [147.4, 209.76],
12229		a9: [104.88, 147.4],
12230		a10: [73.7, 104.88],
12231		b0: [2834.65, 4008.19],
12232		b1: [2004.09, 2834.65],
12233		b2: [1417.32, 2004.09],
12234		b3: [1000.63, 1417.32],
12235		b4: [708.66, 1000.63],
12236		b5: [498.9, 708.66],
12237		b6: [354.33, 498.9],
12238		b7: [249.45, 354.33],
12239		b8: [175.75, 249.45],
12240		b9: [124.72, 175.75],
12241		b10: [87.87, 124.72],
12242		c0: [2599.37, 3676.54],
12243		c1: [1836.85, 2599.37],
12244		c2: [1298.27, 1836.85],
12245		c3: [918.43, 1298.27],
12246		c4: [649.13, 918.43],
12247		c5: [459.21, 649.13],
12248		c6: [323.15, 459.21],
12249		c7: [229.61, 323.15],
12250		c8: [161.57, 229.61],
12251		c9: [113.39, 161.57],
12252		c10: [79.37, 113.39],
12253		dl: [311.81, 623.62],
12254		letter: [612, 792],
12255		"government-letter": [576, 756],
12256		legal: [612, 1008],
12257		"junior-legal": [576, 360],
12258		ledger: [1224, 792],
12259		tabloid: [792, 1224],
12260		"credit-card": [153, 243]
12261	};
12262	y$1.__private__.getPageFormats = function() {
12263		return L$1;
12264	};
12265	var x$2 = y$1.__private__.getPageFormat = function(t) {
12266		return L$1[t];
12267	};
12268	s$1 = s$1 || "a4";
12269	var A$1 = "compat", S$1 = "advanced", _$1 = A$1;
12270	function P$1() {
12271		this.saveGraphicsState(), lt$1(new Wt$1(St$1, 0, 0, -St$1, 0, _n() * St$1).toString() + " cm"), this.setFontSize(this.getFontSize() / St$1), g$1 = "n", _$1 = S$1;
12272	}
12273	function k$1() {
12274		this.restoreGraphicsState(), g$1 = "S", _$1 = A$1;
12275	}
12276	var F$1 = y$1.__private__.combineFontStyleAndFontWeight = function(t, e$1) {
12277		if ("bold" == t && "normal" == e$1 || "bold" == t && 400 == e$1 || "normal" == t && "italic" == e$1 || "bold" == t && "italic" == e$1) throw new Error("Invalid Combination of fontweight and fontstyle");
12278		return e$1 && (t = 400 == e$1 || "normal" === e$1 ? "italic" === t ? "italic" : "normal" : 700 != e$1 && "bold" !== e$1 || "normal" !== t ? (700 == e$1 ? "bold" : e$1) + "" + t : "bold"), t;
12279	};
12280	y$1.advancedAPI = function(t) {
12281		var e$1 = _$1 === A$1;
12282		return e$1 && P$1.call(this), "function" != typeof t || (t(this), e$1 && k$1.call(this)), this;
12283	}, y$1.compatAPI = function(t) {
12284		var e$1 = _$1 === S$1;
12285		return e$1 && k$1.call(this), "function" != typeof t || (t(this), e$1 && P$1.call(this)), this;
12286	}, y$1.isAdvancedAPI = function() {
12287		return _$1 === S$1;
12288	};
12289	var B$1, R$1 = function(t) {
12290		if (_$1 !== S$1) throw new Error(t + " is only available in 'advanced' API mode. You need to call advancedAPI() first.");
12291	}, D$1 = y$1.roundToPrecision = y$1.__private__.roundToPrecision = function(t, e$1) {
12292		var r$1 = n || e$1;
12293		if (isNaN(t) || isNaN(r$1)) throw new Error("Invalid argument passed to jsPDF.roundToPrecision");
12294		return t.toFixed(r$1).replace(/0+$/, "");
12295	};
12296	B$1 = y$1.hpf = y$1.__private__.hpf = "number" == typeof p$1 ? function(t) {
12297		if (isNaN(t)) throw new Error("Invalid argument passed to jsPDF.hpf");
12298		return D$1(t, p$1);
12299	} : "smart" === p$1 ? function(t) {
12300		if (isNaN(t)) throw new Error("Invalid argument passed to jsPDF.hpf");
12301		return D$1(t, t > -1 && t < 1 ? 16 : 5);
12302	} : function(t) {
12303		if (isNaN(t)) throw new Error("Invalid argument passed to jsPDF.hpf");
12304		return D$1(t, 16);
12305	};
12306	var T$1 = y$1.f2 = y$1.__private__.f2 = function(t) {
12307		if (isNaN(t)) throw new Error("Invalid argument passed to jsPDF.f2");
12308		return D$1(t, 2);
12309	}, z$1 = y$1.__private__.f3 = function(t) {
12310		if (isNaN(t)) throw new Error("Invalid argument passed to jsPDF.f3");
12311		return D$1(t, 3);
12312	}, U$1 = y$1.scale = y$1.__private__.scale = function(t) {
12313		if (isNaN(t)) throw new Error("Invalid argument passed to jsPDF.scale");
12314		return _$1 === A$1 ? t * St$1 : _$1 === S$1 ? t : void 0;
12315	}, H$1 = function(t) {
12316		return U$1(function(t$1) {
12317			return _$1 === A$1 ? _n() - t$1 : _$1 === S$1 ? t$1 : void 0;
12318		}(t));
12319	};
12320	y$1.__private__.setPrecision = y$1.setPrecision = function(t) {
12321		"number" == typeof parseInt(t, 10) && (n = parseInt(t, 10));
12322	};
12323	var W$1, V$1 = "00000000000000000000000000000000", G$1 = y$1.__private__.getFileId = function() {
12324		return V$1;
12325	}, Y$1 = y$1.__private__.setFileId = function(t) {
12326		return V$1 = void 0 !== t && /^[a-fA-F0-9]{32}$/.test(t) ? t.toUpperCase() : V$1.split("").map(function() {
12327			return "ABCDEF0123456789".charAt(Math.floor(16 * Math.random()));
12328		}).join(""), null !== m$1 && (je$1 = new I(m$1.userPermissions, m$1.userPassword, m$1.ownerPassword, V$1)), V$1;
12329	};
12330	y$1.setFileId = function(t) {
12331		return Y$1(t), this;
12332	}, y$1.getFileId = function() {
12333		return G$1();
12334	};
12335	var J$1 = y$1.__private__.convertDateToPDFDate = function(t) {
12336		var e$1 = t.getTimezoneOffset(), n$1 = e$1 < 0 ? "+" : "-", r$1 = Math.floor(Math.abs(e$1 / 60)), i$2 = Math.abs(e$1 % 60), a$2 = [
12337			n$1,
12338			Q$1(r$1),
12339			"'",
12340			Q$1(i$2),
12341			"'"
12342		].join("");
12343		return [
12344			"D:",
12345			t.getFullYear(),
12346			Q$1(t.getMonth() + 1),
12347			Q$1(t.getDate()),
12348			Q$1(t.getHours()),
12349			Q$1(t.getMinutes()),
12350			Q$1(t.getSeconds()),
12351			a$2
12352		].join("");
12353	}, X$1 = y$1.__private__.convertPDFDateToDate = function(t) {
12354		var e$1 = parseInt(t.substr(2, 4), 10), n$1 = parseInt(t.substr(6, 2), 10) - 1, r$1 = parseInt(t.substr(8, 2), 10), i$2 = parseInt(t.substr(10, 2), 10), a$2 = parseInt(t.substr(12, 2), 10), o$1 = parseInt(t.substr(14, 2), 10);
12355		return new Date(e$1, n$1, r$1, i$2, a$2, o$1, 0);
12356	}, K$1 = y$1.__private__.setCreationDate = function(t) {
12357		var e$1;
12358		if (void 0 === t && (t = /* @__PURE__ */ new Date()), t instanceof Date) e$1 = J$1(t);
12359		else {
12360			if (!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t)) throw new Error("Invalid argument passed to 
12360jsPDF.setCreationDate");
12361			e$1 = t;
12362		}
12363		return W$1 = e$1;
12364	}, Z$1 = y$1.__private__.getCreationDate = function(t) {
12365		var e$1 = W$1;
12366		return "jsDate" === t && (e$1 = X$1(W$1)), e$1;
12367	};
12368	y$1.setCreationDate = function(t) {
12369		return K$1(t), this;
12370	}, y$1.getCreationDate = function(t) {
12371		return Z$1(t);
12372	};
12373	var $$1, Q$1 = y$1.__private__.padd2 = function(t) {
12374		return ("0" + parseInt(t)).slice(-2);
12375	}, tt$1 = y$1.__private__.padd2Hex = function(t) {
12376		return ("00" + (t = t.toString())).substr(t.length);
12377	}, et$2 = 0, nt$1 = [], rt$1 = [], it$1 = 0, at$1 = [], ot$1 = [], st$1 = !1, ut$1 = rt$1;
12378	y$1.__private__.setCustomOutputDestination = function(t) {
12379		st$1 = !0, ut$1 = t;
12380	};
12381	var ct$1 = function(t) {
12382		st$1 || (ut$1 = t);
12383	};
12384	y$1.__private__.resetCustomOutputDestination = function() {
12385		st$1 = !1, ut$1 = rt$1;
12386	};
12387	var lt$1 = y$1.__private__.out = function(t) {
12388		return t = t.toString(), it$1 += t.length + 1, ut$1.push(t), ut$1;
12389	}, ht$1 = y$1.__private__.write = function(t) {
12390		return lt$1(1 === arguments.length ? t.toString() : Array.prototype.join.call(arguments, " "));
12391	}, ft$1 = y$1.__private__.getArrayBuffer = function(t) {
12392		for (var e$1 = t.length, n$1 = new ArrayBuffer(e$1), r$1 = new Uint8Array(n$1); e$1--;) r$1[e$1] = t.charCodeAt(e$1);
12393		return n$1;
12394	}, dt$1 = [
12395		[
12396			"Helvetica",
12397			"helvetica",
12398			"normal",
12399			"WinAnsiEncoding"
12400		],
12401		[
12402			"Helvetica-Bold",
12403			"helvetica",
12404			"bold",
12405			"WinAnsiEncoding"
12406		],
12407		[
12408			"Helvetica-Oblique",
12409			"helvetica",
12410			"italic",
12411			"WinAnsiEncoding"
12412		],
12413		[
12414			"Helvetica-BoldOblique",
12415			"helvetica",
12416			"bolditalic",
12417			"WinAnsiEncoding"
12418		],
12419		[
12420			"Courier",
12421			"courier",
12422			"normal",
12423			"WinAnsiEncoding"
12424		],
12425		[
12426			"Courier-Bold",
12427			"courier",
12428			"bold",
12429			"WinAnsiEncoding"
12430		],
12431		[
12432			"Courier-Oblique",
12433			"courier",
12434			"italic",
12435			"WinAnsiEncoding"
12436		],
12437		[
12438			"Courier-BoldOblique",
12439			"courier",
12440			"bolditalic",
12441			"WinAnsiEncoding"
12442		],
12443		[
12444			"Times-Roman",
12445			"times",
12446			"normal",
12447			"WinAnsiEncoding"
12448		],
12449		[
12450			"Times-Bold",
12451			"times",
12452			"bold",
12453			"WinAnsiEncoding"
12454		],
12455		[
12456			"Times-Italic",
12457			"times",
12458			"italic",
12459			"WinAnsiEncoding"
12460		],
12461		[
12462			"Times-BoldItalic",
12463			"times",
12464			"bolditalic",
12465			"WinAnsiEncoding"
12466		],
12467		[
12468			"ZapfDingbats",
12469			"zapfdingbats",
12470			"normal",
12471			null
12472		],
12473		[
12474			"Symbol",
12475			"symbol",
12476			"normal",
12477			null
12478		]
12479	];
12480	y$1.__private__.getStandardFonts = function() {
12481		return dt$1;
12482	};
12483	var pt$1 = e.fontSize || 16;
12484	y$1.__private__.setFontSize = y$1.setFontSize = function(t) {
12485		return pt$1 = _$1 === S$1 ? t / St$1 : t, this;
12486	};
12487	var gt$1, mt$1 = y$1.__private__.getFontSize = y$1.getFontSize = function() {
12488		return _$1 === A$1 ? pt$1 : pt$1 * St$1;
12489	}, vt$1 = e.R2L || !1;
12490	y$1.__private__.setR2L = y$1.setR2L = function(t) {
12491		return vt$1 = t, this;
12492	}, y$1.__private__.getR2L = y$1.getR2L = function() {
12493		return vt$1;
12494	};
12495	var bt$1, yt$1 = y$1.__private__.setZoomMode = function(t) {
12496		if (/^(?:\d+\.\d*|\d*\.\d+|\d+)%$/.test(t)) gt$1 = t;
12497		else if (isNaN(t)) {
12498			if (-1 === [
12499				void 0,
12500				null,
12501				"fullwidth",
12502				"fullheight",
12503				"fullpage",
12504				"original"
12505			].indexOf(t)) throw new Error("zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"" + t + "\" is not recognized.");
12506			gt$1 = t;
12507		} else gt$1 = parseInt(t, 10);
12508	};
12509	y$1.__private__.getZoomMode = function() {
12510		return gt$1;
12511	};
12512	var wt$1, Nt$1 = y$1.__private__.setPageMode = function(t) {
12513		if (-1 == [
12514			void 0,
12515			null,
12516			"UseNone",
12517			"UseOutlines",
12518			"UseThumbs",
12519			"FullScreen"
12520		].indexOf(t)) throw new Error("Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"" + t + "\" is not recognized.");
12521		bt$1 = t;
12522	};
12523	y$1.__private__.getPageMode = function() {
12524		return bt$1;
12525	};
12526	var Lt$1 = y$1.__private__.setLayoutMode = function(t) {
12527		if (-1 == [
12528			void 0,
12529			null,
12530			"continuous",
12531			"single",
12532			"twoleft",
12533			"tworight",
12534			"two"
12535		].indexOf(t)) throw new Error("Layout mode must be one of continuous, single, twoleft, tworight. \"" + t + "\" is not recognized.");
12536		wt$1 = t;
12537	};
12538	y$1.__private__.getLayoutMode = function() {
12539		return wt$1;
12540	}, y$1.__private__.setDisplayMode = y$1.setDisplayMode = function(t, e$1, n$1) {
12541		return yt$1(t), Lt$1(e$1), Nt$1(n$1), this;
12542	};
12543	var xt$1 = {
12544		title: "",
12545		subject: "",
12546		author: "",
12547		keywords: "",
12548		creator: ""
12549	};
12550	y$1.__private__.getDocumentProperty = function(t) {
12551		if (-1 === Object.keys(xt$1).indexOf(t)) throw new Error("Invalid argument passed to 
12551jsPDF.getDocumentProperty");
12552		return xt$1[t];
12553	}, y$1.__private__.getDocumentProperties = function() {
12554		return xt$1;
12555	}, y$1.__private__.setDocumentProperties = y$1.setProperties = y$1.setDocumentProperties = function(t) {
12556		for (var e$1 in xt$1) xt$1.hasOwnProperty(e$1) && t[e$1] && (xt$1[e$1] = t[e$1]);
12557		return this;
12558	}, y$1.__private__.setDocumentProperty = function(t, e$1) {
12559		if (-1 === Object.keys(xt$1).indexOf(t)) throw new Error("Invalid arguments passed to jsPDF.setDocumentProperty");
12560		return xt$1[t] = e$1;
12561	};
12562	var At$1, St$1, _t$1, Pt$1, kt$1, Ft$1 = {}, It$1 = {}, jt$1 = [], Ct$1 = {}, Ot$1 = {}, Bt$1 = {}, Mt$1 = {}, qt$1 = null, Et$1 = 0, Rt$1 = [], Dt$1 = new C(y$1), Tt$1 = e.hotfixes || [], zt$1 = {}, Ut$1 = {}, Ht$1 = [], Wt$1 = function t(e$1, n$1, r$1, i$2, a$2, o$1) {
12563		if (!(this instanceof t)) return new t(e$1, n$1, r$1, i$2, a$2, o$1);
12564		isNaN(e$1) && (e$1 = 1), isNaN(n$1) && (n$1 = 0), isNaN(r$1) && (r$1 = 0), isNaN(i$2) && (i$2 = 1), isNaN(a$2) && (a$2 = 0), isNaN(o$1) && (o$1 = 0), this._matrix = [
12565			e$1,
12566			n$1,
12567			r$1,
12568			i$2,
12569			a$2,
12570			o$1
12571		];
12572	};
12573	Object.defineProperty(Wt$1.prototype, "sx", {
12574		get: function() {
12575			return this._matrix[0];
12576		},
12577		set: function(t) {
12578			this._matrix[0] = t;
12579		}
12580	}), Object.defineProperty(Wt$1.prototype, "shy", {
12581		get: function() {
12582			return this._matrix[1];
12583		},
12584		set: function(t) {
12585			this._matrix[1] = t;
12586		}
12587	}), Object.defineProperty(Wt$1.prototype, "shx", {
12588		get: function() {
12589			return this._matrix[2];
12590		},
12591		set: function(t) {
12592			this._matrix[2] = t;
12593		}
12594	}), Object.defineProperty(Wt$1.prototype, "sy", {
12595		get: function() {
12596			return this._matrix[3];
12597		},
12598		set: function(t) {
12599			this._matrix[3] = t;
12600		}
12601	}), Object.defineProperty(Wt$1.prototype, "tx", {
12602		get: function() {
12603			return this._matrix[4];
12604		},
12605		set: function(t) {
12606			this._matrix[4] = t;
12607		}
12608	}), Object.defineProperty(Wt$1.prototype, "ty", {
12609		get: function() {
12610			return this._matrix[5];
12611		},
12612		set: function(t) {
12613			this._matrix[5] = t;
12614		}
12615	}), Object.defineProperty(Wt$1.prototype, "a", {
12616		get: function() {
12617			return this._matrix[0];
12618		},
12619		set: function(t) {
12620			this._matrix[0] = t;
12621		}
12622	}), Object.defineProperty(Wt$1.prototype, "b", {
12623		get: function() {
12624			return this._matrix[1];
12625		},
12626		set: function(t) {
12627			this._matrix[1] = t;
12628		}
12629	}), Object.defineProperty(Wt$1.prototype, "c", {
12630		get: function() {
12631			return this._matrix[2];
12632		},
12633		set: function(t) {
12634			this._matrix[2] = t;
12635		}
12636	}), Object.defineProperty(Wt$1.prototype, "d", {
12637		get: function() {
12638			return this._matrix[3];
12639		},
12640		set: function(t) {
12641			this._matrix[3] = t;
12642		}
12643	}), Object.defineProperty(Wt$1.prototype, "e", {
12644		get: function() {
12645			return this._matrix[4];
12646		},
12647		set: function(t) {
12648			this._matrix[4] = t;
12649		}
12650	}), Object.defineProperty(Wt$1.prototype, "f", {
12651		get: function() {
12652			return this._matrix[5];
12653		},
12654		set: function(t) {
12655			this._matrix[5] = t;
12656		}
12657	}), Object.defineProperty(Wt$1.prototype, "rotation", { get: function() {
12658		return Math.atan2(this.shx, this.sx);
12659	} }), Object.defineProperty(Wt$1.prototype, "scaleX", { get: function() {
12660		return this.decompose().scale.sx;
12661	} }), Object.defineProperty(Wt$1.prototype, "scaleY", { get: function() {
12662		return this.decompose().scale.sy;
12663	} }), Object.defineProperty(Wt$1.prototype, "isIdentity", { get: function() {
12664		return 1 === this.sx && 0 === this.shy && 0 === this.shx && 1 === this.sy && 0 === this.tx && 0 === this.ty;
12665	} }), Wt$1.prototype.join = function(t) {
12666		return [
12667			this.sx,
12668			this.shy,
12669			this.shx,
12670			this.sy,
12671			this.tx,
12672			this.ty
12673		].map(B$1).join(t);
12674	}, Wt$1.prototype.multiply = function(t) {
12675		var e$1 = t.sx * this.sx + t.shy * this.shx, n$1 = t.sx * this.shy + t.shy * this.sy, r$1 = t.shx * this.sx + t.sy * this.shx, i$2 = t.shx * this.shy + t.sy * this.sy, a$2 = t.tx * this.sx + t.ty * this.shx + this.tx, o$1 = t.tx * this.shy + t.ty * this.sy + this.ty;
12676		return new Wt$1(e$1, n$1, r$1, i$2, a$2, o$1);
12677	}, Wt$1.prototype.decompose = function() {
12678		var t = this.sx, e$1 = this.shy, n$1 = this.shx, r$1 = this.sy, i$2 = this.tx, a$2 = this.ty, o$1 = Math.sqrt(t * t + e$1 * e$1), s$2 = (t /= o$1) * n$1 + (e$1 /= o$1) * r$1;
12679		n$1 -= t * s$2, r$1 -= e$1 * s$2;
vendor: 23,483 bytes, lines 12680-13201
12680		var u$2 = Math.sqrt(n$1 * n$1 + r$1 * r$1);
12681		return s$2 /= u$2, t * (r$1 /= u$2) < e$1 * (n$1 /= u$2) && (t = -t, e$1 = -e$1, s$2 = -s$2, o$1 = -o$1), {
12682			scale: new Wt$1(o$1, 0, 0, u$2, 0, 0),
12683			translate: new Wt$1(1, 0, 0, 1, i$2, a$2),
12684			rotate: new Wt$1(t, e$1, -e$1, t, 0, 0),
12685			skew: new Wt$1(1, 0, s$2, 1, 0, 0)
12686		};
12687	}, Wt$1.prototype.toString = function(t) {
12688		return this.join(" ");
12689	}, Wt$1.prototype.inversed = function() {
12690		var t = this.sx, e$1 = this.shy, n$1 = this.shx, r$1 = this.sy, i$2 = this.tx, a$2 = this.ty, o$1 = 1 / (t * r$1 - e$1 * n$1), s$2 = r$1 * o$1, u$2 = -e$1 * o$1, c$2 = -n$1 * o$1, l$1 = t * o$1;
12691		return new Wt$1(s$2, u$2, c$2, l$1, -s$2 * i$2 - c$2 * a$2, -u$2 * i$2 - l$1 * a$2);
12692	}, Wt$1.prototype.applyToPoint = function(t) {
12693		var e$1 = t.x * this.sx + t.y * this.shx + this.tx, n$1 = t.x * this.shy + t.y * this.sy + this.ty;
12694		return new gn(e$1, n$1);
12695	}, Wt$1.prototype.applyToRectangle = function(t) {
12696		var e$1 = this.applyToPoint(t), n$1 = this.applyToPoint(new gn(t.x + t.w, t.y + t.h));
12697		return new mn(e$1.x, e$1.y, n$1.x - e$1.x, n$1.y - e$1.y);
12698	}, Wt$1.prototype.clone = function() {
12699		var t = this.sx, e$1 = this.shy, n$1 = this.shx, r$1 = this.sy, i$2 = this.tx, a$2 = this.ty;
12700		return new Wt$1(t, e$1, n$1, r$1, i$2, a$2);
12701	}, y$1.Matrix = Wt$1;
12702	var Vt$1 = y$1.matrixMult = function(t, e$1) {
12703		return e$1.multiply(t);
12704	}, Gt$1 = new Wt$1(1, 0, 0, 1, 0, 0);
12705	y$1.unitMatrix = y$1.identityMatrix = Gt$1;
12706	var Yt$1 = function(t, e$1) {
12707		if (!Ot$1[t]) {
12708			var n$1 = (e$1 instanceof M ? "Sh" : "P") + (Object.keys(Ct$1).length + 1).toString(10);
12709			e$1.id = n$1, Ot$1[t] = n$1, Ct$1[n$1] = e$1, Dt$1.publish("addPattern", e$1);
12710		}
12711	};
12712	y$1.ShadingPattern = M, y$1.TilingPattern = q, y$1.addShadingPattern = function(t, e$1) {
12713		return R$1("addShadingPattern()"), Yt$1(t, e$1), this;
12714	}, y$1.beginTilingPattern = function(t) {
12715		R$1("beginTilingPattern()"), bn(t.boundingBox[0], t.boundingBox[1], t.boundingBox[2] - t.boundingBox[0], t.boundingBox[3] - t.boundingBox[1], t.matrix);
12716	}, y$1.endTilingPattern = function(t, e$1) {
12717		R$1("endTilingPattern()"), e$1.stream = ot$1[$$1].join("\n"), Yt$1(t, e$1), Dt$1.publish("endTilingPattern", e$1), Ht$1.pop().restore();
12718	};
12719	var Jt$1, Xt$1 = y$1.__private__.newObject = function() {
12720		var t = Kt$1();
12721		return Zt$1(t, !0), t;
12722	}, Kt$1 = y$1.__private__.newObjectDeferred = function() {
12723		return et$2++, nt$1[et$2] = function() {
12724			return it$1;
12725		}, et$2;
12726	}, Zt$1 = function(t, e$1) {
12727		return e$1 = "boolean" == typeof e$1 && e$1, nt$1[t] = it$1, e$1 && lt$1(t + " 0 obj"), t;
12728	}, $t$1 = y$1.__private__.newAdditionalObject = function() {
12729		var t = {
12730			objId: Kt$1(),
12731			content: ""
12732		};
12733		return at$1.push(t), t;
12734	}, Qt$1 = Kt$1(), te$1 = Kt$1(), ee$1 = y$1.__private__.decodeColorString = function(t) {
12735		var e$1 = t.split(" ");
12736		if (2 !== e$1.length || "g" !== e$1[1] && "G" !== e$1[1]) 5 !== e$1.length || "k" !== e$1[4] && "K" !== e$1[4] || (e$1 = [
12737			(1 - e$1[0]) * (1 - e$1[3]),
12738			(1 - e$1[1]) * (1 - e$1[3]),
12739			(1 - e$1[2]) * (1 - e$1[3]),
12740			"r"
12741		]);
12742		else {
12743			var n$1 = parseFloat(e$1[0]);
12744			e$1 = [
12745				n$1,
12746				n$1,
12747				n$1,
12748				"r"
12749			];
12750		}
12751		for (var r$1 = "#", i$2 = 0; i$2 < 3; i$2++) r$1 += ("0" + Math.floor(255 * parseFloat(e$1[i$2])).toString(16)).slice(-2);
12752		return r$1;
12753	}, ne$1 = y$1.__private__.encodeColorString = function(e$1) {
12754		var n$1;
12755		"string" == typeof e$1 && (e$1 = { ch1: e$1 });
12756		var r$1 = e$1.ch1, i$2 = e$1.ch2, a$2 = e$1.ch3, o$1 = e$1.ch4, s$2 = "draw" === e$1.pdfColorType ? [
12757			"G",
12758			"RG",
12759			"K"
12760		] : [
12761			"g",
12762			"rg",
12763			"k"
12764		];
12765		if ("string" == typeof r$1 && "#" !== r$1.charAt(0)) {
12766			var u$2 = new h(r$1);
12767			if (u$2.ok) r$1 = u$2.toHex();
12768			else if (!/^\d*\.?\d*$/.test(r$1)) throw new Error("Invalid color \"" + r$1 + "\" passed to jsPDF.encodeColorString.");
12769		}
12770		if ("string" == typeof r$1 && /^#[0-9A-Fa-f]{3}$/.test(r$1) && (r$1 = "#" + r$1[1] + r$1[1] + r$1[2] + r$1[2] + r$1[3] + r$1[3]), "string" == typeof r$1 && /^#[0-9A-Fa-f]{6}$/.test(r$1)) {
12771			var c$2 = parseInt(r$1.substr(1), 16);
12772			r$1 = c$2 >> 16 & 255, i$2 = c$2 >> 8 & 255, a$2 = 255 & c$2;
12773		}
12774		if (void 0 === i$2 || void 0 === o$1 && r$1 === i$2 && i$2 === a$2) n$1 = "string" == typeof r$1 ? r$1 + " " + s$2[0] : 2 === e$1.precision ? T$1(r$1 / 255) + " " + s$2[0] : z$1(r$1 / 255) + " " + s$2[0];
12775		else if (void 0 === o$1 || "object" === _typeof(o$1)) {
12776			if (o$1 && !isNaN(o$1.a) && 0 === o$1.a) return [
12777				"1.",
12778				"1.",
12779				"1.",
12780				s$2[1]
12781			].join(" ");
12782			n$1 = "string" == typeof r$1 ? [
12783				r$1,
12784				i$2,
12785				a$2,
12786				s$2[1]
12787			].join(" ") : 2 === e$1.precision ? [
12788				T$1(r$1 / 255),
12789				T$1(i$2 / 255),
12790				T$1(a$2 / 255),
12791				s$2[1]
12792			].join(" ") : [
12793				z$1(r$1 / 255),
12794				z$1(i$2 / 255),
12795				z$1(a$2 / 255),
12796				s$2[1]
12797			].join(" ");
12798		} else n$1 = "string" == typeof r$1 ? [
12799			r$1,
12800			i$2,
12801			a$2,
12802			o$1,
12803			s$2[2]
12804		].join(" ") : 2 === e$1.precision ? [
12805			T$1(r$1),
12806			T$1(i$2),
12807			T$1(a$2),
12808			T$1(o$1),
12809			s$2[2]
12810		].join(" ") : [
12811			z$1(r$1),
12812			z$1(i$2),
12813			z$1(a$2),
12814			z$1(o$1),
12815			s$2[2]
12816		].join(" ");
12817		return n$1;
12818	}, re$1 = y$1.__private__.getFilters = function() {
12819		return c$1;
12820	}, ie$1 = y$1.__private__.putStream = function(t) {
12821		var e$1 = (t = t || {}).data || "", n$1 = t.filters || re$1(), r$1 = t.alreadyAppliedFilters || [], i$2 = t.addLength1 || !1, a$2 = e$1.length, o$1 = t.objectId, s$2 = function(t$1) {
12822			return t$1;
12823		};
12824		if (null !== m$1 && void 0 === o$1) throw new Error("ObjectId must be passed to putStream for file encryption");
12825		null !== m$1 && (s$2 = je$1.encryptor(o$1, 0));
12826		var u$2 = {};
12827		!0 === n$1 && (n$1 = ["FlateEncode"]);
12828		var c$2 = t.additionalKeyValues || [], l$1 = (u$2 = void 0 !== E.API.processDataByFilters ? E.API.processDataByFilters(e$1, n$1) : {
12829			data: e$1,
12830			reverseChain: []
12831		}).reverseChain + (Array.isArray(r$1) ? r$1.join(" ") : r$1.toString());
12832		if (0 !== u$2.data.length && (c$2.push({
12833			key: "Length",
12834			value: u$2.data.length
12835		}), !0 === i$2 && c$2.push({
12836			key: "Length1",
12837			value: a$2
12838		})), 0 != l$1.length) if (l$1.split("/").length - 1 == 1) c$2.push({
12839			key: "Filter",
12840			value: l$1
12841		});
12842		else {
12843			c$2.push({
12844				key: "Filter",
12845				value: "[" + l$1 + "]"
12846			});
12847			for (var h$1 = 0; h$1 < c$2.length; h$1 += 1) if ("DecodeParms" === c$2[h$1].key) {
12848				for (var f$2 = [], d$1 = 0; d$1 < u$2.reverseChain.split("/").length - 1; d$1 += 1) f$2.push("null");
12849				f$2.push(c$2[h$1].value), c$2[h$1].value = "[" + f$2.join(" ") + "]";
12850			}
12851		}
12852		lt$1("<<");
12853		for (var p$2 = 0; p$2 < c$2.length; p$2++) lt$1("/" + c$2[p$2].key + " " + c$2[p$2].value);
12854		lt$1(">>"), 0 !== u$2.data.length && (lt$1("stream"), lt$1(s$2(u$2.data)), lt$1("endstream"));
12855	}, ae$1 = y$1.__private__.putPage = function(t) {
12856		var e$1 = t.number, n$1 = t.data, r$1 = t.objId, i$2 = t.contentsObjId;
12857		Zt$1(r$1, !0), lt$1("<</Type /Page"), lt$1("/Parent " + t.rootDictionaryObjId + " 0 R"), lt$1("/Resources " + t.resourceDictionaryObjId + " 0 R"), lt$1("/MediaBox [" + parseFloat(B$1(t.mediaBox.bottomLeftX)) + " " + parseFloat(B$1(t.mediaBox.bottomLeftY)) + " " + B$1(t.mediaBox.topRightX) + " " + B$1(t.mediaBox.topRightY) + "]"), null !== t.cropBox && lt$1("/CropBox [" + B$1(t.cropBox.bottomLeftX) + " " + B$1(t.cropBox.bottomLeftY) + " " + B$1(t.cropBox.topRightX) + " " + B$1(t.cropBox.topRightY) + "]"), null !== t.bleedBox && lt$1("/BleedBox [" + B$1(t.bleedBox.bottomLeftX) + " " + B$1(t.bleedBox.bottomLeftY) + " " + B$1(t.bleedBox.topRightX) + " " + B$1(t.bleedBox.topRightY) + "]"), null !== t.trimBox && lt$1("/TrimBox [" + B$1(t.trimBox.bottomLeftX) + " " + B$1(t.trimBox.bottomLeftY) + " " + B$1(t.trimBox.topRightX) + " " + B$1(t.trimBox.topRightY) + "]"), null !== t.artBox && lt$1("/ArtBox [" + B$1(t.artBox.bottomLeftX) + " " + B$1(t.artBox.bottomLeftY) + " " + B$1(t.artBox.topRightX) + " " + B$1(t.artBox.topRightY) + "]"), "number" == typeof t.userUnit && 1 !== t.userUnit && lt$1("/UserUnit " + t.userUnit), Dt$1.publish("putPage", {
12858			objId: r$1,
12859			pageContext: Rt$1[e$1],
12860			pageNumber: e$1,
12861			page: n$1
12862		}), lt$1("/Contents " + i$2 + " 0 R"), lt$1(">>"), lt$1("endobj");
12863		var a$2 = n$1.join("\n");
12864		return _$1 === S$1 && (a$2 += "\nQ"), Zt$1(i$2, !0), ie$1({
12865			data: a$2,
12866			filters: re$1(),
12867			objectId: i$2
12868		}), lt$1("endobj"), r$1;
12869	}, oe$1 = y$1.__private__.putPages = function() {
12870		var t, e$1, n$1 = [];
12871		for (t = 1; t <= Et$1; t++) Rt$1[t].objId = Kt$1(), Rt$1[t].contentsObjId = Kt$1();
12872		for (t = 1; t <= Et$1; t++) n$1.push(ae$1({
12873			number: t,
12874			data: ot$1[t],
12875			objId: Rt$1[t].objId,
12876			contentsObjId: Rt$1[t].contentsObjId,
12877			mediaBox: Rt$1[t].mediaBox,
12878			cropBox: Rt$1[t].cropBox,
12879			bleedBox: Rt$1[t].bleedBox,
12880			trimBox: Rt$1[t].trimBox,
12881			artBox: Rt$1[t].artBox,
12882			userUnit: Rt$1[t].userUnit,
12883			rootDictionaryObjId: Qt$1,
12884			resourceDictionaryObjId: te$1
12885		}));
12886		Zt$1(Qt$1, !0), lt$1("<</Type /Pages");
12887		var r$1 = "/Kids [";
12888		for (e$1 = 0; e$1 < Et$1; e$1++) r$1 += n$1[e$1] + " 0 R ";
12889		lt$1(r$1 + "]"), lt$1("/Count " + Et$1), lt$1(">>"), lt$1("endobj"), Dt$1.publish("postPutPages");
12890	}, se$1 = function(t) {
12891		Dt$1.publish("putFont", {
12892			font: t,
12893			out: lt$1,
12894			newObject: Xt$1,
12895			putStream: ie$1
12896		}), !0 !== t.isAlreadyPutted && (t.objectNumber = Xt$1(), lt$1("<<"), lt$1("/Type /Font"), lt$1("/BaseFont /" + j(t.postScriptName)), lt$1("/Subtype /Type1"), "string" == typeof t.encoding && lt$1("/Encoding /" + t.encoding), lt$1("/FirstChar 32"), lt$1("/LastChar 255"), lt$1(">>"), lt$1("endobj"));
12897	}, ue$1 = function(t) {
12898		t.objectNumber = Xt$1();
12899		var e$1 = [];
12900		e$1.push({
12901			key: "Type",
12902			value: "/XObject"
12903		}), e$1.push({
12904			key: "Subtype",
12905			value: "/Form"
12906		}), e$1.push({
12907			key: "BBox",
12908			value: "[" + [
12909				B$1(t.x),
12910				B$1(t.y),
12911				B$1(t.x + t.width),
12912				B$1(t.y + t.height)
12913			].join(" ") + "]"
12914		}), e$1.push({
12915			key: "Matrix",
12916			value: "[" + t.matrix.toString() + "]"
12917		});
12918		var n$1 = t.pages[1].join("\n");
12919		ie$1({
12920			data: n$1,
12921			additionalKeyValues: e$1,
12922			objectId: t.objectNumber
12923		}), lt$1("endobj");
12924	}, ce$1 = function(t, e$1) {
12925		e$1 || (e$1 = 21);
12926		var n$1 = Xt$1(), r$1 = function(t$1, e$2) {
12927			var n$2, r$2 = [], i$3 = 1 / (e$2 - 1);
12928			for (n$2 = 0; n$2 < 1; n$2 += i$3) r$2.push(n$2);
12929			if (r$2.push(1), 0 != t$1[0].offset) {
12930				var a$3 = {
12931					offset: 0,
12932					color: t$1[0].color
12933				};
12934				t$1.unshift(a$3);
12935			}
12936			if (1 != t$1[t$1.length - 1].offset) {
12937				var o$1 = {
12938					offset: 1,
12939					color: t$1[t$1.length - 1].color
12940				};
12941				t$1.push(o$1);
12942			}
12943			for (var s$2 = "", u$2 = 0, c$2 = 0; c$2 < r$2.length; c$2++) {
12944				for (n$2 = r$2[c$2]; n$2 > t$1[u$2 + 1].offset;) u$2++;
12945				var l$1 = t$1[u$2].offset, h$1 = (n$2 - l$1) / (t$1[u$2 + 1].offset - l$1), f$2 = t$1[u$2].color, d$1 = t$1[u$2 + 1].color;
12946				s$2 += tt$1(Math.round((1 - h$1) * f$2[0] + h$1 * d$1[0]).toString(16)) + tt$1(Math.round((1 - h$1) * f$2[1] + h$1 * d$1[1]).toString(16)) + tt$1(Math.round((1 - h$1) * f$2[2] + h$1 * d$1[2]).toString(16));
12947			}
12948			return s$2.trim();
12949		}(t.colors, e$1), i$2 = [];
12950		i$2.push({
12951			key: "FunctionType",
12952			value: "0"
12953		}), i$2.push({
12954			key: "Domain",
12955			value: "[0.0 1.0]"
12956		}), i$2.push({
12957			key: "Size",
12958			value: "[" + e$1 + "]"
12959		}), i$2.push({
12960			key: "BitsPerSample",
12961			value: "8"
12962		}), i$2.push({
12963			key: "Range",
12964			value: "[0.0 1.0 0.0 1.0 0.0 1.0]"
12965		}), i$2.push({
12966			key: "Decode",
12967			value: "[0.0 1.0 0.0 1.0 0.0 1.0]"
12968		}), ie$1({
12969			data: r$1,
12970			additionalKeyValues: i$2,
12971			alreadyAppliedFilters: ["/ASCIIHexDecode"],
12972			objectId: n$1
12973		}), lt$1("endobj"), t.objectNumber = Xt$1(), lt$1("<< /ShadingType " + t.type), lt$1("/ColorSpace /DeviceRGB");
12974		var a$2 = "/Coords [" + B$1(parseFloat(t.coords[0])) + " " + B$1(parseFloat(t.coords[1])) + " ";
12975		2 === t.type ? a$2 += B$1(parseFloat(t.coords[2])) + " " + B$1(parseFloat(t.coords[3])) : a$2 += B$1(parseFloat(t.coords[2])) + " " + B$1(parseFloat(t.coords[3])) + " " + B$1(parseFloat(t.coords[4])) + " " + B$1(parseFloat(t.coords[5])), lt$1(a$2 += "]"), t.matrix && lt$1("/Matrix [" + t.matrix.toString() + "]"), lt$1("/Function " + n$1 + " 0 R"), lt$1("/Extend [true true]"), lt$1(">>"), lt$1("endobj");
12976	}, le$1 = function(t, e$1) {
12977		var n$1 = Kt$1(), r$1 = Xt$1();
12978		e$1.push({
12979			resourcesOid: n$1,
12980			objectOid: r$1
12981		}), t.objectNumber = r$1;
12982		var i$2 = [];
12983		i$2.push({
12984			key: "Type",
12985			value: "/Pattern"
12986		}), i$2.push({
12987			key: "PatternType",
12988			value: "1"
12989		}), i$2.push({
12990			key: "PaintType",
12991			value: "1"
12992		}), i$2.push({
12993			key: "TilingType",
12994			value: "1"
12995		}), i$2.push({
12996			key: "BBox",
12997			value: "[" + t.boundingBox.map(B$1).join(" ") + "]"
12998		}), i$2.push({
12999			key: "XStep",
13000			value: B$1(t.xStep)
13001		}), i$2.push({
13002			key: "YStep",
13003			value: B$1(t.yStep)
13004		}), i$2.push({
13005			key: "Resources",
13006			value: n$1 + " 0 R"
13007		}), t.matrix && i$2.push({
13008			key: "Matrix",
13009			value: "[" + t.matrix.toString() + "]"
13010		}), ie$1({
13011			data: t.stream,
13012			additionalKeyValues: i$2,
13013			objectId: t.objectNumber
13014		}), lt$1("endobj");
13015	}, he$1 = function(t) {
13016		for (var e$1 in t.objectNumber = Xt$1(), lt$1("<<"), t) switch (e$1) {
13017			case "opacity":
13018				lt$1("/ca " + T$1(t[e$1]));
13019				break;
13020			case "stroke-opacity": lt$1("/CA " + T$1(t[e$1]));
13021		}
13022		lt$1(">>"), lt$1("endobj");
13023	}, fe$1 = function(t) {
13024		Zt$1(t.resourcesOid, !0), lt$1("<<"), lt$1("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"), function() {
13025			for (var t$1 in lt$1("/Font <<"), Ft$1) Ft$1.hasOwnProperty(t$1) && (!1 === v$1 || !0 === v$1 && b$1.hasOwnProperty(t$1)) && lt$1("/" + t$1 + " " + Ft$1[t$1].objectNumber + " 0 R");
13026			lt$1(">>");
13027		}(), function() {
13028			if (Object.keys(Ct$1).length > 0) {
13029				for (var t$1 in lt$1("/Shading <<"), Ct$1) Ct$1.hasOwnProperty(t$1) && Ct$1[t$1] instanceof M && Ct$1[t$1].objectNumber >= 0 && lt$1("/" + t$1 + " " + Ct$1[t$1].objectNumber + " 0 R");
13030				Dt$1.publish("putShadingPatternDict"), lt$1(">>");
13031			}
13032		}(), function(t$1) {
13033			if (Object.keys(Ct$1).length > 0) {
13034				for (var e$1 in lt$1("/Pattern <<"), Ct$1) Ct$1.hasOwnProperty(e$1) && Ct$1[e$1] instanceof y$1.TilingPattern && Ct$1[e$1].objectNumber >= 0 && Ct$1[e$1].objectNumber < t$1 && lt$1("/" + e$1 + " " + Ct$1[e$1].objectNumber + " 0 R");
13035				Dt$1.publish("putTilingPatternDict"), lt$1(">>");
13036			}
13037		}(t.objectOid), function() {
13038			if (Object.keys(Bt$1).length > 0) {
13039				var t$1;
13040				for (t$1 in lt$1("/ExtGState <<"), Bt$1) Bt$1.hasOwnProperty(t$1) && Bt$1[t$1].objectNumber >= 0 && lt$1("/" + t$1 + " " + Bt$1[t$1].objectNumber + " 0 R");
13041				Dt$1.publish("putGStateDict"), lt$1(">>");
13042			}
13043		}(), function() {
13044			for (var t$1 in lt$1("/XObject <<"), zt$1) zt$1.hasOwnProperty(t$1) && zt$1[t$1].objectNumber >= 0 && lt$1("/" + t$1 + " " + zt$1[t$1].objectNumber + " 0 R");
13045			Dt$1.publish("putXobjectDict"), lt$1(">>");
13046		}(), lt$1(">>"), lt$1("endobj");
13047	}, de$1 = function(t) {
13048		It$1[t.fontName] = It$1[t.fontName] || {}, It$1[t.fontName][t.fontStyle] = t.id;
13049	}, pe$1 = function(t, e$1, n$1, r$1, i$2) {
13050		var a$2 = {
13051			id: "F" + (Object.keys(Ft$1).length + 1).toString(10),
13052			postScriptName: t,
13053			fontName: e$1,
13054			fontStyle: n$1,
13055			encoding: r$1,
13056			isStandardFont: i$2 || !1,
13057			metadata: {}
13058		};
13059		return Dt$1.publish("addFont", {
13060			font: a$2,
13061			instance: this
13062		}), Ft$1[a$2.id] = a$2, de$1(a$2), a$2.id;
13063	}, ge$1 = y$1.__private__.pdfEscape = y$1.pdfEscape = function(t, e$1) {
13064		return function(t$1, e$2) {
13065			var n$1, r$1, i$2, a$2, o$1, s$2, u$2, c$2, l$1;
13066			if (i$2 = (e$2 = e$2 || {}).sourceEncoding || "Unicode", o$1 = e$2.outputEncoding, (e$2.autoencode || o$1) && Ft$1[At$1].metadata && Ft$1[At$1].metadata[i$2] && Ft$1[At$1].metadata[i$2].encoding && (a$2 = Ft$1[At$1].metadata[i$2].encoding, !o$1 && Ft$1[At$1].encoding && (o$1 = Ft$1[At$1].encoding), !o$1 && a$2.codePages && (o$1 = a$2.codePages[0]), "string" == typeof o$1 && (o$1 = a$2[o$1]), o$1)) {
13067				for (u$2 = !1, s$2 = [], n$1 = 0, r$1 = t$1.length; n$1 < r$1; n$1++) (c$2 = o$1[t$1.charCodeAt(n$1)]) ? s$2.push(String.fromCharCode(c$2)) : s$2.push(t$1[n$1]), s$2[n$1].charCodeAt(0) >> 8 && (u$2 = !0);
13068				t$1 = s$2.join("");
13069			}
13070			for (n$1 = t$1.length; void 0 === u$2 && 0 !== n$1;) t$1.charCodeAt(n$1 - 1) >> 8 && (u$2 = !0), n$1--;
13071			if (!u$2) return t$1;
13072			for (s$2 = e$2.noBOM ? [] : [254, 255], n$1 = 0, r$1 = t$1.length; n$1 < r$1; n$1++) {
13073				if ((l$1 = (c$2 = t$1.charCodeAt(n$1)) >> 8) >> 8) throw new Error("Character at position " + n$1 + " of string '" + t$1 + "' exceeds 16bits. Cannot be encoded into UCS-2 BE");
13074				s$2.push(l$1), s$2.push(c$2 - (l$1 << 8));
13075			}
13076			return String.fromCharCode.apply(void 0, s$2);
13077		}(t, e$1).replace(/\\/g, "\\\\").replace(/\(/g, "\\(").replace(/\)/g, "\\)");
13078	}, me$1 = y$1.__private__.beginPage = function(t) {
13079		ot$1[++Et$1] = [], Rt$1[Et$1] = {
13080			objId: 0,
13081			contentsObjId: 0,
13082			userUnit: Number(f$1),
13083			artBox: null,
13084			bleedBox: null,
13085			cropBox: null,
13086			trimBox: null,
13087			mediaBox: {
13088				bottomLeftX: 0,
13089				bottomLeftY: 0,
13090				topRightX: Number(t[0]),
13091				topRightY: Number(t[1])
13092			}
13093		}, ye$1(Et$1), ct$1(ot$1[$$1]);
13094	}, ve$1 = function(t, e$1) {
13095		var n$1, i$2, a$2;
13096		switch (r = e$1 || r, "string" == typeof t && (n$1 = x$2(t.toLowerCase()), Array.isArray(n$1) && (i$2 = n$1[0], a$2 = n$1[1])), Array.isArray(t) && (i$2 = t[0] * St$1, a$2 = t[1] * St$1), isNaN(i$2) && (i$2 = s$1[0], a$2 = s$1[1]), (i$2 > 14400 || a$2 > 14400) && (o.warn("A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400"), i$2 = Math.min(14400, i$2), a$2 = Math.min(14400, a$2)), s$1 = [i$2, a$2], r.substr(0, 1)) {
13097			case "l":
13098				a$2 > i$2 && (s$1 = [a$2, i$2]);
13099				break;
13100			case "p": i$2 > a$2 && (s$1 = [a$2, i$2]);
13101		}
13102		me$1(s$1), Ze(Xe), lt$1(on), 0 !== fn && lt$1(fn + " J"), 0 !== dn && lt$1(dn + " j"), Dt$1.publish("addPage", { pageNumber: Et$1 });
13103	}, be$1 = function(t) {
13104		t > 0 && t <= Et$1 && (ot$1.splice(t, 1), Rt$1.splice(t, 1), Et$1--, $$1 > Et$1 && ($$1 = Et$1), this.setPage($$1));
13105	}, ye$1 = function(t) {
13106		t > 0 && t <= Et$1 && ($$1 = t);
13107	}, we$1 = y$1.__private__.getNumberOfPages = y$1.getNumberOfPages = function() {
13108		return ot$1.length - 1;
13109	}, Ne$1 = function(t, e$1, n$1) {
13110		var r$1, i$2 = void 0;
13111		return n$1 = n$1 || {}, t = void 0 !== t ? t : Ft$1[At$1].fontName, e$1 = void 0 !== e$1 ? e$1 : Ft$1[At$1].fontStyle, r$1 = t.toLowerCase(), void 0 !== It$1[r$1] && void 0 !== It$1[r$1][e$1] ? i$2 = It$1[r$1][e$1] : void 0 !== It$1[t] && void 0 !== It$1[t][e$1] ? i$2 = It$1[t][e$1] : !1 === n$1.disableWarning && o.warn("Unable to look up font label for font '" + t + "', '" + e$1 + "'. Refer to getFontList() for available fonts."), i$2 || n$1.noFallback || ((i$2 = It$1.times[e$1]) ?? (i$2 = It$1.times.normal)), i$2;
13112	}, Le$1 = y$1.__private__.putInfo = function() {
13113		var t = Xt$1(), e$1 = function(t$1) {
13114			return t$1;
13115		};
13116		for (var n$1 in null !== m$1 && (e$1 = je$1.encryptor(t, 0)), lt$1("<<"), lt$1("/Producer (" + ge$1(e$1("jsPDF " + E.version)) + ")"), xt$1) xt$1.hasOwnProperty(n$1) && xt$1[n$1] && lt$1("/" + n$1.substr(0, 1).toUpperCase() + n$1.substr(1) + " (" + ge$1(e$1(xt$1[n$1])) + ")");
13117		lt$1("/CreationDate (" + ge$1(e$1(W$1)) + ")"), lt$1(">>"), lt$1("endobj");
13118	}, xe$1 = y$1.__private__.putCatalog = function(t) {
13119		var e$1 = (t = t || {}).rootDictionaryObjId || Qt$1;
13120		switch (Xt$1(), lt$1("<<"), lt$1("/Type /Catalog"), lt$1("/Pages " + e$1 + " 0 R"), gt$1 || (gt$1 = "fullwidth"), gt$1) {
13121			case "fullwidth":
13122				lt$1("/OpenAction [3 0 R /FitH null]");
13123				break;
13124			case "fullheight":
13125				lt$1("/OpenAction [3 0 R /FitV null]");
13126				break;
13127			case "fullpage":
13128				lt$1("/OpenAction [3 0 R /Fit]");
13129				break;
13130			case "original":
13131				lt$1("/OpenAction [3 0 R /XYZ null null 1]");
13132				break;
13133			default:
13134				var n$1 = "" + gt$1;
13135				"%" === n$1.substr(n$1.length - 1) && (gt$1 = parseInt(gt$1) / 100), "number" == typeof gt$1 && lt$1("/OpenAction [3 0 R /XYZ null null " + T$1(gt$1) + "]");
13136		}
13137		switch (wt$1 || (wt$1 = "continuous"), wt$1) {
13138			case "continuous":
13139				lt$1("/PageLayout /OneColumn");
13140				break;
13141			case "single":
13142				lt$1("/PageLayout /SinglePage");
13143				break;
13144			case "two":
13145			case "twoleft":
13146				lt$1("/PageLayout /TwoColumnLeft");
13147				break;
13148			case "tworight": lt$1("/PageLayout /TwoColumnRight");
13149		}
13150		bt$1 && lt$1("/PageMode /" + bt$1), Dt$1.publish("putCatalog"), lt$1(">>"), lt$1("endobj");
13151	}, Ae$1 = y$1.__private__.putTrailer = function() {
13152		lt$1("trailer"), lt$1("<<"), lt$1("/Size " + (et$2 + 1)), lt$1("/Root " + et$2 + " 0 R"), lt$1("/Info " + (et$2 - 1) + " 0 R"), null !== m$1 && lt$1("/Encrypt " + je$1.oid + " 0 R"), lt$1("/ID [ <" + V$1 + "> <" + V$1 + "> ]"), lt$1(">>");
13153	}, Se$1 = y$1.__private__.putHeader = function() {
13154		lt$1("%PDF-" + w$1), lt$1("%ºß¬à");
13155	}, _e$1 = y$1.__private__.putXRef = function() {
13156		var t = "0000000000";
13157		lt$1("xref"), lt$1("0 " + (et$2 + 1)), lt$1("0000000000 65535 f ");
13158		for (var e$1 = 1; e$1 <= et$2; e$1++) "function" == typeof nt$1[e$1] ? lt$1((t + nt$1[e$1]()).slice(-10) + " 00000 n ") : void 0 !== nt$1[e$1] ? lt$1((t + nt$1[e$1]).slice(-10) + " 00000 n ") : lt$1("0000000000 00000 n ");
13159	}, Pe$1 = y$1.__private__.buildDocument = function() {
13160		var t;
13161		et$2 = 0, it$1 = 0, rt$1 = [], nt$1 = [], at$1 = [], Qt$1 = Kt$1(), te$1 = Kt$1(), ct$1(rt$1), Dt$1.publish("buildDocument"), Se$1(), oe$1(), function() {
13162			Dt$1.publish("putAdditionalObjects");
13163			for (var t$1 = 0; t$1 < at$1.length; t$1++) {
13164				var e$2 = at$1[t$1];
13165				Zt$1(e$2.objId, !0), lt$1(e$2.content), lt$1("endobj");
13166			}
13167			Dt$1.publish("postPutAdditionalObjects");
13168		}(), t = [], function() {
13169			for (var t$1 in Ft$1) Ft$1.hasOwnProperty(t$1) && (!1 === v$1 || !0 === v$1 && b$1.hasOwnProperty(t$1)) && se$1(Ft$1[t$1]);
13170		}(), function() {
13171			var t$1;
13172			for (t$1 in Bt$1) Bt$1.hasOwnProperty(t$1) && he$1(Bt$1[t$1]);
13173		}(), function() {
13174			for (var t$1 in zt$1) zt$1.hasOwnProperty(t$1) && ue$1(zt$1[t$1]);
13175		}(), function(t$1) {
13176			var e$2;
13177			for (e$2 in Ct$1) Ct$1.hasOwnProperty(e$2) && (Ct$1[e$2] instanceof M ? ce$1(Ct$1[e$2]) : Ct$1[e$2] instanceof q && le$1(Ct$1[e$2], t$1));
13178		}(t), Dt$1.publish("putResources"), t.forEach(fe$1), fe$1({
13179			resourcesOid: te$1,
13180			objectOid: Number.MAX_SAFE_INTEGER
13181		}), Dt$1.publish("postPutResources"), null !== m$1 && (je$1.oid = Xt$1(), lt$1("<<"), lt$1("/Filter /Standard"), lt$1("/V " + je$1.v), lt$1("/R " + je$1.r), lt$1("/U <" + je$1.toHexString(je$1.U) + ">"), lt$1("/O <" + je$1.toHexString(je$1.O) + ">"), lt$1("/P " + je$1.P), lt$1(">>"), lt$1("endobj")), Le$1(), xe$1();
13182		var e$1 = it$1;
13183		return _e$1(), Ae$1(), lt$1("startxref"), lt$1("" + e$1), lt$1("%%EOF"), ct$1(ot$1[$$1]), rt$1.join("\n");
13184	}, ke$1 = y$1.__private__.getBlob = function(t) {
13185		return new Blob([ft$1(t)], { type: "application/pdf" });
13186	}, Fe$1 = y$1.output = y$1.__private__.output = (Jt$1 = function(t, e$1) {
13187		switch ("string" == typeof (e$1 = e$1 || {}) ? e$1 = { filename: e$1 } : e$1.filename = e$1.filename || "generated.pdf", t) {
13188			case void 0: return Pe$1();
13189			case "save":
13190				y$1.save(e$1.filename);
13191				break;
13192			case "arraybuffer": return ft$1(Pe$1());
13193			case "blob": return ke$1(Pe$1());
13194			case "bloburi":
13195			case "bloburl":
13196				if (void 0 !== i.URL && "function" == typeof i.URL.createObjectURL) return i.URL && i.URL.createObjectURL(ke$1(Pe$1())) || void 0;
13197				o.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");
13198				break;
13199			case "datauristring":
13200			case "dataurlstring":
13201				var n$1 = "", r$1 = Pe$1();
13202				try {
13203					n$1 = d(r$1);
13204				} catch (m$2) {
13205					n$1 = d(unescape(encodeURIComponent(r$1)));
13206				}
13207				return "data:application/pdf;filename=" + e$1.filename + ";base64," + n$1;
13208			case "pdfobjectnewwindow":
13209				if ("[object Window]" === Object.prototype.toString.call(i)) {
13210					var a$2 = "https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js", s$2 = " integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"";
13211					e$1.pdfObjectUrl && (a$2 = e$1.pdfObjectUrl, s$2 = "");
13212					var u$2 = "<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><script src=\"" + a$2 + "\"" + s$2 + "><\/script><script >PDFObject.embed(\"" + this.output("dataurlstring") + "\", " + JSON.stringify(e$1) + ");<\/script></body></html>", c$2 = i.open();
13213					return null !== c$2 && c$2.document.write(u$2), c$2;
13214				}
13215				throw new Error("The option pdfobjectnewwindow just works in a browser-environment.");
13216			case "pdfjsnewwindow":
13217				if ("[object Window]" === Object.prototype.toString.call(i)) {
13218					var l$1 = "<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe id=\"pdfViewer\" src=\"" + (e$1.pdfJsUrl || "examples/PDF.js/web/viewer.html") + "?file=&downloadName=" + e$1.filename + "\" width=\"500px\" height=\"400px\" /></body></html>", h$1 = i.open();
13219					if (null !== h$1) {
13220						h$1.document.write(l$1);
13221						var f$2 = this;
13222						h$1.document.documentElement.querySelector("#pdfViewer").onload = function() {
13223							h$1.document.title = e$1.filename, h$1.document.documentElement.querySelector("#pdfViewer").contentWindow.PDFViewerApplication.open(f$2.output("bloburl"));
13224						};
13225					}
13226					return h$1;
13227				}
13228				throw new Error("The option pdfjsnewwindow just works in a browser-environment.");
13229			case "dataurlnewwindow":
13230				if ("[object Window]" !== Object.prototype.toString.call(i)) throw new Error("The option dataurlnewwindow just works in a browser-environment.");
13231				var p$2 = "<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe src=\"" + this.output("datauristring", e$1) + "\"></iframe></body></html>", g$2 = i.open();
13232				if (null !== g$2 && (g$2.document.write(p$2), g$2.document.title = e$1.filename), g$2 || "undefined" == typeof safari) return g$2;
13233				break;
13234			case "datauri":
13235			case "dataurl": return i.document.location.href = this.output("datauristring", e$1);
13236			default: return null;
13237		}
13238	}, Jt$1.foo = function() {
13239		try {
13240			return Jt$1.apply(this, arguments);
13241		} catch (n$1) {
13242			var t = n$1.stack || "";
13243			~t.indexOf(" at ") && (t = t.split(" at ")[1]);
13244			var e$1 = "Error in function " + t.split("\n")[0].split("<")[0] + ": " + n$1.message;
13245			if (!i.console) throw new Error(e$1);
13246			i.console.error(e$1, n$1), i.alert && alert(e$1);
13247		}
13248	}, Jt$1.foo.bar = Jt$1, Jt$1.foo), Ie$1 = function(t) {
13249		return !0 === Array.isArray(Tt$1) && Tt$1.indexOf(t) > -1;
13250	};
13251	switch (a$1) {
13252		case "pt":
13253			St$1 = 1;
13254			break;
13255		case "mm":
13256			St$1 = 72 / 25.4;
13257			break;
13258		case "cm":
13259			St$1 = 72 / 2.54;
13260			break;
13261		case "in":
13262			St$1 = 72;
13263			break;
13264		case "px":
13265			St$1 = 1 == Ie$1("px_scaling") ? .75 : 96 / 72;
13266			break;
13267		case "pc":
13268		case "em":
13269			St$1 = 12;
13270			break;
13271		case "ex":
13272			St$1 = 6;
13273			break;
13274		default:
13275			if ("number" != typeof a$1) throw new Error("Invalid unit: " + a$1);
13276			St$1 = a$1;
13277	}
13278	var je$1 = null;
13279	K$1(), Y$1();
13280	var Ce = y$1.__private__.getPageInfo = y$1.getPageInfo = function(t) {
13281		if (isNaN(t) || t % 1 != 0) throw new Error("Invalid argument passed to jsPDF.getPageInfo");
13282		return {
13283			objId: Rt$1[t].objId,
13284			pageNumber: t,
13285			pageContext: Rt$1[t]
13286		};
13287	}, Oe = y$1.__private__.getPageInfoByObjId = function(t) {
13288		if (isNaN(t) || t % 1 != 0) throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");
13289		for (var e$1 in Rt$1) if (Rt$1[e$1].objId === t) break;
13290		return Ce(e$1);
13291	}, Be = y$1.__private__.getCurrentPageInfo = y$1.getCurrentPageInfo = function() {
13292		return {
vendor: 5,222 bytes, lines 13293-13425
13293			objId: Rt$1[$$1].objId,
13294			pageNumber: $$1,
13295			pageContext: Rt$1[$$1]
13296		};
13297	};
13298	y$1.addPage = function() {
13299		return ve$1.apply(this, arguments), this;
13300	}, y$1.setPage = function() {
13301		return ye$1.apply(this, arguments), ct$1.call(this, ot$1[$$1]), this;
13302	}, y$1.insertPage = function(t) {
13303		return this.addPage(), this.movePage($$1, t), this;
13304	}, y$1.movePage = function(t, e$1) {
13305		var n$1, r$1;
13306		if (t > e$1) {
13307			n$1 = ot$1[t], r$1 = Rt$1[t];
13308			for (var i$2 = t; i$2 > e$1; i$2--) ot$1[i$2] = ot$1[i$2 - 1], Rt$1[i$2] = Rt$1[i$2 - 1];
13309			ot$1[e$1] = n$1, Rt$1[e$1] = r$1, this.setPage(e$1);
13310		} else if (t < e$1) {
13311			n$1 = ot$1[t], r$1 = Rt$1[t];
13312			for (var a$2 = t; a$2 < e$1; a$2++) ot$1[a$2] = ot$1[a$2 + 1], Rt$1[a$2] = Rt$1[a$2 + 1];
13313			ot$1[e$1] = n$1, Rt$1[e$1] = r$1, this.setPage(e$1);
13314		}
13315		return this;
13316	}, y$1.deletePage = function() {
13317		return be$1.apply(this, arguments), this;
13318	}, y$1.__private__.text = y$1.text = function(e$1, n$1, r$1, i$2, a$2) {
13319		var o$1, s$2, u$2, c$2, l$1, h$1, f$2, d$1, p$2, g$2 = (i$2 = i$2 || {}).scope || this;
13320		if ("number" == typeof e$1 && "number" == typeof n$1 && ("string" == typeof r$1 || Array.isArray(r$1))) {
13321			var m$2 = r$1;
13322			r$1 = n$1, n$1 = e$1, e$1 = m$2;
13323		}
13324		if (arguments[3] instanceof Wt$1 == 0 ? (u$2 = arguments[4], c$2 = arguments[5], "object" === _typeof(f$2 = arguments[3]) && null !== f$2 || ("string" == typeof u$2 && (c$2 = u$2, u$2 = null), "string" == typeof f$2 && (c$2 = f$2, f$2 = null), "number" == typeof f$2 && (u$2 = f$2, f$2 = null), i$2 = {
13325			flags: f$2,
13326			angle: u$2,
13327			align: c$2
13328		})) : (R$1("The transform parameter of text() with a Matrix value"), p$2 = a$2), isNaN(n$1) || isNaN(r$1) || null == e$1) throw new Error("Invalid arguments passed to jsPDF.text");
13329		if (0 === e$1.length) return g$2;
13330		var v$2, y$2 = "", w$2 = "number" == typeof i$2.lineHeightFactor ? i$2.lineHeightFactor : Je, N$2 = g$2.internal.scaleFactor;
13331		function L$2(t) {
13332			return t = t.split("	").join(Array(i$2.TabLen || 9).join(" ")), ge$1(t, f$2);
13333		}
13334		function x$3(t) {
13335			for (var e$2, n$2 = t.concat(), r$2 = [], i$3 = n$2.length; i$3--;) "string" == typeof (e$2 = n$2.shift()) ? r$2.push(e$2) : Array.isArray(t) && (1 === e$2.length || void 0 === e$2[1] && void 0 === e$2[2]) ? r$2.push(e$2[0]) : r$2.push([
13336				e$2[0],
13337				e$2[1],
13338				e$2[2]
13339			]);
13340			return r$2;
13341		}
13342		function A$2(t, e$2) {
13343			var n$2;
13344			if ("string" == typeof t) n$2 = e$2(t)[0];
13345			else if (Array.isArray(t)) {
13346				for (var r$2, i$3, a$3 = t.concat(), o$2 = [], s$3 = a$3.length; s$3--;) "string" == typeof (r$2 = a$3.shift()) ? o$2.push(e$2(r$2)[0]) : Array.isArray(r$2) && "string" == typeof r$2[0] && (i$3 = e$2(r$2[0], r$2[1], r$2[2]), o$2.push([
13347					i$3[0],
13348					i$3[1],
13349					i$3[2]
13350				]));
13351				n$2 = o$2;
13352			}
13353			return n$2;
13354		}
13355		var P$2 = !1, k$2 = !0;
13356		if ("string" == typeof e$1) P$2 = !0;
13357		else if (Array.isArray(e$1)) {
13358			var F$2 = e$1.concat();
13359			s$2 = [];
13360			for (var I$1, j$1 = F$2.length; j$1--;) ("string" != typeof (I$1 = F$2.shift()) || Array.isArray(I$1) && "string" != typeof I$1[0]) && (k$2 = !1);
13361			P$2 = k$2;
13362		}
13363		if (!1 === P$2) throw new Error("Type of text must be string or Array. \"" + e$1 + "\" is not recognized.");
13364		"string" == typeof e$1 && (e$1 = e$1.match(/[\r?\n]/) ? e$1.split(/\r\n|\r|\n/g) : [e$1]);
13365		var C$1 = pt$1 / g$2.internal.scaleFactor, O$1 = C$1 * (w$2 - 1);
13366		switch (i$2.baseline) {
13367			case "bottom":
13368				r$1 -= O$1;
13369				break;
13370			case "top":
13371				r$1 += C$1 - O$1;
13372				break;
13373			case "hanging":
13374				r$1 += C$1 - 2 * O$1;
13375				break;
13376			case "middle": r$1 += C$1 / 2 - O$1;
13377		}
13378		if ((h$1 = i$2.maxWidth || 0) > 0 && ("string" == typeof e$1 ? e$1 = g$2.splitTextToSize(e$1, h$1) : "[object Array]" === Object.prototype.toString.call(e$1) && (e$1 = e$1.reduce(function(t, e$2) {
13379			return t.concat(g$2.splitTextToSize(e$2, h$1));
13380		}, []))), o$1 = {
13381			text: e$1,
13382			x: n$1,
13383			y: r$1,
13384			options: i$2,
13385			mutex: {
13386				pdfEscape: ge$1,
13387				activeFontKey: At$1,
13388				fonts: Ft$1,
13389				activeFontSize: pt$1
13390			}
13391		}, Dt$1.publish("preProcessText", o$1), e$1 = o$1.text, u$2 = (i$2 = o$1.options).angle, p$2 instanceof Wt$1 == 0 && u$2 && "number" == typeof u$2) {
13392			u$2 *= Math.PI / 180, 0 === i$2.rotationDirection && (u$2 = -u$2), _$1 === S$1 && (u$2 = -u$2);
13393			var M$1 = Math.cos(u$2), q$1 = Math.sin(u$2);
13394			p$2 = new Wt$1(M$1, q$1, -q$1, M$1, 0, 0);
13395		} else u$2 && u$2 instanceof Wt$1 && (p$2 = u$2);
13396		_$1 !== S$1 || p$2 || (p$2 = Gt$1), void 0 !== (l$1 = i$2.charSpace || ln$1) && (y$2 += B$1(U$1(l$1)) + " Tc\n", this.setCharSpace(this.getCharSpace() || 0)), void 0 !== (d$1 = i$2.horizontalScale) && (y$2 += B$1(100 * d$1) + " Tz\n"), i$2.lang;
13397		var E$1 = -1, D$2 = void 0 !== i$2.renderingMode ? i$2.renderingMode : i$2.stroke, T$2 = g$2.internal.getCurrentPageInfo().pageContext;
13398		switch (D$2) {
13399			case 0:
13400			case !1:
13401			case "fill":
13402				E$1 = 0;
13403				break;
13404			case 1:
13405			case !0:
13406			case "stroke":
13407				E$1 = 1;
13408				break;
13409			case 2:
13410			case "fillThenStroke":
13411				E$1 = 2;
13412				break;
13413			case 3:
13414			case "invisible":
13415				E$1 = 3;
13416				break;
13417			case 4:
13418			case "fillAndAddForClipping":
13419				E$1 = 4;
13420				break;
13421			case 5:
13422			case "strokeAndAddPathForClipping":
13423				E$1 = 5;
13424				break;
13425			case 6:
vendor: 5,553 bytes, lines 13426-13581
13426			case "fillThenStrokeAndAddToPathForClipping":
13427				E$1 = 6;
13428				break;
13429			case 7:
13430			case "addToPathForClipping": E$1 = 7;
13431		}
13432		var z$2 = void 0 !== T$2.usedRenderingMode ? T$2.usedRenderingMode : -1;
13433		-1 !== E$1 ? y$2 += E$1 + " Tr\n" : -1 !== z$2 && (y$2 += "0 Tr\n"), -1 !== E$1 && (T$2.usedRenderingMode = E$1), c$2 = i$2.align || "left";
13434		var H$2, W$2 = pt$1 * w$2, V$2 = g$2.internal.pageSize.getWidth(), G$2 = Ft$1[At$1];
13435		l$1 = i$2.charSpace || ln$1, h$1 = i$2.maxWidth || 0, f$2 = Object.assign({
13436			autoencode: !0,
13437			noBOM: !0
13438		}, i$2.flags);
13439		var Y$2 = [], J$2 = function(t) {
13440			return g$2.getStringUnitWidth(t, {
13441				font: G$2,
13442				charSpace: l$1,
13443				fontSize: pt$1,
13444				doKerning: !1
13445			}) * pt$1 / N$2;
13446		};
13447		if ("[object Array]" === Object.prototype.toString.call(e$1)) {
13448			var X$2;
13449			s$2 = x$3(e$1), "left" !== c$2 && (H$2 = s$2.map(J$2));
13450			var K$2, Z$2 = 0;
13451			if ("right" === c$2) {
13452				n$1 -= H$2[0], e$1 = [], j$1 = s$2.length;
13453				for (var $$2 = 0; $$2 < j$1; $$2++) 0 === $$2 ? (K$2 = en(n$1), X$2 = nn(r$1)) : (K$2 = U$1(Z$2 - H$2[$$2]), X$2 = -W$2), e$1.push([
13454					s$2[$$2],
13455					K$2,
13456					X$2
13457				]), Z$2 = H$2[$$2];
13458			} else if ("center" === c$2) {
13459				n$1 -= H$2[0] / 2, e$1 = [], j$1 = s$2.length;
13460				for (var Q$2 = 0; Q$2 < j$1; Q$2++) 0 === Q$2 ? (K$2 = en(n$1), X$2 = nn(r$1)) : (K$2 = U$1((Z$2 - H$2[Q$2]) / 2), X$2 = -W$2), e$1.push([
13461					s$2[Q$2],
13462					K$2,
13463					X$2
13464				]), Z$2 = H$2[Q$2];
13465			} else if ("left" === c$2) {
13466				e$1 = [], j$1 = s$2.length;
13467				for (var tt$2 = 0; tt$2 < j$1; tt$2++) e$1.push(s$2[tt$2]);
13468			} else if ("justify" === c$2 && "Identity-H" === G$2.encoding) {
13469				e$1 = [], j$1 = s$2.length, h$1 = 0 !== h$1 ? h$1 : V$2;
13470				for (var et$3 = 0, nt$2 = 0; nt$2 < j$1; nt$2++) if (X$2 = 0 === nt$2 ? nn(r$1) : -W$2, K$2 = 0 === nt$2 ? en(n$1) : et$3, nt$2 < j$1 - 1) {
13471					var rt$2 = U$1((h$1 - H$2[nt$2]) / (s$2[nt$2].split(" ").length - 1)), it$2 = s$2[nt$2].split(" ");
13472					e$1.push([
13473						it$2[0] + " ",
13474						K$2,
13475						X$2
13476					]), et$3 = 0;
13477					for (var at$2 = 1; at$2 < it$2.length; at$2++) {
13478						var ot$2 = (J$2(it$2[at$2 - 1] + " " + it$2[at$2]) - J$2(it$2[at$2])) * N$2 + rt$2;
13479						at$2 == it$2.length - 1 ? e$1.push([
13480							it$2[at$2],
13481							ot$2,
13482							0
13483						]) : e$1.push([
13484							it$2[at$2] + " ",
13485							ot$2,
13486							0
13487						]), et$3 -= ot$2;
13488					}
13489				} else e$1.push([
13490					s$2[nt$2],
13491					K$2,
13492					X$2
13493				]);
13494				e$1.push([
13495					"",
13496					et$3,
13497					0
13498				]);
13499			} else {
13500				if ("justify" !== c$2) throw new Error("Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".");
13501				for (e$1 = [], j$1 = s$2.length, h$1 = 0 !== h$1 ? h$1 : V$2, nt$2 = 0; nt$2 < j$1; nt$2++) {
13502					X$2 = 0 === nt$2 ? nn(r$1) : -W$2, K$2 = 0 === nt$2 ? en(n$1) : 0;
13503					var st$2 = s$2[nt$2].split(" ").length - 1, ut$2 = st$2 > 0 ? (h$1 - H$2[nt$2]) / st$2 : 0;
13504					nt$2 < j$1 - 1 ? Y$2.push(B$1(U$1(ut$2))) : Y$2.push(0), e$1.push([
13505						s$2[nt$2],
13506						K$2,
13507						X$2
13508					]);
13509				}
13510			}
13511		}
13512		!0 === ("boolean" == typeof i$2.R2L ? i$2.R2L : vt$1) && (e$1 = A$2(e$1, function(t, e$2, n$2) {
13513			return [
13514				t.split("").reverse().join(""),
13515				e$2,
13516				n$2
13517			];
13518		})), o$1 = {
13519			text: e$1,
13520			x: n$1,
13521			y: r$1,
13522			options: i$2,
13523			mutex: {
13524				pdfEscape: ge$1,
13525				activeFontKey: At$1,
13526				fonts: Ft$1,
13527				activeFontSize: pt$1
13528			}
13529		}, Dt$1.publish("postProcessText", o$1), e$1 = o$1.text, v$2 = o$1.mutex.isHex || !1;
13530		var ct$2 = Ft$1[At$1].encoding;
13531		"WinAnsiEncoding" !== ct$2 && "StandardEncoding" !== ct$2 || (e$1 = A$2(e$1, function(t, e$2, n$2) {
13532			return [
13533				L$2(t),
13534				e$2,
13535				n$2
13536			];
13537		})), s$2 = x$3(e$1), e$1 = [];
13538		for (var ht$2, ft$2, dt$2, gt$2 = Array.isArray(s$2[0]) ? 1 : 0, mt$2 = "", bt$2 = function(t, e$2, n$2) {
13539			var r$2 = "";
13540			return n$2 instanceof Wt$1 ? (n$2 = "number" == typeof i$2.angle ? Vt$1(n$2, new Wt$1(1, 0, 0, 1, t, e$2)) : Vt$1(new Wt$1(1, 0, 0, 1, t, e$2), n$2), _$1 === S$1 && (n$2 = Vt$1(new Wt$1(1, 0, 0, -1, 0, 0), n$2)), r$2 = n$2.join(" ") + " Tm\n") : r$2 = B$1(t) + " " + B$1(e$2) + " Td\n", r$2;
13541		}, yt$2 = 0; yt$2 < s$2.length; yt$2++) {
13542			switch (mt$2 = "", gt$2) {
13543				case 1:
13544					dt$2 = (v$2 ? "<" : "(") + s$2[yt$2][0] + (v$2 ? ">" : ")"), ht$2 = parseFloat(s$2[yt$2][1]), ft$2 = parseFloat(s$2[yt$2][2]);
13545					break;
13546				case 0: dt$2 = (v$2 ? "<" : "(") + s$2[yt$2] + (v$2 ? ">" : ")"), ht$2 = en(n$1), ft$2 = nn(r$1);
13547			}
13548			void 0 !== Y$2 && void 0 !== Y$2[yt$2] && (mt$2 = Y$2[yt$2] + " Tw\n"), 0 === yt$2 ? e$1.push(mt$2 + bt$2(ht$2, ft$2, p$2) + dt$2) : 0 === gt$2 ? e$1.push(mt$2 + dt$2) : 1 === gt$2 && e$1.push(mt$2 + bt$2(ht$2, ft$2, p$2) + dt$2);
13549		}
13550		e$1 = 0 === gt$2 ? e$1.join(" Tj\nT* ") : e$1.join(" Tj\n"), e$1 += " Tj\n";
13551		var wt$2 = "BT\n/";
13552		return wt$2 += At$1 + " " + pt$1 + " Tf\n", wt$2 += B$1(pt$1 * w$2) + " TL\n", wt$2 += un + "\n", wt$2 += y$2, wt$2 += e$1, lt$1(wt$2 += "ET"), b$1[At$1] = !0, g$2;
13553	};
13554	var Me = y$1.__private__.clip = y$1.clip = function(t) {
13555		return lt$1("evenodd" === t ? "W*" : "W"), this;
13556	};
13557	y$1.clipEvenOdd = function() {
13558		return Me("evenodd");
13559	}, y$1.__private__.discardPath = y$1.discardPath = function() {
13560		return lt$1("n"), this;
13561	};
13562	var qe = y$1.__private__.isValidStyle = function(t) {
13563		var e$1 = !1;
13564		return -1 !== [
13565			void 0,
13566			null,
13567			"S",
13568			"D",
13569			"F",
13570			"DF",
13571			"FD",
13572			"f",
13573			"f*",
13574			"B",
13575			"B*",
13576			"n"
13577		].indexOf(t) && (e$1 = !0), e$1;
13578	};
13579	y$1.__private__.setDefaultPathOperation = y$1.setDefaultPathOperation = function(t) {
13580		return qe(t) && (g$1 = t), this;
13581	};
vendor: 5,637 bytes, lines 13582-13742
13582	var Ee = y$1.__private__.getStyle = y$1.getStyle = function(t) {
13583		var e$1 = g$1;
13584		switch (t) {
13585			case "D":
13586			case "S":
13587				e$1 = "S";
13588				break;
13589			case "F":
13590				e$1 = "f";
13591				break;
13592			case "FD":
13593			case "DF":
13594				e$1 = "B";
13595				break;
13596			case "f":
13597			case "f*":
13598			case "B":
13599			case "B*": e$1 = t;
13600		}
13601		return e$1;
13602	}, Re = y$1.close = function() {
13603		return lt$1("h"), this;
13604	};
13605	y$1.stroke = function() {
13606		return lt$1("S"), this;
13607	}, y$1.fill = function(t) {
13608		return De("f", t), this;
13609	}, y$1.fillEvenOdd = function(t) {
13610		return De("f*", t), this;
13611	}, y$1.fillStroke = function(t) {
13612		return De("B", t), this;
13613	}, y$1.fillStrokeEvenOdd = function(t) {
13614		return De("B*", t), this;
13615	};
13616	var De = function(e$1, n$1) {
13617		"object" === _typeof(n$1) ? Ue(n$1, e$1) : lt$1(e$1);
13618	}, Te = function(t) {
13619		null === t || _$1 === S$1 && void 0 === t || (t = Ee(t), lt$1(t));
13620	};
13621	function ze(t, e$1, n$1, r$1, i$2) {
13622		var a$2 = new q(e$1 || this.boundingBox, n$1 || this.xStep, r$1 || this.yStep, this.gState, i$2 || this.matrix);
13623		a$2.stream = this.stream;
13624		var o$1 = t + "$$" + this.cloneIndex++ + "$$";
13625		return Yt$1(o$1, a$2), a$2;
13626	}
13627	var Ue = function(t, e$1) {
13628		var n$1 = Ot$1[t.key], r$1 = Ct$1[n$1];
13629		if (r$1 instanceof M) lt$1("q"), lt$1(He(e$1)), r$1.gState && y$1.setGState(r$1.gState), lt$1(t.matrix.toString() + " cm"), lt$1("/" + n$1 + " sh"), lt$1("Q");
13630		else if (r$1 instanceof q) {
13631			var i$2 = new Wt$1(1, 0, 0, -1, 0, _n());
13632			t.matrix && (i$2 = i$2.multiply(t.matrix || Gt$1), n$1 = ze.call(r$1, t.key, t.boundingBox, t.xStep, t.yStep, i$2).id), lt$1("q"), lt$1("/Pattern cs"), lt$1("/" + n$1 + " scn"), r$1.gState && y$1.setGState(r$1.gState), lt$1(e$1), lt$1("Q");
13633		}
13634	}, He = function(t) {
13635		switch (t) {
13636			case "f":
13637			case "F":
13638			case "n": return "W n";
13639			case "f*": return "W* n";
13640			case "B":
13641			case "S": return "W S";
13642			case "B*": return "W* S";
13643		}
13644	}, We = y$1.moveTo = function(t, e$1) {
13645		return lt$1(B$1(U$1(t)) + " " + B$1(H$1(e$1)) + " m"), this;
13646	}, Ve = y$1.lineTo = function(t, e$1) {
13647		return lt$1(B$1(U$1(t)) + " " + B$1(H$1(e$1)) + " l"), this;
13648	}, Ge = y$1.curveTo = function(t, e$1, n$1, r$1, i$2, a$2) {
13649		return lt$1([
13650			B$1(U$1(t)),
13651			B$1(H$1(e$1)),
13652			B$1(U$1(n$1)),
13653			B$1(H$1(r$1)),
13654			B$1(U$1(i$2)),
13655			B$1(H$1(a$2)),
13656			"c"
13657		].join(" ")), this;
13658	};
13659	y$1.__private__.line = y$1.line = function(t, e$1, n$1, r$1, i$2) {
13660		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1) || !qe(i$2)) throw new Error("Invalid arguments passed to jsPDF.line");
13661		return _$1 === A$1 ? this.lines([[n$1 - t, r$1 - e$1]], t, e$1, [1, 1], i$2 || "S") : this.lines([[n$1 - t, r$1 - e$1]], t, e$1, [1, 1]).stroke();
13662	}, y$1.__private__.lines = y$1.lines = function(t, e$1, n$1, r$1, i$2, a$2) {
13663		var o$1, s$2, u$2, c$2, l$1, h$1, f$2, d$1, p$2, g$2, m$2, v$2;
13664		if ("number" == typeof t && (v$2 = n$1, n$1 = e$1, e$1 = t, t = v$2), r$1 = r$1 || [1, 1], a$2 = a$2 || !1, isNaN(e$1) || isNaN(n$1) || !Array.isArray(t) || !Array.isArray(r$1) || !qe(i$2) || "boolean" != typeof a$2) throw new Error("Invalid arguments passed to jsPDF.lines");
13665		for (We(e$1, n$1), o$1 = r$1[0], s$2 = r$1[1], c$2 = t.length, g$2 = e$1, m$2 = n$1, u$2 = 0; u$2 < c$2; u$2++) 2 === (l$1 = t[u$2]).length ? (g$2 = l$1[0] * o$1 + g$2, m$2 = l$1[1] * s$2 + m$2, Ve(g$2, m$2)) : (h$1 = l$1[0] * o$1 + g$2, f$2 = l$1[1] * s$2 + m$2, d$1 = l$1[2] * o$1 + g$2, p$2 = l$1[3] * s$2 + m$2, g$2 = l$1[4] * o$1 + g$2, m$2 = l$1[5] * s$2 + m$2, Ge(h$1, f$2, d$1, p$2, g$2, m$2));
13666		return a$2 && Re(), Te(i$2), this;
13667	}, y$1.path = function(t) {
13668		for (var e$1 = 0; e$1 < t.length; e$1++) {
13669			var n$1 = t[e$1], r$1 = n$1.c;
13670			switch (n$1.op) {
13671				case "m":
13672					We(r$1[0], r$1[1]);
13673					break;
13674				case "l":
13675					Ve(r$1[0], r$1[1]);
13676					break;
13677				case "c":
13678					Ge.apply(this, r$1);
13679					break;
13680				case "h": Re();
13681			}
13682		}
13683		return this;
13684	}, y$1.__private__.rect = y$1.rect = function(t, e$1, n$1, r$1, i$2) {
13685		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1) || !qe(i$2)) throw new Error("Invalid arguments passed to jsPDF.rect");
13686		return _$1 === A$1 && (r$1 = -r$1), lt$1([
13687			B$1(U$1(t)),
13688			B$1(H$1(e$1)),
13689			B$1(U$1(n$1)),
13690			B$1(U$1(r$1)),
13691			"re"
13692		].join(" ")), Te(i$2), this;
13693	}, y$1.__private__.triangle = y$1.triangle = function(t, e$1, n$1, r$1, i$2, a$2, o$1) {
13694		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1) || isNaN(i$2) || isNaN(a$2) || !qe(o$1)) throw new Error("Invalid arguments passed to jsPDF.triangle");
13695		return this.lines([
13696			[n$1 - t, r$1 - e$1],
13697			[i$2 - n$1, a$2 - r$1],
13698			[t - i$2, e$1 - a$2]
13699		], t, e$1, [1, 1], o$1, !0), this;
13700	}, y$1.__private__.roundedRect = y$1.roundedRect = function(t, e$1, n$1, r$1, i$2, a$2, o$1) {
13701		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1) || isNaN(i$2) || isNaN(a$2) || !qe(o$1)) throw new Error("Invalid arguments passed to jsPDF.roundedRect");
13702		var s$2 = 4 / 3 * (Math.SQRT2 - 1);
13703		return i$2 = Math.min(i$2, .5 * n$1), a$2 = Math.min(a$2, .5 * r$1), this.lines([
13704			[n$1 - 2 * i$2, 0],
13705			[
13706				i$2 * s$2,
13707				0,
13708				i$2,
13709				a$2 - a$2 * s$2,
13710				i$2,
13711				a$2
13712			],
13713			[0, r$1 - 2 * a$2],
13714			[
13715				0,
13716				a$2 * s$2,
13717				-i$2 * s$2,
13718				a$2,
13719				-i$2,
13720				a$2
13721			],
13722			[2 * i$2 - n$1, 0],
13723			[
13724				-i$2 * s$2,
13725				0,
13726				-i$2,
13727				-a$2 * s$2,
13728				-i$2,
13729				-a$2
13730			],
13731			[0, 2 * a$2 - r$1],
13732			[
13733				0,
13734				-a$2 * s$2,
13735				i$2 * s$2,
13736				-a$2,
13737				i$2,
13738				-a$2
13739			]
13740		], t + i$2, e$1, [1, 1], o$1, !0), this;
13741	}, y$1.__private__.ellipse = y$1.ellipse = function(t, e$1, n$1, r$1, i$2) {
13742		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1) || !qe(i$2)) throw new Error("Invalid arguments passed to jsPDF.ellipse");
13743		var a$2 = 4 / 3 * (Math.SQRT2 - 1) * n$1, o$1 = 4 / 3 * (Math.SQRT2 - 1) * r$1;
13744		return We(t + n$1, e$1), Ge(t + n$1, e$1 - o$1, t + a$2, e$1 - r$1, t, e$1 - r$1), Ge(t - a$2, e$1 - r$1, t - n$1, e$1 - o$1, t - n$1, e$1), Ge(t - n$1, e$1 + o$1, t - a$2, e$1 + r$1, t, e$1 + r$1), Ge(t + a$2, e$1 + r$1, t + n$1, e$1 + o$1, t + n$1, e$1), Te(i$2), this;
13745	}, y$1.__private__.circle = y$1.circle = function(t, e$1, n$1, r$1) {
13746		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || !qe(r$1)) throw new Error("Invalid arguments passed to jsPDF.circle");
13747		return this.ellipse(t, e$1, n$1, n$1, r$1);
13748	}, y$1.setFont = function(t, e$1, n$1) {
13749		return n$1 && (e$1 = F$1(e$1, n$1)), At$1 = Ne$1(t, e$1, { disableWarning: !1 }), this;
13750	};
13751	var Ye = y$1.__private__.getFont = y$1.getFont = function() {
13752		return Ft$1[Ne$1.apply(y$1, arguments)];
13753	};
13754	y$1.__private__.getFontList = y$1.getFontList = function() {
13755		var t, e$1, n$1 = {};
13756		for (t in It$1) if (It$1.hasOwnProperty(t)) for (e$1 in n$1[t] = [], It$1[t]) It$1[t].hasOwnProperty(e$1) && n$1[t].push(e$1);
13757		return n$1;
13758	}, y$1.addFont = function(t, e$1, n$1, r$1, i$2) {
13759		var a$2 = [
13760			"StandardEncoding",
13761			"MacRomanEncoding",
13762			"Identity-H",
13763			"WinAnsiEncoding"
13764		];
13765		return arguments[3] && -1 !== a$2.indexOf(arguments[3]) ? i$2 = arguments[3] : arguments[3] && -1 == a$2.indexOf(arguments[3]) && (n$1 = F$1(n$1, r$1)), pe$1.call(this, t, e$1, n$1, i$2 = i$2 || "Identity-H");
13766	};
13767	var Je, Xe = e.lineWidth || .200025, Ke = y$1.__private__.getLineWidth = y$1.getLineWidth = function() {
13768		return Xe;
13769	}, Ze = y$1.__private__.setLineWidth = y$1.setLineWidth = function(t) {
13770		return Xe = t, lt$1(B$1(U$1(t)) + " w"), this;
13771	};
13772	y$1.__private__.setLineDash = E.API.setLineDash = E.API.setLineDashPattern = function(t, e$1) {
13773		if (t = t || [], e$1 = e$1 || 0, isNaN(e$1) || !Array.isArray(t)) throw new Error("Invalid arguments passed to jsPDF.setLineDash");
13774		return t = t.map(function(t$1) {
13775			return B$1(U$1(t$1));
13776		}).join(" "), e$1 = B$1(U$1(e$1)), lt$1("[" + t + "] " + e$1 + " d"), this;
13777	};
13778	var $e = y$1.__private__.getLineHeight = y$1.getLineHeight = function() {
13779		return pt$1 * Je;
13780	};
13781	y$1.__private__.getLineHeight = y$1.getLineHeight = function() {
13782		return pt$1 * Je;
13783	};
13784	var Qe = y$1.__private__.setLineHeightFactor = y$1.setLineHeightFactor = function(t) {
13785		return "number" == typeof (t = t || 1.15) && (Je = t), this;
13786	}, tn = y$1.__private__.getLineHeightFactor = y$1.getLineHeightFactor = function() {
13787		return Je;
13788	};
13789	Qe(e.lineHeight);
13790	var en = y$1.__private__.getHorizontalCoordinate = function(t) {
13791		return U$1(t);
13792	}, nn = y$1.__private__.getVerticalCoordinate = function(t) {
13793		return _$1 === S$1 ? t : Rt$1[$$1].mediaBox.topRightY - Rt$1[$$1].mediaBox.bottomLeftY - U$1(t);
13794	}, rn = y$1.__private__.getHorizontalCoordinateString = y$1.getHorizontalCoordinateString = function(t) {
13795		return B$1(en(t));
13796	}, an = y$1.__private__.getVerticalCoordinateString = y$1.getVerticalCoordinateString = function(t) {
13797		return B$1(nn(t));
13798	}, on = e.strokeColor || "0 G";
13799	y$1.__private__.getStrokeColor = y$1.getDrawColor = function() {
13800		return ee$1(on);
13801	}, y$1.__private__.setStrokeColor = y$1.setDrawColor = function(t, e$1, n$1, r$1) {
13802		return on = ne$1({
13803			ch1: t,
13804			ch2: e$1,
13805			ch3: n$1,
13806			ch4: r$1,
13807			pdfColorType: "draw",
13808			precision: 2
13809		}), lt$1(on), this;
13810	};
13811	var sn = e.fillColor || "0 g";
13812	y$1.__private__.getFillColor = y$1.getFillColor = function() {
13813		return ee$1(sn);
13814	}, y$1.__private__.setFillColor = y$1.setFillColor = function(t, e$1, n$1, r$1) {
13815		return sn = ne$1({
13816			ch1: t,
13817			ch2: e$1,
13818			ch3: n$1,
13819			ch4: r$1,
13820			pdfColorType: "fill",
13821			precision: 2
13822		}), lt$1(sn), this;
13823	};
13824	var un = e.textColor || "0 g", cn = y$1.__private__.getTextColor = y$1.getTextColor = function() {
13825		return ee$1(un);
13826	};
13827	y$1.__private__.setTextColor = y$1.setTextColor = function(t, e$1, n$1, r$1) {
13828		return un = ne$1({
13829			ch1: t,
13830			ch2: e$1,
13831			ch3: n$1,
13832			ch4: r$1,
13833			pdfColorType: "text",
13834			precision: 3
13835		}), this;
13836	};
13837	var ln$1 = e.charSpace, hn = y$1.__private__.getCharSpace = y$1.getCharSpace = function() {
13838		return parseFloat(ln$1 || 0);
13839	};
13840	y$1.__private__.setCharSpace = y$1.setCharSpace = function(t) {
13841		if (isNaN(t)) throw new Error("Invalid argument passed to jsPDF.setCharSpace");
13842		return ln$1 = t, this;
13843	};
13844	var fn = 0;
13845	y$1.CapJoinStyles = {
13846		0: 0,
13847		butt: 0,
13848		but: 0,
13849		miter: 0,
13850		1: 1,
13851		round: 1,
13852		rounded: 1,
13853		circle: 1,
13854		2: 2,
13855		projecting: 2,
13856		project: 2,
13857		square: 2,
13858		bevel: 2
13859	}, y$1.__private__.setLineCap = y$1.setLineCap = function(t) {
13860		var e$1 = y$1.CapJoinStyles[t];
13861		if (void 0 === e$1) throw new Error("Line cap style of '" + t + "' is not recognized. See or extend .CapJoinStyles property for valid styles");
13862		return fn = e$1, lt$1(e$1 + " J"), this;
13863	};
13864	var dn = 0;
13865	y$1.__private__.setLineJoin = y$1.setLineJoin = function(t) {
13866		var e$1 = y$1.CapJoinStyles[t];
13867		if (void 0 === e$1) throw new Error("Line join style of '" + t + "' is not recognized. See or extend .CapJoinStyles property for valid styles");
13868		return dn = e$1, lt$1(e$1 + " j"), this;
13869	}, y$1.__private__.setLineMiterLimit = y$1.__private__.setMiterLimit = y$1.setLineMiterLimit = y$1.setMiterLimit = function(t) {
13870		if (t = t || 0, isNaN(t)) throw new Error("Invalid argument passed to jsPDF.setLineMiterLimit");
13871		return lt$1(B$1(U$1(t)) + " M"), this;
13872	}, y$1.GState = O, y$1.setGState = function(t) {
13873		(t = "string" == typeof t ? Bt$1[Mt$1[t]] : pn(null, t)).equals(qt$1) || (lt$1("/" + t.id + " gs"), qt$1 = t);
13874	};
13875	var pn = function(t, e$1) {
13876		if (!t || !Mt$1[t]) {
13877			var n$1 = !1;
13878			for (var r$1 in Bt$1) if (Bt$1.hasOwnProperty(r$1) && Bt$1[r$1].equals(e$1)) {
13879				n$1 = !0;
13880				break;
13881			}
13882			if (n$1) e$1 = Bt$1[r$1];
13883			else {
13884				var i$2 = "GS" + (Object.keys(Bt$1).length + 1).toString(10);
13885				Bt$1[i$2] = e$1, e$1.id = i$2;
13886			}
13887			return t && (Mt$1[t] = e$1.id), Dt$1.publish("addGState", e$1), e$1;
13888		}
13889	};
13890	y$1.addGState = function(t, e$1) {
13891		return pn(t, e$1), this;
13892	}, y$1.saveGraphicsState = function() {
13893		return lt$1("q"), jt$1.push({
13894			key: At$1,
13895			size: pt$1,
13896			color: un
13897		}), this;
13898	}, y$1.restoreGraphicsState = function() {
13899		lt$1("Q");
13900		var t = jt$1.pop();
13901		return At$1 = t.key, pt$1 = t.size, un = t.color, qt$1 = null, this;
13902	}, y$1.setCurrentTransformationMatrix = function(t) {
13903		return lt$1(t.toString() + " cm"), this;
13904	}, y$1.comment = function(t) {
13905		return lt$1("#" + t), this;
13906	};
13907	var gn = function(t, e$1) {
13908		var n$1 = t || 0;
13909		Object.defineProperty(this, "x", {
13910			enumerable: !0,
13911			get: function() {
13912				return n$1;
13913			},
13914			set: function(t$1) {
13915				isNaN(t$1) || (n$1 = parseFloat(t$1));
13916			}
13917		});
13918		var r$1 = e$1 || 0;
13919		Object.defineProperty(this, "y", {
13920			enumerable: !0,
13921			get: function() {
13922				return r$1;
13923			},
13924			set: function(t$1) {
13925				isNaN(t$1) || (r$1 = parseFloat(t$1));
13926			}
13927		});
13928		var i$2 = "pt";
13929		return Object.defineProperty(this, "type", {
13930			enumerable: !0,
13931			get: function() {
13932				return i$2;
13933			},
13934			set: function(t$1) {
13935				i$2 = t$1.toString();
13936			}
13937		}), this;
13938	}, mn = function(t, e$1, n$1, r$1) {
13939		gn.call(this, t, e$1), this.type = "rect";
13940		var i$2 = n$1 || 0;
13941		Object.defineProperty(this, "w", {
13942			enumerable: !0,
13943			get: function() {
13944				return i$2;
13945			},
13946			set: function(t$1) {
13947				isNaN(t$1) || (i$2 = parseFloat(t$1));
13948			}
13949		});
13950		var a$2 = r$1 || 0;
13951		return Object.defineProperty(this, "h", {
13952			enumerable: !0,
13953			get: function() {
13954				return a$2;
13955			},
13956			set: function(t$1) {
13957				isNaN(t$1) || (a$2 = parseFloat(t$1));
13958			}
13959		}), this;
13960	}, vn = function() {
13961		this.page = Et$1, this.currentPage = $$1, this.pages = ot$1.slice(0), this.pagesContext = Rt$1.slice(0), this.x = _t$1, this.y = Pt$1, this.matrix = kt$1, this.width = wn($$1), this.height = Ln($$1), this.outputDestination = ut$1, this.id = "", this.objectNumber = -1;
13962	};
13963	vn.prototype.restore = function() {
13964		Et$1 = this.page, $$1 = this.currentPage, Rt$1 = this.pagesContext, ot$1 = this.pages, _t$1 = this.x, Pt$1 = this.y, kt$1 = this.matrix, Nn($$1, this.width), xn($$1, this.height), ut$1 = this.outputDestination;
13965	};
13966	var bn = function(t, e$1, n$1, r$1, i$2) {
13967		Ht$1.push(new vn()), Et$1 = $$1 = 0, ot$1 = [], _t$1 = t, Pt$1 = e$1, kt$1 = i$2, me$1([n$1, r$1]);
13968	};
13969	for (var yn in y$1.beginFormObject = function(t, e$1, n$1, r$1, i$2) {
13970		return bn(t, e$1, n$1, r$1, i$2), this;
13971	}, y$1.endFormObject = function(t) {
13972		return function(t$1) {
13973			if (Ut$1[t$1]) Ht$1.pop().restore();
13974			else {
13975				var e$1 = new vn(), n$1 = "Xo" + (Object.keys(zt$1).length + 1).toString(10);
13976				e$1.id = n$1, Ut$1[t$1] = n$1, zt$1[n$1] = e$1, Dt$1.publish("addFormObject", e$1), Ht$1.pop().restore();
13977			}
13978		}(t), this;
13979	}, y$1.doFormObject = function(t, e$1) {
13980		var n$1 = zt$1[Ut$1[t]];
13981		return lt$1("q"), lt$1(e$1.toString() + " cm"), lt$1("/" + n$1.id + " Do"), lt$1("Q"), this;
13982	}, y$1.getFormObject = function(t) {
13983		var e$1 = zt$1[Ut$1[t]];
13984		return {
13985			x: e$1.x,
13986			y: e$1.y,
13987			width: e$1.width,
13988			height: e$1.height,
13989			matrix: e$1.matrix
13990		};
13991	}, y$1.save = function(t, e$1) {
13992		return t = t || "generated.pdf", (e$1 = e$1 || {}).returnPromise = e$1.returnPromise || !1, !1 === e$1.returnPromise ? (l(ke$1(Pe$1()), t), "function" == typeof l.unload && i.setTimeout && setTimeout(l.unload, 911), this) : new Promise(function(e$2, n$1) {
13993			try {
13994				var r$1 = l(ke$1(Pe$1()), t);
13995				"function" == typeof l.unload && i.setTimeout && setTimeout(l.unload, 911), e$2(r$1);
13996			} catch (a$2) {
13997				n$1(a$2.message);
13998			}
13999		});
14000	}, E.API) E.API.hasOwnProperty(yn) && ("events" === yn && E.API.events.length ? function(t, e$1) {
14001		var n$1, r$1, i$2;
14002		for (i$2 = e$1.length - 1; -1 !== i$2; i$2--) n$1 = e$1[i$2][0], r$1 = e$1[i$2][1], t.subscribe.apply(t, [n$1].concat("function" == typeof r$1 ? [r$1] : r$1));
14003	}(Dt$1, E.API.events) : y$1[yn] = E.API[yn]);
14004	function wn(t) {
14005		return Rt$1[t].mediaBox.topRightX - Rt$1[t].mediaBox.bottomLeftX;
14006	}
14007	function Nn(t, e$1) {
14008		Rt$1[t].mediaBox.topRightX = e$1 + Rt$1[t].mediaBox.bottomLeftX;
14009	}
14010	function Ln(t) {
14011		return Rt$1[t].mediaBox.topRightY - Rt$1[t].mediaBox.bottomLeftY;
14012	}
14013	function xn(t, e$1) {
14014		Rt$1[t].mediaBox.topRightY = e$1 + Rt$1[t].mediaBox.bottomLeftY;
14015	}
14016	var An = y$1.getPageWidth = function(t) {
14017		return wn(t = t || $$1) / St$1;
14018	}, Sn = y$1.setPageWidth = function(t, e$1) {
14019		Nn(t, e$1 * St$1);
14020	}, _n = y$1.getPageHeight = function(t) {
14021		return Ln(t = t || $$1) / St$1;
14022	}, Pn = y$1.setPageHeight = function(t, e$1) {
14023		xn(t, e$1 * St$1);
14024	};
14025	return y$1.internal = {
14026		pdfEscape: ge$1,
14027		getStyle: Ee,
14028		getFont: Ye,
14029		getFontSize: mt$1,
14030		getCharSpace: hn,
14031		getTextColor: cn,
14032		getLineHeight: $e,
14033		getLineHeightFactor: tn,
14034		getLineWidth: Ke,
14035		write: ht$1,
14036		getHorizontalCoordinate: en,
14037		getVerticalCoordinate: nn,
14038		getCoordinateString: rn,
14039		getVerticalCoordinateString: an,
14040		collections: {},
14041		newObject: Xt$1,
14042		newAdditionalObject: $t$1,
14043		newObjectDeferred: Kt$1,
14044		newObjectDeferredBegin: Zt$1,
14045		getFilters: re$1,
14046		putStream: ie$1,
14047		events: Dt$1,
14048		scaleFactor: St$1,
14049		pageSize: {
14050			getWidth: function() {
14051				return An($$1);
14052			},
14053			setWidth: function(t) {
14054				Sn($$1, t);
14055			},
14056			getHeight: function() {
14057				return _n($$1);
14058			},
14059			setHeight: function(t) {
14060				Pn($$1, t);
14061			}
14062		},
14063		encryptionOptions: m$1,
14064		encryption: je$1,
14065		getEncryptor: function(t) {
14066			return null !== m$1 ? je$1.encryptor(t, 0) : function(t$1) {
14067				return t$1;
14068			};
14069		},
14070		output: Fe$1,
14071		getNumberOfPages: we$1,
14072		get pages() {
14073			return ot$1;
14074		},
14075		out: lt$1,
14076		f2: T$1,
14077		f3: z$1,
14078		getPageInfo: Ce,
14079		getPageInfoByObjId: Oe,
14080		getCurrentPageInfo: Be,
14081		getPDFVersion: N$1,
14082		Point: gn,
14083		Rectangle: mn,
14084		Matrix: Wt$1,
14085		hasHotfix: Ie$1
14086	}, Object.defineProperty(y$1.internal.pageSize, "width", {
14087		get: function() {
14088			return An($$1);
14089		},
14090		set: function(t) {
14091			Sn($$1, t);
14092		},
14093		enumerable: !0,
14094		configurable: !0
14095	}), Object.defineProperty(y$1.internal.pageSize, "height", {
14096		get: function() {
14097			return _n($$1);
14098		},
14099		set: function(t) {
14100			Pn($$1, t);
14101		},
14102		enumerable: !0,
14103		configurable: !0
14104	}), function(t) {
14105		for (var e$1 = 0, n$1 = dt$1.length; e$1 < n$1; e$1++) {
14106			var r$1 = pe$1.call(this, t[e$1][0], t[e$1][1], t[e$1][2], dt$1[e$1][3], !0);
14107			!1 === v$1 && (b$1[r$1] = !0);
14108			var i$2 = t[e$1][0].split("-");
14109			de$1({
14110				id: r$1,
14111				fontName: i$2[0],
14112				fontStyle: i$2[1] || ""
14113			});
14114		}
14115		Dt$1.publish("addFonts", {
14116			fonts: Ft$1,
14117			dictionary: It$1
14118		});
14119	}.call(y$1, dt$1), At$1 = "F1", ve$1(s$1, r), Dt$1.publish("initialized"), y$1;
14120}
14121I.prototype.lsbFirstWord = function(t) {
14122	return String.fromCharCode(255 & t, t >> 8 & 255, t >> 16 & 255, t >> 24 & 255);
14123}, I.prototype.toHexString = function(t) {
14124	return t.split("").map(function(t$1) {
vendor: 11,721 bytes, lines 14125-14390
14125		return ("0" + (255 & t$1.charCodeAt(0)).toString(16)).slice(-2);
14126	}).join("");
14127}, I.prototype.hexToBytes = function(t) {
14128	for (var e = [], n = 0; n < t.length; n += 2) e.push(String.fromCharCode(parseInt(t.substr(n, 2), 16)));
14129	return e.join("");
14130}, I.prototype.processOwnerPassword = function(t, e) {
14131	return k(S(e).substr(0, 5), t);
14132}, I.prototype.encryptor = function(t, e) {
14133	var n = S(this.encryptionKey + String.fromCharCode(255 & t, t >> 8 & 255, t >> 16 & 255, 255 & e, e >> 8 & 255)).substr(0, 10);
14134	return function(t$1) {
14135		return k(n, t$1);
14136	};
14137}, O.prototype.equals = function(e) {
14138	var n, r = "id,objectNumber,equals";
14139	if (!e || _typeof(e) !== _typeof(this)) return !1;
14140	var i$2 = 0;
14141	for (n in this) if (!(r.indexOf(n) >= 0)) {
14142		if (this.hasOwnProperty(n) && !e.hasOwnProperty(n)) return !1;
14143		if (this[n] !== e[n]) return !1;
14144		i$2++;
14145	}
14146	for (n in e) e.hasOwnProperty(n) && r.indexOf(n) < 0 && i$2--;
14147	return 0 === i$2;
14148}, E.API = { events: [] }, E.version = "4.0.0";
14149var R = E.API, D = 1, T = function(t) {
14150	return t.replace(/\\/g, "\\\\").replace(/\(/g, "\\(").replace(/\)/g, "\\)");
14151}, z = function(t) {
14152	return t.replace(/\\\\/g, "\\").replace(/\\\(/g, "(").replace(/\\\)/g, ")");
14153}, U = function(t) {
14154	return t.toFixed(2);
14155}, H = function(t) {
14156	return t.toFixed(5);
14157};
14158R.__acroform__ = {};
14159var W = function(t, e) {
14160	t.prototype = Object.create(e.prototype), t.prototype.constructor = t;
14161}, V = function(t) {
14162	return t * D;
14163}, G = function(t) {
14164	var e = new ct(), n = xt.internal.getHeight(t) || 0, r = xt.internal.getWidth(t) || 0;
14165	return e.BBox = [
14166		0,
14167		0,
14168		Number(U(r)),
14169		Number(U(n))
14170	], e;
14171}, Y = R.__acroform__.setBit = function(t, e) {
14172	if (t = t || 0, e = e || 0, isNaN(t) || isNaN(e)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.setBit");
14173	return t | 1 << e;
14174}, J = R.__acroform__.clearBit = function(t, e) {
14175	if (t = t || 0, e = e || 0, isNaN(t) || isNaN(e)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.clearBit");
14176	return t & ~(1 << e);
14177}, X = R.__acroform__.getBit = function(t, e) {
14178	if (isNaN(t) || isNaN(e)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.getBit");
14179	return t & 1 << e ? 1 : 0;
14180}, K = R.__acroform__.getBitForPdf = function(t, e) {
14181	if (isNaN(t) || isNaN(e)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf");
14182	return X(t, e - 1);
14183}, Z = R.__acroform__.setBitForPdf = function(t, e) {
14184	if (isNaN(t) || isNaN(e)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf");
14185	return Y(t, e - 1);
14186}, $ = R.__acroform__.clearBitForPdf = function(t, e) {
14187	if (isNaN(t) || isNaN(e)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf");
14188	return J(t, e - 1);
14189}, Q = R.__acroform__.calculateCoordinates = function(t, e) {
14190	var n = e.internal.getHorizontalCoordinate, r = e.internal.getVerticalCoordinate, i$2 = t[0], a$1 = t[1], o$1 = t[2], s$1 = t[3], u$1 = {};
14191	return u$1.lowerLeft_X = n(i$2) || 0, u$1.lowerLeft_Y = r(a$1 + s$1) || 0, u$1.upperRight_X = n(i$2 + o$1) || 0, u$1.upperRight_Y = r(a$1) || 0, [
14192		Number(U(u$1.lowerLeft_X)),
14193		Number(U(u$1.lowerLeft_Y)),
14194		Number(U(u$1.upperRight_X)),
14195		Number(U(u$1.upperRight_Y))
14196	];
14197}, tt = function(t) {
14198	if (t.appearanceStreamContent) return t.appearanceStreamContent;
14199	if (t.V || t.DV) {
14200		var e = [], n = t._V || t.DV, r = et(t, n), i$2 = t.scope.internal.getFont(t.fontName, t.fontStyle).id;
14201		e.push("/Tx BMC"), e.push("q"), e.push("BT"), e.push(t.scope.__private__.encodeColorString(t.color)), e.push("/" + i$2 + " " + U(r.fontSize) + " Tf"), e.push("1 0 0 1 0 0 Tm"), e.push(r.text), e.push("ET"), e.push("Q"), e.push("EMC");
14202		var a$1 = G(t);
14203		return a$1.scope = t.scope, a$1.stream = e.join("\n"), a$1;
14204	}
14205}, et = function(t, e) {
14206	var n = 0 === t.fontSize ? t.maxFontSize : t.fontSize, r = {
14207		text: "",
14208		fontSize: ""
14209	}, i$2 = (e = ")" == (e = "(" == e.substr(0, 1) ? e.substr(1) : e).substr(e.length - 1) ? e.substr(0, e.length - 1) : e).split(" ");
14210	i$2 = t.multiline ? i$2.map(function(t$1) {
14211		return t$1.split("\n");
14212	}) : i$2.map(function(t$1) {
14213		return [t$1];
14214	});
14215	var a$1 = n, o$1 = xt.internal.getHeight(t) || 0;
14216	o$1 = o$1 < 0 ? -o$1 : o$1;
14217	var s$1 = xt.internal.getWidth(t) || 0;
14218	s$1 = s$1 < 0 ? -s$1 : s$1;
14219	var u$1 = function(e$1, n$1, r$1) {
14220		if (e$1 + 1 < i$2.length) {
14221			var a$2 = n$1 + " " + i$2[e$1 + 1][0];
14222			return nt(a$2, t, r$1).width <= s$1 - 4;
14223		}
14224		return !1;
14225	};
14226	a$1++;
14227	t: for (; a$1 > 0;) {
14228		e = "", a$1--;
14229		var c$1, l$1, h$1 = nt("3", t, a$1).height, f$1 = t.multiline ? o$1 - a$1 : (o$1 - h$1) / 2, d$1 = f$1 += 2, p$1 = 0, g$1 = 0, m$1 = 0;
14230		if (a$1 <= 0) {
14231			e = "(...) Tj\n", e += "% Width of Text: " + nt(e, t, a$1 = 12).width + ", FieldWidth:" + s$1 + "\n";
14232			break;
14233		}
14234		for (var v$1 = "", b$1 = 0, y$1 = 0; y$1 < i$2.length; y$1++) if (i$2.hasOwnProperty(y$1)) {
14235			var w$1 = !1;
14236			if (1 !== i$2[y$1].length && m$1 !== i$2[y$1].length - 1) {
14237				if ((h$1 + 2) * (b$1 + 2) + 2 > o$1) continue t;
14238				v$1 += i$2[y$1][m$1], w$1 = !0, g$1 = y$1, y$1--;
14239			} else {
14240				v$1 = " " == (v$1 += i$2[y$1][m$1] + " ").substr(v$1.length - 1) ? v$1.substr(0, v$1.length - 1) : v$1;
14241				var N$1 = parseInt(y$1), L$1 = u$1(N$1, v$1, a$1), x$2 = y$1 >= i$2.length - 1;
14242				if (L$1 && !x$2) {
14243					v$1 += " ", m$1 = 0;
14244					continue;
14245				}
14246				if (L$1 || x$2) {
14247					if (x$2) g$1 = N$1;
14248					else if (t.multiline && (h$1 + 2) * (b$1 + 2) + 2 > o$1) continue t;
14249				} else {
14250					if (!t.multiline) continue t;
14251					if ((h$1 + 2) * (b$1 + 2) + 2 > o$1) continue t;
14252					g$1 = N$1;
14253				}
14254			}
14255			for (var A$1 = "", S$1 = p$1; S$1 <= g$1; S$1++) {
14256				var _$1 = i$2[S$1];
14257				if (t.multiline) {
14258					if (S$1 === g$1) {
14259						A$1 += _$1[m$1] + " ", m$1 = (m$1 + 1) % _$1.length;
14260						continue;
14261					}
14262					if (S$1 === p$1) {
14263						A$1 += _$1[_$1.length - 1] + " ";
14264						continue;
14265					}
14266				}
14267				A$1 += _$1[0] + " ";
14268			}
14269			switch (A$1 = " " == A$1.substr(A$1.length - 1) ? A$1.substr(0, A$1.length - 1) : A$1, l$1 = nt(A$1, t, a$1).width, t.textAlign) {
14270				case "right":
14271					c$1 = s$1 - l$1 - 2;
14272					break;
14273				case "center":
14274					c$1 = (s$1 - l$1) / 2;
14275					break;
14276				default: c$1 = 2;
14277			}
14278			e += U(c$1) + " " + U(d$1) + " Td\n", e += "(" + T(A$1) + ") Tj\n", e += -U(c$1) + " 0 Td\n", d$1 = -(a$1 + 2), l$1 = 0, p$1 = w$1 ? g$1 : g$1 + 1, b$1++, v$1 = "";
14279		}
14280		break;
14281	}
14282	return r.text = e, r.fontSize = a$1, r;
14283}, nt = function(t, e, n) {
14284	var r = e.scope.internal.getFont(e.fontName, e.fontStyle), i$2 = e.scope.getStringUnitWidth(t, {
14285		font: r,
14286		fontSize: parseFloat(n),
14287		charSpace: 0
14288	}) * parseFloat(n);
14289	return {
14290		height: e.scope.getStringUnitWidth("3", {
14291			font: r,
14292			fontSize: parseFloat(n),
14293			charSpace: 0
14294		}) * parseFloat(n) * 1.5,
14295		width: i$2
14296	};
14297}, rt = {
14298	fields: [],
14299	xForms: [],
14300	acroFormDictionaryRoot: null,
14301	printedOut: !1,
14302	internal: null,
14303	isInitialized: !1
14304}, it = function(t, e) {
14305	var n = {
14306		type: "reference",
14307		object: t
14308	};
14309	void 0 === e.internal.getPageInfo(t.page).pageContext.annotations.find(function(t$1) {
14310		return t$1.type === n.type && t$1.object === n.object;
14311	}) && e.internal.getPageInfo(t.page).pageContext.annotations.push(n);
14312}, at = function(e, n) {
14313	if (n.scope = e, void 0 !== e.internal && (void 0 === e.internal.acroformPlugin || !1 === e.internal.acroformPlugin.isInitialized)) {
14314		if (ht.FieldNum = 0, e.internal.acroformPlugin = JSON.parse(JSON.stringify(rt)), e.internal.acroformPlugin.acroFormDictionaryRoot) throw new Error("Exception while creating AcroformDictionary");
14315		D = e.internal.scaleFactor, e.internal.acroformPlugin.acroFormDictionaryRoot = new lt(), e.internal.acroformPlugin.acroFormDictionaryRoot.scope = e, e.internal.acroformPlugin.acroFormDictionaryRoot._eventID = e.internal.events.subscribe("postPutResources", function() {
14316			(function(t) {
14317				t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID), delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID, t.internal.acroformPlugin.printedOut = !0;
14318			})(e);
14319		}), e.internal.events.subscribe("buildDocument", function() {
14320			(function(t) {
14321				t.internal.acroformPlugin.acroFormDictionaryRoot.objId = void 0;
14322				var e$1 = t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;
14323				for (var n$1 in e$1) if (e$1.hasOwnProperty(n$1)) {
14324					var r = e$1[n$1];
14325					r.objId = void 0, r.hasAnnotation && it(r, t);
14326				}
14327			})(e);
14328		}), e.internal.events.subscribe("putCatalog", function() {
14329			(function(t) {
14330				if (void 0 === t.internal.acroformPlugin.acroFormDictionaryRoot) throw new Error("putCatalogCallback: Root missing.");
14331				t.internal.write("/AcroForm " + t.internal.acroformPlugin.acroFormDictionaryRoot.objId + " 0 R");
14332			})(e);
14333		}), e.internal.events.subscribe("postPutPages", function(n$1) {
14334			(function(e$1, n$2) {
14335				var r = !e$1;
14336				for (var i$2 in e$1 || (n$2.internal.newObjectDeferredBegin(n$2.internal.acroformPlugin.acroFormDictionaryRoot.objId, !0), n$2.internal.acroformPlugin.acroFormDictionaryRoot.putStream()), e$1 = e$1 || n$2.internal.acroformPlugin.acroFormDictionaryRoot.Kids) if (e$1.hasOwnProperty(i$2)) {
14337					var a$1 = e$1[i$2], o$1 = [], s$1 = a$1.Rect;
14338					if (a$1.Rect && (a$1.Rect = Q(a$1.Rect, n$2)), n$2.internal.newObjectDeferredBegin(a$1.objId, !0), a$1.DA = xt.createDefaultAppearanceStream(a$1), "object" === _typeof(a$1) && "function" == typeof a$1.getKeyValueListForStream && (o$1 = a$1.getKeyValueListForStream()), a$1.Rect = s$1, a$1.hasAppearanceStream && !a$1.appearanceStreamContent) {
14339						var u$1 = tt(a$1);
14340						o$1.push({
14341							key: "AP",
14342							value: "<</N " + u$1 + ">>"
14343						}), n$2.internal.acroformPlugin.xForms.push(u$1);
14344					}
14345					if (a$1.appearanceStreamContent) {
14346						var c$1 = "";
14347						for (var l$1 in a$1.appearanceStreamContent) if (a$1.appearanceStreamContent.hasOwnProperty(l$1)) {
14348							var h$1 = a$1.appearanceStreamContent[l$1];
14349							if (c$1 += "/" + l$1 + " ", c$1 += "<<", Object.keys(h$1).length >= 1 || Array.isArray(h$1)) {
14350								for (var i$2 in h$1) if (h$1.hasOwnProperty(i$2)) {
14351									var f$1 = h$1[i$2];
14352									"function" == typeof f$1 && (f$1 = f$1.call(n$2, a$1)), c$1 += "/" + i$2 + " " + f$1 + " ", n$2.internal.acroformPlugin.xForms.indexOf(f$1) >= 0 || n$2.internal.acroformPlugin.xForms.push(f$1);
14353								}
14354							} else "function" == typeof (f$1 = h$1) && (f$1 = f$1.call(n$2, a$1)), c$1 += "/" + i$2 + " " + f$1, n$2.internal.acroformPlugin.xForms.indexOf(f$1) >= 0 || n$2.internal.acroformPlugin.xForms.push(f$1);
14355							c$1 += ">>";
14356						}
14357						o$1.push({
14358							key: "AP",
14359							value: "<<\n" + c$1 + ">>"
14360						});
14361					}
14362					n$2.internal.putStream({
14363						additionalKeyValues: o$1,
14364						objectId: a$1.objId
14365					}), n$2.internal.out("endobj");
14366				}
14367				r && function(e$2, n$3) {
14368					for (var r$1 in e$2) if (e$2.hasOwnProperty(r$1)) {
14369						var i$3 = r$1, a$2 = e$2[r$1];
14370						n$3.internal.newObjectDeferredBegin(a$2.objId, !0), "object" === _typeof(a$2) && "function" == typeof a$2.putStream && a$2.putStream(), delete e$2[i$3];
14371					}
14372				}(n$2.internal.acroformPlugin.xForms, n$2);
14373			})(n$1, e);
14374		}), e.internal.acroformPlugin.isInitialized = !0;
14375	}
14376}, ot = R.__acroform__.arrayToPdfArray = function(e, n, r) {
14377	var i$2 = function(t) {
14378		return t;
14379	};
14380	if (Array.isArray(e)) {
14381		for (var a$1 = "[", o$1 = 0; o$1 < e.length; o$1++) switch (0 !== o$1 && (a$1 += " "), _typeof(e[o$1])) {
14382			case "boolean":
14383			case "number":
14384			case "object":
14385				a$1 += e[o$1].toString();
14386				break;
14387			case "string": "/" !== e[o$1].substr(0, 1) ? (void 0 !== n && r && (i$2 = r.internal.getEncryptor(n)), a$1 += "(" + T(i$2(e[o$1].toString())) + ")") : a$1 += e[o$1].toString();
14388		}
14389		return a$1 + "]";
14390	}
14391	throw new Error("Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray");
14392}, st = function(t, e, n) {
14393	var r = function(t$1) {
14394		return t$1;
14395	};
14396	return void 0 !== e && n && (r = n.internal.getEncryptor(e)), (t = t || "").toString(), "(" + T(r(t)) + ")";
14397}, ut = function() {
14398	this._objId = void 0, this._scope = void 0, Object.defineProperty(this, "objId", {
14399		get: function() {
14400			if (void 0 === this._objId) {
14401				if (void 0 === this.scope) return;
14402				this._objId = this.scope.internal.newObjectDeferred();
14403			}
14404			return this._objId;
14405		},
14406		set: function(t) {
14407			this._objId = t;
14408		}
14409	}), Object.defineProperty(this, "scope", {
14410		value: this._scope,
14411		writable: !0
14412	});
14413};
14414ut.prototype.toString = function() {
14415	return this.objId + " 0 R";
14416}, ut.prototype.putStream = function() {
14417	var t = this.getKeyValueListForStream();
14418	this.scope.internal.putStream({
14419		data: this.stream,
14420		additionalKeyValues: t,
14421		objectId: this.objId
14422	}), this.scope.internal.out("endobj");
14423}, ut.prototype.getKeyValueListForStream = function() {
14424	var t = [], e = Object.getOwnPropertyNames(this).filter(function(t$1) {
14425		return "content" != t$1 && "appearanceStreamContent" != t$1 && "scope" != t$1 && "objId" != t$1 && "_" != t$1.substring(0, 1);
14426	});
14427	for (var n in e) if (!1 === Object.getOwnPropertyDescriptor(this, e[n]).configurable) {
14428		var r = e[n], i$2 = this[r];
14429		i$2 && (Array.isArray(i$2) ? t.push({
14430			key: r,
14431			value: ot(i$2, this.objId, this.scope)
14432		}) : i$2 instanceof ut ? (i$2.scope = this.scope, t.push({
14433			key: r,
14434			value: i$2.objId + " 0 R"
14435		})) : "function" != typeof i$2 && t.push({
14436			key: r,
14437			value: i$2
14438		}));
14439	}
14440	return t;
14441};
14442var ct = function() {
14443	ut.call(this), Object.defineProperty(this, "Type", {
14444		value: "/XObject",
14445		configurable: !1,
14446		writable: !0
14447	}), Object.defineProperty(this, "Subtype", {
14448		value: "/Form",
14449		configurable: !1,
14450		writable: !0
14451	}), Object.defineProperty(this, "FormType", {
14452		value: 1,
14453		configurable: !1,
14454		writable: !0
14455	});
14456	var t, e = [];
14457	Object.defineProperty(this, "BBox", {
14458		configurable: !1,
14459		get: function() {
14460			return e;
14461		},
14462		set: function(t$1) {
14463			e = t$1;
14464		}
14465	}), Object.defineProperty(this, "Resources", {
14466		value: "2 0 R",
14467		configurable: !1,
14468		writable: !0
14469	}), Object.defineProperty(this, "stream", {
14470		enumerable: !1,
14471		configurable: !0,
14472		set: function(e$1) {
14473			t = e$1.trim();
14474		},
14475		get: function() {
14476			return t || null;
14477		}
14478	});
14479};
14480W(ct, ut);
14481var lt = function() {
14482	ut.call(this);
14483	var t, e = [];
14484	Object.defineProperty(this, "Kids", {
14485		enumerable: !1,
14486		configurable: !0,
14487		get: function() {
14488			return e.length > 0 ? e : void 0;
14489		}
14490	}), Object.defineProperty(this, "Fields", {
14491		enumerable: !1,
14492		configurable: !1,
14493		get: function() {
14494			return e;
14495		}
14496	}), Object.defineProperty(this, "DA", {
14497		enumerable: !1,
14498		configurable: !1,
14499		get: function() {
14500			if (t) {
14501				var e$1 = function(t$1) {
14502					return t$1;
14503				};
14504				return this.scope && (e$1 = this.scope.internal.getEncryptor(this.objId)), "(" + T(e$1(t)) + ")";
14505			}
14506		},
14507		set: function(e$1) {
14508			t = e$1;
14509		}
14510	});
14511};
14512W(lt, ut);
14513var ht = function t() {
14514	ut.call(this);
14515	var e = 4;
14516	Object.defineProperty(this, "F", {
14517		enumerable: !1,
14518		configurable: !1,
14519		get: function() {
14520			return e;
14521		},
14522		set: function(t$1) {
14523			if (isNaN(t$1)) throw new Error("Invalid value \"" + t$1 + "\" for attribute F supplied.");
14524			e = t$1;
14525		}
14526	}), Object.defineProperty(this, "showWhenPrinted", {
14527		enumerable: !0,
14528		configurable: !0,
14529		get: function() {
14530			return Boolean(K(e, 3));
14531		},
14532		set: function(t$1) {
14533			!0 === Boolean(t$1) ? this.F = Z(e, 3) : this.F = $(e, 3);
14534		}
14535	});
14536	var n = 0;
14537	Object.defineProperty(this, "Ff", {
14538		enumerable: !1,
14539		configurable: !1,
14540		get: function() {
14541			return n;
14542		},
14543		set: function(t$1) {
14544			if (isNaN(t$1)) throw new Error("Invalid value \"" + t$1 + "\" for attribute Ff supplied.");
14545			n = t$1;
14546		}
14547	});
14548	var r = [];
14549	Object.defineProperty(this, "Rect", {
14550		enumerable: !1,
14551		configurable: !1,
14552		get: function() {
14553			if (0 !== r.length) return r;
14554		},
14555		set: function(t$1) {
14556			r = void 0 !== t$1 ? t$1 : [];
14557		}
14558	}), Object.defineProperty(this, "x", {
14559		enumerable: !0,
14560		configurable: !0,
14561		get: function() {
14562			return !r || isNaN(r[0]) ? 0 : r[0];
14563		},
14564		set: function(t$1) {
14565			r[0] = t$1;
14566		}
14567	}), Object.defineProperty(this, "y", {
14568		enumerable: !0,
14569		configurable: !0,
14570		get: function() {
14571			return !r || isNaN(r[1]) ? 0 : r[1];
14572		},
14573		set: function(t$1) {
14574			r[1] = t$1;
14575		}
14576	}), Object.defineProperty(this, "width", {
14577		enumerable: !0,
14578		configurable: !0,
14579		get: function() {
14580			return !r || isNaN(r[2]) ? 0 : r[2];
14581		},
14582		set: function(t$1) {
14583			r[2] = t$1;
14584		}
14585	}), Object.defineProperty(this, "height", {
14586		enumerable: !0,
14587		configurable: !0,
14588		get: function() {
14589			return !r || isNaN(r[3]) ? 0 : r[3];
14590		},
14591		set: function(t$1) {
14592			r[3] = t$1;
14593		}
14594	});
14595	var i$2 = "";
14596	Object.defineProperty(this, "FT", {
14597		enumerable: !0,
14598		configurable: !1,
14599		get: function() {
14600			return i$2;
14601		},
14602		set: function(t$1) {
14603			switch (t$1) {
14604				case "/Btn":
14605				case "/Tx":
14606				case "/Ch":
14607				case "/Sig":
14608					i$2 = t$1;
14609					break;
14610				default: throw new Error("Invalid value \"" + t$1 + "\" for attribute FT supplied.");
14611			}
14612		}
14613	});
14614	var a$1 = null;
14615	Object.defineProperty(this, "T", {
14616		enumerable: !0,
14617		configurable: !1,
14618		get: function() {
14619			if (!a$1 || a$1.length < 1) {
14620				if (this instanceof yt) return;
14621				a$1 = "FieldObject" + t.FieldNum++;
14622			}
14623			var e$1 = function(t$1) {
14624				return t$1;
14625			};
14626			return this.scope && (e$1 = this.scope.internal.getEncryptor(this.objId)), "(" + T(e$1(a$1)) + ")";
14627		},
14628		set: function(t$1) {
14629			a$1 = t$1.toString();
14630		}
14631	}), Object.defineProperty(this, "fieldName", {
14632		configurable: !0,
14633		enumerable: !0,
14634		get: function() {
14635			return a$1;
14636		},
14637		set: function(t$1) {
14638			a$1 = t$1;
14639		}
14640	});
14641	var o$1 = "helvetica";
14642	Object.defineProperty(this, "fontName", {
14643		enumerable: !0,
14644		configurable: !0,
14645		get: function() {
14646			return o$1;
14647		},
14648		set: function(t$1) {
14649			o$1 = t$1;
14650		}
14651	});
14652	var s$1 = "normal";
14653	Object.defineProperty(this, "fontStyle", {
14654		enumerable: !0,
14655		configurable: !0,
14656		get: function() {
14657			return s$1;
14658		},
14659		set: function(t$1) {
14660			s$1 = t$1;
14661		}
14662	});
14663	var u$1 = 0;
14664	Object.defineProperty(this, "fontSize", {
14665		enumerable: !0,
14666		configurable: !0,
14667		get: function() {
14668			return u$1;
14669		},
14670		set: function(t$1) {
14671			u$1 = t$1;
14672		}
14673	});
14674	var c$1 = void 0;
14675	Object.defineProperty(this, "maxFontSize", {
14676		enumerable: !0,
14677		configurable: !0,
14678		get: function() {
14679			return void 0 === c$1 ? 50 / D : c$1;
14680		},
14681		set: function(t$1) {
14682			c$1 = t$1;
14683		}
14684	});
14685	var l$1 = "black";
14686	Object.defineProperty(this, "color", {
14687		enumerable: !0,
14688		configurable: !0,
14689		get: function() {
14690			return l$1;
14691		},
14692		set: function(t$1) {
14693			l$1 = t$1;
14694		}
14695	});
14696	var h$1 = "/F1 0 Tf 0 g";
14697	Object.defineProperty(this, "DA", {
14698		enumerable: !0,
14699		configurable: !1,
14700		get: function() {
14701			if (!(!h$1 || this instanceof yt || this instanceof Nt)) return st(h$1, this.objId, this.scope);
14702		},
14703		set: function(t$1) {
14704			t$1 = t$1.toString(), h$1 = t$1;
14705		}
14706	});
14707	var f$1 = null;
14708	Object.defineProperty(this, "DV", {
14709		enumerable: !1,
14710		configurable: !1,
14711		get: function() {
14712			if (f$1) return this instanceof mt == 0 ? st(f$1, this.objId, this.scope) : f$1;
14713		},
14714		set: function(t$1) {
14715			t$1 = t$1.toString(), f$1 = this instanceof mt == 0 ? "(" === t$1.substr(0, 1) ? z(t$1.substr(1, t$1.length - 2)) : z(t$1) : t$1;
14716		}
14717	}), Object.defineProperty(this, "defaultValue", {
14718		enumerable: !0,
14719		configurable: !0,
14720		get: function() {
14721			return this instanceof mt == 1 ? z(f$1.substr(1, f$1.length - 1)) : f$1;
14722		},
14723		set: function(t$1) {
14724			t$1 = t$1.toString(), f$1 = this instanceof mt == 1 ? "/" + t$1 : t$1;
14725		}
14726	});
14727	var d$1 = null;
14728	Object.defineProperty(this, "_V", {
14729		enumerable: !1,
14730		configurable: !1,
14731		get: function() {
14732			if (d$1) return d$1;
14733		},
14734		set: function(t$1) {
14735			this.V = t$1;
14736		}
14737	}), Object.defineProperty(this, "V", {
14738		enumerable: !1,
14739		configurable: !1,
14740		get: function() {
14741			if (d$1) return this instanceof mt == 0 ? st(d$1, this.objId, this.scope) : d$1;
14742		},
14743		set: function(t$1) {
14744			t$1 = t$1.toString(), d$1 = this instanceof mt == 0 ? "(" === t$1.substr(0, 1) ? z(t$1.substr(1, t$1.length - 2)) : z(t$1) : t$1;
14745		}
14746	}), Object.defineProperty(this, "value", {
14747		enumerable: !0,
14748		configurable: !0,
14749		get: function() {
14750			return this instanceof mt == 1 ? z(d$1.substr(1, d$1.length - 1)) : d$1;
14751		},
14752		set: function(t$1) {
14753			t$1 = t$1.toString(), d$1 = this instanceof mt == 1 ? "/" + t$1 : t$1;
14754		}
14755	}), Object.defineProperty(this, "hasAnnotation", {
14756		enumerable: !0,
14757		configurable: !0,
14758		get: function() {
14759			return this.Rect;
14760		}
14761	}), Object.defineProperty(this, "Type", {
14762		enumerable: !0,
14763		configurable: !1,
14764		get: function() {
14765			return this.hasAnnotation ? "/Annot" : null;
14766		}
14767	}), Object.defineProperty(this, "Subtype", {
14768		enumerable: !0,
14769		configurable: !1,
14770		get: function() {
14771			return this.hasAnnotation ? "/Widget" : null;
14772		}
14773	});
14774	var p$1, g$1 = !1;
14775	Object.defineProperty(this, "hasAppearanceStream", {
14776		enumerable: !0,
14777		configurable: !0,
14778		get: function() {
14779			return g$1;
14780		},
14781		set: function(t$1) {
14782			t$1 = Boolean(t$1), g$1 = t$1;
14783		}
14784	}), Object.defineProperty(this, "page", {
14785		enumerable: !0,
14786		configurable: !0,
14787		get: function() {
14788			if (p$1) return p$1;
14789		},
14790		set: function(t$1) {
14791			p$1 = t$1;
14792		}
14793	}), Object.defineProperty(this, "readOnly", {
14794		enumerable: !0,
14795		configurable: !0,
14796		get: function() {
14797			return Boolean(K(this.Ff, 1));
14798		},
14799		set: function(t$1) {
14800			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 1) : this.Ff = $(this.Ff, 1);
14801		}
14802	}), Object.defineProperty(this, "required", {
14803		enumerable: !0,
14804		configurable: !0,
14805		get: function() {
14806			return Boolean(K(this.Ff, 2));
14807		},
14808		set: function(t$1) {
14809			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 2) : this.Ff = $(this.Ff, 2);
14810		}
14811	}), Object.defineProperty(this, "noExport", {
14812		enumerable: !0,
14813		configurable: !0,
14814		get: function() {
14815			return Boolean(K(this.Ff, 3));
14816		},
14817		set: function(t$1) {
14818			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 3) : this.Ff = $(this.Ff, 3);
14819		}
14820	});
14821	var m$1 = null;
14822	Object.defineProperty(this, "Q", {
14823		enumerable: !0,
14824		configurable: !1,
14825		get: function() {
14826			if (null !== m$1) return m$1;
14827		},
14828		set: function(t$1) {
14829			if (-1 === [
14830				0,
14831				1,
14832				2
14833			].indexOf(t$1)) throw new Error("Invalid value \"" + t$1 + "\" for attribute Q supplied.");
14834			m$1 = t$1;
14835		}
14836	}), Object.defineProperty(this, "textAlign", {
14837		get: function() {
14838			var t$1;
14839			switch (m$1) {
14840				case 0:
14841				default:
14842					t$1 = "left";
14843					break;
14844				case 1:
14845					t$1 = "center";
14846					break;
14847				case 2: t$1 = "right";
14848			}
14849			return t$1;
14850		},
14851		configurable: !0,
14852		enumerable: !0,
14853		set: function(t$1) {
14854			switch (t$1) {
14855				case "right":
14856				case 2:
14857					m$1 = 2;
14858					break;
14859				case "center":
14860				case 1:
14861					m$1 = 1;
14862					break;
14863				default: m$1 = 0;
14864			}
14865		}
14866	});
14867};
14868W(ht, ut);
14869var ft = function() {
14870	ht.call(this), this.FT = "/Ch", this.V = "()", this.fontName = "zapfdingbats";
14871	var t = 0;
14872	Object.defineProperty(this, "TI", {
14873		enumerable: !0,
14874		configurable: !1,
14875		get: function() {
14876			return t;
14877		},
14878		set: function(e$1) {
14879			t = e$1;
14880		}
14881	}), Object.defineProperty(this, "topIndex", {
14882		enumerable: !0,
14883		configurable: !0,
14884		get: function() {
14885			return t;
14886		},
14887		set: function(e$1) {
14888			t = e$1;
14889		}
14890	});
14891	var e = [];
14892	Object.defineProperty(this, "Opt", {
14893		enumerable: !0,
14894		configurable: !1,
14895		get: function() {
14896			return ot(e, this.objId, this.scope);
14897		},
14898		set: function(t$1) {
14899			var n, r = [];
14900			"string" == typeof (n = t$1) && (r = function(t$2, e$1, n$1) {
14901				n$1 || (n$1 = 1);
14902				for (var r$1, i$2 = []; r$1 = e$1.exec(t$2);) i$2.push(r$1[n$1]);
14903				return i$2;
14904			}(n, /\((.*?)\)/g)), e = r;
14905		}
14906	}), this.getOptions = function() {
14907		return e;
14908	}, this.setOptions = function(t$1) {
14909		e = t$1, this.sort && e.sort();
14910	}, this.addOption = function(t$1) {
14911		t$1 = (t$1 = t$1 || "").toString(), e.push(t$1), this.sort && e.sort();
14912	}, this.removeOption = function(t$1, n) {
14913		for (n = n || !1, t$1 = (t$1 = t$1 || "").toString(); -1 !== e.indexOf(t$1) && (e.splice(e.indexOf(t$1), 1), !1 !== n););
14914	}, Object.defineProperty(this, "combo", {
14915		enumerable: !0,
14916		configurable: !0,
14917		get: function() {
14918			return Boolean(K(this.Ff, 18));
14919		},
14920		set: function(t$1) {
14921			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 18) : this.Ff = $(this.Ff, 18);
14922		}
14923	}), Object.defineProperty(this, "edit", {
14924		enumerable: !0,
14925		configurable: !0,
14926		get: function() {
14927			return Boolean(K(this.Ff, 19));
14928		},
14929		set: function(t$1) {
14930			!0 === this.combo && (!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 19) : this.Ff = $(this.Ff, 19));
14931		}
14932	}), Object.defineProperty(this, "sort", {
14933		enumerable: !0,
14934		configurable: !0,
14935		get: function() {
14936			return Boolean(K(this.Ff, 20));
14937		},
14938		set: function(t$1) {
14939			!0 === Boolean(t$1) ? (this.Ff = Z(this.Ff, 20), e.sort()) : this.Ff = $(this.Ff, 20);
14940		}
14941	}), Object.defineProperty(this, "multiSelect", {
14942		enumerable: !0,
14943		configurable: !0,
14944		get: function() {
14945			return Boolean(K(this.Ff, 22));
14946		},
14947		set: function(t$1) {
14948			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 22) : this.Ff = $(this.Ff, 22);
14949		}
14950	}), Object.defineProperty(this, "doNotSpellCheck", {
14951		enumerable: !0,
14952		configurable: !0,
14953		get: function() {
14954			return Boolean(K(this.Ff, 23));
14955		},
14956		set: function(t$1) {
14957			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 23) : this.Ff = $(this.Ff, 23);
14958		}
14959	}), Object.defineProperty(this, "commitOnSelChange", {
14960		enumerable: !0,
14961		configurable: !0,
14962		get: function() {
14963			return Boolean(K(this.Ff, 27));
14964		},
14965		set: function(t$1) {
14966			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 27) : this.Ff = $(this.Ff, 27);
14967		}
14968	}), this.hasAppearanceStream = !1;
14969};
14970W(ft, ht);
14971var dt = function() {
14972	ft.call(this), this.fontName = "helvetica", this.combo = !1;
14973};
14974W(dt, ft);
14975var pt = function() {
14976	dt.call(this), this.combo = !0;
14977};
14978W(pt, dt);
14979var gt = function() {
14980	pt.call(this), this.edit = !0;
14981};
14982W(gt, pt);
14983var mt = function() {
14984	ht.call(this), this.FT = "/Btn", Object.defineProperty(this, "noToggleToOff", {
14985		enumerable: !0,
14986		configurable: !0,
14987		get: function() {
14988			return Boolean(K(this.Ff, 15));
14989		},
14990		set: function(t) {
14991			!0 === Boolean(t) ? this.Ff = Z(this.Ff, 15) : this.Ff = $(this.Ff, 15);
14992		}
14993	}), Object.defineProperty(this, "radio", {
14994		enumerable: !0,
14995		configurable: !0,
14996		get: function() {
14997			return Boolean(K(this.Ff, 16));
14998		},
14999		set: function(t) {
15000			!0 === Boolean(t) ? this.Ff = Z(this.Ff, 16) : this.Ff = $(this.Ff, 16);
15001		}
15002	}), Object.defineProperty(this, "pushButton", {
15003		enumerable: !0,
15004		configurable: !0,
15005		get: function() {
15006			return Boolean(K(this.Ff, 17));
15007		},
15008		set: function(t) {
15009			!0 === Boolean(t) ? this.Ff = Z(this.Ff, 17) : this.Ff = $(this.Ff, 17);
15010		}
15011	}), Object.defineProperty(this, "radioIsUnison", {
15012		enumerable: !0,
15013		configurable: !0,
15014		get: function() {
15015			return Boolean(K(this.Ff, 26));
15016		},
15017		set: function(t) {
15018			!0 === Boolean(t) ? this.Ff = Z(this.Ff, 26) : this.Ff = $(this.Ff, 26);
15019		}
15020	});
15021	var e, n = {};
15022	Object.defineProperty(this, "MK", {
15023		enumerable: !1,
15024		configurable: !1,
15025		get: function() {
15026			var t = function(t$1) {
15027				return t$1;
15028			};
15029			if (this.scope && (t = this.scope.internal.getEncryptor(this.objId)), 0 !== Object.keys(n).length) {
15030				var e$1, r = [];
15031				for (e$1 in r.push("<<"), n) r.push("/" + e$1 + " (" + T(t(n[e$1])) + ")");
15032				return r.push(">>"), r.join("\n");
15033			}
15034		},
15035		set: function(e$1) {
15036			"object" === _typeof(e$1) && (n = e$1);
15037		}
15038	}), Object.defineProperty(this, "caption", {
15039		enumerable: !0,
15040		configurable: !0,
15041		get: function() {
15042			return n.CA || "";
15043		},
15044		set: function(t) {
15045			"string" == typeof t && (n.CA = t);
15046		}
15047	}), Object.defineProperty(this, "AS", {
15048		enumerable: !1,
15049		configurable: !1,
15050		get: function() {
15051			return e;
15052		},
15053		set: function(t) {
15054			e = t;
15055		}
15056	}), Object.defineProperty(this, "appearanceState", {
15057		enumerable: !0,
15058		configurable: !0,
15059		get: function() {
15060			return e.substr(1, e.length - 1);
15061		},
15062		set: function(t) {
15063			e = "/" + t;
15064		}
15065	});
15066};
15067W(mt, ht);
15068var vt = function() {
15069	mt.call(this), this.pushButton = !0;
15070};
15071W(vt, mt);
15072var bt = function() {
15073	mt.call(this), this.radio = !0, this.pushButton = !1;
15074	var t = [];
15075	Object.defineProperty(this, "Kids", {
15076		enumerable: !0,
15077		configurable: !1,
15078		get: function() {
15079			return t;
15080		},
15081		set: function(e) {
15082			t = void 0 !== e ? e : [];
15083		}
15084	});
15085};
15086W(bt, mt);
15087var yt = function() {
15088	var e, n;
15089	ht.call(this), Object.defineProperty(this, "Parent", {
15090		enumerable: !1,
15091		configurable: !1,
15092		get: function() {
15093			return e;
15094		},
15095		set: function(t) {
15096			e = t;
15097		}
15098	}), Object.defineProperty(this, "optionName", {
15099		enumerable: !1,
15100		configurable: !0,
15101		get: function() {
15102			return n;
15103		},
15104		set: function(t) {
15105			n = t;
15106		}
15107	});
15108	var r, i$2 = {};
15109	Object.defineProperty(this, "MK", {
15110		enumerable: !1,
15111		configurable: !1,
15112		get: function() {
15113			var t = function(t$1) {
15114				return t$1;
15115			};
15116			this.scope && (t = this.scope.internal.getEncryptor(this.objId));
15117			var e$1, n$1 = [];
15118			for (e$1 in n$1.push("<<"), i$2) n$1.push("/" + e$1 + " (" + T(t(i$2[e$1])) + ")");
15119			return n$1.push(">>"), n$1.join("\n");
15120		},
15121		set: function(e$1) {
15122			"object" === _typeof(e$1) && (i$2 = e$1);
15123		}
15124	}), Object.defineProperty(this, "caption", {
15125		enumerable: !0,
15126		configurable: !0,
15127		get: function() {
15128			return i$2.CA || "";
15129		},
15130		set: function(t) {
15131			"string" == typeof t && (i$2.CA = t);
15132		}
15133	}), Object.defineProperty(this, "AS", {
15134		enumerable: !1,
15135		configurable: !1,
15136		get: function() {
15137			return r;
15138		},
15139		set: function(t) {
15140			r = t;
15141		}
15142	}), Object.defineProperty(this, "appearanceState", {
15143		enumerable: !0,
15144		configurable: !0,
15145		get: function() {
15146			return r.substr(1, r.length - 1);
15147		},
15148		set: function(t) {
15149			r = "/" + t;
15150		}
15151	}), this.caption = "l", this.appearanceState = "Off", this._AppearanceType = xt.RadioButton.Circle, this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(this.optionName);
15152};
15153W(yt, ht), bt.prototype.setAppearance = function(t) {
15154	if (!("createAppearanceStream" in t) || !("getCA" in t)) throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");
15155	for (var e in this.Kids) if (this.Kids.hasOwnProperty(e)) {
15156		var n = this.Kids[e];
15157		n.appearanceStreamContent = t.createAppearanceStream(n.optionName), n.caption = t.getCA();
15158	}
15159}, bt.prototype.createOption = function(t) {
15160	var e = new yt();
15161	return e.Parent = this, e.optionName = t, this.Kids.push(e), At.call(this.scope, e), e;
15162};
15163var wt = function() {
15164	mt.call(this), this.fontName = "zapfdingbats", this.caption = "3", this.appearanceState = "On", this.value = "On", this.textAlign = "center", this.appearanceStreamContent = xt.CheckBox.createAppearanceStream();
15165};
15166W(wt, mt);
15167var Nt = function() {
15168	ht.call(this), this.FT = "/Tx", Object.defineProperty(this, "multiline", {
15169		enumerable: !0,
15170		configurable: !0,
15171		get: function() {
15172			return Boolean(K(this.Ff, 13));
15173		},
15174		set: function(t$1) {
15175			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 13) : this.Ff = $(this.Ff, 13);
15176		}
15177	}), Object.defineProperty(this, "fileSelect", {
15178		enumerable: !0,
15179		configurable: !0,
15180		get: function() {
15181			return Boolean(K(this.Ff, 21));
15182		},
15183		set: function(t$1) {
15184			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 21) : this.Ff = $(this.Ff, 21);
15185		}
15186	}), Object.defineProperty(this, "doNotSpellCheck", {
15187		enumerable: !0,
15188		configurable: !0,
15189		get: function() {
15190			return Boolean(K(this.Ff, 23));
15191		},
15192		set: function(t$1) {
15193			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 23) : this.Ff = $(this.Ff, 23);
15194		}
15195	}), Object.defineProperty(this, "doNotScroll", {
15196		enumerable: !0,
15197		configurable: !0,
15198		get: function() {
15199			return Boolean(K(this.Ff, 24));
15200		},
15201		set: function(t$1) {
15202			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 24) : this.Ff = $(this.Ff, 24);
15203		}
15204	}), Object.defineProperty(this, "comb", {
15205		enumerable: !0,
15206		configurable: !0,
15207		get: function() {
15208			return Boolean(K(this.Ff, 25));
15209		},
15210		set: function(t$1) {
15211			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 25) : this.Ff = $(this.Ff, 25);
15212		}
15213	}), Object.defineProperty(this, "richText", {
15214		enumerable: !0,
15215		configurable: !0,
15216		get: function() {
15217			return Boolean(K(this.Ff, 26));
15218		},
15219		set: function(t$1) {
15220			!0 === Boolean(t$1) ? this.Ff = Z(this.Ff, 26) : this.Ff = $(this.Ff, 26);
15221		}
15222	});
15223	var t = null;
15224	Object.defineProperty(this, "MaxLen", {
15225		enumerable: !0,
15226		configurable: !1,
15227		get: function() {
15228			return t;
15229		},
15230		set: function(e) {
15231			t = e;
15232		}
15233	}), Object.defineProperty(this, "maxLength", {
15234		enumerable: !0,
15235		configurable: !0,
15236		get: function() {
15237			return t;
15238		},
15239		set: function(e) {
15240			Number.isInteger(e) && (t = e);
15241		}
15242	}), Object.defineProperty(this, "hasAppearanceStream", {
15243		enumerable: !0,
15244		configurable: !0,
15245		get: function() {
15246			return this.V || this.DV;
15247		}
15248	});
15249};
15250W(Nt, ht);
15251var Lt = function() {
15252	Nt.call(this), Object.defineProperty(this, "password", {
15253		enumerable: !0,
15254		configurable: !0,
15255		get: function() {
15256			return Boolean(K(this.Ff, 14));
15257		},
15258		set: function(t) {
15259			!0 === Boolean(t) ? this.Ff = Z(this.Ff, 14) : this.Ff = $(this.Ff, 14);
15260		}
15261	}), this.password = !0;
15262};
15263W(Lt, Nt);
15264var xt = {
15265	CheckBox: {
15266		createAppearanceStream: function() {
15267			return {
15268				N: { On: xt.CheckBox.YesNormal },
15269				D: {
vendor: 51,108 bytes, lines 15270-16814
15270					On: xt.CheckBox.YesPushDown,
15271					Off: xt.CheckBox.OffPushDown
15272				}
15273			};
15274		},
15275		YesPushDown: function(t) {
15276			var e = G(t);
15277			e.scope = t.scope;
15278			var n = [], r = t.scope.internal.getFont(t.fontName, t.fontStyle).id, i$2 = t.scope.__private__.encodeColorString(t.color), a$1 = et(t, t.caption);
15279			return n.push("0.749023 g"), n.push("0 0 " + U(xt.internal.getWidth(t)) + " " + U(xt.internal.getHeight(t)) + " re"), n.push("f"), n.push("BMC"), n.push("q"), n.push("0 0 1 rg"), n.push("/" + r + " " + U(a$1.fontSize) + " Tf " + i$2), n.push("BT"), n.push(a$1.text), n.push("ET"), n.push("Q"), n.push("EMC"), e.stream = n.join("\n"), e;
15280		},
15281		YesNormal: function(t) {
15282			var e = G(t);
15283			e.scope = t.scope;
15284			var n = t.scope.internal.getFont(t.fontName, t.fontStyle).id, r = t.scope.__private__.encodeColorString(t.color), i$2 = [], a$1 = xt.internal.getHeight(t), o$1 = xt.internal.getWidth(t), s$1 = et(t, t.caption);
15285			return i$2.push("1 g"), i$2.push("0 0 " + U(o$1) + " " + U(a$1) + " re"), i$2.push("f"), i$2.push("q"), i$2.push("0 0 1 rg"), i$2.push("0 0 " + U(o$1 - 1) + " " + U(a$1 - 1) + " re"), i$2.push("W"), i$2.push("n"), i$2.push("0 g"), i$2.push("BT"), i$2.push("/" + n + " " + U(s$1.fontSize) + " Tf " + r), i$2.push(s$1.text), i$2.push("ET"), i$2.push("Q"), e.stream = i$2.join("\n"), e;
15286		},
15287		OffPushDown: function(t) {
15288			var e = G(t);
15289			e.scope = t.scope;
15290			var n = [];
15291			return n.push("0.749023 g"), n.push("0 0 " + U(xt.internal.getWidth(t)) + " " + U(xt.internal.getHeight(t)) + " re"), n.push("f"), e.stream = n.join("\n"), e;
15292		}
15293	},
15294	RadioButton: {
15295		Circle: {
15296			createAppearanceStream: function(t) {
15297				var e = {
15298					D: { Off: xt.RadioButton.Circle.OffPushDown },
15299					N: {}
15300				};
15301				return e.N[t] = xt.RadioButton.Circle.YesNormal, e.D[t] = xt.RadioButton.Circle.YesPushDown, e;
15302			},
15303			getCA: function() {
15304				return "l";
15305			},
15306			YesNormal: function(t) {
15307				var e = G(t);
15308				e.scope = t.scope;
15309				var n = [], r = xt.internal.getWidth(t) <= xt.internal.getHeight(t) ? xt.internal.getWidth(t) / 4 : xt.internal.getHeight(t) / 4;
15310				r = Number((.9 * r).toFixed(5));
15311				var i$2 = xt.internal.Bezier_C, a$1 = Number((r * i$2).toFixed(5));
15312				return n.push("q"), n.push("1 0 0 1 " + H(xt.internal.getWidth(t) / 2) + " " + H(xt.internal.getHeight(t) / 2) + " cm"), n.push(r + " 0 m"), n.push(r + " " + a$1 + " " + a$1 + " " + r + " 0 " + r + " c"), n.push("-" + a$1 + " " + r + " -" + r + " " + a$1 + " -" + r + " 0 c"), n.push("-" + r + " -" + a$1 + " -" + a$1 + " -" + r + " 0 -" + r + " c"), n.push(a$1 + " -" + r + " " + r + " -" + a$1 + " " + r + " 0 c"), n.push("f"), n.push("Q"), e.stream = n.join("\n"), e;
15313			},
15314			YesPushDown: function(t) {
15315				var e = G(t);
15316				e.scope = t.scope;
15317				var n = [], r = xt.internal.getWidth(t) <= xt.internal.getHeight(t) ? xt.internal.getWidth(t) / 4 : xt.internal.getHeight(t) / 4;
15318				r = Number((.9 * r).toFixed(5));
15319				var i$2 = Number((2 * r).toFixed(5)), a$1 = Number((i$2 * xt.internal.Bezier_C).toFixed(5)), o$1 = Number((r * xt.internal.Bezier_C).toFixed(5));
15320				return n.push("0.749023 g"), n.push("q"), n.push("1 0 0 1 " + H(xt.internal.getWidth(t) / 2) + " " + H(xt.internal.getHeight(t) / 2) + " cm"), n.push(i$2 + " 0 m"), n.push(i$2 + " " + a$1 + " " + a$1 + " " + i$2 + " 0 " + i$2 + " c"), n.push("-" + a$1 + " " + i$2 + " -" + i$2 + " " + a$1 + " -" + i$2 + " 0 c"), n.push("-" + i$2 + " -" + a$1 + " -" + a$1 + " -" + i$2 + " 0 -" + i$2 + " c"), n.push(a$1 + " -" + i$2 + " " + i$2 + " -" + a$1 + " " + i$2 + " 0 c"), n.push("f"), n.push("Q"), n.push("0 g"), n.push("q"), n.push("1 0 0 1 " + H(xt.internal.getWidth(t) / 2) + " " + H(xt.internal.getHeight(t) / 2) + " cm"), n.push(r + " 0 m"), n.push(r + " " + o$1 + " " + o$1 + " " + r + " 0 " + r + " c"), n.push("-" + o$1 + " " + r + " -" + r + " " + o$1 + " -" + r + " 0 c"), n.push("-" + r + " -" + o$1 + " -" + o$1 + " -" + r + " 0 -" + r + " c"), n.push(o$1 + " -" + r + " " + r + " -" + o$1 + " " + r + " 0 c"), n.push("f"), n.push("Q"), e.stream = n.join("\n"), e;
15321			},
15322			OffPushDown: function(t) {
15323				var e = G(t);
15324				e.scope = t.scope;
15325				var n = [], r = xt.internal.getWidth(t) <= xt.internal.getHeight(t) ? xt.internal.getWidth(t) / 4 : xt.internal.getHeight(t) / 4;
15326				r = Number((.9 * r).toFixed(5));
15327				var i$2 = Number((2 * r).toFixed(5)), a$1 = Number((i$2 * xt.internal.Bezier_C).toFixed(5));
15328				return n.push("0.749023 g"), n.push("q"), n.push("1 0 0 1 " + H(xt.internal.getWidth(t) / 2) + " " + H(xt.internal.getHeight(t) / 2) + " cm"), n.push(i$2 + " 0 m"), n.push(i$2 + " " + a$1 + " " + a$1 + " " + i$2 + " 0 " + i$2 + " c"), n.push("-" + a$1 + " " + i$2 + " -" + i$2 + " " + a$1 + " -" + i$2 + " 0 c"), n.push("-" + i$2 + " -" + a$1 + " -" + a$1 + " -" + i$2 + " 0 -" + i$2 + " c"), n.push(a$1 + " -" + i$2 + " " + i$2 + " -" + a$1 + " " + i$2 + " 0 c"), n.push("f"), n.push("Q"), e.stream = n.join("\n"), e;
15329			}
15330		},
15331		Cross: {
15332			createAppearanceStream: function(t) {
15333				var e = {
15334					D: { Off: xt.RadioButton.Cross.OffPushDown },
15335					N: {}
15336				};
15337				return e.N[t] = xt.RadioButton.Cross.YesNormal, e.D[t] = xt.RadioButton.Cross.YesPushDown, e;
15338			},
15339			getCA: function() {
15340				return "8";
15341			},
15342			YesNormal: function(t) {
15343				var e = G(t);
15344				e.scope = t.scope;
15345				var n = [], r = xt.internal.calculateCross(t);
15346				return n.push("q"), n.push("1 1 " + U(xt.internal.getWidth(t) - 2) + " " + U(xt.internal.getHeight(t) - 2) + " re"), n.push("W"), n.push("n"), n.push(U(r.x1.x) + " " + U(r.x1.y) + " m"), n.push(U(r.x2.x) + " " + U(r.x2.y) + " l"), n.push(U(r.x4.x) + " " + U(r.x4.y) + " m"), n.push(U(r.x3.x) + " " + U(r.x3.y) + " l"), n.push("s"), n.push("Q"), e.stream = n.join("\n"), e;
15347			},
15348			YesPushDown: function(t) {
15349				var e = G(t);
15350				e.scope = t.scope;
15351				var n = xt.internal.calculateCross(t), r = [];
15352				return r.push("0.749023 g"), r.push("0 0 " + U(xt.internal.getWidth(t)) + " " + U(xt.internal.getHeight(t)) + " re"), r.push("f"), r.push("q"), r.push("1 1 " + U(xt.internal.getWidth(t) - 2) + " " + U(xt.internal.getHeight(t) - 2) + " re"), r.push("W"), r.push("n"), r.push(U(n.x1.x) + " " + U(n.x1.y) + " m"), r.push(U(n.x2.x) + " " + U(n.x2.y) + " l"), r.push(U(n.x4.x) + " " + U(n.x4.y) + " m"), r.push(U(n.x3.x) + " " + U(n.x3.y) + " l"), r.push("s"), r.push("Q"), e.stream = r.join("\n"), e;
15353			},
15354			OffPushDown: function(t) {
15355				var e = G(t);
15356				e.scope = t.scope;
15357				var n = [];
15358				return n.push("0.749023 g"), n.push("0 0 " + U(xt.internal.getWidth(t)) + " " + U(xt.internal.getHeight(t)) + " re"), n.push("f"), e.stream = n.join("\n"), e;
15359			}
15360		}
15361	},
15362	createDefaultAppearanceStream: function(t) {
15363		var e = t.scope.internal.getFont(t.fontName, t.fontStyle).id, n = t.scope.__private__.encodeColorString(t.color);
15364		return "/" + e + " " + t.fontSize + " Tf " + n;
15365	}
15366};
15367xt.internal = {
15368	Bezier_C: .551915024494,
15369	calculateCross: function(t) {
15370		var e = xt.internal.getWidth(t), n = xt.internal.getHeight(t), r = Math.min(e, n);
15371		return {
15372			x1: {
15373				x: (e - r) / 2,
15374				y: (n - r) / 2 + r
15375			},
15376			x2: {
15377				x: (e - r) / 2 + r,
15378				y: (n - r) / 2
15379			},
15380			x3: {
15381				x: (e - r) / 2,
15382				y: (n - r) / 2
15383			},
15384			x4: {
15385				x: (e - r) / 2 + r,
15386				y: (n - r) / 2 + r
15387			}
15388		};
15389	}
15390}, xt.internal.getWidth = function(e) {
15391	var n = 0;
15392	return "object" === _typeof(e) && (n = V(e.Rect[2])), n;
15393}, xt.internal.getHeight = function(e) {
15394	var n = 0;
15395	return "object" === _typeof(e) && (n = V(e.Rect[3])), n;
15396};
15397var At = R.addField = function(t) {
15398	if (at(this, t), !(t instanceof ht)) throw new Error("Invalid argument passed to jsPDF.addField.");
15399	var e;
15400	return (e = t).scope.internal.acroformPlugin.printedOut && (e.scope.internal.acroformPlugin.printedOut = !1, e.scope.internal.acroformPlugin.acroFormDictionaryRoot = null), e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e), t.page = t.scope.internal.getCurrentPageInfo().pageNumber, this;
15401};
15402R.AcroFormChoiceField = ft, R.AcroFormListBox = dt, R.AcroFormComboBox = pt, R.AcroFormEditBox = gt, R.AcroFormButton = mt, R.AcroFormPushButton = vt, R.AcroFormRadioButton = bt, R.AcroFormCheckBox = wt, R.AcroFormTextField = Nt, R.AcroFormPasswordField = Lt, R.AcroFormAppearance = xt, R.AcroForm = {
15403	ChoiceField: ft,
15404	ListBox: dt,
15405	ComboBox: pt,
15406	EditBox: gt,
15407	Button: mt,
15408	PushButton: vt,
15409	RadioButton: bt,
15410	CheckBox: wt,
15411	TextField: Nt,
15412	PasswordField: Lt,
15413	Appearance: xt
15414}, E.AcroForm = {
15415	ChoiceField: ft,
15416	ListBox: dt,
15417	ComboBox: pt,
15418	EditBox: gt,
15419	Button: mt,
15420	PushButton: vt,
15421	RadioButton: bt,
15422	CheckBox: wt,
15423	TextField: Nt,
15424	PasswordField: Lt,
15425	Appearance: xt
15426};
15427var St = E.AcroForm;
15428function _t(t) {
15429	return t.reduce(function(t$1, e, n) {
15430		return t$1[e] = n, t$1;
15431	}, {});
15432}
15433(function(e) {
15434	var n = "addImage_";
15435	e.__addimage__ = {};
15436	var r = "UNKNOWN", i$2 = {
15437		PNG: [[
15438			137,
15439			80,
15440			78,
15441			71
15442		]],
15443		TIFF: [[
15444			77,
15445			77,
15446			0,
15447			42
15448		], [
15449			73,
15450			73,
15451			42,
15452			0
15453		]],
15454		JPEG: [
15455			[
15456				255,
15457				216,
15458				255,
15459				224,
15460				void 0,
15461				void 0,
15462				74,
15463				70,
15464				73,
15465				70,
15466				0
15467			],
15468			[
15469				255,
15470				216,
15471				255,
15472				225,
15473				void 0,
15474				void 0,
15475				69,
15476				120,
15477				105,
15478				102,
15479				0,
15480				0
15481			],
15482			[
15483				255,
15484				216,
15485				255,
15486				219
15487			],
15488			[
15489				255,
15490				216,
15491				255,
15492				238
15493			]
15494		],
15495		JPEG2000: [[
15496			0,
15497			0,
15498			0,
15499			12,
15500			106,
15501			80,
15502			32,
15503			32
15504		]],
15505		GIF87a: [[
15506			71,
15507			73,
15508			70,
15509			56,
15510			55,
15511			97
15512		]],
15513		GIF89a: [[
15514			71,
15515			73,
15516			70,
15517			56,
15518			57,
15519			97
15520		]],
15521		WEBP: [[
15522			82,
15523			73,
15524			70,
15525			70,
15526			void 0,
15527			void 0,
15528			void 0,
15529			void 0,
15530			87,
15531			69,
15532			66,
15533			80
15534		]],
15535		BMP: [
15536			[66, 77],
15537			[66, 65],
15538			[67, 73],
15539			[67, 80],
15540			[73, 67],
15541			[80, 84]
15542		]
15543	}, a$1 = e.__addimage__.getImageFileTypeByImageData = function(t, e$1) {
15544		var n$1, a$2, o$2, s$2, u$2, c$2 = r;
15545		if ("RGBA" === (e$1 = e$1 || r) || void 0 !== t.data && t.data instanceof Uint8ClampedArray && "height" in t && "width" in t) return "RGBA";
15546		if (A$1(t)) for (u$2 in i$2) for (o$2 = i$2[u$2], n$1 = 0; n$1 < o$2.length; n$1 += 1) {
15547			for (s$2 = !0, a$2 = 0; a$2 < o$2[n$1].length; a$2 += 1) if (void 0 !== o$2[n$1][a$2] && o$2[n$1][a$2] !== t[a$2]) {
15548				s$2 = !1;
15549				break;
15550			}
15551			if (!0 === s$2) {
15552				c$2 = u$2;
15553				break;
15554			}
15555		}
15556		else for (u$2 in i$2) for (o$2 = i$2[u$2], n$1 = 0; n$1 < o$2.length; n$1 += 1) {
15557			for (s$2 = !0, a$2 = 0; a$2 < o$2[n$1].length; a$2 += 1) if (void 0 !== o$2[n$1][a$2] && o$2[n$1][a$2] !== t.charCodeAt(a$2)) {
15558				s$2 = !1;
15559				break;
15560			}
15561			if (!0 === s$2) {
15562				c$2 = u$2;
15563				break;
15564			}
15565		}
15566		return c$2 === r && e$1 !== r && (c$2 = e$1), c$2;
15567	}, o$1 = function t(e$1) {
15568		for (var n$1 = this.internal.write, r$1 = this.internal.putStream, i$3 = (0, this.internal.getFilters)(); -1 !== i$3.indexOf("FlateEncode");) i$3.splice(i$3.indexOf("FlateEncode"), 1);
15569		e$1.objectId = this.internal.newObject();
15570		var a$2 = [];
15571		if (a$2.push({
15572			key: "Type",
15573			value: "/XObject"
15574		}), a$2.push({
15575			key: "Subtype",
15576			value: "/Image"
15577		}), a$2.push({
15578			key: "Width",
15579			value: e$1.width
15580		}), a$2.push({
15581			key: "Height",
15582			value: e$1.height
15583		}), e$1.colorSpace === y$1.INDEXED ? a$2.push({
15584			key: "ColorSpace",
15585			value: "[/Indexed /DeviceRGB " + (e$1.palette.length / 3 - 1) + " " + ("sMask" in e$1 && void 0 !== e$1.sMask ? e$1.objectId + 2 : e$1.objectId + 1) + " 0 R]"
15586		}) : (a$2.push({
15587			key: "ColorSpace",
15588			value: "/" + e$1.colorSpace
15589		}), e$1.colorSpace === y$1.DEVICE_CMYK && a$2.push({
15590			key: "Decode",
15591			value: "[1 0 1 0 1 0 1 0]"
15592		})), a$2.push({
15593			key: "BitsPerComponent",
15594			value: e$1.bitsPerComponent
15595		}), "decodeParameters" in e$1 && void 0 !== e$1.decodeParameters && a$2.push({
15596			key: "DecodeParms",
15597			value: "<<" + e$1.decodeParameters + ">>"
15598		}), "transparency" in e$1 && Array.isArray(e$1.transparency) && e$1.transparency.length > 0) {
15599			for (var o$2 = "", s$2 = 0, u$2 = e$1.transparency.length; s$2 < u$2; s$2++) o$2 += e$1.transparency[s$2] + " " + e$1.transparency[s$2] + " ";
15600			a$2.push({
15601				key: "Mask",
15602				value: "[" + o$2 + "]"
15603			});
15604		}
15605		void 0 !== e$1.sMask && a$2.push({
15606			key: "SMask",
15607			value: e$1.objectId + 1 + " 0 R"
15608		});
15609		var c$2 = void 0 !== e$1.filter ? ["/" + e$1.filter] : void 0;
15610		if (r$1({
15611			data: e$1.data,
15612			additionalKeyValues: a$2,
15613			alreadyAppliedFilters: c$2,
15614			objectId: e$1.objectId
15615		}), n$1("endobj"), "sMask" in e$1 && void 0 !== e$1.sMask) {
15616			var l$2, h$2 = null !== (l$2 = e$1.sMaskBitsPerComponent) && void 0 !== l$2 ? l$2 : e$1.bitsPerComponent, f$1 = {
15617				width: e$1.width,
15618				height: e$1.height,
15619				colorSpace: "DeviceGray",
15620				bitsPerComponent: h$2,
15621				data: e$1.sMask
15622			};
15623			"filter" in e$1 && (f$1.decodeParameters = "/Predictor ".concat(e$1.predictor, " /Colors 1 /BitsPerComponent ").concat(h$2, " /Columns ").concat(e$1.width), f$1.filter = e$1.filter), t.call(this, f$1);
15624		}
15625		if (e$1.colorSpace === y$1.INDEXED) {
15626			var d$2 = this.internal.newObject();
15627			r$1({
15628				data: _$1(new Uint8Array(e$1.palette)),
15629				objectId: d$2
15630			}), n$1("endobj");
15631		}
15632	}, s$1 = function() {
15633		var t = this.internal.collections[n + "images"];
15634		for (var e$1 in t) o$1.call(this, t[e$1]);
15635	}, u$1 = function() {
15636		var t, e$1 = this.internal.collections[n + "images"], r$1 = this.internal.write;
15637		for (var i$3 in e$1) r$1("/I" + (t = e$1[i$3]).index, t.objectId, "0", "R");
15638	}, c$1 = function() {
15639		this.internal.collections[n + "images"] || (this.internal.collections[n + "images"] = {}, this.internal.events.subscribe("putResources", s$1), this.internal.events.subscribe("putXobjectDict", u$1));
15640	}, l$1 = function() {
15641		var t = this.internal.collections[n + "images"];
15642		return c$1.call(this), t;
15643	}, h$1 = function() {
15644		return Object.keys(this.internal.collections[n + "images"]).length;
15645	}, d$1 = function(t) {
15646		return "function" == typeof e["process" + t.toUpperCase()];
15647	}, p$1 = function(e$1) {
15648		return "object" === _typeof(e$1) && 1 === e$1.nodeType;
15649	}, g$1 = function(t, n$1) {
15650		if ("IMG" === t.nodeName && t.hasAttribute("src")) {
15651			var r$1 = "" + t.getAttribute("src");
15652			if (0 === r$1.indexOf("data:image/")) return f(unescape(r$1).split("base64,").pop());
15653			var i$3 = e.loadFile(r$1, !0);
15654			if (void 0 !== i$3) return i$3;
15655		}
15656		if ("CANVAS" === t.nodeName) {
15657			if (0 === t.width || 0 === t.height) throw new Error("Given canvas must have data. Canvas width: " + t.width + ", height: " + t.height);
15658			var a$2;
15659			switch (n$1) {
15660				case "PNG":
15661					a$2 = "image/png";
15662					break;
15663				case "WEBP":
15664					a$2 = "image/webp";
15665					break;
15666				default: a$2 = "image/jpeg";
15667			}
15668			return f(t.toDataURL(a$2, 1).split("base64,").pop());
15669		}
15670	}, m$1 = function(t) {
15671		var e$1 = this.internal.collections[n + "images"];
15672		if (e$1) {
15673			for (var r$1 in e$1) if (t === e$1[r$1].alias) return e$1[r$1];
15674		}
15675	}, v$1 = function(t, e$1, n$1) {
15676		return t || e$1 || (t = -96, e$1 = -96), t < 0 && (t = -1 * n$1.width * 72 / t / this.internal.scaleFactor), e$1 < 0 && (e$1 = -1 * n$1.height * 72 / e$1 / this.internal.scaleFactor), 0 === t && (t = e$1 * n$1.width / n$1.height), 0 === e$1 && (e$1 = t * n$1.height / n$1.width), [t, e$1];
15677	}, b$1 = function(t, e$1, n$1, r$1, i$3, a$2) {
15678		var o$2 = v$1.call(this, n$1, r$1, i$3), s$2 = this.internal.getCoordinateString, u$2 = this.internal.getVerticalCoordinateString, c$2 = l$1.call(this);
15679		if (n$1 = o$2[0], r$1 = o$2[1], c$2[i$3.index] = i$3, a$2) {
15680			a$2 *= Math.PI / 180;
15681			var h$2 = Math.cos(a$2), f$1 = Math.sin(a$2), d$2 = function(t$1) {
15682				return t$1.toFixed(4);
15683			}, p$2 = [
15684				d$2(h$2),
15685				d$2(f$1),
15686				d$2(-1 * f$1),
15687				d$2(h$2),
15688				0,
15689				0,
15690				"cm"
15691			];
15692		}
15693		this.internal.write("q"), a$2 ? (this.internal.write([
15694			1,
15695			"0",
15696			"0",
15697			1,
15698			s$2(t),
15699			u$2(e$1 + r$1),
15700			"cm"
15701		].join(" ")), this.internal.write(p$2.join(" ")), this.internal.write([
15702			s$2(n$1),
15703			"0",
15704			"0",
15705			s$2(r$1),
15706			"0",
15707			"0",
15708			"cm"
15709		].join(" "))) : this.internal.write([
15710			s$2(n$1),
15711			"0",
15712			"0",
15713			s$2(r$1),
15714			s$2(t),
15715			u$2(e$1 + r$1),
15716			"cm"
15717		].join(" ")), this.isAdvancedAPI() && this.internal.write([
15718			1,
15719			0,
15720			0,
15721			-1,
15722			0,
15723			0,
15724			"cm"
15725		].join(" ")), this.internal.write("/I" + i$3.index + " Do"), this.internal.write("Q");
15726	}, y$1 = e.color_spaces = {
15727		DEVICE_RGB: "DeviceRGB",
15728		DEVICE_GRAY: "DeviceGray",
15729		DEVICE_CMYK: "DeviceCMYK",
15730		CAL_GREY: "CalGray",
15731		CAL_RGB: "CalRGB",
15732		LAB: "Lab",
15733		ICC_BASED: "ICCBased",
15734		INDEXED: "Indexed",
15735		PATTERN: "Pattern",
15736		SEPARATION: "Separation",
15737		DEVICE_N: "DeviceN"
15738	};
15739	e.decode = {
15740		DCT_DECODE: "DCTDecode",
15741		FLATE_DECODE: "FlateDecode",
15742		LZW_DECODE: "LZWDecode",
15743		JPX_DECODE: "JPXDecode",
15744		JBIG2_DECODE: "JBIG2Decode",
15745		ASCII85_DECODE: "ASCII85Decode",
15746		ASCII_HEX_DECODE: "ASCIIHexDecode",
15747		RUN_LENGTH_DECODE: "RunLengthDecode",
15748		CCITT_FAX_DECODE: "CCITTFaxDecode"
15749	};
15750	var w$1 = e.image_compression = {
15751		NONE: "NONE",
15752		FAST: "FAST",
15753		MEDIUM: "MEDIUM",
15754		SLOW: "SLOW"
15755	}, N$1 = e.__addimage__.sHashCode = function(t) {
15756		var e$1, n$1, r$1 = 0;
15757		if ("string" == typeof t) for (n$1 = t.length, e$1 = 0; e$1 < n$1; e$1++) r$1 = (r$1 << 5) - r$1 + t.charCodeAt(e$1), r$1 |= 0;
15758		else if (A$1(t)) for (n$1 = t.byteLength / 2, e$1 = 0; e$1 < n$1; e$1++) r$1 = (r$1 << 5) - r$1 + t[e$1], r$1 |= 0;
15759		return r$1;
15760	}, L$1 = e.__addimage__.validateStringAsBase64 = function(t) {
15761		(t = t || "").toString().trim();
15762		var e$1 = !0;
15763		return 0 === t.length && (e$1 = !1), t.length % 4 != 0 && (e$1 = !1), !1 === /^[A-Za-z0-9+/]+$/.test(t.substr(0, t.length - 2)) && (e$1 = !1), !1 === /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2)) && (e$1 = !1), e$1;
15764	}, x$2 = e.__addimage__.extractImageFromDataUrl = function(t) {
15765		if (null == t) return null;
15766		if (!(t = t.trim()).startsWith("data:")) return null;
15767		var e$1 = t.indexOf(",");
15768		return e$1 < 0 ? null : t.substring(0, e$1).trim().endsWith("base64") ? t.substring(e$1 + 1) : null;
15769	};
15770	e.__addimage__.isArrayBuffer = function(t) {
15771		return t instanceof ArrayBuffer;
15772	};
15773	var A$1 = e.__addimage__.isArrayBufferView = function(t) {
15774		return t instanceof Int8Array || t instanceof Uint8Array || t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array;
15775	}, S$1 = e.__addimage__.binaryStringToUint8Array = function(t) {
15776		for (var e$1 = t.length, n$1 = new Uint8Array(e$1), r$1 = 0; r$1 < e$1; r$1++) n$1[r$1] = t.charCodeAt(r$1);
15777		return n$1;
15778	}, _$1 = e.__addimage__.arrayBufferToBinaryString = function(t) {
15779		for (var e$1 = "", n$1 = A$1(t) ? t : new Uint8Array(t), r$1 = 0; r$1 < n$1.length; r$1 += 8192) e$1 += String.fromCharCode.apply(null, n$1.subarray(r$1, r$1 + 8192));
15780		return e$1;
15781	};
15782	e.addImage = function() {
15783		var e$1, n$1, i$3, a$2, o$2, s$2, u$2, l$2, h$2;
15784		if ("number" == typeof arguments[1] ? (n$1 = r, i$3 = arguments[1], a$2 = arguments[2], o$2 = arguments[3], s$2 = arguments[4], u$2 = arguments[5], l$2 = arguments[6], h$2 = arguments[7]) : (n$1 = arguments[1], i$3 = arguments[2], a$2 = arguments[3], o$2 = arguments[4], s$2 = arguments[5], u$2 = arguments[6], l$2 = arguments[7], h$2 = arguments[8]), "object" === _typeof(e$1 = arguments[0]) && !p$1(e$1) && "imageData" in e$1) {
15785			var f$1 = e$1;
15786			e$1 = f$1.imageData, n$1 = f$1.format || n$1 || r, i$3 = f$1.x || i$3 || 0, a$2 = f$1.y || a$2 || 0, o$2 = f$1.w || f$1.width || o$2, s$2 = f$1.h || f$1.height || s$2, u$2 = f$1.alias || u$2, l$2 = f$1.compression || l$2, h$2 = f$1.rotation || f$1.angle || h$2;
15787		}
15788		var d$2 = this.internal.getFilters();
15789		if (void 0 === l$2 && -1 !== d$2.indexOf("FlateEncode") && (l$2 = "SLOW"), isNaN(i$3) || isNaN(a$2)) throw new Error("Invalid coordinates passed to jsPDF.addImage");
15790		c$1.call(this);
15791		var g$2 = P$1.call(this, e$1, n$1, u$2, l$2);
15792		return b$1.call(this, i$3, a$2, o$2, s$2, g$2, h$2), this;
15793	};
15794	var P$1 = function(t, n$1, i$3, o$2) {
15795		var s$2, u$2, c$2;
15796		if ("string" == typeof t && a$1(t) === r) {
15797			t = unescape(t);
15798			var l$2 = k$1(t, !1);
15799			("" !== l$2 || void 0 !== (l$2 = e.loadFile(t, !0))) && (t = l$2);
15800		}
15801		if (p$1(t) && (t = g$1(t, n$1)), n$1 = a$1(t, n$1), !d$1(n$1)) throw new Error("addImage does not support files of type '" + n$1 + "', please ensure that a plugin for '" + n$1 + "' support is added.");
15802		if ((null == (c$2 = i$3) || 0 === c$2.length) && (i$3 = function(t$1) {
15803			return "string" == typeof t$1 || A$1(t$1) ? N$1(t$1) : A$1(t$1.data) ? N$1(t$1.data) : null;
15804		}(t)), (s$2 = m$1.call(this, i$3)) || (t instanceof Uint8Array || "RGBA" === n$1 || (u$2 = t, t = S$1(t)), s$2 = this["process" + n$1.toUpperCase()](t, h$1.call(this), i$3, function(t$1) {
15805			return t$1 && "string" == typeof t$1 && (t$1 = t$1.toUpperCase()), t$1 in e.image_compression ? t$1 : w$1.NONE;
15806		}(o$2), u$2)), !s$2) throw new Error("An unknown error occurred whilst processing the image.");
15807		return s$2;
15808	}, k$1 = e.__addimage__.convertBase64ToBinaryString = function(t, e$1) {
15809		e$1 = "boolean" != typeof e$1 || e$1;
15810		var n$1, r$1 = "";
15811		if ("string" == typeof t) {
15812			var i$3;
15813			n$1 = null !== (i$3 = x$2(t)) && void 0 !== i$3 ? i$3 : t;
15814			try {
15815				r$1 = f(n$1);
15816			} catch (a$2) {
15817				if (e$1) throw L$1(n$1) ? /* @__PURE__ */ new Error("atob-Error in jsPDF.convertBase64ToBinaryString " + a$2.message) : /* @__PURE__ */ new Error("Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString ");
15818			}
15819		}
15820		return r$1;
15821	};
15822	e.getImageProperties = function(t) {
15823		var n$1, i$3, o$2 = "";
15824		if (p$1(t) && (t = g$1(t)), "string" == typeof t && a$1(t) === r && ("" === (o$2 = k$1(t, !1)) && (o$2 = e.loadFile(t) || ""), t = o$2), i$3 = a$1(t), !d$1(i$3)) throw new Error("addImage does not support files of type '" + i$3 + "', please ensure that a plugin for '" + i$3 + "' support is added.");
15825		if (t instanceof Uint8Array || (t = S$1(t)), !(n$1 = this["process" + i$3.toUpperCase()](t))) throw new Error("An unknown error occurred whilst processing the image");
15826		return n$1.fileType = i$3, n$1;
15827	};
15828})(E.API), function(t) {
15829	var e = function(t$1) {
15830		if (void 0 !== t$1 && "" != t$1) return !0;
15831	};
15832	E.API.events.push(["addPage", function(t$1) {
15833		this.internal.getPageInfo(t$1.pageNumber).pageContext.annotations = [];
15834	}]), t.events.push(["putPage", function(t$1) {
15835		for (var n, r, i$2, a$1 = this.internal.getCoordinateString, o$1 = this.internal.getVerticalCoordinateString, s$1 = this.internal.getPageInfoByObjId(t$1.objId), u$1 = t$1.pageContext.annotations, c$1 = !1, l$1 = 0; l$1 < u$1.length && !c$1; l$1++) switch ((n = u$1[l$1]).type) {
15836			case "link":
15837				(e(n.options.url) || e(n.options.pageNumber)) && (c$1 = !0);
15838				break;
15839			case "reference":
15840			case "text":
15841			case "freetext": c$1 = !0;
15842		}
15843		if (0 != c$1) {
15844			this.internal.write("/Annots [");
15845			for (var h$1 = 0; h$1 < u$1.length; h$1++) {
15846				n = u$1[h$1];
15847				var f$1 = this.internal.pdfEscape, d$1 = this.internal.getEncryptor(t$1.objId);
15848				switch (n.type) {
15849					case "reference":
15850						this.internal.write(" " + n.object.objId + " 0 R ");
15851						break;
15852					case "text":
15853						var p$1 = this.internal.newAdditionalObject(), g$1 = this.internal.newAdditionalObject(), m$1 = this.internal.getEncryptor(p$1.objId), v$1 = n.title || "Note";
15854						i$2 = "<</Type /Annot /Subtype /Text " + (r = "/Rect [" + a$1(n.bounds.x) + " " + o$1(n.bounds.y + n.bounds.h) + " " + a$1(n.bounds.x + n.bounds.w) + " " + o$1(n.bounds.y) + "] ") + "/Contents (" + f$1(m$1(n.contents)) + ")", i$2 += " /Popup " + g$1.objId + " 0 R", i$2 += " /P " + s$1.objId + " 0 R", i$2 += " /T (" + f$1(m$1(v$1)) + ") >>", p$1.content = i$2;
15855						var b$1 = p$1.objId + " 0 R";
15856						i$2 = "<</Type /Annot /Subtype /Popup " + (r = "/Rect [" + a$1(n.bounds.x + 30) + " " + o$1(n.bounds.y + n.bounds.h) + " " + a$1(n.bounds.x + n.bounds.w + 30) + " " + o$1(n.bounds.y) + "] ") + " /Parent " + b$1, n.open && (i$2 += " /Open true"), i$2 += " >>", g$1.content = i$2, this.internal.write(p$1.objId, "0 R", g$1.objId, "0 R");
15857						break;
15858					case "freetext":
15859						r = "/Rect [" + a$1(n.bounds.x) + " " + o$1(n.bounds.y) + " " + a$1(n.bounds.x + n.bounds.w) + " " + o$1(n.bounds.y + n.bounds.h) + "] ";
15860						var y$1 = n.color || "#000000";
15861						i$2 = "<</Type /Annot /Subtype /FreeText " + r + "/Contents (" + f$1(d$1(n.contents)) + ")", i$2 += " /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#" + y$1 + ")", i$2 += " /Border [0 0 0]", i$2 += " >>", this.internal.write(i$2);
15862						break;
15863					case "link":
15864						if (n.options.name) {
15865							var w$1 = this.annotations._nameMap[n.options.name];
15866							n.options.pageNumber = w$1.page, n.options.top = w$1.y;
15867						} else n.options.top || (n.options.top = 0);
15868						if (r = "/Rect [" + n.finalBounds.x + " " + n.finalBounds.y + " " + n.finalBounds.w + " " + n.finalBounds.h + "] ", i$2 = "", n.options.url) i$2 = "<</Type /Annot /Subtype /Link " + r + "/Border [0 0 0] /A <</S /URI /URI (" + f$1(d$1(n.options.url)) + ") >>";
15869						else if (n.options.pageNumber) switch (i$2 = "<</Type /Annot /Subtype /Link " + r + "/Border [0 0 0] /Dest [" + this.internal.getPageInfo(n.options.pageNumber).objId + " 0 R", n.options.magFactor = n.options.magFactor || "XYZ", n.options.magFactor) {
15870							case "Fit":
15871								i$2 += " /Fit]";
15872								break;
15873							case "FitH":
15874								i$2 += " /FitH " + n.options.top + "]";
15875								break;
15876							case "FitV":
15877								n.options.left = n.options.left || 0, i$2 += " /FitV " + n.options.left + "]";
15878								break;
15879							default:
15880								var N$1 = o$1(n.options.top);
15881								n.options.left = n.options.left || 0, void 0 === n.options.zoom && (n.options.zoom = 0), i$2 += " /XYZ " + n.options.left + " " + N$1 + " " + n.options.zoom + "]";
15882						}
15883						"" != i$2 && (i$2 += " >>", this.internal.write(i$2));
15884				}
15885			}
15886			this.internal.write("]");
15887		}
15888	}]), t.createAnnotation = function(t$1) {
15889		var e$1 = this.internal.getCurrentPageInfo();
15890		switch (t$1.type) {
15891			case "link":
15892				this.link(t$1.bounds.x, t$1.bounds.y, t$1.bounds.w, t$1.bounds.h, t$1);
15893				break;
15894			case "text":
15895			case "freetext": e$1.pageContext.annotations.push(t$1);
15896		}
15897	}, t.link = function(t$1, e$1, n, r, i$2) {
15898		var a$1 = this.internal.getCurrentPageInfo(), o$1 = this.internal.getCoordinateString, s$1 = this.internal.getVerticalCoordinateString;
15899		a$1.pageContext.annotations.push({
15900			finalBounds: {
15901				x: o$1(t$1),
15902				y: s$1(e$1),
15903				w: o$1(t$1 + n),
15904				h: s$1(e$1 + r)
15905			},
15906			options: i$2,
15907			type: "link"
15908		});
15909	}, t.textWithLink = function(t$1, e$1, n, r) {
15910		var i$2, a$1, o$1 = this.getTextWidth(t$1), s$1 = this.internal.getLineHeight() / this.internal.scaleFactor;
15911		if (void 0 !== r.maxWidth) {
15912			a$1 = r.maxWidth;
15913			var u$1 = this.splitTextToSize(t$1, a$1).length;
15914			i$2 = Math.ceil(s$1 * u$1);
15915		} else a$1 = o$1, i$2 = s$1;
15916		return this.text(t$1, e$1, n, r), n += .2 * s$1, "center" === r.align && (e$1 -= o$1 / 2), "right" === r.align && (e$1 -= o$1), this.link(e$1, n - s$1, a$1, i$2, r), o$1;
15917	}, t.getTextWidth = function(t$1) {
15918		var e$1 = this.internal.getFontSize();
15919		return this.getStringUnitWidth(t$1) * e$1 / this.internal.scaleFactor;
15920	};
15921}(E.API), function(t) {
15922	var e = {
15923		1569: [65152],
15924		1570: [65153, 65154],
15925		1571: [65155, 65156],
15926		1572: [65157, 65158],
15927		1573: [65159, 65160],
15928		1574: [
15929			65161,
15930			65162,
15931			65163,
15932			65164
15933		],
15934		1575: [65165, 65166],
15935		1576: [
15936			65167,
15937			65168,
15938			65169,
15939			65170
15940		],
15941		1577: [65171, 65172],
15942		1578: [
15943			65173,
15944			65174,
15945			65175,
15946			65176
15947		],
15948		1579: [
15949			65177,
15950			65178,
15951			65179,
15952			65180
15953		],
15954		1580: [
15955			65181,
15956			65182,
15957			65183,
15958			65184
15959		],
15960		1581: [
15961			65185,
15962			65186,
15963			65187,
15964			65188
15965		],
15966		1582: [
15967			65189,
15968			65190,
15969			65191,
15970			65192
15971		],
15972		1583: [65193, 65194],
15973		1584: [65195, 65196],
15974		1585: [65197, 65198],
15975		1586: [65199, 65200],
15976		1587: [
15977			65201,
15978			65202,
15979			65203,
15980			65204
15981		],
15982		1588: [
15983			65205,
15984			65206,
15985			65207,
15986			65208
15987		],
15988		1589: [
15989			65209,
15990			65210,
15991			65211,
15992			65212
15993		],
15994		1590: [
15995			65213,
15996			65214,
15997			65215,
15998			65216
15999		],
16000		1591: [
16001			65217,
16002			65218,
16003			65219,
16004			65220
16005		],
16006		1592: [
16007			65221,
16008			65222,
16009			65223,
16010			65224
16011		],
16012		1593: [
16013			65225,
16014			65226,
16015			65227,
16016			65228
16017		],
16018		1594: [
16019			65229,
16020			65230,
16021			65231,
16022			65232
16023		],
16024		1601: [
16025			65233,
16026			65234,
16027			65235,
16028			65236
16029		],
16030		1602: [
16031			65237,
16032			65238,
16033			65239,
16034			65240
16035		],
16036		1603: [
16037			65241,
16038			65242,
16039			65243,
16040			65244
16041		],
16042		1604: [
16043			65245,
16044			65246,
16045			65247,
16046			65248
16047		],
16048		1605: [
16049			65249,
16050			65250,
16051			65251,
16052			65252
16053		],
16054		1606: [
16055			65253,
16056			65254,
16057			65255,
16058			65256
16059		],
16060		1607: [
16061			65257,
16062			65258,
16063			65259,
16064			65260
16065		],
16066		1608: [65261, 65262],
16067		1609: [
16068			65263,
16069			65264,
16070			64488,
16071			64489
16072		],
16073		1610: [
16074			65265,
16075			65266,
16076			65267,
16077			65268
16078		],
16079		1649: [64336, 64337],
16080		1655: [64477],
16081		1657: [
16082			64358,
16083			64359,
16084			64360,
16085			64361
16086		],
16087		1658: [
16088			64350,
16089			64351,
16090			64352,
16091			64353
16092		],
16093		1659: [
16094			64338,
16095			64339,
16096			64340,
16097			64341
16098		],
16099		1662: [
16100			64342,
16101			64343,
16102			64344,
16103			64345
16104		],
16105		1663: [
16106			64354,
16107			64355,
16108			64356,
16109			64357
16110		],
16111		1664: [
16112			64346,
16113			64347,
16114			64348,
16115			64349
16116		],
16117		1667: [
16118			64374,
16119			64375,
16120			64376,
16121			64377
16122		],
16123		1668: [
16124			64370,
16125			64371,
16126			64372,
16127			64373
16128		],
16129		1670: [
16130			64378,
16131			64379,
16132			64380,
16133			64381
16134		],
16135		1671: [
16136			64382,
16137			64383,
16138			64384,
16139			64385
16140		],
16141		1672: [64392, 64393],
16142		1676: [64388, 64389],
16143		1677: [64386, 64387],
16144		1678: [64390, 64391],
16145		1681: [64396, 64397],
16146		1688: [64394, 64395],
16147		1700: [
16148			64362,
16149			64363,
16150			64364,
16151			64365
16152		],
16153		1702: [
16154			64366,
16155			64367,
16156			64368,
16157			64369
16158		],
16159		1705: [
16160			64398,
16161			64399,
16162			64400,
16163			64401
16164		],
16165		1709: [
16166			64467,
16167			64468,
16168			64469,
16169			64470
16170		],
16171		1711: [
16172			64402,
16173			64403,
16174			64404,
16175			64405
16176		],
16177		1713: [
16178			64410,
16179			64411,
16180			64412,
16181			64413
16182		],
16183		1715: [
16184			64406,
16185			64407,
16186			64408,
16187			64409
16188		],
16189		1722: [64414, 64415],
16190		1723: [
16191			64416,
16192			64417,
16193			64418,
16194			64419
16195		],
16196		1726: [
16197			64426,
16198			64427,
16199			64428,
16200			64429
16201		],
16202		1728: [64420, 64421],
16203		1729: [
16204			64422,
16205			64423,
16206			64424,
16207			64425
16208		],
16209		1733: [64480, 64481],
16210		1734: [64473, 64474],
16211		1735: [64471, 64472],
16212		1736: [64475, 64476],
16213		1737: [64482, 64483],
16214		1739: [64478, 64479],
16215		1740: [
16216			64508,
16217			64509,
16218			64510,
16219			64511
16220		],
16221		1744: [
16222			64484,
16223			64485,
16224			64486,
16225			64487
16226		],
16227		1746: [64430, 64431],
16228		1747: [64432, 64433]
16229	}, n = {
16230		65247: {
16231			65154: 65269,
16232			65156: 65271,
16233			65160: 65273,
16234			65166: 65275
16235		},
16236		65248: {
16237			65154: 65270,
16238			65156: 65272,
16239			65160: 65274,
16240			65166: 65276
16241		},
16242		65165: { 65247: { 65248: { 65258: 65010 } } },
16243		1617: {
16244			1612: 64606,
16245			1613: 64607,
16246			1614: 64608,
16247			1615: 64609,
16248			1616: 64610
16249		}
16250	}, r = {
16251		1612: 64606,
16252		1613: 64607,
16253		1614: 64608,
16254		1615: 64609,
16255		1616: 64610
16256	}, i$2 = [
16257		1570,
16258		1571,
16259		1573,
16260		1575
16261	];
16262	t.__arabicParser__ = {};
16263	var a$1 = t.__arabicParser__.isInArabicSubstitutionA = function(t$1) {
16264		return void 0 !== e[t$1.charCodeAt(0)];
16265	}, o$1 = t.__arabicParser__.isArabicLetter = function(t$1) {
16266		return "string" == typeof t$1 && /^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(t$1);
16267	}, s$1 = t.__arabicParser__.isArabicEndLetter = function(t$1) {
16268		return o$1(t$1) && a$1(t$1) && e[t$1.charCodeAt(0)].length <= 2;
16269	}, u$1 = t.__arabicParser__.isArabicAlfLetter = function(t$1) {
16270		return o$1(t$1) && i$2.indexOf(t$1.charCodeAt(0)) >= 0;
16271	};
16272	t.__arabicParser__.arabicLetterHasIsolatedForm = function(t$1) {
16273		return o$1(t$1) && a$1(t$1) && e[t$1.charCodeAt(0)].length >= 1;
16274	};
16275	var c$1 = t.__arabicParser__.arabicLetterHasFinalForm = function(t$1) {
16276		return o$1(t$1) && a$1(t$1) && e[t$1.charCodeAt(0)].length >= 2;
16277	};
16278	t.__arabicParser__.arabicLetterHasInitialForm = function(t$1) {
16279		return o$1(t$1) && a$1(t$1) && e[t$1.charCodeAt(0)].length >= 3;
16280	};
16281	var l$1 = t.__arabicParser__.arabicLetterHasMedialForm = function(t$1) {
16282		return o$1(t$1) && a$1(t$1) && 4 == e[t$1.charCodeAt(0)].length;
16283	}, h$1 = t.__arabicParser__.resolveLigatures = function(t$1) {
16284		var e$1 = 0, r$1 = n, i$3 = "", a$2 = 0;
16285		for (e$1 = 0; e$1 < t$1.length; e$1 += 1) void 0 !== r$1[t$1.charCodeAt(e$1)] ? (a$2++, "number" == typeof (r$1 = r$1[t$1.charCodeAt(e$1)]) && (i$3 += String.fromCharCode(r$1), r$1 = n, a$2 = 0), e$1 === t$1.length - 1 && (r$1 = n, i$3 += t$1.charAt(e$1 - (a$2 - 1)), e$1 -= a$2 - 1, a$2 = 0)) : (r$1 = n, i$3 += t$1.charAt(e$1 - a$2), e$1 -= a$2, a$2 = 0);
16286		return i$3;
16287	};
16288	t.__arabicParser__.isArabicDiacritic = function(t$1) {
16289		return void 0 !== t$1 && void 0 !== r[t$1.charCodeAt(0)];
16290	};
16291	var f$1 = t.__arabicParser__.getCorrectForm = function(t$1, e$1, n$1) {
16292		return o$1(t$1) ? !1 === a$1(t$1) ? -1 : !c$1(t$1) || !o$1(e$1) && !o$1(n$1) || !o$1(n$1) && s$1(e$1) || s$1(t$1) && !o$1(e$1) || s$1(t$1) && u$1(e$1) || s$1(t$1) && s$1(e$1) ? 0 : l$1(t$1) && o$1(e$1) && !s$1(e$1) && o$1(n$1) && c$1(n$1) ? 3 : s$1(t$1) || !o$1(n$1) ? 1 : 2 : -1;
16293	}, d$1 = function(t$1) {
16294		var n$1 = 0, r$1 = 0, i$3 = 0, a$2 = "", s$2 = "", u$2 = "", c$2 = (t$1 = t$1 || "").split("\\s+"), l$2 = [];
16295		for (n$1 = 0; n$1 < c$2.length; n$1 += 1) {
16296			for (l$2.push(""), r$1 = 0; r$1 < c$2[n$1].length; r$1 += 1) a$2 = c$2[n$1][r$1], s$2 = c$2[n$1][r$1 - 1], u$2 = c$2[n$1][r$1 + 1], o$1(a$2) ? (i$3 = f$1(a$2, s$2, u$2), l$2[n$1] += -1 !== i$3 ? String.fromCharCode(e[a$2.charCodeAt(0)][i$3]) : a$2) : l$2[n$1] += a$2;
16297			l$2[n$1] = h$1(l$2[n$1]);
16298		}
16299		return l$2.join(" ");
16300	}, p$1 = t.__arabicParser__.processArabic = t.processArabic = function() {
16301		var t$1, e$1 = "string" == typeof arguments[0] ? arguments[0] : arguments[0].text, n$1 = [];
16302		if (Array.isArray(e$1)) {
16303			var r$1 = 0;
16304			for (n$1 = [], r$1 = 0; r$1 < e$1.length; r$1 += 1) Array.isArray(e$1[r$1]) ? n$1.push([
16305				d$1(e$1[r$1][0]),
16306				e$1[r$1][1],
16307				e$1[r$1][2]
16308			]) : n$1.push([d$1(e$1[r$1])]);
16309			t$1 = n$1;
16310		} else t$1 = d$1(e$1);
16311		return "string" == typeof arguments[0] ? t$1 : (arguments[0].text = t$1, arguments[0]);
16312	};
16313	t.events.push(["preProcessText", p$1]);
16314}(E.API), E.API.autoPrint = function(t) {
16315	var e;
16316	return (t = t || {}).variant = t.variant || "non-conform", "javascript" === t.variant ? this.addJS("print({});") : (this.internal.events.subscribe("postPutResources", function() {
16317		e = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /Named"), this.internal.out("/Type /Action"), this.internal.out("/N /Print"), this.internal.out(">>"), this.internal.out("endobj");
16318	}), this.internal.events.subscribe("putCatalog", function() {
16319		this.internal.out("/OpenAction " + e + " 0 R");
16320	})), this;
16321}, function(t) {
16322	var e = function() {
16323		var t$1 = void 0;
16324		Object.defineProperty(this, "pdf", {
16325			get: function() {
16326				return t$1;
16327			},
16328			set: function(e$2) {
16329				t$1 = e$2;
16330			}
16331		});
16332		var e$1 = 150;
16333		Object.defineProperty(this, "width", {
16334			get: function() {
16335				return e$1;
16336			},
16337			set: function(t$2) {
16338				e$1 = isNaN(t$2) || !1 === Number.isInteger(t$2) || t$2 < 0 ? 150 : t$2, this.getContext("2d").pageWrapXEnabled && (this.getContext("2d").pageWrapX = e$1 + 1);
16339			}
16340		});
16341		var n = 300;
16342		Object.defineProperty(this, "height", {
16343			get: function() {
16344				return n;
16345			},
16346			set: function(t$2) {
16347				n = isNaN(t$2) || !1 === Number.isInteger(t$2) || t$2 < 0 ? 300 : t$2, this.getContext("2d").pageWrapYEnabled && (this.getContext("2d").pageWrapY = n + 1);
16348			}
16349		});
16350		var r = [];
16351		Object.defineProperty(this, "childNodes", {
16352			get: function() {
16353				return r;
16354			},
16355			set: function(t$2) {
16356				r = t$2;
16357			}
16358		});
16359		var i$2 = {};
16360		Object.defineProperty(this, "style", {
16361			get: function() {
16362				return i$2;
16363			},
16364			set: function(t$2) {
16365				i$2 = t$2;
16366			}
16367		}), Object.defineProperty(this, "parentNode", {});
16368	};
16369	e.prototype.getContext = function(t$1, e$1) {
16370		var n;
16371		if ("2d" !== (t$1 = t$1 || "2d")) return null;
16372		for (n in e$1) this.pdf.context2d.hasOwnProperty(n) && (this.pdf.context2d[n] = e$1[n]);
16373		return this.pdf.context2d._canvas = this, this.pdf.context2d;
16374	}, e.prototype.toDataURL = function() {
16375		throw new Error("toDataURL is not implemented.");
16376	}, t.events.push(["initialized", function() {
16377		this.canvas = new e(), this.canvas.pdf = this;
16378	}]);
16379}(E.API), function(e) {
16380	var n = {
16381		left: 0,
16382		top: 0,
16383		bottom: 0,
16384		right: 0
16385	}, r = !1, i$2 = function() {
16386		void 0 === this.internal.__cell__ && (this.internal.__cell__ = {}, this.internal.__cell__.padding = 3, this.internal.__cell__.headerFunction = void 0, this.internal.__cell__.margins = Object.assign({}, n), this.internal.__cell__.margins.width = this.getPageWidth(), a$1.call(this));
16387	}, a$1 = function() {
16388		this.internal.__cell__.lastCell = new o$1(), this.internal.__cell__.pages = 1;
16389	}, o$1 = function() {
16390		var t = arguments[0];
16391		Object.defineProperty(this, "x", {
16392			enumerable: !0,
16393			get: function() {
16394				return t;
16395			},
16396			set: function(e$2) {
16397				t = e$2;
16398			}
16399		});
16400		var e$1 = arguments[1];
16401		Object.defineProperty(this, "y", {
16402			enumerable: !0,
16403			get: function() {
16404				return e$1;
16405			},
16406			set: function(t$1) {
16407				e$1 = t$1;
16408			}
16409		});
16410		var n$1 = arguments[2];
16411		Object.defineProperty(this, "width", {
16412			enumerable: !0,
16413			get: function() {
16414				return n$1;
16415			},
16416			set: function(t$1) {
16417				n$1 = t$1;
16418			}
16419		});
16420		var r$1 = arguments[3];
16421		Object.defineProperty(this, "height", {
16422			enumerable: !0,
16423			get: function() {
16424				return r$1;
16425			},
16426			set: function(t$1) {
16427				r$1 = t$1;
16428			}
16429		});
16430		var i$3 = arguments[4];
16431		Object.defineProperty(this, "text", {
16432			enumerable: !0,
16433			get: function() {
16434				return i$3;
16435			},
16436			set: function(t$1) {
16437				i$3 = t$1;
16438			}
16439		});
16440		var a$2 = arguments[5];
16441		Object.defineProperty(this, "lineNumber", {
16442			enumerable: !0,
16443			get: function() {
16444				return a$2;
16445			},
16446			set: function(t$1) {
16447				a$2 = t$1;
16448			}
16449		});
16450		var o$2 = arguments[6];
16451		return Object.defineProperty(this, "align", {
16452			enumerable: !0,
16453			get: function() {
16454				return o$2;
16455			},
16456			set: function(t$1) {
16457				o$2 = t$1;
16458			}
16459		}), this;
16460	};
16461	o$1.prototype.clone = function() {
16462		return new o$1(this.x, this.y, this.width, this.height, this.text, this.lineNumber, this.align);
16463	}, o$1.prototype.toArray = function() {
16464		return [
16465			this.x,
16466			this.y,
16467			this.width,
16468			this.height,
16469			this.text,
16470			this.lineNumber,
16471			this.align
16472		];
16473	}, e.setHeaderFunction = function(t) {
16474		return i$2.call(this), this.internal.__cell__.headerFunction = "function" == typeof t ? t : void 0, this;
16475	}, e.getTextDimensions = function(t, e$1) {
16476		i$2.call(this);
16477		var n$1 = (e$1 = e$1 || {}).fontSize || this.getFontSize(), r$1 = e$1.font || this.getFont(), a$2 = e$1.scaleFactor || this.internal.scaleFactor, o$2 = 0, s$2 = 0, u$2 = 0, c$1 = this;
16478		if (!Array.isArray(t) && "string" != typeof t) {
16479			if ("number" != typeof t) throw new Error("getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.");
16480			t = String(t);
16481		}
16482		var l$1 = e$1.maxWidth;
16483		l$1 > 0 ? "string" == typeof t ? t = this.splitTextToSize(t, l$1) : "[object Array]" === Object.prototype.toString.call(t) && (t = t.reduce(function(t$1, e$2) {
16484			return t$1.concat(c$1.splitTextToSize(e$2, l$1));
16485		}, [])) : t = Array.isArray(t) ? t : [t];
16486		for (var h$1 = 0; h$1 < t.length; h$1++) o$2 < (u$2 = this.getStringUnitWidth(t[h$1], { font: r$1 }) * n$1) && (o$2 = u$2);
16487		return 0 !== o$2 && (s$2 = t.length), {
16488			w: o$2 /= a$2,
16489			h: Math.max((s$2 * n$1 * this.getLineHeightFactor() - n$1 * (this.getLineHeightFactor() - 1)) / a$2, 0)
16490		};
16491	}, e.cellAddPage = function() {
16492		i$2.call(this), this.addPage();
16493		var t = this.internal.__cell__.margins || n;
16494		return this.internal.__cell__.lastCell = new o$1(t.left, t.top, void 0, void 0), this.internal.__cell__.pages += 1, this;
16495	};
16496	var s$1 = e.cell = function() {
16497		var t = arguments[0] instanceof o$1 ? arguments[0] : new o$1(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]);
16498		i$2.call(this);
16499		var e$1 = this.internal.__cell__.lastCell, a$2 = this.internal.__cell__.padding, s$2 = this.internal.__cell__.margins || n, u$2 = this.internal.__cell__.tableHeaderRow, c$1 = this.internal.__cell__.printHeaders;
16500		return void 0 !== e$1.lineNumber && (e$1.lineNumber === t.lineNumber ? (t.x = (e$1.x || 0) + (e$1.width || 0), t.y = e$1.y || 0) : e$1.y + e$1.height + t.height + s$2.bottom > this.getPageHeight() ? (this.cellAddPage(), t.y = s$2.top, c$1 && u$2 && (this.printHeaderRow(t.lineNumber, !0), t.y += u$2[0].height)) : t.y = e$1.y + e$1.height || t.y), void 0 !== t.text[0] && (this.rect(t.x, t.y, t.width, t.height, !0 === r ? "FD" : void 0), "right" === t.align ? this.text(t.text, t.x + t.width - a$2, t.y + a$2, {
16501			align: "right",
16502			baseline: "top"
16503		}) : "center" === t.align ? this.text(t.text, t.x + t.width / 2, t.y + a$2, {
16504			align: "center",
16505			baseline: "top",
16506			maxWidth: t.width - a$2 - a$2
16507		}) : this.text(t.text, t.x + a$2, t.y + a$2, {
16508			align: "left",
16509			baseline: "top",
16510			maxWidth: t.width - a$2 - a$2
16511		})), this.internal.__cell__.lastCell = t, this;
16512	};
16513	e.table = function(e$1, r$1, c$1, l$1, h$1) {
16514		if (i$2.call(this), !c$1) throw new Error("No data for PDF table.");
16515		var f$1, d$1, p$1, g$1, m$1 = [], v$1 = [], b$1 = [], y$1 = {}, w$1 = {}, N$1 = [], L$1 = [], x$2 = (h$1 = h$1 || {}).autoSize || !1, A$1 = !1 !== h$1.printHeaders, S$1 = h$1.css && void 0 !== h$1.css["font-size"] ? 16 * h$1.css["font-size"] : h$1.fontSize || 12, _$1 = h$1.margins || Object.assign({ width: this.getPageWidth() }, n), P$1 = "number" == typeof h$1.padding ? h$1.padding : 3, k$1 = h$1.headerBackgroundColor || "#c8c8c8", F$1 = h$1.headerTextColor || "#000";
16516		if (a$1.call(this), this.internal.__cell__.printHeaders = A$1, this.internal.__cell__.margins = _$1, this.internal.__cell__.table_font_size = S$1, this.internal.__cell__.padding = P$1, this.internal.__cell__.headerBackgroundColor = k$1, this.internal.__cell__.headerTextColor = F$1, this.setFontSize(S$1), null == l$1) v$1 = m$1 = Object.keys(c$1[0]), b$1 = m$1.map(function() {
16517			return "left";
16518		});
16519		else if (Array.isArray(l$1) && "object" === _typeof(l$1[0])) for (m$1 = l$1.map(function(t) {
16520			return t.name;
16521		}), v$1 = l$1.map(function(t) {
16522			return t.prompt || t.name || "";
16523		}), b$1 = l$1.map(function(t) {
16524			return t.align || "left";
16525		}), f$1 = 0; f$1 < l$1.length; f$1 += 1) w$1[l$1[f$1].name] = .7499990551181103 * l$1[f$1].width;
16526		else Array.isArray(l$1) && "string" == typeof l$1[0] && (v$1 = m$1 = l$1, b$1 = m$1.map(function() {
16527			return "left";
16528		}));
16529		if (x$2 || Array.isArray(l$1) && "string" == typeof l$1[0]) for (f$1 = 0; f$1 < m$1.length; f$1 += 1) {
16530			for (y$1[g$1 = m$1[f$1]] = c$1.map(function(t) {
16531				return t[g$1];
16532			}), this.setFont(void 0, "bold"), N$1.push(this.getTextDimensions(v$1[f$1], {
16533				fontSize: this.internal.__cell__.table_font_size,
16534				scaleFactor: this.internal.scaleFactor
16535			}).w), d$1 = y$1[g$1], this.setFont(void 0, "normal"), p$1 = 0; p$1 < d$1.length; p$1 += 1) N$1.push(this.getTextDimensions(d$1[p$1], {
16536				fontSize: this.internal.__cell__.table_font_size,
16537				scaleFactor: this.internal.scaleFactor
16538			}).w);
16539			w$1[g$1] = Math.max.apply(null, N$1) + P$1 + P$1, N$1 = [];
16540		}
16541		if (A$1) {
16542			var I$1 = {};
16543			for (f$1 = 0; f$1 < m$1.length; f$1 += 1) I$1[m$1[f$1]] = {}, I$1[m$1[f$1]].text = v$1[f$1], I$1[m$1[f$1]].align = b$1[f$1];
16544			var j$1 = u$1.call(this, I$1, w$1);
16545			L$1 = m$1.map(function(t) {
16546				return new o$1(e$1, r$1, w$1[t], j$1, I$1[t].text, void 0, I$1[t].align);
16547			}), this.setTableHeaderRow(L$1), this.printHeaderRow(1, !1);
16548		}
16549		var C$1 = l$1.reduce(function(t, e$2) {
16550			return t[e$2.name] = e$2.align, t;
16551		}, {});
16552		for (f$1 = 0; f$1 < c$1.length; f$1 += 1) {
16553			"rowStart" in h$1 && h$1.rowStart instanceof Function && h$1.rowStart({
16554				row: f$1,
16555				data: c$1[f$1]
16556			}, this);
16557			var O$1 = u$1.call(this, c$1[f$1], w$1);
16558			for (p$1 = 0; p$1 < m$1.length; p$1 += 1) {
16559				var B$1 = c$1[f$1][m$1[p$1]];
16560				"cellStart" in h$1 && h$1.cellStart instanceof Function && h$1.cellStart({
16561					row: f$1,
16562					col: p$1,
16563					data: B$1
16564				}, this), s$1.call(this, new o$1(e$1, r$1, w$1[m$1[p$1]], O$1, B$1, f$1 + 2, C$1[m$1[p$1]]));
16565			}
16566		}
16567		return this.internal.__cell__.table_x = e$1, this.internal.__cell__.table_y = r$1, this;
16568	};
16569	var u$1 = function(t, e$1) {
16570		var n$1 = this.internal.__cell__.padding, r$1 = this.internal.__cell__.table_font_size, i$3 = this.internal.scaleFactor;
16571		return Object.keys(t).map(function(r$2) {
16572			var i$4 = t[r$2];
16573			return this.splitTextToSize(i$4.hasOwnProperty("text") ? i$4.text : i$4, e$1[r$2] - n$1 - n$1);
16574		}, this).map(function(t$1) {
16575			return this.getLineHeightFactor() * t$1.length * r$1 / i$3 + n$1 + n$1;
16576		}, this).reduce(function(t$1, e$2) {
16577			return Math.max(t$1, e$2);
16578		}, 0);
16579	};
16580	e.setTableHeaderRow = function(t) {
16581		i$2.call(this), this.internal.__cell__.tableHeaderRow = t;
16582	}, e.printHeaderRow = function(t, e$1) {
16583		if (i$2.call(this), !this.internal.__cell__.tableHeaderRow) throw new Error("Property tableHeaderRow does not exist.");
16584		var n$1;
16585		if (r = !0, "function" == typeof this.internal.__cell__.headerFunction) {
16586			var a$2 = this.internal.__cell__.headerFunction(this, this.internal.__cell__.pages);
16587			this.internal.__cell__.lastCell = new o$1(a$2[0], a$2[1], a$2[2], a$2[3], void 0, -1);
16588		}
16589		this.setFont(void 0, "bold");
16590		for (var u$2 = [], c$1 = 0; c$1 < this.internal.__cell__.tableHeaderRow.length; c$1 += 1) {
16591			n$1 = this.internal.__cell__.tableHeaderRow[c$1].clone(), e$1 && (n$1.y = this.internal.__cell__.margins.top || 0, u$2.push(n$1)), n$1.lineNumber = t;
16592			var l$1 = this.getTextColor();
16593			this.setTextColor(this.internal.__cell__.headerTextColor), this.setFillColor(this.internal.__cell__.headerBackgroundColor), s$1.call(this, n$1), this.setTextColor(l$1);
16594		}
16595		u$2.length > 0 && this.setTableHeaderRow(u$2), this.setFont(void 0, "normal"), r = !1;
16596	};
16597}(E.API);
16598var Pt = {
16599	italic: [
16600		"italic",
16601		"oblique",
16602		"normal"
16603	],
16604	oblique: [
16605		"oblique",
16606		"italic",
16607		"normal"
16608	],
16609	normal: [
16610		"normal",
16611		"oblique",
16612		"italic"
16613	]
16614}, kt = [
16615	"ultra-condensed",
16616	"extra-condensed",
16617	"condensed",
16618	"semi-condensed",
16619	"normal",
16620	"semi-expanded",
16621	"expanded",
16622	"extra-expanded",
16623	"ultra-expanded"
16624], Ft = _t(kt), It = [
16625	100,
16626	200,
16627	300,
16628	400,
16629	500,
16630	600,
16631	700,
16632	800,
16633	900
16634], jt = _t(It);
16635function Ct(t) {
16636	var e = t.family.replace(/"|'/g, "").toLowerCase(), n = function(t$1) {
16637		return Pt[t$1 = t$1 || "normal"] ? t$1 : "normal";
16638	}(t.style), r = function(t$1) {
16639		return t$1 ? "number" == typeof t$1 ? t$1 >= 100 && t$1 <= 900 && t$1 % 100 == 0 ? t$1 : 400 : /^\d00$/.test(t$1) ? parseInt(t$1) : "bold" === t$1 ? 700 : 400 : 400;
16640	}(t.weight), i$2 = function(t$1) {
16641		return "number" == typeof Ft[t$1 = t$1 || "normal"] ? t$1 : "normal";
16642	}(t.stretch);
16643	return {
16644		family: e,
16645		style: n,
16646		weight: r,
16647		stretch: i$2,
16648		src: t.src || [],
16649		ref: t.ref || {
16650			name: e,
16651			style: [
16652				i$2,
16653				n,
16654				r
16655			].join(" ")
16656		}
16657	};
16658}
16659function Ot(t, e, n, r) {
16660	var i$2;
16661	for (i$2 = n; i$2 >= 0 && i$2 < e.length; i$2 += r) if (t[e[i$2]]) return t[e[i$2]];
16662	for (i$2 = n; i$2 >= 0 && i$2 < e.length; i$2 -= r) if (t[e[i$2]]) return t[e[i$2]];
16663}
16664var Bt = {
16665	"sans-serif": "helvetica",
16666	fixed: "courier",
16667	monospace: "courier",
16668	terminal: "courier",
16669	cursive: "times",
16670	fantasy: "times",
16671	serif: "times"
16672}, Mt = {
16673	caption: "times",
16674	icon: "times",
16675	menu: "times",
16676	"message-box": "times",
16677	"small-caption": "times",
16678	"status-bar": "times"
16679};
16680function qt(t) {
16681	return [
16682		t.stretch,
16683		t.style,
16684		t.weight,
16685		t.family
16686	].join(" ");
16687}
16688function Et(t) {
16689	return t.trimLeft();
16690}
16691function Rt(t, e) {
16692	for (var n = 0; n < t.length;) {
16693		if (t.charAt(n) === e) return [t.substring(0, n), t.substring(n + 1)];
16694		n += 1;
16695	}
16696	return null;
16697}
16698function Dt(t) {
16699	var e = t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);
16700	return null === e ? null : [e[0], t.substring(e[0].length)];
16701}
16702var Tt, zt, Ut, Ht, Wt, Vt, Gt, Yt, Jt = ["times"];
16703function Xt(t, n, r, i$2, a$1) {
16704	var o$1 = 4, s$1 = $t;
16705	switch (a$1) {
16706		case E.API.image_compression.FAST:
16707			o$1 = 1, s$1 = Zt;
16708			break;
16709		case E.API.image_compression.MEDIUM:
16710			o$1 = 6, s$1 = Qt;
16711			break;
16712		case E.API.image_compression.SLOW: o$1 = 9, s$1 = te;
16713	}
16714	t = function(t$1, e, n$1, r$1) {
16715		for (var i$3, a$2 = t$1.length / e, o$2 = new Uint8Array(t$1.length + a$2), s$2 = [
16716			Kt,
16717			Zt,
16718			$t,
16719			Qt,
16720			te
16721		], u$2 = 0; u$2 < a$2; u$2 += 1) {
16722			var c$1 = u$2 * e, l$1 = t$1.subarray(c$1, c$1 + e);
16723			if (r$1) o$2.set(r$1(l$1, n$1, i$3), c$1 + u$2);
16724			else {
16725				for (var h$1 = s$2.length, f$1 = [], d$1 = 0; d$1 < h$1; d$1 += 1) f$1[d$1] = s$2[d$1](l$1, n$1, i$3);
16726				var p$1 = ne(f$1.concat());
16727				o$2.set(f$1[p$1], c$1 + u$2);
16728			}
16729			i$3 = l$1;
16730		}
16731		return o$2;
16732	}(t, n, Math.ceil(r * i$2 / 8), s$1);
16733	var u$1 = zlibSync(t, { level: o$1 });
16734	return E.API.__addimage__.arrayBufferToBinaryString(u$1);
16735}
16736function Kt(t) {
16737	var e = Array.apply([], t);
16738	return e.unshift(0), e;
16739}
16740function Zt(t, e) {
16741	var n = t.length, r = [];
16742	r[0] = 1;
16743	for (var i$2 = 0; i$2 < n; i$2 += 1) {
16744		var a$1 = t[i$2 - e] || 0;
16745		r[i$2 + 1] = t[i$2] - a$1 + 256 & 255;
16746	}
16747	return r;
16748}
16749function $t(t, e, n) {
16750	var r = t.length, i$2 = [];
16751	i$2[0] = 2;
16752	for (var a$1 = 0; a$1 < r; a$1 += 1) {
16753		var o$1 = n && n[a$1] || 0;
16754		i$2[a$1 + 1] = t[a$1] - o$1 + 256 & 255;
16755	}
16756	return i$2;
16757}
16758function Qt(t, e, n) {
16759	var r = t.length, i$2 = [];
16760	i$2[0] = 3;
16761	for (var a$1 = 0; a$1 < r; a$1 += 1) {
16762		var o$1 = t[a$1 - e] || 0, s$1 = n && n[a$1] || 0;
16763		i$2[a$1 + 1] = t[a$1] + 256 - (o$1 + s$1 >>> 1) & 255;
16764	}
16765	return i$2;
16766}
16767function te(t, e, n) {
16768	var r = t.length, i$2 = [];
16769	i$2[0] = 4;
16770	for (var a$1 = 0; a$1 < r; a$1 += 1) {
16771		var o$1 = ee(t[a$1 - e] || 0, n && n[a$1] || 0, n && n[a$1 - e] || 0);
16772		i$2[a$1 + 1] = t[a$1] - o$1 + 256 & 255;
16773	}
16774	return i$2;
16775}
16776function ee(t, e, n) {
16777	if (t === e && e === n) return t;
16778	var r = Math.abs(e - n), i$2 = Math.abs(t - n), a$1 = Math.abs(t + e - n - n);
16779	return r <= i$2 && r <= a$1 ? t : i$2 <= a$1 ? e : n;
16780}
16781function ne(t) {
16782	var e = t.map(function(t$1) {
16783		return t$1.reduce(function(t$2, e$1) {
16784			return t$2 + Math.abs(e$1);
16785		}, 0);
16786	});
16787	return e.indexOf(Math.min.apply(null, e));
16788}
16789function re(t, e, n) {
16790	var r = e * n, i$2 = Math.floor(r / 8), a$1 = 16 - (r - 8 * i$2 + n), o$1 = (1 << n) - 1;
16791	return ae(t, i$2) >> a$1 & o$1;
16792}
16793function ie(t, e, n, r) {
16794	var i$2 = n * r, a$1 = Math.floor(i$2 / 8), o$1 = 16 - (i$2 - 8 * a$1 + r), s$1 = (1 << r) - 1, u$1 = (e & s$1) << o$1;
16795	(function(t$1, e$1, n$1) {
16796		if (e$1 + 1 < t$1.byteLength) t$1.setUint16(e$1, n$1, !1);
16797		else {
16798			var r$1 = n$1 >> 8 & 255;
16799			t$1.setUint8(e$1, r$1);
16800		}
16801	})(t, a$1, ae(t, a$1) & ~(s$1 << o$1) & 65535 | u$1);
16802}
16803function ae(t, e) {
16804	return e + 1 < t.byteLength ? t.getUint16(e, !1) : t.getUint8(e) << 8;
16805}
16806function oe(t) {
16807	var e = 0;
16808	if (71 !== t[e++] || 73 !== t[e++] || 70 !== t[e++] || 56 !== t[e++] || 56 != (t[e++] + 1 & 253) || 97 !== t[e++]) throw new Error("Invalid GIF 87a/89a header.");
16809	var n = t[e++] | t[e++] << 8, r = t[e++] | t[e++] << 8, i$2 = t[e++], a$1 = i$2 >> 7, o$1 = 1 << 1 + (7 & i$2);
16810	t[e++], t[e++];
16811	var s$1 = null, u$1 = null;
16812	a$1 && (s$1 = e, u$1 = o$1, e += 3 * o$1);
16813	var c$1 = !0, l$1 = [], h$1 = 0, f$1 = null, d$1 = 0, p$1 = null;
16814	for (this.width = n, this.height = r; c$1 && e < t.length;
vendor: 6,211 bytes, lines 16814-16954
16814) switch (t[e++]) {
16815		case 33:
16816			switch (t[e++]) {
16817				case 255:
16818					if (11 !== t[e] || 78 == t[e + 1] && 69 == t[e + 2] && 84 == t[e + 3] && 83 == t[e + 4] && 67 == t[e + 5] && 65 == t[e + 6] && 80 == t[e + 7] && 69 == t[e + 8] && 50 == t[e + 9] && 46 == t[e + 10] && 48 == t[e + 11] && 3 == t[e + 12] && 1 == t[e + 13] && 0 == t[e + 16]) e += 14, p$1 = t[e++] | t[e++] << 8, e++;
16819					else for (e += 12;;) {
16820						if (!((P$1 = t[e++]) >= 0)) throw Error("Invalid block size");
16821						if (0 === P$1) break;
16822						e += P$1;
16823					}
16824					break;
16825				case 249:
16826					if (4 !== t[e++] || 0 !== t[e + 4]) throw new Error("Invalid graphics extension block.");
16827					var g$1 = t[e++];
16828					h$1 = t[e++] | t[e++] << 8, f$1 = t[e++], 1 & g$1 || (f$1 = null), d$1 = g$1 >> 2 & 7, e++;
16829					break;
16830				case 254:
16831					for (;;) {
16832						if (!((P$1 = t[e++]) >= 0)) throw Error("Invalid block size");
16833						if (0 === P$1) break;
16834						e += P$1;
16835					}
16836					break;
16837				default: throw new Error("Unknown graphic control label: 0x" + t[e - 1].toString(16));
16838			}
16839			break;
16840		case 44:
16841			var m$1 = t[e++] | t[e++] << 8, v$1 = t[e++] | t[e++] << 8, b$1 = t[e++] | t[e++] << 8, y$1 = t[e++] | t[e++] << 8, w$1 = t[e++], N$1 = w$1 >> 6 & 1, L$1 = 1 << 1 + (7 & w$1), x$2 = s$1, A$1 = u$1, S$1 = !1;
16842			w$1 >> 7 && (S$1 = !0, x$2 = e, A$1 = L$1, e += 3 * L$1);
16843			var _$1 = e;
16844			for (e++;;) {
16845				var P$1;
16846				if (!((P$1 = t[e++]) >= 0)) throw Error("Invalid block size");
16847				if (0 === P$1) break;
16848				e += P$1;
16849			}
16850			l$1.push({
16851				x: m$1,
16852				y: v$1,
16853				width: b$1,
16854				height: y$1,
16855				has_local_palette: S$1,
16856				palette_offset: x$2,
16857				palette_size: A$1,
16858				data_offset: _$1,
16859				data_length: e - _$1,
16860				transparent_index: f$1,
16861				interlaced: !!N$1,
16862				delay: h$1,
16863				disposal: d$1
16864			});
16865			break;
16866		case 59:
16867			c$1 = !1;
16868			break;
16869		default: throw new Error("Unknown gif block: 0x" + t[e - 1].toString(16));
16870	}
16871	this.numFrames = function() {
16872		return l$1.length;
16873	}, this.loopCount = function() {
16874		return p$1;
16875	}, this.frameInfo = function(t$1) {
16876		if (t$1 < 0 || t$1 >= l$1.length) throw new Error("Frame index out of range.");
16877		return l$1[t$1];
16878	}, this.decodeAndBlitFrameBGRA = function(e$1, r$1) {
16879		var i$3 = this.frameInfo(e$1), a$2 = i$3.width * i$3.height, o$2 = new Uint8Array(a$2);
16880		se(t, i$3.data_offset, o$2, a$2);
16881		var s$2 = i$3.palette_offset, u$2 = i$3.transparent_index;
16882		null === u$2 && (u$2 = 256);
16883		var c$2 = i$3.width, l$2 = n - c$2, h$2 = c$2, f$2 = 4 * (i$3.y * n + i$3.x), d$2 = 4 * ((i$3.y + i$3.height) * n + i$3.x), p$2 = f$2, g$2 = 4 * l$2;
16884		!0 === i$3.interlaced && (g$2 += 4 * n * 7);
16885		for (var m$2 = 8, v$2 = 0, b$2 = o$2.length; v$2 < b$2; ++v$2) {
16886			var y$2 = o$2[v$2];
16887			if (0 === h$2 && (h$2 = c$2, (p$2 += g$2) >= d$2 && (g$2 = 4 * l$2 + 4 * n * (m$2 - 1), p$2 = f$2 + (c$2 + l$2) * (m$2 << 1), m$2 >>= 1)), y$2 === u$2) p$2 += 4;
16888			else {
16889				var w$2 = t[s$2 + 3 * y$2], N$2 = t[s$2 + 3 * y$2 + 1], L$2 = t[s$2 + 3 * y$2 + 2];
16890				r$1[p$2++] = L$2, r$1[p$2++] = N$2, r$1[p$2++] = w$2, r$1[p$2++] = 255;
16891			}
16892			--h$2;
16893		}
16894	}, this.decodeAndBlitFrameRGBA = function(e$1, r$1) {
16895		var i$3 = this.frameInfo(e$1), a$2 = i$3.width * i$3.height, o$2 = new Uint8Array(a$2);
16896		se(t, i$3.data_offset, o$2, a$2);
16897		var s$2 = i$3.palette_offset, u$2 = i$3.transparent_index;
16898		null === u$2 && (u$2 = 256);
16899		var c$2 = i$3.width, l$2 = n - c$2, h$2 = c$2, f$2 = 4 * (i$3.y * n + i$3.x), d$2 = 4 * ((i$3.y + i$3.height) * n + i$3.x), p$2 = f$2, g$2 = 4 * l$2;
16900		!0 === i$3.interlaced && (g$2 += 4 * n * 7);
16901		for (var m$2 = 8, v$2 = 0, b$2 = o$2.length; v$2 < b$2; ++v$2) {
16902			var y$2 = o$2[v$2];
16903			if (0 === h$2 && (h$2 = c$2, (p$2 += g$2) >= d$2 && (g$2 = 4 * l$2 + 4 * n * (m$2 - 1), p$2 = f$2 + (c$2 + l$2) * (m$2 << 1), m$2 >>= 1)), y$2 === u$2) p$2 += 4;
16904			else {
16905				var w$2 = t[s$2 + 3 * y$2], N$2 = t[s$2 + 3 * y$2 + 1], L$2 = t[s$2 + 3 * y$2 + 2];
16906				r$1[p$2++] = w$2, r$1[p$2++] = N$2, r$1[p$2++] = L$2, r$1[p$2++] = 255;
16907			}
16908			--h$2;
16909		}
16910	};
16911}
16912function se(t, e, n, r) {
16913	for (var i$2 = t[e++], a$1 = 1 << i$2, s$1 = a$1 + 1, u$1 = s$1 + 1, c$1 = i$2 + 1, l$1 = (1 << c$1) - 1, h$1 = 0, f$1 = 0, d$1 = 0, p$1 = t[e++], g$1 = new Int32Array(4096), m$1 = null;;) {
16914		for (; h$1 < 16 && 0 !== p$1;) f$1 |= t[e++] << h$1, h$1 += 8, 1 === p$1 ? p$1 = t[e++] : --p$1;
16915		if (h$1 < c$1) break;
16916		var v$1 = f$1 & l$1;
16917		if (f$1 >>= c$1, h$1 -= c$1, v$1 !== a$1) {
16918			if (v$1 === s$1) break;
16919			for (var b$1 = v$1 < u$1 ? v$1 : m$1, y$1 = 0, w$1 = b$1; w$1 > a$1;) w$1 = g$1[w$1] >> 8, ++y$1;
16920			var N$1 = w$1;
16921			if (d$1 + y$1 + (b$1 !== v$1 ? 1 : 0) > r) return void o.log("Warning, gif stream longer than expected.");
16922			n[d$1++] = N$1;
16923			var L$1 = d$1 += y$1;
16924			for (b$1 !== v$1 && (n[d$1++] = N$1), w$1 = b$1; y$1--;) w$1 = g$1[w$1], n[--L$1] = 255 & w$1, w$1 >>= 8;
16925			null !== m$1 && u$1 < 4096 && (g$1[u$1++] = m$1 << 8 | N$1, u$1 >= l$1 + 1 && c$1 < 12 && (++c$1, l$1 = l$1 << 1 | 1)), m$1 = v$1;
16926		} else u$1 = s$1 + 1, l$1 = (1 << (c$1 = i$2 + 1)) - 1, m$1 = null;
16927	}
16928	return d$1 !== r && o.log("Warning, gif stream shorter than expected."), n;
16929}
16930/**
16931* @license
16932Copyright (c) 2008, Adobe Systems Incorporated
16933All rights reserved.
16934
16935Redistribution and use in source and binary forms, with or without 
16936modification, are permitted provided that the following conditions are
16937met:
16938
16939* Redistributions of source code must retain the above copyright notice, 
16940this list of conditions and the following disclaimer.
16941
16942* Redistributions in binary form must reproduce the above copyright
16943notice, this list of conditions and the following disclaimer in the 
16944documentation and/or other materials provided with the distribution.
16945
16946* Neither the name of Adobe Systems Incorporated nor the names of its 
16947contributors may be used to endorse or promote products derived from 
16948this software without specific prior written permission.
16949
16950THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
16951IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
16952THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16953PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
16954CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
16955EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
16956PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
16957PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
16958LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
16959NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
16960SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16961*/ function ue(t) {
16962	var e, n, r, i$2, a$1, o$1 = Math.floor, s$1 = new Array(64), u$1 = new Array(64), c$1 = new Array(64), l$1 = new Array(64), h$1 = new Array(65535), f$1 = new Array(65535), d$1 = new Array(64), p$1 = new Array(64), g$1 = [], m$1 = 0, v$1 = 7, b$1 = new Array(64), y$1 = new Array(64), w$1 = new Array(64), N$1 = new Array(256), L$1 = new Array(2048), x$2 = [
16963		0,
16964		1,
16965		5,
16966		6,
16967		14,
16968		15,
16969		27,
16970		28,
16971		2,
16972		4,
16973		7,
16974		13,
16975		16,
16976		26,
16977		29,
16978		42,
16979		3,
16980		8,
16981		12,
16982		17,
16983		25,
16984		30,
16985		41,
16986		43,
16987		9,
16988		11,
16989		18,
16990		24,
16991		31,
16992		40,
16993		44,
16994		53,
16995		10,
16996		19,
16997		23,
16998		32,
16999		39,
17000		45,
17001		52,
17002		54,
17003		20,
17004		22,
17005		33,
17006		38,
17007		46,
17008		51,
17009		55,
17010		60,
17011		21,
17012		34,
17013		37,
17014		47,
17015		50,
17016		56,
17017		59,
17018		61,
17019		35,
17020		36,
17021		48,
17022		49,
17023		57,
17024		58,
17025		62,
17026		63
17027	], A$1 = [
17028		0,
17029		0,
17030		1,
17031		5,
17032		1,
17033		1,
17034		1,
17035		1,
17036		1,
17037		1,
17038		0,
17039		0,
17040		0,
17041		0,
17042		0,
17043		0,
17044		0
17045	], S$1 = [
17046		0,
17047		1,
17048		2,
17049		3,
17050		4,
17051		5,
17052		6,
17053		7,
17054		8,
17055		9,
17056		10,
17057		11
17058	], _$1 = [
17059		0,
17060		0,
17061		2,
17062		1,
17063		3,
17064		3,
17065		2,
17066		4,
17067		3,
17068		5,
17069		5,
17070		4,
17071		4,
17072		0,
vendor: 4,919 bytes, lines 17073-17487
17073		0,
17074		1,
17075		125
17076	], P$1 = [
17077		1,
17078		2,
17079		3,
17080		0,
17081		4,
17082		17,
17083		5,
17084		18,
17085		33,
17086		49,
17087		65,
17088		6,
17089		19,
17090		81,
17091		97,
17092		7,
17093		34,
17094		113,
17095		20,
17096		50,
17097		129,
17098		145,
17099		161,
17100		8,
17101		35,
17102		66,
17103		177,
17104		193,
17105		21,
17106		82,
17107		209,
17108		240,
17109		36,
17110		51,
17111		98,
17112		114,
17113		130,
17114		9,
17115		10,
17116		22,
17117		23,
17118		24,
17119		25,
17120		26,
17121		37,
17122		38,
17123		39,
17124		40,
17125		41,
17126		42,
17127		52,
17128		53,
17129		54,
17130		55,
17131		56,
17132		57,
17133		58,
17134		67,
17135		68,
17136		69,
17137		70,
17138		71,
17139		72,
17140		73,
17141		74,
17142		83,
17143		84,
17144		85,
17145		86,
17146		87,
17147		88,
17148		89,
17149		90,
17150		99,
17151		100,
17152		101,
17153		102,
17154		103,
17155		104,
17156		105,
17157		106,
17158		115,
17159		116,
17160		117,
17161		118,
17162		119,
17163		120,
17164		121,
17165		122,
17166		131,
17167		132,
17168		133,
17169		134,
17170		135,
17171		136,
17172		137,
17173		138,
17174		146,
17175		147,
17176		148,
17177		149,
17178		150,
17179		151,
17180		152,
17181		153,
17182		154,
17183		162,
17184		163,
17185		164,
17186		165,
17187		166,
17188		167,
17189		168,
17190		169,
17191		170,
17192		178,
17193		179,
17194		180,
17195		181,
17196		182,
17197		183,
17198		184,
17199		185,
17200		186,
17201		194,
17202		195,
17203		196,
17204		197,
17205		198,
17206		199,
17207		200,
17208		201,
17209		202,
17210		210,
17211		211,
17212		212,
17213		213,
17214		214,
17215		215,
17216		216,
17217		217,
17218		218,
17219		225,
17220		226,
17221		227,
17222		228,
17223		229,
17224		230,
17225		231,
17226		232,
17227		233,
17228		234,
17229		241,
17230		242,
17231		243,
17232		244,
17233		245,
17234		246,
17235		247,
17236		248,
17237		249,
17238		250
17239	], k$1 = [
17240		0,
17241		0,
17242		3,
17243		1,
17244		1,
17245		1,
17246		1,
17247		1,
17248		1,
17249		1,
17250		1,
17251		1,
17252		0,
17253		0,
17254		0,
17255		0,
17256		0
17257	], F$1 = [
17258		0,
17259		1,
17260		2,
17261		3,
17262		4,
17263		5,
17264		6,
17265		7,
17266		8,
17267		9,
17268		10,
17269		11
17270	], I$1 = [
17271		0,
17272		0,
17273		2,
17274		1,
17275		2,
17276		4,
17277		4,
17278		3,
17279		4,
17280		7,
17281		5,
17282		4,
17283		4,
17284		0,
17285		1,
17286		2,
17287		119
17288	], j$1 = [
17289		0,
17290		1,
17291		2,
17292		3,
17293		17,
17294		4,
17295		5,
17296		33,
17297		49,
17298		6,
17299		18,
17300		65,
17301		81,
17302		7,
17303		97,
17304		113,
17305		19,
17306		34,
17307		50,
17308		129,
17309		8,
17310		20,
17311		66,
17312		145,
17313		161,
17314		177,
17315		193,
17316		9,
17317		35,
17318		51,
17319		82,
17320		240,
17321		21,
17322		98,
17323		114,
17324		209,
17325		10,
17326		22,
17327		36,
17328		52,
17329		225,
17330		37,
17331		241,
17332		23,
17333		24,
17334		25,
17335		26,
17336		38,
17337		39,
17338		40,
17339		41,
17340		42,
17341		53,
17342		54,
17343		55,
17344		56,
17345		57,
17346		58,
17347		67,
17348		68,
17349		69,
17350		70,
17351		71,
17352		72,
17353		73,
17354		74,
17355		83,
17356		84,
17357		85,
17358		86,
17359		87,
17360		88,
17361		89,
17362		90,
17363		99,
17364		100,
17365		101,
17366		102,
17367		103,
17368		104,
17369		105,
17370		106,
17371		115,
17372		116,
17373		117,
17374		118,
17375		119,
17376		120,
17377		121,
17378		122,
17379		130,
17380		131,
17381		132,
17382		133,
17383		134,
17384		135,
17385		136,
17386		137,
17387		138,
17388		146,
17389		147,
17390		148,
17391		149,
17392		150,
17393		151,
17394		152,
17395		153,
17396		154,
17397		162,
17398		163,
17399		164,
17400		165,
17401		166,
17402		167,
17403		168,
17404		169,
17405		170,
17406		178,
17407		179,
17408		180,
17409		181,
17410		182,
17411		183,
17412		184,
17413		185,
17414		186,
17415		194,
17416		195,
17417		196,
17418		197,
17419		198,
17420		199,
17421		200,
17422		201,
17423		202,
17424		210,
17425		211,
17426		212,
17427		213,
17428		214,
17429		215,
17430		216,
17431		217,
17432		218,
17433		226,
17434		227,
17435		228,
17436		229,
17437		230,
17438		231,
17439		232,
17440		233,
17441		234,
17442		242,
17443		243,
17444		244,
17445		245,
17446		246,
17447		247,
17448		248,
17449		249,
17450		250
17451	];
17452	function C$1(t$1, e$1) {
17453		for (var n$1 = 0, r$1 = 0, i$3 = new Array(), a$2 = 1; a$2 <= 16; a$2++) {
17454			for (var o$2 = 1; o$2 <= t$1[a$2]; o$2++) i$3[e$1[r$1]] = [], i$3[e$1[r$1]][0] = n$1, i$3[e$1[r$1]][1] = a$2, r$1++, n$1++;
17455			n$1 *= 2;
17456		}
17457		return i$3;
17458	}
17459	function O$1(t$1) {
17460		for (var e$1 = t$1[0], n$1 = t$1[1] - 1; n$1 >= 0;) e$1 & 1 << n$1 && (m$1 |= 1 << v$1), n$1--, --v$1 < 0 && (255 == m$1 ? (B$1(255), B$1(0)) : B$1(m$1), v$1 = 7, m$1 = 0);
17461	}
17462	function B$1(t$1) {
17463		g$1.push(t$1);
17464	}
17465	function M$1(t$1) {
17466		B$1(t$1 >> 8 & 255), B$1(255 & t$1);
17467	}
17468	function q$1(t$1, e$1, n$1, r$1, i$3) {
17469		for (var a$2, o$2 = i$3[0], s$2 = i$3[240], u$2 = function(t$2, e$2) {
17470			var n$2, r$2, i$4, a$3, o$3, s$3, u$3, c$3, l$3, h$2, f$2 = 0;
17471			for (l$3 = 0; l$3 < 8; ++l$3) {
17472				n$2 = t$2[f$2], r$2 = t$2[f$2 + 1], i$4 = t$2[f$2 + 2], a$3 = t$2[f$2 + 3], o$3 = t$2[f$2 + 4], s$3 = t$2[f$2 + 5], u$3 = t$2[f$2 + 6];
17473				var p$2 = n$2 + (c$3 = t$2[f$2 + 7]), g$3 = n$2 - c$3, m$3 = r$2 + u$3, v$3 = r$2 - u$3, b$3 = i$4 + s$3, y$3 = i$4 - s$3, w$3 = a$3 + o$3, N$2 = a$3 - o$3, L$2 = p$2 + w$3, x$3 = p$2 - w$3, A$2 = m$3 + b$3, S$2 = m$3 - b$3;
17474				t$2[f$2] = L$2 + A$2, t$2[f$2 + 4] = L$2 - A$2;
17475				var _$2 = .707106781 * (S$2 + x$3);
17476				t$2[f$2 + 2] = x$3 + _$2, t$2[f$2 + 6] = x$3 - _$2;
17477				var P$2 = .382683433 * ((L$2 = N$2 + y$3) - (S$2 = v$3 + g$3)), k$2 = .5411961 * L$2 + P$2, F$2 = 1.306562965 * S$2 + P$2, I$2 = .707106781 * (A$2 = y$3 + v$3), j$2 = g$3 + I$2, C$2 = g$3 - I$2;
17478				t$2[f$2 + 5] = C$2 + k$2, t$2[f$2 + 3] = C$2 - k$2, t$2[f$2 + 1] = j$2 + F$2, t$2[f$2 + 7] = j$2 - F$2, f$2 += 8;
17479			}
17480			for (f$2 = 0, l$3 = 0; l$3 < 8; ++l$3) {
17481				n$2 = t$2[f$2], r$2 = t$2[f$2 + 8], i$4 = t$2[f$2 + 16], a$3 = t$2[f$2 + 24], o$3 = t$2[f$2 + 32], s$3 = t$2[f$2 + 40], u$3 = t$2[f$2 + 48];
17482				var O$2 = n$2 + (c$3 = t$2[f$2 + 56]), B$2 = n$2 - c$3, M$2 = r$2 + u$3, q$2 = r$2 - u$3, E$2 = i$4 + s$3, R$1 = i$4 - s$3, D$1 = a$3 + o$3, T$1 = a$3 - o$3, z$1 = O$2 + D$1, U$1 = O$2 - D$1, H$1 = M$2 + E$2, W$1 = M$2 - E$2;
17483				t$2[f$2] = z$1 + H$1, t$2[f$2 + 32] = z$1 - H$1;
17484				var V$1 = .707106781 * (W$1 + U$1);
17485				t$2[f$2 + 16] = U$1 + V$1, t$2[f$2 + 48] = U$1 - V$1;
17486				var G$1 = .382683433 * ((z$1 = T$1 + R$1) - (W$1 = q$2 + B$2)), Y$1 = .5411961 * z$1 + G$1, J$1 = 1.306562965 * W$1 + G$1, X$1 = .707106781 * (H$1 = R$1 + q$2), K$1 = B$2 + X$1, Z$1 = B$2 - X$1;
17487				t$2[f$2 + 40] = Z$1 + Y$1, t$2[f$2 + 24] = Z$1 - Y$1, t$2[f$2 + 8] = K$1 + J$1, t$2[f$2 + 56] = 
vendor: 21,832 bytes, lines 17487-18061
17487K$1 - J$1, f$2++;
17488			}
17489			for (l$3 = 0; l$3 < 64; ++l$3) h$2 = t$2[l$3] * e$2[l$3], d$1[l$3] = h$2 > 0 ? h$2 + .5 | 0 : h$2 - .5 | 0;
17490			return d$1;
17491		}(t$1, e$1), c$2 = 0; c$2 < 64; ++c$2) p$1[x$2[c$2]] = u$2[c$2];
17492		var l$2 = p$1[0] - n$1;
17493		n$1 = p$1[0], 0 == l$2 ? O$1(r$1[0]) : (O$1(r$1[f$1[a$2 = 32767 + l$2]]), O$1(h$1[a$2]));
17494		for (var g$2 = 63; g$2 > 0 && 0 == p$1[g$2];) g$2--;
17495		if (0 == g$2) return O$1(o$2), n$1;
17496		for (var m$2, v$2 = 1; v$2 <= g$2;) {
17497			for (var b$2 = v$2; 0 == p$1[v$2] && v$2 <= g$2;) ++v$2;
17498			var y$2 = v$2 - b$2;
17499			if (y$2 >= 16) {
17500				m$2 = y$2 >> 4;
17501				for (var w$2 = 1; w$2 <= m$2; ++w$2) O$1(s$2);
17502				y$2 &= 15;
17503			}
17504			a$2 = 32767 + p$1[v$2], O$1(i$3[(y$2 << 4) + f$1[a$2]]), O$1(h$1[a$2]), v$2++;
17505		}
17506		return 63 != g$2 && O$1(o$2), n$1;
17507	}
17508	function E$1(t$1) {
17509		t$1 = Math.min(Math.max(t$1, 1), 100), a$1 != t$1 && (function(t$2) {
17510			for (var e$1 = [
17511				16,
17512				11,
17513				10,
17514				16,
17515				24,
17516				40,
17517				51,
17518				61,
17519				12,
17520				12,
17521				14,
17522				19,
17523				26,
17524				58,
17525				60,
17526				55,
17527				14,
17528				13,
17529				16,
17530				24,
17531				40,
17532				57,
17533				69,
17534				56,
17535				14,
17536				17,
17537				22,
17538				29,
17539				51,
17540				87,
17541				80,
17542				62,
17543				18,
17544				22,
17545				37,
17546				56,
17547				68,
17548				109,
17549				103,
17550				77,
17551				24,
17552				35,
17553				55,
17554				64,
17555				81,
17556				104,
17557				113,
17558				92,
17559				49,
17560				64,
17561				78,
17562				87,
17563				103,
17564				121,
17565				120,
17566				101,
17567				72,
17568				92,
17569				95,
17570				98,
17571				112,
17572				100,
17573				103,
17574				99
17575			], n$1 = 0; n$1 < 64; n$1++) {
17576				var r$1 = o$1((e$1[n$1] * t$2 + 50) / 100);
17577				r$1 = Math.min(Math.max(r$1, 1), 255), s$1[x$2[n$1]] = r$1;
17578			}
17579			for (var i$3 = [
17580				17,
17581				18,
17582				24,
17583				47,
17584				99,
17585				99,
17586				99,
17587				99,
17588				18,
17589				21,
17590				26,
17591				66,
17592				99,
17593				99,
17594				99,
17595				99,
17596				24,
17597				26,
17598				56,
17599				99,
17600				99,
17601				99,
17602				99,
17603				99,
17604				47,
17605				66,
17606				99,
17607				99,
17608				99,
17609				99,
17610				99,
17611				99,
17612				99,
17613				99,
17614				99,
17615				99,
17616				99,
17617				99,
17618				99,
17619				99,
17620				99,
17621				99,
17622				99,
17623				99,
17624				99,
17625				99,
17626				99,
17627				99,
17628				99,
17629				99,
17630				99,
17631				99,
17632				99,
17633				99,
17634				99,
17635				99,
17636				99,
17637				99,
17638				99,
17639				99,
17640				99,
17641				99,
17642				99,
17643				99
17644			], a$2 = 0; a$2 < 64; a$2++) {
17645				var h$2 = o$1((i$3[a$2] * t$2 + 50) / 100);
17646				h$2 = Math.min(Math.max(h$2, 1), 255), u$1[x$2[a$2]] = h$2;
17647			}
17648			for (var f$2 = [
17649				1,
17650				1.387039845,
17651				1.306562965,
17652				1.175875602,
17653				1,
17654				.785694958,
17655				.5411961,
17656				.275899379
17657			], d$2 = 0, p$2 = 0; p$2 < 8; p$2++) for (var g$2 = 0; g$2 < 8; g$2++) c$1[d$2] = 1 / (s$1[x$2[d$2]] * f$2[p$2] * f$2[g$2] * 8), l$1[d$2] = 1 / (u$1[x$2[d$2]] * f$2[p$2] * f$2[g$2] * 8), d$2++;
17658		}(t$1 < 50 ? Math.floor(5e3 / t$1) : Math.floor(200 - 2 * t$1)), a$1 = t$1);
17659	}
17660	this.encode = function(t$1, a$2) {
17661		a$2 && E$1(a$2), g$1 = new Array(), m$1 = 0, v$1 = 7, M$1(65496), M$1(65504), M$1(16), B$1(74), B$1(70), B$1(73), B$1(70), B$1(0), B$1(1), B$1(1), B$1(0), M$1(1), M$1(1), B$1(0), B$1(0), function() {
17662			M$1(65499), M$1(132), B$1(0);
17663			for (var t$2 = 0; t$2 < 64; t$2++) B$1(s$1[t$2]);
17664			B$1(1);
17665			for (var e$1 = 0; e$1 < 64; e$1++) B$1(u$1[e$1]);
17666		}(), function(t$2, e$1) {
17667			M$1(65472), M$1(17), B$1(8), M$1(e$1), M$1(t$2), B$1(3), B$1(1), B$1(17), B$1(0), B$1(2), B$1(17), B$1(1), B$1(3), B$1(17), B$1(1);
17668		}(t$1.width, t$1.height), function() {
17669			M$1(65476), M$1(418), B$1(0);
17670			for (var t$2 = 0; t$2 < 16; t$2++) B$1(A$1[t$2 + 1]);
17671			for (var e$1 = 0; e$1 <= 11; e$1++) B$1(S$1[e$1]);
17672			B$1(16);
17673			for (var n$1 = 0; n$1 < 16; n$1++) B$1(_$1[n$1 + 1]);
17674			for (var r$1 = 0; r$1 <= 161; r$1++) B$1(P$1[r$1]);
17675			B$1(1);
17676			for (var i$3 = 0; i$3 < 16; i$3++) B$1(k$1[i$3 + 1]);
17677			for (var a$3 = 0; a$3 <= 11; a$3++) B$1(F$1[a$3]);
17678			B$1(17);
17679			for (var o$3 = 0; o$3 < 16; o$3++) B$1(I$1[o$3 + 1]);
17680			for (var s$2 = 0; s$2 <= 161; s$2++) B$1(j$1[s$2]);
17681		}(), M$1(65498), M$1(12), B$1(3), B$1(1), B$1(0), B$1(2), B$1(17), B$1(3), B$1(17), B$1(0), B$1(63), B$1(0);
17682		var o$2 = 0, h$2 = 0, f$2 = 0;
17683		m$1 = 0, v$1 = 7, this.encode.displayName = "_encode_";
17684		for (var d$2, p$2, N$2, x$3, C$2, R$1, D$1, T$1, z$1, U$1 = t$1.data, H$1 = t$1.width, W$1 = t$1.height, V$1 = 4 * H$1, G$1 = 0; G$1 < W$1;) {
17685			for (d$2 = 0; d$2 < V$1;) {
17686				for (C$2 = V$1 * G$1 + d$2, D$1 = -1, T$1 = 0, z$1 = 0; z$1 < 64; z$1++) R$1 = C$2 + (T$1 = z$1 >> 3) * V$1 + (D$1 = 4 * (7 & z$1)), G$1 + T$1 >= W$1 && (R$1 -= V$1 * (G$1 + 1 + T$1 - W$1)), d$2 + D$1 >= V$1 && (R$1 -= d$2 + D$1 - V$1 + 4), p$2 = U$1[R$1++], N$2 = U$1[R$1++], x$3 = U$1[R$1++], b$1[z$1] = (L$1[p$2] + L$1[N$2 + 256 | 0] + L$1[x$3 + 512 | 0] >> 16) - 128, y$1[z$1] = (L$1[p$2 + 768 | 0] + L$1[N$2 + 1024 | 0] + L$1[x$3 + 1280 | 0] >> 16) - 128, w$1[z$1] = (L$1[p$2 + 1280 | 0] + L$1[N$2 + 1536 | 0] + L$1[x$3 + 1792 | 0] >> 16) - 128;
17687				o$2 = q$1(b$1, c$1, o$2, e, r), h$2 = q$1(y$1, l$1, h$2, n, i$2), f$2 = q$1(w$1, l$1, f$2, n, i$2), d$2 += 32;
17688			}
17689			G$1 += 8;
17690		}
17691		if (v$1 >= 0) {
17692			var Y$1 = [];
17693			Y$1[1] = v$1 + 1, Y$1[0] = (1 << v$1 + 1) - 1, O$1(Y$1);
17694		}
17695		return M$1(65497), new Uint8Array(g$1);
17696	}, t = t || 50, function() {
17697		for (var t$1 = String.fromCharCode, e$1 = 0; e$1 < 256; e$1++) N$1[e$1] = t$1(e$1);
17698	}(), e = C$1(A$1, S$1), n = C$1(k$1, F$1), r = C$1(_$1, P$1), i$2 = C$1(I$1, j$1), function() {
17699		for (var t$1 = 1, e$1 = 2, n$1 = 1; n$1 <= 15; n$1++) {
17700			for (var r$1 = t$1; r$1 < e$1; r$1++) f$1[32767 + r$1] = n$1, h$1[32767 + r$1] = [], h$1[32767 + r$1][1] = n$1, h$1[32767 + r$1][0] = r$1;
17701			for (var i$3 = -(e$1 - 1); i$3 <= -t$1; i$3++) f$1[32767 + i$3] = n$1, h$1[32767 + i$3] = [], h$1[32767 + i$3][1] = n$1, h$1[32767 + i$3][0] = e$1 - 1 + i$3;
17702			t$1 <<= 1, e$1 <<= 1;
17703		}
17704	}(), function() {
17705		for (var t$1 = 0; t$1 < 256; t$1++) L$1[t$1] = 19595 * t$1, L$1[t$1 + 256 | 0] = 38470 * t$1, L$1[t$1 + 512 | 0] = 7471 * t$1 + 32768, L$1[t$1 + 768 | 0] = -11059 * t$1, L$1[t$1 + 1024 | 0] = -21709 * t$1, L$1[t$1 + 1280 | 0] = 32768 * t$1 + 8421375, L$1[t$1 + 1536 | 0] = -27439 * t$1, L$1[t$1 + 1792 | 0] = -5329 * t$1;
17706	}(), E$1(t);
17707}
17708/**
17709* @license
17710* Copyright (c) 2017 Aras Abbasi
17711*
17712* Licensed under the MIT License.
17713* http://opensource.org/licenses/mit-license
17714*/ function ce(t, e) {
17715	if (this.pos = 0, this.buffer = t, this.datav = new DataView(t.buffer), this.is_with_alpha = !!e, this.bottom_up = !0, this.flag = String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]), this.pos += 2, -1 === [
17716		"BM",
17717		"BA",
17718		"CI",
17719		"CP",
17720		"IC",
17721		"PT"
17722	].indexOf(this.flag)) throw new Error("Invalid BMP File");
17723	this.parseHeader(), this.parseBGR();
17724}
17725function le(t) {
17726	function e(t$1) {
17727		if (!t$1) throw Error("assert :P");
17728	}
17729	function n(t$1, e$1, n$1) {
17730		for (var r$1 = 0; 4 > r$1; r$1++) if (t$1[e$1 + r$1] != n$1.charCodeAt(r$1)) return !0;
17731		return !1;
17732	}
17733	function r(t$1, e$1, n$1, r$1, i$3) {
17734		for (var a$2 = 0; a$2 < i$3; a$2++) t$1[e$1 + a$2] = n$1[r$1 + a$2];
17735	}
17736	function i$2(t$1, e$1, n$1, r$1) {
17737		for (var i$3 = 0; i$3 < r$1; i$3++) t$1[e$1 + i$3] = n$1;
17738	}
17739	function a$1(t$1) {
17740		return new Int32Array(t$1);
17741	}
17742	function o$1(t$1, e$1) {
17743		for (var n$1 = [], r$1 = 0; r$1 < t$1; r$1++) n$1.push(new e$1());
17744		return n$1;
17745	}
17746	function s$1(t$1, e$1) {
17747		var n$1 = [];
17748		return function t$2(n$2, r$1, i$3) {
17749			for (var a$2 = i$3[r$1], o$2 = 0; o$2 < a$2 && (n$2.push(i$3.length > r$1 + 1 ? [] : new e$1()), !(i$3.length < r$1 + 1)); o$2++) t$2(n$2[o$2], r$1 + 1, i$3);
17750		}(n$1, 0, t$1), n$1;
17751	}
17752	var u$1 = function() {
17753		var t$1 = this;
17754		function u$2(t$2, e$1) {
17755			for (var n$1 = 1 << e$1 - 1 >>> 0; t$2 & n$1;) n$1 >>>= 1;
17756			return n$1 ? (t$2 & n$1 - 1) + n$1 : t$2;
17757		}
17758		function c$2(t$2, n$1, r$1, i$3, a$2) {
17759			e(!(i$3 % r$1));
17760			do
17761				t$2[n$1 + (i$3 -= r$1)] = a$2;
17762			while (0 < i$3);
17763		}
17764		function l$2(t$2, n$1, r$1, i$3, o$2) {
17765			if (e(2328 >= o$2), 512 >= o$2) var s$2 = a$1(512);
17766			else if (null == (s$2 = a$1(o$2))) return 0;
17767			return function(t$3, n$2, r$2, i$4, o$3, s$3) {
17768				var l$3, f$3, d$3 = n$2, p$3 = 1 << r$2, g$3 = a$1(16), m$3 = a$1(16);
17769				for (e(0 != o$3), e(null != i$4), e(null != t$3), e(0 < r$2), f$3 = 0; f$3 < o$3; ++f$3) {
17770					if (15 < i$4[f$3]) return 0;
17771					++g$3[i$4[f$3]];
17772				}
17773				if (g$3[0] == o$3) return 0;
17774				for (m$3[1] = 0, l$3 = 1; 15 > l$3; ++l$3) {
17775					if (g$3[l$3] > 1 << l$3) return 0;
17776					m$3[l$3 + 1] = m$3[l$3] + g$3[l$3];
17777				}
17778				for (f$3 = 0; f$3 < o$3; ++f$3) l$3 = i$4[f$3], 0 < i$4[f$3] && (s$3[m$3[l$3]++] = f$3);
17779				if (1 == m$3[15]) return (i$4 = new h$2()).g = 0, i$4.value = s$3[0], c$2(t$3, d$3, 1, p$3, i$4), p$3;
17780				var v$3, b$3 = -1, y$3 = p$3 - 1, w$3 = 0, N$3 = 1, L$3 = 1, x$4 = 1 << r$2;
17781				for (f$3 = 0, l$3 = 1, o$3 = 2; l$3 <= r$2; ++l$3, o$3 <<= 1) {
17782					if (N$3 += L$3 <<= 1, 0 > (L$3 -= g$3[l$3])) return 0;
17783					for (; 0 < g$3[l$3]; --g$3[l$3]) (i$4 = new h$2()).g = l$3, i$4.value = s$3[f$3++], c$2(t$3, d$3 + w$3, o$3, x$4, i$4), w$3 = u$2(w$3, l$3);
17784				}
17785				for (l$3 = r$2 + 1, o$3 = 2; 15 >= l$3; ++l$3, o$3 <<= 1) {
17786					if (N$3 += L$3 <<= 1, 0 > (L$3 -= g$3[l$3])) return 0;
17787					for (; 0 < g$3[l$3]; --g$3[l$3]) {
17788						if (i$4 = new h$2(), (w$3 & y$3) != b$3) {
17789							for (d$3 += x$4, v$3 = 1 << (b$3 = l$3) - r$2; 15 > b$3 && !(0 >= (v$3 -= g$3[b$3]));) ++b$3, v$3 <<= 1;
17790							p$3 += x$4 = 1 << (v$3 = b$3 - r$2), t$3[n$2 + (b$3 = w$3 & y$3)].g = v$3 + r$2, t$3[n$2 + b$3].value = d$3 - n$2 - b$3;
17791						}
17792						i$4.g = l$3 - r$2, i$4.value = s$3[f$3++], c$2(t$3, d$3 + (w$3 >> r$2), o$3, x$4, i$4), w$3 = u$2(w$3, l$3);
17793					}
17794				}
17795				return N$3 != 2 * m$3[15] - 1 ? 0 : p$3;
17796			}(t$2, n$1, r$1, i$3, o$2, s$2);
17797		}
17798		function h$2() {
17799			this.value = this.g = 0;
17800		}
17801		function f$2() {
17802			this.value = this.g = 0;
17803		}
17804		function d$2() {
17805			this.G = o$1(5, h$2), this.H = a$1(5), this.jc = this.Qb = this.qb = this.nd = 0, this.pd = o$1(Rn, f$2);
17806		}
17807		function p$2(t$2, n$1, r$1, i$3) {
17808			e(null != t$2), e(null != n$1), e(2147483648 > i$3), t$2.Ca = 254, t$2.I = 0, t$2.b = -8, t$2.Ka = 0, t$2.oa = n$1, t$2.pa = r$1, t$2.Jd = n$1, t$2.Yc = r$1 + i$3, t$2.Zc = 4 <= i$3 ? r$1 + i$3 - 4 + 1 : r$1, _$1(t$2);
17809		}
17810		function g$2(t$2, e$1) {
17811			for (var n$1 = 0; 0 < e$1--;) n$1 |= k$1(t$2, 128) << e$1;
17812			return n$1;
17813		}
17814		function m$2(t$2, e$1) {
17815			var n$1 = g$2(t$2, e$1);
17816			return P$1(t$2) ? -n$1 : n$1;
17817		}
17818		function v$2(t$2, n$1, r$1, i$3) {
17819			var a$2, o$2 = 0;
17820			for (e(null != t$2), e(null != n$1), e(4294967288 > i$3), t$2.Sb = i$3, t$2.Ra = 0, t$2.u = 0, t$2.h = 0, 4 < i$3 && (i$3 = 4), a$2 = 0; a$2 < i$3; ++a$2) o$2 += n$1[r$1 + a$2] << 8 * a$2;
17821			t$2.Ra = o$2, t$2.bb = i$3, t$2.oa = n$1, t$2.pa = r$1;
17822		}
17823		function b$2(t$2) {
17824			for (; 8 <= t$2.u && t$2.bb < t$2.Sb;) t$2.Ra >>>= 8, t$2.Ra += t$2.oa[t$2.pa + t$2.bb] << zn - 8 >>> 0, ++t$2.bb, t$2.u -= 8;
17825			x$3(t$2) && (t$2.h = 1, t$2.u = 0);
17826		}
17827		function y$2(t$2, n$1) {
17828			if (e(0 <= n$1), !t$2.h && n$1 <= Tn) {
17829				var r$1 = L$2(t$2) & Dn[n$1];
17830				return t$2.u += n$1, b$2(t$2), r$1;
17831			}
17832			return t$2.h = 1, t$2.u = 0;
17833		}
17834		function w$2() {
17835			this.b = this.Ca = this.I = 0, this.oa = [], this.pa = 0, this.Jd = [], this.Yc = 0, this.Zc = [], this.Ka = 0;
17836		}
17837		function N$2() {
17838			this.Ra = 0, this.oa = [], this.h = this.u = this.bb = this.Sb = this.pa = 0;
17839		}
17840		function L$2(t$2) {
17841			return t$2.Ra >>> (t$2.u & zn - 1) >>> 0;
17842		}
17843		function x$3(t$2) {
17844			return e(t$2.bb <= t$2.Sb), t$2.h || t$2.bb == t$2.Sb && t$2.u > zn;
17845		}
17846		function A$2(t$2, e$1) {
17847			t$2.u = e$1, t$2.h = x$3(t$2);
17848		}
17849		function S$1(t$2) {
17850			t$2.u >= Un && (e(t$2.u >= Un), b$2(t$2));
17851		}
17852		function _$1(t$2) {
17853			e(null != t$2 && null != t$2.oa), t$2.pa < t$2.Zc ? (t$2.I = (t$2.oa[t$2.pa++] | t$2.I << 8) >>> 0, t$2.b += 8) : (e(null != t$2 && null != t$2.oa), t$2.pa < t$2.Yc ? (t$2.b += 8, t$2.I = t$2.oa[t$2.pa++] | t$2.I << 8) : t$2.Ka ? t$2.b = 0 : (t$2.I <<= 8, t$2.b += 8, t$2.Ka = 1));
17854		}
17855		function P$1(t$2) {
17856			return g$2(t$2, 1);
17857		}
17858		function k$1(t$2, e$1) {
17859			var n$1 = t$2.Ca;
17860			0 > t$2.b && _$1(t$2);
17861			var r$1 = t$2.b, i$3 = n$1 * e$1 >>> 8, a$2 = (t$2.I >>> r$1 > i$3) + 0;
17862			for (a$2 ? (n$1 -= i$3, t$2.I -= i$3 + 1 << r$1 >>> 0) : n$1 = i$3 + 1, r$1 = n$1, i$3 = 0; 256 <= r$1;) i$3 += 8, r$1 >>= 8;
17863			return r$1 = 7 ^ i$3 + Hn[r$1], t$2.b -= r$1, t$2.Ca = (n$1 << r$1) - 1, a$2;
17864		}
17865		function F$1(t$2, e$1, n$1) {
17866			t$2[e$1 + 0] = n$1 >> 24 & 255, t$2[e$1 + 1] = n$1 >> 16 & 255, t$2[e$1 + 2] = n$1 >> 8 & 255, t$2[e$1 + 3] = 255 & n$1;
17867		}
17868		function I$1(t$2, e$1) {
17869			return t$2[e$1 + 0] | t$2[e$1 + 1] << 8;
17870		}
17871		function j$1(t$2, e$1) {
17872			return I$1(t$2, e$1) | t$2[e$1 + 2] << 16;
17873		}
17874		function C$1(t$2, e$1) {
17875			return I$1(t$2, e$1) | I$1(t$2, e$1 + 2) << 16;
17876		}
17877		function O$1(t$2, n$1) {
17878			var r$1 = 1 << n$1;
17879			return e(null != t$2), e(0 < n$1), t$2.X = a$1(r$1), null == t$2.X ? 0 : (t$2.Mb = 32 - n$1, t$2.Xa = n$1, 1);
17880		}
17881		function B$1(t$2, n$1) {
17882			e(null != t$2), e(null != n$1), e(t$2.Xa == n$1.Xa), r(n$1.X, 0, t$2.X, 0, 1 << n$1.Xa);
17883		}
17884		function M$1() {
17885			this.X = [], this.Xa = this.Mb = 0;
17886		}
17887		function q$1(t$2, n$1, r$1, i$3) {
17888			e(null != r$1), e(null != i$3);
17889			var a$2 = r$1[0], o$2 = i$3[0];
17890			return 0 == a$2 && (a$2 = (t$2 * o$2 + n$1 / 2) / n$1), 0 == o$2 && (o$2 = (n$1 * a$2 + t$2 / 2) / t$2), 0 >= a$2 || 0 >= o$2 ? 0 : (r$1[0] = a$2, i$3[0] = o$2, 1);
17891		}
17892		function E$1(t$2, e$1) {
17893			return t$2 + (1 << e$1) - 1 >>> e$1;
17894		}
17895		function R$1(t$2, e$1) {
17896			return ((4278255360 & t$2) + (4278255360 & e$1) >>> 0 & 4278255360) + ((16711935 & t$2) + (16711935 & e$1) >>> 0 & 16711935) >>> 0;
17897		}
17898		function D$1(e$1, n$1) {
17899			t$1[n$1] = function(n$2, r$1, i$3, a$2, o$2, s$2, u$3) {
17900				var c$3;
17901				for (c$3 = 0; c$3 < o$2; ++c$3) {
17902					var l$3 = t$1[e$1](s$2[u$3 + c$3 - 1], i$3, a$2 + c$3);
17903					s$2[u$3 + c$3] = R$1(n$2[r$1 + c$3], l$3);
17904				}
17905			};
17906		}
17907		function T$1() {
17908			this.ud = this.hd = this.jd = 0;
17909		}
17910		function z$1(t$2, e$1) {
17911			return ((4278124286 & (t$2 ^ e$1)) >>> 1) + (t$2 & e$1) >>> 0;
17912		}
17913		function U$1(t$2) {
17914			return 0 <= t$2 && 256 > t$2 ? t$2 : 0 > t$2 ? 0 : 255 < t$2 ? 255 : void 0;
17915		}
17916		function H$1(t$2, e$1) {
17917			return U$1(t$2 + (t$2 - e$1 + .5 >> 1));
17918		}
17919		function W$1(t$2, e$1, n$1) {
17920			return Math.abs(e$1 - n$1) - Math.abs(t$2 - n$1);
17921		}
17922		function V$1(t$2, e$1, n$1, r$1, i$3, a$2, o$2) {
17923			for (r$1 = a$2[o$2 - 1], n$1 = 0; n$1 < i$3; ++n$1) a$2[o$2 + n$1] = r$1 = R$1(t$2[e$1 + n$1], r$1);
17924		}
17925		function G$1(t$2, e$1, n$1, r$1, i$3) {
17926			var a$2;
17927			for (a$2 = 0; a$2 < n$1; ++a$2) {
17928				var o$2 = t$2[e$1 + a$2], s$2 = o$2 >> 8 & 255, u$3 = 16711935 & (u$3 = (u$3 = 16711935 & o$2) + ((s$2 << 16) + s$2));
17929				r$1[i$3 + a$2] = (4278255360 & o$2) + u$3 >>> 0;
17930			}
17931		}
17932		function Y$1(t$2, e$1) {
17933			e$1.jd = 255 & t$2, e$1.hd = t$2 >> 8 & 255, e$1.ud = t$2 >> 16 & 255;
17934		}
17935		function J$1(t$2, e$1, n$1, r$1, i$3, a$2) {
17936			var o$2;
17937			for (o$2 = 0; o$2 < r$1; ++o$2) {
17938				var s$2 = e$1[n$1 + o$2], u$3 = s$2 >>> 8, c$3 = s$2, l$3 = 255 & (l$3 = (l$3 = s$2 >>> 16) + ((t$2.jd << 24 >> 24) * (u$3 << 24 >> 24) >>> 5));
17939				c$3 = 255 & (c$3 = (c$3 += (t$2.hd << 24 >> 24) * (u$3 << 24 >> 24) >>> 5) + ((t$2.ud << 24 >> 24) * (l$3 << 24 >> 24) >>> 5)), i$3[a$2 + o$2] = (4278255360 & s$2) + (l$3 << 16) + c$3;
17940			}
17941		}
17942		function X$1(e$1, n$1, r$1, i$3, a$2) {
17943			t$1[n$1] = function(t$2, e$2, n$2, r$2, o$2, s$2, u$3, c$3, l$3) {
17944				for (r$2 = u$3; r$2 < c$3; ++r$2) for (u$3 = 0; u$3 < l$3; ++u$3) o$2[s$2++] = a$2(n$2[i$3(t$2[e$2++])]);
17945			}, t$1[e$1] = function(e$2, n$2, o$2, s$2, u$3, c$3, l$3) {
17946				var h$3 = 8 >> e$2.b, f$3 = e$2.Ea, d$3 = e$2.K[0], p$3 = e$2.w;
17947				if (8 > h$3) for (e$2 = (1 << e$2.b) - 1, p$3 = (1 << h$3) - 1; n$2 < o$2; ++n$2) {
17948					var g$3, m$3 = 0;
17949					for (g$3 = 0; g$3 < f$3; ++g$3) g$3 & e$2 || (m$3 = i$3(s$2[u$3++])), c$3[l$3++] = a$2(d$3[m$3 & p$3]), m$3 >>= h$3;
17950				}
17951				else t$1["VP8LMapColor" + r$1](s$2, u$3, d$3, p$3, c$3, l$3, n$2, o$2, f$3);
17952			};
17953		}
17954		function K$1(t$2, e$1, n$1, r$1, i$3) {
17955			for (n$1 = e$1 + n$1; e$1 < n$1;) {
17956				var a$2 = t$2[e$1++];
17957				r$1[i$3++] = a$2 >> 16 & 255, r$1[i$3++] = a$2 >> 8 & 255, r$1[i$3++] = 255 & a$2;
17958			}
17959		}
17960		function Z$1(t$2, e$1, n$1, r$1, i$3) {
17961			for (n$1 = e$1 + n$1; e$1 < n$1;) {
17962				var a$2 = t$2[e$1++];
17963				r$1[i$3++] = a$2 >> 16 & 255, r$1[i$3++] = a$2 >> 8 & 255, r$1[i$3++] = 255 & a$2, r$1[i$3++] = a$2 >> 24 & 255;
17964			}
17965		}
17966		function $$1(t$2, e$1, n$1, r$1, i$3) {
17967			for (n$1 = e$1 + n$1; e$1 < n$1;) {
17968				var a$2 = (o$2 = t$2[e$1++]) >> 16 & 240 | o$2 >> 12 & 15, o$2 = 240 & o$2 | o$2 >> 28 & 15;
17969				r$1[i$3++] = a$2, r$1[i$3++] = o$2;
17970			}
17971		}
17972		function Q$1(t$2, e$1, n$1, r$1, i$3) {
17973			for (n$1 = e$1 + n$1; e$1 < n$1;) {
17974				var a$2 = (o$2 = t$2[e$1++]) >> 16 & 248 | o$2 >> 13 & 7, o$2 = o$2 >> 5 & 224 | o$2 >> 3 & 31;
17975				r$1[i$3++] = a$2, r$1[i$3++] = o$2;
17976			}
17977		}
17978		function tt$1(t$2, e$1, n$1, r$1, i$3) {
17979			for (n$1 = e$1 + n$1; e$1 < n$1;) {
17980				var a$2 = t$2[e$1++];
17981				r$1[i$3++] = 255 & a$2, r$1[i$3++] = a$2 >> 8 & 255, r$1[i$3++] = a$2 >> 16 & 255;
17982			}
17983		}
17984		function et$2(t$2, e$1, n$1, i$3, a$2, o$2) {
17985			if (0 == o$2) for (n$1 = e$1 + n$1; e$1 < n$1;) F$1(i$3, ((o$2 = t$2[e$1++])[0] >> 24 | o$2[1] >> 8 & 65280 | o$2[2] << 8 & 16711680 | o$2[3] << 24) >>> 0), a$2 += 32;
17986			else r(i$3, a$2, t$2, e$1, n$1);
17987		}
17988		function nt$1(e$1, n$1) {
17989			t$1[n$1][0] = t$1[e$1 + "0"], t$1[n$1][1] = t$1[e$1 + "1"], t$1[n$1][2] = t$1[e$1 + "2"], t$1[n$1][3] = t$1[e$1 + "3"], t$1[n$1][4] = t$1[e$1 + "4"], t$1[n$1][5] = t$1[e$1 + "5"], t$1[n$1][6] = t$1[e$1 + "6"], t$1[n$1][7] = t$1[e$1 + "7"], t$1[n$1][8] = t$1[e$1 + "8"], t$1[n$1][9] = t$1[e$1 + "9"], t$1[n$1][10] = t$1[e$1 + "10"], t$1[n$1][11] = t$1[e$1 + "11"], t$1[n$1][12] = t$1[e$1 + "12"], t$1[n$1][13] = t$1[e$1 + "13"], t$1[n$1][14] = t$1[e$1 + "0"], t$1[n$1][15] = t$1[e$1 + "0"];
17990		}
17991		function rt$1(t$2) {
17992			return t$2 == Ur || t$2 == Hr || t$2 == Wr || t$2 == Vr;
17993		}
17994		function it$1() {
17995			this.eb = [], this.size = this.A = this.fb = 0;
17996		}
17997		function at$1() {
17998			this.y = [], this.f = [], this.ea = [], this.F = [], this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;
17999		}
18000		function ot$1() {
18001			this.Rd = this.height = this.width = this.S = 0, this.f = {}, this.f.RGBA = new it$1(), this.f.kb = new at$1(), this.sd = null;
18002		}
18003		function st$1() {
18004			this.width = [0], this.height = [0], this.Pd = [0], this.Qd = [0], this.format = [0];
18005		}
18006		function ut$1() {
18007			this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;
18008		}
18009		function ct$1(t$2) {
18010			return alert("todo:WebPSamplerProcessPlane"), t$2.T;
18011		}
18012		function lt$1(t$2, e$1) {
18013			var n$1 = t$2.T, i$3 = e$1.ba.f.RGBA, a$2 = i$3.eb, o$2 = i$3.fb + t$2.ka * i$3.A, s$2 = mi[e$1.ba.S], u$3 = t$2.y, c$3 = t$2.O, l$3 = t$2.f, h$3 = t$2.N, f$3 = t$2.ea, d$3 = t$2.W, p$3 = e$1.cc, g$3 = e$1.dc, m$3 = e$1.Mc, v$3 = e$1.Nc, b$3 = t$2.ka, y$3 = t$2.ka + t$2.T, w$3 = t$2.U, N$3 = w$3 + 1 >> 1;
18014			for (0 == b$3 ? s$2(u$3, c$3, null, null, l$3, h$3, f$3, d$3, l$3, h$3, f$3, d$3, a$2, o$2, null, null, w$3) : (s$2(e$1.ec, e$1.fc, u$3, c$3, p$3, g$3, m$3, v$3, l$3, h$3, f$3, d$3, a$2, o$2 - i$3.A, a$2, o$2, w$3), ++n$1); b$3 + 2 < y$3; b$3 += 2) p$3 = l$3, g$3 = h$3, m$3 = f$3, v$3 = d$3, h$3 += t$2.Rc, d$3 += t$2.Rc, o$2 += 2 * i$3.A, s$2(u$3, (c$3 += 2 * t$2.fa) - t$2.fa, u$3, c$3, p$3, g$3, m$3, v$3, l$3, h$3, f$3, d$3, a$2, o$2 - i$3.A, a$2, o$2, w$3);
18015			return c$3 += t$2.fa, t$2.j + y$3 < t$2.o ? (r(e$1.ec, e$1.fc, u$3, c$3, w$3), r(e$1.cc, e$1.dc, l$3, h$3, N$3), r(e$1.Mc, e$1.Nc, f$3, d$3, N$3), n$1--) : 1 & y$3 || s$2(u$3, c$3, null, null, l$3, h$3, f$3, d$3, l$3, h$3, f$3, d$3, a$2, o$2 + i$3.A, null, null, w$3), n$1;
18016		}
18017		function ht$1(t$2, n$1, r$1) {
18018			var i$3 = t$2.F, a$2 = [t$2.J];
18019			if (null != i$3) {
18020				var o$2 = t$2.U, s$2 = n$1.ba.S, u$3 = s$2 == Dr || s$2 == Wr;
18021				n$1 = n$1.ba.f.RGBA;
18022				var c$3 = [0], l$3 = t$2.ka;
18023				c$3[0] = t$2.T, t$2.Kb && (0 == l$3 ? --c$3[0] : (--l$3, a$2[0] -= t$2.width), t$2.j + t$2.ka + t$2.T == t$2.o && (c$3[0] = t$2.o - t$2.j - l$3));
18024				var h$3 = n$1.eb;
18025				l$3 = n$1.fb + l$3 * n$1.A, t$2 = Ar(i$3, a$2[0], t$2.width, o$2, c$3, h$3, l$3 + (u$3 ? 0 : 3), n$1.A), e(r$1 == c$3), t$2 && rt$1(s$2) && Lr(h$3, l$3, u$3, o$2, c$3, n$1.A);
18026			}
18027			return 0;
18028		}
18029		function ft$1(t$2) {
18030			var e$1 = t$2.ma, n$1 = e$1.ba.S, r$1 = 11 > n$1, i$3 = n$1 == qr || n$1 == Rr || n$1 == Dr || n$1 == Tr || 12 == n$1 || rt$1(n$1);
18031			if (e$1.memory = null, e$1.Ib = null, e$1.Jb = null, e$1.Nd = null, !Mn(e$1.Oa, t$2, i$3 ? 11 : 12)) return 0;
18032			if (i$3 && rt$1(n$1) && bn(), t$2.da) alert("todo:use_scaling");
18033			else {
18034				if (r$1) {
18035					if (e$1.Ib = ct$1, t$2.Kb) {
18036						if (n$1 = t$2.U + 1 >> 1, e$1.memory = a$1(t$2.U + 2 * n$1), null == e$1.memory) return 0;
18037						e$1.ec = e$1.memory, e$1.fc = 0, e$1.cc = e$1.ec, e$1.dc = e$1.fc + t$2.U, e$1.Mc = e$1.cc, e$1.Nc = e$1.dc + n$1, e$1.Ib = lt$1, bn();
18038					}
18039				} else alert("todo:EmitYUV");
18040				i$3 && (e$1.Jb = ht$1, r$1 && mn());
18041			}
18042			if (r$1 && !Ii) {
18043				for (t$2 = 0; 256 > t$2; ++t$2) ji[t$2] = 89858 * (t$2 - 128) + Si >> Ai, Bi[t$2] = -22014 * (t$2 - 128) + Si, Oi[t$2] = -45773 * (t$2 - 128), Ci[t$2] = 113618 * (t$2 - 128) + Si >> Ai;
18044				for (t$2 = _i; t$2 < Pi; ++t$2) e$1 = 76283 * (t$2 - 16) + Si >> Ai, Mi[t$2 - _i] = Vt$1(e$1, 255), qi[t$2 - _i] = Vt$1(e$1 + 8 >> 4, 15);
18045				Ii = 1;
18046			}
18047			return 1;
18048		}
18049		function dt$1(t$2) {
18050			var n$1 = t$2.ma, r$1 = t$2.U, i$3 = t$2.T;
18051			return e(!(1 & t$2.ka)), 0 >= r$1 || 0 >= i$3 ? 0 : (r$1 = n$1.Ib(t$2, n$1), null != n$1.Jb && n$1.Jb(t$2, n$1, r$1), n$1.Dc += r$1, 1);
18052		}
18053		function pt$1(t$2) {
18054			t$2.ma.memory = null;
18055		}
18056		function gt$1(t$2, e$1, n$1, r$1) {
18057			return 47 != y$2(t$2, 8) ? 0 : (e$1[0] = y$2(t$2, 14) + 1, n$1[0] = y$2(t$2, 14) + 1, r$1[0] = y$2(t$2, 1), 0 != y$2(t$2, 3) ? 0 : !t$2.h);
18058		}
18059		function mt$1(t$2, e$1) {
18060			if (4 > t$2) return t$2 + 1;
18061			var n$1 = t$2 - 2 >> 1;
vendor: 4,071 bytes, lines 18062-18138
18062			return (2 + (1 & t$2) << n$1) + y$2(e$1, n$1) + 1;
18063		}
18064		function vt$1(t$2, e$1) {
18065			return 120 < e$1 ? e$1 - 120 : 1 <= (n$1 = ((n$1 = Zr[e$1 - 1]) >> 4) * t$2 + (8 - (15 & n$1))) ? n$1 : 1;
18066			var n$1;
18067		}
18068		function bt$1(t$2, e$1, n$1) {
18069			var r$1 = L$2(n$1), i$3 = t$2[e$1 += 255 & r$1].g - 8;
18070			return 0 < i$3 && (A$2(n$1, n$1.u + 8), r$1 = L$2(n$1), e$1 += t$2[e$1].value, e$1 += r$1 & (1 << i$3) - 1), A$2(n$1, n$1.u + t$2[e$1].g), t$2[e$1].value;
18071		}
18072		function yt$1(t$2, n$1, r$1) {
18073			return r$1.g += t$2.g, r$1.value += t$2.value << n$1 >>> 0, e(8 >= r$1.g), t$2.g;
18074		}
18075		function wt$1(t$2, n$1, r$1) {
18076			var i$3 = t$2.xc;
18077			return e((n$1 = 0 == i$3 ? 0 : t$2.vc[t$2.md * (r$1 >> i$3) + (n$1 >> i$3)]) < t$2.Wb), t$2.Ya[n$1];
18078		}
18079		function Nt$1(t$2, n$1, i$3, a$2) {
18080			var o$2 = t$2.ab, s$2 = t$2.c * n$1, u$3 = t$2.C;
18081			n$1 = u$3 + n$1;
18082			var c$3 = i$3, l$3 = a$2;
18083			for (a$2 = t$2.Ta, i$3 = t$2.Ua; 0 < o$2--;) {
18084				var h$3 = t$2.gc[o$2], f$3 = u$3, d$3 = n$1, p$3 = c$3, g$3 = l$3, m$3 = (l$3 = a$2, c$3 = i$3, h$3.Ea);
18085				switch (e(f$3 < d$3), e(d$3 <= h$3.nc), h$3.hc) {
18086					case 2:
18087						Gn(p$3, g$3, (d$3 - f$3) * m$3, l$3, c$3);
18088						break;
18089					case 0:
18090						var v$3 = f$3, b$3 = d$3, y$3 = l$3, w$3 = c$3, N$3 = (_$2 = h$3).Ea;
18091						0 == v$3 && (Wn(p$3, g$3, null, null, 1, y$3, w$3), V$1(p$3, g$3 + 1, 0, 0, N$3 - 1, y$3, w$3 + 1), g$3 += N$3, w$3 += N$3, ++v$3);
18092						for (var L$3 = 1 << _$2.b, x$4 = L$3 - 1, A$3 = E$1(N$3, _$2.b), S$2 = _$2.K, _$2 = _$2.w + (v$3 >> _$2.b) * A$3; v$3 < b$3;) {
18093							var P$2 = S$2, k$2 = _$2, F$2 = 1;
18094							for (Vn(p$3, g$3, y$3, w$3 - N$3, 1, y$3, w$3); F$2 < N$3;) {
18095								var I$2 = (F$2 & ~x$4) + L$3;
18096								I$2 > N$3 && (I$2 = N$3), (0, Zn[P$2[k$2++] >> 8 & 15])(p$3, g$3 + +F$2, y$3, w$3 + F$2 - N$3, I$2 - F$2, y$3, w$3 + F$2), F$2 = I$2;
18097							}
18098							g$3 += N$3, w$3 += N$3, ++v$3 & x$4 || (_$2 += A$3);
18099						}
18100						d$3 != h$3.nc && r(l$3, c$3 - m$3, l$3, c$3 + (d$3 - f$3 - 1) * m$3, m$3);
18101						break;
18102					case 1:
18103						for (m$3 = p$3, b$3 = g$3, N$3 = (p$3 = h$3.Ea) - (w$3 = p$3 & ~(y$3 = (g$3 = 1 << h$3.b) - 1)), v$3 = E$1(p$3, h$3.b), L$3 = h$3.K, h$3 = h$3.w + (f$3 >> h$3.b) * v$3; f$3 < d$3;) {
18104							for (x$4 = L$3, A$3 = h$3, S$2 = new T$1(), _$2 = b$3 + w$3, P$2 = b$3 + p$3; b$3 < _$2;) Y$1(x$4[A$3++], S$2), $n(S$2, m$3, b$3, g$3, l$3, c$3), b$3 += g$3, c$3 += g$3;
18105							b$3 < P$2 && (Y$1(x$4[A$3++], S$2), $n(S$2, m$3, b$3, N$3, l$3, c$3), b$3 += N$3, c$3 += N$3), ++f$3 & y$3 || (h$3 += v$3);
18106						}
18107						break;
18108					case 3: if (p$3 == l$3 && g$3 == c$3 && 0 < h$3.b) {
18109						for (b$3 = l$3, p$3 = m$3 = c$3 + (d$3 - f$3) * m$3 - (w$3 = (d$3 - f$3) * E$1(h$3.Ea, h$3.b)), g$3 = l$3, y$3 = c$3, v$3 = [], w$3 = (N$3 = w$3) - 1; 0 <= w$3; --w$3) v$3[w$3] = g$3[y$3 + w$3];
18110						for (w$3 = N$3 - 1; 0 <= w$3; --w$3) b$3[p$3 + w$3] = v$3[w$3];
18111						Yn(h$3, f$3, d$3, l$3, m$3, l$3, c$3);
18112					} else Yn(h$3, f$3, d$3, p$3, g$3, l$3, c$3);
18113				}
18114				c$3 = a$2, l$3 = i$3;
18115			}
18116			l$3 != i$3 && r(a$2, i$3, c$3, l$3, s$2);
18117		}
18118		function Lt$1(t$2, n$1) {
18119			var r$1 = t$2.V, i$3 = t$2.Ba + t$2.c * t$2.C, a$2 = n$1 - t$2.C;
18120			if (e(n$1 <= t$2.l.o), e(16 >= a$2), 0 < a$2) {
18121				var o$2 = t$2.l, s$2 = t$2.Ta, u$3 = t$2.Ua, c$3 = o$2.width;
18122				if (Nt$1(t$2, a$2, r$1, i$3), a$2 = u$3 = [u$3], e((r$1 = t$2.C) < (i$3 = n$1)), e(o$2.v < o$2.va), i$3 > o$2.o && (i$3 = o$2.o), r$1 < o$2.j) {
18123					var l$3 = o$2.j - r$1;
18124					r$1 = o$2.j, a$2[0] += l$3 * c$3;
18125				}
18126				if (r$1 >= i$3 ? r$1 = 0 : (a$2[0] += 4 * o$2.v, o$2.ka = r$1 - o$2.j, o$2.U = o$2.va - o$2.v, o$2.T = i$3 - r$1, r$1 = 1), r$1) {
18127					if (u$3 = u$3[0], 11 > (r$1 = t$2.ca).S) {
18128						var h$3 = r$1.f.RGBA, f$3 = (i$3 = r$1.S, a$2 = o$2.U, o$2 = o$2.T, l$3 = h$3.eb, h$3.A), d$3 = o$2;
18129						for (h$3 = h$3.fb + t$2.Ma * h$3.A; 0 < d$3--;) {
18130							var p$3 = s$2, g$3 = u$3, m$3 = a$2, v$3 = l$3, b$3 = h$3;
18131							switch (i$3) {
18132								case Mr:
18133									Qn(p$3, g$3, m$3, v$3, b$3);
18134									break;
18135								case qr:
18136									tr(p$3, g$3, m$3, v$3, b$3);
18137									break;
18138								case Ur:
vendor: 13,357 bytes, lines 18139-18435
18139									tr(p$3, g$3, m$3, v$3, b$3), Lr(v$3, b$3, 0, m$3, 1, 0);
18140									break;
18141								case Er:
18142									rr(p$3, g$3, m$3, v$3, b$3);
18143									break;
18144								case Rr:
18145									et$2(p$3, g$3, m$3, v$3, b$3, 1);
18146									break;
18147								case Hr:
18148									et$2(p$3, g$3, m$3, v$3, b$3, 1), Lr(v$3, b$3, 0, m$3, 1, 0);
18149									break;
18150								case Dr:
18151									et$2(p$3, g$3, m$3, v$3, b$3, 0);
18152									break;
18153								case Wr:
18154									et$2(p$3, g$3, m$3, v$3, b$3, 0), Lr(v$3, b$3, 1, m$3, 1, 0);
18155									break;
18156								case Tr:
18157									er(p$3, g$3, m$3, v$3, b$3);
18158									break;
18159								case Vr:
18160									er(p$3, g$3, m$3, v$3, b$3), xr(v$3, b$3, m$3, 1, 0);
18161									break;
18162								case zr:
18163									nr(p$3, g$3, m$3, v$3, b$3);
18164									break;
18165								default: e(0);
18166							}
18167							u$3 += c$3, h$3 += f$3;
18168						}
18169						t$2.Ma += o$2;
18170					} else alert("todo:EmitRescaledRowsYUVA");
18171					e(t$2.Ma <= r$1.height);
18172				}
18173			}
18174			t$2.C = n$1, e(t$2.C <= t$2.i);
18175		}
18176		function xt$1(t$2) {
18177			var e$1;
18178			if (0 < t$2.ua) return 0;
18179			for (e$1 = 0; e$1 < t$2.Wb; ++e$1) {
18180				var n$1 = t$2.Ya[e$1].G, r$1 = t$2.Ya[e$1].H;
18181				if (0 < n$1[1][r$1[1] + 0].g || 0 < n$1[2][r$1[2] + 0].g || 0 < n$1[3][r$1[3] + 0].g) return 0;
18182			}
18183			return 1;
18184		}
18185		function At$1(t$2, n$1, r$1, i$3, a$2, o$2) {
18186			if (0 != t$2.Z) {
18187				var s$2 = t$2.qd, u$3 = t$2.rd;
18188				for (e(null != gi[t$2.Z]); n$1 < r$1; ++n$1) gi[t$2.Z](s$2, u$3, i$3, a$2, i$3, a$2, o$2), s$2 = i$3, u$3 = a$2, a$2 += o$2;
18189				t$2.qd = s$2, t$2.rd = u$3;
18190			}
18191		}
18192		function St$1(t$2, n$1) {
18193			var r$1 = t$2.l.ma, i$3 = 0 == r$1.Z || 1 == r$1.Z ? t$2.l.j : t$2.C;
18194			if (i$3 = t$2.C < i$3 ? i$3 : t$2.C, e(n$1 <= t$2.l.o), n$1 > i$3) {
18195				var a$2 = t$2.l.width, o$2 = r$1.ca, s$2 = r$1.tb + a$2 * i$3, u$3 = t$2.V, c$3 = t$2.Ba + t$2.c * i$3, l$3 = t$2.gc;
18196				e(1 == t$2.ab), e(3 == l$3[0].hc), Xn(l$3[0], i$3, n$1, u$3, c$3, o$2, s$2), At$1(r$1, i$3, n$1, o$2, s$2, a$2);
18197			}
18198			t$2.C = t$2.Ma = n$1;
18199		}
18200		function _t$1(t$2, n$1, r$1, i$3, a$2, o$2, s$2) {
18201			var u$3 = t$2.$ / i$3, c$3 = t$2.$ % i$3, l$3 = t$2.m, h$3 = t$2.s, f$3 = r$1 + t$2.$, d$3 = f$3;
18202			a$2 = r$1 + i$3 * a$2;
18203			var p$3 = r$1 + i$3 * o$2, g$3 = 280 + h$3.ua, m$3 = t$2.Pb ? u$3 : 16777216, v$3 = 0 < h$3.ua ? h$3.Wa : null, b$3 = h$3.wc, y$3 = f$3 < p$3 ? wt$1(h$3, c$3, u$3) : null;
18204			e(t$2.C < o$2), e(p$3 <= a$2);
18205			var w$3 = !1;
18206			t: for (;;) {
18207				for (; w$3 || f$3 < p$3;) {
18208					var N$3 = 0;
18209					if (u$3 >= m$3) {
18210						var _$2 = f$3 - r$1;
18211						e((m$3 = t$2).Pb), m$3.wd = m$3.m, m$3.xd = _$2, 0 < m$3.s.ua && B$1(m$3.s.Wa, m$3.s.vb), m$3 = u$3 + Qr;
18212					}
18213					if (c$3 & b$3 || (y$3 = wt$1(h$3, c$3, u$3)), e(null != y$3), y$3.Qb && (n$1[f$3] = y$3.qb, w$3 = !0), !w$3) if (S$1(l$3), y$3.jc) {
18214						N$3 = l$3, _$2 = n$1;
18215						var P$2 = f$3, k$2 = y$3.pd[L$2(N$3) & Rn - 1];
18216						e(y$3.jc), 256 > k$2.g ? (A$2(N$3, N$3.u + k$2.g), _$2[P$2] = k$2.value, N$3 = 0) : (A$2(N$3, N$3.u + k$2.g - 256), e(256 <= k$2.value), N$3 = k$2.value), 0 == N$3 && (w$3 = !0);
18217					} else N$3 = bt$1(y$3.G[0], y$3.H[0], l$3);
18218					if (l$3.h) break;
18219					if (w$3 || 256 > N$3) {
18220						if (!w$3) if (y$3.nd) n$1[f$3] = (y$3.qb | N$3 << 8) >>> 0;
18221						else {
18222							if (S$1(l$3), w$3 = bt$1(y$3.G[1], y$3.H[1], l$3), S$1(l$3), _$2 = bt$1(y$3.G[2], y$3.H[2], l$3), P$2 = bt$1(y$3.G[3], y$3.H[3], l$3), l$3.h) break;
18223							n$1[f$3] = (P$2 << 24 | w$3 << 16 | N$3 << 8 | _$2) >>> 0;
18224						}
18225						if (w$3 = !1, ++f$3, ++c$3 >= i$3 && (c$3 = 0, ++u$3, null != s$2 && u$3 <= o$2 && !(u$3 % 16) && s$2(t$2, u$3), null != v$3)) for (; d$3 < f$3;) N$3 = n$1[d$3++], v$3.X[(506832829 * N$3 & 4294967295) >>> v$3.Mb] = N$3;
18226					} else if (280 > N$3) {
18227						if (N$3 = mt$1(N$3 - 256, l$3), _$2 = bt$1(y$3.G[4], y$3.H[4], l$3), S$1(l$3), _$2 = vt$1(i$3, _$2 = mt$1(_$2, l$3)), l$3.h) break;
18228						if (f$3 - r$1 < _$2 || a$2 - f$3 < N$3) break t;
18229						for (P$2 = 0; P$2 < N$3; ++P$2) n$1[f$3 + P$2] = n$1[f$3 + P$2 - _$2];
18230						for (f$3 += N$3, c$3 += N$3; c$3 >= i$3;) c$3 -= i$3, ++u$3, null != s$2 && u$3 <= o$2 && !(u$3 % 16) && s$2(t$2, u$3);
18231						if (e(f$3 <= a$2), c$3 & b$3 && (y$3 = wt$1(h$3, c$3, u$3)), null != v$3) for (; d$3 < f$3;) N$3 = n$1[d$3++], v$3.X[(506832829 * N$3 & 4294967295) >>> v$3.Mb] = N$3;
18232					} else {
18233						if (!(N$3 < g$3)) break t;
18234						for (w$3 = N$3 - 280, e(null != v$3); d$3 < f$3;) N$3 = n$1[d$3++], v$3.X[(506832829 * N$3 & 4294967295) >>> v$3.Mb] = N$3;
18235						N$3 = f$3, e(!(w$3 >>> (_$2 = v$3).Xa)), n$1[N$3] = _$2.X[w$3], w$3 = !0;
18236					}
18237					w$3 || e(l$3.h == x$3(l$3));
18238				}
18239				if (t$2.Pb && l$3.h && f$3 < a$2) e(t$2.m.h), t$2.a = 5, t$2.m = t$2.wd, t$2.$ = t$2.xd, 0 < t$2.s.ua && B$1(t$2.s.vb, t$2.s.Wa);
18240				else {
18241					if (l$3.h) break t;
18242					s$2?.(t$2, u$3 > o$2 ? o$2 : u$3), t$2.a = 0, t$2.$ = f$3 - r$1;
18243				}
18244				return 1;
18245			}
18246			return t$2.a = 3, 0;
18247		}
18248		function Pt$1(t$2) {
18249			e(null != t$2), t$2.vc = null, t$2.yc = null, t$2.Ya = null;
18250			var n$1 = t$2.Wa;
18251			null != n$1 && (n$1.X = null), t$2.vb = null, e(null != t$2);
18252		}
18253		function kt$1() {
18254			var e$1 = new on();
18255			return null == e$1 ? null : (e$1.a = 0, e$1.xb = pi, nt$1("Predictor", "VP8LPredictors"), nt$1("Predictor", "VP8LPredictors_C"), nt$1("PredictorAdd", "VP8LPredictorsAdd"), nt$1("PredictorAdd", "VP8LPredictorsAdd_C"), Gn = G$1, $n = J$1, Qn = K$1, tr = Z$1, er = $$1, nr = Q$1, rr = tt$1, t$1.VP8LMapColor32b = Jn, t$1.VP8LMapColor8b = Kn, e$1);
18256		}
18257		function Ft$1(t$2, n$1, r$1, s$2, u$3) {
18258			var c$3 = 1, f$3 = [t$2], p$3 = [n$1], g$3 = s$2.m, m$3 = s$2.s, v$3 = null, b$3 = 0;
18259			t: for (;;) {
18260				if (r$1) for (; c$3 && y$2(g$3, 1);) {
18261					var w$3 = f$3, N$3 = p$3, x$4 = s$2, _$2 = 1, P$2 = x$4.m, k$2 = x$4.gc[x$4.ab], F$2 = y$2(P$2, 2);
18262					if (x$4.Oc & 1 << F$2) c$3 = 0;
18263					else {
18264						switch (x$4.Oc |= 1 << F$2, k$2.hc = F$2, k$2.Ea = w$3[0], k$2.nc = N$3[0], k$2.K = [null], ++x$4.ab, e(4 >= x$4.ab), F$2) {
18265							case 0:
18266							case 1:
18267								k$2.b = y$2(P$2, 3) + 2, _$2 = Ft$1(E$1(k$2.Ea, k$2.b), E$1(k$2.nc, k$2.b), 0, x$4, k$2.K), k$2.K = k$2.K[0];
18268								break;
18269							case 3:
18270								var I$2, j$2 = y$2(P$2, 8) + 1, C$2 = 16 < j$2 ? 0 : 4 < j$2 ? 1 : 2 < j$2 ? 2 : 3;
18271								if (w$3[0] = E$1(k$2.Ea, C$2), k$2.b = C$2, I$2 = _$2 = Ft$1(j$2, 1, 0, x$4, k$2.K)) {
18272									var B$2, M$2 = j$2, q$2 = k$2, D$2 = 1 << (8 >> q$2.b), T$2 = a$1(D$2);
18273									if (null == T$2) I$2 = 0;
18274									else {
18275										var z$2 = q$2.K[0], U$2 = q$2.w;
18276										for (T$2[0] = q$2.K[0][0], B$2 = 1; B$2 < 1 * M$2; ++B$2) T$2[B$2] = R$1(z$2[U$2 + B$2], T$2[B$2 - 1]);
18277										for (; B$2 < 4 * D$2; ++B$2) T$2[B$2] = 0;
18278										q$2.K[0] = null, q$2.K[0] = T$2, I$2 = 1;
18279									}
18280								}
18281								_$2 = I$2;
18282								break;
18283							case 2: break;
18284							default: e(0);
18285						}
18286						c$3 = _$2;
18287					}
18288				}
18289				if (f$3 = f$3[0], p$3 = p$3[0], c$3 && y$2(g$3, 1) && !(c$3 = 1 <= (b$3 = y$2(g$3, 4)) && 11 >= b$3)) {
18290					s$2.a = 3;
18291					break t;
18292				}
18293				var H$2;
18294				if (H$2 = c$3) e: {
18295					var W$2, V$2, G$2, Y$2 = s$2, J$2 = f$3, X$2 = p$3, K$2 = b$3, Z$2 = r$1, $$2 = Y$2.m, Q$2 = Y$2.s, tt$2 = [null], et$3 = 1, nt$2 = 0, rt$2 = $r[K$2];
18296					n: for (;;) {
18297						if (Z$2 && y$2($$2, 1)) {
18298							var it$2 = y$2($$2, 3) + 2, at$2 = E$1(J$2, it$2), ot$2 = E$1(X$2, it$2), st$2 = at$2 * ot$2;
18299							if (!Ft$1(at$2, ot$2, 0, Y$2, tt$2)) break n;
18300							for (tt$2 = tt$2[0], Q$2.xc = it$2, W$2 = 0; W$2 < st$2; ++W$2) {
18301								var ut$2 = tt$2[W$2] >> 8 & 65535;
18302								tt$2[W$2] = ut$2, ut$2 >= et$3 && (et$3 = ut$2 + 1);
18303							}
18304						}
18305						if ($$2.h) break n;
18306						for (V$2 = 0; 5 > V$2; ++V$2) {
18307							var ct$2 = Jr[V$2];
18308							!V$2 && 0 < K$2 && (ct$2 += 1 << K$2), nt$2 < ct$2 && (nt$2 = ct$2);
18309						}
18310						var lt$2 = o$1(et$3 * rt$2, h$2), ht$2 = et$3, ft$2 = o$1(ht$2, d$2);
18311						if (null == ft$2) var dt$2 = null;
18312						else e(65536 >= ht$2), dt$2 = ft$2;
18313						var pt$2 = a$1(nt$2);
18314						if (null == dt$2 || null == pt$2 || null == lt$2) {
18315							Y$2.a = 1;
18316							break n;
18317						}
18318						var gt$2 = lt$2;
18319						for (W$2 = G$2 = 0; W$2 < et$3; ++W$2) {
18320							var mt$2 = dt$2[W$2], vt$2 = mt$2.G, bt$2 = mt$2.H, wt$2 = 0, Nt$2 = 1, Lt$2 = 0;
18321							for (V$2 = 0; 5 > V$2; ++V$2) {
18322								ct$2 = Jr[V$2], vt$2[V$2] = gt$2, bt$2[V$2] = G$2, !V$2 && 0 < K$2 && (ct$2 += 1 << K$2);
18323								r: {
18324									var xt$2, At$2 = ct$2, St$2 = Y$2, kt$2 = pt$2, It$2 = gt$2, jt$2 = G$2, Ct$2 = 0, Ot$2 = St$2.m, Bt$2 = y$2(Ot$2, 1);
18325									if (i$2(kt$2, 0, 0, At$2), Bt$2) {
18326										var Mt$2 = y$2(Ot$2, 1) + 1, qt$2 = y$2(Ot$2, 1), Et$2 = y$2(Ot$2, 0 == qt$2 ? 1 : 8);
18327										kt$2[Et$2] = 1, 2 == Mt$2 && (kt$2[Et$2 = y$2(Ot$2, 8)] = 1);
18328										var Rt$2 = 1;
18329									} else {
18330										var Dt$2 = a$1(19), Tt$2 = y$2(Ot$2, 4) + 4;
18331										if (19 < Tt$2) {
18332											St$2.a = 3;
18333											var zt$2 = 0;
18334											break r;
18335										}
18336										for (xt$2 = 0; xt$2 < Tt$2; ++xt$2) Dt$2[Kr[xt$2]] = y$2(Ot$2, 3);
18337										var Ut$2 = void 0, Ht$2 = void 0, Wt$2 = St$2, Vt$2 = Dt$2, Gt$2 = At$2, Yt$2 = kt$2, Jt$2 = 0, Xt$2 = Wt$2.m, Kt$2 = 8, Zt$2 = o$1(128, h$2);
18338										i: for (; l$2(Zt$2, 0, 7, Vt$2, 19);) {
18339											if (y$2(Xt$2, 1)) {
18340												var $t$2 = 2 + 2 * y$2(Xt$2, 3);
18341												if ((Ut$2 = 2 + y$2(Xt$2, $t$2)) > Gt$2) break i;
18342											} else Ut$2 = Gt$2;
18343											for (Ht$2 = 0; Ht$2 < Gt$2 && Ut$2--;) {
18344												S$1(Xt$2);
18345												var Qt$2 = Zt$2[0 + (127 & L$2(Xt$2))];
18346												A$2(Xt$2, Xt$2.u + Qt$2.g);
18347												var te$2 = Qt$2.value;
18348												if (16 > te$2) Yt$2[Ht$2++] = te$2, 0 != te$2 && (Kt$2 = te$2);
18349												else {
18350													var ee$2 = 16 == te$2, ne$2 = te$2 - 16, re$2 = Yr[ne$2], ie$2 = y$2(Xt$2, Gr[ne$2]) + re$2;
18351													if (Ht$2 + ie$2 > Gt$2) break i;
18352													for (var ae$2 = ee$2 ? Kt$2 : 0; 0 < ie$2--;) Yt$2[Ht$2++] = ae$2;
18353												}
18354											}
18355											Jt$2 = 1;
18356											break i;
18357										}
18358										Jt$2 || (Wt$2.a = 3), Rt$2 = Jt$2;
18359									}
18360									(Rt$2 = Rt$2 && !Ot$2.h) && (Ct$2 = l$2(It$2, jt$2, 8, kt$2, At$2)), Rt$2 && 0 != Ct$2 ? zt$2 = Ct$2 : (St$2.a = 3, zt$2 = 0);
18361								}
18362								if (0 == zt$2) break n;
18363								if (Nt$2 && 1 == Xr[V$2] && (Nt$2 = 0 == gt$2[G$2].g), wt$2 += gt$2[G$2].g, G$2 += zt$2, 3 >= V$2) {
18364									var oe$2, se$2 = pt$2[0];
18365									for (oe$2 = 1; oe$2 < ct$2; ++oe$2) pt$2[oe$2] > se$2 && (se$2 = pt$2[oe$2]);
18366									Lt$2 += se$2;
18367								}
18368							}
18369							if (mt$2.nd = Nt$2, mt$2.Qb = 0, Nt$2 && (mt$2.qb = (vt$2[3][bt$2[3] + 0].value << 24 | vt$2[1][bt$2[1] + 0].value << 16 | vt$2[2][bt$2[2] + 0].value) >>> 0, 0 == wt$2 && 256 > vt$2[0][bt$2[0] + 0].value && (mt$2.Qb = 1, mt$2.qb += vt$2[0][bt$2[0] + 0].value << 8)), mt$2.jc = !mt$2.Qb && 6 > Lt$2, mt$2.jc) {
18370								var ue$2, ce$2 = mt$2;
18371								for (ue$2 = 0; ue$2 < Rn; ++ue$2) {
18372									var le$2 = ue$2, he$2 = ce$2.pd[le$2], fe$2 = ce$2.G[0][ce$2.H[0] + le$2];
18373									256 <= fe$2.value ? (he$2.g = fe$2.g + 256, he$2.value = fe$2.value) : (he$2.g = 0, he$2.value = 0, le$2 >>= yt$1(fe$2, 8, he$2), le$2 >>= yt$1(ce$2.G[1][ce$2.H[1] + le$2], 16, he$2), le$2 >>= yt$1(ce$2.G[2][ce$2.H[2] + le$2], 0, he$2), yt$1(ce$2.G[3][ce$2.H[3] + le$2], 24, he$2));
18374								}
18375							}
18376						}
18377						Q$2.vc = tt$2, Q$2.Wb = et$3, Q$2.Ya = dt$2, Q$2.yc = lt$2, H$2 = 1;
18378						break e;
18379					}
18380					H$2 = 0;
18381				}
18382				if (!(c$3 = H$2)) {
18383					s$2.a = 3;
18384					break t;
18385				}
18386				if (0 < b$3) {
18387					if (m$3.ua = 1 << b$3, !O$1(m$3.Wa, b$3)) {
18388						s$2.a = 1, c$3 = 0;
18389						break t;
18390					}
18391				} else m$3.ua = 0;
18392				var de$2 = s$2, pe$2 = f$3, ge$2 = p$3, me$2 = de$2.s, ve$2 = me$2.xc;
18393				if (de$2.c = pe$2, de$2.i = ge$2, me$2.md = E$1(pe$2, ve$2), me$2.wc = 0 == ve$2 ? -1 : (1 << ve$2) - 1, r$1) {
18394					s$2.xb = di;
18395					break t;
18396				}
18397				if (null == (v$3 = a$1(f$3 * p$3))) {
18398					s$2.a = 1, c$3 = 0;
18399					break t;
18400				}
18401				c$3 = (c$3 = _t$1(s$2, v$3, 0, f$3, p$3, p$3, null)) && !g$3.h;
18402				break t;
18403			}
18404			return c$3 ? (null != u$3 ? u$3[0] = v$3 : (e(null == v$3), e(r$1)), s$2.$ = 0, r$1 || Pt$1(m$3)) : Pt$1(m$3), c$3;
18405		}
18406		function It$1(t$2, n$1) {
18407			var r$1 = t$2.c * t$2.i, i$3 = r$1 + n$1 + 16 * n$1;
18408			return e(t$2.c <= n$1), t$2.V = a$1(i$3), null == t$2.V ? (t$2.Ta = null, t$2.Ua = 0, t$2.a = 1, 0) : (t$2.Ta = t$2.V, t$2.Ua = t$2.Ba + r$1 + n$1, 1);
18409		}
18410		function jt$1(t$2, n$1) {
18411			var r$1 = t$2.C, i$3 = n$1 - r$1, a$2 = t$2.V, o$2 = t$2.Ba + t$2.c * r$1;
18412			for (e(n$1 <= t$2.l.o); 0 < i$3;) {
18413				var s$2 = 16 < i$3 ? 16 : i$3, u$3 = t$2.l.ma, c$3 = t$2.l.width, l$3 = c$3 * s$2, h$3 = u$3.ca, f$3 = u$3.tb + c$3 * r$1, d$3 = t$2.Ta, p$3 = t$2.Ua;
18414				Nt$1(t$2, s$2, a$2, o$2), Sr(d$3, p$3, h$3, f$3, l$3), At$1(u$3, r$1, r$1 + s$2, h$3, f$3, c$3), i$3 -= s$2, a$2 += s$2 * t$2.c, r$1 += s$2;
18415			}
18416			e(r$1 == n$1), t$2.C = t$2.Ma = n$1;
18417		}
18418		function Ct$1() {
18419			this.ub = this.yd = this.td = this.Rb = 0;
18420		}
18421		function Ot$1() {
18422			this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;
18423		}
18424		function Bt$1() {
18425			this.Fb = this.Bb = this.Cb = 0, this.Zb = a$1(4), this.Lb = a$1(4);
18426		}
18427		function Mt$1() {
18428			this.Yb = function() {
18429				var t$2 = [];
18430				return function t$3(e$1, n$1, r$1) {
18431					for (var i$3 = r$1[n$1], a$2 = 0; a$2 < i$3 && (e$1.push(r$1.length > n$1 + 1 ? [] : 0), !(r$1.length < n$1 + 1)); a$2++) t$3(e$1[a$2], n$1 + 1, r$1);
18432				}(t$2, 0, [3, 11]), t$2;
18433			}();
18434		}
18435		function qt$1() {
vendor: 5,399 bytes, lines 18436-18517
18436			this.jb = a$1(3), this.Wc = s$1([4, 8], Mt$1), this.Xc = s$1([4, 17], Mt$1);
18437		}
18438		function Et$1() {
18439			this.Pc = this.wb = this.Tb = this.zd = 0, this.vd = new a$1(4), this.od = new a$1(4);
18440		}
18441		function Rt$1() {
18442			this.ld = this.La = this.dd = this.tc = 0;
18443		}
18444		function Dt$1() {
18445			this.Na = this.la = 0;
18446		}
18447		function Tt$1() {
18448			this.Sc = [0, 0], this.Eb = [0, 0], this.Qc = [0, 0], this.ia = this.lc = 0;
18449		}
18450		function zt$1() {
18451			this.ad = a$1(384), this.Za = 0, this.Ob = a$1(16), this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;
18452		}
18453		function Ut$1() {
18454			this.uc = this.M = this.Nb = 0, this.wa = Array(new Rt$1()), this.Y = 0, this.ya = Array(new zt$1()), this.aa = 0, this.l = new Gt$1();
18455		}
18456		function Ht$1() {
18457			this.y = a$1(16), this.f = a$1(8), this.ea = a$1(8);
18458		}
18459		function Wt$1() {
18460			this.cb = this.a = 0, this.sc = "", this.m = new w$2(), this.Od = new Ct$1(), this.Kc = new Ot$1(), this.ed = new Et$1(), this.Qa = new Bt$1(), this.Ic = this.$c = this.Aa = 0, this.D = new Ut$1(), this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0, this.Jc = o$1(8, w$2), this.ia = 0, this.pb = o$1(4, Tt$1), this.Pa = new qt$1(), this.Bd = this.kc = 0, this.Ac = [], this.Bc = 0, this.zc = [
18461				0,
18462				0,
18463				0,
18464				0
18465			], this.Gd = Array(new Ht$1()), this.Hd = 0, this.rb = Array(new Dt$1()), this.sb = 0, this.wa = Array(new Rt$1()), this.Y = 0, this.oc = [], this.pc = 0, this.sa = [], this.ta = 0, this.qa = [], this.ra = 0, this.Ha = [], this.B = this.R = this.Ia = 0, this.Ec = [], this.M = this.ja = this.Vb = this.Fc = 0, this.ya = Array(new zt$1()), this.L = this.aa = 0, this.gd = s$1([4, 2], Rt$1), this.ga = null, this.Fa = [], this.Cc = this.qc = this.P = 0, this.Gb = [], this.Uc = 0, this.mb = [], this.nb = 0, this.rc = [], this.Ga = this.Vc = 0;
18466		}
18467		function Vt$1(t$2, e$1) {
18468			return 0 > t$2 ? 0 : t$2 > e$1 ? e$1 : t$2;
18469		}
18470		function Gt$1() {
18471			this.T = this.U = this.ka = this.height = this.width = 0, this.y = [], this.f = [], this.ea = [], this.Rc = this.fa = this.W = this.N = this.O = 0, this.ma = "void", this.put = "VP8IoPutHook", this.ac = "VP8IoSetupHook", this.bc = "VP8IoTeardownHook", this.ha = this.Kb = 0, this.data = [], this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0, this.F = [], this.J = 0;
18472		}
18473		function Yt$1() {
18474			var t$2 = new Wt$1();
18475			return null != t$2 && (t$2.a = 0, t$2.sc = "OK", t$2.cb = 0, t$2.Xb = 0, ni || (ni = Zt$1)), t$2;
18476		}
18477		function Jt$1(t$2, e$1, n$1) {
18478			return 0 == t$2.a && (t$2.a = e$1, t$2.sc = n$1, t$2.cb = 0), 0;
18479		}
18480		function Xt$1(t$2, e$1, n$1) {
18481			return 3 <= n$1 && 157 == t$2[e$1 + 0] && 1 == t$2[e$1 + 1] && 42 == t$2[e$1 + 2];
18482		}
18483		function Kt$1(t$2, n$1) {
18484			if (null == t$2) return 0;
18485			if (t$2.a = 0, t$2.sc = "OK", null == n$1) return Jt$1(t$2, 2, "null VP8Io passed to VP8GetHeaders()");
18486			var r$1 = n$1.data, a$2 = n$1.w, o$2 = n$1.ha;
18487			if (4 > o$2) return Jt$1(t$2, 7, "Truncated header.");
18488			var s$2 = r$1[a$2 + 0] | r$1[a$2 + 1] << 8 | r$1[a$2 + 2] << 16, u$3 = t$2.Od;
18489			if (u$3.Rb = !(1 & s$2), u$3.td = s$2 >> 1 & 7, u$3.yd = s$2 >> 4 & 1, u$3.ub = s$2 >> 5, 3 < u$3.td) return Jt$1(t$2, 3, "Incorrect keyframe parameters.");
18490			if (!u$3.yd) return Jt$1(t$2, 4, "Frame not displayable.");
18491			a$2 += 3, o$2 -= 3;
18492			var c$3 = t$2.Kc;
18493			if (u$3.Rb) {
18494				if (7 > o$2) return Jt$1(t$2, 7, "cannot parse picture header");
18495				if (!Xt$1(r$1, a$2, o$2)) return Jt$1(t$2, 3, "Bad code word");
18496				c$3.c = 16383 & (r$1[a$2 + 4] << 8 | r$1[a$2 + 3]), c$3.Td = r$1[a$2 + 4] >> 6, c$3.i = 16383 & (r$1[a$2 + 6] << 8 | r$1[a$2 + 5]), c$3.Ud = r$1[a$2 + 6] >> 6, a$2 += 7, o$2 -= 7, t$2.za = c$3.c + 15 >> 4, t$2.Ub = c$3.i + 15 >> 4, n$1.width = c$3.c, n$1.height = c$3.i, n$1.Da = 0, n$1.j = 0, n$1.v = 0, n$1.va = n$1.width, n$1.o = n$1.height, n$1.da = 0, n$1.ib = n$1.width, n$1.hb = n$1.height, n$1.U = n$1.width, n$1.T = n$1.height, i$2((s$2 = t$2.Pa).jb, 0, 255, s$2.jb.length), e(null != (s$2 = t$2.Qa)), s$2.Cb = 0, s$2.Bb = 0, s$2.Fb = 1, i$2(s$2.Zb, 0, 0, s$2.Zb.length), i$2(s$2.Lb, 0, 0, s$2.Lb);
18497			}
18498			if (u$3.ub > o$2) return Jt$1(t$2, 7, "bad partition length");
18499			p$2(s$2 = t$2.m, r$1, a$2, u$3.ub), a$2 += u$3.ub, o$2 -= u$3.ub, u$3.Rb && (c$3.Ld = P$1(s$2), c$3.Kd = P$1(s$2)), c$3 = t$2.Qa;
18500			var l$3, h$3 = t$2.Pa;
18501			if (e(null != s$2), e(null != c$3), c$3.Cb = P$1(s$2), c$3.Cb) {
18502				if (c$3.Bb = P$1(s$2), P$1(s$2)) {
18503					for (c$3.Fb = P$1(s$2), l$3 = 0; 4 > l$3; ++l$3) c$3.Zb[l$3] = P$1(s$2) ? m$2(s$2, 7) : 0;
18504					for (l$3 = 0; 4 > l$3; ++l$3) c$3.Lb[l$3] = P$1(s$2) ? m$2(s$2, 6) : 0;
18505				}
18506				if (c$3.Bb) for (l$3 = 0; 3 > l$3; ++l$3) h$3.jb[l$3] = P$1(s$2) ? g$2(s$2, 8) : 255;
18507			} else c$3.Bb = 0;
18508			if (s$2.Ka) return Jt$1(t$2, 3, "cannot parse segment header");
18509			if ((c$3 = t$2.ed).zd = P$1(s$2), c$3.Tb = g$2(s$2, 6), c$3.wb = g$2(s$2, 3), c$3.Pc = P$1(s$2), c$3.Pc && P$1(s$2)) {
18510				for (h$3 = 0; 4 > h$3; ++h$3) P$1(s$2) && (c$3.vd[h$3] = m$2(s$2, 6));
18511				for (h$3 = 0; 4 > h$3; ++h$3) P$1(s$2) && (c$3.od[h$3] = m$2(s$2, 6));
18512			}
18513			if (t$2.L = 0 == c$3.Tb ? 0 : c$3.zd ? 1 : 2, s$2.Ka) return Jt$1(t$2, 3, "cannot parse filter header");
18514			var f$3 = o$2;
18515			if (o$2 = l$3 = a$2, a$2 = l$3 + f$3, c$3 = f$3, t$2.Xb = (1 << g$2(t$2.m, 2)) - 1, f$3 < 3 * (h$3 = t$2.Xb)) r$1 = 7;
18516			else {
18517				for (l$3 += 3 * h$3, c$3 -= 3 * h$3, f$3 = 0; f$3 < h$3;
vendor: 61,050 bytes, lines 18517-21249
18517 ++f$3) {
18518					var d$3 = r$1[o$2 + 0] | r$1[o$2 + 1] << 8 | r$1[o$2 + 2] << 16;
18519					d$3 > c$3 && (d$3 = c$3), p$2(t$2.Jc[+f$3], r$1, l$3, d$3), l$3 += d$3, c$3 -= d$3, o$2 += 3;
18520				}
18521				p$2(t$2.Jc[+h$3], r$1, l$3, c$3), r$1 = l$3 < a$2 ? 0 : 5;
18522			}
18523			if (0 != r$1) return Jt$1(t$2, r$1, "cannot parse partitions");
18524			for (r$1 = g$2(l$3 = t$2.m, 7), o$2 = P$1(l$3) ? m$2(l$3, 4) : 0, a$2 = P$1(l$3) ? m$2(l$3, 4) : 0, c$3 = P$1(l$3) ? m$2(l$3, 4) : 0, h$3 = P$1(l$3) ? m$2(l$3, 4) : 0, l$3 = P$1(l$3) ? m$2(l$3, 4) : 0, f$3 = t$2.Qa, d$3 = 0; 4 > d$3; ++d$3) {
18525				if (f$3.Cb) {
18526					var v$3 = f$3.Zb[d$3];
18527					f$3.Fb || (v$3 += r$1);
18528				} else {
18529					if (0 < d$3) {
18530						t$2.pb[d$3] = t$2.pb[0];
18531						continue;
18532					}
18533					v$3 = r$1;
18534				}
18535				var b$3 = t$2.pb[d$3];
18536				b$3.Sc[0] = ti[Vt$1(v$3 + o$2, 127)], b$3.Sc[1] = ei[Vt$1(v$3 + 0, 127)], b$3.Eb[0] = 2 * ti[Vt$1(v$3 + a$2, 127)], b$3.Eb[1] = 101581 * ei[Vt$1(v$3 + c$3, 127)] >> 16, 8 > b$3.Eb[1] && (b$3.Eb[1] = 8), b$3.Qc[0] = ti[Vt$1(v$3 + h$3, 117)], b$3.Qc[1] = ei[Vt$1(v$3 + l$3, 127)], b$3.lc = v$3 + l$3;
18537			}
18538			if (!u$3.Rb) return Jt$1(t$2, 4, "Not a key frame.");
18539			for (P$1(s$2), u$3 = t$2.Pa, r$1 = 0; 4 > r$1; ++r$1) {
18540				for (o$2 = 0; 8 > o$2; ++o$2) for (a$2 = 0; 3 > a$2; ++a$2) for (c$3 = 0; 11 > c$3; ++c$3) h$3 = k$1(s$2, ui[r$1][o$2][a$2][c$3]) ? g$2(s$2, 8) : oi[r$1][o$2][a$2][c$3], u$3.Wc[r$1][o$2].Yb[a$2][c$3] = h$3;
18541				for (o$2 = 0; 17 > o$2; ++o$2) u$3.Xc[r$1][o$2] = u$3.Wc[r$1][ci[o$2]];
18542			}
18543			return t$2.kc = P$1(s$2), t$2.kc && (t$2.Bd = g$2(s$2, 8)), t$2.cb = 1;
18544		}
18545		function Zt$1(t$2, e$1, n$1, r$1, i$3, a$2, o$2) {
18546			var s$2 = e$1[i$3].Yb[n$1];
18547			for (n$1 = 0; 16 > i$3; ++i$3) {
18548				if (!k$1(t$2, s$2[n$1 + 0])) return i$3;
18549				for (; !k$1(t$2, s$2[n$1 + 1]);) if (s$2 = e$1[++i$3].Yb[0], n$1 = 0, 16 == i$3) return 16;
18550				var u$3 = e$1[i$3 + 1].Yb;
18551				if (k$1(t$2, s$2[n$1 + 2])) {
18552					var c$3 = t$2, l$3 = 0;
18553					if (k$1(c$3, (f$3 = s$2)[(h$3 = n$1) + 3])) if (k$1(c$3, f$3[h$3 + 6])) {
18554						for (s$2 = 0, h$3 = 2 * (l$3 = k$1(c$3, f$3[h$3 + 8])) + (f$3 = k$1(c$3, f$3[h$3 + 9 + l$3])), l$3 = 0, f$3 = ri[h$3]; f$3[s$2]; ++s$2) l$3 += l$3 + k$1(c$3, f$3[s$2]);
18555						l$3 += 3 + (8 << h$3);
18556					} else k$1(c$3, f$3[h$3 + 7]) ? (l$3 = 7 + 2 * k$1(c$3, 165), l$3 += k$1(c$3, 145)) : l$3 = 5 + k$1(c$3, 159);
18557					else l$3 = k$1(c$3, f$3[h$3 + 4]) ? 3 + k$1(c$3, f$3[h$3 + 5]) : 2;
18558					s$2 = u$3[2];
18559				} else l$3 = 1, s$2 = u$3[1];
18560				u$3 = o$2 + ii[i$3], 0 > (c$3 = t$2).b && _$1(c$3);
18561				var h$3, f$3 = c$3.b, d$3 = (h$3 = c$3.Ca >> 1) - (c$3.I >> f$3) >> 31;
18562				--c$3.b, c$3.Ca += d$3, c$3.Ca |= 1, c$3.I -= (h$3 + 1 & d$3) << f$3, a$2[u$3] = ((l$3 ^ d$3) - d$3) * r$1[(0 < i$3) + 0];
18563			}
18564			return 16;
18565		}
18566		function $t$1(t$2) {
18567			var e$1 = t$2.rb[t$2.sb - 1];
18568			e$1.la = 0, e$1.Na = 0, i$2(t$2.zc, 0, 0, t$2.zc.length), t$2.ja = 0;
18569		}
18570		function Qt$1(t$2, e$1, n$1, r$1, i$3) {
18571			i$3 = t$2[e$1 + n$1 + 32 * r$1] + (i$3 >> 3), t$2[e$1 + n$1 + 32 * r$1] = -256 & i$3 ? 0 > i$3 ? 0 : 255 : i$3;
18572		}
18573		function te$1(t$2, e$1, n$1, r$1, i$3, a$2) {
18574			Qt$1(t$2, e$1, 0, n$1, r$1 + i$3), Qt$1(t$2, e$1, 1, n$1, r$1 + a$2), Qt$1(t$2, e$1, 2, n$1, r$1 - a$2), Qt$1(t$2, e$1, 3, n$1, r$1 - i$3);
18575		}
18576		function ee$1(t$2) {
18577			return (20091 * t$2 >> 16) + t$2;
18578		}
18579		function ne$1(t$2, e$1, n$1, r$1) {
18580			var i$3, o$2 = 0, s$2 = a$1(16);
18581			for (i$3 = 0; 4 > i$3; ++i$3) {
18582				var u$3 = t$2[e$1 + 0] + t$2[e$1 + 8], c$3 = t$2[e$1 + 0] - t$2[e$1 + 8], l$3 = (35468 * t$2[e$1 + 4] >> 16) - ee$1(t$2[e$1 + 12]), h$3 = ee$1(t$2[e$1 + 4]) + (35468 * t$2[e$1 + 12] >> 16);
18583				s$2[o$2 + 0] = u$3 + h$3, s$2[o$2 + 1] = c$3 + l$3, s$2[o$2 + 2] = c$3 - l$3, s$2[o$2 + 3] = u$3 - h$3, o$2 += 4, e$1++;
18584			}
18585			for (i$3 = o$2 = 0; 4 > i$3; ++i$3) u$3 = (t$2 = s$2[o$2 + 0] + 4) + s$2[o$2 + 8], c$3 = t$2 - s$2[o$2 + 8], l$3 = (35468 * s$2[o$2 + 4] >> 16) - ee$1(s$2[o$2 + 12]), Qt$1(n$1, r$1, 0, 0, u$3 + (h$3 = ee$1(s$2[o$2 + 4]) + (35468 * s$2[o$2 + 12] >> 16))), Qt$1(n$1, r$1, 1, 0, c$3 + l$3), Qt$1(n$1, r$1, 2, 0, c$3 - l$3), Qt$1(n$1, r$1, 3, 0, u$3 - h$3), o$2++, r$1 += 32;
18586		}
18587		function re$1(t$2, e$1, n$1, r$1) {
18588			var i$3 = t$2[e$1 + 0] + 4, a$2 = 35468 * t$2[e$1 + 4] >> 16, o$2 = ee$1(t$2[e$1 + 4]), s$2 = 35468 * t$2[e$1 + 1] >> 16;
18589			te$1(n$1, r$1, 0, i$3 + o$2, t$2 = ee$1(t$2[e$1 + 1]), s$2), te$1(n$1, r$1, 1, i$3 + a$2, t$2, s$2), te$1(n$1, r$1, 2, i$3 - a$2, t$2, s$2), te$1(n$1, r$1, 3, i$3 - o$2, t$2, s$2);
18590		}
18591		function ie$1(t$2, e$1, n$1, r$1, i$3) {
18592			ne$1(t$2, e$1, n$1, r$1), i$3 && ne$1(t$2, e$1 + 16, n$1, r$1 + 4);
18593		}
18594		function ae$1(t$2, e$1, n$1, r$1) {
18595			ar(t$2, e$1 + 0, n$1, r$1, 1), ar(t$2, e$1 + 32, n$1, r$1 + 128, 1);
18596		}
18597		function oe$1(t$2, e$1, n$1, r$1) {
18598			var i$3;
18599			for (t$2 = t$2[e$1 + 0] + 4, i$3 = 0; 4 > i$3; ++i$3) for (e$1 = 0; 4 > e$1; ++e$1) Qt$1(n$1, r$1, e$1, i$3, t$2);
18600		}
18601		function se$1(t$2, e$1, n$1, r$1) {
18602			t$2[e$1 + 0] && ur(t$2, e$1 + 0, n$1, r$1), t$2[e$1 + 16] && ur(t$2, e$1 + 16, n$1, r$1 + 4), t$2[e$1 + 32] && ur(t$2, e$1 + 32, n$1, r$1 + 128), t$2[e$1 + 48] && ur(t$2, e$1 + 48, n$1, r$1 + 128 + 4);
18603		}
18604		function ue$1(t$2, e$1, n$1, r$1) {
18605			var i$3, o$2 = a$1(16);
18606			for (i$3 = 0; 4 > i$3; ++i$3) {
18607				var s$2 = t$2[e$1 + 0 + i$3] + t$2[e$1 + 12 + i$3], u$3 = t$2[e$1 + 4 + i$3] + t$2[e$1 + 8 + i$3], c$3 = t$2[e$1 + 4 + i$3] - t$2[e$1 + 8 + i$3], l$3 = t$2[e$1 + 0 + i$3] - t$2[e$1 + 12 + i$3];
18608				o$2[0 + i$3] = s$2 + u$3, o$2[8 + i$3] = s$2 - u$3, o$2[4 + i$3] = l$3 + c$3, o$2[12 + i$3] = l$3 - c$3;
18609			}
18610			for (i$3 = 0; 4 > i$3; ++i$3) s$2 = (t$2 = o$2[0 + 4 * i$3] + 3) + o$2[3 + 4 * i$3], u$3 = o$2[1 + 4 * i$3] + o$2[2 + 4 * i$3], c$3 = o$2[1 + 4 * i$3] - o$2[2 + 4 * i$3], l$3 = t$2 - o$2[3 + 4 * i$3], n$1[r$1 + 0] = s$2 + u$3 >> 3, n$1[r$1 + 16] = l$3 + c$3 >> 3, n$1[r$1 + 32] = s$2 - u$3 >> 3, n$1[r$1 + 48] = l$3 - c$3 >> 3, r$1 += 64;
18611		}
18612		function ce$1(t$2, e$1, n$1) {
18613			var r$1, i$3 = e$1 - 32, a$2 = Or, o$2 = 255 - t$2[i$3 - 1];
18614			for (r$1 = 0; r$1 < n$1; ++r$1) {
18615				var s$2, u$3 = a$2, c$3 = o$2 + t$2[e$1 - 1];
18616				for (s$2 = 0; s$2 < n$1; ++s$2) t$2[e$1 + s$2] = u$3[c$3 + t$2[i$3 + s$2]];
18617				e$1 += 32;
18618			}
18619		}
18620		function le$1(t$2, e$1) {
18621			ce$1(t$2, e$1, 4);
18622		}
18623		function he$1(t$2, e$1) {
18624			ce$1(t$2, e$1, 8);
18625		}
18626		function fe$1(t$2, e$1) {
18627			ce$1(t$2, e$1, 16);
18628		}
18629		function de$1(t$2, e$1) {
18630			var n$1;
18631			for (n$1 = 0; 16 > n$1; ++n$1) r(t$2, e$1 + 32 * n$1, t$2, e$1 - 32, 16);
18632		}
18633		function pe$1(t$2, e$1) {
18634			var n$1;
18635			for (n$1 = 16; 0 < n$1; --n$1) i$2(t$2, e$1, t$2[e$1 - 1], 16), e$1 += 32;
18636		}
18637		function ge$1(t$2, e$1, n$1) {
18638			var r$1;
18639			for (r$1 = 0; 16 > r$1; ++r$1) i$2(e$1, n$1 + 32 * r$1, t$2, 16);
18640		}
18641		function me$1(t$2, e$1) {
18642			var n$1, r$1 = 16;
18643			for (n$1 = 0; 16 > n$1; ++n$1) r$1 += t$2[e$1 - 1 + 32 * n$1] + t$2[e$1 + n$1 - 32];
18644			ge$1(r$1 >> 5, t$2, e$1);
18645		}
18646		function ve$1(t$2, e$1) {
18647			var n$1, r$1 = 8;
18648			for (n$1 = 0; 16 > n$1; ++n$1) r$1 += t$2[e$1 - 1 + 32 * n$1];
18649			ge$1(r$1 >> 4, t$2, e$1);
18650		}
18651		function be$1(t$2, e$1) {
18652			var n$1, r$1 = 8;
18653			for (n$1 = 0; 16 > n$1; ++n$1) r$1 += t$2[e$1 + n$1 - 32];
18654			ge$1(r$1 >> 4, t$2, e$1);
18655		}
18656		function ye$1(t$2, e$1) {
18657			ge$1(128, t$2, e$1);
18658		}
18659		function we$1(t$2, e$1, n$1) {
18660			return t$2 + 2 * e$1 + n$1 + 2 >> 2;
18661		}
18662		function Ne$1(t$2, e$1) {
18663			var n$1, i$3 = e$1 - 32;
18664			for (i$3 = new Uint8Array([
18665				we$1(t$2[i$3 - 1], t$2[i$3 + 0], t$2[i$3 + 1]),
18666				we$1(t$2[i$3 + 0], t$2[i$3 + 1], t$2[i$3 + 2]),
18667				we$1(t$2[i$3 + 1], t$2[i$3 + 2], t$2[i$3 + 3]),
18668				we$1(t$2[i$3 + 2], t$2[i$3 + 3], t$2[i$3 + 4])
18669			]), n$1 = 0; 4 > n$1; ++n$1) r(t$2, e$1 + 32 * n$1, i$3, 0, i$3.length);
18670		}
18671		function Le$1(t$2, e$1) {
18672			var n$1 = t$2[e$1 - 1], r$1 = t$2[e$1 - 1 + 32], i$3 = t$2[e$1 - 1 + 64], a$2 = t$2[e$1 - 1 + 96];
18673			F$1(t$2, e$1 + 0, 16843009 * we$1(t$2[e$1 - 1 - 32], n$1, r$1)), F$1(t$2, e$1 + 32, 16843009 * we$1(n$1, r$1, i$3)), F$1(t$2, e$1 + 64, 16843009 * we$1(r$1, i$3, a$2)), F$1(t$2, e$1 + 96, 16843009 * we$1(i$3, a$2, a$2));
18674		}
18675		function xe$1(t$2, e$1) {
18676			var n$1, r$1 = 4;
18677			for (n$1 = 0; 4 > n$1; ++n$1) r$1 += t$2[e$1 + n$1 - 32] + t$2[e$1 - 1 + 32 * n$1];
18678			for (r$1 >>= 3, n$1 = 0; 4 > n$1; ++n$1) i$2(t$2, e$1 + 32 * n$1, r$1, 4);
18679		}
18680		function Ae$1(t$2, e$1) {
18681			var n$1 = t$2[e$1 - 1 + 0], r$1 = t$2[e$1 - 1 + 32], i$3 = t$2[e$1 - 1 + 64], a$2 = t$2[e$1 - 1 - 32], o$2 = t$2[e$1 + 0 - 32], s$2 = t$2[e$1 + 1 - 32], u$3 = t$2[e$1 + 2 - 32], c$3 = t$2[e$1 + 3 - 32];
18682			t$2[e$1 + 0 + 96] = we$1(r$1, i$3, t$2[e$1 - 1 + 96]), t$2[e$1 + 1 + 96] = t$2[e$1 + 0 + 64] = we$1(n$1, r$1, i$3), t$2[e$1 + 2 + 96] = t$2[e$1 + 1 + 64] = t$2[e$1 + 0 + 32] = we$1(a$2, n$1, r$1), t$2[e$1 + 3 + 96] = t$2[e$1 + 2 + 64] = t$2[e$1 + 1 + 32] = t$2[e$1 + 0 + 0] = we$1(o$2, a$2, n$1), t$2[e$1 + 3 + 64] = t$2[e$1 + 2 + 32] = t$2[e$1 + 1 + 0] = we$1(s$2, o$2, a$2), t$2[e$1 + 3 + 32] = t$2[e$1 + 2 + 0] = we$1(u$3, s$2, o$2), t$2[e$1 + 3 + 0] = we$1(c$3, u$3, s$2);
18683		}
18684		function Se$1(t$2, e$1) {
18685			var n$1 = t$2[e$1 + 1 - 32], r$1 = t$2[e$1 + 2 - 32], i$3 = t$2[e$1 + 3 - 32], a$2 = t$2[e$1 + 4 - 32], o$2 = t$2[e$1 + 5 - 32], s$2 = t$2[e$1 + 6 - 32], u$3 = t$2[e$1 + 7 - 32];
18686			t$2[e$1 + 0 + 0] = we$1(t$2[e$1 + 0 - 32], n$1, r$1), t$2[e$1 + 1 + 0] = t$2[e$1 + 0 + 32] = we$1(n$1, r$1, i$3), t$2[e$1 + 2 + 0] = t$2[e$1 + 1 + 32] = t$2[e$1 + 0 + 64] = we$1(r$1, i$3, a$2), t$2[e$1 + 3 + 0] = t$2[e$1 + 2 + 32] = t$2[e$1 + 1 + 64] = t$2[e$1 + 0 + 96] = we$1(i$3, a$2, o$2), t$2[e$1 + 3 + 32] = t$2[e$1 + 2 + 64] = t$2[e$1 + 1 + 96] = we$1(a$2, o$2, s$2), t$2[e$1 + 3 + 64] = t$2[e$1 + 2 + 96] = we$1(o$2, s$2, u$3), t$2[e$1 + 3 + 96] = we$1(s$2, u$3, u$3);
18687		}
18688		function _e$1(t$2, e$1) {
18689			var n$1 = t$2[e$1 - 1 + 0], r$1 = t$2[e$1 - 1 + 32], i$3 = t$2[e$1 - 1 + 64], a$2 = t$2[e$1 - 1 - 32], o$2 = t$2[e$1 + 0 - 32], s$2 = t$2[e$1 + 1 - 32], u$3 = t$2[e$1 + 2 - 32], c$3 = t$2[e$1 + 3 - 32];
18690			t$2[e$1 + 0 + 0] = t$2[e$1 + 1 + 64] = a$2 + o$2 + 1 >> 1, t$2[e$1 + 1 + 0] = t$2[e$1 + 2 + 64] = o$2 + s$2 + 1 >> 1, t$2[e$1 + 2 + 0] = t$2[e$1 + 3 + 64] = s$2 + u$3 + 1 >> 1, t$2[e$1 + 3 + 0] = u$3 + c$3 + 1 >> 1, t$2[e$1 + 0 + 96] = we$1(i$3, r$1, n$1), t$2[e$1 + 0 + 64] = we$1(r$1, n$1, a$2), t$2[e$1 + 0 + 32] = t$2[e$1 + 1 + 96] = we$1(n$1, a$2, o$2), t$2[e$1 + 1 + 32] = t$2[e$1 + 2 + 96] = we$1(a$2, o$2, s$2), t$2[e$1 + 2 + 32] = t$2[e$1 + 3 + 96] = we$1(o$2, s$2, u$3), t$2[e$1 + 3 + 32] = we$1(s$2, u$3, c$3);
18691		}
18692		function Pe$1(t$2, e$1) {
18693			var n$1 = t$2[e$1 + 0 - 32], r$1 = t$2[e$1 + 1 - 32], i$3 = t$2[e$1 + 2 - 32], a$2 = t$2[e$1 + 3 - 32], o$2 = t$2[e$1 + 4 - 32], s$2 = t$2[e$1 + 5 - 32], u$3 = t$2[e$1 + 6 - 32], c$3 = t$2[e$1 + 7 - 32];
18694			t$2[e$1 + 0 + 0] = n$1 + r$1 + 1 >> 1, t$2[e$1 + 1 + 0] = t$2[e$1 + 0 + 64] = r$1 + i$3 + 1 >> 1, t$2[e$1 + 2 + 0] = t$2[e$1 + 1 + 64] = i$3 + a$2 + 1 >> 1, t$2[e$1 + 3 + 0] = t$2[e$1 + 2 + 64] = a$2 + o$2 + 1 >> 1, t$2[e$1 + 0 + 32] = we$1(n$1, r$1, i$3), t$2[e$1 + 1 + 32] = t$2[e$1 + 0 + 96] = we$1(r$1, i$3, a$2), t$2[e$1 + 2 + 32] = t$2[e$1 + 1 + 96] = we$1(i$3, a$2, o$2), t$2[e$1 + 3 + 32] = t$2[e$1 + 2 + 96] = we$1(a$2, o$2, s$2), t$2[e$1 + 3 + 64] = we$1(o$2, s$2, u$3), t$2[e$1 + 3 + 96] = we$1(s$2, u$3, c$3);
18695		}
18696		function ke$1(t$2, e$1) {
18697			var n$1 = t$2[e$1 - 1 + 0], r$1 = t$2[e$1 - 1 + 32], i$3 = t$2[e$1 - 1 + 64], a$2 = t$2[e$1 - 1 + 96];
18698			t$2[e$1 + 0 + 0] = n$1 + r$1 + 1 >> 1, t$2[e$1 + 2 + 0] = t$2[e$1 + 0 + 32] = r$1 + i$3 + 1 >> 1, t$2[e$1 + 2 + 32] = t$2[e$1 + 0 + 64] = i$3 + a$2 + 1 >> 1, t$2[e$1 + 1 + 0] = we$1(n$1, r$1, i$3), t$2[e$1 + 3 + 0] = t$2[e$1 + 1 + 32] = we$1(r$1, i$3, a$2), t$2[e$1 + 3 + 32] = t$2[e$1 + 1 + 64] = we$1(i$3, a$2, a$2), t$2[e$1 + 3 + 64] = t$2[e$1 + 2 + 64] = t$2[e$1 + 0 + 96] = t$2[e$1 + 1 + 96] = t$2[e$1 + 2 + 96] = t$2[e$1 + 3 + 96] = a$2;
18699		}
18700		function Fe$1(t$2, e$1) {
18701			var n$1 = t$2[e$1 - 1 + 0], r$1 = t$2[e$1 - 1 + 32], i$3 = t$2[e$1 - 1 + 64], a$2 = t$2[e$1 - 1 + 96], o$2 = t$2[e$1 - 1 - 32], s$2 = t$2[e$1 + 0 - 32], u$3 = t$2[e$1 + 1 - 32], c$3 = t$2[e$1 + 2 - 32];
18702			t$2[e$1 + 0 + 0] = t$2[e$1 + 2 + 32] = n$1 + o$2 + 1 >> 1, t$2[e$1 + 0 + 32] = t$2[e$1 + 2 + 64] = r$1 + n$1 + 1 >> 1, t$2[e$1 + 0 + 64] = t$2[e$1 + 2 + 96] = i$3 + r$1 + 1 >> 1, t$2[e$1 + 0 + 96] = a$2 + i$3 + 1 >> 1, t$2[e$1 + 3 + 0] = we$1(s$2, u$3, c$3), t$2[e$1 + 2 + 0] = we$1(o$2, s$2, u$3), t$2[e$1 + 1 + 0] = t$2[e$1 + 3 + 32] = we$1(n$1, o$2, s$2), t$2[e$1 + 1 + 32] = t$2[e$1 + 3 + 64] = we$1(r$1, n$1, o$2), t$2[e$1 + 1 + 64] = t$2[e$1 + 3 + 96] = we$1(i$3, r$1, n$1), t$2[e$1 + 1 + 96] = we$1(a$2, i$3, r$1);
18703		}
18704		function Ie$1(t$2, e$1) {
18705			var n$1;
18706			for (n$1 = 0; 8 > n$1; ++n$1) r(t$2, e$1 + 32 * n$1, t$2, e$1 - 32, 8);
18707		}
18708		function je$1(t$2, e$1) {
18709			var n$1;
18710			for (n$1 = 0; 8 > n$1; ++n$1) i$2(t$2, e$1, t$2[e$1 - 1], 8), e$1 += 32;
18711		}
18712		function Ce(t$2, e$1, n$1) {
18713			var r$1;
18714			for (r$1 = 0; 8 > r$1; ++r$1) i$2(e$1, n$1 + 32 * r$1, t$2, 8);
18715		}
18716		function Oe(t$2, e$1) {
18717			var n$1, r$1 = 8;
18718			for (n$1 = 0; 8 > n$1; ++n$1) r$1 += t$2[e$1 + n$1 - 32] + t$2[e$1 - 1 + 32 * n$1];
18719			Ce(r$1 >> 4, t$2, e$1);
18720		}
18721		function Be(t$2, e$1) {
18722			var n$1, r$1 = 4;
18723			for (n$1 = 0; 8 > n$1; ++n$1) r$1 += t$2[e$1 + n$1 - 32];
18724			Ce(r$1 >> 3, t$2, e$1);
18725		}
18726		function Me(t$2, e$1) {
18727			var n$1, r$1 = 4;
18728			for (n$1 = 0; 8 > n$1; ++n$1) r$1 += t$2[e$1 - 1 + 32 * n$1];
18729			Ce(r$1 >> 3, t$2, e$1);
18730		}
18731		function qe(t$2, e$1) {
18732			Ce(128, t$2, e$1);
18733		}
18734		function Ee(t$2, e$1, n$1) {
18735			var r$1 = t$2[e$1 - n$1], i$3 = t$2[e$1 + 0], a$2 = 3 * (i$3 - r$1) + jr[1020 + t$2[e$1 - 2 * n$1] - t$2[e$1 + n$1]], o$2 = Cr[112 + (a$2 + 4 >> 3)];
18736			t$2[e$1 - n$1] = Or[255 + r$1 + Cr[112 + (a$2 + 3 >> 3)]], t$2[e$1 + 0] = Or[255 + i$3 - o$2];
18737		}
18738		function Re(t$2, e$1, n$1, r$1) {
18739			var i$3 = t$2[e$1 + 0], a$2 = t$2[e$1 + n$1];
18740			return Br[255 + t$2[e$1 - 2 * n$1] - t$2[e$1 - n$1]] > r$1 || Br[255 + a$2 - i$3] > r$1;
18741		}
18742		function De(t$2, e$1, n$1, r$1) {
18743			return 4 * Br[255 + t$2[e$1 - n$1] - t$2[e$1 + 0]] + Br[255 + t$2[e$1 - 2 * n$1] - t$2[e$1 + n$1]] <= r$1;
18744		}
18745		function Te(t$2, e$1, n$1, r$1, i$3) {
18746			var a$2 = t$2[e$1 - 3 * n$1], o$2 = t$2[e$1 - 2 * n$1], s$2 = t$2[e$1 - n$1], u$3 = t$2[e$1 + 0], c$3 = t$2[e$1 + n$1], l$3 = t$2[e$1 + 2 * n$1], h$3 = t$2[e$1 + 3 * n$1];
18747			return 4 * Br[255 + s$2 - u$3] + Br[255 + o$2 - c$3] > r$1 ? 0 : Br[255 + t$2[e$1 - 4 * n$1] - a$2] <= i$3 && Br[255 + a$2 - o$2] <= i$3 && Br[255 + o$2 - s$2] <= i$3 && Br[255 + h$3 - l$3] <= i$3 && Br[255 + l$3 - c$3] <= i$3 && Br[255 + c$3 - u$3] <= i$3;
18748		}
18749		function ze(t$2, e$1, n$1, r$1) {
18750			var i$3 = 2 * r$1 + 1;
18751			for (r$1 = 0; 16 > r$1; ++r$1) De(t$2, e$1 + r$1, n$1, i$3) && Ee(t$2, e$1 + r$1, n$1);
18752		}
18753		function Ue(t$2, e$1, n$1, r$1) {
18754			var i$3 = 2 * r$1 + 1;
18755			for (r$1 = 0; 16 > r$1; ++r$1) De(t$2, e$1 + r$1 * n$1, 1, i$3) && Ee(t$2, e$1 + r$1 * n$1, 1);
18756		}
18757		function He(t$2, e$1, n$1, r$1) {
18758			var i$3;
18759			for (i$3 = 3; 0 < i$3; --i$3) ze(t$2, e$1 += 4 * n$1, n$1, r$1);
18760		}
18761		function We(t$2, e$1, n$1, r$1) {
18762			var i$3;
18763			for (i$3 = 3; 0 < i$3; --i$3) Ue(t$2, e$1 += 4, n$1, r$1);
18764		}
18765		function Ve(t$2, e$1, n$1, r$1, i$3, a$2, o$2, s$2) {
18766			for (a$2 = 2 * a$2 + 1; 0 < i$3--;) {
18767				if (Te(t$2, e$1, n$1, a$2, o$2)) if (Re(t$2, e$1, n$1, s$2)) Ee(t$2, e$1, n$1);
18768				else {
18769					var u$3 = t$2, c$3 = e$1, l$3 = n$1, h$3 = u$3[c$3 - 2 * l$3], f$3 = u$3[c$3 - l$3], d$3 = u$3[c$3 + 0], p$3 = u$3[c$3 + l$3], g$3 = u$3[c$3 + 2 * l$3], m$3 = 27 * (b$3 = jr[1020 + 3 * (d$3 - f$3) + jr[1020 + h$3 - p$3]]) + 63 >> 7, v$3 = 18 * b$3 + 63 >> 7, b$3 = 9 * b$3 + 63 >> 7;
18770					u$3[c$3 - 3 * l$3] = Or[255 + u$3[c$3 - 3 * l$3] + b$3], u$3[c$3 - 2 * l$3] = Or[255 + h$3 + v$3], u$3[c$3 - l$3] = Or[255 + f$3 + m$3], u$3[c$3 + 0] = Or[255 + d$3 - m$3], u$3[c$3 + l$3] = Or[255 + p$3 - v$3], u$3[c$3 + 2 * l$3] = Or[255 + g$3 - b$3];
18771				}
18772				e$1 += r$1;
18773			}
18774		}
18775		function Ge(t$2, e$1, n$1, r$1, i$3, a$2, o$2, s$2) {
18776			for (a$2 = 2 * a$2 + 1; 0 < i$3--;) {
18777				if (Te(t$2, e$1, n$1, a$2, o$2)) if (Re(t$2, e$1, n$1, s$2)) Ee(t$2, e$1, n$1);
18778				else {
18779					var u$3 = t$2, c$3 = e$1, l$3 = n$1, h$3 = u$3[c$3 - l$3], f$3 = u$3[c$3 + 0], d$3 = u$3[c$3 + l$3], p$3 = Cr[112 + (4 + (g$3 = 3 * (f$3 - h$3)) >> 3)], g$3 = Cr[112 + (g$3 + 3 >> 3)], m$3 = p$3 + 1 >> 1;
18780					u$3[c$3 - 2 * l$3] = Or[255 + u$3[c$3 - 2 * l$3] + m$3], u$3[c$3 - l$3] = Or[255 + h$3 + g$3], u$3[c$3 + 0] = Or[255 + f$3 - p$3], u$3[c$3 + l$3] = Or[255 + d$3 - m$3];
18781				}
18782				e$1 += r$1;
18783			}
18784		}
18785		function Ye(t$2, e$1, n$1, r$1, i$3, a$2) {
18786			Ve(t$2, e$1, n$1, 1, 16, r$1, i$3, a$2);
18787		}
18788		function Je(t$2, e$1, n$1, r$1, i$3, a$2) {
18789			Ve(t$2, e$1, 1, n$1, 16, r$1, i$3, a$2);
18790		}
18791		function Xe(t$2, e$1, n$1, r$1, i$3, a$2) {
18792			var o$2;
18793			for (o$2 = 3; 0 < o$2; --o$2) Ge(t$2, e$1 += 4 * n$1, n$1, 1, 16, r$1, i$3, a$2);
18794		}
18795		function Ke(t$2, e$1, n$1, r$1, i$3, a$2) {
18796			var o$2;
18797			for (o$2 = 3; 0 < o$2; --o$2) Ge(t$2, e$1 += 4, 1, n$1, 16, r$1, i$3, a$2);
18798		}
18799		function Ze(t$2, e$1, n$1, r$1, i$3, a$2, o$2, s$2) {
18800			Ve(t$2, e$1, i$3, 1, 8, a$2, o$2, s$2), Ve(n$1, r$1, i$3, 1, 8, a$2, o$2, s$2);
18801		}
18802		function $e(t$2, e$1, n$1, r$1, i$3, a$2, o$2, s$2) {
18803			Ve(t$2, e$1, 1, i$3, 8, a$2, o$2, s$2), Ve(n$1, r$1, 1, i$3, 8, a$2, o$2, s$2);
18804		}
18805		function Qe(t$2, e$1, n$1, r$1, i$3, a$2, o$2, s$2) {
18806			Ge(t$2, e$1 + 4 * i$3, i$3, 1, 8, a$2, o$2, s$2), Ge(n$1, r$1 + 4 * i$3, i$3, 1, 8, a$2, o$2, s$2);
18807		}
18808		function tn(t$2, e$1, n$1, r$1, i$3, a$2, o$2, s$2) {
18809			Ge(t$2, e$1 + 4, 1, i$3, 8, a$2, o$2, s$2), Ge(n$1, r$1 + 4, 1, i$3, 8, a$2, o$2, s$2);
18810		}
18811		function en() {
18812			this.ba = new ot$1(), this.ec = [], this.cc = [], this.Mc = [], this.Dc = this.Nc = this.dc = this.fc = 0, this.Oa = new ut$1(), this.memory = 0, this.Ib = "OutputFunc", this.Jb = "OutputAlphaFunc", this.Nd = "OutputRowFunc";
18813		}
18814		function nn() {
18815			this.data = [], this.offset = this.kd = this.ha = this.w = 0, this.na = [], this.xa = this.gb = this.Ja = this.Sa = this.P = 0;
18816		}
18817		function rn() {
18818			this.nc = this.Ea = this.b = this.hc = 0, this.K = [], this.w = 0;
18819		}
18820		function an() {
18821			this.ua = 0, this.Wa = new M$1(), this.vb = new M$1(), this.md = this.xc = this.wc = 0, this.vc = [], this.Wb = 0, this.Ya = new d$2(), this.yc = new h$2();
18822		}
18823		function on() {
18824			this.xb = this.a = 0, this.l = new Gt$1(), this.ca = new ot$1(), this.V = [], this.Ba = 0, this.Ta = [], this.Ua = 0, this.m = new N$2(), this.Pb = 0, this.wd = new N$2(), this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0, this.s = new an(), this.ab = 0, this.gc = o$1(4, rn), this.Oc = 0;
18825		}
18826		function sn() {
18827			this.Lc = this.Z = this.$a = this.i = this.c = 0, this.l = new Gt$1(), this.ic = 0, this.ca = [], this.tb = 0, this.qd = null, this.rd = 0;
18828		}
18829		function un(t$2, e$1, n$1, r$1, i$3, a$2, o$2) {
18830			for (t$2 = null == t$2 ? 0 : t$2[e$1 + 0], e$1 = 0; e$1 < o$2; ++e$1) i$3[a$2 + e$1] = t$2 + n$1[r$1 + e$1] & 255, t$2 = i$3[a$2 + e$1];
18831		}
18832		function cn(t$2, e$1, n$1, r$1, i$3, a$2, o$2) {
18833			var s$2;
18834			if (null == t$2) un(null, null, n$1, r$1, i$3, a$2, o$2);
18835			else for (s$2 = 0; s$2 < o$2; ++s$2) i$3[a$2 + s$2] = t$2[e$1 + s$2] + n$1[r$1 + s$2] & 255;
18836		}
18837		function ln$1(t$2, e$1, n$1, r$1, i$3, a$2, o$2) {
18838			if (null == t$2) un(null, null, n$1, r$1, i$3, a$2, o$2);
18839			else {
18840				var s$2, u$3 = t$2[e$1 + 0], c$3 = u$3, l$3 = u$3;
18841				for (s$2 = 0; s$2 < o$2; ++s$2) c$3 = l$3 + (u$3 = t$2[e$1 + s$2]) - c$3, l$3 = n$1[r$1 + s$2] + (-256 & c$3 ? 0 > c$3 ? 0 : 255 : c$3) & 255, c$3 = u$3, i$3[a$2 + s$2] = l$3;
18842			}
18843		}
18844		function hn(t$2, n$1, i$3, o$2) {
18845			var s$2 = n$1.width, u$3 = n$1.o;
18846			if (e(null != t$2 && null != n$1), 0 > i$3 || 0 >= o$2 || i$3 + o$2 > u$3) return null;
18847			if (!t$2.Cc) {
18848				if (null == t$2.ga) {
18849					var c$3;
18850					if (t$2.ga = new sn(), (c$3 = null == t$2.ga) || (c$3 = n$1.width * n$1.o, e(0 == t$2.Gb.length), t$2.Gb = a$1(c$3), t$2.Uc = 0, null == t$2.Gb ? c$3 = 0 : (t$2.mb = t$2.Gb, t$2.nb = t$2.Uc, t$2.rc = null, c$3 = 1), c$3 = !c$3), !c$3) {
18851						c$3 = t$2.ga;
18852						var l$3 = t$2.Fa, h$3 = t$2.P, f$3 = t$2.qc, d$3 = t$2.mb, p$3 = t$2.nb, g$3 = h$3 + 1, m$3 = f$3 - 1, b$3 = c$3.l;
18853						if (e(null != l$3 && null != d$3 && null != n$1), gi[0] = null, gi[1] = un, gi[2] = cn, gi[3] = ln$1, c$3.ca = d$3, c$3.tb = p$3, c$3.c = n$1.width, c$3.i = n$1.height, e(0 < c$3.c && 0 < c$3.i), 1 >= f$3) n$1 = 0;
18854						else if (c$3.$a = 3 & l$3[h$3 + 0], c$3.Z = l$3[h$3 + 0] >> 2 & 3, c$3.Lc = l$3[h$3 + 0] >> 4 & 3, h$3 = l$3[h$3 + 0] >> 6 & 3, 0 > c$3.$a || 1 < c$3.$a || 4 <= c$3.Z || 1 < c$3.Lc || h$3) n$1 = 0;
18855						else if (b$3.put = dt$1, b$3.ac = ft$1, b$3.bc = pt$1, b$3.ma = c$3, b$3.width = n$1.width, b$3.height = n$1.height, b$3.Da = n$1.Da, b$3.v = n$1.v, b$3.va = n$1.va, b$3.j = n$1.j, b$3.o = n$1.o, c$3.$a) t: {
18856							e(1 == c$3.$a), n$1 = kt$1();
18857							e: for (;;) {
18858								if (null == n$1) {
18859									n$1 = 0;
18860									break t;
18861								}
18862								if (e(null != c$3), c$3.mc = n$1, n$1.c = c$3.c, n$1.i = c$3.i, n$1.l = c$3.l, n$1.l.ma = c$3, n$1.l.width = c$3.c, n$1.l.height = c$3.i, n$1.a = 0, v$2(n$1.m, l$3, g$3, m$3), !Ft$1(c$3.c, c$3.i, 1, n$1, null)) break e;
18863								if (1 == n$1.ab && 3 == n$1.gc[0].hc && xt$1(n$1.s) ? (c$3.ic = 1, l$3 = n$1.c * n$1.i, n$1.Ta = null, n$1.Ua = 0, n$1.V = a$1(l$3), n$1.Ba = 0, null == n$1.V ? (n$1.a = 1, n$1 = 0) : n$1 = 1) : (c$3.ic = 0, n$1 = It$1(n$1, c$3.c)), !n$1) break e;
18864								n$1 = 1;
18865								break t;
18866							}
18867							c$3.mc = null, n$1 = 0;
18868						}
18869						else n$1 = m$3 >= c$3.c * c$3.i;
18870						c$3 = !n$1;
18871					}
18872					if (c$3) return null;
18873					1 != t$2.ga.Lc ? t$2.Ga = 0 : o$2 = u$3 - i$3;
18874				}
18875				e(null != t$2.ga), e(i$3 + o$2 <= u$3);
18876				t: {
18877					if (n$1 = (l$3 = t$2.ga).c, u$3 = l$3.l.o, 0 == l$3.$a) {
18878						if (g$3 = t$2.rc, m$3 = t$2.Vc, b$3 = t$2.Fa, h$3 = t$2.P + 1 + i$3 * n$1, f$3 = t$2.mb, d$3 = t$2.nb + i$3 * n$1, e(h$3 <= t$2.P + t$2.qc), 0 != l$3.Z) for (e(null != gi[l$3.Z]), c$3 = 0; c$3 < o$2; ++c$3) gi[l$3.Z](g$3, m$3, b$3, h$3, f$3, d$3, n$1), g$3 = f$3, m$3 = d$3, d$3 += n$1, h$3 += n$1;
18879						else for (c$3 = 0; c$3 < o$2; ++c$3) r(f$3, d$3, b$3, h$3, n$1), g$3 = f$3, m$3 = d$3, d$3 += n$1, h$3 += n$1;
18880						t$2.rc = g$3, t$2.Vc = m$3;
18881					} else {
18882						if (e(null != l$3.mc), n$1 = i$3 + o$2, e(null != (c$3 = l$3.mc)), e(n$1 <= c$3.i), c$3.C >= n$1) n$1 = 1;
18883						else if (l$3.ic || mn(), l$3.ic) {
18884							l$3 = c$3.V, g$3 = c$3.Ba, m$3 = c$3.c;
18885							var y$3 = c$3.i, w$3 = (b$3 = 1, h$3 = c$3.$ / m$3, f$3 = c$3.$ % m$3, d$3 = c$3.m, p$3 = c$3.s, c$3.$), N$3 = m$3 * y$3, L$3 = m$3 * n$1, A$3 = p$3.wc, _$2 = w$3 < L$3 ? wt$1(p$3, f$3, h$3) : null;
18886							e(w$3 <= N$3), e(n$1 <= y$3), e(xt$1(p$3));
18887							e: for (;;) {
18888								for (; !d$3.h && w$3 < L$3;) {
18889									if (f$3 & A$3 || (_$2 = wt$1(p$3, f$3, h$3)), e(null != _$2), S$1(d$3), 256 > (y$3 = bt$1(_$2.G[0], _$2.H[0], d$3))) l$3[g$3 + w$3] = y$3, ++w$3, ++f$3 >= m$3 && (f$3 = 0, ++h$3 <= n$1 && !(h$3 % 16) && St$1(c$3, h$3));
18890									else {
18891										if (!(280 > y$3)) {
18892											b$3 = 0;
18893											break e;
18894										}
18895										y$3 = mt$1(y$3 - 256, d$3);
18896										var P$2, k$2 = bt$1(_$2.G[4], _$2.H[4], d$3);
18897										if (S$1(d$3), !(w$3 >= (k$2 = vt$1(m$3, k$2 = mt$1(k$2, d$3))) && N$3 - w$3 >= y$3)) {
18898											b$3 = 0;
18899											break e;
18900										}
18901										for (P$2 = 0; P$2 < y$3; ++P$2) l$3[g$3 + w$3 + P$2] = l$3[g$3 + w$3 + P$2 - k$2];
18902										for (w$3 += y$3, f$3 += y$3; f$3 >= m$3;) f$3 -= m$3, ++h$3 <= n$1 && !(h$3 % 16) && St$1(c$3, h$3);
18903										w$3 < L$3 && f$3 & A$3 && (_$2 = wt$1(p$3, f$3, h$3));
18904									}
18905									e(d$3.h == x$3(d$3));
18906								}
18907								St$1(c$3, h$3 > n$1 ? n$1 : h$3);
18908								break e;
18909							}
18910							!b$3 || d$3.h && w$3 < N$3 ? (b$3 = 0, c$3.a = d$3.h ? 5 : 3) : c$3.$ = w$3, n$1 = b$3;
18911						} else n$1 = _t$1(c$3, c$3.V, c$3.Ba, c$3.c, c$3.i, n$1, jt$1);
18912						if (!n$1) {
18913							o$2 = 0;
18914							break t;
18915						}
18916					}
18917					i$3 + o$2 >= u$3 && (t$2.Cc = 1), o$2 = 1;
18918				}
18919				if (!o$2) return null;
18920				if (t$2.Cc && (null != (o$2 = t$2.ga) && (o$2.mc = null), t$2.ga = null, 0 < t$2.Ga)) return alert("todo:WebPDequantizeLevels"), null;
18921			}
18922			return t$2.nb + i$3 * s$2;
18923		}
18924		function fn(t$2, e$1, n$1, r$1, i$3, a$2) {
18925			for (; 0 < i$3--;) {
18926				var o$2, s$2 = t$2, u$3 = e$1 + (n$1 ? 1 : 0), c$3 = t$2, l$3 = e$1 + (n$1 ? 0 : 3);
18927				for (o$2 = 0; o$2 < r$1; ++o$2) {
18928					var h$3 = c$3[l$3 + 4 * o$2];
18929					255 != h$3 && (h$3 *= 32897, s$2[u$3 + 4 * o$2 + 0] = s$2[u$3 + 4 * o$2 + 0] * h$3 >> 23, s$2[u$3 + 4 * o$2 + 1] = s$2[u$3 + 4 * o$2 + 1] * h$3 >> 23, s$2[u$3 + 4 * o$2 + 2] = s$2[u$3 + 4 * o$2 + 2] * h$3 >> 23);
18930				}
18931				e$1 += a$2;
18932			}
18933		}
18934		function dn(t$2, e$1, n$1, r$1, i$3) {
18935			for (; 0 < r$1--;) {
18936				var a$2;
18937				for (a$2 = 0; a$2 < n$1; ++a$2) {
18938					var o$2 = t$2[e$1 + 2 * a$2 + 0], s$2 = 15 & (c$3 = t$2[e$1 + 2 * a$2 + 1]), u$3 = 4369 * s$2, c$3 = (240 & c$3 | c$3 >> 4) * u$3 >> 16;
18939					t$2[e$1 + 2 * a$2 + 0] = (240 & o$2 | o$2 >> 4) * u$3 >> 16 & 240 | (15 & o$2 | o$2 << 4) * u$3 >> 16 >> 4 & 15, t$2[e$1 + 2 * a$2 + 1] = 240 & c$3 | s$2;
18940				}
18941				e$1 += i$3;
18942			}
18943		}
18944		function pn(t$2, e$1, n$1, r$1, i$3, a$2, o$2, s$2) {
18945			var u$3, c$3, l$3 = 255;
18946			for (c$3 = 0; c$3 < i$3; ++c$3) {
18947				for (u$3 = 0; u$3 < r$1; ++u$3) {
18948					var h$3 = t$2[e$1 + u$3];
18949					a$2[o$2 + 4 * u$3] = h$3, l$3 &= h$3;
18950				}
18951				e$1 += n$1, o$2 += s$2;
18952			}
18953			return 255 != l$3;
18954		}
18955		function gn(t$2, e$1, n$1, r$1, i$3) {
18956			var a$2;
18957			for (a$2 = 0; a$2 < i$3; ++a$2) n$1[r$1 + a$2] = t$2[e$1 + a$2] >> 8;
18958		}
18959		function mn() {
18960			Lr = fn, xr = dn, Ar = pn, Sr = gn;
18961		}
18962		function vn(n$1, r$1, i$3) {
18963			t$1[n$1] = function(t$2, n$2, a$2, o$2, s$2, u$3, c$3, l$3, h$3, f$3, d$3, p$3, g$3, m$3, v$3, b$3, y$3) {
18964				var w$3, N$3 = y$3 - 1 >> 1, L$3 = s$2[u$3 + 0] | c$3[l$3 + 0] << 16, x$4 = h$3[f$3 + 0] | d$3[p$3 + 0] << 16;
18965				e(null != t$2);
18966				var A$3 = 3 * L$3 + x$4 + 131074 >> 2;
18967				for (r$1(t$2[n$2 + 0], 255 & A$3, A$3 >> 16, g$3, m$3), null != a$2 && (A$3 = 3 * x$4 + L$3 + 131074 >> 2, r$1(a$2[o$2 + 0], 255 & A$3, A$3 >> 16, v$3, b$3)), w$3 = 1; w$3 <= N$3; ++w$3) {
18968					var S$2 = s$2[u$3 + w$3] | c$3[l$3 + w$3] << 16, _$2 = h$3[f$3 + w$3] | d$3[p$3 + w$3] << 16, P$2 = L$3 + S$2 + x$4 + _$2 + 524296, k$2 = P$2 + 2 * (S$2 + x$4) >> 3;
18969					A$3 = k$2 + L$3 >> 1, L$3 = (P$2 = P$2 + 2 * (L$3 + _$2) >> 3) + S$2 >> 1, r$1(t$2[n$2 + 2 * w$3 - 1], 255 & A$3, A$3 >> 16, g$3, m$3 + (2 * w$3 - 1) * i$3), r$1(t$2[n$2 + 2 * w$3 - 0], 255 & L$3, L$3 >> 16, g$3, m$3 + (2 * w$3 - 0) * i$3), null != a$2 && (A$3 = P$2 + x$4 >> 1, L$3 = k$2 + _$2 >> 1, r$1(a$2[o$2 + 2 * w$3 - 1], 255 & A$3, A$3 >> 16, v$3, b$3 + (2 * w$3 - 1) * i$3), r$1(a$2[o$2 + 2 * w$3 + 0], 255 & L$3, L$3 >> 16, v$3, b$3 + (2 * w$3 + 0) * i$3)), L$3 = S$2, x$4 = _$2;
18970				}
18971				1 & y$3 || (A$3 = 3 * L$3 + x$4 + 131074 >> 2, r$1(t$2[n$2 + y$3 - 1], 255 & A$3, A$3 >> 16, g$3, m$3 + (y$3 - 1) * i$3), null != a$2 && (A$3 = 3 * x$4 + L$3 + 131074 >> 2, r$1(a$2[o$2 + y$3 - 1], 255 & A$3, A$3 >> 16, v$3, b$3 + (y$3 - 1) * i$3)));
18972			};
18973		}
18974		function bn() {
18975			mi[Mr] = vi, mi[qr] = yi, mi[Er] = bi, mi[Rr] = wi, mi[Dr] = Ni, mi[Tr] = Li, mi[zr] = xi, mi[Ur] = yi, mi[Hr] = wi, mi[Wr] = Ni, mi[Vr] = Li;
18976		}
18977		function yn(t$2) {
18978			return t$2 & ~Fi ? 0 > t$2 ? 0 : 255 : t$2 >> ki;
18979		}
18980		function wn(t$2, e$1) {
18981			return yn((19077 * t$2 >> 8) + (26149 * e$1 >> 8) - 14234);
18982		}
18983		function Nn(t$2, e$1, n$1) {
18984			return yn((19077 * t$2 >> 8) - (6419 * e$1 >> 8) - (13320 * n$1 >> 8) + 8708);
18985		}
18986		function Ln(t$2, e$1) {
18987			return yn((19077 * t$2 >> 8) + (33050 * e$1 >> 8) - 17685);
18988		}
18989		function xn(t$2, e$1, n$1, r$1, i$3) {
18990			r$1[i$3 + 0] = wn(t$2, n$1), r$1[i$3 + 1] = Nn(t$2, e$1, n$1), r$1[i$3 + 2] = Ln(t$2, e$1);
18991		}
18992		function An(t$2, e$1, n$1, r$1, i$3) {
18993			r$1[i$3 + 0] = Ln(t$2, e$1), r$1[i$3 + 1] = Nn(t$2, e$1, n$1), r$1[i$3 + 2] = wn(t$2, n$1);
18994		}
18995		function Sn(t$2, e$1, n$1, r$1, i$3) {
18996			var a$2 = Nn(t$2, e$1, n$1);
18997			e$1 = a$2 << 3 & 224 | Ln(t$2, e$1) >> 3, r$1[i$3 + 0] = 248 & wn(t$2, n$1) | a$2 >> 5, r$1[i$3 + 1] = e$1;
18998		}
18999		function _n(t$2, e$1, n$1, r$1, i$3) {
19000			var a$2 = 240 & Ln(t$2, e$1) | 15;
19001			r$1[i$3 + 0] = 240 & wn(t$2, n$1) | Nn(t$2, e$1, n$1) >> 4, r$1[i$3 + 1] = a$2;
19002		}
19003		function Pn(t$2, e$1, n$1, r$1, i$3) {
19004			r$1[i$3 + 0] = 255, xn(t$2, e$1, n$1, r$1, i$3 + 1);
19005		}
19006		function kn(t$2, e$1, n$1, r$1, i$3) {
19007			An(t$2, e$1, n$1, r$1, i$3), r$1[i$3 + 3] = 255;
19008		}
19009		function Fn(t$2, e$1, n$1, r$1, i$3) {
19010			xn(t$2, e$1, n$1, r$1, i$3), r$1[i$3 + 3] = 255;
19011		}
19012		function In(e$1, n$1, r$1) {
19013			t$1[e$1] = function(t$2, e$2, i$3, a$2, o$2, s$2, u$3, c$3, l$3) {
19014				for (var h$3 = c$3 + (-2 & l$3) * r$1; c$3 != h$3;) n$1(t$2[e$2 + 0], i$3[a$2 + 0], o$2[s$2 + 0], u$3, c$3), n$1(t$2[e$2 + 1], i$3[a$2 + 0], o$2[s$2 + 0], u$3, c$3 + r$1), e$2 += 2, ++a$2, ++s$2, c$3 += 2 * r$1;
19015				1 & l$3 && n$1(t$2[e$2 + 0], i$3[a$2 + 0], o$2[s$2 + 0], u$3, c$3);
19016			};
19017		}
19018		function jn(t$2, e$1, n$1) {
19019			return 0 == n$1 ? 0 == t$2 ? 0 == e$1 ? 6 : 5 : 0 == e$1 ? 4 : 0 : n$1;
19020		}
19021		function Cn(t$2, e$1, n$1, r$1, i$3) {
19022			switch (t$2 >>> 30) {
19023				case 3:
19024					ar(e$1, n$1, r$1, i$3, 0);
19025					break;
19026				case 2:
19027					or(e$1, n$1, r$1, i$3);
19028					break;
19029				case 1: ur(e$1, n$1, r$1, i$3);
19030			}
19031		}
19032		function On(t$2, e$1) {
19033			var n$1, a$2, o$2 = e$1.M, s$2 = e$1.Nb, u$3 = t$2.oc, c$3 = t$2.pc + 40, l$3 = t$2.oc, h$3 = t$2.pc + 584, f$3 = t$2.oc, d$3 = t$2.pc + 600;
19034			for (n$1 = 0; 16 > n$1; ++n$1) u$3[c$3 + 32 * n$1 - 1] = 129;
19035			for (n$1 = 0; 8 > n$1; ++n$1) l$3[h$3 + 32 * n$1 - 1] = 129, f$3[d$3 + 32 * n$1 - 1] = 129;
19036			for (0 < o$2 ? u$3[c$3 - 1 - 32] = l$3[h$3 - 1 - 32] = f$3[d$3 - 1 - 32] = 129 : (i$2(u$3, c$3 - 32 - 1, 127, 21), i$2(l$3, h$3 - 32 - 1, 127, 9), i$2(f$3, d$3 - 32 - 1, 127, 9)), a$2 = 0; a$2 < t$2.za; ++a$2) {
19037				var p$3 = e$1.ya[e$1.aa + a$2];
19038				if (0 < a$2) {
19039					for (n$1 = -1; 16 > n$1; ++n$1) r(u$3, c$3 + 32 * n$1 - 4, u$3, c$3 + 32 * n$1 + 12, 4);
19040					for (n$1 = -1; 8 > n$1; ++n$1) r(l$3, h$3 + 32 * n$1 - 4, l$3, h$3 + 32 * n$1 + 4, 4), r(f$3, d$3 + 32 * n$1 - 4, f$3, d$3 + 32 * n$1 + 4, 4);
19041				}
19042				var g$3 = t$2.Gd, m$3 = t$2.Hd + a$2, v$3 = p$3.ad, b$3 = p$3.Hc;
19043				if (0 < o$2 && (r(u$3, c$3 - 32, g$3[m$3].y, 0, 16), r(l$3, h$3 - 32, g$3[m$3].f, 0, 8), r(f$3, d$3 - 32, g$3[m$3].ea, 0, 8)), p$3.Za) {
19044					var y$3 = u$3, w$3 = c$3 - 32 + 16;
19045					for (0 < o$2 && (a$2 >= t$2.za - 1 ? i$2(y$3, w$3, g$3[m$3].y[15], 4) : r(y$3, w$3, g$3[m$3 + 1].y, 0, 4)), n$1 = 0; 4 > n$1; n$1++) y$3[w$3 + 128 + n$1] = y$3[w$3 + 256 + n$1] = y$3[w$3 + 384 + n$1] = y$3[w$3 + 0 + n$1];
19046					for (n$1 = 0; 16 > n$1; ++n$1, b$3 <<= 2) y$3 = u$3, w$3 = c$3 + Ei[n$1], hi[p$3.Ob[n$1]](y$3, w$3), Cn(b$3, v$3, 16 * +n$1, y$3, w$3);
19047				} else if (y$3 = jn(a$2, o$2, p$3.Ob[0]), li[y$3](u$3, c$3), 0 != b$3) for (n$1 = 0; 16 > n$1; ++n$1, b$3 <<= 2) Cn(b$3, v$3, 16 * +n$1, u$3, c$3 + Ei[n$1]);
19048				for (n$1 = p$3.Gc, y$3 = jn(a$2, o$2, p$3.Dd), fi[y$3](l$3, h$3), fi[y$3](f$3, d$3), b$3 = v$3, y$3 = l$3, w$3 = h$3, 255 & (p$3 = 0 | n$1) && (170 & p$3 ? sr(b$3, 256, y$3, w$3) : cr(b$3, 256, y$3, w$3)), p$3 = f$3, b$3 = d$3, 255 & (n$1 >>= 8) && (170 & n$1 ? sr(v$3, 320, p$3, b$3) : cr(v$3, 320, p$3, b$3)), o$2 < t$2.Ub - 1 && (r(g$3[m$3].y, 0, u$3, c$3 + 480, 16), r(g$3[m$3].f, 0, l$3, h$3 + 224, 8), r(g$3[m$3].ea, 0, f$3, d$3 + 224, 8)), n$1 = 8 * s$2 * t$2.B, g$3 = t$2.sa, m$3 = t$2.ta + 16 * a$2 + 16 * s$2 * t$2.R, v$3 = t$2.qa, p$3 = t$2.ra + 8 * a$2 + n$1, b$3 = t$2.Ha, y$3 = t$2.Ia + 8 * a$2 + n$1, n$1 = 0; 16 > n$1; ++n$1) r(g$3, m$3 + n$1 * t$2.R, u$3, c$3 + 32 * n$1, 16);
19049				for (n$1 = 0; 8 > n$1; ++n$1) r(v$3, p$3 + n$1 * t$2.B, l$3, h$3 + 32 * n$1, 8), r(b$3, y$3 + n$1 * t$2.B, f$3, d$3 + 32 * n$1, 8);
19050			}
19051		}
19052		function Bn(t$2, r$1, i$3, a$2, o$2, s$2, u$3, c$3, l$3) {
19053			var h$3 = [0], f$3 = [0], d$3 = 0, p$3 = null != l$3 ? l$3.kd : 0, g$3 = null != l$3 ? l$3 : new nn();
19054			if (null == t$2 || 12 > i$3) return 7;
19055			g$3.data = t$2, g$3.w = r$1, g$3.ha = i$3, r$1 = [r$1], i$3 = [i$3], g$3.gb = [g$3.gb];
19056			t: {
19057				var m$3 = r$1, b$3 = i$3, y$3 = g$3.gb;
19058				if (e(null != t$2), e(null != b$3), e(null != y$3), y$3[0] = 0, 12 <= b$3[0] && !n(t$2, m$3[0], "RIFF")) {
19059					if (n(t$2, m$3[0] + 8, "WEBP")) {
19060						y$3 = 3;
19061						break t;
19062					}
19063					var w$3 = C$1(t$2, m$3[0] + 4);
19064					if (12 > w$3 || 4294967286 < w$3) {
19065						y$3 = 3;
19066						break t;
19067					}
19068					if (p$3 && w$3 > b$3[0] - 8) {
19069						y$3 = 7;
19070						break t;
19071					}
19072					y$3[0] = w$3, m$3[0] += 12, b$3[0] -= 12;
19073				}
19074				y$3 = 0;
19075			}
19076			if (0 != y$3) return y$3;
19077			for (w$3 = 0 < g$3.gb[0], i$3 = i$3[0];;) {
19078				t: {
19079					var L$3 = t$2;
19080					b$3 = r$1, y$3 = i$3;
19081					var x$4 = h$3, A$3 = f$3, S$2 = m$3 = [0];
19082					if ((k$2 = d$3 = [d$3])[0] = 0, 8 > y$3[0]) y$3 = 7;
19083					else {
19084						if (!n(L$3, b$3[0], "VP8X")) {
19085							if (10 != C$1(L$3, b$3[0] + 4)) {
19086								y$3 = 3;
19087								break t;
19088							}
19089							if (18 > y$3[0]) {
19090								y$3 = 7;
19091								break t;
19092							}
19093							var _$2 = C$1(L$3, b$3[0] + 8), P$2 = 1 + j$1(L$3, b$3[0] + 12);
19094							if (2147483648 <= P$2 * (L$3 = 1 + j$1(L$3, b$3[0] + 15))) {
19095								y$3 = 3;
19096								break t;
19097							}
19098							null != S$2 && (S$2[0] = _$2), null != x$4 && (x$4[0] = P$2), null != A$3 && (A$3[0] = L$3), b$3[0] += 18, y$3[0] -= 18, k$2[0] = 1;
19099						}
19100						y$3 = 0;
19101					}
19102				}
19103				if (d$3 = d$3[0], m$3 = m$3[0], 0 != y$3) return y$3;
19104				if (b$3 = !!(2 & m$3), !w$3 && d$3) return 3;
19105				if (null != s$2 && (s$2[0] = !!(16 & m$3)), null != u$3 && (u$3[0] = b$3), null != c$3 && (c$3[0] = 0), u$3 = h$3[0], m$3 = f$3[0], d$3 && b$3 && null == l$3) {
19106					y$3 = 0;
19107					break;
19108				}
19109				if (4 > i$3) {
19110					y$3 = 7;
19111					break;
19112				}
19113				if (w$3 && d$3 || !w$3 && !d$3 && !n(t$2, r$1[0], "ALPH")) {
19114					i$3 = [i$3], g$3.na = [g$3.na], g$3.P = [g$3.P], g$3.Sa = [g$3.Sa];
19115					t: {
19116						_$2 = t$2, y$3 = r$1, w$3 = i$3;
19117						var k$2 = g$3.gb;
19118						x$4 = g$3.na, A$3 = g$3.P, S$2 = g$3.Sa, P$2 = 22, e(null != _$2), e(null != w$3), L$3 = y$3[0];
19119						var F$2 = w$3[0];
19120						for (e(null != x$4), e(null != S$2), x$4[0] = null, A$3[0] = null, S$2[0] = 0;;) {
19121							if (y$3[0] = L$3, w$3[0] = F$2, 8 > F$2) {
19122								y$3 = 7;
19123								break t;
19124							}
19125							var I$2 = C$1(_$2, L$3 + 4);
19126							if (4294967286 < I$2) {
19127								y$3 = 3;
19128								break t;
19129							}
19130							var O$2 = 8 + I$2 + 1 & -2;
19131							if (P$2 += O$2, 0 < k$2 && P$2 > k$2) {
19132								y$3 = 3;
19133								break t;
19134							}
19135							if (!n(_$2, L$3, "VP8 ") || !n(_$2, L$3, "VP8L")) {
19136								y$3 = 0;
19137								break t;
19138							}
19139							if (F$2[0] < O$2) {
19140								y$3 = 7;
19141								break t;
19142							}
19143							n(_$2, L$3, "ALPH") || (x$4[0] = _$2, A$3[0] = L$3 + 8, S$2[0] = I$2), L$3 += O$2, F$2 -= O$2;
19144						}
19145					}
19146					if (i$3 = i$3[0], g$3.na = g$3.na[0], g$3.P = g$3.P[0], g$3.Sa = g$3.Sa[0], 0 != y$3) break;
19147				}
19148				i$3 = [i$3], g$3.Ja = [g$3.Ja], g$3.xa = [g$3.xa];
19149				t: if (k$2 = t$2, y$3 = r$1, w$3 = i$3, x$4 = g$3.gb[0], A$3 = g$3.Ja, S$2 = g$3.xa, _$2 = y$3[0], L$3 = !n(k$2, _$2, "VP8 "), P$2 = !n(k$2, _$2, "VP8L"), e(null != k$2), e(null != w$3), e(null != A$3), e(null != S$2), 8 > w$3[0]) y$3 = 7;
19150				else {
19151					if (L$3 || P$2) {
19152						if (k$2 = C$1(k$2, _$2 + 4), 12 <= x$4 && k$2 > x$4 - 12) {
19153							y$3 = 3;
19154							break t;
19155						}
19156						if (p$3 && k$2 > w$3[0] - 8) {
19157							y$3 = 7;
19158							break t;
19159						}
19160						A$3[0] = k$2, y$3[0] += 8, w$3[0] -= 8, S$2[0] = P$2;
19161					} else S$2[0] = 5 <= w$3[0] && 47 == k$2[_$2 + 0] && !(k$2[_$2 + 4] >> 5), A$3[0] = w$3[0];
19162					y$3 = 0;
19163				}
19164				if (i$3 = i$3[0], g$3.Ja = g$3.Ja[0], g$3.xa = g$3.xa[0], r$1 = r$1[0], 0 != y$3) break;
19165				if (4294967286 < g$3.Ja) return 3;
19166				if (null == c$3 || b$3 || (c$3[0] = g$3.xa ? 2 : 1), u$3 = [u$3], m$3 = [m$3], g$3.xa) {
19167					if (5 > i$3) {
19168						y$3 = 7;
19169						break;
19170					}
19171					c$3 = u$3, p$3 = m$3, b$3 = s$2, null == t$2 || 5 > i$3 ? t$2 = 0 : 5 <= i$3 && 47 == t$2[r$1 + 0] && !(t$2[r$1 + 4] >> 5) ? (w$3 = [0], k$2 = [0], x$4 = [0], v$2(A$3 = new N$2(), t$2, r$1, i$3), gt$1(A$3, w$3, k$2, x$4) ? (null != c$3 && (c$3[0] = w$3[0]), null != p$3 && (p$3[0] = k$2[0]), null != b$3 && (b$3[0] = x$4[0]), t$2 = 1) : t$2 = 0) : t$2 = 0;
19172				} else {
19173					if (10 > i$3) {
19174						y$3 = 7;
19175						break;
19176					}
19177					c$3 = m$3, null == t$2 || 10 > i$3 || !Xt$1(t$2, r$1 + 3, i$3 - 3) ? t$2 = 0 : (p$3 = t$2[r$1 + 0] | t$2[r$1 + 1] << 8 | t$2[r$1 + 2] << 16, b$3 = 16383 & (t$2[r$1 + 7] << 8 | t$2[r$1 + 6]), t$2 = 16383 & (t$2[r$1 + 9] << 8 | t$2[r$1 + 8]), 1 & p$3 || 3 < (p$3 >> 1 & 7) || !(p$3 >> 4 & 1) || p$3 >> 5 >= g$3.Ja || !b$3 || !t$2 ? t$2 = 0 : (u$3 && (u$3[0] = b$3), c$3 && (c$3[0] = t$2), t$2 = 1));
19178				}
19179				if (!t$2) return 3;
19180				if (u$3 = u$3[0], m$3 = m$3[0], d$3 && (h$3[0] != u$3 || f$3[0] != m$3)) return 3;
19181				null != l$3 && (l$3[0] = g$3, l$3.offset = r$1 - l$3.w, e(4294967286 > r$1 - l$3.w), e(l$3.offset == l$3.ha - i$3));
19182				break;
19183			}
19184			return 0 == y$3 || 7 == y$3 && d$3 && null == l$3 ? (null != s$2 && (s$2[0] |= null != g$3.na && 0 < g$3.na.length), null != a$2 && (a$2[0] = u$3), null != o$2 && (o$2[0] = m$3), 0) : y$3;
19185		}
19186		function Mn(t$2, e$1, n$1) {
19187			var r$1 = e$1.width, i$3 = e$1.height, a$2 = 0, o$2 = 0, s$2 = r$1, u$3 = i$3;
19188			if (e$1.Da = null != t$2 && 0 < t$2.Da, e$1.Da && (s$2 = t$2.cd, u$3 = t$2.bd, a$2 = t$2.v, o$2 = t$2.j, 11 > n$1 || (a$2 &= -2, o$2 &= -2), 0 > a$2 || 0 > o$2 || 0 >= s$2 || 0 >= u$3 || a$2 + s$2 > r$1 || o$2 + u$3 > i$3)) return 0;
19189			if (e$1.v = a$2, e$1.j = o$2, e$1.va = a$2 + s$2, e$1.o = o$2 + u$3, e$1.U = s$2, e$1.T = u$3, e$1.da = null != t$2 && 0 < t$2.da, e$1.da) {
19190				if (!q$1(s$2, u$3, n$1 = [t$2.ib], a$2 = [t$2.hb])) return 0;
19191				e$1.ib = n$1[0], e$1.hb = a$2[0];
19192			}
19193			return e$1.ob = null != t$2 && t$2.ob, e$1.Kb = null == t$2 || !t$2.Sd, e$1.da && (e$1.ob = e$1.ib < 3 * r$1 / 4 && e$1.hb < 3 * i$3 / 4, e$1.Kb = 0), 1;
19194		}
19195		function qn(t$2) {
19196			if (null == t$2) return 2;
19197			if (11 > t$2.S) {
19198				var e$1 = t$2.f.RGBA;
19199				e$1.fb += (t$2.height - 1) * e$1.A, e$1.A = -e$1.A;
19200			} else e$1 = t$2.f.kb, t$2 = t$2.height, e$1.O += (t$2 - 1) * e$1.fa, e$1.fa = -e$1.fa, e$1.N += (t$2 - 1 >> 1) * e$1.Ab, e$1.Ab = -e$1.Ab, e$1.W += (t$2 - 1 >> 1) * e$1.Db, e$1.Db = -e$1.Db, null != e$1.F && (e$1.J += (t$2 - 1) * e$1.lb, e$1.lb = -e$1.lb);
19201			return 0;
19202		}
19203		function En(t$2, e$1, n$1, r$1) {
19204			if (null == r$1 || 0 >= t$2 || 0 >= e$1) return 2;
19205			if (null != n$1) {
19206				if (n$1.Da) {
19207					var i$3 = n$1.cd, o$2 = n$1.bd, s$2 = -2 & n$1.v, u$3 = -2 & n$1.j;
19208					if (0 > s$2 || 0 > u$3 || 0 >= i$3 || 0 >= o$2 || s$2 + i$3 > t$2 || u$3 + o$2 > e$1) return 2;
19209					t$2 = i$3, e$1 = o$2;
19210				}
19211				if (n$1.da) {
19212					if (!q$1(t$2, e$1, i$3 = [n$1.ib], o$2 = [n$1.hb])) return 2;
19213					t$2 = i$3[0], e$1 = o$2[0];
19214				}
19215			}
19216			r$1.width = t$2, r$1.height = e$1;
19217			t: {
19218				var c$3 = r$1.width, l$3 = r$1.height;
19219				if (t$2 = r$1.S, 0 >= c$3 || 0 >= l$3 || !(t$2 >= Mr && 13 > t$2)) t$2 = 2;
19220				else {
19221					if (0 >= r$1.Rd && null == r$1.sd) {
19222						s$2 = o$2 = i$3 = e$1 = 0;
19223						var h$3 = (u$3 = c$3 * zi[t$2]) * l$3;
19224						if (11 > t$2 || (o$2 = (l$3 + 1) / 2 * (e$1 = (c$3 + 1) / 2), 12 == t$2 && (s$2 = (i$3 = c$3) * l$3)), null == (l$3 = a$1(h$3 + 2 * o$2 + s$2))) {
19225							t$2 = 1;
19226							break t;
19227						}
19228						r$1.sd = l$3, 11 > t$2 ? ((c$3 = r$1.f.RGBA).eb = l$3, c$3.fb = 0, c$3.A = u$3, c$3.size = h$3) : ((c$3 = r$1.f.kb).y = l$3, c$3.O = 0, c$3.fa = u$3, c$3.Fd = h$3, c$3.f = l$3, c$3.N = 0 + h$3, c$3.Ab = e$1, c$3.Cd = o$2, c$3.ea = l$3, c$3.W = 0 + h$3 + o$2, c$3.Db = e$1, c$3.Ed = o$2, 12 == t$2 && (c$3.F = l$3, c$3.J = 0 + h$3 + 2 * o$2), c$3.Tc = s$2, c$3.lb = i$3);
19229					}
19230					if (e$1 = 1, i$3 = r$1.S, o$2 = r$1.width, s$2 = r$1.height, i$3 >= Mr && 13 > i$3) if (11 > i$3) t$2 = r$1.f.RGBA, e$1 &= (u$3 = Math.abs(t$2.A)) * (s$2 - 1) + o$2 <= t$2.size, e$1 &= u$3 >= o$2 * zi[i$3], e$1 &= null != t$2.eb;
19231					else {
19232						t$2 = r$1.f.kb, u$3 = (o$2 + 1) / 2, h$3 = (s$2 + 1) / 2, c$3 = Math.abs(t$2.fa), l$3 = Math.abs(t$2.Ab);
19233						var f$3 = Math.abs(t$2.Db), d$3 = Math.abs(t$2.lb), p$3 = d$3 * (s$2 - 1) + o$2;
19234						e$1 &= c$3 * (s$2 - 1) + o$2 <= t$2.Fd, e$1 &= l$3 * (h$3 - 1) + u$3 <= t$2.Cd, e$1 = (e$1 &= f$3 * (h$3 - 1) + u$3 <= t$2.Ed) & c$3 >= o$2 & l$3 >= u$3 & f$3 >= u$3, e$1 &= null != t$2.y, e$1 &= null != t$2.f, e$1 &= null != t$2.ea, 12 == i$3 && (e$1 &= d$3 >= o$2, e$1 &= p$3 <= t$2.Tc, e$1 &= null != t$2.F);
19235					}
19236					else e$1 = 0;
19237					t$2 = e$1 ? 0 : 2;
19238				}
19239			}
19240			return 0 != t$2 || null != n$1 && n$1.fd && (t$2 = qn(r$1)), t$2;
19241		}
19242		var Rn = 64, Dn = [
19243			0,
19244			1,
19245			3,
19246			7,
19247			15,
19248			31,
19249			63,
19250			127,
19251			255,
19252			511,
19253			1023,
19254			2047,
19255			4095,
19256			8191,
19257			16383,
19258			32767,
19259			65535,
19260			131071,
19261			262143,
19262			524287,
19263			1048575,
19264			2097151,
19265			4194303,
19266			8388607,
19267			16777215
19268		], Tn = 24, zn = 32, Un = 8, Hn = [
19269			0,
19270			0,
19271			1,
19272			1,
19273			2,
19274			2,
19275			2,
19276			2,
19277			3,
19278			3,
19279			3,
19280			3,
19281			3,
19282			3,
19283			3,
19284			3,
19285			4,
19286			4,
19287			4,
19288			4,
19289			4,
19290			4,
19291			4,
19292			4,
19293			4,
19294			4,
19295			4,
19296			4,
19297			4,
19298			4,
19299			4,
19300			4,
19301			5,
19302			5,
19303			5,
19304			5,
19305			5,
19306			5,
19307			5,
19308			5,
19309			5,
19310			5,
19311			5,
19312			5,
19313			5,
19314			5,
19315			5,
19316			5,
19317			5,
19318			5,
19319			5,
19320			5,
19321			5,
19322			5,
19323			5,
19324			5,
19325			5,
19326			5,
19327			5,
19328			5,
19329			5,
19330			5,
19331			5,
19332			5,
19333			6,
19334			6,
19335			6,
19336			6,
19337			6,
19338			6,
19339			6,
19340			6,
19341			6,
19342			6,
19343			6,
19344			6,
19345			6,
19346			6,
19347			6,
19348			6,
19349			6,
19350			6,
19351			6,
19352			6,
19353			6,
19354			6,
19355			6,
19356			6,
19357			6,
19358			6,
19359			6,
19360			6,
19361			6,
19362			6,
19363			6,
19364			6,
19365			6,
19366			6,
19367			6,
19368			6,
19369			6,
19370			6,
19371			6,
19372			6,
19373			6,
19374			6,
19375			6,
19376			6,
19377			6,
19378			6,
19379			6,
19380			6,
19381			6,
19382			6,
19383			6,
19384			6,
19385			6,
19386			6,
19387			6,
19388			6,
19389			6,
19390			6,
19391			6,
19392			6,
19393			6,
19394			6,
19395			6,
19396			6,
19397			7,
19398			7,
19399			7,
19400			7,
19401			7,
19402			7,
19403			7,
19404			7,
19405			7,
19406			7,
19407			7,
19408			7,
19409			7,
19410			7,
19411			7,
19412			7,
19413			7,
19414			7,
19415			7,
19416			7,
19417			7,
19418			7,
19419			7,
19420			7,
19421			7,
19422			7,
19423			7,
19424			7,
19425			7,
19426			7,
19427			7,
19428			7,
19429			7,
19430			7,
19431			7,
19432			7,
19433			7,
19434			7,
19435			7,
19436			7,
19437			7,
19438			7,
19439			7,
19440			7,
19441			7,
19442			7,
19443			7,
19444			7,
19445			7,
19446			7,
19447			7,
19448			7,
19449			7,
19450			7,
19451			7,
19452			7,
19453			7,
19454			7,
19455			7,
19456			7,
19457			7,
19458			7,
19459			7,
19460			7,
19461			7,
19462			7,
19463			7,
19464			7,
19465			7,
19466			7,
19467			7,
19468			7,
19469			7,
19470			7,
19471			7,
19472			7,
19473			7,
19474			7,
19475			7,
19476			7,
19477			7,
19478			7,
19479			7,
19480			7,
19481			7,
19482			7,
19483			7,
19484			7,
19485			7,
19486			7,
19487			7,
19488			7,
19489			7,
19490			7,
19491			7,
19492			7,
19493			7,
19494			7,
19495			7,
19496			7,
19497			7,
19498			7,
19499			7,
19500			7,
19501			7,
19502			7,
19503			7,
19504			7,
19505			7,
19506			7,
19507			7,
19508			7,
19509			7,
19510			7,
19511			7,
19512			7,
19513			7,
19514			7,
19515			7,
19516			7,
19517			7,
19518			7,
19519			7,
19520			7,
19521			7,
19522			7,
19523			7,
19524			7
19525		];
19526		D$1("Predictor0", "PredictorAdd0"), t$1.Predictor0 = function() {
19527			return 4278190080;
19528		}, t$1.Predictor1 = function(t$2) {
19529			return t$2;
19530		}, t$1.Predictor2 = function(t$2, e$1, n$1) {
19531			return e$1[n$1 + 0];
19532		}, t$1.Predictor3 = function(t$2, e$1, n$1) {
19533			return e$1[n$1 + 1];
19534		}, t$1.Predictor4 = function(t$2, e$1, n$1) {
19535			return e$1[n$1 - 1];
19536		}, t$1.Predictor5 = function(t$2, e$1, n$1) {
19537			return z$1(z$1(t$2, e$1[n$1 + 1]), e$1[n$1 + 0]);
19538		}, t$1.Predictor6 = function(t$2, e$1, n$1) {
19539			return z$1(t$2, e$1[n$1 - 1]);
19540		}, t$1.Predictor7 = function(t$2, e$1, n$1) {
19541			return z$1(t$2, e$1[n$1 + 0]);
19542		}, t$1.Predictor8 = function(t$2, e$1, n$1) {
19543			return z$1(e$1[n$1 - 1], e$1[n$1 + 0]);
19544		}, t$1.Predictor9 = function(t$2, e$1, n$1) {
19545			return z$1(e$1[n$1 + 0], e$1[n$1 + 1]);
19546		}, t$1.Predictor10 = function(t$2, e$1, n$1) {
19547			return z$1(z$1(t$2, e$1[n$1 - 1]), z$1(e$1[n$1 + 0], e$1[n$1 + 1]));
19548		}, t$1.Predictor11 = function(t$2, e$1, n$1) {
19549			var r$1 = e$1[n$1 + 0];
19550			return 0 >= W$1(r$1 >> 24 & 255, t$2 >> 24 & 255, (e$1 = e$1[n$1 - 1]) >> 24 & 255) + W$1(r$1 >> 16 & 255, t$2 >> 16 & 255, e$1 >> 16 & 255) + W$1(r$1 >> 8 & 255, t$2 >> 8 & 255, e$1 >> 8 & 255) + W$1(255 & r$1, 255 & t$2, 255 & e$1) ? r$1 : t$2;
19551		}, t$1.Predictor12 = function(t$2, e$1, n$1) {
19552			var r$1 = e$1[n$1 + 0];
19553			return (U$1((t$2 >> 24 & 255) + (r$1 >> 24 & 255) - ((e$1 = e$1[n$1 - 1]) >> 24 & 255)) << 24 | U$1((t$2 >> 16 & 255) + (r$1 >> 16 & 255) - (e$1 >> 16 & 255)) << 16 | U$1((t$2 >> 8 & 255) + (r$1 >> 8 & 255) - (e$1 >> 8 & 255)) << 8 | U$1((255 & t$2) + (255 & r$1) - (255 & e$1))) >>> 0;
19554		}, t$1.Predictor13 = function(t$2, e$1, n$1) {
19555			var r$1 = e$1[n$1 - 1];
19556			return (H$1((t$2 = z$1(t$2, e$1[n$1 + 0])) >> 24 & 255, r$1 >> 24 & 255) << 24 | H$1(t$2 >> 16 & 255, r$1 >> 16 & 255) << 16 | H$1(t$2 >> 8 & 255, r$1 >> 8 & 255) << 8 | H$1(255 & t$2, 255 & r$1)) >>> 0;
19557		};
19558		var Wn = t$1.PredictorAdd0;
19559		t$1.PredictorAdd1 = V$1, D$1("Predictor2", "PredictorAdd2"), D$1("Predictor3", "PredictorAdd3"), D$1("Predictor4", "PredictorAdd4"), D$1("Predictor5", "PredictorAdd5"), D$1("Predictor6", "PredictorAdd6"), D$1("Predictor7", "PredictorAdd7"), D$1("Predictor8", "PredictorAdd8"), D$1("Predictor9", "PredictorAdd9"), D$1("Predictor10", "PredictorAdd10"), D$1("Predictor11", "PredictorAdd11"), D$1("Predictor12", "PredictorAdd12"), D$1("Predictor13", "PredictorAdd13");
19560		var Vn = t$1.PredictorAdd2;
19561		X$1("ColorIndexInverseTransform", "MapARGB", "32b", function(t$2) {
19562			return t$2 >> 8 & 255;
19563		}, function(t$2) {
19564			return t$2;
19565		}), X$1("VP8LColorIndexInverseTransformAlpha", "MapAlpha", "8b", function(t$2) {
19566			return t$2;
19567		}, function(t$2) {
19568			return t$2 >> 8 & 255;
19569		});
19570		var Gn, Yn = t$1.ColorIndexInverseTransform, Jn = t$1.MapARGB, Xn = t$1.VP8LColorIndexInverseTransformAlpha, Kn = t$1.MapAlpha, Zn = t$1.VP8LPredictorsAdd = [];
19571		Zn.length = 16, (t$1.VP8LPredictors = []).length = 16, (t$1.VP8LPredictorsAdd_C = []).length = 16, (t$1.VP8LPredictors_C = []).length = 16;
19572		var $n, Qn, tr, er, nr, rr, ir, ar, or, sr, ur, cr, lr, hr, fr, dr, pr, gr, mr, vr, br, yr, wr, Nr, Lr, xr, Ar, Sr, _r = a$1(511), Pr = a$1(2041), kr = a$1(225), Fr = a$1(767), Ir = 0, jr = Pr, Cr = kr, Or = Fr, Br = _r, Mr = 0, qr = 1, Er = 2, Rr = 3, Dr = 4, Tr = 5, zr = 6, Ur = 7, Hr = 8, Wr = 9, Vr = 10, Gr = [
19573			2,
19574			3,
19575			7
19576		], Yr = [
19577			3,
19578			3,
19579			11
19580		], Jr = [
19581			280,
19582			256,
19583			256,
19584			256,
19585			40
19586		], Xr = [
19587			0,
19588			1,
19589			1,
19590			1,
19591			0
19592		], Kr = [
19593			17,
19594			18,
19595			0,
19596			1,
19597			2,
19598			3,
19599			4,
19600			5,
19601			16,
19602			6,
19603			7,
19604			8,
19605			9,
19606			10,
19607			11,
19608			12,
19609			13,
19610			14,
19611			15
19612		], Zr = [
19613			24,
19614			7,
19615			23,
19616			25,
19617			40,
19618			6,
19619			39,
19620			41,
19621			22,
19622			26,
19623			38,
19624			42,
19625			56,
19626			5,
19627			55,
19628			57,
19629			21,
19630			27,
19631			54,
19632			58,
19633			37,
19634			43,
19635			72,
19636			4,
19637			71,
19638			73,
19639			20,
19640			28,
19641			53,
19642			59,
19643			70,
19644			74,
19645			36,
19646			44,
19647			88,
19648			69,
19649			75,
19650			52,
19651			60,
19652			3,
19653			87,
19654			89,
19655			19,
19656			29,
19657			86,
19658			90,
19659			35,
19660			45,
19661			68,
19662			76,
19663			85,
19664			91,
19665			51,
19666			61,
19667			104,
19668			2,
19669			103,
19670			105,
19671			18,
19672			30,
19673			102,
19674			106,
19675			34,
19676			46,
19677			84,
19678			92,
19679			67,
19680			77,
19681			101,
19682			107,
19683			50,
19684			62,
19685			120,
19686			1,
19687			119,
19688			121,
19689			83,
19690			93,
19691			17,
19692			31,
19693			100,
19694			108,
19695			66,
19696			78,
19697			118,
19698			122,
19699			33,
19700			47,
19701			117,
19702			123,
19703			49,
19704			63,
19705			99,
19706			109,
19707			82,
19708			94,
19709			0,
19710			116,
19711			124,
19712			65,
19713			79,
19714			16,
19715			32,
19716			98,
19717			110,
19718			48,
19719			115,
19720			125,
19721			81,
19722			95,
19723			64,
19724			114,
19725			126,
19726			97,
19727			111,
19728			80,
19729			113,
19730			127,
19731			96,
19732			112
19733		], $r = [
19734			2954,
19735			2956,
19736			2958,
19737			2962,
19738			2970,
19739			2986,
19740			3018,
19741			3082,
19742			3212,
19743			3468,
19744			3980,
19745			5004
19746		], Qr = 8, ti = [
19747			4,
19748			5,
19749			6,
19750			7,
19751			8,
19752			9,
19753			10,
19754			10,
19755			11,
19756			12,
19757			13,
19758			14,
19759			15,
19760			16,
19761			17,
19762			17,
19763			18,
19764			19,
19765			20,
19766			20,
19767			21,
19768			21,
19769			22,
19770			22,
19771			23,
19772			23,
19773			24,
19774			25,
19775			25,
19776			26,
19777			27,
19778			28,
19779			29,
19780			30,
19781			31,
19782			32,
19783			33,
19784			34,
19785			35,
19786			36,
19787			37,
19788			37,
19789			38,
19790			39,
19791			40,
19792			41,
19793			42,
19794			43,
19795			44,
19796			45,
19797			46,
19798			46,
19799			47,
19800			48,
19801			49,
19802			50,
19803			51,
19804			52,
19805			53,
19806			54,
19807			55,
19808			56,
19809			57,
19810			58,
19811			59,
19812			60,
19813			61,
19814			62,
19815			63,
19816			64,
19817			65,
19818			66,
19819			67,
19820			68,
19821			69,
19822			70,
19823			71,
19824			72,
19825			73,
19826			74,
19827			75,
19828			76,
19829			76,
19830			77,
19831			78,
19832			79,
19833			80,
19834			81,
19835			82,
19836			83,
19837			84,
19838			85,
19839			86,
19840			87,
19841			88,
19842			89,
19843			91,
19844			93,
19845			95,
19846			96,
19847			98,
19848			100,
19849			101,
19850			102,
19851			104,
19852			106,
19853			108,
19854			110,
19855			112,
19856			114,
19857			116,
19858			118,
19859			122,
19860			124,
19861			126,
19862			128,
19863			130,
19864			132,
19865			134,
19866			136,
19867			138,
19868			140,
19869			143,
19870			145,
19871			148,
19872			151,
19873			154,
19874			157
19875		], ei = [
19876			4,
19877			5,
19878			6,
19879			7,
19880			8,
19881			9,
19882			10,
19883			11,
19884			12,
19885			13,
19886			14,
19887			15,
19888			16,
19889			17,
19890			18,
19891			19,
19892			20,
19893			21,
19894			22,
19895			23,
19896			24,
19897			25,
19898			26,
19899			27,
19900			28,
19901			29,
19902			30,
19903			31,
19904			32,
19905			33,
19906			34,
19907			35,
19908			36,
19909			37,
19910			38,
19911			39,
19912			40,
19913			41,
19914			42,
19915			43,
19916			44,
19917			45,
19918			46,
19919			47,
19920			48,
19921			49,
19922			50,
19923			51,
19924			52,
19925			53,
19926			54,
19927			55,
19928			56,
19929			57,
19930			58,
19931			60,
19932			62,
19933			64,
19934			66,
19935			68,
19936			70,
19937			72,
19938			74,
19939			76,
19940			78,
19941			80,
19942			82,
19943			84,
19944			86,
19945			88,
19946			90,
19947			92,
19948			94,
19949			96,
19950			98,
19951			100,
19952			102,
19953			104,
19954			106,
19955			108,
19956			110,
19957			112,
19958			114,
19959			116,
19960			119,
19961			122,
19962			125,
19963			128,
19964			131,
19965			134,
19966			137,
19967			140,
19968			143,
19969			146,
19970			149,
19971			152,
19972			155,
19973			158,
19974			161,
19975			164,
19976			167,
19977			170,
19978			173,
19979			177,
19980			181,
19981			185,
19982			189,
19983			193,
19984			197,
19985			201,
19986			205,
19987			209,
19988			213,
19989			217,
19990			221,
19991			225,
19992			229,
19993			234,
19994			239,
19995			245,
19996			249,
19997			254,
19998			259,
19999			264,
20000			269,
20001			274,
20002			279,
20003			284
20004		], ni = null, ri = [
20005			[
20006				173,
20007				148,
20008				140,
20009				0
20010			],
20011			[
20012				176,
20013				155,
20014				140,
20015				135,
20016				0
20017			],
20018			[
20019				180,
20020				157,
20021				141,
20022				134,
20023				130,
20024				0
20025			],
20026			[
20027				254,
20028				254,
20029				243,
20030				230,
20031				196,
20032				177,
20033				153,
20034				140,
20035				133,
20036				130,
20037				129,
20038				0
20039			]
20040		], ii = [
20041			0,
20042			1,
20043			4,
20044			8,
20045			5,
20046			2,
20047			3,
20048			6,
20049			9,
20050			12,
20051			13,
20052			10,
20053			7,
20054			11,
20055			14,
20056			15
20057		], ai = [
20058			-0,
20059			1,
20060			-1,
20061			2,
20062			-2,
20063			3,
20064			4,
20065			6,
20066			-3,
20067			5,
20068			-4,
20069			-5,
20070			-6,
20071			7,
20072			-7,
20073			8,
20074			-8,
20075			-9
20076		], oi = [
20077			[
20078				[
20079					[
20080						128,
20081						128,
20082						128,
20083						128,
20084						128,
20085						128,
20086						128,
20087						128,
20088						128,
20089						128,
20090						128
20091					],
20092					[
20093						128,
20094						128,
20095						128,
20096						128,
20097						128,
20098						128,
20099						128,
20100						128,
20101						128,
20102						128,
20103						128
20104					],
20105					[
20106						128,
20107						128,
20108						128,
20109						128,
20110						128,
20111						128,
20112						128,
20113						128,
20114						128,
20115						128,
20116						128
20117					]
20118				],
20119				[
20120					[
20121						253,
20122						136,
20123						254,
20124						255,
20125						228,
20126						219,
20127						128,
20128						128,
20129						128,
20130						128,
20131						128
20132					],
20133					[
20134						189,
20135						129,
20136						242,
20137						255,
20138						227,
20139						213,
20140						255,
20141						219,
20142						128,
20143						128,
20144						128
20145					],
20146					[
20147						106,
20148						126,
20149						227,
20150						252,
20151						214,
20152						209,
20153						255,
20154						255,
20155						128,
20156						128,
20157						128
20158					]
20159				],
20160				[
20161					[
20162						1,
20163						98,
20164						248,
20165						255,
20166						236,
20167						226,
20168						255,
20169						255,
20170						128,
20171						128,
20172						128
20173					],
20174					[
20175						181,
20176						133,
20177						238,
20178						254,
20179						221,
20180						234,
20181						255,
20182						154,
20183						128,
20184						128,
20185						128
20186					],
20187					[
20188						78,
20189						134,
20190						202,
20191						247,
20192						198,
20193						180,
20194						255,
20195						219,
20196						128,
20197						128,
20198						128
20199					]
20200				],
20201				[
20202					[
20203						1,
20204						185,
20205						249,
20206						255,
20207						243,
20208						255,
20209						128,
20210						128,
20211						128,
20212						128,
20213						128
20214					],
20215					[
20216						184,
20217						150,
20218						247,
20219						255,
20220						236,
20221						224,
20222						128,
20223						128,
20224						128,
20225						128,
20226						128
20227					],
20228					[
20229						77,
20230						110,
20231						216,
20232						255,
20233						236,
20234						230,
20235						128,
20236						128,
20237						128,
20238						128,
20239						128
20240					]
20241				],
20242				[
20243					[
20244						1,
20245						101,
20246						251,
20247						255,
20248						241,
20249						255,
20250						128,
20251						128,
20252						128,
20253						128,
20254						128
20255					],
20256					[
20257						170,
20258						139,
20259						241,
20260						252,
20261						236,
20262						209,
20263						255,
20264						255,
20265						128,
20266						128,
20267						128
20268					],
20269					[
20270						37,
20271						116,
20272						196,
20273						243,
20274						228,
20275						255,
20276						255,
20277						255,
20278						128,
20279						128,
20280						128
20281					]
20282				],
20283				[
20284					[
20285						1,
20286						204,
20287						254,
20288						255,
20289						245,
20290						255,
20291						128,
20292						128,
20293						128,
20294						128,
20295						128
20296					],
20297					[
20298						207,
20299						160,
20300						250,
20301						255,
20302						238,
20303						128,
20304						128,
20305						128,
20306						128,
20307						128,
20308						128
20309					],
20310					[
20311						102,
20312						103,
20313						231,
20314						255,
20315						211,
20316						171,
20317						128,
20318						128,
20319						128,
20320						128,
20321						128
20322					]
20323				],
20324				[
20325					[
20326						1,
20327						152,
20328						252,
20329						255,
20330						240,
20331						255,
20332						128,
20333						128,
20334						128,
20335						128,
20336						128
20337					],
20338					[
20339						177,
20340						135,
20341						243,
20342						255,
20343						234,
20344						225,
20345						128,
20346						128,
20347						128,
20348						128,
20349						128
20350					],
20351					[
20352						80,
20353						129,
20354						211,
20355						255,
20356						194,
20357						224,
20358						128,
20359						128,
20360						128,
20361						128,
20362						128
20363					]
20364				],
20365				[
20366					[
20367						1,
20368						1,
20369						255,
20370						128,
20371						128,
20372						128,
20373						128,
20374						128,
20375						128,
20376						128,
20377						128
20378					],
20379					[
20380						246,
20381						1,
20382						255,
20383						128,
20384						128,
20385						128,
20386						128,
20387						128,
20388						128,
20389						128,
20390						128
20391					],
20392					[
20393						255,
20394						128,
20395						128,
20396						128,
20397						128,
20398						128,
20399						128,
20400						128,
20401						128,
20402						128,
20403						128
20404					]
20405				]
20406			],
20407			[
20408				[
20409					[
20410						198,
20411						35,
20412						237,
20413						223,
20414						193,
20415						187,
20416						162,
20417						160,
20418						145,
20419						155,
20420						62
20421					],
20422					[
20423						131,
20424						45,
20425						198,
20426						221,
20427						172,
20428						176,
20429						220,
20430						157,
20431						252,
20432						221,
20433						1
20434					],
20435					[
20436						68,
20437						47,
20438						146,
20439						208,
20440						149,
20441						167,
20442						221,
20443						162,
20444						255,
20445						223,
20446						128
20447					]
20448				],
20449				[
20450					[
20451						1,
20452						149,
20453						241,
20454						255,
20455						221,
20456						224,
20457						255,
20458						255,
20459						128,
20460						128,
20461						128
20462					],
20463					[
20464						184,
20465						141,
20466						234,
20467						253,
20468						222,
20469						220,
20470						255,
20471						199,
20472						128,
20473						128,
20474						128
20475					],
20476					[
20477						81,
20478						99,
20479						181,
20480						242,
20481						176,
20482						190,
20483						249,
20484						202,
20485						255,
20486						255,
20487						128
20488					]
20489				],
20490				[
20491					[
20492						1,
20493						129,
20494						232,
20495						253,
20496						214,
20497						197,
20498						242,
20499						196,
20500						255,
20501						255,
20502						128
20503					],
20504					[
20505						99,
20506						121,
20507						210,
20508						250,
20509						201,
20510						198,
20511						255,
20512						202,
20513						128,
20514						128,
20515						128
20516					],
20517					[
20518						23,
20519						91,
20520						163,
20521						242,
20522						170,
20523						187,
20524						247,
20525						210,
20526						255,
20527						255,
20528						128
20529					]
20530				],
20531				[
20532					[
20533						1,
20534						200,
20535						246,
20536						255,
20537						234,
20538						255,
20539						128,
20540						128,
20541						128,
20542						128,
20543						128
20544					],
20545					[
20546						109,
20547						178,
20548						241,
20549						255,
20550						231,
20551						245,
20552						255,
20553						255,
20554						128,
20555						128,
20556						128
20557					],
20558					[
20559						44,
20560						130,
20561						201,
20562						253,
20563						205,
20564						192,
20565						255,
20566						255,
20567						128,
20568						128,
20569						128
20570					]
20571				],
20572				[
20573					[
20574						1,
20575						132,
20576						239,
20577						251,
20578						219,
20579						209,
20580						255,
20581						165,
20582						128,
20583						128,
20584						128
20585					],
20586					[
20587						94,
20588						136,
20589						225,
20590						251,
20591						218,
20592						190,
20593						255,
20594						255,
20595						128,
20596						128,
20597						128
20598					],
20599					[
20600						22,
20601						100,
20602						174,
20603						245,
20604						186,
20605						161,
20606						255,
20607						199,
20608						128,
20609						128,
20610						128
20611					]
20612				],
20613				[
20614					[
20615						1,
20616						182,
20617						249,
20618						255,
20619						232,
20620						235,
20621						128,
20622						128,
20623						128,
20624						128,
20625						128
20626					],
20627					[
20628						124,
20629						143,
20630						241,
20631						255,
20632						227,
20633						234,
20634						128,
20635						128,
20636						128,
20637						128,
20638						128
20639					],
20640					[
20641						35,
20642						77,
20643						181,
20644						251,
20645						193,
20646						211,
20647						255,
20648						205,
20649						128,
20650						128,
20651						128
20652					]
20653				],
20654				[
20655					[
20656						1,
20657						157,
20658						247,
20659						255,
20660						236,
20661						231,
20662						255,
20663						255,
20664						128,
20665						128,
20666						128
20667					],
20668					[
20669						121,
20670						141,
20671						235,
20672						255,
20673						225,
20674						227,
20675						255,
20676						255,
20677						128,
20678						128,
20679						128
20680					],
20681					[
20682						45,
20683						99,
20684						188,
20685						251,
20686						195,
20687						217,
20688						255,
20689						224,
20690						128,
20691						128,
20692						128
20693					]
20694				],
20695				[
20696					[
20697						1,
20698						1,
20699						251,
20700						255,
20701						213,
20702						255,
20703						128,
20704						128,
20705						128,
20706						128,
20707						128
20708					],
20709					[
20710						203,
20711						1,
20712						248,
20713						255,
20714						255,
20715						128,
20716						128,
20717						128,
20718						128,
20719						128,
20720						128
20721					],
20722					[
20723						137,
20724						1,
20725						177,
20726						255,
20727						224,
20728						255,
20729						128,
20730						128,
20731						128,
20732						128,
20733						128
20734					]
20735				]
20736			],
20737			[
20738				[
20739					[
20740						253,
20741						9,
20742						248,
20743						251,
20744						207,
20745						208,
20746						255,
20747						192,
20748						128,
20749						128,
20750						128
20751					],
20752					[
20753						175,
20754						13,
20755						224,
20756						243,
20757						193,
20758						185,
20759						249,
20760						198,
20761						255,
20762						255,
20763						128
20764					],
20765					[
20766						73,
20767						17,
20768						171,
20769						221,
20770						161,
20771						179,
20772						236,
20773						167,
20774						255,
20775						234,
20776						128
20777					]
20778				],
20779				[
20780					[
20781						1,
20782						95,
20783						247,
20784						253,
20785						212,
20786						183,
20787						255,
20788						255,
20789						128,
20790						128,
20791						128
20792					],
20793					[
20794						239,
20795						90,
20796						244,
20797						250,
20798						211,
20799						209,
20800						255,
20801						255,
20802						128,
20803						128,
20804						128
20805					],
20806					[
20807						155,
20808						77,
20809						195,
20810						248,
20811						188,
20812						195,
20813						255,
20814						255,
20815						128,
20816						128,
20817						128
20818					]
20819				],
20820				[
20821					[
20822						1,
20823						24,
20824						239,
20825						251,
20826						218,
20827						219,
20828						255,
20829						205,
20830						128,
20831						128,
20832						128
20833					],
20834					[
20835						201,
20836						51,
20837						219,
20838						255,
20839						196,
20840						186,
20841						128,
20842						128,
20843						128,
20844						128,
20845						128
20846					],
20847					[
20848						69,
20849						46,
20850						190,
20851						239,
20852						201,
20853						218,
20854						255,
20855						228,
20856						128,
20857						128,
20858						128
20859					]
20860				],
20861				[
20862					[
20863						1,
20864						191,
20865						251,
20866						255,
20867						255,
20868						128,
20869						128,
20870						128,
20871						128,
20872						128,
20873						128
20874					],
20875					[
20876						223,
20877						165,
20878						249,
20879						255,
20880						213,
20881						255,
20882						128,
20883						128,
20884						128,
20885						128,
20886						128
20887					],
20888					[
20889						141,
20890						124,
20891						248,
20892						255,
20893						255,
20894						128,
20895						128,
20896						128,
20897						128,
20898						128,
20899						128
20900					]
20901				],
20902				[
20903					[
20904						1,
20905						16,
20906						248,
20907						255,
20908						255,
20909						128,
20910						128,
20911						128,
20912						128,
20913						128,
20914						128
20915					],
20916					[
20917						190,
20918						36,
20919						230,
20920						255,
20921						236,
20922						255,
20923						128,
20924						128,
20925						128,
20926						128,
20927						128
20928					],
20929					[
20930						149,
20931						1,
20932						255,
20933						128,
20934						128,
20935						128,
20936						128,
20937						128,
20938						128,
20939						128,
20940						128
20941					]
20942				],
20943				[
20944					[
20945						1,
20946						226,
20947						255,
20948						128,
20949						128,
20950						128,
20951						128,
20952						128,
20953						128,
20954						128,
20955						128
20956					],
20957					[
20958						247,
20959						192,
20960						255,
20961						128,
20962						128,
20963						128,
20964						128,
20965						128,
20966						128,
20967						128,
20968						128
20969					],
20970					[
20971						240,
20972						128,
20973						255,
20974						128,
20975						128,
20976						128,
20977						128,
20978						128,
20979						128,
20980						128,
20981						128
20982					]
20983				],
20984				[
20985					[
20986						1,
20987						134,
20988						252,
20989						255,
20990						255,
20991						128,
20992						128,
20993						128,
20994						128,
20995						128,
20996						128
20997					],
20998					[
20999						213,
21000						62,
21001						250,
21002						255,
21003						255,
21004						128,
21005						128,
21006						128,
21007						128,
21008						128,
21009						128
21010					],
21011					[
21012						55,
21013						93,
21014						255,
21015						128,
21016						128,
21017						128,
21018						128,
21019						128,
21020						128,
21021						128,
21022						128
21023					]
21024				],
21025				[
21026					[
21027						128,
21028						128,
21029						128,
21030						128,
21031						128,
21032						128,
21033						128,
21034						128,
21035						128,
21036						128,
21037						128
21038					],
21039					[
21040						128,
21041						128,
21042						128,
21043						128,
21044						128,
21045						128,
21046						128,
21047						128,
21048						128,
21049						128,
21050						128
21051					],
21052					[
21053						128,
21054						128,
21055						128,
21056						128,
21057						128,
21058						128,
21059						128,
21060						128,
21061						128,
21062						128,
21063						128
21064					]
21065				]
21066			],
21067			[
21068				[
21069					[
21070						202,
21071						24,
21072						213,
21073						235,
21074						186,
21075						191,
21076						220,
21077						160,
21078						240,
21079						175,
21080						255
21081					],
21082					[
21083						126,
21084						38,
21085						182,
21086						232,
21087						169,
21088						184,
21089						228,
21090						174,
21091						255,
21092						187,
21093						128
21094					],
21095					[
21096						61,
21097						46,
21098						138,
21099						219,
21100						151,
21101						178,
21102						240,
21103						170,
21104						255,
21105						216,
21106						128
21107					]
21108				],
21109				[
21110					[
21111						1,
21112						112,
21113						230,
21114						250,
21115						199,
21116						191,
21117						247,
21118						159,
21119						255,
21120						255,
21121						128
21122					],
21123					[
21124						166,
21125						109,
21126						228,
21127						252,
21128						211,
21129						215,
21130						255,
21131						174,
21132						128,
21133						128,
21134						128
21135					],
21136					[
21137						39,
21138						77,
21139						162,
21140						232,
21141						172,
21142						180,
21143						245,
21144						178,
21145						255,
21146						255,
21147						128
21148					]
21149				],
21150				[
21151					[
21152						1,
21153						52,
21154						220,
21155						246,
21156						198,
21157						199,
21158						249,
21159						220,
21160						255,
21161						255,
21162						128
21163					],
21164					[
21165						124,
21166						74,
21167						191,
21168						243,
21169						183,
21170						193,
21171						250,
21172						221,
21173						255,
21174						255,
21175						128
21176					],
21177					[
21178						24,
21179						71,
21180						130,
21181						219,
21182						154,
21183						170,
21184						243,
21185						182,
21186						255,
21187						255,
21188						128
21189					]
21190				],
21191				[
21192					[
21193						1,
21194						182,
21195						225,
21196						249,
21197						219,
21198						240,
21199						255,
21200						224,
21201						128,
21202						128,
21203						128
21204					],
21205					[
21206						149,
21207						150,
21208						226,
21209						252,
21210						216,
21211						205,
21212						255,
21213						171,
21214						128,
21215						128,
21216						128
21217					],
21218					[
21219						28,
21220						108,
21221						170,
21222						242,
21223						183,
21224						194,
21225						254,
21226						223,
21227						255,
21228						255,
21229						128
21230					]
21231				],
21232				[
21233					[
21234						1,
21235						81,
21236						230,
21237						252,
21238						204,
21239						203,
21240						255,
21241						192,
21242						128,
21243						128,
21244						128
21245					],
21246					[
21247						123,
21248						102,
21249				
21249		209,
21250						247,
21251						188,
21252						196,
21253						255,
21254						233,
21255						128,
21256						128,
21257						128
21258					],
21259					[
21260						20,
21261						95,
21262						153,
21263						243,
21264						164,
21265						173,
21266						255,
21267						203,
21268						128,
21269						128,
21270						128
21271					]
21272				],
21273				[
21274					[
21275						1,
21276						222,
21277						248,
21278						255,
21279						216,
21280						213,
21281						128,
21282						128,
21283						128,
21284						128,
21285						128
21286					],
21287					[
21288						168,
21289						175,
21290						246,
21291						252,
21292						235,
21293						205,
21294						255,
21295						255,
21296						128,
21297						128,
21298						128
21299					],
21300					[
21301						47,
21302						116,
21303						215,
21304						255,
21305						211,
21306						212,
21307						255,
21308						255,
21309						128,
21310						128,
21311						128
21312					]
21313				],
21314				[
21315					[
21316						1,
21317						121,
21318						236,
21319						253,
21320						212,
21321						214,
21322						255,
21323						255,
21324						128,
21325						128,
21326						128
21327					],
21328					[
21329						141,
21330						84,
21331						213,
21332						252,
21333						201,
21334						202,
21335						255,
21336						219,
21337						128,
21338						128,
21339						128
21340					],
21341					[
21342						42,
21343						80,
21344						160,
21345						240,
21346						162,
21347						185,
21348						255,
21349						205,
21350						128,
21351						128,
21352						128
21353					]
21354				],
21355				[
21356					[
21357						1,
21358						1,
21359						255,
21360						128,
21361						128,
21362						128,
21363						128,
21364						128,
21365						128,
21366						128,
21367						128
21368					],
21369					[
21370						244,
21371						1,
21372						255,
21373						128,
21374						128,
21375						128,
21376						128,
21377						128,
21378						128,
21379						128,
21380						128
21381					],
21382					[
21383						238,
21384						1,
21385						255,
21386						128,
21387						128,
21388						128,
21389						128,
21390						128,
21391						128,
21392						128,
21393						128
21394					]
21395				]
21396			]
21397		], si = [
21398			[
21399				[
21400					231,
21401					120,
21402					48,
21403					89,
21404					115,
21405					113,
21406					120,
21407					152,
21408					112
21409				],
21410				[
21411					152,
21412					179,
21413					64,
21414					126,
21415					170,
21416					118,
21417					46,
21418					70,
21419					95
21420				],
21421				[
21422					175,
21423					69,
21424					143,
21425					80,
21426					85,
21427					82,
21428					72,
21429					155,
21430					103
21431				],
21432				[
21433					56,
21434					58,
21435					10,
21436					171,
21437					218,
21438					189,
21439					17,
21440					13,
21441					152
21442				],
21443				[
21444					114,
21445					26,
21446					17,
21447					163,
21448					44,
21449					195,
21450					21,
21451					10,
21452					173
21453				],
21454				[
21455					121,
21456					24,
21457					80,
21458					195,
21459					26,
21460					62,
21461					44,
21462					64,
21463					85
21464				],
21465				[
21466					144,
21467					71,
21468					10,
21469					38,
21470					171,
21471					213,
21472					144,
21473					34,
21474					26
21475				],
21476				[
21477					170,
21478					46,
21479					55,
21480					19,
21481					136,
21482					160,
21483					33,
21484					206,
21485					71
21486				],
21487				[
21488					63,
21489					20,
21490					8,
21491					114,
21492					114,
21493					208,
21494					12,
21495					9,
21496					226
21497				],
21498				[
21499					81,
21500					40,
21501					11,
21502					96,
21503					182,
21504					84,
21505					29,
21506					16,
21507					36
21508				]
21509			],
21510			[
21511				[
21512					134,
21513					183,
21514					89,
21515					137,
21516					98,
21517					101,
21518					106,
21519					165,
21520					148
21521				],
21522				[
21523					72,
21524					187,
21525					100,
21526					130,
21527					157,
21528					111,
21529					32,
21530					75,
21531					80
21532				],
21533				[
21534					66,
21535					102,
21536					167,
21537					99,
21538					74,
21539					62,
21540					40,
21541					234,
21542					128
21543				],
21544				[
21545					41,
21546					53,
21547					9,
21548					178,
21549					241,
21550					141,
21551					26,
21552					8,
21553					107
21554				],
21555				[
21556					74,
21557					43,
21558					26,
21559					146,
21560					73,
21561					166,
21562					49,
21563					23,
21564					157
21565				],
21566				[
21567					65,
21568					38,
21569					105,
21570					160,
21571					51,
21572					52,
21573					31,
21574					115,
21575					128
21576				],
21577				[
21578					104,
21579					79,
21580					12,
21581					27,
21582					217,
21583					255,
21584					87,
21585					17,
21586					7
21587				],
21588				[
21589					87,
21590					68,
21591					71,
21592					44,
21593					114,
21594					51,
21595					15,
21596					186,
21597					23
21598				],
21599				[
21600					47,
21601					41,
21602					14,
21603					110,
21604					182,
21605					183,
21606					21,
21607					17,
21608					194
21609				],
21610				[
21611					66,
21612					45,
21613					25,
21614					102,
21615					197,
21616					189,
21617					23,
21618					18,
21619					22
21620				]
21621			],
21622			[
21623				[
21624					88,
21625					88,
21626					147,
21627					150,
21628					42,
21629					46,
21630					45,
21631					196,
21632					205
21633				],
21634				[
21635					43,
21636					97,
21637					183,
21638					117,
21639					85,
21640					38,
21641					35,
21642					179,
21643					61
21644				],
21645				[
21646					39,
21647					53,
21648					200,
21649					87,
21650					26,
21651					21,
21652					43,
21653					232,
21654					171
21655				],
21656				[
21657					56,
21658					34,
21659					51,
21660					104,
21661					114,
21662					102,
21663					29,
21664					93,
21665					77
21666				],
21667				[
21668					39,
21669					28,
21670					85,
21671					171,
21672					58,
21673					165,
21674					90,
21675					98,
21676					64
21677				],
21678				[
21679					34,
21680					22,
21681					116,
21682					206,
21683					23,
21684					34,
21685					43,
21686					166,
21687					73
21688				],
21689				[
21690					107,
21691					54,
21692					32,
21693					26,
21694					51,
21695					1,
21696					81,
21697					43,
21698					31
21699				],
21700				[
21701					68,
21702					25,
21703					106,
21704					22,
21705					64,
21706					171,
21707					36,
21708					225,
21709					114
21710				],
21711				[
21712					34,
21713					19,
21714					21,
21715					102,
21716					132,
21717					188,
21718					16,
21719					76,
21720					124
21721				],
21722				[
21723					62,
21724					18,
21725					78,
21726					95,
21727					85,
21728					57,
21729					50,
21730					48,
21731					51
21732				]
21733			],
21734			[
21735				[
21736					193,
21737					101,
21738					35,
21739					159,
21740					215,
21741					111,
21742					89,
21743					46,
21744					111
21745				],
21746				[
21747					60,
21748					148,
21749					31,
21750					172,
21751					219,
21752					228,
21753					21,
21754					18,
21755					111
21756				],
21757				[
21758					112,
21759					113,
21760					77,
21761					85,
21762					179,
21763					255,
21764					38,
21765					120,
21766					114
21767				],
21768				[
21769					40,
21770					42,
21771					1,
21772					196,
21773					245,
21774					209,
21775					10,
21776					25,
21777					109
21778				],
21779				[
21780					88,
21781					43,
21782					29,
21783					140,
21784					166,
21785					213,
21786					37,
21787					43,
21788					154
21789				],
21790				[
21791					61,
21792					63,
21793					30,
21794					155,
21795					67,
21796					45,
21797					68,
21798					1,
21799					209
21800				],
21801				[
21802					100,
21803					80,
21804					8,
21805					43,
21806					154,
21807					1,
21808					51,
21809					26,
21810					71
21811				],
21812				[
21813					142,
21814					78,
21815					78,
21816					16,
21817					255,
21818					128,
21819					34,
21820					197,
21821					171
21822				],
21823				[
21824					41,
21825					40,
21826					5,
21827					102,
21828					211,
21829					183,
21830					4,
21831					1,
21832					221
21833				],
21834				[
21835					51,
21836					50,
21837					17,
21838					168,
21839					209,
21840					192,
21841					23,
21842					25,
21843					82
21844				]
21845			],
21846			[
21847				[
21848					138,
21849					31,
21850					36,
21851					171,
21852					27,
21853					166,
21854					38,
21855					44,
21856					229
21857				],
21858				[
21859					67,
21860					87,
21861					58,
21862					169,
21863					82,
21864					115,
21865					26,
21866					59,
21867					179
21868				],
21869				[
21870					63,
21871					59,
21872					90,
21873					180,
21874					59,
21875					166,
21876					93,
21877					73,
21878					154
21879				],
21880				[
21881					40,
21882					40,
21883					21,
21884					116,
21885					143,
21886					209,
21887					34,
21888					39,
21889					175
21890				],
21891				[
21892					47,
21893					15,
21894					16,
21895					183,
21896					34,
21897					223,
21898					49,
21899					45,
21900					183
21901				],
21902				[
21903					46,
21904					17,
21905					33,
21906					183,
21907					6,
21908					98,
21909					15,
21910					32,
21911					183
21912				],
21913				[
21914					57,
21915					46,
21916					22,
21917					24,
21918					128,
21919					1,
21920					54,
21921					17,
21922					37
21923				],
21924				[
21925					65,
21926					32,
21927					73,
21928					115,
21929					28,
21930					128,
21931					23,
21932					128,
21933					205
21934				],
21935				[
21936					40,
21937					3,
21938					9,
21939					115,
21940					51,
21941					192,
21942					18,
21943					6,
21944					223
21945				],
21946				[
21947					87,
21948					37,
21949					9,
21950					115,
21951					59,
21952					77,
21953					64,
21954					21,
21955					47
21956				]
21957			],
21958			[
21959				[
21960					104,
21961					55,
21962					44,
21963					218,
21964					9,
21965					54,
21966					53,
21967					130,
21968					226
21969				],
21970				[
21971					64,
21972					90,
21973					70,
21974					205,
21975					40,
21976					41,
21977					23,
21978					26,
21979					57
21980				],
21981				[
21982					54,
21983					57,
21984					112,
21985					184,
21986					5,
21987					41,
21988					38,
21989					166,
21990					213
21991				],
21992				[
21993					30,
21994					34,
21995					26,
21996					133,
21997					152,
21998					116,
21999					10,
22000					32,
22001					134
22002				],
22003				[
22004					39,
22005					19,
22006					53,
22007					221,
22008					26,
22009					114,
22010					32,
22011					73,
22012					255
22013				],
22014				[
22015					31,
22016					9,
22017					65,
22018					234,
22019					2,
22020					15,
22021					1,
22022					118,
22023					73
22024				],
22025				[
22026					75,
22027					32,
22028					12,
22029					51,
22030					192,
22031					255,
22032					160,
22033					43,
22034					51
22035				],
22036				[
22037					88,
22038					31,
22039					35,
22040					67,
22041					102,
22042					85,
22043					55,
22044					186,
22045					85
22046				],
22047				[
22048					56,
22049					21,
22050					23,
22051					111,
22052					59,
22053					205,
22054					45,
22055					37,
22056					192
22057				],
22058				[
22059					55,
22060					38,
22061					70,
22062					124,
22063					73,
22064					102,
22065					1,
22066					34,
22067					98
22068				]
22069			],
22070			[
22071				[
22072					125,
22073					98,
22074					42,
22075					88,
22076					104,
22077					85,
22078					117,
22079					175,
22080					82
22081				],
22082				[
22083					95,
22084					84,
22085					53,
22086					89,
22087					128,
22088					100,
22089					113,
22090					101,
22091					45
22092				],
22093				[
22094					75,
22095					79,
22096					123,
22097					47,
22098					51,
22099					128,
22100					81,
22101					171,
22102					1
22103				],
22104				[
22105					57,
22106					17,
22107					5,
22108					71,
22109					102,
22110					57,
22111					53,
22112					41,
22113					49
22114				],
22115				[
22116					38,
22117					33,
22118					13,
22119					121,
22120					57,
22121					73,
22122					26,
22123					1,
22124					85
22125				],
22126				[
22127					41,
22128					10,
22129					67,
22130					138,
22131					77,
22132					110,
22133					90,
22134					47,
22135					114
22136				],
22137				[
22138					115,
22139					21,
22140					2,
22141					10,
22142					102,
22143					255,
22144					166,
22145					23,
22146					6
22147				],
22148				[
22149					101,
22150					29,
22151					16,
22152					10,
22153					85,
22154					128,
22155					101,
22156					196,
22157					26
22158				],
22159				[
22160					57,
22161					18,
22162					10,
22163					102,
22164					102,
22165					213,
22166					34,
22167					20,
22168					43
22169				],
22170				[
22171					117,
22172					20,
22173					15,
22174					36,
22175					163,
22176					128,
22177					68,
22178					1,
22179					26
22180				]
22181			],
22182			[
22183				[
22184					102,
22185					61,
22186					71,
22187					37,
22188					34,
22189					53,
22190					31,
22191					243,
22192					192
22193				],
22194				[
22195					69,
22196					60,
22197					71,
22198					38,
22199					73,
22200					119,
22201					28,
22202					222,
22203					37
22204				],
22205				[
22206					68,
22207					45,
22208					128,
22209					34,
22210					1,
22211					47,
22212					11,
22213					245,
22214					171
22215				],
22216				[
22217					62,
22218					17,
22219					19,
22220					70,
22221					146,
22222					85,
22223					55,
22224					62,
22225					70
22226				],
22227				[
22228					37,
22229					43,
22230					37,
22231					154,
22232					100,
22233					163,
22234					85,
22235					160,
22236					1
22237				],
22238				[
22239					63,
22240					9,
22241					92,
22242					136,
22243					28,
22244					64,
22245					32,
22246					201,
22247					85
22248				],
22249				[
22250					75,
22251					15,
22252					9,
22253					9,
22254					64,
22255					255,
22256					184,
22257					119,
22258					16
22259				],
22260				[
22261					86,
22262					6,
22263					28,
22264					5,
22265					64,
22266					255,
22267					25,
22268					248,
22269					1
22270				],
22271				[
22272					56,
22273					8,
22274					17,
22275					132,
22276					137,
22277					255,
22278					55,
22279					116,
22280					128
22281				],
22282				[
22283					58,
22284					15,
22285					20,
22286					82,
22287					135,
22288					57,
22289					26,
22290					121,
22291					40
22292				]
22293			],
22294			[
22295				[
22296					164,
22297					50,
22298					31,
22299					137,
22300					154,
22301					133,
22302					25,
22303					35,
22304					218
22305				],
22306				[
22307					51,
22308					103,
22309					44,
22310					131,
22311					131,
22312					123,
22313					31,
22314					6,
22315					158
22316				],
22317				[
22318					86,
22319					40,
22320					64,
22321					135,
22322					148,
22323					224,
22324					45,
22325					183,
22326					128
22327				],
22328				[
22329					22,
22330					26,
22331					17,
22332					131,
22333					240,
22334					154,
22335					14,
22336					1,
22337					209
22338				],
22339				[
22340					45,
22341					16,
22342					21,
22343					91,
22344					64,
22345					222,
22346					7,
22347					1,
22348					197
22349				],
22350				[
22351					56,
22352					21,
22353					39,
22354					155,
22355					60,
22356					138,
22357					23,
22358					102,
22359					213
22360				],
22361				[
22362					83,
22363					12,
22364					13,
22365					54,
22366					192,
22367					255,
22368					68,
22369					47,
22370					28
22371				],
22372				[
22373					85,
22374					26,
22375					85,
22376					85,
22377					128,
22378					128,
22379					32,
22380					146,
22381					171
22382				],
22383				[
22384					18,
22385					11,
22386					7,
22387					63,
22388					144,
22389					171,
22390					4,
22391					4,
22392					246
22393				],
22394				[
22395					35,
22396					27,
22397					10,
22398					146,
22399					174,
22400					171,
22401					12,
22402					26,
22403					128
22404				]
22405			],
22406			[
22407				[
22408					190,
22409					80,
22410					35,
22411					99,
22412					180,
22413					80,
22414					126,
22415					54,
22416					45
22417				],
22418				[
22419					85,
22420					126,
22421					47,
22422					87,
22423					176,
22424					51,
22425					41,
22426					20,
22427					32
22428				],
22429				[
22430					101,
22431					75,
22432					128,
22433					139,
22434					118,
22435					146,
22436					116,
22437					128,
22438					85
22439				],
22440				[
22441					56,
22442					41,
22443					15,
22444					176,
22445					236,
22446					85,
22447					37,
22448					9,
22449					62
22450				],
22451				[
22452					71,
22453					30,
22454					17,
22455					119,
22456					118,
22457					255,
22458					17,
22459					18,
22460					138
22461				],
22462				[
22463					101,
22464					38,
22465					60,
22466					138,
22467					55,
22468					70,
22469					43,
22470					26,
22471					142
22472				],
22473				[
22474					146,
22475					36,
22476					19,
22477					30,
22478					171,
22479					255,
22480					97,
22481					27,
22482					20
22483				],
22484				[
22485					138,
22486					45,
22487					61,
22488					62,
22489					219,
22490					1,
22491					81,
22492					188,
22493					64
22494				],
22495				[
22496					32,
22497					41,
22498					20,
22499					117,
22500					151,
22501					142,
22502					20,
22503					21,
22504					163
22505				],
22506				[
22507					112,
22508					19,
22509					12,
22510					61,
22511					195,
22512					128,
22513					48,
22514					4,
22515					24
22516				]
22517			]
22518		], ui = [
22519			[
22520				[
22521					[
22522						255,
22523						255,
22524						255,
22525						255,
22526						255,
22527						255,
22528						255,
22529						255,
22530						255,
22531						255,
22532						255
22533					],
22534					[
22535						255,
22536						255,
22537						255,
22538						255,
22539						255,
22540						255,
22541						255,
22542						255,
22543						255,
22544						255,
22545						255
22546					],
22547					[
22548						255,
22549						255,
22550						255,
22551						255,
22552						255,
22553						255,
22554						255,
22555						255,
22556						255,
22557						255,
22558						255
22559					]
22560				],
22561				[
22562					[
22563						176,
22564						246,
22565						255,
22566						255,
22567						255,
22568						255,
22569						255,
22570						255,
22571						255,
22572						255,
22573						255
22574					],
22575					[
22576						223,
22577						241,
22578						252,
22579						255,
22580						255,
22581						255,
22582						255,
22583						255,
22584						255,
22585						255,
22586						255
22587					],
22588					[
22589						249,
22590						253,
22591						253,
22592						255,
22593						255,
22594						255,
22595						255,
22596						255,
22597						255,
22598						255,
22599						255
22600					]
22601				],
22602				[
22603					[
22604						255,
22605						244,
22606						252,
22607						255,
22608						255,
22609						255,
22610						255,
22611						255,
22612						255,
22613						255,
22614						255
22615					],
22616					[
22617						234,
22618						254,
22619						254,
22620						255,
22621						255,
22622						255,
22623						255,
22624						255,
22625						255,
22626						255,
22627						255
22628					],
22629					[
22630						253,
22631						255,
22632						255,
22633						255,
22634						255,
22635						255,
22636						255,
22637						255,
22638						255,
22639						255,
22640						255
22641					]
22642				],
22643				[
22644					[
22645						255,
22646						246,
22647						254,
22648						255,
22649						255,
22650						255,
22651						255,
22652						255,
22653						255,
22654						255,
22655						255
22656					],
22657					[
22658						239,
22659						253,
22660						254,
22661						255,
22662						255,
22663						255,
22664						255,
22665						255,
22666						255,
22667						255,
22668						255
22669					],
22670					[
22671						254,
22672						255,
22673						254,
22674						255,
22675						255,
22676						255,
22677						255,
22678						255,
22679						255,
22680						255,
22681						255
22682					]
22683				],
22684				[
22685					[
22686						255,
22687						248,
22688						254,
22689						255,
22690						255,
22691						255,
22692						255,
22693						255,
22694						255,
22695						255,
22696						255
22697					],
22698					[
22699						251,
22700						255,
22701						254,
22702						255,
22703						255,
22704						255,
22705						255,
22706						255,
22707						255,
22708						255,
22709						255
22710					],
22711					[
22712						255,
22713						255,
22714						255,
22715						255,
22716						255,
22717						255,
22718						255,
22719						255,
22720						255,
22721						255,
22722						255
22723					]
22724				],
22725				[
22726					[
22727						255,
22728						253,
22729						254,
22730						255,
22731						255,
22732						255,
22733						255,
22734						255,
22735						255,
22736						255,
22737						255
22738					],
22739					[
22740						251,
22741						254,
22742						254,
22743						255,
22744						255,
22745						255,
22746						255,
22747						255,
22748						255,
22749						255,
22750						255
22751					],
22752					[
22753						254,
22754						255,
22755						254,
22756						255,
22757						255,
22758						255,
22759						255,
22760						255,
22761						255,
22762						255,
22763						255
22764					]
22765				],
22766				[
22767					[
22768						255,
22769						254,
22770						253,
22771						255,
22772						254,
22773						255,
22774						255,
22775						255,
22776						255,
22777						255,
22778						255
22779					],
22780					[
22781						250,
22782						255,
22783						254,
22784						255,
22785						254,
22786						255,
22787						255,
22788						255,
22789						255,
22790						255,
22791						255
22792					],
22793					[
22794						254,
22795						255,
22796						255,
22797						255,
22798						255,
22799						255,
22800						255,
22801						255,
22802						255,
22803						255,
22804						255
22805					]
22806				],
22807				[
22808					[
22809						255,
22810						255,
22811						255,
22812						255,
22813						255,
22814						255,
22815						255,
22816						255,
22817						255,
22818						255,
22819						255
22820					],
22821					[
22822						255,
22823						255,
22824						255,
22825						255,
22826						255,
22827						255,
22828						255,
22829						255,
22830						255,
22831						255,
22832						255
22833					],
22834					[
22835						255,
22836						255,
22837						255,
22838						255,
22839						255,
22840						255,
22841						255,
22842						255,
22843						255,
22844						255,
22845						255
22846					]
22847				]
22848			],
22849			[
22850				[
22851					[
22852						217,
22853						255,
22854						255,
22855						255,
22856						255,
22857						255,
22858						255,
22859						255,
22860						255,
22861						255,
22862						255
22863					],
22864					[
22865						225,
22866						252,
22867						241,
22868						253,
22869						255,
22870						255,
22871						254,
22872						255,
22873						255,
22874						255,
22875						255
22876					],
22877					[
22878						234,
22879						250,
22880						241,
22881						250,
22882						253,
22883						255,
22884						253,
22885						254,
22886						255,
22887						255,
22888						255
22889					]
22890				],
22891				[
22892					[
22893						255,
22894						254,
22895						255,
22896						255,
22897						255,
22898						255,
22899						255,
22900						255,
22901						255,
22902						255,
22903						255
22904					],
22905					[
22906						223,
22907						254,
22908						254,
22909						255,
22910						255,
22911						255,
22912						255,
22913						255,
22914						255,
22915						255,
22916						255
22917					],
22918					[
22919						238,
22920						253,
22921						254,
22922						254,
22923						255,
22924						255,
22925						255,
22926						255,
22927						255,
22928						255,
22929						255
22930					]
22931				],
22932				[
22933					[
22934						255,
22935						248,
22936						254,
22937						255,
22938						255,
22939						255,
22940						255,
22941						255,
22942						255,
22943						255,
22944						255
22945					],
22946					[
22947						249,
22948						254,
22949						255,
22950						255,
22951						255,
22952						255,
22953						255,
22954						255,
22955						255,
22956						255,
22957						255
22958					],
22959					[
22960						255,
22961						255,
22962						255,
22963						255,
22964						255,
22965						255,
22966						255,
22967						255,
22968						255,
22969						255,
22970						255
22971					]
22972				],
22973				[
22974					[
22975						255,
22976						253,
22977						255,
22978						255,
22979						255,
22980						255,
22981						255,
22982						255,
22983						255,
22984						255,
22985						255
22986					],
22987					[
22988						247,
22989						254,
22990						255,
22991						255,
22992						255,
22993						255,
22994						255,
22995						255,
22996						255,
22997						255,
22998						255
22999					],
23000					[
23001						255,
23002						255,
23003						255,
23004						255,
23005						255,
23006						255,
23007						255,
23008						255,
23009						255,
23010						255,
23011						255
23012					]
23013				],
23014				[
23015					[
23016						255,
23017						253,
23018						254,
23019						255,
23020						255,
23021						255,
23022						255,
23023						255,
23024						255,
23025						255,
23026						255
23027					],
23028					[
23029						252,
23030						255,
23031						255,
vendor: 23,312 bytes, lines 23032-24091
23032						255,
23033						255,
23034						255,
23035						255,
23036						255,
23037						255,
23038						255,
23039						255
23040					],
23041					[
23042						255,
23043						255,
23044						255,
23045						255,
23046						255,
23047						255,
23048						255,
23049						255,
23050						255,
23051						255,
23052						255
23053					]
23054				],
23055				[
23056					[
23057						255,
23058						254,
23059						254,
23060						255,
23061						255,
23062						255,
23063						255,
23064						255,
23065						255,
23066						255,
23067						255
23068					],
23069					[
23070						253,
23071						255,
23072						255,
23073						255,
23074						255,
23075						255,
23076						255,
23077						255,
23078						255,
23079						255,
23080						255
23081					],
23082					[
23083						255,
23084						255,
23085						255,
23086						255,
23087						255,
23088						255,
23089						255,
23090						255,
23091						255,
23092						255,
23093						255
23094					]
23095				],
23096				[
23097					[
23098						255,
23099						254,
23100						253,
23101						255,
23102						255,
23103						255,
23104						255,
23105						255,
23106						255,
23107						255,
23108						255
23109					],
23110					[
23111						250,
23112						255,
23113						255,
23114						255,
23115						255,
23116						255,
23117						255,
23118						255,
23119						255,
23120						255,
23121						255
23122					],
23123					[
23124						254,
23125						255,
23126						255,
23127						255,
23128						255,
23129						255,
23130						255,
23131						255,
23132						255,
23133						255,
23134						255
23135					]
23136				],
23137				[
23138					[
23139						255,
23140						255,
23141						255,
23142						255,
23143						255,
23144						255,
23145						255,
23146						255,
23147						255,
23148						255,
23149						255
23150					],
23151					[
23152						255,
23153						255,
23154						255,
23155						255,
23156						255,
23157						255,
23158						255,
23159						255,
23160						255,
23161						255,
23162						255
23163					],
23164					[
23165						255,
23166						255,
23167						255,
23168						255,
23169						255,
23170						255,
23171						255,
23172						255,
23173						255,
23174						255,
23175						255
23176					]
23177				]
23178			],
23179			[
23180				[
23181					[
23182						186,
23183						251,
23184						250,
23185						255,
23186						255,
23187						255,
23188						255,
23189						255,
23190						255,
23191						255,
23192						255
23193					],
23194					[
23195						234,
23196						251,
23197						244,
23198						254,
23199						255,
23200						255,
23201						255,
23202						255,
23203						255,
23204						255,
23205						255
23206					],
23207					[
23208						251,
23209						251,
23210						243,
23211						253,
23212						254,
23213						255,
23214						254,
23215						255,
23216						255,
23217						255,
23218						255
23219					]
23220				],
23221				[
23222					[
23223						255,
23224						253,
23225						254,
23226						255,
23227						255,
23228						255,
23229						255,
23230						255,
23231						255,
23232						255,
23233						255
23234					],
23235					[
23236						236,
23237						253,
23238						254,
23239						255,
23240						255,
23241						255,
23242						255,
23243						255,
23244						255,
23245						255,
23246						255
23247					],
23248					[
23249						251,
23250						253,
23251						253,
23252						254,
23253						254,
23254						255,
23255						255,
23256						255,
23257						255,
23258						255,
23259						255
23260					]
23261				],
23262				[
23263					[
23264						255,
23265						254,
23266						254,
23267						255,
23268						255,
23269						255,
23270						255,
23271						255,
23272						255,
23273						255,
23274						255
23275					],
23276					[
23277						254,
23278						254,
23279						254,
23280						255,
23281						255,
23282						255,
23283						255,
23284						255,
23285						255,
23286						255,
23287						255
23288					],
23289					[
23290						255,
23291						255,
23292						255,
23293						255,
23294						255,
23295						255,
23296						255,
23297						255,
23298						255,
23299						255,
23300						255
23301					]
23302				],
23303				[
23304					[
23305						255,
23306						254,
23307						255,
23308						255,
23309						255,
23310						255,
23311						255,
23312						255,
23313						255,
23314						255,
23315						255
23316					],
23317					[
23318						254,
23319						254,
23320						255,
23321						255,
23322						255,
23323						255,
23324						255,
23325						255,
23326						255,
23327						255,
23328						255
23329					],
23330					[
23331						254,
23332						255,
23333						255,
23334						255,
23335						255,
23336						255,
23337						255,
23338						255,
23339						255,
23340						255,
23341						255
23342					]
23343				],
23344				[
23345					[
23346						255,
23347						255,
23348						255,
23349						255,
23350						255,
23351						255,
23352						255,
23353						255,
23354						255,
23355						255,
23356						255
23357					],
23358					[
23359						254,
23360						255,
23361						255,
23362						255,
23363						255,
23364						255,
23365						255,
23366						255,
23367						255,
23368						255,
23369						255
23370					],
23371					[
23372						255,
23373						255,
23374						255,
23375						255,
23376						255,
23377						255,
23378						255,
23379						255,
23380						255,
23381						255,
23382						255
23383					]
23384				],
23385				[
23386					[
23387						255,
23388						255,
23389						255,
23390						255,
23391						255,
23392						255,
23393						255,
23394						255,
23395						255,
23396						255,
23397						255
23398					],
23399					[
23400						255,
23401						255,
23402						255,
23403						255,
23404						255,
23405						255,
23406						255,
23407						255,
23408						255,
23409						255,
23410						255
23411					],
23412					[
23413						255,
23414						255,
23415						255,
23416						255,
23417						255,
23418						255,
23419						255,
23420						255,
23421						255,
23422						255,
23423						255
23424					]
23425				],
23426				[
23427					[
23428						255,
23429						255,
23430						255,
23431						255,
23432						255,
23433						255,
23434						255,
23435						255,
23436						255,
23437						255,
23438						255
23439					],
23440					[
23441						255,
23442						255,
23443						255,
23444						255,
23445						255,
23446						255,
23447						255,
23448						255,
23449						255,
23450						255,
23451						255
23452					],
23453					[
23454						255,
23455						255,
23456						255,
23457						255,
23458						255,
23459						255,
23460						255,
23461						255,
23462						255,
23463						255,
23464						255
23465					]
23466				],
23467				[
23468					[
23469						255,
23470						255,
23471						255,
23472						255,
23473						255,
23474						255,
23475						255,
23476						255,
23477						255,
23478						255,
23479						255
23480					],
23481					[
23482						255,
23483						255,
23484						255,
23485						255,
23486						255,
23487						255,
23488						255,
23489						255,
23490						255,
23491						255,
23492						255
23493					],
23494					[
23495						255,
23496						255,
23497						255,
23498						255,
23499						255,
23500						255,
23501						255,
23502						255,
23503						255,
23504						255,
23505						255
23506					]
23507				]
23508			],
23509			[
23510				[
23511					[
23512						248,
23513						255,
23514						255,
23515						255,
23516						255,
23517						255,
23518						255,
23519						255,
23520						255,
23521						255,
23522						255
23523					],
23524					[
23525						250,
23526						254,
23527						252,
23528						254,
23529						255,
23530						255,
23531						255,
23532						255,
23533						255,
23534						255,
23535						255
23536					],
23537					[
23538						248,
23539						254,
23540						249,
23541						253,
23542						255,
23543						255,
23544						255,
23545						255,
23546						255,
23547						255,
23548						255
23549					]
23550				],
23551				[
23552					[
23553						255,
23554						253,
23555						253,
23556						255,
23557						255,
23558						255,
23559						255,
23560						255,
23561						255,
23562						255,
23563						255
23564					],
23565					[
23566						246,
23567						253,
23568						253,
23569						255,
23570						255,
23571						255,
23572						255,
23573						255,
23574						255,
23575						255,
23576						255
23577					],
23578					[
23579						252,
23580						254,
23581						251,
23582						254,
23583						254,
23584						255,
23585						255,
23586						255,
23587						255,
23588						255,
23589						255
23590					]
23591				],
23592				[
23593					[
23594						255,
23595						254,
23596						252,
23597						255,
23598						255,
23599						255,
23600						255,
23601						255,
23602						255,
23603						255,
23604						255
23605					],
23606					[
23607						248,
23608						254,
23609						253,
23610						255,
23611						255,
23612						255,
23613						255,
23614						255,
23615						255,
23616						255,
23617						255
23618					],
23619					[
23620						253,
23621						255,
23622						254,
23623						254,
23624						255,
23625						255,
23626						255,
23627						255,
23628						255,
23629						255,
23630						255
23631					]
23632				],
23633				[
23634					[
23635						255,
23636						251,
23637						254,
23638						255,
23639						255,
23640						255,
23641						255,
23642						255,
23643						255,
23644						255,
23645						255
23646					],
23647					[
23648						245,
23649						251,
23650						254,
23651						255,
23652						255,
23653						255,
23654						255,
23655						255,
23656						255,
23657						255,
23658						255
23659					],
23660					[
23661						253,
23662						253,
23663						254,
23664						255,
23665						255,
23666						255,
23667						255,
23668						255,
23669						255,
23670						255,
23671						255
23672					]
23673				],
23674				[
23675					[
23676						255,
23677						251,
23678						253,
23679						255,
23680						255,
23681						255,
23682						255,
23683						255,
23684						255,
23685						255,
23686						255
23687					],
23688					[
23689						252,
23690						253,
23691						254,
23692						255,
23693						255,
23694						255,
23695						255,
23696						255,
23697						255,
23698						255,
23699						255
23700					],
23701					[
23702						255,
23703						254,
23704						255,
23705						255,
23706						255,
23707						255,
23708						255,
23709						255,
23710						255,
23711						255,
23712						255
23713					]
23714				],
23715				[
23716					[
23717						255,
23718						252,
23719						255,
23720						255,
23721						255,
23722						255,
23723						255,
23724						255,
23725						255,
23726						255,
23727						255
23728					],
23729					[
23730						249,
23731						255,
23732						254,
23733						255,
23734						255,
23735						255,
23736						255,
23737						255,
23738						255,
23739						255,
23740						255
23741					],
23742					[
23743						255,
23744						255,
23745						254,
23746						255,
23747						255,
23748						255,
23749						255,
23750						255,
23751						255,
23752						255,
23753						255
23754					]
23755				],
23756				[
23757					[
23758						255,
23759						255,
23760						253,
23761						255,
23762						255,
23763						255,
23764						255,
23765						255,
23766						255,
23767						255,
23768						255
23769					],
23770					[
23771						250,
23772						255,
23773						255,
23774						255,
23775						255,
23776						255,
23777						255,
23778						255,
23779						255,
23780						255,
23781						255
23782					],
23783					[
23784						255,
23785						255,
23786						255,
23787						255,
23788						255,
23789						255,
23790						255,
23791						255,
23792						255,
23793						255,
23794						255
23795					]
23796				],
23797				[
23798					[
23799						255,
23800						255,
23801						255,
23802						255,
23803						255,
23804						255,
23805						255,
23806						255,
23807						255,
23808						255,
23809						255
23810					],
23811					[
23812						254,
23813						255,
23814						255,
23815						255,
23816						255,
23817						255,
23818						255,
23819						255,
23820						255,
23821						255,
23822						255
23823					],
23824					[
23825						255,
23826						255,
23827						255,
23828						255,
23829						255,
23830						255,
23831						255,
23832						255,
23833						255,
23834						255,
23835						255
23836					]
23837				]
23838			]
23839		], ci = [
23840			0,
23841			1,
23842			2,
23843			3,
23844			6,
23845			4,
23846			5,
23847			6,
23848			6,
23849			6,
23850			6,
23851			6,
23852			6,
23853			6,
23854			6,
23855			7,
23856			0
23857		], li = [], hi = [], fi = [], di = 1, pi = 2, gi = [], mi = [];
23858		vn("UpsampleRgbLinePair", xn, 3), vn("UpsampleBgrLinePair", An, 3), vn("UpsampleRgbaLinePair", Fn, 4), vn("UpsampleBgraLinePair", kn, 4), vn("UpsampleArgbLinePair", Pn, 4), vn("UpsampleRgba4444LinePair", _n, 2), vn("UpsampleRgb565LinePair", Sn, 2);
23859		var vi = t$1.UpsampleRgbLinePair, bi = t$1.UpsampleBgrLinePair, yi = t$1.UpsampleRgbaLinePair, wi = t$1.UpsampleBgraLinePair, Ni = t$1.UpsampleArgbLinePair, Li = t$1.UpsampleRgba4444LinePair, xi = t$1.UpsampleRgb565LinePair, Ai = 16, Si = 1 << Ai - 1, _i = -227, Pi = 482, ki = 6, Fi = (256 << ki) - 1, Ii = 0, ji = a$1(256), Ci = a$1(256), Oi = a$1(256), Bi = a$1(256), Mi = a$1(Pi - _i), qi = a$1(Pi - _i);
23860		In("YuvToRgbRow", xn, 3), In("YuvToBgrRow", An, 3), In("YuvToRgbaRow", Fn, 4), In("YuvToBgraRow", kn, 4), In("YuvToArgbRow", Pn, 4), In("YuvToRgba4444Row", _n, 2), In("YuvToRgb565Row", Sn, 2);
23861		var Ei = [
23862			0,
23863			4,
23864			8,
23865			12,
23866			128,
23867			132,
23868			136,
23869			140,
23870			256,
23871			260,
23872			264,
23873			268,
23874			384,
23875			388,
23876			392,
23877			396
23878		], Ri = [
23879			0,
23880			2,
23881			8
23882		], Di = [
23883			8,
23884			7,
23885			6,
23886			4,
23887			4,
23888			2,
23889			2,
23890			2,
23891			1,
23892			1,
23893			1,
23894			1
23895		], Ti = 1;
23896		this.WebPDecodeRGBA = function(t$2, n$1, s$2, u$3, c$3) {
23897			var l$3 = qr, h$3 = new en(), f$3 = new ot$1();
23898			h$3.ba = f$3, f$3.S = l$3, f$3.width = [f$3.width], f$3.height = [f$3.height];
23899			var d$3 = f$3.width, p$3 = f$3.height, g$3 = new st$1();
23900			if (null == g$3 || null == t$2) var m$3 = 2;
23901			else e(null != g$3), m$3 = Bn(t$2, n$1, s$2, g$3.width, g$3.height, g$3.Pd, g$3.Qd, g$3.format, null);
23902			if (0 != m$3 ? d$3 = 0 : (null != d$3 && (d$3[0] = g$3.width[0]), null != p$3 && (p$3[0] = g$3.height[0]), d$3 = 1), d$3) {
23903				f$3.width = f$3.width[0], f$3.height = f$3.height[0], null != u$3 && (u$3[0] = f$3.width), null != c$3 && (c$3[0] = f$3.height);
23904				t: {
23905					if (u$3 = new Gt$1(), (c$3 = new nn()).data = t$2, c$3.w = n$1, c$3.ha = s$2, c$3.kd = 1, n$1 = [0], e(null != c$3), (0 == (t$2 = Bn(c$3.data, c$3.w, c$3.ha, null, null, null, n$1, null, c$3)) || 7 == t$2) && n$1[0] && (t$2 = 4), 0 == (n$1 = t$2)) {
23906						if (e(null != h$3), u$3.data = c$3.data, u$3.w = c$3.w + c$3.offset, u$3.ha = c$3.ha - c$3.offset, u$3.put = dt$1, u$3.ac = ft$1, u$3.bc = pt$1, u$3.ma = h$3, c$3.xa) {
23907							if (null == (t$2 = kt$1())) {
23908								h$3 = 1;
23909								break t;
23910							}
23911							if (function(t$3, n$2) {
23912								var r$1 = [0], i$3 = [0], a$2 = [0];
23913								e: for (;;) {
23914									if (null == t$3) return 0;
23915									if (null == n$2) return t$3.a = 2, 0;
23916									if (t$3.l = n$2, t$3.a = 0, v$2(t$3.m, n$2.data, n$2.w, n$2.ha), !gt$1(t$3.m, r$1, i$3, a$2)) {
23917										t$3.a = 3;
23918										break e;
23919									}
23920									if (t$3.xb = pi, n$2.width = r$1[0], n$2.height = i$3[0], !Ft$1(r$1[0], i$3[0], 1, t$3, null)) break e;
23921									return 1;
23922								}
23923								return e(0 != t$3.a), 0;
23924							}(t$2, u$3)) {
23925								if (u$3 = 0 == (n$1 = En(u$3.width, u$3.height, h$3.Oa, h$3.ba))) {
23926									e: {
23927										u$3 = t$2;
23928										n: for (;;) {
23929											if (null == u$3) {
23930												u$3 = 0;
23931												break e;
23932											}
23933											if (e(null != u$3.s.yc), e(null != u$3.s.Ya), e(0 < u$3.s.Wb), e(null != (s$2 = u$3.l)), e(null != (c$3 = s$2.ma)), 0 != u$3.xb) {
23934												if (u$3.ca = c$3.ba, u$3.tb = c$3.tb, e(null != u$3.ca), !Mn(c$3.Oa, s$2, Rr)) {
23935													u$3.a = 2;
23936													break n;
23937												}
23938												if (!It$1(u$3, s$2.width)) break n;
23939												if (s$2.da) break n;
23940												if ((s$2.da || rt$1(u$3.ca.S)) && mn(), 11 > u$3.ca.S || (alert("todo:WebPInitConvertARGBToYUV"), null != u$3.ca.f.kb.F && mn()), u$3.Pb && 0 < u$3.s.ua && null == u$3.s.vb.X && !O$1(u$3.s.vb, u$3.s.Wa.Xa)) {
23941													u$3.a = 1;
23942													break n;
23943												}
23944												u$3.xb = 0;
23945											}
23946											if (!_t$1(u$3, u$3.V, u$3.Ba, u$3.c, u$3.i, s$2.o, Lt$1)) break n;
23947											c$3.Dc = u$3.Ma, u$3 = 1;
23948											break e;
23949										}
23950										e(0 != u$3.a), u$3 = 0;
23951									}
23952									u$3 = !u$3;
23953								}
23954								u$3 && (n$1 = t$2.a);
23955							} else n$1 = t$2.a;
23956						} else {
23957							if (null == (t$2 = new Yt$1())) {
23958								h$3 = 1;
23959								break t;
23960							}
23961							if (t$2.Fa = c$3.na, t$2.P = c$3.P, t$2.qc = c$3.Sa, Kt$1(t$2, u$3)) {
23962								if (0 == (n$1 = En(u$3.width, u$3.height, h$3.Oa, h$3.ba))) {
23963									if (t$2.Aa = 0, s$2 = h$3.Oa, e(null != (c$3 = t$2)), null != s$2) {
23964										if (0 < (d$3 = 0 > (d$3 = s$2.Md) ? 0 : 100 < d$3 ? 255 : 255 * d$3 / 100)) {
23965											for (p$3 = g$3 = 0; 4 > p$3; ++p$3) 12 > (m$3 = c$3.pb[p$3]).lc && (m$3.ia = d$3 * Di[0 > m$3.lc ? 0 : m$3.lc] >> 3), g$3 |= m$3.ia;
23966											g$3 && (alert("todo:VP8InitRandom"), c$3.ia = 1);
23967										}
23968										c$3.Ga = s$2.Id, 100 < c$3.Ga ? c$3.Ga = 100 : 0 > c$3.Ga && (c$3.Ga = 0);
23969									}
23970									(function(t$3, n$2) {
23971										if (null == t$3) return 0;
23972										if (null == n$2) return Jt$1(t$3, 2, "NULL VP8Io parameter in VP8Decode().");
23973										if (!t$3.cb && !Kt$1(t$3, n$2)) return 0;
23974										if (e(t$3.cb), null == n$2.ac || n$2.ac(n$2)) {
23975											n$2.ob && (t$3.L = 0);
23976											var s$3 = Ri[t$3.L];
23977											if (2 == t$3.L ? (t$3.yb = 0, t$3.zb = 0) : (t$3.yb = n$2.v - s$3 >> 4, t$3.zb = n$2.j - s$3 >> 4, 0 > t$3.yb && (t$3.yb = 0), 0 > t$3.zb && (t$3.zb = 0)), t$3.Va = n$2.o + 15 + s$3 >> 4, t$3.Hb = n$2.va + 15 + s$3 >> 4, t$3.Hb > t$3.za && (t$3.Hb = t$3.za), t$3.Va > t$3.Ub && (t$3.Va = t$3.Ub), 0 < t$3.L) {
23978												var u$4 = t$3.ed;
23979												for (s$3 = 0; 4 > s$3; ++s$3) {
23980													var c$4;
23981													if (t$3.Qa.Cb) {
23982														var l$4 = t$3.Qa.Lb[s$3];
23983														t$3.Qa.Fb || (l$4 += u$4.Tb);
23984													} else l$4 = u$4.Tb;
23985													for (c$4 = 0; 1 >= c$4; ++c$4) {
23986														var h$4 = t$3.gd[s$3][c$4], f$4 = l$4;
23987														if (u$4.Pc && (f$4 += u$4.vd[0], c$4 && (f$4 += u$4.od[0])), 0 < (f$4 = 0 > f$4 ? 0 : 63 < f$4 ? 63 : f$4)) {
23988															var d$4 = f$4;
23989															0 < u$4.wb && (d$4 = 4 < u$4.wb ? d$4 >> 2 : d$4 >> 1) > 9 - u$4.wb && (d$4 = 9 - u$4.wb), 1 > d$4 && (d$4 = 1), h$4.dd = d$4, h$4.tc = 2 * f$4 + d$4, h$4.ld = 40 <= f$4 ? 2 : 15 <= f$4 ? 1 : 0;
23990														} else h$4.tc = 0;
23991														h$4.La = c$4;
23992													}
23993												}
23994											}
23995											s$3 = 0;
23996										} else Jt$1(t$3, 6, "Frame setup failed"), s$3 = t$3.a;
23997										if (s$3 = 0 == s$3) {
23998											if (s$3) {
23999												t$3.$c = 0, 0 < t$3.Aa || (t$3.Ic = Ti);
24000												e: {
24001													s$3 = t$3.Ic, u$4 = 4 * (d$4 = t$3.za);
24002													var p$4 = 32 * d$4, g$4 = d$4 + 1, m$4 = 0 < t$3.L ? d$4 * (0 < t$3.Aa ? 2 : 1) : 0, v$3 = (2 == t$3.Aa ? 2 : 1) * d$4;
24003													if ((h$4 = u$4 + 832 + (c$4 = 3 * (16 * s$3 + Ri[t$3.L]) / 2 * p$4) + (l$4 = null != t$3.Fa && 0 < t$3.Fa.length ? t$3.Kc.c * t$3.Kc.i : 0)) != h$4) s$3 = 0;
24004													else {
24005														if (h$4 > t$3.Vb) {
24006															if (t$3.Vb = 0, t$3.Ec = a$1(h$4), t$3.Fc = 0, null == t$3.Ec) {
24007																s$3 = Jt$1(t$3, 1, "no memory during frame initialization.");
24008																break e;
24009															}
24010															t$3.Vb = h$4;
24011														}
24012														h$4 = t$3.Ec, f$4 = t$3.Fc, t$3.Ac = h$4, t$3.Bc = f$4, f$4 += u$4, t$3.Gd = o$1(p$4, Ht$1), t$3.Hd = 0, t$3.rb = o$1(g$4 + 1, Dt$1), t$3.sb = 1, t$3.wa = m$4 ? o$1(m$4, Rt$1) : null, t$3.Y = 0, t$3.D.Nb = 0, t$3.D.wa = t$3.wa, t$3.D.Y = t$3.Y, 0 < t$3.Aa && (t$3.D.Y += d$4), e(!0), t$3.oc = h$4, t$3.pc = f$4, f$4 += 832, t$3.ya = o$1(v$3, zt$1), t$3.aa = 0, t$3.D.ya = t$3.ya, t$3.D.aa = t$3.aa, 2 == t$3.Aa && (t$3.D.aa += d$4), t$3.R = 16 * d$4, t$3.B = 8 * d$4, d$4 = (p$4 = Ri[t$3.L]) * t$3.R, p$4 = p$4 / 2 * t$3.B, t$3.sa = h$4, t$3.ta = f$4 + d$4, t$3.qa = t$3.sa, t$3.ra = t$3.ta + 16 * s$3 * t$3.R + p$4, t$3.Ha = t$3.qa, t$3.Ia = t$3.ra + 8 * s$3 * t$3.B + p$4, t$3.$c = 0, f$4 += c$4, t$3.mb = l$4 ? h$4 : null, t$3.nb = l$4 ? f$4 : null, e(f$4 + l$4 <= t$3.Fc + t$3.Vb), $t$1(t$3), i$2(t$3.Ac, t$3.Bc, 0, u$4), s$3 = 1;
24013													}
24014												}
24015												if (s$3) {
24016													if (n$2.ka = 0, n$2.y = t$3.sa, n$2.O = t$3.ta, n$2.f = t$3.qa, n$2.N = t$3.ra, n$2.ea = t$3.Ha, n$2.Vd = t$3.Ia, n$2.fa = t$3.R, n$2.Rc = t$3.B, n$2.F = null, n$2.J = 0, !Ir) {
24017														for (s$3 = -255; 255 >= s$3; ++s$3) _r[255 + s$3] = 0 > s$3 ? -s$3 : s$3;
24018														for (s$3 = -1020; 1020 >= s$3; ++s$3) Pr[1020 + s$3] = -128 > s$3 ? -128 : 127 < s$3 ? 127 : s$3;
24019														for (s$3 = -112; 112 >= s$3; ++s$3) kr[112 + s$3] = -16 > s$3 ? -16 : 15 < s$3 ? 15 : s$3;
24020														for (s$3 = -255; 510 >= s$3; ++s$3) Fr[255 + s$3] = 0 > s$3 ? 0 : 255 < s$3 ? 255 : s$3;
24021														Ir = 1;
24022													}
24023													ir = ue$1, ar = ie$1, sr = ae$1, ur = oe$1, cr = se$1, or = re$1, lr = Ye, hr = Je, fr = Ze, dr = $e, pr = Xe, gr = Ke, mr = Qe, vr = tn, br = ze, yr = Ue, wr = He, Nr = We, hi[0] = xe$1, hi[1] = le$1, hi[2] = Ne$1, hi[3] = Le$1, hi[4] = Ae$1, hi[5] = _e$1, hi[6] = Se$1, hi[7] = Pe$1, hi[8] = Fe$1, hi[9] = ke$1, li[0] = me$1, li[1] = fe$1, li[2] = de$1, li[3] = pe$1, li[4] = ve$1, li[5] = be$1, li[6] = ye$1, fi[0] = Oe, fi[1] = he$1, fi[2] = Ie$1, fi[3] = je$1, fi[4] = Me, fi[5] = Be, fi[6] = qe, s$3 = 1;
24024												} else s$3 = 0;
24025											}
24026											s$3 && (s$3 = function(t$4, n$3) {
24027												for (t$4.M = 0; t$4.M < t$4.Va; ++t$4.M) {
24028													var o$2, s$4 = t$4.Jc[t$4.M & t$4.Xb], u$5 = t$4.m, c$5 = t$4;
24029													for (o$2 = 0; o$2 < c$5.za; ++o$2) {
24030														var l$5 = u$5, h$5 = c$5, f$5 = h$5.Ac, d$5 = h$5.Bc + 4 * o$2, p$5 = h$5.zc, g$5 = h$5.ya[h$5.aa + o$2];
24031														if (h$5.Qa.Bb ? g$5.$b = k$1(l$5, h$5.Pa.jb[0]) ? 2 + k$1(l$5, h$5.Pa.jb[2]) : k$1(l$5, h$5.Pa.jb[1]) : g$5.$b = 0, h$5.kc && (g$5.Ad = k$1(l$5, h$5.Bd)), g$5.Za = !k$1(l$5, 145) + 0, g$5.Za) {
24032															var m$5 = g$5.Ob, v$4 = 0;
24033															for (h$5 = 0; 4 > h$5; ++h$5) {
24034																var b$3, y$3 = p$5[0 + h$5];
24035																for (b$3 = 0; 4 > b$3; ++b$3) {
24036																	y$3 = si[f$5[d$5 + b$3]][y$3];
24037																	for (var w$3 = ai[k$1(l$5, y$3[0])]; 0 < w$3;) w$3 = ai[2 * w$3 + k$1(l$5, y$3[w$3])];
24038																	y$3 = -w$3, f$5[d$5 + b$3] = y$3;
24039																}
24040																r(m$5, v$4, f$5, d$5, 4), v$4 += 4, p$5[0 + h$5] = y$3;
24041															}
24042														} else y$3 = k$1(l$5, 156) ? k$1(l$5, 128) ? 1 : 3 : k$1(l$5, 163) ? 2 : 0, g$5.Ob[0] = y$3, i$2(f$5, d$5, y$3, 4), i$2(p$5, 0, y$3, 4);
24043														g$5.Dd = k$1(l$5, 142) ? k$1(l$5, 114) ? k$1(l$5, 183) ? 1 : 3 : 2 : 0;
24044													}
24045													if (c$5.m.Ka) return Jt$1(t$4, 7, "Premature end-of-partition0 encountered.");
24046													for (; t$4.ja < t$4.za; ++t$4.ja) {
24047														if (c$5 = s$4, l$5 = (u$5 = t$4).rb[u$5.sb - 1], f$5 = u$5.rb[u$5.sb + u$5.ja], o$2 = u$5.ya[u$5.aa + u$5.ja], d$5 = u$5.kc ? o$2.Ad : 0) l$5.la = f$5.la = 0, o$2.Za || (l$5.Na = f$5.Na = 0), o$2.Hc = 0, o$2.Gc = 0, o$2.ia = 0;
24048														else {
24049															var N$3, L$3;
24050															if (l$5 = f$5, f$5 = c$5, d$5 = u$5.Pa.Xc, p$5 = u$5.ya[u$5.aa + u$5.ja], g$5 = u$5.pb[p$5.$b], h$5 = p$5.ad, m$5 = 0, v$4 = u$5.rb[u$5.sb - 1], y$3 = b$3 = 0, i$2(h$5, m$5, 0, 384), p$5.Za) var x$4 = 0, A$3 = d$5[3];
24051															else {
24052																w$3 = a$1(16);
24053																var S$2 = l$5.Na + v$4.Na;
24054																if (S$2 = ni(f$5, d$5[1], S$2, g$5.Eb, 0, w$3, 0), l$5.Na = v$4.Na = (0 < S$2) + 0, 1 < S$2) ir(w$3, 0, h$5, m$5);
24055																else {
24056																	var _$2 = w$3[0] + 3 >> 3;
24057																	for (w$3 = 0; 256 > w$3; w$3 += 16) h$5[m$5 + w$3] = _$2;
24058																}
24059																x$4 = 1, A$3 = d$5[0];
24060															}
24061															var P$2 = 15 & l$5.la, F$2 = 15 & v$4.la;
24062															for (w$3 = 0; 4 > w$3; ++w$3) {
24063																var I$2 = 1 & F$2;
24064																for (_$2 = L$3 = 0; 4 > _$2; ++_$2) P$2 = P$2 >> 1 | (I$2 = (S$2 = ni(f$5, A$3, S$2 = I$2 + (1 & P$2), g$5.Sc, x$4, h$5, m$5)) > x$4) << 7, L$3 = L$3 << 2 | (3 < S$2 ? 3 : 1 < S$2 ? 2 : 0 != h$5[m$5 + 0]), m$5 += 16;
24065																P$2 >>= 4, F$2 = F$2 >> 1 | I$2 << 7, b$3 = (b$3 << 8 | L$3) >>> 0;
24066															}
24067															for (A$3 = P$2, x$4 = F$2 >> 4, N$3 = 0; 4 > N$3; N$3 += 2) {
24068																for (L$3 = 0, P$2 = l$5.la >> 4 + N$3, F$2 = v$4.la >> 4 + N$3, w$3 = 0; 2 > w$3; ++w$3) {
24069																	for (I$2 = 1 & F$2, _$2 = 0; 2 > _$2; ++_$2) S$2 = I$2 + (1 & P$2), P$2 = P$2 >> 1 | (I$2 = 0 < (S$2 = ni(f$5, d$5[2], S$2, g$5.Qc, 0, h$5, m$5))) << 3, L$3 = L$3 << 2 | (3 < S$2 ? 3 : 1 < S$2 ? 2 : 0 != h$5[m$5 + 0]), m$5 += 16;
24070																	P$2 >>= 2, F$2 = F$2 >> 1 | I$2 << 5;
24071																}
24072																y$3 |= L$3 << 4 * N$3, A$3 |= P$2 << 4 << N$3, x$4 |= (240 & F$2) << N$3;
24073															}
24074															l$5.la = A$3, v$4.la = x$4, p$5.Hc = b$3, p$5.Gc = y$3, p$5.ia = 43690 & y$3 ? 0 : g$5.ia, d$5 = !(b$3 | y$3);
24075														}
24076														if (0 < u$5.L && (u$5.wa[u$5.Y + u$5.ja] = u$5.gd[o$2.$b][o$2.Za], u$5.wa[u$5.Y + u$5.ja].La |= !d$5), c$5.Ka) return Jt$1(t$4, 7, "Premature end-of-file encountered.");
24077													}
24078													if ($t$1(t$4), u$5 = n$3, c$5 = 1, o$2 = (s$4 = t$4).D, l$5 = 0 < s$4.L && s$4.M >= s$4.zb && s$4.M <= s$4.Va, 0 == s$4.Aa) e: {
24079														if (o$2.M = s$4.M, o$2.uc = l$5, On(s$4, o$2), c$5 = 1, o$2 = (L$3 = s$4.D).Nb, l$5 = (y$3 = Ri[s$4.L]) * s$4.R, f$5 = y$3 / 2 * s$4.B, w$3 = 16 * o$2 * s$4.R, _$2 = 8 * o$2 * s$4.B, d$5 = s$4.sa, p$5 = s$4.ta - l$5 + w$3, g$5 = s$4.qa, h$5 = s$4.ra - f$5 + _$2, m$5 = s$4.Ha, v$4 = s$4.Ia - f$5 + _$2, F$2 = 0 == (P$2 = L$3.M), b$3 = P$2 >= s$4.Va - 1, 2 == s$4.Aa && On(s$4, L$3), L$3.uc) for (I$2 = (S$2 = s$4).D.M, e(S$2.D.uc), L$3 = S$2.yb; L$3 < S$2.Hb; ++L$3) {
24080															x$4 = L$3, A$3 = I$2;
24081															var j$2 = (C$2 = (z$2 = S$2).D).Nb;
24082															N$3 = z$2.R;
24083															var C$2 = C$2.wa[C$2.Y + x$4], O$2 = z$2.sa, B$2 = z$2.ta + 16 * j$2 * N$3 + 16 * x$4, M$2 = C$2.dd, q$2 = C$2.tc;
24084															if (0 != q$2) if (e(3 <= q$2), 1 == z$2.L) 0 < x$4 && yr(O$2, B$2, N$3, q$2 + 4), C$2.La && Nr(O$2, B$2, N$3, q$2), 0 < A$3 && br(O$2, B$2, N$3, q$2 + 4), C$2.La && wr(O$2, B$2, N$3, q$2);
24085															else {
24086																var E$2 = z$2.B, R$2 = z$2.qa, D$2 = z$2.ra + 8 * j$2 * E$2 + 8 * x$4, T$2 = z$2.Ha, z$2 = z$2.Ia + 8 * j$2 * E$2 + 8 * x$4;
24087																j$2 = C$2.ld, 0 < x$4 && (hr(O$2, B$2, N$3, q$2 + 4, M$2, j$2), dr(R$2, D$2, T$2, z$2, E$2, q$2 + 4, M$2, j$2)), C$2.La && (gr(O$2, B$2, N$3, q$2, M$2, j$2), vr(R$2, D$2, T$2, z$2, E$2, q$2, M$2, j$2)), 0 < A$3 && (lr(O$2, B$2, N$3, q$2 + 4, M$2, j$2), fr(R$2, D$2, T$2, z$2, E$2, q$2 + 4, M$2, j$2)), C$2.La && (pr(O$2, B$2, N$3, q$2, M$2, j$2), mr(R$2, D$2, T$2, z$2, E$2, q$2, M$2, j$2));
24088															}
24089														}
24090														if (s$4.ia && alert("todo:DitherRow"), null != u$5.put) {
24091															if (L$3 = 16 * P$2, P$2 = 16 * (P$2 + 1), F$2 ? (u$5.y = s$4.sa, u$5.O = s$4.ta + w$3, u$5.f = s$4.qa, u$5.N = s$4.ra + _$2, u$5.ea = s$4.Ha, u$5.W = s$4.Ia + _$2) 
vendor: 5,250 bytes, lines 24091-24195
24091: (L$3 -= y$3, u$5.y = d$5, u$5.O = p$5, u$5.f = g$5, u$5.N = h$5, u$5.ea = m$5, u$5.W = v$4), b$3 || (P$2 -= y$3), P$2 > u$5.o && (P$2 = u$5.o), u$5.F = null, u$5.J = null, null != s$4.Fa && 0 < s$4.Fa.length && L$3 < P$2 && (u$5.J = hn(s$4, u$5, L$3, P$2 - L$3), u$5.F = s$4.mb, null == u$5.F && 0 == u$5.F.length)) {
24092																c$5 = Jt$1(s$4, 3, "Could not decode alpha data.");
24093																break e;
24094															}
24095															L$3 < u$5.j && (y$3 = u$5.j - L$3, L$3 = u$5.j, e(!(1 & y$3)), u$5.O += s$4.R * y$3, u$5.N += s$4.B * (y$3 >> 1), u$5.W += s$4.B * (y$3 >> 1), null != u$5.F && (u$5.J += u$5.width * y$3)), L$3 < P$2 && (u$5.O += u$5.v, u$5.N += u$5.v >> 1, u$5.W += u$5.v >> 1, null != u$5.F && (u$5.J += u$5.v), u$5.ka = L$3 - u$5.j, u$5.U = u$5.va - u$5.v, u$5.T = P$2 - L$3, c$5 = u$5.put(u$5));
24096														}
24097														o$2 + 1 != s$4.Ic || b$3 || (r(s$4.sa, s$4.ta - l$5, d$5, p$5 + 16 * s$4.R, l$5), r(s$4.qa, s$4.ra - f$5, g$5, h$5 + 8 * s$4.B, f$5), r(s$4.Ha, s$4.Ia - f$5, m$5, v$4 + 8 * s$4.B, f$5));
24098													}
24099													if (!c$5) return Jt$1(t$4, 6, "Output aborted.");
24100												}
24101												return 1;
24102											}(t$3, n$2)), null != n$2.bc && n$2.bc(n$2), s$3 &= 1;
24103										}
24104										return s$3 ? (t$3.cb = 0, s$3) : 0;
24105									})(t$2, u$3) || (n$1 = t$2.a);
24106								}
24107							} else n$1 = t$2.a;
24108						}
24109						0 == n$1 && null != h$3.Oa && h$3.Oa.fd && (n$1 = qn(h$3.ba));
24110					}
24111					h$3 = n$1;
24112				}
24113				l$3 = 0 != h$3 ? null : 11 > l$3 ? f$3.f.RGBA.eb : f$3.f.kb.y;
24114			} else l$3 = null;
24115			return l$3;
24116		};
24117		var zi = [
24118			3,
24119			4,
24120			3,
24121			4,
24122			4,
24123			2,
24124			2,
24125			4,
24126			4,
24127			4,
24128			2,
24129			1,
24130			1
24131		];
24132	};
24133	function c$1(t$1, e$1) {
24134		for (var n$1 = "", r$1 = 0; r$1 < 4; r$1++) n$1 += String.fromCharCode(t$1[e$1++]);
24135		return n$1;
24136	}
24137	function l$1(t$1, e$1) {
24138		return t$1[e$1 + 0] | t$1[e$1 + 1] << 8;
24139	}
24140	function h$1(t$1, e$1) {
24141		return (t$1[e$1 + 0] | t$1[e$1 + 1] << 8 | t$1[e$1 + 2] << 16) >>> 0;
24142	}
24143	function f$1(t$1, e$1) {
24144		return (t$1[e$1 + 0] | t$1[e$1 + 1] << 8 | t$1[e$1 + 2] << 16 | t$1[e$1 + 3] << 24) >>> 0;
24145	}
24146	new u$1();
24147	var d$1 = [0], p$1 = [0], g$1 = [], m$1 = new u$1(), v$1 = t, b$1 = function(t$1, e$1) {
24148		var n$1 = {}, r$1 = 0, i$3 = !1, a$2 = 0, o$2 = 0;
24149		if (n$1.frames = [], !function(t$2, e$2) {
24150			for (var n$2 = 0; n$2 < 4; n$2++) if (t$2[e$2 + n$2] != "RIFF".charCodeAt(n$2)) return !0;
24151			return !1;
24152		}(t$1, e$1)) {
24153			for (f$1(t$1, e$1 += 4), e$1 += 8; e$1 < t$1.length;) {
24154				var s$2 = c$1(t$1, e$1), u$2 = f$1(t$1, e$1 += 4);
24155				e$1 += 4;
24156				var d$2 = u$2 + (1 & u$2);
24157				switch (s$2) {
24158					case "VP8 ":
24159					case "VP8L":
24160						void 0 === n$1.frames[r$1] && (n$1.frames[r$1] = {}), (m$2 = n$1.frames[r$1]).src_off = i$3 ? o$2 : e$1 - 8, m$2.src_size = a$2 + u$2 + 8, r$1++, i$3 && (i$3 = !1, a$2 = 0, o$2 = 0);
24161						break;
24162					case "VP8X":
24163						(m$2 = n$1.header = {}).feature_flags = t$1[e$1];
24164						var p$2 = e$1 + 4;
24165						m$2.canvas_width = 1 + h$1(t$1, p$2), p$2 += 3, m$2.canvas_height = 1 + h$1(t$1, p$2), p$2 += 3;
24166						break;
24167					case "ALPH":
24168						i$3 = !0, a$2 = d$2 + 8, o$2 = e$1 - 8;
24169						break;
24170					case "ANIM":
24171						(m$2 = n$1.header).bgcolor = f$1(t$1, e$1), p$2 = e$1 + 4, m$2.loop_count = l$1(t$1, p$2), p$2 += 2;
24172						break;
24173					case "ANMF":
24174						var g$2, m$2;
24175						(m$2 = n$1.frames[r$1] = {}).offset_x = 2 * h$1(t$1, e$1), e$1 += 3, m$2.offset_y = 2 * h$1(t$1, e$1), e$1 += 3, m$2.width = 1 + h$1(t$1, e$1), e$1 += 3, m$2.height = 1 + h$1(t$1, e$1), e$1 += 3, m$2.duration = h$1(t$1, e$1), e$1 += 3, g$2 = t$1[e$1++], m$2.dispose = 1 & g$2, m$2.blend = g$2 >> 1 & 1;
24176				}
24177				"ANMF" != s$2 && (e$1 += d$2);
24178			}
24179			return n$1;
24180		}
24181	}(v$1, 0);
24182	b$1.response = v$1, b$1.rgbaoutput = !0, b$1.dataurl = !1;
24183	var y$1 = b$1.header ? b$1.header : null, w$1 = b$1.frames ? b$1.frames : null;
24184	if (y$1) {
24185		y$1.loop_counter = y$1.loop_count, d$1 = [y$1.canvas_height], p$1 = [y$1.canvas_width];
24186		for (var N$1 = 0; N$1 < w$1.length && 0 != w$1[N$1].blend; N$1++);
24187	}
24188	var L$1 = w$1[0], x$2 = m$1.WebPDecodeRGBA(v$1, L$1.src_off, L$1.src_size, p$1, d$1);
24189	L$1.rgba = x$2, L$1.imgwidth = p$1[0], L$1.imgheight = d$1[0];
24190	for (var A$1 = 0; A$1 < p$1[0] * d$1[0] * 4; A$1++) g$1[A$1] = x$2[A$1];
24191	return this.width = p$1, this.height = d$1, this.data = g$1, this;
24192}
24193(function(e) {
24194	var n, r, i$2, a$1, s$1, u$1, c$1, l$1, f$1, d$1 = function(t) {
24195		return t = t || {}, this.isStrokeTransparent = t.isStrokeTransparent || !1, this.strokeOpacity = t.strokeOpacity || 1, this.strokeStyle = t.strokeStyle || "#000000", this.fillStyle = t.fillStyle || "#000000", this.isFillTransparent = t.isFillTransparent || !1, this.fillOpacity = t.fillOpacity || 1, this.font = t.font || "10px sans-serif", this.textBaseline = t.textBaseline || "alphabetic", this.textAlign = t.textAlign || "left", this.lineWidth = t.lineWidth || 1, this.lineJoin = t.lineJoin || "miter", this.lineCap = t.lineCap || "butt", this.path = t.path || [], this.transform = void 0 !== t.transform ? t.transform.clone() : new l$1(), this.globalCompositeOperation = t.globalCompositeOperation || "normal", this.globalAlpha = t.globalAlpha || 1, this.clip_path = t.clip_path || [], this.currentPoint = t.currentPoint || new u$1(), this.miterLimit = t.miter
24195Limit || 10, this.lastPoint = t.lastPoint || new u$1(), this.lineDashOffset = t.lineDashOffset || 0, this.lineDash = t.lineDash || [], this.margin = t.margin || [
24196			0,
24197			0,
24198			0,
24199			0
24200		], this.prevPageLastElemOffset = t.prevPageLastElemOffset || 0, this.ignoreClearRect = "boolean" != typeof t.ignoreClearRect || t.ignoreClearRect, this;
24201	};
24202	e.events.push(["initialized", function() {
24203		this.context2d = new p$1(this), n = this.internal.f2, r = this.internal.getCoordinateString, i$2 = this.internal.getVerticalCoordinateString, a$1 = this.internal.getHorizontalCoordinate, s$1 = this.internal.getVerticalCoordinate, u$1 = this.internal.Point, c$1 = this.internal.Rectangle, l$1 = this.internal.Matrix, f$1 = new d$1();
24204	}]);
24205	var p$1 = function(t) {
24206		Object.defineProperty(this, "canvas", { get: function() {
24207			return {
24208				parentNode: !1,
24209				style: !1
24210			};
24211		} });
24212		var e$1 = t;
24213		Object.defineProperty(this, "pdf", { get: function() {
24214			return e$1;
24215		} });
24216		var n$1 = !1;
24217		Object.defineProperty(this, "pageWrapXEnabled", {
24218			get: function() {
24219				return n$1;
24220			},
24221			set: function(t$1) {
24222				n$1 = Boolean(t$1);
24223			}
24224		});
24225		var r$1 = !1;
24226		Object.defineProperty(this, "pageWrapYEnabled", {
24227			get: function() {
24228				return r$1;
24229			},
24230			set: function(t$1) {
24231				r$1 = Boolean(t$1);
24232			}
24233		});
24234		var i$3 = 0;
24235		Object.defineProperty(this, "posX", {
24236			get: function() {
24237				return i$3;
24238			},
24239			set: function(t$1) {
24240				isNaN(t$1) || (i$3 = t$1);
24241			}
24242		});
24243		var a$2 = 0;
24244		Object.defineProperty(this, "posY", {
24245			get: function() {
24246				return a$2;
24247			},
24248			set: function(t$1) {
24249				isNaN(t$1) || (a$2 = t$1);
24250			}
24251		}), Object.defineProperty(this, "margin", {
24252			get: function() {
24253				return f$1.margin;
24254			},
24255			set: function(t$1) {
24256				var e$2;
24257				"number" == typeof t$1 ? e$2 = [
24258					t$1,
24259					t$1,
24260					t$1,
24261					t$1
24262				] : ((e$2 = new Array(4))[0] = t$1[0], e$2[1] = t$1.length >= 2 ? t$1[1] : e$2[0], e$2[2] = t$1.length >= 3 ? t$1[2] : e$2[0], e$2[3] = t$1.length >= 4 ? t$1[3] : e$2[1]), f$1.margin = e$2;
24263			}
24264		});
24265		var o$1 = !1;
24266		Object.defineProperty(this, "autoPaging", {
24267			get: function() {
24268				return o$1;
24269			},
24270			set: function(t$1) {
24271				o$1 = t$1;
24272			}
24273		});
24274		var s$2 = 0;
24275		Object.defineProperty(this, "lastBreak", {
24276			get: function() {
24277				return s$2;
24278			},
24279			set: function(t$1) {
24280				s$2 = t$1;
24281			}
24282		});
24283		var u$2 = [];
24284		Object.defineProperty(this, "pageBreaks", {
24285			get: function() {
24286				return u$2;
24287			},
24288			set: function(t$1) {
24289				u$2 = t$1;
24290			}
24291		}), Object.defineProperty(this, "ctx", {
24292			get: function() {
24293				return f$1;
24294			},
24295			set: function(t$1) {
24296				t$1 instanceof d$1 && (f$1 = t$1);
24297			}
24298		}), Object.defineProperty(this, "path", {
24299			get: function() {
24300				return f$1.path;
24301			},
24302			set: function(t$1) {
24303				f$1.path = t$1;
24304			}
24305		});
24306		var c$2 = [];
24307		Object.defineProperty(this, "ctxStack", {
24308			get: function() {
24309				return c$2;
24310			},
24311			set: function(t$1) {
24312				c$2 = t$1;
24313			}
24314		}), Object.defineProperty(this, "fillStyle", {
24315			get: function() {
24316				return this.ctx.fillStyle;
24317			},
24318			set: function(t$1) {
24319				var e$2 = g$1(t$1);
24320				this.ctx.fillStyle = e$2.style, this.ctx.isFillTransparent = 0 === e$2.a, this.ctx.fillOpacity = e$2.a, this.pdf.setFillColor(e$2.r, e$2.g, e$2.b, { a: e$2.a }), this.pdf.setTextColor(e$2.r, e$2.g, e$2.b, { a: e$2.a });
24321			}
24322		}), Object.defineProperty(this, "strokeStyle", {
24323			get: function() {
24324				return this.ctx.strokeStyle;
24325			},
24326			set: function(t$1) {
24327				var e$2 = g$1(t$1);
24328				this.ctx.strokeStyle = e$2.style, this.ctx.isStrokeTransparent = 0 === e$2.a, this.ctx.strokeOpacity = e$2.a, 0 === e$2.a ? this.pdf.setDrawColor(255, 255, 255) : (e$2.a, this.pdf.setDrawColor(e$2.r, e$2.g, e$2.b));
24329			}
24330		}), Object.defineProperty(this, "lineCap", {
24331			get: function() {
24332				return this.ctx.lineCap;
24333			},
24334			set: function(t$1) {
24335				-1 !== [
24336					"butt",
24337					"round",
24338					"square"
24339				].indexOf(t$1) && (this.ctx.lineCap = t$1, this.pdf.setLineCap(t$1));
24340			}
24341		}), Object.defineProperty(this, "lineWidth", {
24342			get: function() {
24343				return this.ctx.lineWidth;
24344			},
24345			set: function(t$1) {
24346				isNaN(t$1) || (this.ctx.lineWidth = t$1, this.pdf.setLineWidth(t$1));
24347			}
24348		}), Object.defineProperty(this, "lineJoin", {
24349			get: function() {
24350				return this.ctx.lineJoin;
24351			},
24352			set: function(t$1) {
24353				-1 !== [
24354					"bevel",
24355					"round",
24356					"miter"
24357				].indexOf(t$1) && (this.ctx.lineJoin = t$1, this.pdf.setLineJoin(t$1));
24358			}
24359		}), Object.defineProperty(this, "miterLimit", {
24360			get: function() {
24361				return this.ctx.miterLimit;
24362			},
24363			set: function(t$1) {
24364				isNaN(t$1) || (this.ctx.miterLimit = t$1, this.pdf.setMiterLimit(t$1));
24365			}
24366		}), Object.defineProperty(this, "textBaseline", {
24367			get: function() {
24368				return this.ctx.textBaseline;
24369			},
24370			set: function(t$1) {
24371				this.ctx.textBaseline = t$1;
24372			}
24373		}), Object.defineProperty(this, "textAlign", {
24374			get: function() {
24375				return this.ctx.textAlign;
24376			},
24377			set: function(t$1) {
24378				-1 !== [
24379					"right",
24380					"end",
24381					"center",
24382					"left",
24383					"start"
24384				].indexOf(t$1) && (this.ctx.textAlign = t$1);
24385			}
24386		});
24387		var l$2 = null, h$1 = null;
24388		var p$2 = null;
24389		Object.defineProperty(this, "fontFaces", {
24390			get: function() {
24391				return p$2;
24392			},
24393			set: function(t$1) {
24394				l$2 = null, h$1 = null, p$2 = t$1;
24395			}
24396		}), Object.defineProperty(this, "font", {
24397			get: function() {
24398				return this.ctx.font;
24399			},
24400			set: function(t$1) {
24401				var e$2;
vendor: 4,742 bytes, lines 24402-24506
24402				if (this.ctx.font = t$1, null !== (e$2 = /^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-_,\"\'\sa-z0-9]+?)\s*$/i.exec(t$1))) {
24403					var n$2 = e$2[1];
24404					e$2[2];
24405					var r$2 = e$2[3], i$4 = e$2[4];
24406					e$2[5];
24407					var a$3 = e$2[6], o$2 = /^([.\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i$4)[2];
24408					i$4 = "px" === o$2 ? Math.floor(parseFloat(i$4) * this.pdf.internal.scaleFactor) : "em" === o$2 ? Math.floor(parseFloat(i$4) * this.pdf.getFontSize()) : Math.floor(parseFloat(i$4) * this.pdf.internal.scaleFactor), this.pdf.setFontSize(i$4);
24409					var s$3 = function(t$2) {
24410						var e$3, n$3, r$3 = [], i$5 = t$2.trim();
24411						if ("" === i$5) return Jt;
24412						if (i$5 in Mt) return [Mt[i$5]];
24413						for (; "" !== i$5;) {
24414							switch (n$3 = null, e$3 = (i$5 = Et(i$5)).charAt(0)) {
24415								case "\"":
24416								case "'":
24417									n$3 = Rt(i$5.substring(1), e$3);
24418									break;
24419								default: n$3 = Dt(i$5);
24420							}
24421							if (null === n$3) return Jt;
24422							if (r$3.push(n$3[0]), "" !== (i$5 = Et(n$3[1])) && "," !== i$5.charAt(0)) return Jt;
24423							i$5 = i$5.replace(/^,/, "");
24424						}
24425						return r$3;
24426					}(a$3);
24427					if (this.fontFaces) {
24428						var u$3 = function(t$2, e$3) {
24429							var n$3 = t$2.getFontList(), r$3 = JSON.stringify(n$3);
24430							if (null === l$2 || h$1 !== r$3) l$2 = function(t$3) {
24431								for (var e$4 = {}, n$4 = 0; n$4 < t$3.length; ++n$4) {
24432									var r$4 = Ct(t$3[n$4]), i$5 = r$4.family, a$4 = r$4.stretch, o$3 = r$4.style, s$4 = r$4.weight;
24433									e$4[i$5] = e$4[i$5] || {}, e$4[i$5][a$4] = e$4[i$5][a$4] || {}, e$4[i$5][a$4][o$3] = e$4[i$5][a$4][o$3] || {}, e$4[i$5][a$4][o$3][s$4] = r$4;
24434								}
24435								return e$4;
24436							}(function(t$3) {
24437								var e$4 = [];
24438								return Object.keys(t$3).forEach(function(n$4) {
24439									t$3[n$4].forEach(function(t$4) {
24440										var r$4 = null;
24441										switch (t$4) {
24442											case "bold":
24443												r$4 = {
24444													family: n$4,
24445													weight: "bold"
24446												};
24447												break;
24448											case "italic":
24449												r$4 = {
24450													family: n$4,
24451													style: "italic"
24452												};
24453												break;
24454											case "bolditalic":
24455												r$4 = {
24456													family: n$4,
24457													weight: "bold",
24458													style: "italic"
24459												};
24460												break;
24461											case "":
24462											case "normal": r$4 = { family: n$4 };
24463										}
24464										null !== r$4 && (r$4.ref = {
24465											name: n$4,
24466											style: t$4
24467										}, e$4.push(r$4));
24468									});
24469								}), e$4;
24470							}(n$3).concat(e$3)), h$1 = r$3;
24471							return l$2;
24472						}(this.pdf, this.fontFaces), c$3 = s$3.map(function(t$2) {
24473							return {
24474								family: t$2,
24475								stretch: "normal",
24476								weight: r$2,
24477								style: n$2
24478							};
24479						}), f$2 = function(t$2, e$3, n$3) {
24480							for (var r$3 = (n$3 = n$3 || {}).defaultFontFamily || "times", i$5 = Object.assign({}, Bt, n$3.genericFontFamilies || {}), a$4 = null, o$3 = null, s$4 = 0; s$4 < e$3.length; ++s$4) if (i$5[(a$4 = Ct(e$3[s$4])).family] && (a$4.family = i$5[a$4.family]), t$2.hasOwnProperty(a$4.family)) {
24481								o$3 = t$2[a$4.family];
24482								break;
24483							}
24484							if (!(o$3 = o$3 || t$2[r$3])) throw new Error("Could not find a font-family for the rule '" + qt(a$4) + "' and default family '" + r$3 + "'.");
24485							if (o$3 = function(t$3, e$4) {
24486								if (e$4[t$3]) return e$4[t$3];
24487								var n$4 = Ft[t$3], r$4 = n$4 <= Ft.normal ? -1 : 1, i$6 = Ot(e$4, kt, n$4, r$4);
24488								if (!i$6) throw new Error("Could not find a matching font-stretch value for " + t$3);
24489								return i$6;
24490							}(a$4.stretch, o$3), o$3 = function(t$3, e$4) {
24491								if (e$4[t$3]) return e$4[t$3];
24492								for (var n$4 = Pt[t$3], r$4 = 0; r$4 < n$4.length; ++r$4) if (e$4[n$4[r$4]]) return e$4[n$4[r$4]];
24493								throw new Error("Could not find a matching font-style for " + t$3);
24494							}(a$4.style, o$3), !(o$3 = function(t$3, e$4) {
24495								if (e$4[t$3]) return e$4[t$3];
24496								if (400 === t$3 && e$4[500]) return e$4[500];
24497								if (500 === t$3 && e$4[400]) return e$4[400];
24498								var n$4 = jt[t$3], r$4 = Ot(e$4, It, n$4, t$3 < 400 ? -1 : 1);
24499								if (!r$4) throw new Error("Could not find a matching font-weight for value " + t$3);
24500								return r$4;
24501							}(a$4.weight, o$3))) throw new Error("Failed to resolve a font for the rule '" + qt(a$4) + "'.");
24502							return o$3;
24503						}(u$3, c$3);
24504						this.pdf.setFont(f$2.ref.name, f$2.ref.style);
24505					} else {
24506						var d$2 = "";
24507						("bold" === r$2 || parseInt(r$2, 10) >= 700 || "bold" === n$2) && (d$2 = "bold"), "italic" === n$2 && (d$2 += "italic"), 0 === d$2.length && (d$2 = "normal");
24508						for (var p$3 = "", g$2 = {
24509							arial: "Helvetica",
24510							Arial: "Helvetica",
24511							verdana: "Helvetica",
24512							Verdana: "Helvetica",
24513							helvetica: "Helvetica",
24514							Helvetica: "Helvetica",
24515							"sans-serif": "Helvetica",
24516							fixed: "Courier",
24517							monospace: "Courier",
24518							terminal: "Courier",
24519							cursive: "Times",
24520							fantasy: "Times",
24521							serif: "Times"
24522						}, m$2 = 0; m$2 < s$3.length; m$2++) {
24523							if (void 0 !== this.pdf.internal.getFont(s$3[m$2], d$2, {
24524								noFallback: !0,
24525								disableWarning: !0
24526							})) {
24527								p$3 = s$3[m$2];
24528								break;
24529							}
24530							if ("bolditalic" === d$2 && void 0 !== this.pdf.internal.getFont(s$3[m$2], "bold", {
24531								noFallback: !0,
24532								disableWarning: !0
24533							})) p$3 = s$3[m$2], d$2 = "bold";
24534							else if (void 0 !== this.pdf.internal.getFont(s$3[m$2], "normal", {
24535								noFallback: !0,
24536								disableWarning: !0
24537							})) {
24538								p$3 = s$3[m$2], d$2 = "normal";
24539								break;
24540							}
24541						}
24542						if ("" === p$3) {
24543							for (var v$2 = 0; v$2 < s$3.length; v$2++) if (g$2[s$3[v$2]]) {
24544								p$3 = g$2[s$3[v$2]];
24545								break;
24546							}
24547						}
24548						p$3 = "" === p$3 ? "Times" : p$3, this.pdf.setFont(p$3, d$2);
24549					}
24550				}
24551			}
24552		}), Object.defineProperty(this, "globalCompositeOperation", {
24553			get: function() {
24554				return this.ctx.globalCompositeOperation;
24555			},
24556			set: function(t$1) {
24557				this.ctx.globalCompositeOperation = t$1;
24558			}
24559		}), Object.defineProperty(this, "globalAlpha", {
24560			get: function() {
24561				return this.ctx.globalAlpha;
24562			},
24563			set: function(t$1) {
24564				this.ctx.globalAlpha = t$1;
24565			}
24566		}), Object.defineProperty(this, "lineDashOffset", {
24567			get: function() {
24568				return this.ctx.lineDashOffset;
24569			},
24570			set: function(t$1) {
24571				this.ctx.lineDashOffset = t$1, T$1.call(this);
24572			}
24573		}), Object.defineProperty(this, "lineDash", {
24574			get: function() {
24575				return this.ctx.lineDash;
24576			},
24577			set: function(t$1) {
24578				this.ctx.lineDash = t$1, T$1.call(this);
24579			}
24580		}), Object.defineProperty(this, "ignoreClearRect", {
24581			get: function() {
24582				return this.ctx.ignoreClearRect;
24583			},
24584			set: function(t$1) {
24585				this.ctx.ignoreClearRect = Boolean(t$1);
24586			}
24587		});
24588	};
24589	p$1.prototype.setLineDash = function(t) {
24590		this.lineDash = t;
24591	}, p$1.prototype.getLineDash = function() {
24592		return this.lineDash.length % 2 ? this.lineDash.concat(this.lineDash) : this.lineDash.slice();
24593	}, p$1.prototype.fill = function() {
24594		x$2.call(this, "fill", !1);
24595	}, p$1.prototype.stroke = function() {
24596		x$2.call(this, "stroke", !1);
24597	}, p$1.prototype.beginPath = function() {
24598		this.path = [{ type: "begin" }];
24599	}, p$1.prototype.moveTo = function(t, e$1) {
24600		if (isNaN(t) || isNaN(e$1)) throw o.error("jsPDF.context2d.moveTo: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.moveTo");
24601		var n$1 = this.ctx.transform.applyToPoint(new u$1(t, e$1));
24602		this.path.push({
24603			type: "mt",
24604			x: n$1.x,
24605			y: n$1.y
24606		}), this.ctx.lastPoint = new u$1(t, e$1);
24607	}, p$1.prototype.closePath = function() {
24608		var e$1 = new u$1(0, 0), n$1 = 0;
24609		for (n$1 = this.path.length - 1; -1 !== n$1; n$1--) if ("begin" === this.path[n$1].type && "object" === _typeof(this.path[n$1 + 1]) && "number" == typeof this.path[n$1 + 1].x) {
24610			e$1 = new u$1(this.path[n$1 + 1].x, this.path[n$1 + 1].y);
24611			break;
24612		}
24613		this.path.push({ type: "close" }), this.ctx.lastPoint = new u$1(e$1.x, e$1.y);
24614	}, p$1.prototype.lineTo = function(t, e$1) {
24615		if (isNaN(t) || isNaN(e$1)) throw o.error("jsPDF.context2d.lineTo: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.lineTo");
24616		var n$1 = this.ctx.transform.applyToPoint(new u$1(t, e$1));
24617		this.path.push({
24618			type: "lt",
24619			x: n$1.x,
24620			y: n$1.y
24621		}), this.ctx.lastPoint = new u$1(n$1.x, n$1.y);
24622	}, p$1.prototype.clip = function() {
24623		this.ctx.clip_path = JSON.parse(JSON.stringify(this.path)), x$2.call(this, null, !0);
24624	}, p$1.prototype.quadraticCurveTo = function(t, e$1, n$1, r$1) {
24625		if (isNaN(n$1) || isNaN(r$1) || isNaN(t) || isNaN(e$1)) throw o.error("jsPDF.context2d.quadraticCurveTo: Invalid arguments", arguments), /* @__P
vendor: 6,532 bytes, lines 24625-24730
24625URE__ */ new Error("Invalid arguments passed to jsPDF.context2d.quadraticCurveTo");
24626		var i$3 = this.ctx.transform.applyToPoint(new u$1(n$1, r$1)), a$2 = this.ctx.transform.applyToPoint(new u$1(t, e$1));
24627		this.path.push({
24628			type: "qct",
24629			x1: a$2.x,
24630			y1: a$2.y,
24631			x: i$3.x,
24632			y: i$3.y
24633		}), this.ctx.lastPoint = new u$1(i$3.x, i$3.y);
24634	}, p$1.prototype.bezierCurveTo = function(t, e$1, n$1, r$1, i$3, a$2) {
24635		if (isNaN(i$3) || isNaN(a$2) || isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1)) throw o.error("jsPDF.context2d.bezierCurveTo: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.bezierCurveTo");
24636		var s$2 = this.ctx.transform.applyToPoint(new u$1(i$3, a$2)), c$2 = this.ctx.transform.applyToPoint(new u$1(t, e$1)), l$2 = this.ctx.transform.applyToPoint(new u$1(n$1, r$1));
24637		this.path.push({
24638			type: "bct",
24639			x1: c$2.x,
24640			y1: c$2.y,
24641			x2: l$2.x,
24642			y2: l$2.y,
24643			x: s$2.x,
24644			y: s$2.y
24645		}), this.ctx.lastPoint = new u$1(s$2.x, s$2.y);
24646	}, p$1.prototype.arc = function(t, e$1, n$1, r$1, i$3, a$2) {
24647		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1) || isNaN(i$3)) throw o.error("jsPDF.context2d.arc: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.arc");
24648		if (a$2 = Boolean(a$2), !this.ctx.transform.isIdentity) {
24649			var s$2 = this.ctx.transform.applyToPoint(new u$1(t, e$1));
24650			t = s$2.x, e$1 = s$2.y;
24651			var c$2 = this.ctx.transform.applyToPoint(new u$1(0, n$1)), l$2 = this.ctx.transform.applyToPoint(new u$1(0, 0));
24652			n$1 = Math.sqrt(Math.pow(c$2.x - l$2.x, 2) + Math.pow(c$2.y - l$2.y, 2));
24653		}
24654		Math.abs(i$3 - r$1) >= 2 * Math.PI && (r$1 = 0, i$3 = 2 * Math.PI), this.path.push({
24655			type: "arc",
24656			x: t,
24657			y: e$1,
24658			radius: n$1,
24659			startAngle: r$1,
24660			endAngle: i$3,
24661			counterclockwise: a$2
24662		});
24663	}, p$1.prototype.arcTo = function(t, e$1, n$1, r$1, i$3) {
24664		throw new Error("arcTo not implemented.");
24665	}, p$1.prototype.rect = function(t, e$1, n$1, r$1) {
24666		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1)) throw o.error("jsPDF.context2d.rect: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.rect");
24667		this.moveTo(t, e$1), this.lineTo(t + n$1, e$1), this.lineTo(t + n$1, e$1 + r$1), this.lineTo(t, e$1 + r$1), this.lineTo(t, e$1), this.lineTo(t + n$1, e$1), this.lineTo(t, e$1);
24668	}, p$1.prototype.fillRect = function(t, e$1, n$1, r$1) {
24669		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1)) throw o.error("jsPDF.context2d.fillRect: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.fillRect");
24670		if (!m$1.call(this)) {
24671			var i$3 = {};
24672			"butt" !== this.lineCap && (i$3.lineCap = this.lineCap, this.lineCap = "butt"), "miter" !== this.lineJoin && (i$3.lineJoin = this.lineJoin, this.lineJoin = "miter"), this.beginPath(), this.rect(t, e$1, n$1, r$1), this.fill(), i$3.hasOwnProperty("lineCap") && (this.lineCap = i$3.lineCap), i$3.hasOwnProperty("lineJoin") && (this.lineJoin = i$3.lineJoin);
24673		}
24674	}, p$1.prototype.strokeRect = function(t, e$1, n$1, r$1) {
24675		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1)) throw o.error("jsPDF.context2d.strokeRect: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.strokeRect");
24676		v$1.call(this) || (this.beginPath(), this.rect(t, e$1, n$1, r$1), this.stroke());
24677	}, p$1.prototype.clearRect = function(t, e$1, n$1, r$1) {
24678		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1)) throw o.error("jsPDF.context2d.clearRect: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.clearRect");
24679		this.ignoreClearRect || (this.fillStyle = "#ffffff", this.fillRect(t, e$1, n$1, r$1));
24680	}, p$1.prototype.save = function(t) {
24681		t = "boolean" != typeof t || t;
24682		for (var e$1 = this.pdf.internal.getCurrentPageInfo().pageNumber, n$1 = 0; n$1 < this.pdf.internal.getNumberOfPages(); n$1++) this.pdf.setPage(n$1 + 1), this.pdf.internal.out("q");
24683		if (this.pdf.setPage(e$1), t) {
24684			this.ctx.fontSize = this.pdf.internal.getFontSize();
24685			var r$1 = new d$1(this.ctx);
24686			this.ctxStack.push(this.ctx), this.ctx = r$1;
24687		}
24688	}, p$1.prototype.restore = function(t) {
24689		t = "boolean" != typeof t || t;
24690		for (var e$1 = this.pdf.internal.getCurrentPageInfo().pageNumber, n$1 = 0; n$1 < this.pdf.internal.getNumberOfPages(); n$1++) this.pdf.setPage(n$1 + 1), this.pdf.internal.out("Q");
24691		this.pdf.setPage(e$1), t && 0 !== this.ctxStack.length && (this.ctx = this.ctxStack.pop(), this.fillStyle = this.ctx.fillStyle, this.strokeStyle = this.ctx.strokeStyle, this.font = this.ctx.font, this.lineCap = this.ctx.lineCap, this.lineWidth = this.ctx.lineWidth, this.lineJoin = this.ctx.lineJoin, this.lineDash = this.ctx.lineDash, this.lineDashOffset = this.ctx.lineDashOffset);
24692	}, p$1.prototype.toDataURL = function() {
24693		throw new Error("toDataUrl not implemented.");
24694	};
24695	var g$1 = function(t) {
24696		var e$1, n$1, r$1, i$3;
24697		if (!0 === t.isCanvasGradient && (t = t.getColor()), !t) return {
24698			r: 0,
24699			g: 0,
24700			b: 0,
24701			a: 0,
24702			style: t
24703		};
24704		if (/transparent|rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*0+\s*\)/.test(t)) e$1 = 0, n$1 = 0, r$1 = 0, i$3 = 0;
24705		else {
24706			var a$2 = /rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/.exec(t);
24707			if (null !== a$2) e$1 = parseInt(a$2[1]), n$1 = parseInt(a$2[2]), r$1 = parseInt(a$2[3]), i$3 = 1;
24708			else if (null !== (a$2 = /rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)/.exec(t))) e$1 = parseInt(a$2[1]), n$1 = parseInt(a$2[2]), r$1 = parseInt(a$2[3]), i$3 = parseFloat(a$2[4]);
24709			else {
24710				if (i$3 = 1, "string" == typeof t && "#" !== t.charAt(0)) {
24711					var o$1 = new h(t);
24712					t = o$1.ok ? o$1.toHex() : "#000000";
24713				}
24714				4 === t.length ? (e$1 = t.substring(1, 2), e$1 += e$1, n$1 = t.substring(2, 3), n$1 += n$1, r$1 = t.substring(3, 4), r$1 += r$1) : (e$1 = t.substring(1, 3), n$1 = t.substring(3, 5), r$1 = t.substring(5, 7)), e$1 = parseInt(e$1, 16), n$1 = parseInt(n$1, 16), r$1 = parseInt(r$1, 16);
24715			}
24716		}
24717		return {
24718			r: e$1,
24719			g: n$1,
24720			b: r$1,
24721			a: i$3,
24722			style: t
24723		};
24724	}, m$1 = function() {
24725		return this.ctx.isFillTransparent || 0 == this.globalAlpha;
24726	}, v$1 = function() {
24727		return Boolean(this.ctx.isStrokeTransparent || 0 == this.globalAlpha);
24728	};
24729	p$1.prototype.fillText = function(t, e$1, n$1, r$1) {
24730		if (isNaN(e$1) || isNaN(n$1) || "string" != typeof t) throw o.error("jsPDF.context2d.fillText: Invalid arguments", arguments), /* @__P
vendor: 22,281 bytes, lines 24730-25106
24730URE__ */ new Error("Invalid arguments passed to jsPDF.context2d.fillText");
24731		if (r$1 = isNaN(r$1) ? void 0 : r$1, !m$1.call(this)) {
24732			var i$3 = E$1(this.ctx.transform.rotation), a$2 = this.ctx.transform.scaleX;
24733			j$1.call(this, {
24734				text: t,
24735				x: e$1,
24736				y: n$1,
24737				scale: a$2,
24738				angle: i$3,
24739				align: this.textAlign,
24740				maxWidth: r$1
24741			});
24742		}
24743	}, p$1.prototype.strokeText = function(t, e$1, n$1, r$1) {
24744		if (isNaN(e$1) || isNaN(n$1) || "string" != typeof t) throw o.error("jsPDF.context2d.strokeText: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.strokeText");
24745		if (!v$1.call(this)) {
24746			r$1 = isNaN(r$1) ? void 0 : r$1;
24747			var i$3 = E$1(this.ctx.transform.rotation), a$2 = this.ctx.transform.scaleX;
24748			j$1.call(this, {
24749				text: t,
24750				x: e$1,
24751				y: n$1,
24752				scale: a$2,
24753				renderingMode: "stroke",
24754				angle: i$3,
24755				align: this.textAlign,
24756				maxWidth: r$1
24757			});
24758		}
24759	}, p$1.prototype.measureText = function(t) {
24760		if ("string" != typeof t) throw o.error("jsPDF.context2d.measureText: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.measureText");
24761		var e$1 = this.pdf, n$1 = this.pdf.internal.scaleFactor, r$1 = e$1.internal.getFontSize(), i$3 = e$1.getStringUnitWidth(t) * r$1 / e$1.internal.scaleFactor;
24762		return new function(t$1) {
24763			var e$2 = (t$1 = t$1 || {}).width || 0;
24764			return Object.defineProperty(this, "width", { get: function() {
24765				return e$2;
24766			} }), this;
24767		}({ width: i$3 *= Math.round(96 * n$1 / 72 * 1e4) / 1e4 });
24768	}, p$1.prototype.scale = function(t, e$1) {
24769		if (isNaN(t) || isNaN(e$1)) throw o.error("jsPDF.context2d.scale: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.scale");
24770		var n$1 = new l$1(t, 0, 0, e$1, 0, 0);
24771		this.ctx.transform = this.ctx.transform.multiply(n$1);
24772	}, p$1.prototype.rotate = function(t) {
24773		if (isNaN(t)) throw o.error("jsPDF.context2d.rotate: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.rotate");
24774		var e$1 = new l$1(Math.cos(t), Math.sin(t), -Math.sin(t), Math.cos(t), 0, 0);
24775		this.ctx.transform = this.ctx.transform.multiply(e$1);
24776	}, p$1.prototype.translate = function(t, e$1) {
24777		if (isNaN(t) || isNaN(e$1)) throw o.error("jsPDF.context2d.translate: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.translate");
24778		var n$1 = new l$1(1, 0, 0, 1, t, e$1);
24779		this.ctx.transform = this.ctx.transform.multiply(n$1);
24780	}, p$1.prototype.transform = function(t, e$1, n$1, r$1, i$3, a$2) {
24781		if (isNaN(t) || isNaN(e$1) || isNaN(n$1) || isNaN(r$1) || isNaN(i$3) || isNaN(a$2)) throw o.error("jsPDF.context2d.transform: Invalid arguments", arguments), /* @__PURE__ */ new Error("Invalid arguments passed to jsPDF.context2d.transform");
24782		var s$2 = new l$1(t, e$1, n$1, r$1, i$3, a$2);
24783		this.ctx.transform = this.ctx.transform.multiply(s$2);
24784	}, p$1.prototype.setTransform = function(t, e$1, n$1, r$1, i$3, a$2) {
24785		t = isNaN(t) ? 1 : t, e$1 = isNaN(e$1) ? 0 : e$1, n$1 = isNaN(n$1) ? 0 : n$1, r$1 = isNaN(r$1) ? 1 : r$1, i$3 = isNaN(i$3) ? 0 : i$3, a$2 = isNaN(a$2) ? 0 : a$2, this.ctx.transform = new l$1(t, e$1, n$1, r$1, i$3, a$2);
24786	};
24787	var b$1 = function() {
24788		return this.margin[0] > 0 || this.margin[1] > 0 || this.margin[2] > 0 || this.margin[3] > 0;
24789	};
24790	p$1.prototype.drawImage = function(t, e$1, n$1, r$1, i$3, a$2, o$1, s$2, u$2) {
24791		var h$1 = this.pdf.getImageProperties(t), f$2 = 1, d$2 = 1, p$2 = 1, g$2 = 1;
24792		void 0 !== r$1 && void 0 !== s$2 && (p$2 = s$2 / r$1, g$2 = u$2 / i$3, f$2 = h$1.width / r$1 * s$2 / r$1, d$2 = h$1.height / i$3 * u$2 / i$3), void 0 === a$2 && (a$2 = e$1, o$1 = n$1, e$1 = 0, n$1 = 0), void 0 !== r$1 && void 0 === s$2 && (s$2 = r$1, u$2 = i$3), void 0 === r$1 && void 0 === s$2 && (s$2 = h$1.width, u$2 = h$1.height);
24793		var m$2 = this.ctx.transform.decompose(), v$2 = E$1(m$2.rotate.shx), w$2 = new l$1(), x$3 = (w$2 = (w$2 = (w$2 = w$2.multiply(m$2.translate)).multiply(m$2.skew)).multiply(m$2.scale)).applyToRectangle(new c$1(a$2 - e$1 * p$2, o$1 - n$1 * g$2, r$1 * f$2, i$3 * d$2));
24794		if (this.autoPaging) {
24795			for (var S$2, _$2 = y$1.call(this, x$3), P$2 = [], k$2 = 0; k$2 < _$2.length; k$2 += 1) -1 === P$2.indexOf(_$2[k$2]) && P$2.push(_$2[k$2]);
24796			L$1(P$2);
24797			for (var F$2 = P$2[0], I$2 = P$2[P$2.length - 1], j$2 = F$2; j$2 < I$2 + 1; j$2++) {
24798				this.pdf.setPage(j$2);
24799				var C$2 = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1], O$2 = 1 === j$2 ? this.posY + this.margin[0] : this.margin[0], B$2 = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2], M$2 = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2], q$2 = 1 === j$2 ? 0 : B$2 + (j$2 - 2) * M$2;
24800				if (0 !== this.ctx.clip_path.length) {
24801					var R$2 = this.path;
24802					S$2 = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = N$1(S$2, this.posX + this.margin[3], -q$2 + O$2 + this.ctx.prevPageLastElemOffset), A$1.call(this, "fill", !0), this.path = R$2;
24803				}
24804				var D$2 = JSON.parse(JSON.stringify(x$3));
24805				D$2 = N$1([D$2], this.posX + this.margin[3], -q$2 + O$2 + this.ctx.prevPageLastElemOffset)[0];
24806				var T$2 = (j$2 > F$2 || j$2 < I$2) && b$1.call(this);
24807				T$2 && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], C$2, M$2, null).clip().discardPath()), this.pdf.addImage(t, "JPEG", D$2.x, D$2.y, D$2.w, D$2.h, null, null, v$2), T$2 && this.pdf.restoreGraphicsState();
24808			}
24809		} else this.pdf.addImage(t, "JPEG", x$3.x, x$3.y, x$3.w, x$3.h, null, null, v$2);
24810	};
24811	var y$1 = function(t, e$1, n$1) {
24812		var r$1 = [];
24813		e$1 = e$1 || this.pdf.internal.pageSize.width, n$1 = n$1 || this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];
24814		var i$3 = this.posY + this.ctx.prevPageLastElemOffset;
24815		switch (t.type) {
24816			default:
24817			case "mt":
24818			case "lt":
24819				r$1.push(Math.floor((t.y + i$3) / n$1) + 1);
24820				break;
24821			case "arc":
24822				r$1.push(Math.floor((t.y + i$3 - t.radius) / n$1) + 1), r$1.push(Math.floor((t.y + i$3 + t.radius) / n$1) + 1);
24823				break;
24824			case "qct":
24825				var a$2 = R$1(this.ctx.lastPoint.x, this.ctx.lastPoint.y, t.x1, t.y1, t.x, t.y);
24826				r$1.push(Math.floor((a$2.y + i$3) / n$1) + 1), r$1.push(Math.floor((a$2.y + a$2.h + i$3) / n$1) + 1);
24827				break;
24828			case "bct":
24829				var o$1 = D$1(this.ctx.lastPoint.x, this.ctx.lastPoint.y, t.x1, t.y1, t.x2, t.y2, t.x, t.y);
24830				r$1.push(Math.floor((o$1.y + i$3) / n$1) + 1), r$1.push(Math.floor((o$1.y + o$1.h + i$3) / n$1) + 1);
24831				break;
24832			case "rect": r$1.push(Math.floor((t.y + i$3) / n$1) + 1), r$1.push(Math.floor((t.y + t.h + i$3) / n$1) + 1);
24833		}
24834		for (var s$2 = 0; s$2 < r$1.length; s$2 += 1) for (; this.pdf.internal.getNumberOfPages() < r$1[s$2];) w$1.call(this);
24835		return r$1;
24836	}, w$1 = function() {
24837		var t = this.fillStyle, e$1 = this.strokeStyle, n$1 = this.font, r$1 = this.lineCap, i$3 = this.lineWidth, a$2 = this.lineJoin;
24838		this.pdf.addPage(), this.fillStyle = t, this.strokeStyle = e$1, this.font = n$1, this.lineCap = r$1, this.lineWidth = i$3, this.lineJoin = a$2;
24839	}, N$1 = function(t, e$1, n$1) {
24840		for (var r$1 = 0; r$1 < t.length; r$1++) switch (t[r$1].type) {
24841			case "bct": t[r$1].x2 += e$1, t[r$1].y2 += n$1;
24842			case "qct": t[r$1].x1 += e$1, t[r$1].y1 += n$1;
24843			default: t[r$1].x += e$1, t[r$1].y += n$1;
24844		}
24845		return t;
24846	}, L$1 = function(t) {
24847		return t.sort(function(t$1, e$1) {
24848			return t$1 - e$1;
24849		});
24850	}, x$2 = function(t, e$1) {
24851		var n$1 = this.fillStyle, r$1 = this.strokeStyle, i$3 = this.lineCap, a$2 = this.lineWidth, o$1 = Math.abs(a$2 * this.ctx.transform.scaleX), s$2 = this.lineJoin;
24852		if (this.autoPaging) {
24853			for (var u$2, c$2, l$2 = JSON.parse(JSON.stringify(this.path)), h$1 = JSON.parse(JSON.stringify(this.path)), f$2 = [], d$2 = 0; d$2 < h$1.length; d$2++) if (void 0 !== h$1[d$2].x) for (var p$2 = y$1.call(this, h$1[d$2]), g$2 = 0; g$2 < p$2.length; g$2 += 1) -1 === f$2.indexOf(p$2[g$2]) && f$2.push(p$2[g$2]);
24854			for (var m$2 = 0; m$2 < f$2.length; m$2++) for (; this.pdf.internal.getNumberOfPages() < f$2[m$2];) w$1.call(this);
24855			L$1(f$2);
24856			for (var v$2 = f$2[0], x$3 = f$2[f$2.length - 1], S$2 = v$2; S$2 < x$3 + 1; S$2++) {
24857				this.pdf.setPage(S$2), this.fillStyle = n$1, this.strokeStyle = r$1, this.lineCap = i$3, this.lineWidth = o$1, this.lineJoin = s$2;
24858				var _$2 = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1], P$2 = 1 === S$2 ? this.posY + this.margin[0] : this.margin[0], k$2 = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2], F$2 = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2], I$2 = 1 === S$2 ? 0 : k$2 + (S$2 - 2) * F$2;
24859				if (0 !== this.ctx.clip_path.length) {
24860					var j$2 = this.path;
24861					u$2 = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = N$1(u$2, this.posX + this.margin[3], -I$2 + P$2 + this.ctx.prevPageLastElemOffset), A$1.call(this, t, !0), this.path = j$2;
24862				}
24863				if (c$2 = JSON.parse(JSON.stringify(l$2)), this.path = N$1(c$2, this.posX + this.margin[3], -I$2 + P$2 + this.ctx.prevPageLastElemOffset), !1 === e$1 || 0 === S$2) {
24864					var C$2 = (S$2 > v$2 || S$2 < x$3) && b$1.call(this);
24865					C$2 && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], _$2, F$2, null).clip().discardPath()), A$1.call(this, t, e$1), C$2 && this.pdf.restoreGraphicsState();
24866				}
24867				this.lineWidth = a$2;
24868			}
24869			this.path = l$2;
24870		} else this.lineWidth = o$1, A$1.call(this, t, e$1), this.lineWidth = a$2;
24871	}, A$1 = function(t, e$1) {
24872		if (("stroke" !== t || e$1 || !v$1.call(this)) && ("stroke" === t || e$1 || !m$1.call(this))) {
24873			for (var n$1, r$1, i$3 = [], a$2 = this.path, o$1 = 0; o$1 < a$2.length; o$1++) {
24874				var s$2 = a$2[o$1];
24875				switch (s$2.type) {
24876					case "begin":
24877						i$3.push({ begin: !0 });
24878						break;
24879					case "close":
24880						i$3.push({ close: !0 });
24881						break;
24882					case "mt":
24883						i$3.push({
24884							start: s$2,
24885							deltas: [],
24886							abs: []
24887						});
24888						break;
24889					case "lt":
24890						var u$2 = i$3.length;
24891						if (a$2[o$1 - 1] && !isNaN(a$2[o$1 - 1].x) && (n$1 = [s$2.x - a$2[o$1 - 1].x, s$2.y - a$2[o$1 - 1].y], u$2 > 0)) {
24892							for (; u$2 >= 0; u$2--) if (!0 !== i$3[u$2 - 1].close && !0 !== i$3[u$2 - 1].begin) {
24893								i$3[u$2 - 1].deltas.push(n$1), i$3[u$2 - 1].abs.push(s$2);
24894								break;
24895							}
24896						}
24897						break;
24898					case "bct":
24899						n$1 = [
24900							s$2.x1 - a$2[o$1 - 1].x,
24901							s$2.y1 - a$2[o$1 - 1].y,
24902							s$2.x2 - a$2[o$1 - 1].x,
24903							s$2.y2 - a$2[o$1 - 1].y,
24904							s$2.x - a$2[o$1 - 1].x,
24905							s$2.y - a$2[o$1 - 1].y
24906						], i$3[i$3.length - 1].deltas.push(n$1);
24907						break;
24908					case "qct":
24909						var c$2 = a$2[o$1 - 1].x + 2 / 3 * (s$2.x1 - a$2[o$1 - 1].x), l$2 = a$2[o$1 - 1].y + 2 / 3 * (s$2.y1 - a$2[o$1 - 1].y), h$1 = s$2.x + 2 / 3 * (s$2.x1 - s$2.x), f$2 = s$2.y + 2 / 3 * (s$2.y1 - s$2.y), d$2 = s$2.x, p$2 = s$2.y;
24910						n$1 = [
24911							c$2 - a$2[o$1 - 1].x,
24912							l$2 - a$2[o$1 - 1].y,
24913							h$1 - a$2[o$1 - 1].x,
24914							f$2 - a$2[o$1 - 1].y,
24915							d$2 - a$2[o$1 - 1].x,
24916							p$2 - a$2[o$1 - 1].y
24917						], i$3[i$3.length - 1].deltas.push(n$1);
24918						break;
24919					case "arc": i$3.push({
24920						deltas: [],
24921						abs: [],
24922						arc: !0
24923					}), Array.isArray(i$3[i$3.length - 1].abs) && i$3[i$3.length - 1].abs.push(s$2);
24924				}
24925			}
24926			r$1 = e$1 ? null : "stroke" === t ? "stroke" : "fill";
24927			for (var g$2 = !1, b$2 = 0; b$2 < i$3.length; b$2++) if (i$3[b$2].arc) for (var y$2 = i$3[b$2].abs, w$2 = 0; w$2 < y$2.length; w$2++) {
24928				var N$2 = y$2[w$2];
24929				"arc" === N$2.type ? P$1.call(this, N$2.x, N$2.y, N$2.radius, N$2.startAngle, N$2.endAngle, N$2.counterclockwise, void 0, e$1, !g$2) : C$1.call(this, N$2.x, N$2.y), g$2 = !0;
24930			}
24931			else if (!0 === i$3[b$2].close) this.pdf.internal.out("h"), g$2 = !1;
24932			else if (!0 !== i$3[b$2].begin) {
24933				var L$2 = i$3[b$2].start.x, x$3 = i$3[b$2].start.y;
24934				O$1.call(this, i$3[b$2].deltas, L$2, x$3), g$2 = !0;
24935			}
24936			r$1 && k$1.call(this, r$1), e$1 && F$1.call(this);
24937		}
24938	}, S$1 = function(t) {
24939		var e$1 = this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor, n$1 = e$1 * (this.pdf.internal.getLineHeightFactor() - 1);
24940		switch (this.ctx.textBaseline) {
24941			case "bottom": return t - n$1;
24942			case "top": return t + e$1 - n$1;
24943			case "hanging": return t + e$1 - 2 * n$1;
24944			case "middle": return t + e$1 / 2 - n$1;
24945			default: return t;
24946		}
24947	}, _$1 = function(t) {
24948		return t + this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor * (this.pdf.internal.getLineHeightFactor() - 1);
24949	};
24950	p$1.prototype.createLinearGradient = function() {
24951		var t = function() {};
24952		return t.colorStops = [], t.addColorStop = function(t$1, e$1) {
24953			this.colorStops.push([t$1, e$1]);
24954		}, t.getColor = function() {
24955			return 0 === this.colorStops.length ? "#000000" : this.colorStops[0][1];
24956		}, t.isCanvasGradient = !0, t;
24957	}, p$1.prototype.createPattern = function() {
24958		return this.createLinearGradient();
24959	}, p$1.prototype.createRadialGradient = function() {
24960		return this.createLinearGradient();
24961	};
24962	var P$1 = function(t, e$1, n$1, r$1, i$3, a$2, o$1, s$2, u$2) {
24963		for (var c$2 = M$1.call(this, n$1, r$1, i$3, a$2), l$2 = 0; l$2 < c$2.length; l$2++) {
24964			var h$1 = c$2[l$2];
24965			0 === l$2 && (u$2 ? I$1.call(this, h$1.x1 + t, h$1.y1 + e$1) : C$1.call(this, h$1.x1 + t, h$1.y1 + e$1)), B$1.call(this, t, e$1, h$1.x2, h$1.y2, h$1.x3, h$1.y3, h$1.x4, h$1.y4);
24966		}
24967		s$2 ? F$1.call(this) : k$1.call(this, o$1);
24968	}, k$1 = function(t) {
24969		switch (t) {
24970			case "stroke":
24971				this.pdf.internal.out("S");
24972				break;
24973			case "fill": this.pdf.internal.out("f");
24974		}
24975	}, F$1 = function() {
24976		this.pdf.clip(), this.pdf.discardPath();
24977	}, I$1 = function(t, e$1) {
24978		this.pdf.internal.out(r(t) + " " + i$2(e$1) + " m");
24979	}, j$1 = function(t) {
24980		var e$1;
24981		switch (t.align) {
24982			case "right":
24983			case "end":
24984				e$1 = "right";
24985				break;
24986			case "center":
24987				e$1 = "center";
24988				break;
24989			default: e$1 = "left";
24990		}
24991		var n$1, r$1, i$3, a$2 = this.pdf.getTextDimensions(t.text), o$1 = S$1.call(this, t.y), s$2 = _$1.call(this, o$1) - a$2.h, h$1 = this.ctx.transform.applyToPoint(new u$1(t.x, o$1));
24992		if (this.autoPaging) {
24993			var f$2 = this.ctx.transform.decompose(), d$2 = new l$1();
24994			d$2 = (d$2 = (d$2 = d$2.multiply(f$2.translate)).multiply(f$2.skew)).multiply(f$2.scale);
24995			for (var p$2 = this.ctx.transform.applyToRectangle(new c$1(t.x, o$1, a$2.w, a$2.h)), g$2 = d$2.applyToRectangle(new c$1(t.x, s$2, a$2.w, a$2.h)), m$2 = y$1.call(this, g$2), v$2 = [], w$2 = 0; w$2 < m$2.length; w$2 += 1) -1 === v$2.indexOf(m$2[w$2]) && v$2.push(m$2[w$2]);
24996			L$1(v$2);
24997			for (var x$3 = v$2[0], P$2 = v$2[v$2.length - 1], k$2 = x$3; k$2 < P$2 + 1; k$2++) {
24998				this.pdf.setPage(k$2);
24999				var F$2 = 1 === k$2 ? this.posY + this.margin[0] : this.margin[0], I$2 = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2], j$2 = this.pdf.internal.pageSize.height - this.margin[2], C$2 = j$2 - this.margin[0], O$2 = this.pdf.internal.pageSize.width - this.margin[1], B$2 = O$2 - this.margin[3], M$2 = 1 === k$2 ? 0 : I$2 + (k$2 - 2) * C$2;
25000				if (0 !== this.ctx.clip_path.length) {
25001					var q$2 = this.path;
25002					n$1 = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = N$1(n$1, this.posX + this.margin[3], -1 * M$2 + F$2), A$1.call(this, "fill", !0), this.path = q$2;
25003				}
25004				var E$2 = N$1([JSON.parse(JSON.stringify(g$2))], this.posX + this.margin[3], -M$2 + F$2 + this.ctx.prevPageLastElemOffset)[0];
25005				t.scale >= .01 && (r$1 = this.pdf.internal.getFontSize(), this.pdf.setFontSize(r$1 * t.scale), i$3 = this.lineWidth, this.lineWidth = i$3 * t.scale);
25006				var R$2 = "text" !== this.autoPaging;
25007				if (R$2 || E$2.y + E$2.h <= j$2) {
25008					if (R$2 || E$2.y >= F$2 && E$2.x <= O$2) {
25009						var D$2 = R$2 ? t.text : this.pdf.splitTextToSize(t.text, t.maxWidth || O$2 - E$2.x)[0], T$2 = N$1([JSON.parse(JSON.stringify(p$2))], this.posX + this.margin[3], -M$2 + F$2 + this.ctx.prevPageLastElemOffset)[0], z$1 = R$2 && (k$2 > x$3 || k$2 < P$2) && b$1.call(this);
25010						z$1 && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], B$2, C$2, null).clip().discardPath()), this.pdf.text(D$2, T$2.x, T$2.y, {
25011							angle: t.angle,
25012							align: e$1,
25013							renderingMode: t.renderingMode
25014						}), z$1 && this.pdf.restoreGraphicsState();
25015					}
25016				} else E$2.y < j$2 && (this.ctx.prevPageLastElemOffset += j$2 - E$2.y);
25017				t.scale >= .01 && (this.pdf.setFontSize(r$1), this.lineWidth = i$3);
25018			}
25019		} else t.scale >= .01 && (r$1 = this.pdf.internal.getFontSize(), this.pdf.setFontSize(r$1 * t.scale), i$3 = this.lineWidth, this.lineWidth = i$3 * t.scale), this.pdf.text(t.text, h$1.x + this.posX, h$1.y + this.posY, {
25020			angle: t.angle,
25021			align: e$1,
25022			renderingMode: t.renderingMode,
25023			maxWidth: t.maxWidth
25024		}), t.scale >= .01 && (this.pdf.setFontSize(r$1), this.lineWidth = i$3);
25025	}, C$1 = function(t, e$1, n$1, a$2) {
25026		n$1 = n$1 || 0, a$2 = a$2 || 0, this.pdf.internal.out(r(t + n$1) + " " + i$2(e$1 + a$2) + " l");
25027	}, O$1 = function(t, e$1, n$1) {
25028		return this.pdf.lines(t, e$1, n$1, null, null);
25029	}, B$1 = function(t, e$1, r$1, i$3, o$1, u$2, c$2, l$2) {
25030		this.pdf.internal.out([
25031			n(a$1(r$1 + t)),
25032			n(s$1(i$3 + e$1)),
25033			n(a$1(o$1 + t)),
25034			n(s$1(u$2 + e$1)),
25035			n(a$1(c$2 + t)),
25036			n(s$1(l$2 + e$1)),
25037			"c"
25038		].join(" "));
25039	}, M$1 = function(t, e$1, n$1, r$1) {
25040		for (var i$3 = 2 * Math.PI, a$2 = Math.PI / 2; e$1 > n$1;) e$1 -= i$3;
25041		var o$1 = Math.abs(n$1 - e$1);
25042		o$1 < i$3 && r$1 && (o$1 = i$3 - o$1);
25043		for (var s$2 = [], u$2 = r$1 ? -1 : 1, c$2 = e$1; o$1 > 1e-5;) {
25044			var l$2 = c$2 + u$2 * Math.min(o$1, a$2);
25045			s$2.push(q$1.call(this, t, c$2, l$2)), o$1 -= Math.abs(l$2 - c$2), c$2 = l$2;
25046		}
25047		return s$2;
25048	}, q$1 = function(t, e$1, n$1) {
25049		var r$1 = (n$1 - e$1) / 2, i$3 = t * Math.cos(r$1), a$2 = t * Math.sin(r$1), o$1 = i$3, s$2 = -a$2, u$2 = o$1 * o$1 + s$2 * s$2, c$2 = u$2 + o$1 * i$3 + s$2 * a$2, l$2 = 4 / 3 * (Math.sqrt(2 * u$2 * c$2) - c$2) / (o$1 * a$2 - s$2 * i$3), h$1 = o$1 - l$2 * s$2, f$2 = s$2 + l$2 * o$1, d$2 = h$1, p$2 = -f$2, g$2 = r$1 + e$1, m$2 = Math.cos(g$2), v$2 = Math.sin(g$2);
25050		return {
25051			x1: t * Math.cos(e$1),
25052			y1: t * Math.sin(e$1),
25053			x2: h$1 * m$2 - f$2 * v$2,
25054			y2: h$1 * v$2 + f$2 * m$2,
25055			x3: d$2 * m$2 - p$2 * v$2,
25056			y3: d$2 * v$2 + p$2 * m$2,
25057			x4: t * Math.cos(n$1),
25058			y4: t * Math.sin(n$1)
25059		};
25060	}, E$1 = function(t) {
25061		return 180 * t / Math.PI;
25062	}, R$1 = function(t, e$1, n$1, r$1, i$3, a$2) {
25063		var o$1 = t + .5 * (n$1 - t), s$2 = e$1 + .5 * (r$1 - e$1), u$2 = i$3 + .5 * (n$1 - i$3), l$2 = a$2 + .5 * (r$1 - a$2), h$1 = Math.min(t, i$3, o$1, u$2), f$2 = Math.max(t, i$3, o$1, u$2), d$2 = Math.min(e$1, a$2, s$2, l$2), p$2 = Math.max(e$1, a$2, s$2, l$2);
25064		return new c$1(h$1, d$2, f$2 - h$1, p$2 - d$2);
25065	}, D$1 = function(t, e$1, n$1, r$1, i$3, a$2, o$1, s$2) {
25066		var u$2, l$2, h$1, f$2, d$2, p$2, g$2, m$2, v$2, b$2, y$2, w$2, N$2, L$2, x$3 = n$1 - t, A$2 = r$1 - e$1, S$2 = i$3 - n$1, _$2 = a$2 - r$1, P$2 = o$1 - i$3, k$2 = s$2 - a$2;
25067		for (l$2 = 0; l$2 < 41; l$2++) v$2 = (g$2 = (h$1 = t + (u$2 = l$2 / 40) * x$3) + u$2 * ((d$2 = n$1 + u$2 * S$2) - h$1)) + u$2 * (d$2 + u$2 * (i$3 + u$2 * P$2 - d$2) - g$2), b$2 = (m$2 = (f$2 = e$1 + u$2 * A$2) + u$2 * ((p$2 = r$1 + u$2 * _$2) - f$2)) + u$2 * (p$2 + u$2 * (a$2 + u$2 * k$2 - p$2) - m$2), 0 == l$2 ? (y$2 = v$2, w$2 = b$2, N$2 = v$2, L$2 = b$2) : (y$2 = Math.min(y$2, v$2), w$2 = Math.min(w$2, b$2), N$2 = Math.max(N$2, v$2), L$2 = Math.max(L$2, b$2));
25068		return new c$1(Math.round(y$2), Math.round(w$2), Math.round(N$2 - y$2), Math.round(L$2 - w$2));
25069	}, T$1 = function() {
25070		if (this.prevLineDash || this.ctx.lineDash.length || this.ctx.lineDashOffset) {
25071			var t, e$1, n$1 = (t = this.ctx.lineDash, e$1 = this.ctx.lineDashOffset, JSON.stringify({
25072				lineDash: t,
25073				lineDashOffset: e$1
25074			}));
25075			this.prevLineDash !== n$1 && (this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset), this.prevLineDash = n$1);
25076		}
25077	};
25078})(E.API), function(t) {
25079	var n = function(t$1) {
25080		var e, n$1, r$1, i$3, a$2, o$2, s$1, u$1, c$1, l$1;
25081		for (/[^\x00-\xFF]/.test(t$1), n$1 = [], r$1 = 0, i$3 = (t$1 += e = "\0\0\0\0".slice(t$1.length % 4 || 4)).length; i$3 > r$1; r$1 += 4) 0 !== (a$2 = (t$1.charCodeAt(r$1) << 24) + (t$1.charCodeAt(r$1 + 1) << 16) + (t$1.charCodeAt(r$1 + 2) << 8) + t$1.charCodeAt(r$1 + 3)) ? (o$2 = (a$2 = ((a$2 = ((a$2 = ((a$2 = (a$2 - (l$1 = a$2 % 85)) / 85) - (c$1 = a$2 % 85)) / 85) - (u$1 = a$2 % 85)) / 85) - (s$1 = a$2 % 85)) / 85) % 85, n$1.push(o$2 + 33, s$1 + 33, u$1 + 33, c$1 + 33, l$1 + 33)) : n$1.push(122);
25082		return function(t$2, e$1) {
25083			for (var n$2 = e$1; n$2 > 0; n$2--) t$2.pop();
25084		}(n$1, e.length), String.fromCharCode.apply(String, n$1) + "~>";
25085	}, r = function(t$1) {
25086		var e, n$1, r$1, i$3, a$2, o$2 = String, s$1 = "length", u$1 = 255, c$1 = "charCodeAt", l$1 = "slice", h$1 = "replace";
25087		for (t$1[l$1](-2), t$1 = t$1[l$1](0, -2)[h$1](/\s/g, "")[h$1]("z", "!!!!!"), r$1 = [], i$3 = 0, a$2 = (t$1 += e = "uuuuu"[l$1](t$1[s$1] % 5 || 5))[s$1]; a$2 > i$3; i$3 += 5) n$1 = 52200625 * (t$1[c$1](i$3) - 33) + 614125 * (t$1[c$1](i$3 + 1) - 33) + 7225 * (t$1[c$1](i$3 + 2) - 33) + 85 * (t$1[c$1](i$3 + 3) - 33) + (t$1[c$1](i$3 + 4) - 33), r$1.push(u$1 & n$1 >> 24, u$1 & n$1 >> 16, u$1 & n$1 >> 8, u$1 & n$1);
25088		return function(t$2, e$1) {
25089			for (var n$2 = e$1; n$2 > 0; n$2--) t$2.pop();
25090		}(r$1, e[s$1]), o$2.fromCharCode.apply(o$2, r$1);
25091	}, i$2 = function(t$1) {
25092		return t$1.split("").map(function(t$2) {
25093			return ("0" + t$2.charCodeAt().toString(16)).slice(-2);
25094		}).join("") + ">";
25095	}, a$1 = function(t$1) {
25096		var e = /* @__PURE__ */ new RegExp(/^([0-9A-Fa-f]{2})+$/);
25097		if (-1 !== (t$1 = t$1.replace(/\s/g, "")).indexOf(">") && (t$1 = t$1.substr(0, t$1.indexOf(">"))), t$1.length % 2 && (t$1 += "0"), !1 === e.test(t$1)) return "";
25098		for (var n$1 = "", r$1 = 0; r$1 < t$1.length; r$1 += 2) n$1 += String.fromCharCode("0x" + (t$1[r$1] + t$1[r$1 + 1]));
25099		return n$1;
25100	}, o$1 = function(t$1) {
25101		for (var n$1 = new Uint8Array(t$1.length), r$1 = t$1.length; r$1--;) n$1[r$1] = t$1.charCodeAt(r$1);
25102		return (n$1 = zlibSync(n$1)).reduce(function(t$2, e) {
25103			return t$2 + String.fromCharCode(e);
25104		}, "");
25105	};
25106	t.processDataByFilters = function(t$1, e) {
25107		var s$1 = 0, u$1 = t$1 || "", c$1 = [];
25108		for ("string" == typeof (e = e || []) && (e = [e]), s$1 = 0; s$1 < e.length; s$1 += 1) switch (e[s$1]) {
25109			case "ASCII85Decode":
25110			case "/ASCII85Decode":
25111				u$1 = r(u$1), c$1.push("/ASCII85Encode");
25112				break;
25113			case "ASCII85Encode":
25114			case "/ASCII85Encode":
25115				u$1 = n(u$1), c$1.push("/ASCII85Decode");
25116				break;
25117			case "ASCIIHexDecode":
25118			case "/ASCIIHexDecode":
25119				u$1 = a$1(u$1), c$1.push("/ASCIIHexEncode");
25120				break;
25121			case "ASCIIHexEncode":
25122			case "/ASCIIHexEncode":
25123				u$1 = i$2(u$1), c$1.push("/ASCIIHexDecode");
25124				break;
25125			case "FlateEncode":
25126			case "/FlateEncode":
25127				u$1 = o$1(u$1), c$1.push("/FlateDecode");
25128				break;
25129			default: throw new Error("The filter: \"" + e[s$1] + "\" is not implemented");
25130		}
25131		return {
25132			data: u$1,
25133			reverseChain: c$1.reverse().join(" ")
25134		};
25135	};
25136}(E.API), function(t) {
25137	t.loadFile = function(t$1, e, n) {
25138		return function(t$2, e$1, n$1) {
25139			e$1 = !1 !== e$1, n$1 = "function" == typeof n$1 ? n$1 : function() {};
25140			var r = void 0;
25141			try {
25142				r = function(t$3, e$2, n$2) {
25143					var r$1 = new XMLHttpRequest(), i$2 = 0, a$1 = function(t$4) {
25144						var e$3 = t$4.length, n$3 = [], r$2 = String.fromCharCode;
25145						for (i$2 = 0; i$2 < e$3; i$2 += 1) n$3.push(r$2(255 & t$4.charCodeAt(i$2)));
25146						return n$3.join("");
25147					};
25148					if (r$1.open("GET", t$3, !e$2), r$1.overrideMimeType("text/plain; charset=x-user-defined"), !1 === e$2 && (r$1.onload = function() {
25149						200 === r$1.status ? n$2(a$1(this.responseText)) : n$2(void 0);
25150					}), r$1.send(null), e$2 && 200 === r$1.status) return a$1(r$1.responseText);
25151				}(t$2, e$1, n$1);
25152			} catch (i$2) {}
25153			return r;
25154		}(t$1, e, n);
25155	}, t.allowFsRead = void 0, t.loadImageFile = t.loadFile;
25156}(E.API), function(e) {
25157	function n() {
25158		return (i.html2canvas ? Promise.resolve(i.html2canvas) : __vitePreload(() => import("./html2canvas-DR7iTaxF.js").then(__toDynamicImportESM()), [])).catch(function(t) {
25159			return Promise.reject(/* @__PURE__ */ new Error("Could not load html2canvas: " + t));
25160		}).then(function(t) {
25161			return t.default ? t.default : t;
25162		});
25163	}
25164	function r() {
25165		return (i.DOMPurify ? Promise.resolve(i.DOMPurify) : __vitePreload(() => import("./purify.es-CPm96WHv.js"), __vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]))).catch(function(t) {
25166			return Promise.reject(/* @__PURE__ */ new Error("Could not load dompurify: " + t));
25167		}).then(function(t) {
25168			return t.default ? t.default : t;
25169		});
25170	}
25171	var a$1 = function(e$1) {
25172		var n$1 = _typeof(e$1);
25173		return "undefined" === n$1 ? "undefined" : "string" === n$1 || e$1 instanceof String ? "string" : "number" === n$1 || e$1 instanceof Number ? "number" : "function" === n$1 || e$1 instanceof Function ? "function" : e$1 && e$1.constructor === Array ? "array" : e$1 && 1 === e$1.nodeType ? "element" : "object" === n$1 ? "object" : "unknown";
25174	}, o$1 = function(t, e$1) {
25175		var n$1 = document.createElement(t);
25176		for (var r$1 in e$1.className && (n$1.className = e$1.className), e$1.innerHTML && e$1.dompurify && (n$1.innerHTML = e$1.dompurify.sanitize(e$1.innerHTML)), e$1.style) n$1.style[r$1] = e$1.style[r$1];
25177		return n$1;
25178	}, s$1 = function t(e$1, n$1) {
25179		for (var r$1 = 3 === e$1.nodeType ? document.createTextNode(e$1.nodeValue) : e$1.cloneNode(!1), i$2 = e$1.firstChild; i$2;
vendor: 11,841 bytes, lines 25179-25465
25179 i$2 = i$2.nextSibling) !0 !== n$1 && 1 === i$2.nodeType && "SCRIPT" === i$2.nodeName || r$1.appendChild(t(i$2, n$1));
25180		return 1 === e$1.nodeType && ("CANVAS" === e$1.nodeName ? (r$1.width = e$1.width, r$1.height = e$1.height, r$1.getContext("2d").drawImage(e$1, 0, 0)) : "TEXTAREA" !== e$1.nodeName && "SELECT" !== e$1.nodeName || (r$1.value = e$1.value), r$1.addEventListener("load", function() {
25181			r$1.scrollTop = e$1.scrollTop, r$1.scrollLeft = e$1.scrollLeft;
25182		}, !0)), r$1;
25183	}, u$1 = function t(e$1) {
25184		var n$1 = Object.assign(t.convert(Promise.resolve()), JSON.parse(JSON.stringify(t.template))), r$1 = t.convert(Promise.resolve(), n$1);
25185		return (r$1 = r$1.setProgress(1, t, 1, [t])).set(e$1);
25186	};
25187	(u$1.prototype = Object.create(Promise.prototype)).constructor = u$1, u$1.convert = function(t, e$1) {
25188		return t.__proto__ = e$1 || u$1.prototype, t;
25189	}, u$1.template = {
25190		prop: {
25191			src: null,
25192			container: null,
25193			overlay: null,
25194			canvas: null,
25195			img: null,
25196			pdf: null,
25197			pageSize: null,
25198			callback: function() {}
25199		},
25200		progress: {
25201			val: 0,
25202			state: null,
25203			n: 0,
25204			stack: []
25205		},
25206		opt: {
25207			filename: "file.pdf",
25208			margin: [
25209				0,
25210				0,
25211				0,
25212				0
25213			],
25214			enableLinks: !0,
25215			x: 0,
25216			y: 0,
25217			html2canvas: {},
25218			jsPDF: {},
25219			backgroundColor: "transparent"
25220		}
25221	}, u$1.prototype.from = function(t, e$1) {
25222		return this.then(function() {
25223			switch (e$1 = e$1 || function(t$1) {
25224				switch (a$1(t$1)) {
25225					case "string": return "string";
25226					case "element": return "canvas" === t$1.nodeName.toLowerCase() ? "canvas" : "element";
25227					default: return "unknown";
25228				}
25229			}(t), e$1) {
25230				case "string": return this.then(r).then(function(e$2) {
25231					return this.set({ src: o$1("div", {
25232						innerHTML: t,
25233						dompurify: e$2
25234					}) });
25235				});
25236				case "element": return this.set({ src: t });
25237				case "canvas": return this.set({ canvas: t });
25238				case "img": return this.set({ img: t });
25239				default: return this.error("Unknown source type.");
25240			}
25241		});
25242	}, u$1.prototype.to = function(t) {
25243		switch (t) {
25244			case "container": return this.toContainer();
25245			case "canvas": return this.toCanvas();
25246			case "img": return this.toImg();
25247			case "pdf": return this.toPdf();
25248			default: return this.error("Invalid target.");
25249		}
25250	}, u$1.prototype.toContainer = function() {
25251		return this.thenList([function() {
25252			return this.prop.src || this.error("Cannot duplicate - no source HTML.");
25253		}, function() {
25254			return this.prop.pageSize || this.setPageSize();
25255		}]).then(function() {
25256			var t = {
25257				position: "relative",
25258				display: "inline-block",
25259				width: ("number" != typeof this.opt.width || isNaN(this.opt.width) || "number" != typeof this.opt.windowWidth || isNaN(this.opt.windowWidth) ? Math.max(this.prop.src.clientWidth, this.prop.src.scrollWidth, this.prop.src.offsetWidth) : this.opt.windowWidth) + "px",
25260				left: 0,
25261				right: 0,
25262				top: 0,
25263				margin: "auto",
25264				backgroundColor: this.opt.backgroundColor
25265			}, e$1 = s$1(this.prop.src, this.opt.html2canvas.javascriptEnabled);
25266			"BODY" === e$1.tagName && (t.height = Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight) + "px"), this.prop.overlay = o$1("div", {
25267				className: "html2pdf__overlay",
25268				style: {
25269					position: "fixed",
25270					overflow: "hidden",
25271					zIndex: 1e3,
25272					left: "-100000px",
25273					right: 0,
25274					bottom: 0,
25275					top: 0
25276				}
25277			}), this.prop.container = o$1("div", {
25278				className: "html2pdf__container",
25279				style: t
25280			}), this.prop.container.appendChild(e$1), this.prop.container.firstChild.appendChild(o$1("div", { style: {
25281				clear: "both",
25282				border: "0 none transparent",
25283				margin: 0,
25284				padding: 0,
25285				height: 0
25286			} })), this.prop.container.style.float = "none", this.prop.overlay.appendChild(this.prop.container), document.body.appendChild(this.prop.overlay), this.prop.container.firstChild.style.position = "relative", this.prop.container.height = Math.max(this.prop.container.firstChild.clientHeight, this.prop.container.firstChild.scrollHeight, this.prop.container.firstChild.offsetHeight) + "px";
25287		});
25288	}, u$1.prototype.toCanvas = function() {
25289		return this.thenList([function() {
25290			return document.body.contains(this.prop.container) || this.toContainer();
25291		}]).then(n).then(function(t) {
25292			var e$1 = Object.assign({}, this.opt.html2canvas);
25293			return delete e$1.onrendered, t(this.prop.container, e$1);
25294		}).then(function(t) {
25295			(this.opt.html2canvas.onrendered || function() {})(t), this.prop.canvas = t, document.body.removeChild(this.prop.overlay);
25296		});
25297	}, u$1.prototype.toContext2d = function() {
25298		return this.thenList([function() {
25299			return document.body.contains(this.prop.container) || this.toContainer();
25300		}]).then(n).then(function(t) {
25301			var e$1 = this.opt.jsPDF, n$1 = this.opt.fontFaces, r$1 = "number" != typeof this.opt.width || isNaN(this.opt.width) || "number" != typeof this.opt.windowWidth || isNaN(this.opt.windowWidth) ? 1 : this.opt.width / this.opt.windowWidth, i$2 = Object.assign({
25302				async: !0,
25303				allowTaint: !0,
25304				scale: r$1,
25305				scrollX: this.opt.scrollX || 0,
25306				scrollY: this.opt.scrollY || 0,
25307				backgroundColor: "#ffffff",
25308				imageTimeout: 15e3,
25309				logging: !0,
25310				proxy: null,
25311				removeContainer: !0,
25312				foreignObjectRendering: !1,
25313				useCORS: !1
25314			}, this.opt.html2canvas);
25315			if (delete i$2.onrendered, e$1.context2d.autoPaging = void 0 === this.opt.autoPaging || this.opt.autoPaging, e$1.context2d.posX = this.opt.x, e$1.context2d.posY = this.opt.y, e$1.context2d.margin = this.opt.margin, e$1.context2d.fontFaces = n$1, n$1) for (var a$2 = 0; a$2 < n$1.length; ++a$2) {
25316				var o$2 = n$1[a$2], s$2 = o$2.src.find(function(t$1) {
25317					return "truetype" === t$1.format;
25318				});
25319				s$2 && e$1.addFont(s$2.url, o$2.ref.name, o$2.ref.style);
25320			}
25321			return i$2.windowHeight = i$2.windowHeight || 0, i$2.windowHeight = 0 == i$2.windowHeight ? Math.max(this.prop.container.clientHeight, this.prop.container.scrollHeight, this.prop.container.offsetHeight) : i$2.windowHeight, e$1.context2d.save(!0), t(this.prop.container, i$2);
25322		}).then(function(t) {
25323			this.opt.jsPDF.context2d.restore(!0), (this.opt.html2canvas.onrendered || function() {})(t), this.prop.canvas = t, document.body.removeChild(this.prop.overlay);
25324		});
25325	}, u$1.prototype.toImg = function() {
25326		return this.thenList([function() {
25327			return this.prop.canvas || this.toCanvas();
25328		}]).then(function() {
25329			var t = this.prop.canvas.toDataURL("image/" + this.opt.image.type, this.opt.image.quality);
25330			this.prop.img = document.createElement("img"), this.prop.img.src = t;
25331		});
25332	}, u$1.prototype.toPdf = function() {
25333		return this.thenList([function() {
25334			return this.toContext2d();
25335		}]).then(function() {
25336			this.prop.pdf = this.prop.pdf || this.opt.jsPDF;
25337		});
25338	}, u$1.prototype.output = function(t, e$1, n$1) {
25339		return "img" === (n$1 = n$1 || "pdf").toLowerCase() || "image" === n$1.toLowerCase() ? this.outputImg(t, e$1) : this.outputPdf(t, e$1);
25340	}, u$1.prototype.outputPdf = function(t, e$1) {
25341		return this.thenList([function() {
25342			return this.prop.pdf || this.toPdf();
25343		}]).then(function() {
25344			return this.prop.pdf.output(t, e$1);
25345		});
25346	}, u$1.prototype.outputImg = function(t) {
25347		return this.thenList([function() {
25348			return this.prop.img || this.toImg();
25349		}]).then(function() {
25350			switch (t) {
25351				case void 0:
25352				case "img": return this.prop.img;
25353				case "datauristring":
25354				case "dataurlstring": return this.prop.img.src;
25355				case "datauri":
25356				case "dataurl": return document.location.href = this.prop.img.src;
25357				default: throw "Image output type \"" + t + "\" is not supported.";
25358			}
25359		});
25360	}, u$1.prototype.save = function(t) {
25361		return this.thenList([function() {
25362			return this.prop.pdf || this.toPdf();
25363		}]).set(t ? { filename: t } : null).then(function() {
25364			this.prop.pdf.save(this.opt.filename);
25365		});
25366	}, u$1.prototype.doCallback = function() {
25367		return this.thenList([function() {
25368			return this.prop.pdf || this.toPdf();
25369		}]).then(function() {
25370			this.prop.callback(this.prop.pdf);
25371		});
25372	}, u$1.prototype.set = function(t) {
25373		if ("object" !== a$1(t)) return this;
25374		var e$1 = Object.keys(t || {}).map(function(e$2) {
25375			if (e$2 in u$1.template.prop) return function() {
25376				this.prop[e$2] = t[e$2];
25377			};
25378			switch (e$2) {
25379				case "margin": return this.setMargin.bind(this, t.margin);
25380				case "jsPDF": return function() {
25381					return this.opt.jsPDF = t.jsPDF, this.setPageSize();
25382				};
25383				case "pageSize": return this.setPageSize.bind(this, t.pageSize);
25384				default: return function() {
25385					this.opt[e$2] = t[e$2];
25386				};
25387			}
25388		}, this);
25389		return this.then(function() {
25390			return this.thenList(e$1);
25391		});
25392	}, u$1.prototype.get = function(t, e$1) {
25393		return this.then(function() {
25394			var n$1 = t in u$1.template.prop ? this.prop[t] : this.opt[t];
25395			return e$1 ? e$1(n$1) : n$1;
25396		});
25397	}, u$1.prototype.setMargin = function(t) {
25398		return this.then(function() {
25399			switch (a$1(t)) {
25400				case "number": t = [
25401					t,
25402					t,
25403					t,
25404					t
25405				];
25406				case "array": if (2 === t.length && (t = [
25407					t[0],
25408					t[1],
25409					t[0],
25410					t[1]
25411				]), 4 === t.length) break;
25412				default: return this.error("Invalid margin array.");
25413			}
25414			this.opt.margin = t;
25415		}).then(this.setPageSize);
25416	}, u$1.prototype.setPageSize = function(t) {
25417		function e$1(t$1, e$2) {
25418			return Math.floor(t$1 * e$2 / 72 * 96);
25419		}
25420		return this.then(function() {
25421			(t = t || E.getPageSize(this.opt.jsPDF)).hasOwnProperty("inner") || (t.inner = {
25422				width: t.width - this.opt.margin[1] - this.opt.margin[3],
25423				height: t.height - this.opt.margin[0] - this.opt.margin[2]
25424			}, t.inner.px = {
25425				width: e$1(t.inner.width, t.k),
25426				height: e$1(t.inner.height, t.k)
25427			}, t.inner.ratio = t.inner.height / t.inner.width), this.prop.pageSize = t;
25428		});
25429	}, u$1.prototype.setProgress = function(t, e$1, n$1, r$1) {
25430		return null != t && (this.progress.val = t), null != e$1 && (this.progress.state = e$1), null != n$1 && (this.progress.n = n$1), null != r$1 && (this.progress.stack = r$1), this.progress.ratio = this.progress.val / this.progress.state, this;
25431	}, u$1.prototype.updateProgress = function(t, e$1, n$1, r$1) {
25432		return this.setProgress(t ? this.progress.val + t : null, e$1 || null, n$1 ? this.progress.n + n$1 : null, r$1 ? this.progress.stack.concat(r$1) : null);
25433	}, u$1.prototype.then = function(t, e$1) {
25434		var n$1 = this;
25435		return this.thenCore(t, e$1, function(t$1, e$2) {
25436			return n$1.updateProgress(null, null, 1, [t$1]), Promise.prototype.then.call(this, function(e$3) {
25437				return n$1.updateProgress(null, t$1), e$3;
25438			}).then(t$1, e$2).then(function(t$2) {
25439				return n$1.updateProgress(1), t$2;
25440			});
25441		});
25442	}, u$1.prototype.thenCore = function(t, e$1, n$1) {
25443		n$1 = n$1 || Promise.prototype.then;
25444		var r$1 = this;
25445		t && (t = t.bind(r$1)), e$1 && (e$1 = e$1.bind(r$1));
25446		var i$2 = -1 !== Promise.toString().indexOf("[native code]") && "Promise" === Promise.name ? r$1 : u$1.convert(Object.assign({}, r$1), Promise.prototype), a$2 = n$1.call(i$2, t, e$1);
25447		return u$1.convert(a$2, r$1.__proto__);
25448	}, u$1.prototype.thenExternal = function(t, e$1) {
25449		return Promise.prototype.then.call(this, t, e$1);
25450	}, u$1.prototype.thenList = function(t) {
25451		var e$1 = this;
25452		return t.forEach(function(t$1) {
25453			e$1 = e$1.thenCore(t$1);
25454		}), e$1;
25455	}, u$1.prototype.catch = function(t) {
25456		t && (t = t.bind(this));
25457		var e$1 = Promise.prototype.catch.call(this, t);
25458		return u$1.convert(e$1, this);
25459	}, u$1.prototype.catchExternal = function(t) {
25460		return Promise.prototype.catch.call(this, t);
25461	}, u$1.prototype.error = function(t) {
25462		return this.then(function() {
25463			throw new Error(t);
25464		});
25465	}, u$1.prototype.using = u$1.prototype.set, u$1.prototype.saveAs = u$1.prototype.save, u$1.prototype.exp
vendor: 32,806 bytes, lines 25465-26230
25465ort = u$1.prototype.output, u$1.prototype.run = u$1.prototype.then, E.getPageSize = function(e$1, n$1, r$1) {
25466		if ("object" === _typeof(e$1)) {
25467			var i$2 = e$1;
25468			e$1 = i$2.orientation, n$1 = i$2.unit || n$1, r$1 = i$2.format || r$1;
25469		}
25470		n$1 = n$1 || "mm", r$1 = r$1 || "a4", e$1 = ("" + (e$1 || "P")).toLowerCase();
25471		var a$2, o$2 = ("" + r$1).toLowerCase(), s$2 = {
25472			a0: [2383.94, 3370.39],
25473			a1: [1683.78, 2383.94],
25474			a2: [1190.55, 1683.78],
25475			a3: [841.89, 1190.55],
25476			a4: [595.28, 841.89],
25477			a5: [419.53, 595.28],
25478			a6: [297.64, 419.53],
25479			a7: [209.76, 297.64],
25480			a8: [147.4, 209.76],
25481			a9: [104.88, 147.4],
25482			a10: [73.7, 104.88],
25483			b0: [2834.65, 4008.19],
25484			b1: [2004.09, 2834.65],
25485			b2: [1417.32, 2004.09],
25486			b3: [1000.63, 1417.32],
25487			b4: [708.66, 1000.63],
25488			b5: [498.9, 708.66],
25489			b6: [354.33, 498.9],
25490			b7: [249.45, 354.33],
25491			b8: [175.75, 249.45],
25492			b9: [124.72, 175.75],
25493			b10: [87.87, 124.72],
25494			c0: [2599.37, 3676.54],
25495			c1: [1836.85, 2599.37],
25496			c2: [1298.27, 1836.85],
25497			c3: [918.43, 1298.27],
25498			c4: [649.13, 918.43],
25499			c5: [459.21, 649.13],
25500			c6: [323.15, 459.21],
25501			c7: [229.61, 323.15],
25502			c8: [161.57, 229.61],
25503			c9: [113.39, 161.57],
25504			c10: [79.37, 113.39],
25505			dl: [311.81, 623.62],
25506			letter: [612, 792],
25507			"government-letter": [576, 756],
25508			legal: [612, 1008],
25509			"junior-legal": [576, 360],
25510			ledger: [1224, 792],
25511			tabloid: [792, 1224],
25512			"credit-card": [153, 243]
25513		};
25514		switch (n$1) {
25515			case "pt":
25516				a$2 = 1;
25517				break;
25518			case "mm":
25519				a$2 = 72 / 25.4;
25520				break;
25521			case "cm":
25522				a$2 = 72 / 2.54;
25523				break;
25524			case "in":
25525				a$2 = 72;
25526				break;
25527			case "px":
25528				a$2 = .75;
25529				break;
25530			case "pc":
25531			case "em":
25532				a$2 = 12;
25533				break;
25534			case "ex":
25535				a$2 = 6;
25536				break;
25537			default: throw "Invalid unit: " + n$1;
25538		}
25539		var u$2, c$1 = 0, l$1 = 0;
25540		if (s$2.hasOwnProperty(o$2)) c$1 = s$2[o$2][1] / a$2, l$1 = s$2[o$2][0] / a$2;
25541		else try {
25542			c$1 = r$1[1], l$1 = r$1[0];
25543		} catch (h$1) {
25544			throw new Error("Invalid format: " + r$1);
25545		}
25546		if ("p" === e$1 || "portrait" === e$1) e$1 = "p", l$1 > c$1 && (u$2 = l$1, l$1 = c$1, c$1 = u$2);
25547		else {
25548			if ("l" !== e$1 && "landscape" !== e$1) throw "Invalid orientation: " + e$1;
25549			e$1 = "l", c$1 > l$1 && (u$2 = l$1, l$1 = c$1, c$1 = u$2);
25550		}
25551		return {
25552			width: l$1,
25553			height: c$1,
25554			unit: n$1,
25555			k: a$2,
25556			orientation: e$1
25557		};
25558	}, e.html = function(t, e$1) {
25559		(e$1 = e$1 || {}).callback = e$1.callback || function() {}, e$1.html2canvas = e$1.html2canvas || {}, e$1.html2canvas.canvas = e$1.html2canvas.canvas || this.canvas, e$1.jsPDF = e$1.jsPDF || this, e$1.fontFaces = e$1.fontFaces ? e$1.fontFaces.map(Ct) : null;
25560		var n$1 = new u$1(e$1);
25561		return e$1.worker ? n$1 : n$1.from(t).doCallback();
25562	};
25563}(E.API), E.API.addJS = function(t) {
25564	return Ut = t, this.internal.events.subscribe("postPutResources", function() {
25565		Tt = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/Names [(EmbeddedJS) " + (Tt + 1) + " 0 R]"), this.internal.out(">>"), this.internal.out("endobj"), zt = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /JavaScript"), this.internal.out("/JS (" + Ut + ")"), this.internal.out(">>"), this.internal.out("endobj");
25566	}), this.internal.events.subscribe("putCatalog", function() {
25567		void 0 !== Tt && void 0 !== zt && this.internal.out("/Names <</JavaScript " + Tt + " 0 R>>");
25568	}), this;
25569}, function(t) {
25570	var e;
25571	t.events.push(["postPutResources", function() {
25572		var t$1 = this, n = /^(\d+) 0 obj$/;
25573		if (this.outline.root.children.length > 0) for (var r = t$1.outline.render().split(/\r\n/), i$2 = 0; i$2 < r.length; i$2++) {
25574			var a$1 = r[i$2], o$1 = n.exec(a$1);
25575			if (null != o$1) {
25576				var s$1 = o$1[1];
25577				t$1.internal.newObjectDeferredBegin(s$1, !1);
25578			}
25579			t$1.internal.write(a$1);
25580		}
25581		if (this.outline.createNamedDestinations) {
25582			var u$1 = this.internal.pages.length, c$1 = [];
25583			for (i$2 = 0; i$2 < u$1; i$2++) {
25584				var l$1 = t$1.internal.newObject();
25585				c$1.push(l$1);
25586				var h$1 = t$1.internal.getPageInfo(i$2 + 1);
25587				t$1.internal.write("<< /D[" + h$1.objId + " 0 R /XYZ null null null]>> endobj");
25588			}
25589			var f$1 = t$1.internal.newObject();
25590			for (t$1.internal.write("<< /Names [ "), i$2 = 0; i$2 < c$1.length; i$2++) t$1.internal.write("(page_" + (i$2 + 1) + ")" + c$1[i$2] + " 0 R");
25591			t$1.internal.write(" ] >>", "endobj"), e = t$1.internal.newObject(), t$1.internal.write("<< /Dests " + f$1 + " 0 R"), t$1.internal.write(">>", "endobj");
25592		}
25593	}]), t.events.push(["putCatalog", function() {
25594		var t$1 = this;
25595		t$1.outline.root.children.length > 0 && (t$1.internal.write("/Outlines", this.outline.makeRef(this.outline.root)), this.outline.createNamedDestinations && t$1.internal.write("/Names " + e + " 0 R"));
25596	}]), t.events.push(["initialized", function() {
25597		var t$1 = this;
25598		t$1.outline = {
25599			createNamedDestinations: !1,
25600			root: { children: [] }
25601		}, t$1.outline.add = function(t$2, e$1, n) {
25602			var r = {
25603				title: e$1,
25604				options: n,
25605				children: []
25606			};
25607			return t$2 ??= this.root, t$2.children.push(r), r;
25608		}, t$1.outline.render = function() {
25609			return this.ctx = {}, this.ctx.val = "", this.ctx.pdf = t$1, this.genIds_r(this.root), this.renderRoot(this.root), this.renderItems(this.root), this.ctx.val;
25610		}, t$1.outline.genIds_r = function(e$1) {
25611			e$1.id = t$1.internal.newObjectDeferred();
25612			for (var n = 0; n < e$1.children.length; n++) this.genIds_r(e$1.children[n]);
25613		}, t$1.outline.renderRoot = function(t$2) {
25614			this.objStart(t$2), this.line("/Type /Outlines"), t$2.children.length > 0 && (this.line("/First " + this.makeRef(t$2.children[0])), this.line("/Last " + this.makeRef(t$2.children[t$2.children.length - 1]))), this.line("/Count " + this.count_r({ count: 0 }, t$2)), this.objEnd();
25615		}, t$1.outline.renderItems = function(e$1) {
25616			for (var n = this.ctx.pdf.internal.getVerticalCoordinateString, r = 0; r < e$1.children.length; r++) {
25617				var i$2 = e$1.children[r];
25618				this.objStart(i$2), this.line("/Title " + this.makeString(i$2.title)), this.line("/Parent " + this.makeRef(e$1)), r > 0 && this.line("/Prev " + this.makeRef(e$1.children[r - 1])), r < e$1.children.length - 1 && this.line("/Next " + this.makeRef(e$1.children[r + 1])), i$2.children.length > 0 && (this.line("/First " + this.makeRef(i$2.children[0])), this.line("/Last " + this.makeRef(i$2.children[i$2.children.length - 1])));
25619				var a$1 = this.count = this.count_r({ count: 0 }, i$2);
25620				if (a$1 > 0 && this.line("/Count " + a$1), i$2.options && i$2.options.pageNumber) {
25621					var o$1 = t$1.internal.getPageInfo(i$2.options.pageNumber);
25622					this.line("/Dest [" + o$1.objId + " 0 R /XYZ 0 " + n(0) + " 0]");
25623				}
25624				this.objEnd();
25625			}
25626			for (var s$1 = 0; s$1 < e$1.children.length; s$1++) this.renderItems(e$1.children[s$1]);
25627		}, t$1.outline.line = function(t$2) {
25628			this.ctx.val += t$2 + "\r\n";
25629		}, t$1.outline.makeRef = function(t$2) {
25630			return t$2.id + " 0 R";
25631		}, t$1.outline.makeString = function(e$1) {
25632			return "(" + t$1.internal.pdfEscape(e$1) + ")";
25633		}, t$1.outline.objStart = function(t$2) {
25634			this.ctx.val += "\r\n" + t$2.id + " 0 obj\r\n<<\r\n";
25635		}, t$1.outline.objEnd = function() {
25636			this.ctx.val += ">> \r\nendobj\r\n";
25637		}, t$1.outline.count_r = function(t$2, e$1) {
25638			for (var n = 0; n < e$1.children.length; n++) t$2.count++, this.count_r(t$2, e$1.children[n]);
25639			return t$2.count;
25640		};
25641	}]);
25642}(E.API), function(t) {
25643	var e = [
25644		192,
25645		193,
25646		194,
25647		195,
25648		196,
25649		197,
25650		198,
25651		199
25652	];
25653	t.processJPEG = function(t$1, n, r, i$2, a$1, o$1) {
25654		var s$1, u$1 = this.decode.DCT_DECODE, c$1 = null;
25655		if ("string" == typeof t$1 || this.__addimage__.isArrayBuffer(t$1) || this.__addimage__.isArrayBufferView(t$1)) {
25656			switch (t$1 = a$1 || t$1, t$1 = this.__addimage__.isArrayBuffer(t$1) ? new Uint8Array(t$1) : t$1, s$1 = function(t$2) {
25657				for (var n$1, r$1 = 256 * t$2.charCodeAt(4) + t$2.charCodeAt(5), i$3 = t$2.length, a$2 = {
25658					width: 0,
25659					height: 0,
25660					numcomponents: 1
25661				}, o$2 = 4; o$2 < i$3; o$2 += 2) {
25662					if (o$2 += r$1, -1 !== e.indexOf(t$2.charCodeAt(o$2 + 1))) {
25663						n$1 = 256 * t$2.charCodeAt(o$2 + 5) + t$2.charCodeAt(o$2 + 6), a$2 = {
25664							width: 256 * t$2.charCodeAt(o$2 + 7) + t$2.charCodeAt(o$2 + 8),
25665							height: n$1,
25666							numcomponents: t$2.charCodeAt(o$2 + 9)
25667						};
25668						break;
25669					}
25670					r$1 = 256 * t$2.charCodeAt(o$2 + 2) + t$2.charCodeAt(o$2 + 3);
25671				}
25672				return a$2;
25673			}(t$1 = this.__addimage__.isArrayBufferView(t$1) ? this.__addimage__.arrayBufferToBinaryString(t$1) : t$1), s$1.numcomponents) {
25674				case 1:
25675					o$1 = this.color_spaces.DEVICE_GRAY;
25676					break;
25677				case 4:
25678					o$1 = this.color_spaces.DEVICE_CMYK;
25679					break;
25680				case 3: o$1 = this.color_spaces.DEVICE_RGB;
25681			}
25682			c$1 = {
25683				data: t$1,
25684				width: s$1.width,
25685				height: s$1.height,
25686				colorSpace: o$1,
25687				bitsPerComponent: 8,
25688				filter: u$1,
25689				index: n,
25690				alias: r
25691			};
25692		}
25693		return c$1;
25694	};
25695}(E.API), E.API.processPNG = function(t, i$2, a$1, o$1) {
25696	if (this.__addimage__.isArrayBuffer(t) && (t = new Uint8Array(t)), this.__addimage__.isArrayBufferView(t)) {
25697		var s$1, u$1 = decodePng(t, { checkCrc: !0 }), c$1 = u$1.width, l$1 = u$1.height, h$1 = u$1.channels, f$1 = u$1.palette, d$1 = u$1.depth;
25698		s$1 = f$1 && 1 === h$1 ? function(t$1) {
25699			for (var e = t$1.width, r = t$1.height, i$3 = t$1.data, a$2 = t$1.palette, o$2 = t$1.depth, s$2 = !1, u$2 = [], c$2 = [], l$2 = void 0, h$2 = !1, f$2 = 0, d$2 = 0; d$2 < a$2.length; d$2++) {
25700				var p$2 = _slicedToArray(a$2[d$2], 4), g$2 = p$2[0], m$2 = p$2[1], v$2 = p$2[2], b$2 = p$2[3];
25701				u$2.push(g$2, m$2, v$2), null != b$2 && (0 === b$2 ? (f$2++, c$2.length < 1 && c$2.push(d$2)) : b$2 < 255 && (h$2 = !0));
25702			}
25703			if (h$2 || f$2 > 1) {
25704				s$2 = !0, c$2 = void 0;
25705				var y$2 = e * r;
25706				l$2 = new Uint8Array(y$2);
25707				for (var w$2 = new DataView(i$3.buffer), N$2 = 0; N$2 < y$2; N$2++) {
25708					var L$2 = re(w$2, N$2, o$2);
25709					l$2[N$2] = _slicedToArray(a$2[L$2], 4)[3];
25710				}
25711			} else 0 === f$2 && (c$2 = void 0);
25712			return {
25713				colorSpace: "Indexed",
25714				colorsPerPixel: 1,
25715				sMaskBitsPerComponent: s$2 ? 8 : void 0,
25716				colorBytes: i$3,
25717				alphaBytes: l$2,
25718				needSMask: s$2,
25719				palette: u$2,
25720				mask: c$2
25721			};
25722		}(u$1) : 2 === h$1 || 4 === h$1 ? function(t$1) {
25723			for (var e = t$1.data, n = t$1.width, r = t$1.height, i$3 = t$1.channels, a$2 = t$1.depth, o$2 = 2 === i$3 ? "DeviceGray" : "DeviceRGB", s$2 = i$3 - 1, u$2 = n * r, c$2 = s$2, l$2 = u$2 * c$2, h$2 = 1 * u$2, f$2 = Math.ceil(l$2 * a$2 / 8), d$2 = Math.ceil(h$2 * a$2 / 8), p$2 = new Uint8Array(f$2), g$2 = new Uint8Array(d$2), m$2 = new DataView(e.buffer), v$2 = new DataView(p$2.buffer), b$2 = new DataView(g$2.buffer), y$2 = !1, w$2 = 0; w$2 < u$2; w$2++) {
25724				for (var N$2 = w$2 * i$3, L$2 = 0; L$2 < c$2; L$2++) ie(v$2, re(m$2, N$2 + L$2, a$2), w$2 * c$2 + L$2, a$2);
25725				var x$3 = re(m$2, N$2 + c$2, a$2);
25726				x$3 < (1 << a$2) - 1 && (y$2 = !0), ie(b$2, x$3, 1 * w$2, a$2);
25727			}
25728			return {
25729				colorSpace: o$2,
25730				colorsPerPixel: s$2,
25731				sMaskBitsPerComponent: y$2 ? a$2 : void 0,
25732				colorBytes: p$2,
25733				alphaBytes: g$2,
25734				needSMask: y$2
25735			};
25736		}(u$1) : function(t$1) {
25737			var e = t$1.data, n = 1 === t$1.channels ? "DeviceGray" : "DeviceRGB";
25738			return {
25739				colorSpace: n,
25740				colorsPerPixel: "DeviceGray" === n ? 1 : 3,
25741				colorBytes: e instanceof Uint16Array ? function(t$2) {
25742					for (var e$1 = t$2.length, n$1 = new Uint8Array(2 * e$1), r = new DataView(n$1.buffer, n$1.byteOffset, n$1.byteLength), i$3 = 0; i$3 < e$1; i$3++) r.setUint16(2 * i$3, t$2[i$3], !1);
25743					return n$1;
25744				}(e) : e,
25745				needSMask: !1
25746			};
25747		}(u$1);
25748		var p$1, g$1, m$1, v$1 = s$1, b$1 = v$1.colorSpace, y$1 = v$1.colorsPerPixel, w$1 = v$1.sMaskBitsPerComponent, N$1 = v$1.colorBytes, L$1 = v$1.alphaBytes, x$2 = v$1.needSMask, A$1 = v$1.palette, S$1 = v$1.mask, _$1 = null;
25749		return o$1 !== E.API.image_compression.NONE && "function" == typeof zlibSync ? (_$1 = function(t$1) {
25750			var e;
25751			switch (t$1) {
25752				case E.API.image_compression.FAST:
25753					e = 11;
25754					break;
25755				case E.API.image_compression.MEDIUM:
25756					e = 13;
25757					break;
25758				case E.API.image_compression.SLOW:
25759					e = 14;
25760					break;
25761				default: e = 12;
25762			}
25763			return e;
25764		}(o$1), p$1 = this.decode.FLATE_DECODE, g$1 = "/Predictor ".concat(_$1, " /Colors ").concat(y$1, " /BitsPerComponent ").concat(d$1, " /Columns ").concat(c$1), t = Xt(N$1, Math.ceil(c$1 * y$1 * d$1 / 8), y$1, d$1, o$1), x$2 && (m$1 = Xt(L$1, Math.ceil(c$1 * w$1 / 8), 1, w$1, o$1))) : (p$1 = void 0, g$1 = void 0, t = N$1, x$2 && (m$1 = L$1)), (this.__addimage__.isArrayBuffer(t) || this.__addimage__.isArrayBufferView(t)) && (t = this.__addimage__.arrayBufferToBinaryString(t)), (m$1 && this.__addimage__.isArrayBuffer(m$1) || this.__addimage__.isArrayBufferView(m$1)) && (m$1 = this.__addimage__.arrayBufferToBinaryString(m$1)), {
25765			alias: a$1,
25766			data: t,
25767			index: i$2,
25768			filter: p$1,
25769			decodeParameters: g$1,
25770			transparency: S$1,
25771			palette: A$1,
25772			sMask: m$1,
25773			predictor: _$1,
25774			width: c$1,
25775			height: l$1,
25776			bitsPerComponent: d$1,
25777			sMaskBitsPerComponent: w$1,
25778			colorSpace: b$1
25779		};
25780	}
25781}, function(t) {
25782	t.processGIF89A = function(e, n, r, i$2) {
25783		var a$1 = new oe(e), o$1 = a$1.width, s$1 = a$1.height, u$1 = [];
25784		a$1.decodeAndBlitFrameRGBA(0, u$1);
25785		var c$1 = {
25786			data: u$1,
25787			width: o$1,
25788			height: s$1
25789		}, l$1 = new ue(100).encode(c$1, 100);
25790		return t.processJPEG.call(this, l$1, n, r, i$2);
25791	}, t.processGIF87A = t.processGIF89A;
25792}(E.API), ce.prototype.parseHeader = function() {
25793	if (this.fileSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.reserved = this.datav.getUint32(this.pos, !0), this.pos += 4, this.offset = this.datav.getUint32(this.pos, !0), this.pos += 4, this.headerSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.width = this.datav.getUint32(this.pos, !0), this.pos += 4, this.height = this.datav.getInt32(this.pos, !0), this.pos += 4, this.planes = this.datav.getUint16(this.pos, !0), this.pos += 2, this.bitPP = this.datav.getUint16(this.pos, !0), this.pos += 2, this.compress = this.datav.getUint32(this.pos, !0), this.pos += 4, this.rawSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.hr = this.datav.getUint32(this.pos, !0), this.pos += 4, this.vr = this.datav.getUint32(this.pos, !0), this.pos += 4, this.colors = this.datav.getUint32(this.pos, !0), this.pos += 4, this.importantColors = this.datav.getUint32(this.pos, !0), this.pos += 4, 16 === this.bitPP && this.is_with_alpha && (this.bitPP = 15), this.bitPP < 15) {
25794		var t = 0 === this.colors ? 1 << this.bitPP : this.colors;
25795		this.palette = new Array(t);
25796		for (var e = 0; e < t; e++) {
25797			var n = this.datav.getUint8(this.pos++, !0), r = this.datav.getUint8(this.pos++, !0), i$2 = this.datav.getUint8(this.pos++, !0), a$1 = this.datav.getUint8(this.pos++, !0);
25798			this.palette[e] = {
25799				red: i$2,
25800				green: r,
25801				blue: n,
25802				quad: a$1
25803			};
25804		}
25805	}
25806	this.height < 0 && (this.height *= -1, this.bottom_up = !1);
25807}, ce.prototype.parseBGR = function() {
25808	this.pos = this.offset;
25809	try {
25810		var t = "bit" + this.bitPP, e = this.width * this.height * 4;
25811		this.data = new Uint8Array(e), this[t]();
25812	} catch (n) {
25813		o.log("bit decode error:" + n);
25814	}
25815}, ce.prototype.bit1 = function() {
25816	var t, e = Math.ceil(this.width / 8), n = e % 4;
25817	for (t = this.height - 1; t >= 0; t--) {
25818		for (var r = this.bottom_up ? t : this.height - 1 - t, i$2 = 0; i$2 < e; i$2++) for (var a$1 = this.datav.getUint8(this.pos++, !0), o$1 = r * this.width * 4 + 8 * i$2 * 4, s$1 = 0; s$1 < 8 && 8 * i$2 + s$1 < this.width; s$1++) {
25819			var u$1 = this.palette[a$1 >> 7 - s$1 & 1];
25820			this.data[o$1 + 4 * s$1] = u$1.blue, this.data[o$1 + 4 * s$1 + 1] = u$1.green, this.data[o$1 + 4 * s$1 + 2] = u$1.red, this.data[o$1 + 4 * s$1 + 3] = 255;
25821		}
25822		0 !== n && (this.pos += 4 - n);
25823	}
25824}, ce.prototype.bit4 = function() {
25825	for (var t = Math.ceil(this.width / 2), e = t % 4, n = this.height - 1; n >= 0; n--) {
25826		for (var r = this.bottom_up ? n : this.height - 1 - n, i$2 = 0; i$2 < t; i$2++) {
25827			var a$1 = this.datav.getUint8(this.pos++, !0), o$1 = r * this.width * 4 + 2 * i$2 * 4, s$1 = a$1 >> 4, u$1 = 15 & a$1, c$1 = this.palette[s$1];
25828			if (this.data[o$1] = c$1.blue, this.data[o$1 + 1] = c$1.green, this.data[o$1 + 2] = c$1.red, this.data[o$1 + 3] = 255, 2 * i$2 + 1 >= this.width) break;
25829			c$1 = this.palette[u$1], this.data[o$1 + 4] = c$1.blue, this.data[o$1 + 4 + 1] = c$1.green, this.data[o$1 + 4 + 2] = c$1.red, this.data[o$1 + 4 + 3] = 255;
25830		}
25831		0 !== e && (this.pos += 4 - e);
25832	}
25833}, ce.prototype.bit8 = function() {
25834	for (var t = this.width % 4, e = this.height - 1; e >= 0; e--) {
25835		for (var n = this.bottom_up ? e : this.height - 1 - e, r = 0; r < this.width; r++) {
25836			var i$2 = this.datav.getUint8(this.pos++, !0), a$1 = n * this.width * 4 + 4 * r;
25837			if (i$2 < this.palette.length) {
25838				var o$1 = this.palette[i$2];
25839				this.data[a$1] = o$1.red, this.data[a$1 + 1] = o$1.green, this.data[a$1 + 2] = o$1.blue, this.data[a$1 + 3] = 255;
25840			} else this.data[a$1] = 255, this.data[a$1 + 1] = 255, this.data[a$1 + 2] = 255, this.data[a$1 + 3] = 255;
25841		}
25842		0 !== t && (this.pos += 4 - t);
25843	}
25844}, ce.prototype.bit15 = function() {
25845	for (var t = this.width % 3, e = parseInt("11111", 2), n = this.height - 1; n >= 0; n--) {
25846		for (var r = this.bottom_up ? n : this.height - 1 - n, i$2 = 0; i$2 < this.width; i$2++) {
25847			var a$1 = this.datav.getUint16(this.pos, !0);
25848			this.pos += 2;
25849			var o$1 = (a$1 & e) / e * 255 | 0, s$1 = (a$1 >> 5 & e) / e * 255 | 0, u$1 = (a$1 >> 10 & e) / e * 255 | 0, c$1 = a$1 >> 15 ? 255 : 0, l$1 = r * this.width * 4 + 4 * i$2;
25850			this.data[l$1] = u$1, this.data[l$1 + 1] = s$1, this.data[l$1 + 2] = o$1, this.data[l$1 + 3] = c$1;
25851		}
25852		this.pos += t;
25853	}
25854}, ce.prototype.bit16 = function() {
25855	for (var t = this.width % 3, e = parseInt("11111", 2), n = parseInt("111111", 2), r = this.height - 1; r >= 0; r--) {
25856		for (var i$2 = this.bottom_up ? r : this.height - 1 - r, a$1 = 0; a$1 < this.width; a$1++) {
25857			var o$1 = this.datav.getUint16(this.pos, !0);
25858			this.pos += 2;
25859			var s$1 = (o$1 & e) / e * 255 | 0, u$1 = (o$1 >> 5 & n) / n * 255 | 0, c$1 = (o$1 >> 11) / e * 255 | 0, l$1 = i$2 * this.width * 4 + 4 * a$1;
25860			this.data[l$1] = c$1, this.data[l$1 + 1] = u$1, this.data[l$1 + 2] = s$1, this.data[l$1 + 3] = 255;
25861		}
25862		this.pos += t;
25863	}
25864}, ce.prototype.bit24 = function() {
25865	for (var t = this.height - 1; t >= 0; t--) {
25866		for (var e = this.bottom_up ? t : this.height - 1 - t, n = 0; n < this.width; n++) {
25867			var r = this.datav.getUint8(this.pos++, !0), i$2 = this.datav.getUint8(this.pos++, !0), a$1 = this.datav.getUint8(this.pos++, !0), o$1 = e * this.width * 4 + 4 * n;
25868			this.data[o$1] = a$1, this.data[o$1 + 1] = i$2, this.data[o$1 + 2] = r, this.data[o$1 + 3] = 255;
25869		}
25870		this.pos += this.width % 4;
25871	}
25872}, ce.prototype.bit32 = function() {
25873	for (var t = this.height - 1; t >= 0; t--) for (var e = this.bottom_up ? t : this.height - 1 - t, n = 0; n < this.width; n++) {
25874		var r = this.datav.getUint8(this.pos++, !0), i$2 = this.datav.getUint8(this.pos++, !0), a$1 = this.datav.getUint8(this.pos++, !0), o$1 = this.datav.getUint8(this.pos++, !0), s$1 = e * this.width * 4 + 4 * n;
25875		this.data[s$1] = a$1, this.data[s$1 + 1] = i$2, this.data[s$1 + 2] = r, this.data[s$1 + 3] = o$1;
25876	}
25877}, ce.prototype.getData = function() {
25878	return this.data;
25879}, function(t) {
25880	t.processBMP = function(e, n, r, i$2) {
25881		var a$1 = new ce(e, !1), o$1 = a$1.width, s$1 = a$1.height, u$1 = {
25882			data: a$1.getData(),
25883			width: o$1,
25884			height: s$1
25885		}, c$1 = new ue(100).encode(u$1, 100);
25886		return t.processJPEG.call(this, c$1, n, r, i$2);
25887	};
25888}(E.API), le.prototype.getData = function() {
25889	return this.data;
25890}, function(t) {
25891	t.processWEBP = function(e, n, r, i$2) {
25892		var a$1 = new le(e), o$1 = a$1.width, s$1 = a$1.height, u$1 = {
25893			data: a$1.getData(),
25894			width: o$1,
25895			height: s$1
25896		}, c$1 = new ue(100).encode(u$1, 100);
25897		return t.processJPEG.call(this, c$1, n, r, i$2);
25898	};
25899}(E.API), E.API.processRGBA = function(t, e, n) {
25900	for (var r = t.data, i$2 = r.length, a$1 = new Uint8Array(i$2 / 4 * 3), o$1 = new Uint8Array(i$2 / 4), s$1 = 0, u$1 = 0, c$1 = 0; c$1 < i$2; c$1 += 4) {
25901		var l$1 = r[c$1], h$1 = r[c$1 + 1], f$1 = r[c$1 + 2], d$1 = r[c$1 + 3];
25902		a$1[s$1++] = l$1, a$1[s$1++] = h$1, a$1[s$1++] = f$1, o$1[u$1++] = d$1;
25903	}
25904	var p$1 = this.__addimage__.arrayBufferToBinaryString(a$1);
25905	return {
25906		alpha: this.__addimage__.arrayBufferToBinaryString(o$1),
25907		data: p$1,
25908		index: e,
25909		alias: n,
25910		colorSpace: "DeviceRGB",
25911		bitsPerComponent: 8,
25912		width: t.width,
25913		height: t.height
25914	};
25915}, E.API.setLanguage = function(t) {
25916	return void 0 === this.internal.languageSettings && (this.internal.languageSettings = {}, this.internal.languageSettings.isSubscribed = !1), void 0 !== {
25917		af: "Afrikaans",
25918		sq: "Albanian",
25919		ar: "Arabic (Standard)",
25920		"ar-DZ": "Arabic (Algeria)",
25921		"ar-BH": "Arabic (Bahrain)",
25922		"ar-EG": "Arabic (Egypt)",
25923		"ar-IQ": "Arabic (Iraq)",
25924		"ar-JO": "Arabic (Jordan)",
25925		"ar-KW": "Arabic (Kuwait)",
25926		"ar-LB": "Arabic (Lebanon)",
25927		"ar-LY": "Arabic (Libya)",
25928		"ar-MA": "Arabic (Morocco)",
25929		"ar-OM": "Arabic (Oman)",
25930		"ar-QA": "Arabic (Qatar)",
25931		"ar-SA": "Arabic (Saudi Arabia)",
25932		"ar-SY": "Arabic (Syria)",
25933		"ar-TN": "Arabic (Tunisia)",
25934		"ar-AE": "Arabic (U.A.E.)",
25935		"ar-YE": "Arabic (Yemen)",
25936		an: "Aragonese",
25937		hy: "Armenian",
25938		as: "Assamese",
25939		ast: "Asturian",
25940		az: "Azerbaijani",
25941		eu: "Basque",
25942		be: "Belarusian",
25943		bn: "Bengali",
25944		bs: "Bosnian",
25945		br: "Breton",
25946		bg: "Bulgarian",
25947		my: "Burmese",
25948		ca: "Catalan",
25949		ch: "Chamorro",
25950		ce: "Chechen",
25951		zh: "Chinese",
25952		"zh-HK": "Chinese (Hong Kong)",
25953		"zh-CN": "Chinese (PRC)",
25954		"zh-SG": "Chinese (Singapore)",
25955		"zh-TW": "Chinese (Taiwan)",
25956		cv: "Chuvash",
25957		co: "Corsican",
25958		cr: "Cree",
25959		hr: "Croatian",
25960		cs: "Czech",
25961		da: "Danish",
25962		nl: "Dutch (Standard)",
25963		"nl-BE": "Dutch (Belgian)",
25964		en: "English",
25965		"en-AU": "English (Australia)",
25966		"en-BZ": "English (Belize)",
25967		"en-CA": "English (Canada)",
25968		"en-IE": "English (Ireland)",
25969		"en-JM": "English (Jamaica)",
25970		"en-NZ": "English (New Zealand)",
25971		"en-PH": "English (Philippines)",
25972		"en-ZA": "English (South Africa)",
25973		"en-TT": "English (Trinidad & Tobago)",
25974		"en-GB": "English (United Kingdom)",
25975		"en-US": "English (United States)",
25976		"en-ZW": "English (Zimbabwe)",
25977		eo: "Esperanto",
25978		et: "Estonian",
25979		fo: "Faeroese",
25980		fj: "Fijian",
25981		fi: "Finnish",
25982		fr: "French (Standard)",
25983		"fr-BE": "French (Belgium)",
25984		"fr-CA": "French (Canada)",
25985		"fr-FR": "French (France)",
25986		"fr-LU": "French (Luxembourg)",
25987		"fr-MC": "French (Monaco)",
25988		"fr-CH": "French (Switzerland)",
25989		fy: "Frisian",
25990		fur: "Friulian",
25991		gd: "Gaelic (Scots)",
25992		"gd-IE": "Gaelic (Irish)",
25993		gl: "Galacian",
25994		ka: "Georgian",
25995		de: "German (Standard)",
25996		"de-AT": "German (Austria)",
25997		"de-DE": "German (Germany)",
25998		"de-LI": "German (Liechtenstein)",
25999		"de-LU": "German (Luxembourg)",
26000		"de-CH": "German (Switzerland)",
26001		el: "Greek",
26002		gu: "Gujurati",
26003		ht: "Haitian",
26004		he: "Hebrew",
26005		hi: "Hindi",
26006		hu: "Hungarian",
26007		is: "Icelandic",
26008		id: "Indonesian",
26009		iu: "Inuktitut",
26010		ga: "Irish",
26011		it: "Italian (Standard)",
26012		"it-CH": "Italian (Switzerland)",
26013		ja: "Japanese",
26014		kn: "Kannada",
26015		ks: "Kashmiri",
26016		kk: "Kazakh",
26017		km: "Khmer",
26018		ky: "Kirghiz",
26019		tlh: "Klingon",
26020		ko: "Korean",
26021		"ko-KP": "Korean (North Korea)",
26022		"ko-KR": "Korean (South Korea)",
26023		la: "Latin",
26024		lv: "Latvian",
26025		lt: "Lithuanian",
26026		lb: "Luxembourgish",
26027		mk: "North Macedonia",
26028		ms: "Malay",
26029		ml: "Malayalam",
26030		mt: "Maltese",
26031		mi: "Maori",
26032		mr: "Marathi",
26033		mo: "Moldavian",
26034		nv: "Navajo",
26035		ng: "Ndonga",
26036		ne: "Nepali",
26037		no: "Norwegian",
26038		nb: "Norwegian (Bokmal)",
26039		nn: "Norwegian (Nynorsk)",
26040		oc: "Occitan",
26041		or: "Oriya",
26042		om: "Oromo",
26043		fa: "Persian",
26044		"fa-IR": "Persian/Iran",
26045		pl: "Polish",
26046		pt: "Portuguese",
26047		"pt-BR": "Portuguese (Brazil)",
26048		pa: "Punjabi",
26049		"pa-IN": "Punjabi (India)",
26050		"pa-PK": "Punjabi (Pakistan)",
26051		qu: "Quechua",
26052		rm: "Rhaeto-Romanic",
26053		ro: "Romanian",
26054		"ro-MO": "Romanian (Moldavia)",
26055		ru: "Russian",
26056		"ru-MO": "Russian (Moldavia)",
26057		sz: "Sami (Lappish)",
26058		sg: "Sango",
26059		sa: "Sanskrit",
26060		sc: "Sardinian",
26061		sd: "Sindhi",
26062		si: "Singhalese",
26063		sr: "Serbian",
26064		sk: "Slovak",
26065		sl: "Slovenian",
26066		so: "Somani",
26067		sb: "Sorbian",
26068		es: "Spanish",
26069		"es-AR": "Spanish (Argentina)",
26070		"es-BO": "Spanish (Bolivia)",
26071		"es-CL": "Spanish (Chile)",
26072		"es-CO": "Spanish (Colombia)",
26073		"es-CR": "Spanish (Costa Rica)",
26074		"es-DO": "Spanish (Dominican Republic)",
26075		"es-EC": "Spanish (Ecuador)",
26076		"es-SV": "Spanish (El Salvador)",
26077		"es-GT": "Spanish (Guatemala)",
26078		"es-HN": "Spanish (Honduras)",
26079		"es-MX": "Spanish (Mexico)",
26080		"es-NI": "Spanish (Nicaragua)",
26081		"es-PA": "Spanish (Panama)",
26082		"es-PY": "Spanish (Paraguay)",
26083		"es-PE": "Spanish (Peru)",
26084		"es-PR": "Spanish (Puerto Rico)",
26085		"es-ES": "Spanish (Spain)",
26086		"es-UY": "Spanish (Uruguay)",
26087		"es-VE": "Spanish (Venezuela)",
26088		sx: "Sutu",
26089		sw: "Swahili",
26090		sv: "Swedish",
26091		"sv-FI": "Swedish (Finland)",
26092		"sv-SV": "Swedish (Sweden)",
26093		ta: "Tamil",
26094		tt: "Tatar",
26095		te: "Teluga",
26096		th: "Thai",
26097		tig: "Tigre",
26098		ts: "Tsonga",
26099		tn: "Tswana",
26100		tr: "Turkish",
26101		tk: "Turkmen",
26102		uk: "Ukrainian",
26103		hsb: "Upper Sorbian",
26104		ur: "Urdu",
26105		ve: "Venda",
26106		vi: "Vietnamese",
26107		vo: "Volapuk",
26108		wa: "Walloon",
26109		cy: "Welsh",
26110		xh: "Xhosa",
26111		ji: "Yiddish",
26112		zu: "Zulu"
26113	}[t] && (this.internal.languageSettings.languageCode = t, !1 === this.internal.languageSettings.isSubscribed && (this.internal.events.subscribe("putCatalog", function() {
26114		this.internal.write("/Lang (" + this.internal.languageSettings.languageCode + ")");
26115	}), this.internal.languageSettings.isSubscribed = !0)), this;
26116}, Ht = E.API, Wt = Ht.getCharWidthsArray = function(e, n) {
26117	var r, i$2, a$1 = (n = n || {}).font || this.internal.getFont(), o$1 = n.fontSize || this.internal.getFontSize(), s$1 = n.charSpace || this.internal.getCharSpace(), u$1 = n.widths ? n.widths : a$1.metadata.Unicode.widths, c$1 = u$1.fof ? u$1.fof : 1, l$1 = n.kerning ? n.kerning : a$1.metadata.Unicode.kerning, h$1 = l$1.fof ? l$1.fof : 1, f$1 = !1 !== n.doKerning, d$1 = 0, p$1 = e.length, g$1 = 0, m$1 = u$1[0] || c$1, v$1 = [];
26118	for (r = 0; r < p$1; r++) i$2 = e.charCodeAt(r), "function" == typeof a$1.metadata.widthOfString ? v$1.push((a$1.metadata.widthOfGlyph(a$1.metadata.characterToGlyph(i$2)) + s$1 * (1e3 / o$1) || 0) / 1e3) : (d$1 = f$1 && "object" === _typeof(l$1[i$2]) && !isNaN(parseInt(l$1[i$2][g$1], 10)) ? l$1[i$2][g$1] / h$1 : 0, v$1.push((u$1[i$2] || m$1) / c$1 + d$1)), g$1 = i$2;
26119	return v$1;
26120}, Vt = Ht.getStringUnitWidth = function(t, e) {
26121	var n = (e = e || {}).fontSize || this.internal.getFontSize(), r = e.font || this.internal.getFont(), i$2 = e.charSpace || this.internal.getCharSpace();
26122	return Ht.processArabic && (t = Ht.processArabic(t)), "function" == typeof r.metadata.widthOfString ? r.metadata.widthOfString(t, n, i$2) / n : Wt.apply(this, arguments).reduce(function(t$1, e$1) {
26123		return t$1 + e$1;
26124	}, 0);
26125}, Gt = function(t, e, n, r) {
26126	for (var i$2 = [], a$1 = 0, o$1 = t.length, s$1 = 0; a$1 !== o$1 && s$1 + e[a$1] < n;) s$1 += e[a$1], a$1++;
26127	i$2.push(t.slice(0, a$1));
26128	var u$1 = a$1;
26129	for (s$1 = 0; a$1 !== o$1;) s$1 + e[a$1] > r && (i$2.push(t.slice(u$1, a$1)), s$1 = 0, u$1 = a$1), s$1 += e[a$1], a$1++;
26130	return u$1 !== a$1 && i$2.push(t.slice(u$1, a$1)), i$2;
26131}, Yt = function(t, e, n) {
26132	n || (n = {});
26133	var r, i$2, a$1, o$1, s$1, u$1, c$1, l$1 = [], h$1 = [l$1], f$1 = n.textIndent || 0, d$1 = 0, p$1 = 0, g$1 = t.split(" "), m$1 = Wt.apply(this, [" ", n])[0];
26134	if (u$1 = -1 === n.lineIndent ? g$1[0].length + 2 : n.lineIndent || 0) {
26135		var v$1 = Array(u$1).join(" "), b$1 = [];
26136		g$1.map(function(t$1) {
26137			(t$1 = t$1.split(/\s*\n/)).length > 1 ? b$1 = b$1.concat(t$1.map(function(t$2, e$1) {
26138				return (e$1 && t$2.length ? "\n" : "") + t$2;
26139			})) : b$1.push(t$1[0]);
26140		}), g$1 = b$1, u$1 = Vt.apply(this, [v$1, n]);
26141	}
26142	for (a$1 = 0, o$1 = g$1.length; a$1 < o$1; a$1++) {
26143		var y$1 = 0;
26144		if (r = g$1[a$1], u$1 && "\n" == r[0] && (r = r.substr(1), y$1 = 1), f$1 + d$1 + (p$1 = (i$2 = Wt.apply(this, [r, n])).reduce(function(t$1, e$1) {
26145			return t$1 + e$1;
26146		}, 0)) > e || y$1) {
26147			if (p$1 > e) {
26148				for (s$1 = Gt.apply(this, [
26149					r,
26150					i$2,
26151					e - (f$1 + d$1),
26152					e
26153				]), l$1.push(s$1.shift()), l$1 = [s$1.pop()]; s$1.length;) h$1.push([s$1.shift()]);
26154				p$1 = i$2.slice(r.length - (l$1[0] ? l$1[0].length : 0)).reduce(function(t$1, e$1) {
26155					return t$1 + e$1;
26156				}, 0);
26157			} else l$1 = [r];
26158			h$1.push(l$1), f$1 = p$1 + u$1, d$1 = m$1;
26159		} else l$1.push(r), f$1 += d$1 + p$1, d$1 = m$1;
26160	}
26161	return c$1 = u$1 ? function(t$1, e$1) {
26162		return (e$1 ? v$1 : "") + t$1.join(" ");
26163	} : function(t$1) {
26164		return t$1.join(" ");
26165	}, h$1.map(c$1);
26166}, Ht.splitTextToSize = function(t, e, n) {
26167	var r, i$2 = (n = n || {}).fontSize || this.internal.getFontSize(), a$1 = function(t$1) {
26168		if (t$1.widths && t$1.kerning) return {
26169			widths: t$1.widths,
26170			kerning: t$1.kerning
26171		};
26172		var e$1 = this.internal.getFont(t$1.fontName, t$1.fontStyle), n$1 = "Unicode";
26173		return e$1.metadata[n$1] ? {
26174			widths: e$1.metadata[n$1].widths || { 0: 1 },
26175			kerning: e$1.metadata[n$1].kerning || {}
26176		} : {
26177			font: e$1.metadata,
26178			fontSize: this.internal.getFontSize(),
26179			charSpace: this.internal.getCharSpace()
26180		};
26181	}.call(this, n);
26182	r = Array.isArray(t) ? t : String(t).split(/\r?\n/);
26183	var o$1 = 1 * this.internal.scaleFactor * e / i$2;
26184	a$1.textIndent = n.textIndent ? 1 * n.textIndent * this.internal.scaleFactor / i$2 : 0, a$1.lineIndent = n.lineIndent;
26185	var s$1, u$1, c$1 = [];
26186	for (s$1 = 0, u$1 = r.length; s$1 < u$1; s$1++) c$1 = c$1.concat(Yt.apply(this, [
26187		r[s$1],
26188		o$1,
26189		a$1
26190	]));
26191	return c$1;
26192}, function(e) {
26193	e.__fontmetrics__ = e.__fontmetrics__ || {};
26194	for (var n = "0123456789abcdef", r = "klmnopqrstuvwxyz", i$2 = {}, a$1 = {}, o$1 = 0; o$1 < 16; o$1++) i$2[r[o$1]] = n[o$1], a$1[n[o$1]] = r[o$1];
26195	var s$1 = function(t) {
26196		return "0x" + parseInt(t, 10).toString(16);
26197	}, u$1 = e.__fontmetrics__.compress = function(e$1) {
26198		var n$1, r$1, i$3, o$2, c$2 = ["{"];
26199		for (var l$2 in e$1) {
26200			if (n$1 = e$1[l$2], isNaN(parseInt(l$2, 10)) ? r$1 = "'" + l$2 + "'" : (l$2 = parseInt(l$2, 10), r$1 = (r$1 = s$1(l$2).slice(2)).slice(0, -1) + a$1[r$1.slice(-1)]), "number" == typeof n$1) n$1 < 0 ? (i$3 = s$1(n$1).slice(3), o$2 = "-") : (i$3 = s$1(n$1).slice(2), o$2 = ""), i$3 = o$2 + i$3.slice(0, -1) + a$1[i$3.slice(-1)];
26201			else {
26202				if ("object" !== _typeof(n$1)) throw new Error("Don't know what to do with value type " + _typeof(n$1) + ".");
26203				i$3 = u$1(n$1);
26204			}
26205			c$2.push(r$1 + i$3);
26206		}
26207		return c$2.push("}"), c$2.join("");
26208	}, c$1 = e.__fontmetrics__.uncompress = function(t) {
26209		if ("string" != typeof t) throw new Error("Invalid argument passed to uncompress.");
26210		for (var e$1, n$1, r$1, a$2, o$2 = {}, s$2 = 1, u$2 = o$2, c$2 = [], l$2 = "", h$2 = "", f$2 = t.length - 1, d$1 = 1; d$1 < f$2; d$1 += 1) "'" == (a$2 = t[d$1]) ? e$1 ? (r$1 = e$1.join(""), e$1 = void 0) : e$1 = [] : e$1 ? e$1.push(a$2) : "{" == a$2 ? (c$2.push([u$2, r$1]), u$2 = {}, r$1 = void 0) : "}" == a$2 ? ((n$1 = c$2.pop())[0][n$1[1]] = u$2, r$1 = void 0, u$2 = n$1[0]) : "-" == a$2 ? s$2 = -1 : void 0 === r$1 ? i$2.hasOwnProperty(a$2) ? (l$2 += i$2[a$2], r$1 = parseInt(l$2, 16) * s$2, s$2 = 1, l$2 = "") : l$2 += a$2 : i$2.hasOwnProperty(a$2) ? (h$2 += i$2[a$2], u$2[r$1] = parseInt(h$2, 16) * s$2, s$2 = 1, r$1 = void 0, h$2 = "") : h$2 += a$2;
26211		return o$2;
26212	}, l$1 = {
26213		codePages: ["WinAnsiEncoding"],
26214		WinAnsiEncoding: c$1("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")
26215	}, h$1 = { Unicode: {
26216		Courier: l$1,
26217		"Courier-Bold": l$1,
26218		"Courier-BoldOblique": l$1,
26219		"Courier-Oblique": l$1,
26220		Helvetica: l$1,
26221		"Helvetica-Bold": l$1,
26222		"Helvetica-BoldOblique": l$1,
26223		"Helvetica-Oblique": l$1,
26224		"Times-Roman": l$1,
26225		"Times-Bold": l$1,
26226		"Times-BoldItalic": l$1,
26227		"Times-Italic": l$1
26228	} }, f$1 = { Unicode: {
26229		"Courier-Oblique": c$1("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
26230		"Times-BoldItalic": c$1("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3me
26230k3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),
26231		"Helvetica-Bold": c$1("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4y
26231dn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),
26232		Courier: c$1("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
26233		"Courier-BoldOblique": c$1("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
26234		"Times-Bold": c$1("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),
26235		Symbol: c$1("{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}"),
26236		Helvetica: c$1("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4y
26236dn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),
26237		"Helvetica-BoldOblique": c$1("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4y
26237dn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),
26238		ZapfDingbats: c$1("{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}"),
26239		"Courier-Bold": c$1("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
26240		"Times-Italic": c$1("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}
26240fv{17su5tu5qs}fw{17su5tu5qs}}}"),
26241		"Times-Roman": c$1("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),
26242		"Helvetica-Oblique": c$1("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4y
vendor: 11,024 bytes, lines 26242-26525
26242dn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")
26243	} };
26244	e.events.push(["addFont", function(t) {
26245		var e$1 = t.font, n$1 = f$1.Unicode[e$1.postScriptName];
26246		n$1 && (e$1.metadata.Unicode = {}, e$1.metadata.Unicode.widths = n$1.widths, e$1.metadata.Unicode.kerning = n$1.kerning);
26247		var r$1 = h$1.Unicode[e$1.postScriptName];
26248		r$1 && (e$1.metadata.Unicode.encoding = r$1, e$1.encoding = r$1.codePages[0]);
26249	}]);
26250}(E.API), function(t) {
26251	var e = function(t$1) {
26252		for (var e$1 = t$1.length, n = new Uint8Array(e$1), r = 0; r < e$1; r++) n[r] = t$1.charCodeAt(r);
26253		return n;
26254	};
26255	t.API.events.push(["addFont", function(n) {
26256		var r = void 0, i$2 = n.font, a$1 = n.instance;
26257		if (!i$2.isStandardFont) {
26258			if (void 0 === a$1) throw new Error("Font does not exist in vFS, import fonts or remove declaration doc.addFont('" + i$2.postScriptName + "').");
26259			if ("string" != typeof (r = !1 === a$1.existsFileInVFS(i$2.postScriptName) ? a$1.loadFile(i$2.postScriptName) : a$1.getFileFromVFS(i$2.postScriptName))) throw new Error("Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('" + i$2.postScriptName + "').");
26260			(function(n$1, r$1) {
26261				r$1 = /^\x00\x01\x00\x00/.test(r$1) ? e(r$1) : e(f(r$1)), n$1.metadata = t.API.TTFFont.open(r$1), n$1.metadata.Unicode = n$1.metadata.Unicode || {
26262					encoding: {},
26263					kerning: {},
26264					widths: []
26265				}, n$1.metadata.glyIdsUsed = [0];
26266			})(i$2, r);
26267		}
26268	}]);
26269}(E), E.API.addSvgAsImage = function(t, e, n, r, a$1, s$1, u$1, c$1) {
26270	if (isNaN(e) || isNaN(n)) throw o.error("jsPDF.addSvgAsImage: Invalid coordinates", arguments), /* @__PURE__ */ new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");
26271	if (isNaN(r) || isNaN(a$1)) throw o.error("jsPDF.addSvgAsImage: Invalid measurements", arguments), /* @__PURE__ */ new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");
26272	var l$1 = document.createElement("canvas");
26273	l$1.width = r, l$1.height = a$1;
26274	var h$1 = l$1.getContext("2d");
26275	h$1.fillStyle = "#fff", h$1.fillRect(0, 0, l$1.width, l$1.height);
26276	var f$1 = {
26277		ignoreMouse: !0,
26278		ignoreAnimation: !0,
26279		ignoreDimensions: !0
26280	}, d$1 = this;
26281	return (i.canvg ? Promise.resolve(i.canvg) : __vitePreload(() => import("./index.es-B3bLVv27.js"), __vite__mapDeps([34,6]))).catch(function(t$1) {
26282		return Promise.reject(/* @__PURE__ */ new Error("Could not load canvg: " + t$1));
26283	}).then(function(t$1) {
26284		return t$1.default ? t$1.default : t$1;
26285	}).then(function(e$1) {
26286		return e$1.fromString(h$1, t, f$1);
26287	}, function() {
26288		return Promise.reject(/* @__PURE__ */ new Error("Could not load canvg."));
26289	}).then(function(t$1) {
26290		return t$1.render(f$1);
26291	}).then(function() {
26292		d$1.addImage(l$1.toDataURL("image/jpeg", 1), e, n, r, a$1, u$1, c$1);
26293	});
26294}, E.API.putTotalPages = function(t) {
26295	var e, n = 0;
26296	parseInt(this.internal.getFont().id.substr(1), 10) < 15 ? (e = new RegExp(t, "g"), n = this.internal.getNumberOfPages()) : (e = new RegExp(this.pdfEscape16(t, this.internal.getFont()), "g"), n = this.pdfEscape16(this.internal.getNumberOfPages() + "", this.internal.getFont()));
26297	for (var r = 1; r <= this.internal.getNumberOfPages(); r++) for (var i$2 = 0; i$2 < this.internal.pages[r].length; i$2++) this.internal.pages[r][i$2] = this.internal.pages[r][i$2].replace(e, n);
26298	return this;
26299}, E.API.viewerPreferences = function(e, n) {
26300	var r;
26301	e = e || {}, n = n || !1;
26302	var i$2, a$1, o$1, s$1 = {
26303		HideToolbar: {
26304			defaultValue: !1,
26305			value: !1,
26306			type: "boolean",
26307			explicitSet: !1,
26308			valueSet: [!0, !1],
26309			pdfVersion: 1.3
26310		},
26311		HideMenubar: {
26312			defaultValue: !1,
26313			value: !1,
26314			type: "boolean",
26315			explicitSet: !1,
26316			valueSet: [!0, !1],
26317			pdfVersion: 1.3
26318		},
26319		HideWindowUI: {
26320			defaultValue: !1,
26321			value: !1,
26322			type: "boolean",
26323			explicitSet: !1,
26324			valueSet: [!0, !1],
26325			pdfVersion: 1.3
26326		},
26327		FitWindow: {
26328			defaultValue: !1,
26329			value: !1,
26330			type: "boolean",
26331			explicitSet: !1,
26332			valueSet: [!0, !1],
26333			pdfVersion: 1.3
26334		},
26335		CenterWindow: {
26336			defaultValue: !1,
26337			value: !1,
26338			type: "boolean",
26339			explicitSet: !1,
26340			valueSet: [!0, !1],
26341			pdfVersion: 1.3
26342		},
26343		DisplayDocTitle: {
26344			defaultValue: !1,
26345			value: !1,
26346			type: "boolean",
26347			explicitSet: !1,
26348			valueSet: [!0, !1],
26349			pdfVersion: 1.4
26350		},
26351		NonFullScreenPageMode: {
26352			defaultValue: "UseNone",
26353			value: "UseNone",
26354			type: "name",
26355			explicitSet: !1,
26356			valueSet: [
26357				"UseNone",
26358				"UseOutlines",
26359				"UseThumbs",
26360				"UseOC"
26361			],
26362			pdfVersion: 1.3
26363		},
26364		Direction: {
26365			defaultValue: "L2R",
26366			value: "L2R",
26367			type: "name",
26368			explicitSet: !1,
26369			valueSet: ["L2R", "R2L"],
26370			pdfVersion: 1.3
26371		},
26372		ViewArea: {
26373			defaultValue: "CropBox",
26374			value: "CropBox",
26375			type: "name",
26376			explicitSet: !1,
26377			valueSet: [
26378				"MediaBox",
26379				"CropBox",
26380				"TrimBox",
26381				"BleedBox",
26382				"ArtBox"
26383			],
26384			pdfVersion: 1.4
26385		},
26386		ViewClip: {
26387			defaultValue: "CropBox",
26388			value: "CropBox",
26389			type: "name",
26390			explicitSet: !1,
26391			valueSet: [
26392				"MediaBox",
26393				"CropBox",
26394				"TrimBox",
26395				"BleedBox",
26396				"ArtBox"
26397			],
26398			pdfVersion: 1.4
26399		},
26400		PrintArea: {
26401			defaultValue: "CropBox",
26402			value: "CropBox",
26403			type: "name",
26404			explicitSet: !1,
26405			valueSet: [
26406				"MediaBox",
26407				"CropBox",
26408				"TrimBox",
26409				"BleedBox",
26410				"ArtBox"
26411			],
26412			pdfVersion: 1.4
26413		},
26414		PrintClip: {
26415			defaultValue: "CropBox",
26416			value: "CropBox",
26417			type: "name",
26418			explicitSet: !1,
26419			valueSet: [
26420				"MediaBox",
26421				"CropBox",
26422				"TrimBox",
26423				"BleedBox",
26424				"ArtBox"
26425			],
26426			pdfVersion: 1.4
26427		},
26428		PrintScaling: {
26429			defaultValue: "AppDefault",
26430			value: "AppDefault",
26431			type: "name",
26432			explicitSet: !1,
26433			valueSet: ["AppDefault", "None"],
26434			pdfVersion: 1.6
26435		},
26436		Duplex: {
26437			defaultValue: "",
26438			value: "none",
26439			type: "name",
26440			explicitSet: !1,
26441			valueSet: [
26442				"Simplex",
26443				"DuplexFlipShortEdge",
26444				"DuplexFlipLongEdge",
26445				"none"
26446			],
26447			pdfVersion: 1.7
26448		},
26449		PickTrayByPDFSize: {
26450			defaultValue: !1,
26451			value: !1,
26452			type: "boolean",
26453			explicitSet: !1,
26454			valueSet: [!0, !1],
26455			pdfVersion: 1.7
26456		},
26457		PrintPageRange: {
26458			defaultValue: "",
26459			value: "",
26460			type: "array",
26461			explicitSet: !1,
26462			valueSet: null,
26463			pdfVersion: 1.7
26464		},
26465		NumCopies: {
26466			defaultValue: 1,
26467			value: 1,
26468			type: "integer",
26469			explicitSet: !1,
26470			valueSet: null,
26471			pdfVersion: 1.7
26472		}
26473	}, u$1 = Object.keys(s$1), c$1 = [], l$1 = 0, h$1 = 0, f$1 = 0;
26474	function d$1(t, e$1) {
26475		var n$1, r$1 = !1;
26476		for (n$1 = 0; n$1 < t.length; n$1 += 1) t[n$1] === e$1 && (r$1 = !0);
26477		return r$1;
26478	}
26479	if (void 0 === this.internal.viewerpreferences && (this.internal.viewerpreferences = {}, this.internal.viewerpreferences.configuration = JSON.parse(JSON.stringify(s$1)), this.internal.viewerpreferences.isSubscribed = !1), r = this.internal.viewerpreferences.configuration, "reset" === e || !0 === n) {
26480		var p$1 = u$1.length;
26481		for (f$1 = 0; f$1 < p$1; f$1 += 1) r[u$1[f$1]].value = r[u$1[f$1]].defaultValue, r[u$1[f$1]].explicitSet = !1;
26482	}
26483	if ("object" === _typeof(e)) {
26484		for (a$1 in e) if (o$1 = e[a$1], d$1(u$1, a$1) && void 0 !== o$1) {
26485			if ("boolean" === r[a$1].type && "boolean" == typeof o$1) r[a$1].value = o$1;
26486			else if ("name" === r[a$1].type && d$1(r[a$1].valueSet, o$1)) r[a$1].value = o$1;
26487			else if ("integer" === r[a$1].type && Number.isInteger(o$1)) r[a$1].value = o$1;
26488			else if ("array" === r[a$1].type) {
26489				for (l$1 = 0; l$1 < o$1.length; l$1 += 1) if (i$2 = !0, 1 === o$1[l$1].length && "number" == typeof o$1[l$1][0]) c$1.push(String(o$1[l$1] - 1));
26490				else if (o$1[l$1].length > 1) {
26491					for (h$1 = 0; h$1 < o$1[l$1].length; h$1 += 1) "number" != typeof o$1[l$1][h$1] && (i$2 = !1);
26492					!0 === i$2 && c$1.push([o$1[l$1][0] - 1, o$1[l$1][1] - 1].join(" "));
26493				}
26494				r[a$1].value = "[" + c$1.join(" ") + "]";
26495			} else r[a$1].value = r[a$1].defaultValue;
26496			r[a$1].explicitSet = !0;
26497		}
26498	}
26499	return !1 === this.internal.viewerpreferences.isSubscribed && (this.internal.events.subscribe("putCatalog", function() {
26500		var t, e$1 = [];
26501		for (t in r) !0 === r[t].explicitSet && ("name" === r[t].type ? e$1.push("/" + t + " /" + r[t].value) : e$1.push("/" + t + " " + r[t].value));
26502		0 !== e$1.length && this.internal.write("/ViewerPreferences\n<<\n" + e$1.join("\n") + "\n>>");
26503	}), this.internal.viewerpreferences.isSubscribed = !0), this.internal.viewerpreferences.configuration = r, this;
26504}, function(t) {
26505	var e = function() {
26506		var t$1 = "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"" + this.internal.__metadata__.namespaceuri + "\"><jspdf:metadata>", e$1 = unescape(encodeURIComponent("<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">")), n$1 = unescape(encodeURIComponent(t$1)), r = unescape(encodeURIComponent(this.internal.__metadata__.metadata)), i$2 = unescape(encodeURIComponent("</jspdf:metadata></rdf:Description></rdf:RDF>")), a$1 = unescape(encodeURIComponent("</x:xmpmeta>")), o$1 = n$1.length + r.length + i$2.length + e$1.length + a$1.length;
26507		this.internal.__metadata__.metadata_object_number = this.internal.newObject(), this.internal.write("<< /Type /Metadata /Subtype /XML /Length " + o$1 + " >>"), this.internal.write("stream"), this.internal.write(e$1 + n$1 + r + i$2 + a$1), this.internal.write("endstream"), this.internal.write("endobj");
26508	}, n = function() {
26509		this.internal.__metadata__.metadata_object_number && this.internal.write("/Metadata " + this.internal.__metadata__.metadata_object_number + " 0 R");
26510	};
26511	t.addMetadata = function(t$1, r) {
26512		return void 0 === this.internal.__metadata__ && (this.internal.__metadata__ = {
26513			metadata: t$1,
26514			namespaceuri: r || "http://jspdf.default.namespaceuri/"
26515		}, this.internal.events.subscribe("putCatalog", n), this.internal.events.subscribe("postPutResources", e)), this;
26516	};
26517}(E.API), function(t) {
26518	var e = t.API, n = e.pdfEscape16 = function(t$1, e$1) {
26519		for (var n$1, r$1 = e$1.metadata.Unicode.widths, i$3 = [
26520			"",
26521			"0",
26522			"00",
26523			"000",
26524			"0000"
26525		], a$1 = [""], o$1 = 0, s$1 = t$1.length; o$1 < s$1; ++o$1) {
vendor: 29,539 bytes, lines 26526-28947
26526			if (n$1 = e$1.metadata.characterToGlyph(t$1.charCodeAt(o$1)), e$1.metadata.glyIdsUsed.push(n$1), e$1.metadata.toUnicode[n$1] = t$1.charCodeAt(o$1), -1 == r$1.indexOf(n$1) && (r$1.push(n$1), r$1.push([parseInt(e$1.metadata.widthOfGlyph(n$1), 10)])), "0" == n$1) return a$1.join("");
26527			n$1 = n$1.toString(16), a$1.push(i$3[4 - n$1.length], n$1);
26528		}
26529		return a$1.join("");
26530	}, r = function(t$1) {
26531		var e$1, n$1, r$1, i$3, a$1, o$1, s$1;
26532		for (a$1 = "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n  /Registry (Adobe)\n  /Ordering (UCS)\n  /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange", r$1 = [], o$1 = 0, s$1 = (n$1 = Object.keys(t$1).sort(function(t$2, e$2) {
26533			return t$2 - e$2;
26534		})).length; o$1 < s$1; o$1++) e$1 = n$1[o$1], r$1.length >= 100 && (a$1 += "\n" + r$1.length + " beginbfchar\n" + r$1.join("\n") + "\nendbfchar", r$1 = []), void 0 !== t$1[e$1] && null !== t$1[e$1] && "function" == typeof t$1[e$1].toString && (i$3 = ("0000" + t$1[e$1].toString(16)).slice(-4), e$1 = ("0000" + (+e$1).toString(16)).slice(-4), r$1.push("<" + e$1 + "><" + i$3 + ">"));
26535		return r$1.length && (a$1 += "\n" + r$1.length + " beginbfchar\n" + r$1.join("\n") + "\nendbfchar\n"), a$1 + "endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend";
26536	};
26537	e.events.push(["putFont", function(e$1) {
26538		(function(e$2) {
26539			var n$1 = e$2.font, i$3 = e$2.out, a$1 = e$2.newObject, o$1 = e$2.putStream;
26540			if (n$1.metadata instanceof t.API.TTFFont && "Identity-H" === n$1.encoding) {
26541				for (var s$1 = n$1.metadata.Unicode.widths, u$1 = n$1.metadata.subset.encode(n$1.metadata.glyIdsUsed, 1), c$1 = "", l$1 = 0; l$1 < u$1.length; l$1++) c$1 += String.fromCharCode(u$1[l$1]);
26542				var h$1 = a$1();
26543				o$1({
26544					data: c$1,
26545					addLength1: !0,
26546					objectId: h$1
26547				}), i$3("endobj");
26548				var f$1 = a$1();
26549				o$1({
26550					data: r(n$1.metadata.toUnicode),
26551					addLength1: !0,
26552					objectId: f$1
26553				}), i$3("endobj");
26554				var d$1 = a$1();
26555				i$3("<<"), i$3("/Type /FontDescriptor"), i$3("/FontName /" + j(n$1.fontName)), i$3("/FontFile2 " + h$1 + " 0 R"), i$3("/FontBBox " + t.API.PDFObject.convert(n$1.metadata.bbox)), i$3("/Flags " + n$1.metadata.flags), i$3("/StemV " + n$1.metadata.stemV), i$3("/ItalicAngle " + n$1.metadata.italicAngle), i$3("/Ascent " + n$1.metadata.ascender), i$3("/Descent " + n$1.metadata.decender), i$3("/CapHeight " + n$1.metadata.capHeight), i$3(">>"), i$3("endobj");
26556				var p$1 = a$1();
26557				i$3("<<"), i$3("/Type /Font"), i$3("/BaseFont /" + j(n$1.fontName)), i$3("/FontDescriptor " + d$1 + " 0 R"), i$3("/W " + t.API.PDFObject.convert(s$1)), i$3("/CIDToGIDMap /Identity"), i$3("/DW 1000"), i$3("/Subtype /CIDFontType2"), i$3("/CIDSystemInfo"), i$3("<<"), i$3("/Supplement 0"), i$3("/Registry (Adobe)"), i$3("/Ordering (" + n$1.encoding + ")"), i$3(">>"), i$3(">>"), i$3("endobj"), n$1.objectNumber = a$1(), i$3("<<"), i$3("/Type /Font"), i$3("/Subtype /Type0"), i$3("/ToUnicode " + f$1 + " 0 R"), i$3("/BaseFont /" + j(n$1.fontName)), i$3("/Encoding /" + n$1.encoding), i$3("/DescendantFonts [" + p$1 + " 0 R]"), i$3(">>"), i$3("endobj"), n$1.isAlreadyPutted = !0;
26558			}
26559		})(e$1);
26560	}]), e.events.push(["putFont", function(e$1) {
26561		(function(e$2) {
26562			var n$1 = e$2.font, i$3 = e$2.out, a$1 = e$2.newObject, o$1 = e$2.putStream;
26563			if (n$1.metadata instanceof t.API.TTFFont && "WinAnsiEncoding" === n$1.encoding) {
26564				for (var s$1 = n$1.metadata.rawData, u$1 = "", c$1 = 0; c$1 < s$1.length; c$1++) u$1 += String.fromCharCode(s$1[c$1]);
26565				var l$1 = a$1();
26566				o$1({
26567					data: u$1,
26568					addLength1: !0,
26569					objectId: l$1
26570				}), i$3("endobj");
26571				var h$1 = a$1();
26572				o$1({
26573					data: r(n$1.metadata.toUnicode),
26574					addLength1: !0,
26575					objectId: h$1
26576				}), i$3("endobj");
26577				var f$1 = a$1();
26578				i$3("<<"), i$3("/Descent " + n$1.metadata.decender), i$3("/CapHeight " + n$1.metadata.capHeight), i$3("/StemV " + n$1.metadata.stemV), i$3("/Type /FontDescriptor"), i$3("/FontFile2 " + l$1 + " 0 R"), i$3("/Flags 96"), i$3("/FontBBox " + t.API.PDFObject.convert(n$1.metadata.bbox)), i$3("/FontName /" + j(n$1.fontName)), i$3("/ItalicAngle " + n$1.metadata.italicAngle), i$3("/Ascent " + n$1.metadata.ascender), i$3(">>"), i$3("endobj"), n$1.objectNumber = a$1();
26579				for (var d$1 = 0; d$1 < n$1.metadata.hmtx.widths.length; d$1++) n$1.metadata.hmtx.widths[d$1] = parseInt(n$1.metadata.hmtx.widths[d$1] * (1e3 / n$1.metadata.head.unitsPerEm));
26580				i$3("<</Subtype/TrueType/Type/Font/ToUnicode " + h$1 + " 0 R/BaseFont/" + j(n$1.fontName) + "/FontDescriptor " + f$1 + " 0 R/Encoding/" + n$1.encoding + " /FirstChar 29 /LastChar 255 /Widths " + t.API.PDFObject.convert(n$1.metadata.hmtx.widths) + ">>"), i$3("endobj"), n$1.isAlreadyPutted = !0;
26581			}
26582		})(e$1);
26583	}]);
26584	var i$2 = function(t$1) {
26585		var e$1, r$1 = t$1.text || "", i$3 = t$1.x, a$1 = t$1.y, o$1 = t$1.options || {}, s$1 = t$1.mutex || {}, u$1 = s$1.pdfEscape, c$1 = s$1.activeFontKey, l$1 = s$1.fonts, h$1 = c$1, f$1 = "", d$1 = 0, p$1 = "", g$1 = l$1[h$1].encoding;
26586		if ("Identity-H" !== l$1[h$1].encoding) return {
26587			text: r$1,
26588			x: i$3,
26589			y: a$1,
26590			options: o$1,
26591			mutex: s$1
26592		};
26593		for (p$1 = r$1, h$1 = c$1, Array.isArray(r$1) && (p$1 = r$1[0]), d$1 = 0; d$1 < p$1.length; d$1 += 1) l$1[h$1].metadata.hasOwnProperty("cmap") && (e$1 = l$1[h$1].metadata.cmap.unicode.codeMap[p$1[d$1].charCodeAt(0)]), e$1 || p$1[d$1].charCodeAt(0) < 256 && l$1[h$1].metadata.hasOwnProperty("Unicode") ? f$1 += p$1[d$1] : f$1 += "";
26594		var m$1 = "";
26595		return parseInt(h$1.slice(1)) < 14 || "WinAnsiEncoding" === g$1 ? m$1 = u$1(f$1, h$1).split("").map(function(t$2) {
26596			return t$2.charCodeAt(0).toString(16);
26597		}).join("") : "Identity-H" === g$1 && (m$1 = n(f$1, l$1[h$1])), s$1.isHex = !0, {
26598			text: m$1,
26599			x: i$3,
26600			y: a$1,
26601			options: o$1,
26602			mutex: s$1
26603		};
26604	};
26605	e.events.push(["postProcessText", function(t$1) {
26606		var e$1 = t$1.text || "", n$1 = [], r$1 = {
26607			text: e$1,
26608			x: t$1.x,
26609			y: t$1.y,
26610			options: t$1.options,
26611			mutex: t$1.mutex
26612		};
26613		if (Array.isArray(e$1)) {
26614			var a$1 = 0;
26615			for (a$1 = 0; a$1 < e$1.length; a$1 += 1) Array.isArray(e$1[a$1]) && 3 === e$1[a$1].length ? n$1.push([
26616				i$2(Object.assign({}, r$1, { text: e$1[a$1][0] })).text,
26617				e$1[a$1][1],
26618				e$1[a$1][2]
26619			]) : n$1.push(i$2(Object.assign({}, r$1, { text: e$1[a$1] })).text);
26620			t$1.text = n$1;
26621		} else t$1.text = i$2(Object.assign({}, r$1, { text: e$1 })).text;
26622	}]);
26623}(E), function(t) {
26624	var e = function() {
26625		return void 0 === this.internal.vFS && (this.internal.vFS = {}), !0;
26626	};
26627	t.existsFileInVFS = function(t$1) {
26628		return e.call(this), void 0 !== this.internal.vFS[t$1];
26629	}, t.addFileToVFS = function(t$1, n) {
26630		return e.call(this), this.internal.vFS[t$1] = n, this;
26631	}, t.getFileFromVFS = function(t$1) {
26632		return e.call(this), void 0 !== this.internal.vFS[t$1] ? this.internal.vFS[t$1] : null;
26633	};
26634}(E.API), function(t) {
26635	t.__bidiEngine__ = t.prototype.__bidiEngine__ = function(t$1) {
26636		var n$1, r, i$2, a$1, o$1, s$1, u$1, c$1 = e, l$1 = [
26637			[
26638				0,
26639				3,
26640				0,
26641				1,
26642				0,
26643				0,
26644				0
26645			],
26646			[
26647				0,
26648				3,
26649				0,
26650				1,
26651				2,
26652				2,
26653				0
26654			],
26655			[
26656				0,
26657				3,
26658				0,
26659				17,
26660				2,
26661				0,
26662				1
26663			],
26664			[
26665				0,
26666				3,
26667				5,
26668				5,
26669				4,
26670				1,
26671				0
26672			],
26673			[
26674				0,
26675				3,
26676				21,
26677				21,
26678				4,
26679				0,
26680				1
26681			],
26682			[
26683				0,
26684				3,
26685				5,
26686				5,
26687				4,
26688				2,
26689				0
26690			]
26691		], h$1 = [
26692			[
26693				2,
26694				0,
26695				1,
26696				1,
26697				0,
26698				1,
26699				0
26700			],
26701			[
26702				2,
26703				0,
26704				1,
26705				1,
26706				0,
26707				2,
26708				0
26709			],
26710			[
26711				2,
26712				0,
26713				2,
26714				1,
26715				3,
26716				2,
26717				0
26718			],
26719			[
26720				2,
26721				0,
26722				2,
26723				33,
26724				3,
26725				1,
26726				1
26727			]
26728		], f$1 = {
26729			L: 0,
26730			R: 1,
26731			EN: 2,
26732			AN: 3,
26733			N: 4,
26734			B: 5,
26735			S: 6
26736		}, d$1 = {
26737			0: 0,
26738			5: 1,
26739			6: 2,
26740			7: 3,
26741			32: 4,
26742			251: 5,
26743			254: 6,
26744			255: 7
26745		}, p$1 = [
26746			"(",
26747			")",
26748			"(",
26749			"<",
26750			">",
26751			"<",
26752			"[",
26753			"]",
26754			"[",
26755			"{",
26756			"}",
26757			"{",
26758			"«",
26759			"»",
26760			"«",
26761			"‹",
26762			"›",
26763			"‹",
26764			"⁅",
26765			"⁆",
26766			"⁅",
26767			"⁽",
26768			"⁾",
26769			"⁽",
26770			"₍",
26771			"₎",
26772			"₍",
26773			"≤",
26774			"≥",
26775			"≤",
26776			"〈",
26777			"〉",
26778			"〈",
26779			"﹙",
26780			"﹚",
26781			"﹙",
26782			"﹛",
26783			"﹜",
26784			"﹛",
26785			"﹝",
26786			"﹞",
26787			"﹝",
26788			"﹤",
26789			"ï¹¥",
26790			"﹤"
26791		], g$1 = /* @__PURE__ */ new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/), m$1 = !1, v$1 = 0;
26792		this.__bidiEngine__ = {};
26793		var b$1 = function(t$2) {
26794			var e$1 = t$2.charCodeAt(), n$2 = e$1 >> 8, r$1 = d$1[n$2];
26795			return void 0 !== r$1 ? c$1[256 * r$1 + (255 & e$1)] : 252 === n$2 || 253 === n$2 ? "AL" : g$1.test(n$2) ? "L" : 8 === n$2 ? "R" : "N";
26796		}, y$1 = function(t$2) {
26797			for (var e$1, n$2 = 0; n$2 < t$2.length; n$2++) {
26798				if ("L" === (e$1 = b$1(t$2.charAt(n$2)))) return !1;
26799				if ("R" === e$1) return !0;
26800			}
26801			return !1;
26802		}, w$1 = function(t$2, e$1, o$2, s$2) {
26803			var u$2, c$2, l$2, h$2, f$2 = e$1[s$2];
26804			switch (f$2) {
26805				case "L":
26806				case "R":
26807				case "LRE":
26808				case "RLE":
26809				case "LRO":
26810				case "RLO":
26811				case "PDF":
26812					m$1 = !1;
26813					break;
26814				case "N":
26815				case "AN": break;
26816				case "EN":
26817					m$1 && (f$2 = "AN");
26818					break;
26819				case "AL":
26820					m$1 = !0, f$2 = "R";
26821					break;
26822				case "WS":
26823				case "BN":
26824					f$2 = "N";
26825					break;
26826				case "CS":
26827					s$2 < 1 || s$2 + 1 >= e$1.length || "EN" !== (u$2 = o$2[s$2 - 1]) && "AN" !== u$2 || "EN" !== (c$2 = e$1[s$2 + 1]) && "AN" !== c$2 ? f$2 = "N" : m$1 && (c$2 = "AN"), f$2 = c$2 === u$2 ? c$2 : "N";
26828					break;
26829				case "ES":
26830					f$2 = "EN" === (u$2 = s$2 > 0 ? o$2[s$2 - 1] : "B") && s$2 + 1 < e$1.length && "EN" === e$1[s$2 + 1] ? "EN" : "N";
26831					break;
26832				case "ET":
26833					if (s$2 > 0 && "EN" === o$2[s$2 - 1]) {
26834						f$2 = "EN";
26835						break;
26836					}
26837					if (m$1) {
26838						f$2 = "N";
26839						break;
26840					}
26841					for (l$2 = s$2 + 1, h$2 = e$1.length; l$2 < h$2 && "ET" === e$1[l$2];) l$2++;
26842					f$2 = l$2 < h$2 && "EN" === e$1[l$2] ? "EN" : "N";
26843					break;
26844				case "NSM":
26845					if (i$2 && !a$1) {
26846						for (h$2 = e$1.length, l$2 = s$2 + 1; l$2 < h$2 && "NSM" === e$1[l$2];) l$2++;
26847						if (l$2 < h$2) {
26848							var d$2 = t$2[s$2], p$2 = d$2 >= 1425 && d$2 <= 2303 || 64286 === d$2;
26849							if (u$2 = e$1[l$2], p$2 && ("R" === u$2 || "AL" === u$2)) {
26850								f$2 = "R";
26851								break;
26852							}
26853						}
26854					}
26855					f$2 = s$2 < 1 || "B" === (u$2 = e$1[s$2 - 1]) ? "N" : o$2[s$2 - 1];
26856					break;
26857				case "B":
26858					m$1 = !1, n$1 = !0, f$2 = v$1;
26859					break;
26860				case "S": r = !0, f$2 = "N";
26861			}
26862			return f$2;
26863		}, N$1 = function(t$2, e$1, n$2) {
26864			var r$1 = t$2.split("");
26865			return n$2 && L$1(r$1, n$2, { hiLevel: v$1 }), r$1.reverse(), e$1 && e$1.reverse(), r$1.join("");
26866		}, L$1 = function(t$2, e$1, i$3) {
26867			var a$2, o$2, s$2, u$2, c$2, d$2 = -1, p$2 = t$2.length, g$2 = 0, y$2 = [], N$2 = v$1 ? h$1 : l$1, L$2 = [];
26868			for (m$1 = !1, n$1 = !1, r = !1, o$2 = 0; o$2 < p$2; o$2++) L$2[o$2] = b$1(t$2[o$2]);
26869			for (s$2 = 0; s$2 < p$2; s$2++) {
26870				if (c$2 = g$2, y$2[s$2] = w$1(t$2, L$2, y$2, s$2), a$2 = 240 & (g$2 = N$2[c$2][f$1[y$2[s$2]]]), g$2 &= 15, e$1[s$2] = u$2 = N$2[g$2][5], a$2 > 0) if (16 === a$2) {
26871					for (o$2 = d$2; o$2 < s$2; o$2++) e$1[o$2] = 1;
26872					d$2 = -1;
26873				} else d$2 = -1;
26874				if (N$2[g$2][6]) -1 === d$2 && (d$2 = s$2);
26875				else if (d$2 > -1) {
26876					for (o$2 = d$2; o$2 < s$2; o$2++) e$1[o$2] = u$2;
26877					d$2 = -1;
26878				}
26879				"B" === L$2[s$2] && (e$1[s$2] = 0), i$3.hiLevel |= u$2;
26880			}
26881			r && function(t$3, e$2, n$2) {
26882				for (var r$1 = 0; r$1 < n$2; r$1++) if ("S" === t$3[r$1]) {
26883					e$2[r$1] = v$1;
26884					for (var i$4 = r$1 - 1; i$4 >= 0 && "WS" === t$3[i$4]; i$4--) e$2[i$4] = v$1;
26885				}
26886			}(L$2, e$1, p$2);
26887		}, x$2 = function(t$2, e$1, r$1, i$3, a$2) {
26888			if (!(a$2.hiLevel < t$2)) {
26889				if (1 === t$2 && 1 === v$1 && !n$1) return e$1.reverse(), void (r$1 && r$1.reverse());
26890				for (var o$2, s$2, u$2, c$2, l$2 = e$1.length, h$2 = 0; h$2 < l$2;) {
26891					if (i$3[h$2] >= t$2) {
26892						for (u$2 = h$2 + 1; u$2 < l$2 && i$3[u$2] >= t$2;) u$2++;
26893						for (c$2 = h$2, s$2 = u$2 - 1; c$2 < s$2; c$2++, s$2--) o$2 = e$1[c$2], e$1[c$2] = e$1[s$2], e$1[s$2] = o$2, r$1 && (o$2 = r$1[c$2], r$1[c$2] = r$1[s$2], r$1[s$2] = o$2);
26894						h$2 = u$2;
26895					}
26896					h$2++;
26897				}
26898			}
26899		}, A$1 = function(t$2, e$1, n$2) {
26900			var r$1 = t$2.split(""), i$3 = { hiLevel: v$1 };
26901			return n$2 || (n$2 = []), L$1(r$1, n$2, i$3), function(t$3, e$2, n$3) {
26902				if (0 !== n$3.hiLevel && u$1) for (var r$2, i$4 = 0; i$4 < t$3.length; i$4++) 1 === e$2[i$4] && (r$2 = p$1.indexOf(t$3[i$4])) >= 0 && (t$3[i$4] = p$1[r$2 + 1]);
26903			}(r$1, n$2, i$3), x$2(2, r$1, e$1, n$2, i$3), x$2(1, r$1, e$1, n$2, i$3), r$1.join("");
26904		};
26905		return this.__bidiEngine__.doBidiReorder = function(t$2, e$1, n$2) {
26906			if (function(t$3, e$2) {
26907				if (e$2) for (var n$3 = 0; n$3 < t$3.length; n$3++) e$2[n$3] = n$3;
26908				void 0 === a$1 && (a$1 = y$1(t$3)), void 0 === s$1 && (s$1 = y$1(t$3));
26909			}(t$2, e$1), i$2 || !o$1 || s$1) if (i$2 && o$1 && a$1 ^ s$1) v$1 = a$1 ? 1 : 0, t$2 = N$1(t$2, e$1, n$2);
26910			else if (!i$2 && o$1 && s$1) v$1 = a$1 ? 1 : 0, t$2 = A$1(t$2, e$1, n$2), t$2 = N$1(t$2, e$1);
26911			else if (!i$2 || a$1 || o$1 || s$1) {
26912				if (i$2 && !o$1 && a$1 ^ s$1) t$2 = N$1(t$2, e$1), a$1 ? (v$1 = 0, t$2 = A$1(t$2, e$1, n$2)) : (v$1 = 1, t$2 = A$1(t$2, e$1, n$2), t$2 = N$1(t$2, e$1));
26913				else if (i$2 && a$1 && !o$1 && s$1) v$1 = 1, t$2 = A$1(t$2, e$1, n$2), t$2 = N$1(t$2, e$1);
26914				else if (!i$2 && !o$1 && a$1 ^ s$1) {
26915					var r$1 = u$1;
26916					a$1 ? (v$1 = 1, t$2 = A$1(t$2, e$1, n$2), v$1 = 0, u$1 = !1, t$2 = A$1(t$2, e$1, n$2), u$1 = r$1) : (v$1 = 0, t$2 = A$1(t$2, e$1, n$2), t$2 = N$1(t$2, e$1), v$1 = 1, u$1 = !1, t$2 = A$1(t$2, e$1, n$2), u$1 = r$1, t$2 = N$1(t$2, e$1));
26917				}
26918			} else v$1 = 0, t$2 = A$1(t$2, e$1, n$2);
26919			else v$1 = a$1 ? 1 : 0, t$2 = A$1(t$2, e$1, n$2);
26920			return t$2;
26921		}, this.__bidiEngine__.setOptions = function(t$2) {
26922			t$2 && (i$2 = t$2.isInputVisual, o$1 = t$2.isOutputVisual, a$1 = t$2.isInputRtl, s$1 = t$2.isOutputRtl, u$1 = t$2.isSymmetricSwapping);
26923		}, this.__bidiEngine__.setOptions(t$1), this.__bidiEngine__;
26924	};
26925	var e = [
26926		"BN",
26927		"BN",
26928		"BN",
26929		"BN",
26930		"BN",
26931		"BN",
26932		"BN",
26933		"BN",
26934		"BN",
26935		"S",
26936		"B",
26937		"S",
26938		"WS",
26939		"B",
26940		"BN",
26941		"BN",
26942		"BN",
26943		"BN",
26944		"BN",
26945		"BN",
26946		"BN",
26947		"BN",
26948		"BN",
26949		"BN",
26950		"BN",
26951		"BN",
26952		"BN",
26953		"BN",
26954		"B",
26955		"B",
26956		"B",
26957		"S",
26958		"WS",
26959		"N",
26960		"N",
26961		"ET",
26962		"ET",
26963		"ET",
26964		"N",
26965		"N",
26966		"N",
26967		"N",
26968		"N",
26969		"ES",
26970		"CS",
26971		"ES",
26972		"CS",
26973		"CS",
26974		"EN",
26975		"EN",
26976		"EN",
26977		"EN",
26978		"EN",
26979		"EN",
26980		"EN",
26981		"EN",
26982		"EN",
26983		"EN",
26984		"CS",
26985		"N",
26986		"N",
26987		"N",
26988		"N",
26989		"N",
26990		"N",
26991		"L",
26992		"L",
26993		"L",
26994		"L",
26995		"L",
26996		"L",
26997		"L",
26998		"L",
26999		"L",
27000		"L",
27001		"L",
27002		"L",
27003		"L",
27004		"L",
27005		"L",
27006		"L",
27007		"L",
27008		"L",
27009		"L",
27010		"L",
27011		"L",
27012		"L",
27013		"L",
27014		"L",
27015		"L",
27016		"L",
27017		"N",
27018		"N",
27019		"N",
27020		"N",
27021		"N",
27022		"N",
27023		"L",
27024		"L",
27025		"L",
27026		"L",
27027		"L",
27028		"L",
27029		"L",
27030		"L",
27031		"L",
27032		"L",
27033		"L",
27034		"L",
27035		"L",
27036		"L",
27037		"L",
27038		"L",
27039		"L",
27040		"L",
27041		"L",
27042		"L",
27043		"L",
27044		"L",
27045		"L",
27046		"L",
27047		"L",
27048		"L",
27049		"N",
27050		"N",
27051		"N",
27052		"N",
27053		"BN",
27054		"BN",
27055		"BN",
27056		"BN",
27057		"BN",
27058		"BN",
27059		"B",
27060		"BN",
27061		"BN",
27062		"BN",
27063		"BN",
27064		"BN",
27065		"BN",
27066		"BN",
27067		"BN",
27068		"BN",
27069		"BN",
27070		"BN",
27071		"BN",
27072		"BN",
27073		"BN",
27074		"BN",
27075		"BN",
27076		"BN",
27077		"BN",
27078		"BN",
27079		"BN",
27080		"BN",
27081		"BN",
27082		"BN",
27083		"BN",
27084		"BN",
27085		"BN",
27086		"CS",
27087		"N",
27088		"ET",
27089		"ET",
27090		"ET",
27091		"ET",
27092		"N",
27093		"N",
27094		"N",
27095		"N",
27096		"L",
27097		"N",
27098		"N",
27099		"BN",
27100		"N",
27101		"N",
27102		"ET",
27103		"ET",
27104		"EN",
27105		"EN",
27106		"N",
27107		"L",
27108		"N",
27109		"N",
27110		"N",
27111		"EN",
27112		"L",
27113		"N",
27114		"N",
27115		"N",
27116		"N",
27117		"N",
27118		"L",
27119		"L",
27120		"L",
27121		"L",
27122		"L",
27123		"L",
27124		"L",
27125		"L",
27126		"L",
27127		"L",
27128		"L",
27129		"L",
27130		"L",
27131		"L",
27132		"L",
27133		"L",
27134		"L",
27135		"L",
27136		"L",
27137		"L",
27138		"L",
27139		"L",
27140		"L",
27141		"N",
27142		"L",
27143		"L",
27144		"L",
27145		"L",
27146		"L",
27147		"L",
27148		"L",
27149		"L",
27150		"L",
27151		"L",
27152		"L",
27153		"L",
27154		"L",
27155		"L",
27156		"L",
27157		"L",
27158		"L",
27159		"L",
27160		"L",
27161		"L",
27162		"L",
27163		"L",
27164		"L",
27165		"L",
27166		"L",
27167		"L",
27168		"L",
27169		"L",
27170		"L",
27171		"L",
27172		"L",
27173		"N",
27174		"L",
27175		"L",
27176		"L",
27177		"L",
27178		"L",
27179		"L",
27180		"L",
27181		"L",
27182		"L",
27183		"L",
27184		"L",
27185		"L",
27186		"L",
27187		"L",
27188		"L",
27189		"L",
27190		"L",
27191		"L",
27192		"L",
27193		"L",
27194		"L",
27195		"L",
27196		"L",
27197		"L",
27198		"L",
27199		"L",
27200		"L",
27201		"L",
27202		"L",
27203		"L",
27204		"L",
27205		"L",
27206		"L",
27207		"L",
27208		"L",
27209		"L",
27210		"L",
27211		"L",
27212		"L",
27213		"L",
27214		"L",
27215		"L",
27216		"L",
27217		"L",
27218		"L",
27219		"L",
27220		"L",
27221		"L",
27222		"L",
27223		"L",
27224		"L",
27225		"L",
27226		"L",
27227		"L",
27228		"L",
27229		"L",
27230		"N",
27231		"L",
27232		"L",
27233		"L",
27234		"L",
27235		"L",
27236		"L",
27237		"L",
27238		"L",
27239		"L",
27240		"L",
27241		"L",
27242		"L",
27243		"L",
27244		"L",
27245		"L",
27246		"L",
27247		"L",
27248		"L",
27249		"L",
27250		"L",
27251		"L",
27252		"L",
27253		"L",
27254		"L",
27255		"L",
27256		"L",
27257		"L",
27258		"L",
27259		"L",
27260		"L",
27261		"L",
27262		"L",
27263		"L",
27264		"L",
27265		"L",
27266		"L",
27267		"L",
27268		"L",
27269		"N",
27270		"N",
27271		"L",
27272		"L",
27273		"L",
27274		"L",
27275		"L",
27276		"L",
27277		"L",
27278		"N",
27279		"L",
27280		"L",
27281		"L",
27282		"L",
27283		"L",
27284		"L",
27285		"L",
27286		"L",
27287		"L",
27288		"L",
27289		"L",
27290		"L",
27291		"L",
27292		"L",
27293		"L",
27294		"L",
27295		"L",
27296		"L",
27297		"L",
27298		"L",
27299		"L",
27300		"L",
27301		"L",
27302		"L",
27303		"L",
27304		"L",
27305		"L",
27306		"L",
27307		"L",
27308		"L",
27309		"L",
27310		"L",
27311		"L",
27312		"L",
27313		"L",
27314		"L",
27315		"L",
27316		"L",
27317		"L",
27318		"N",
27319		"L",
27320		"N",
27321		"N",
27322		"N",
27323		"N",
27324		"N",
27325		"ET",
27326		"N",
27327		"NSM",
27328		"NSM",
27329		"NSM",
27330		"NSM",
27331		"NSM",
27332		"NSM",
27333		"NSM",
27334		"NSM",
27335		"NSM",
27336		"NSM",
27337		"NSM",
27338		"NSM",
27339		"NSM",
27340		"NSM",
27341		"NSM",
27342		"NSM",
27343		"NSM",
27344		"NSM",
27345		"NSM",
27346		"NSM",
27347		"NSM",
27348		"NSM",
27349		"NSM",
27350		"NSM",
27351		"NSM",
27352		"NSM",
27353		"NSM",
27354		"NSM",
27355		"NSM",
27356		"NSM",
27357		"NSM",
27358		"NSM",
27359		"NSM",
27360		"NSM",
27361		"NSM",
27362		"NSM",
27363		"NSM",
27364		"NSM",
27365		"NSM",
27366		"NSM",
27367		"NSM",
27368		"NSM",
27369		"NSM",
27370		"NSM",
27371		"NSM",
27372		"R",
27373		"NSM",
27374		"R",
27375		"NSM",
27376		"NSM",
27377		"R",
27378		"NSM",
27379		"NSM",
27380		"R",
27381		"NSM",
27382		"N",
27383		"N",
27384		"N",
27385		"N",
27386		"N",
27387		"N",
27388		"N",
27389		"N",
27390		"R",
27391		"R",
27392		"R",
27393		"R",
27394		"R",
27395		"R",
27396		"R",
27397		"R",
27398		"R",
27399		"R",
27400		"R",
27401		"R",
27402		"R",
27403		"R",
27404		"R",
27405		"R",
27406		"R",
27407		"R",
27408		"R",
27409		"R",
27410		"R",
27411		"R",
27412		"R",
27413		"R",
27414		"R",
27415		"R",
27416		"R",
27417		"N",
27418		"N",
27419		"N",
27420		"N",
27421		"N",
27422		"R",
27423		"R",
27424		"R",
27425		"R",
27426		"R",
27427		"N",
27428		"N",
27429		"N",
27430		"N",
27431		"N",
27432		"N",
27433		"N",
27434		"N",
27435		"N",
27436		"N",
27437		"N",
27438		"AN",
27439		"AN",
27440		"AN",
27441		"AN",
27442		"AN",
27443		"AN",
27444		"N",
27445		"N",
27446		"AL",
27447		"ET",
27448		"ET",
27449		"AL",
27450		"CS",
27451		"AL",
27452		"N",
27453		"N",
27454		"NSM",
27455		"NSM",
27456		"NSM",
27457		"NSM",
27458		"NSM",
27459		"NSM",
27460		"NSM",
27461		"NSM",
27462		"NSM",
27463		"NSM",
27464		"NSM",
27465		"AL",
27466		"AL",
27467		"N",
27468		"AL",
27469		"AL",
27470		"AL",
27471		"AL",
27472		"AL",
27473		"AL",
27474		"AL",
27475		"AL",
27476		"AL",
27477		"AL",
27478		"AL",
27479		"AL",
27480		"AL",
27481		"AL",
27482		"AL",
27483		"AL",
27484		"AL",
27485		"AL",
27486		"AL",
27487		"AL",
27488		"AL",
27489		"AL",
27490		"AL",
27491		"AL",
27492		"AL",
27493		"AL",
27494		"AL",
27495		"AL",
27496		"AL",
27497		"AL",
27498		"AL",
27499		"AL",
27500		"AL",
27501		"AL",
27502		"AL",
27503		"AL",
27504		"AL",
27505		"AL",
27506		"AL",
27507		"AL",
27508		"AL",
27509		"AL",
27510		"AL",
27511		"AL",
27512		"AL",
27513		"NSM",
27514		"NSM",
27515		"NSM",
27516		"NSM",
27517		"NSM",
27518		"NSM",
27519		"NSM",
27520		"NSM",
27521		"NSM",
27522		"NSM",
27523		"NSM",
27524		"NSM",
27525		"NSM",
27526		"NSM",
27527		"NSM",
27528		"NSM",
27529		"NSM",
27530		"NSM",
27531		"NSM",
27532		"NSM",
27533		"NSM",
27534		"AN",
27535		"AN",
27536		"AN",
27537		"AN",
27538		"AN",
27539		"AN",
27540		"AN",
27541		"AN",
27542		"AN",
27543		"AN",
27544		"ET",
27545		"AN",
27546		"AN",
27547		"AL",
27548		"AL",
27549		"AL",
27550		"NSM",
27551		"AL",
27552		"AL",
27553		"AL",
27554		"AL",
27555		"AL",
27556		"AL",
27557		"AL",
27558		"AL",
27559		"AL",
27560		"AL",
27561		"AL",
27562		"AL",
27563		"AL",
27564		"AL",
27565		"AL",
27566		"AL",
27567		"AL",
27568		"AL",
27569		"AL",
27570		"AL",
27571		"AL",
27572		"AL",
27573		"AL",
27574		"AL",
27575		"AL",
27576		"AL",
27577		"AL",
27578		"AL",
27579		"AL",
27580		"AL",
27581		"AL",
27582		"AL",
27583		"AL",
27584		"AL",
27585		"AL",
27586		"AL",
27587		"AL",
27588		"AL",
27589		"AL",
27590		"AL",
27591		"AL",
27592		"AL",
27593		"AL",
27594		"AL",
27595		"AL",
27596		"AL",
27597		"AL",
27598		"AL",
27599		"AL",
27600		"AL",
27601		"AL",
27602		"AL",
27603		"AL",
27604		"AL",
27605		"AL",
27606		"AL",
27607		"AL",
27608		"AL",
27609		"AL",
27610		"AL",
27611		"AL",
27612		"AL",
27613		"AL",
27614		"AL",
27615		"AL",
27616		"AL",
27617		"AL",
27618		"AL",
27619		"AL",
27620		"AL",
27621		"AL",
27622		"AL",
27623		"AL",
27624		"AL",
27625		"AL",
27626		"AL",
27627		"AL",
27628		"AL",
27629		"AL",
27630		"AL",
27631		"AL",
27632		"AL",
27633		"AL",
27634		"AL",
27635		"AL",
27636		"AL",
27637		"AL",
27638		"AL",
27639		"AL",
27640		"AL",
27641		"AL",
27642		"AL",
27643		"AL",
27644		"AL",
27645		"AL",
27646		"AL",
27647		"AL",
27648		"AL",
27649		"AL",
27650		"AL",
27651		"AL",
27652		"NSM",
27653		"NSM",
27654		"NSM",
27655		"NSM",
27656		"NSM",
27657		"NSM",
27658		"NSM",
27659		"AN",
27660		"N",
27661		"NSM",
27662		"NSM",
27663		"NSM",
27664		"NSM",
27665		"NSM",
27666		"NSM",
27667		"AL",
27668		"AL",
27669		"NSM",
27670		"NSM",
27671		"N",
27672		"NSM",
27673		"NSM",
27674		"NSM",
27675		"NSM",
27676		"AL",
27677		"AL",
27678		"EN",
27679		"EN",
27680		"EN",
27681		"EN",
27682		"EN",
27683		"EN",
27684		"EN",
27685		"EN",
27686		"EN",
27687		"EN",
27688		"AL",
27689		"AL",
27690		"AL",
27691		"AL",
27692		"AL",
27693		"AL",
27694		"AL",
27695		"AL",
27696		"AL",
27697		"AL",
27698		"AL",
27699		"AL",
27700		"AL",
27701		"AL",
27702		"AL",
27703		"AL",
27704		"AL",
27705		"AL",
27706		"AL",
27707		"AL",
27708		"N",
27709		"AL",
27710		"AL",
27711		"NSM",
27712		"AL",
27713		"AL",
27714		"AL",
27715		"AL",
27716		"AL",
27717		"AL",
27718		"AL",
27719		"AL",
27720		"AL",
27721		"AL",
27722		"AL",
27723		"AL",
27724		"AL",
27725		"AL",
27726		"AL",
27727		"AL",
27728		"AL",
27729		"AL",
27730		"AL",
27731		"AL",
27732		"AL",
27733		"AL",
27734		"AL",
27735		"AL",
27736		"AL",
27737		"AL",
27738		"AL",
27739		"AL",
27740		"AL",
27741		"AL",
27742		"NSM",
27743		"NSM",
27744		"NSM",
27745		"NSM",
27746		"NSM",
27747		"NSM",
27748		"NSM",
27749		"NSM",
27750		"NSM",
27751		"NSM",
27752		"NSM",
27753		"NSM",
27754		"NSM",
27755		"NSM",
27756		"NSM",
27757		"NSM",
27758		"NSM",
27759		"NSM",
27760		"NSM",
27761		"NSM",
27762		"NSM",
27763		"NSM",
27764		"NSM",
27765		"NSM",
27766		"NSM",
27767		"NSM",
27768		"NSM",
27769		"N",
27770		"N",
27771		"AL",
27772		"AL",
27773		"AL",
27774		"AL",
27775		"AL",
27776		"AL",
27777		"AL",
27778		"AL",
27779		"AL",
27780		"AL",
27781		"AL",
27782		"AL",
27783		"AL",
27784		"AL",
27785		"AL",
27786		"AL",
27787		"AL",
27788		"AL",
27789		"AL",
27790		"AL",
27791		"AL",
27792		"AL",
27793		"AL",
27794		"AL",
27795		"AL",
27796		"AL",
27797		"AL",
27798		"AL",
27799		"AL",
27800		"AL",
27801		"AL",
27802		"AL",
27803		"AL",
27804		"AL",
27805		"AL",
27806		"AL",
27807		"AL",
27808		"AL",
27809		"AL",
27810		"AL",
27811		"AL",
27812		"AL",
27813		"AL",
27814		"AL",
27815		"AL",
27816		"AL",
27817		"AL",
27818		"AL",
27819		"AL",
27820		"AL",
27821		"AL",
27822		"AL",
27823		"AL",
27824		"AL",
27825		"AL",
27826		"AL",
27827		"AL",
27828		"AL",
27829		"AL",
27830		"AL",
27831		"AL",
27832		"AL",
27833		"AL",
27834		"AL",
27835		"AL",
27836		"AL",
27837		"AL",
27838		"AL",
27839		"AL",
27840		"AL",
27841		"AL",
27842		"AL",
27843		"AL",
27844		"AL",
27845		"AL",
27846		"AL",
27847		"AL",
27848		"AL",
27849		"AL",
27850		"AL",
27851		"AL",
27852		"AL",
27853		"AL",
27854		"AL",
27855		"AL",
27856		"AL",
27857		"AL",
27858		"AL",
27859		"AL",
27860		"NSM",
27861		"NSM",
27862		"NSM",
27863		"NSM",
27864		"NSM",
27865		"NSM",
27866		"NSM",
27867		"NSM",
27868		"NSM",
27869		"NSM",
27870		"NSM",
27871		"AL",
27872		"N",
27873		"N",
27874		"N",
27875		"N",
27876		"N",
27877		"N",
27878		"N",
27879		"N",
27880		"N",
27881		"N",
27882		"N",
27883		"N",
27884		"N",
27885		"N",
27886		"R",
27887		"R",
27888		"R",
27889		"R",
27890		"R",
27891		"R",
27892		"R",
27893		"R",
27894		"R",
27895		"R",
27896		"R",
27897		"R",
27898		"R",
27899		"R",
27900		"R",
27901		"R",
27902		"R",
27903		"R",
27904		"R",
27905		"R",
27906		"R",
27907		"R",
27908		"R",
27909		"R",
27910		"R",
27911		"R",
27912		"R",
27913		"R",
27914		"R",
27915		"R",
27916		"R",
27917		"R",
27918		"R",
27919		"R",
27920		"R",
27921		"R",
27922		"R",
27923		"R",
27924		"R",
27925		"R",
27926		"R",
27927		"R",
27928		"R",
27929		"NSM",
27930		"NSM",
27931		"NSM",
27932		"NSM",
27933		"NSM",
27934		"NSM",
27935		"NSM",
27936		"NSM",
27937		"NSM",
27938		"R",
27939		"R",
27940		"N",
27941		"N",
27942		"N",
27943		"N",
27944		"R",
27945		"N",
27946		"N",
27947		"N",
27948		"N",
27949		"N",
27950		"WS",
27951		"WS",
27952		"WS",
27953		"WS",
27954		"WS",
27955		"WS",
27956		"WS",
27957		"WS",
27958		"WS",
27959		"WS",
27960		"WS",
27961		"BN",
27962		"BN",
27963		"BN",
27964		"L",
27965		"R",
27966		"N",
27967		"N",
27968		"N",
27969		"N",
27970		"N",
27971		"N",
27972		"N",
27973		"N",
27974		"N",
27975		"N",
27976		"N",
27977		"N",
27978		"N",
27979		"N",
27980		"N",
27981		"N",
27982		"N",
27983		"N",
27984		"N",
27985		"N",
27986		"N",
27987		"N",
27988		"N",
27989		"N",
27990		"WS",
27991		"B",
27992		"LRE",
27993		"RLE",
27994		"PDF",
27995		"LRO",
27996		"RLO",
27997		"CS",
27998		"ET",
27999		"ET",
28000		"ET",
28001		"ET",
28002		"ET",
28003		"N",
28004		"N",
28005		"N",
28006		"N",
28007		"N",
28008		"N",
28009		"N",
28010		"N",
28011		"N",
28012		"N",
28013		"N",
28014		"N",
28015		"N",
28016		"N",
28017		"N",
28018		"CS",
28019		"N",
28020		"N",
28021		"N",
28022		"N",
28023		"N",
28024		"N",
28025		"N",
28026		"N",
28027		"N",
28028		"N",
28029		"N",
28030		"N",
28031		"N",
28032		"N",
28033		"N",
28034		"N",
28035		"N",
28036		"N",
28037		"N",
28038		"N",
28039		"N",
28040		"N",
28041		"N",
28042		"N",
28043		"N",
28044		"N",
28045		"WS",
28046		"BN",
28047		"BN",
28048		"BN",
28049		"BN",
28050		"BN",
28051		"N",
28052		"LRI",
28053		"RLI",
28054		"FSI",
28055		"PDI",
28056		"BN",
28057		"BN",
28058		"BN",
28059		"BN",
28060		"BN",
28061		"BN",
28062		"EN",
28063		"L",
28064		"N",
28065		"N",
28066		"EN",
28067		"EN",
28068		"EN",
28069		"EN",
28070		"EN",
28071		"EN",
28072		"ES",
28073		"ES",
28074		"N",
28075		"N",
28076		"N",
28077		"L",
28078		"EN",
28079		"EN",
28080		"EN",
28081		"EN",
28082		"EN",
28083		"EN",
28084		"EN",
28085		"EN",
28086		"EN",
28087		"EN",
28088		"ES",
28089		"ES",
28090		"N",
28091		"N",
28092		"N",
28093		"N",
28094		"L",
28095		"L",
28096		"L",
28097		"L",
28098		"L",
28099		"L",
28100		"L",
28101		"L",
28102		"L",
28103		"L",
28104		"L",
28105		"L",
28106		"L",
28107		"N",
28108		"N",
28109		"N",
28110		"ET",
28111		"ET",
28112		"ET",
28113		"ET",
28114		"ET",
28115		"ET",
28116		"ET",
28117		"ET",
28118		"ET",
28119		"ET",
28120		"ET",
28121		"ET",
28122		"ET",
28123		"ET",
28124		"ET",
28125		"ET",
28126		"ET",
28127		"ET",
28128		"ET",
28129		"ET",
28130		"ET",
28131		"ET",
28132		"ET",
28133		"ET",
28134		"ET",
28135		"ET",
28136		"ET",
28137		"ET",
28138		"ET",
28139		"ET",
28140		"ET",
28141		"N",
28142		"N",
28143		"N",
28144		"N",
28145		"N",
28146		"N",
28147		"N",
28148		"N",
28149		"N",
28150		"N",
28151		"N",
28152		"N",
28153		"N",
28154		"N",
28155		"N",
28156		"N",
28157		"N",
28158		"NSM",
28159		"NSM",
28160		"NSM",
28161		"NSM",
28162		"NSM",
28163		"NSM",
28164		"NSM",
28165		"NSM",
28166		"NSM",
28167		"NSM",
28168		"NSM",
28169		"NSM",
28170		"NSM",
28171		"NSM",
28172		"NSM",
28173		"NSM",
28174		"NSM",
28175		"NSM",
28176		"NSM",
28177		"NSM",
28178		"NSM",
28179		"NSM",
28180		"NSM",
28181		"NSM",
28182		"NSM",
28183		"NSM",
28184		"NSM",
28185		"NSM",
28186		"NSM",
28187		"NSM",
28188		"NSM",
28189		"NSM",
28190		"NSM",
28191		"N",
28192		"N",
28193		"N",
28194		"N",
28195		"N",
28196		"N",
28197		"N",
28198		"N",
28199		"N",
28200		"N",
28201		"N",
28202		"N",
28203		"N",
28204		"N",
28205		"N",
28206		"L",
28207		"L",
28208		"L",
28209		"L",
28210		"L",
28211		"L",
28212		"L",
28213		"N",
28214		"N",
28215		"N",
28216		"N",
28217		"N",
28218		"N",
28219		"N",
28220		"N",
28221		"N",
28222		"N",
28223		"N",
28224		"N",
28225		"L",
28226		"L",
28227		"L",
28228		"L",
28229		"L",
28230		"N",
28231		"N",
28232		"N",
28233		"N",
28234		"N",
28235		"R",
28236		"NSM",
28237		"R",
28238		"R",
28239		"R",
28240		"R",
28241		"R",
28242		"R",
28243		"R",
28244		"R",
28245		"R",
28246		"R",
28247		"ES",
28248		"R",
28249		"R",
28250		"R",
28251		"R",
28252		"R",
28253		"R",
28254		"R",
28255		"R",
28256		"R",
28257		"R",
28258		"R",
28259		"R",
28260		"R",
28261		"N",
28262		"R",
28263		"R",
28264		"R",
28265		"R",
28266		"R",
28267		"N",
28268		"R",
28269		"N",
28270		"R",
28271		"R",
28272		"N",
28273		"R",
28274		"R",
28275		"N",
28276		"R",
28277		"R",
28278		"R",
28279		"R",
28280		"R",
28281		"R",
28282		"R",
28283		"R",
28284		"R",
28285		"R",
28286		"AL",
28287		"AL",
28288		"AL",
28289		"AL",
28290		"AL",
28291		"AL",
28292		"AL",
28293		"AL",
28294		"AL",
28295		"AL",
28296		"AL",
28297		"AL",
28298		"AL",
28299		"AL",
28300		"AL",
28301		"AL",
28302		"AL",
28303		"AL",
28304		"AL",
28305		"AL",
28306		"AL",
28307		"AL",
28308		"AL",
28309		"AL",
28310		"AL",
28311		"AL",
28312		"AL",
28313		"AL",
28314		"AL",
28315		"AL",
28316		"AL",
28317		"AL",
28318		"AL",
28319		"AL",
28320		"AL",
28321		"AL",
28322		"AL",
28323		"AL",
28324		"AL",
28325		"AL",
28326		"AL",
28327		"AL",
28328		"AL",
28329		"AL",
28330		"AL",
28331		"AL",
28332		"AL",
28333		"AL",
28334		"AL",
28335		"AL",
28336		"AL",
28337		"AL",
28338		"AL",
28339		"AL",
28340		"AL",
28341		"AL",
28342		"AL",
28343		"AL",
28344		"AL",
28345		"AL",
28346		"AL",
28347		"AL",
28348		"AL",
28349		"AL",
28350		"AL",
28351		"AL",
28352		"AL",
28353		"AL",
28354		"AL",
28355		"AL",
28356		"AL",
28357		"AL",
28358		"AL",
28359		"AL",
28360		"AL",
28361		"AL",
28362		"AL",
28363		"AL",
28364		"AL",
28365		"AL",
28366		"AL",
28367		"AL",
28368		"AL",
28369		"AL",
28370		"AL",
28371		"AL",
28372		"AL",
28373		"AL",
28374		"AL",
28375		"AL",
28376		"AL",
28377		"AL",
28378		"AL",
28379		"AL",
28380		"AL",
28381		"AL",
28382		"AL",
28383		"AL",
28384		"AL",
28385		"AL",
28386		"AL",
28387		"AL",
28388		"AL",
28389		"AL",
28390		"AL",
28391		"AL",
28392		"AL",
28393		"AL",
28394		"AL",
28395		"AL",
28396		"AL",
28397		"AL",
28398		"AL",
28399		"AL",
28400		"N",
28401		"N",
28402		"N",
28403		"N",
28404		"N",
28405		"N",
28406		"N",
28407		"N",
28408		"N",
28409		"N",
28410		"N",
28411		"N",
28412		"N",
28413		"N",
28414		"N",
28415		"N",
28416		"N",
28417		"AL",
28418		"AL",
28419		"AL",
28420		"AL",
28421		"AL",
28422		"AL",
28423		"AL",
28424		"AL",
28425		"AL",
28426		"AL",
28427		"AL",
28428		"AL",
28429		"AL",
28430		"AL",
28431		"AL",
28432		"AL",
28433		"AL",
28434		"AL",
28435		"AL",
28436		"AL",
28437		"AL",
28438		"AL",
28439		"AL",
28440		"AL",
28441		"AL",
28442		"AL",
28443		"AL",
28444		"AL",
28445		"AL",
28446		"AL",
28447		"AL",
28448		"AL",
28449		"AL",
28450		"AL",
28451		"AL",
28452		"AL",
28453		"AL",
28454		"AL",
28455		"AL",
28456		"AL",
28457		"AL",
28458		"AL",
28459		"AL",
28460		"AL",
28461		"AL",
28462		"NSM",
28463		"NSM",
28464		"NSM",
28465		"NSM",
28466		"NSM",
28467		"NSM",
28468		"NSM",
28469		"NSM",
28470		"NSM",
28471		"NSM",
28472		"NSM",
28473		"NSM",
28474		"NSM",
28475		"NSM",
28476		"NSM",
28477		"NSM",
28478		"N",
28479		"N",
28480		"N",
28481		"N",
28482		"N",
28483		"N",
28484		"N",
28485		"N",
28486		"N",
28487		"N",
28488		"N",
28489		"N",
28490		"N",
28491		"N",
28492		"N",
28493		"N",
28494		"NSM",
28495		"NSM",
28496		"NSM",
28497		"NSM",
28498		"NSM",
28499		"NSM",
28500		"NSM",
28501		"NSM",
28502		"NSM",
28503		"NSM",
28504		"NSM",
28505		"NSM",
28506		"NSM",
28507		"NSM",
28508		"NSM",
28509		"NSM",
28510		"N",
28511		"N",
28512		"N",
28513		"N",
28514		"N",
28515		"N",
28516		"N",
28517		"N",
28518		"N",
28519		"N",
28520		"N",
28521		"N",
28522		"N",
28523		"N",
28524		"N",
28525		"N",
28526		"N",
28527		"N",
28528		"N",
28529		"N",
28530		"N",
28531		"N",
28532		"N",
28533		"N",
28534		"N",
28535		"N",
28536		"N",
28537		"N",
28538		"N",
28539		"N",
28540		"N",
28541		"N",
28542		"CS",
28543		"N",
28544		"CS",
28545		"N",
28546		"N",
28547		"CS",
28548		"N",
28549		"N",
28550		"N",
28551		"N",
28552		"N",
28553		"N",
28554		"N",
28555		"N",
28556		"N",
28557		"ET",
28558		"N",
28559		"N",
28560		"ES",
28561		"ES",
28562		"N",
28563		"N",
28564		"N",
28565		"N",
28566		"N",
28567		"ET",
28568		"ET",
28569		"N",
28570		"N",
28571		"N",
28572		"N",
28573		"N",
28574		"AL",
28575		"AL",
28576		"AL",
28577		"AL",
28578		"AL",
28579		"N",
28580		"AL",
28581		"AL",
28582		"AL",
28583		"AL",
28584		"AL",
28585		"AL",
28586		"AL",
28587		"AL",
28588		"AL",
28589		"AL",
28590		"AL",
28591		"AL",
28592		"AL",
28593		"AL",
28594		"AL",
28595		"AL",
28596		"AL",
28597		"AL",
28598		"AL",
28599		"AL",
28600		"AL",
28601		"AL",
28602		"AL",
28603		"AL",
28604		"AL",
28605		"AL",
28606		"AL",
28607		"AL",
28608		"AL",
28609		"AL",
28610		"AL",
28611		"AL",
28612		"AL",
28613		"AL",
28614		"AL",
28615		"AL",
28616		"AL",
28617		"AL",
28618		"AL",
28619		"AL",
28620		"AL",
28621		"AL",
28622		"AL",
28623		"AL",
28624		"AL",
28625		"AL",
28626		"AL",
28627		"AL",
28628		"AL",
28629		"AL",
28630		"AL",
28631		"AL",
28632		"AL",
28633		"AL",
28634		"AL",
28635		"AL",
28636		"AL",
28637		"AL",
28638		"AL",
28639		"AL",
28640		"AL",
28641		"AL",
28642		"AL",
28643		"AL",
28644		"AL",
28645		"AL",
28646		"AL",
28647		"AL",
28648		"AL",
28649		"AL",
28650		"AL",
28651		"AL",
28652		"AL",
28653		"AL",
28654		"AL",
28655		"AL",
28656		"AL",
28657		"AL",
28658		"AL",
28659		"AL",
28660		"AL",
28661		"AL",
28662		"AL",
28663		"AL",
28664		"AL",
28665		"AL",
28666		"AL",
28667		"AL",
28668		"AL",
28669		"AL",
28670		"AL",
28671		"AL",
28672		"AL",
28673		"AL",
28674		"AL",
28675		"AL",
28676		"AL",
28677		"AL",
28678		"AL",
28679		"AL",
28680		"AL",
28681		"AL",
28682		"AL",
28683		"AL",
28684		"AL",
28685		"AL",
28686		"AL",
28687		"AL",
28688		"AL",
28689		"AL",
28690		"AL",
28691		"AL",
28692		"AL",
28693		"AL",
28694		"AL",
28695		"AL",
28696		"AL",
28697		"AL",
28698		"AL",
28699		"AL",
28700		"AL",
28701		"AL",
28702		"AL",
28703		"AL",
28704		"AL",
28705		"AL",
28706		"AL",
28707		"AL",
28708		"AL",
28709		"AL",
28710		"AL",
28711		"AL",
28712		"AL",
28713		"AL",
28714		"AL",
28715		"N",
28716		"N",
28717		"BN",
28718		"N",
28719		"N",
28720		"N",
28721		"ET",
28722		"ET",
28723		"ET",
28724		"N",
28725		"N",
28726		"N",
28727		"N",
28728		"N",
28729		"ES",
28730		"CS",
28731		"ES",
28732		"CS",
28733		"CS",
28734		"EN",
28735		"EN",
28736		"EN",
28737		"EN",
28738		"EN",
28739		"EN",
28740		"EN",
28741		"EN",
28742		"EN",
28743		"EN",
28744		"CS",
28745		"N",
28746		"N",
28747		"N",
28748		"N",
28749		"N",
28750		"N",
28751		"L",
28752		"L",
28753		"L",
28754		"L",
28755		"L",
28756		"L",
28757		"L",
28758		"L",
28759		"L",
28760		"L",
28761		"L",
28762		"L",
28763		"L",
28764		"L",
28765		"L",
28766		"L",
28767		"L",
28768		"L",
28769		"L",
28770		"L",
28771		"L",
28772		"L",
28773		"L",
28774		"L",
28775		"L",
28776		"L",
28777		"N",
28778		"N",
28779		"N",
28780		"N",
28781		"N",
28782		"N",
28783		"L",
28784		"L",
28785		"L",
28786		"L",
28787		"L",
28788		"L",
28789		"L",
28790		"L",
28791		"L",
28792		"L",
28793		"L",
28794		"L",
28795		"L",
28796		"L",
28797		"L",
28798		"L",
28799		"L",
28800		"L",
28801		"L",
28802		"L",
28803		"L",
28804		"L",
28805		"L",
28806		"L",
28807		"L",
28808		"L",
28809		"N",
28810		"N",
28811		"N",
28812		"N",
28813		"N",
28814		"N",
28815		"N",
28816		"N",
28817		"N",
28818		"N",
28819		"N",
28820		"L",
28821		"L",
28822		"L",
28823		"L",
28824		"L",
28825		"L",
28826		"L",
28827		"L",
28828		"L",
28829		"L",
28830		"L",
28831		"L",
28832		"L",
28833		"L",
28834		"L",
28835		"L",
28836		"L",
28837		"L",
28838		"L",
28839		"L",
28840		"L",
28841		"L",
28842		"L",
28843		"L",
28844		"L",
28845		"L",
28846		"L",
28847		"L",
28848		"L",
28849		"L",
28850		"L",
28851		"L",
28852		"L",
28853		"L",
28854		"L",
28855		"L",
28856		"L",
28857		"L",
28858		"L",
28859		"L",
28860		"L",
28861		"L",
28862		"L",
28863		"L",
28864		"L",
28865		"L",
28866		"L",
28867		"L",
28868		"L",
28869		"L",
28870		"L",
28871		"L",
28872		"L",
28873		"L",
28874		"L",
28875		"L",
28876		"L",
28877		"L",
28878		"L",
28879		"L",
28880		"L",
28881		"L",
28882		"L",
28883		"L",
28884		"L",
28885		"L",
28886		"L",
28887		"L",
28888		"L",
28889		"L",
28890		"L",
28891		"L",
28892		"L",
28893		"L",
28894		"L",
28895		"L",
28896		"L",
28897		"L",
28898		"L",
28899		"L",
28900		"L",
28901		"L",
28902		"L",
28903		"L",
28904		"L",
28905		"L",
28906		"L",
28907		"L",
28908		"L",
28909		"N",
28910		"N",
28911		"N",
28912		"L",
28913		"L",
28914		"L",
28915		"L",
28916		"L",
28917		"L",
28918		"N",
28919		"N",
28920		"L",
28921		"L",
28922		"L",
28923		"L",
28924		"L",
28925		"L",
28926		"N",
28927		"N",
28928		"L",
28929		"L",
28930		"L",
28931		"L",
28932		"L",
28933		"L",
28934		"N",
28935		"N",
28936		"L",
28937		"L",
28938		"L",
28939		"N",
28940		"N",
28941		"N",
28942		"ET",
28943		"ET",
28944		"N",
28945		"N",
28946		"N",
28947		"
vendor: 4,890 bytes, lines 28947-29046
28947ET",
28948		"ET",
28949		"N",
28950		"N",
28951		"N",
28952		"N",
28953		"N",
28954		"N",
28955		"N",
28956		"N",
28957		"N",
28958		"N",
28959		"N",
28960		"N",
28961		"N",
28962		"N",
28963		"N",
28964		"N",
28965		"N",
28966		"N",
28967		"N",
28968		"N",
28969		"N",
28970		"N",
28971		"N",
28972		"N",
28973		"N"
28974	], n = new t.__bidiEngine__({ isInputVisual: !0 });
28975	t.API.events.push(["postProcessText", function(t$1) {
28976		var e$1 = t$1.text;
28977		t$1.x, t$1.y;
28978		var r = t$1.options || {};
28979		t$1.mutex, r.lang;
28980		var i$2 = [];
28981		if (r.isInputVisual = "boolean" != typeof r.isInputVisual || r.isInputVisual, n.setOptions(r), "[object Array]" === Object.prototype.toString.call(e$1)) {
28982			var a$1 = 0;
28983			for (i$2 = [], a$1 = 0; a$1 < e$1.length; a$1 += 1) "[object Array]" === Object.prototype.toString.call(e$1[a$1]) ? i$2.push([
28984				n.doBidiReorder(e$1[a$1][0]),
28985				e$1[a$1][1],
28986				e$1[a$1][2]
28987			]) : i$2.push([n.doBidiReorder(e$1[a$1])]);
28988			t$1.text = i$2;
28989		} else t$1.text = n.doBidiReorder(e$1);
28990		n.setOptions({ isInputVisual: !0 });
28991	}]);
28992}(E), E.API.TTFFont = function() {
28993	function t(t$1) {
28994		var e;
28995		if (this.rawData = t$1, e = this.contents = new fe(t$1), this.contents.pos = 4, "ttcf" === e.readString(4)) throw new Error("TTCF not supported.");
28996		e.pos = 0, this.parse(), this.subset = new je(this), this.registerTTF();
28997	}
28998	return t.open = function(e) {
28999		return new t(e);
29000	}, t.prototype.parse = function() {
29001		return this.directory = new de(this.contents), this.head = new me(this), this.name = new xe(this), this.cmap = new be(this), this.toUnicode = {}, this.hhea = new ye(this), this.maxp = new Ae(this), this.hmtx = new Se(this), this.post = new Ne(this), this.os2 = new we(this), this.loca = new Ie(this), this.glyf = new Pe(this), this.ascender = this.os2.exists && this.os2.ascender || this.hhea.ascender, this.decender = this.os2.exists && this.os2.decender || this.hhea.decender, this.lineGap = this.os2.exists && this.os2.lineGap || this.hhea.lineGap, this.bbox = [
29002			this.head.xMin,
29003			this.head.yMin,
29004			this.head.xMax,
29005			this.head.yMax
29006		];
29007	}, t.prototype.registerTTF = function() {
29008		var t$1, e, n, r, i$2;
29009		if (this.scaleFactor = 1e3 / this.head.unitsPerEm, this.bbox = function() {
29010			var e$1, n$1, r$1, i$3;
29011			for (i$3 = [], e$1 = 0, n$1 = (r$1 = this.bbox).length; e$1 < n$1; e$1++) t$1 = r$1[e$1], i$3.push(Math.round(t$1 * this.scaleFactor));
29012			return i$3;
29013		}.call(this), this.stemV = 0, this.post.exists ? (n = 255 & (r = this.post.italic_angle), 32768 & (e = r >> 16) && (e = -(1 + (65535 ^ e))), this.italicAngle = +(e + "." + n)) : this.italicAngle = 0, this.ascender = Math.round(this.ascender * this.scaleFactor), this.decender = Math.round(this.decender * this.scaleFactor), this.lineGap = Math.round(this.lineGap * this.scaleFactor), this.capHeight = this.os2.exists && this.os2.capHeight || this.ascender, this.xHeight = this.os2.exists && this.os2.xHeight || 0, this.familyClass = (this.os2.exists && this.os2.familyClass || 0) >> 8, this.isSerif = 1 === (i$2 = this.familyClass) || 2 === i$2 || 3 === i$2 || 4 === i$2 || 5 === i$2 || 7 === i$2, this.isScript = 10 === this.familyClass, this.flags = 0, this.post.isFixedPitch && (this.flags |= 1), this.isSerif && (this.flags |= 2), this.isScript && (this.flags |= 8), 0 !== this.italicAngle && (this.flags |= 64), this.flags |= 32, !this.cmap.unicode) throw new Error("No unicode cmap for font");
29014	}, t.prototype.characterToGlyph = function(t$1) {
29015		var e;
29016		return (null != (e = this.cmap.unicode) ? e.codeMap[t$1] : void 0) || 0;
29017	}, t.prototype.widthOfGlyph = function(t$1) {
29018		var e;
29019		return e = 1e3 / this.head.unitsPerEm, this.hmtx.forGlyph(t$1).advance * e;
29020	}, t.prototype.widthOfString = function(t$1, e, n) {
29021		var r, i$2, a$1, o$1;
29022		for (a$1 = 0, i$2 = 0, o$1 = (t$1 = "" + t$1).length; 0 <= o$1 ? i$2 < o$1 : i$2 > o$1; i$2 = 0 <= o$1 ? ++i$2 : --i$2) r = t$1.charCodeAt(i$2), a$1 += this.widthOfGlyph(this.characterToGlyph(r)) + n * (1e3 / e) || 0;
29023		return a$1 * (e / 1e3);
29024	}, t.prototype.lineHeight = function(t$1, e) {
29025		var n;
29026		return e ??= !1, n = e ? this.lineGap : 0, (this.ascender + n - this.decender) / 1e3 * t$1;
29027	}, t;
29028}();
29029var he, fe = function() {
29030	function t(t$1) {
29031		this.data = null != t$1 ? t$1 : [], this.pos = 0, this.length = this.data.length;
29032	}
29033	return t.prototype.readByte = function() {
29034		return this.data[this.pos++];
29035	}, t.prototype.writeByte = function(t$1) {
29036		return this.data[this.pos++] = t$1;
29037	}, t.prototype.readUInt32 = function() {
29038		return 16777216 * this.readByte() + (this.readByte() << 16) + (this.readByte() << 8) + this.readByte();
29039	}, t.prototype.writeUInt32 = function(t$1) {
29040		return this.writeByte(t$1 >>> 24 & 255), this.writeByte(t$1 >> 16 & 255), this.writeByte(t$1 >> 8 & 255), this.writeByte(255 & t$1);
29041	}, t.prototype.readInt32 = function() {
29042		var t$1;
29043		return (t$1 = this.readUInt32()) >= 2147483648 ? t$1 - 4294967296 : t$1;
29044	}, t.prototype.writeInt32 = function(t$1) {
29045		return t$1 < 0 && (t$1 += 4294967296), this.writeUInt32(t$1);
29046	}
vendor: 25,395 bytes, lines 29046-29451
29046, t.prototype.readUInt16 = function() {
29047		return this.readByte() << 8 | this.readByte();
29048	}, t.prototype.writeUInt16 = function(t$1) {
29049		return this.writeByte(t$1 >> 8 & 255), this.writeByte(255 & t$1);
29050	}, t.prototype.readInt16 = function() {
29051		var t$1;
29052		return (t$1 = this.readUInt16()) >= 32768 ? t$1 - 65536 : t$1;
29053	}, t.prototype.writeInt16 = function(t$1) {
29054		return t$1 < 0 && (t$1 += 65536), this.writeUInt16(t$1);
29055	}, t.prototype.readString = function(t$1) {
29056		var e, n;
29057		for (n = [], e = 0; 0 <= t$1 ? e < t$1 : e > t$1; e = 0 <= t$1 ? ++e : --e) n[e] = String.fromCharCode(this.readByte());
29058		return n.join("");
29059	}, t.prototype.writeString = function(t$1) {
29060		var e, n, r;
29061		for (r = [], e = 0, n = t$1.length; 0 <= n ? e < n : e > n; e = 0 <= n ? ++e : --e) r.push(this.writeByte(t$1.charCodeAt(e)));
29062		return r;
29063	}, t.prototype.readShort = function() {
29064		return this.readInt16();
29065	}, t.prototype.writeShort = function(t$1) {
29066		return this.writeInt16(t$1);
29067	}, t.prototype.readLongLong = function() {
29068		var t$1, e, n, r, i$2, a$1, o$1, s$1;
29069		return t$1 = this.readByte(), e = this.readByte(), n = this.readByte(), r = this.readByte(), i$2 = this.readByte(), a$1 = this.readByte(), o$1 = this.readByte(), s$1 = this.readByte(), 128 & t$1 ? -1 * (72057594037927940 * (255 ^ t$1) + 281474976710656 * (255 ^ e) + 1099511627776 * (255 ^ n) + 4294967296 * (255 ^ r) + 16777216 * (255 ^ i$2) + 65536 * (255 ^ a$1) + 256 * (255 ^ o$1) + (255 ^ s$1) + 1) : 72057594037927940 * t$1 + 281474976710656 * e + 1099511627776 * n + 4294967296 * r + 16777216 * i$2 + 65536 * a$1 + 256 * o$1 + s$1;
29070	}, t.prototype.writeLongLong = function(t$1) {
29071		var e, n;
29072		return e = Math.floor(t$1 / 4294967296), n = 4294967295 & t$1, this.writeByte(e >> 24 & 255), this.writeByte(e >> 16 & 255), this.writeByte(e >> 8 & 255), this.writeByte(255 & e), this.writeByte(n >> 24 & 255), this.writeByte(n >> 16 & 255), this.writeByte(n >> 8 & 255), this.writeByte(255 & n);
29073	}, t.prototype.readInt = function() {
29074		return this.readInt32();
29075	}, t.prototype.writeInt = function(t$1) {
29076		return this.writeInt32(t$1);
29077	}, t.prototype.read = function(t$1) {
29078		var e, n;
29079		for (e = [], n = 0; 0 <= t$1 ? n < t$1 : n > t$1; n = 0 <= t$1 ? ++n : --n) e.push(this.readByte());
29080		return e;
29081	}, t.prototype.write = function(t$1) {
29082		var e, n, r, i$2;
29083		for (i$2 = [], n = 0, r = t$1.length; n < r; n++) e = t$1[n], i$2.push(this.writeByte(e));
29084		return i$2;
29085	}, t;
29086}(), de = function() {
29087	var t;
29088	function e(t$1) {
29089		var e$1, n, r;
29090		for (this.scalarType = t$1.readInt(), this.tableCount = t$1.readShort(), this.searchRange = t$1.readShort(), this.entrySelector = t$1.readShort(), this.rangeShift = t$1.readShort(), this.tables = {}, n = 0, r = this.tableCount; 0 <= r ? n < r : n > r; n = 0 <= r ? ++n : --n) e$1 = {
29091			tag: t$1.readString(4),
29092			checksum: t$1.readInt(),
29093			offset: t$1.readInt(),
29094			length: t$1.readInt()
29095		}, this.tables[e$1.tag] = e$1;
29096	}
29097	return e.prototype.encode = function(e$1) {
29098		var n, r, i$2, a$1, o$1, s$1, u$1, c$1, l$1, h$1, f$1, d$1, p$1;
29099		for (p$1 in f$1 = Object.keys(e$1).length, s$1 = Math.log(2), l$1 = 16 * Math.floor(Math.log(f$1) / s$1), a$1 = Math.floor(l$1 / s$1), c$1 = 16 * f$1 - l$1, (r = new fe()).writeInt(this.scalarType), r.writeShort(f$1), r.writeShort(l$1), r.writeShort(a$1), r.writeShort(c$1), i$2 = 16 * f$1, u$1 = r.pos + i$2, o$1 = null, d$1 = [], e$1) for (h$1 = e$1[p$1], r.writeString(p$1), r.writeInt(t(h$1)), r.writeInt(u$1), r.writeInt(h$1.length), d$1 = d$1.concat(h$1), "head" === p$1 && (o$1 = u$1), u$1 += h$1.length; u$1 % 4;) d$1.push(0), u$1++;
29100		return r.write(d$1), n = 2981146554 - t(r.data), r.pos = o$1 + 8, r.writeUInt32(n), r.data;
29101	}, t = function(t$1) {
29102		var e$1, n, r, i$2;
29103		for (t$1 = _e.call(t$1); t$1.length % 4;) t$1.push(0);
29104		for (r = new fe(t$1), n = 0, e$1 = 0, i$2 = t$1.length; e$1 < i$2; e$1 = e$1 += 4) n += r.readUInt32();
29105		return 4294967295 & n;
29106	}, e;
29107}(), pe = {}.hasOwnProperty, ge = function(t, e) {
29108	for (var n in e) pe.call(e, n) && (t[n] = e[n]);
29109	function r() {
29110		this.constructor = t;
29111	}
29112	return r.prototype = e.prototype, t.prototype = new r(), t.__super__ = e.prototype, t;
29113};
29114he = function() {
29115	function t(t$1) {
29116		var e;
29117		this.file = t$1, e = this.file.directory.tables[this.tag], this.exists = !!e, e && (this.offset = e.offset, this.length = e.length, this.parse(this.file.contents));
29118	}
29119	return t.prototype.parse = function() {}, t.prototype.encode = function() {}, t.prototype.raw = function() {
29120		return this.exists ? (this.file.contents.pos = this.offset, this.file.contents.read(this.length)) : null;
29121	}, t;
29122}();
29123var me = function() {
29124	function t() {
29125		return t.__super__.constructor.apply(this, arguments);
29126	}
29127	return ge(t, he), t.prototype.tag = "head", t.prototype.parse = function(t$1) {
29128		return t$1.pos = this.offset, this.version = t$1.readInt(), this.revision = t$1.readInt(), this.checkSumAdjustment = t$1.readInt(), this.magicNumber = t$1.readInt(), this.flags = t$1.readShort(), this.unitsPerEm = t$1.readShort(), this.created = t$1.readLongLong(), this.modified = t$1.readLongLong(), this.xMin = t$1.readShort(), this.yMin = t$1.readShort(), this.xMax = t$1.readShort(), this.yMax = t$1.readShort(), this.macStyle = t$1.readShort(), this.lowestRecPPEM = t$1.readShort(), this.fontDirectionHint = t$1.readShort(), this.indexToLocFormat = t$1.readShort(), this.glyphDataFormat = t$1.readShort();
29129	}, t.prototype.encode = function(t$1) {
29130		var e;
29131		return (e = new fe()).writeInt(this.version), e.writeInt(this.revision), e.writeInt(this.checkSumAdjustment), e.writeInt(this.magicNumber), e.writeShort(this.flags), e.writeShort(this.unitsPerEm), e.writeLongLong(this.created), e.writeLongLong(this.modified), e.writeShort(this.xMin), e.writeShort(this.yMin), e.writeShort(this.xMax), e.writeShort(this.yMax), e.writeShort(this.macStyle), e.writeShort(this.lowestRecPPEM), e.writeShort(this.fontDirectionHint), e.writeShort(t$1), e.writeShort(this.glyphDataFormat), e.data;
29132	}, t;
29133}(), ve = function() {
29134	function t(t$1, e) {
29135		var n, r, i$2, a$1, o$1, s$1, u$1, c$1, l$1, h$1, f$1, d$1, p$1, g$1, m$1, v$1, b$1;
29136		switch (this.platformID = t$1.readUInt16(), this.encodingID = t$1.readShort(), this.offset = e + t$1.readInt(), l$1 = t$1.pos, t$1.pos = this.offset, this.format = t$1.readUInt16(), this.length = t$1.readUInt16(), this.language = t$1.readUInt16(), this.isUnicode = 3 === this.platformID && 1 === this.encodingID && 4 === this.format || 0 === this.platformID && 4 === this.format, this.codeMap = {}, this.format) {
29137			case 0:
29138				for (s$1 = 0; s$1 < 256; ++s$1) this.codeMap[s$1] = t$1.readByte();
29139				break;
29140			case 4: for (f$1 = t$1.readUInt16(), h$1 = f$1 / 2, t$1.pos += 6, i$2 = function() {
29141				var e$1, n$1;
29142				for (n$1 = [], s$1 = e$1 = 0; 0 <= h$1 ? e$1 < h$1 : e$1 > h$1; s$1 = 0 <= h$1 ? ++e$1 : --e$1) n$1.push(t$1.readUInt16());
29143				return n$1;
29144			}(), t$1.pos += 2, p$1 = function() {
29145				var e$1, n$1;
29146				for (n$1 = [], s$1 = e$1 = 0; 0 <= h$1 ? e$1 < h$1 : e$1 > h$1; s$1 = 0 <= h$1 ? ++e$1 : --e$1) n$1.push(t$1.readUInt16());
29147				return n$1;
29148			}(), u$1 = function() {
29149				var e$1, n$1;
29150				for (n$1 = [], s$1 = e$1 = 0; 0 <= h$1 ? e$1 < h$1 : e$1 > h$1; s$1 = 0 <= h$1 ? ++e$1 : --e$1) n$1.push(t$1.readUInt16());
29151				return n$1;
29152			}(), c$1 = function() {
29153				var e$1, n$1;
29154				for (n$1 = [], s$1 = e$1 = 0; 0 <= h$1 ? e$1 < h$1 : e$1 > h$1; s$1 = 0 <= h$1 ? ++e$1 : --e$1) n$1.push(t$1.readUInt16());
29155				return n$1;
29156			}(), r = (this.length - t$1.pos + this.offset) / 2, o$1 = function() {
29157				var e$1, n$1;
29158				for (n$1 = [], s$1 = e$1 = 0; 0 <= r ? e$1 < r : e$1 > r; s$1 = 0 <= r ? ++e$1 : --e$1) n$1.push(t$1.readUInt16());
29159				return n$1;
29160			}(), s$1 = m$1 = 0, b$1 = i$2.length; m$1 < b$1; s$1 = ++m$1) for (g$1 = i$2[s$1], n = v$1 = d$1 = p$1[s$1]; d$1 <= g$1 ? v$1 <= g$1 : v$1 >= g$1; n = d$1 <= g$1 ? ++v$1 : --v$1) 0 === c$1[s$1] ? a$1 = n + u$1[s$1] : 0 !== (a$1 = o$1[c$1[s$1] / 2 + (n - d$1) - (h$1 - s$1)] || 0) && (a$1 += u$1[s$1]), this.codeMap[n] = 65535 & a$1;
29161		}
29162		t$1.pos = l$1;
29163	}
29164	return t.encode = function(t$1, e) {
29165		var n, r, i$2, a$1, o$1, s$1, u$1, c$1, l$1, h$1, f$1, d$1, p$1, g$1, m$1, v$1, b$1, y$1, w$1, N$1, L$1, x$2, A$1, S$1, _$1, P$1, k$1, F$1, I$1, j$1, C$1, O$1, B$1, M$1, q$1, E$1, R$1, D$1, T$1, z$1, U$1, H$1, W$1, V$1, G$1, Y$1;
29166		switch (F$1 = new fe(), a$1 = Object.keys(t$1).sort(function(t$2, e$1) {
29167			return t$2 - e$1;
29168		}), e) {
29169			case "macroman":
29170				for (p$1 = 0, g$1 = function() {
29171					var t$2 = [];
29172					for (d$1 = 0; d$1 < 256; ++d$1) t$2.push(0);
29173					return t$2;
29174				}(), v$1 = { 0: 0 }, i$2 = {}, I$1 = 0, B$1 = a$1.length; I$1 < B$1; I$1++) v$1[W$1 = t$1[r = a$1[I$1]]] ?? (v$1[W$1] = ++p$1), i$2[r] = {
29175					old: t$1[r],
29176					new: v$1[t$1[r]]
29177				}, g$1[r] = v$1[t$1[r]];
29178				return F$1.writeUInt16(1), F$1.writeUInt16(0), F$1.writeUInt32(12), F$1.writeUInt16(0), F$1.writeUInt16(262), F$1.writeUInt16(0), F$1.write(g$1), {
29179					charMap: i$2,
29180					subtable: F$1.data,
29181					maxGlyphID: p$1 + 1
29182				};
29183			case "unicode":
29184				for (P$1 = [], l$1 = [], b$1 = 0, v$1 = {}, n = {}, m$1 = u$1 = null, j$1 = 0, M$1 = a$1.length; j$1 < M$1; j$1++) v$1[w$1 = t$1[r = a$1[j$1]]] ?? (v$1[w$1] = ++b$1), n[r] = {
29185					old: w$1,
29186					new: v$1[w$1]
29187				}, o$1 = v$1[w$1] - r, null != m$1 && o$1 === u$1 || (m$1 && l$1.push(m$1), P$1.push(r), u$1 = o$1), m$1 = r;
29188				for (m$1 && l$1.push(m$1), l$1.push(65535), P$1.push(65535), S$1 = 2 * (A$1 = P$1.length), x$2 = 2 * Math.pow(Math.log(A$1) / Math.LN2, 2), h$1 = Math.log(x$2 / 2) / Math.LN2, L$1 = 2 * A$1 - x$2, s$1 = [], N$1 = [], f$1 = [], d$1 = C$1 = 0, q$1 = P$1.length; C$1 < q$1; d$1 = ++C$1) {
29189					if (_$1 = P$1[d$1], c$1 = l$1[d$1], 65535 === _$1) {
29190						s$1.push(0), N$1.push(0);
29191						break;
29192					}
29193					if (_$1 - (k$1 = n[_$1].new) >= 32768) for (s$1.push(0), N$1.push(2 * (f$1.length + A$1 - d$1)), r = O$1 = _$1; _$1 <= c$1 ? O$1 <= c$1 : O$1 >= c$1; r = _$1 <= c$1 ? ++O$1 : --O$1) f$1.push(n[r].new);
29194					else s$1.push(k$1 - _$1), N$1.push(0);
29195				}
29196				for (F$1.writeUInt16(3), F$1.writeUInt16(1), F$1.writeUInt32(12), F$1.writeUInt16(4), F$1.writeUInt16(16 + 8 * A$1 + 2 * f$1.length), F$1.writeUInt16(0), F$1.writeUInt16(S$1), F$1.writeUInt16(x$2), F$1.writeUInt16(h$1), F$1.writeUInt16(L$1), U$1 = 0, E$1 = l$1.length; U$1 < E$1; U$1++) r = l$1[U$1], F$1.writeUInt16(r);
29197				for (F$1.writeUInt16(0), H$1 = 0, R$1 = P$1.length; H$1 < R$1; H$1++) r = P$1[H$1], F$1.writeUInt16(r);
29198				for (V$1 = 0, D$1 = s$1.length; V$1 < D$1; V$1++) o$1 = s$1[V$1], F$1.writeUInt16(o$1);
29199				for (G$1 = 0, T$1 = N$1.length; G$1 < T$1; G$1++) y$1 = N$1[G$1], F$1.writeUInt16(y$1);
29200				for (Y$1 = 0, z$1 = f$1.length; Y$1 < z$1; Y$1++) p$1 = f$1[Y$1], F$1.writeUInt16(p$1);
29201				return {
29202					charMap: n,
29203					subtable: F$1.data,
29204					maxGlyphID: b$1 + 1
29205				};
29206		}
29207	}, t;
29208}(), be = function() {
29209	function t() {
29210		return t.__super__.constructor.apply(this, arguments);
29211	}
29212	return ge(t, he), t.prototype.tag = "cmap", t.prototype.parse = function(t$1) {
29213		var e, n, r;
29214		for (t$1.pos = this.offset, this.version = t$1.readUInt16(), r = t$1.readUInt16(), this.tables = [], this.unicode = null, n = 0; 0 <= r ? n < r : n > r; n = 0 <= r ? ++n : --n) e = new ve(t$1, this.offset), this.tables.push(e), e.isUnicode && null == this.unicode && (this.unicode = e);
29215		return !0;
29216	}, t.encode = function(t$1, e) {
29217		var n, r;
29218		return e ??= "macroman", n = ve.encode(t$1, e), (r = new fe()).writeUInt16(0), r.writeUInt16(1), n.table = r.data.concat(n.subtable), n;
29219	}, t;
29220}(), ye = function() {
29221	function t() {
29222		return t.__super__.constructor.apply(this, arguments);
29223	}
29224	return ge(t, he), t.prototype.tag = "hhea", t.prototype.parse = function(t$1) {
29225		return t$1.pos = this.offset, this.version = t$1.readInt(), this.ascender = t$1.readShort(), this.decender = t$1.readShort(), this.lineGap = t$1.readShort(), this.advanceWidthMax = t$1.readShort(), this.minLeftSideBearing = t$1.readShort(), this.minRightSideBearing = t$1.readShort(), this.xMaxExtent = t$1.readShort(), this.caretSlopeRise = t$1.readShort(), this.caretSlopeRun = t$1.readShort(), this.caretOffset = t$1.readShort(), t$1.pos += 8, this.metricDataFormat = t$1.readShort(), this.numberOfMetrics = t$1.readUInt16();
29226	}, t;
29227}(), we = function() {
29228	function t() {
29229		return t.__super__.constructor.apply(this, arguments);
29230	}
29231	return ge(t, he), t.prototype.tag = "OS/2", t.prototype.parse = function(t$1) {
29232		if (t$1.pos = this.offset, this.version = t$1.readUInt16(), this.averageCharWidth = t$1.readShort(), this.weightClass = t$1.readUInt16(), this.widthClass = t$1.readUInt16(), this.type = t$1.readShort(), this.ySubscriptXSize = t$1.readShort(), this.ySubscriptYSize = t$1.readShort(), this.ySubscriptXOffset = t$1.readShort(), this.ySubscriptYOffset = t$1.readShort(), this.ySuperscriptXSize = t$1.readShort(), this.ySuperscriptYSize = t$1.readShort(), this.ySuperscriptXOffset = t$1.readShort(), this.ySuperscriptYOffset = t$1.readShort(), this.yStrikeoutSize = t$1.readShort(), this.yStrikeoutPosition = t$1.readShort(), this.familyClass = t$1.readShort(), this.panose = function() {
29233			var e, n;
29234			for (n = [], e = 0; e < 10; ++e) n.push(t$1.readByte());
29235			return n;
29236		}(), this.charRange = function() {
29237			var e, n;
29238			for (n = [], e = 0; e < 4; ++e) n.push(t$1.readInt());
29239			return n;
29240		}(), this.vendorID = t$1.readString(4), this.selection = t$1.readShort(), this.firstCharIndex = t$1.readShort(), this.lastCharIndex = t$1.readShort(), this.version > 0 && (this.ascent = t$1.readShort(), this.descent = t$1.readShort(), this.lineGap = t$1.readShort(), this.winAscent = t$1.readShort(), this.winDescent = t$1.readShort(), this.codePageRange = function() {
29241			var e, n;
29242			for (n = [], e = 0; e < 2; e = ++e) n.push(t$1.readInt());
29243			return n;
29244		}(), this.version > 1)) return this.xHeight = t$1.readShort(), this.capHeight = t$1.readShort(), this.defaultChar = t$1.readShort(), this.breakChar = t$1.readShort(), this.maxContext = t$1.readShort();
29245	}, t;
29246}(), Ne = function() {
29247	function t() {
29248		return t.__super__.constructor.apply(this, arguments);
29249	}
29250	return ge(t, he), t.prototype.tag = "post", t.prototype.parse = function(t$1) {
29251		var e, n, r;
29252		switch (t$1.pos = this.offset, this.format = t$1.readInt(), this.italicAngle = t$1.readInt(), this.underlinePosition = t$1.readShort(), this.underlineThickness = t$1.readShort(), this.isFixedPitch = t$1.readInt(), this.minMemType42 = t$1.readInt(), this.maxMemType42 = t$1.readInt(), this.minMemType1 = t$1.readInt(), this.maxMemType1 = t$1.readInt(), this.format) {
29253			case 65536:
29254			case 196608: break;
29255			case 131072:
29256				var i$2;
29257				for (n = t$1.readUInt16(), this.glyphNameIndex = [], i$2 = 0; 0 <= n ? i$2 < n : i$2 > n; i$2 = 0 <= n ? ++i$2 : --i$2) this.glyphNameIndex.push(t$1.readUInt16());
29258				for (this.names = [], r = []; t$1.pos < this.offset + this.length;) e = t$1.readByte(), r.push(this.names.push(t$1.readString(e)));
29259				return r;
29260			case 151552: return n = t$1.readUInt16(), this.offsets = t$1.read(n);
29261			case 262144: return this.map = function() {
29262				var e$1, n$1, r$1;
29263				for (r$1 = [], i$2 = e$1 = 0, n$1 = this.file.maxp.numGlyphs; 0 <= n$1 ? e$1 < n$1 : e$1 > n$1; i$2 = 0 <= n$1 ? ++e$1 : --e$1) r$1.push(t$1.readUInt32());
29264				return r$1;
29265			}.call(this);
29266		}
29267	}, t;
29268}(), Le = function(t, e) {
29269	this.raw = t, this.length = t.length, this.platformID = e.platformID, this.encodingID = e.encodingID, this.languageID = e.languageID;
29270}, xe = function() {
29271	function t() {
29272		return t.__super__.constructor.apply(this, arguments);
29273	}
29274	return ge(t, he), t.prototype.tag = "name", t.prototype.parse = function(t$1) {
29275		var e, n, r, i$2, a$1, o$1, s$1, u$1, c$1, l$1, h$1;
29276		for (t$1.pos = this.offset, t$1.readShort(), e = t$1.readShort(), o$1 = t$1.readShort(), n = [], i$2 = 0; 0 <= e ? i$2 < e : i$2 > e; i$2 = 0 <= e ? ++i$2 : --i$2) n.push({
29277			platformID: t$1.readShort(),
29278			encodingID: t$1.readShort(),
29279			languageID: t$1.readShort(),
29280			nameID: t$1.readShort(),
29281			length: t$1.readShort(),
29282			offset: this.offset + o$1 + t$1.readShort()
29283		});
29284		for (s$1 = {}, i$2 = c$1 = 0, l$1 = n.length; c$1 < l$1; i$2 = ++c$1) r = n[i$2], t$1.pos = r.offset, u$1 = t$1.readString(r.length), a$1 = new Le(u$1, r), s$1[h$1 = r.nameID] ?? (s$1[h$1] = []), s$1[r.nameID].push(a$1);
29285		this.strings = s$1, this.copyright = s$1[0], this.fontFamily = s$1[1], this.fontSubfamily = s$1[2], this.uniqueSubfamily = s$1[3], this.fontName = s$1[4], this.version = s$1[5];
29286		try {
29287			this.postscriptName = s$1[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g, "");
29288		} catch (f$1) {
29289			this.postscriptName = s$1[4][0].raw.replace(/[\x00-\x19\x80-\xff]/g, "");
29290		}
29291		return this.trademark = s$1[7], this.manufacturer = s$1[8], this.designer = s$1[9], this.description = s$1[10], this.vendorUrl = s$1[11], this.designerUrl = s$1[12], this.license = s$1[13], this.licenseUrl = s$1[14], this.preferredFamily = s$1[15], this.preferredSubfamily = s$1[17], this.compatibleFull = s$1[18], this.sampleText = s$1[19];
29292	}, t;
29293}(), Ae = function() {
29294	function t() {
29295		return t.__super__.constructor.apply(this, arguments);
29296	}
29297	return ge(t, he), t.prototype.tag = "maxp", t.prototype.parse = function(t$1) {
29298		return t$1.pos = this.offset, this.version = t$1.readInt(), this.numGlyphs = t$1.readUInt16(), this.maxPoints = t$1.readUInt16(), this.maxContours = t$1.readUInt16(), this.maxCompositePoints = t$1.readUInt16(), this.maxComponentContours = t$1.readUInt16(), this.maxZones = t$1.readUInt16(), this.maxTwilightPoints = t$1.readUInt16(), this.maxStorage = t$1.readUInt16(), this.maxFunctionDefs = t$1.readUInt16(), this.maxInstructionDefs = t$1.readUInt16(), this.maxStackElements = t$1.readUInt16(), this.maxSizeOfInstructions = t$1.readUInt16(), this.maxComponentElements = t$1.readUInt16(), this.maxComponentDepth = t$1.readUInt16();
29299	}, t;
29300}(), Se = function() {
29301	function t() {
29302		return t.__super__.constructor.apply(this, arguments);
29303	}
29304	return ge(t, he), t.prototype.tag = "hmtx", t.prototype.parse = function(t$1) {
29305		var e, n, r, i$2, a$1, o$1, s$1;
29306		for (t$1.pos = this.offset, this.metrics = [], e = 0, o$1 = this.file.hhea.numberOfMetrics; 0 <= o$1 ? e < o$1 : e > o$1; e = 0 <= o$1 ? ++e : --e) this.metrics.push({
29307			advance: t$1.readUInt16(),
29308			lsb: t$1.readInt16()
29309		});
29310		for (r = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics, this.leftSideBearings = function() {
29311			var n$1, i$3;
29312			for (i$3 = [], e = n$1 = 0; 0 <= r ? n$1 < r : n$1 > r; e = 0 <= r ? ++n$1 : --n$1) i$3.push(t$1.readInt16());
29313			return i$3;
29314		}(), this.widths = function() {
29315			var t$2, e$1, n$1, r$1;
29316			for (r$1 = [], t$2 = 0, e$1 = (n$1 = this.metrics).length; t$2 < e$1; t$2++) i$2 = n$1[t$2], r$1.push(i$2.advance);
29317			return r$1;
29318		}.call(this), n = this.widths[this.widths.length - 1], s$1 = [], e = a$1 = 0; 0 <= r ? a$1 < r : a$1 > r; e = 0 <= r ? ++a$1 : --a$1) s$1.push(this.widths.push(n));
29319		return s$1;
29320	}, t.prototype.forGlyph = function(t$1) {
29321		return t$1 in this.metrics ? this.metrics[t$1] : {
29322			advance: this.metrics[this.metrics.length - 1].advance,
29323			lsb: this.leftSideBearings[t$1 - this.metrics.length]
29324		};
29325	}, t;
29326}(), _e = [].slice, Pe = function() {
29327	function t() {
29328		return t.__super__.constructor.apply(this, arguments);
29329	}
29330	return ge(t, he), t.prototype.tag = "glyf", t.prototype.parse = function() {
29331		return this.cache = {};
29332	}, t.prototype.glyphFor = function(t$1) {
29333		var e, n, r, i$2, a$1, o$1, s$1, u$1, c$1, l$1;
29334		return t$1 in this.cache ? this.cache[t$1] : (i$2 = this.file.loca, e = this.file.contents, n = i$2.indexOf(t$1), 0 === (r = i$2.lengthOf(t$1)) ? this.cache[t$1] = null : (e.pos = this.offset + n, a$1 = (o$1 = new fe(e.read(r))).readShort(), u$1 = o$1.readShort(), l$1 = o$1.readShort(), s$1 = o$1.readShort(), c$1 = o$1.readShort(), this.cache[t$1] = -1 === a$1 ? new Fe(o$1, u$1, l$1, s$1, c$1) : new ke(o$1, a$1, u$1, l$1, s$1, c$1), this.cache[t$1]));
29335	}, t.prototype.encode = function(t$1, e, n) {
29336		var r, i$2, a$1, o$1, s$1;
29337		for (a$1 = [], i$2 = [], o$1 = 0, s$1 = e.length; o$1 < s$1; o$1++) r = t$1[e[o$1]], i$2.push(a$1.length), r && (a$1 = a$1.concat(r.encode(n)));
29338		return i$2.push(a$1.length), {
29339			table: a$1,
29340			offsets: i$2
29341		};
29342	}, t;
29343}(), ke = function() {
29344	function t(t$1, e, n, r, i$2, a$1) {
29345		this.raw = t$1, this.numberOfContours = e, this.xMin = n, this.yMin = r, this.xMax = i$2, this.yMax = a$1, this.compound = !1;
29346	}
29347	return t.prototype.encode = function() {
29348		return this.raw.data;
29349	}, t;
29350}(), Fe = function() {
29351	function t(t$1, e, n, r, i$2) {
29352		var a$1, o$1;
29353		for (this.raw = t$1, this.xMin = e, this.yMin = n, this.xMax = r, this.yMax = i$2, this.compound = !0, this.glyphIDs = [], this.glyphOffsets = [], a$1 = this.raw; o$1 = a$1.readShort(), this.glyphOffsets.push(a$1.pos), this.glyphIDs.push(a$1.readUInt16()), 32 & o$1;) a$1.pos += 1 & o$1 ? 4 : 2, 128 & o$1 ? a$1.pos += 8 : 64 & o$1 ? a$1.pos += 4 : 8 & o$1 && (a$1.pos += 2);
29354	}
29355	return t.prototype.encode = function() {
29356		var t$1, e, n;
29357		for (e = new fe(_e.call(this.raw.data)), t$1 = 0, n = this.glyphIDs.length; t$1 < n; ++t$1) e.pos = this.glyphOffsets[t$1];
29358		return e.data;
29359	}, t;
29360}(), Ie = function() {
29361	function t() {
29362		return t.__super__.constructor.apply(this, arguments);
29363	}
29364	return ge(t, he), t.prototype.tag = "loca", t.prototype.parse = function(t$1) {
29365		var e, n;
29366		return t$1.pos = this.offset, e = this.file.head.indexToLocFormat, this.offsets = 0 === e ? function() {
29367			var e$1, r;
29368			for (r = [], n = 0, e$1 = this.length; n < e$1; n += 2) r.push(2 * t$1.readUInt16());
29369			return r;
29370		}.call(this) : function() {
29371			var e$1, r;
29372			for (r = [], n = 0, e$1 = this.length; n < e$1; n += 4) r.push(t$1.readUInt32());
29373			return r;
29374		}.call(this);
29375	}, t.prototype.indexOf = function(t$1) {
29376		return this.offsets[t$1];
29377	}, t.prototype.lengthOf = function(t$1) {
29378		return this.offsets[t$1 + 1] - this.offsets[t$1];
29379	}, t.prototype.encode = function(t$1, e) {
29380		for (var n = new Uint32Array(this.offsets.length), r = 0, i$2 = 0, a$1 = 0; a$1 < n.length; ++a$1) if (n[a$1] = r, i$2 < e.length && e[i$2] == a$1) {
29381			++i$2, n[a$1] = r;
29382			var o$1 = this.offsets[a$1], s$1 = this.offsets[a$1 + 1] - o$1;
29383			s$1 > 0 && (r += s$1);
29384		}
29385		for (var u$1 = new Array(4 * n.length), c$1 = 0; c$1 < n.length; ++c$1) u$1[4 * c$1 + 3] = 255 & n[c$1], u$1[4 * c$1 + 2] = (65280 & n[c$1]) >> 8, u$1[4 * c$1 + 1] = (16711680 & n[c$1]) >> 16, u$1[4 * c$1] = (4278190080 & n[c$1]) >> 24;
29386		return u$1;
29387	}, t;
29388}(), je = function() {
29389	function t(t$1) {
29390		this.font = t$1, this.subset = {}, this.unicodes = {}, this.next = 33;
29391	}
29392	return t.prototype.generateCmap = function() {
29393		var t$1, e, n, r, i$2;
29394		for (e in r = this.font.cmap.tables[0].codeMap, t$1 = {}, i$2 = this.subset) n = i$2[e], t$1[e] = r[n];
29395		return t$1;
29396	}, t.prototype.glyphsFor = function(t$1) {
29397		var e, n, r, i$2, a$1, o$1, s$1;
29398		for (r = {}, a$1 = 0, o$1 = t$1.length; a$1 < o$1; a$1++) r[i$2 = t$1[a$1]] = this.font.glyf.glyphFor(i$2);
29399		for (i$2 in e = [], r) null != (n = r[i$2]) && n.compound && e.push.apply(e, n.glyphIDs);
29400		if (e.length > 0) for (i$2 in s$1 = this.glyphsFor(e)) n = s$1[i$2], r[i$2] = n;
29401		return r;
29402	}, t.prototype.encode = function(t$1, e) {
29403		var n, r, i$2, a$1, o$1, s$1, u$1, c$1, l$1, h$1, f$1, d$1, p$1, g$1, m$1;
29404		for (r in n = be.encode(this.generateCmap(), "unicode"), a$1 = this.glyphsFor(t$1), f$1 = { 0: 0 }, m$1 = n.charMap) f$1[(s$1 = m$1[r]).old] = s$1.new;
29405		for (d$1 in h$1 = n.maxGlyphID, a$1) d$1 in f$1 || (f$1[d$1] = h$1++);
29406		return c$1 = function(t$2) {
29407			var e$1, n$1;
29408			for (e$1 in n$1 = {}, t$2) n$1[t$2[e$1]] = e$1;
29409			return n$1;
29410		}(f$1), l$1 = Object.keys(c$1).sort(function(t$2, e$1) {
29411			return t$2 - e$1;
29412		}), p$1 = function() {
29413			var t$2, e$1, n$1;
29414			for (n$1 = [], t$2 = 0, e$1 = l$1.length; t$2 < e$1; t$2++) o$1 = l$1[t$2], n$1.push(c$1[o$1]);
29415			return n$1;
29416		}(), i$2 = this.font.glyf.encode(a$1, p$1, f$1), u$1 = this.font.loca.encode(i$2.offsets, p$1), g$1 = {
29417			cmap: this.font.cmap.raw(),
29418			glyf: i$2.table,
29419			loca: u$1,
29420			hmtx: this.font.hmtx.raw(),
29421			hhea: this.font.hhea.raw(),
29422			maxp: this.font.maxp.raw(),
29423			post: this.font.post.raw(),
29424			name: this.font.name.raw(),
29425			head: this.font.head.encode(e)
29426		}, this.font.os2.exists && (g$1["OS/2"] = this.font.os2.raw()), this.font.directory.encode(g$1);
29427	}, t;
29428}();
29429E.API.PDFObject = function() {
29430	var t;
29431	function e() {}
29432	return t = function(t$1, e$1) {
29433		return (Array(e$1 + 1).join("0") + t$1).slice(-e$1);
29434	}, e.convert = function(n) {
29435		var r, i$2, a$1, o$1;
29436		if (Array.isArray(n)) return "[" + function() {
29437			var t$1, i$3, a$2;
29438			for (a$2 = [], t$1 = 0, i$3 = n.length; t$1 < i$3; t$1++) r = n[t$1], a$2.push(e.convert(r));
29439			return a$2;
29440		}().join(" ") + "]";
29441		if ("string" == typeof n) return "/" + n;
29442		if (null != n ? n.isString : void 0) return "(" + n + ")";
29443		if (n instanceof Date) return "(D:" + t(n.getUTCFullYear(), 4) + t(n.getUTCMonth(), 2) + t(n.getUTCDate(), 2) + t(n.getUTCHours(), 2) + t(n.getUTCMinutes(), 2) + t(n.getUTCSeconds(), 2) + "Z)";
29444		if ("[object Object]" === {}.toString.call(n)) {
29445			for (i$2 in a$1 = ["<<"], n) o$1 = n[i$2], a$1.push("/" + i$2 + " " + e.convert(o$1));
29446			return a$1.push(">>"), a$1.join("\n");
29447		}
29448		return "" + n;
29449	}, e;
29450}();
29451export { require_html2canvas as _, O as a, dt as c, mt as d, pt as f, xt as g, wt as h, Nt as i, ft as l, vt as m, Lt as n, St as o, q as p, M as r, bt as s, E as t, gt as u, _typeof as v, __vitePreload as y };

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.