PageSourceSearch

https://www.casece.com/dist/casece/polyfill.bundle.js

js casece.com collected 2026-10-03 20:26:40 UTC 1,019,576 bytes, 29,056 lines download raw bytes

vendor: 11,528 bytes, lines 1-347
1/******/ (() => { // webpackBootstrap
2/******/ 	var __webpack_modules__ = ({
3
4/***/ 4153:
5/***/ ((module) => {
6
7/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */
8(function () {
9  'use strict';
10
11  // polyfill
12  function polyfill() {
13    // aliases
14    var w = window;
15    var d = document;
16
17    // return if scroll behavior is supported and polyfill is not forced
18    if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {
19      return;
20    }
21
22    // globals
23    var Element = w.HTMLElement || w.Element;
24    var SCROLL_TIME = 468;
25
26    // object gathering original scroll methods
27    var original = {
28      scroll: w.scroll || w.scrollTo,
29      scrollBy: w.scrollBy,
30      elementScroll: Element.prototype.scroll || scrollElement,
31      scrollIntoView: Element.prototype.scrollIntoView
32    };
33
34    // define timing method
35    var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;
36
37    /**
38     * indicates if a the current browser is made by Microsoft
39     * @method isMicrosoftBrowser
40     * @param {String} userAgent
41     * @returns {Boolean}
42     */
43    function isMicrosoftBrowser(userAgent) {
44      var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];
45      return new RegExp(userAgentPatterns.join('|')).test(userAgent);
46    }
47
48    /*
49     * IE has rounding bug rounding down clientHeight and clientWidth and
50     * rounding up scrollHeight and scrollWidth causing false positives
51     * on hasScrollableSpace
52     */
53    var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;
54
55    /**
56     * changes scroll position inside an element
57     * @method scrollElement
58     * @param {Number} x
59     * @param {Number} y
60     * @returns {undefined}
61     */
62    function scrollElement(x, y) {
63      this.scrollLeft = x;
64      this.scrollTop = y;
65    }
66
67    /**
68     * returns result of applying ease math function to a number
69     * @method ease
70     * @param {Number} k
71     * @returns {Number}
72     */
73    function ease(k) {
74      return 0.5 * (1 - Math.cos(Math.PI * k));
75    }
76
77    /**
78     * indicates if a smooth behavior should be applied
79     * @method shouldBailOut
80     * @param {Number|Object} firstArg
81     * @returns {Boolean}
82     */
83    function shouldBailOut(firstArg) {
84      if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {
85        // first argument is not an object/null
86        // or behavior is auto, instant or undefined
87        return true;
88      }
89      if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {
90        // first argument is an object and behavior is smooth
91        return false;
92      }
93
94      // throw error when behavior is not supported
95      throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');
96    }
97
98    /**
99     * indicates if an element has scrollable space in the provided axis
100     * @method hasScrollableSpace
101     * @param {Node} el
102     * @param {String} axis
103     * @returns {Boolean}
104     */
105    function hasScrollableSpace(el, axis) {
106      if (axis === 'Y') {
107        return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;
108      }
109      if (axis === 'X') {
110        return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;
111      }
112    }
113
114    /**
115     * indicates if an element has a scrollable overflow property in the axis
116     * @method canOverflow
117     * @param {Node} el
118     * @param {String} axis
119     * @returns {Boolean}
120     */
121    function canOverflow(el, axis) {
122      var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];
123      return overflowValue === 'auto' || overflowValue === 'scroll';
124    }
125
126    /**
127     * indicates if an element can be scrolled in either axis
128     * @method isScrollable
129     * @param {Node} el
130     * @param {String} axis
131     * @returns {Boolean}
132     */
133    function isScrollable(el) {
134      var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');
135      var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');
136      return isScrollableY || isScrollableX;
137    }
138
139    /**
140     * finds scrollable parent of an element
141     * @method findScrollableParent
142     * @param {Node} el
143     * @returns {Node} el
144     */
145    function findScrollableParent(el) {
146      while (el !== d.body && isScrollable(el) === false) {
147        el = el.parentNode || el.host;
148      }
149      return el;
150    }
151
152    /**
153     * self invoked function that, given a context, steps through scrolling
154     * @method step
155     * @param {Object} context
156     * @returns {undefined}
157     */
158    function step(context) {
159      var time = now();
160      var value;
161      var currentX;
162      var currentY;
163      var elapsed = (time - context.startTime) / SCROLL_TIME;
164
165      // avoid elapsed times higher than one
166      elapsed = elapsed > 1 ? 1 : elapsed;
167
168      // apply easing to elapsed time
169      value = ease(elapsed);
170      currentX = context.startX + (context.x - context.startX) * value;
171      currentY = context.startY + (context.y - context.startY) * value;
172      context.method.call(context.scrollable, currentX, currentY);
173
174      // scroll more if we have not reached our destination
175      if (currentX !== context.x || currentY !== context.y) {
176        w.requestAnimationFrame(step.bind(w, context));
177      }
178    }
179
180    /**
181     * scrolls window or element with a smooth behavior
182     * @method smoothScroll
183     * @param {Object|Node} el
184     * @param {Number} x
185     * @param {Number} y
186     * @returns {undefined}
187     */
188    function smoothScroll(el, x, y) {
189      var scrollable;
190      var startX;
191      var startY;
192      var method;
193      var startTime = now();
194
195      // define scroll context
196      if (el === d.body) {
197        scrollable = w;
198        startX = w.scrollX || w.pageXOffset;
199        startY = w.scrollY || w.pageYOffset;
200        method = original.scroll;
201      } else {
202        scrollable = el;
203        startX = el.scrollLeft;
204        startY = el.scrollTop;
205        method = scrollElement;
206      }
207
208      // scroll looping over a frame
209      step({
210        scrollable: scrollable,
211        method: method,
212        startTime: startTime,
213        startX: startX,
214        startY: startY,
215        x: x,
216        y: y
217      });
218    }
219
220    // ORIGINAL METHODS OVERRIDES
221    // w.scroll and w.scrollTo
222    w.scroll = w.scrollTo = function () {
223      // avoid action when no arguments are passed
224      if (arguments[0] === undefined) {
225        return;
226      }
227
228      // avoid smooth behavior if not required
229      if (shouldBailOut(arguments[0]) === true) {
230        original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset,
231        // use top prop, second argument if present or fallback to scrollY
232        arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);
233        return;
234      }
235
236      // LET THE SMOOTHNESS BEGIN!
237      smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);
238    };
239
240    // w.scrollBy
241    w.scrollBy = function () {
242      // avoid action when no arguments are passed
243      if (arguments[0] === undefined) {
244        return;
245      }
246
247      // avoid smooth behavior if not required
248      if (shouldBailOut(arguments[0])) {
249        original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);
250        return;
251      }
252
253      // LET THE SMOOTHNESS BEGIN!
254      smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));
255    };
256
257    // Element.prototype.scroll and Element.prototype.scrollTo
258    Element.prototype.scroll = Element.prototype.scrollTo = function () {
259      // avoid action when no arguments are passed
260      if (arguments[0] === undefined) {
261        return;
262      }
263
264      // avoid smooth behavior if not required
265      if (shouldBailOut(arguments[0]) === true) {
266        // if one number is passed, throw error to match Firefox implementation
267        if (typeof arguments[0] === 'number' && arguments[1] === undefined) {
268          throw new SyntaxError('Value could not be converted');
269        }
270        original.elementScroll.call(this,
271        // use left prop, first number argument or fallback to scrollLeft
272        arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,
273        // use top prop, second argument or fallback to scrollTop
274        arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);
275        return;
276      }
277      var left = arguments[0].left;
278      var top = arguments[0].top;
279
280      // LET THE SMOOTHNESS BEGIN!
281      smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);
282    };
283
284    // Element.prototype.scrollBy
285    Element.prototype.scrollBy = function () {
286      // avoid action when no arguments are passed
287      if (arguments[0] === undefined) {
288        return;
289      }
290
291      // avoid smooth behavior if not required
292      if (shouldBailOut(arguments[0]) === true) {
293        original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);
294        return;
295      }
296      this.scroll({
297        left: ~~arguments[0].left + this.scrollLeft,
298        top: ~~arguments[0].top + this.scrollTop,
299        behavior: arguments[0].behavior
300      });
301    };
302
303    // Element.prototype.scrollIntoView
304    Element.prototype.scrollIntoView = function () {
305      // avoid smooth behavior if not required
306      if (shouldBailOut(arguments[0]) === true) {
307        original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);
308        return;
309      }
310
311      // LET THE SMOOTHNESS BEGIN!
312      var scrollableParent = findScrollableParent(this);
313      var parentRects = scrollableParent.getBoundingClientRect();
314      var clientRects = this.getBoundingClientRect();
315      if (scrollableParent !== d.body) {
316        // reveal element inside parent
317        smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top);
318
319        // reveal parent in viewport unless is fixed
320        if (w.getComputedStyle(scrollableParent).position !== 'fixed') {
321          w.scrollBy({
322            left: parentRects.left,
323            top: parentRects.top,
324            behavior: 'smooth'
325          });
326        }
327      } else {
328        // reveal element in viewport
329        w.scrollBy({
330          left: clientRects.left,
331          top: clientRects.top,
332          behavior: 'smooth'
333        });
334      }
335    };
336  }
337  if (true) {
338    // commonjs
339    module.exports = {
340      polyfill: polyfill
341    };
342  } else {}
343})();
344
345/***/ }),
346
347/***/ 7816:
348/***/ ((__unused_webpack_module, exports) => {
349
350"use strict";
351
352
353Object.defineProperty(exports, "__esModule", ({
354  value: true
355}));
356exports.convertDataURIToBinary = exports.isBase64Url = void 0;
357var BASE64_MARKER = ";base64,";
358var isBase64Url = function (src) {
359  return src.indexOf(BASE64_MARKER) > -1;
360};
361exports.isBase64Url = isBase64Url;
362var convertDataURIToBinary = function (dataURI) {
363  var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
364  var base64 = dataURI.substring(base64Index);
365  var raw = window.atob(base64);
366  var rawLength = raw.length;
367  var array = new Uint8Array(new ArrayBuffer(rawLength));
368  for (var i = 0; i < rawLength; i++) {
369    array[i] = raw.charCodeAt(i);
370  }
371  return array;
372};
373exports.convertDataURIToBinary = convertDataURIToBinary;
374
375/***/ }),
376
377/***/ 9533:
378/***/ ((__unused_webpack_module, exports) => {
379
380"use strict";
381
382
383Object.defineProperty(exports, "__esModule", ({
384  value: true
385}));
386exports.detectCanvasReadingSupport = void 0;
387/**
388 * detect whether or not the browser allows reading from a canvas
389 *  - some browsers, as an anti-fingerprinting security measure,
390 *    disallow reading data from a canvas.
391 *  - if canvas reading isn't allowed, to polyfill images,
392 *    we have to display the actual canvases instead of reading out
393 *    their data to inject as <img> elements.
394 */
395function detectCanvasReadingSupport() {
396  var expectedPixel = [17, 34, 51, 255];
397  var canvas = document.createElement("canvas");
398  canvas.setAttribute("data-canvas-1", "");
399  canvas.width = 1;
400  canvas.height = 1;
401  var context = canvas.getContext("2d");
402  context.fillStyle = "#123";
403  context.fillRect(0, 0, 1, 1);
404  var pixel = context.getImageData(0, 0, 1, 1).data;
405  var matches = true;
406  for (var index = 0; index < pixel.byteLength; index += 1) {
407    var byte = pixel[index];
408    if (byte !== expectedPixel[index]) matches = false;
409  }
410  return matches;
411}
412exports.detectCanvasReadingSupport = detectCanvasReadingSupport;
413
414/***/ }),
415
416/***/ 8359:
417/***/ (function(__unused_webpack_module, exports) {
418
419"use strict";
420
421
422var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
423  function adopt(value) {
424    return value instanceof P ? value : new P(function (resolve) {
425      resolve(value);
426    });
427  }
428  return new (P || (P = Promise))(function (resolve, reject) {
429    function fulfilled(value) {
430      try {
431        step(generator.next(value));
432      } catch (e) {
433        reject(e);
434      }
435    }
436    function rejected(value) {
437      try {
438        step(generator["throw"](value));
439      } catch (e) {
440        reject(e);
441      }
442    }
443    function step(result) {
444      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
445    }
446    step((generator = generator.apply(thisArg, _arguments || [])).next());
447  });
448};
449var __generator = this && this.__generator || function (thisArg, body) {
450  var _ = {
451      label: 0,
452      sent: function () {
453        if (t[0] & 1) throw t[1];
454        return t[1];
455      },
456      trys: [],
457      ops: []
458    },
459    f,
460    y,
461    t,
462    g;
463  return g = {
464    next: verb(0),
465    "throw": verb(1),
466    "return": verb(2)
467  }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
468    return this;
469  }), g;
470  function verb(n) {
471    return function (v) {
472      return step([n, v]);
473    };
474  }
475  function step(op) {
476    if (f) throw new TypeError("Generator is already executing.");
477    while (_) try {
478      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
479      if (y = 0, t) op = [op[0] & 2, t.value];
480      switch (op[0]) {
481        case 0:
482        case 1:
483          t = op;
484          break;
485        case 4:
486          _.label++;
487          return {
488            value: op[1],
489            done: false
490          };
491        case 5:
492          _.label++;
493          y = op[1];
494          op = [0];
495          continue;
496        case 7:
497          op = _.ops.pop();
498          _.trys.pop();
499          continue;
500        default:
501          if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
502            _ = 0;
503            continue;
504          }
505          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
506            _.label = op[1];
507            break;
508          }
509          if (op[0] === 6 && _.label < t[1]) {
510            _.label = t[1];
511            t = op;
512            break;
513          }
514          if (t && _.label < t[2]) {
515            _.label = t[2];
516            _.ops.push(op);
517            break;
518          }
519          if (t[2]) _.ops.pop();
520          _.trys.pop();
521          continue;
522      }
523      op = body.call(thisArg, _);
524    } catch (e) {
525      op = [6, e];
526      y = 0;
527    } finally {
528      f = t = 0;
529    }
530    if (op[0] & 5) throw op[1];
531    return {
532      value: op[0] ? op[1] : void 0,
533      done: true
534    };
535  }
536};
537Object.defineProperty(exports, "__esModule", ({
538  value: true
539}));
540exports.detectWebpSupport = void 0;
541function detectWebpSupport() {
542  return __awaiter(this, void 0, void 0, function () {
543    var testImageSources, testImage, results;
544    return __generator(this, function (_a) {
545      switch (_a.label) {
546        case 0:
547          testImageSources = ["data:image/webp;base64,UklGRjIAAABXRUJQVlA4ICYAAACyAgCdASoCAAEALmk0mk0iIiIiIgBoSygABc6zbAAA/v56QAAAAA==", "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="];
548          testImage = function (src) {
549            return new Promise(function (resolve) {
550              var img = document.createElement("img");
551              img.onerror = function () {
552                return resolve(false);
553              };
554              img.onload = function () {
555                return resolve(true);
556              };
557              img.src = src;
558            });
559          };
560          return [4 /*yield*/, Promise.all(testImageSources.map(testImage))];
561        case 1:
562          results = _a.sent();
563          return [2 /*return*/, results.every(function (result) {
564            return !!result;
565          })];
566      }
567    });
568  });
569}
570exports.detectWebpSupport = detectWebpSupport;
571
572/***/ }),
573
574/***/ 2437:
575/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
576
577"use strict";
578
579
580/**
581 * @file Automatically generated by barrelsby.
582 */
583var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
584  if (k2 === undefined) k2 = k;
585  Object.defineProperty(o, k2, {
586    enumerable: true,
587    get: function () {
588      return m[k];
589    }
590  });
591} : function (o, m, k, k2) {
592  if (k2 === undefined) k2 = k;
593  o[k2] = m[k];
594});
595var __exportStar = this && this.__exportStar || function (m, exports) {
596  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
597};
598Object.defineProperty(exports, "__esModule", ({
599  value: true
600}));
601__exportStar(__webpack_require__(7816), exports);
602__exportStar(__webpack_require__(9533), exports);
603__exportStar(__webpack_require__(8359), exports);
604__exportStar(__webpack_require__(3190), exports);
605__exportStar(__webpack_require__(8851), exports);
606__exportStar(__webpack_require__(2511), exports);
607
608/***/ }),
609
610/***/ 3190:
611/***/ ((__unused_webpack_module, exports) => {
612
613"use strict";
614
615
616Object.defineProperty(exports, "__esModule", ({
617  value: true
618}));
619
620/***/ }),
621
622/***/ 8851:
623/***/ (function(__unused_webpack_module, exports) {
624
625"use strict";
626
627
628var __extends = this && this.__extends || function () {
629  var extendStatics = function (d, b) {
630    extendStatics = Object.setPrototypeOf || {
631      __proto__: []
632    } instanceof Array && function (d, b) {
633      d.__proto__ = b;
634    } || function (d, b) {
635      for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
636    };
637    return extendStatics(d, b);
638  };
639  return function (d, b) {
640    if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
641    extendStatics(d, b);
642    function __() {
643      this.constructor = d;
644    }
645    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
646  };
647}();
648var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
649  function adopt(value) {
650    return value instanceof P ? value : new P(function (resolve) {
651      resolve(value);
652    });
653  }
654  return new (P || (P = Promise))(function (resolve, reject) {
655    function fulfilled(value) {
656      try {
657        step(generator.next(value));
658      } catch (e) {
659        reject(e);
660      }
661    }
662    function rejected(value) {
663      try {
664        step(generator["throw"](value));
665      } catch (e) {
666        reject(e);
667      }
668    }
669    function step(result) {
670      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
671    }
672    step((generator = generator.apply(thisArg, _arguments || [])).next());
673  });
674};
675var __generator = this && this.__generator || function (thisArg, body) {
676  var _ = {
677      label: 0,
678      sent: function () {
679        if (t[0] & 1) throw t[1];
680        return t[1];
681      },
682      trys: [],
683      ops: []
684    },
685    f,
686    y,
687    t,
688    g;
689  return g = {
690    next: verb(0),
691    "throw": verb(1),
692    "return": verb(2)
693  }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
694    return this;
695  }), g;
696  function verb(n) {
697    return function (v) {
698      return step([n, v]);
699    };
700  }
701  function step(op) {
702    if (f) throw new TypeError("Generator is already executing.");
703    while (_) try {
704      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
705      if (y = 0, t) op = [op[0] & 2, t.value];
706      switch (op[0]) {
707        case 0:
708        case 1:
709          t = op;
710          break;
711        case 4:
712          _.label++;
713          return {
714            value: op[1],
715            done: false
716          };
717        case 5:
718          _.label++;
719          y = op[1];
720          op = [0];
721          continue;
722        case 7:
723          op = _.ops.pop();
724          _.trys.pop();
725          continue;
726        default:
727          if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
728            _ = 0;
729            continue;
730          }
731          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
732            _.label = op[1];
733            break;
734          }
735          if (op[0] === 6 && _.label < t[1]) {
736            _.label = t[1];
737            t = op;
738            break;
739          }
740          if (t && _.label < t[2]) {
741            _.label = t[2];
742            _.ops.push(op);
743            break;
744          }
745          if (t[2]) _.ops.pop();
746          _.trys.pop();
747          continue;
748      }
749      op = body.call(thisArg, _);
750    } catch (e) {
751      op = [6, e];
752      y = 0;
753    } finally {
754      f = t = 0;
755    }
756    if (op[0] & 5) throw op[1];
757    return {
758      value: op[0] ? op[1] : void 0,
759      done: true
760    };
761  }
762};
763Object.defineProperty(exports, "__esModule", ({
764  value: true
765}));
766exports.loadBinaryData = exports.LoadingError = void 0;
767var LoadingError = /** @class */function (_super) {
768  __extends(LoadingError, _super);
769  function LoadingError() {
770    return _super !== null && _super.apply(this, arguments) || this;
771  }
772  return LoadingError;
773}(Error);
774exports.LoadingError = LoadingError;
775function loadBinaryData(url) {
776  return __awaiter(this, void 0, void 0, function () {
777    return __generator(this, function (_a) {
778      return [2 /*return*/, new Promise(function (resolve, reject) {
779        var xhr = new XMLHttpRequest();
780        xhr.open("GET", url);
781        xhr.responseType = "arraybuffer";
782        var handleError = function () {
783          reject(new LoadingError("failed to load binary data, code \"".concat(xhr.status, "\" from \"").concat(url, "\"")));
784        };
785        xhr.onerror = handleError;
786        xhr.onreadystatechange = function () {
787          if (xhr.readyState == 4) {
788            if (xhr.status == 200) {
789              resolve(new Uint8Array(xhr.response));
790            } else {
791              handleError();
792            }
793          }
794        };
795        xhr.send();
796      })];
797    });
798  });
799}
800exports.loadBinaryData = loadBinaryData;
801
802/***/ }),
803
804/***/ 4004:
805/***/ (function(module) {
806
807!function (t, e) {
808   true ? module.exports = e() : 0;
809}(this, function () {
810  "use strict";
811
812  function t(t) {
813    var e = typeof t;
814    return null !== t && ("object" === e || "function" === e);
815  }
816  function e(t) {
817    return "function" == typeof t;
818  }
819  function n(t) {
820    W = t;
821  }
822  function r(t) {
823    z = t;
824  }
825  function o() {
826    return function () {
827      return process.nextTick(a);
828    };
829  }
830  function i() {
831    return "undefined" != typeof U ? function () {
832      U(a);
833    } : c();
834  }
835  function s() {
836    var t = 0,
837      e = new H(a),
838      n = document.createTextNode("");
839    return e.observe(n, {
840      characterData: !0
841    }), function () {
842      n.data = t = ++t % 2;
843    };
844  }
845  function u() {
846    var t = new MessageChannel();
847    return t.port1.onmessage = a, function () {
848      return t.port2.postMessage(0);
849    };
850  }
851  function c() {
852    var t = setTimeout;
853    return function () {
854      return t(a, 1);
855    };
856  }
857  function a() {
858    for (var t = 0; t < N; t += 2) {
859      var e = Q[t],
860        n = Q[t + 1];
861      e(n), Q[t] = void 0, Q[t + 1] = void 0;
862    }
863    N = 0;
864  }
865  function f() {
866    try {
867      var t = Function("return this")().require("vertx");
868      return U = t.runOnLoop || t.runOnContext, i();
869    } catch (e) {
870      return c();
871    }
872  }
873  function l(t, e) {
874    var n = this,
875      r = new this.constructor(p);
876    void 0 === r[V] && x(r);
877    var o = n._state;
878    if (o) {
879      var i = arguments[o - 1];
880      z(function () {
881        return T(o, r, i, n._result);
882      });
883    } else j(n, r, t, e);
884    return r;
885  }
886  function h(t) {
887    var e = this;
888    if (t && "object" == typeof t && t.constructor === e) return t;
889    var n = new e(p);
890    return w(n, t), n;
891  }
892  function p() {}
893  function v() {
894    return new TypeError("You cannot resolve a promise with itself");
895  }
896  function d() {
897    return new TypeError("A promises callback cannot return that same promise.");
898  }
899  function _(t, e, n, r) {
900    try {
901      t.call(e, n, r);
902    } catch (o) {
903      return o;
904    }
905  }
906  function y(t, e, n) {
907    z(function (t) {
908      var r = !1,
909        o = _(n, e, function (n) {
910          r || (r = !0, e !== n ? w(t, n) : A(t, n));
911        }, function (e) {
912          r || (r = !0, S(t, e));
913        }, "Settle: " + (t._label || " unknown promise"));
914      !r && o && (r = !0, S(t, o));
915    }, t);
916  }
917  function m(t, e) {
918    e._state === Z ? A(t, e._result) : e._state === $ ? S(t, e._result) : j(e, void 0, function (e) {
919      return w(t, e);
920    }, function (e) {
921      return S(t, e);
922    });
923  }
924  function b(t, n, r) {
925    n.constructor === t.constructor && r === l && n.constructor.resolve === h ? m(t, n) : void 0 === r ? A(t, n) : e(r) ? y(t, n, r) : A(t, n);
926  }
927  function w(e, n) {
928    if (e === n) S(e, v());else if (t(n)) {
929      var r = void 0;
930      try {
931        r = n.then;
932      } catch (o) {
933        return void S(e, o);
934      }
935      b(e, n, r);
936    } else A(e, n);
937  }
938  function g(t) {
939    t._onerror && t._onerror(t._result), E(t);
940  }
941  function A(t, e) {
942    t._state === X && (t._result = e, t._state = Z, 0 !== t._subscribers.length && z(E, t));
943  }
944  function S(t, e) {
945    t._state === X && (t._state = $, t._result = e, z(g, t));
946  }
947  function j(t, e, n, r) {
948    var o = t._subscribers,
949      i = o.length;
950    t._onerror = null, o[i] = e, o[i + Z] = n, o[i + $] = r, 0 === i && t._state && z(E, t);
951  }
952  function E(t) {
953    var e = t._subscribers,
954      n = t._state;
955    if (0 !== e.length) {
956      for (var r = void 0, o = void 0, i = t._result, s = 0; s < e.length; s += 3) r = e[s], o = e[s + n], r ? T(n, r, o, i) : o(i);
957      t._subscribers.length = 0;
958    }
959  }
960  function T(t, n, r, o) {
961    var i = e(r),
962      s = void 0,
963      u = void 0,
964      c = !0;
965    if (i) {
966      try {
967        s = r(o);
968      } catch (a) {
969        c = !1, u = a;
970      }
971      if (n === s) return void S(n, d());
972    } else s = o;
973    n._state !== X || (i && c ? w(n, s) : c === !1 ? S(n, u) : t === Z ? A(n, s) : t === $ && S(n, s));
974  }
975  function M(t, e) {
976    try {
977      e(function (e) {
978        w(t, e);
979      }, function (e) {
980        S(t, e);
981      });
982    } catch (n) {
983      S(t, n);
984    }
985  }
986  function P() {
987    return tt++;
988  }
989  function x(t) {
990    t[V] = tt++, t._state = void 0, t._result = void 0, t._subscribers = [];
991  }
992  function C() {
993    return new Error("Array Methods must be provided an Array");
994  }
995  function O(t) {
996    return new et(this, t).promise;
997  }
998  function k(t) {
999    var e = this;
1000    return new e(L(t) ? function (n, r) {
1001      for (var o = t.length, i = 0; i < o; i++) e.resolve(t[i]).then(n, r);
1002    } : function (t, e) {
1003      return e(new TypeError("You must pass an array to race."));
1004    });
1005  }
1006  function F(t) {
1007    var e = this,
1008      n = new e(p);
1009    return S(n, t), n;
1010  }
1011  function Y() {
1012    throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");
1013  }
1014  function q() {
1015    throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object c
1015onstructor cannot be called as a function.");
1016  }
1017  function D() {
1018    var t = void 0;
1019    if ("undefined" != typeof global) t = global;else if ("undefined" != typeof self) t = self;else try {
1020      t = Function("return this")();
1021    } catch (e) {
1022      throw new Error("polyfill failed because global object is unavailable in this environment");
1023    }
1024    var n = t.Promise;
1025    if (n) {
1026      var r = null;
1027      try {
1028        r = Object.prototype.toString.call(n.resolve());
1029      } catch (e) {}
1030      if ("[object Promise]" === r && !n.cast) return;
1031    }
1032    t.Promise = nt;
1033  }
1034  var K = void 0;
1035  K = Array.isArray ? Array.isArray : function (t) {
1036    return "[object Array]" === Object.prototype.toString.call(t);
1037  };
1038  var L = K,
1039    N = 0,
1040    U = void 0,
1041    W = void 0,
1042    z = function (t, e) {
1043      Q[N] = t, Q[N + 1] = e, N += 2, 2 === N && (W ? W(a) : R());
1044    },
1045    B = "undefined" != typeof window ? window : void 0,
1046    G = B || {},
1047    H = G.MutationObserver || G.WebKitMutationObserver,
1048    I = "undefined" == typeof self && "undefined" != typeof process && "[object process]" === {}.toString.call(process),
1049    J = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel,
1050    Q = new Array(1e3),
1051    R = void 0;
1052  R = I ? o() : H ? s() : J ? u() : void 0 === B && "function" == "function" ? f() : c();
1053  var V = Math.random().toString(36).substring(2),
1054    X = void 0,
1055    Z = 1,
1056    $ = 2,
1057    tt = 0,
1058    et = function () {
1059      function t(t, e) {
1060        this._instanceConstructor = t, this.promise = new t(p), this.promise[V] || x(this.promise), L(e) ? (this.length = e.length, this._remaining = e.length, this._result = new Array(this.length), 0 === this.length ? A(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(e), 0 === this._remaining && A(this.promise, this._result))) : S(this.promise, C());
1061      }
1062      return t.prototype._enumerate = function (t) {
1063        for (var e = 0; this._state === X && e < t.length; e++) this._eachEntry(t[e], e);
1064      }, t.prototype._eachEntry = function (t, e) {
1065        var n = this._instanceConstructor,
1066          r = n.resolve;
1067        if (r === h) {
1068          var o = void 0,
1069            i = void 0,
1070            s = !1;
1071          try {
1072            o = t.then;
1073          } catch (u) {
1074            s = !0, i = u;
1075          }
1076          if (o === l && t._state !== X) this._settledAt(t._state, e, t._result);else if ("function" != typeof o) this._remaining--, this._result[e] = t;else if (n === nt) {
1077            var c = new n(p);
1078            s ? S(c, i) : b(c, t, o), this._willSettleAt(c, e);
1079          } else this._willSettleAt(new n(function (e) {
1080            return e(t);
1081          }), e);
1082        } else this._willSettleAt(r(t), e);
1083      }, t.prototype._settledAt = function (t, e, n) {
1084        var r = this.promise;
1085        r._state === X && (this._remaining--, t === $ ? S(r, n) : this._result[e] = n), 0 === this._remaining && A(r, this._result);
1086      }, t.prototype._willSettleAt = function (t, e) {
1087        var n = this;
1088        j(t, void 0, function (t) {
1089          return n._settledAt(Z, e, t);
1090        }, function (t) {
1091          return n._settledAt($, e, t);
1092        });
1093      }, t;
1094    }(),
1095    nt = function () {
1096      function t(e) {
1097        this[V] = P(), this._result = this._state = void 0, this._subscribers = [], p !== e && ("function" != typeof e && Y(), this instanceof t ? M(this, e) : q());
1098      }
1099      return t.prototype["catch"] = function (t) {
1100        return this.then(null, t);
1101      }, t.prototype["finally"] = function (t) {
1102        var n = this,
1103          r = n.constructor;
1104        return e(t) ? n.then(function (e) {
1105          return r.resolve(t()).then(function () {
1106            return e;
1107          });
1108        }, function (e) {
1109          return r.resolve(t()).then(function () {
1110            throw e;
1111          });
1112        }) : n.then(t, t);
1113      }, t;
1114    }();
1115  return nt.prototype.then = l, nt.all = O, nt.race = k, nt.resolve = h, nt.reject = F, nt._setScheduler = n, nt._setAsap = r, nt._asap = z, nt.polyfill = D, nt.Promise = nt, nt.polyfill(), nt;
1116});
1117!function () {
1118  var t, u, e, c;
1119  Array.from || (Array.from = (t = Object.prototype.toString, u = function (r) {
1120    return "function" == typeof r || "[object Function]" === t.call(r);
1121  }, e = Math.pow(2, 53) - 1, c = function (r) {
1122    var t,
1123      n = (t = Number(r), isNaN(t) ? 0 : 0 !== t && isFinite(t) ? (0 < t ? 1 : -1) * Math.floor(Math.abs(t)) : t);
1124    return Math.min(Math.max(n, 0), e);
1125  }, function (r) {
1126    var t = Object(r);
1127    if (null == r) throw new TypeError("Array.from requires an array-like object - not null or undefined");
1128    var n,
1129      e = 1 < arguments.length ? arguments[1] : void 0;
1130    if (void 0 !== e) {
1131      if (!u(e)) throw new TypeError("Array.from: when provided, the second argument must be a function");
1132      2 < arguments.length && (n = arguments[2]);
1133    }
1134    for (var o, a = c(t.length), i = u(this) ? Object(new this(a)) : new Array(a), f = 0; f < a;) o = t[f], i[f] = e ? void 0 === n ? e(o, f) : e.call(n, o, f) : o, f += 1;
1135    return i.length = a, i;
1136  }));
1137}();
1138
1139/***/ }),
1140
1141/***/ 8847:
1142/***/ (function(__unused_webpack_module, exports) {
1143
1144"use strict";
1145
1146
1147var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
1148  function adopt(value) {
1149    return value instanceof P ? value : new P(function (resolve) {
1150      resolve(value);
1151    });
1152  }
1153  return new (P || (P = Promise))(function (resolve, reject) {
1154    function fulfilled(value) {
1155      try {
1156        step(generator.next(value));
1157      } catch (e) {
1158        reject(e);
1159      }
1160    }
1161    function rejected(value) {
1162      try {
1163        step(generator["throw"](value));
1164      } catch (e) {
1165        reject(e);
1166      }
1167    }
1168    function step(result) {
1169      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
1170    }
1171    step((generator = generator.apply(thisArg, _arguments || [])).next());
1172  });
1173};
1174var __generator = this && this.__generator || function (thisArg, body) {
1175  var _ = {
1176      label: 0,
1177      sent: function () {
1178        if (t[0] & 1) throw t[1];
1179        return t[1];
1180      },
1181      trys: [],
1182      ops: []
1183    },
1184    f,
1185    y,
1186    t,
1187    g;
1188  return g = {
1189    next: verb(0),
1190    "throw": verb(1),
1191    "return": verb(2)
1192  }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
1193    return this;
1194  }), g;
1195  function verb(n) {
1196    return function (v) {
1197      return step([n, v]);
1198    };
1199  }
1200  function step(op) {
1201    if (f) throw new TypeError("Generator is already executing.");
1202    while (_) try {
1203      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
1204      if (y = 0, t) op = [op[0] & 2, t.value];
1205      switch (op[0]) {
1206        case 0:
1207        case 1:
1208          t = op;
1209          break;
1210        case 4:
1211          _.label++;
1212          return {
1213            value: op[1],
1214            done: false
1215          };
1216        case 5:
1217          _.label++;
1218          y = op[1];
1219          op = [0];
1220          continue;
1221        case 7:
1222          op = _.ops.pop();
1223          _.trys.pop();
1224          continue;
1225        default:
1226          if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
1227            _ = 0;
1228            continue;
1229          }
1230          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
1231            _.label = op[1];
1232            break;
1233          }
1234          if (op[0] === 6 && _.label < t[1]) {
1235            _.label = t[1];
1236            t = op;
1237            break;
1238          }
1239          if (t && _.label < t[2]) {
1240            _.label = t[2];
1241            _.ops.push(op);
1242            break;
1243          }
1244          if (t[2]) _.ops.pop();
1245          _.trys.pop();
1246          continue;
1247      }
1248      op = body.call(thisArg, _);
1249    } catch (e) {
1250      op = [6, e];
1251      y = 0;
1252    } finally {
1253      f = t = 0;
1254    }
1255    if (op[0] & 5) throw op[1];
1256    return {
1257      value: op[0] ? op[1] : void 0,
1258      done: true
1259    };
1260  }
1261};
1262Object.defineProperty(exports, "__esModule", ({
1263  value: true
1264}));
1265exports.getMimeType = void 0;
1266function getMimeType(src) {
1267  return __awaiter(this, void 0, void 0, function () {
1268    return __generator(this, function (_a) {
1269      return [2 /*return*/, new Promise(function (resolve, reject) {
1270        var xhr = new XMLHttpRequest();
1271        xhr.open("HEAD", src, true);
1272        xhr.onload = function () {
1273          return resolve(xhr.getResponseHeader("Content-Type"));
1274        };
1275        xhr.onerror = function () {
1276          return reject(new Error("error getting image mime type: ".concat(xhr.status, " ").concat(xhr.statusText)));
1277        };
1278        xhr.send();
1279      })];
1280    });
1281  });
1282}
1283exports.getMimeType = getMimeType;
1284
1285/***/ }),
1286
1287/***/ 1810:
1288/***/ ((__unused_webpack_module, exports) => {
1289
1290"use strict";
1291
1292
1293Object.defineProperty(exports, "__esModule", ({
1294  value: true
1295}));
1296exports.parseDataUrl = void 0;
1297function parseDataUrl(dataUrl) {
1298  var match = dataUrl.match(/^data:(\S+);base64,(\S+)/i);
1299  if (match) {
1300    var format = match[0],
1301      base64 = match[1];
1302    return {
1303      format: format,
1304      base64: base64
1305    };
1306  }
1307}
1308exports.parseDataUrl = parseDataUrl;
1309
1310/***/ }),
1311
1312/***/ 2511:
1313/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1314
1315"use strict";
1316
1317
1318var __extends = this && this.__extends || function () {
1319  var extendStatics = function (d, b) {
1320    extendStatics = Object.setPrototypeOf || {
1321      __proto__: []
1322    } instanceof Array && function (d, b) {
1323      d.__proto__ = b;
1324    } || function (d, b) {
1325      for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
1326    };
1327    return extendStatics(d, b);
1328  };
1329  return function (d, b) {
1330    if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1331    extendStatics(d, b);
1332    function __() {
1333      this.constructor = d;
1334    }
1335    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1336  };
1337}();
1338var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
1339  function adopt(value) {
1340    return value instanceof P ? value : new P(function (resolve) {
1341      resolve(value);
1342    });
1343  }
1344  return new (P || (P = Promise))(function (resolve, reject) {
1345    function fulfilled(value) {
1346      try {
1347        step(generator.next(value));
1348      } catch (e) {
1349        reject(e);
1350      }
1351    }
1352    function rejected(value) {
1353      try {
1354        step(generator["throw"](value));
1355      } catch (e) {
1356        reject(e);
1357      }
1358    }
1359    function step(result) {
1360      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
1361    }
1362    step((generator = generator.apply(thisArg, _arguments || [])).next());
1363  });
1364};
1365var __generator = this && this.__generator || function (thisArg, body) {
1366  var _ = {
1367      label: 0,
1368      sent: function () {
1369        if (t[0] & 1) throw t[1];
1370        return t[1];
1371      },
1372      trys: [],
1373      ops: []
1374    },
1375    f,
1376    y,
1377    t,
1378    g;
1379  return g = {
1380    next: verb(0),
1381    "throw": verb(1),
1382    "return": verb(2)
1383  }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
1384    return this;
1385  }), g;
1386  function verb(n) {
1387    return function (v) {
1388      return step([n, v]);
1389    };
1390  }
1391  function step(op) {
1392    if (f) throw new TypeError("Generator is already executing.");
1393    while (_) try {
1394      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
1395      if (y = 0, t) op = [op[0] & 2, t.value];
1396      switch (op[0]) {
1397        case 0:
1398        case 1:
1399          t = op;
1400          break;
1401        case 4:
1402          _.label++;
1403          return {
1404            value: op[1],
1405            done: false
1406          };
1407        case 5:
1408          _.label++;
1409          y = op[1];
1410          op = [0];
1411          continue;
1412        case 7:
1413          op = _.ops.pop();
1414          _.trys.pop();
1415          continue;
1416        default:
1417          if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
1418            _ = 0;
1419            continue;
1420          }
1421          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
1422            _.label = op[1];
1423            break;
1424          }
1425          if (op[0] === 6 && _.label < t[1]) {
1426            _.label = t[1];
1427            t = op;
1428            break;
1429          }
1430          if (t && _.label < t[2]) {
1431            _.label = t[2];
1432            _.ops.push(op);
1433            break;
1434          }
1435          if (t[2]) _.ops.pop();
1436          _.trys.pop();
1437          continue;
1438      }
1439      op = body.call(thisArg, _);
1440    } catch (e) {
1441      op = [6, e];
1442      y = 0;
1443    } finally {
1444      f = t = 0;
1445    }
1446    if (op[0] & 5) throw op[1];
1447    return {
1448      value: op[0] ? op[1] : void 0,
1449      done: true
1450    };
1451  }
1452};
1453Object.defineProperty(exports, "__esModule", ({
1454  value: true
1455}));
1456exports.WebpMachine = exports.improvedWebpImageDetector = exports.defaultDetectWebpImage = exports.WebpMachineError = void 0;
1457var webp_js_1 = __webpack_require__(9537);
1458var load_binary_data_js_1 = __webpack_require__(8851);
1459var get_mime_type_js_1 = __webpack_require__(8847);
1460var parse_data_url_js_1 = __webpack_require__(1810);
1461var detect_webp_support_js_1 = __webpack_require__(8359);
1462var convert_binary_data_js_1 = __webpack_require__(7816);
1463var detect_canvas_reading_support_js_1 = __webpack_require__(9533);
1464var relax = function () {
1465  return new Promise(function (resolve) {
1466    return setTimeout(resolve, 0);
1467  });
1468};
1469var WebpMachineError = /** @class */function (_super) {
1470  __extends(WebpMachineError, _super);
1471  function WebpMachineError() {
1472    return _super !== null && _super.apply(this, arguments) || this;
1473  }
1474  return WebpMachineError;
1475}(Error);
1476exports.WebpMachineError = WebpMachineError;
1477/**
1478 * detect a webp image by its extension
1479 * @deprecated please use `improvedWebpImageDetector` instead, but note it returns a promise
1480 */
1481var defaultDetectWebpImage = function (image) {
1482  return /\.webp.*$/i.test(image.src);
1483};
1484exports.defaultDetectWebpImage = defaultDetectWebpImage;
1485function improvedWebpImageDetector(image) {
1486  return __awaiter(this, void 0, void 0, function () {
1487    var dataUrl, type, _a;
1488    return __generator(this, function (_b) {
1489      switch (_b.label) {
1490        case 0:
1491          dataUrl = (0, parse_data_url_js_1.parseDataUrl)(image.src);
1492          if (!dataUrl) return [3 /*break*/, 1];
1493          _a = dataUrl.format;
1494          return [3 /*break*/, 3];
1495        case 1:
1496          return [4 /*yield*/, (0, get_mime_type_js_1.getMimeType)(image.src)];
1497        case 2:
1498          _a = _b.sent();
1499          _b.label = 3;
1500        case 3:
1501          type = _a;
1502          return [2 /*return*/, type.indexOf("image/webp") !== -1];
1503      }
1504    });
1505  });
1506}
1507exports.improvedWebpImageDetector = improvedWebpImageDetector;
1508/**
1509 * Webp Machine
1510 * - decode and polyfill webp images
1511 * - can only decode images one-at-a-time (otherwise will throw busy error)
1512 */
1513var WebpMachine = /** @class */function () {
1514  function WebpMachine(_a) {
1515    var _b = _a === void 0 ? {}
1515 : _a,
1516      _c = _b.webp,
1517      webp = _c === void 0 ? new webp_js_1.Webp() : _c,
1518      _d = _b.webpSupport,
1519      webpSupport = _d === void 0 ? (0, detect_webp_support_js_1.detectWebpSupport)() : _d,
1520      _e = _b.useCanvasElements,
1521      useCanvasElements = _e === void 0 ? !(0, detect_canvas_reading_support_js_1.detectCanvasReadingSupport)() : _e,
1522      _f = _b.detectWebpImage,
1523      detectWebpImage = _f === void 0 ? improvedWebpImageDetector : _f;
1524    this.busy = false;
1525    this.cache = {};
1526    this.webp = webp;
1527    this.webpSupport = webpSupport;
1528    this.useCanvasElements = useCanvasElements;
1529    this.detectWebpImage = detectWebpImage;
1530  }
1531  /**
1532   * Replace an <img> element with a <canvas> element
1533   */
1534  WebpMachine.replaceImageWithCanvas = function (image, canvas) {
1535    canvas.className = image.className;
1536    canvas.style.cssText = window.getComputedStyle(image).cssText;
1537    canvas.style.pointerEvents = canvas.style.pointerEvents || "none";
1538    var imageWidth = image.getAttribute("width");
1539    var imageHeight = image.getAttribute("height");
1540    canvas.style.width = image.style.width || (imageWidth ? "".concat(imageWidth, "px") : "auto");
1541    canvas.style.height = image.style.height || (imageHeight ? "".concat(imageHeight, "px") : "auto");
1542    var parent = image.parentElement;
1543    parent.replaceChild(canvas, image);
1544  };
1545  /**
1546   * Make a copy of a canvas element (useful for caching)
1547   */
1548  WebpMachine.cloneCanvas = function (oldCanvas) {
1549    var newCanvas = document.createElement("canvas");
1550    newCanvas.className = oldCanvas.className;
1551    newCanvas.width = oldCanvas.width;
1552    newCanvas.height = oldCanvas.height;
1553    newCanvas.style.cssText = window.getComputedStyle(oldCanvas).cssText;
1554    var context = newCanvas.getContext("2d");
1555    context.drawImage(oldCanvas, 0, 0);
1556    return newCanvas;
1557  };
1558  /**
1559   * Paint a webp image onto a canvas element
1560   */
1561  WebpMachine.prototype.decodeToCanvas = function (canvas, webpData) {
1562    return __awaiter(this, void 0, void 0, function () {
1563      var error_1;
1564      return __generator(this, function (_a) {
1565        switch (_a.label) {
1566          case 0:
1567            if (this.busy) throw new WebpMachineError("cannot decode when already busy");
1568            this.busy = true;
1569            _a.label = 1;
1570          case 1:
1571            _a.trys.push([1, 3, 4, 5]);
1572            return [4 /*yield*/, relax()];
1573          case 2:
1574            _a.sent();
1575            this.webp.setCanvas(canvas);
1576            this.webp.webpToSdl(webpData, webpData.length);
1577            return [3 /*break*/, 5];
1578          case 3:
1579            error_1 = _a.sent();
1580            error_1.name = WebpMachineError.name;
1581            error_1.message = "failed to decode webp image: ".concat(error_1.message);
1582            throw error_1;
1583          case 4:
1584            this.busy = false;
1585            return [7 /*endfinally*/];
1586          case 5:
1587            return [2 /*return*/];
1588        }
1589      });
1590    });
1591  };
1592  /**
1593   * Decode raw webp data into a png data url
1594   */
1595  WebpMachine.prototype.decode = function (webpData) {
1596    return __awaiter(this, void 0, void 0, function () {
1597      var canvas;
1598      return __generator(this, function (_a) {
1599        switch (_a.label) {
1600          case 0:
1601            canvas = document.createElement("canvas");
1602            return [4 /*yield*/, this.decodeToCanvas(canvas, webpData)];
1603          case 1:
1604            _a.sent();
1605            return [2 /*return*/, canvas.toDataURL()];
1606        }
1607      });
1608    });
1609  };
1610  /**
1611   * Polyfill the webp format on the given <img> element
1612   */
1613  WebpMachine.prototype.polyfillImage = function (image) {
1614    return __awaiter(this, void 0, void 0, function () {
1615      var src, canvas, webpData, _a, canvas, pngData, error_2;
1616      return __generator(this, function (_b) {
1617        switch (_b.label) {
1618          case 0:
1619            return [4 /*yield*/, this.webpSupport];
1620          case 1:
1621            if (_b.sent()) return [2 /*return*/];
1622            src = image.src;
1623            return [4 /*yield*/, this.detectWebpImage(image)];
1624          case 2:
1625            if (!_b.sent()) return [3 /*break*/, 12];
1626            if (!this.cache[src]) return [3 /*break*/, 3];
1627            if (this.useCanvasElements) {
1628              canvas = WebpMachine.cloneCanvas(this.cache[src]);
1629              WebpMachine.replaceImageWithCanvas(image, canvas);
1630            } else image.src = this.cache[src];
1631            return [3 /*break*/, 12];
1632          case 3:
1633            _b.trys.push([3, 11,, 12]);
1634            if (!(0, convert_binary_data_js_1.isBase64Url)(src)) return [3 /*break*/, 4];
1635            _a = (0, convert_binary_data_js_1.convertDataURIToBinary)(src);
1636            return [3 /*break*/, 6];
1637          case 4:
1638            return [4 /*yield*/, (0, load_binary_data_js_1.loadBinaryData)(src)];
1639          case 5:
1640            _a = _b.sent();
1641            _b.label = 6;
1642          case 6:
1643            webpData = _a;
1644            if (!this.useCanvasElements) return [3 /*break*/, 8];
1645            canvas = document.createElement("canvas");
1646            return [4 /*yield*/, this.decodeToCanvas(canvas, webpData)];
1647          case 7:
1648            _b.sent();
1649            WebpMachine.replaceImageWithCanvas(image, canvas);
1650            this.cache[src] = canvas;
1651            return [3 /*break*/, 10];
1652          case 8:
1653            return [4 /*yield*/, this.decode(webpData)];
1654          case 9:
1655            pngData = _b.sent();
1656            image.src = this.cache[src] = pngData;
1657            _b.label = 10;
1658          case 10:
1659            return [3 /*break*/, 12];
1660          case 11:
1661            error_2 = _b.sent();
1662            error_2.name = WebpMachineError.name;
1663            error_2.message = "failed to polyfill image \"".concat(src, "\": ").concat(error_2.message);
1664            console.error(error_2);
1665            return [3 /*break*/, 12];
1666          case 12:
1667            return [2 /*return*/];
1668        }
1669      });
1670    });
1671  };
1672  /**
1673   * Polyfill webp format on the entire web page
1674   */
1675  WebpMachine.prototype.polyfillDocument = function (_a) {
1676    var _b = _a === void 0 ? {}
vendor: 6,968 bytes, lines 1676-1911
1676 : _a,
1677      _c = _b.document,
1678      document = _c === void 0 ? window.document : _c;
1679    return __awaiter(this, void 0, void 0, function () {
1680      var _i, _d, image;
1681      return __generator(this, function (_e) {
1682        switch (_e.label) {
1683          case 0:
1684            _i = 0, _d = Array.from(document.querySelectorAll("img"));
1685            _e.label = 1;
1686          case 1:
1687            if (!(_i < _d.length)) return [3 /*break*/, 4];
1688            image = _d[_i];
1689            return [4 /*yield*/, this.polyfillImage(image)];
1690          case 2:
1691            _e.sent();
1692            _e.label = 3;
1693          case 3:
1694            _i++;
1695            return [3 /*break*/, 1];
1696          case 4:
1697            return [2 /*return*/];
1698        }
1699      });
1700    });
1701  };
1702  /**
1703   * Manually wipe the cache to save memory
1704   */
1705  WebpMachine.prototype.clearCache = function () {
1706    this.cache = {};
1707  };
1708  return WebpMachine;
1709}();
1710exports.WebpMachine = WebpMachine;
1711
1712/***/ }),
1713
1714/***/ 9537:
1715/***/ ((module) => {
1716
1717function Webp() {
1718  var Module = typeof Module !== "undefined" ? Module : {};
1719  var Promise = function () {
1720    function noop() {}
1721    function bind(fn, thisArg) {
1722      return function () {
1723        fn.apply(thisArg, arguments);
1724      };
1725    }
1726    function Promise(fn) {
1727      if (!(this instanceof Promise)) throw new TypeError("Promises must be constructed via new");
1728      if (typeof fn !== "function") throw new TypeError("not a function");
1729      this._state = 0;
1730      this._handled = false;
1731      this._value = undefined;
1732      this._deferreds = [];
1733      doResolve(fn, this);
1734    }
1735    function handle(self, deferred) {
1736      while (self._state === 3) {
1737        self = self._value;
1738      }
1739      if (self._state === 0) {
1740        self._deferreds.push(deferred);
1741        return;
1742      }
1743      self._handled = true;
1744      Promise._immediateFn(function () {
1745        var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
1746        if (cb === null) {
1747          (self._state === 1 ? resolve : reject)(deferred.promise, self._value);
1748          return;
1749        }
1750        var ret;
1751        try {
1752          ret = cb(self._value);
1753        } catch (e) {
1754          reject(deferred.promise, e);
1755          return;
1756        }
1757        resolve(deferred.promise, ret);
1758      });
1759    }
1760    function resolve(self, newValue) {
1761      try {
1762        if (newValue === self) throw new TypeError("A promise cannot be resolved with itself.");
1763        if (newValue && (typeof newValue === "object" || typeof newValue === "function")) {
1764          var then = newValue.then;
1765          if (newValue instanceof Promise) {
1766            self._state = 3;
1767            self._value = newValue;
1768            finale(self);
1769            return;
1770          } else if (typeof then === "function") {
1771            doResolve(bind(then, newValue), self);
1772            return;
1773          }
1774        }
1775        self._state = 1;
1776        self._value = newValue;
1777        finale(self);
1778      } catch (e) {
1779        reject(self, e);
1780      }
1781    }
1782    function reject(self, newValue) {
1783      self._state = 2;
1784      self._value = newValue;
1785      finale(self);
1786    }
1787    function finale(self) {
1788      if (self._state === 2 && self._deferreds.length === 0) {
1789        Promise._immediateFn(function () {
1790          if (!self._handled) {
1791            Promise._unhandledRejectionFn(self._value);
1792          }
1793        });
1794      }
1795      for (var i = 0, len = self._deferreds.length; i < len; i++) {
1796        handle(self, self._deferreds[i]);
1797      }
1798      self._deferreds = null;
1799    }
1800    function Handler(onFulfilled, onRejected, promise) {
1801      this.onFulfilled = typeof onFulfilled === "function" ? onFulfilled : null;
1802      this.onRejected = typeof onRejected === "function" ? onRejected : null;
1803      this.promise = promise;
1804    }
1805    function doResolve(fn, self) {
1806      var done = false;
1807      try {
1808        fn(function (value) {
1809          if (done) return;
1810          done = true;
1811          resolve(self, value);
1812        }, function (reason) {
1813          if (done) return;
1814          done = true;
1815          reject(self, reason);
1816        });
1817      } catch (ex) {
1818        if (done) return;
1819        done = true;
1820        reject(self, ex);
1821      }
1822    }
1823    Promise.prototype["catch"] = function (onRejected) {
1824      return this.then(null, onRejected);
1825    };
1826    Promise.prototype.then = function (onFulfilled, onRejected) {
1827      var prom = new this.constructor(noop);
1828      handle(this, new Handler(onFulfilled, onRejected, prom));
1829      return prom;
1830    };
1831    Promise.all = function (arr) {
1832      return new Promise(function (resolve, reject) {
1833        if (!Array.isArray(arr)) {
1834          return reject(new TypeError("Promise.all accepts an array"));
1835        }
1836        var args = Array.prototype.slice.call(arr);
1837        if (args.length === 0) return resolve([]);
1838        var remaining = args.length;
1839        function res(i, val) {
1840          try {
1841            if (val && (typeof val === "object" || typeof val === "function")) {
1842              var then = val.then;
1843              if (typeof then === "function") {
1844                then.call(val, function (val) {
1845                  res(i, val);
1846                }, reject);
1847                return;
1848              }
1849            }
1850            args[i] = val;
1851            if (--remaining === 0) {
1852              resolve(args);
1853            }
1854          } catch (ex) {
1855            reject(ex);
1856          }
1857        }
1858        for (var i = 0; i < args.length; i++) {
1859          res(i, args[i]);
1860        }
1861      });
1862    };
1863    Promise.resolve = function (value) {
1864      if (value && typeof value === "object" && value.constructor === Promise) {
1865        return value;
1866      }
1867      return new Promise(function (resolve) {
1868        resolve(value);
1869      });
1870    };
1871    Promise.reject = function (value) {
1872      return new Promise(function (resolve, reject) {
1873        reject(value);
1874      });
1875    };
1876    Promise.race = function (arr) {
1877      return new Promise(function (resolve, reject) {
1878        if (!Array.isArray(arr)) {
1879          return reject(new TypeError("Promise.race accepts an array"));
1880        }
1881        for (var i = 0, len = arr.length; i < len; i++) {
1882          Promise.resolve(arr[i]).then(resolve, reject);
1883        }
1884      });
1885    };
1886    Promise._immediateFn = typeof setImmediate === "function" && function (fn) {
1887      setImmediate(fn);
1888    } || function (fn) {
1889      setTimeout(fn, 0);
1890    };
1891    Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {
1892      if (typeof console !== "undefined" && console) {
1893        console.warn("Possible Unhandled Promise Rejection:", err);
1894      }
1895    };
1896    return Promise;
1897  }();
1898  var moduleOverrides = {};
1899  var key;
1900  for (key in Module) {
1901    if (Module.hasOwnProperty(key)) {
1902      moduleOverrides[key] = Module[key];
1903    }
1904  }
1905  var arguments_ = [];
1906  var thisProgram = "./this.program";
1907  var quit_ = function (status, toThrow) {
1908    throw toThrow;
1909  };
1910  var ENVIRONMENT_IS_WEB = true;
1911  var ENVIRONMENT_IS_WORKER = false;
1912  var scriptDirectory = "";
1913  function locateFile(path) {
1914    if (Module["locateFile"]) {
1915      return Module["locateFile"](path, scriptDirectory);
1916    }
1917    return scriptDirectory + path;
1918  }
1919  var read_, readAsync, readBinary, setWindowTitle;
1920  if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
1921    if (ENVIRONMENT_IS_WORKER) {
1922      scriptDirectory = self.location.href;
1923    } else if (document.currentScript) {
1924      scriptDirectory = document.currentScript.src;
1925    }
1926    if (scriptDirectory.indexOf("blob:") !== 0) {
1927      scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
1928    } else {
1929      scriptDirectory = "";
1930    }
1931    {
1932      read_ = function shell_read(url) {
1933        try {
1934          var xhr = new XMLHttpRequest();
1935          xhr.open("GET", url, false);
1936          xhr.send(null);
1937          return xhr.responseText;
1938        } catch (err) {
1939          var data = tryParseAsDataURI(url);
1940          if (data) {
1941            return intArrayToString(data);
1942          }
1943          throw err;
1944        }
1945      };
1946      if (ENVIRONMENT_IS_WORKER) {
1947        readBinary = function readBinary(url) {
1948          try {
1949            var xhr = new XMLHttpRequest();
1950            xhr.open("GET", url, false);
1951            xhr.responseType = "arraybuffer";
1952            xhr.send(null);
1953            return new Uint8Array(xhr.response);
1954          } catch (err) {
1955            var data = tryParseAsDataURI(url);
1956            if (data) {
1957              return data;
1958            }
1959            throw err;
1960          }
1961        };
1962      }
1963      readAsync = function readAsync(url, onload, onerror) {
1964        var xhr = new XMLHttpRequest();
1965        xhr.open("GET", url, true);
1966        xhr.responseType = "arraybuffer";
1967        xhr.onload = function xhr_onload() {
1968          if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
1969            onload(xhr.response);
1970            return;
1971          }
1972          var data = tryParseAsDataURI(url);
1973          if (data) {
1974            onload(data.buffer);
1975            return;
1976          }
1977          onerror();
1978        };
1979        xhr.onerror = onerror;
1980        xhr.send(null);
1981      };
1982    }
1983    setWindowTitle = function (title) {
1984      document.title = title;
1985    };
1986  } else {}
1987  var out = Module["print"] || console.log.bind(console);
1988  var err = Module["printErr"] || console.warn.bind(console);
1989  for (key in moduleOverrides) {
1990    if (moduleOverrides.hasOwnProperty(key)) {
1991      Module[key] = moduleOverrides[key];
1992    }
1993  }
1994  moduleOverrides = null;
1995  if (Module["arguments"]) arguments_ = Module["arguments"];
1996  if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
1997  if (Module["quit"]) quit_ = Module["quit"];
1998  var STACK_ALIGN = 16;
1999  function dynamicAlloc(size) {
2000    var ret = HEAP32[DYNAMICTOP_PTR >> 2];
2001    var end = ret + size + 15 & -16;
2002    HEAP32[DYNAMICTOP_PTR >> 2] = end;
2003    return ret;
2004  }
2005  function alignMemory(size, factor) {
2006    if (!factor) factor = STACK_ALIGN;
2007    return Math.ceil(size / factor) * factor;
2008  }
2009  function getNativeTypeSize(type) {
2010    switch (type) {
2011      case "i1":
2012      case "i8":
2013        return 1;
2014      case "i16":
2015        return 2;
2016      case "i32":
2017        return 4;
2018      case "i64":
2019        return 8;
2020      case "float":
2021        return 4;
2022      case "double":
2023        return 8;
2024      default:
2025        {
2026          if (type[type.length - 1] === "*") {
2027            return 4;
2028          } else if (type[0] === "i") {
2029            var bits = Number(type.substr(1));
2030            assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type);
2031            return bits / 8;
2032          } else {
2033            return 0;
2034          }
2035        }
2036    }
2037  }
2038  function warnOnce(text) {
2039    if (!warnOnce.shown) warnOnce.shown = {};
2040    if (!warnOnce.shown[text]) {
2041      warnOnce.shown[text] = 1;
2042      err(text);
2043    }
2044  }
2045  function convertJsFunctionToWasm(func, sig) {
2046    return func;
2047  }
2048  var freeTableIndexes = [];
2049  var functionsInTableMap;
2050  function addFunctionWasm(func, sig) {
2051    var table = wasmTable;
2052    if (!functionsInTableMap) {
2053      functionsInTableMap = new WeakMap();
2054      for (var i = 0; i < table.length; i++) {
2055        var item = table.get(i);
2056        if (item) {
2057          functionsInTableMap.set(item, i);
2058        }
2059      }
2060    }
2061    if (functionsInTableMap.has(func)) {
2062      return functionsInTableMap.get(func);
2063    }
2064    var ret;
2065    if (freeTableIndexes.length) {
2066      ret = freeTableIndexes.pop();
2067    } else {
2068      ret = table.length;
2069      try {
2070        table.grow(1);
2071      } catch (err) {
2072        if (!(err instanceof RangeError)) {
2073          throw err;
2074        }
2075        throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
2076      }
2077    }
2078    try {
2079      table.set(ret, func);
2080    } catch (err) {
2081      if (!(err instanceof TypeError)) {
2082        throw err;
2083      }
2084      var wrapped = convertJsFunctionToWasm(func, sig);
2085      table.set(ret, wrapped);
2086    }
2087    functionsInTableMap.set(func, ret);
2088    return ret;
2089  }
2090  function removeFunctionWasm(index) {
2091    functionsInTableMap.delete(wasmTable.get(index));
2092    freeTableIndexes.push(index);
2093  }
2094  var funcWrappers = {};
2095  function dynCall(sig, ptr, args) {
2096    if (args && args.length) {
2097      return Module["dynCall_" + sig].apply(null, [ptr].concat(args));
2098    } else {
2099      return Module["dynCall_" + sig].call(null, ptr);
2100    }
2101  }
2102  var tempRet0 = 0;
2103  var setTempRet0 = function (value) {
2104    tempRet0 = value;
2105  };
2106  var getTempRet0 = function () {
2107    return tempRet0;
2108  };
2109  var wasmBinary;
2110  if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
2111  var noExitRuntime;
2112  if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
2113  var WebAssembly = {
2114    Memory: function (opts) {
2115      this.buffer = new ArrayBuffer(opts["initial"] * 65536);
2116      this.grow = function (amount) {
2117        var ret = __growWasmMemory(amount);
2118        return ret;
2119      };
2120    },
2121    Table: function (opts) {
2122      var ret = new Array(opts["initial"]);
2123      ret.set = function (i, func) {
2124        ret[i] = func;
2125      };
2126      ret.get = function (i) {
2127        return ret[i];
2128      };
2129      return ret;
2130    },
2131    Module: function (binary) {},
2132    Instance: function (module, info) {
2133      this.exports =
2134      // EMSCRIPTEN_START_ASM
2135      function a(asmLibraryArg, wasmMemory, wasmTable) {
2136        function b(global, env, buffer) {
2137          var memory = env.memory;
2138          var c = wasmTable;
2139          var d = new global.Int8Array(buffer);
2140          var e = new global.Int16Array(buffer);
2141          var f = new global.Int32Array(buffer);
2142          var g = new global.Uint8Array(buffer);
2143          var h = new global.Uint16Array(buffer);
2144          var i = new global.Uint32Array(buffer);
2145          var j = new global.Float32Array(buffer);
2146          var k = new global.Float64Array(buffer);
2147          var l = global.Math.imul;
2148          var m = global.Math.fround;
2149          var n = global.Math.abs;
2150          var o = global.Math.clz32;
2151          var p = global.Math.min;
2152          var q = global.Math.max;
2153          var r = global.Math.floor;
2154          var s = global.Math.ceil;
2155          var t = global.Math.sqrt;
2156          var u = env.abort;
2157          var v = global.NaN;
2158          var w = global.Infinity;
2159          var x = env.SDL_Init;
2160          var y = env.SDL_SetVideoMode;
2161          var z = env.SDL_CreateRGBSurface;
2162          var A = env.SDL_LockSurface;
2163          var B = env.SDL_UnlockSurface;
2164          var C = env.SDL_UpperBlit;
2165          var D = env.SDL_Flip;
2166          var E = env.SDL_FreeSurface;
2167          var F = env.fd_close;
2168          var G = env.fd_write;
2169          var H = env.emscripten_resize_heap;
2170          var I = env.emscripten_memcpy_big;
2171          var J = env.setTempRet0;
2172          var K = env.fd_seek;
2173          var L = 5255072;
2174          var M = 12032;
2175          var N = 0;
2176          // EMSCRIPTEN_START_FUNCS
2177          function Ua(a, b) {
2178            var e = 0,
2179              i = 0,
2180              j = 0,
2181              k = 0,
2182              m = 0,
2183              n = 0,
2184              o = 0,
2185              p = 0,
2186              q = 0,
2187              r = 0,
2188              s = 0,
2189              t = 0,
2190              u = 0,
2191              v = 0,
2192              w = 0,
2193              x = 0,
2194              y = 0,
2195              z = 0,
2196              A = 0,
2197              B = 0,
2198              C = 0,
2199              D = 0,
2200              E = 0,
2201              F = 0;
2202            i = f[b >> 2];
2203            r = f[b + 4 >> 2];
2204            e = f[a + 2264 >> 2];
2205            d[e + 823 | 0] = 129;
2206            d[e + 807 | 0] = 129;
2207            d[e + 791 | 0] = 129;
2208            d[e + 775 | 0] = 129;
2209            d[e + 759 | 0] = 129;
2210            d[e + 743 | 0] = 129;
2211            d[e + 727 | 0] = 129;
2212            d[e + 711 | 0] = 129;
2213            d[e + 695 | 0] = 129;
2214            d[e + 679 | 0] = 129;
2215            d[e + 663 | 0] = 129;
2216            d[e + 647 | 0] = 129;
2217            d[e + 631 | 0] = 129;
2218            d[e + 615 | 0] = 129;
2219            d[e + 599 | 0] = 129;
2220            d[e + 583 | 0] = 129;
2221            d[e + 519 | 0] = 129;
2222            d[e + 487 | 0] = 129;
2223            d[e + 455 | 0] = 129;
2224            d[e + 423 | 0] = 129;
2225            d[e + 391 | 0] = 129;
2226            d[e + 359 | 0] = 129;
2227            d[e + 327 | 0] = 129;
2228            d[e + 295 | 0] = 129;
2229            d[e + 263 | 0] = 129;
2230            d[e + 231 | 0] = 129;
2231            d[e + 199 | 0] = 129;
2232            d[e + 167 | 0] = 129;
2233            d[e + 135 | 0] = 129;
2234            d[e + 103 | 0] = 129;
2235            d[e + 71 | 0] = 129;
2236            d[e + 39 | 0] = 129;
2237            a: {
2238              if ((r | 0) >= 1) {
2239                d[e + 551 | 0] = 129;
2240                d[e + 567 | 0] = 129;
2241                d[e + 7 | 0] = 129;
2242                break a;
2243              }
2244              d[e + 7 | 0] = 2139062143;
2245              d[e + 8 | 0] = 8355711;
2246              d[e + 9 | 0] = 32639;
2247              d[e + 10 | 0] = 127;
2248              d[e + 11 | 0] = 2139062143;
2249              d[e + 12 | 0] = 8355711;
2250              d[e + 13 | 0] = 32639;
2251              d[e + 14 | 0] = 127;
2252              d[e + 551 | 0] = 2139062143;
2253              d[e + 552 | 0] = 8355711;
2254              d[e + 553 | 0] = 32639;
2255              d[e + 554 | 0] = 127;
2256              d[e + 555 | 0] = 2139062143;
2257              d[e + 556 | 0] = 8355711;
2258              d[e + 557 | 0] = 32639;
2259              d[e + 558 | 0] = 127;
2260              d[e + 567 | 0] = 2139062143;
2261              d[e + 568 | 0] = 8355711;
2262              d[e + 569 | 0] = 32639;
2263              d[e + 570 | 0] = 127;
2264              d[e + 571 | 0] = 2139062143;
2265              d[e + 572 | 0] = 8355711;
2266              d[e + 573 | 0] = 32639;
2267              d[e + 574 | 0] = 127;
2268              d[e + 20 | 0] = 2139062143;
2269              d[e + 21 | 0] = 8355711;
2270              d[e + 22 | 0] = 32639;
2271              d[e + 23 | 0] = 127;
2272              d[e + 24 | 0] = 2139062143;
2273              d[e + 25 | 0] = 8355711;
2274              d[e + 26 | 0] = 32639;
2275              d[e + 27 | 0] = 127;
2276              d[e + 15 | 0] = 2139062143;
2277              d[e + 16 | 0] = 8355711;
2278              d[e + 17 | 0] = 32639;
2279              d[e + 18 | 0] = 127;
2280              d[e + 19 | 0] = 2139062143;
2281              d[e + 20 | 0] = 8355711;
2282              d[e + 21 | 0] = 32639;
2283              d[e + 22 | 0] = 127;
2284              d[e + 559 | 0] = 127;
2285              d[e + 575 | 0] = 127;
2286            }
2287            if (f[a + 288 >> 2] >= 1) {
2288              t = e + 600 | 0;
2289              u = e + 584 | 0;
2290              s = e + 40 | 0;
2291              w = r ? 5 : 6;
2292              y = i << 3;
2293              z = i << 4;
2294              A = e + 520 | 0;
2295              B = e + 8 | 0;
2296              v = e + 24 | 0;
2297              x = !r << 2;
2298              C = (r | 0) < 1;
2299              while (1) {
2300                m = f[b + 16 >> 2];
2301                if (q) {
2302                  i = g[e + 20 | 0] | g[e + 21 | 0] << 8 | (g[e + 22 | 0] << 16 | g[e + 23 | 0] << 24);
2303                  d[e + 4 | 0] = i;
2304                  d[e + 5 | 0] = i >>> 8;
2305                  d[e + 6 | 0] = i >>> 16;
2306                  d[e + 7 | 0] = i >>> 24;
2307                  i = g[e + 52 | 0] | g[e + 53 | 0] << 8 | (g[e + 54 | 0] << 16 | g[e + 55 | 0] << 24);
2308                  d[e + 36 | 0] = i;
2309                  d[e + 37 | 0] = i >>> 8;
2310                  d[e + 38 | 0] = i >>> 16;
2311                  d[e + 39 | 0] = i >>> 24;
2312                  i = g[e + 84 | 0] | g[e + 85 | 0] << 8 | (g[e + 86 | 0] << 16 | g[e + 87 | 0] << 24);
2313                  d[e + 68 | 0] = i;
2314                  d[e + 69 | 0] = i >>> 8;
2315                  d[e + 70 | 0] = i >>> 16;
2316                  d[e + 71 | 0] = i >>> 24;
2317                  i = g[e + 116 | 0] | g[e + 117 | 0] << 8 | (g[e + 118 | 0] << 16 | g[e + 119 | 0] << 24);
2318                  d[e + 100 | 0] = i;
2319                  d[e + 101 | 0] = i >>> 8;
2320                  d[e + 102 | 0] = i >>> 16;
2321                  d[e + 103 | 0] = i >>> 24;
2322                  i = g[e + 148 | 0] | g[e + 149 | 0] << 8 | (g[e + 150 | 0] << 16 | g[e + 151 | 0] << 24);
2323                  d[e + 132 | 0] = i;
2324                  d[e + 133 | 0] = i >>> 8;
2325                  d[e + 134 | 0] = i >>> 16;
2326                  d[e + 135 | 0] = i >>> 24;
2327                  i = g[e + 180 | 0] | g[e + 181 | 0] << 8 | (g[e + 182 | 0] << 16 | g[e + 183 | 0] << 24);
2328                  d[e + 164 | 0] = i;
2329                  d[e + 165 | 0] = i >>> 8;
2330                  d[e + 166 | 0] = i >>> 16;
2331                  d[e + 167 | 0] = i >>> 24;
2332                  i = g[e + 212 | 0] | g[e + 213 | 0] << 8 | (g[e + 214 | 0] << 16 | g[e + 215 | 0] << 24);
2333                  d[e + 196 | 0] = i;
2334                  d[e + 197 | 0] = i >>> 8;
2335                  d[e + 198 | 0] = i >>> 16;
2336                  d[e + 199 | 0] = i >>> 24;
2337                  i = g[e + 244 | 0] | g[e + 245 | 0] << 8 | (g[e + 246 | 0] << 16 | g[e + 247 | 0] << 24);
2338                  d[e + 228 | 0] = i;
2339                  d[e + 229 | 0] = i >>> 8;
2340                  d[e + 230 | 0] = i >>> 16;
2341                  d[e + 231 | 0] = i >>> 24;
2342                  i = g[e + 276 | 0] | g[e + 277 | 0] << 8 | (g[e + 278 | 0] << 16 | g[e + 279 | 0] << 24);
2343                  d[e + 260 | 0] = i;
2344                  d[e + 261 | 0] = i >>> 8;
2345                  d[e + 262 | 0] = i >>> 16;
2346                  d[e + 263 | 0] = i >>> 24;
2347                  i = g[e + 308 | 0] | g[e + 309 | 0] << 8 | (g[e + 310 | 0] << 16 | g[e + 311 | 0] << 24);
2348                  d[e + 292 | 0] = i;
2349                  d[e + 293 | 0] = i >>> 8;
2350                  d[e + 294 | 0] = i >>> 16;
2351                  d[e + 295 | 0] = i >>> 24;
2352                  i = g[e + 340 | 0] | g[e + 341 | 0] << 8 | (g[e + 342 | 0] << 16 | g[e + 343 | 0] << 24);
2353                  d[e + 324 | 0] = i;
2354                  d[e + 325 | 0] = i >>> 8;
2355                  d[e + 326 | 0] = i >>> 16;
2356                  d[e + 327 | 0] = i >>> 24;
2357                  i = g[e + 372 | 0] | g[e + 373 | 0] << 8 | (g[e + 374 | 0] << 16 | g[e + 375 | 0] << 24);
2358                  d[e + 356 | 0] = i;
2359                  d[e + 357 | 0] = i >>> 8;
2360                  d[e + 358 | 0] = i >>> 16;
2361                  d[e + 359 | 0] = i >>> 24;
2362                  i = g[e + 404 | 0] | g[e + 405 | 0] << 8 | (g[e + 406 | 0] << 16 | g[e + 407 | 0] << 24);
2363                  d[e + 388 | 0] = i;
2364                  d[e + 389 | 0] = i >>> 8;
2365                  d[e + 390 | 0] = i >>> 16;
2366                  d[e + 391 | 0] = i >>> 24;
2367                  i = g[e + 436 | 0] | g[e + 437 | 0] << 8 | (g[e + 438 | 0] << 16 | g[e + 439 | 0] << 24);
2368                  d[e + 420 | 0] = i;
2369                  d[e + 421 | 0] = i >>> 8;
2370                  d[e + 422 | 0] = i >>> 16;
2371                  d[e + 423 | 0] = i >>> 24;
2372                  i = g[e + 468 | 0] | g[e + 469 | 0] << 8 | (g[e + 470 | 0] << 16 | g[e + 471 | 0] << 24);
2373                  d[e + 452 | 0] = i;
2374                  d[e + 453 | 0] = i >>> 8;
2375                  d[e + 454 | 0] = i >>> 16;
2376                  d[e + 455 | 0] = i >>> 24;
2377                  i = g[e + 500 | 0] | g[e + 501 | 0] << 8 | (g[e + 502 | 0] << 16 | g[e + 503 | 0] << 24);
2378                  d[e + 484 | 0] = i;
2379                  d[e + 485 | 0] = i >>> 8;
2380                  d[e + 486 | 0] = i >>> 16;
2381                  d[e + 487 | 0] = i >>> 24;
2382                  i = g[e + 532 | 0] | g[e + 533 | 0] << 8 | (g[e + 534 | 0] << 16 | g[e + 535 | 0] << 24);
2383                  d[e + 516 | 0] = i;
2384                  d[e + 517 | 0] = i >>> 8;
2385                  d[e + 518 | 0] = i >>> 16;
2386                  d[e + 519 | 0] = i >>> 24;
2387                  i = g[e + 556 | 0] | g[e + 557 | 0] << 8 | (g[e + 558 | 0] << 16 | g[e + 559 | 0] << 24);
2388                  d[e + 548 | 0] = i;
2389                  d[e + 549 | 0] = i >>> 8;
2390                  d[e + 550 | 0] = i >>> 16;
2391                  d[e + 551 | 0] = i >>> 24;
2392                  i = g[e + 572 | 0] | g[e + 573 | 0] << 8 | (g[e + 574 | 0] << 16 | g[e + 575 | 0] << 24);
2393                  d[e + 564 | 0] = i;
2394                  d[e + 565 | 0] = i >>> 8;
2395                  d[e + 566 | 0] = i >>> 16;
2396                  d[e + 567 | 0] = i >>> 24;
2397                  i = g[e + 588 | 0] | g[e + 589 | 0] << 8 | (g[e + 590 | 0] << 16 | g[e + 591 | 0] << 24);
2398                  d[e + 580 | 0] = i;
2399                  d[e + 581 | 0] = i >>> 8;
2400                  d[e + 582 | 0] = i >>> 16;
2401                  d[e + 583 | 0] = i >>> 24;
2402                  i = g[e + 604 | 0] | g[e + 605 | 0] << 8 | (g[e + 606 | 0] << 16 | g[e + 607 | 0] << 24);
2403                  d[e + 596 | 0] = i;
2404                  d[e + 597 | 0] = i >>> 8;
2405                  d[e + 598 | 0] = i >>> 16;
2406                  d[e + 599 | 0] = i >>> 24;
2407                  i = g[e + 620 | 0] | g[e + 621 | 0] << 8 | (g[e + 622 | 0] << 16 | g[e + 623 | 0] << 24);
2408                  d[e + 612 | 0] = i;
2409                  d[e + 613 | 0] = i >>> 8;
2410                  d[e + 614 | 0] = i >>> 16;
2411                  d[e + 615 | 0] = i >>> 24;
2412                  i = g[e + 636 | 0] | g[e + 637 | 0] << 8 | (g[e + 638 | 0] << 16 | g[e + 639 | 0] << 24);
2413                  d[e + 628 | 0] = i;
2414                  d[e + 629 | 0] = i >>> 8;
2415                  d[e + 630 | 0] = i >>> 16;
2416                  d[e + 631 | 0] = i >>> 24;
2417                  i = g[e + 652 | 0] | g[e + 653 | 0] << 8 | (g[e + 654 | 0] << 16 | g[e + 655 | 0] << 24);
2418                  d[e + 644 | 0] = i;
2419                  d[e + 645 | 0] = i >>> 8;
2420                  d[e + 646 | 0] = i >>> 16;
2421                  d[e + 647 | 0] = i >>> 24;
2422                  i = g[e + 668 | 0] | g[e + 669 | 0] << 8 | (g[e + 670 | 0] << 16 | g[e + 671 | 0] << 24);
2423                  d[e + 660 | 0] = i;
2424                  d[e + 661 | 0] = i >>> 8;
2425                  d[e + 662 | 0] = i >>> 16;
2426                  d[e + 663 | 0] = i >>> 24;
2427                  i = g[e + 684 | 0] | g[e + 685 | 0] << 8 | (g[e + 686 | 0] << 16 | g[e + 687 | 0] << 24);
2428                  d[e + 676 | 0] = i;
2429                  d[e + 677 | 0] = i >>> 8;
2430                  d[e + 678 | 0] = i >>> 16;
2431                  d[e + 679 | 0] = i >>> 24;
2432                  i = g[e + 700 | 0] | g[e + 701 | 0] << 8 | (g[e + 702 | 0] << 16 | g[e + 703 | 0] << 24);
2433                  d[e + 692 | 0] = i;
2434                  d[e + 693 | 0] = i >>> 8;
2435                  d[e + 694 | 0] = i >>> 16;
2436                  d[e + 695 | 0] = i >>> 24;
2437                  i = g[e + 716 | 0] | g[e + 717 | 0] << 8 | (g[e + 718 | 0] << 16 | g[e + 719 | 0] << 24);
2438                  d[e + 708 | 0] = i;
2439                  d[e + 709 | 0] = i >>> 8;
2440                  d[e + 710 | 0] = i >>> 16;
2441                  d[e + 711 | 0] = i >>> 24;
2442                  i = g[e + 732 | 0] | g[e + 733 | 0] << 8 | (g[e + 734 | 0] << 16 | g[e + 735 | 0] << 24);
2443                  d[e + 724 | 0] = i;
2444                  d[e + 725 | 0] = i >>> 8;
2445                  d[e + 726 | 0] = i >>> 16;
2446                  d[e + 727 | 0] = i >>> 24;
2447                  i = g[e + 748 | 0] | g[e + 749 | 0] << 8 | (g[e + 750 | 0] << 16 | g[e + 751 | 0] << 24);
2448                  d[e + 740 | 0] = i;
2449                  d[e + 741 | 0] = i >>> 8;
2450                  d[e + 742 | 0] = i >>> 16;
2451                  d[e + 743 | 0] = i >>> 24;
2452                  i = g[e + 764 | 0] | g[e + 765 | 0] << 8 | (g[e + 766 | 0] << 16 | g[e + 767 | 0] << 24);
2453                  d[e + 756 | 0] = i;
2454                  d[e + 757 | 0] = i >>> 8;
2455                  d[e + 758 | 0] = i >>> 16;
2456                  d[e + 759 | 0] = i >>> 24;
2457                  i = g[e + 780 | 0] | g[e + 781 | 0] << 8 | (g[e + 782 | 0] << 16 | g[e + 783 | 0] << 24);
2458                  d[e + 772 | 0] = i;
2459                  d[e + 773 | 0] = i >>> 8;
2460                  d[e + 774 | 0] = i >>> 16;
2461                  d[e + 775 | 0] = i >>> 24;
2462                  i = g[e + 796 | 0] | g[e + 797 | 0] << 8 | (g[e + 798 | 0] << 16 | g[e + 799 | 0] << 24);
2463                  d[e + 788 | 0] = i;
2464                  d[e + 789 | 0] = i >>> 8;
2465                  d[e + 790 | 0] = i >>> 16;
2466                  d[e + 791 | 0] = i >>> 24;
2467                  i = g[e + 812 | 0] | g[e + 813 | 0] << 8 | (g[e + 814 | 0] << 16 | g[e + 815 | 0] << 24);
2468                  d[e + 804 | 0] = i;
2469                  d[e + 805 | 0] = i >>> 8;
2470                  d[e + 806 | 0] = i >>> 16;
2471                  d[e + 807 | 0] = i >>> 24;
2472                  i = g[e + 828 | 0] | g[e + 829 | 0] << 8 | (g[e + 830 | 0] << 16 | g[e + 831 | 0] << 24);
2473                  d[e + 820 | 0] = i;
2474                  d[e + 821 | 0] = i >>> 8;
2475                  d[e + 822 | 0] = i >>> 16;
2476                  d[e + 823 | 0] = i >>> 24;
2477                }
2478                i = f[a + 2252 >> 2] + (q << 5) | 0;
2479                k = m + l(q, 800) | 0;
2480                n = f[k + 788 >> 2];
2481                b: {
2482                  c: {
2483                    d: {
2484                      e: {
2485                        if (!C) {
2486                          o = g[i + 4 | 0] | g[i + 5 | 0] << 8 | (g[i + 6 | 0] << 16 | g[i + 7 | 0] << 24);
2487                          j = B;
2488                          p = g[i | 0] | g[i + 1 | 0] << 8 | (g[i + 2 | 0] << 16 | g[i + 3 | 0] << 24);
2489                          d[j | 0] = p;
2490                          d[j + 1 | 0] = p >>> 8;
2491                          d[j + 2 | 0] = p >>> 16;
2492                          d[j + 3 | 0] = p >>> 24;
2493                          d[j + 4 | 0] = o;
2494                          d[j + 5 | 0] = o >>> 8;
2495                          d[j + 6 | 0] = o >>> 16;
2496                          d[j + 7 | 0] = o >>> 24;
2497                          o = g[i + 12 | 0] | g[i + 13 | 0] << 8 | (g[i + 14 | 0] << 16 | g[i + 15 | 0] << 24);
2498                          p = g[i + 8 | 0] | g[i + 9 | 0] << 8 | (g[i + 10 | 0] << 16 | g[i + 11 | 0] << 24);
2499                          d[j + 8 | 0] = p;
2500                          d[j + 9 | 0] = p >>> 8;
2501                          d[j + 10 | 0] = p >>> 16;
2502                          d[j + 11 | 0] = p >>> 24;
2503                          d[j + 12 | 0] = o;
2504                          d[j + 13 | 0] = o >>> 8;
2505                          d[j + 14 | 0] = o >>> 16;
2506                          d[j + 15 | 0] = o >>> 24;
2507                          j = g[i + 20 | 0] | g[i + 21 | 0] << 8 | (g[i + 22 | 0] << 16 | g[i + 23 | 0] << 24);
2508                          o = g[i + 16 | 0] | g[i + 17 | 0] << 8 | (g[i + 18 | 0] << 16 | g[i + 19 | 0] << 24);
2509                          d[e + 552 | 0] = o;
2510                          d[e + 553 | 0] = o >>> 8;
2511                          d[e + 554 | 0] = o >>> 16;
2512                          d[e + 555 | 0] = o >>> 24;
2513                          d[e + 556 | 0] = j;
2514                          d[e + 557 | 0] = j >>> 8;
2515                          d[e + 558 | 0] = j >>> 16;
2516                          d[e + 559 | 0] = j >>> 24;
2517                          j = g[i + 28 | 0] | g[i + 29 | 0] << 8 | (g[i + 30 | 0] << 16 | g[i + 31 | 0] << 24);
2518                          m = g[i + 24 | 0] | g[i + 25 | 0] << 8 | (g[i + 26 | 0] << 16 | g[i + 27 | 0] << 24);
2519                          d[e + 568 | 0] = m;
2520                          d[e + 569 | 0] = m >>> 8;
2521                          d[e + 570 | 0] = m >>> 16;
2522                          d[e + 571 | 0] = m >>> 24;
2523                          d[e + 572 | 0] = j;
2524                          d[e + 573 | 0] = j >>> 8;
2525                          d[e + 574 | 0] = j >>> 16;
2526                          d[e + 575 | 0] = j >>> 24;
2527                          if (g[k + 768 | 0]) {
2528                            break e;
2529                          }
2530                          break c;
2531                        }
2532                        if (!g[k + 768 | 0]) {
2533                          break c;
2534                        }
2535                        m = f[v >> 2];
2536                        break d;
2537                      }
2538                      if ((q | 0) >= (f[a + 288 >> 2] + -1 | 0)) {
2539                        m = g[i + 15 | 0];
2540                        f[v >> 2] = l(m, 16843009);
2541                        m = m | m << 8;
2542                        m = m << 16 | m;
2543                        break d;
2544                      }
2545                      m = g[i + 32 | 0] | g[i + 33 | 0] << 8 | (g[i + 34 | 0] << 16 | g[i + 35 | 0] << 24);
2546                      f[v >> 2] = m;
2547                    }
2548                    f[e + 280 >> 2] = m;
2549                    f[e + 408 >> 2] = m;
2550                    f[e + 152 >> 2] = m;
2551                    m = 0;
2552                    while (1) {
2553                      j = h[(m << 1) + 4880 >> 1] + s | 0;
2554                      c[f[(g[(k + m | 0) + 769 | 0] << 2) + 10736 >> 2]](j);
2555                      o = k + (m << 5) | 0;
2556                      f: {
2557                        g: {
2558                          switch ((n >>> 30 | 0) + -1 | 0) {
2559                            case 2:
2560                              c[f[2703]](o, j, 0);
2561                              break f;
2562                            case 1:
2563                              c[f[2704]](o, j);
2564                              break f;
2565                            case 0:
2566                              break g;
2567                            default:
2568                              break f;
2569                          }
2570                        }
2571                        c[f[2706]](o, j);
2572                      }
2573                      n = n << 2;
2574                      m = m + 1 | 0;
2575                      if ((m | 0) != 16) {
2576                        continue;
2577                      }
2578                      break;
2579                    }
2580                    p = q ? x : w;
2581                    break b;
2582                  }
2583                  m = g[k + 769 | 0];
2584                  p = q ? x : w;
2585                  c[f[((m ? m : p) << 2) + 10704 >> 2]](s);
2586                  m = 0;
2587                  if (!n) {
2588                    break b;
2589                  }
2590                  while (1) {
2591                    j = k + (m << 5) | 0;
2592                    o = h[(m << 1) + 4880 >> 1] + s | 0;
2593                    h: {
2594                      i: {
2595                        switch ((n >>> 30 | 0) + -1 | 0) {
2596                          case 2:
2597                            c[f[2703]](j, o, 0);
2598                            break h;
2599                          case 1:
2600                            c[f[2704]](j, o);
2601                            break h;
2602                          case 0:
2603                            break i;
2604                          default:
2605                            break h;
2606                        }
2607                      }
2608                      c[f[2706]](j, o);
2609                    }
2610                    n = n << 2;
2611                    m = m + 1 | 0;
2612                    if ((m | 0) != 16) {
2613                      continue;
2614                    }
2615                    break;
2616                  }
2617                }
2618                m = f[k + 792 >> 2];
2619                j = g[k + 785 | 0];
2620                j = ((j ? j : p) << 2) + 10784 | 0;
2621                c[f[j >> 2]](u);
2622                c[f[j >> 2]](t);
2623                j: {
2624                  if (!(m & 255)) {
2625                    break j;
2626                  }
2627                  j = k + 512 | 0;
2628                  if (m & 170) {
2629                    c[f[2705]](j, u);
2630                    break j;
2631                  }
2632                  c[f[2707]](j, u);
2633                }
2634                k: {
2635                  if (!(m & 65280)) {
2636                    break k;
2637                  }
2638                  j = k + 640 | 0;
2639                  if (m & 43520) {
2640                    c[f[2705]](j, t);
2641                    break k;
2642                  }
2643                  c[f[2707]](j, t);
2644                }
2645                if ((r | 0) < (f[a + 292 >> 2] + -1 | 0)) {
2646                  m = A;
2647                  j = g[m + 4 | 0] | g[m + 5 | 0] << 8 | (g[m + 6 | 0] << 16 | g[m + 7 | 0] << 24);
2648                  k = g[m | 0] | g[m + 1 | 0] << 8 | (g[m + 2 | 0] << 16 | g[m + 3 | 0] << 24);
2649                  d[i | 0] = k;
2650                  d[i + 1 | 0] = k >>> 8;
2651                  d[i + 2 | 0] = k >>> 16;
2652                  d[i + 3 | 0] = k >>> 24;
2653                  d[i + 4 | 0] = j;
2654                  d[i + 5 | 0] = j >>> 8;
2655                  d[i + 6 | 0] = j >>> 16;
2656                  d[i + 7 | 0] = j >>> 24;
2657                  j = g[m + 12 | 0] | g[m + 13 | 0] << 8 | (g[m + 14 | 0] << 16 | g[m + 15 | 0] << 24);
2658                  m = g[m + 8 | 0] | g[m + 9 | 0] << 8 | (g[m + 10 | 0] << 16 | g[m + 11 | 0] << 24);
2659                  d[i + 8 | 0] = m;
2660                  d[i + 9 | 0] = m >>> 8;
2661                  d[i + 10 | 0] = m >>> 16;
2662                  d[i + 11 | 0] = m >>> 24;
2663                  d[i + 12 | 0] = j;
2664                  d[i + 13 | 0] = j >>> 8;
2665                  d[i + 14 | 0] = j >>> 16;
2666                  d[i + 15 | 0] = j >>> 24;
2667                  m = g[e + 812 | 0] | g[e + 813 | 0] << 8 | (g[e + 814 | 0] << 16 | g[e + 815 | 0] << 24);
2668                  j = g[e + 808 | 0] | g[e + 809 | 0] << 8 | (g[e + 810 | 0] << 16 | g[e + 811 | 0] << 24);
2669                  d[i + 16 | 0] = j;
2670                  d[i + 17 | 0] = j >>> 8;
2671                  d[i + 18 | 0] = j >>> 16;
2672                  d[i + 19 | 0] = j >>> 24;
2673                  d[i + 20 | 0] = m;
2674                  d[i + 21 | 0] = m >>> 8;
2675                  d[i + 22 | 0] = m >>> 16;
2676                  d[i + 23 | 0] = m >>> 24;
2677                  m = g[e + 828 | 0] | g[e + 829 | 0] << 8 | (g[e + 830 | 0] << 16 | g[e + 831 | 0] << 24);
2678                  j = g[e + 824 | 0] | g[e + 825 | 0] << 8 | (g[e + 826 | 0] << 16 | g[e + 827 | 0] << 24);
2679                  d[i + 24 | 0] = j;
2680                  d[i + 25 | 0] = j >>> 8;
2681                  d[i + 26 | 0] = j >>> 16;
2682                  d[i + 27 | 0] = j >>> 24;
2683                  d[i + 28 | 0] = m;
2684                  d[i + 29 | 0] = m >>> 8;
2685                  d[i + 30 | 0] = m >>> 16;
2686                  d[i + 31 | 0] = m >>> 24;
2687                }
2688                D = f[a + 2284 >> 2];
2689                o = f[a + 2272 >> 2];
2690                p = f[a + 2276 >> 2];
2691                i = s;
2692                k = g[i + 4 | 0] | g[i + 5 | 0] << 8 | (g[i + 6 | 0] << 16 | g[i + 7 | 0] << 24);
2693                j = (f[a + 2268 >> 2] + (q << 4) | 0) + l(f[a + 2280 >> 2], z) | 0;
2694                n = g[i | 0] | g[i + 1 | 0] << 8 | (g[i + 2 | 0] << 16 | g[i + 3 | 0] << 24);
2695                d[j | 0] = n;
2696                d[j + 1 | 0] = n >>> 8;
2697                d[j + 2 | 0] = n >>> 16;
2698                d[j + 3 | 0] = n >>> 24;
2699                d[j + 4 | 0] = k;
2700                d[j + 5 | 0] = k >>> 8;
2701                d[j + 6 | 0] = k >>> 16;
2702                d[j + 7 | 0] = k >>> 24;
2703                k = g[i + 12 | 0] | g[i + 13 | 0] << 8 | (g[i + 14 | 0] << 16 | g[i + 15 | 0] << 24);
2704                i = g[i + 8 | 0] | g[i + 9 | 0] << 8 | (g[i + 10 | 0] << 16 | g[i 
vendor: 12,026 bytes, lines 2704-2964
2704+ 11 | 0] << 24);
2705                d[j + 8 | 0] = i;
2706                d[j + 9 | 0] = i >>> 8;
2707                d[j + 10 | 0] = i >>> 16;
2708                d[j + 11 | 0] = i >>> 24;
2709                d[j + 12 | 0] = k;
2710                d[j + 13 | 0] = k >>> 8;
2711                d[j + 14 | 0] = k >>> 16;
2712                d[j + 15 | 0] = k >>> 24;
2713                i = q << 3;
2714                E = i + p | 0;
2715                F = i + o | 0;
2716                m = 1;
2717                while (1) {
2718                  k = (m << 5) + s | 0;
2719                  o = g[k + 4 | 0] | g[k + 5 | 0] << 8 | (g[k + 6 | 0] << 16 | g[k + 7 | 0] << 24);
2720                  i = j + l(f[a + 2280 >> 2], m) | 0;
2721                  p = g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24);
2722                  d[i | 0] = p;
2723                  d[i + 1 | 0] = p >>> 8;
2724                  d[i + 2 | 0] = p >>> 16;
2725                  d[i + 3 | 0] = p >>> 24;
2726                  d[i + 4 | 0] = o;
2727                  d[i + 5 | 0] = o >>> 8;
2728                  d[i + 6 | 0] = o >>> 16;
2729                  d[i + 7 | 0] = o >>> 24;
2730                  n = g[k + 12 | 0] | g[k + 13 | 0] << 8 | (g[k + 14 | 0] << 16 | g[k + 15 | 0] << 24);
2731                  k = g[k + 8 | 0] | g[k + 9 | 0] << 8 | (g[k + 10 | 0] << 16 | g[k + 11 | 0] << 24);
2732                  d[i + 8 | 0] = k;
2733                  d[i + 9 | 0] = k >>> 8;
2734                  d[i + 10 | 0] = k >>> 16;
2735                  d[i + 11 | 0] = k >>> 24;
2736                  d[i + 12 | 0] = n;
2737                  d[i + 13 | 0] = n >>> 8;
2738                  d[i + 14 | 0] = n >>> 16;
2739                  d[i + 15 | 0] = n >>> 24;
2740                  m = m + 1 | 0;
2741                  if ((m | 0) != 16) {
2742                    continue;
2743                  }
2744                  break;
2745                }
2746                j = g[e + 588 | 0] | g[e + 589 | 0] << 8 | (g[e + 590 | 0] << 16 | g[e + 591 | 0] << 24);
2747                n = l(y, D);
2748                i = n + F | 0;
2749                k = g[e + 584 | 0] | g[e + 585 | 0] << 8 | (g[e + 586 | 0] << 16 | g[e + 587 | 0] << 24);
2750                d[i | 0] = k;
2751                d[i + 1 | 0] = k >>> 8;
2752                d[i + 2 | 0] = k >>> 16;
2753                d[i + 3 | 0] = k >>> 24;
2754                d[i + 4 | 0] = j;
2755                d[i + 5 | 0] = j >>> 8;
2756                d[i + 6 | 0] = j >>> 16;
2757                d[i + 7 | 0] = j >>> 24;
2758                m = n + E | 0;
2759                j = m;
2760                k = g[e + 604 | 0] | g[e + 605 | 0] << 8 | (g[e + 606 | 0] << 16 | g[e + 607 | 0] << 24);
2761                n = g[e + 600 | 0] | g[e + 601 | 0] << 8 | (g[e + 602 | 0] << 16 | g[e + 603 | 0] << 24);
2762                d[j | 0] = n;
2763                d[j + 1 | 0] = n >>> 8;
2764                d[j + 2 | 0] = n >>> 16;
2765                d[j + 3 | 0] = n >>> 24;
2766                d[j + 4 | 0] = k;
2767                d[j + 5 | 0] = k >>> 8;
2768                d[j + 6 | 0] = k >>> 16;
2769                d[j + 7 | 0] = k >>> 24;
2770                k = g[e + 620 | 0] | g[e + 621 | 0] << 8 | (g[e + 622 | 0] << 16 | g[e + 623 | 0] << 24);
2771                j = i + f[a + 2284 >> 2] | 0;
2772                n = g[e + 616 | 0] | g[e + 617 | 0] << 8 | (g[e + 618 | 0] << 16 | g[e + 619 | 0] << 24);
2773                d[j | 0] = n;
2774                d[j + 1 | 0] = n >>> 8;
2775                d[j + 2 | 0] = n >>> 16;
2776                d[j + 3 | 0] = n >>> 24;
2777                d[j + 4 | 0] = k;
2778                d[j + 5 | 0] = k >>> 8;
2779                d[j + 6 | 0] = k >>> 16;
2780                d[j + 7 | 0] = k >>> 24;
2781                k = g[e + 636 | 0] | g[e + 637 | 0] << 8 | (g[e + 638 | 0] << 16 | g[e + 639 | 0] << 24);
2782                j = m + f[a + 2284 >> 2] | 0;
2783                n = g[e + 632 | 0] | g[e + 633 | 0] << 8 | (g[e + 634 | 0] << 16 | g[e + 635 | 0] << 24);
2784                d[j | 0] = n;
2785                d[j + 1 | 0] = n >>> 8;
2786                d[j + 2 | 0] = n >>> 16;
2787                d[j + 3 | 0] = n >>> 24;
2788                d[j + 4 | 0] = k;
2789                d[j + 5 | 0] = k >>> 8;
2790                d[j + 6 | 0] = k >>> 16;
2791                d[j + 7 | 0] = k >>> 24;
2792                k = g[e + 652 | 0] | g[e + 653 | 0] << 8 | (g[e + 654 | 0] << 16 | g[e + 655 | 0] << 24);
2793                j = i + (f[a + 2284 >> 2] << 1) | 0;
2794                n = g[e + 648 | 0] | g[e + 649 | 0] << 8 | (g[e + 650 | 0] << 16 | g[e + 651 | 0] << 24);
2795                d[j | 0] = n;
2796                d[j + 1 | 0] = n >>> 8;
2797                d[j + 2 | 0] = n >>> 16;
2798                d[j + 3 | 0] = n >>> 24;
2799                d[j + 4 | 0] = k;
2800                d[j + 5 | 0] = k >>> 8;
2801                d[j + 6 | 0] = k >>> 16;
2802                d[j + 7 | 0] = k >>> 24;
2803                k = g[e + 668 | 0] | g[e + 669 | 0] << 8 | (g[e + 670 | 0] << 16 | g[e + 671 | 0] << 24);
2804                j = m + (f[a + 2284 >> 2] << 1) | 0;
2805                n = g[e + 664 | 0] | g[e + 665 | 0] << 8 | (g[e + 666 | 0] << 16 | g[e + 667 | 0] << 24);
2806                d[j | 0] = n;
2807                d[j + 1 | 0] = n >>> 8;
2808                d[j + 2 | 0] = n >>> 16;
2809                d[j + 3 | 0] = n >>> 24;
2810                d[j + 4 | 0] = k;
2811                d[j + 5 | 0] = k >>> 8;
2812                d[j + 6 | 0] = k >>> 16;
2813                d[j + 7 | 0] = k >>> 24;
2814                k = g[e + 684 | 0] | g[e + 685 | 0] << 8 | (g[e + 686 | 0] << 16 | g[e + 687 | 0] << 24);
2815                j = i + l(f[a + 2284 >> 2], 3) | 0;
2816                n = g[e + 680 | 0] | g[e + 681 | 0] << 8 | (g[e + 682 | 0] << 16 | g[e + 683 | 0] << 24);
2817                d[j | 0] = n;
2818                d[j + 1 | 0] = n >>> 8;
2819                d[j + 2 | 0] = n >>> 16;
2820                d[j + 3 | 0] = n >>> 24;
2821                d[j + 4 | 0] = k;
2822                d[j + 5 | 0] = k >>> 8;
2823                d[j + 6 | 0] = k >>> 16;
2824                d[j + 7 | 0] = k >>> 24;
2825                k = g[e + 700 | 0] | g[e + 701 | 0] << 8 | (g[e + 702 | 0] << 16 | g[e + 703 | 0] << 24);
2826                j = m + l(f[a + 2284 >> 2], 3) | 0;
2827                n = g[e + 696 | 0] | g[e + 697 | 0] << 8 | (g[e + 698 | 0] << 16 | g[e + 699 | 0] << 24);
2828                d[j | 0] = n;
2829                d[j + 1 | 0] = n >>> 8;
2830                d[j + 2 | 0] = n >>> 16;
2831                d[j + 3 | 0] = n >>> 24;
2832                d[j + 4 | 0] = k;
2833                d[j + 5 | 0] = k >>> 8;
2834                d[j + 6 | 0] = k >>> 16;
2835                d[j + 7 | 0] = k >>> 24;
2836                k = g[e + 716 | 0] | g[e + 717 | 0] << 8 | (g[e + 718 | 0] << 16 | g[e + 719 | 0] << 24);
2837                j = i + (f[a + 2284 >> 2] << 2) | 0;
2838                n = g[e + 712 | 0] | g[e + 713 | 0] << 8 | (g[e + 714 | 0] << 16 | g[e + 715 | 0] << 24);
2839                d[j | 0] = n;
2840                d[j + 1 | 0] = n >>> 8;
2841                d[j + 2 | 0] = n >>> 16;
2842                d[j + 3 | 0] = n >>> 24;
2843                d[j + 4 | 0] = k;
2844                d[j + 5 | 0] = k >>> 8;
2845                d[j + 6 | 0] = k >>> 16;
2846                d[j + 7 | 0] = k >>> 24;
2847                k = g[e + 732 | 0] | g[e + 733 | 0] << 8 | (g[e + 734 | 0] << 16 | g[e + 735 | 0] << 24);
2848                j = m + (f[a + 2284 >> 2] << 2) | 0;
2849                n = g[e + 728 | 0] | g[e + 729 | 0] << 8 | (g[e + 730 | 0] << 16 | g[e + 731 | 0] << 24);
2850                d[j | 0] = n;
2851                d[j + 1 | 0] = n >>> 8;
2852                d[j + 2 | 0] = n >>> 16;
2853                d[j + 3 | 0] = n >>> 24;
2854                d[j + 4 | 0] = k;
2855                d[j + 5 | 0] = k >>> 8;
2856                d[j + 6 | 0] = k >>> 16;
2857                d[j + 7 | 0] = k >>> 24;
2858                k = g[e + 748 | 0] | g[e + 749 | 0] << 8 | (g[e + 750 | 0] << 16 | g[e + 751 | 0] << 24);
2859                j = i + l(f[a + 2284 >> 2], 5) | 0;
2860                n = g[e + 744 | 0] | g[e + 745 | 0] << 8 | (g[e + 746 | 0] << 16 | g[e + 747 | 0] << 24);
2861                d[j | 0] = n;
2862                d[j + 1 | 0] = n >>> 8;
2863                d[j + 2 | 0] = n >>> 16;
2864                d[j + 3 | 0] = n >>> 24;
2865                d[j + 4 | 0] = k;
2866                d[j + 5 | 0] = k >>> 8;
2867                d[j + 6 | 0] = k >>> 16;
2868                d[j + 7 | 0] = k >>> 24;
2869                k = g[e + 764 | 0] | g[e + 765 | 0] << 8 | (g[e + 766 | 0] << 16 | g[e + 767 | 0] << 24);
2870                j = m + l(f[a + 2284 >> 2], 5) | 0;
2871                n = g[e + 760 | 0] | g[e + 761 | 0] << 8 | (g[e + 762 | 0] << 16 | g[e + 763 | 0] << 24);
2872                d[j | 0] = n;
2873                d[j + 1 | 0] = n >>> 8;
2874                d[j + 2 | 0] = n >>> 16;
2875                d[j + 3 | 0] = n >>> 24;
2876                d[j + 4 | 0] = k;
2877                d[j + 5 | 0] = k >>> 8;
2878                d[j + 6 | 0] = k >>> 16;
2879                d[j + 7 | 0] = k >>> 24;
2880                k = g[e + 780 | 0] | g[e + 781 | 0] << 8 | (g[e + 782 | 0] << 16 | g[e + 783 | 0] << 24);
2881                j = i + l(f[a + 2284 >> 2], 6) | 0;
2882                n = g[e + 776 | 0] | g[e + 777 | 0] << 8 | (g[e + 778 | 0] << 16 | g[e + 779 | 0] << 24);
2883                d[j | 0] = n;
2884                d[j + 1 | 0] = n >>> 8;
2885                d[j + 2 | 0] = n >>> 16;
2886                d[j + 3 | 0] = n >>> 24;
2887                d[j + 4 | 0] = k;
2888                d[j + 5 | 0] = k >>> 8;
2889                d[j + 6 | 0] = k >>> 16;
2890                d[j + 7 | 0] = k >>> 24;
2891                k = g[e + 796 | 0] | g[e + 797 | 0] << 8 | (g[e + 798 | 0] << 16 | g[e + 799 | 0] << 24);
2892                j = m + l(f[a + 2284 >> 2], 6) | 0;
2893                n = g[e + 792 | 0] | g[e + 793 | 0] << 8 | (g[e + 794 | 0] << 16 | g[e + 795 | 0] << 24);
2894                d[j | 0] = n;
2895                d[j + 1 | 0] = n >>> 8;
2896                d[j + 2 | 0] = n >>> 16;
2897                d[j + 3 | 0] = n >>> 24;
2898                d[j + 4 | 0] = k;
2899                d[j + 5 | 0] = k >>> 8;
2900                d[j + 6 | 0] = k >>> 16;
2901                d[j + 7 | 0] = k >>> 24;
2902                j = g[e + 812 | 0] | g[e + 813 | 0] << 8 | (g[e + 814 | 0] << 16 | g[e + 815 | 0] << 24);
2903                i = i + l(f[a + 2284 >> 2], 7) | 0;
2904                k = g[e + 808 | 0] | g[e + 809 | 0] << 8 | (g[e + 810 | 0] << 16 | g[e + 811 | 0] << 24);
2905                d[i | 0] = k;
2906                d[i + 1 | 0] = k >>> 8;
2907                d[i + 2 | 0] = k >>> 16;
2908                d[i + 3 | 0] = k >>> 24;
2909                d[i + 4 | 0] = j;
2910                d[i + 5 | 0] = j >>> 8;
2911                d[i + 6 | 0] = j >>> 16;
2912                d[i + 7 | 0] = j >>> 24;
2913                i = m + l(f[a + 2284 >> 2], 7) | 0;
2914                m = g[e + 828 | 0] | g[e + 829 | 0] << 8 | (g[e + 830 | 0] << 16 | g[e + 831 | 0] << 24);
2915                j = g[e + 824 | 0] | g[e + 825 | 0] << 8 | (g[e + 826 | 0] << 16 | g[e + 827 | 0] << 24);
2916                d[i | 0] = j;
2917                d[i + 1 | 0] = j >>> 8;
2918                d[i + 2 | 0] = j >>> 16;
2919                d[i + 3 | 0] = j >>> 24;
2920                d[i + 4 | 0] = m;
2921                d[i + 5 | 0] = m >>> 8;
2922                d[i + 6 | 0] = m >>> 16;
2923                d[i + 7 | 0] = m >>> 24;
2924                q = q + 1 | 0;
2925                if ((q | 0) < f[a + 288 >> 2]) {
2926                  continue;
2927                }
2928                break;
2929              }
2930            }
2931          }
2932          function We(a) {
2933            a = a | 0;
2934            var b = 0,
2935              c = 0,
2936              d = 0,
2937              e = 0,
2938              h = 0,
2939              j = 0,
2940              k = 0,
2941              l = 0,
2942              m = 0,
2943              n = 0,
2944              o = 0,
2945              p = 0,
2946              q = 0,
2947              r = 0;
2948            p = L - 16 | 0;
2949            L = p;
2950            a: {
2951              b: {
2952                c: {
2953                  d: {
2954                    e: {
2955                      f: {
2956                        g: {
2957                          h: {
2958                            i: {
2959                              j: {
2960                                k: {
2961                                  l: {
2962                                    if (a >>> 0 <= 244) {
2963                                      j = f[2884];
2964                                      k = a >>>
2964 0 < 11 ? 16 : a + 11 & -8;
2965                                      b = k >>> 3 | 0;
2966                                      a = j >>> b | 0;
2967                                      if (a & 3) {
2968                                        d = b + ((a ^ -1) & 1) | 0;
2969                                        b = d << 3;
2970                                        e = f[b + 11584 >> 2];
2971                                        a = e + 8 | 0;
2972                                        c = f[e + 8 >> 2];
2973                                        b = b + 11576 | 0;
2974                                        m: {
2975                                          if ((c | 0) == (b | 0)) {
2976                                            q = 11536, r = zf(-2, d) & j, f[q >> 2] = r;
2977                                            break m;
2978                                          }
2979                                          f[c + 12 >> 2] = b;
2980                                          f[b + 8 >> 2] = c;
2981                                        }
2982                                        b = d << 3;
2983                                        f[e + 4 >> 2] = b | 3;
2984                                        b = b + e | 0;
2985                                        f[b + 4 >> 2] = f[b + 4 >> 2] | 1;
2986                                        break a;
2987                                      }
2988                                      o = f[2886];
2989                                      if (k >>> 0 <= o >>> 0) {
2990                                        break l;
2991                                      }
2992                                      if (a) {
2993                                        c = a << b;
2994                                        a = 2 << b;
2995                                        a = c & (0 - a | a);
2996                                        b = (0 - a & a) + -1 | 0;
2997                                        a = b >>> 12 & 16;
2998                                        c = a;
2999                                        b = b >>> a | 0;
3000                                        a = b >>> 5 & 8;
3001                                        c = c | a;
3002                                        b = b >>> a | 0;
3003                                        a = b >>> 2 & 4;
3004                                        c = c | a;
3005                                        b = b >>> a | 0;
3006                                        a = b >>> 1 & 2;
3007                                        c = c | a;
3008                                        b = b >>> a | 0;
3009                                        a = b >>> 1 & 1;
3010                                        c = (c | a) + (b >>> a | 0) | 0;
3011                                        a = c << 3;
3012                                        h = f[a + 11584 >> 2];
3013                                        b = f[h + 8 >> 2];
3014                                        a = a + 11576 | 0;
3015                                        n: {
3016                                          if ((b | 0) == (a | 0)) {
3017                                            j = zf(-2, c) & j;
3018                                            f[2884] = j;
3019                                            break n;
3020                                          }
3021                                          f[b + 12 >> 2] = a;
3022                                          f[a + 8 >> 2] = b;
3023                                        }
3024                                        a = h + 8 | 0;
3025                                        f[h + 4 >> 2] = k | 3;
3026                                        d = h + k | 0;
3027                                        b = c << 3;
3028                                        e = b - k | 0;
3029                                        f[d + 4 >> 2] = e | 1;
3030                                        f[b + h >> 2] = e;
3031                                        if (o) {
3032                                          b = o >>> 3 | 0;
3033                                          c = (b << 3) + 11576 | 0;
3034                                          k = f[2889];
3035                                          b = 1 << b;
3036                                          o: {
3037                                            if (!(b & j)) {
3038                                              f[2884] = b | j;
3039                                              b = c;
3040                                              break o;
3041                                            }
3042                                            b = f[c + 8 >> 2];
3043                                          }
3044                                          f[c + 8 >> 2] = k;
3045                                          f[b + 12 >> 2] = k;
3046                                          f[k + 12 >> 2] = c;
3047                                          f[k + 8 >> 2] = b;
3048                                        }
3049                                        f[2889] = d;
3050                                        f[2886] = e;
3051                                        break a;
3052                                      }
3053                                      l = f[2885];
3054                                      if (!l) {
3055                                        break l;
3056                                      }
3057                                      b = (l & 0 - l) + -1 | 0;
3058                                      a = b >>> 12 & 16;
3059                                      c = a;
3060                                      b = b >>> a | 0;
3061                                      a = b >>> 5 & 8;
3062                                      c = c | a;
3063                                      b = b >>> a | 0;
3064                                      a = b >>> 2 & 4;
3065                                      c = c | a;
3066                                      b = b >>> a | 0;
3067                                      a = b >>> 1 & 2;
3068                                      c = c | a;
3069                                      b = b >>> a | 0;
3070                                      a = b >>> 1 & 1;
3071                                      b = f[((c | a) + (b >>> a | 0) << 2) + 11840 >> 2];
3072                                      e = (f[b + 4 >> 2] & -8) - k | 0;
3073                                      c = b;
3074                                      while (1) {
3075                                        p: {
3076                                          a = f[c + 16 >> 2];
3077                                          if (!a) {
3078                                            a = f[c + 20 >> 2];
3079                                            if (!a) {
3080                                              break p;
3081                                            }
3082                                          }
3083                                          c = (f[a + 4 >> 2] & -8) - k | 0;
3084                                          d = c >>> 0 < e >>> 0;
3085                                          e = d ? c : e;
3086                                          b = d ? a : b;
3087                                          c = a;
3088                                          continue;
3089                                        }
3090                                        break;
3091                                      }
3092                                      m = b + k | 0;
3093                                      if (m >>> 0 <= b >>> 0) {
3094                                        break k;
3095                                      }
3096                                      n = f[b + 24 >> 2];
3097                                      d = f[b + 12 >> 2];
3098                                      if ((d | 0) != (b | 0)) {
3099                                        a = f[b + 8 >> 2];
3100                                        f[a + 12 >> 2] = d;
3101                                        f[d + 8 >> 2] = a;
3102                                        break b;
3103                                      }
3104                                      c = b + 20 | 0;
3105                                      a = f[c >> 2];
3106                                      if (!a) {
3107                                        a = f[b + 16 >> 2];
3108                                        if (!a) {
3109                                          break j;
3110                                        }
3111                                        c = b + 16 | 0;
3112                                      }
3113                                      while (1) {
3114                                        h = c;
3115                                        d = a;
3116                                        c = a + 20 | 0;
3117                                        a = f[c >> 2];
3118                                        if (a) {
3119                                          continue;
3120                                        }
3121                                        c = d + 16 | 0;
3122                                        a = f[d + 16 >> 2];
3123                                        if (a) {
3124                                          continue;
3125                                        }
3126                                        break;
3127                                      }
3128                                      f[h >> 2] = 0;
3129                                      break b;
3130                                    }
3131                                    k = -1;
3132                                    if (a >>> 0 > 4294967231) {
3133                                      break l;
3134                                    }
3135                                    a = a + 11 | 0;
3136                                    k = a & -8;
3137                                    l = f[2885];
3138                                    if (!l) {
3139                                      break l;
3140                                    }
3141                                    a = a >>> 8 | 0;
3142                                    h = 0;
3143                                    q: {
3144                                      if (!a) {
3145                                        break q;
3146                                      }
3147                                      h = 31;
3148                                      if (k >>> 0 > 16777215) {
3149                                        break q;
3150                                      }
3151                                      b = a + 1048320 >>> 16 & 8;
3152                                      a = a << b;
3153                                      e = a + 520192 >>> 16 & 4;
3154                                      a = a << e;
3155                                      c = a + 245760 >>> 16 & 2;
3156                                      a = (a << c >>> 15 | 0) - (c | (b | e)) | 0;
3157                                      h = (a << 1 | k >>> a + 21 & 1) + 28 | 0;
3158                                    }
3159                                    e = 0 - k | 0;
3160                                    c = f[(h << 2) + 11840 >> 2];
3161                                    r: {
3162                                      s: {
3163                                        t: {
3164                                          if (!c) {
3165                                            a = 0;
3166                                            break t;
3167                                          }
3168                                          a = 0;
3169                                          b = k << ((h | 0) == 31 ? 0 : 25 - (h >>> 1 | 0) | 0);
3170                                          while (1) {
3171                                            u: {
3172                                              j = (f[c + 4 >> 2] & -8) - k | 0;
3173                                              if (j >>> 0 >= e >>> 0) {
3174                                                break u;
3175                                              }
3176                                              d = c;
3177                                              e = j;
3178                                              if (e) {
3179                                                break u;
3180                                              }
3181                                              e = 0;
3182                                              a = c;
3183                                              break s;
3184                                            }
3185                                            j = f[c + 20 >> 2];
3186                                            c = f[((b >>> 29 & 4) + c | 0) + 16 >> 2];
3187                                            a = j ? (j | 0) == (c | 0) ? a : j : a;
3188                                            b = b << 1;
3189                                            if (c) {
3190                                              continue;
3191                                            }
3192                                            break;
3193                                          }
3194                                        }
3195                                        if (!(a | d)) {
3196                                          a = 2 << h;
3197                                          a = (0 - a | a) & l;
3198                                          if (!a) {
3199                                            break l;
3200                                          }
3201                                          b = (a & 0 - a) + -1 | 0;
3202                                          a = b >>> 12 & 16;
3203                                          c = a;
3204                                          b = b >>> a | 0;
3205                                          a = b >>> 5 & 8;
3206                                          c = c | a;
3207                                          b = b >>> a | 0;
3208                                          a = b >>> 2 & 4;
3209                                          c = c | a;
3210                                          b = b >>> a | 0;
3211                                          a = b >>> 1 & 2;
3212                                          c = c | a;
3213                                          b = b >>> a | 0;
3214                                          a = b >>> 1 & 1;
3215                                          a = f[((c | a) + (b >>> a | 0) << 2) + 11840 >> 2];
3216                                        }
3217                                        if (!a) {
3218                                          break r;
3219                                        }
3220                                      }
3221                                      while (1) {
3222                                        b = (f[a + 4 >> 2] & -8) - k | 0;
3223                                        c = b >>> 0 < e >>> 0;
3224                                        e = c ? b : e;
3225                                        d = c ? a : d;
3226                                        b = f[a + 16 >> 2];
3227                                        if (b) {
3228                                          a = b;
3229                                        } else {
3230                                          a = f[a + 20 >> 2];
3231                                        }
3232                                        if (a) {
3233                                          continue;
3234                                        }
3235                                        break;
3236                                      }
3237                                    }
3238                                    if (!d | e >>> 0 >= f[2886] - k >>> 0) {
3239                                      break l;
3240                                    }
3241                                    h = d + k | 0;
3242                                    if (h >>> 0 <= d >>> 0) {
3243                                      break k;
3244                                    }
3245                                    m = f[d + 24 >> 2];
3246                                    b = f[d + 12 >> 2];
3247                                    if ((d | 0) != (b | 0)) {
3248                                      a = f[d + 8 >> 2];
3249                                      f[a + 12 >> 2] = b;
3250                                      f[b + 8 >> 2] = a;
3251                                      break c;
3252                                    }
3253                                    c = d + 20 | 0;
3254                                    a = f[c >> 2];
3255                                    if (!a) {
3256                                      a = f[d + 16 >> 2];
3257                                      if (!a) {
3258                                        break i;
3259                                      }
3260                                      c = d + 16 | 0;
3261                                    }
3262                                    while (1) {
3263                                      j = c;
3264                                      b = a;
3265                                      c = a + 20 | 0;
3266                                      a = f[c >> 2];
3267                                      if (a) {
3268                                        continue;
3269                                      }
3270                                      c = b + 16 | 0;
3271                                      a = f[b + 16 >> 2];
3272                                      if (a) {
3273                                        continue;
3274                                      }
3275                                      break;
3276                                    }
3277                                    f[j >> 2] = 0;
3278                                    break c;
3279                                  }
3280                                  c = f[2886];
3281                                  if (c >>> 0 >= k >>> 0) {
3282                                    d = f[2889];
3283                                    b = c - k | 0;
3284                                    v: {
3285                                      if (b >>> 0 >= 16) {
3286                                        f[2886] = b;
3287                                        a = d + k | 0;
3288                                        f[2889] = a;
3289                                        f[a + 4 >> 2] = b | 1;
3290                                        f[c + d >> 2] = b;
3291                                        f[d + 4 >> 2] = k | 3;
3292                                        break v;
3293                                      }
3294                                      f[2889] = 0;
3295                                      f[2886] = 0;
3296                                      f[d + 4 >> 2] = c | 3;
3297                                      a = c + d | 0;
3298                                      f[a + 4 >> 2] = f[a + 4 >> 2] | 1;
3299                                    }
3300                                    a = d + 8 | 0;
3301                                    break a;
3302                                  }
3303                                  l = f[2887];
3304                                  if (l >>> 0 > k >>> 0) {
3305                                    b = l - k | 0;
3306                                    f[2887] = b;
3307                                    c = f[2890];
3308                                    a = c + k | 0;
3309                                    f[2890] = a;
3310                                    f[a + 4 >> 2] = b | 1;
3311                                    f[c + 4 >> 2] = k | 3;
3312                                    a = c + 8 | 0;
3313                                    break a;
3314                                  }
3315                                  a = 0;
3316                                  m = k + 47 | 0;
3317                                  b = m;
3318                                  if (f[3002]) {
3319                                    c = f[3004];
3320                                  } else {
3321                                    f[3005] = -1;
3322                                    f[3006] = -1;
3323                                    f[3003] = 4096;
3324                                    f[3004] = 4096;
3325                                    f[3002] = p + 12 & -16 ^ 1431655768;
3326                                    f[3007] = 0;
3327                                    f[2995] = 0;
3328                                    c = 4096;
3329                                  }
3330                                  h = b + c | 0;
3331                                  j = 0 - c | 0;
3332                                  c = h & j;
3333                                  if (c >>> 0 <= k >>> 0) {
3334                                    break a;
3335                                  }
3336                                  e = f[2994];
3337                                  if (e) {
3338                                    d = f[2992];
3339                                    b = d + c | 0;
3340                                    if (b >>> 0 <= d >>> 0 | b >>> 0 > e >>> 0) {
3341                                      break a;
3342                                    }
3343                                  }
3344                                  if (g[11980] & 4) {
3345                                    break f;
3346                                  }
3347                                  w: {
3348                                    x: {
3349                                      d = f[2890];
3350                                      if (d) {
3351                                        a = 11984;
3352                                        while (1) {
3353                                          b = f[a >> 2];
3354                                          if (b + f[a + 4 >> 2] >>> 0 > d >>> 0 ? b >>> 0 <= d >>> 0 : 0) {
3355                                            break x;
3356                                          }
3357                                          a = f[a + 8 >> 2];
3358                                          if (a) {
3359                                            continue;
3360                                          }
3361                                          break;
3362                                        }
3363                                      }
3364                                      b = Ze(0);
3365                                      if ((b | 0) == -1) {
3366                                        break g;
3367                                      }
3368                                      j = c;
3369                                      d = f[3003];
3370                                      a = d + -1 | 0;
3371                                      if (a & b) {
3372                                        j = (c - b | 0) + (a + b & 0 - d) | 0;
3373                                      }
3374                                      if (j >>> 0 <= k >>> 0 | j >>> 0 > 2147483646) {
3375                                        break g;
3376                                      }
3377                                      e = f[2994];
3378                                      if (e) {
3379                                        d = f[2992];
3380                                        a = d + j | 0;
3381                                        if (a >>> 0 <= d >>> 0 | a >>> 0 > e >>> 0) {
3382                                          break g;
3383                                        }
3384                                      }
3385                                      a = Ze(j);
3386                                      if ((b | 0) != (a | 0)) {
3387                                        break w;
3388                                      }
3389                                      break e;
3390                                    }
3391                                    j = j & h - l;
3392                                    if (j >>> 0 > 2147483646) {
3393                                      break g;
3394                                    }
3395                                    b = Ze(j);
3396                                    if ((b | 0) == (f[a >> 2] + f[a + 4 >> 2] | 0)) {
3397                                      break h;
3398                                    }
3399                                    a = b;
3400                                  }
3401                                  if (!((a | 0) == -1 | k + 48 >>> 0 <= j >>> 0)) {
3402                                    b = f[3004];
3403                                    b = b + (m - j | 0) & 0 - b;
3404                                    if (b >>> 0 > 2147483646) {
3405                                      b = a;
3406                                      break e;
3407                                    }
3408                                    if ((Ze(b) | 0) != -1) {
3409                                      j = b + j | 0;
3410                                      b = a;
3411                                      break e;
3412                                    }
3413                                    Ze(0 - j | 0);
3414                                    break g;
3415                                  }
3416                                  b = a;
3417                                  if ((a | 0) != -1) {
3418                                    break e;
3419                                  }
3420                                  break g;
3421                                }
3422                                u();
3423                              }
3424                              d = 0;
3425                              break b;
3426                            }
3427                            b = 0;
3428                            break c;
3429                          }
3430                          if ((b | 0) != -1) {
3431                            break e;
3432                          }
3433                        }
3434                        f[2995] = f[2995] | 4;
3435                      }
3436                      if (c >>> 0 > 2147483646) {
3437                        break d;
3438                      }
3439                      b = Ze(c);
3440                      a = Ze(0);
3441                      if (b >>> 0 >= a >>> 0 | (b | 0) == -1 | (a | 0) == -1) {
3442                        break d;
3443                      }
3444                      j = a - b | 0;
3445                      if (j >>> 0 <= k + 40 >>> 0) {
3446                        break d;
3447                      }
3448                    }
3449                    a = f[2992] + j | 0;
3450                    f[2992] = a;
3451                    if (a >>> 0 > i[2993]) {
3452                      f[2993] = a;
3453                    }
3454                    y: {
3455                      z: {
3456                        A: {
3457                          e = f[2890];
3458                          if (e) {
3459                            a = 11984;
3460                            while (1) {
3461                              d = f[a >> 2];
3462                              c = f[a + 4 >> 2];
3463                              if ((d + c | 0) == (b | 0)) {
3464                                break A;
3465                              }
3466                              a = f[a + 8 >> 2];
3467                              if (a) {
3468                                continue;
3469                              }
3470                              break;
3471                            }
3472                            break z;
3473                          }
3474                          a = f[2888];
3475                          if (!(b >>> 0 >= a >>> 0 ? a : 0)) {
3476                            f[2888] = b;
3477                          }
3478                          a = 0;
3479                          f[2997] = j;
3480                          f[2996] = b;
3481                          f[2892] = -1;
3482                          f[2893] = f[3002];
3483                          f[2999] = 0;
3484                          while (1) {
3485                            d = a << 3;
3486                            c = d + 11576 | 0;
3487                            f[d + 11584 >> 2] = c;
3488                            f[d + 11588 >> 2] = c;
3489                            a = a + 1 | 0;
3490                            if ((a | 0) != 32) {
3491                              continue;
3492                            }
3493                            break;
3494                          }
3495                          d = j + -40 | 0;
3496                          a = b + 8 & 7 ? -8 - b & 7 : 0;
3497                          c = d - a | 0;
3498                          f[2887] = c;
3499                          a = a + b | 0;
3500                          f[2890] = a;
3501                          f[a + 4 >> 2] = c | 1;
3502                          f[(b + d | 0) + 4 >> 2] = 40;
3503                          f[2891] = f[3006];
3504                          break y;
3505                        }
3506                        if (g[a + 12 | 0] & 8 | b >>> 0 <= e >>> 0 | d >>> 0 > e >>> 0) {
3507                          break z;
3508                        }
3509                        f[a + 4 >> 2] = c + j;
3510                        a = e + 8 & 7 ? -8 - e & 7 : 0;
3511                        c = a + e | 0;
3512                        f[2890] = c;
3513                        b = f[2887] + j | 0;
3514                        a = b - a | 0;
3515                        f[2887] = a;
3516                        f[c + 4 >> 2] = a | 1;
3517                        f[(b + e | 0) + 4 >> 2] = 40;
3518                        f[2891] = f[3006];
3519                        break y;
3520                      }
3521                      d = f[2888];
3522                      if (b >>> 0 < d >>> 0) {
3523                        f[2888] = b;
3524                        d = 0;
3525                      }
3526                      c = b + j | 0;
3527                      a = 11984;
3528                      B: {
3529                        C: {
3530                          D: {
3531                            E: {
3532                              F: {
3533                                G: {
3534                                  while (1) {
3535                                    if ((c | 0) != f[a >> 2]) {
3536                                      a = f[a + 8 >> 2];
3537                                      if (a) {
3538                                        continue;
3539                                      }
3540                                      break G;
3541                                    }
3542                                    break;
3543                                  }
3544                                  if (!(g[a + 12 | 0] & 8)) {
3545                                    break F;
3546                                  }
3547                                }
3548                                a = 11984;
3549                                while (1) {
3550                                  c = f[a >> 2];
3551                                  if (c >>> 0 <= e >>> 0) {
3552                                    h = c + f[a + 4 >> 2] | 0;
3553                                    if (h >>> 0 > e >>> 0) {
3554                                      break E;
3555                                    }
3556                                  }
3557                                  a = f[a + 8 >> 2];
3558                                  continue;
3559                                }
3560                              }
3561                              f[a >> 2] = b;
3562                              f[a + 4 >> 2] = f[a + 4 >> 2] + j;
3563                              l = (b + 8 & 7 ? -8 - b & 7 : 0) + b | 0;
3564                              f[l + 4 >> 2] = k | 3;
3565                              b = c + (c + 8 & 7 ? -8 - c & 7 : 0) | 0;
3566                              a = (b - l | 0) - k | 0;
3567                              h = k + l | 0;
3568                              if ((b | 0) == (e | 0)) {
3569                                f[2890] = h;
3570                                a = f[2887] + a | 0;
3571                                f[2887] = a;
3572                                f[h + 4 >> 2] = a | 1;
3573                                break C;
3574                              }
3575                              if (f[2889] == (b | 0)) {
3576                                f[2889] = h;
3577                                a = f[2886] + a | 0;
3578                                f[2886] = a;
3579                                f[h + 4 >> 2] = a | 1;
3580                                f[a + h >> 2] = a;
3581                                break C;
3582                              }
3583                              c = f[b + 4 >> 2];
3584                              if ((c & 3) == 1) {
3585                                m = c & -8;
3586                                H: {
3587                                  if (c >>> 0 <= 255) {
3588                                    e = f[b + 8 >> 2];
3589                                    c = c >>> 3 | 0;
3590                                    d = f[b + 12 >> 2];
3591                                    if ((d | 0) == (e | 0)) {
3592                                      q = 11536, r = f[2884] & zf(-2, c), f[q >> 2] = r;
3593                                      break H;
3594                                    }
3595                                    f[e + 12 >> 2] = d;
3596                                    f[d + 8 >> 2] = e;
3597                                    break H;
3598                                  }
3599                                  n = f[b + 24 >> 2];
3600                                  j = f[b + 12 >> 2];
3601                                  I: {
3602                                    if ((j | 0) != (b | 0)) {
3603                                      c = f[b + 8 >> 2];
3604                                      f[c + 12 >> 2] = j;
3605                                      f[j + 8 >> 2] = c;
3606                                      break I;
3607                                    }
3608                                    J: {
3609                                      e = b + 20 | 0;
3610                                      k = f[e >> 2];
3611                                      if (k) {
3612                                        break J;
3613                                      }
3614                                      e = b + 16 | 0;
3615                                      k = f[e >> 2];
3616                                      if (k) {
3617                                        break J;
3618                                      }
3619                                      j = 0;
3620                                      break I;
3621                                    }
3622                                    while (1) {
3623                                      c = e;
3624                                      j = k;
3625                                      e = j + 20 | 0;
3626                                      k = f[e >> 2];
3627                                      if (k) {
3628                                        continue;
3629                                      }
3630                                      e = j + 16 | 0;
3631                                      k = f[j + 16 >> 2];
3632                                      if (k) {
3633                                        continue;
3634                                      }
3635                                      break;
3636                                    }
3637                                    f[c >> 2] = 0;
3638                                  }
3639                                  if (!n) {
3640                                    break H;
3641                                  }
3642                                  d = f[b + 28 >> 2];
3643                                  c = (d << 2) + 11840 | 0;
3644                                  K: {
3645                                    if (f[c >> 2] == (b | 0)) {
3646                                      f[c >> 2] = j;
3647                                      if (j) {
3648                                        break K;
3649                                      }
3650                                      q = 11540, r = f[2885] & zf(-2, d), f[q >> 2] = r;
3651                                      break H;
3652                                    }
3653                                    f[n + (f[n + 16 >> 2] == (b | 0) ? 16 : 20) >> 2] = j;
3654                                    if (!j) {
3655                                      break H;
3656                                    }
3657                                  }
3658                                  f[j + 24 >> 2] = n;
3659                                  c = f[b + 16 >> 2];
3660                                  if (c) {
3661                                    f[j + 16 >> 2] = c;
3662                                    f[c + 24 >> 2] = j;
3663                                  }
3664                                  c = f[b + 20 >> 2];
3665                                  if (!c) {
3666                                    break H;
3667                                  }
3668                                  f[j + 20 >> 2] = c;
3669                                  f[c + 24 >> 2] = j;
3670                                }
3671                                b = b + m | 0;
3672                                a = a + m | 0;
3673                              }
3674                              f[b + 4 >> 2] = f[b + 4 >> 2] & -2;
3675                              f[h + 4 >> 2] = a | 1;
3676                              f[a + h >> 2] = a;
3677                              if (a >>> 0 <= 255) {
3678                                a = a >>> 3 | 0;
3679                                b = (a << 3) + 11576 | 0;
3680                                c = f[2884];
3681                                a = 1 << a;
3682                                L: {
3683                                  if (!(c & a)) {
3684                                    f[2884] = a | c;
3685                                    a = b;
3686                                    break L;
3687                                  }
3688                                  a = f[b + 8 >> 2];
3689                                }
3690                                f[b + 8 >> 2] = h;
3691                                f[a + 12 >> 2] = h;
3692                                f[h + 12 >> 2] = b;
3693                                f[h + 8 >> 2] = a;
3694                                break C;
3695                              }
3696                              b = h;
3697                              d = a >>> 8 | 0;
3698                              c = 0;
3699                              M: {
3700                                if (!d) {
3701                                  break M;
3702                                }
3703                                c = 31;
3704                                if (a >>> 0 > 16777215) {
3705                                  break M;
3706                                }
3707                                c = d;
3708                                d = d + 1048320 >>> 16 & 8;
3709                                c = c << d;
3710                                j = c + 520192 >>> 16 & 4;
3711                                c = c << j;
3712                                e = c + 245760 >>> 16 & 2;
3713                                c = (c << e >>> 15 | 0) - (e | (d | j)) | 0;
3714                                c = (c << 1 | a >>> c + 21 & 1) + 28 | 0;
3715                              }
3716                              f[b + 28 >> 2] = c;
3717                              f[h + 16 >> 2] = 0;
3718                              f[h + 20 >> 2] = 0;
3719                              j = (c << 2) + 11840 | 0;
3720                              d = f[2885];
3721                              b = 1 << c;
3722                              N: {
3723                                if (!(d & b)) {
3724                                  f[2885] = b | d;
3725                                  f[j >> 2] = h;
3726                                  f[h + 24 >> 2] = j;
3727                                  break N;
3728                                }
3729                                e = a << ((c | 0) == 31 ? 0 : 25 - (c >>> 1 | 0) | 0);
3730                                b = f[j >> 2];
3731                                while (1) {
3732                                  c = b;
3733                                  if ((f[b + 4 >> 2] & -8) == (a | 0)) {
3734                                    break D;
3735                                  }
3736                                  b = e >>> 29 | 0;
3737                                  e = e << 1;
3738                                  d = (c + (b & 4) | 0) + 16 | 0;
3739                                  b = f[d >> 2];
3740                                  if (b) {
3741                                    continue;
3742                                  }
3743                                  break;
3744                                }
3745                                f[d >> 2] = h;
3746                                f[h + 24 >> 2] = c;
3747                              }
3748                              f[h + 12 >> 2] = h;
3749                              f[h + 8 >> 2] = h;
3750                              break C;
3751                            }
3752                            d = j + -40 | 0;
3753                            a = b + 8 & 7 ? -8 - b & 7 : 0;
3754                            c = d - a | 0;
3755                            f[2887] = c;
3756                            a = a + b | 0;
3757                            f[2890] = a;
3758                            f[a + 4 >> 2] = c | 1;
3759                            f[(b + d | 0) + 4 >> 2] = 40;
3760                            f[2891] = f[3006];
3761                            a = (h + (h + -39 & 7 ? 39 - h & 7 : 0) | 0) + -47 | 0;
3762                            c = a >>> 0 < e + 16 >>> 0 ? e : a;
3763                            f[c + 4 >> 2] = 27;
3764                            a = f[2999];
3765                            f[c + 16 >> 2] = f[2998];
3766                            f[c + 20 >> 2] = a;
3767                            a = f[2997];
3768                            f[c + 8 >> 2] = f[2996];
3769                            f[c + 12 >> 2] = a;
3770                            f[2998] = c + 8;
3771                            f[2997] = j;
3772                            f[2996] = b;
3773                            f[2999] = 0;
3774                            a = c + 24 | 0;
3775                            while (1) {
3776                              f[a + 4 >> 2] = 7;
3777                              b = a + 8 | 0;
3778                              a = a + 4 | 0;
3779                              if (h >>> 0 > b >>> 0) {
3780                                continue;
3781                              }
3782                              break;
3783                            }
3784                            if ((c | 0) == (e | 0)) {
3785                              break y;
3786                            }
3787                            f[c + 4 >> 2] = f[c + 4 >> 2] & -2;
3788                            h = c - e | 0;
3789                            f[e + 4 >> 2] = h | 1;
3790                            f[c >> 2] = h;
3791                            if (h >>> 0 <= 255) {
3792                              a = h >>> 3 | 0;
3793                              b = (a << 3) + 11576 | 0;
3794                              c = f[2884];
3795                              a = 1 << a;
3796                              O: {
3797                                if (!(c & a)) {
3798                                  f[2884] = a | c;
3799                                  a = b;
3800                                  break O;
3801                                }
3802                                a = f[b + 8 >> 2];
3803                              }
3804                              f[b + 8 >> 2] = e;
3805                              f[a + 12 >> 2] = e;
3806                              f[e + 12 >> 2] = b;
3807                              f[e + 8 >> 2] = a;
3808                              break y;
3809                            }
3810                            f[e + 16 >> 2] = 0;
3811                            f[e + 20 >> 2] = 0;
3812                            a = e;
3813                            c = h >>> 8 | 0;
3814                            b = 0;
3815                            P: {
3816                              if (!c) {
3817                                break P;
3818                              }
3819                              b = 31;
3820                              if (h >>> 0 > 16777215) {
3821                                break P;
3822                              }
3823                              b = c;
3824                              c = c + 1048320 >>> 16 & 8;
3825                              b = b << c;
3826                              j = b + 520192 >>> 16 & 4;
3827                              b = b << j;
3828                              d = b + 245760 >>> 16 & 2;
3829                              b = (b << d >>> 15 | 0) - (d | (c | j)) | 0;
3830                              b = (b << 1 | h >>> b + 21 & 1) + 28 | 0;
3831                            }
3832                            f[a + 28 >> 2] = b;
3833                            d = (b << 2) + 11840 | 0;
3834                            c = f[2885];
3835                            a = 1 << b;
3836                            Q: {
3837                              if (!(c & a)) {
3838                                f[2885] = a | c;
3839                                f[d >> 2] = e;
3840                                f[e + 24 >> 2] = d;
3841                                break Q;
3842                              }
3843                              a = h << ((b | 0) == 31 ? 0 : 25 - (b >>> 1 | 0) | 0);
3844                              b = f[d >> 2];
3845                              while (1) {
3846                                c = b;
3847                                if ((h | 0) == (f[b + 4 >> 2] & -8)) {
3848                                  break B;
3849                                }
3850                                b = a >>> 29 | 0;
3851                                a = a << 1;
3852                                d = (c + (b & 4) | 0) + 16 | 0;
3853                                b = f[d >> 2];
3854                                if (b) {
3855                                  continue;
3856                                }
3857                                break;
3858                              }
3859                              f[d >> 2] = e;
3860                              f[e + 24 >> 2] = c;
3861                            }
3862                            f[e + 12 >> 2] = e;
3863                            f[e + 8 >> 2] = e;
3864                            break y;
3865                          }
3866                          a = f[c + 8 >> 2];
3867                          f[a + 12 >> 2] = h;
3868                          f[c + 8 >> 2] = h;
3869                          f[h + 24 >> 2] = 0;
3870                          f[h + 12 >> 2] = c;
3871                          f[h + 8 >> 2] = a;
3872                        }
3873                        a = l + 8 | 0;
3874                        break a;
3875                      }
3876                      a = f[c + 8 >> 2];
3877                      f[a + 12 >> 2] = e;
3878                      f[c + 8 >> 2] = e;
3879                      f[e + 24 >> 2] = 0;
3880                      f[e + 12 >> 2] = c;
3881                      f[e + 8 >> 2] = a;
3882                    }
3883                    a = f[2887];
3884                    if (a >>> 0 <= k >>> 0) {
3885                      break d;
3886                    }
3887                    b = a - k | 0;
3888                    f[2887] = b;
3889                    c = f[2890];
3890                    a = c + k | 0;
3891                    f[2890] = a;
3892                    f[a + 4 >> 2] = b | 1;
3893                    f[c + 4 >> 2] = k | 3;
3894                    a = c + 8 | 0;
3895                    break a;
3896                  }
3897                  f[2865] = 48;
3898                  a = 0;
3899                  break a;
3900                }
3901                R: {
3902                  if (!m) {
3903                    break R;
3904                  }
3905                  c = f[d + 28 >> 2];
3906                  a = (c << 2) + 11840 | 0;
3907                  S: {
3908                    if (f[a >> 2] == (d | 0)) {
3909                      f[a >> 2] = b;
3910                      if (b) {
3911                        break S;
3912                      }
3913                      l = zf(-2, c) & l;
3914                      f[2885] = l;
3915                      break R;
3916                    }
3917                    f[m + (f[m + 16 >> 2] == (d | 0) ? 16 : 20) >> 2] = b;
3918                    if (!b) {
3919                      break R;
3920                    }
3921                  }
3922                  f[b + 24 >> 2] = m;
3923                  a = f[d + 16 >> 2];
3924                  if (a) {
3925                    f[b + 16 >> 2] = a;
3926                    f[a + 24 >> 2] = b;
3927                  }
3928                  a = f[d + 20 >> 2];
3929                  if (!a) {
3930                    break R;
3931                  }
3932                  f[b + 20 >> 2] = a;
3933                  f[a + 24 >> 2] = b;
3934                }
3935                T: {
3936                  if (e >>> 0 <= 15) {
3937                    a = e + k | 0;
3938                    f[d + 4 >> 2] = a | 3;
3939                    a = a + d | 0;
3940                    f[a + 4 >> 2] = f[a + 4 >> 2] | 1;
3941                    break T;
3942                  }
3943                  f[d + 4 >> 2] = k | 3;
3944                  f[h + 4 >> 2] = e | 1;
3945                  f[e + h >> 2] = e;
3946                  if (e >>> 0 <= 255) {
3947                    a = e >>> 3 | 0;
3948                    b = (a << 3) + 11576 | 0;
3949                    c = f[2884];
3950                    a = 1 << a;
3951                    U: {
3952                      if (!(c & a)) {
3953                        f[2884] = a | c;
3954                        a = b;
3955                        break U;
3956                      }
3957                      a = f[b + 8 >> 2];
3958                    }
3959                    f[b + 8 >> 2] = h;
3960                    f[a + 12 >> 2] = h;
3961                    f[h + 12 >> 2] = b;
3962                    f[h + 8 >> 2] = a;
3963                    break T;
3964                  }
3965                  a = h;
3966                  c = e >>> 8 | 0;
3967                  b = 0;
3968                  V: {
3969                    if (!c) {
3970                      break V;
3971                    }
3972                    b = 31;
3973                    if (e >>> 0 > 16777215) {
3974                      break V;
3975                    }
3976                    b = c;
3977                    c = c + 1048320 >>> 16 & 8;
3978                    b = b << c;
3979                    k = b + 520192 >>> 16 & 4;
3980                    b = b << k;
3981                    j = b + 245760 >>> 16 & 2;
3982                    b = (b << j >>> 15 | 0) - (j | (c | k)) | 0;
3983                    b = (b << 1 | e >>> b + 21 & 1) + 28 | 0;
3984                  }
3985                  f[a + 28 >> 2] = b;
3986                  f[h + 16 >> 2] = 0;
3987                  f[h + 20 >> 2] = 0;
3988                  c = (b << 2) + 11840 | 0;
3989                  W: {
3990                    a = 1 << b;
3991                    X: {
3992                      if (!(a & l)) {
3993                        f[2885] = a | l;
3994                        f[c >> 2] = h;
3995                        f[h + 24 >> 2] = c;
3996                        break X;
3997                      }
3998                      a = e << ((b | 0) == 31 ? 0 : 25 - (b >>> 1 | 0) | 0);
3999                      k = f[c >> 2];
4000                      while (1) {
4001                        b = k;
4002                        if ((f[b + 4 >> 2] & -8) == (e | 0)) {
4003                          break W;
4004                        }
4005                        c = a >>> 29 | 0;
4006                        a = a << 1;
4007                        c = (b + (c & 4) | 0) + 16 | 0;
4008                        k = f[c >> 2];
4009                        if (k) {
4010                          continue;
4011                        }
4012                        break;
4013                      }
4014                      f[c >> 2] = h;
4015                      f[h + 24 >> 2] = b;
4016                    }
4017                    f[h + 12 >> 2] = h;
4018                    f[h + 8 >> 2] = h;
4019                    break T;
4020                  }
4021                  a = f[b + 8 >> 2];
4022                  f[a + 12 >> 2] = h;
4023                  f[b + 8 >> 2] = h;
4024                  f[h + 24 >> 2] = 0;
4025                  f[h + 12 >> 2] = b;
4026                  f[h + 8 >> 2] = a;
4027                }
4028                a = d + 8 | 0;
4029                break a;
4030              }
4031              Y: {
4032                if (!n) {
4033                  break Y;
4034                }
4035                c = f[b + 28 >> 2];
4036                a = (c << 2) + 11840 | 0;
4037                Z: {
4038                  if (f[a >> 2] == (b | 0)) {
4039                    f[a >> 2] = d;
4040                    if (d) {
4041                      break Z;
4042                    }
4043                    q = 11540, r = zf(-2, c) & l, f[q >> 2] = r;
4044                    break Y;
4045                  }
4046                  f[(f[n + 16 >> 2] == (b | 0) ? 16 : 20) + n >> 2] = d;
4047                  if (!d) {
4048                    break Y;
4049                  }
4050                }
4051                f[d + 24 >> 2] = n;
4052                a = f[b + 16 >> 2];
4053                if (a) {
4054                  f[d + 16 >> 2] = a;
4055                  f[a + 24 >> 2] = d;
4056                }
4057                a = f[b + 20 >> 2];
4058                if (!a) {
4059                  break Y;
4060                }
4061                f[d + 20 >> 2] = a;
4062                f[a + 24 >> 2] = d;
4063              }
4064              _: {
4065                if (e >>> 0 <= 15) {
4066                  a = e + k | 0;
4067                  f[b + 4 >> 2] = a | 3;
4068                  a = a + b | 0;
4069                  f[a + 4 >> 2] = f[a + 4 >> 2] | 1;
4070                  break _;
4071                }
4072                f[b + 4 >> 2] = k | 3;
4073                f[m + 4 >> 2] = e | 1;
4074                f[e + m >> 2] = e;
4075                if (o) {
4076                  a = o >>> 3 | 0;
4077                  c = (a << 3) + 11576 | 0;
4078                  d = f[2889];
4079                  a = 1 << a;
4080                  $: {
4081                    if (!(a & j)) {
4082                      f[2884] = a | j;
4083                      a = c;
4084                      break $;
4085                    }
4086                    a = f[c + 8 >> 2];
4087                  }
4088                  f[c + 8 >> 2] = d;
4089                  f[a + 12 >> 2] = d;
4090                  f[d + 12 >> 2] = c;
4091                  f[d + 8 >> 2] = a;
4092                }
4093                f[2889] = m;
4094                f[2886] = e;
4095              }
4096              a = b + 8 | 0;
4097            }
4098            L = p + 16 | 0;
4099            return a | 0;
4100          }
4101          function Pa(a, b) {
4102            var c = 0,
4103              e = 0,
4104              h = 0,
4105              j = 0,
4106              k = 0,
4107              m = 0,
4108              n = 0,
4109              p = 0,
4110              q = 0,
4111              r = 0,
4112              s = 0,
4113              t = 0,
4114              u = 0,
4115              v = 0,
4116              w = 0,
4117              x = 0,
4118              y = 0,
4119              z = 0,
4120              A = 0,
4121              B = 0,
4122              C = 0;
4123            if (f[b + 288 >> 2] >= 1) {
4124              C = b + 2248 | 0;
4125              while (1) {
4126                p = f[b + 2244 >> 2];
4127                r = f[b + 2304 >> 2];
4128                j = 0;
4129                if (f[b + 108 >> 2]) {
4130                  m = f[a + 4 >> 2];
4131                  h = g[b + 904 | 0];
4132                  e = f[a + 8 >> 2];
4133                  a: {
4134                    if ((e | 0) > -1) {
4135                      break a;
4136                    }
4137                    c = f[a + 12 >> 2];
4138                    if (c >>> 0 < i[a + 20 >> 2]) {
4139                      k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4140                      f[a + 12 >> 2] = c + 3;
4141                      e = e + 24 | 0;
4142                      f[a + 8 >> 2] = e;
4143                      f[a >> 2] = f[a >> 2] << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
4144                      break a;
4145                    }
4146                    ce(a);
4147                    e = f[a + 8 >> 2];
4148                  }
4149                  k = a;
4150                  q = e;
4151                  j = f[a >> 2];
4152                  n = j >>> e | 0;
4153                  h = l(h, m) >>> 8 | 0;
4154                  b: {
4155                    if (n >>> 0 > h >>> 0) {
4156                      j = ((h ^ -1) << e) + j | 0;
4157                      f[a >> 2] = j;
4158                      m = m - h | 0;
4159                      break b;
4160                    }
4161                    m = h + 1 | 0;
4162                  }
4163                  c = o(m) ^ 24;
4164                  e = q - c | 0;
4165                  f[k + 8 >> 2] = e;
4166                  k = (m << c) + -1 | 0;
4167                  f[a + 4 >> 2] = k;
4168                  c: {
4169                    if (n >>> 0 <= h >>> 0) {
4170                      m = g[b + 905 | 0];
4171                      d: {
4172                        if ((e | 0) > -1) {
4173                          break d;
4174                        }
4175                        c = f[a + 12 >> 2];
4176                        if (c >>> 0 < i[a + 20 >> 2]) {
4177                          h = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4178                          e = e + 24 | 0;
4179                          f[a + 8 >> 2] = e;
4180                          f[a + 12 >> 2] = c + 3;
4181                          j = j << 24 | (h >>> 8 & 65280 | (h << 8 & 16711680 | h << 24)) >>> 8;
4182                          f[a >> 2] = j;
4183                          break d;
4184                        }
4185                        ce(a);
4186                        j = f[a >> 2];
4187                        e = f[a + 8 >> 2];
4188                      }
4189                      h = j >>> e | 0;
4190                      c = l(k, m) >>> 8 | 0;
4191                      e: {
4192                        if (h >>> 0 > c >>> 0) {
4193                          f[a >> 2] = ((c ^ -1) << e) + j;
4194                          k = k - c | 0;
4195                          break e;
4196                        }
4197                        k = c + 1 | 0;
4198                      }
4199                      j = h >>> 0 > c >>> 0;
4200                      c = o(k) ^ 24;
4201                      e = e - c | 0;
4202                      c = k << c;
4203                      break c;
4204                    }
4205                    m = g[b + 906 | 0];
4206                    f: {
4207                      if ((e | 0) > -1) {
4208                        break f;
4209                      }
4210                      c = f[a + 12 >> 2];
4211                      if (c >>> 0 < i[a + 20 >> 2]) {
4212                        h = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4213                        e = e + 24 | 0;
4214                        f[a + 8 >> 2] = e;
4215                        f[a + 12 >> 2] = c + 3;
4216                        j = j << 24 | (h >>> 8 & 65280 | (h << 8 & 16711680 | h << 24)) >>> 8;
4217                        f[a >> 2] = j;
4218                        break f;
4219                      }
4220                      ce(a);
4221                      j = f[a >> 2];
4222                      e = f[a + 8 >> 2];
4223                    }
4224                    c = e;
4225                    n = c;
4226                    h = l(k, m) >>> 8 | 0;
4227                    g: {
4228                      if (j >>> c >>> 0 > h >>> 0) {
4229                        f[a >> 2] = ((h ^ -1) << e) + j;
4230                        j = 3;
4231                        k = k - h | 0;
4232                        break g;
4233                      }
4234                      j = 2;
4235                      k = h + 1 | 0;
4236                    }
4237                    c = o(k) ^ 24;
4238                    e = n - c | 0;
4239                    c = k << c;
4240                  }
4241                  f[a + 8 >> 2] = e;
4242                  f[a + 4 >> 2] = c + -1;
4243                }
4244                r = r + l(s, 800) | 0;
4245                d[r + 798 | 0] = j;
4246                h: {
4247                  if (!f[b + 2236 >> 2]) {
4248                    e = f[a + 8 >> 2];
4249                    m = f[a + 4 >> 2];
4250                    break h;
4251                  }
4252                  h = f[a + 4 >> 2];
4253                  j = g[b + 2240 | 0];
4254                  e = f[a + 8 >> 2];
4255                  i: {
4256                    if ((e | 0) > -1) {
4257                      break i;
4258                    }
4259                    c = f[a + 12 >> 2];
4260                    if (c >>> 0 < i[a + 20 >> 2]) {
4261                      k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4262                      f[a + 12 >> 2] = c + 3;
4263                      e = e + 24 | 0;
4264                      f[a + 8 >> 2] = e;
4265                      f[a >> 2] = f[a >> 2] << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
4266                      break i;
4267                    }
4268                    ce(a);
4269                    e = f[a + 8 >> 2];
4270                  }
4271                  k = a;
4272                  q = e;
4273                  m = f[a >> 2];
4274                  n = m >>> e | 0;
4275                  j = l(h, j) >>> 8 | 0;
4276                  j: {
4277                    if (n >>> 0 > j >>> 0) {
4278                      f[a >> 2] = m + ((j ^ -1) << e);
4279                      h = h - j | 0;
4280                      break j;
4281                    }
4282                    h = j + 1 | 0;
4283                  }
4284                  c = o(h) ^ 24;
4285                  e = q - c | 0;
4286                  f[k + 8 >> 2] = e;
4287                  m = (h << c) + -1 | 0;
4288                  f[a + 4 >> 2] = m;
4289                  d[r + 797 | 0] = n >>> 0 > j >>> 0;
4290                }
4291                k: {
4292                  if ((e | 0) > -1) {
4293                    break k;
4294                  }
4295                  c = f[a + 12 >> 2];
4296                  if (c >>> 0 < i[a + 20 >> 2]) {
4297                    k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4298                    f[a + 12 >> 2] = c + 3;
4299                    e = e + 24 | 0;
4300                    f[a + 8 >> 2] = e;
4301                    f[a >> 2] = f[a >> 2] << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
4302                    break k;
4303                  }
4304                  ce(a);
4305                  e = f[a + 8 >> 2];
4306                }
4307                p = p + (s << 2) | 0;
4308                k = a;
4309                q = e;
4310                j = f[a >> 2];
4311                h = l(m, 145) >>> 8 | 0;
4312                n = j >>> e >>> 0 <= h >>> 0;
4313                l: {
4314                  if (!n) {
4315                    j = ((h ^ -1) << e) + j | 0;
4316                    f[a >> 2] = j;
4317                    h = m - h | 0;
4318                    break l;
4319                  }
4320                  h = h + 1 | 0;
4321                }
4322                c = o(h) ^ 24;
4323                e = q - c | 0;
4324                f[k + 8 >> 2] = e;
4325                m = (h << c) + -1 | 0;
4326                f[a + 4 >> 2] = m;
4327                d[r + 768 | 0] = n;
4328                m: {
4329                  if (!n) {
4330                    n: {
4331                      if ((e | 0) > -1) {
4332                        break n;
4333                      }
4334                      c = f[a + 12 >> 2];
4335                      if (c >>> 0 < i[a + 20 >> 2]) {
4336                        k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4337                        e = e + 24 | 0;
4338                        f[a + 8 >> 2] = e;
4339                        f[a + 12 >> 2] = c + 3;
4340                        j = j << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
4341                        f[a >> 2] = j;
4342                        break n;
4343                      }
4344                      ce(a);
4345                      j = f[a >> 2];
4346                      e = f[a + 8 >> 2];
4347                    }
4348                    k = a;
4349                    q = e;
4350                    h = l(m, 156) >>> 8 | 0;
4351                    n = j >>> e >>> 0 <= h >>> 0;
4352                    o: {
4353                      if (!n) {
4354                        j = ((h ^ -1) << e) + j | 0;
4355                        f[a >> 2] = j;
4356                        h = m - h | 0;
4357                        break o;
4358      
4358                }
4359                      h = h + 1 | 0;
4360                    }
4361                    c = o(h) ^ 24;
4362                    e = q - c | 0;
4363                    f[k + 8 >> 2] = e;
4364                    k = (h << c) + -1 | 0;
4365                    f[a + 4 >> 2] = k;
4366                    p: {
4367                      if (!n) {
4368                        q: {
4369                          if ((e | 0) > -1) {
4370                            break q;
4371                          }
4372                          c = f[a + 12 >> 2];
4373                          if (c >>> 0 < i[a + 20 >> 2]) {
4374                            h = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4375                            e = e + 24 | 0;
4376                            f[a + 8 >> 2] = e;
4377                            f[a + 12 >> 2] = c + 3;
4378                            j = j << 24 | (h >>> 8 & 65280 | (h << 8 & 16711680 | h << 24)) >>> 8;
4379                            f[a >> 2] = j;
4380                            break q;
4381                          }
4382                          ce(a);
4383                          j = f[a >> 2];
4384                          e = f[a + 8 >> 2];
4385                        }
4386                        c = e;
4387                        m = c;
4388                        h = k >>> 1 & 16777215;
4389                        r: {
4390                          if (j >>> c >>> 0 > h >>> 0) {
4391                            f[a >> 2] = ((h ^ -1) << e) + j;
4392                            j = 1;
4393                            k = k - h | 0;
4394                            break r;
4395                          }
4396                          j = 3;
4397                          k = h + 1 | 0;
4398                        }
4399                        c = o(k) ^ 24;
4400                        e = m - c | 0;
4401                        c = k << c;
4402                        break p;
4403                      }
4404                      s: {
4405                        if ((e | 0) > -1) {
4406                          break s;
4407                        }
4408                        c = f[a + 12 >> 2];
4409                        if (c >>> 0 < i[a + 20 >> 2]) {
4410                          h = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4411                          e = e + 24 | 0;
4412                          f[a + 8 >> 2] = e;
4413                          f[a + 12 >> 2] = c + 3;
4414                          j = j << 24 | (h >>> 8 & 65280 | (h << 8 & 16711680 | h << 24)) >>> 8;
4415                          f[a >> 2] = j;
4416                          break s;
4417                        }
4418                        ce(a);
4419                        j = f[a >> 2];
4420                        e = f[a + 8 >> 2];
4421                      }
4422                      c = e;
4423                      m = c;
4424                      h = l(k, 163) >>> 8 | 0;
4425                      t: {
4426                        if (j >>> c >>> 0 > h >>> 0) {
4427                          f[a >> 2] = ((h ^ -1) << e) + j;
4428                          j = 2;
4429                          k = k - h | 0;
4430                          break t;
4431                        }
4432                        j = 0;
4433                        k = h + 1 | 0;
4434                      }
4435                      c = o(k) ^ 24;
4436                      e = m - c | 0;
4437                      c = k << c;
4438                    }
4439                    f[a + 8 >> 2] = e;
4440                    f[a + 4 >> 2] = c + -1;
4441                    d[r + 769 | 0] = j;
4442                    c = l(j, 16843009);
4443                    d[p | 0] = c;
4444                    d[p + 1 | 0] = c >>> 8;
4445                    d[p + 2 | 0] = c >>> 16;
4446                    d[p + 3 | 0] = c >>> 24;
4447                    e = C;
4448                    d[e | 0] = c;
4449                    d[e + 1 | 0] = c >>> 8;
4450                    d[e + 2 | 0] = c >>> 16;
4451                    d[e + 3 | 0] = c >>> 24;
4452                    break m;
4453                  }
4454                  k = r + 769 | 0;
4455                  t = 0;
4456                  while (1) {
4457                    x = (b + t | 0) + 2248 | 0;
4458                    e = g[x | 0];
4459                    u = 0;
4460                    while (1) {
4461                      y = l(e, 9);
4462                      z = p + u | 0;
4463                      A = l(g[z | 0], 90);
4464                      h = g[y + (A + 3504 | 0) | 0];
4465                      n = f[a + 4 >> 2];
4466                      e = f[a + 8 >> 2];
4467                      u: {
4468                        if ((e | 0) > -1) {
4469                          break u;
4470                        }
4471                        c = f[a + 12 >> 2];
4472                        if (c >>> 0 < i[a + 20 >> 2]) {
4473                          j = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4474                          f[a + 12 >> 2] = c + 3;
4475                          e = e + 24 | 0;
4476                          f[a + 8 >> 2] = e;
4477                          f[a >> 2] = f[a >> 2] << 24 | (j >>> 8 & 65280 | (j << 8 & 16711680 | j << 24)) >>> 8;
4478                          break u;
4479                        }
4480                        ce(a);
4481                        e = f[a + 8 >> 2];
4482                      }
4483                      q = a;
4484                      w = e;
4485                      m = f[a >> 2];
4486                      v = m >>> e | 0;
4487                      h = l(h, n) >>> 8 | 0;
4488                      v: {
4489                        if (v >>> 0 > h >>> 0) {
4490                          m = ((h ^ -1) << e) + m | 0;
4491                          f[a >> 2] = m;
4492                          n = n - h | 0;
4493                          break v;
4494                        }
4495                        n = h + 1 | 0;
4496                      }
4497                      c = o(n) ^ 24;
4498                      e = w - c | 0;
4499                      f[q + 8 >> 2] = e;
4500                      c = (n << c) + -1 | 0;
4501                      f[a + 4 >> 2] = c;
4502                      h = v >>> 0 > h >>> 0;
4503                      j = d[h + 4416 | 0];
4504                      if (41706 >>> h & 1) {
4505                        while (1) {
4506                          v = g[((A + 3504 | 0) + y | 0) + j | 0];
4507                          w: {
4508                            if ((e | 0) > -1) {
4509                              break w;
4510                            }
4511                            h = f[a + 12 >> 2];
4512                            if (h >>> 0 < i[a + 20 >> 2]) {
4513                              n = g[h | 0] | g[h + 1 | 0] << 8 | (g[h + 2 | 0] << 16 | g[h + 3 | 0] << 24);
4514                              e = e + 24 | 0;
4515                              f[a + 8 >> 2] = e;
4516                              f[a + 12 >> 2] = h + 3;
4517                              m = m << 24 | (n >>> 8 & 65280 | (n << 8 & 16711680 | n << 24)) >>> 8;
4518                              f[a >> 2] = m;
4519                              break w;
4520                            }
4521                            ce(a);
4522                            m = f[a >> 2];
4523                            e = f[a + 8 >> 2];
4524                          }
4525                          h = j << 1;
4526                          q = a;
4527                          w = e;
4528                          B = m >>> e | 0;
4529                          n = l(c, v) >>> 8 | 0;
4530                          x: {
4531                            if (B >>> 0 > n >>> 0) {
4532                              m = ((n ^ -1) << e) + m | 0;
4533                              f[a >> 2] = m;
4534                              c = c - n | 0;
4535                              break x;
4536                            }
4537                            c = n + 1 | 0;
4538                          }
4539                          j = o(c) ^ 24;
4540                          e = w - j | 0;
4541                          f[q + 8 >> 2] = e;
4542                          c = (c << j) + -1 | 0;
4543                          f[a + 4 >> 2] = c;
4544                          h = h | B >>> 0 > n >>> 0;
4545                          j = d[h + 4416 | 0];
4546                          if (41706 >>> h & 1) {
4547                            continue;
4548                          }
4549                          break;
4550                        }
4551                      }
4552                      e = 0 - j | 0;
4553                      d[z | 0] = e;
4554                      u = u + 1 | 0;
4555                      if ((u | 0) != 4) {
4556                        continue;
4557                      }
4558                      break;
4559                    }
4560                    c = k;
4561                    k = g[p | 0] | g[p + 1 | 0] << 8 | (g[p + 2 | 0] << 16 | g[p + 3 | 0] << 24);
4562                    d[c | 0] = k;
4563                    d[c + 1 | 0] = k >>> 8;
4564                    d[c + 2 | 0] = k >>> 16;
4565                    d[c + 3 | 0] = k >>> 24;
4566                    d[x | 0] = e;
4567                    k = c + 4 | 0;
4568                    t = t + 1 | 0;
4569                    if ((t | 0) != 4) {
4570                      continue;
4571                    }
4572                    break;
4573                  }
4574                }
4575                m = f[a + 4 >> 2];
4576                e = f[a + 8 >> 2];
4577                y: {
4578                  if ((e | 0) > -1) {
4579                    break y;
4580                  }
4581                  c = f[a + 12 >> 2];
4582                  if (c >>> 0 < i[a + 20 >> 2]) {
4583                    k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4584                    f[a + 12 >> 2] = c + 3;
4585                    e = e + 24 | 0;
4586                    f[a + 8 >> 2] = e;
4587                    f[a >> 2] = f[a >> 2] << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
4588                    break y;
4589                  }
4590                  ce(a);
4591                  e = f[a + 8 >> 2];
4592                }
4593                k = a;
4594                n = e;
4595                j = f[a >> 2];
4596                h = l(m, 142) >>> 8 | 0;
4597                p = j >>> e >>> 0 <= h >>> 0;
4598                z: {
4599                  if (!p) {
4600                    j = ((h ^ -1) << e) + j | 0;
4601                    f[a >> 2] = j;
4602                    h = m - h | 0;
4603                    break z;
4604                  }
4605                  h = h + 1 | 0;
4606                }
4607                c = o(h) ^ 24;
4608                e = n - c | 0;
4609                f[k + 8 >> 2] = e;
4610                m = (h << c) + -1 | 0;
4611                f[a + 4 >> 2] = m;
4612                c = 0;
4613                A: {
4614                  if (p) {
4615                    break A;
4616                  }
4617                  B: {
4618                    if ((e | 0) > -1) {
4619                      break B;
4620                    }
4621                    c = f[a + 12 >> 2];
4622                    if (c >>> 0 < i[a + 20 >> 2]) {
4623                      k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4624                      e = e + 24 | 0;
4625                      f[a + 8 >> 2] = e;
4626                      f[a + 12 >> 2] = c + 3;
4627                      j = j << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
4628                      f[a >> 2] = j;
4629                      break B;
4630                    }
4631                    ce(a);
4632                    j = f[a >> 2];
4633                    e = f[a + 8 >> 2];
4634                  }
4635                  k = a;
4636                  n = e;
4637                  h = l(m, 114) >>> 8 | 0;
4638                  p = j >>> e >>> 0 <= h >>> 0;
4639                  C: {
4640                    if (!p) {
4641                      j = ((h ^ -1) << e) + j | 0;
4642                      f[a >> 2] = j;
4643                      h = m - h | 0;
4644                      break C;
4645                    }
4646                    h = h + 1 | 0;
4647                  }
4648                  c = o(h) ^ 24;
4649                  e = n - c | 0;
4650                  f[k + 8 >> 2] = e;
4651                  h = (h << c) + -1 | 0;
4652                  f[a + 4 >> 2] = h;
4653                  c = 2;
4654                  if (p) {
4655                    break A;
4656                  }
4657                  D: {
4658                    if ((e | 0) > -1) {
4659                      break D;
4660                    }
4661                    c = f[a + 12 >> 2];
4662                    if (c >>> 0 < i[a + 20 >> 2]) {
4663                      k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
4664                      e = e + 24 | 0;
4665                      f[a + 8 >> 2] = e;
4666                      f[a + 12 >> 2] = c + 3;
4667                      j = j << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
4668                      f[a >> 2] = j;
4669                      break D;
4670                    }
4671                    ce(a);
4672                    j = f[a >> 2];
4673                    e = f[a + 8 >> 2];
4674                  }
4675                  c = l(h, 183) >>> 8 | 0;
4676                  E: {
4677                    if (j >>> e >>> 0 > c >>> 0) {
4678                      f[a >> 2] = ((c ^ -1) << e) + j;
4679                      j = h - c | 0;
4680                      c = 1;
4681                      break E;
4682                    }
4683                    j = c + 1 | 0;
4684                    c = 3;
4685                  }
4686                  h = e;
4687                  e = o(j) ^ 24;
4688                  f[a + 8 >> 2] = h - e;
4689                  f[a + 4 >> 2] = (j << e) + -1;
4690                }
4691                d[r + 785 | 0] = c;
4692                s = s + 1 | 0;
4693                if ((s | 0) < f[b + 288 >> 2]) {
4694                  continue;
4695                }
4696                break;
4697              }
4698            }
4699            return !f[b + 36 >> 2];
4700          }
4701          function qa(a, b, d, e, i, j) {
4702            var k = 0,
4703              m = 0,
4704              n = 0,
4705              o = 0,
4706              p = 0,
4707              q = 0,
4708              r = 0,
4709              s = 0,
4710              t = 0,
4711              u = 0,
4712              v = 0,
4713              w = 0,
4714              x = 0,
4715              y = 0,
4716              z = 0,
4717              A = 0,
4718              B = 0,
4719              C = 0,
4720              D = 0,
4721              E = 0,
4722              F = 0,
4723              G = 0,
4724              H = 0,
4725              I = 0,
4726              J = 0,
4727              K = 0;
4728            E = a + 124 | 0;
4729            k = f[a + 112 >> 2];
4730            t = (k | 0) / (d | 0) | 0;
4731            s = a + 24 | 0;
4732            F = (l(d, e) << 2) + b | 0;
4733            e = (k << 2) + b | 0;
4734            a: {
4735              b: {
4736                u = l(d, i);
4737                c: {
4738                  if ((k | 0) >= (u | 0)) {
4739                    break c;
4740                  }
4741                  r = u << 2;
4742                  w = k - l(d, t) | 0;
4743                  G = f[a + 148 >> 2];
4744                  u = 0;
4745                  D = f[a + 120 >> 2];
4746                  C = (D | 0) > 0 ? E : 0;
4747                  H = f[a + 56 >> 2] ? t : 16777216;
4748                  I = D + 280 | 0;
4749                  J = b + r | 0;
4750                  q = f[a + 168 >> 2];
4751                  k = f[a + 152 >> 2];
4752                  if (k) {
4753                    u = f[f[a + 160 >> 2] + (l(f[a + 156 >> 2], t >> k) + (w >> k) << 2) >> 2];
4754                  }
4755                  x = q + l(u, 548) | 0;
4756                  K = a + 136 | 0;
4757                  A = a - -64 | 0;
4758                  u = e;
4759                  while (1) {
4760                    if ((t | 0) >= (H | 0)) {
4761                      k = f[s + 4 >> 2];
4762                      f[A >> 2] = f[s >> 2];
4763                      f[A + 4 >> 2] = k;
4764                      k = f[s + 28 >> 2];
4765                      f[A + 24 >> 2] = f[s + 24 >> 2];
4766                      f[A + 28 >> 2] = k;
4767                      k = f[s + 20 >> 2];
4768                      f[A + 16 >> 2] = f[s + 16 >> 2];
4769                      f[A + 20 >> 2] = k;
4770                      k = f[s + 12 >> 2];
4771                      f[A + 8 >> 2] = f[s + 8 >> 2];
4772                      f[A + 12 >> 2] = k;
4773                      f[a + 96 >> 2] = e - b >> 2;
4774                      if (f[a + 120 >> 2] >= 1) {
4775                        ke(E, K);
4776                      }
4777                      H = t + 8 | 0;
4778                    }
4779                    d: {
4780                      e: {
4781                        f: {
4782                          if (!(w & G)) {
4783                            k = f[a + 168 >> 2];
4784                            n = f[a + 152 >> 2];
4785                            q = 0;
4786                            g: {
4787                              if (!n) {
4788                                break g;
4789                              }
4790                              q = f[f[a + 160 >> 2] + (l(f[a + 156 >> 2], t >> n) + (w >> n) << 2) >> 2];
4791                            }
4792                            x = k + l(q, 548) | 0;
4793                          }
4794                          if (f[x + 28 >> 2]) {
4795                            o = f[x + 24 >> 2];
4796                            break f;
4797                          }
4798                          if (f[a + 44 >> 2] >= 32) {
4799                            ge(s);
4800                          }
4801                          h: {
4802                            if (f[x + 32 >> 2]) {
4803                              k = f[a + 28 >> 2];
4804                              o = f[a + 44 >> 2];
4805                              m = o & 63;
4806                              n = m & 31;
4807                              v = f[a + 24 >> 2];
4808                              r = (((32 <= (m & 63) >>> 0 ? k >>> n | 0 : ((1 << n) - 1 & k) << 32 - n | v >>> n) & 63) << 3) + x | 0;
4809                              n = f[r + 36 >> 2];
4810                              q = o + n | 0;
4811                              o = f[r + 40 >> 2];
4812                              i: {
4813                                if ((n | 0) <= 255) {
4814                                  f[a + 44 >> 2] = q;
4815                                  f[e >> 2] = o;
4816                                  o = 0;
4817                                  break i;
4818                                }
4819                                f[a + 44 >> 2] = q + -256;
4820                              }
4821                              if (f[a + 48 >> 2] | (f[a + 44 >> 2] > 64 ? f[a + 40 >> 2] == f[a + 36 >> 2] : 0)) {
4822                                break c;
4823                              }
4824                              if (o) {
4825                                break h;
4826                              }
4827                              break e;
4828                            }
4829                            r = a;
4830                            k = f[a + 28 >> 2];
4831                            o = f[a + 44 >> 2];
4832                            p = o & 63;
4833                            n = p & 31;
4834                            v = f[a + 24 >> 2];
4835                            m = f[x >> 2] + (((32 <= (p & 63) >>> 0 ? k >>> n | 0 : ((1 << n) - 1 & k) << 32 - n | v >>> n) & 255) << 2) | 0;
4836                            n = g[m | 0];
4837                            if (n >>> 0 >= 9) {
4838                              o = o + 8 | 0;
4839                              f[a + 44 >> 2] = o;
4840                              q = (h[m + 2 >> 1] << 2) + m | 0;
4841                              y = o & 63;
4842                              m = y & 31;
4843                              m = q + (((-1 << n + -8 ^ -1) & (32 <= (y & 63) >>> 0 ? k >>> m | 0 : ((1 << m) - 1 & k) << 32 - m | v >>> m)) << 2) | 0;
4844                              n = g[m | 0];
4845                            }
4846                            f[r + 44 >> 2] = (n & 255) + o;
4847                            if (f[a + 48 >> 2]) {
4848                              break c;
4849                            }
4850                            o = h[m + 2 >> 1];
4851                          }
4852                          if (f[a + 44 >> 2] > 64 ? f[a + 40 >> 2] == f[a + 36 >> 2] : 0) {
4853                            break c;
4854                          }
4855                          if ((o | 0) <= 255) {
4856                            if (f[x + 20 >> 2]) {
4857                              o = f[x + 24 >> 2] | o << 8;
4858                              break f;
4859                            }
4860                            r = a;
4861                            m = f[a + 44 >> 2];
4862                            y = m & 63;
4863                            q = y & 31;
4864                            p = f[x + 4 >> 2] + (((32 <= (y & 63) >>> 0 ? k >>> q | 0 : ((1 << q) - 1 & k) << 32 - q | v >>> q) & 255) << 2) | 0;
4865                            n = g[p | 0];
4866                            if (n >>> 0 >= 9) {
4867                              m = m + 8 | 0;
4868                              f[a + 44 >> 2] = m;
4869                              q = (h[p + 2 >> 1] << 2) + p | 0;
4870                              B = m & 63;
4871                              p = B & 31;
4872                              p = q + (((-1 << n + -8 ^ -1) & (32 <= (B & 63) >>> 0 ? k >>> p | 0 : ((1 << p) - 1 & k) << 32 - p | v >>> p)) << 2) | 0;
4873                              n = g[p | 0];
4874                            }
4875                            m = (n & 255) + m | 0;
4876                            f[r + 44 >> 2] = m;
4877                            y = h[p + 2 >> 1];
4878                            if ((m | 0) >= 32) {
4879                              ge(s);
4880                              v = f[a + 24 >> 2];
4881                              m = f[a + 44 >> 2];
4882                              k = f[a + 28 >> 2];
4883                            }
4884                            B = m & 63;
4885                            q = B & 31;
4886                            p = f[x + 8 >> 2] + (((32 <= (B & 63) >>> 0 ? k >>> q | 0 : ((1 << q) - 1 & k) << 32 - q | v >>> q) & 255) << 2) | 0;
4887                            n = g[p | 0];
4888                            if (n >>> 0 >= 9) {
4889                              m = m + 8 | 0;
4890                              f[a + 44 >> 2] = m;
4891                              q = (h[p + 2 >> 1] << 2) + p | 0;
4892                              z = m & 63;
4893                              p = z & 31;
4894                              p = q + (((-1 << n + -8 ^ -1) & (32 <= z >>> 0 ? k >>> p | 0 : ((1 << p) - 1 & k) << 32 - p | v >>> p)) << 2) | 0;
4895                              n = g[p | 0];
4896                            }
4897                            m = (n & 255) + m | 0;
4898                            f[r + 44 >> 2] = m;
4899                            B = h[p + 2 >> 1];
4900                            q = a;
4901                            z = m & 63;
4902                            r = z & 31;
4903                            p = f[x + 12 >> 2] + (((32 <= z >>> 0 ? k >>> r | 0 : ((1 << r) - 1 & k) << 32 - r | v >>> r) & 255) << 2) | 0;
4904                            n = g[p | 0];
4905                            if (n >>> 0 >= 9) {
4906                              m = m + 8 | 0;
4907                              f[a + 44 >> 2] = m;
4908                              z = (h[p + 2 >> 1] << 2) + p | 0;
4909                              p = m & 63;
4910                              r = p & 31;
4911                              p = z + (((-1 << n + -8 ^ -1) & (32 <= (p & 63) >>> 0 ? k >>> r | 0 : ((1 << r) - 1 & k) << 32 - r | v >>> r)) << 2) | 0;
4912                              n = g[p | 0];
4913                            }
4914                            k = (n & 255) + m | 0;
4915                            f[q + 44 >> 2] = k;
4916                            if (f[a + 48 >> 2]) {
4917                              break c;
4918                            }
4919                            n = h[p + 2 >> 1];
4920                            if (f[a + 40 >> 2] == f[a + 36 >> 2] ? (k | 0) >= 65 : 0) {
4921                              break c;
4922                            }
4923                            o = B | (y << 16 | o << 8) | n << 24;
4924                            break f;
4925                          }
4926                          j: {
4927                            k: {
4928                              if ((o | 0) <= 279) {
4929                                q = o + -256 | 0;
4930                                if ((o | 0) >= 260) {
4931                                  k = o + -258 >> 1;
4932                                  q = he(s, k) + ((q & 1 | 2) << k) | 0;
4933                                  v = f[s >> 2];
4934                                  k = f[s + 4 >> 2];
4935                                }
4936                                r = a;
4937                                o = f[a + 44 >> 2];
4938                                y = o & 63;
4939                                m = y & 31;
4940                                m = f[x + 16 >> 2] + (((32 <= (y & 63) >>> 0 ? k >>> m | 0 : ((1 << m) - 1 & k) << 32 - m | v >>> m) & 255) << 2) | 0;
4941                                n = g[m | 0];
4942                                if (n >>> 0 >= 9) {
4943                                  o = o + 8 | 0;
4944                                  f[a + 44 >> 2] = o;
4945                                  z = (h[m + 2 >> 1] << 2) + m | 0;
4946                                  p = o & 63;
4947                                  m = p & 31;
4948                                  m = z + (((-1 << n + -8 ^ -1) & (32 <= (p & 63) >>> 0 ? k >>> m | 0 : ((1 << m) - 1 & k) << 32 - m | v >>> m)) << 2) | 0;
4949                                  n = g[m | 0];
4950                                }
4951                                k = (n & 255) + o | 0;
4952                                f[r + 44 >> 2] = k;
4953                                o = h[m + 2 >> 1];
4954                                if ((k | 0) >= 32) {
4955                                  ge(s);
4956                                }
4957                                if (o >>> 0 >= 4) {
4958                                  k = o + -2 >> 1;
4959                                  o = he(s, k) + ((o & 1 | 2) << k) | 0;
4960                                }
4961                                l: {
4962                                  if ((o + 1 | 0) >= 121) {
4963                                    k = o + -119 | 0;
4964                                    break l;
4965                                  }
4966                                  k = g[o + 1264 | 0];
4967                                  k = (l(k >>> 4 | 0, d) - (k & 15) | 0) + 8 | 0;
4968                                  k = (k | 0) > 1 ? k : 1;
4969                                }
4970                                if (f[a + 48 >> 2] | (f[a + 44 >> 2] > 64 ? f[a + 40 >> 2] == f[a + 36 >> 2] : 0)) {
4971                                  break c;
4972                                }
4973                                if (e - b >> 2 < (k | 0)) {
4974                                  break b;
4975                                }
4976                                r = q + 1 | 0;
4977                                if (F - e >> 2 < (r | 0)) {
4978                                  break b;
4979                                }
4980                                m = e - (k << 2) | 0;
4981                                if (!(e & 3 | (r | 0) < 4 | (k | 0) > 2)) {
4982                                  m: {
4983                                    if ((k | 0) == 1) {
4984                                      o = f[m >> 2];
4985                                      n = o;
4986                                      k = n;
4987                                      v = k;
4988                                      break m;
4989                                    }
4990                                    k = f[m + 4 >> 2];
4991                                    v = f[m >> 2];
4992                                    o = v;
4993                                  }
4994                                  n: {
4995                                    if (!(e & 4)) {
4996                                      q = r;
4997                                      n = e;
4998                                      break n;
4999                                    }
5000                                    f[e >> 2] = o;
5001                                    v = Af(v, k);
5002                                    k = N;
5003                                    m = m + 4 | 0;
5004                                    n = e + 4 | 0;
5005                                  }
5006                                  o = q >>
5006> 1 | 0;
5007                                  p = o >>> 0 > 1 ? o : 1;
5008                                  o = 0;
5009                                  while (1) {
5010                                    y = n + (o << 3) | 0;
5011                                    f[y >> 2] = v;
5012                                    f[y + 4 >> 2] = k;
5013                                    o = o + 1 | 0;
5014                                    if ((p | 0) != (o | 0)) {
5015                                      continue;
5016                                    }
5017                                    break;
5018                                  }
5019                                  if (!(q & 1)) {
5020                                    break j;
5021                                  }
5022                                  k = p << 3;
5023                                  f[k + n >> 2] = f[k + m >> 2];
5024                                  break j;
5025                                }
5026                                if ((k | 0) >= (r | 0)) {
5027                                  break k;
5028                                }
5029                                o = 0;
5030                                if ((r | 0) <= 0) {
5031                                  break j;
5032                                }
5033                                while (1) {
5034                                  k = o << 2;
5035                                  f[k + e >> 2] = f[k + m >> 2];
5036                                  k = (o | 0) != (q | 0);
5037                                  o = o + 1 | 0;
5038                                  if (k) {
5039                                    continue;
5040                                  }
5041                                  break;
5042                                }
5043                                break j;
5044                              }
5045                              if ((o | 0) >= (I | 0)) {
5046                                break b;
5047                              }
5048                              n = o + -280 | 0;
5049                              k = f[C >> 2];
5050                              if (u >>> 0 < e >>> 0) {
5051                                while (1) {
5052                                  q = f[u >> 2];
5053                                  f[k + (l(q, 506832829) >>> f[C + 4 >> 2] << 2) >> 2] = q;
5054                                  u = u + 4 | 0;
5055                                  if (u >>> 0 < e >>> 0) {
5056                                    continue;
5057                                  }
5058                                  break;
5059                                }
5060                              }
5061                              o = f[k + (n << 2) >> 2];
5062                              break f;
5063                            }
5064                            _e(e, m, r << 2);
5065                          }
5066                          w = r + w | 0;
5067                          if ((w | 0) >= (d | 0)) {
5068                            while (1) {
5069                              w = w - d | 0;
5070                              k = t;
5071                              t = k + 1 | 0;
5072                              if (!(t & 15 | (!j | (k | 0) >= (i | 0)))) {
5073                                c[j | 0](a, t);
5074                              }
5075                              if ((w | 0) >= (d | 0)) {
5076                                continue;
5077                              }
5078                              break;
5079                            }
5080                          }
5081                          q = r << 2;
5082                          if (w & G) {
5083                            k = f[a + 168 >> 2];
5084                            n = f[a + 152 >> 2];
5085                            r = 0;
5086                            o: {
5087                              if (!n) {
5088                                break o;
5089                              }
5090                              r = f[f[a + 160 >> 2] + (l(f[a + 156 >> 2], t >> n) + (w >> n) << 2) >> 2];
5091                            }
5092                            x = k + l(r, 548) | 0;
5093                          }
5094                          e = e + q | 0;
5095                          if ((D | 0) < 1 | u >>> 0 >= e >>> 0) {
5096                            break d;
5097                          }
5098                          k = f[C >> 2];
5099                          while (1) {
5100                            n = f[u >> 2];
5101                            f[k + (l(n, 506832829) >>> f[C + 4 >> 2] << 2) >> 2] = n;
5102                            u = u + 4 | 0;
5103                            if (u >>> 0 < e >>> 0) {
5104                              continue;
5105                            }
5106                            break;
5107                          }
5108                          break d;
5109                        }
5110                        f[e >> 2] = o;
5111                      }
5112                      k = e + 4 | 0;
5113                      w = w + 1 | 0;
5114                      if ((w | 0) < (d | 0)) {
5115                        e = k;
5116                        break d;
5117                      }
5118                      n = t + 1 | 0;
5119                      if (!(n & 15 | (!j | (t | 0) >= (i | 0)))) {
5120                        c[j | 0](a, n);
5121                      }
5122                      w = 0;
5123                      if (!((D | 0) < 1 | u >>> 0 >= k >>> 0)) {
5124                        q = f[C >> 2];
5125                        while (1) {
5126                          t = f[u >> 2];
5127                          f[q + (l(t, 506832829) >>> f[C + 4 >> 2] << 2) >> 2] = t;
5128                          r = u >>> 0 < e >>> 0;
5129                          t = u + 4 | 0;
5130                          u = t;
5131                          if (r) {
5132                            continue;
5133                          }
5134                          break;
5135                        }
5136                        u = t;
5137                      }
5138                      e = k;
5139                      t = n;
5140                    }
5141                    if (e >>> 0 < J >>> 0) {
5142                      continue;
5143                    }
5144                    break;
5145                  }
5146                }
5147                k = a;
5148                d = 1;
5149                p: {
5150                  if (f[a + 48 >> 2]) {
5151                    break p;
5152                  }
5153                  d = 0;
5154                  if (f[a + 40 >> 2] != f[a + 36 >> 2]) {
5155                    break p;
5156                  }
5157                  d = f[a + 44 >> 2] > 64;
5158                }
5159                f[k + 48 >> 2] = d;
5160                if (!(!f[a + 56 >> 2] | (!d | e >>> 0 >= F >>> 0))) {
5161                  f[a >> 2] = 5;
5162                  b = f[a + 68 >> 2];
5163                  f[s >> 2] = f[a + 64 >> 2];
5164                  f[s + 4 >> 2] = b;
5165                  b = f[a + 92 >> 2];
5166                  f[s + 24 >> 2] = f[a + 88 >> 2];
5167                  f[s + 28 >> 2] = b;
5168                  b = f[a + 84 >> 2];
5169                  f[s + 16 >> 2] = f[a + 80 >> 2];
5170                  f[s + 20 >> 2] = b;
5171                  b = f[a + 76 >> 2];
5172                  f[s + 8 >> 2] = f[a + 72 >> 2];
5173                  f[s + 12 >> 2] = b;
5174                  f[a + 112 >> 2] = f[a + 96 >> 2];
5175                  b = 1;
5176                  if (f[a + 120 >> 2] < 1) {
5177                    break a;
5178                  }
5179                  ke(a + 136 | 0, E);
5180                  return 1;
5181                }
5182                if (d) {
5183                  break b;
5184                }
5185                if (j) {
5186                  c[j | 0](a, (t | 0) > (i | 0) ? i : t);
5187                }
5188                f[a >> 2] = 0;
5189                f[a + 112 >> 2] = e - b >> 2;
5190                return 1;
5191              }
5192              f[a >> 2] = 3;
5193              b = 0;
5194            }
5195            return b;
5196          }
5197          function fc(a) {
5198            a = a | 0;
5199            var b = 0,
5200              c = 0;
5201            c = xf(g[a + 31 | 0], 0, 16843009, 16843009);
5202            b = c;
5203            d[a + 32 | 0] = b;
5204            d[a + 33 | 0] = b >>> 8;
5205            d[a + 34 | 0] = b >>> 16;
5206            d[a + 35 | 0] = b >>> 24;
5207            b = N;
5208            d[a + 36 | 0] = b;
5209            d[a + 37 | 0] = b >>> 8;
5210            d[a + 38 | 0] = b >>> 16;
5211            d[a + 39 | 0] = b >>> 24;
5212            d[a + 40 | 0] = c;
5213            d[a + 41 | 0] = c >>> 8;
5214            d[a + 42 | 0] = c >>> 16;
5215            d[a + 43 | 0] = c >>> 24;
5216            d[a + 44 | 0] = b;
5217            d[a + 45 | 0] = b >>> 8;
5218            d[a + 46 | 0] = b >>> 16;
5219            d[a + 47 | 0] = b >>> 24;
5220            c = xf(g[a + 63 | 0], 0, 16843009, 16843009);
5221            b = c;
5222            d[a + 64 | 0] = b;
5223            d[a + 65 | 0] = b >>> 8;
5224            d[a + 66 | 0] = b >>> 16;
5225            d[a + 67 | 0] = b >>> 24;
5226            b = N;
5227            d[a + 68 | 0] = b;
5228            d[a + 69 | 0] = b >>> 8;
5229            d[a + 70 | 0] = b >>> 16;
5230            d[a + 71 | 0] = b >>> 24;
5231            d[a + 72 | 0] = c;
5232            d[a + 73 | 0] = c >>> 8;
5233            d[a + 74 | 0] = c >>> 16;
5234            d[a + 75 | 0] = c >>> 24;
5235            d[a + 76 | 0] = b;
5236            d[a + 77 | 0] = b >>> 8;
5237            d[a + 78 | 0] = b >>> 16;
5238            d[a + 79 | 0] = b >>> 24;
5239            c = xf(g[a + 95 | 0], 0, 16843009, 16843009);
5240            b = c;
5241            d[a + 96 | 0] = b;
5242            d[a + 97 | 0] = b >>> 8;
5243            d[a + 98 | 0] = b >>> 16;
5244            d[a + 99 | 0] = b >>> 24;
5245            b = N;
5246            d[a + 100 | 0] = b;
5247            d[a + 101 | 0] = b >>> 8;
5248            d[a + 102 | 0] = b >>> 16;
5249            d[a + 103 | 0] = b >>> 24;
5250            d[a + 104 | 0] = c;
5251            d[a + 105 | 0] = c >>> 8;
5252            d[a + 106 | 0] = c >>> 16;
5253            d[a + 107 | 0] = c >>> 24;
5254            d[a + 108 | 0] = b;
5255            d[a + 109 | 0] = b >>> 8;
5256            d[a + 110 | 0] = b >>> 16;
5257            d[a + 111 | 0] = b >>> 24;
5258            c = xf(g[a + 127 | 0], 0, 16843009, 16843009);
5259            b = c;
5260            d[a + 128 | 0] = b;
5261            d[a + 129 | 0] = b >>> 8;
5262            d[a + 130 | 0] = b >>> 16;
5263            d[a + 131 | 0] = b >>> 24;
5264            b = N;
5265            d[a + 132 | 0] = b;
5266            d[a + 133 | 0] = b >>> 8;
5267            d[a + 134 | 0] = b >>> 16;
5268            d[a + 135 | 0] = b >>> 24;
5269            d[a + 136 | 0] = c;
5270            d[a + 137 | 0] = c >>> 8;
5271            d[a + 138 | 0] = c >>> 16;
5272            d[a + 139 | 0] = c >>> 24;
5273            d[a + 140 | 0] = b;
5274            d[a + 141 | 0] = b >>> 8;
5275            d[a + 142 | 0] = b >>> 16;
5276            d[a + 143 | 0] = b >>> 24;
5277            c = xf(g[a + 159 | 0], 0, 16843009, 16843009);
5278            b = c;
5279            d[a + 168 | 0] = b;
5280            d[a + 169 | 0] = b >>> 8;
5281            d[a + 170 | 0] = b >>> 16;
5282            d[a + 171 | 0] = b >>> 24;
5283            b = N;
5284            d[a + 172 | 0] = b;
5285            d[a + 173 | 0] = b >>> 8;
5286            d[a + 174 | 0] = b >>> 16;
5287            d[a + 175 | 0] = b >>> 24;
5288            d[a + 160 | 0] = c;
5289            d[a + 161 | 0] = c >>> 8;
5290            d[a + 162 | 0] = c >>> 16;
5291            d[a + 163 | 0] = c >>> 24;
5292            d[a + 164 | 0] = b;
5293            d[a + 165 | 0] = b >>> 8;
5294            d[a + 166 | 0] = b >>> 16;
5295            d[a + 167 | 0] = b >>> 24;
5296            c = xf(g[a + -1 | 0], 0, 16843009, 16843009);
5297            b = c;
5298            d[a | 0] = b;
5299            d[a + 1 | 0] = b >>> 8;
5300            d[a + 2 | 0] = b >>> 16;
5301            d[a + 3 | 0] = b >>> 24;
5302            b = N;
5303            d[a + 4 | 0] = b;
5304            d[a + 5 | 0] = b >>> 8;
5305            d[a + 6 | 0] = b >>> 16;
5306            d[a + 7 | 0] = b >>> 24;
5307            d[a + 8 | 0] = c;
5308            d[a + 9 | 0] = c >>> 8;
5309            d[a + 10 | 0] = c >>> 16;
5310            d[a + 11 | 0] = c >>> 24;
5311            d[a + 12 | 0] = b;
5312            d[a + 13 | 0] = b >>> 8;
5313            d[a + 14 | 0] = b >>> 16;
5314            d[a + 15 | 0] = b >>> 24;
5315            c = xf(g[a + 191 | 0], 0, 16843009, 16843009);
5316            b = c;
5317            d[a + 200 | 0] = b;
5318            d[a + 201 | 0] = b >>> 8;
5319            d[a + 202 | 0] = b >>> 16;
5320            d[a + 203 | 0] = b >>> 24;
5321            b = N;
5322            d[a + 204 | 0] = b;
5323            d[a + 205 | 0] = b >>> 8;
5324            d[a + 206 | 0] = b >>> 16;
5325            d[a + 207 | 0] = b >>> 24;
5326            d[a + 192 | 0] = c;
5327            d[a + 193 | 0] = c >>> 8;
5328            d[a + 194 | 0] = c >>> 16;
5329            d[a + 195 | 0] = c >>> 24;
5330            d[a + 196 | 0] = b;
5331            d[a + 197 | 0] = b >>> 8;
5332            d[a + 198 | 0] = b >>> 16;
5333            d[a + 199 | 0] = b >>> 24;
5334            c = xf(g[a + 223 | 0], 0, 16843009, 16843009);
5335            b = c;
5336            d[a + 232 | 0] = b;
5337            d[a + 233 | 0] = b >>> 8;
5338            d[a + 234 | 0] = b >>> 16;
5339            d[a + 235 | 0] = b >>> 24;
5340            b = N;
5341            d[a + 236 | 0] = b;
5342            d[a + 237 | 0] = b >>> 8;
5343            d[a + 238 | 0] = b >>> 16;
5344            d[a + 239 | 0] = b >>> 24;
5345            d[a + 224 | 0] = c;
5346            d[a + 225 | 0] = c >>> 8;
5347            d[a + 226 | 0] = c >>> 16;
5348            d[a + 227 | 0] = c >>> 24;
5349            d[a + 228 | 0] = b;
5350            d[a + 229 | 0] = b >>> 8;
5351            d[a + 230 | 0] = b >>> 16;
5352            d[a + 231 | 0] = b >>> 24;
5353            c = xf(g[a + 255 | 0], 0, 16843009, 16843009);
5354            b = c;
5355            d[a + 264 | 0] = b;
5356            d[a + 265 | 0] = b >>> 8;
5357            d[a + 266 | 0] = b >>> 16;
5358            d[a + 267 | 0] = b >>> 24;
5359            b = N;
5360            d[a + 268 | 0] = b;
5361            d[a + 269 | 0] = b >>> 8;
5362            d[a + 270 | 0] = b >>> 16;
5363            d[a + 271 | 0] = b >>> 24;
5364            d[a + 256 | 0] = c;
5365            d[a + 257 | 0] = c >>> 8;
5366            d[a + 258 | 0] = c >>> 16;
5367            d[a + 259 | 0] = c >>> 24;
5368            d[a + 260 | 0] = b;
5369            d[a + 261 | 0] = b >>> 8;
5370            d[a + 262 | 0] = b >>> 16;
5371            d[a + 263 | 0] = b >>> 24;
5372            c = xf(g[a + 287 | 0], 0, 16843009, 16843009);
5373            b = c;
5374            d[a + 296 | 0] = b;
5375            d[a + 297 | 0] = b >>> 8;
5376            d[a + 298 | 0] = b >>> 16;
5377            d[a + 299 | 0] = b >>> 24;
5378            b = N;
5379            d[a + 300 | 0] = b;
5380            d[a + 301 | 0] = b >>> 8;
5381            d[a + 302 | 0] = b >>> 16;
5382            d[a + 303 | 0] = b >>> 24;
5383            d[a + 288 | 0] = c;
5384            d[a + 289 | 0] = c >>> 8;
5385            d[a + 290 | 0] = c >>> 16;
5386            d[a + 291 | 0] = c >>> 24;
5387            d[a + 292 | 0] = b;
5388            d[a + 293 | 0] = b >>> 8;
5389            d[a + 294 | 0] = b >>> 16;
5390            d[a + 295 | 0] = b >>> 24;
5391            c = xf(g[a + 319 | 0], 0, 16843009, 16843009);
5392            b = c;
5393            d[a + 328 | 0] = b;
5394            d[a + 329 | 0] = b >>> 8;
5395            d[a + 330 | 0] = b >>> 16;
5396            d[a + 331 | 0] = b >>> 24;
5397            b = N;
5398            d[a + 332 | 0] = b;
5399            d[a + 333 | 0] = b >>> 8;
5400            d[a + 334 | 0] = b >>> 16;
5401            d[a + 335 | 0] = b >>> 24;
5402            d[a + 320 | 0] = c;
5403            d[a + 321 | 0] = c >>> 8;
5404            d[a + 322 | 0] = c >>> 16;
5405            d[a + 323 | 0] = c >>> 24;
5406            d[a + 324 | 0] = b;
5407            d[a + 325 | 0] = b >>> 8;
5408            d[a + 326 | 0] = b >>> 16;
5409            d[a + 327 | 0] = b >>> 24;
5410            c = xf(g[a + 351 | 0], 0, 16843009, 16843009);
5411            b = c;
5412            d[a + 360 | 0] = b;
5413            d[a + 361 | 0] = b >>> 8;
5414            d[a + 362 | 0] = b >>> 16;
5415            d[a + 363 | 0] = b >>> 24;
5416            b = N;
5417            d[a + 364 | 0] = b;
5418            d[a + 365 | 0] = b >>> 8;
5419            d[a + 366 | 0] = b >>> 16;
5420            d[a + 367 | 0] = b >>> 24;
5421            d[a + 352 | 0] = c;
5422            d[a + 353 | 0] = c >>> 8;
5423            d[a + 354 | 0] = c >>> 16;
5424            d[a + 355 | 0] = c >>> 24;
5425            d[a + 356 | 0] = b;
5426            d[a + 357 | 0] = b >>> 8;
5427            d[a + 358 | 0] = b >>> 16;
5428            d[a + 359 | 0] = b >>> 24;
5429            c = xf(g[a + 383 | 0], 0, 16843009, 16843009);
5430            b = c;
5431            d[a + 392 | 0] = b;
5432            d[a + 393 | 0] = b >>> 8;
5433            d[a + 394 | 0] = b >>> 16;
5434            d[a + 395 | 0] = b >>> 24;
5435            b = N;
5436            d[a + 396 | 0] = b;
5437            d[a + 397 | 0] = b >>> 8;
5438            d[a + 398 | 0] = b >>> 16;
5439            d[a + 399 | 0] = b >>> 24;
5440            d[a + 384 | 0] = c;
5441            d[a + 385 | 0] = c >>> 8;
5442            d[a + 386 | 0] = c >>> 16;
5443            d[a + 387 | 0] = c >>> 24;
5444          
5444  d[a + 388 | 0] = b;
5445            d[a + 389 | 0] = b >>> 8;
5446            d[a + 390 | 0] = b >>> 16;
5447            d[a + 391 | 0] = b >>> 24;
5448            c = xf(g[a + 415 | 0], 0, 16843009, 16843009);
5449            b = c;
5450            d[a + 424 | 0] = b;
5451            d[a + 425 | 0] = b >>> 8;
5452            d[a + 426 | 0] = b >>> 16;
5453            d[a + 427 | 0] = b >>> 24;
5454            b = N;
5455            d[a + 428 | 0] = b;
5456            d[a + 429 | 0] = b >>> 8;
5457            d[a + 430 | 0] = b >>> 16;
5458            d[a + 431 | 0] = b >>> 24;
5459            d[a + 416 | 0] = c;
5460            d[a + 417 | 0] = c >>> 8;
5461            d[a + 418 | 0] = c >>> 16;
5462            d[a + 419 | 0] = c >>> 24;
5463            d[a + 420 | 0] = b;
5464            d[a + 421 | 0] = b >>> 8;
5465            d[a + 422 | 0] = b >>> 16;
5466            d[a + 423 | 0] = b >>> 24;
5467            c = xf(g[a + 447 | 0], 0, 16843009, 16843009);
5468            b = c;
5469            d[a + 456 | 0] = b;
5470            d[a + 457 | 0] = b >>> 8;
5471            d[a + 458 | 0] = b >>> 16;
5472            d[a + 459 | 0] = b >>> 24;
5473            b = N;
5474            d[a + 460 | 0] = b;
5475            d[a + 461 | 0] = b >>> 8;
5476            d[a + 462 | 0] = b >>> 16;
5477            d[a + 463 | 0] = b >>> 24;
5478            d[a + 448 | 0] = c;
5479            d[a + 449 | 0] = c >>> 8;
5480            d[a + 450 | 0] = c >>> 16;
5481            d[a + 451 | 0] = c >>> 24;
5482            d[a + 452 | 0] = b;
5483            d[a + 453 | 0] = b >>> 8;
5484            d[a + 454 | 0] = b >>> 16;
5485            d[a + 455 | 0] = b >>> 24;
5486            c = xf(g[a + 479 | 0], 0, 16843009, 16843009);
5487            b = c;
5488            d[a + 488 | 0] = b;
5489            d[a + 489 | 0] = b >>> 8;
5490            d[a + 490 | 0] = b >>> 16;
5491            d[a + 491 | 0] = b >>> 24;
5492            b = N;
5493            d[a + 492 | 0] = b;
5494            d[a + 493 | 0] = b >>> 8;
5495            d[a + 494 | 0] = b >>> 16;
5496            d[a + 495 | 0] = b >>> 24;
5497            d[a + 480 | 0] = c;
5498            d[a + 481 | 0] = c >>> 8;
5499            d[a + 482 | 0] = c >>> 16;
5500            d[a + 483 | 0] = c >>> 24;
5501            d[a + 484 | 0] = b;
5502            d[a + 485 | 0] = b >>> 8;
5503            d[a + 486 | 0] = b >>> 16;
5504            d[a + 487 | 0] = b >>> 24;
5505          }
5506          function hb(a, b) {
5507            var c = 0,
5508              d = 0,
5509              e = 0,
5510              h = 0,
5511              j = 0,
5512              k = 0,
5513              m = 0,
5514              n = 0,
5515              p = 0,
5516              q = 0;
5517            k = f[a + 4 >> 2];
5518            h = g[b + 3 | 0];
5519            c = f[a + 8 >> 2];
5520            a: {
5521              if ((c | 0) > -1) {
5522                break a;
5523              }
5524              e = f[a + 12 >> 2];
5525              if (e >>> 0 < i[a + 20 >> 2]) {
5526                j = g[e | 0] | g[e + 1 | 0] << 8 | (g[e + 2 | 0] << 16 | g[e + 3 | 0] << 24);
5527                f[a + 12 >> 2] = e + 3;
5528                c = c + 24 | 0;
5529                f[a + 8 >> 2] = c;
5530                f[a >> 2] = f[a >> 2] << 24 | (j >>> 8 & 65280 | (j << 8 & 16711680 | j << 24)) >>> 8;
5531                break a;
5532              }
5533              ce(a);
5534              c = f[a + 8 >> 2];
5535            }
5536            j = a;
5537            n = c;
5538            d = f[a >> 2];
5539            m = d >>> c | 0;
5540            h = l(h, k) >>> 8 | 0;
5541            b: {
5542              if (m >>> 0 > h >>> 0) {
5543                d = ((h ^ -1) << c) + d | 0;
5544                f[a >> 2] = d;
5545                k = k - h | 0;
5546                break b;
5547              }
5548              k = h + 1 | 0;
5549            }
5550            e = o(k) ^ 24;
5551            c = n - e | 0;
5552            f[j + 8 >> 2] = c;
5553            k = (k << e) + -1 | 0;
5554            f[a + 4 >> 2] = k;
5555            c: {
5556              if (m >>> 0 <= h >>> 0) {
5557                h = g[b + 4 | 0];
5558                d: {
5559                  if ((c | 0) > -1) {
5560                    break d;
5561                  }
5562                  e = f[a + 12 >> 2];
5563                  if (e >>> 0 < i[a + 20 >> 2]) {
5564                    j = g[e | 0] | g[e + 1 | 0] << 8 | (g[e + 2 | 0] << 16 | g[e + 3 | 0] << 24);
5565                    c = c + 24 | 0;
5566                    f[a + 8 >> 2] = c;
5567                    f[a + 12 >> 2] = e + 3;
5568                    d = d << 24 | (j >>> 8 & 65280 | (j << 8 & 16711680 | j << 24)) >>> 8;
5569                    f[a >> 2] = d;
5570                    break d;
5571                  }
5572                  ce(a);
5573                  d = f[a >> 2];
5574                  c = f[a + 8 >> 2];
5575                }
5576                j = a;
5577                n = c;
5578                h = l(h, k) >>> 8 | 0;
5579                m = d >>> c >>> 0 <= h >>> 0;
5580                e: {
5581                  if (!m) {
5582                    d = ((h ^ -1) << c) + d | 0;
5583                    f[a >> 2] = d;
5584                    h = k - h | 0;
5585                    break e;
5586                  }
5587                  h = h + 1 | 0;
5588                }
5589                e = o(h) ^ 24;
5590                c = n - e | 0;
5591                f[j + 8 >> 2] = c;
5592                k = (h << e) + -1 | 0;
5593                f[a + 4 >> 2] = k;
5594                h = 2;
5595                if (m) {
5596                  break c;
5597                }
5598                j = g[b + 5 | 0];
5599                f: {
5600                  if ((c | 0) > -1) {
5601                    break f;
5602                  }
5603                  b = f[a + 12 >> 2];
5604                  if (b >>> 0 < i[a + 20 >> 2]) {
5605                    e = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
5606                    c = c + 24 | 0;
5607                    f[a + 8 >> 2] = c;
5608                    f[a + 12 >> 2] = b + 3;
5609                    d = d << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
5610                    f[a >> 2] = d;
5611                    break f;
5612                  }
5613                  ce(a);
5614                  d = f[a >> 2];
5615                  c = f[a + 8 >> 2];
5616                }
5617                n = a;
5618                e = c;
5619                h = l(j, k) >>> 8 | 0;
5620                g: {
5621                  if (d >>> c >>> 0 > h >>> 0) {
5622                    f[a >> 2] = ((h ^ -1) << c) + d;
5623                    j = 4;
5624                    c = k - h | 0;
5625                    break g;
5626                  }
5627                  j = 3;
5628                  c = h + 1 | 0;
5629                }
5630                b = o(c) ^ 24;
5631                f[n + 8 >> 2] = e - b;
5632                f[a + 4 >> 2] = (c << b) + -1;
5633                return j;
5634              }
5635              h = g[b + 6 | 0];
5636              h: {
5637                if ((c | 0) > -1) {
5638                  break h;
5639                }
5640                e = f[a + 12 >> 2];
5641                if (e >>> 0 < i[a + 20 >> 2]) {
5642                  j = g[e | 0] | g[e + 1 | 0] << 8 | (g[e + 2 | 0] << 16 | g[e + 3 | 0] << 24);
5643                  c = c + 24 | 0;
5644                  f[a + 8 >> 2] = c;
5645                  f[a + 12 >> 2] = e + 3;
5646                  d = d << 24 | (j >>> 8 & 65280 | (j << 8 & 16711680 | j << 24)) >>> 8;
5647                  f[a >> 2] = d;
5648                  break h;
5649                }
5650                ce(a);
5651                d = f[a >> 2];
5652                c = f[a + 8 >> 2];
5653              }
5654              j = a;
5655              n = c;
5656              m = d >>> c | 0;
5657              h = l(h, k) >>> 8 | 0;
5658              i: {
5659                if (m >>> 0 > h >>> 0) {
5660                  d = ((h ^ -1) << c) + d | 0;
5661                  f[a >> 2] = d;
5662                  k = k - h | 0;
5663                  break i;
5664                }
5665                k = h + 1 | 0;
5666              }
5667              e = o(k) ^ 24;
5668              c = n - e | 0;
5669              f[j + 8 >> 2] = c;
5670              k = (k << e) + -1 | 0;
5671              f[a + 4 >> 2] = k;
5672              if (m >>> 0 <= h >>> 0) {
5673                j = g[b + 7 | 0];
5674                j: {
5675                  if ((c | 0) > -1) {
5676                    break j;
5677                  }
5678                  b = f[a + 12 >> 2];
5679                  if (b >>> 0 < i[a + 20 >> 2]) {
5680                    e = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
5681                    c = c + 24 | 0;
5682                    f[a + 8 >> 2] = c;
5683                    f[a + 12 >> 2] = b + 3;
5684                    d = d << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
5685                    f[a >> 2] = d;
5686                    break j;
5687                  }
5688                  ce(a);
5689                  d = f[a >> 2];
5690                  c = f[a + 8 >> 2];
5691                }
5692                n = a;
5693                e = c;
5694                m = d >>> c | 0;
5695                j = l(j, k) >>> 8 | 0;
5696                k: {
5697                  if (m >>> 0 > j >>> 0) {
5698                    d = ((j ^ -1) << c) + d | 0;
5699                    f[a >> 2] = d;
5700                    h = k - j | 0;
5701                    break k;
5702                  }
5703                  h = j + 1 | 0;
5704                }
5705                b = o(h) ^ 24;
5706                c = e - b | 0;
5707                f[n + 8 >> 2] = c;
5708                k = (h << b) + -1 | 0;
5709                f[a + 4 >> 2] = k;
5710                if (m >>> 0 <= j >>> 0) {
5711                  l: {
5712                    if ((c | 0) > -1) {
5713                      break l;
5714                    }
5715                    b = f[a + 12 >> 2];
5716                    if (b >>> 0 < i[a + 20 >> 2]) {
5717                      e = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
5718                      c = c + 24 | 0;
5719                      f[a + 8 >> 2] = c;
5720                      f[a + 12 >> 2] = b + 3;
5721                      d = d << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
5722                      f[a >> 2] = d;
5723                      break l;
5724                    }
5725                    ce(a);
5726                    d = f[a >> 2];
5727                    c = f[a + 8 >> 2];
5728                  }
5729                  b = l(k, 159) >>> 8 | 0;
5730                  m: {
5731                    if (d >>> c >>> 0 > b >>> 0) {
5732                      f[a >> 2] = ((b ^ -1) << c) + d;
5733                      d = k - b | 0;
5734                      b = 6;
5735                      break m;
5736                    }
5737                    d = b + 1 | 0;
5738                    b = 5;
5739                  }
5740                  h = c;
5741                  c = o(d) ^ 24;
5742                  f[a + 8 >> 2] = h - c;
5743                  f[a + 4 >> 2] = (d << c) + -1;
5744                  return b;
5745                }
5746                n: {
5747                  if ((c | 0) > -1) {
5748                    break n;
5749                  }
5750                  b = f[a + 12 >> 2];
5751                  if (b >>> 0 < i[a + 20 >> 2]) {
5752                    e = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
5753                    c = c + 24 | 0;
5754                    f[a + 8 >> 2] = c;
5755                    f[a + 12 >> 2] = b + 3;
5756                    d = d << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
5757                    f[a >> 2] = d;
5758                    break n;
5759                  }
5760                  ce(a);
5761                  d = f[a >> 2];
5762                  c = f[a + 8 >> 2];
5763                }
5764                n = a;
5765                e = c;
5766                j = l(k, 165) >>> 8 | 0;
5767                o: {
5768                  if (d >>> c >>> 0 > j >>> 0) {
5769                    d = ((j ^ -1) << c) + d | 0;
5770                    f[a >> 2] = d;
5771                    h = 9;
5772                    j = k - j | 0;
5773                    break o;
5774                  }
5775                  h = 7;
5776                  j = j + 1 | 0;
5777                }
5778                b = o(j) ^ 24;
5779                c = e - b | 0;
5780                f[n + 8 >> 2] = c;
5781                k = (j << b) + -1 | 0;
5782                f[a + 4 >> 2] = k;
5783                p: {
5784                  if ((c | 0) > -1) {
5785                    break p;
5786                  }
5787                  b = f[a + 12 >> 2];
5788                  if (b >>> 0 < i[a + 20 >> 2]) {
5789                    e = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
5790                    c = c + 24 | 0;
5791                    f[a + 8 >> 2] = c;
5792                    f[a + 12 >> 2] = b + 3;
5793                    d = d << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
5794                    f[a >> 2] = d;
5795                    break p;
5796                  }
5797                  ce(a);
5798                  d = f[a >> 2];
5799                  c = f[a + 8 >> 2];
5800                }
5801                n = a;
5802                e = c;
5803                m = d >>> c | 0;
5804                j = l(k, 145) >>> 8 | 0;
5805                q: {
5806                  if (m >>> 0 > j >>> 0) {
5807                    f[a >> 2] = ((j ^ -1) << c) + d;
5808                    c = k - j | 0;
5809                    break q;
5810                  }
5811                  c = j + 1 | 0;
5812                }
5813                b = o(c) ^ 24;
5814                f[n + 8 >> 2] = e - b;
5815                f[a + 4 >> 2] = (c << b) + -1;
5816                return (m >>> 0 > j >>> 0) + h | 0;
5817              }
5818              h = g[b + 8 | 0];
5819              r: {
5820                if ((c | 0) > -1) {
5821                  break r;
5822                }
5823                e = f[a + 12 >> 2];
5824                if (e >>> 0 < i[a + 20 >> 2]) {
5825                  j = g[e | 0] | g[e + 1 | 0] << 8 | (g[e + 2 | 0] << 16 | g[e + 3 | 0] << 24);
5826                  c = c + 24 | 0;
5827                  f[a + 8 >> 2] = c;
5828                  f[a + 12 >> 2] = e + 3;
5829                  d = d << 24 | (j >>> 8 & 65280 | (j << 8 & 16711680 | j << 24)) >>> 8;
5830                  f[a >> 2] = d;
5831                  break r;
5832                }
5833                ce(a);
5834                d = f[a >> 2];
5835                c = f[a + 8 >> 2];
5836              }
5837              j = a;
5838              n = c;
5839              p = d >>> c | 0;
5840              m = l(h, k) >>> 8 | 0;
5841              s: {
5842                if (p >>> 0 > m >>> 0) {
5843                  d = ((m ^ -1) << c) + d | 0;
5844                  f[a >> 2] = d;
5845                  q = 10;
5846                  h = k - m | 0;
5847                  break s;
5848                }
5849                q = 9;
5850                h = m + 1 | 0;
5851              }
5852              e = o(h) ^ 24;
5853              c = n - e | 0;
5854              f[j + 8 >> 2] = c;
5855              h = (h << e) + -1 | 0;
5856              f[a + 4 >> 2] = h;
5857              j = g[b + q | 0];
5858              t: {
5859                if ((c | 0) > -1) {
5860                  break t;
5861                }
5862                b = f[a + 12 >> 2];
5863                if (b >>> 0 < i[a + 20 >> 2]) {
5864                  e = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
5865                  c = c + 24 | 0;
5866                  f[a + 8 >> 2] = c;
5867                  f[a + 12 >> 2] = b + 3;
5868                  d = d << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
5869                  f[a >> 2] = d;
5870                  break t;
5871                }
5872                ce(a);
5873                d = f[a >> 2];
5874                c = f[a + 8 >> 2];
5875              }
5876              n = a;
5877              e = c;
5878              k = d >>> c | 0;
5879              j = l(j, h) >>> 8 | 0;
5880              u: {
5881                if (k >>> 0 > j >>> 0) {
5882                  d = ((j ^ -1) << c) + d | 0;
5883                  f[a >> 2] = d;
5884                  h = h - j | 0;
5885                  break u;
5886                }
5887                h = j + 1 | 0;
5888              }
5889              b = o(h) ^ 24;
5890              c = e - b | 0;
5891              f[n + 8 >> 2] = c;
5892              h = (h << b) + -1 | 0;
5893              f[a + 4 >> 2] = h;
5894              q = (p >>> 0 > m >>> 0) << 1 | k >>> 0 > j >>> 0;
5895              j = f[(q << 2) + 10160 >> 2];
5896              b = g[j | 0];
5897              v: {
5898                if (!b) {
5899                  k = 0;
5900                  break v;
5901                }
5902                k = 0;
5903                while (1) {
5904                  m = b & 255;
5905                  w: {
5906                    if ((c | 0) > -1) {
5907                      break w;
5908                    }
5909                    b = f[a + 12 >> 2];
5910                    if (b >>> 0 < i[a + 20 >> 2]) {
5911                      e = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
5912                      c = c + 24 | 0;
5913                      f[a + 8 >> 2] = c;
5914                      f[a + 12 >> 2] = b + 3;
5915                      d = d << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
5916                      f[a >> 2] = d;
5917                      break w;
5918                    }
5919                    ce(a);
5920  
5920                  d = f[a >> 2];
5921                    c = f[a + 8 >> 2];
5922                  }
5923                  n = a;
5924                  e = c;
5925                  p = d >>> c | 0;
5926                  m = l(h, m) >>> 8 | 0;
5927                  x: {
5928                    if (p >>> 0 > m >>> 0) {
5929                      d = ((m ^ -1) << c) + d | 0;
5930                      f[a >> 2] = d;
5931                      h = h - m | 0;
5932                      break x;
5933                    }
5934                    h = m + 1 | 0;
5935                  }
5936                  b = o(h) ^ 24;
5937                  c = e - b | 0;
5938                  f[n + 8 >> 2] = c;
5939                  h = (h << b) + -1 | 0;
5940                  f[a + 4 >> 2] = h;
5941                  k = k << 1 | p >>> 0 > m >>> 0;
5942                  b = g[j + 1 | 0];
5943                  j = j + 1 | 0;
5944                  if (b) {
5945                    continue;
5946                  }
5947                  break;
5948                }
5949              }
5950              h = (8 << q | 3) + k | 0;
5951            }
5952            return h;
5953          }
5954          function cc(a) {
5955            a = a | 0;
5956            d[a | 0] = -2139062144;
5957            d[a + 1 | 0] = 8421504;
5958            d[a + 2 | 0] = 32896;
5959            d[a + 3 | 0] = 128;
5960            d[a + 4 | 0] = -2139062144;
5961            d[a + 5 | 0] = 8421504;
5962            d[a + 6 | 0] = 32896;
5963            d[a + 7 | 0] = 128;
5964            d[a + 32 | 0] = -2139062144;
5965            d[a + 33 | 0] = 8421504;
5966            d[a + 34 | 0] = 32896;
5967            d[a + 35 | 0] = 128;
5968            d[a + 36 | 0] = -2139062144;
5969            d[a + 37 | 0] = 8421504;
5970            d[a + 38 | 0] = 32896;
5971            d[a + 39 | 0] = 128;
5972            d[a + 64 | 0] = -2139062144;
5973            d[a + 65 | 0] = 8421504;
5974            d[a + 66 | 0] = 32896;
5975            d[a + 67 | 0] = 128;
5976            d[a + 68 | 0] = -2139062144;
5977            d[a + 69 | 0] = 8421504;
5978            d[a + 70 | 0] = 32896;
5979            d[a + 71 | 0] = 128;
5980            d[a + 96 | 0] = -2139062144;
5981            d[a + 97 | 0] = 8421504;
5982            d[a + 98 | 0] = 32896;
5983            d[a + 99 | 0] = 128;
5984            d[a + 100 | 0] = -2139062144;
5985            d[a + 101 | 0] = 8421504;
5986            d[a + 102 | 0] = 32896;
5987            d[a + 103 | 0] = 128;
5988            d[a + 128 | 0] = -2139062144;
5989            d[a + 129 | 0] = 8421504;
5990            d[a + 130 | 0] = 32896;
5991            d[a + 131 | 0] = 128;
5992            d[a + 132 | 0] = -2139062144;
5993            d[a + 133 | 0] = 8421504;
5994            d[a + 134 | 0] = 32896;
5995            d[a + 135 | 0] = 128;
5996            d[a + 160 | 0] = -2139062144;
5997            d[a + 161 | 0] = 8421504;
5998            d[a + 162 | 0] = 32896;
5999            d[a + 163 | 0] = 128;
6000            d[a + 164 | 0] = -2139062144;
6001            d[a + 165 | 0] = 8421504;
6002            d[a + 166 | 0] = 32896;
6003            d[a + 167 | 0] = 128;
6004            d[a + 192 | 0] = -2139062144;
6005            d[a + 193 | 0] = 8421504;
6006            d[a + 194 | 0] = 32896;
6007            d[a + 195 | 0] = 128;
6008            d[a + 196 | 0] = -2139062144;
6009            d[a + 197 | 0] = 8421504;
6010            d[a + 198 | 0] = 32896;
6011            d[a + 199 | 0] = 128;
6012            d[a + 224 | 0] = -2139062144;
6013            d[a + 225 | 0] = 8421504;
6014            d[a + 226 | 0] = 32896;
6015            d[a + 227 | 0] = 128;
6016            d[a + 228 | 0] = -2139062144;
6017            d[a + 229 | 0] = 8421504;
6018            d[a + 230 | 0] = 32896;
6019            d[a + 231 | 0] = 128;
6020            d[a + 256 | 0] = -2139062144;
6021            d[a + 257 | 0] = 8421504;
6022            d[a + 258 | 0] = 32896;
6023            d[a + 259 | 0] = 128;
6024            d[a + 260 | 0] = -2139062144;
6025            d[a + 261 | 0] = 8421504;
6026            d[a + 262 | 0] = 32896;
6027            d[a + 263 | 0] = 128;
6028            d[a + 8 | 0] = -2139062144;
6029            d[a + 9 | 0] = 8421504;
6030            d[a + 10 | 0] = 32896;
6031            d[a + 11 | 0] = 128;
6032            d[a + 12 | 0] = -2139062144;
6033            d[a + 13 | 0] = 8421504;
6034            d[a + 14 | 0] = 32896;
6035            d[a + 15 | 0] = 128;
6036            d[a + 40 | 0] = -2139062144;
6037            d[a + 41 | 0] = 8421504;
6038            d[a + 42 | 0] = 32896;
6039            d[a + 43 | 0] = 128;
6040            d[a + 44 | 0] = -2139062144;
6041            d[a + 45 | 0] = 8421504;
6042            d[a + 46 | 0] = 32896;
6043            d[a + 47 | 0] = 128;
6044            d[a + 72 | 0] = -2139062144;
6045            d[a + 73 | 0] = 8421504;
6046            d[a + 74 | 0] = 32896;
6047            d[a + 75 | 0] = 128;
6048            d[a + 76 | 0] = -2139062144;
6049            d[a + 77 | 0] = 8421504;
6050            d[a + 78 | 0] = 32896;
6051            d[a + 79 | 0] = 128;
6052            d[a + 104 | 0] = -2139062144;
6053            d[a + 105 | 0] = 8421504;
6054            d[a + 106 | 0] = 32896;
6055            d[a + 107 | 0] = 128;
6056            d[a + 108 | 0] = -2139062144;
6057            d[a + 109 | 0] = 8421504;
6058            d[a + 110 | 0] = 32896;
6059            d[a + 111 | 0] = 128;
6060            d[a + 136 | 0] = -2139062144;
6061            d[a + 137 | 0] = 8421504;
6062            d[a + 138 | 0] = 32896;
6063            d[a + 139 | 0] = 128;
6064            d[a + 140 | 0] = -2139062144;
6065            d[a + 141 | 0] = 8421504;
6066            d[a + 142 | 0] = 32896;
6067            d[a + 143 | 0] = 128;
6068            d[a + 168 | 0] = -2139062144;
6069            d[a + 169 | 0] = 8421504;
6070            d[a + 170 | 0] = 32896;
6071            d[a + 171 | 0] = 128;
6072            d[a + 172 | 0] = -2139062144;
6073            d[a + 173 | 0] = 8421504;
6074            d[a + 174 | 0] = 32896;
6075            d[a + 175 | 0] = 128;
6076            d[a + 200 | 0] = -2139062144;
6077            d[a + 201 | 0] = 8421504;
6078            d[a + 202 | 0] = 32896;
6079            d[a + 203 | 0] = 128;
6080            d[a + 204 | 0] = -2139062144;
6081            d[a + 205 | 0] = 8421504;
6082            d[a + 206 | 0] = 32896;
6083            d[a + 207 | 0] = 128;
6084            d[a + 232 | 0] = -2139062144;
6085            d[a + 233 | 0] = 8421504;
6086            d[a + 234 | 0] = 32896;
6087            d[a + 235 | 0] = 128;
6088            d[a + 236 | 0] = -2139062144;
6089            d[a + 237 | 0] = 8421504;
6090            d[a + 238 | 0] = 32896;
6091            d[a + 239 | 0] = 128;
6092            d[a + 264 | 0] = -2139062144;
6093            d[a + 265 | 0] = 8421504;
6094            d[a + 266 | 0] = 32896;
6095            d[a + 267 | 0] = 128;
6096            d[a + 268 | 0] = -2139062144;
6097            d[a + 269 | 0] = 8421504;
6098            d[a + 270 | 0] = 32896;
6099            d[a + 271 | 0] = 128;
6100            d[a + 296 | 0] = -2139062144;
6101            d[a + 297 | 0] = 8421504;
6102            d[a + 298 | 0] = 32896;
6103            d[a + 299 | 0] = 128;
6104            d[a + 300 | 0] = -2139062144;
6105            d[a + 301 | 0] = 8421504;
6106            d[a + 302 | 0] = 32896;
6107            d[a + 303 | 0] = 128;
6108            d[a + 288 | 0] = -2139062144;
6109            d[a + 289 | 0] = 8421504;
6110            d[a + 290 | 0] = 32896;
6111            d[a + 291 | 0] = 128;
6112            d[a + 292 | 0] = -2139062144;
6113            d[a + 293 | 0] = 8421504;
6114            d[a + 294 | 0] = 32896;
6115            d[a + 295 | 0] = 128;
6116            d[a + 328 | 0] = -2139062144;
6117            d[a + 329 | 0] = 8421504;
6118            d[a + 330 | 0] = 32896;
6119            d[a + 331 | 0] = 128;
6120            d[a + 332 | 0] = -2139062144;
6121            d[a + 333 | 0] = 8421504;
6122            d[a + 334 | 0] = 32896;
6123            d[a + 335 | 0] = 128;
6124            d[a + 320 | 0] = -2139062144;
6125            d[a + 321 | 0] = 8421504;
6126            d[a + 322 | 0] = 32896;
6127            d[a + 323 | 0] = 128;
6128            d[a + 324 | 0] = -2139062144;
6129            d[a + 325 | 0] = 8421504;
6130            d[a + 326 | 0] = 32896;
6131            d[a + 327 | 0] = 128;
6132            d[a + 360 | 0] = -2139062144;
6133            d[a + 361 | 0] = 8421504;
6134            d[a + 362 | 0] = 32896;
6135            d[a + 363 | 0] = 128;
6136            d[a + 364 | 0] = -2139062144;
6137            d[a + 365 | 0] = 8421504;
6138            d[a + 366 | 0] = 32896;
6139            d[a + 367 | 0] = 128;
6140            d[a + 352 | 0] = -2139062144;
6141            d[a + 353 | 0] = 8421504;
6142            d[a + 354 | 0] = 32896;
6143            d[a + 355 | 0] = 128;
6144            d[a + 356 | 0] = -2139062144;
6145            d[a + 357 | 0] = 8421504;
6146            d[a + 358 | 0] = 32896;
6147            d[a + 359 | 0] = 128;
6148            d[a + 392 | 0] = -2139062144;
6149            d[a + 393 | 0] = 8421504;
6150            d[a + 394 | 0] = 32896;
6151            d[a + 395 | 0] = 128;
6152            d[a + 396 | 0] = -2139062144;
6153            d[a + 397 | 0] = 8421504;
6154            d[a + 398 | 0] = 32896;
6155            d[a + 399 | 0] = 128;
6156            d[a + 384 | 0] = -2139062144;
6157            d[a + 385 | 0] = 8421504;
6158            d[a + 386 | 0] = 32896;
6159            d[a + 387 | 0] = 128;
6160            d[a + 388 | 0] = -2139062144;
6161            d[a + 389 | 0] = 8421504;
6162            d[a + 390 | 0] = 32896;
6163            d[a + 391 | 0] = 128;
6164            d[a + 424 | 0] = -2139062144;
6165            d[a + 425 | 0] = 8421504;
6166            d[a + 426 | 0] = 32896;
6167            d[a + 427 | 0] = 128;
6168            d[a + 428 | 0] = -2139062144;
6169            d[a + 429 | 0] = 8421504;
6170            d[a + 430 | 0] = 32896;
6171            d[a + 431 | 0] = 128;
6172            d[a + 416 | 0] = -2139062144;
6173            d[a + 417 | 0] = 8421504;
6174            d[a + 418 | 0] = 32896;
6175            d[a + 419 | 0] = 128;
6176            d[a + 420 | 0] = -2139062144;
6177            d[a + 421 | 0] = 8421504;
6178            d[a + 422 | 0] = 32896;
6179            d[a + 423 | 0] = 128;
6180            d[a + 456 | 0] = -2139062144;
6181            d[a + 457 | 0] = 8421504;
6182            d[a + 458 | 0] = 32896;
6183            d[a + 459 | 0] = 128;
6184            d[a + 460 | 0] = -2139062144;
6185            d[a + 461 | 0] = 8421504;
6186            d[a + 462 | 0] = 32896;
6187            d[a + 463 | 0] = 128;
6188            d[a + 448 | 0] = -2139062144;
6189            d[a + 449 | 0] = 8421504;
6190            d[a + 450 | 0] = 32896;
6191            d[a + 451 | 0] = 128;
6192            d[a + 452 | 0] = -2139062144;
6193            d[a + 453 | 0] = 8421504;
6194            d[a + 454 | 0] = 32896;
6195            d[a + 455 | 0] = 128;
6196            d[a + 488 | 0] = -2139062144;
6197            d[a + 489 | 0] = 8421504;
6198            d[a + 490 | 0] = 32896;
6199            d[a + 491 | 0] = 128;
6200            d[a + 492 | 0] = -2139062144;
6201            d[a + 493 | 0] = 8421504;
6202            d[a + 494 | 0] = 32896;
6203            d[a + 495 | 0] = 128;
6204            d[a + 480 | 0] = -2139062144;
6205            d[a + 481 | 0] = 8421504;
6206            d[a + 482 | 0] = 32896;
6207            d[a + 483 | 0] = 128;
6208            d[a + 484 | 0] = -2139062144;
6209            d[a + 485 | 0] = 8421504;
6210            d[a + 486 | 0] = 32896;
6211            d[a + 487 | 0] = 128;
6212          }
6213          function gc(a) {
6214            a = a | 0;
6215            var b = 0,
6216              c = 0,
6217              e = 0,
6218              f = 0,
6219              h = 0,
6220              i = 0;
6221            b = a;
6222            h = b + -32 | 0;
6223            e = h;
6224            f = g[e + 4 | 0] | g[e + 5 | 0] << 8 | (g[e + 6 | 0] << 16 | g[e + 7 | 0] << 24);
6225            a = g[e | 0] | g[e + 1 | 0] << 8 | (g[e + 2 | 0] << 16 | g[e + 3 | 0] << 24);
6226            c = a;
6227            d[b | 0] = c;
6228            d[b + 1 | 0] = c >>> 8;
6229            d[b + 2 | 0] = c >>> 16;
6230            d[b + 3 | 0] = c >>> 24;
6231            d[b + 4 | 0] = f;
6232            d[b + 5 | 0] = f >>> 8;
6233            d[b + 6 | 0] = f >>> 16;
6234            d[b + 7 | 0] = f >>> 24;
6235            d[b + 32 | 0] = c;
6236            d[b + 33 | 0] = c >>> 8;
6237            d[b + 34 | 0] = c >>> 16;
6238            d[b + 35 | 0] = c >>> 24;
6239            d[b + 36 | 0] = f;
6240            d[b + 37 | 0] = f >>> 8;
6241            d[b + 38 | 0] = f >>> 16;
6242            d[b + 39 | 0] = f >>> 24;
6243            d[b + 64 | 0] = c;
6244            d[b + 65 | 0] = c >>> 8;
6245            d[b + 66 | 0] = c >>> 16;
6246            d[b + 67 | 0] = c >>> 24;
6247            d[b + 68 | 0] = f;
6248            d[b + 69 | 0] = f >>> 8;
6249            d[b + 70 | 0] = f >>> 16;
6250            d[b + 71 | 0] = f >>> 24;
6251            d[b + 96 | 0] = c;
6252            d[b + 97 | 0] = c >>> 8;
6253            d[b + 98 | 0] = c >>> 16;
6254            d[b + 99 | 0] = c >>> 24;
6255            d[b + 100 | 0] = f;
6256            d[b + 101 | 0] = f >>> 8;
6257            d[b + 102 | 0] = f >>> 16;
6258            d[b + 103 | 0] = f >>> 24;
6259            d[b + 128 | 0] = c;
6260            d[b + 129 | 0] = c >>> 8;
6261            d[b + 130 | 0] = c >>> 16;
6262            d[b + 131 | 0] = c >>> 24;
6263            d[b + 132 | 0] = f;
6264            d[b + 133 | 0] = f >>> 8;
6265            d[b + 134 | 0] = f >>> 16;
6266            d[b + 135 | 0] = f >>> 24;
6267            d[b + 160 | 0] = c;
6268            d[b + 161 | 0] = c >>> 8;
6269            d[b + 162 | 0] = c >>> 16;
6270            d[b + 163 | 0] = c >>> 24;
6271            d[b + 164 | 0] = f;
6272            d[b + 165 | 0] = f >>> 8;
6273            d[b + 166 | 0] = f >>> 16;
6274            d[b + 167 | 0] = f >>> 24;
6275            d[b + 192 | 0] = c;
6276            d[b + 193 | 0] = c >>> 8;
6277            d[b + 194 | 0] = c >>> 16;
6278            d[b + 195 | 0] = c >>> 24;
6279            d[b + 196 | 0] = f;
6280            d[b + 197 | 0] = f >>> 8;
6281            d[b + 198 | 0] = f >>> 16;
6282            d[b + 199 | 0] = f >>> 24;
6283            d[b + 224 | 0] = c;
6284            d[b + 225 | 0] = c >>> 8;
6285            d[b + 226 | 0] = c >>> 16;
6286            d[b + 227 | 0] = c >>> 24;
6287            d[b + 228 | 0] = f;
6288            d[b + 229 | 0] = f >>> 8;
6289            d[b + 230 | 0] = f >>> 16;
6290            d[b + 231 | 0] = f >>> 24;
6291            f = e + 8 | 0;
6292            e = g[f + 4 | 0] | g[f + 5 | 0] << 8 | (g[f + 6 | 0] << 16 | g[f + 7 | 0] << 24);
6293            a = g[f | 0] | g[f + 1 | 0] << 8 | (g[f + 2 | 0] << 16 | g[f + 3 | 0] << 24);
6294            c = a;
6295            d[b + 8 | 0] = c;
6296            d[b + 9 | 0] = c >>> 8;
6297            d[b + 10 | 0] = c >>> 16;
6298            d[b + 11 | 0] = c >>> 24;
6299            d[b + 12 | 0] = e;
6300            d[b + 13 | 0] = e >>> 8;
6301            d[b + 14 | 0] = e >>> 16;
6302            d[b + 15 | 0] = e >>> 24;
6303            d[b + 40 | 0] = c;
6304            d[b + 41 | 0] = c >>> 8;
6305            d[b + 42 | 0] = c >>> 16;
6306            d[b + 43 | 0] = c >>> 24;
6307            d[b + 44 | 0] = e;
6308            d[b + 45 | 0] = e >>> 8;
6309            d[b + 46 | 0] = e >>> 16;
6310            d[b + 47 | 0] = e >>> 24;
6311            d[b + 72 | 0] = c;
6312            d[b + 73 | 0] = c >>> 8;
6313            d[b + 74 | 0] = c >>> 16;
6314            d[b + 75 | 0] = c >>> 24;
6315            d[b + 76 | 0] = e;
6316            d[b + 77 | 0] = e >>> 8;
6317            d[b + 78 | 0] = e >>> 16;
6318            d[b + 79 | 0] = e >>> 24;
6319            d[b + 104 | 0] = c;
6320            d[b + 105 | 0] = c >>> 8;
6321            d[b + 106 | 0] = c >>> 16;
6322            d[b + 107 | 0] = c >>> 24;
6323            d[b + 108 | 0] = e;
6324            d[b + 109 | 0] = e >>> 8;
6325            d[b + 110 | 0] = e >>> 16;
6326            d[b + 111 | 0] = e >>> 24;
6327            d[b + 136 | 0] = c;
6328            d[b + 137 | 0] = c >>> 8;
6329            d[b + 138 | 0] = c >>> 16;
6330            d[b + 139 | 0] = c >>> 24;
6331            d[b + 140 | 0] = e;
6332            d[b + 141 | 0] = e >>> 8;
6333            d[b + 142 | 0] = e >>> 16;
6334            d[b + 143 | 0] = e >>> 24;
6335            d[b + 168 | 0] = c;
6336            d[b + 169 | 0] = c >>> 8;
6337            d[b + 170 | 0] = c >>> 16;
6338            d[b + 171 | 0] = c >>> 24;
6339            d[b + 172 | 0] = e;
6340            d[b + 173 | 0] = e >>> 8;
6341            d[b + 174 | 0] = e >>> 16;
6342            d[b + 175 | 0] = e >>> 24;
6343            d[b + 200 | 0] = c;
6344            d[b + 201 | 0] = c >>> 8;
6345            d[b + 202 | 0] = c >>> 16;
6346            d[b + 203 | 0] = c >>> 24;
6347            d[b + 204 | 0] = e;
6348            d[b + 205 | 0] = e >>> 8;
6349            d[b + 206 | 0] = e >>> 16;
6350            d[b + 207 | 0] = e >>> 24;
6351            d[b + 232 | 0] = c;
6352            d[b + 233 | 0] = c >>> 8;
6353            d[b + 234 | 0] = c >>> 16;
6354            d[b + 235 | 0] = c >>> 24;
6355            d[b + 236 | 0] = e;
6356            d[b + 237 | 0] = e >>> 8;
6357            d[b + 238 | 0] = e >>> 16;
6358            d[b + 239 | 0] = e >>> 24;
6359            e = g[f + 4 | 0] | g[f + 5 | 0] << 8 | (g[f + 6 | 0] << 16 | g[f + 7 | 0] << 24);
6360            i = e;
6361            c = g[f | 0] | g[f + 1 | 0] << 8 | (g[f + 2 | 0] << 16 | g[f + 3 | 0] << 24);
6362            d[b + 264 | 0] = c;
6363            d[b + 265 | 0] = c >>> 8;
6364            d[b + 266 | 0] = c >>> 16;
6365            d[b + 267 | 0] = c >>> 24;
6366            d[b + 268 | 0] = e;
6367            d[
vendor: 4,757 bytes, lines 6367-6493
6367b + 269 | 0] = e >>> 8;
6368            d[b + 270 | 0] = e >>> 16;
6369            d[b + 271 | 0] = e >>> 24;
6370            e = g[h + 4 | 0] | g[h + 5 | 0] << 8 | (g[h + 6 | 0] << 16 | g[h + 7 | 0] << 24);
6371            a = g[h | 0] | g[h + 1 | 0] << 8 | (g[h + 2 | 0] << 16 | g[h + 3 | 0] << 24);
6372            h = a;
6373            d[b + 256 | 0] = h;
6374            d[b + 257 | 0] = h >>> 8;
6375            d[b + 258 | 0] = h >>> 16;
6376            d[b + 259 | 0] = h >>> 24;
6377            d[b + 260 | 0] = e;
6378            d[b + 261 | 0] = e >>> 8;
6379            d[b + 262 | 0] = e >>> 16;
6380            d[b + 263 | 0] = e >>> 24;
6381            d[b + 296 | 0] = c;
6382            d[b + 297 | 0] = c >>> 8;
6383            d[b + 298 | 0] = c >>> 16;
6384            d[b + 299 | 0] = c >>> 24;
6385            d[b + 300 | 0] = i;
6386            d[b + 301 | 0] = i >>> 8;
6387            d[b + 302 | 0] = i >>> 16;
6388            d[b + 303 | 0] = i >>> 24;
6389            d[b + 288 | 0] = h;
6390            d[b + 289 | 0] = h >>> 8;
6391            d[b + 290 | 0] = h >>> 16;
6392            d[b + 291 | 0] = h >>> 24;
6393            d[b + 292 | 0] = e;
6394            d[b + 293 | 0] = e >>> 8;
6395            d[b + 294 | 0] = e >>> 16;
6396            d[b + 295 | 0] = e >>> 24;
6397            d[b + 328 | 0] = c;
6398            d[b + 329 | 0] = c >>> 8;
6399            d[b + 330 | 0] = c >>> 16;
6400            d[b + 331 | 0] = c >>> 24;
6401            d[b + 332 | 0] = i;
6402            d[b + 333 | 0] = i >>> 8;
6403            d[b + 334 | 0] = i >>> 16;
6404            d[b + 335 | 0] = i >>> 24;
6405            d[b + 320 | 0] = h;
6406            d[b + 321 | 0] = h >>> 8;
6407            d[b + 322 | 0] = h >>> 16;
6408            d[b + 323 | 0] = h >>> 24;
6409            d[b + 324 | 0] = e;
6410            d[b + 325 | 0] = e >>> 8;
6411            d[b + 326 | 0] = e >>> 16;
6412            d[b + 327 | 0] = e >>> 24;
6413            d[b + 360 | 0] = c;
6414            d[b + 361 | 0] = c >>> 8;
6415            d[b + 362 | 0] = c >>> 16;
6416            d[b + 363 | 0] = c >>> 24;
6417            d[b + 364 | 0] = i;
6418            d[b + 365 | 0] = i >>> 8;
6419            d[b + 366 | 0] = i >>> 16;
6420            d[b + 367 | 0] = i >>> 24;
6421            d[b + 352 | 0] = h;
6422            d[b + 353 | 0] = h >>> 8;
6423            d[b + 354 | 0] = h >>> 16;
6424            d[b + 355 | 0] = h >>> 24;
6425            d[b + 356 | 0] = e;
6426            d[b + 357 | 0] = e >>> 8;
6427            d[b + 358 | 0] = e >>> 16;
6428            d[b + 359 | 0] = e >>> 24;
6429            d[b + 384 | 0] = h;
6430            d[b + 385 | 0] = h >>> 8;
6431            d[b + 386 | 0] = h >>> 16;
6432            d[b + 387 | 0] = h >>> 24;
6433            d[b + 388 | 0] = e;
6434            d[b + 389 | 0] = e >>> 8;
6435            d[b + 390 | 0] = e >>> 16;
6436            d[b + 391 | 0] = e >>> 24;
6437            d[b + 392 | 0] = c;
6438            d[b + 393 | 0] = c >>> 8;
6439            d[b + 394 | 0] = c >>> 16;
6440            d[b + 395 | 0] = c >>> 24;
6441            d[b + 396 | 0] = i;
6442            d[b + 397 | 0] = i >>> 8;
6443            d[b + 398 | 0] = i >>> 16;
6444            d[b + 399 | 0] = i >>> 24;
6445            d[b + 424 | 0] = c;
6446            d[b + 425 | 0] = c >>> 8;
6447            d[b + 426 | 0] = c >>> 16;
6448            d[b + 427 | 0] = c >>> 24;
6449            d[b + 428 | 0] = i;
6450            d[b + 429 | 0] = i >>> 8;
6451            d[b + 430 | 0] = i >>> 16;
6452            d[b + 431 | 0] = i >>> 24;
6453            d[b + 416 | 0] = h;
6454            d[b + 417 | 0] = h >>> 8;
6455            d[b + 418 | 0] = h >>> 16;
6456            d[b + 419 | 0] = h >>> 24;
6457            d[b + 420 | 0] = e;
6458            d[b + 421 | 0] = e >>> 8;
6459            d[b + 422 | 0] = e >>> 16;
6460            d[b + 423 | 0] = e >>> 24;
6461            d[b + 448 | 0] = h;
6462            d[b + 449 | 0] = h >>> 8;
6463            d[b + 450 | 0] = h >>> 16;
6464            d[b + 451 | 0] = h >>> 24;
6465            d[b + 452 | 0] = e;
6466            d[b + 453 | 0] = e >>> 8;
6467            d[b + 454 | 0] = e >>> 16;
6468            d[b + 455 | 0] = e >>> 24;
6469            d[b + 456 | 0] = c;
6470            d[b + 457 | 0] = c >>> 8;
6471            d[b + 458 | 0] = c >>> 16;
6472            d[b + 459 | 0] = c >>> 24;
6473            d[b + 460 | 0] = i;
6474            d[b + 461 | 0] = i >>> 8;
6475            d[b + 462 | 0] = i >>> 16;
6476            d[b + 463 | 0] = i >>> 24;
6477            d[b + 488 | 0] = c;
6478            d[b + 489 | 0] = c >>> 8;
6479            d[b + 490 | 0] = c >>> 16;
6480            d[b + 491 | 0] = c >>> 24;
6481            d[b + 492 | 0] = i;
6482            d[b + 493 | 0] = i >>> 8;
6483            d[b + 494 | 0] = i >>> 16;
6484            d[b + 495 | 0] = i >>> 24;
6485            d[b + 480 | 0] = h;
6486            d[b + 481 | 0] = h >>> 8;
6487            d[b + 482 | 0] = h >>> 16;
6488            d[b + 483 | 0] = h >>> 24;
6489            d[b + 484 | 0] = e;
6490            d[b + 485 | 0] = e >>> 8;
6491            d[b + 486 | 0] = e >>> 16;
6492            d[b + 487 | 0] = e >>> 24;
6493          }
6494          function Je(a, b, h, i, j) {
6495            var m = 0,
6496              n = 0,
6497              o = 0,
6498              p = 0,
6499              q = 0,
6500              r = 0,
6501              s = 0,
6502              t = 0,
6503              u = 0,
6504              v = 0,
6505              w = 0,
6506              x = 0,
6507              y = 0,
6508              z = 0,
6509              A = 0;
6510            m = L - 80 | 0;
6511            L = m;
6512            f[m + 76 >> 2] = b;
6513            A = m + 55 | 0;
6514            x = m + 56 | 0;
6515            b = 0;
6516            a: {
6517              b: while (1) {
6518                c: {
6519                  if ((u | 0) < 0) {
6520                    break c;
6521                  }
6522                  if ((b | 0) > (2147483647 - u | 0)) {
6523                    f[2865] = 61;
6524                    u = -1;
6525                    break c;
6526                  }
6527                  u = b + u | 0;
6528                }
6529                d: {
6530                  e: {
6531                    f: {
6532                      p = f[m + 76 >> 2];
6533                      b = p;
6534                      n = g[b | 0];
6535                      if (n) {
6536                        while (1) {
6537                          g: {
6538                            n = n & 255;
6539                            h: {
6540                              if (!n) {
6541                                n = b;
6542                                break h;
6543                              }
6544                              if ((n | 0) != 37) {
6545                                break g;
6546                              }
6547                              n = b;
6548                              while (1) {
6549                                if (g[b + 1 | 0] != 37) {
6550                                  break h;
6551                                }
6552                                o = b + 2 | 0;
6553                                f[m + 76 >> 2] = o;
6554                                n = n + 1 | 0;
6555                                q = g[b + 2 | 0];
6556                                b = o;
6557                                if ((q | 0) == 37) {
6558                                  continue;
6559                                }
6560                                break;
6561                              }
6562                            }
6563                            b = n - p | 0;
6564                            if (a) {
6565                              Ke(a, p, b);
6566                            }
6567                            if (b) {
6568                              continue b;
6569                            }
6570                            n = m;
6571                            o = !Ee(d[f[m + 76 >> 2] + 1 | 0]);
6572                            b = f[m + 76 >> 2];
6573                            i: {
6574                              if (!(o | g[b + 2 | 0] != 36)) {
6575                                w = d[b + 1 | 0] + -48 | 0;
6576                                y = 1;
6577                                b = b + 3 | 0;
6578                                break i;
6579                              }
6580                              w = -1;
6581                              b = b + 1 | 0;
6582                            }
6583                            f[n + 76 >> 2] = b;
6584                            r = 0;
6585                            v = d[b | 0];
6586                            o = v + -32 | 0;
6587                            j: {
6588                              if (o >>> 0 > 31) {
6589                                n = b;
6590                                break j;
6591                              }
6592                              n = b;
6593                              o = 1 << o;
6594                              if (!(o & 75913)) {
6595                                break j;
6596                              }
6597                              while (1) {
6598                                n = b + 1 | 0;
6599                                f[m + 76 >> 2] = n;
6600                                r = o | r;
6601                                v = d[b + 1 | 0];
6602                                o = v + -32 | 0;
6603                                if (o >>> 0 >= 32) {
6604                                  break j;
6605                                }
6606                                b = n;
6607                                o = 1 << o;
6608                                if (o & 75913) {
6609                                  continue;
6610                                }
6611                                break;
6612                              }
6613                            }
6614                            k: {
6615                              if ((v | 0) == 42) {
6616                                o = m;
6617                                l: {
6618                                  m: {
6619                                    if (!Ee(d[n + 1 | 0])) {
6620                                      break m;
6621                                    }
6622                                    b = f[m + 76 >> 2];
6623                                    if (g[b + 2 | 0] != 36) {
6624                                      break m;
6625                                    }
6626                                    f[((d[b + 1 | 0] << 2) + j | 0) + -192 >> 2] = 10;
6627                                    s = f[((d[b + 1 | 0] << 3) + i | 0) + -384 >> 2];
6628                                    y = 1;
6629                                    b = b + 3 | 0;
6630                                    break l;
6631                                  }
6632                                  if (y) {
6633                                    break f;
6634                                  }
6635                                  y = 0;
6636                                  s = 0;
6637                                  if (a) {
6638                                    b = f[h >> 2];
6639                                    f[h >> 2] = b + 4;
6640                                    s = f[b >> 2];
6641                                  }
6642                                  b = f[m + 76 >> 2] + 1 | 0;
6643                                }
6644                                f[o + 76 >> 2] = b;
6645                                if ((s | 0) > -1) {
6646                                  break k;
6647                                }
6648                                s = 0 - s | 0;
6649                                r = r | 8192;
6650                                break k;
6651                              }
6652                              s = Le(m + 76 | 0);
6653                              if ((s | 0) < 0) {
6654                                break f;
6655                              }
6656                              b = f[m + 76 >> 2];
6657                            }
6658                            q = -1;
6659                            n: {
6660                              if (g[b | 0] != 46) {
6661                                break n;
6662                              }
6663                              if (g[b + 1 | 0] == 42) {
6664                                o: {
6665                                  if (!Ee(d[b + 2 | 0])) {
6666                                    break o;
6667                                  }
6668                                  b = f[m + 76 >> 2];
6669                                  if (g[b + 3 | 0] != 36) {
6670                                    break o;
6671                                  }
6672                                  f[((d[b + 2 | 0] << 2) + j | 0) + -192 >> 2] = 10;
6673                                  q = f[((d[b + 2 | 0] << 3) + i | 0) + -384 >> 2];
6674                                  b = b + 4 | 0;
6675                                  f[m + 76 >> 2] = b;
6676                                  break n;
6677                                }
6678                                if (y) {
6679                                  break f;
6680                                }
6681                                if (a) {
6682                                  b = f[h >> 2];
6683                                  f[h >> 2] = b + 4;
6684                                  q = f[b >> 2];
6685                                } else {
6686                                  q = 0;
6687                                }
6688                                b = f[m + 76 >> 2] + 2 | 0;
6689                                f[m + 76 >> 2] = b;
6690                                break n;
6691                              }
6692                              f[m + 76 >> 2] = b + 1;
6693                              q = Le(m + 76 | 0);
6694                              b = f[m + 76 >> 2];
6695                            }
6696                            n = 0;
6697                            while (1) {
6698                              z = n;
6699                              t = -1;
6700                              if (d[b | 0] + -65 >>> 0 > 57) {
6701                                break a;
6702                              }
6703                              v = b + 1 | 0;
6704                              f[m + 76 >> 2] = v;
6705                              n = d[b | 0];
6706                              b = v;
6707                              n = g[(n + l(z, 58) | 0) + 9599 | 0];
6708                              if (n + -1 >>> 0 < 8) {
6709                                continue;
6710                              }
6711                              break;
6712                            }
6713                            p: {
6714                              q: {
6715                                if ((n | 0) != 19) {
6716                                  if (!n) {
6717                                    break a;
6718                                  }
6719                                  if ((w | 0) >= 0) {
6720                                    f[(w << 2) + j >> 2] = n;
6721                                    b = (w << 3) + i | 0;
6722                                    n = f[b + 4 >> 2];
6723                                    f[m + 64 >> 2] = f[b >> 2];
6724                                    f[m + 68 >> 2] = n;
6725                                    break q;
6726                                  }
6727                                  if (!a) {
6728                                    break d;
6729                                  }
6730                                  Me(m - -64 | 0, n, h);
6731                                  v = f[m + 76 >> 2];
6732                                  break p;
6733                                }
6734                                if ((w | 0) > -1) {
6735                                  break a;
6736                                }
6737                              }
6738                              b = 0;
6739                              if (!a) {
6740                                continue b;
6741                              }
6742                            }
6743                            o = r & -65537;
6744                            n = r & 8192 ? o : r;
6745                            t = 0;
6746                            w = 9644;
6747                            r = x;
6748                            r: {
6749                              s: {
6750                                t: {
6751                                  u: {
6752                                    v: {
6753                                      w: {
6754                                        x: {
6755                                          y: {
6756                                            z: {
6757                                              A: {
6758                                                B: {
6759                                                  C: {
6760                                                    D: {
6761                                                      E: {
6762                                                        F: {
6763                                                          G: {
6764                                                            b = d[v + -1 | 0];
6765                                                            b = z ? (b & 15) == 3 ? b & -33 : b : b;
6766                                                            switch (b + -88 | 0) {
6767                                                              case 11:
6768                                                                break r;
6769                                                              case 9:
6770                                                              case 13:
6771                                                              case 14:
6772                                                              case 15:
6773                                                                break s;
6774                                                              case 27:
6775                                                                break x;
6776                                                              case 12:
6777                                                              case 17:
6778                                                                break A;
6779                                                              case 23:
6780                                                                break B;
6781                                                              case 0:
6782                                                              case 32:
6783                                                                break C;
6784                                                              case 24:
6785                                                                break D;
6786                                                              case 22:
6787                                                                break E;
6788                                                              case 29:
6789                                                                break F;
6790                                                              case 1:
6791                                                              case 2:
6792                                                              case 3:
6793                                                              case 4:
6794                                                              case 5:
6795                                                              case 6:
6796                                                              case 7:
6797                                                              case 8:
6798                                                              case 10:
6799                                                              case 16:
6800                                                              case 18:
6801                                                              case 19:
6802                                                              case 20:
6803                                                              case 21:
6804                                                              case 25:
6805                                                              case 26:
6806                                                              case 28:
6807                                                              case 30:
6808                                                              case 31:
6809                                                                break e;
6810                                                              default:
6811                                                                break G;
6812                                                            }
6813                                                          }
6814                                                          H: {
6815                                                            switch (b + -65 | 0) {
6816                                                              case 0:
6817                                                              case 4:
6818                                                              case 5:
6819                                                              case 6:
6820                                                                break s;
6821                                                              case 2:
6822                                                                break v;
6823                                                              case 1:
6824                                                              case 3:
6825                                                                break e;
6826                                                              default:
6827                                                                break H;
6828                                                            }
6829                                                          }
6830                                                          if ((b | 0) == 83) {
6831                                                            break w;
6832                                                          }
6833                                                          break e;
6834                                                        }
6835                                                        b = f[m + 64 >> 2];
6836                                                        p = f[m + 68 >> 2];
6837                                             
6837           w = 9644;
6838                                                        break z;
6839                                                      }
6840                                                      b = 0;
6841                                                      I: {
6842                                                        switch (z & 255) {
6843                                                          case 0:
6844                                                            f[f[m + 64 >> 2] >> 2] = u;
6845                                                            continue b;
6846                                                          case 1:
6847                                                            f[f[m + 64 >> 2] >> 2] = u;
6848                                                            continue b;
6849                                                          case 2:
6850                                                            n = f[m + 64 >> 2];
6851                                                            f[n >> 2] = u;
6852                                                            f[n + 4 >> 2] = u >> 31;
6853                                                            continue b;
6854                                                          case 3:
6855                                                            e[f[m + 64 >> 2] >> 1] = u;
6856                                                            continue b;
6857                                                          case 4:
6858                                                            d[f[m + 64 >> 2]] = u;
6859                                                            continue b;
6860                                                          case 6:
6861                                                            f[f[m + 64 >> 2] >> 2] = u;
6862                                                            continue b;
6863                                                          case 7:
6864                                                            break I;
6865                                                          default:
6866                                                            continue b;
6867                                                        }
6868                                                      }
6869                                                      n = f[m + 64 >> 2];
6870                                                      f[n >> 2] = u;
6871                                                      f[n + 4 >> 2] = u >> 31;
6872                                                      continue b;
6873                                                    }
6874                                                    q = q >>> 0 > 8 ? q : 8;
6875                                                    n = n | 8;
6876                                                    b = 120;
6877                                                  }
6878                                                  p = Ne(f[m + 64 >> 2], f[m + 68 >> 2], x, b & 32);
6879                                                  if (!(n & 8) | !(f[m + 64 >> 2] | f[m + 68 >> 2])) {
6880                                                    break y;
6881                                                  }
6882                                                  w = (b >>> 4 | 0) + 9644 | 0;
6883                                                  t = 2;
6884                                                  break y;
6885                                                }
6886                                                p = Oe(f[m + 64 >> 2], f[m + 68 >> 2], x);
6887                                                if (!(n & 8)) {
6888                                                  break y;
6889                                                }
6890                                                b = x - p | 0;
6891                                                q = (q | 0) > (b | 0) ? q : b + 1 | 0;
6892                                                break y;
6893                                              }
6894                                              o = f[m + 68 >> 2];
6895                                              p = o;
6896                                              b = f[m + 64 >> 2];
6897                                              if ((o | 0) < -1 ? 1 : (o | 0) <= -1) {
6898                                                p = 0 - (p + (0 < b >>> 0) | 0) | 0;
6899                                                b = 0 - b | 0;
6900                                                f[m + 64 >> 2] = b;
6901                                                f[m + 68 >> 2] = p;
6902                                                t = 1;
6903                                                w = 9644;
6904                                                break z;
6905                                              }
6906                                              if (n & 2048) {
6907                                                t = 1;
6908                                                w = 9645;
6909                                                break z;
6910                                              }
6911                                              t = n & 1;
6912                                              w = t ? 9646 : 9644;
6913                                            }
6914                                            p = Pe(b, p, x);
6915                                          }
6916                                          n = (q | 0) > -1 ? n & -65537 : n;
6917                                          b = f[m + 64 >> 2];
6918                                          o = f[m + 68 >> 2];
6919                                          if (!(!!(b | o) | q)) {
6920                                            q = 0;
6921                                            p = x;
6922                                            break e;
6923                                          }
6924                                          b = !(b | o) + (x - p | 0) | 0;
6925                                          q = (q | 0) > (b | 0) ? q : b;
6926                                          break e;
6927                                        }
6928                                        b = f[m + 64 >> 2];
6929                                        p = b ? b : 9654;
6930                                        b = Fe(p, q);
6931                                        r = b ? b : q + p | 0;
6932                                        n = o;
6933                                        q = b ? b - p | 0 : q;
6934                                        break e;
6935                                      }
6936                                      o = f[m + 64 >> 2];
6937                                      if (q) {
6938                                        break u;
6939                                      }
6940                                      b = 0;
6941                                      Qe(a, 32, s, 0, n);
6942                                      break t;
6943                                    }
6944                                    f[m + 12 >> 2] = 0;
6945                                    f[m + 8 >> 2] = f[m + 64 >> 2];
6946                                    f[m + 64 >> 2] = m + 8;
6947                                    q = -1;
6948                                    o = m + 8 | 0;
6949                                  }
6950                                  b = 0;
6951                                  J: {
6952                                    while (1) {
6953                                      p = f[o >> 2];
6954                                      if (!p) {
6955                                        break J;
6956                                      }
6957                                      p = He(m + 4 | 0, p);
6958                                      r = (p | 0) < 0;
6959                                      if (!(r | p >>> 0 > q - b >>> 0)) {
6960                                        o = o + 4 | 0;
6961                                        b = b + p | 0;
6962                                        if (q >>> 0 > b >>> 0) {
6963                                          continue;
6964                                        }
6965                                        break J;
6966                                      }
6967                                      break;
6968                                    }
6969                                    t = -1;
6970                                    if (r) {
6971                                      break a;
6972                                    }
6973                                  }
6974                                  Qe(a, 32, s, b, n);
6975                                  if (!b) {
6976                                    b = 0;
6977                                    break t;
6978                                  }
6979                                  v = 0;
6980                                  o = f[m + 64 >> 2];
6981                                  while (1) {
6982                                    p = f[o >> 2];
6983                                    if (!p) {
6984                                      break t;
6985                                    }
6986                                    p = He(m + 4 | 0, p);
6987                                    v = p + v | 0;
6988                                    if ((v | 0) > (b | 0)) {
6989                                      break t;
6990                                    }
6991                                    Ke(a, m + 4 | 0, p);
6992                                    o = o + 4 | 0;
6993                                    if (v >>> 0 < b >>> 0) {
6994                                      continue;
6995                                    }
6996                                    break;
6997                                  }
6998                                }
6999                                Qe(a, 32, s, b, n ^ 8192);
7000                                b = (s | 0) > (b | 0) ? s : b;
7001                                continue b;
7002                              }
7003                              b = c[0](a, k[m + 64 >> 3], s, q, n, b) | 0;
7004                              continue b;
7005                            }
7006                            d[m + 55 | 0] = f[m + 64 >> 2];
7007                            q = 1;
7008                            p = A;
7009                            n = o;
7010                            break e;
7011                          }
7012                          o = b + 1 | 0;
7013                          f[m + 76 >> 2] = o;
7014                          n = g[b + 1 | 0];
7015                          b = o;
7016                          continue;
7017                        }
7018                      }
7019                      t = u;
7020                      if (a) {
7021                        break a;
7022                      }
7023                      if (!y) {
7024                        break d;
7025                      }
7026                      b = 1;
7027                      while (1) {
7028                        a = f[(b << 2) + j >> 2];
7029                        if (a) {
7030                          Me((b << 3) + i | 0, a, h);
7031                          t = 1;
7032                          b = b + 1 | 0;
7033                          if ((b | 0) != 10) {
7034                            continue;
7035                          }
7036                          break a;
7037                        }
7038                        break;
7039                      }
7040                      t = 1;
7041                      if (b >>> 0 >= 10) {
7042                        break a;
7043                      }
7044                      while (1) {
7045                        if (f[(b << 2) + j >> 2]) {
7046                          break f;
7047                        }
7048                        b = b + 1 | 0;
7049                        if ((b | 0) != 10) {
7050                          continue;
7051                        }
7052                        break;
7053                      }
7054                      break a;
7055                    }
7056                    t = -1;
7057                    break a;
7058                  }
7059                  r = r - p | 0;
7060                  q = (q | 0) < (r | 0) ? r : q;
7061                  o = q + t | 0;
7062                  b = (s | 0) < (o | 0) ? o : s;
7063                  Qe(a, 32, b, o, n);
7064                  Ke(a, w, t);
7065                  Qe(a, 48, b, o, n ^ 65536);
7066                  Qe(a, 48, q, r, 0);
7067                  Ke(a, p, r);
7068                  Qe(a, 32, b, o, n ^ 8192);
7069                  continue;
7070                }
7071                break;
7072              }
7073              t = 0;
7074            }
7075            L = m + 80 | 0;
7076            return t;
7077          }
7078          function dc(a) {
7079            a = a | 0;
7080            var b = 0,
7081              c = 0;
7082            b = a;
7083            a = xf((g[b + -17 | 0] + (g[b + -18 | 0] + (g[b + -19 | 0] + (g[b + -20 | 0] + (g[b + -21 | 0] + (g[b + -22 | 0] + (g[b + -23 | 0] + (g[b + -24 | 0] + (g[b + -25 | 0] + (g[b + -26 | 0] + (g[b + -27 | 0] + (g[b + -28 | 0] + (g[b + -29 | 0] + (g[b + -30 | 0] + (g[b + -32 | 0] + g[b + -31 | 0] | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) + 8 >>> 4 & 255, 0, 16843009, 16843009);
7084            d[b | 0] = a;
7085            d[b + 1 | 0] = a >>> 8;
7086            d[b + 2 | 0] = a >>> 16;
7087            d[b + 3 | 0] = a >>> 24;
7088            c = N;
7089            d[b + 4 | 0] = c;
7090            d[b + 5 | 0] = c >>> 8;
7091            d[b + 6 | 0] = c >>> 16;
7092            d[b + 7 | 0] = c >>> 24;
7093            d[b + 8 | 0] = a;
7094            d[b + 9 | 0] = a >>> 8;
7095            d[b + 10 | 0] = a >>> 16;
7096            d[b + 11 | 0] = a >>> 24;
7097            d[b + 12 | 0] = c;
7098            d[b + 13 | 0] = c >>> 8;
7099            d[b + 14 | 0] = c >>> 16;
7100            d[b + 15 | 0] = c >>> 24;
7101            d[b + 40 | 0] = a;
7102            d[b + 41 | 0] = a >>> 8;
7103            d[b + 42 | 0] = a >>> 16;
7104            d[b + 43 | 0] = a >>> 24;
7105            d[b + 44 | 0] = c;
7106            d[b + 45 | 0] = c >>> 8;
7107            d[b + 46 | 0] = c >>> 16;
7108            d[b + 47 | 0] = c >>> 24;
7109            d[b + 32 | 0] = a;
7110            d[b + 33 | 0] = a >>> 8;
7111            d[b + 34 | 0] = a >>> 16;
7112            d[b + 35 | 0] = a >>> 24;
7113            d[b + 36 | 0] = c;
7114            d[b + 37 | 0] = c >>> 8;
7115            d[b + 38 | 0] = c >>> 16;
7116            d[b + 39 | 0] = c >>> 24;
7117            d[b + 72 | 0] = a;
7118            d[b + 73 | 0] = a >>> 8;
7119            d[b + 74 | 0] = a >>> 16;
7120            d[b + 75 | 0] = a >>> 24;
7121            d[b + 76 | 0] = c;
7122            d[b + 77 | 0] = c >>> 8;
7123            d[b + 78 | 0] = c >>> 16;
7124            d[b + 79 | 0] = c >>> 24;
7125            d[b + 64 | 0] = a;
7126            d[b + 65 | 0] = a >>> 8;
7127            d[b + 66 | 0] = a >>> 16;
7128            d[b + 67 | 0] = a >>> 24;
7129            d[b + 68 | 0] = c;
7130            d[b + 69 | 0] = c >>> 8;
7131            d[b + 70 | 0] = c >>> 16;
7132            d[b + 71 | 0] = c >>> 24;
7133            d[b + 104 | 0] = a;
7134            d[b + 105 | 0] = a >>> 8;
7135            d[b + 106 | 0] = a >>> 16;
7136            d[b + 107 | 0] = a >>> 24;
7137            d[b + 108 | 0] = c;
7138            d[b + 109 | 0] = c >>> 8;
7139            d[b + 110 | 0] = c >>> 16;
7140            d[b + 111 | 0] = c >>> 24;
7141            d[b + 96 | 0] = a;
7142            d[b + 97 | 0] = a >>> 8;
7143            d[b + 98 | 0] = a >>> 16;
7144            d[b + 99 | 0] = a >>> 24;
7145            d[b + 100 | 0] = c;
7146            d[b + 101 | 0] = c >>> 8;
7147            d[b + 102 | 0] = c >>> 16;
7148            d[b + 103 | 0] = c >>> 24;
7149            d[b + 136 | 0] = a;
7150            d[b + 137 | 0] = a >>> 8;
7151            d[b + 138 | 0] = a >>> 16;
7152            d[b + 139 | 0] = a >>> 24;
7153            d[b + 140 | 0] = c;
7154            d[b + 141 | 0] = c >>> 8;
7155            d[b + 142 | 0] = c >>> 16;
7156            d[b + 143 | 0] = c >>> 24;
7157            d[b + 128 | 0] = a;
7158            d[b + 129 | 0] = a >>> 8;
7159            d[b + 130 | 0] = a >>> 16;
7160            d[b + 131 | 0] = a >>> 24;
7161            d[b + 132 | 0] = c;
7162            d[b + 133 | 0] = c >>> 8;
7163            d[b + 134 | 0] = c >>> 16;
7164            d[b + 135 | 0] = c >>> 24;
7165            d[b + 168 | 0] = a;
7166            d[b + 169 | 0] = a >>> 8;
7167            d[b + 170 | 0] = a >>> 16;
7168            d[b + 171 | 0] = a >>> 24;
7169            d[b + 172 | 0] = c;
7170            d[b + 173 | 0] = c >>> 8;
7171            d[b + 174 | 0] = c >>> 16;
7172            d[b + 175 | 0] = c >>> 24;
7173            d[b + 160 | 0] = a;
7174            d[b + 161 | 0] = a >>> 8;
7175            d[b + 162 | 0] = a >>> 16;
7176            d[b + 163 | 0] = a >>> 24;
7177            d[b + 164 | 0] = c;
7178            d[b + 165 | 0] = c >>> 8;
7179            d[b + 166 | 0] = c >>> 16;
7180            d[b + 167 | 0] = c >>> 24;
7181            d[b + 200 | 0] = a;
7182            d[b + 201 | 0] = a >>> 8;
7183            d[b + 202 | 0] = a >>> 16;
7184            d[b + 203 | 0] = a >>> 24;
7185            d[b + 204 | 0] = c;
7186            d[b + 205 | 0] = c >>> 8;
7187            d[b 
7187+ 206 | 0] = c >>> 16;
7188            d[b + 207 | 0] = c >>> 24;
7189            d[b + 192 | 0] = a;
7190            d[b + 193 | 0] = a >>> 8;
7191            d[b + 194 | 0] = a >>> 16;
7192            d[b + 195 | 0] = a >>> 24;
7193            d[b + 196 | 0] = c;
7194            d[b + 197 | 0] = c >>> 8;
7195            d[b + 198 | 0] = c >>> 16;
7196            d[b + 199 | 0] = c >>> 24;
7197            d[b + 232 | 0] = a;
7198            d[b + 233 | 0] = a >>> 8;
7199            d[b + 234 | 0] = a >>> 16;
7200            d[b + 235 | 0] = a >>> 24;
7201            d[b + 236 | 0] = c;
7202            d[b + 237 | 0] = c >>> 8;
7203            d[b + 238 | 0] = c >>> 16;
7204            d[b + 239 | 0] = c >>> 24;
7205            d[b + 224 | 0] = a;
7206            d[b + 225 | 0] = a >>> 8;
7207            d[b + 226 | 0] = a >>> 16;
7208            d[b + 227 | 0] = a >>> 24;
7209            d[b + 228 | 0] = c;
7210            d[b + 229 | 0] = c >>> 8;
7211            d[b + 230 | 0] = c >>> 16;
7212            d[b + 231 | 0] = c >>> 24;
7213            d[b + 264 | 0] = a;
7214            d[b + 265 | 0] = a >>> 8;
7215            d[b + 266 | 0] = a >>> 16;
7216            d[b + 267 | 0] = a >>> 24;
7217            d[b + 268 | 0] = c;
7218            d[b + 269 | 0] = c >>> 8;
7219            d[b + 270 | 0] = c >>> 16;
7220            d[b + 271 | 0] = c >>> 24;
7221            d[b + 256 | 0] = a;
7222            d[b + 257 | 0] = a >>> 8;
7223            d[b + 258 | 0] = a >>> 16;
7224            d[b + 259 | 0] = a >>> 24;
7225            d[b + 260 | 0] = c;
7226            d[b + 261 | 0] = c >>> 8;
7227            d[b + 262 | 0] = c >>> 16;
7228            d[b + 263 | 0] = c >>> 24;
7229            d[b + 296 | 0] = a;
7230            d[b + 297 | 0] = a >>> 8;
7231            d[b + 298 | 0] = a >>> 16;
7232            d[b + 299 | 0] = a >>> 24;
7233            d[b + 300 | 0] = c;
7234            d[b + 301 | 0] = c >>> 8;
7235            d[b + 302 | 0] = c >>> 16;
7236            d[b + 303 | 0] = c >>> 24;
7237            d[b + 288 | 0] = a;
7238            d[b + 289 | 0] = a >>> 8;
7239            d[b + 290 | 0] = a >>> 16;
7240            d[b + 291 | 0] = a >>> 24;
7241            d[b + 292 | 0] = c;
7242            d[b + 293 | 0] = c >>> 8;
7243            d[b + 294 | 0] = c >>> 16;
7244            d[b + 295 | 0] = c >>> 24;
7245            d[b + 328 | 0] = a;
7246            d[b + 329 | 0] = a >>> 8;
7247            d[b + 330 | 0] = a >>> 16;
7248            d[b + 331 | 0] = a >>> 24;
7249            d[b + 332 | 0] = c;
7250            d[b + 333 | 0] = c >>> 8;
7251            d[b + 334 | 0] = c >>> 16;
7252            d[b + 335 | 0] = c >>> 24;
7253            d[b + 320 | 0] = a;
7254            d[b + 321 | 0] = a >>> 8;
7255            d[b + 322 | 0] = a >>> 16;
7256            d[b + 323 | 0] = a >>> 24;
7257            d[b + 324 | 0] = c;
7258            d[b + 325 | 0] = c >>> 8;
7259            d[b + 326 | 0] = c >>> 16;
7260            d[b + 327 | 0] = c >>> 24;
7261            d[b + 360 | 0] = a;
7262            d[b + 361 | 0] = a >>> 8;
7263            d[b + 362 | 0] = a >>> 16;
7264            d[b + 363 | 0] = a >>> 24;
7265            d[b + 364 | 0] = c;
7266            d[b + 365 | 0] = c >>> 8;
7267            d[b + 366 | 0] = c >>> 16;
7268            d[b + 367 | 0] = c >>> 24;
7269            d[b + 352 | 0] = a;
7270            d[b + 353 | 0] = a >>> 8;
7271            d[b + 354 | 0] = a >>> 16;
7272            d[b + 355 | 0] = a >>> 24;
7273            d[b + 356 | 0] = c;
7274            d[b + 357 | 0] = c >>> 8;
7275            d[b + 358 | 0] = c >>> 16;
7276            d[b + 359 | 0] = c >>> 24;
7277            d[b + 392 | 0] = a;
7278            d[b + 393 | 0] = a >>> 8;
7279            d[b + 394 | 0] = a >>> 16;
7280            d[b + 395 | 0] = a >>> 24;
7281            d[b + 396 | 0] = c;
7282            d[b + 397 | 0] = c >>> 8;
7283            d[b + 398 | 0] = c >>> 16;
7284            d[b + 399 | 0] = c >>> 24;
7285            d[b + 384 | 0] = a;
7286            d[b + 385 | 0] = a >>> 8;
7287            d[b + 386 | 0] = a >>> 16;
7288            d[b + 387 | 0] = a >>> 24;
7289            d[b + 388 | 0] = c;
7290            d[b + 389 | 0] = c >>> 8;
7291            d[b + 390 | 0] = c >>> 16;
7292            d[b + 391 | 0] = c >>> 24;
7293            d[b + 424 | 0] = a;
7294            d[b + 425 | 0] = a >>> 8;
7295            d[b + 426 | 0] = a >>> 16;
7296            d[b + 427 | 0] = a >>> 24;
7297            d[b + 428 | 0] = c;
7298            d[b + 429 | 0] = c >>> 8;
7299            d[b + 430 | 0] = c >>> 16;
7300            d[b + 431 | 0] = c >>> 24;
7301            d[b + 416 | 0] = a;
7302            d[b + 417 | 0] = a >>> 8;
7303            d[b + 418 | 0] = a >>> 16;
7304            d[b + 419 | 0] = a >>> 24;
7305            d[b + 420 | 0] = c;
7306            d[b + 421 | 0] = c >>> 8;
7307            d[b + 422 | 0] = c >>> 16;
7308            d[b + 423 | 0] = c >>> 24;
7309            d[b + 456 | 0] = a;
7310            d[b + 457 | 0] = a >>> 8;
7311            d[b + 458 | 0] = a >>> 16;
7312            d[b + 459 | 0] = a >>> 24;
7313            d[b + 460 | 0] = c;
7314            d[b + 461 | 0] = c >>> 8;
7315            d[b + 462 | 0] = c >>> 16;
7316            d[b + 463 | 0] = c >>> 24;
7317            d[b + 448 | 0] = a;
7318            d[b + 449 | 0] = a >>> 8;
7319            d[b + 450 | 0] = a >>> 16;
7320            d[b + 451 | 0] = a >>> 24;
7321            d[b + 452 | 0] = c;
7322            d[b + 453 | 0] = c >>> 8;
7323            d[b + 454 | 0] = c >>> 16;
7324            d[b + 455 | 0] = c >>> 24;
7325            d[b + 488 | 0] = a;
7326            d[b + 489 | 0] = a >>> 8;
7327            d[b + 490 | 0] = a >>> 16;
7328            d[b + 491 | 0] = a >>> 24;
7329            d[b + 492 | 0] = c;
7330            d[b + 493 | 0] = c >>> 8;
7331            d[b + 494 | 0] = c >>> 16;
7332            d[b + 495 | 0] = c >>> 24;
7333            d[b + 480 | 0] = a;
7334            d[b + 481 | 0] = a >>> 8;
7335            d[b + 482 | 0] = a >>> 16;
7336            d[b + 483 | 0] = a >>> 24;
7337            d[b + 484 | 0] = c;
7338            d[b + 485 | 0] = c >>> 8;
7339            d[b + 486 | 0] = c >>> 16;
7340            d[b + 487 | 0] = c >>> 24;
7341          }
7342          function ec(a) {
7343            a = a | 0;
7344            var b = 0,
7345              c = 0;
7346            b = a;
7347            a = xf((g[b + 479 | 0] + (g[b + 447 | 0] + (g[b + 415 | 0] + (g[b + 383 | 0] + (g[b + 351 | 0] + (g[b + 319 | 0] + (g[b + 287 | 0] + (g[b + 255 | 0] + (g[b + 223 | 0] + (g[b + 191 | 0] + (g[b + 159 | 0] + (g[b + 127 | 0] + (g[b + 95 | 0] + (g[b + 63 | 0] + (g[b + -1 | 0] + g[b + 31 | 0] | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) + 8 >>> 4 & 255, 0, 16843009, 16843009);
7348            d[b | 0] = a;
7349            d[b + 1 | 0] = a >>> 8;
7350            d[b + 2 | 0] = a >>> 16;
7351            d[b + 3 | 0] = a >>> 24;
7352            c = N;
7353            d[b + 4 | 0] = c;
7354            d[b + 5 | 0] = c >>> 8;
7355            d[b + 6 | 0] = c >>> 16;
7356            d[b + 7 | 0] = c >>> 24;
7357            d[b + 8 | 0] = a;
7358            d[b + 9 | 0] = a >>> 8;
7359            d[b + 10 | 0] = a >>> 16;
7360            d[b + 11 | 0] = a >>> 24;
7361            d[b + 12 | 0] = c;
7362            d[b + 13 | 0] = c >>> 8;
7363            d[b + 14 | 0] = c >>> 16;
7364            d[b + 15 | 0] = c >>> 24;
7365            d[b + 40 | 0] = a;
7366            d[b + 41 | 0] = a >>> 8;
7367            d[b + 42 | 0] = a >>> 16;
7368            d[b + 43 | 0] = a >>> 24;
7369            d[b + 44 | 0] = c;
7370            d[b + 45 | 0] = c >>> 8;
7371            d[b + 46 | 0] = c >>> 16;
7372            d[b + 47 | 0] = c >>> 24;
7373            d[b + 32 | 0] = a;
7374            d[b + 33 | 0] = a >>> 8;
7375            d[b + 34 | 0] = a >>> 16;
7376            d[b + 35 | 0] = a >>> 24;
7377            d[b + 36 | 0] = c;
7378            d[b + 37 | 0] = c >>> 8;
7379            d[b + 38 | 0] = c >>> 16;
7380            d[b + 39 | 0] = c >>> 24;
7381            d[b + 72 | 0] = a;
7382            d[b + 73 | 0] = a >>> 8;
7383            d[b + 74 | 0] = a >>> 16;
7384            d[b + 75 | 0] = a >>> 24;
7385            d[b + 76 | 0] = c;
7386            d[b + 77 | 0] = c >>> 8;
7387            d[b + 78 | 0] = c >>> 16;
7388            d[b + 79 | 0] = c >>> 24;
7389            d[b + 64 | 0] = a;
7390            d[b + 65 | 0] = a >>> 8;
7391            d[b + 66 | 0] = a >>> 16;
7392            d[b + 67 | 0] = a >>> 24;
7393            d[b + 68 | 0] = c;
7394            d[b + 69 | 0] = c >>> 8;
7395            d[b + 70 | 0] = c >>> 16;
7396            d[b + 71 | 0] = c >>> 24;
7397            d[b + 104 | 0] = a;
7398            d[b + 105 | 0] = a >>> 8;
7399            d[b + 106 | 0] = a >>> 16;
7400            d[b + 107 | 0] = a >>> 24;
7401            d[b + 108 | 0] = c;
7402            d[b + 109 | 0] = c >>> 8;
7403            d[b + 110 | 0] = c >>> 16;
7404            d[b + 111 | 0] = c >>> 24;
7405            d[b + 96 | 0] = a;
7406            d[b + 97 | 0] = a >>> 8;
7407            d[b + 98 | 0] = a >>> 16;
7408            d[b + 99 | 0] = a >>> 24;
7409            d[b + 100 | 0] = c;
7410            d[b + 101 | 0] = c >>> 8;
7411            d[b + 102 | 0] = c >>> 16;
7412            d[b + 103 | 0] = c >>> 24;
7413            d[b + 136 | 0] = a;
7414            d[b + 137 | 0] = a >>> 8;
7415            d[b + 138 | 0] = a >>> 16;
7416            d[b + 139 | 0] = a >>> 24;
7417            d[b + 140 | 0] = c;
7418            d[b + 141 | 0] = c >>> 8;
7419            d[b + 142 | 0] = c >>> 16;
7420            d[b + 143 | 0] = c >>> 24;
7421            d[b + 128 | 0] = a;
7422            d[b + 129 | 0] = a >>> 8;
7423            d[b + 130 | 0] = a >>> 16;
7424            d[b + 131 | 0] = a >>> 24;
7425            d[b + 132 | 0] = c;
7426            d[b + 133 | 0] = c >>> 8;
7427            d[b + 134 | 0] = c >>> 16;
7428            d[b + 135 | 0] = c >>> 24;
7429            d[b + 168 | 0] = a;
7430            d[b + 169 | 0] = a >>> 8;
7431            d[b + 170 | 0] = a >>> 16;
7432            d[b + 171 | 0] = a >>> 24;
7433            d[b + 172 | 0] = c;
7434            d[b + 173 | 0] = c >>> 8;
7435            d[b + 174 | 0] = c >>> 16;
7436            d[b + 175 | 0] = c >>> 24;
7437            d[b + 160 | 0] = a;
7438            d[b + 161 | 0] = a >>> 8;
7439            d[b + 162 | 0] = a >>> 16;
7440            d[b + 163 | 0] = a >>> 24;
7441            d[b + 164 | 0] = c;
7442            d[b + 165 | 0] = c >>> 8;
7443            d[b + 166 | 0] = c >>> 16;
7444            d[b + 167 | 0] = c >>> 24;
7445            d[b + 200 | 0] = a;
7446            d[b + 201 | 0] = a >>> 8;
7447            d[b + 202 | 0] = a >>> 16;
7448            d[b + 203 | 0] = a >>> 24;
7449            d[b + 204 | 0] = c;
7450            d[b + 205 | 0] = c >>> 8;
7451            d[b + 206 | 0] = c >>> 16;
7452            d[b + 207 | 0] = c >>> 24;
7453            d[b + 192 | 0] = a;
7454            d[b + 193 | 0] = a >>> 8;
7455            d[b + 194 | 0] = a >>> 16;
7456            d[b + 195 | 0] = a >>> 24;
7457            d[b + 196 | 0] = c;
7458            d[b + 197 | 0] = c >>> 8;
7459            d[b + 198 | 0] = c >>> 16;
7460            d[b + 199 | 0] = c >>> 24;
7461            d[b + 232 | 0] = a;
7462            d[b + 233 | 0] = a >>> 8;
7463            d[b + 234 | 0] = a >>> 16;
7464            d[b + 235 | 0] = a >>> 24;
7465            d[b + 236 | 0] = c;
7466            d[b + 237 | 0] = c >>> 8;
7467            d[b + 238 | 0] = c >>> 16;
7468            d[b + 239 | 0] = c >>> 24;
7469            d[b + 224 | 0] = a;
7470            d[b + 225 | 0] = a >>> 8;
7471            d[b + 226 | 0] = a >>> 16;
7472            d[b + 227 | 0] = a >>> 24;
7473            d[b + 228 | 0] = c;
7474            d[b + 229 | 0] = c >>> 8;
7475            d[b + 230 | 0] = c >>> 16;
7476            d[b + 231 | 0] = c >>> 24;
7477            d[b + 264 | 0] = a;
7478            d[b + 265 | 0] = a >>> 8;
7479            d[b + 266 | 0] = a >>> 16;
7480            d[b + 267 | 0] = a >>> 24;
7481            d[b + 268 | 0] = c;
7482            d[b + 269 | 0] = c >>> 8;
7483            d[b + 270 | 0] = c >>> 16;
7484            d[b + 271 | 0] = c >>> 24;
7485            d[b + 256 | 0] = a;
7486            d[b + 257 | 0] = a >>> 8;
7487            d[b + 258 | 0] = a >>> 16;
7488            d[b + 259 | 0] = a >>> 24;
7489            d[b + 260 | 0] = c;
7490            d[b + 261 | 0] = c >>> 8;
7491            d[b + 262 | 0] = c >>> 16;
7492            d[b + 263 | 0] = c >>> 24;
7493            d[b + 296 | 0] = a;
7494            d[b + 297 | 0] = a >>> 8;
7495            d[b + 298 | 0] = a >>> 16;
7496            d[b + 299 | 0] = a >>> 24;
7497            d[b + 300 | 0] = c;
7498            d[b + 301 | 0] = c >>> 8;
7499            d[b + 302 | 0] = c >>> 16;
7500            d[b + 303 | 0] = c >>> 24;
7501            d[b + 288 | 0] = a;
7502            d[b + 289 | 0] = a >>> 8;
7503            d[b + 290 | 0] = a >>> 16;
7504            d[b + 291 | 0] = a >>> 24;
7505            d[b + 292 | 0] = c;
7506            d[b + 293 | 0] = c >>> 8;
7507            d[b + 294 | 0] = c >>> 16;
7508            d[b + 295 | 0] = c >>> 24;
7509            d[b + 328 | 0] = a;
7510            d[b + 329 | 0] = a >>> 8;
7511            d[b + 330 | 0] = a >>> 16;
7512            d[b + 331 | 0] = a >>> 24;
7513            d[b + 332 | 0] = c;
7514            d[b + 333 | 0] = c >>> 8;
7515            d[b + 334 | 0] = c >>> 16;
7516            d[b + 335 | 0] = c >>> 24;
7517            d[b + 320 | 0] = a;
7518            d[b + 321 | 0] = a >>> 8;
7519            d[b + 322 | 0] = a >>> 16;
7520            d[b + 323 | 0] = a >>> 24;
7521            d[b + 324 | 0] = c;
7522            d[b + 325 | 0] = c >>> 8;
7523            d[b + 326 | 0] = c >>> 16;
7524            d[b + 327 | 0] = c >>> 24;
7525            d[b + 360 | 0] = a;
7526            d[b + 361 | 0] = a >>> 8;
7527            d[b + 362 | 0] = a >>> 16;
7528            d[b + 363 | 0] = a >>> 24;
7529            d[b + 364 | 0] = c;
7530            d[b + 365 | 0] = c >>> 8;
7531            d[b + 366 | 0] = c >>> 16;
7532            d[b + 367 | 0] = c >>> 24;
7533            d[b + 352 | 0] = a;
7534            d[b + 353 | 0] = a >>> 8;
7535            d[b + 354 | 0] = a >>> 16;
7536            d[b + 355 | 0] = a >>> 24;
7537            d[b + 356 | 0] = c;
7538            d[b + 357 | 0] = c >>> 8;
7539            d[b + 358 | 0] = c >>> 16;
7540            d[b + 359 | 0] = c >>> 24;
7541            d[b + 392 | 0] = a;
7542            d[b + 393 | 0] = a >>> 8;
7543            d[b + 394 | 0] = a >>> 16;
7544            d[b + 395 | 0] = a >>> 24;
7545            d[b + 396 | 0] = c;
7546            d[b + 397 | 0] = c >>> 8;
7547            d[b + 398 | 0] = c >>> 16;
7548            d[b + 399 | 0] = c >>> 24;
7549            d[b + 384 | 0] = a;
7550            d[b + 385 | 0] = a >>> 8;
7551            d[b + 386 | 0] = a >>> 16;
7552            d[b + 387 | 0] = a >>> 24;
7553            d[b + 388 | 0] = c;
7554            d[b + 389 | 0] = c >>> 8;
7555            d[b + 390 | 0] = c >>> 16;
7556            d[b + 391 | 0] = c >>> 24;
7557            d[b + 424 | 0] = a;
7558            d[b + 425 | 0] = a >>> 8;
7559            d[b + 426 | 0] = a >>> 16;
7560            d[b + 427 | 0] = a >>> 24;
7561            d[b + 428 | 0] = c;
7562            d[b + 429 | 0] = c >>> 8;
7563            d[b + 430 | 0] = c >>> 16;
7564            d[b + 431 | 0] = c >>> 24;
7565            d[b + 416 | 0] = a;
7566            d[b + 417 | 0] = a >>> 8;
7567            d[b + 418 | 0] = a >>> 16;
7568            d[b + 419 | 0] = a >>> 24;
7569            d[b + 420 | 0] = c;
7570            d[b + 421 | 0] = c >>> 8;
7571            d[b + 422 | 0] = c >>> 16;
7572            d[b + 423 | 0] = c >>> 24;
7573            d[b + 456 | 0] = a;
7574            d[b + 457 | 0] = a >>> 8;
7575            d[b + 458 | 0] = a >>> 16;
7576            d[b + 459 | 0] = a >>> 24;
7577            d[b + 460 | 0] = c;
7578            d[b + 461 | 0] = c >>> 8;
7579            d[b + 462 | 0] = c >>> 16;
7580            d[b + 463 | 0] = c >>> 24;
7581            d[b + 448 | 0] = a;
7582            d[b + 449 | 0] = a >>> 8;
7583            d[b + 450 | 0] = a >>> 16;
7584            d[b + 451 | 0] = a >>> 24;
7585            d[b + 452 | 0] = c;
7586            d[b + 453 | 0] = c >>> 8;
7587            d[b + 454 | 0] = c >>> 16;
7588            d[b + 455 | 0] = c >>> 24;
7589            d[b + 488 | 0] = a;
7590            d[b + 489 | 0] = a >>> 8;
7591            d[b + 490 | 0] = a >>> 16;
7592            d[b + 491 | 0] = a >>> 24;
7593            d[b + 492 | 0] = c;
7594            d[b + 493 | 0] = c >>> 8;
7595            d[b + 494 | 0] = c >>> 16;
7596            d[b + 495 | 0] = c >>> 24;
7597            d[b + 480 | 0] = a;
7598            d[b + 481 | 0] = a >>> 8;
7599            d[b + 482 | 0] = a >>> 16;
7600            d[b + 483 | 0] = a >>> 24;
7601            d[b + 484 | 0] = c;
7602            d[b + 485 | 0] = c >>> 8;
7603            d[b + 486 | 0] = c >>> 16;
7604            d[b + 487 | 0] = c >>> 24;
7605          }
7606          function ic(a) {
7607            a = a | 0;
7608            var b = 0,
7609              c = 0;
7610            c = 16;
7611            while (1) {
7612              c = g[(a + b | 0) + -32 | 0] + (g[((b << 5) + a | 0) + -1 | 0] + c | 0) | 0;
7613              b = b + 1 | 0;
7614              if ((b | 0) != 16) {
7615                continue;
7616              }
7617              break;
7618            }
7619            b = a;
7620            a = xf(c >>> 5 & 255, 0, 16843009, 16843009);
7621            c = a;
7622            d[b + 8 | 0] = c;
7623            d[b + 9 | 0] = c >>> 8;
7624            d[b + 10 | 0] = c >>> 16;
7625            d[b + 11 | 0] = c >>> 24;
7626            a = N;
7627            d[b + 12 | 0] = a;
7628            d[b + 13 | 0] = a >>> 8;
7629            d[b + 14 | 0]
7629 = a >>> 16;
7630            d[b + 15 | 0] = a >>> 24;
7631            d[b | 0] = c;
7632            d[b + 1 | 0] = c >>> 8;
7633            d[b + 2 | 0] = c >>> 16;
7634            d[b + 3 | 0] = c >>> 24;
7635            d[b + 4 | 0] = a;
7636            d[b + 5 | 0] = a >>> 8;
7637            d[b + 6 | 0] = a >>> 16;
7638            d[b + 7 | 0] = a >>> 24;
7639            d[b + 32 | 0] = c;
7640            d[b + 33 | 0] = c >>> 8;
7641            d[b + 34 | 0] = c >>> 16;
7642            d[b + 35 | 0] = c >>> 24;
7643            d[b + 36 | 0] = a;
7644            d[b + 37 | 0] = a >>> 8;
7645            d[b + 38 | 0] = a >>> 16;
7646            d[b + 39 | 0] = a >>> 24;
7647            d[b + 40 | 0] = c;
7648            d[b + 41 | 0] = c >>> 8;
7649            d[b + 42 | 0] = c >>> 16;
7650            d[b + 43 | 0] = c >>> 24;
7651            d[b + 44 | 0] = a;
7652            d[b + 45 | 0] = a >>> 8;
7653            d[b + 46 | 0] = a >>> 16;
7654            d[b + 47 | 0] = a >>> 24;
7655            d[b + 64 | 0] = c;
7656            d[b + 65 | 0] = c >>> 8;
7657            d[b + 66 | 0] = c >>> 16;
7658            d[b + 67 | 0] = c >>> 24;
7659            d[b + 68 | 0] = a;
7660            d[b + 69 | 0] = a >>> 8;
7661            d[b + 70 | 0] = a >>> 16;
7662            d[b + 71 | 0] = a >>> 24;
7663            d[b + 72 | 0] = c;
7664            d[b + 73 | 0] = c >>> 8;
7665            d[b + 74 | 0] = c >>> 16;
7666            d[b + 75 | 0] = c >>> 24;
7667            d[b + 76 | 0] = a;
7668            d[b + 77 | 0] = a >>> 8;
7669            d[b + 78 | 0] = a >>> 16;
7670            d[b + 79 | 0] = a >>> 24;
7671            d[b + 96 | 0] = c;
7672            d[b + 97 | 0] = c >>> 8;
7673            d[b + 98 | 0] = c >>> 16;
7674            d[b + 99 | 0] = c >>> 24;
7675            d[b + 100 | 0] = a;
7676            d[b + 101 | 0] = a >>> 8;
7677            d[b + 102 | 0] = a >>> 16;
7678            d[b + 103 | 0] = a >>> 24;
7679            d[b + 104 | 0] = c;
7680            d[b + 105 | 0] = c >>> 8;
7681            d[b + 106 | 0] = c >>> 16;
7682            d[b + 107 | 0] = c >>> 24;
7683            d[b + 108 | 0] = a;
7684            d[b + 109 | 0] = a >>> 8;
7685            d[b + 110 | 0] = a >>> 16;
7686            d[b + 111 | 0] = a >>> 24;
7687            d[b + 128 | 0] = c;
7688            d[b + 129 | 0] = c >>> 8;
7689            d[b + 130 | 0] = c >>> 16;
7690            d[b + 131 | 0] = c >>> 24;
7691            d[b + 132 | 0] = a;
7692            d[b + 133 | 0] = a >>> 8;
7693            d[b + 134 | 0] = a >>> 16;
7694            d[b + 135 | 0] = a >>> 24;
7695            d[b + 136 | 0] = c;
7696            d[b + 137 | 0] = c >>> 8;
7697            d[b + 138 | 0] = c >>> 16;
7698            d[b + 139 | 0] = c >>> 24;
7699            d[b + 140 | 0] = a;
7700            d[b + 141 | 0] = a >>> 8;
7701            d[b + 142 | 0] = a >>> 16;
7702            d[b + 143 | 0] = a >>> 24;
7703            d[b + 160 | 0] = c;
7704            d[b + 161 | 0] = c >>> 8;
7705            d[b + 162 | 0] = c >>> 16;
7706            d[b + 163 | 0] = c >>> 24;
7707            d[b + 164 | 0] = a;
7708            d[b + 165 | 0] = a >>> 8;
7709            d[b + 166 | 0] = a >>> 16;
7710            d[b + 167 | 0] = a >>> 24;
7711            d[b + 168 | 0] = c;
7712            d[b + 169 | 0] = c >>> 8;
7713            d[b + 170 | 0] = c >>> 16;
7714            d[b + 171 | 0] = c >>> 24;
7715            d[b + 172 | 0] = a;
7716            d[b + 173 | 0] = a >>> 8;
7717            d[b + 174 | 0] = a >>> 16;
7718            d[b + 175 | 0] = a >>> 24;
7719            d[b + 192 | 0] = c;
7720            d[b + 193 | 0] = c >>> 8;
7721            d[b + 194 | 0] = c >>> 16;
7722            d[b + 195 | 0] = c >>> 24;
7723            d[b + 196 | 0] = a;
7724            d[b + 197 | 0] = a >>> 8;
7725            d[b + 198 | 0] = a >>> 16;
7726            d[b + 199 | 0] = a >>> 24;
7727            d[b + 200 | 0] = c;
7728            d[b + 201 | 0] = c >>> 8;
7729            d[b + 202 | 0] = c >>> 16;
7730            d[b + 203 | 0] = c >>> 24;
7731            d[b + 204 | 0] = a;
7732            d[b + 205 | 0] = a >>> 8;
7733            d[b + 206 | 0] = a >>> 16;
7734            d[b + 207 | 0] = a >>> 24;
7735            d[b + 232 | 0] = c;
7736            d[b + 233 | 0] = c >>> 8;
7737            d[b + 234 | 0] = c >>> 16;
7738            d[b + 235 | 0] = c >>> 24;
7739            d[b + 236 | 0] = a;
7740            d[b + 237 | 0] = a >>> 8;
7741            d[b + 238 | 0] = a >>> 16;
7742            d[b + 239 | 0] = a >>> 24;
7743            d[b + 224 | 0] = c;
7744            d[b + 225 | 0] = c >>> 8;
7745            d[b + 226 | 0] = c >>> 16;
7746            d[b + 227 | 0] = c >>> 24;
7747            d[b + 228 | 0] = a;
7748            d[b + 229 | 0] = a >>> 8;
7749            d[b + 230 | 0] = a >>> 16;
7750            d[b + 231 | 0] = a >>> 24;
7751            d[b + 264 | 0] = c;
7752            d[b + 265 | 0] = c >>> 8;
7753            d[b + 266 | 0] = c >>> 16;
7754            d[b + 267 | 0] = c >>> 24;
7755            d[b + 268 | 0] = a;
7756            d[b + 269 | 0] = a >>> 8;
7757            d[b + 270 | 0] = a >>> 16;
7758            d[b + 271 | 0] = a >>> 24;
7759            d[b + 256 | 0] = c;
7760            d[b + 257 | 0] = c >>> 8;
7761            d[b + 258 | 0] = c >>> 16;
7762            d[b + 259 | 0] = c >>> 24;
7763            d[b + 260 | 0] = a;
7764            d[b + 261 | 0] = a >>> 8;
7765            d[b + 262 | 0] = a >>> 16;
7766            d[b + 263 | 0] = a >>> 24;
7767            d[b + 296 | 0] = c;
7768            d[b + 297 | 0] = c >>> 8;
7769            d[b + 298 | 0] = c >>> 16;
7770            d[b + 299 | 0] = c >>> 24;
7771            d[b + 300 | 0] = a;
7772            d[b + 301 | 0] = a >>> 8;
7773            d[b + 302 | 0] = a >>> 16;
7774            d[b + 303 | 0] = a >>> 24;
7775            d[b + 288 | 0] = c;
7776            d[b + 289 | 0] = c >>> 8;
7777            d[b + 290 | 0] = c >>> 16;
7778            d[b + 291 | 0] = c >>> 24;
7779            d[b + 292 | 0] = a;
7780            d[b + 293 | 0] = a >>> 8;
7781            d[b + 294 | 0] = a >>> 16;
7782            d[b + 295 | 0] = a >>> 24;
7783            d[b + 328 | 0] = c;
7784            d[b + 329 | 0] = c >>> 8;
7785            d[b + 330 | 0] = c >>> 16;
7786            d[b + 331 | 0] = c >>> 24;
7787            d[b + 332 | 0] = a;
7788            d[b + 333 | 0] = a >>> 8;
7789            d[b + 334 | 0] = a >>> 16;
7790            d[b + 335 | 0] = a >>> 24;
7791            d[b + 320 | 0] = c;
7792            d[b + 321 | 0] = c >>> 8;
7793            d[b + 322 | 0] = c >>> 16;
7794            d[b + 323 | 0] = c >>> 24;
7795            d[b + 324 | 0] = a;
7796            d[b + 325 | 0] = a >>> 8;
7797            d[b + 326 | 0] = a >>> 16;
7798            d[b + 327 | 0] = a >>> 24;
7799            d[b + 360 | 0] = c;
7800            d[b + 361 | 0] = c >>> 8;
7801            d[b + 362 | 0] = c >>> 16;
7802            d[b + 363 | 0] = c >>> 24;
7803            d[b + 364 | 0] = a;
7804            d[b + 365 | 0] = a >>> 8;
7805            d[b + 366 | 0] = a >>> 16;
7806            d[b + 367 | 0] = a >>> 24;
7807            d[b + 352 | 0] = c;
7808            d[b + 353 | 0] = c >>> 8;
7809            d[b + 354 | 0] = c >>> 16;
7810            d[b + 355 | 0] = c >>> 24;
7811            d[b + 356 | 0] = a;
7812            d[b + 357 | 0] = a >>> 8;
7813            d[b + 358 | 0] = a >>> 16;
7814            d[b + 359 | 0] = a >>> 24;
7815            d[b + 392 | 0] = c;
7816            d[b + 393 | 0] = c >>> 8;
7817            d[b + 394 | 0] = c >>> 16;
7818            d[b + 395 | 0] = c >>> 24;
7819            d[b + 396 | 0] = a;
7820            d[b + 397 | 0] = a >>> 8;
7821            d[b + 398 | 0] = a >>> 16;
7822            d[b + 399 | 0] = a >>> 24;
7823            d[b + 384 | 0] = c;
7824            d[b + 385 | 0] = c >>> 8;
7825            d[b + 386 | 0] = c >>> 16;
7826            d[b + 387 | 0] = c >>> 24;
7827            d[b + 388 | 0] = a;
7828            d[b + 389 | 0] = a >>> 8;
7829            d[b + 390 | 0] = a >>> 16;
7830            d[b + 391 | 0] = a >>> 24;
7831            d[b + 424 | 0] = c;
7832            d[b + 425 | 0] = c >>> 8;
7833            d[b + 426 | 0] = c >>> 16;
7834            d[b + 427 | 0] = c >>> 24;
7835            d[b + 428 | 0] = a;
7836            d[b + 429 | 0] = a >>> 8;
7837            d[b + 430 | 0] = a >>> 16;
7838            d[b + 431 | 0] = a >>> 24;
7839            d[b + 416 | 0] = c;
7840            d[b + 417 | 0] = c >>> 8;
7841            d[b + 418 | 0] = c >>> 16;
7842            d[b + 419 | 0] = c >>> 24;
7843            d[b + 420 | 0] = a;
7844            d[b + 421 | 0] = a >>> 8;
7845            d[b + 422 | 0] = a >>> 16;
7846            d[b + 423 | 0] = a >>> 24;
7847            d[b + 456 | 0] = c;
7848            d[b + 457 | 0] = c >>> 8;
7849            d[b + 458 | 0] = c >>> 16;
7850            d[b + 459 | 0] = c >>> 24;
7851            d[b + 460 | 0] = a;
7852            d[b + 461 | 0] = a >>> 8;
7853            d[b + 462 | 0] = a >>> 16;
7854            d[b + 463 | 0] = a >>> 24;
7855            d[b + 448 | 0] = c;
7856            d[b + 449 | 0] = c >>> 8;
7857            d[b + 450 | 0] = c >>> 16;
7858            d[b + 451 | 0] = c >>> 24;
7859            d[b + 452 | 0] = a;
7860            d[b + 453 | 0] = a >>> 8;
7861            d[b + 454 | 0] = a >>> 16;
7862            d[b + 455 | 0] = a >>> 24;
7863            d[b + 488 | 0] = c;
7864            d[b + 489 | 0] = c >>> 8;
7865            d[b + 490 | 0] = c >>> 16;
7866            d[b + 491 | 0] = c >>> 24;
7867            d[b + 492 | 0] = a;
7868            d[b + 493 | 0] = a >>> 8;
7869            d[b + 494 | 0] = a >>> 16;
7870            d[b + 495 | 0] = a >>> 24;
7871            d[b + 480 | 0] = c;
7872            d[b + 481 | 0] = c >>> 8;
7873            d[b + 482 | 0] = c >>> 16;
7874            d[b + 483 | 0] = c >>> 24;
7875            d[b + 484 | 0] = a;
7876            d[b + 485 | 0] = a >>> 8;
7877            d[b + 486 | 0] = a >>> 16;
7878            d[b + 487 | 0] = a >>> 24;
7879          }
7880          function oa(a, b, c, e, i) {
7881            var j = 0,
7882              k = 0,
7883              m = 0,
7884              n = 0,
7885              o = 0,
7886              p = 0,
7887              q = 0,
7888              r = 0,
7889              s = 0,
7890              t = 0,
7891              u = 0,
7892              v = 0,
7893              w = 0,
7894              x = 0,
7895              y = 0,
7896              z = 0,
7897              A = 0,
7898              B = 0,
7899              C = 0,
7900              D = 0,
7901              E = 0,
7902              F = 0,
7903              G = 0,
7904              H = 0,
7905              I = 0,
7906              J = 0,
7907              K = 0;
7908            x = L - 16 | 0;
7909            L = x;
7910            u = e + 120 | 0;
7911            q = e + 24 | 0;
7912            a: {
7913              b: {
7914                c: {
7915                  d: {
7916                    e: {
7917                      f: {
7918                        g: {
7919                          if (!c) {
7920                            break g;
7921                          }
7922                          while (1) {
7923                            if (!he(q, 1)) {
7924                              break g;
7925                            }
7926                            j = f[e + 176 >> 2];
7927                            t = he(q, 2);
7928                            o = f[e + 260 >> 2];
7929                            m = 1 << t;
7930                            if (o & m) {
7931                              break f;
7932                            }
7933                            f[e + 260 >> 2] = m | o;
7934                            j = l(j, 20) + e | 0;
7935                            p = j + 196 | 0;
7936                            f[p >> 2] = 0;
7937                            o = j + 192 | 0;
7938                            f[o >> 2] = b;
7939                            m = j + 188 | 0;
7940                            f[m >> 2] = a;
7941                            f[j + 180 >> 2] = t;
7942                            r = 1;
7943                            f[e + 176 >> 2] = f[e + 176 >> 2] + 1;
7944                            h: {
7945                              switch (t | 0) {
7946                                case 0:
7947                                case 1:
7948                                  A = j;
7949                                  j = he(q, 3) + 2 | 0;
7950                                  f[A + 184 >> 2] = j;
7951                                  A = f[m >> 2];
7952                                  m = -1 << j ^ -1;
7953                                  if (oa(A + m >>> j | 0, m + f[o >> 2] >>> j | 0, 0, e, p)) {
7954                                    continue;
7955                                  }
7956                                  break f;
7957                                case 3:
7958                                  k = he(q, 8) + 1 | 0;
7959                                  a = 0;
7960                                  i: {
7961                                    if ((k | 0) > 16) {
7962                                      break i;
7963                                    }
7964                                    a = 1;
7965                                    if ((k | 0) > 4) {
7966                                      break i;
7967                                    }
7968                                    a = (k | 0) > 2 ? 2 : 3;
7969                                  }
7970                                  o = f[m >> 2];
7971                                  m = j + 184 | 0;
7972                                  f[m >> 2] = a;
7973                                  if (!oa(k, 1, 0, e, p)) {
7974                                    break f;
7975                                  }
7976                                  t = (o + (1 << a) | 0) + -1 | 0;
7977                                  j = 1 << (8 >>> f[m >> 2]);
7978                                  n = ze(j, 0, 4);
7979                                  if (n) {
7980                                    o = f[p >> 2];
7981                                    f[n >> 2] = f[o >> 2];
7982                                    r = 4;
7983                                    if ((k | 0) >= 2) {
7984                                      m = k << 2;
7985                                      r = (m | 0) > 5 ? m : 5;
7986                                      k = 4;
7987                                      while (1) {
7988                                        m = k + n | 0;
7989                                        d[m | 0] = g[m + -4 | 0] + g[k + o | 0];
7990                                        k = k + 1 | 0;
7991                                        if ((r | 0) != (k | 0)) {
7992                                          continue;
7993                                        }
7994                                        break;
7995                                      }
7996                                    }
7997                                    m = j << 2;
7998                                    if ((m | 0) > (r | 0)) {
7999                                      $e(n + r | 0, 0, m - r | 0);
8000                                    }
8001                                    Xe(f[p >> 2]);
8002                                    f[p >> 2] = n;
8003                                  }
8004                                  a = t >>> a | 0;
8005                                  r = (n | 0) != 0;
8006                                  break;
8007                                default:
8008                                  break h;
8009                              }
8010                            }
8011                            if (r) {
8012                              continue;
8013                            }
8014                            break;
8015                          }
8016                          break f;
8017                        }
8018                        j: {
8019                          if (!he(q, 1)) {
8020                            break j;
8021                          }
8022                          y = he(q, 4);
8023                          if (y + -1 >>> 0 < 11) {
8024                            break j;
8025                          }
8026                          f[e >> 2] = 3;
8027                          k = 0;
8028                          break d;
8029                        }
8030                        f[x + 12 >> 2] = 0;
8031                        k: {
8032                          l: {
8033                            m: {
8034                              if (!c) {
8035                                t = 1;
8036                                m = 1;
8037                                break m;
8038                              }
8039                              t = 1;
8040                              m = 1;
8041                              if (!he(q, 1)) {
8042                                break m;
8043                              }
8044                              z = 1;
8045                              j = he(q, 3) + 2 | 0;
8046                              m = 1 << j;
8047                              o = (m + a | 0) + -1 >>> j | 0;
8048                              m = (b + m | 0) + -1 >>> j | 0;
8049                              if (!oa(o, m, 0, e, x + 12 | 0)) {
8050                                break l;
8051                              }
8052                              f[e + 152 >> 2] = j;
8053                              v = l(m, o);
8054                              if ((v | 0) >= 1) {
8055                                k = 0;
8056                                m = f[x + 12 >> 2];
8057                                while (1) {
8058                                  o = m + (k << 2) | 0;
8059                                  j = g[o + 1 | 0] | g[o + 2 | 0] << 8;
8060                                  f[o >> 2] = j;
8061                                  t = (j | 0) < (t | 0) ? t : j + 1 | 0;
8062                                  k = k + 1 | 0;
8063                                  if ((v | 0) != (k | 0)) {
8064                                    continue;
8065                                  }
8066                                  break;
8067                                }
8068                              }
8069                              if (!((t | 0) > 1e3 | (t | 0) > (l(a, b) | 0))) {
8070                                m = t;
8071                                break m;
8072                              }
8073                              D = ze(t, 0, 4);
8074                              if (!D) {
8075                                f[e >> 2] = 1;
8076                                D = 0;
8077                                break l;
8078                              }
8079                              q = $e(D, 255, t << 2);
8080                              if ((v | 0) < 1) {
8081                                m = 0;
8082                                break m;
8083                              }
8084                              k = 0;
8085                              p = f[x + 12 >> 2];
8086                              m = 0;
8087                              while (1) {
8088                                n = p + (k << 2) | 0;
8089                                o = q + (f[n >> 2] << 2) | 0;
8090                                j = f[o >> 2];
8091                                if ((j | 0) == -1) {
8092                                  f[o >> 2] = m;
8093                                  j = m;
8094                                  m = j + 1 | 0;
8095                                }
8096                                f[n >> 2] = j;
8097                                k = k + 1 | 0;
8098                                if ((v | 0) != (k | 0)) {
8099                                  continue;
8100                                }
8101                                break;
8102                              }
8103                            }
8104                            if (f[e + 48 >> 2]) {
8105                              z = 1;
8106                              break l;
8107                            }
8108                            z = 1;
8109                            K = 1 << y;
8110                            J = (y | 0) > 0 ? K + 280 | 0 : 280;
8111                            r = Ae((J | 0) > 256 ? J : 256, 0, 4);
8112                            B = l(h[(y << 1) + 1184 >> 1], m);
8113                            B = ze(B, B >> 31, 4);
8114                            I = ze(m, m >> 31, 548);
8115                            if (!(!I | (!B | !r))) {
8116                              o = B;
8117                              while (1) {
8118                                k = E;
8119                                n: {
8120                                  o: {
8121                                    if (!D) {
8122                                      break o;
8123                                    }
8124                                    k = f[(E << 2) + D >> 2];
8125                                    if ((k | 0) != -1) {
8126                                      break o;
8127                                    }
8128                                    z = 1;
8129                                    if (!pa(J, e, r, 0)) {
8130                                      break k;
8131                                    }
8132                                    if (!pa(256, e, r, 0)) {
8133                                      break k;
8134                                    }
8135                                    if (!pa(256, e, r, 0)) {
8136                                      break k;
8137                                    }
8138                                    if (!pa(256, e, r, 0)) {
8139                                      break k;
8140                                    }
8141                                    if (pa(40, e, r, 0)) {
8142                                      break n;
8143                                    }
8144                                    break k;
8145                                  }
8146                                  s = l(k, 548) + I | 0;
8147                                  z = 1;
8148                                  w = 0;
8149                                  F = 0;
8150                                  C = 1;
8151                                  G = 0;
8152                                  while (1) {
8153                                    f[(w << 2) + s >> 2] = o;
8154                                    v = h[(w << 1) + 1208 >> 1] + ((y | 0) >
8154 0 ? w ? 0 : K : 0) | 0;
8155                                    j = pa(v, e, r, o);
8156                                    if (!j) {
8157                                      break k;
8158                                    }
8159                                    p: {
8160                                      if (!C) {
8161                                        C = 0;
8162                                        break p;
8163                                      }
8164                                      if (!(w & 2147483643)) {
8165                                        break p;
8166                                      }
8167                                      C = !g[o | 0];
8168                                    }
8169                                    q = j << 2;
8170                                    p = g[o | 0];
8171                                    if (w >>> 0 <= 3) {
8172                                      k = f[r >> 2];
8173                                      j = 1;
8174                                      if ((v | 0) >= 2) {
8175                                        while (1) {
8176                                          n = f[(j << 2) + r >> 2];
8177                                          k = (n | 0) > (k | 0) ? n : k;
8178                                          j = j + 1 | 0;
8179                                          if ((v | 0) != (j | 0)) {
8180                                            continue;
8181                                          }
8182                                          break;
8183                                        }
8184                                      }
8185                                      F = k + F | 0;
8186                                    }
8187                                    o = o + q | 0;
8188                                    G = p + G | 0;
8189                                    w = w + 1 | 0;
8190                                    if ((w | 0) != 5) {
8191                                      continue;
8192                                    }
8193                                    break;
8194                                  }
8195                                  f[s + 28 >> 2] = 0;
8196                                  f[s + 20 >> 2] = C;
8197                                  q: {
8198                                    if (!C) {
8199                                      break q;
8200                                    }
8201                                    k = h[f[s + 8 >> 2] + 2 >> 1] | h[f[s + 4 >> 2] + 2 >> 1] << 16 | h[f[s + 12 >> 2] + 2 >> 1] << 24;
8202                                    f[s + 24 >> 2] = k;
8203                                    if (G) {
8204                                      break q;
8205                                    }
8206                                    j = h[f[s >> 2] + 2 >> 1];
8207                                    if (j >>> 0 > 255) {
8208                                      break q;
8209                                    }
8210                                    f[s + 28 >> 2] = 1;
8211                                    f[s + 24 >> 2] = k | j << 8;
8212                                    f[s + 32 >> 2] = 0;
8213                                    break n;
8214                                  }
8215                                  f[s + 32 >> 2] = (F | 0) < 6;
8216                                  if ((F | 0) > 5) {
8217                                    break n;
8218                                  }
8219                                  z = s + 12 | 0;
8220                                  C = s + 8 | 0;
8221                                  F = s + 4 | 0;
8222                                  G = f[s >> 2];
8223                                  k = 0;
8224                                  while (1) {
8225                                    p = (k << 3) + s | 0;
8226                                    H = p + 36 | 0;
8227                                    j = G + (k << 2) | 0;
8228                                    n = h[j >> 1] | h[j + 2 >> 1] << 16;
8229                                    j = n >>> 16 | 0;
8230                                    r: {
8231                                      if (j >>> 0 >= 256) {
8232                                        f[H >> 2] = n & 255 | 256;
8233                                        f[p + 40 >> 2] = j;
8234                                        break r;
8235                                      }
8236                                      n = n & 255;
8237                                      f[H >> 2] = n;
8238                                      w = p + 40 | 0;
8239                                      v = j << 8;
8240                                      f[w >> 2] = v;
8241                                      q = k >>> n | 0;
8242                                      j = f[F >> 2] + (q << 2) | 0;
8243                                      p = g[j + 2 | 0] | g[j + 3 | 0] << 8;
8244                                      A = n;
8245                                      n = g[j | 0];
8246                                      j = A + n | 0;
8247                                      f[H >> 2] = j;
8248                                      v = v | p << 16;
8249                                      f[w >> 2] = v;
8250                                      q = q >>> n | 0;
8251                                      p = f[C >> 2] + (q << 2) | 0;
8252                                      n = g[p + 2 | 0] | g[p + 3 | 0] << 8;
8253                                      A = j;
8254                                      j = g[p | 0];
8255                                      p = A + j | 0;
8256                                      f[H >> 2] = p;
8257                                      n = n | v;
8258                                      f[w >> 2] = n;
8259                                      q = f[z >> 2] + (q >>> j << 2) | 0;
8260                                      j = g[q + 2 | 0] | g[q + 3 | 0] << 8;
8261                                      f[H >> 2] = p + g[q | 0];
8262                                      f[w >> 2] = n | j << 24;
8263                                    }
8264                                    k = k + 1 | 0;
8265                                    if ((k | 0) != 64) {
8266                                      continue;
8267                                    }
8268                                    break;
8269                                  }
8270                                }
8271                                E = E + 1 | 0;
8272                                if ((E | 0) != (t | 0)) {
8273                                  continue;
8274                                }
8275                                break;
8276                              }
8277                              E = f[x + 12 >> 2];
8278                              f[e + 172 >> 2] = B;
8279                              f[e + 168 >> 2] = I;
8280                              f[e + 164 >> 2] = m;
8281                              f[e + 160 >> 2] = E;
8282                              z = 0;
8283                              break k;
8284                            }
8285                            f[e >> 2] = 1;
8286                            break k;
8287                          }
8288                          r = 0;
8289                        }
8290                        Xe(r);
8291                        Xe(D);
8292                        if (!z) {
8293                          break e;
8294                        }
8295                        Xe(f[x + 12 >> 2]);
8296                        Xe(B);
8297                        le(I);
8298                      }
8299                      f[e >> 2] = 3;
8300                      k = 0;
8301                      break d;
8302                    }
8303                    s: {
8304                      if ((y | 0) >= 1) {
8305                        f[e + 120 >> 2] = 1 << y;
8306                        if (ie(e + 124 | 0, y)) {
8307                          break s;
8308                        }
8309                        f[e >> 2] = 1;
8310                        k = 0;
8311                        break d;
8312                      }
8313                      f[u >> 2] = 0;
8314                    }
8315                    f[e + 104 >> 2] = b;
8316                    f[e + 100 >> 2] = a;
8317                    m = f[e + 152 >> 2];
8318                    f[e + 148 >> 2] = m ? -1 << m ^ -1 : -1;
8319                    f[e + 156 >> 2] = ((1 << m) + a | 0) + -1 >>> m;
8320                    if (c) {
8321                      f[e + 4 >> 2] = 1;
8322                      k = 0;
8323                      break c;
8324                    }
8325                    k = ze(xf(a, a >> 31, b, b >> 31), N, 4);
8326                    if (!k) {
8327                      f[e >> 2] = 1;
8328                      k = 0;
8329                      break d;
8330                    }
8331                    if (!qa(e, k, a, b, b, 0)) {
8332                      break d;
8333                    }
8334                    if (!f[e + 48 >> 2]) {
8335                      break c;
8336                    }
8337                  }
8338                  Xe(k);
8339                  k = 0;
8340                  break b;
8341                }
8342                if (i) {
8343                  f[i >> 2] = k;
8344                }
8345                f[e + 112 >> 2] = 0;
8346                k = 1;
8347                if (c) {
8348                  break a;
8349                }
8350              }
8351              Xe(f[e + 160 >> 2]);
8352              Xe(f[e + 172 >> 2]);
8353              le(f[e + 168 >> 2]);
8354              je(e + 124 | 0);
8355              je(e + 136 | 0);
8356              f[u + 48 >> 2] = 0;
8357              f[u + 52 >> 2] = 0;
8358              f[u + 40 >> 2] = 0;
8359              f[u + 44 >> 2] = 0;
8360              f[u + 32 >> 2] = 0;
8361              f[u + 36 >> 2] = 0;
8362              f[u + 24 >> 2] = 0;
8363              f[u + 28 >> 2] = 0;
8364              f[u + 16 >> 2] = 0;
8365              f[u + 20 >> 2] = 0;
8366              f[u + 8 >> 2] = 0;
8367              f[u + 12 >> 2] = 0;
8368              f[u >> 2] = 0;
8369              f[u + 4 >> 2] = 0;
8370            }
8371            L = x + 16 | 0;
8372            return k;
8373          }
8374          function yd(a, b, c, e, f, h, i, j, k) {
8375            a = a | 0;
8376            b = b | 0;
8377            c = c | 0;
8378            e = e | 0;
8379            f = f | 0;
8380            h = h | 0;
8381            i = i | 0;
8382            j = j | 0;
8383            k = k | 0;
8384            var m = 0,
8385              n = 0,
8386              o = 0,
8387              p = 0,
8388              q = 0,
8389              r = 0,
8390              s = 0,
8391              t = 0,
8392              u = 0,
8393              v = 0,
8394              w = 0,
8395              x = 0,
8396              y = 0,
8397              z = 0,
8398              A = 0,
8399              B = 0,
8400              C = 0,
8401              D = 0;
8402            o = g[a | 0];
8403            n = g[c | 0];
8404            p = g[e | 0];
8405            q = g[f | 0];
8406            t = g[h | 0];
8407            d[i | 0] = 255;
8408            o = l(o, 19077) >>> 8 | 0;
8409            q = q | t << 16;
8410            n = n | p << 16;
8411            p = (q + l(n, 3) | 0) + 131074 | 0;
8412            t = p >>> 2 & 255;
8413            u = o + (l(t, 33050) >>> 8 | 0) | 0;
8414            m = u + -17685 | 0;
8415            d[i + 3 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 17685 ? 0 : 255;
8416            p = p >>> 18 & 255;
8417            u = o + (l(p, 26149) >>> 8 | 0) | 0;
8418            m = u + -14234 | 0;
8419            d[i + 1 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 14234 ? 0 : 255;
8420            o = o - (l(t, 6419) >>> 8 | 0) - (l(p, 13320) >>> 8) | 0;
8421            p = o + 8708 | 0;
8422            d[i + 2 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
8423            if (b) {
8424              o = g[b | 0];
8425              d[j | 0] = 255;
8426              o = l(o, 19077) >>> 8 | 0;
8427              p = (l(q, 3) + n | 0) + 131074 | 0;
8428              t = p >>> 2 & 255;
8429              u = o + (l(t, 33050) >>> 8 | 0) | 0;
8430              m = u + -17685 | 0;
8431              d[j + 3 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 17685 ? 0 : 255;
8432              p = p >>> 18 & 255;
8433              u = o + (l(p, 26149) >>> 8 | 0) | 0;
8434              m = u + -14234 | 0;
8435              d[j + 1 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 14234 ? 0 : 255;
8436              o = o - (l(t, 6419) >>> 8 | 0) - (l(p, 13320) >>> 8) | 0;
8437              p = o + 8708 | 0;
8438              d[j + 2 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
8439            }
8440            u = k + -1 | 0;
8441            a: {
8442              if ((k | 0) < 3) {
8443                o = q;
8444                p = n;
8445                break a;
8446              }
8447              o = u >> 1;
8448              D = (o | 0) > 1 ? o : 1;
8449              t = 1;
8450              while (1) {
8451                B = t << 1;
8452                w = B + -1 | 0;
8453                r = g[w + a | 0];
8454                p = g[c + t | 0];
8455                v = g[e + t | 0];
8456                o = g[f + t | 0];
8457                A = g[h + t | 0];
8458                C = w << 2;
8459                m = C + i | 0;
8460                d[m | 0] = 255;
8461                o = o | A << 16;
8462                p = p | v << 16;
8463                A = q + p | 0;
8464                v = (o + (A + n | 0) | 0) + 524296 | 0;
8465                r = l(r, 19077) >>> 8 | 0;
8466                A = v + (A << 1) >>> 3 | 0;
8467                x = A + n | 0;
8468                y = x >>> 1 & 255;
8469                z = r + (l(y, 33050) >>> 8 | 0) | 0;
8470                s = z + -17685 | 0;
8471                d[m + 3 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : z >>> 0 < 17685 ? 0 : 255;
8472                x = x >>> 17 & 255;
8473                z = r + (l(x, 26149) >>> 8 | 0) | 0;
8474                s = z + -14234 | 0;
8475                d[m + 1 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : z >>> 0 < 14234 ? 0 : 255;
8476                s = m;
8477                m = r - (l(y, 6419) >>> 8 | 0) - (l(x, 13320) >>> 8) | 0;
8478                r = m + 8708 | 0;
8479                d[s + 2 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : (m | 0) < -8708 ? 0 : 255;
8480                r = g[a + B | 0];
8481                x = t << 3;
8482                m = x + i | 0;
8483                d[m | 0] = 255;
8484                v = v + (n + o << 1) >>> 3 | 0;
8485                y = v + p | 0;
8486                z = y >>> 1 & 255;
8487                n = l(r, 19077) >>> 8 | 0;
8488                r = (l(z, 33050) >>> 8 | 0) + n | 0;
8489                s = r + -17685 | 0;
8490                d[m + 3 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : r >>> 0 < 17685 ? 0 : 255;
8491                r = y >>> 17 & 255;
8492                y = n + (l(r, 26149) >>> 8 | 0) | 0;
8493                s = y + -14234 | 0;
8494                d[m + 1 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : y >>> 0 < 14234 ? 0 : 255;
8495                s = m;
8496                n = n - (l(z, 6419) >>> 8 | 0) - (l(r, 13320) >>> 8) | 0;
8497                m = n + 8708 | 0;
8498                d[s + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8499                if (b) {
8500                  m = g[b + w | 0];
8501                  n = j + C | 0;
8502                  d[n | 0] = 255;
8503                  w = q + v | 0;
8504                  v = w >>> 1 & 255;
8505                  q = l(m, 19077) >>> 8 | 0;
8506                  m = (l(v, 33050) >>> 8 | 0) + q | 0;
8507                  r = m + -17685 | 0;
8508                  d[n + 3 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
8509                  m = w >>> 17 & 255;
8510                  w = q + (l(m, 26149) >>> 8 | 0) | 0;
8511                  r = w + -14234 | 0;
8512                  d[n + 1 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : w >>> 0 < 14234 ? 0 : 255;
8513                  s = n;
8514                  n = q - (l(v, 6419) >>> 8 | 0) - (l(m, 13320) >>> 8) | 0;
8515                  q = n + 8708 | 0;
8516                  d[s + 2 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8517                  q = g[b + B | 0];
8518                  n = j + x | 0;
8519                  d[n | 0] = 255;
8520                  q = l(q, 19077) >>> 8 | 0;
8521                  m = o + A | 0;
8522                  B = m >>> 1 & 255;
8523                  w = q + (l(B, 33050) >>> 8 | 0) | 0;
8524                  v = w + -17685 | 0;
8525                  d[n + 3 | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : w >>> 0 < 17685 ? 0 : 255;
8526                  m = m >>> 17 & 255;
8527                  w = q + (l(m, 26149) >>> 8 | 0) | 0;
8528                  v = w + -14234 | 0;
8529                  d[n + 1 | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : w >>> 0 < 14234 ? 0 : 255;
8530                  s = n;
8531                  n = q - (l(B, 6419) >>> 8 | 0) - (l(m, 13320) >>> 8) | 0;
8532                  q = n + 8708 | 0;
8533                  d[s + 2 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8534                }
8535                m = (t | 0) != (D | 0);
8536                t = t + 1 | 0;
8537                n = p;
8538                q = o;
8539                if (m) {
8540                  continue;
8541                }
8542                break;
8543              }
8544            }
8545            b: {
8546              if (k & 1) {
8547                break b;
8548              }
8549              c = g[a + u | 0];
8550              e = u << 2;
8551              a = e + i | 0;
8552              d[a | 0] = 255;
8553              c = l(c, 19077) >>> 8 | 0;
8554              f = (l(p, 3) + o | 0) + 131074 | 0;
8555              h = f >>> 2 & 255;
8556              i = c + (l(h, 33050) >>> 8 | 0) | 0;
8557              k = i + -17685 | 0;
8558              d[a + 3 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 17685 ? 0 : 255;
8559              f = f >>> 18 & 255;
8560              i = c + (l(f, 26149) >>> 8 | 0) | 0;
8561              k = i + -14234 | 0;
8562              d[a + 1 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 14234 ? 0 : 255;
8563              i = a;
8564              a = c - (l(h, 6419) >>> 8 | 0) - (l(f, 13320) >>> 8) | 0;
8565              c = a + 8708 | 0;
8566              d[i + 2 | 0] = c >>> 0 < 16384 ? c >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
8567              if (!b) {
8568                break b;
8569              }
8570              b = g[b + u | 0];
8571              a = e + j | 0;
8572              d[a | 0] = 255;
8573              b = l(b, 19077) >>> 8 | 0;
8574              c = (l(o, 3) + p | 0) + 131074 | 0;
8575              e = c >>> 2 & 255;
8576              f = b + (l(e, 33050) >>> 8 | 0) | 0;
8577              h = f + -17685 | 0;
8578              d[a + 3 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
8579              c = c >>> 18 & 255;
8580              f = b + (l(c, 26149) >>> 8 | 0) | 0;
8581              h = f + -14234 | 0;
8582              d[a + 1 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
8583              f = a;
8584              a = b - (l(e, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
8585              b = a + 8708 | 0;
8586              d[f + 2 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
8587            }
8588          }
8589          function wd(a, b, c, e, f, h, i, j, k) {
8590            a = a | 0;
8591            b = b | 0;
8592            c = c | 0;
8593            e = e | 0;
8594            f = f | 0;
8595            h = h | 0;
8596            i = i | 0;
8597            j = j | 0;
8598            k = k | 0;
8599            var m = 0,
8600              n = 0,
8601              o = 0,
8602              p = 0,
8603              q = 0,
8604              r = 0,
8605              s = 0,
8606              t = 0,
8607              u = 0,
8608              v = 0,
8609              w = 0,
8610              x = 0,
8611              y = 0,
8612              z = 0,
8613              A = 0,
8614              B = 0,
8615              C = 0,
8616              D = 0;
8617            o = g[a | 0];
8618            n = g[c | 0];
8619            p = g[e | 0];
8620            q = g[f | 0];
8621            t = g[h | 0];
8622            d[i + 3 | 0] = 255;
8623            o = l(o, 19077) >>> 8 | 0;
8624            q = q | t << 16;
8625            n = n | p << 16;
8626            p = (q + l(n, 3) | 0) + 131074 | 0;
8627            t = p >>> 2 & 255;
8628            u = o + (l(t, 33050) >>> 8 | 0) | 0;
8629            m = u + -17685 | 0;
8630            d[i + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 17685 ? 0 : 255;
8631            p = p >>> 18 & 255;
8632            u = o + (l(p, 26149) >>> 8 | 0) | 0;
8633            m = u + -14234 | 0;
8634            d[i | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 14234 ? 0 : 255;
8635            o = o - (l(t, 6419) >>> 8 | 0) - (l(p, 13320) >>> 8) | 0;
8636            p = o + 8708 | 0;
8637            d[i + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
8638            if (b) {
8639              o = g[b | 0];
8640              d[j + 3 | 0] = 255;
8641              o = l(o, 19077) >>> 8 | 0;
8642              p = (l(q, 3) + n | 0) + 131074 | 0;
8643              t = p >>> 2 & 255;
8644              u = o + (l(t, 33050) >>> 8 | 0) | 0;
8645              m = u + -17685 | 0;
8646              d[j + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 17685 ? 0 : 255;
8647              p = p >>> 18 & 255;
8648              u = o + (l(p, 26149) >>> 8 | 0) | 0;
8649              m = u + -14234 | 0;
8650              d[j | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 14234 ? 0 : 255;
8651              o = o - (l(t, 6419) >>> 8 | 0) - (l(p, 13320) >>> 8) | 0;
8652              p = o + 8708 | 0;
8653              d[j + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
8654            }
8655            u = k + -1 | 0;
8656            a: {
8657              if ((k | 0) < 3) {
8658                o = q;
8659                p = n;
8660                break a;
8661              }
8662              o = u >> 1;
8663              D = (o | 0) > 1 ? o : 1;
8664              t = 1;
8665              while (1) {
8666                B = t << 1;
8667                w = B + -1 | 0;
8668                r = g[w + a | 0];
8669                p = g[c + t | 0];
8670                v = g[e + t | 0];
8671                o = g[f + t | 0];
8672                A = g[h + t | 0];
8673                C = w << 2;
8674                m = C + i | 0;
8675                d[m + 3 | 0] = 255;
8676                o = o | A << 16;
8677                p = p | v << 16;
8678                A = q + p | 0;
8679                v = (o + (A + n | 0) | 0) + 524296 | 0;
8680                r = l(r, 19077) >>> 8 | 0;
8681                A = v + (A << 1) >>> 3 | 0;
8682                x = A + n | 0;
8683                y = x >>> 1 & 255;
8684                z = r + (l(y, 33050) >>> 8 | 0) | 0;
8685                s = z + -17685 | 0;
8686                d[m + 2 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : z >>> 0 < 17685 ? 0 : 255;
8687                x = x >>> 17 & 255;
8688                z = r + (l(x, 26149) >>> 8 | 0) | 0;
8689                s = z + -14234 | 0;
8690                d[m | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : z >>> 0 < 14234 ? 0 : 255;
8691                s = m;
8692                m = r - (l(y, 6419) >>> 8 | 0) - (l(x, 13320) >>> 8) | 0;
8693                r = m + 8708 | 0;
8694                d[s + 1 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : (m | 0) < -8708 ? 0 : 255;
8695                r = g[a + B | 0];
8696                x = t << 3;
8697                m = x + i | 0;
8698                d[m + 3 | 0] = 255;
8699                v = v + (n + o << 1) >>> 3 | 0;
8700                y = v + p | 0;
8701                z = y >>> 1 & 255;
8702                n = l(r, 19077) >>> 8 | 0;
8703                r = (l(z, 33050) >>> 8 | 0) + n | 0;
8704                s = r + -17685 | 0;
8705                d[m + 2 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : r >>> 0 < 17685 ? 0 : 255;
8706                r = y >>> 17 & 255;
8707                y = n + (l(r, 26149) >>> 8 | 0) | 0;
8708                s = y + -14234 | 0;
8709                d[m | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : y >>> 0 < 14234 ? 0 : 255;
8710                s = m;
8711                n = n - (l(z, 6419) >>> 8 | 0) - (l(r, 13320) >>> 8) | 0;
8712                m = n + 8708 | 0;
8713                d[s + 1 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8714                if (b) {
8715                  m = g[b + w | 0];
8716                  n = j + C | 0;
8717                  d[n + 3 | 0] = 255;
8718                  w = q + v | 0;
8719                  v = w >>> 1 & 255;
8720                  q = l(m, 19077) >>> 8 | 0;
8721                  m = (l(v, 33050) >>> 8 | 0) + q | 0;
8722                  r = m + -17685 | 0;
8723                  d[n + 2 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
8724                  m = w >>> 17 & 255;
8725                  w = q + (l(m, 26149) >>> 8 | 0) | 0;
8726                  r = w + -14234 | 0;
8727                  d[n | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : w >>> 0 < 14234 ? 0 : 255;
8728                  s = n;
8729                  n = q - (l(v, 6419) >>> 8 | 0) - (l(m, 13320) >>> 8) | 0;
8730                  q = n + 8708 | 0;
8731                  d[s + 1 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8732                  q = g[b + B | 0];
8733                  n = j + x | 0;
8734                  d[n + 3 | 0] = 255;
8735                  q = l(q, 19077) >>> 8 | 0;
8736                  m = o + A | 0;
8737                  B = m >>> 1 & 255;
8738                  w = q + (l(B, 33050) >>> 8 | 0) | 0;
8739                  v = w + -17685 | 0;
8740                  d[n + 2 | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : w >>> 0 < 17685 ? 0 : 255;
8741                  m = m >>> 17 & 255;
8742                  w = q + (l(m, 26149) >>> 8 | 0) | 0;
8743                  v = w + -14234 | 0;
8744                  d[n | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : w >>> 0 < 14234 ? 0 : 255;
8745                  s = n;
8746                  n = q - (l(B, 6419) >>> 8 | 0) - (l(m, 13320) >>> 8) | 0;
8747                  q = n + 8708 | 0;
8748                  d[s + 1 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8749                }
8750                m = (t | 0) != (D | 0);
8751                t = t + 1 | 0;
8752                n = p;
8753                q = o;
8754                if (m) {
8755                  continue;
8756                }
8757                break;
8758              }
8759            }
8760            b: {
8761              if (k & 1) {
8762                break b;
8763              }
8764              c = g[a + u | 0];
8765              e = u << 2;
8766              a = e + i | 0;
8767              d[a + 3 | 0] = 255;
8768              c = l(c, 19077) >>> 8 | 0;
8769              f = (l(p, 3) + o | 0) + 131074 | 0;
8770              h = f >>> 2 & 255;
8771              i = c + (l(h, 33050) >>> 8 | 0) | 0;
8772              k = i + -17685 | 0;
8773              d[a + 2 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 17685 ? 0 : 255;
8774              f = f >>> 18 & 255;
8775              i = c + (l(f, 26149) >>> 8 | 0) | 0;
8776              k = i + -14234 | 0;
8777              d[a | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 14234 ? 0 : 255;
8778              i = a;
8779              a = c - (l(h, 6419) >>> 8 | 0) - (l(f, 13320) >>> 8) | 0;
8780              c = a + 8708 | 0;
8781              d[i + 1 | 0] = c >>> 0 < 16384 ? c >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
8782              if (!b) {
8783                break b;
8784              }
8785              b = g[b + u | 0];
8786              a = e + j | 0;
8787              d[a + 3 | 0] = 255;
8788              b = l(b, 19077) >>> 8 | 0;
8789              c = (l(o, 3) + p | 0) + 131074 | 0;
8790              e = c >>> 2 & 255;
8791              f = b + (l(e, 33050) >>> 8 | 0) | 0;
8792              h = f + -17685 | 0;
8793              d[a + 2 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
8794              c = c >>> 18 & 255;
8795              f = b + (l(c, 26149) >>> 8 | 0) | 0;
8796              h = f + -14234 | 0;
8797              d[a | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
8798              f = a;
8799              a = b - (l(e, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
8800              b = a + 8708 | 0;
8801              d[f + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
8802            }
8803          }
8804          function vd(a, b, c, e, f, h, i, j, k) {
8805            a = a | 0;
8806            b = b | 0;
8807            c = c | 0;
8808            e = e | 0;
8809            f = f | 0;
8810            h = h | 0;
8811            i = i | 0;
8812            j = j | 0;
8813            k = k | 0;
8814            var m = 0,
8815              n = 0,
8816              o = 0,
8817              p = 0,
8818              q = 0,
8819              r = 0,
8820              s = 0,
8821              t = 0,
8822              u = 0,
8823              v = 0,
8824              w = 0,
8825              x = 0,
8826              y = 0,
8827              z = 0,
8828              A = 0,
8829              B = 0,
8830              C = 0,
8831              D = 0;
8832            o = g[a | 0];
8833            n = g[c | 0];
8834            p = g[e | 0];
8835            q = g[f | 0];
8836            t = g[h | 0];
8837            d[i + 3 | 0] = 255;
8838            o = l(o, 19077) >>> 8 | 0;
8839            q = q | t << 16;
8840            n = n | p << 16;
8841            p = (q + l(n, 3) | 0) + 131074 | 0;
8842            t = p >>> 18 & 255;
8843            u = o + (l(t, 26149) >>> 8 | 0) | 0;
8844            m = u + -14234 | 0;
8845            d[i + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 14234 ? 0 : 255;
8846            p = p >>> 2 & 255;
8847            u = o + (l(p, 33050) >>> 8 | 0) | 0;
8848            m = u + -17685 | 0;
8849            d[i | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 17685 ? 0 : 255;
8850            o = o - (l(p, 6419) >>> 8 | 0) - (l(t, 13320) >>> 8) | 0;
8851            p = o + 8708 | 0;
8852            d[i + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
8853            if (b) {
8854              o = g[b | 0];
8855              d[j + 3 | 0] = 255;
8856              o = l(o, 19077) >>> 8 | 0;
8857              p = (l(q, 3) + n | 0) + 131074 | 0;
8858              t = p >>> 18 & 255;
8859              u = o + (l(t, 26149) >>> 8 | 0) | 0;
8860              m = u + -14234 | 0;
8861              d[j + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 14234 ? 0 : 255;
8862              p = p >>> 2 & 255;
8863              u = o + (l(p, 33050) >>> 8 | 0) | 0;
8864              m = u + -17685 | 0;
8865              d[j | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : u >>> 0 < 17685 ? 0 : 255;
8866              o = o - (l(p, 6419) >>> 8 | 0) - (l(t, 13320) >>> 8) | 0;
8867              p = o + 8708 | 0;
8868              d[j + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
8869            }
8870            u = k + -1 | 0;
8871            a: {
8872              if ((k | 0) < 3) {
8873                o = q;
8874                p = n;
8875                break a;
8876              }
8877              o = u >> 1;
8878              D = (o | 0) > 1 ? o : 1;
8879              t = 1;
8880              while (1) {
8881                B = t << 1;
8882                w = B + -1 | 0;
8883                r = g[w + a | 0];
8884                p = g[c + t | 0];
8885                v = g[e + t | 0];
8886                o = g[f + t | 0];
8887                A = g[h + t | 0];
8888                C = w << 2;
8889                m = C + i | 0;
8890                d[m + 3 | 0] = 255;
8891                o = o | A << 16;
8892                p = p | v << 16;
8893                A = q + p | 0;
8894                v = (o + (A + n | 0) | 0) + 524296 | 0;
8895                r = l(r, 19077) >>> 8 | 0;
8896                A = v + (A << 1) >>> 3 | 0;
8897                x = A + n | 0;
8898                y = x >>> 17 & 255;
8899                z = r + (l(y, 26149) >>> 8 | 0) | 0;
8900                s = z + -14234 | 0;
8901                d[m + 2 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : z >>> 0 < 14234 ? 0 : 255;
8902                x = x >>> 1 & 255;
8903                z = r + (l(x, 33050) >>> 8 | 0) | 0;
8904                s = z + -17685 | 0;
8905                d[m | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : z >>> 0 < 17685 ? 0 : 255;
8906                s = m;
8907                m = r - (l(x, 6419) >>> 8 | 0) - (l(y, 13320) >>> 8) | 0;
8908                r = m + 8708 | 0;
8909                d[s + 1 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : (m | 0) < -8708 ? 0 : 255;
8910                r = g[a + B | 0];
8911                x = t << 3;
8912                m = x + i | 0;
8913                d[m + 3 | 0] = 255;
8914                v = v + (n + o << 1) >>> 3 | 0;
8915                y = v + p | 0;
8916                z = y >>> 17 & 255;
8917                n = l(r, 19077) >>> 8 | 0;
8918                r = (l(z, 26149) >>> 8 | 0) + n | 0;
8919                s = r + -14234 | 0;
8920                d[m + 2 | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : r >>> 0 < 14234 ? 0 : 255;
8921                r = y >>> 1 & 255;
8922                y = n + (l(r, 33050) >>> 8 | 0) | 0;
8923                s = y + -17685 | 0;
8924                d[m | 0] = s >>> 0 < 16384 ? s >>> 6 | 0 : y >>> 0 < 17685 ? 0 : 255;
8925                s = m;
8926                n = n - (l(r, 6419) >>> 8 | 0) - (l(z, 13320) >>> 8) | 0;
8927                m = n + 8708 | 0;
8928                d[s + 1 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8929                if (b) {
8930                  m = g[b + w | 0];
8931                  n = j + C | 0;
8932                  d[n + 3 | 0] = 255;
8933                  w = q + v | 0;
8934                  v = w >>> 17 & 255;
8935                  q = l(m, 19077) >>> 8 | 0;
8936                  m = (l(v, 26149) >>> 8 | 0) + q | 0;
8937                  r = m + -14234 | 0;
8938                  d[n + 2 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 255;
8939                  m = w >>> 1 & 255;
8940                  w = q + (l(m, 33050) >>> 8 | 0) | 0;
8941                  r = w + -17685 | 0;
8942                  d[n | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : w >>> 0 < 17685 ? 0 : 255;
8943                  s = n;
8944                  n = q - (l(m, 6419) >>> 8 | 0) - (l(v, 13320) >>> 8) | 0;
8945                  q = n + 8708 | 0;
8946                  d[s + 1 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8947                  q = g[b + B | 0];
8948                  n = j + x | 0;
8949                  d[n + 3 | 0] = 255;
8950                  q = l(q, 19077) >>> 8 | 0;
8951                  m = o + A | 0;
8952                  B = m >>> 17 & 255;
8953                  w = q + (l(B, 26149) >>> 8 | 0) | 0;
8954                  v = w + -14234 | 0;
8955                  d[n + 2 | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : w >>> 0 < 14234 ? 0 : 255;
8956                  m = m >>> 1 & 255;
8957                  w = q + (l(m, 33050) >>> 8 | 0) | 0;
8958                  v = w + -17685 | 0;
8959                  d[n | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : w >>> 0 < 17685 ? 0 : 255;
8960                  s = n;
8961                  n = q - (l(m, 6419) >>> 8 | 0) - (l(B, 13320) >>> 8) | 0;
8962                  q = n + 8708 | 0;
8963                  d[s + 1 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
8964                }
8965                m = (t | 0) != (D | 0);
8966                t = t + 1 | 0;
8967                n = p;
8968                q = o;
8969                if (m) {
8970                  continue;
8971                }
8972                break;
8973              }
8974            }
8975            b: {
8976              if (k & 1) {
8977                break b;
8978              }
8979              c = g[a + u | 0];
8980              e = u << 2;
8981              a = e + i | 0;
8982              d[a + 3 | 0] = 255;
8983              c = l(c, 19077) >>> 8 | 0;
8984              f = (l(p, 3) + o | 0) + 131074 | 0;
8985              h = f >>> 18 & 255;
8986              i = c + (l(h, 26149) >>> 8 | 0) | 0;
8987              k = i + -14234 | 0;
8988              d[a + 2 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 14234 ? 0 : 255;
8989              f = f >>> 2 & 255;
8990              i = c + (l(f, 33050) >>> 8 | 0) | 0;
8991              k = i + -17685 | 0;
8992              d[a | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 17685 ? 0 : 255;
8993              i = a;
8994              a = c - (l(f, 6419) >>> 8 | 0) - (l(h, 13320) >>> 8) | 0;
8995              c = a + 8708 | 0;
8996              d[i + 1 | 0] = c >>> 0 < 16384 ? c >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
8997              if (!b) {
8998                break b;
8999              }
9000              b = g[b + u | 0];
9001              a = e + j | 0;
9002              d[a + 3 | 0] = 255;
9003              b = l(b, 19077) >>> 8 | 0;
9004              c = (l(o, 3) + p | 0) + 131074 | 0;
9005              e = c >>> 18 & 255;
9006              f = b + (l(e, 26149) >>> 8 | 0) | 0;
9007              h = f + -14234 | 0;
9008              d[a + 2 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
9009              c = c >>> 2 & 255;
9010              f = b + (l(c, 33050) >>> 8 | 0) | 0;
9011              h = f + -17685 | 0;
9012              d[a | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
9013              f = a;
9014              a = b - (l(c, 6419) >>> 8 | 0) - (l(e, 13320) >>> 8) | 0;
9015              b = a + 8708 | 0;
9016              d[f + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
9017            }
9018          }
9019          function zd(a, b, c, e, f, h, i, j, k) {
9020            a = a | 0;
9021            b = b | 0;
9022            c = c | 0;
9023            e = e | 0;
9024            f = f | 0;
9025            h = h | 0;
9026            i = i | 0;
9027            j = j | 0;
9028            k = k | 0;
9029            var m = 0,
9030              n = 0,
9031              o = 0,
9032              p = 0,
9033              q = 0,
9034              r = 0,
9035              s = 0,
9036              t = 0,
9037              u = 0,
9038              v = 0,
9039              w = 0,
9040              x = 0,
9041              y = 0,
9042              z = 0,
9043              A = 0,
9044              B = 0,
9045              C = 0,
9046              D = 0;
9047            p = l(g[a | 0], 19077) >>> 8 | 0;
9048            q = g[f | 0] | g[h | 0] << 16;
9049            m = g[c | 0] | g[e | 0] << 16;
9050            o = (q + l(m, 3) | 0) + 131074 | 0;
9051            t = o >>> 2 & 255;
9052            o = o >>> 18 | 0;
9053            s = p - (l(t, 6419) >>> 8 | 0) - (l(o, 13320) >>> 8) | 0;
9054            n = s + 8708 | 0;
9055            s = n >>> 0 < 16384 ? n >> 6 : (s | 0) < -8708 ? 0 : 255;
9056            o = p + (l(o, 26149) >>> 8 | 0) | 0;
9057            n = o + -14234 | 0;
9058            d[i | 0] = s >>> 5 | (n >>> 0 < 16384 ? n >>> 6 | 0 : o >>> 0 < 14234 ? 0 : 248) & 248;
9059            p = p + (l(t, 33050) >>> 8 | 0) | 0;
9060            o = p + -17685 | 0;
9061            d[i + 1 | 0] = s << 3 & 224 | (o >>> 0 < 16384 ? o >>> 9 | 0 : p >>> 0 < 17685 ? 0 : 31);
9062            if (b) {
9063              p = l(g[b | 0], 19077) >>> 8 | 0;
9064              o = (l(q, 3) + m | 0) + 131074 | 0;
9065              t = o >>> 2 & 255;
9066              o = o >>> 18 | 0;
9067              s = p - (l(t, 6419) >>> 8 | 0) - (l(o, 13320) >>> 8) | 0;
9068              n = s + 8708 | 0;
9069              s = n >>> 0 < 16384 ? n >> 6 : (s | 0) < -8708 ? 0 : 255;
9070              o = p + (l(o, 26149) >>> 8 | 0) | 0;
9071              n = o + -14234 | 0;
9072              d[j | 0] = s >>> 5 | (n >>> 0 < 16384 ? n >>> 6 | 0 : o >>> 0 < 14234 ? 0 : 248) & 248;
9073              p = p + (l(t, 33050) >>> 8 | 0) | 0;
9074              o = p + -17685 | 0;
9075              d[j + 1 | 0] = s << 3 & 224 | (o >>> 0 < 16384 ? o >>> 9 | 0 : p >>> 0 < 17685 ? 0 : 31);
9076            }
9077            s = k + -1 | 0;
9078            a: {
9079              if ((k | 0) < 3) {
9080                p = q;
9081                o = m;
9082                break a;
9083              }
9084              p = s >> 1;
9085              D = (p | 0) > 1 ? p : 1;
9086              t = 1;
9087              while (1) {
9088                p = g[f + t | 0] | g[h + t | 0] << 16;
9089                o = g[c + t | 0] | g[e + t | 0] << 16;
9090                B = o + q | 0;
9091                n = (p + (B + m | 0) | 0) + 524296 | 0;
9092                A = t << 1;
9093                u = A + -1 | 0;
9094                y = u << 1;
9095                z = y + i | 0;
9096                r = l(g[a + u | 0], 19077) >>> 8 | 0;
9097                B = n + (B << 1) >>> 3 | 0;
9098                w = B + m | 0;
9099                C = w >>> 1 & 255;
9100                w = w >>> 17 | 0;
9101                x = r - (l(C, 6419) >>> 8 | 0) - (l(w, 13320) >>> 8) | 0;
9102                v = x + 8708 | 0;
9103                x = v >>> 0 < 16384 ? v >> 6 : (x | 0) < -8708 ? 0 : 255;
9104                w = r + (l(w, 26149) >>> 8 | 0) | 0;
9105                v = w + -14234 | 0;
9106                d[z | 0] = x >>> 5 | (v >>> 0 < 16384 ? v >>> 6 | 0 : w >>> 0 < 14234 ? 0 : 248) & 248;
9107                v = z;
9108                r = r + (l(C, 33050) >>> 8 | 0) | 0;
9109                z = r + -17685 | 0;
9110                d[v + 1 | 0] = x << 3 & 224 | (z >>> 0 < 16384 ? z >>> 9 | 0 : r >>> 0 < 17685 ? 0 : 31);
9111                z = t << 2;
9112                w = z + i | 0;
9113                r = l(g[a + A | 0], 19077) >>> 8 | 0;
9114                n = n + (m + p << 1) >>> 3 | 0;
9115                m = n + o | 0;
9116                C = m >>> 1 & 255;
9117                m = m >>> 17 | 0;
9118                x = r - (l(C, 6419) >>> 8 | 0) - (l(m, 13320) >>> 8) | 0;
9119                v = x + 8708 | 0;
9120                x = v >>> 0 < 16384 ? v >> 6 : (x | 0) < -8708 ? 0 : 255;
9121                m = r + (l(m, 26149) >>> 8 | 0) | 0;
9122                v = m + -14234 | 0;
9123                d[w | 0] = x >>> 5 | (v >>> 0 < 16384 ? v >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 248) & 248;
9124                m = r + (l(C, 33050) >>> 8 | 0) | 0;
9125                r = m + -17685 | 0;
9126                d[w + 1 | 0] = x << 3 & 224 | (r >>> 0 < 16384 ? r >>> 9 | 0 : m >>> 0 < 17685 ? 0 : 31);
9127                if (b) {
9128                  r = j + y | 0;
9129                  m = l(g[b + u | 0], 19077) >>> 8 | 0;
9130                  q = n + q | 0;
9131                  n = q >>> 1 & 255;
9132                  q = q >>> 17 | 0;
9133                  u = m - (l(n, 6419) >>> 8 | 0) - (l(q, 13320) >>> 8) | 0;
9134                  y = u + 8708 | 0;
9135                  u = y >>> 0 < 16384 ? y >> 6 : (u | 0) < -8708 ? 0 : 255;
9136                  q = m + (l(q, 26149) >>> 8 | 0) | 0;
9137                  y = q + -14234 | 0;
9138                  d[r | 0] = u >>> 5 | (y >>> 0 < 16384 ? y >>> 6 | 0 : q >>> 0 < 14234 ? 0 : 248) & 248;
9139                  m = m + (l(n, 33050) >>> 8 | 0) | 0;
9140                  q = m + -17685 | 0;
9141                  d[r + 1 | 0] = u << 3 & 224 | (q >>> 0 < 16384 ? q >>> 9 | 0 : m >>> 0 < 17685 ? 0 : 31);
9142                  q = j + z | 0;
9143                  m = l(g[b + A | 0], 19077) >>> 8 | 0;
9144                  n = p + B | 0;
9145                  A = n >>> 1 & 255;
9146                  n = n >>> 17 | 0;
9147                  u = m - (l(A, 6419) >>> 8 | 0) - (l(n, 13320) >>> 8) | 0;
9148                  r = u + 8708 | 0;
9149                  u = r >>> 0 < 16384 ? r >> 6 : (u | 0) < -8708 ? 0 : 255;
9150                  n = m + (l(n, 26149) >>> 8 | 0) | 0;
9151                  r = n + -14234 | 0;
9152                  d[q | 0] = u >>> 5 | (r >>> 0 < 16384 ? r >>> 6 | 0 : n >>> 0 < 14234 ? 0 : 248) & 248;
9153                  v = q;
9154                  m = m + (l(A, 33050) >>> 8 | 0) | 0;
9155                  q = m + -17685 | 0;
9156                  d[v + 1 | 0] = u << 3 & 224 | (q >>> 0 < 16384 ? q >>> 9 | 0 : m >>> 0 < 17685 ? 0 : 31);
9157                }
9158                n = (t | 0) != (D | 0);
9159                t = t + 1 | 0;
9160                m = o;
9161                q = p;
9162                if (n) {
9163                  continue;
9164                }
9165                break;
9166              }
9167            }
9168            b: {
9169              if (k & 1) {
9170                break b;
9171              }
9172              c = s << 1;
9173              e = c + i | 0;
9174              a = l(g[a + s | 0], 19077) >>> 8 | 0;
9175              f = (l(o, 3) + p | 0) + 131074 | 0;
9176              h = f >>> 2 & 255;
9177              f = f >>> 18 | 0;
9178              i = a - (l(h, 6419) >>> 8 | 0) - (l(f, 13320) >>> 8) | 0;
9179              k = i + 8708 | 0;
9180              i = k >>> 0 < 16384 ? k >> 6 : (i | 0) < -8708 ? 0 : 255;
9181              f = a + (l(f, 26149) >>> 8 | 0) | 0;
9182              k = f + -14234 | 0;
9183              d[e | 0] = i >>> 5 | (k >>> 0 < 16384 ? k >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 248) & 248;
9184              f = e;
9185              a = a + (l(h, 33050) >>> 8 | 0) | 0;
9186              e = a + -17685 | 0;
9187              d[f + 1 | 0] = i << 3 & 224 | (e >>> 0 < 16384 ? e >>> 9 | 0 : a >>> 0 < 17685 ? 0 : 31);
9188              if (!b) {
9189                break b;
9190              }
9191              c = c + j | 0;
9192              a = l(g[b + s | 0], 19077) >>> 8 | 0;
9193              b = (l(p, 3) + o | 0) + 131074 | 0;
9194              e = b >>> 2 & 255;
9195              b = b >>> 18 | 0;
9196              f = a - (l(e, 6419) >>> 8 | 0) - (l(b, 13320) >>> 8) | 0;
9197              h = f + 8708 | 0;
9198              f = h >>> 0 < 16384 ? h >> 6 : (f | 0) < -8708 ? 0 : 255;
9199              b = a + (l(b, 26149) >>> 8 | 0) | 0;
9200              h = b + -14234 | 0;
9201              d[c | 0] = f >>> 5 | (h >>> 0 < 16384 ? h >>> 6 | 0 : b >>> 0 < 14234 ? 0 : 248) & 248;
9202              a = a + (l(e, 33050) >>> 8 | 0) | 0;
9203              b = a + -17685 | 0;
9204              d[c + 1 | 0] = f << 3 & 224 | (b >>> 0 < 16384 ? b >>> 9 | 0 : a >>> 0 < 17685 ? 0 : 31);
9205            }
9206          }
9207          function xd(a, b, c, e, f, h, i, j, k) {
9208            a = a | 0;
9209            b = b | 0;
9210            c = c | 0;
9211            e = e | 0;
9212            f = f | 0;
9213            h = h | 0;
9214            i = i | 0;
9215            j = j | 0;
9216            k = k | 0;
9217            var m = 0,
9218              n = 0,
9219              o = 0,
9220              p = 0,
9221              q = 0,
9222              r = 0,
9223              s = 0,
9224              t = 0,
9225              u = 0,
9226              v = 0,
9227              w = 0,
9228              x = 0,
9229              y = 0,
9230              z = 0,
9231              A = 0,
9232              B = 0,
9233              C = 0,
9234              D = 0;
9235            o = l(g[a | 0], 19077) >>> 8 | 0;
9236            p = g[f | 0] | g[h | 0] << 16;
9237            m = g[c | 0] | g[e | 0] << 16;
9238            q = (p + l(m, 3) | 0) + 131074 | 0;
9239            s = q >>> 2 & 255;
9240            t = o + (l(s, 33050) >>> 8 | 0) | 0;
9241            n = t + -17685 | 0;
9242            d[i + 1 | 0] = (n >>> 0 < 16384 ? n >>> 6 | 0 : t >>> 0 < 17685 ? 0 : 240) | 15;
9243            q = q >>> 18 | 0;
9244            s = o - (l(s, 6419) >>> 8 | 0) - (l(q, 13320) >>> 8) | 0;
9245            t = s + 8708 | 0;
9246            o = o + (l(q, 26149) >>> 8 | 0) | 0;
9247            q = o + -14234 | 0;
9248            d[i | 0] = (t >>> 0 < 16384 ? t >>> 10 | 0 : (s | 0) < -8708 ? 0 : 15) | (q >>> 0 < 16384 ? q >>> 6 | 0 : o >>> 0 < 14234 ? 0 : 240) & 240;
9249            if (b) {
9250              o = l(g[b | 0], 19077) >>> 8 | 0;
9251              q = (l(p, 3) + m | 0) + 131074 | 0;
9252              s = q >>> 2 & 255;
9253              t = o + (l(s, 33050) >>> 8 | 0) | 0;
9254              n = t + -17685 | 0;
9255              d[j + 1 | 0] = (n >>> 0 < 16384 ? n >>> 6 | 0 : t >>> 0 < 17685 ? 0 : 240) | 15;
9256              q = q >>> 18 | 0;
9257              t = o + (l(q, 26149) >>> 8 | 0) | 0;
9258              n = t + -14234 | 0;
9259              o = o - (l(s, 6419) >>> 8 | 0) - (l(q, 13320) >>> 8) | 0;
9260              q = o + 8708 | 0;
9261              d[j | 0] = (n >>> 0 < 16384 ? n >>> 6 | 0 : t >>> 0 < 14234 ? 0 : 240) & 240 | (q >>> 0 < 16384 ? q >>> 10 | 0 : (o | 0) < -8708 ? 0 : 15);
9262            }
9263            t = k + -1 | 0;
9264            a: {
9265              if ((k | 0) < 3) {
9266                o = p;
9267                q = m;
9268                break a;
9269              }
9270              o = t >> 1;
9271              D = (o | 0) > 1 ? o : 1;
9272              s = 1;
9273              while (1) {
9274                o = g[f + s | 0] | g[h + s | 0] << 16;
9275                q = g[c + s | 0] | g[e + s | 0] << 16;
9276                u = q + p | 0;
9277                n = (o + (u + m | 0) | 0) + 524296 | 0;
9278                y = s << 1;
9279                v = y + -1 | 0;
9280                A = v << 1;
9281                r = A + i | 0;
9282                C = n + (u << 1) >>> 3 | 0;
9283                w = C + m | 0;
9284                x = w >>> 1 & 255;
9285                u = l(g[a + v | 0], 19077) >>> 8 | 0;
9286                B = (l(x, 33050) >>> 8 | 0) + u | 0;
9287                z = B + -17685 | 0;
9288                d[r + 1 | 0] = (z >>> 0 < 16384 ? z >>> 6 | 0 : B >>> 0 < 17685 ? 0 : 240) | 15;
9289                z = r;
9290                r = w >>> 17 | 0;
9291                w = u - (l(x, 6419) >>> 8 | 0) - (l(r, 13320) >>> 8) | 0;
9292                x = w + 8708 | 0;
9293                u = u + (l(r, 26149) >>> 8 | 0) | 0;
9294                r = u + -14234 | 0;
9295                d[z | 0] = (x >>> 0 < 16384 ? x >>> 10 | 0 : (w | 0) < -8708 ? 0 : 15) | (r >>> 0 < 16384 ? r >>> 6 | 0 : u >>> 0 < 14234 ? 0 : 240) & 240;
9296                u = s << 2;
9297                r = u + i | 0;
9298                n = n + (m + o << 1) >>> 3 | 0;
9299                w = n + q | 0;
9300                x = w >>> 1 & 255;
9301                m = l(g[a + y | 0], 19077) >>> 8 | 0;
9302                B = (l(x, 33050) >>> 8 | 0) + m | 0;
9303                z = B + -17685 | 0;
9304                d[r + 1 | 0] = (z >>> 0 < 16384 ? z >>> 6 | 0 : B >>> 0 < 17685 ? 0 : 240) | 15;
9305                z = r;
9306                r = w >>> 17 | 0;
9307                w = m - (l(x, 6419) >>> 8 | 0) - (l(r, 13320) >>> 8) | 0;
9308                x = w + 8708 | 0;
9309                m = m + (l(r, 26149) >>> 8 | 0) | 0;
9310                r = m + -14234 | 0;
9311                d[z | 0] = (x >>> 0 < 16384 ? x >>> 10 | 0 : (w | 0) < -8708 ? 0 : 15) | (r >>> 0 < 16384 ? r >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 240) & 240;
9312                if (b) {
9313                  A = j + A | 0;
9314                  m = l(g[b + v | 0], 19077) >>> 8 | 0;
9315                  p = n + p | 0;
9316                  n = p >>> 1 & 255;
9317                  v = m + (l(n, 33050) >>> 8 | 0) | 0;
9318                  r = v + -17685 | 0;
9319                  d[A + 1 | 0] = (r >>> 0 < 16384 ? r >>> 6 | 0 : v >>> 0 < 17685 ? 0 : 240) | 15;
9320                  r = A;
9321                  p = p >>> 17 | 0;
9322                  v = m + (l(p, 26149) >>> 8 | 0) | 0;
9323                  A = v + -14234 | 0;
9324                  m = m - (l(n, 6419) >>> 8 | 0) - (l(p, 13320) >>> 8) | 0;
9325                  p = m + 8708 | 0;
9326                  d[r | 0] = (A >>> 0 < 16384 ? A >>> 6 | 0 : v >>> 0 < 14234 ? 0 : 240) & 240 | (p >>> 0 < 16384 ? p >>> 10 | 0 : (m | 0) < -8708 ? 0 : 15);
9327                  p = j + u | 0;
9328                  m = l(g[b + y | 0], 19077) >>> 8 | 0;
9329                  n = o + C | 0;
9330                  v = n >>> 1 & 255;
9331                  y = m + (l(v, 33050) >>> 8 | 0) | 0;
9332                  u = y + -17685 | 0;
9333                  d[p + 1 | 0] = (u >>> 0 < 16384 ? u >>> 6 | 0 : y >>> 0 < 17685 ? 0 : 240) | 15;
9334                  r = p;
9335                  p = n >>> 17 | 0;
9336                  n = m + (l(p, 26149) >>> 8 | 0) | 0;
9337                  y = n + -14234 | 0;
9338                  m = m - (l(v, 6419) >>> 8 | 0) - (l(p, 13320) >>> 8) | 0;
9339                  p = m + 8708 | 0;
9340                  d[r | 0] = (y >>> 0 < 16384 ? y >>> 6 | 0 : n >>> 0 < 14234 ? 0 : 240) & 240 | (p >>> 0 < 16384 ? p >>> 10 | 0 : (m | 0) < -8708 ? 0 : 15);
9341                }
9342                n = (s | 0) != (D | 0);
9343                s = s + 1 | 0;
9344                m = q;
9345                p = o;
9346                if (n) {
9347                  continue;
9348                }
9349                break;
9350              }
9351            }
9352            b: {
9353              if (k & 1) {
9354                break b;
9355              }
9356              c = t << 1;
9357              e = c + i | 0;
9358              a = l(g[a + t | 0], 19077) >>> 8 | 0;
9359              f = (l(q, 3) + o | 0) + 131074 | 0;
9360              h = f >>> 2 & 255;
9361              i = a + (l(h, 33050) >>> 8 | 0) | 0;
9362              k = i + -17685 | 0;
9363              d[e + 1 | 0] = (k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 17685 ? 0 : 240) | 15;
9364              k = e;
9365              e = f >>> 18 | 0;
9366              f = a + (l(e, 26149) >>> 8 | 0) | 0;
9367              i = f + -14234 | 0;
9368              a = a - (l(h, 6419) >>> 8 | 0) - (l(e, 13320) >>> 8) | 0;
9369              e = a + 8708 | 0;
9370              d[k | 0] = (i >>> 0 < 16384 ? i >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 240) & 240 | (e >>> 0 < 16384 ? e >>> 10 | 0 : (a | 0) < -8708 ? 0 : 15);
9371              if (!b) {
9372                break b;
9373              }
9374              c = c + j | 0;
9375              a = l(g[b + t | 0], 19077) >>> 8 | 0;
9376              e = (l(o, 3) + q | 0) + 131074 | 0;
9377              f = e >>> 2 & 255;
9378              b = a + (l(f, 33050) >>> 8 | 0) | 0;
9379              h = b + -17685 | 0;
9380              d[c + 1 | 0] = (h >>> 0 < 16384 ? h >>> 6 | 0 : b >>> 0 < 17685 ? 0 : 240) | 15;
9381              h = c;
9382              b = e >>> 18 | 0;
9383              c = a + (l(b, 26149) >>> 8 | 0) | 0;
9384              e = c + -14234 | 0;
9385              a = a - (l(f, 6419) >>> 8 | 0) - (l(b, 13320) >>> 8) | 0;
9386              b = a + 8708 | 0;
9387              d[h | 0] = (e >>> 0 < 16384 ? e >>> 6 | 0 : c >>> 0 < 14234 ? 0 : 240) & 240 | (b >>> 0 < 16384 ? b >>> 10 | 0 : (a | 0) < -8708 ? 0 : 15);
9388            }
9389          }
9390          function Bd(a, b, c, e, f, h, i, j, k) {
9391            a = a | 0;
9392            b = b | 0;
9393            c = c | 0;
9394            e = e | 0;
9395            f = f | 0;
9396            h = h | 0;
9397            i = i | 0;
9398            j = j | 0;
9399            k = k | 0;
9400            var m = 0,
9401              n = 0,
9402              o = 0,
9403              p = 0,
9404              q = 0,
9405              r = 0,
9406              s = 0,
9407              t = 0,
9408              u = 0,
9409              v = 0,
9410              w = 0,
9411              x = 0,
9412              y = 0,
9413              z = 0,
9414              A = 0,
9415              B = 0,
9416              C = 0,
9417              D = 0;
9418            o = l(g[a | 0], 19077) >>> 8 | 0;
9419            r = g[f | 0] | g[h | 0] << 16;
9420            n = g[c | 0] | g[e | 0] << 16;
9421            p = (r + l(n, 3) | 0) + 131074 | 0;
9422            u = p >>> 18 | 0;
9423            t = o + (l(u, 26149) >>> 8 | 0) | 0;
9424            m = t + -14234 | 0;
9425            d[i | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 14234 ? 0 : 255;
9426            p = p >>> 2 & 255;
9427            t = o + (l(p, 33050) >>> 8 | 0) | 0;
9428            m = t + -17685 | 0;
9429            d[i + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 17685 ? 0 : 255;
9430            o = o - (l(p, 6419) >>> 8 | 0) - (l(u, 13320) >>> 8) | 0;
9431            p = o + 8708 | 0;
9432            d[i + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
9433            if (b) {
9434              o = l(g[b | 0], 19077) >>> 8 | 0;
9435              p = (l(r, 3) + n | 0) + 131074 | 0;
9436              u = p >>> 18 | 0;
9437              t = o + (l(u, 26149) >>> 8 | 0) | 0;
9438              m = t + -14234 | 0;
9439              d[j | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 14234 ? 0 : 255;
9440              p = p >>> 2 & 255;
9441              t = o + (l(p, 33050) >>> 8 | 0) | 0;
9442              m = t + -17685 | 0;
9443              d[j + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 17685 ? 0 : 255;
9444              o = o - (l(p, 6419) >>> 8 | 0) - (l(u, 13320) >>> 8) | 0;
9445              p = o + 8708 | 0;
9446              d[j + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
9447            }
9448            t = k + -1 | 0;
9449            a: {
9450              if ((k | 0) < 3) {
9451                o = r;
9452                p = n;
9453                break a;
9454              }
9455              o = t >> 1;
9456              D = (o | 0) > 1 ? o : 1;
9457              u = 1;
9458              while (1) {
9459                o = g[f + u | 0] | g[h + u | 0] << 16;
9460                p = g[c + u | 0] | g[e + u | 0] << 16;
9461                v = p + r | 0;
9462                m = (o + (v + n | 0) | 0) + 524296 | 0;
9463                z = u << 1;
9464                w = z + -1 | 0;
9465                A = l(w, 3);
9466                q = A + i | 0;
9467                C = m + (v << 1) >>> 3 | 0;
9468                x = C + n | 0;
9469                B = x >>> 17 | 0;
9470                v = l(g[a + w | 0], 19077) >>> 8 | 0;
9471                s = (l(B, 26149) >>> 8 | 0) + v | 0;
9472                y = s + -14234 | 0;
9473                d[q | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 14234 ? 0 : 255;
9474                x = x >>> 1 & 255;
9475                s = v + (l(x, 33050) >>> 8 | 0) | 0;
9476                y = s + -17685 | 0;
9477                d[q + 2 | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 17685 ? 0 : 255;
9478                s = q;
9479                q = v - (l(x, 6419) >>> 8 | 0) - (l(B, 13320) >>> 8) | 0;
9480                v = q + 8708 | 0;
9481                d[s + 1 | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : (q | 0) < -8708 ? 0 : 255;
9482                v = l(u, 6);
9483                q = v + i | 0;
9484                m = m + (n + o << 1) >>> 3 | 0;
9485                x = m + p | 0;
9486                B = x >>> 1 & 255;
9487                n = l(g[a + z | 0], 19077) >>> 8 | 0;
9488                s = (l(B, 33050) >>> 8 | 0) + n | 0;
9489                y = s + -17685 | 0;
9490                d[q + 2 | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 17685 ? 0 : 255;
9491                x = x >>> 17 | 0;
9492                s = n + (l(x, 26149) >>> 8 | 0) | 0;
9493                y = s + -14234 | 0;
9494                d[q | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 14234 ? 0 : 255;
9495                s = q;
9496                n = n - (l(B, 6419) >>> 8 | 0) - (l(x, 13320) >>> 8) | 0;
9497                q = n + 8708 | 0;
9498                d[s + 1 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
9499                if (b) {
9500                  n = j + A | 0;
9501                  m = m + r | 0;
9502                  q = m >>> 17 | 0;
9503                  r = l(g[b + w | 0], 19077) >>> 8 | 0;
9504                  w = (l(q, 26149) >>> 8 | 0) + r | 0;
9505                  A = w + -14234 | 0;
9506                  d[n | 0] = A >>> 0 < 16384 ? A >>
9506> 6 | 0 : w >>> 0 < 14234 ? 0 : 255;
9507                  m = m >>> 1 & 255;
9508                  w = r + (l(m, 33050) >>> 8 | 0) | 0;
9509                  A = w + -17685 | 0;
9510                  d[n + 2 | 0] = A >>> 0 < 16384 ? A >>> 6 | 0 : w >>> 0 < 17685 ? 0 : 255;
9511                  s = n;
9512                  n = r - (l(m, 6419) >>> 8 | 0) - (l(q, 13320) >>> 8) | 0;
9513                  r = n + 8708 | 0;
9514                  d[s + 1 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
9515                  n = j + v | 0;
9516                  r = l(g[b + z | 0], 19077) >>> 8 | 0;
9517                  m = o + C | 0;
9518                  w = m >>> 1 & 255;
9519                  z = r + (l(w, 33050) >>> 8 | 0) | 0;
9520                  q = z + -17685 | 0;
9521                  d[n + 2 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : z >>> 0 < 17685 ? 0 : 255;
9522                  m = m >>> 17 | 0;
9523                  z = r + (l(m, 26149) >>> 8 | 0) | 0;
9524                  q = z + -14234 | 0;
9525                  d[n | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : z >>> 0 < 14234 ? 0 : 255;
9526                  q = n;
9527                  n = r - (l(w, 6419) >>> 8 | 0) - (l(m, 13320) >>> 8) | 0;
9528                  r = n + 8708 | 0;
9529                  d[q + 1 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
9530                }
9531                m = (u | 0) != (D | 0);
9532                u = u + 1 | 0;
9533                n = p;
9534                r = o;
9535                if (m) {
9536                  continue;
9537                }
9538                break;
9539              }
9540            }
9541            b: {
9542              if (k & 1) {
9543                break b;
9544              }
9545              e = l(t, 3);
9546              c = e + i | 0;
9547              a = l(g[a + t | 0], 19077) >>> 8 | 0;
9548              f = (l(p, 3) + o | 0) + 131074 | 0;
9549              h = f >>> 18 | 0;
9550              i = a + (l(h, 26149) >>> 8 | 0) | 0;
9551              k = i + -14234 | 0;
9552              d[c | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 14234 ? 0 : 255;
9553              f = f >>> 2 & 255;
9554              i = a + (l(f, 33050) >>> 8 | 0) | 0;
9555              k = i + -17685 | 0;
9556              d[c + 2 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 17685 ? 0 : 255;
9557              i = c;
9558              a = a - (l(f, 6419) >>> 8 | 0) - (l(h, 13320) >>> 8) | 0;
9559              c = a + 8708 | 0;
9560              d[i + 1 | 0] = c >>> 0 < 16384 ? c >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
9561              if (!b) {
9562                break b;
9563              }
9564              a = e + j | 0;
9565              b = l(g[b + t | 0], 19077) >>> 8 | 0;
9566              c = (l(o, 3) + p | 0) + 131074 | 0;
9567              e = c >>> 18 | 0;
9568              f = b + (l(e, 26149) >>> 8 | 0) | 0;
9569              h = f + -14234 | 0;
9570              d[a | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
9571              c = c >>> 2 & 255;
9572              f = b + (l(c, 33050) >>> 8 | 0) | 0;
9573              h = f + -17685 | 0;
9574              d[a + 2 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
9575              f = a;
9576              a = b - (l(c, 6419) >>> 8 | 0) - (l(e, 13320) >>> 8) | 0;
9577              b = a + 8708 | 0;
9578              d[f + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
9579            }
9580          }
9581          function Ad(a, b, c, e, f, h, i, j, k) {
9582            a = a | 0;
9583            b = b | 0;
9584            c = c | 0;
9585            e = e | 0;
9586            f = f | 0;
9587            h = h | 0;
9588            i = i | 0;
9589            j = j | 0;
9590            k = k | 0;
9591            var m = 0,
9592              n = 0,
9593              o = 0,
9594              p = 0,
9595              q = 0,
9596              r = 0,
9597              s = 0,
9598              t = 0,
9599              u = 0,
9600              v = 0,
9601              w = 0,
9602              x = 0,
9603              y = 0,
9604              z = 0,
9605              A = 0,
9606              B = 0,
9607              C = 0,
9608              D = 0;
9609            o = l(g[a | 0], 19077) >>> 8 | 0;
9610            r = g[f | 0] | g[h | 0] << 16;
9611            n = g[c | 0] | g[e | 0] << 16;
9612            p = (r + l(n, 3) | 0) + 131074 | 0;
9613            u = p >>> 18 | 0;
9614            t = o + (l(u, 26149) >>> 8 | 0) | 0;
9615            m = t + -14234 | 0;
9616            d[i + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 14234 ? 0 : 255;
9617            p = p >>> 2 & 255;
9618            t = o + (l(p, 33050) >>> 8 | 0) | 0;
9619            m = t + -17685 | 0;
9620            d[i | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 17685 ? 0 : 255;
9621            o = o - (l(p, 6419) >>> 8 | 0) - (l(u, 13320) >>> 8) | 0;
9622            p = o + 8708 | 0;
9623            d[i + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
9624            if (b) {
9625              o = l(g[b | 0], 19077) >>> 8 | 0;
9626              p = (l(r, 3) + n | 0) + 131074 | 0;
9627              u = p >>> 18 | 0;
9628              t = o + (l(u, 26149) >>> 8 | 0) | 0;
9629              m = t + -14234 | 0;
9630              d[j + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 14234 ? 0 : 255;
9631              p = p >>> 2 & 255;
9632              t = o + (l(p, 33050) >>> 8 | 0) | 0;
9633              m = t + -17685 | 0;
9634              d[j | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : t >>> 0 < 17685 ? 0 : 255;
9635              o = o - (l(p, 6419) >>> 8 | 0) - (l(u, 13320) >>> 8) | 0;
9636              p = o + 8708 | 0;
9637              d[j + 1 | 0] = p >>> 0 < 16384 ? p >>> 6 | 0 : (o | 0) < -8708 ? 0 : 255;
9638            }
9639            t = k + -1 | 0;
9640            a: {
9641              if ((k | 0) < 3) {
9642                o = r;
9643                p = n;
9644                break a;
9645              }
9646              o = t >> 1;
9647              D = (o | 0) > 1 ? o : 1;
9648              u = 1;
9649              while (1) {
9650                o = g[f + u | 0] | g[h + u | 0] << 16;
9651                p = g[c + u | 0] | g[e + u | 0] << 16;
9652                v = p + r | 0;
9653                m = (o + (v + n | 0) | 0) + 524296 | 0;
9654                z = u << 1;
9655                w = z + -1 | 0;
9656                A = l(w, 3);
9657                q = A + i | 0;
9658                C = m + (v << 1) >>> 3 | 0;
9659                x = C + n | 0;
9660                B = x >>> 17 | 0;
9661                v = l(g[a + w | 0], 19077) >>> 8 | 0;
9662                s = (l(B, 26149) >>> 8 | 0) + v | 0;
9663                y = s + -14234 | 0;
9664                d[q + 2 | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 14234 ? 0 : 255;
9665                x = x >>> 1 & 255;
9666                s = v + (l(x, 33050) >>> 8 | 0) | 0;
9667                y = s + -17685 | 0;
9668                d[q | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 17685 ? 0 : 255;
9669                s = q;
9670                q = v - (l(x, 6419) >>> 8 | 0) - (l(B, 13320) >>> 8) | 0;
9671                v = q + 8708 | 0;
9672                d[s + 1 | 0] = v >>> 0 < 16384 ? v >>> 6 | 0 : (q | 0) < -8708 ? 0 : 255;
9673                v = l(u, 6);
9674                q = v + i | 0;
9675                m = m + (n + o << 1) >>> 3 | 0;
9676                x = m + p | 0;
9677                B = x >>> 17 | 0;
9678                n = l(g[a + z | 0], 19077) >>> 8 | 0;
9679                s = (l(B, 26149) >>> 8 | 0) + n | 0;
9680                y = s + -14234 | 0;
9681                d[q + 2 | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 14234 ? 0 : 255;
9682                x = x >>> 1 & 255;
9683                s = n + (l(x, 33050) >>> 8 | 0) | 0;
9684                y = s + -17685 | 0;
9685                d[q | 0] = y >>> 0 < 16384 ? y >>> 6 | 0 : s >>> 0 < 17685 ? 0 : 255;
9686                s = q;
9687                n = n - (l(x, 6419) >>> 8 | 0) - (l(B, 13320) >>> 8) | 0;
9688                q = n + 8708 | 0;
9689                d[s + 1 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
9690                if (b) {
9691                  n = j + A | 0;
9692                  m = m + r | 0;
9693                  q = m >>> 17 | 0;
9694                  r = l(g[b + w | 0], 19077) >>> 8 | 0;
9695                  w = (l(q, 26149) >>> 8 | 0) + r | 0;
9696                  A = w + -14234 | 0;
9697                  d[n + 2 | 0] = A >>> 0 < 16384 ? A >>
9697> 6 | 0 : w >>> 0 < 14234 ? 0 : 255;
9698                  m = m >>> 1 & 255;
9699                  w = r + (l(m, 33050) >>> 8 | 0) | 0;
9700                  A = w + -17685 | 0;
9701                  d[n | 0] = A >>> 0 < 16384 ? A >>> 6 | 0 : w >>> 0 < 17685 ? 0 : 255;
9702                  s = n;
9703                  n = r - (l(m, 6419) >>> 8 | 0) - (l(q, 13320) >>> 8) | 0;
9704                  r = n + 8708 | 0;
9705                  d[s + 1 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
9706                  n = j + v | 0;
9707                  r = l(g[b + z | 0], 19077) >>> 8 | 0;
9708                  m = o + C | 0;
9709                  w = m >>> 17 | 0;
9710                  z = r + (l(w, 26149) >>> 8 | 0) | 0;
9711                  q = z + -14234 | 0;
9712                  d[n + 2 | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : z >>> 0 < 14234 ? 0 : 255;
9713                  m = m >>> 1 & 255;
9714                  z = r + (l(m, 33050) >>> 8 | 0) | 0;
9715                  q = z + -17685 | 0;
9716                  d[n | 0] = q >>> 0 < 16384 ? q >>> 6 | 0 : z >>> 0 < 17685 ? 0 : 255;
9717                  q = n;
9718                  n = r - (l(m, 6419) >>> 8 | 0) - (l(w, 13320) >>> 8) | 0;
9719                  r = n + 8708 | 0;
9720                  d[q + 1 | 0] = r >>> 0 < 16384 ? r >>> 6 | 0 : (n | 0) < -8708 ? 0 : 255;
9721                }
9722                m = (u | 0) != (D | 0);
9723                u = u + 1 | 0;
9724                n = p;
9725                r = o;
9726                if (m) {
9727                  continue;
9728                }
9729                break;
9730              }
9731            }
9732            b: {
9733              if (k & 1) {
9734                break b;
9735              }
9736              e = l(t, 3);
9737              c = e + i | 0;
9738              a = l(g[a + t | 0], 19077) >>> 8 | 0;
9739              f = (l(p, 3) + o | 0) + 131074 | 0;
9740              h = f >>> 18 | 0;
9741              i = a + (l(h, 26149) >>> 8 | 0) | 0;
9742              k = i + -14234 | 0;
9743              d[c + 2 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 14234 ? 0 : 255;
9744              f = f >>> 2 & 255;
9745              i = a + (l(f, 33050) >>> 8 | 0) | 0;
9746              k = i + -17685 | 0;
9747              d[c | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : i >>> 0 < 17685 ? 0 : 255;
9748              i = c;
9749              a = a - (l(f, 6419) >>> 8 | 0) - (l(h, 13320) >>> 8) | 0;
9750              c = a + 8708 | 0;
9751              d[i + 1 | 0] = c >>> 0 < 16384 ? c >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
9752              if (!b) {
9753                break b;
9754              }
9755              a = e + j | 0;
9756              b = l(g[b + t | 0], 19077) >>> 8 | 0;
9757              c = (l(o, 3) + p | 0) + 131074 | 0;
9758              e = c >>> 18 | 0;
9759              f = b + (l(e, 26149) >>> 8 | 0) | 0;
9760              h = f + -14234 | 0;
9761              d[a + 2 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
9762              c = c >>> 2 & 255;
9763              f = b + (l(c, 33050) >>> 8 | 0) | 0;
9764              h = f + -17685 | 0;
9765              d[a | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
9766              f = a;
9767              a = b - (l(c, 6419) >>> 8 | 0) - (l(e, 13320) >>> 8) | 0;
9768              b = a + 8708 | 0;
9769              d[f + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
9770            }
9771          }
9772          function eb(a, b) {
9773            var c = 0,
9774              h = 0,
9775              i = 0,
9776              j = 0,
9777              k = 0,
9778              m = 0,
9779              n = 0,
9780              o = 0,
9781              p = 0,
9782              q = 0,
9783              r = 0;
9784            a: {
9785              if (!a) {
9786                break a;
9787              }
9788              f[a >> 2] = 0;
9789              f[a + 8 >> 2] = 5010;
9790              if (!b) {
9791                f[a >> 2] = 2;
9792                f[a + 4 >> 2] = 0;
9793                f[a + 8 >> 2] = 5013;
9794                break a;
9795              }
9796              m = f[b + 60 >> 2];
9797              if (m >>> 0 <= 3) {
9798                f[a >> 2] = 7;
9799                f[a + 4 >> 2] = 0;
9800                f[a + 8 >> 2] = 5050;
9801                break a;
9802              }
9803              c = f[b + 64 >> 2];
9804              i = g[c + 1 | 0];
9805              j = g[c + 2 | 0];
9806              h = g[c | 0];
9807              k = h >>> 4 & 1;
9808              d[a + 42 | 0] = k;
9809              n = h >>> 1 & 7;
9810              d[a + 41 | 0] = n;
9811              o = (h ^ -1) & 1;
9812              d[a + 40 | 0] = o;
9813              h = (h | i << 8 | j << 16) >>> 5 | 0;
9814              f[a + 44 >> 2] = h;
9815              if (n >>> 0 >= 4) {
9816                f[a >> 2] = 3;
9817                f[a + 4 >> 2] = 0;
9818                f[a + 8 >> 2] = 5068;
9819                break a;
9820              }
9821              if (!k) {
9822                f[a >> 2] = 4;
9823                f[a + 4 >> 2] = 0;
9824                f[a + 8 >> 2] = 5099;
9825                break a;
9826              }
9827              i = m + -3 | 0;
9828              j = c + 3 | 0;
9829              if (o) {
9830                if (i >>> 0 <= 6) {
9831                  f[a >> 2] = 7;
9832                  f[a + 4 >> 2] = 0;
9833                  f[a + 8 >> 2] = 5122;
9834                  break a;
9835                }
9836                if (!(g[c + 5 | 0] == 42 ? !(g[j | 0] != 157 | g[c + 4 | 0] != 1) : 0)) {
9837                  f[a >> 2] = 3;
9838                  f[a + 4 >> 2] = 0;
9839                  f[a + 8 >> 2] = 5150;
9840                  break a;
9841                }
9842                h = g[c + 6 | 0] | g[c + 7 | 0] << 8 & 16128;
9843                e[a + 48 >> 1] = h;
9844                d[a + 52 | 0] = g[c + 7 | 0] >>> 6;
9845                i = g[c + 8 | 0] | g[c + 9 | 0] << 8 & 16128;
9846                e[a + 50 >> 1] = i;
9847                j = g[c + 9 | 0];
9848                f[a + 292 >> 2] = i + 15 >>> 4;
9849                f[a + 288 >> 2] = h + 15 >>> 4;
9850                d[a + 53 | 0] = j >>> 6;
9851                f[b + 84 >> 2] = 0;
9852                f[b + 4 >> 2] = i;
9853                f[b >> 2] = h;
9854                f[b + 100 >> 2] = i;
9855                f[b + 96 >> 2] = h;
9856                f[b + 92 >> 2] = 0;
9857                f[b + 88 >> 2] = i;
9858                f[b + 80 >> 2] = h;
9859                f[b + 72 >> 2] = 0;
9860                f[b + 76 >> 2] = 0;
9861                f[b + 16 >> 2] = i;
9862                f[b + 12 >> 2] = h;
9863                b = a + 904 | 0;
9864                e[b >> 1] = -1;
9865                d[b + 2 | 0] = -1;
9866                f[a + 120 >> 2] = 0;
9867                f[a + 112 >> 2] = 1;
9868                f[a + 116 >> 2] = 0;
9869                f[a + 104 >> 2] = 0;
9870                f[a + 108 >> 2] = 0;
9871                i = m + -10 | 0;
9872                j = c + 10 | 0;
9873                h = f[a + 44 >> 2];
9874              }
9875              b: {
9876                if (h >>> 0 > i >>> 0) {
9877                  b = 0;
9878                  if (f[a >> 2]) {
9879                    break b;
9880                  }
9881                  f[a >> 2] = 7;
9882                  f[a + 4 >> 2] = 0;
9883                  f[a + 8 >> 2] = 5164;
9884                  break a;
9885                }
9886                c = a + 12 | 0;
9887                be(c, j, h);
9888                k = f[a + 44 >> 2];
9889                if (g[a + 40 | 0]) {
9890                  q = a, r = de(c, 1), d[q + 54 | 0] = r;
9891                  q = a, r = de(c, 1), d[q + 55 | 0] = r;
9892                }
9893                b = de(c, 1);
9894                f[a + 104 >> 2] = b;
9895                c: {
9896                  if (b) {
9897                    q = a, r = de(c, 1), f[q + 108 >> 2] = r;
9898                    if (de(c, 1)) {
9899                      q = a, r = de(c, 1), f[q + 112 >>
9899 2] = r;
9900                      b = a;
9901                      if (de(c, 1)) {
9902                        h = ee(c, 7);
9903                      } else {
9904                        h = 0;
9905                      }
9906                      d[b + 116 | 0] = h;
9907                      b = a;
9908                      if (de(c, 1)) {
9909                        h = ee(c, 7);
9910                      } else {
9911                        h = 0;
9912                      }
9913                      d[b + 117 | 0] = h;
9914                      b = a;
9915                      if (de(c, 1)) {
9916                        h = ee(c, 7);
9917                      } else {
9918                        h = 0;
9919                      }
9920                      d[b + 118 | 0] = h;
9921                      b = a;
9922                      if (de(c, 1)) {
9923                        h = ee(c, 7);
9924                      } else {
9925                        h = 0;
9926                      }
9927                      d[b + 119 | 0] = h;
9928                      b = a;
9929                      if (de(c, 1)) {
9930                        h = ee(c, 6);
9931                      } else {
9932                        h = 0;
9933                      }
9934                      d[b + 120 | 0] = h;
9935                      b = a;
9936                      if (de(c, 1)) {
9937                        h = ee(c, 6);
9938                      } else {
9939                        h = 0;
9940                      }
9941                      d[b + 121 | 0] = h;
9942                      b = a;
9943                      if (de(c, 1)) {
9944                        h = ee(c, 6);
9945                      } else {
9946                        h = 0;
9947                      }
9948                      d[b + 122 | 0] = h;
9949                      b = a;
9950                      if (de(c, 1)) {
9951                        h = ee(c, 6);
9952                      } else {
9953                        h = 0;
9954                      }
9955                      d[b + 123 | 0] = h;
9956                    }
9957                    if (!f[a + 108 >> 2]) {
9958                      break c;
9959                    }
9960                    b = a;
9961                    if (de(c, 1)) {
9962                      h = de(c, 8);
9963                    } else {
9964                      h = 255;
9965                    }
9966                    d[b + 904 | 0] = h;
9967                    b = a;
9968                    if (de(c, 1)) {
9969                      h = de(c, 8);
9970                    } else {
9971                      h = 255;
9972                    }
9973                    d[b + 905 | 0] = h;
9974                    b = a;
9975                    h = 255;
9976                    d: {
9977                      if (!de(c, 1)) {
9978                        break d;
9979                      }
9980                      h = de(c, 8);
9981                    }
9982                    d[b + 906 | 0] = h;
9983                    break c;
9984                  }
9985                  f[a + 108 >> 2] = 0;
9986                }
9987                if (f[a + 36 >> 2]) {
9988                  b = 0;
9989                  if (f[a >> 2]) {
9990                    break b;
9991                  }
9992                  f[a >> 2] = 3;
9993                  f[a + 4 >> 2] = 0;
9994                  f[a + 8 >> 2] = 5185;
9995                  break a;
9996                }
9997                q = a, r = de(c, 1), f[q + 56 >> 2] = r;
9998                q = a, r = de(c, 6), f[q + 60 >> 2] = r;
9999                q = a - -64 | 0, r = de(c, 3), f[q >> 2] = r;
10000                b = de(c, 1);
10001                f[a + 68 >> 2] = b;
10002                e: {
10003                  if (!b) {
10004                    break e;
10005                  }
10006                  if (!de(c, 1)) {
10007                    break e;
10008                  }
10009                  if (de(c, 1)) {
10010                    q = a, r = ee(c, 6), f[q + 72 >> 2] = r;
10011                  }
10012                  if (de(c, 1)) {
10013                    q = a, r = ee(c, 6), f[q + 76 >> 2] = r;
10014                  }
10015                  if (de(c, 1)) {
10016                    q = a, r = ee(c, 6), f[q + 80 >> 2] = r;
10017                  }
10018                  if (de(c, 1)) {
10019                    q = a, r = ee(c, 6), f[q + 84 >> 2] = r;
10020                  }
10021                  if (de(c, 1)) {
10022                    q = a, r = ee(c, 6), f[q + 88 >> 2] = r;
10023                  }
10024                  if (de(c, 1)) {
10025                    q = a, r = ee(c, 6), f[q + 92 >> 2] = r;
10026                  }
10027                  if (de(c, 1)) {
10028                    q = a, r = ee(c, 6), f[q + 96 >> 2] = r;
10029                  }
10030                  if (!de(c, 1)) {
10031                    break e;
10032                  }
10033                  q = a, r = ee(c, 6), f[q + 100 >> 2] = r;
10034                }
10035                b = a;
10036                if (f[a + 60 >> 2]) {
10037                  h = f[a + 56 >> 2] ? 1 : 2;
10038                } else {
10039                  h = 0;
10040                }
10041                f[b + 2308 >> 2] = h;
10042                if (f[a + 36 >> 2]) {
10043                  b = 0;
10044                  if (f[a >> 2]) {
10045                    break b;
10046                  }
10047                  f[a >> 2] = 3;
10048                  f[a + 4 >> 2] = 0;
10049                  f[a + 8 >> 2] = 5213;
10050                  break a;
10051                }
10052                o = de(c, 2);
10053                m = -1 << o ^ -1;
10054                f[a + 312 >> 2] = m;
10055                h = 7;
10056                f: {
10057                  b = i - k | 0;
10058                  n = l(m, 3);
10059                  if (b >>> 0 >= n >>> 0) {
10060                    p = i + j | 0;
10061                    h = b - n | 0;
10062                    b = j + k | 0;
10063                    j = n + b | 0;
10064                    if (o) {
10065                      n = m >>> 0 > 1 ? m : 1;
10066                      i = 0;
10067                      while (1) {
10068                        k = g[b | 0] | g[b + 1 | 0] << 8 | g[b + 2 | 0] << 16;
10069                        k = k >>> 0 > h >>> 0 ? h : k;
10070                        be((l(i, 28) + a | 0) + 316 | 0, j, k);
10071                        h = h - k | 0;
10072                        j = j + k | 0;
10073                        b = b + 3 | 0;
10074                        i = i + 1 | 0;
10075                        if ((n | 0) != (i | 0)) {
10076                          continue;
10077                        }
10078                        break;
10079                      }
10080                    }
10081                    be((l(m, 28) + a | 0) + 316 | 0, j, h);
10082                    h = 5;
10083                    if (j >>> 0 < p >>> 0) {
10084                      break f;
10085                    }
10086                  }
10087                  b = 0;
10088                  if (f[a >> 2]) {
10089                    break b;
10090                  }
10091                  f[a >> 2] = h;
10092                  f[a + 4 >> 2] = 0;
10093                  f[a + 8 >> 2] = 5240;
10094                  break a;
10095                }
10096                Ra(a);
10097                if (!g[a + 40 | 0]) {
10098                  b = 0;
10099                  if (f[a >> 2]) {
10100                    break b;
10101                  }
10102                  f[a >> 2] = 4;
10103                  f[a + 4 >> 2] = 0;
10104                  f[a + 8 >> 2] = 5264;
10105                  break a;
10106                }
10107                de(c, 1);
10108                Qa(c, a);
10109                f[a + 4 >> 2] = 1;
10110                b = 1;
10111              }
10112              return b;
10113            }
10114            return 0;
10115          }
10116          function ra(a, b) {
10117            var c = 0,
10118              e = 0,
10119              i = 0,
10120              j = 0,
10121              k = 0,
10122              m = 0,
10123              n = 0,
10124              o = 0,
10125              p = 0,
10126              q = 0,
10127              r = 0,
10128              s = 0,
10129              t = 0,
10130              u = 0,
10131              v = 0,
10132              w = 0,
10133              x = 0,
10134              y = 0,
10135              z = 0,
10136              A = 0,
10137              B = 0;
10138            i = f[a + 20 >> 2];
10139            if (f[i + 108 >> 2] < (b | 0)) {
10140              a: {
10141                if (!f[a + 132 >> 2]) {
10142                  rb();
10143                  if (!f[a + 132 >> 2]) {
10144                    break a;
10145                  }
10146                }
10147                r = f[i + 100 >> 2];
10148                y = l(r, f[i + 104 >> 2]);
10149                n = f[i + 112 >> 2];
10150                a = (n | 0) / (r | 0) | 0;
10151                x = l(b, r);
10152                b: {
10153                  c: {
10154                    if ((n | 0) >= (x | 0)) {
10155                      t = i + 48 | 0;
10156                      break c;
10157                    }
10158                    o = n - l(a, r) | 0;
10159                    k = f[i + 152 >> 2];
10160                    j = 0;
10161                    d: {
10162                      if (!k) {
10163                        break d;
10164                      }
10165                      j = f[f[i + 160 >> 2] + (l(f[i + 156 >> 2], a >> k) + (o >> k) << 2) >> 2];
10166                    }
10167                    t = i + 48 | 0;
10168                    if (f[t >> 2]) {
10169                      break c;
10170                    }
10171                    z = f[i + 148 >> 2];
10172                    A = f[i + 16 >> 2];
10173                    u = i + 24 | 0;
10174                    w = f[i + 168 >> 2] + l(j, 548) | 0;
10175                    while (1) {
10176                      if (!(o & z)) {
10177                        c = f[i + 168 >> 2];
10178                        k = f[i + 152 >> 2];
10179                        j = 0;
10180                        e: {
10181                          if (!k) {
10182                            break e;
10183                          }
10184                          j = f[f[i + 160 >> 2] + (l(f[i + 156 >> 2], a >> k) + (o >> k) << 2) >> 2];
10185                        }
10186                        w = c + l(j, 548) | 0;
10187                      }
10188                      e = f[i + 44 >> 2];
10189                      if ((e | 0) >= 32) {
10190                        ge(u);
10191                        e = f[i + 44 >> 2];
10192                      }
10193                      p = i;
10194                      j = f[u + 4 >> 2];
10195                      c = j;
10196                      m = e & 63;
10197                      k = m & 31;
10198                      v = f[u >> 2];
10199                      c = f[w >> 2] + (((32 <= (m & 63) >>> 0 ? c >>>
10199 k | 0 : ((1 << k) - 1 & c) << 32 - k | v >>> k) & 255) << 2) | 0;
10200                      k = g[c | 0];
10201                      if (k >>> 0 >= 9) {
10202                        e = e + 8 | 0;
10203                        f[i + 44 >> 2] = e;
10204                        m = (h[c + 2 >> 1] << 2) + c | 0;
10205                        c = j;
10206                        s = e & 63;
10207                        q = s & 31;
10208                        c = m + (((-1 << k + -8 ^ -1) & (32 <= s >>> 0 ? c >>> q | 0 : ((1 << q) - 1 & c) << 32 - q | v >>> q)) << 2) | 0;
10209                        k = g[c | 0];
10210                      }
10211                      m = (k & 255) + e | 0;
10212                      f[p + 44 >> 2] = m;
10213                      c = h[c + 2 >> 1];
10214                      f: {
10215                        if (c >>> 0 <= 255) {
10216                          d[n + A | 0] = c;
10217                          n = n + 1 | 0;
10218                          o = o + 1 | 0;
10219                          if ((o | 0) < (r | 0)) {
10220                            break f;
10221                          }
10222                          j = a + 1 | 0;
10223                          o = 0;
10224                          if ((a | 0) >= (b | 0)) {
10225                            a = j;
10226                            break f;
10227                          }
10228                          if (j & 15) {
10229                            a = j;
10230                            break f;
10231                          }
10232                          sa(i, j);
10233                          a = j;
10234                          break f;
10235                        }
10236                        p = 1;
10237                        if (c >>> 0 > 279) {
10238                          break b;
10239                        }
10240                        k = c + -256 | 0;
10241                        if (c >>> 0 >= 260) {
10242                          j = c + -258 >> 1;
10243                          k = he(u, j) + ((k & 1 | 2) << j) | 0;
10244                          v = f[i + 24 >> 2];
10245                          m = f[i + 44 >> 2];
10246                          j = f[i + 28 >> 2];
10247                        }
10248                        q = i;
10249                        c = j;
10250                        s = m & 63;
10251                        e = s & 31;
10252                        e = f[w + 16 >> 2] + (((32 <= s >>> 0 ? c >>> e | 0 : ((1 << e) - 1 & c) << 32 - e | v >>> e) & 255) << 2) | 0;
10253                        c = g[e | 0];
10254                        if (c >>> 0 >= 9) {
10255                          m = m + 8 | 0;
10256                          f[i + 44 >> 2] = m;
10257                          B = (h[e + 2 >> 1] << 2) + e | 0;
10258                          s = m & 63;
10259                          e = s & 31;
10260                          e = B + (((-1 << c + -8 ^ -1) & (32 <= s >>> 0 ? j >>> e | 0 : ((1 << e) - 1 & j) << 32 - e | v >>> e)) << 2) | 0;
10261                          c = g[e | 0];
10262                        }
10263                        j = (c & 255) + m | 0;
10264                        f[q + 44 >> 2] = j;
10265                        e = h[e + 2 >> 1];
10266                        if ((j | 0) >= 32) {
10267                          ge(u);
10268                        }
10269                        j = k + 1 | 0;
10270                        if (e >>> 0 >= 4) {
10271                          c = e + -2 >> 1;
10272                          e = he(u, c) + ((e & 1 | 2) << c) | 0;
10273                        }
10274                        g: {
10275                          if ((e + 1 | 0) >= 121) {
10276                            c = e + -119 | 0;
10277                            break g;
10278                          }
10279                          c = g[e + 1264 | 0];
10280                          c = (l(c >>> 4 | 0, r) - (c & 15) | 0) + 8 | 0;
10281                          c = (c | 0) > 1 ? c : 1;
10282                        }
10283                        if ((y - n | 0) < (j | 0) | (n | 0) < (c | 0)) {
10284                          break b;
10285                        }
10286                        e = n + A | 0;
10287                        m = e - c | 0;
10288                        h: {
10289                          i: {
10290                            if ((j | 0) < 8) {
10291                              break i;
10292                            }
10293                            j: {
10294                              k: {
10295                                switch (c + -1 | 0) {
10296                                  case 0:
10297                                    c = g[m | 0];
10298                                    p = l(c, 16843009);
10299                                    break j;
10300                                  case 1:
10301                                    c = g[m | 0] | g[m + 1 | 0] << 8;
10302                                    p = l(c, 65537);
10303                                    break j;
10304                                  case 3:
10305                                    break k;
10306                                  default:
10307                                    break i;
10308                                }
10309                              }
10310                              c = g[m | 0] | g[m + 1 | 0] << 8 | (g[m + 2 | 0] << 16 | g[m + 3 | 0] << 24);
10311                              p = c;
10312                            }
10313                            l: {
10314                              m: {
10315                                n: {
10316                                  if (e & 3) {
10317                                    d[e | 0] = c;
10318                                    p = zf(p, 24);
10319                                    m = m + 1 | 0;
10320                                    e = e + 1 | 0;
10321                                    if (e & 3) {
10322                                      break n;
10323                                    }
10324                                    c = k >>> 2 | 0;
10325                                    break m;
10326                                  }
10327                                  k = j;
10328                                  c = k >>> 2 | 0;
10329                                  break m;
10330                                }
10331                                while (1) {
10332                                  d[e | 0] = g[m | 0];
10333                                  q = k;
10334                                  k = k + -1 | 0;
10335                                  p = zf(p, 24);
10336                                  m = m + 1 | 0;
10337                                  e = e + 1 | 0;
10338                                  if (e & 3) {
10339                                    continue;
10340                                  }
10341                                  break;
10342                                }
10343                                c = 0;
10344                                if ((q | 0) < 5) {
10345                                  break l;
10346                                }
10347                                c = k >> 2;
10348                              }
10349                              q = (c | 0) > 1 ? c : 1;
10350                              c = 0;
10351                              while (1) {
10352                                f[(c << 2) + e >> 2] = p;
10353                                c = c + 1 | 0;
10354                                if ((q | 0) != (c | 0)) {
10355                                  continue;
10356                                }
10357                                break;
10358                              }
10359                              c = q << 2;
10360                            }
10361                            if ((c | 0) >= (k | 0)) {
10362                              break h;
10363                            }
10364                            while (1) {
10365                              d[c + e | 0] = g[c + m | 0];
10366                              c = c + 1 | 0;
10367                              if ((k | 0) != (c | 0)) {
10368                                continue;
10369                              }
10370                              break;
10371                            }
10372                            break h;
10373                          }
10374                          if ((c | 0) < (j | 0)) {
10375                            c = 0;
10376                            if ((j | 0) <= 0) {
10377                              break h;
10378                            }
10379                            while (1) {
10380                              d[c + e | 0] = g[c + m | 0];
10381                              p = (c | 0) != (k | 0);
10382                              c = c + 1 | 0;
10383                              if (p) {
10384                                continue;
10385                              }
10386                              break;
10387                            }
10388                            break h;
10389                          }
10390                          _e(e, m, j);
10391                        }
10392                        n = j + n | 0;
10393                        o = j + o | 0;
10394                        if ((o | 0) >= (r | 0)) {
10395                          while (1) {
10396                            o = o - r | 0;
10397                            j = a;
10398                            a = j + 1 | 0;
10399                            if (!(a & 15 | (j | 0) >= (b | 0))) {
10400                              sa(i, a);
10401                            }
10402                            if ((o | 0) >= (r | 0)) {
10403                              continue;
10404                            }
10405                            break;
10406                          }
10407                        }
10408                        if (!(o & z) | (n | 0) >= (x | 0)) {
10409                          break f;
10410                        }
10411                        c = f[i + 168 >> 2];
10412                        k = f[i + 152 >> 2];
10413                        j = 0;
10414                        o: {
10415                          if (!k) {
10416                            break o;
10417                          }
10418                          j = f[f[i + 160 >> 2] + (l(f[i + 156 >> 2], a >> k) + (o >> k) << 2) >> 2];
10419                        }
10420                        w = c + l(j, 548) | 0;
10421                      }
10422                      if (f[t >> 2]) {
10423                        f[t >> 2] = 1;
10424                        break c;
10425                      }
10426                      e = 0;
10427                      e = f[i + 40 >> 2] == f[i + 36 >> 2] ? f[i + 44 >> 2] > 64 : e;
10428                      f[t >> 2] = e;
10429                      if ((n | 0) >= (x | 0)) {
10430                        break c;
10431                      }
10432                      if (!e) {
10433                        continue;
10434                      }
10435                      break;
10436                    }
10437                  }
10438                  sa(i, (a | 0) > (b | 0) ? b : a);
10439                  p = 0;
10440                }
10441                b = t;
10442                j = b;
10443                a = 1;
10444                p: {
10445                  if (f[b >> 2]) {
10446                    break p;
10447                  }
10448                  a = 0;
10449                  if (f[i + 40 >> 2] != f[i + 36 >> 2]) {
10450                    break p;
10451                  }
10452                  a = f[i + 44 >> 2] > 64;
10453                }
10454                f[j >> 2] = a;
10455                if (!(!a | (y | 0) <= (n | 0) ? !p : 0)) {
10456                  f[i >> 2] = a ? 5 : 3;
10457                  return 0;
10458                }
10459                f[i + 112 >> 2] = n;
10460                return 1;
10461              }
10462              a = qa(i, f[i + 16 >> 2], f[i + 100 >> 2], f[i + 104 >> 2], b, 1);
10463            } else {
10464              a = 1;
10465            }
10466            return a;
10467          }
10468          function Va(a, b) {
10469            a = a | 0;
10470            b = b | 0;
10471            var e = 0,
10472              h = 0,
10473              i = 0,
10474              j = 0,
10475              k = 0,
10476              m = 0,
10477              n = 0,
10478              o = 0,
10479              p = 0,
10480              q = 0,
10481              r = 0,
10482              s = 0,
10483              t = 0,
10484              u = 0,
10485              v = 0,
10486              w = 0,
10487              x = 0,
10488              y = 0,
10489              z = 0,
10490              A = 0,
10491              B = 0,
10492              C = 0,
10493              D = 0,
10494              E = 0,
10495              F = 0;
10496            y = L + -64 | 0;
10497            L = y;
10498            i = f[a + 2280 >> 2];
10499            D = f[a + 160 >> 2];
10500            v = f[a + 2268 >> 2];
10501            j = f[a + 2284 >> 2];
10502            B = g[f[a + 2308 >> 2] + 4863 | 0];
10503            e = B >>> 1 | 0;
10504            s = f[a + 2276 >> 2];
10505            z = f[a + 2272 >> 2];
10506            F = f[a + 308 >> 2];
10507            C = f[a + 164 >> 2];
10508            if (f[a + 148 >> 2] == 2) {
10509              Ua(a, a + 160 | 0);
10510            }
10511            k = l(i, D);
10512            E = l(i, B);
10513            h = l(j, D);
10514            A = l(e, j);
10515            a: {
10516              if (!f[a + 168 >> 2]) {
10517                break a;
10518              }
10519              e = f[a + 296 >> 2];
10520              if ((e | 0) >= f[a + 304 >> 2]) {
10521                break a;
10522              }
10523              t = f[a + 164 >> 2];
10524              while (1) {
10525                q = f[a + 172 >> 2] + (e << 2) | 0;
10526                m = g[q | 0];
10527                b: {
10528                  if (!m) {
10529                    break b;
10530                  }
10531                  j = f[a + 160 >> 2];
10532                  o = f[a + 2280 >> 2];
10533                  n = (f[a + 2268 >> 2] + (l(j, o) << 4) | 0) + (e << 4) | 0;
10534                  if (f[a + 2308 >> 2] == 1) {
10535                    if ((e | 0) >= 1) {
10536                      c[f[2717]](n, o, m + 4 | 0);
10537                    }
10538                    if (g[q + 2 | 0]) {
10539                      c[f[2719]](n, o, m);
10540                    }
10541                    j = q + 2 | 0;
10542                    if ((t | 0) >= 1) {
10543                      c[f[2716]](n, o, m + 4 | 0);
10544                    }
10545                    if (!g[j | 0]) {
10546                      break b;
10547                    }
10548                    c[f[2718]](n, o, m);
10549                    break b;
10550                  }
10551                  p = g[q + 1 | 0];
10552                  w = f[a + 2284 >> 2];
10553                  i = l(w, j) << 3;
10554                  j = e << 3;
10555                  x = (i + f[a + 2276 >> 2] | 0) + j | 0;
10556                  u = j + (i + f[a + 2272 >> 2] | 0) | 0;
10557                  r = g[q + 3 | 0];
10558                  if ((e | 0) >= 1) {
10559                    j = m + 4 | 0;
10560                    c[f[2709]](n, o, j, p, r);
10561                    c[f[2711]](u, x, w, j, p, r);
10562                  }
10563                  if (g[q + 2 | 0]) {
10564                    c[f[2713]](n, o, m, p, r);
10565                    c[f[2715]](u, x, w, m, p, r);
10566                  }
10567                  i = q + 2 | 0;
10568                  if ((t | 0) >= 1) {
10569                    j = m + 4 | 0;
10570                    c[f[2708]](n, o, j, p, r);
10571                    c[f[2710]](u, x, w, j, p, r);
10572                  }
10573                  if (!g[i | 0]) {
10574                    break b;
10575                  }
10576                  c[f[2712]](n, o, m, p, r);
10577                  c[f[2714]](u, x, w, m, p, r);
10578                }
10579                e = e + 1 | 0;
10580                if ((e | 0) < f[a + 304 >> 2]) {
10581                  continue;
10582                }
10583                break;
10584              }
10585            }
10586            r = k << 4;
10587            u = v - E | 0;
10588            o = h << 3;
10589            t = s - A | 0;
10590            v = z - A | 0;
10591            c: {
10592              if (!f[a + 540 >> 2]) {
10593                break c;
10594              }
10595              n = f[a + 296 >> 2];
10596              h = f[a + 304 >> 2];
10597              if ((n | 0) >= (h | 0)) {
10598                break c;
10599              }
10600              p = a + 552 | 0;
10601              while (1) {
10602                e = f[a + 176 >> 2] + l(n, 800) | 0;
10603                i = g[e + 796 | 0];
10604                if (i >>> 0 >= 4) {
10605                  s = e + 796 | 0;
10606                  q = f[a + 2284 >> 2];
10607                  w = l(q, f[a + 160 >> 2]) << 3;
10608                  z = f[a + 2276 >> 2];
10609                  j = f[a + 2272 >> 2];
10610                  m = f[a + 548 >> 2];
10611                  k = f[a + 544 >> 2];
10612                  h = 0;
10613                  while (1) {
10614                    e = p + (k << 2) | 0;
10615                    x = f[e >> 2] - f[p + (m << 2) >> 2] | 0;
10616                    f[e >> 2] = x & 2147483647;
10617                    e = f[a + 544 >> 2] + 1 | 0;
10618                    k = (e | 0) == 55 ? 0 : e;
10619                    f[a + 544 >> 2] = k;
10620                    e = f[a + 548 >> 2] + 1 | 0;
10621                    m = (e | 0) == 55 ? 0 : e;
10622                    f[a + 548 >> 2] = m;
10623                    d[h + y | 0] = l(i, x << 1 >> 24) >>> 8 ^ 128;
10624                    h = h + 1 | 0;
10625                    if ((h | 0) != 64) {
10626                      continue;
10627                    }
10628                    break;
10629                  }
10630                  i = n << 3;
10631                  c[f[2720]](y, i + (j + w | 0) | 0, q);
10632                  j = g[s | 0];
10633                  m = f[a + 548 >> 2];
10634                  k = f[a + 544 >> 2];
10635                  h = 0;
10636                  while (1) {
10637                    e = p + (k << 2) | 0;
10638                    s = f[e >> 2] - f[p + (m << 2) >> 2] | 0;
10639                    f[e >> 2] = s & 2147483647;
10640                    e = f[a + 544 >> 2] + 1 | 0;
10641                    k = (e | 0) == 55 ? 0 : e;
10642                    f[a + 544 >> 2] = k;
10643                    e = f[a + 548 >> 2] + 1 | 0;
10644                    m = (e | 0) == 55 ? 0 : e;
10645                    f[a + 548 >> 2] = m;
10646                    d[h + y | 0] = l(j, s << 1 >> 24) >>> 8 ^ 128;
10647                    h = h + 1 | 0;
10648                    if ((h | 0) != 64) {
10649                      continue;
10650                    }
10651                    break;
10652                  }
10653                  c[f[2720]](y, i + (w + z | 0) | 0, q);
10654                  h = f[a + 304 >> 2];
10655                }
10656                n = n + 1 | 0;
10657                if ((n | 0) < (h | 0)) {
10658                  continue;
10659                }
10660                break;
10661              }
10662            }
10663            u = r + u | 0;
10664            j = o + t | 0;
10665            s = o + v | 0;
10666            z = F + -1 | 0;
10667            d: {
10668              e: {
10669                h = 1;
10670                f: {
10671                  if (!f[b + 44 >> 2]) {
10672                    break f;
10673                  }
10674                  e = C << 4;
10675                  i = e + 16 | 0;
10676                  g: {
10677                    if (C) {
10678                      f[b + 24 >> 2] = s;
10679                      f[b + 20 >> 2] = u;
10680                      k = j;
10681                      e = e - B | 0;
10682                      break g;
10683                    }
10684                    f[b + 20 >> 2] = r + f[a + 2268 >> 2];
10685                    f[b + 24 >> 2] = o + f[a + 2272 >> 2];
10686                    k = o + f[a + 2276 >> 2] | 0;
10687                    e = 0;
10688                  }
10689                  f[b + 28 >> 2] = k;
10690                  k = 0;
10691                  f[b + 104 >> 2] = 0;
10692                  h = f[b + 88 >> 2];
10693                  i = i - ((C | 0) >= (z | 0) ? 0 : B) | 0;
10694                  t = (i | 0) > (h | 0) ? h : i;
10695                  if (!(!f[a + 2348 >> 2] | (t | 0) <= (e | 0))) {
10696                    k = Oa(a, b, e, t - e | 0);
10697                    f[b + 104 >> 2] = k;
10698                    if (!k) {
10699                      break e;
10700                    }
10701                  }
10702                  i = f[b + 84 >> 2];
10703                  if ((i | 0) > (e | 0)) {
10704                    h = i - e | 0;
10705                    f[b + 20 >> 2] = f[b + 20 >> 2] + l(h, f[a + 2280 >> 2]);
10706                    e = l(f[a + 2284 >> 2], h >> 1);
10707                    f[b + 24 >> 2] = e + f[b + 24 >> 2];
10708                    f[b + 28 >> 2] = e + f[b + 28 >> 2];
10709                    h: {
10710                      if (!k) {
10711                        k = 0;
10712                        break h;
10713                      }
10714                      k = l(h, f[b >> 2]) + k | 0;
10715                      f[b + 104 >> 2] = k;
10716                    }
10717                    e = i;
10718                  }
10719                  h = 1;
10720                  if ((t | 0) <= (e | 0)) {
10721                    break f;
10722                  }
10723                  v = f[b + 76 >> 2];
10724                  f[b + 20 >> 2] = v + f[b + 20 >> 2];
10725                  h = v >> 1;
10726                  f[b + 24 >> 2] = h + f[b + 24 >> 2];
10727                  f[b + 28 >> 2] = h + f[b + 28 >> 2];
10728                  if (k) {
10729                    f[b + 104 >> 2] = k + v;
10730                  }
10731                  f[b + 8 >> 2] = e - i;
10732                  f[b + 16 >> 2] = t - e;
10733                  f[b + 12 >> 2] = f[b + 80 >> 2] - v;
10734                  h = c[f[b + 44 >> 2]](b) | 0;
10735                }
10736                if (f[a + 156 >> 2] != (D + 1 | 0) | (C | 0) >= (z | 0)) {
10737                  break d;
10738                }
10739                _e(f[a + 2268 >> 2] - E | 0, u + (f[a + 2280 >> 2] << 4) | 0, E);
10740                b = 0 - A | 0;
10741                _e(b + f[a + 2272 >> 2] | 0, s + (f[a + 2284 >> 2] << 3) | 0, A);
10742                _e(b + f[a + 2276 >> 2] | 0, j + (f[a + 2284 >> 2] << 3) | 0, A);
10743                break d;
10744              }
10745              h = cb(a, 3, 4912);
10746            }
10747            L = y - -64 | 0;
10748            return h | 0;
10749          }
10750          function Xe(a) {
10751            a = a | 0;
10752            var b = 0,
10753              c = 0,
10754              d = 0,
10755              e = 0,
10756              g = 0,
10757              h = 0,
10758              j = 0,
10759              k = 0,
10760              l = 0;
10761            a: {
10762              if (!a) {
10763                break a;
10764              }
10765              d = a + -8 | 0;
10766              c = f[a + -4 >> 2];
10767              a = c & -8;
10768              g = d + a | 0;
10769              b: {
10770                if (c & 1) {
10771                  break b;
10772                }
10773                if (!(c & 3)) {
10774                  break a;
10775                }
10776                c = f[d >> 2];
10777                d = d - c | 0;
10778                if (d >>> 0 < i[2888]) {
10779                  break a;
10780                }
10781                a = a + c | 0;
10782                if (f[2889] != (d | 0)) {
10783                  if (c >>> 0 <= 255) {
10784                    e = f[d + 8 >> 2];
10785                    c = c >>> 3 | 0;
10786                    b = f[d + 12 >> 2];
10787                    if ((b | 0) == (e | 0)) {
10788                      k = 11536, l = f[2884] & zf(-2, c), f[k >> 2] = l;
10789                      break b;
10790                    }
10791                    f[e + 12 >> 2] = b;
10792                    f[b + 8 >> 2] = e;
10793                    break b;
10794                  }
10795                  j = f[d + 24 >> 2];
10796                  c = f[d + 12 >> 2];
10797                  c: {
10798                    if ((c | 0) != (d | 0)) {
10799                      b = f[d + 8 >> 2];
10800                      f[b + 12 >> 2] = c;
10801                      f[c + 8 >> 2] = b;
10802                      break c;
10803                    }
10804                    d: {
10805                      e = d + 20 | 0;
10806                      b = f[e >> 2];
10807                      if (b) {
10808                        break d;
10809                      }
10810                      e = d + 16 | 0;
10811                      b = f[e >> 2];
10812                      if (b) {
10813                        break d;
10814                      }
10815                      c = 0;
10816                      break c;
10817                    }
10818                    while (1) {
10819                      h = e;
10820                      c = b;
10821                      e = c + 20 | 0;
10822                      b = f[e >> 2];
10823                      if (b) {
10824                        continue;
10825                      }
10826                      e = c + 16 | 0;
10827                      b = f[c + 16 >> 2];
10828                      if (b) {
10829                        continue;
10830                      }
10831                      break;
10832                    }
10833                    f[h >> 2] = 0;
10834                  }
10835                  if (!j) {
10836                    break b;
10837                  }
10838                  e = f[d + 28 >> 2];
10839                  b = (e << 2) + 11840 | 0;
10840                  e: {
10841                    if (f[b >> 2] == (d | 0)) {
10842                      f[b >> 2] = c;
10843                      if (c) {
10844                        break e;
10845                      }
10846                      k = 11540, l = f[2885] & zf(-2, e), f[k >> 2] = l;
10847                      break b;
10848                    }
10849                    f[j + (f[j + 16 >> 2] == (d | 0) ? 16 : 20) >> 2] = c;
10850                    if (!c) {
10851                      break b;
10852                    }
10853                  }
10854                  f[c + 24 >> 2] = j;
10855                  b = f[d + 16 >> 2];
10856                  if (b) {
10857                    f[c + 16 >> 2] = b;
10858                    f[b + 24 >> 2] = c;
10859                  }
10860                  b = f[d + 20 >> 2];
10861                  if (!b) {
10862                    break b;
10863                  }
10864                  f[c + 20 >> 2] = b;
10865                  f[b + 24 >> 2] = c;
10866                  break b;
10867                }
10868                c = f[g + 4 >> 2];
10869                if ((c & 3) != 3) {
10870                  break b;
10871                }
10872                f[2886] = a;
10873                f[g + 4 >> 2] = c & -2;
10874                f[d + 4 >> 2] = a | 1;
10875                f[a + d >> 2] = a;
10876                return;
10877              }
10878              if (g >>> 0 <= d >>> 0) {
10879                break a;
10880              }
10881              c = f[g + 4 >> 2];
10882              if (!(c & 1)) {
10883                break a;
10884              }
10885              f: {
10886                if (!(c & 2)) {
10887                  if ((g | 0) == f[2890]) {
10888                    f[2890] = d;
10889                    a = f[2887] + a | 0;
10890                    f[2887] = a;
10891                    f[d + 4 >> 2] = a | 1;
10892                    if (f[2889] != (d | 0)) {
10893                      break a;
10894                    }
10895                    f[2886] = 0;
10896                    f[2889] = 0;
10897                    return;
10898                  }
10899                  if ((g | 0) == f[2889]) {
10900                    f[2889] = d;
10901                    a = f[2886] + a | 0;
10902                    f[2886] = a;
10903                    f[d + 4 >> 2] = a | 1;
10904                    f[a + d >> 2] = a;
10905                    return;
10906                  }
10907                  a = (c & -8) + a | 0;
10908                  g: {
10909                    if (c >>> 0 <= 255) {
10910                      b = f[g + 8 >> 2];
10911                      c = c >>> 3 | 0;
10912                      e = f[g + 12 >> 2];
10913                      if ((b | 0) == (e | 0)) {
10914                        k = 11536, l = f[2884] & zf(-2, c), f[k >> 2] = l;
10915                        break g;
10916                      }
10917                      f[b + 12 >> 2] = e;
10918                      f[e + 8 >> 2] = b;
10919                      break g;
10920                    }
10921                    j = f[g + 24 >> 2];
10922                    c = f[g + 12 >> 2];
10923                    h: {
10924                      if ((g | 0) != (c | 0)) {
10925                        b = f[g + 8 >> 2];
10926                        f[b + 12 >> 2] = c;
10927                        f[c + 8 >> 2] = b;
10928                        break h;
10929                      }
10930                      i: {
10931                        e = g + 20 | 0;
10932                        b = f[e >> 2];
10933                        if (b) {
10934                          break i;
10935                        }
10936                        e = g + 16 | 0;
10937                        b = f[e >> 2];
10938                        if (b) {
10939                          break i;
10940                        }
10941                        c = 0;
10942                        break h;
10943                      }
10944                      while (1) {
10945                        h = e;
10946                        c = b;
10947                        e = c + 20 | 0;
10948                        b = f[e >> 2];
10949                        if (b) {
10950                          continue;
10951                        }
10952                        e = c + 16 | 0;
10953                        b = f[c + 16 >> 2];
10954                        if (b) {
10955                          continue;
10956                        }
10957                        break;
10958                      }
10959                      f[h >> 2] = 0;
10960                    }
10961                    if (!j) {
10962                      break g;
10963                    }
10964                    e = f[g + 28 >> 2];
10965                    b = (e << 2) + 11840 | 0;
10966                    j: {
10967                      if ((g | 0) == f[b >> 2]) {
10968                        f[b >> 2] = c;
10969                        if (c) {
10970                          break j;
10971                        }
10972                        k = 11540, l = f[2885] & zf(-2, e), f[k >> 2] = l;
10973                        break g;
10974                      }
10975                      f[j + ((g | 0) == f[j + 16 >> 2] ? 16 : 20) >> 2] = c;
10976                      if (!c) {
10977                        break g;
10978                      }
10979                    }
10980                    f[c + 24 >> 2] = j;
10981                    b = f[g + 16 >> 2];
10982                    if (b) {
10983                      f[c + 16 >> 2] = b;
10984                      f[b + 24 >> 2] = c;
10985                    }
10986                    b = f[g + 20 >> 2];
10987                    if (!b) {
10988                      break g;
10989                    }
10990                    f[c + 20 >> 2] = b;
10991                    f[b + 24 >> 2] = c;
10992                  }
10993                  f[d + 4 >> 2] = a | 1;
10994                  f[a + d >> 2] = a;
10995                  if (f[2889] != (d | 0)) {
10996                    break f;
10997                  }
10998                  f[2886] = a;
10999                  return;
11000                }
11001                f[g + 4 >> 2] = c & -2;
11002                f[d + 4 >> 2] = a | 1;
11003                f[a + d >> 2] = a;
11004              }
11005              if (a >>> 0 <= 255) {
11006                a = a >>> 3 | 0;
11007                c = (a << 3) + 11576 | 0;
11008                b = f[2884];
11009                a = 1 << a;
11010                k: {
11011                  if (!(b & a)) {
11012                    f[2884] = a | b;
11013                    a = c;
11014                    break k;
11015                  }
11016                  a = f[c + 8 >> 2];
11017                }
11018                f[c + 8 >> 2] = d;
11019                f[a + 12 >> 2] = d;
11020                f[d + 12 >> 2] = c;
11021                f[d + 8 >> 2] = a;
11022                return;
11023              }
11024              f[d + 16 >> 2] = 0;
11025              f[d + 20 >> 2] = 0;
11026              g = d;
11027              e = a >>> 8 | 0;
11028              b = 0;
11029              l: {
11030                if (!e) {
11031                  break l;
11032                }
11033                b = 31;
11034                if (a >>> 0 > 16777215) {
11035                  break l;
11036                }
11037                c = e;
11038                e = e + 1048320 >>> 16 & 8;
11039                b = c << e;
11040                j = b + 520192 >>> 16 & 4;
11041                b = b << j;
11042                h = b + 245760 >>> 16 & 2;
11043                b = (b << h >>> 15 | 0) - (h | (e | j)) | 0;
11044                b = (b << 1 | a >>> b + 21 & 1) + 28 | 0;
11045              }
11046              f[g + 28 >> 2] = b;
11047              h = (b << 2) + 11840 | 0;
11048              m: {
11049                n: {
11050                  e = f[2885];
11051                  c = 1 << b;
11052                  o: {
11053                    if (!(e & c)) {
11054                      f[2885] = c | e;
11055                      f[h >> 2] = d;
11056                      f[d + 24 >> 2] = h;
11057                      break o;
11058                    }
11059                    e = a << ((b | 0) == 31 ? 0 : 25 - (b >>> 1 | 0) | 0);
11060                    c = f[h >> 2];
11061                    while (1) {
11062                      b = c;
11063                      if ((f[c + 4 >> 2] & -8) == (a | 0)) {
11064                        break n;
11065                      }
11066                      c = e >>> 29 | 0;
11067                      e = e << 1;
11068                      h = (b + (c & 4) | 0) + 16 | 0;
11069                      c = f[h >> 2];
11070                      if (c) {
11071                        continue;
11072                      }
11073                      break;
11074                    }
11075                    f[h >> 2] = d;
11076                    f[d + 24 >> 2] = b;
11077                  }
11078                  f[d + 12 >> 2] = d;
11079                  f[d + 8 >> 2] = d;
11080                  break m;
11081                }
11082                a = f[b + 8 >> 2];
11083                f[a + 12 >> 2] = d;
11084                f[b + 8 >> 2] = d;
11085                f[d + 24 >> 2] = 0;
11086                f[d + 12 >> 2] = b;
11087                f[d + 8 >> 2] = a;
11088              }
11089              a = f[2892] + -1 | 0;
11090              f[2892] = a;
11091              if (a) {
11092                break a;
11093              }
11094              d = 11992;
11095              while (1) {
11096                a = f[d >> 2];
11097                d = a + 8 | 0;
11098                if (a) {
11099                  continue;
11100                }
11101                break;
11102              }
11103              f[2892] = -1;
11104            }
11105          }
11106          function ne(a, b, c, g, i) {
11107            var j = 0,
11108              k = 0,
11109              l = 0,
11110              m = 0,
11111              n = 0,
11112              o = 0,
11113              p = 0,
11114              q = 0,
11115              r = 0,
11116              s = 0,
11117              t = 0,
11118              u = 0,
11119              v = 0,
11120              w = 0,
11121              x = 0,
11122              y = 0,
11123              z = 0,
11124              A = 0,
11125              B = 0,
11126              C = 0,
11127              D = 0;
11128            l = L - 128 | 0;
11129            f[l + 120 >> 2] = 0;
11130            f[l + 124 >> 2] = 0;
11131            f[l + 112 >>
11131 2] = 0;
11132            f[l + 116 >> 2] = 0;
11133            f[l + 104 >> 2] = 0;
11134            f[l + 108 >> 2] = 0;
11135            f[l + 96 >> 2] = 0;
11136            f[l + 100 >> 2] = 0;
11137            f[l + 88 >> 2] = 0;
11138            f[l + 92 >> 2] = 0;
11139            f[l + 80 >> 2] = 0;
11140            f[l + 84 >> 2] = 0;
11141            f[l + 72 >> 2] = 0;
11142            f[l + 76 >> 2] = 0;
11143            f[l + 64 >> 2] = 0;
11144            f[l + 68 >> 2] = 0;
11145            a: {
11146              if ((g | 0) >= 1) {
11147                while (1) {
11148                  k = f[(j << 2) + c >> 2];
11149                  if ((k | 0) > 15) {
11150                    break a;
11151                  }
11152                  k = (l - -64 | 0) + (k << 2) | 0;
11153                  f[k >> 2] = f[k >> 2] + 1;
11154                  j = j + 1 | 0;
11155                  if ((j | 0) != (g | 0)) {
11156                    continue;
11157                  }
11158                  break;
11159                }
11160                j = f[l + 64 >> 2];
11161              } else {
11162                j = 0;
11163              }
11164              if ((j | 0) == (g | 0)) {
11165                break a;
11166              }
11167              f[l + 4 >> 2] = 0;
11168              j = f[l + 68 >> 2];
11169              if ((j | 0) > 2) {
11170                break a;
11171              }
11172              f[l + 8 >> 2] = j;
11173              k = f[l + 72 >> 2];
11174              if ((k | 0) > 4) {
11175                break a;
11176              }
11177              j = j + k | 0;
11178              f[l + 12 >> 2] = j;
11179              k = f[l + 76 >> 2];
11180              if ((k | 0) > 8) {
11181                break a;
11182              }
11183              j = j + k | 0;
11184              f[l + 16 >> 2] = j;
11185              k = f[l + 80 >> 2];
11186              if ((k | 0) > 16) {
11187                break a;
11188              }
11189              j = j + k | 0;
11190              f[l + 20 >> 2] = j;
11191              k = f[l + 84 >> 2];
11192              if ((k | 0) > 32) {
11193                break a;
11194              }
11195              j = j + k | 0;
11196              f[l + 24 >> 2] = j;
11197              k = f[l + 88 >> 2];
11198              if ((k | 0) > 64) {
11199                break a;
11200              }
11201              j = j + k | 0;
11202              f[l + 28 >> 2] = j;
11203              k = f[l + 92 >> 2];
11204              if ((k | 0) > 128) {
11205                break a;
11206              }
11207              j = j + k | 0;
11208              f[l + 32 >> 2] = j;
11209              k = f[l + 96 >> 2];
11210              if ((k | 0) > 256) {
11211                break a;
11212              }
11213              j = j + k | 0;
11214              f[l + 36 >> 2] = j;
11215              k = f[l + 100 >> 2];
11216              if ((k | 0) > 512) {
11217                break a;
11218              }
11219              j = j + k | 0;
11220              f[l + 40 >> 2] = j;
11221              k = f[l + 104 >> 2];
11222              if ((k | 0) > 1024) {
11223                break a;
11224              }
11225              j = j + k | 0;
11226              f[l + 44 >> 2] = j;
11227              k = f[l + 108 >> 2];
11228              if ((k | 0) > 2048) {
11229                break a;
11230              }
11231              j = j + k | 0;
11232              f[l + 48 >> 2] = j;
11233              k = f[l + 112 >> 2];
11234              if ((k | 0) > 4096) {
11235                break a;
11236              }
11237              j = j + k | 0;
11238              f[l + 52 >> 2] = j;
11239              k = f[l + 116 >> 2];
11240              if ((k | 0) > 8192) {
11241                break a;
11242              }
11243              j = j + k | 0;
11244              f[l + 56 >> 2] = j;
11245              k = f[l + 120 >> 2];
11246              if ((k | 0) > 16384) {
11247                break a;
11248              }
11249              f[l + 60 >> 2] = j + k;
11250              j = 0;
11251              if ((g | 0) > 0) {
11252                while (1) {
11253                  k = f[(j << 2) + c >> 2];
11254                  b: {
11255                    if ((k | 0) < 1) {
11256                      break b;
11257                    }
11258                    if (i) {
11259                      m = l + (k << 2) | 0;
11260                      k = f[m >> 2];
11261                      f[m >> 2] = k + 1;
11262                      e[(k << 1) + i >> 1] = j;
11263                      break b;
11264                    }
11265                    k = l + (k << 2) | 0;
11266                    f[k >> 2] = f[k >> 2] + 1;
11267                  }
11268                  j = j + 1 | 0;
11269                  if ((j | 0) != (g | 0)) {
11270                    continue;
11271                  }
11272                  break;
11273                }
11274              }
11275              k = 1 << b;
11276              t = 1;
11277              p = f[l + 60 >> 2];
11278              if ((p | 0) == 1) {
11279                if (!i) {
11280                  return k;
11281                }
11282                c = h[i >> 1] << 16;
11283                j = k;
11284                while (1) {
11285                  b = j + -1 | 0;
11286                  g = (b << 2) + a | 0;
11287                  e[g >> 1] = c;
11288                  e[g + 2 >> 1] = c >>> 16;
11289                  g = (j | 0) > 1;
11290                  j = b;
11291                  if (g) {
11292                    continue;
11293                  }
11294                  break;
11295                }
11296                return k;
11297              }
11298              w = 1;
11299              c: {
11300                d: {
11301                  if ((b | 0) < 1) {
11302                    break d;
11303                  }
11304                  r = 2;
11305                  j = 1;
11306                  while (1) {
11307                    s = t << 1;
11308                    x = (l - -64 | 0) + (j << 2) | 0;
11309                    g = f[x >> 2];
11310                    t = s - g | 0;
11311                    if ((t | 0) < 0) {
11312                      break a;
11313                    }
11314                    c = j;
11315                    if (!(!a | (g | 0) < 1)) {
11316                      m = g + q | 0;
11317                      y = c & 255;
11318                      o = 1 << c + -1;
11319                      while (1) {
11320                        z = (n << 2) + a | 0;
11321                        g = y | h[(q << 1) + i >> 1] << 16;
11322                        j = k;
11323                        while (1) {
11324                          j = j - r | 0;
11325                          u = z + (j << 2) | 0;
11326                          e[u >> 1] = g;
11327                          e[u + 2 >> 1] = g >>> 16;
11328                          if ((j | 0) > 0) {
11329                            continue;
11330                          }
11331                          break;
11332                        }
11333                        g = o;
11334                        while (1) {
11335                          j = g;
11336                          g = j >>> 1 | 0;
11337                          if (j & n) {
11338                            continue;
11339                          }
11340                          break;
11341                        }
11342                        n = j ? j + (j + -1 & n) | 0 : n;
11343                        q = q + 1 | 0;
11344                        if ((m | 0) != (q | 0)) {
11345                          continue;
11346                        }
11347                        break;
11348                      }
11349                      f[x >> 2] = 0;
11350                      q = m;
11351                    }
11352                    w = s + w | 0;
11353                    r = r << 1;
11354                    j = c + 1 | 0;
11355                    if ((b | 0) != (c | 0)) {
11356                      continue;
11357                    }
11358                    break;
11359                  }
11360                  if ((b | 0) <= 14) {
11361                    break d;
11362                  }
11363                  s = k;
11364                  break c;
11365                }
11366                C = k + -1 | 0;
11367                m = b;
11368                o = -1;
11369                r = 2;
11370                p = a;
11371                s = k;
11372                while (1) {
11373                  v = 0;
11374                  x = m;
11375                  A = t << 1;
11376                  m = m + 1 | 0;
11377                  u = (l - -64 | 0) + (m << 2) | 0;
11378                  c = f[u >> 2];
11379                  t = A - c | 0;
11380                  if ((t | 0) < 0) {
11381                    break a;
11382                  }
11383                  if (!(!a | (c | 0) < 1)) {
11384                    z = 1 << x;
11385                    v = m - b | 0;
11386                    D = v & 255;
11387                    y = 1 << v;
11388                    j = o;
11389                    while (1) {
11390                      o = n & C;
11391                      e: {
11392                        if ((o | 0) == (j | 0)) {
11393                          o = j;
11394                          break e;
11395                        }
11396                        p = (k << 2) + p | 0;
11397                        k = y;
11398                        j = v;
11399                        if ((x | 0) <= 13) {
11400                          j = m;
11401                          g = j;
11402                          c = y - c | 0;
11403                          f: {
11404                            if ((c | 0) < 1) {
11405                              break f;
11406                            }
11407                            while (1) {
11408                              g = 15;
11409                              j = j + 1 | 0;
11410                              if ((j | 0) == 15) {
11411                                break f;
11412                              }
11413                              g = j;
11414                              c = (c << 1) - f[(l - -64 | 0) + (j << 2) >> 2] | 0;
11415                              if ((c | 0) > 0) {
11416                                continue;
11417                              }
11418                              break;
11419                            }
11420                          }
11421                          j = g - b | 0;
11422                          k = 1 << j;
11423                        }
11424                        c = (o << 2) + a | 0;
11425                        d[c | 0] = b + j;
11426                        e[c + 2 >> 1] = (p - a >>> 2 | 0) - o;
11427                        s = k + s | 0;
11428                      }
11429                      g = (n >>> b << 2) + p | 0;
11430                      c = D | h[(q << 1) + i >> 1] << 16;
11431                      j = k;
11432                      while (1) {
11433                        j = j - r | 0;
11434                        B = g + (j << 2) | 0;
11435                        e[B >> 1] = c;
11436                        e[B + 2 >> 1] = c >>> 16;
11437                        if ((j | 0) > 0) {
11438                          continue;
11439                        }
11440                        break;
11441                      }
11442                      g = z;
11443                      while (1) {
11444                        j = g;
11445                        g = j >>> 1 | 0;
11446                        if (j & n) {
11447                          continue;
11448                        }
11449                        break;
11450                      }
11451                      g = f[u >> 2];
11452                      c = g + -1 | 0;
11453                      f[u >> 2] = c;
11454                      n = j ? j + (j + -1 & n) | 0 : n;
11455                      q = q + 1 | 0;
11456                      j = o;
11457                      if ((g | 0) > 1) {
11458                        continue;
11459                      }
11460                      break;
11461                    }
11462                  }
11463                  w = w + A | 0;
11464                  r = r << 1;
11465                  if ((m | 0) != 15) {
11466                    continue;
11467                  }
11468                  break;
11469                }
11470                p = f[l + 60 >> 2];
11471              }
11472              v = ((p << 1) + -1 | 0) == (w | 0) ? s : 0;
11473            }
11474            return v;
11475          }
11476          function fb(a, b) {
11477            var i = 0,
11478              j = 0,
11479              k = 0,
11480              m = 0,
11481              n = 0,
11482              o = 0,
11483              p = 0,
11484              q = 0,
11485              r = 0,
11486              s = 0,
11487              t = 0,
11488              u = 0,
11489              v = 0,
11490              w = 0,
11491              x = 0,
11492              y = 0,
11493              z = 0,
11494              A = 0,
11495              B = 0,
11496              C = 0,
11497              D = 0,
11498              E = 0,
11499              F = 0,
11500              G = 0;
11501            y = L - 32 | 0;
11502            L = y;
11503            n = f[a + 2256 >> 2];
11504            s = f[a + 2296 >> 2];
11505            z = n + (s << 1) | 0;
11506            w = f[a + 2304 >> 2];
11507            a: {
11508              b: {
11509                if (f[a + 2236 >> 2]) {
11510                  i = l(s, 800) + w | 0;
11511                  if (g[i + 797 | 0]) {
11512                    break b;
11513                  }
11514                }
11515                k = l(s, 800) + w | 0;
11516                A = g[k + 798 | 0];
11517                p = 3;
11518                j = $e(k, 0, 768);
11519                if (!g[j + 768 | 0]) {
11520                  i = y;
11521                  f[i + 24 >> 2] = 0;
11522                  f[i + 28 >> 2] = 0;
11523                  f[i + 16 >> 2] = 0;
11524                  f[i + 20 >> 2] = 0;
11525                  f[i + 8 >> 2] = 0;
11526                  f[i + 12 >> 2] = 0;
11527                  f[i >> 2] = 0;
11528                  f[i + 4 >> 2] = 0;
11529                  m = n + -1 | 0;
11530                  p = n + (s << 1) | 0;
11531                  q = c[f[2661]](b, a + 2032 | 0, g[m | 0] + g[p + 1 | 0] | 0, ((A << 5) + a | 0) + 784 | 0, 0, i) | 0;
11532                  i = (q | 0) > 0;
11533                  d[m | 0] = i;
11534                  d[p + 1 | 0] = i;
11535                  c: {
11536                    if ((q | 0) >= 2) {
11537                      c[f[2674]](y, j);
11538                      break c;
11539                    }
11540                    i = l(s, 800) + w | 0;
11541                    j = e[y >> 1] + 3 >>> 3 | 0;
11542                    e[i + 480 >> 1] = j;
11543                    e[i + 448 >> 1] = j;
11544                    e[i + 416 >> 1] = j;
11545                    e[i + 384 >> 1] = j;
11546                    e[i + 352 >> 1] = j;
11547                    e[i + 320 >> 1] = j;
11548                    e[i + 288 >> 1] = j;
11549                    e[i + 256 >> 1] = j;
11550                    e[i + 224 >> 1] = j;
11551                    e[i + 192 >> 1] = j;
11552                    e[i + 160 >> 1] = j;
11553                    e[i + 128 >> 1] = j;
11554                    e[i + 96 >> 1] = j;
11555                    e[i + 64 >> 1] = j;
11556                    e[i + 32 >> 1] = j;
11557                    e[i >> 1] = j;
11558                  }
11559                  p = 0;
11560                  m = 1;
11561                }
11562                i = g[z | 0] & 15;
11563                j = ((A << 5) + a | 0) + 776 | 0;
11564                C = n + -2 | 0;
11565                n = g[C | 0] & 15;
11566                p = (l(p, 68) + a | 0) + 1964 | 0;
11567                while (1) {
11568                  q = c[f[2661]](b, p, (n & 1) + (i & 1) | 0, j, m, k) | 0;
11569                  t = h[k >> 1];
11570                  o = (q | 0) > (m | 0);
11571                  r = i >>> 1 | 0;
11572                  i = c[f[2661]](b, p, o + (r & 1) | 0, j, m, k + 32 | 0) | 0;
11573                  u = h[k + 32 >> 1];
11574                  v = (i | 0) > (m | 0);
11575                  o = (r & 126 | o << 7) >>> 1 | 0;
11576                  r = c[f[2661]](b, p, v + (o & 1) | 0, j, m, k - -64 | 0) | 0;
11577                  D = h[k + 64 >> 1];
11578                  B = (r | 0) > (m | 0);
11579                  v = (o | v << 7) >>> 1 | 0;
11580                  o = c[f[2661]](b, p, B + (v & 1) | 0, j, m, k + 96 | 0) | 0;
11581                  E = (((i | 0) > 3 ? 3 : (i | 0) < 2 ? (u | 0) != 0 : 2) | ((q | 0) > 3 ? 12 : (q | 0) < 2 ? ((t | 0) != 0) << 2 : 8)) << 4 | E << 8 | ((r | 0) > 3 ? 12 : (r | 0) < 2 ? ((D | 0) != 0) << 2 : 8) | ((o | 0) > 3 ? 3 : (o | 0) < 2 ? h[k + 96 >> 1] != 0 : 2);
11582                  q = (o | 0) > (m | 0);
11583                  i = q << 3 | (v | B << 7) >>> 5;
11584                  n = q << 7 | (n & 254) >>> 1;
11585                  k = k + 128 | 0;
11586                  x = x + 1 | 0;
11587                  if ((x | 0) != 4) {
11588                    continue;
11589                  }
11590                  break;
11591                }
11592                p = a + 2100 | 0;
11593                x = n >>> 4 | 0;
11594                r = i & 255;
11595                q = ((A << 5) + a | 0) + 792 | 0;
11596                n = 0;
11597                i = 1;
11598                m = 0;
11599                while (1) {
11600                  j = m | 4;
11601                  t = g[C | 0] >>> j | 0;
11602                  o = g[z | 0] >>> j | 0;
11603                  j = c[f[2661]](b, p, (t & 1) + (o & 1) | 0, q, 0, k) | 0;
11604                  v = h[k >> 1];
11605                  u = (j | 0) > 0;
11606                  o = c[f[2661]](b, p, u + (o >>> 1 & 1) | 0, q, 0, k + 32 | 0) | 0;
11607                  D = h[k + 32 >> 1];
11608                  t = c[f[2661]](b, p, u + (t >>> 1 & 1) | 0, q, 0, k - -64 | 0) | 0;
11609                  B = h[k + 64 >> 1];
11610                  F = (t | 0) > 0;
11611                  G = (o | 0) > 0;
11612                  u = c[f[2661]](b, p, F + G | 0, q, 0, k + 96 | 0) | 0;
11613                  n = ((((o | 0) > 3 ? 3 : (o | 0) < 2 ? (D | 0) != 0 : 2) | ((j | 0) > 3 ? 12 : (j | 0) < 2 ? ((v | 0) != 0) << 2 : 8)) << 4 | ((t | 0) > 3 ? 12 : (t | 0) < 2 ? ((B | 0) != 0) << 2 : 8) | ((u | 0) > 3 ? 3 : (u | 0) < 2 ? h[k + 96 >> 1]
11613 != 0 : 2)) << (m << 2) | n;
11614                  j = (u | 0) > 0;
11615                  x = (j << 5 | G << 4) << m | x;
11616                  r = (j << 1 | F) << 4 << m | r;
11617                  k = k + 128 | 0;
11618                  j = i;
11619                  i = 0;
11620                  m = 2;
11621                  if (j) {
11622                    continue;
11623                  }
11624                  break;
11625                }
11626                d[z | 0] = r;
11627                d[C | 0] = x;
11628                i = l(s, 800) + w | 0;
11629                f[i + 792 >> 2] = n;
11630                f[i + 788 >> 2] = E;
11631                d[i + 796 | 0] = n & 43690 ? 0 : f[((A << 5) + a | 0) + 804 >> 2];
11632                m = (n | E) != 0;
11633                break a;
11634              }
11635              d[z | 0] = 0;
11636              d[n + -2 | 0] = 0;
11637              if (!g[i + 768 | 0]) {
11638                d[(n + (s << 1) | 0) + 1 | 0] = 0;
11639                d[n + -1 | 0] = 0;
11640              }
11641              i = l(s, 800) + w | 0;
11642              f[i + 788 >> 2] = 0;
11643              f[i + 792 >> 2] = 0;
11644              d[i + 796 | 0] = 0;
11645            }
11646            if (f[a + 2308 >> 2] >= 1) {
11647              i = f[a + 2260 >> 2] + (f[a + 2296 >> 2] << 2) | 0;
11648              j = a;
11649              a = l(s, 800) + w | 0;
11650              a = f[((j + (g[a + 798 | 0] << 3) | 0) + (g[a + 768 | 0] << 2) | 0) + 2312 >> 2];
11651              d[i | 0] = a;
11652              d[i + 1 | 0] = a >>> 8;
11653              d[i + 2 | 0] = a >>> 16;
11654              d[i + 3 | 0] = a >>> 24;
11655              d[i + 2 | 0] = g[i + 2 | 0] | m;
11656            }
11657            L = y + 32 | 0;
11658            return !f[b + 24 >> 2];
11659          }
11660          function Ec(a, b, h, i, j) {
11661            var k = 0,
11662              m = 0,
11663              n = 0,
11664              o = 0,
11665              p = 0,
11666              q = 0,
11667              r = 0,
11668              s = 0,
11669              t = 0,
11670              u = 0,
11671              v = 0,
11672              w = 0,
11673              x = 0,
11674              y = 0,
11675              z = 0,
11676              A = 0,
11677              B = 0;
11678            t = L - 16 | 0;
11679            L = t;
11680            m = f[a + 8 >> 2];
11681            a: {
11682              b: {
11683                switch (f[a >> 2]) {
11684                  case 2:
11685                    c[f[2733]](i, l(m, h - b | 0), j);
11686                    break a;
11687                  case 0:
11688                    c: {
11689                      if (b) {
11690                        r = m + -1 | 0;
11691                        q = j;
11692                        k = b;
11693                        break c;
11694                      }
11695                      k = f[i >> 2];
11696                      k = k + -16777216 & -16711936 | k & 16711935;
11697                      f[j >> 2] = k;
11698                      r = m + -1 | 0;
11699                      if ((m | 0) >= 2) {
11700                        q = j + 4 | 0;
11701                        p = i + 4 | 0;
11702                        while (1) {
11703                          s = o << 2;
11704                          n = f[s + p >> 2];
11705                          k = (n & -16711936) + (k & -16711936) & -16711936 | (n & 16711935) + (k & 16711935) & 16711935;
11706                          f[q + s >> 2] = k;
11707                          o = o + 1 | 0;
11708                          if ((r | 0) != (o | 0)) {
11709                            continue;
11710                          }
11711                          break;
11712                        }
11713                      }
11714                      k = m << 2;
11715                      q = k + j | 0;
11716                      i = i + k | 0;
11717                      k = 1;
11718                    }
11719                    p = k;
11720                    if ((p | 0) < (h | 0)) {
11721                      k = f[a + 4 >> 2];
11722                      x = 1 << k;
11723                      A = x + -1 | 0;
11724                      u = 0 - x | 0;
11725                      v = 0 - m | 0;
11726                      w = r + x >>> k | 0;
11727                      s = f[a + 16 >> 2] + (l(w, p >> k) << 2) | 0;
11728                      while (1) {
11729                        n = f[i >> 2];
11730                        r = v << 2;
11731                        k = f[r + q >> 2];
11732                        f[q >> 2] = (n & -16711936) + (k & -16711936) & -16711936 | (n & 16711935) + (k & 16711935) & 16711935;
11733                        k = 1;
11734                        o = s;
11735                        if ((m | 0) >= 2) {
11736                          while (1) {
11737                            n = k << 2;
11738                            z = n + q | 0;
11739                            B = i + n | 0;
11740                            y = x + (k & u) | 0;
11741                            n = (y | 0) > (m | 0) ? m : y;
11742                            c[f[(f[o >> 2] >>> 6 & 60) + 10960 >> 2]](B, r + z | 0, n - k | 0, z);
11743                            o = o + 4 | 0;
11744                            k = n;
11745                            if ((m | 0) > (y | 0)) {
11746                              continue;
11747                            }
11748                            break;
11749                          }
11750                        }
11751                        p = p + 1 | 0;
11752                        s = A & p ? s : (w << 2) + s | 0;
11753                        k = m << 2;
11754                        q = k + q | 0;
11755                        i = i + k | 0;
11756                        if ((h | 0) != (p | 0)) {
11757                          continue;
11758                        }
11759                        break;
11760                      }
11761                    }
11762                    if (f[a + 12 >> 2] == (h | 0)) {
11763                      break a;
11764                    }
11765                    a = m << 2;
11766                    _e(j - a | 0, (l(m, (b ^ -1) + h | 0) << 2) + j | 0, a);
11767                    break a;
11768                  case 1:
11769                    if ((h | 0) <= (b | 0)) {
11770                      break a;
11771                    }
11772                    k = f[a + 4 >> 2];
11773                    u = 1 << k;
11774                    v = m & 0 - u;
11775                    w = m - v | 0;
11776                    r = u + -1 | 0;
11777                    o = r + m >>> k | 0;
11778                    a = f[a + 16 >> 2] + (l(o, b >> k) << 2) | 0;
11779                    q = (v | 0) < 1;
11780                    while (1) {
11781                      d[t + 10 | 0] = 0;
11782                      e[t + 8 >> 1] = 0;
11783                      p = (m << 2) + i | 0;
11784                      d: {
11785                        if (q) {
11786                          k = a;
11787                          break d;
11788                        }
11789                        s = (v << 2) + i | 0;
11790                        k = a;
11791                        while (1) {
11792                          n = f[k >> 2];
11793                          d[t + 8 | 0] = n;
11794                          d[t + 10 | 0] = n >>> 16;
11795                          d[t + 9 | 0] = n >>> 8;
11796                          c[f[2804]](t + 8 | 0, i, u, j);
11797                          k = k + 4 | 0;
11798                          n = u << 2;
11799                          j = n + j | 0;
11800                          i = i + n | 0;
11801                          if (i >>> 0 < s >>> 0) {
11802                            continue;
11803                          }
11804                          break;
11805                        }
11806                      }
11807                      if (i >>> 0 < p >>> 0) {
11808                        k = f[k >> 2];
11809                        d[t + 8 | 0] = k;
11810                        d[t + 10 | 0] = k >>> 16;
11811                        d[t + 9 | 0] = k >>> 8;
11812                        c[f[2804]](t + 8 | 0, i, w, j);
11813                        k = w << 2;
11814                        j = k + j | 0;
11815                        i = i + k | 0;
11816                      }
11817                      b = b + 1 | 0;
11818                      a = r & b ? a : (o << 2) + a | 0;
11819                      if ((b | 0) != (h | 0)) {
11820                        continue;
11821                      }
11822                      break;
11823                    }
11824                    break a;
11825                  case 3:
11826                    break b;
11827                  default:
11828                    break a;
11829                }
11830              }
11831              k = f[a + 4 >> 2];
11832              if (!((i | 0) != (j | 0) | (k | 0) < 1)) {
11833                j = h - b | 0;
11834                k = l(j, (m + (1 << k) | 0) + -1 >>> k | 0) << 2;
11835                o = ((l(j, m) << 2) + i | 0) - k | 0;
11836                j = af(o, i, k);
11837                q = f[a + 16 >> 2];
11838                r = f[a + 8 >> 2];
11839                a = f[a + 4 >> 2];
11840                p = 8 >>> a | 0;
11841                if ((p | 0) <= 7) {
11842                  if ((h | 0) <= (b | 0)) {
11843                    break a;
11844                  }
11845                  s = -1 << p ^ -1;
11846                  n = -1 << a ^ -1;
11847                  a = (r | 0) < 1;
11848                  while (1) {
11849                    k = 0;
11850                    j = 0;
11851                    if (!a) {
11852                      while (1) {
11853                        if (!(k & n)) {
11854                          j = g[o + 1 | 0];
11855                          o = o + 4 | 0;
11856                        }
11857                        f[i >> 2] = f[q + ((j & s) << 2) >> 2];
11858                        j = j >>> p | 0;
11859                        i = i + 4 | 0;
11860                        k = k + 1 | 0;
11861                        if ((r | 0) != (k | 0)) {
11862                          continue;
11863                        }
11864                        break;
11865                      }
11866                    }
11867                    b = b + 1 | 0;
11868                    if ((h | 0) != (b | 0)) {
11869                      continue;
11870                    }
11871                    break;
11872                  }
11873                  break a;
11874                }
11875                c[f[2805]](j, q, i, b, h, r);
11876                break a;
11877              }
11878              q = f[a + 16 >> 2];
11879              p = 8 >>> k | 0;
11880              if ((p | 0) <= 7) {
11881                if ((h | 0) <= (b | 0)) {
11882                  break a;
11883                }
11884                s = -1 << p ^ -1;
11885                n = -1 << k ^ -1;
11886                a = (m | 0) < 1;
11887                while (1) {
11888                  o = 0;
11889                  k = 0;
11890                  if (!a) {
11891                    while (1) {
11892                      if (!(o & n)) {
11893                        k = g[i + 1 | 0];
11894                        i = i + 4 | 0;
11895                      }
11896                      f[j >> 2] = f[q + ((k & s) << 2) >> 2];
11897                      k = k >>> p | 0;
11898                      j = j + 4 | 0;
11899                      o = o + 1 | 0;
11900                      if ((m | 0) != (o | 0)) {
11901                        continue;
11902                      }
11903                      break;
11904                    }
11905                  }
11906                  b = b + 1 | 0;
11907                  if ((h | 0) != (b | 0)) {
11908                    continue;
11909                  }
11910                  break;
11911                }
11912                break a;
11913              }
11914              c[f[2805]](i, q, j, b, h, m);
11915            }
11916            L = t + 16 | 0;
11917          }
11918          function ib(a, b, c, d, e, h, i, j) {
11919            var k = 0,
11920              l = 0,
11921              m = 0,
11922              n = 0,
11923              o = 0,
11924              p = 0,
11925              q = 0,
11926              r = 0,
11927              s = 0,
11928              t = 0,
11929              u = 0,
11930              v = 0,
11931              w = 0,
11932              x = 0,
11933              y = 0,
11934              z = 0;
11935            n = L - 16 | 0;
11936            L = n;
11937            f[n + 12 >> 2] = 0;
11938            f[n + 8 >> 2] = 0;
11939            y = j ? f[j + 8 >> 2] : 0;
11940            a: {
11941              if (!a) {
11942                m = 7;
11943                break a;
11944              }
11945              if (b >>> 0 < 12) {
11946                m = 7;
11947                break a;
11948              }
11949              l = b;
11950              k = a;
11951              s = Ce(k, 5463);
11952              if (!s) {
11953                m = 3;
11954                if ((g[a + 8 | 0] | g[a + 9 | 0] << 8 | (g[a + 10 | 0] << 16 | g[a + 11 | 0] << 24)) != 1346520407) {
11955                  break a;
11956                }
11957                q = g[a + 4 | 0] | g[a + 5 | 0] << 8 | (g[a + 6 | 0] << 16 | g[a + 7 | 0] << 24);
11958                if (q + -12 >>> 0 > 4294967274) {
11959                  break a;
11960                }
11961                if (!(!y | q >>> 0 <= b + -8 >>> 0)) {
11962                  m = 7;
11963                  break a;
11964                }
11965                l = b + -12 | 0;
11966                if (l >>> 0 < 8) {
11967                  m = 7;
11968                  break a;
11969                }
11970                k = a + 12 | 0;
11971              }
11972              r = Ce(k, 5468);
11973              b: {
11974                if (r) {
11975                  m = 0;
11976                  break b;
11977                }
11978                m = 3;
11979                if ((g[k + 4 | 0] | g[k + 5 | 0] << 8 | (g[k + 6 | 0] << 16 | g[k + 7 | 0] << 24)) != 10) {
11980                  break a;
11981                }
11982                if (l >>> 0 < 18) {
11983                  m = 7;
11984                  break a;
11985                }
11986                o = 1;
11987                u = (g[k + 12 | 0] | g[k + 13 | 0] << 8 | g[k + 14 | 0] << 16) + 1 | 0;
11988                v = (g[k + 15 | 0] | g[k + 16 | 0] << 8 | g[k + 17 | 0] << 16) + 1 | 0;
11989                xf(u, 0, v, 0);
11990                if (s | N) {
11991                  break a;
11992                }
11993                m = g[k + 8 | 0];
11994                l = l + -18 | 0;
11995                k = k + 18 | 0;
11996                w = (m & 2) >>> 1 | 0;
11997              }
11998              if (e) {
11999                f[e >> 2] = m >>> 4 & 1;
12000              }
12001              if (h) {
12002                f[h >> 2] = w;
12003              }
12004              if (i) {
12005                f[i >> 2] = 0;
12006              }
12007              f[n + 8 >> 2] = v;
12008              f[n + 12 >> 2] = u;
12009              c: {
12010                if (!j) {
12011                  h = 0;
12012                  if (!r & w) {
12013                    break c;
12014                  }
12015                }
12016                h = 0;
12017                d: {
12018                  if (l >>> 0 < 4) {
12019                    break d;
12020                  }
12021                  e: {
12022                    if (o | q | (g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24)) != 1213221953 ? r | s : 0) {
12023                      break e;
12024                    }
12025                    if (l >>> 0 < 8) {
12026                      break d;
12027                    }
12028                    x = 22;
12029                    while (1) {
12030                      m = 3;
12031                      p = g[k + 4 | 0] | g[k + 5 | 0] << 8 | (g[k + 6 | 0] << 16 | g[k + 7 | 0] << 24);
12032                      if (p >>> 0 > 4294967286) {
12033                        break a;
12034                      }
12035                      t = p + 9 & -2;
12036                      x = t + x | 0;
12037                      if (x >>> 0 > q >>> 0 ? !s : 0) {
12038                        break a;
12039                      }
12040                      if ((g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24)) == 540561494 | (g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24)) == 1278758998) {
12041                        break e;
12042                      }
12043                      if (l >>> 0 < t >>> 0) {
12044                        break d;
12045                      }
12046                      o = (g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24)) == 1213221953;
12047                      h = o ? k + 8 | 0 : h;
12048                      z = o ? p : z;
12049                      k = k + t | 0;
12050                      l = l - t | 0;
12051                      if (l >>> 0 >= 8) {
12052                        continue;
12053                      }
12054                      break;
12055                    }
12056                    break d;
12057                  }
12058                  if (l >>> 0 < 8) {
12059                    break d;
12060                  }
12061                  p = g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24);
12062                  f: {
12063                    if (!((g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24)) != 540561494 ? (p | 0) != 1278758998 : 0)) {
12064                      o = g[k + 4 | 0] | g[k + 5 | 0] << 8 | (g[k + 6 | 0] << 16 | g[k + 7 | 0] << 24);
12065                      if (q >>> 0 >= 12) {
12066                        m = 3;
12067                        if (o >>> 0 > q + -12 >>> 0) {
12068                          break a;
12069                        }
12070                      }
12071                      l = l + -8 | 0;
12072                      if (o >>> 0 > l >>> 0 ? y : 0) {
12073                        break d;
12074                      }
12075                      k = k + 8 | 0;
12076                      p = (p | 0) == 1278758998;
12077                      break f;
12078                    }
12079                    o = l;
12080               
12080     p = g[k | 0] != 47 | l >>> 0 < 5 ? 0 : g[k + 4 | 0] < 32;
12081                  }
12082                  m = 3;
12083                  if (o >>> 0 > 4294967286) {
12084                    break a;
12085                  }
12086                  if (!(w | !i)) {
12087                    f[i >> 2] = p ? 2 : 1;
12088                  }
12089                  g: {
12090                    if (!p) {
12091                      if (l >>> 0 < 10) {
12092                        break d;
12093                      }
12094                      if (db(k, l, o, n + 12 | 0, n + 8 | 0)) {
12095                        break g;
12096                      }
12097                      break a;
12098                    }
12099                    if (l >>> 0 < 5) {
12100                      break d;
12101                    }
12102                    if (!ka(k, l, n + 12 | 0, n + 8 | 0, e)) {
12103                      break a;
12104                    }
12105                  }
12106                  if (f[n + 12 >> 2] != (u | 0) | f[n + 8 >> 2] != (v | 0) ? !r : 0) {
12107                    break a;
12108                  }
12109                  if (!j) {
12110                    break c;
12111                  }
12112                  f[j + 8 >> 2] = 0;
12113                  f[j + 12 >> 2] = 0;
12114                  f[j + 4 >> 2] = b;
12115                  f[j >> 2] = a;
12116                  f[j + 32 >> 2] = p;
12117                  f[j + 28 >> 2] = q;
12118                  f[j + 24 >> 2] = o;
12119                  f[j + 20 >> 2] = z;
12120                  f[j + 16 >> 2] = h;
12121                  f[j + 12 >> 2] = k - a;
12122                  break c;
12123                }
12124                if (j) {
12125                  m = 7;
12126                  break a;
12127                }
12128                m = 7;
12129                if (r) {
12130                  break a;
12131                }
12132              }
12133              if (e) {
12134                f[e >> 2] = f[e >> 2] | (h | 0) != 0;
12135              }
12136              if (c) {
12137                f[c >> 2] = f[n + 12 >> 2];
12138              }
12139              m = 0;
12140              if (!d) {
12141                break a;
12142              }
12143              f[d >> 2] = f[n + 8 >> 2];
12144            }
12145            L = n + 16 | 0;
12146            return m;
12147          }
12148          function wa(a, b) {
12149            a = a | 0;
12150            b = b | 0;
12151            var d = 0,
12152              e = 0,
12153              g = 0,
12154              h = 0,
12155              i = 0,
12156              j = 0,
12157              k = 0,
12158              m = 0,
12159              n = 0,
12160              o = 0,
12161              p = 0,
12162              q = 0,
12163              r = 0,
12164              s = 0;
12165            a: {
12166              j = f[a + 108 >> 2];
12167              d = b - j | 0;
12168              b: {
12169                if ((d | 0) < 1) {
12170                  break b;
12171                }
12172                i = f[a + 8 >> 2];
12173                q = f[i >> 2];
12174                e = f[a + 100 >> 2];
12175                m = f[a + 16 >> 2] + (l(e, j) << 2) | 0;
12176                k = f[a + 20 >> 2];
12177                o = f[a + 176 >> 2];
12178                c: {
12179                  if ((o | 0) >= 1) {
12180                    d = o + -1 | 0;
12181                    Ec((l(d, 20) + a | 0) + 180 | 0, j, b, m, k);
12182                    if ((o | 0) < 2) {
12183                      break c;
12184                    }
12185                    while (1) {
12186                      e = d + -1 | 0;
12187                      Ec((l(e, 20) + a | 0) + 180 | 0, j, b, k, k);
12188                      o = (d | 0) > 1;
12189                      d = e;
12190                      if (o) {
12191                        continue;
12192                      }
12193                      break;
12194                    }
12195                    break c;
12196                  }
12197                  if ((k | 0) == (m | 0)) {
12198                    break c;
12199                  }
12200                  _e(k, m, l(d, e) << 2);
12201                }
12202                j = f[i + 84 >> 2];
12203                m = f[a + 108 >> 2];
12204                o = (j | 0) > (m | 0);
12205                e = f[i + 88 >> 2];
12206                e = (e | 0) < (b | 0) ? e : b;
12207                d = o ? j : m;
12208                if ((e | 0) <= (d | 0)) {
12209                  break b;
12210                }
12211                e = e - d | 0;
12212                f[i + 16 >> 2] = e;
12213                f[i + 8 >> 2] = d - j;
12214                d = f[i + 76 >> 2];
12215                g = f[i + 80 >> 2] - d | 0;
12216                f[i + 12 >> 2] = g;
12217                r = q << 2;
12218                p = (d << 2) + (o ? k + l(r, j - m | 0) | 0 : k) | 0;
12219                d = f[a + 12 >> 2];
12220                j = f[d >> 2];
12221                if (j >>> 0 > 10) {
12222                  break a;
12223                }
12224                k = f[d + 20 >> 2];
12225                s = f[d + 16 >> 2] + l(k, f[a + 116 >> 2]) | 0;
12226                d: {
12227                  if (f[i + 92 >> 2]) {
12228                    if ((e | 0) < 1) {
12229                      break d;
12230                    }
12231                    while (1) {
12232                      q = e - n | 0;
12233                      o = re(f[a + 268 >> 2], q);
12234                      d = l(n, r) + p | 0;
12235                      pb(d, r, f[f[a + 268 >> 2] + 44 >> 2], o);
12236                      n = se(f[a + 268 >> 2], q, d, r) + n | 0;
12237                      d = 0;
12238                      g = f[a + 268 >> 2];
12239                      e: {
12240                        if (f[g + 64 >> 2] >= f[g + 56 >> 2]) {
12241                          break e;
12242                        }
12243                        o = l(h, k) + s | 0;
12244                        m = f[g + 52 >> 2];
12245                        q = f[g + 68 >> 2];
12246                        while (1) {
12247                          if (f[g + 24 >> 2] > 0) {
12248                            break e;
12249                          }
12250                          td(g);
12251                          c[f[2662]](q, m, 1);
12252                          Kc(q, m, j, o + l(d, k) | 0);
12253                          d = d + 1 | 0;
12254                          if (f[g + 64 >> 2] < f[g + 56 >> 2]) {
12255                            continue;
12256                          }
12257                          break;
12258                        }
12259                      }
12260                      h = d + h | 0;
12261                      if ((n | 0) < (e | 0)) {
12262                        continue;
12263                      }
12264                      break;
12265                    }
12266                    break d;
12267                  }
12268                  if ((e | 0) >= 1) {
12269                    d = e;
12270                    while (1) {
12271                      Kc(p, g, j, s);
12272                      s = k + s | 0;
12273                      p = p + r | 0;
12274                      h = (d | 0) > 1;
12275                      d = d + -1 | 0;
12276                      if (h) {
12277                        continue;
12278                      }
12279                      break;
12280                    }
12281                  }
12282                  h = e;
12283                }
12284                f[a + 116 >> 2] = f[a + 116 >> 2] + h;
12285              }
12286              f[a + 108 >> 2] = b;
12287              return;
12288            }
12289            n = f[a + 116 >> 2];
12290            f: {
12291              if (f[i + 92 >> 2]) {
12292                if ((e | 0) < 1) {
12293                  break f;
12294                }
12295                while (1) {
12296                  d = e - s | 0;
12297                  h = re(f[a + 268 >> 2], d);
12298                  pb(p, r, f[f[a + 268 >> 2] + 44 >> 2], h);
12299                  q = l(h, r);
12300                  s = se(f[a + 268 >> 2], d, p, r) + s | 0;
12301                  j = 0;
12302                  i = f[a + 268 >> 2];
12303                  g: {
12304                    if (f[i + 64 >> 2] >= f[i + 56 >> 2]) {
12305                      break g;
12306                    }
12307                    k = f[i + 52 >> 2];
12308                    m = f[i + 68 >> 2];
12309                    o = m + 3 | 0;
12310                    d = n;
12311                    while (1) {
12312                      if (f[i + 24 >> 2] > 0) {
12313                        break g;
12314                      }
12315                      td(i);
12316                      c[f[2662]](m, k, 1);
12317                      g = f[a + 12 >> 2];
12318                      c[f[2860]](m, f[g + 16 >> 2] + l(f[g + 32 >> 2], d) | 0, k);
12319                      h = d >> 1;
12320                      c[f[2861]](m, f[g + 20 >> 2] + l(h, f[g + 36 >> 2]) | 0, f[g + 24 >> 2] + l(h, f[g + 40 >> 2]) | 0, k, (d ^ -1) & 1);
12321                      h = f[g + 28 >> 2];
12322                      if (h) {
12323                        c[f[2668]](o, 0, k, 1, h + l(f[g + 44 >> 2], d) | 0, 0) | 0;
12324                      }
12325                      j = j + 1 | 0;
12326                      d = d + 1 | 0;
12327                      if (f[i + 64 >> 2] < f[i + 56 >> 2]) {
12328                        continue;
12329                      }
12330                      break;
12331                    }
12332                  }
12333                  p = p + q | 0;
12334                  n = n + j | 0;
12335                  if ((s | 0) < (e | 0)) {
12336                    continue;
12337                  }
12338                  break;
12339                }
12340                break f;
12341              }
12342              if ((e | 0) < 1) {
12343                break f;
12344              }
12345              while (1) {
12346                c[f[2860]](p, f[d + 16 >> 2] + l(f[d + 32 >> 2], n) | 0, g);
12347                h = n >> 1;
12348                c[f[2861]](p, f[d + 20 >> 2] + l(h, f[d + 36 >> 2]) | 0, f[d + 24 >> 2] + l(h, f[d + 40 >> 2]) | 0, g, (n ^ -1) & 1);
12349                h = f[d + 28 >> 2];
12350                if (h) {
12351                  c[f[2668]](p + 3 | 0, 0, g, 1, h + l(f[d + 44 >> 2], n) | 0, 0) | 0;
12352                }
12353                n = n + 1 | 0;
12354                if ((e | 0) < 2) {
12355                  break f;
12356                }
12357                e = e + -1 | 0;
12358                p = p + r | 0;
12359                d = f[a + 12 >> 2];
12360                continue;
12361              }
12362            }
12363            f[a + 116 >> 2] = n;
12364            f[a + 108 >> 2] = b;
12365          }
12366          function za(a) {
12367            a = a | 0;
12368            var b = 0,
12369              c = 0,
12370              d = 0,
12371              e = 0,
12372              g = 0,
12373              h = 0,
12374              i = 0,
12375              j = 0,
12376              k = 0,
12377              m = 0,
12378              n = 0,
12379              o = 0,
12380              p = 0,
12381              q = 0,
12382              r = 0;
12383            b = f[a + 40 >> 2];
12384            d = f[f[b >> 2] >> 2];
12385            e = d + -1 | 0;
12386            a: {
12387              if (e >>> 0 < 12) {
12388                c = 0;
12389                if (2077 >>> (e & 65535) & 1) {
12390                  break a;
12391                }
12392              }
12393              c = d + -7 >>> 0 > 3;
12394            }
12395            f[b + 40 >> 2] = 0;
12396            f[b + 44 >> 2] = 0;
12397            f[b + 48 >> 2] = 0;
12398            f[b + 52 >> 2] = 0;
12399            b: {
12400              if (!mb(f[b + 20 >> 2], a, c ? 12 : 11)) {
12401                break b;
12402              }
12403              if (!(c | d + -7 >>> 0 > 3)) {
12404                Cd();
12405              }
12406              g = b + 40 | 0;
12407              c: {
12408                d: {
12409                  e: {
12410                    f: {
12411                      g: {
12412                        if (f[a + 92 >> 2]) {
12413                          c = f[b >> 2];
12414                          i = f[c >> 2];
12415                          h = i + -1 | 0;
12416                          if (d >>> 0 <= 10) {
12417                            if (h >>> 0 >= 12) {
12418                              break e;
12419                            }
12420                            e = 0;
12421                            if (!(2077 >>> (h & 65535) & 1)) {
12422                              break e;
12423                            }
12424                            break d;
12425                          }
12426                          if (h >>> 0 >= 12) {
12427                            break g;
12428                          }
12429                          d = 0;
12430                          if (!(2077 >>> (h & 65535) & 1)) {
12431                            break g;
12432                          }
12433                          break f;
12434                        }
12435                        h: {
12436                          if (d >>> 0 <= 10) {
12437                            Md();
12438                            f[b + 44 >> 2] = 6;
12439                            if (!f[a + 56 >> 2]) {
12440                              break h;
12441                            }
12442                            e = f[a + 12 >> 2];
12443                            h = e + 1 | 0;
12444                            e = ze(1, 0, (h & -2) + e | 0);
12445                            f[g >> 2] = e;
12446                            if (!e) {
12447                              break b;
12448                            }
12449                            f[b + 4 >> 2] = e;
12450                            a = f[a + 12 >> 2];
12451                            f[b + 44 >> 2] = 7;
12452                            a = a + e | 0;
12453                            f[b + 8 >> 2] = a;
12454                            f[b + 12 >> 2] = a + (h >> 1);
12455                            Cd();
12456                            break h;
12457                          }
12458                          f[b + 44 >> 2] = 8;
12459                        }
12460                        j = 1;
12461                        if (c) {
12462                          break b;
12463                        }
12464                        a = 9;
12465                        i: {
12466                          switch (d + -5 | 0) {
12467                            default:
12468                              a = d >>> 0 < 11 ? 10 : 11;
12469                              break;
12470                            case 0:
12471                            case 5:
12472                              break i;
12473                          }
12474                        }
12475                        f[b + 48 >> 2] = a;
12476                        if (d >>> 0 > 10) {
12477                          break b;
12478                        }
12479                        break c;
12480                      }
12481                      d = i + -7 >>> 0 > 3;
12482                    }
12483                    i = f[a + 100 >> 2];
12484                    k = f[a + 12 >> 2];
12485                    m = f[a + 16 >> 2];
12486                    n = g;
12487                    e = f[a + 96 >> 2];
12488                    g = e + 1 | 0;
12489                    o = g & -2;
12490                    p = o << 1;
12491                    q = e << 1;
12492                    r = (p + q << 2) + (d ? 0 : e << 3) | 0;
12493                    h = ze(1, 0, r + (d ? 283 : 367) | 0);
12494                    f[n >> 2] = h;
12495                    if (!h) {
12496                      break b;
12497                    }
12498                    j = (h + r | 0) + 31 & -32;
12499                    f[b + 24 >> 2] = j;
12500                    f[b + 32 >> 2] = j + 168;
12501                    f[b + 28 >> 2] = j + 84;
12502                    f[b + 36 >> 2] = d ? 0 : j + 252 | 0;
12503                    pe(j, f[a + 12 >> 2], f[a + 16 >> 2], f[c + 16 >> 2], e, i, f[c + 32 >> 2], 1, h);
12504                    j = k + 1 >> 1;
12505                    k = m + 1 >> 1;
12506                    g = g >> 1;
12507                    m = i + 1 >> 1;
12508                    h = h + (q << 2) | 0;
12509                    pe(f[b + 28 >> 2], j, k, f[c + 20 >> 2], g, m, f[c + 36 >> 2], 1, h);
12510                    pe(f[b + 32 >> 2], j, k, f[c + 24 >> 2], g, m, f[c + 40 >> 2], 1, h + (o << 2) | 0);
12511                    f[b + 44 >> 2] = 12;
12512                    j = 1;
12513                    if (d) {
12514                      break b;
12515                    }
12516                    pe(f[b + 36 >> 2], f[a + 12 >> 2], f[a + 16 >> 2], f[c + 28 >> 2], e, i, f[c + 44 >> 2], 1, h + (p << 2) | 0);
12517                    f[b + 48 >> 2] = 13;
12518                    break c;
12519                  }
12520                  e = i + -7 >>> 0 > 3;
12521                }
12522                h = f[a + 100 >> 2];
12523                k = f[a + 12 >> 2];
12524                m = f[a + 16 >> 2];
12525                c = f[a + 96 >> 2];
12526                o = l(c, 6);
12527                i = (e ? o : c << 3) << 2;
12528                n = g;
12529                p = l(c, 3);
12530                q = c << 2;
12531                g = i + (e ? p : q) | 0;
12532                d = ze(1, 0, g + (e ? 283 : 367) | 0);
12533                f[n >> 2] = d;
12534                if (!d) {
12535                  break b;
12536                }
12537                j = 1;
12538                g = (d + g | 0) + 31 & -32;
12539                f[b + 24 >> 2] = g;
12540                f[b + 32 >> 2] = g + 168;
12541                f[b + 28 >> 2] = g + 84;
12542                f[b + 36 >> 2] = e ? 0 : g + 252 | 0;
12543                n = g;
12544                g = d + i | 0;
12545                pe(n, f[a + 12 >> 2], f[a + 16 >> 2], g, c, h, 0, 1, d);
12546                i = k + 1 >> 1;
12547                k = m + 1 >> 1;
12548                m = c << 1;
12549                pe(f[b + 28 >> 2], i, k, c + g | 0, c, h, 0, 1, d + (m << 2) | 0);
12550                pe(f[b + 32 >> 2], i, k, g + m | 0, c, h, 0, 1, d + (q << 2) | 0);
12551                f[b + 44 >> 2] = 14;
12552                Kd();
12553                if (e) {
12554                  break b;
12555                }
12556                pe(f[b + 36 >> 2], f[a + 12 >> 2], f[a + 16 >> 2], g + p | 0, c, h, 0, 1, d + (o << 2) | 0);
12557                f[b + 48 >> 2] = 15;
12558                a = 16;
12559                j: {
12560                  switch (f[f[b >> 2] >> 2] + -5 | 0) {
12561                    default:
12562                      a = 17;
12563                      break;
12564                    case 0:
12565                    case 5:
12566                      break j;
12567                  }
12568                }
12569                f[b + 52 >> 2] = a;
12570              }
12571              rb();
12572            }
12573            return j | 0;
12574          }
12575          function oe(a, b, c, f, i) {
12576            var j = 0,
12577              k = 0,
12578              m = 0,
12579              n = 0,
12580              o = 0,
12581              p = 0,
12582              q = 0,
12583              r = 0,
12584              s = 0,
12585              t = 0,
12586              u = 0,
12587              v = 0,
12588              w = 0,
12589              x = 0,
12590              y = 0,
12591              z = 0,
12592              A = 0,
12593              B = 0,
12594              C = 0,
12595              D = 0,
12596              E = 0,
12597              F = 0,
12598              G = 0,
12599              H = 0,
12600              I = 0;
12601            B = L - 256 | 0;
12602            L = B;
12603            j = (i | 0) / 25 | 0;
12604            a: {
12605              if (!a | i >>> 0 > 100 | ((b | 0) < 1 | (c | 0) < 1)) {
12606                break a;
12607              }
12608              k = 1;
12609              E = c + -1 | 0;
12610              t = b + -1 | 0;
12611              i = (j << 1 | 1) > (b | 0) ? t >> 1 : j;
12612              p = (i << 1 | 1) > (c | 0) ? E >> 1 : i;
12613              if ((p | 0) < 1) {
12614                break a;
12615              }
12616              k = 0;
12617              o = b << 1;
12618              j = p << 1;
12619              i = l(o, j + 2 | 0);
12620              y = ze(1, 0, (i + o | 0) + 4094 | 0);
12621              if (!y) {
12622                break a;
12623              }
12624              w = 0 - p | 0;
12625              j = j | 1;
12626              r = (l(j, b) << 1) + y | 0;
12627              n = r - o | 0;
12628              $e(n, 0, o);
12629              u = $e(B, 0, 256);
12630              A = i + y | 0;
12631              z = l(j, j);
12632              C = 255;
12633              q = 255;
12634              j = a;
12635              while (1) {
12636                k = 0;
12637                while (1) {
12638                  i = g[k + j | 0];
12639                  d[i + u | 0] = 1;
12640                  s = (m | 0) < (i | 0);
12641                  m = s ? i : m;
12642                  F = s ? i : F;
12643                  s = (q | 0) > (i | 0);
12644                  q = s ? i : q;
12645                  C = s ? i : C;
12646                  k = k + 1 | 0;
12647                  if ((k | 0) != (b | 0)) {
12648                    continue;
12649                  }
12650                  break;
12651                }
12652                j = f + j | 0;
12653                v = v + 1 | 0;
12654                if ((v | 0) != (c | 0)) {
12655                  continue;
12656                }
12657                break;
12658              }
12659              m = m - q | 0;
12660              s = 262144 / (z >>> 0) | 0;
12661              j = o + A | 0;
12662              k = -1;
12663              q = 0;
12664              i = 0;
12665              while (1) {
12666                if (g[i + u | 0]) {
12667                  q = q + 1 | 0;
12668                  if ((k | 0) >= 0) {
12669                    k = i - k | 0;
12670                    m = (k | 0) < (m | 0) ? k : m;
12671                  }
12672                  k = i;
12673                }
12674                i = i + 1 | 0;
12675                if ((i | 0) != 256) {
12676                  continue;
12677                }
12678                break;
12679              }
12680              k = m << 2;
12681              u = l(m, 12) >> 2;
12682              m = k - u | 0;
12683              z = j + 2046 | 0;
12684              i = 1;
12685              while (1) {
12686                v = i << 1;
12687                x = v + z | 0;
12688                j = i;
12689                b: {
12690                  if ((i | 0) <= (u | 0)) {
12691                    break b;
12692                  }
12693                  j = 0;
12694                  if ((k | 0) <= (i | 0)) {
12695                    break b;
12696                  }
12697                  j = (l(u, k - i | 0) | 0) / (m | 0) | 0;
12698                }
12699                j = j >>> 2 | 0;
12700                e[x >> 1] = j;
12701                e[z - v >> 1] = 0 - j;
12702                i = i + 1 | 0;
12703                if ((i | 0) != 1024) {
12704                  continue;
12705                }
12706                break;
12707              }
12708              e[z >> 1] = 0;
12709              if (!((q | 0) < 3 | (w | 0) >= (c | 0))) {
12710                v = p ^ -1;
12711                q = b - p | 0;
12712                u = p + 1 | 0;
12713                G = p + -1 | 0;
12714                H = (o - p | 0) + -2 | 0;
12715                I = (t << 1) + r | 0;
12716                k = y;
12717                j = a;
12718                while (1) {
12719                  m = 0;
12720                  i = 0;
12721                  x = (b | 0) < 1;
12722                  if (!x) {
12723                    while (1) {
12724                      m = g[i + j | 0] + (m & 65535) | 0;
12725                      o = i << 1;
12726                      t = m + h[o + n >> 1] | 0;
12727                      D = o + r | 0;
12728                      o = k + o | 0;
12729                      e[D >> 1] = t - h[o >> 1];
12730                      e[o >> 1] = t;
12731                      i = i + 1 | 0;
12732                      if ((i | 0) != (b | 0)) {
12733                        continue;
12734                      }
12735                      break;
12736                    }
12737                  }
12738                  m = (w | 0) < (E | 0) ? f + j | 0 : j;
12739                  o = (w | 0) > -1;
12740                  t = (b << 1) + k | 0;
12741                  D = (t | 0) == (r | 0);
12742                  if ((w | 0) >= (p | 0)) {
12743                    i = 0;
12744                    if ((p | 0) > -1) {
12745                      while (1) {
12746                        e[(i << 1) + A >> 1] = l(s, h[(p - i << 1) + r >> 1] + h[(i + G << 1) + r >> 1] & 65535) >>> 16;
12747                        n = (i | 0) == (p | 0);
12748                        i = i + 1 | 0;
12749                        if (!n) {
12750                          continue;
12751                        }
12752                        break;
12753                      }
12754                      i = u;
12755                    }
12756                    if ((i | 0) < (q | 0)) {
12757                      while (1) {
12758                        e[(i << 1) + A >> 1] = l(s, h[(i + p << 1) + r >> 1] - h[(i + v << 1) + r >> 1] & 65535) >>> 16;
12759                        i = i + 1 | 0;
12760                        if ((q | 0) != (i | 0)) {
12761                          continue;
12762                        }
12763                        break;
12764                      }
12765                      i = q;
12766                    }
12767                    if ((i | 0) < (b | 0)) {
12768                      while (1) {
12769                        e[(i << 1) + A >> 1] = l(s, ((h[I >> 1] << 1) - h[(H - i << 1) + r >> 1] | 0) - h[(i + v << 1) + r >> 1] & 65535) >>> 16;
12770                        i = i + 1 | 0;
12771                        if ((i | 0) != (b | 0)) {
12772                          continue;
12773                        }
12774                        break;
12775                      }
12776                    }
12777                    i = 0;
12778                    if (!x) {
12779                      while (1) {
12780                        x = a + i | 0;
12781                        n = g[x | 0];
12782                        if (!((F | 0) <= (n | 0) | (C | 0) >= (n | 0))) {
12783                          n = n + e[(h[(i << 1) + A >> 1] - (n << 2) << 1) + z >> 1] | 0;
12784                          n = (n | 0) > 0 ? n : 0;
12785                          d[x | 0] = (n | 0) < 255 ? n : 255;
12786                        }
12787                        i = i + 1 | 0;
12788                        if ((i | 0) != (b | 0)) {
12789                          continue;
12790                        }
12791                        break;
12792                      }
12793                    }
12794                    a = a + f | 0;
12795                  }
12796                  j = o ? m : j;
12797                  n = k;
12798                  k = D ? y : t;
12799                  w = w + 1 | 0;
12800                  if ((w | 0) != (c | 0)) {
12801                    continue;
12802                  }
12803                  break;
12804                }
12805              }
12806              Xe(y);
12807              k = 1;
12808            }
12809            L = B + 256 | 0;
12810            return k;
12811          }
12812          function ab(a, b, c, d, h, j) {
12813            a = a | 0;
12814            b = b | 0;
12815            c = c | 0;
12816            d = d | 0;
12817            h = h | 0;
12818            j = j | 0;
12819            var k = 0,
12820              m = 0,
12821              n = 0,
12822              p = 0,
12823              q = 0,
12824              r = 0,
12825              s = 0,
12826              t = 0,
12827              u = 0,
12828              v = 0;
12829            a: {
12830              if ((h | 0) <= 15) {
12831                t = f[(h << 2) + b >> 2] + l(c, 11) | 0;
12832                c = f[a + 8 >> 2];
12833                n = f[a + 4 >> 2];
12834                while (1) {
12835                  k = g[t | 0];
12836                  b: {
12837                    if ((c | 0) > -1) {
12838                      break b;
12839                    }
12840                    r = f[a + 12 >> 2];
12841                    if (r >>
12841> 0 < i[a + 20 >> 2]) {
12842                      m = g[r | 0] | g[r + 1 | 0] << 8 | (g[r + 2 | 0] << 16 | g[r + 3 | 0] << 24);
12843                      f[a + 12 >> 2] = r + 3;
12844                      c = c + 24 | 0;
12845                      f[a + 8 >> 2] = c;
12846                      f[a >> 2] = f[a >> 2] << 24 | (m >>> 8 & 65280 | (m << 8 & 16711680 | m << 24)) >>> 8;
12847                      break b;
12848                    }
12849                    ce(a);
12850                    c = f[a + 8 >> 2];
12851                  }
12852                  s = a;
12853                  m = c;
12854                  p = f[a >> 2];
12855                  q = p >>> c | 0;
12856                  k = l(k, n) >>> 8 | 0;
12857                  c: {
12858                    if (q >>> 0 > k >>> 0) {
12859                      p = ((k ^ -1) << c) + p | 0;
12860                      f[a >> 2] = p;
12861                      n = n - k | 0;
12862                      break c;
12863                    }
12864                    n = k + 1 | 0;
12865                  }
12866                  r = o(n) ^ 24;
12867                  c = m - r | 0;
12868                  f[s + 8 >> 2] = c;
12869                  n = (n << r) + -1 | 0;
12870                  f[a + 4 >> 2] = n;
12871                  r = h;
12872                  s = h;
12873                  if (q >>> 0 <= k >>> 0) {
12874                    break a;
12875                  }
12876                  while (1) {
12877                    k = g[t + 1 | 0];
12878                    d: {
12879                      if ((c | 0) > -1) {
12880                        break d;
12881                      }
12882                      h = f[a + 12 >> 2];
12883                      if (h >>> 0 < i[a + 20 >> 2]) {
12884                        m = g[h | 0] | g[h + 1 | 0] << 8 | (g[h + 2 | 0] << 16 | g[h + 3 | 0] << 24);
12885                        c = c + 24 | 0;
12886                        f[a + 8 >> 2] = c;
12887                        f[a + 12 >> 2] = h + 3;
12888                        p = p << 24 | (m >>> 8 & 65280 | (m << 8 & 16711680 | m << 24)) >>> 8;
12889                        f[a >> 2] = p;
12890                        break d;
12891                      }
12892                      ce(a);
12893                      p = f[a >> 2];
12894                      c = f[a + 8 >> 2];
12895                    }
12896                    s = a;
12897                    m = c;
12898                    q = p >>> c | 0;
12899                    k = l(k, n) >>> 8 | 0;
12900                    e: {
12901                      if (q >>> 0 > k >>> 0) {
12902                        p = ((k ^ -1) << c) + p | 0;
12903                        f[a >> 2] = p;
12904                        n = n - k | 0;
12905                        break e;
12906                      }
12907                      n = k + 1 | 0;
12908                    }
12909                    h = o(n) ^ 24;
12910                    c = m - h | 0;
12911                    f[s + 8 >> 2] = c;
12912                    n = (n << h) + -1 | 0;
12913                    f[a + 4 >> 2] = n;
12914                    h = r + 1 | 0;
12915                    if (q >>> 0 <= k >>> 0) {
12916                      s = 16;
12917                      if ((h | 0) == 16) {
12918                        break a;
12919                      }
12920                      t = f[(h << 2) + b >> 2];
12921                      r = h;
12922                      continue;
12923                    }
12924                    break;
12925                  }
12926                  u = f[(h << 2) + b >> 2];
12927                  q = g[t + 2 | 0];
12928                  f: {
12929                    if ((c | 0) > -1) {
12930                      break f;
12931                    }
12932                    m = f[a + 12 >> 2];
12933                    if (m >>> 0 < i[a + 20 >> 2]) {
12934                      k = g[m | 0] | g[m + 1 | 0] << 8 | (g[m + 2 | 0] << 16 | g[m + 3 | 0] << 24);
12935                      c = c + 24 | 0;
12936                      f[a + 8 >> 2] = c;
12937                      f[a + 12 >> 2] = m + 3;
12938                      p = p << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
12939                      f[a >> 2] = p;
12940                      break f;
12941                    }
12942                    ce(a);
12943                    p = f[a >> 2];
12944                    c = f[a + 8 >> 2];
12945                  }
12946                  s = a;
12947                  m = c;
12948                  v = p >>> c | 0;
12949                  q = l(n, q) >>> 8 | 0;
12950                  g: {
12951                    if (v >>> 0 > q >>> 0) {
12952                      f[a >> 2] = ((q ^ -1) << c) + p;
12953                      c = n - q | 0;
12954                      break g;
12955                    }
12956                    c = q + 1 | 0;
12957                  }
12958                  k = o(c) ^ 24;
12959                  m = m - k | 0;
12960                  f[s + 8 >> 2] = m;
12961                  f[a + 4 >> 2] = (c << k) + -1;
12962                  h: {
12963                    if (v >>> 0 <= q >>> 0) {
12964                      p = 1;
12965                      t = u + 11 | 0;
12966                      break h;
12967                    }
12968                    p = hb(a, t);
12969                    m = f[a + 8 >> 2];
12970                    t = u + 22 | 0;
12971                  }
12972                  i: {
12973                    if ((m | 0) > -1) {
12974                      break i;
12975                    }
12976                    c = f[a + 12 >> 2];
12977                    if (c >>> 0 < i[a + 20 >> 2]) {
12978                      k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
12979                      f[a + 12 >> 2] = c + 3;
12980                      m = m + 24 | 0;
12981                      f[a + 8 >> 2] = m;
12982                      f[a >> 2] = f[a >> 2] << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
12983                      break i;
12984                    }
12985                    ce(a);
12986                    m = f[a + 8 >> 2];
12987                  }
12988                  c = m + -1 | 0;
12989                  f[a + 8 >> 2] = c;
12990                  n = f[a + 4 >> 2];
12991                  q = n >>> 1 | 0;
12992                  u = f[a >> 2];
12993                  k = q - (u >>> m | 0) >> 31;
12994                  n = k + n | 1;
12995                  f[a + 4 >> 2] = n;
12996                  f[a >> 2] = u - ((k & q + 1) << m);
12997                  e[(g[r + 5328 | 0] << 1) + j >> 1] = l(f[(((r | 0) > 0) << 2) + d >> 2], (k ^ p) - k | 0);
12998                  if ((r | 0) < 15) {
12999                    continue;
13000                  }
13001                  break;
13002                }
13003              }
13004              s = 16;
13005            }
13006            return s | 0;
13007          }
13008          function $a(a, b, c, d, h, j) {
13009            a = a | 0;
13010            b = b | 0;
13011            c = c | 0;
13012            d = d | 0;
13013            h = h | 0;
13014            j = j | 0;
13015            var k = 0,
13016              m = 0,
13017              n = 0,
13018              o = 0,
13019              p = 0,
13020              q = 0,
13021              r = 0,
13022              s = 0,
13023              t = 0;
13024            a: {
13025              if ((h | 0) <= 15) {
13026                s = f[(h << 2) + b >> 2] + l(c, 11) | 0;
13027                m = f[a + 8 >> 2];
13028                k = f[a + 4 >> 2];
13029                while (1) {
13030                  o = g[s | 0];
13031                  b: {
13032                    if ((m | 0) > -1) {
13033                      break b;
13034                    }
13035                    c = f[a + 12 >> 2];
13036                    if (c >>> 0 < i[a + 20 >> 2]) {
13037                      q = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
13038                      f[a + 12 >> 2] = c + 3;
13039                      m = m + 24 | 0;
13040                      f[a + 8 >> 2] = m;
13041                      f[a >> 2] = f[a >> 2] << 24 | (q >>> 8 & 65280 | (q << 8 & 16711680 | q << 24)) >>> 8;
13042                      break b;
13043                    }
13044                    ce(a);
13045                    m = f[a + 8 >> 2];
13046                  }
13047                  n = f[a >> 2];
13048                  c = l(k, o) >>> 8 | 0;
13049                  o = n >>> m >>> 0 <= c >>> 0;
13050                  if (!o) {
13051                    c = c + 1 | 0;
13052                    n = n - (c << m) | 0;
13053                    f[a >> 2] = n;
13054                    c = k - c | 0;
13055                  }
13056                  if (c >>> 0 <= 126) {
13057                    m = m - g[c + 9056 | 0] | 0;
13058                    f[a + 8 >> 2] = m;
13059                    c = g[c + 9184 | 0];
13060                  }
13061                  f[a + 4 >> 2] = c;
13062                  q = h;
13063                  k = h;
13064                  if (o) {
13065                    break a;
13066                  }
13067                  while (1) {
13068                    o = g[s + 1 | 0];
13069                    c: {
13070                      if ((m | 0) > -1) {
13071                        break c;
13072                      }
13073                      h = f[a + 12 >> 2];
13074                      if (h >>> 0 < i[a + 20 >> 2]) {
13075                        k = g[h | 0] | g[h + 1 | 0] << 8 | (g[h + 2 | 0] << 16 | g[h + 3 | 0] << 24);
13076                        m = m + 24 | 0;
13077                        f[a + 8 >> 2] = m;
13078                        f[a + 12 >> 2] = h + 3;
13079                        n = n << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
13080                        f[a >> 2] = n;
13081                        break c;
13082                      }
13083                      ce(a);
13084                      n = f[a >> 2];
13085                      m = f[a + 8 >> 2];
13086                    }
13087                    p = n >>> m | 0;
13088                    k = l(c, o) >>> 8 | 0;
13089                    d: {
13090                      if (p >>> 0 <= k >>> 0) {
13091                        c = k;
13092                        break d;
13093                      }
13094                      h = k + 1 | 0;
13095                      n = n - (h << m) | 0;
13096                      f[a >> 2] = n;
13097                      c = c - h | 0;
13098                    }
13099                    if (c >>> 0 <= 126) {
13100                      m = m - g[c + 9056 | 0] | 0;
13101                      f[a + 8 >> 2] = m;
13102                      c = g[c + 9184 | 0];
13103                    }
13104                    f[a + 4 >> 2] = c;
13105                    h = q + 1 | 0;
13106                    o = f[(h << 2) + b >> 2];
13107                    if (p >>> 0 <= k >>> 0) {
13108                      k = 16;
13109                      q = h;
13110                      s = o;
13111                      if ((h | 0) != 16) {
13112                        continue;
13113                      }
13114                      break a;
13115                    }
13116                    break;
13117                  }
13118                  r = g[s + 2 | 0];
13119                  e: {
13120                    if ((m | 0) > -1) {
13121                      break e;
13122                    }
13123                    k = f[a + 12 >> 2];
13124                    if (k >>> 0 < i[a + 20 >> 2]) {
13125                      p = g[k | 0] | g[k + 1 | 0] << 8 | (g[k + 2 | 0] << 16 | g[k + 3 | 0] << 24);
13126                      m = m + 24 | 0;
13127                      f[a + 8 >> 2] = m;
13128                      f[a + 12 >> 2] = k + 3;
13129                      n = n << 24 | (p >>> 8 & 65280 | (p << 8 & 16711680 | p << 24)) >>> 8;
13130                      f[a >> 2] = n;
13131                      break e;
13132                    }
13133                    ce(a);
13134                    n = f[a >> 2];
13135                    m = f[a + 8 >> 2];
13136                  }
13137                  p = a;
13138                  t = n >>> m | 0;
13139                  r = l(c, r) >>> 8 | 0;
13140                  k = r;
13141                  if (t >>> 0 > k >>> 0) {
13142                    k = r + 1 | 0;
13143                    f[a >> 2] = n - (k << m);
13144                    k = c - k | 0;
13145                  }
13146                  if (k >>> 0 <= 126) {
13147                    m = m - g[k + 9056 | 0] | 0;
13148                    f[a + 8 >> 2] = m;
13149                    k = g[k + 9184 | 0];
13150                  }
13151                  f[p + 4 >> 2] = k;
13152                  f: {
13153                    if (t >>> 0 <= r >>> 0) {
13154                      p = 1;
13155                      s = o + 11 | 0;
13156                      break f;
13157                    }
13158                    p = hb(a, s);
13159                    m = f[a + 8 >> 2];
13160                    s = o + 22 | 0;
13161                  }
13162                  g: {
13163                    if ((m | 0) > -1) {
13164                      c = m;
13165                      break g;
13166                    }
13167                    c = f[a + 12 >> 2];
13168                    if (c >>> 0 < i[a + 20 >> 2]) {
13169                      k = g[c | 0] | g[c + 1 | 0] << 8 | (g[c + 2 | 0] << 16 | g[c + 3 | 0] << 24);
13170                      f[a + 12 >> 2] = c + 3;
13171                      c = m + 24 | 0;
13172                      f[a + 8 >> 2] = c;
13173                      f[a >> 2] = f[a >> 2] << 24 | (k >>> 8 & 65280 | (k << 8 & 16711680 | k << 24)) >>> 8;
13174                      break g;
13175                    }
13176                    ce(a);
13177                    c = f[a + 8 >> 2];
13178                  }
13179                  m = c + -1 | 0;
13180                  f[a + 8 >> 2] = m;
13181                  k = f[a + 4 >> 2];
13182                  n = k >>> 1 | 0;
13183                  r = f[a >> 2];
13184                  o = n - (r >>> c | 0) >> 31;
13185                  k = k + o | 1;
13186                  f[a + 4 >> 2] = k;
13187                  f[a >> 2] = r - ((o & n + 1) << c);
13188                  e[(g[q + 5328 | 0] << 1) + j >> 1] = l(f[(((q | 0) > 0) << 2) + d >> 2], (o ^ p) - o | 0);
13189                  if ((q | 0) < 15) {
13190                    continue;
13191                  }
13192                  break;
13193                }
13194              }
13195              k = 16;
13196            }
13197            return k | 0;
13198          }
13199          function Oa(a, b, d, e) {
13200            var h = 0,
13201              i = 0,
13202              j = 0,
13203              k = 0,
13204              m = 0,
13205              n = 0,
13206              o = 0,
13207              p = 0;
13208            a: {
13209              if ((d | 0) < 0 | (e | 0) < 1) {
13210                break a;
13211              }
13212              m = f[b + 88 >> 2];
13213              if ((d + e | 0) > (m | 0)) {
13214                break a;
13215              }
13216              o = f[b >> 2];
13217              b: {
13218                c: {
13219                  if (f[a + 2356 >> 2]) {
13220                    break c;
13221                  }
13222                  i = f[a + 2344 >> 2];
13223                  d: {
13224                    if (i) {
13225                      break d;
13226                    }
13227                    h = Ae(1, 0, 144);
13228                    f[a + 2344 >> 2] = h;
13229                    if (!h) {
13230                      break a;
13231                    }
13232                    h = f[b + 88 >> 2];
13233                    j = h;
13234                    i = h >> 31;
13235                    h = f[b >> 2];
13236                    i = ze(xf(j, i, h, h >> 31), N, 1);
13237                    f[a + 2360 >> 2] = i;
13238                    if (!i) {
13239                      break b;
13240                    }
13241                    f[a + 2368 >> 2] = 0;
13242                    f[a + 2364 >> 2] = i;
13243                    j = f[a + 2348 >> 2];
13244                    k = f[a + 2352 >> 2];
13245                    h = f[a + 2344 >> 2];
13246                    uc();
13247                    f[h + 136 >> 2] = i;
13248                    f[h >> 2] = f[b >> 2];
13249                    f[h + 4 >> 2] = f[b + 4 >> 2];
13250                    if (k >>> 0 < 2) {
13251                      break b;
13252                    }
13253                    i = g[j | 0] & 3;
13254                    f[h + 8 >> 2] = i;
13255                    f[h + 12 >> 2] = g[j | 0] >>> 2 & 3;
13256                    n = g[j | 0] >>> 4 & 3;
13257                    f[h + 16 >> 2] = n;
13258                    if (i >>> 0 > 1 | n >>> 0 > 1 | g[j | 0] > 63) {
13259                      break b;
13260                    }
13261                    i = k + -1 | 0;
13262                    k = h + 24 | 0;
13263                    Za(k);
13264                    xa(0, k);
13265                    f[h - -64 >> 2] = h;
13266                    f[h + 24 >> 2] = f[b >> 2];
13267                    f[h + 28 >> 2] = f[b + 4 >> 2];
13268                    f[h + 96 >> 2] = f[b + 72 >> 2];
13269                    f[h + 100 >> 2] = f[b + 76 >> 2];
13270                    f[h + 104 >> 2] = f[b + 80 >> 2];
13271                    f[h + 108 >> 2] = f[b + 84 >> 2];
13272                    f[h + 112 >> 2] = f[b + 88 >> 2];
13273                    if (f[h + 8 >> 2]) {
13274                      h = na(h, j + 1 | 0, i);
13275                    } else {
13276                      h = i >>> 0 >= l(f[h + 4 >> 2], f[h >> 2]) >>> 0;
13277                    }
13278                    if (!h) {
13279                      break b;
13280                    }
13281                    i = f[a + 2344 >> 2];
13282                    if (f[i + 16 >> 2] != 1) {
13283                      f[a + 2372 >> 2] = 0;
13284                      break d;
13285                    }
13286                    e = m - d | 0;
13287                  }
13288                  p = f[i + 112 >> 2];
13289                  e: {
13290                    if (!f[i + 8 >> 2]) {
13291                      k = f[i >> 2];
13292                      j = l(k, d);
13293                      h = j + f[a + 2364 
13293>> 2] | 0;
13294                      m = (j + f[a + 2348 >> 2] | 0) + 1 | 0;
13295                      j = f[a + 2368 >> 2];
13296                      f: {
13297                        g: {
13298                          n = f[i + 12 >> 2];
13299                          if (n) {
13300                            if ((e | 0) < 1) {
13301                              break f;
13302                            }
13303                            c[f[(n << 2) + 10912 >> 2]](j, m, h, k);
13304                            n = 1;
13305                            if ((e | 0) != 1) {
13306                              break g;
13307                            }
13308                            j = h;
13309                            break f;
13310                          }
13311                          i = 0;
13312                          if ((e | 0) <= 0) {
13313                            break f;
13314                          }
13315                          while (1) {
13316                            j = h;
13317                            h = _e(h, m, k);
13318                            m = k + m | 0;
13319                            h = h + k | 0;
13320                            i = i + 1 | 0;
13321                            if ((i | 0) != (e | 0)) {
13322                              continue;
13323                            }
13324                            break;
13325                          }
13326                          break f;
13327                        }
13328                        while (1) {
13329                          m = k + m | 0;
13330                          j = h + k | 0;
13331                          c[f[(f[i + 12 >> 2] << 2) + 10912 >> 2]](h, m, j, k);
13332                          h = j;
13333                          n = n + 1 | 0;
13334                          if ((n | 0) != (e | 0)) {
13335                            continue;
13336                          }
13337                          break;
13338                        }
13339                      }
13340                      f[a + 2368 >> 2] = j;
13341                      e = d + e | 0;
13342                      break e;
13343                    }
13344                    e = d + e | 0;
13345                    if (!ra(i, e)) {
13346                      break b;
13347                    }
13348                  }
13349                  h: {
13350                    if ((e | 0) >= (p | 0)) {
13351                      f[a + 2356 >> 2] = 1;
13352                      break h;
13353                    }
13354                    if (!f[a + 2356 >> 2]) {
13355                      break c;
13356                    }
13357                  }
13358                  e = f[a + 2344 >> 2];
13359                  if (e) {
13360                    ma(f[e + 20 >> 2]);
13361                    f[e + 20 >> 2] = 0;
13362                    Xe(e);
13363                  }
13364                  f[a + 2344 >> 2] = 0;
13365                  e = f[a + 2372 >> 2];
13366                  if ((e | 0) < 1) {
13367                    break c;
13368                  }
13369                  j = f[b + 76 >> 2];
13370                  h = f[b + 84 >> 2];
13371                  if (!oe(j + (f[a + 2364 >> 2] + l(h, o) | 0) | 0, f[b + 80 >> 2] - j | 0, f[b + 88 >> 2] - h | 0, o, e)) {
13372                    break b;
13373                  }
13374                }
13375                return f[a + 2364 >> 2] + l(d, o) | 0;
13376              }
13377              Xe(f[a + 2360 >> 2]);
13378              f[a + 2360 >> 2] = 0;
13379              f[a + 2364 >> 2] = 0;
13380              b = f[a + 2344 >> 2];
13381              if (b) {
13382                ma(f[b + 20 >> 2]);
13383                f[b + 20 >> 2] = 0;
13384                Xe(b);
13385              }
13386              f[a + 2344 >> 2] = 0;
13387            }
13388            return 0;
13389          }
13390          function Ya(a, b) {
13391            var e = 0,
13392              j = 0,
13393              k = 0,
13394              m = 0,
13395              n = 0,
13396              o = 0,
13397              p = 0,
13398              q = 0,
13399              r = 0,
13400              s = 0,
13401              t = 0,
13402              u = 0,
13403              v = 0,
13404              w = 0,
13405              x = 0,
13406              y = 0,
13407              z = 0,
13408              A = 0;
13409            f[a + 152 >> 2] = 0;
13410            p = 1;
13411            a: {
13412              b: {
13413                if (f[a + 148 >> 2] >= 1) {
13414                  if (!(c[f[2558]](a + 124 | 0) | 0)) {
13415                    break b;
13416                  }
13417                  f[a + 140 >> 2] = a + 180;
13418                  f[a + 136 >> 2] = a;
13419                  f[a + 132 >> 2] = 18;
13420                  p = f[a + 2308 >> 2] > 0 ? 3 : 2;
13421                }
13422                f[a + 156 >> 2] = p;
13423                break a;
13424              }
13425              if (!cb(a, 1, 4941)) {
13426                return 0;
13427              }
13428              p = f[a + 156 >> 2];
13429            }
13430            n = f[a + 288 >> 2];
13431            r = n << 2;
13432            e = f[a + 148 >> 2];
13433            q = f[a + 2308 >> 2];
13434            t = (q | 0) > 0 ? l(r, (e | 0) < 1 ? 1 : 2) : 0;
13435            u = n << 5;
13436            w = p << 4;
13437            x = l(u, (l(w + g[q + 4863 | 0] | 0, 3) | 0) / 2 | 0);
13438            v = (n << 1) + 2 | 0;
13439            y = l(l(n, (e | 0) == 2 ? 2 : 1), 800);
13440            m = 0;
13441            c: {
13442              if (!f[a + 2348 >> 2]) {
13443                break c;
13444              }
13445              z = xf(h[a + 50 >> 1], 0, h[a + 48 >> 1], 0);
13446              m = N;
13447            }
13448            A = m;
13449            e = 0;
13450            j = r;
13451            k = j + u | 0;
13452            if (k >>> 0 < j >>> 0) {
13453              e = 1;
13454            }
13455            j = k;
13456            k = j + v | 0;
13457            if (k >>> 0 < j >>> 0) {
13458              e = e + 1 | 0;
13459            }
13460            j = k;
13461            k = j + t | 0;
13462            if (k >>> 0 < j >>> 0) {
13463              e = e + 1 | 0;
13464            }
13465            j = k;
13466            k = j + y | 0;
13467            if (k >>> 0 < j >>> 0) {
13468              e = e + 1 | 0;
13469            }
13470            j = k;
13471            k = j + x | 0;
13472            if (k >>> 0 < j >>> 0) {
13473              e = e + 1 | 0;
13474            }
13475            j = k;
13476            k = j + z | 0;
13477            e = e + m | 0;
13478            m = k;
13479            e = k >>> 0 < j >>> 0 ? e + 1 | 0 : e;
13480            j = e;
13481            k = k + 832 | 0;
13482            if (k >>> 0 < 832) {
13483              e = e + 1 | 0;
13484            }
13485            d: {
13486              if (!e & k >>> 0 > 4294967264 | e >>> 0 > 0) {
13487                break d;
13488              }
13489              o = f[a + 2288 >> 2];
13490              e: {
13491                f: {
13492                  e = j;
13493                  j = m + 863 | 0;
13494                  if (j >>> 0 < 863) {
13495                    e = e + 1 | 0;
13496                  }
13497                  m = j;
13498                  k = j;
13499                  j = e;
13500                  if (!e & k >>> 0 > i[a + 2292 >> 2] | e >>> 0 > 0) {
13501                    Xe(o);
13502                    f[a + 2292 >> 2] = 0;
13503                    o = ze(m, j, 1);
13504                    f[a + 2288 >> 2] = o;
13505                    if (!o) {
13506                      break f;
13507                    }
13508                    f[a + 2292 >> 2] = m;
13509                    q = f[a + 2308 >> 2];
13510                  }
13511                  f[a + 2244 >> 2] = o;
13512                  f[a + 160 >> 2] = 0;
13513                  e = o + r | 0;
13514                  f[a + 2252 >> 2] = e;
13515                  e = e + u | 0;
13516                  s = e + 2 | 0;
13517                  f[a + 2256 >> 2] = s;
13518                  e = e + v | 0;
13519                  k = t ? e : 0;
13520                  f[a + 2260 >> 2] = k;
13521                  f[a + 172 >> 2] = k;
13522                  e = e + t | 0;
13523                  j = f[a + 148 >> 2];
13524                  if (!((q | 0) < 1 | (j | 0) < 1)) {
13525                    f[a + 172 >> 2] = k + (n << 2);
13526                  }
13527                  e = e + 31 & -32;
13528                  f[a + 2264 >> 2] = e;
13529                  e = e + 832 | 0;
13530                  f[a + 2304 >> 2] = e;
13531                  f[a + 176 >> 2] = e;
13532                  if ((j | 0) == 2) {
13533                    f[a + 176 >> 2] = e + l(n, 800);
13534                  }
13535                  f[a + 152 >> 2] = 0;
13536                  m = n << 3;
13537                  f[a + 2284 >> 2] = m;
13538                  k = n << 4;
13539                  f[a + 2280 >> 2] = k;
13540                  e = e + y | 0;
13541                  f[a + 2364 >> 2] = z | A ? e + x | 0 : 0;
13542                  j = g[q + 4863 | 0];
13543                  e = e + l(j, k) | 0;
13544                  f[a + 2268 >> 2] = e;
13545                  j = l(m, j >>> 1 | 0);
13546                  e = j + (e + l(k, w) | 0) | 0;
13547                  f[a + 2272 >> 2] = e;
13548                  f[a + 2276 >> 2] = j + (e + (l(m, p) << 3) | 0);
13549                  $e(s + -2 | 0, 0, v);
13550                  e = f[a + 2256 >> 2] + -2 | 0;
13551                  d[e | 0] = 0;
13552                  d[e + 1 | 0] = 0;
13553                  f[a + 2296 >> 2] = 0;
13554                  f[a + 2248 >> 2] = 0;
13555                  $e(f[a + 2244 >> 2], 0, r);
13556                  break e;
13557                }
13558                if (!cb(a, 1, 4971)) {
13559                  break d;
13560                }
13561              }
13562              f[b + 8 >> 2] = 0;
13563              f[b + 20 >> 2] = f[a + 2268 >> 2];
13564              f[b + 24 >> 2] = f[a + 2272 >> 2];
13565              f[b + 28 >> 2] = f[a + 2276 >> 2];
13566              f[b + 32 >> 2] = f[a + 2280 >> 2];
13567              a = f[a + 2284 >> 2];
13568              f[b + 104 >> 2] = 0;
13569              f[b + 36 >> 2] = a;
13570              Bb();
13571              s = 1;
13572            }
13573            return s;
13574          }
13575          function ea(a, b, c, d) {
13576            var e = 0,
13577              h = 0,
13578              j = 0,
13579              k = 0,
13580              m = 0,
13581              n = 0,
13582              o = 0,
13583              p = 0,
13584              q = 0,
13585              r = 0,
13586              s = 0,
13587              t = 0;
13588            m = L - 16 | 0;
13589            L = m;
13590            n = 2;
13591            a: {
13592              if (!d | ((b | 0) < 1 | (a | 0) < 1)) {
13593                break a;
13594              }
13595              b: {
13596                if (!c) {
13597                  break b;
13598                }
13599                c: {
13600                  if (!f[c + 8 >> 2]) {
13601                    e = b;
13602                    h = a;
13603                    break c;
13604                  }
13605                  e = f[c + 24 >> 2];
13606                  if ((e | 0) < 1) {
13607                    break a;
13608                  }
13609                  h = f[c + 20 >> 2];
13610                  if ((h | 0) < 1) {
13611                    break a;
13612                  }
13613                  j = f[c + 16 >> 2];
13614                  k = f[c + 12 >> 2];
13615                  if ((j | k) < 0 | ((k & -2) + h | 0) > (a | 0) | ((j & -2) + e | 0) > (b | 0)) {
13616                    break a;
13617                  }
13618                }
13619                if (!f[c + 28 >> 2]) {
13620                  b = e;
13621                  a = h;
13622                  break b;
13623                }
13624                f[m + 12 >> 2] = f[c + 32 >> 2];
13625                f[m + 8 >> 2] = f[c + 36 >> 2];
13626                if (!qe(h, e, m + 12 | 0, m + 8 | 0)) {
13627                  break a;
13628                }
13629                b = f[m + 8 >> 2];
13630                a = f[m + 12 >> 2];
13631              }
13632              f[d + 8 >> 2] = b;
13633              f[d + 4 >> 2] = a;
13634              if ((b | 0) < 1 | (a | 0) < 1) {
13635                break a;
13636              }
13637              k = f[d >> 2];
13638              if (k >>> 0 > 12) {
13639                break a;
13640              }
13641              d: {
13642                if (f[d + 80 >> 2] | f[d + 12 >> 2] > 0) {
13643                  break d;
13644                }
13645                h = a;
13646                e = g[k + 1157 | 0];
13647                xf(a, 0, e, 0);
13648                if (N) {
13649                  break a;
13650                }
13651                j = b;
13652                r = l(a, e);
13653                e = r;
13654                e = xf(b, 0, e, e >> 31);
13655                o = N;
13656                n = 1;
13657                e: {
13658                  if (k >>> 0 < 11) {
13659                    b = 0;
13660                    j = 0;
13661                    a = 0;
13662                    break e;
13663                  }
13664                  h = xf(h, 0, j, 0);
13665                  j = (k | 0) == 12;
13666                  t = j ? h : 0;
13667                  p = j ? N : 0;
13668                  s = (a + 1 | 0) / 2 | 0;
13669                  h = s;
13670                  b = (b + 1 | 0) / 2 | 0;
13671                  b = xf(h, h >> 31, b, b >> 31);
13672                  j = j ? a : 0;
13673                  a = N;
13674                }
13675                q = b;
13676                a = a << 1 | b >>> 31;
13677                p = p + o | 0;
13678                o = e + t | 0;
13679                if (o >>> 0 < e >>> 0) {
13680                  p = p + 1 | 0;
13681                }
13682                q = q << 1;
13683                h = q + o | 0;
13684                a = a + p | 0;
13685                a = ze(h, h >>> 0 < o >>> 0 ? a + 1 | 0 : a, 1);
13686                if (!a) {
13687                  break a;
13688                }
13689                f[d + 16 >> 2] = a;
13690                f[d + 80 >> 2] = a;
13691                if (k >>> 0 >= 11) {
13692                  f[d + 48 >> 2] = e;
13693                  f[d + 32 >> 2] = r;
13694                  f[d + 52 >> 2] = b;
13695                  f[d + 36 >> 2] = s;
13696                  f[d + 56 >> 2] = b;
13697                  f[d + 40 >> 2] = s;
13698                  a = a + e | 0;
13699                  f[d + 20 >> 2] = a;
13700                  f[d + 24 >> 2] = a + b;
13701                  if ((k | 0) == 12) {
13702                    f[d + 28 >> 2] = a + q;
13703                  }
13704                  f[d + 44 >> 2] = j;
13705                  f[d + 60 >> 2] = t;
13706                  break d;
13707                }
13708                f[d + 24 >> 2] = e;
13709                f[d + 20 >> 2] = r;
13710              }
13711              n = fa(d);
13712              if (n | !c) {
13713                break a;
13714              }
13715              if (!f[c + 48 >> 2]) {
13716                n = 0;
13717                break a;
13718              }
13719              a = f[d + 8 >> 2] + -1 | 0;
13720              if (i[d >> 2] <= 10) {
13721                n = 0;
13722                c = d + 20 | 0;
13723                b = f[c >> 2];
13724                f[c >> 2] = 0 - b;
13725                f[d + 16 >> 2] = f[d + 16 >> 2] + l(a, b);
13726                break a;
13727              }
13728              n = 0;
13729              c = d + 32 | 0;
13730              b = f[c >> 2];
13731              f[c >> 2] = 0 - b;
13732              e = d + 36 | 0;
13733              c = f[e >> 2];
13734              f[e >> 2] = 0 - c;
13735              h = d + 40 | 0;
13736              e = f[h >> 2];
13737              f[h >> 2] = 0 - e;
13738              f[d + 16 >> 2] = f[d + 16 >> 2] + l(a, b);
13739              b = d + 20 | 0;
13740              h = b;
13741              j = f[b >> 2];
13742              b = a >> 1;
13743              f[h >> 2] = j + l(b, c);
13744              c = d + 24 | 0;
13745              f[c >> 2] = f[c >> 2] + l(b, e);
13746              c = f[d + 28 >> 2];
13747              if (!c) {
13748                break a;
13749              }
13750              e = d + 44 | 0;
13751              b = f[e >> 2];
13752              f[e >> 2] = 0 - b;
13753              f[d + 28 >> 2] = c + l(a, b);
13754            }
13755            L = m + 16 | 0;
13756            return n;
13757          }
13758          function rc(a, b) {
13759            var c = 0,
13760              h = 0,
13761              i = 0,
13762              j = 0,
13763              k = 0,
13764              m = 0,
13765              n = 0,
13766              o = 0;
13767            k = L + -64 | 0;
13768            i = e[a + 16 >> 1];
13769            j = e[a >> 1];
13770            m = i + j | 0;
13771            c = e[a + 8 >> 1];
13772            h = e[a + 24 >> 1];
13773            n = ((l(c, 20091) >> 16) + c | 0) + (l(h, 35468) >> 16) | 0;
13774            f[k + 12 >> 2] = m - n;
13775            i = j - i | 0;
13776            c = ((l(c, 35468) >> 16) - h | 0) - (l(h, 20091) >> 16) | 0;
13777            f[k + 8 >> 2] = i - c;
13778            f[k + 4 >> 2] = c + i;
13779            f[k >> 2] = m + n;
13780            i = e[a + 18 >> 1];
13781            j = e[a + 2 >> 1];
13782            m = i + j | 0;
13783            c = e[a + 10 >> 1];
13784            h = e[a + 26 >> 1];
13785            n = ((l(c, 20091) >> 16) + c | 0) + (l(h, 35468) >> 16) | 0;
13786            f[k + 28 >> 2] = m - n;
13787            i = j - i | 0;
13788            c = ((l(c, 35468) >> 16) - h | 0) - (l(h, 20091) >> 16) | 0;
13789            f[k + 24 >> 2] = i - c;
13790            f[k + 20 >> 2] = c + i;
13791            c = m + n | 0;
13792            f[k + 16 >> 2] = c;
13793            j = e[a + 20 >> 1];
13794            m = e[a + 4 >> 1];
13795            n = j + m | 0;
13796            h = e[a + 12 >> 1];
13797            i = e[a + 28 >> 1];
13798            o = ((l(h, 20091) >> 16) + h | 0) + (l(i, 35468) >> 16) | 0;
13799            f[k + 44 >> 2] = n - o;
13800            j = m - j | 0;
13801            h = ((l(h, 35468) >> 16) - i | 0) - (l(i, 20091) >> 16) | 0;
13802            f[k + 40 >> 2] = j - h;
13803            f[k + 36 >> 2] = h + j;
13804            f[k + 32 >> 2] = n + o;
13805            i = e[a + 22 >> 1];
13806            j = e[a + 6 >> 1];
13807            m = i + j | 0;
13808            h = e[a + 14 >> 1];
13809            a = e[a + 30 >> 1];
13810            n = ((l(h, 20091) >> 16) + h | 0) + (l(a, 35468) >> 16) | 0;
13811            f[k + 60 >> 2] = m - n;
13812            i = j - i | 0;
13813            a = ((l(h, 35468) >> 16) - a | 0) - (l(a, 20091) >> 16) | 0;
13814            f[k + 56 >> 2] = i - a;
13815            f[k + 52 >> 2] = a + i;
13816            f[k + 48 >> 2] = m + n;
13817            a = k;
13818            k = 0;
13819            while (1) {
13820              h = f[a + 48 >> 2];
13821              i = ((l(c, 20091) >> 16) + c | 0) + (l(h, 35468) >> 16) | 0;
13822              j = f[a >> 2] + 4 | 0;
13823              m = f[a + 32 >> 2];
13824              n = j + m | 0;
13825              o = g[b | 0] + (i + n >> 3) | 0;
13826              o = (o | 0) > 0 ? o : 0;
13827              d[b | 0] = (o | 0) < 255 ? o : 255;
13828              c = ((l(c, 35468) >> 16) - h | 0) - (l(h, 20091) >> 16) | 0;
13829              h = j - m | 0;
13830              j = g[b + 1 | 0] + (c + h >> 3) | 0;
13831              j = (j | 0) > 0 ? j : 0;
13832              d[b + 1 | 0] = (j | 0) < 255 ? j : 255;
13833              c = g[b + 2 | 0] + (h - c >> 3) | 0;
13834              c = (c | 0) > 0 ? c : 0;
13835              d[b + 2 | 0] = (c | 0) < 255 ? c : 255;
13836              c = g[b + 3 | 0] + (n - i >> 3) | 0;
13837              c = (c | 0) > 0 ? c : 0;
13838              d[b + 3 | 0] = (c | 0) < 255 ? c : 255;
13839              k = k + 1 | 0;
13840              if ((k | 0) != 4) {
13841                b = b + 32 | 0;
13842                c = f[a + 20 >> 2];
13843                a = a + 4 | 0;
13844                continue;
13845              }
13846              break;
13847            }
13848          }
13849          function mc(a) {
13850            a = a | 0;
13851            var b = 0;
13852            b = xf(g[a + 31 | 0], 0, 16843009, 16843009);
13853            d[a + 32 | 0] = b;
13854            d[a + 33 | 0] = b >>> 8;
13855            d[a + 34 | 0] = b >>> 16;
13856            d[a + 35 | 0] = b >>> 24;
13857            b = N;
13858            d[a + 36 | 0] = b;
13859            d[a + 37 | 0] = b >>> 8;
13860            d[a + 38 | 0] = b >>> 16;
13861            d[a + 39 | 0] = b >>> 24;
13862            b = xf(g[a + 63 | 0], 0, 16843009, 16843009);
13863            d[a + 64 | 0] = b;
13864            d[a + 65 | 0] = b >>> 8;
13865            d[a + 66 | 0] = b >>> 16;
13866            d[a + 67 | 0] = b >>> 24;
13867            b = N;
13868            d[a + 68 | 0] = b;
13869            d[a + 69 | 0] = b >>> 8;
13870            d[a + 70 | 0] = b >>> 16;
13871            d[a + 71 | 0] = b >>> 24;
13872            b = xf(g[a + 95 | 0], 0, 16843009, 16843009);
13873            d[a + 96 | 0] = b;
13874            d[a + 97 | 0] = b >>> 8;
13875            d[a + 98 | 0] = b >>> 16;
13876            d[a + 99 | 0] = b >>> 24;
13877            b = N;
13878            d[a + 100 | 0] = b;
13879            d[a + 101 | 0] = b >>> 8;
13880            d[a + 102 | 0] = b >>> 16;
13881            d[a + 103 | 0] = b >>> 24;
13882            b = xf(g[a + 127 | 0], 0, 16843009, 16843009);
13883            d[a + 128 | 0] = b;
13884            d[a + 129 | 0] = b >>> 8;
13885            d[a + 130 | 0] = b >>> 16;
13886            d[a + 131 | 0] = b >>> 24;
13887            b = N;
13888            d[a + 132 | 0] = b;
13889            d[a + 133 | 0] = b >>> 8;
13890            d[a + 134 | 0] = b >>> 16;
13891            d[a + 135 | 0] = b >>> 24;
13892            b = xf(g[a + 159 | 0], 0, 16843009, 16843009);
13893            d[a + 160 | 0] = b;
13894            d[a + 161 | 0] = b >>> 8;
13895            d[a + 162 | 0] = b >>> 16;
13896            d[a + 163 | 0] = b >>> 24;
13897            b = N;
13898            d[a + 164 | 0] = b;
13899            d[a + 165 | 0] = b >>> 8;
13900            d[a + 166 | 0] = b >>> 16;
13901            d[a + 167 | 0] = b >>> 24;
13902            b = xf(g[a + 191 | 0], 0, 16843009, 16843009);
13903            d[a + 192 | 0] = b;
13904            d[a + 193 | 0] = b >>> 8;
13905            d[a + 194 | 0] = b >>> 16;
13906            d[a + 195 | 0] = b >>> 24;
13907            b = N;
13908            d[a + 196 | 0] = b;
13909            d[a + 197 | 0] = b >>> 8;
13910            d[a + 198 | 0] = b >>> 16;
13911            d[a + 199 | 0] = b >>> 24;
13912            b = xf(g[a + 223 | 0], 0, 16843009, 16843009);
13913            d[a + 224 | 0] = b;
13914            d[a + 225 | 0] = b >>> 8;
13915            d[a + 226 | 0] = b >>> 16;
13916            d[a + 227 | 0] = b >>> 24;
13917            b = N;
13918            d[a + 228 | 0] = b;
13919            d[a + 229 | 0] = b >>> 8;
13920            d[a + 230 | 0] = b >>> 16;
13921            d[a + 231 | 0] = b >>> 24;
13922            b = xf(g[a + -1 | 0], 0, 16843009, 16843009);
13923            d[a | 0] = b;
13924            d[a + 1 | 0] = b >>> 8;
13925            d[a + 2 | 0] = b >>> 16;
13926            d[a + 3 | 0] = b >>> 24;
13927            b = N;
13928            d[a + 4 | 0] = b;
13929            d[a + 5 | 0] = b >>> 8;
13930            d[a + 6 | 0] = b >>> 16;
13931            d[a + 7 | 0] = b >>> 24;
13932          }
13933          function qc(a, b, c) {
13934            a = a | 0;
13935            b = b | 0;
13936            c = c | 0;
13937            var e = 0,
13938              f = 0,
13939              h = 0;
13940            a: {
13941              if ((c | 0) != 1) {
13942                while (1) {
13943                  e = g[b | 0] + (g[a | 0] + -120 >> 4) | 0;
13944                  e = (e | 0) > 0 ? e : 0;
13945                  d[b | 0] = (e | 0) < 255 ? e : 255;
13946                  e = g[b + 1 | 0] + (g[a + 1 | 0] + -120 >> 4) | 0;
13947                  e = (e | 0) > 0 ? e : 0;
13948                  d[b + 1 | 0] = (e | 0) < 255 ? e : 255;
13949                  e = g[b + 2 | 0] + (g[a + 2 | 0] + -120 >> 4) | 0;
13950                  e = (e | 0) > 0 ? e : 0;
13951                  d[b + 2 | 0] = (e | 0) < 255 ? e : 255;
13952                  e = g[b + 3 | 0] + (g[a + 3 | 0] + -120 >> 4) | 0;
13953                  e = (e | 0) > 0 ? e : 0;
13954                  d[b + 3 | 0] = (e | 0) < 255 ? e : 255;
13955                  e = g[b + 4 | 0] + (g[a + 4 | 0] + -120 >> 4) | 0;
13956                  e = (e | 0) > 0 ? e : 0;
13957                  d[b + 4 | 0] = (e | 0) < 255 ? e : 255;
13958                  e = g[b + 5 | 0] + (g[a + 5 | 0] + -120 >> 4) | 0;
13959                  e = (e | 0) > 0 ? e : 0;
13960                  d[b + 5 | 0] = (e | 0) < 255 ? e : 255;
13961                  e = g[b + 6 | 0] + (g[a + 6 | 0] + -120 >> 4) | 0;
13962                  e = (e | 0) > 0 ? e : 0;
13963                  d[b + 6 | 0] = (e | 0) < 255 ? e : 255;
13964                  e = g[b + 7 | 0] + (g[a + 7 | 0] + -120 >> 4) | 0;
13965                  e = (e | 0) > 0 ? e : 0;
13966                  d[b + 7 | 0] = (e | 0) < 255 ? e : 255;
13967                  a = a + 8 | 0;
13968                  b = b + c | 0;
13969                  f = f + 1 | 0;
13970                  if ((f | 0) != 8) {
13971                    continue;
13972                  }
13973                  break;
13974                }
13975                break a;
13976              }
13977              f = g[b + 6 | 0];
13978              while (1) {
13979                e = g[b | 0] + (g[a | 0] + -120 >> 4) | 0;
13980                e = (e | 0) > 0 ? e : 0;
13981                d[b | 0] = (e | 0) < 255 ? e : 255;
13982                e = g[b + 1 | 0] + (g[a + 1 | 0] + -120 >> 4) | 0;
13983                e = (e | 0) > 0 ? e : 0;
13984                d[b + 1 | 0] = (e | 0) < 255 ? e : 255;
13985                e = g[b + 2 | 0] + (g[a + 2 | 0] + -120 >> 4) | 0;
13986                e = (e | 0) > 0 ? e : 0;
13987                d[b + 2 | 0] = (e | 0) < 255 ? e : 255;
13988                e = g[b + 3 | 0] + (g[a + 3 | 0] + -120 >> 4) | 0;
13989                e = (e | 0) > 0 ? e : 0;
13990                d[b + 3 | 0] = (e | 0) < 255 ? e : 255;
13991                e = g[b + 4 | 0] + (g[a + 4 | 0] + -120 >> 4) | 0;
13992                e = (e | 0) > 0 ? e : 0;
13993                d[b + 4 | 0] = (e | 0) < 255 ? e : 255;
13994                e = g[b + 5 | 0] + (g[a + 5 | 0] + -120 >> 4) | 0;
13995                e = (e | 0) > 0 ? e : 0;
13996                d[b + 5 | 0] = (e | 0) < 255 ? e : 255;
13997                f = (f & 255) + (g[a + 6 | 0] + -120 >> 4) | 0;
13998                f = (f | 0) > 0 ? f : 0;
13999                d[b + 6 | 0] = (f | 0) < 255 ? f : 255;
14000                f = g[b + 7 | 0] + (g[a + 7 | 0] + -120 >> 4) | 0;
14001                f = (f | 0) > 0 ? f : 0;
14002                f = (f | 0) < 255 ? f : 255;
14003                d[b + 7 | 0] = f;
14004                a = a + 8 | 0;
14005                b = b + c | 0;
14006                h = h + 1 | 0;
14007                if ((h | 0) != 8) {
14008                  continue;
14009                }
14010                break;
14011              }
14012            }
14013          }
14014          function pc(a) {
14015            a = a | 0;
14016            var b = 0,
14017              c = 0;
14018            b = xf((g[a + 223 | 0] + (g[a + -25 | 0] + (g[a + 191 | 0] + (g[a + -26 | 0] + (g[a + 159 | 0] + (g[a + -27 | 0] + (g[a + 127 | 0] + (g[a + -28 | 0] + (g[a + 95 | 0] + (g[a + -29 | 0] + (g[a + 63 | 0] + (g[a + -30 | 0] + (g[a + 31 | 0] + (g[a + -31 | 0] + (g[a + -32 | 0] + g[a + -1 | 0] | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) | 0) + 8 >>> 4 & 255, 0, 16843009, 16843009);
14019            d[a + 224 | 0] = b;
14020            d[a + 225 | 0] = b >>> 8;
14021            d[a + 226 | 0] = b >>> 16;
14022            d[a + 227 | 0] = b >>> 24;
14023            c = N;
14024            d[a + 228 | 0] = c;
14025            d[a + 229 | 0] = c >>> 8;
14026            d[a + 230 | 0] = c >>> 16;
14027            d[a + 231 | 0] = c >>> 24;
14028            d[a + 192 | 0] = b;
14029            d[a + 193 | 0] = b >>> 8;
14030            d[a + 194 | 0] = b >>> 16;
14031            d[a + 195 | 0] = b >>> 24;
14032            d[a + 196 | 0] = c;
14033            d[a + 197 | 0] = c >>> 8;
14034            d[a + 198 | 0] = c >>> 16;
14035            d[a + 199 | 0] = c >>> 24;
14036            d[a + 160 | 0] = b;
14037            d[a + 161 | 0] = b >>> 8;
14038            d[a + 162 | 0] = b >>> 16;
14039            d[a + 163 | 0] = b >>> 24;
14040            d[a + 164 | 0] = c;
14041            d[a + 165 | 0] = c >>> 8;
14042           
14042 d[a + 166 | 0] = c >>> 16;
14043            d[a + 167 | 0] = c >>> 24;
14044            d[a + 128 | 0] = b;
14045            d[a + 129 | 0] = b >>> 8;
14046            d[a + 130 | 0] = b >>> 16;
14047            d[a + 131 | 0] = b >>> 24;
14048            d[a + 132 | 0] = c;
14049            d[a + 133 | 0] = c >>> 8;
14050            d[a + 134 | 0] = c >>> 16;
14051            d[a + 135 | 0] = c >>> 24;
14052            d[a + 96 | 0] = b;
14053            d[a + 97 | 0] = b >>> 8;
14054            d[a + 98 | 0] = b >>> 16;
14055            d[a + 99 | 0] = b >>> 24;
14056            d[a + 100 | 0] = c;
14057            d[a + 101 | 0] = c >>> 8;
14058            d[a + 102 | 0] = c >>> 16;
14059            d[a + 103 | 0] = c >>> 24;
14060            d[a + 64 | 0] = b;
14061            d[a + 65 | 0] = b >>> 8;
14062            d[a + 66 | 0] = b >>> 16;
14063            d[a + 67 | 0] = b >>> 24;
14064            d[a + 68 | 0] = c;
14065            d[a + 69 | 0] = c >>> 8;
14066            d[a + 70 | 0] = c >>> 16;
14067            d[a + 71 | 0] = c >>> 24;
14068            d[a + 32 | 0] = b;
14069            d[a + 33 | 0] = b >>> 8;
14070            d[a + 34 | 0] = b >>> 16;
14071            d[a + 35 | 0] = b >>> 24;
14072            d[a + 36 | 0] = c;
14073            d[a + 37 | 0] = c >>> 8;
14074            d[a + 38 | 0] = c >>> 16;
14075            d[a + 39 | 0] = c >>> 24;
14076            d[a | 0] = b;
14077            d[a + 1 | 0] = b >>> 8;
14078            d[a + 2 | 0] = b >>> 16;
14079            d[a + 3 | 0] = b >>> 24;
14080            d[a + 4 | 0] = c;
14081            d[a + 5 | 0] = c >>> 8;
14082            d[a + 6 | 0] = c >>> 16;
14083            d[a + 7 | 0] = c >>> 24;
14084          }
14085          function Wa(a, b) {
14086            var e = 0,
14087              h = 0,
14088              i = 0,
14089              j = 0,
14090              k = 0,
14091              l = 0,
14092              m = 0,
14093              n = 0,
14094              o = 0;
14095            a: {
14096              e = f[b + 48 >> 2];
14097              if (!e) {
14098                break a;
14099              }
14100              if (c[e | 0](b) | 0) {
14101                break a;
14102              }
14103              cb(a, 6, 4844);
14104              return f[a >> 2];
14105            }
14106            b: {
14107              c: {
14108                d: {
14109                  e: {
14110                    if (f[b + 68 >> 2]) {
14111                      f[a + 2308 >> 2] = 0;
14112                      e = 0;
14113                      break e;
14114                    }
14115                    e = 2;
14116                    j = f[a + 2308 >> 2];
14117                    h = g[j + 4863 | 0];
14118                    if ((j | 0) == 2) {
14119                      break d;
14120                    }
14121                    e = j;
14122                  }
14123                  j = f[b + 76 >> 2] - h | 0;
14124                  f[a + 296 >> 2] = j >> 4;
14125                  i = f[b + 84 >> 2] - h | 0;
14126                  f[a + 300 >> 2] = i >> 4;
14127                  if ((j | 0) <= -1) {
14128                    f[a + 296 >> 2] = 0;
14129                  }
14130                  if ((i | 0) > -1) {
14131                    break b;
14132                  }
14133                  j = a + 300 | 0;
14134                  break c;
14135                }
14136                f[a + 296 >> 2] = 0;
14137                j = a + 300 | 0;
14138              }
14139              f[j >> 2] = 0;
14140            }
14141            h = h + 15 | 0;
14142            j = h + f[b + 88 >> 2] >> 4;
14143            f[a + 308 >> 2] = j;
14144            i = f[a + 288 >> 2];
14145            b = h + f[b + 80 >> 2] >> 4;
14146            f[a + 304 >> 2] = (b | 0) > (i | 0) ? i : b;
14147            b = f[a + 292 >> 2];
14148            if ((j | 0) > (b | 0)) {
14149              f[a + 308 >> 2] = b;
14150            }
14151            if ((e | 0) >= 1) {
14152              n = f[a + 68 >> 2];
14153              o = f[a + 104 >> 2];
14154              j = 0;
14155              while (1) {
14156                b = (j << 3) + a | 0;
14157                f: {
14158                  if (o) {
14159                    e = d[(a + j | 0) + 120 | 0];
14160                    h = e;
14161                    if (f[a + 112 >> 2]) {
14162                      break f;
14163                    }
14164                    h = e + f[a + 60 >> 2] | 0;
14165                    break f;
14166                  }
14167                  h = f[a + 60 >> 2];
14168                }
14169                e = h;
14170                k = b + 2312 | 0;
14171                e = n ? f[a + 72 >> 2] + e | 0 : e;
14172                g: {
14173                  if ((e | 0) >= 1) {
14174                    i = (e | 0) < 63 ? e : 63;
14175                    e = (e | 0) > 0 ? i : 0;
14176                    m = b + 2313 | 0;
14177                    l = f[a + 64 >> 2];
14178                    if ((l | 0) >= 1) {
14179                      i = 9 - l | 0;
14180                      l = e >>> ((l | 0) > 4 ? 2 : 1) | 0;
14181                      i = (l | 0) > (i | 0) ? i : l;
14182                    }
14183                    i = (i | 0) > 1 ? i : 1;
14184                    d[m | 0] = i;
14185                    d[k | 0] = i + (e << 1);
14186                    d[b + 2315 | 0] = (e | 0) > 39 ? 2 : (e | 0) > 14;
14187                    break g;
14188                  }
14189                  d[k | 0] = 0;
14190                }
14191                d[b + 2314 | 0] = 0;
14192                i = b + 2316 | 0;
14193                h = n ? f[a + 88 >> 2] + (f[a + 72 >> 2] + h | 0) | 0 : h;
14194                k = (h | 0) > 0;
14195                h: {
14196                  if (!k) {
14197                    d[i | 0] = 0;
14198                    break h;
14199                  }
14200                  e = (h | 0) < 63 ? h : 63;
14201                  h = k ? e : 0;
14202                  m = b + 2317 | 0;
14203                  k = f[a + 64 >> 2];
14204                  if ((k | 0) >= 1) {
14205                    e = 9 - k | 0;
14206                    k = h >>> ((k | 0) > 4 ? 2 : 1) | 0;
14207                    e = (k | 0) > (e | 0) ? e : k;
14208                  }
14209                  e = (e | 0) > 1 ? e : 1;
14210                  d[m | 0] = e;
14211                  d[i | 0] = e + (h << 1);
14212                  d[b + 2319 | 0] = (h | 0) > 39 ? 2 : (h | 0) > 14;
14213                }
14214                d[b + 2318 | 0] = 1;
14215                j = j + 1 | 0;
14216                if ((j | 0) != 4) {
14217                  continue;
14218                }
14219                break;
14220              }
14221            }
14222            return 0;
14223          }
14224          function Db(a, b) {
14225            a = a | 0;
14226            b = b | 0;
14227            var c = 0,
14228              d = 0,
14229              g = 0,
14230              h = 0,
14231              i = 0,
14232              j = 0,
14233              k = 0,
14234              l = 0,
14235              m = 0,
14236              n = 0,
14237              o = 0,
14238              p = 0,
14239              q = 0,
14240              r = 0;
14241            d = L + -64 | 0;
14242            g = e[a + 24 >> 1];
14243            c = e[a >> 1];
14244            h = g + c | 0;
14245            j = e[a + 16 >> 1];
14246            k = e[a + 8 >> 1];
14247            i = j + k | 0;
14248            f[d + 32 >> 2] = h - i;
14249            g = c - g | 0;
14250            c = k - j | 0;
14251            f[d + 48 >> 2] = g - c;
14252            f[d + 16 >> 2] = c + g;
14253            o = h + i | 0;
14254            f[d >> 2] = o;
14255            g = e[a + 26 >> 1];
14256            c = e[a + 2 >> 1];
14257            h = g + c | 0;
14258            j = e[a + 18 >> 1];
14259            k = e[a + 10 >> 1];
14260            i = j + k | 0;
14261            f[d + 36 >> 2] = h - i;
14262            g = c - g | 0;
14263            c = k - j | 0;
14264            f[d + 52 >> 2] = g - c;
14265            g = c + g | 0;
14266            f[d + 20 >> 2] = g;
14267            c = h + i | 0;
14268            f[d + 4 >> 2] = c;
14269            h = e[a + 4 >> 1];
14270            j = e[a + 28 >> 1];
14271            k = h - j | 0;
14272            i = e[a + 12 >> 1];
14273            l = e[a + 20 >> 1];
14274            m = i - l | 0;
14275            f[d + 56 >> 2] = k - m;
14276            i = i + l | 0;
14277            j = h + j | 0;
14278            h = i + j | 0;
14279            f[d + 8 >> 2] = h;
14280            j = j - i | 0;
14281            f[d + 40 >> 2] = j;
14282            k = k + m | 0;
14283            f[d + 24 >> 2] = k;
14284            i = e[a + 30 >> 1];
14285            l = e[a + 6 >> 1];
14286            m = i + l | 0;
14287            n = e[a + 22 >> 1];
14288            p = e[a + 14 >> 1];
14289            q = n + p | 0;
14290            a = m + q | 0;
14291            f[d + 12 >> 2] = a;
14292            r = l - i | 0;
14293            n = p - n | 0;
14294            i = r - n | 0;
14295            f[d + 60 >> 2] = i;
14296            l = m - q | 0;
14297            f[d + 44 >> 2] = l;
14298            m = n + r | 0;
14299            f[d + 28 >> 2] = m;
14300            o = o + 3 | 0;
14301            n = o - a | 0;
14302            p = c - h | 0;
14303            e[b + 96 >> 1] = n - p >>> 3;
14304            a = a + o | 0;
14305            c = c + h | 0;
14306            e[b + 64 >> 1] = a - c >>> 3;
14307            e[b + 32 >> 1] = n + p >>> 3;
14308            e[b >> 1] = a + c >>> 3;
14309            a = f[d + 16 >> 2] + 3 | 0;
14310            c = a - m | 0;
14311            h = g - k | 0;
14312            e[b + 224 >> 1] = c - h >>> 3;
14313            a = a + m | 0;
14314            g = g + k | 0;
14315            e[b + 192 >> 1] = a - g >>> 3;
14316            e[b + 160 >> 1] = c + h >>> 3;
14317            e[b + 128 >> 1] = a + g >>> 3;
14318            a = f[d + 32 >> 2] + 3 | 0;
14319            g = a - l | 0;
14320            c = f[d + 36 >> 2];
14321            h = c - j | 0;
14322            e[b + 352 >> 1] = g - h >>> 3;
14323            a = a + l | 0;
14324            c = c + j | 0;
14325            e[b + 320 >> 1] = a - c >>> 3;
14326            e[b + 288 >> 1] = g + h >>> 3;
14327            e[b + 256 >> 1] = a + c >>> 3;
14328            a = f[d + 48 >> 2] + 3 | 0;
14329            g = a - i | 0;
14330            c = f[d + 52 >> 2];
14331            d = f[d + 56 >> 2];
14332            h = c - d | 0;
14333            e[b + 480 >> 1] = g - h >>> 3;
14334            a = a + i | 0;
14335            d = d + c | 0;
14336            e[b + 448 >> 1] = a - d >>> 3;
14337            e[b + 416 >> 1] = g + h >>> 3;
14338            e[b + 384 >> 1] = a + d >>> 3;
14339          }
14340          function Qa(a, b) {
14341            var c = 0,
14342              e = 0,
14343              h = 0,
14344              j = 0,
14345              k = 0,
14346              m = 0,
14347              n = 0,
14348              p = 0,
14349              q = 0,
14350              r = 0,
14351              s = 0,
14352              t = 0,
14353              u = 0,
14354              v = 0,
14355              w = 0,
14356              x = 0,
14357              y = 0;
14358            u = b + 904 | 0;
14359            while (1) {
14360              m = 0;
14361              while (1) {
14362                n = 0;
14363                while (1) {
14364                  j = 0;
14365                  while (1) {
14366                    r = l(n, 11);
14367                    s = l(m, 33);
14368                    q = l(p, 264);
14369                    k = g[(r + (s + (q + 1392 | 0) | 0) | 0) + j | 0];
14370                    v = f[a + 4 >> 2];
14371                    c = f[a + 8 >> 2];
14372                    a: {
14373                      if ((c | 0) > -1) {
14374                        break a;
14375                      }
14376                      e = f[a + 12 >> 2];
14377                      if (e >>> 0 < i[a + 20 >> 2]) {
14378                        h = g[e | 0] | g[e + 1 | 0] << 8 | (g[e + 2 | 0] << 16 | g[e + 3 | 0] << 24);
14379                        f[a + 12 >> 2] = e + 3;
14380                        c = c + 24 | 0;
14381                        f[a + 8 >> 2] = c;
14382                        f[a >> 2] = f[a >> 2] << 24 | (h >>> 8 & 65280 | (h << 8 & 16711680 | h << 24)) >>> 8;
14383                        break a;
14384                      }
14385                      ce(a);
14386                      c = f[a + 8 >> 2];
14387                    }
14388                    t = a;
14389                    w = c;
14390                    e = f[a >> 2];
14391                    k = l(k, v) >>> 8 | 0;
14392                    h = e >>> c >>> 0 <= k >>> 0;
14393                    b: {
14394                      if (!h) {
14395                        f[a >> 2] = e + ((k ^ -1) << c);
14396                        c = v - k | 0;
14397                        break b;
14398                      }
14399                      c = k + 1 | 0;
14400                    }
14401                    e = o(c) ^ 24;
14402                    f[t + 8 >> 2] = w - e;
14403                    f[a + 4 >> 2] = (c << e) + -1;
14404                    t = (((b + q | 0) + s | 0) + r | 0) + j | 0;
14405                    c: {
14406                      if (!h) {
14407                        c = de(a, 8);
14408                        break c;
14409                      }
14410                      c = g[(((q + 2448 | 0) + s | 0) + r | 0) + j | 0];
14411                    }
14412                    d[t + 907 | 0] = c;
14413                    j = j + 1 | 0;
14414                    if ((j | 0) != 11) {
14415                      continue;
14416                    }
14417                    break;
14418                  }
14419                  n = n + 1 | 0;
14420                  if ((n | 0) != 3) {
14421                    continue;
14422                  }
14423                  break;
14424                }
14425                m = m + 1 | 0;
14426                if ((m | 0) != 8) {
14427                  continue;
14428                }
14429                break;
14430              }
14431              c = l(p, 68) + u | 0;
14432              h = q + u | 0;
14433              j = h + 3 | 0;
14434              f[c + 1124 >> 2] = j;
14435              f[c + 1120 >> 2] = h + 234;
14436              e = h + 201 | 0;
14437              f[c + 1116 >> 2] = e;
14438              f[c + 1112 >> 2] = e;
14439              f[c + 1108 >> 2] = e;
14440              f[c + 1104 >> 2] = e;
14441              f[c + 1100 >> 2] = e;
14442              f[c + 1096 >> 2] = e;
14443              f[c + 1092 >> 2] = e;
14444              f[c + 1088 >> 2] = e;
14445              f[c + 1084 >> 2] = h + 168;
14446              f[c + 1080 >> 2] = h + 135;
14447              f[c + 1076 >> 2] = e;
14448              f[c + 1072 >> 2] = h + 102;
14449              f[c + 1068 >> 2] = h + 69;
14450              f[c + 1064 >> 2] = h + 36;
14451              f[c + 1060 >> 2] = j;
14452              p = p + 1 | 0;
14453              if ((p | 0) != 4) {
14454                continue;
14455              }
14456              break;
14457            }
14458            c = de(a, 1);
14459            f[b + 2236 >> 2] = c;
14460            if (c) {
14461              x = b, y = de(a, 8), d[x + 2240 | 0] = y;
14462            }
14463          }
14464          function kc(a) {
14465            a = a | 0;
14466            var b = 0,
14467              c = 0;
14468            b = a;
14469            a = xf((g[b + -25 | 0] + (g[b + -26 | 0] + (g[b + -27 | 0] + (g[b + -28 | 0] + (g[b + -29 | 0] + (g[b + -30 | 0] + (g[b + -32 | 0] + g[b + -31 | 0] | 0) | 0) | 0) | 0) | 0) | 0) | 0) + 4 >>> 3 & 255, 0, 16843009, 16843009);
14470            d[b + 224 | 0] = a;
14471            d[b + 225 | 0] = a >>> 8;
14472            d[b + 226 | 0] = a >>> 16;
14473            d[b + 227 | 0] = a >>> 24;
14474            c = N;
14475            d[b + 228 | 0] = c;
14476            d[b + 229 | 0] = c >>> 8;
14477            d[b + 230 | 0] = c >>> 16;
14478            d[b + 231 | 0] = c >>> 24;
14479            d[b + 192 | 0] = a;
14480            d[b + 193 | 0] = a >>> 8;
14481            d[b + 194 | 0] = a >>> 16;
14482            d[b + 195 | 0] = a >>> 24;
14483            d[b + 196 | 0] = c;
14484            d[b + 197 | 0] = c >>> 8;
14485            d[b + 198 | 0] = c >>> 16;
14486            d[b + 199 | 0] = c >>> 24;
14487            d[b + 160 | 0] = a;
14488            d[b + 161 | 0] = a >>> 8;
14489            d[b + 162 | 0] = a >>> 16;
14490            d[b + 163 | 0] = a >>> 24;
14491            d[b + 164 | 0] = c;
14492            d[b + 165 | 0] = c >>> 8;
14493            d[b + 166 | 0] = c >>> 16;
14494            d[b + 167 | 0] = c >>> 24;
14495            d[b + 128 | 0] = a;
14496            d[b + 129 | 0] = a >>> 8;
14497            d[b + 130 | 0] = a >>> 16;
14498            d[b + 131 | 0] = a >>> 24;
14499            d[b + 132 | 0] = c;
14500            d[b + 133 | 0] = c >>> 8;
14501            d[b + 134 | 0] = c >>> 16;
14502            d[b + 135 | 0] = c >>> 24;
14503            d[b + 96 | 0] = a;
14504            d[b + 97 | 0] = a >>> 8;
14505            d[b + 98 | 0] = a >>> 16;
14506            d[b + 99 | 0] = a >>> 24;
14507            d[b + 100 | 0] = c;
14508            d[b + 101 | 0] = c >>> 8;
14509            d[b + 102 | 0] = c >>> 16;
14510            d[b + 103 | 0] = c >>> 24;
14511            d[b + 64 | 0] = a;
14512            d[b + 65 | 0] = a >>> 8;
14513            d[b + 66 | 0] = a >>> 16;
14514            d[b + 67 | 0] = a >>> 24;
14515            d[b + 68 | 0] = c;
14516            d[b + 69 | 0] = c >>> 8;
14517            d[b + 70 | 0] = c >>> 16;
14518            d[b + 71 | 0] = c >>> 24;
14519            d[b + 32 | 0] = a;
14520            d[b + 33 | 0] = a >>> 8;
14521            d[b + 34 | 0] = a >>> 16;
14522            d[b + 35 | 0] = a >>> 24;
14523            d[b + 36 | 0] = c;
14524            d[b + 37 | 0] = c >>> 8;
14525            d[b + 38 | 0] = c >>> 16;
14526            d[b + 39 | 0] = c >>> 24;
14527            d[b | 0] = a;
14528            d[b + 1 | 0] = a >>> 8;
14529            d[b + 2 | 0] = a >>> 16;
14530            d[b + 3 | 0] = a >>> 24;
14531            d[b + 4 | 0] = c;
14532            d[b + 5 | 0] = c >>> 8;
14533            d[b + 6 | 0] = c >>> 16;
14534            d[b + 7 | 0] = c >>> 24;
14535          }
14536          function lc(a) {
14537            a = a | 0;
14538            var b = 0,
14539              c = 0;
14540            b = a;
14541            a = xf((g[b + 223 | 0] + (g[b + 191 | 0] + (g[b + 159 | 0] + (g[b + 127 | 0] + (g[b + 95 | 0] + (g[b + 63 | 0] + (g[b + -1 | 0] + g[b + 31 | 0] | 0) | 0) | 0) | 0) | 0) | 0) | 0) + 4 >>> 3 & 255, 0, 16843009, 16843009);
14542            d[b + 224 | 0] = a;
14543            d[b + 225 | 0] = a >>> 8;
14544            d[b + 226 | 0] = a >>> 16;
14545            d[b + 227 | 0] = a >>> 24;
14546            c = N;
14547            d[b + 228 | 0] = c;
14548            d[b + 229 | 0] = c >>> 8;
14549            d[b + 230 | 0] = c >>> 16;
14550            d[b + 231 | 0] = c >>> 24;
14551            d[b + 192 | 0] = a;
14552            d[b + 193 | 0] = a >>> 8;
14553            d[b + 194 | 0] = a >>> 16;
14554            d[b + 195 | 0] = a >>> 24;
14555            d[b + 196 | 0] = c;
14556            d[b + 197 | 0] = c >>> 8;
14557            d[b + 198 | 0] = c >>> 16;
14558            d[b + 199 | 0] = c >>> 24;
14559            d[b + 160 | 0] = a;
14560            d[b + 161 | 0] = a >>> 8;
14561            d[b + 162 | 0] = a >>> 16;
14562            d[b + 163 | 0] = a >>> 24;
14563            d[b + 164 | 0] = c;
14564            d[b + 165 | 0] = c >>> 8;
14565            d[b + 166 | 0] = c >>> 16;
14566            d[b + 167 | 0] = c >>> 24;
14567            d[b + 128 | 0] = a;
14568            d[b + 129 | 0] = a >>> 8;
14569            d[b + 130 | 0] = a >>> 16;
14570            d[b + 131 | 0] = a >>> 24;
14571            d[b + 132 | 0] = c;
14572            d[b + 133 | 0] = c >>> 8;
14573            d[b + 134 | 0] = c >>> 16;
14574            d[b + 135 | 0] = c >>> 24;
14575            d[b + 96 | 0] = a;
14576            d[b + 97 | 0] = a >>> 8;
14577            d[b + 98 | 0] = a >>> 16;
14578            d[b + 99 | 0] = a >>> 24;
14579            d[b + 100 | 0] = c;
14580            d[b + 101 | 0] = c >>> 8;
14581            d[b + 102 | 0] = c >>> 16;
14582            d[b + 103 | 0] = c >>> 24;
14583            d[b + 64 | 0] = a;
14584            d[b + 65 | 0] = a >>> 8;
14585            d[b + 66 | 0] = a >>> 16;
14586            d[b + 67 | 0] = a >>> 24;
14587            d[b + 68 | 0] = c;
14588            d[b + 69 | 0] = c >>> 8;
14589            d[b + 70 | 0] = c >>> 16;
14590            d[b + 71 | 0] = c >>> 24;
14591            d[b + 32 | 0] = a;
14592            d[b + 33 | 0] = a >>> 8;
14593            d[b + 34 | 0] = a >>> 16;
14594            d[b + 35 | 0] = a >>> 24;
14595            d[b + 36 | 0] = c;
14596            d[b + 37 | 0] = c >>> 8;
14597            d[b + 38 | 0] = c >>> 16;
14598            d[b + 39 | 0] = c >>> 24;
14599            d[b | 0] = a;
14600            d[b + 1 | 0] = a >>> 8;
14601            d[b + 2 | 0] = a >>> 16;
14602            d[b + 3 | 0] = a >>> 24;
14603            d[b + 4 | 0] = c;
14604            d[b + 5 | 0] = c >>> 8;
14605            d[b + 6 | 0] = c >>> 16;
14606            d[b + 7 | 0] = c >>> 24;
14607          }
14608          function va(a) {
14609            var b = 0,
14610              c = 0,
14611              d = 0,
14612              e = 0,
14613              g = 0,
14614              h = 0,
14615              i = 0,
14616              j = 0,
14617              k = 0,
14618              l = 0,
14619              m = 0;
14620            a: {
14621              b: {
14622                if (a) {
14623                  g = f[a + 8 >> 2];
14624                  l = f[g + 40 >> 2];
14625                  if (f[a + 4 >> 2]) {
14626                    f[a + 12 >> 2] = f[l >> 2];
14627                    if (!mb(f[l + 20 >> 2], g, 3)) {
14628                      f[a >> 2] = 2;
14629                      la(a);
14630                      return 0;
14631                    }
14632                    b = f[a + 104 >> 2];
14633                    c = b;
14634                    e = b >> 31;
14635                    b = f[a + 100 >> 2];
14636                    h = xf(c, e, b, b >> 31);
14637                    c = N;
14638                    j = f[g >> 2];
14639                    e = j;
14640                    b = e >> 31;
14641                    b = b << 4 | e >>> 28;
14642                    e = e << 4;
14643                    k = a;
14644                    i = b;
14645                    b = e;
14646                    e = j & 65535;
14647                    d = e;
14648                    b = b + d | 0;
14649                    if (b >>> 0 < d >>> 0) {
14650                      i = i + 1 | 0;
14651                    }
14652                    d = b + h | 0;
14653                    c = c + i | 0;
14654                    b = ze(d, d >>> 0 < b >>> 0 ? c + 1 | 0 : c, 4);
14655                    f[k + 16 >> 2] = b;
14656                    if (!b) {
14657                      f[a + 20 >> 2] = 0;
14658                      break a;
14659                    }
14660                    f[a + 20 >> 2] = (b + (h << 2) | 0) + (e << 2);
14661                    c: {
14662                      d: {
14663                        if (f[g + 92 >> 2]) {
14664                          m = f[g + 100 >> 2];
14665                          j = f[g + 16 >> 2];
14666                          e = f[g + 12 >> 2];
14667                          h = f[g + 96 >> 2];
14668                          c = h;
14669                          b = c >> 31;
14670                          d = c;
14671                          c = b;
14672                          b = b << 5 | d >>> 27;
14673                          i = c << 2 | d >>> 30;
14674                          k = d << 5;
14675                          c = d << 2;
14676                          d = k + c | 0;
14677                          b = b + i | 0;
14678                          b = d >>> 0 < c >>> 0 ? b + 1 | 0 : b;
14679                          c = d + 84 | 0;
14680                          if (c >>> 0 < 84) {
14681                            b = b + 1 | 0;
14682                          }
14683                          b = ze(c, b, 1);
14684                          if (!b) {
14685                            f[a >> 2] = 1;
14686                            break b;
14687                          }
14688                          f[a + 268 >> 2] = b;
14689                          f[a + 264 >> 2] = b;
14690                          c = b;
14691                          b = b + 84 | 0;
14692                          pe(c, e, j, b + k | 0, h, m, 0, 4, b);
14693                          if (f[g + 92 >> 2]) {
14694                            break d;
14695                          }
14696                        }
14697                        b = f[f[a + 12 >> 2] >> 2];
14698                        if (b + -7 >>> 0 > 3) {
14699                          break c;
14700                        }
14701                      }
14702                      rb();
14703                      b = f[f[a + 12 >> 2] >> 2];
14704                    }
14705                    e: {
14706                      if (b >>> 0 < 11) {
14707                        break e;
14708                      }
14709                      Wd();
14710                      if (!f[f[a + 12 >> 2] + 28 >> 2]) {
14711                        break e;
14712                      }
14713                      rb();
14714                    }
14715                    f: {
14716                      if (!f[a + 56 >> 2] | f[a + 120 >> 2] < 1) {
14717                        break f;
14718                      }
14719                      b = a + 136 | 0;
14720                      if (f[b >> 2]) {
14721                        break f;
14722                      }
14723                      if (ie(b, f[a + 132 >> 2])) {
14724                        break f;
14725                      }
14726                      break a;
14727                    }
14728                    f[a + 4 >> 2] = 0;
14729                  }
14730                  if (!qa(a, f[a + 16 >> 2], f[a + 100 >> 2], f[a + 104 >> 2], f[g + 88 >> 2], 2)) {
14731                    break b;
14732                  }
14733                  f[l + 16 >> 2] = f[a + 116 >> 2];
14734                  a = 1;
14735                } else {
14736                  a = 0;
14737                }
14738                return a;
14739              }
14740              la(a);
14741              return 0;
14742            }
14743            f[a >> 2] = 1;
14744            la(a);
14745            return 0;
14746          }
14747          function Fb(a, b) {
14748            a = a | 0;
14749            b = b | 0;
14750            var c = 0,
14751              f = 0,
14752              h = 0,
14753              i = 0,
14754              j = 0,
14755              k = 0;
14756            h = e[a + 2 >> 1];
14757            j = (l(h, 20091) >> 16) + h | 0;
14758            f = e[a + 8 >> 1];
14759            k = l(f, 35468) >> 16;
14760            i = e[a >> 1] + 4 | 0;
14761            c = k + i | 0;
14762            a = g[b + 32 | 0] + (j + c >> 3) | 0;
14763            a = (a | 0) > 0 ? a : 0;
14764            d[b + 32 | 0] = (a | 0) < 255 ? a : 255;
14765            a = l(h, 35468) >> 16;
14766            h = g[b + 33 | 0] + (a + c >> 3) | 0;
14767            h = (h | 0) > 0 ? h : 0;
14768            d[b + 33 | 0] = (h | 0) < 255 ? h : 255;
14769            h = g[b + 34 | 0] + (c - a >> 3) | 0;
14770            h = (h | 0) > 0 ? h : 0;
14771            d[b + 34 | 0] = (h | 0) < 255 ? h : 255;
14772            c = g[b + 35 | 0] + (c - j >> 3) | 0;
14773            c = (c | 0) > 0 ? c : 0;
14774            d[b + 35 | 0] = (c | 0) < 255 ? c : 255;
14775            h = f + (l(f, 20091) >> 16) | 0;
14776            c = h + i | 0;
14777            f = g[b | 0] + (c + j >> 3) | 0;
14778            f = (f | 0) > 0 ? f : 0;
14779            d[b | 0] = (f | 0) < 255 ? f : 255;
14780            f = g[b + 1 | 0] + (a + c >> 3) | 0;
14781            f = (f | 0) > 0 ? f : 0;
14782            d[b + 1 | 0] = (f | 0) < 255 ? f : 255;
14783            f = g[b + 2 | 0] + (c - a >> 3) | 0;
14784            f = (f | 0) > 0 ? f : 0;
14785            d[b + 2 | 0] = (f | 0) < 255 ? f : 255;
14786            c = g[b + 3 | 0] + (c - j >> 3) | 0;
14787            c = (c | 0) > 0 ? c : 0;
14788            d[b + 3 | 0] = (c | 0) < 255 ? c : 255;
14789            c = i - k | 0;
14790            f = g[b + 64 | 0] + (c + j >> 3) | 0;
14791            f = (f | 0) > 0 ? f : 0;
14792            d[b + 64 | 0] = (f | 0) < 255 ? f : 255;
14793            f = g[b + 65 | 0] + (a + c >> 3) | 0;
14794            f = (f | 0) > 0 ? f : 0;
14795            d[b + 65 | 0] = (f | 0) < 255 ? f : 255;
14796            f = g[b + 66 | 0] + (c - a >> 3) | 0;
14797            f = (f | 0) > 0 ? f : 0;
14798            d[b + 66 | 0] = (f | 0) < 255 ? f : 255;
14799            c = g[b + 67 | 0] + (c - j >> 3) | 0;
14800            c = (c | 0) > 0 ? c : 0;
14801            d[b + 67 | 0] = (c | 0) < 255 ? c : 255;
14802            i = i - h | 0;
14803            c = g[b + 96 | 0] + (i + j >> 3) | 0;
14804            c = (c | 0) > 0 ? c : 0;
14805            d[b + 96 | 0] = (c | 0) < 255 ? c : 255;
14806            c = g[b + 97 | 0] + (a + i >> 3) | 0;
14807            c = (c | 0) > 0 ? c : 0;
14808            d[b + 97 | 0] = (c | 0) < 255 ? c : 255;
14809            a = g[b + 98 | 0] + (i - a >> 3) | 0;
14810            a = (a | 0) > 0 ? a : 0;
14811            d[b + 98 | 0] = (a | 0) < 255 ? a : 255;
14812            a = g[b + 99 | 0] + (i - j >> 3) | 0;
14813            a = (a | 0) > 0 ? a : 0;
14814            d[b + 99 | 0] = (a | 0) < 255 ? a : 255;
14815          }
14816          function Rd(a, b, c, e, f) {
14817            a = a | 0;
14818            b = b | 0;
14819            c = c | 0;
14820            e = e | 0;
14821            f = f | 0;
14822            var h = 0,
14823              i = 0,
14824              j = 0,
14825              k = 0,
14826              m = 0,
14827              n = 0;
14828            m = f << 1 & -4;
14829            if (m) {
14830              m = e + m | 0;
14831              while (1) {
14832                j = l(g[a | 0], 19077) >>> 8 | 0;
14833                h = g[c | 0];
14834                k = j + (l(h, 26149) >>> 8 | 0) | 0;
14835                i = k + -14234 | 0;
14836                n = (i >>> 0 < 16384 ? i >>> 6 | 0 : k >>> 0 < 14234 ? 0 : 248) & 248;
14837                k = g[b | 0];
14838                h = j - (l(k, 6419) >>> 8 | 0) - (l(h, 13320) >>> 8) | 0;
14839                i = h + 8708 | 0;
14840                h = i >>> 0 < 16384 ? i >> 6 : (h | 0) < -8708 ? 0 : 255;
14841                d[e | 0] = n | h >>> 5;
14842                i = h << 3 & 224;
14843                j = j + (l(k, 33050) >>> 8 | 0) | 0;
14844                h = j + -17685 | 0;
14845                d[e + 1 | 0] = i | (h >>> 0 < 16384 ? h >>> 9 | 0 : j >>> 0 < 17685 ? 0 : 31);
14846                j = l(g[a + 1 | 0], 19077) >>> 8 | 0;
14847                h = g[c | 0];
14848                k = j + (l(h, 26149) >>> 8 | 0) | 0;
14849                i = k + -14234 | 0;
14850                n = (i >>> 0 < 16384 ? i >>> 6 | 0 : k >>> 0 < 14234 ? 0 : 248) & 248;
14851                k = g[b | 0];
14852                h = j - (l(k, 6419) >>> 8 | 0) - (l(h, 13320) >>> 8) | 0;
14853                i = h + 8708 | 0;
14854                h = i >>> 0 < 16384 ? i >> 6 : (h | 0) < -8708 ? 0 : 255;
14855                d[e + 2 | 0] = n | h >>> 5;
14856                i = h << 3 & 224;
14857                j = j + (l(k, 33050) >>> 8 | 0) | 0;
14858                h = j + -17685 | 0;
14859                d[e + 3 | 0] = i | (h >>> 0 < 16384 ? h >>> 9 | 0 : j >>> 0 < 17685 ? 0 : 31);
14860                c = c + 1 | 0;
14861                b = b + 1 | 0;
14862                a = a + 2 | 0;
14863                e = e + 4 | 0;
14864                if ((m | 0) != (e | 0)) {
14865                  continue;
14866                }
14867                break;
14868              }
14869              e = m;
14870            }
14871            if (f & 1) {
14872              a = l(g[a | 0], 19077) >>> 8 | 0;
14873              c = g[c | 0];
14874              f = a + (l(c, 26149) >>> 8 | 0) | 0;
14875              m = f + -14234 | 0;
14876              m = (m >>> 0 < 16384 ? m >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 248) & 248;
14877              b = g[b | 0];
14878              c = a - (l(b, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
14879              f = c + 8708 | 0;
14880              c = f >>> 0 < 16384 ? f >> 6 : (c | 0) < -8708 ? 0 : 255;
14881              d[e | 0] = m | c >>> 5;
14882              a = a + (l(b, 33050) >>> 8 | 0) | 0;
14883              b = a + -17685 | 0;
14884              d[e + 1 | 0] = c << 3 & 224 | (b >>> 0 < 16384 ? b >>> 9 | 0 : a >>> 0 < 17685 ? 0 : 31);
14885            }
14886          }
14887          function Qd(a, b, c, e, f) {
14888            a = a | 0;
14889            b = b | 0;
14890            c = c | 0;
14891            e = e | 0;
14892            f = f | 0;
14893            var h = 0,
14894              i = 0,
14895              j = 0,
14896              k = 0,
14897              m = 0,
14898              n = 0;
14899            h = f << 2 & -8;
14900            if (h) {
14901              h = e + h | 0;
14902              while (1) {
14903                i = g[c | 0];
14904                j = g[b | 0];
14905                k = g[a | 0];
14906                d[e + 3 | 0] = 255;
14907                k = l(k, 19077) >>> 8 | 0;
14908                m = k + (l(j, 33050) >>> 8 | 0) | 0;
14909                n = m + -17685 | 0;
14910                d[e + 2 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
14911                m = k + (l(i, 26149) >>> 8 | 0) | 0;
14912                n = m + -14234 | 0;
14913                d[e | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 255;
14914                i = k - (l(j, 6419) >>> 8 | 0) - (l(i, 13320) >>> 8) | 0;
14915                j = i + 8708 | 0;
14916                d[e + 1 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (i | 0) < -8708 ? 0 : 255;
14917                i = g[c | 0];
14918                j = g[b | 0];
14919                k = g[a + 1 | 0];
14920                d[e + 7 | 0] = 255;
14921                k = l(k, 19077) >>> 8 | 0;
14922                m = k + (l(j, 33050) >>> 8 | 0) | 0;
14923                n = m + -17685 | 0;
14924                d[e + 6 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
14925                m = k + (l(i, 26149) >>> 8 | 0) | 0;
14926                n = m + -14234 | 0;
14927                d[e + 4 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 255;
14928                i = k - (l(j, 6419) >>> 8 | 0) - (l(i, 13320) >>> 8) | 0;
14929                j = i + 8708 | 0;
14930                d[e + 5 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (i | 0) < -8708 ? 0 : 255;
14931                c = c + 1 | 0;
14932                b = b + 1 | 0;
14933                a = a + 2 | 0;
14934                e = e + 8 | 0;
14935                if ((h | 0) != (e | 0)) {
14936                  continue;
14937                }
14938                break;
14939              }
14940              e = h;
14941            }
14942            if (f & 1) {
14943              c = g[c | 0];
14944              b = g[b | 0];
14945              a = g[a | 0];
14946              d[e + 3 | 0] = 255;
14947              a = l(a, 19077) >>> 8 | 0;
14948              f = a + (l(b, 33050) >>> 8 | 0) | 0;
14949              h = f + -17685 | 0;
14950              d[e + 2 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
14951              f = a + (l(c, 26149) >>> 8 | 0) | 0;
14952              h = f + -14234 | 0;
14953              d[e | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
14954              a = a - (l(b, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
14955              b = a + 8708 | 0;
14956              d[e + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
14957            }
14958          }
14959          function Pd(a, b, c, e, f) {
14960            a = a | 0;
14961            b = b | 0;
14962            c = c | 0;
14963            e = e | 0;
14964            f = f | 0;
14965            var h = 0,
14966              i = 0,
14967              j = 0,
14968              k = 0,
14969              m = 0,
14970              n = 0;
14971            h = f << 2 & -8;
14972            if (h) {
14973              h = e + h | 0;
14974              while (1) {
14975                i = g[b | 0];
14976                j = g[c | 0];
14977                k = g[a | 0];
14978                d[e + 3 | 0] = 255;
14979                k = l(k, 19077) >>> 8 | 0;
14980                m = k + (l(j, 26149) >>> 8 | 0) | 0;
14981                n = m + -14234 | 0;
14982                d[e + 2 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 255;
14983                m = k + (l(i, 33050) >>> 8 | 0) | 0;
14984                n = m + -17685 | 0;
14985                d[e | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
14986                i = k - (l(i, 6419) >>> 8 | 0) - (l(j, 13320) >>> 8) | 0;
14987                j = i + 8708 | 0;
14988                d[e + 1 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (i | 0) < -8708 ? 0 : 255;
14989                i = g[b | 0];
14990                j = g[c | 0];
14991                k = g[a + 1 | 0];
14992                d[e + 7 | 0] = 255;
14993                k = l(k, 19077) >>> 8 | 0;
14994                m = k + (l(j, 26149) >>> 8 | 0) | 0;
14995                n = m + -14234 | 0;
14996                d[e + 6 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 255;
14997                m = k + (l(i, 33050) >>> 8 | 0) | 0;
14998                n = m + -17685 | 0;
14999                d[e + 4 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
15000                i = k - (l(i, 6419) >>> 8 | 0) - (l(j, 13320) >>> 8) | 0;
15001                j = i + 8708 | 0;
15002                d[e + 5 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (i | 0) < -8708 ? 0 : 255;
15003                c = c + 1 | 0;
15004                b = b + 1 | 0;
15005                a = a + 2 | 0;
15006                e = e + 8 | 0;
15007                if ((h | 0) != (e | 0)) {
15008                  continue;
15009                }
15010                break;
15011              }
15012              e = h;
15013            }
15014            if (f & 1) {
15015              b = g[b | 0];
15016              c = g[c | 0];
15017              a = g[a | 0];
15018              d[e + 3 | 0] = 255;
15019              a = l(a, 19077) >>> 8 | 0;
15020              f = a + (l(c, 26149) >>> 8 | 0) | 0;
15021              h = f + -14234 | 0;
15022              d[e + 2 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
15023              f = a + (l(b, 33050) >>> 8 | 0) | 0;
15024              h = f + -17685 | 0;
15025              d[e | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
15026              a = a - (l(b, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
15027              b = a + 8708 | 0;
15028              d[e + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
15029            }
15030          }
15031          function Od(a, b, c, e, f) {
15032            a = a | 0;
15033            b = b | 0;
15034            c = c | 0;
15035            e = e | 0;
15036            f = f | 0;
15037            var h = 0,
15038              i = 0,
15039              j = 0,
15040              k = 0,
15041              m = 0,
15042              n = 0;
15043            h = f << 2 & -8;
15044            if (h) {
15045              h = e + h | 0;
15046              while (1) {
15047                i = g[c | 0];
15048                j = g[b | 0];
15049                k = g[a | 0];
15050                d[e | 0] = 255;
15051                k = l(k, 19077) >>> 8 | 0;
15052                m = k + (l(j, 33050) >>> 8 | 0) | 0;
15053                n = m + -17685 | 0;
15054                d[e + 3 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
15055                m = k + (l(i, 26149) >>> 8 | 0) | 0;
15056                n = m + -14234 | 0;
15057                d[e + 1 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 255;
15058                i = k - (l(j, 6419) >>> 8 | 0) - (l(i, 13320) >>> 8) | 0;
15059                j = i + 8708 | 0;
15060                d[e + 2 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (i | 0) < -8708 ? 0 : 255;
15061                i = g[c | 0];
15062                j = g[b | 0];
15063                k = g[a + 1 | 0];
15064                d[e + 4 | 0] = 255;
15065                k = l(k, 19077) >>> 8 | 0;
15066                m = k + (l(j, 33050) >>> 8 | 0) | 0;
15067                n = m + -17685 | 0;
15068                d[e + 7 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 255;
15069                m = k + (l(i, 26149) >>> 8 | 0) | 0;
15070                n = m + -14234 | 0;
15071                d[e + 5 | 0] = n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 14234 ? 0 : 255;
15072                i = k - (l(j, 6419) >>> 8 | 0) - (l(i, 13320) >>> 8) | 0;
15073                j = i + 8708 | 0;
15074                d[e + 6 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (i | 0) < -8708 ? 0 : 255;
15075                c = c + 1 | 0;
15076                b = b + 1 | 0;
15077                a = a + 2 | 0;
15078                e = e + 8 | 0;
15079                if ((h | 0) != (e | 0)) {
15080                  continue;
15081                }
15082                break;
15083              }
15084              e = h;
15085            }
15086            if (f & 1) {
15087              c = g[c | 0];
15088              b = g[b | 0];
15089              a = g[a | 0];
15090              d[e | 0] = 255;
15091              a = l(a, 19077) >>> 8 | 0;
15092              f = a + (l(b, 33050) >>> 8 | 0) | 0;
15093              h = f + -17685 | 0;
15094              d[e + 3 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
15095              f = a + (l(c, 26149) >>> 8 | 0) | 0;
15096              h = f + -14234 | 0;
15097              d[e + 1 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
15098              a = a - (l(b, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
15099              b = a + 8708 | 0;
15100              d[e + 2 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
15101            }
15102          }
15103          function jc(a) {
15104            a = a | 0;
15105            d[a + 224 | 0] = -2139062144;
15106            d[a + 225 | 0] = 8421504;
15107            d[a + 226 | 0] = 32896;
15108            d[a + 227 | 0] = 128;
15109            d[a + 228 | 0] = -2139062144;
15110            d[a + 229 | 0] = 8421504;
15111            d[a + 230 | 0] = 32896;
15112            d[a + 231 | 0] = 128;
15113            d[a + 192 | 0] = -2139062144;
15114            d[a + 193 | 0] = 8421504;
15115            d[a + 194 | 0] = 32896;
15116            d[a + 195 | 0] = 128;
15117            d[a + 196 | 0] = -2139062144;
15118            d[a + 197 | 0] = 8421504;
15119            d[a + 198 | 0] = 32896;
15120            d[a + 199 | 0] = 128;
15121            d[a + 160 | 0] = -2139062144;
15122            d[a + 161 | 0] = 8421504;
15123            d[a + 162 | 0] = 32896;
15124            d[a + 163 | 0] = 128;
15125            d[a + 164 | 0] = -2139062144;
15126            d[a + 165 | 0] = 8421504;
15127            d[a + 166 | 0] = 32896;
15128            d[a + 167 | 0] = 128;
15129            d[a + 128 | 0] = -2139062144;
15130            d[a + 129 | 0] = 8421504;
15131            d[a + 130 | 0] = 32896;
15132            d[a + 131 | 0] = 128;
15133            d[a + 132 | 0] = -2139062144;
15134            d[a + 133 | 0] = 8421504;
15135            d[a + 134 | 0] = 32896;
15136            d[a + 135 | 0] = 128;
15137            d[a + 96 | 0] = -2139062144;
15138            d[a + 97 | 0] = 8421504;
15139            d[a + 98 | 0] = 32896;
15140            d[a + 99 | 0] = 128;
15141            d[a + 100 | 0] = -2139062144;
15142            d[a + 101 | 0] = 8421504;
15143            d[a + 102 | 0] = 32896;
15144            d[a + 103 | 0] = 128;
15145            d[a + 64 | 0] = -2139062144;
15146            d[a + 65 | 0] = 8421504;
15147            d[a + 66 | 0] = 32896;
15148            d[a + 67 | 0] = 128;
15149            d[a + 68 | 0] = -2139062144;
15150            d[a + 69 | 0] = 8421504;
15151            d[a + 70 | 0] = 32896;
15152            d[a + 71 | 0] = 128;
15153            d[a + 32 | 0] = -2139062144;
15154            d[a + 33 | 0] = 8421504;
15155            d[a + 34 | 0] = 32896;
15156            d[a + 35 | 0] = 128;
15157            d[a + 36 | 0] = -2139062144;
15158            d[a + 37 | 0] = 8421504;
15159            d[a + 38 | 0] = 32896;
15160            d[a + 39 | 0] = 128;
15161            d[a | 0] = -2139062144;
15162            d[a + 1 | 0] = 8421504;
15163            d[a + 2 | 0] = 32896;
15164            d[a + 3 | 0] = 128;
15165            d[a + 4 | 0] = -2139062144;
15166            d[a + 5 | 0] = 8421504;
15167            d[a + 6 | 0] = 32896;
15168            d[a + 7 | 0] = 128;
15169          }
15170          function nc(a) {
15171            a = a | 0;
15172            var b = 0,
15173              c = 0;
15174            b = a;
15175            a = b + -32 | 0;
15176            c = g[a | 0] | g[a + 1 | 0] << 8 | (g[a + 2 | 0] << 16 | g[a + 3 | 0] << 24);
15177            a = g[a + 4 | 0] | g[a + 5 | 0] << 8 | (g[a + 6 | 0] << 16 | g[a + 7 | 0] << 24);
15178            d[b + 224 | 0] = c;
15179            d[b + 225 | 0] = c >>> 8;
15180            d[b + 226 | 0] = c >>> 16;
15181            d[b + 227 | 0] = c >>> 24;
15182            d[b + 228 | 0] = a;
15183            d[b + 229 | 0] = a >>> 8;
15184            d[b + 230 | 0] = a >>> 16;
15185            d[b + 231 | 0] = a >>> 24;
15186            d[b + 192 | 0] = c;
15187            d[b + 193 | 0] = c >>> 8;
15188            d[b + 194 | 0] = c >>> 16;
15189            d[b + 195 | 0] = c >>> 24;
15190            d[b + 196 | 0] = a;
15191            d[b + 197 | 0] = a >>> 8;
15192            d[b + 198 | 0] = a >>> 16;
15193            d[b + 199 | 0] = a >>> 24;
15194            d[b + 160 | 0] = c;
15195            d[b + 161 | 0] = c >>> 8;
15196            d[b + 162 | 0] = c >>> 16;
15197            d[b + 163 | 0] = c >>> 24;
15198            d[b + 164 | 0] = a;
15199            d[b + 165 | 0] = a >>> 8;
15200            d[b + 166 | 0] = a >>> 16;
15201            d[b + 167 | 0] = a >>> 24;
15202            d[b + 128 | 0] = c;
15203            d[b + 129 | 0] = c >>> 8;
15204            d[b + 130 | 0] = c >>> 16;
15205            d[b + 131 | 0] = c >>> 24;
15206            d[b + 132 | 0] = a;
15207            d[b + 133 | 0] = a >>> 8;
15208            d[b + 134 | 0] = a >>> 16;
15209            d[b + 135 | 0] = a >>> 24;
15210            d[b + 96 | 0] = c;
15211            d[b + 97 | 0] = c >>> 8;
15212            d[b + 98 | 0] = c >>> 16;
15213            d[b + 99 | 0] = c >>> 24;
15214            d[b + 100 | 0] = a;
15215            d[b + 101 | 0] = a >>> 8;
15216            d[b + 102 | 0] = a >>> 16;
15217            d[b + 103 | 0] = a >>> 24;
15218            d[b + 64 | 0] = c;
15219            d[b + 65 | 0] = c >>> 8;
15220            d[b + 66 | 0] = c >
15220>> 16;
15221            d[b + 67 | 0] = c >>> 24;
15222            d[b + 68 | 0] = a;
15223            d[b + 69 | 0] = a >>> 8;
15224            d[b + 70 | 0] = a >>> 16;
15225            d[b + 71 | 0] = a >>> 24;
15226            d[b + 32 | 0] = c;
15227            d[b + 33 | 0] = c >>> 8;
15228            d[b + 34 | 0] = c >>> 16;
15229            d[b + 35 | 0] = c >>> 24;
15230            d[b + 36 | 0] = a;
15231            d[b + 37 | 0] = a >>> 8;
15232            d[b + 38 | 0] = a >>> 16;
15233            d[b + 39 | 0] = a >>> 24;
15234            d[b | 0] = c;
15235            d[b + 1 | 0] = c >>> 8;
15236            d[b + 2 | 0] = c >>> 16;
15237            d[b + 3 | 0] = c >>> 24;
15238            d[b + 4 | 0] = a;
15239            d[b + 5 | 0] = a >>> 8;
15240            d[b + 6 | 0] = a >>> 16;
15241            d[b + 7 | 0] = a >>> 24;
15242          }
15243          function fa(a) {
15244            var b = 0,
15245              c = 0,
15246              d = 0,
15247              e = 0,
15248              h = 0,
15249              j = 0,
15250              k = 0,
15251              m = 0,
15252              n = 0,
15253              o = 0,
15254              p = 0,
15255              q = 0,
15256              r = 0,
15257              s = 0,
15258              t = 0,
15259              u = 0,
15260              v = 0,
15261              w = 0,
15262              x = 0;
15263            q = 2;
15264            m = f[a >> 2];
15265            a: {
15266              if (m >>> 0 > 12) {
15267                break a;
15268              }
15269              j = f[a + 8 >> 2];
15270              e = f[a + 4 >> 2];
15271              b: {
15272                c: {
15273                  if (m >>> 0 >= 11) {
15274                    c = f[a + 40 >> 2];
15275                    d = c >> 31;
15276                    k = f[a + 36 >> 2];
15277                    b = k >> 31;
15278                    o = f[a + 32 >> 2];
15279                    h = o >> 31;
15280                    r = d ^ c + d;
15281                    c = (e + 1 | 0) / 2 | 0;
15282                    v = (r | 0) >= (c | 0);
15283                    k = b ^ b + k;
15284                    w = (k | 0) >= (c | 0);
15285                    b = h ^ h + o;
15286                    x = (b | 0) >= (e | 0);
15287                    d = e;
15288                    h = j + -1 | 0;
15289                    o = h;
15290                    s = h >> 31;
15291                    n = xf(h, s, b, 0);
15292                    h = d + n | 0;
15293                    t = d >> 31;
15294                    b = t + N | 0;
15295                    b = h >>> 0 < n >>> 0 ? b + 1 | 0 : b;
15296                    p = !b & h >>> 0 <= i[a + 48 >> 2] | b >>> 0 < 0;
15297                    b = c;
15298                    j = ((j + 1 | 0) / 2 | 0) + -1 | 0;
15299                    h = j;
15300                    n = h >> 31;
15301                    k = xf(h, n, k, 0);
15302                    j = b + k | 0;
15303                    u = b >> 31;
15304                    c = u + N | 0;
15305                    c = j >>> 0 < k >>> 0 ? c + 1 | 0 : c;
15306                    p = p & (!c & j >>> 0 <= i[a + 52 >> 2] | c >>> 0 < 0);
15307                    j = xf(r, 0, h, n) + b | 0;
15308                    c = u + N | 0;
15309                    c = j >>> 0 < b >>> 0 ? c + 1 | 0 : c;
15310                    b = j;
15311                    b = v & (w & (x & (p & (!c & b >>> 0 <= i[a + 56 >> 2] | c >>> 0 < 0)))) & f[a + 16 >> 2] != 0 & f[a + 20 >> 2] != 0 & f[a + 24 >> 2] != 0;
15312                    if ((m | 0) != 12) {
15313                      break c;
15314                    }
15315                    if (!f[a + 28 >> 2]) {
15316                      break a;
15317                    }
15318                    m = f[a + 44 >> 2];
15319                    c = m >> 31;
15320                    c = c ^ c + m;
15321                    if (!(b & (c | 0) >= (e | 0))) {
15322                      break a;
15323                    }
15324                    e = xf(c, 0, o, s) + d | 0;
15325                    b = t + N | 0;
15326                    b = e >>> 0 < d >>> 0 ? b + 1 | 0 : b;
15327                    d = e;
15328                    if (!b & d >>> 0 <= i[a + 60 >> 2] | b >>> 0 < 0) {
15329                      break b;
15330                    }
15331                    break a;
15332                  }
15333                  if (!f[a + 16 >> 2]) {
15334                    break a;
15335                  }
15336                  b = f[a + 20 >> 2];
15337                  d = b >> 31;
15338                  b = d ^ b + d;
15339                  d = l(g[m + 1157 | 0], e);
15340                  if ((b | 0) < (d | 0)) {
15341                    break a;
15342                  }
15343                  e = j + -1 | 0;
15344                  e = xf(e, e >> 31, b, 0);
15345                  b = e + d | 0;
15346                  d = N + (d >> 31) | 0;
15347                  d = b >>> 0 < e >>> 0 ? d + 1 | 0 : d;
15348                  if (!d & b >>> 0 <= i[a + 24 >> 2] | d >>> 0 < 0) {
15349                    break b;
15350                  }
15351                  break a;
15352                }
15353                if (!b) {
15354                  break a;
15355                }
15356              }
15357              q = 0;
15358            }
15359            return q;
15360          }
15361          function wf(a, b, c, d) {
15362            var e = 0,
15363              f = 0,
15364              g = 0,
15365              h = 0,
15366              i = 0,
15367              j = 0,
15368              k = 0,
15369              l = 0,
15370              m = 0,
15371              n = 0,
15372              p = 0;
15373            a: {
15374              b: {
15375                c: {
15376                  d: {
15377                    e: {
15378                      f: {
15379                        g: {
15380                          h: {
15381                            i: {
15382                              j: {
15383                                g = b;
15384                                if (g) {
15385                                  e = c;
15386                                  if (!e) {
15387                                    break j;
15388                                  }
15389                                  f = d;
15390                                  if (!f) {
15391                                    break i;
15392                                  }
15393                                  f = o(f) - o(g) | 0;
15394                                  if (f >>> 0 <= 31) {
15395                                    break h;
15396                                  }
15397                                  break b;
15398                                }
15399                                if ((d | 0) == 1 & c >>> 0 >= 0 | d >>> 0 > 1) {
15400                                  break b;
15401                                }
15402                                b = (a >>> 0) / (c >>> 0) | 0;
15403                                N = 0;
15404                                return b;
15405                              }
15406                              e = d;
15407                              if (!a) {
15408                                break g;
15409                              }
15410                              if (!e) {
15411                                break f;
15412                              }
15413                              if (e + -1 & e) {
15414                                break f;
15415                              }
15416                              a = g >>> (Bf(e) & 31) | 0;
15417                              N = 0;
15418                              return a;
15419                            }
15420                            if (!(e + -1 & e)) {
15421                              break e;
15422                            }
15423                            j = (o(e) + 33 | 0) - o(g) | 0;
15424                            h = 0 - j | 0;
15425                            break c;
15426                          }
15427                          j = f + 1 | 0;
15428                          h = 63 - f | 0;
15429                          break c;
15430                        }
15431                        a = (g >>> 0) / (e >>> 0) | 0;
15432                        N = 0;
15433                        return a;
15434                      }
15435                      f = o(e) - o(g) | 0;
15436                      if (f >>> 0 < 31) {
15437                        break d;
15438                      }
15439                      break b;
15440                    }
15441                    if ((e | 0) == 1) {
15442                      break a;
15443                    }
15444                    c = a;
15445                    a = Bf(e);
15446                    d = a & 31;
15447                    if (32 <= (a & 63) >>> 0) {
15448                      f = 0;
15449                      a = b >>> d | 0;
15450                    } else {
15451                      f = b >>> d | 0;
15452                      a = ((1 << d) - 1 & b) << 32 - d | c >>> d;
15453                    }
15454                    N = f;
15455                    return a;
15456                  }
15457                  j = f + 1 | 0;
15458                  h = 63 - f | 0;
15459                }
15460                e = b;
15461                g = a;
15462                f = j & 63;
15463                i = f & 31;
15464                if (32 <= (f & 63) >>> 0) {
15465                  f = 0;
15466                  l = e >>> i | 0;
15467                } else {
15468                  f = e >>> i | 0;
15469                  l = ((1 << i) - 1 & e) << 32 - i | g >>> i;
15470                }
15471                a = h & 63;
15472                h = a & 31;
15473                if (32 <= (a & 63) >>> 0) {
15474                  e = g << h;
15475                  a = 0;
15476                } else {
15477                  e = (1 << h) - 1 & g >>> 32 - h | b << h;
15478                  a = g << h;
15479                }
15480                b = e;
15481                if (j) {
15482                  g = d + -1 | 0;
15483                  e = c + -1 | 0;
15484                  if ((e | 0) != -1) {
15485                    g = g + 1 | 0;
15486                  }
15487                  h = e;
15488                  while (1) {
15489                    e = l;
15490                    k = f << 1 | e >>> 31;
15491                    f = e << 1 | b >>> 31;
15492                    m = k;
15493                    e = k;
15494                    k = f;
15495                    i = g - ((h >>> 0 < f >>> 0) + e | 0) | 0;
15496                    e = i >> 31;
15497                    i = i >> 31;
15498                    f = c & i;
15499                    l = k - f | 0;
15500                    f = m - ((d & e) + (k >>> 0 < f >>> 0) | 0) | 0;
15501                    e = b << 1 | a >>> 31;
15502                    a = n | a << 1;
15503                    b = e | p;
15504                    m = 0;
15505                    k = i & 1;
15506                    n = k;
15507                    j = j + -1 | 0;
15508                    if (j) {
15509                      continue;
15510                    }
15511                    break;
15512                  }
15513                }
15514                N = m | (b << 1 | a >>> 31);
15515                return k | a << 1;
15516              }
15517              a = 0;
15518              b = 0;
15519            }
15520            N = b;
15521            return a;
15522          }
15523          function Nd(a, b, c, e, f) {
15524            a = a | 0;
15525            b = b | 0;
15526            c = c | 0;
15527            e = e | 0;
15528            f = f | 0;
15529            var h = 0,
15530              i = 0,
15531              j = 0,
15532              k = 0,
15533              m = 0,
15534              n = 0;
15535            m = f << 1 & -4;
15536            if (m) {
15537              m = e + m | 0;
15538              while (1) {
15539                i = g[c | 0];
15540                h = l(g[a | 0], 19077) >>> 8 | 0;
15541                n = g[b | 0];
15542                j = h + (l(n, 33050) >>> 8 | 0) | 0;
15543                k = j + -17685 | 0;
15544                d[e + 1 | 0] = (k >>> 0 < 16384 ? k >>> 6 | 0 : j >>> 0 < 17685 ? 0 : 240) | 15;
15545                j = h + (l(i, 26149) >>> 8 | 0) | 0;
15546                k = j + -14234 | 0;
15547                i = h - (l(n, 6419) >>> 8 | 0) - (l(i, 13320) >>> 8) | 0;
15548                h = i + 8708 | 0;
15549                d[e | 0] = (k >>> 0 < 16384 ? k >>> 6 | 0 : j >>> 0 < 14234 ? 0 : 240) & 240 | (h >>> 0 < 16384 ? h >>> 10 | 0 : (i | 0) < -8708 ? 0 : 15);
15550                i = g[c | 0];
15551                h = l(g[a + 1 | 0], 19077) >>> 8 | 0;
15552                n = g[b | 0];
15553                j = h + (l(n, 33050) >>> 8 | 0) | 0;
15554                k = j + -17685 | 0;
15555                d[e + 3 | 0] = (k >>> 0 < 16384 ? k >>> 6 | 0 : j >>> 0 < 17685 ? 0 : 240) | 15;
15556                j = h + (l(i, 26149) >>> 8 | 0) | 0;
15557                k = j + -14234 | 0;
15558                i = h - (l(n, 6419) >>> 8 | 0) - (l(i, 13320) >>> 8) | 0;
15559                h = i + 8708 | 0;
15560                d[e + 2 | 0] = (k >>> 0 < 16384 ? k >>> 6 | 0 : j >>> 0 < 14234 ? 0 : 240) & 240 | (h >>> 0 < 16384 ? h >>> 10 | 0 : (i | 0) < -8708 ? 0 : 15);
15561                c = c + 1 | 0;
15562                b = b + 1 | 0;
15563                a = a + 2 | 0;
15564                e = e + 4 | 0;
15565                if ((m | 0) != (e | 0)) {
15566                  continue;
15567                }
15568                break;
15569              }
15570              e = m;
15571            }
15572            if (f & 1) {
15573              c = g[c | 0];
15574              a = l(g[a | 0], 19077) >>> 8 | 0;
15575              b = g[b | 0];
15576              f = a + (l(b, 33050) >>> 8 | 0) | 0;
15577              m = f + -17685 | 0;
15578              d[e + 1 | 0] = (m >>> 0 < 16384 ? m >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 240) | 15;
15579              m = e;
15580              e = a + (l(c, 26149) >>> 8 | 0) | 0;
15581              f = e + -14234 | 0;
15582              a = a - (l(b, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
15583              b = a + 8708 | 0;
15584              d[m | 0] = (f >>> 0 < 16384 ? f >>> 6 | 0 : e >>> 0 < 14234 ? 0 : 240) & 240 | (b >>> 0 < 16384 ? b >>> 10 | 0 : (a | 0) < -8708 ? 0 : 15);
15585            }
15586          }
15587          function pa(a, b, c, d) {
15588            var e = 0,
15589              i = 0,
15590              j = 0,
15591              k = 0,
15592              l = 0,
15593              m = 0,
15594              n = 0,
15595              o = 0,
15596              p = 0,
15597              q = 0,
15598              r = 0,
15599              s = 0;
15600            o = L - 592 | 0;
15601            L = o;
15602            i = b + 24 | 0;
15603            j = he(i, 1);
15604            l = $e(c, 0, a << 2);
15605            a: {
15606              b: {
15607                c: {
15608                  d: {
15609                    if (j) {
15610                      c = he(i, 1);
15611                      r = (he(i, he(i, 1) ? 8 : 1) << 2) + l | 0, s = 1, f[r >> 2] = s;
15612                      if ((c | 0) != 1) {
15613                        break d;
15614                      }
15615                      r = (he(i, 8) << 2) + l | 0, s = 1, f[r >> 2] = s;
15616                      break d;
15617                    }
15618                    n = $e(o, 0, 76);
15619                    j = he(i, 4) + 4 | 0;
15620                    if ((j | 0) > 19) {
15621                      break b;
15622                    }
15623                    c = 0;
15624                    if ((j | 0) > 0) {
15625                      while (1) {
15626                        r = (g[c + 1232 | 0] << 2) + n | 0, s = he(i, 3), f[r >> 2] = s;
15627                        c = c + 1 | 0;
15628                        if ((j | 0) != (c | 0)) {
15629                          continue;
15630                        }
15631                        break;
15632                      }
15633                    }
15634                    if (!me(n + 80 | 0, 7, n, 19)) {
15635                      break c;
15636                    }
15637                    j = a;
15638                    if (he(i, 1)) {
15639                      j = he(i, (he(i, 3) << 1) + 2 | 0) + 2 | 0;
15640                      if ((j | 0) > (a | 0)) {
15641                        break c;
15642                      }
15643                    }
15644                    if ((a | 0) < 1) {
15645                      break d;
15646                    }
15647                    p = 8;
15648                    c = 0;
15649                    while (1) {
15650                      if (!j) {
15651                        break d;
15652                      }
15653                      e = f[b + 44 >> 2];
15654                      if ((e | 0) >= 32) {
15655                        ge(i);
15656                        e = f[b + 44 >> 2];
15657                      }
15658                      q = e;
15659                      k = f[b + 28 >> 2];
15660                      m = e & 63;
15661                      e = m & 31;
15662                      e = (n + 80 | 0) + (((32 <= (m & 63) >>> 0 ? k >>> e | 0 : ((1 << e) - 1 & k) << 32 - e | f[b + 24 >> 2] >>> e) & 127) << 2) | 0;
15663                      f[b + 44 >> 2] = q + g[e | 0];
15664                      k = h[e + 2 >> 1];
15665                      e: {
15666                        if (k >>> 0 <= 15) {
15667                          f[(c << 2) + l >> 2] = k;
15668                          p = k ? k : p;
15669                          c = c + 1 | 0;
15670                          break e;
15671                        }
15672                        e = k + -16 | 0;
15673                        m = he(i, g[e + 1251 | 0]) + g[e + 1254 | 0] | 0;
15674                        e = m + c | 0;
15675                        if ((e | 0) > (a | 0)) {
15676                          break c;
15677                        }
15678                        if ((m | 0) < 1) {
15679                          break e;
15680                        }
15681                        k = (k | 0) == 16 ? p : 0;
15682                        while (1) {
15683                          f[(c << 2) + l >> 2] = k;
15684                          c = c + 1 | 0;
15685                          if ((e | 0) != (c | 0)) {
15686                      
15686      continue;
15687                          }
15688                          break;
15689                        }
15690                        c = e;
15691                      }
15692                      j = j + -1 | 0;
15693                      if ((c | 0) < (a | 0)) {
15694                        continue;
15695                      }
15696                      break;
15697                    }
15698                  }
15699                  if (f[b + 48 >> 2]) {
15700                    break b;
15701                  }
15702                  c = me(d, 8, l, a);
15703                  if (c) {
15704                    break a;
15705                  }
15706                  break b;
15707                }
15708                f[b >> 2] = 3;
15709              }
15710              f[b >> 2] = 3;
15711              c = 0;
15712            }
15713            L = o + 592 | 0;
15714            return c;
15715          }
15716          function _e(a, b, c) {
15717            a = a | 0;
15718            b = b | 0;
15719            c = c | 0;
15720            var e = 0,
15721              h = 0,
15722              i = 0;
15723            if (c >>> 0 >= 512) {
15724              I(a | 0, b | 0, c | 0) | 0;
15725              return a | 0;
15726            }
15727            h = a + c | 0;
15728            a: {
15729              if (!((a ^ b) & 3)) {
15730                b: {
15731                  if ((c | 0) < 1) {
15732                    c = a;
15733                    break b;
15734                  }
15735                  if (!(a & 3)) {
15736                    c = a;
15737                    break b;
15738                  }
15739                  c = a;
15740                  while (1) {
15741                    d[c | 0] = g[b | 0];
15742                    b = b + 1 | 0;
15743                    c = c + 1 | 0;
15744                    if (c >>> 0 >= h >>> 0) {
15745                      break b;
15746                    }
15747                    if (c & 3) {
15748                      continue;
15749                    }
15750                    break;
15751                  }
15752                }
15753                e = h & -4;
15754                c: {
15755                  if (e >>> 0 < 64) {
15756                    break c;
15757                  }
15758                  i = e + -64 | 0;
15759                  if (c >>> 0 > i >>> 0) {
15760                    break c;
15761                  }
15762                  while (1) {
15763                    f[c >> 2] = f[b >> 2];
15764                    f[c + 4 >> 2] = f[b + 4 >> 2];
15765                    f[c + 8 >> 2] = f[b + 8 >> 2];
15766                    f[c + 12 >> 2] = f[b + 12 >> 2];
15767                    f[c + 16 >> 2] = f[b + 16 >> 2];
15768                    f[c + 20 >> 2] = f[b + 20 >> 2];
15769                    f[c + 24 >> 2] = f[b + 24 >> 2];
15770                    f[c + 28 >> 2] = f[b + 28 >> 2];
15771                    f[c + 32 >> 2] = f[b + 32 >> 2];
15772                    f[c + 36 >> 2] = f[b + 36 >> 2];
15773                    f[c + 40 >> 2] = f[b + 40 >> 2];
15774                    f[c + 44 >> 2] = f[b + 44 >> 2];
15775                    f[c + 48 >> 2] = f[b + 48 >> 2];
15776                    f[c + 52 >> 2] = f[b + 52 >> 2];
15777                    f[c + 56 >> 2] = f[b + 56 >> 2];
15778                    f[c + 60 >> 2] = f[b + 60 >> 2];
15779                    b = b - -64 | 0;
15780                    c = c - -64 | 0;
15781                    if (c >>> 0 <= i >>> 0) {
15782                      continue;
15783                    }
15784                    break;
15785                  }
15786                }
15787                if (c >>> 0 >= e >>> 0) {
15788                  break a;
15789                }
15790                while (1) {
15791                  f[c >> 2] = f[b >> 2];
15792                  b = b + 4 | 0;
15793                  c = c + 4 | 0;
15794                  if (c >>> 0 < e >>> 0) {
15795                    continue;
15796                  }
15797                  break;
15798                }
15799                break a;
15800              }
15801              if (h >>> 0 < 4) {
15802                c = a;
15803                break a;
15804              }
15805              e = h + -4 | 0;
15806              if (e >>> 0 < a >>> 0) {
15807                c = a;
15808                break a;
15809              }
15810              c = a;
15811              while (1) {
15812                d[c | 0] = g[b | 0];
15813                d[c + 1 | 0] = g[b + 1 | 0];
15814                d[c + 2 | 0] = g[b + 2 | 0];
15815                d[c + 3 | 0] = g[b + 3 | 0];
15816                b = b + 4 | 0;
15817                c = c + 4 | 0;
15818                if (c >>> 0 <= e >>> 0) {
15819                  continue;
15820                }
15821                break;
15822              }
15823            }
15824            if (c >>> 0 < h >>> 0) {
15825              while (1) {
15826                d[c | 0] = g[b | 0];
15827                b = b + 1 | 0;
15828                c = c + 1 | 0;
15829                if ((h | 0) != (c | 0)) {
15830                  continue;
15831                }
15832                break;
15833              }
15834            }
15835            return a | 0;
15836          }
15837          function Td(a, b, c, e, f) {
15838            a = a | 0;
15839            b = b | 0;
15840            c = c | 0;
15841            e = e | 0;
15842            f = f | 0;
15843            var h = 0,
15844              i = 0,
15845              j = 0,
15846              k = 0,
15847              m = 0,
15848              n = 0;
15849            i = f & -2;
15850            if (i) {
15851              i = l(i, 3) + e | 0;
15852              while (1) {
15853                j = g[c | 0];
15854                h = l(g[a | 0], 19077) >>> 8 | 0;
15855                n = g[b | 0];
15856                k = h + (l(n, 33050) >>> 8 | 0) | 0;
15857                m = k + -17685 | 0;
15858                d[e + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 17685 ? 0 : 255;
15859                k = h + (l(j, 26149) >>> 8 | 0) | 0;
15860                m = k + -14234 | 0;
15861                d[e | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 14234 ? 0 : 255;
15862                j = h - (l(n, 6419) >>> 8 | 0) - (l(j, 13320) >>> 8) | 0;
15863                h = j + 8708 | 0;
15864                d[e + 1 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : (j | 0) < -8708 ? 0 : 255;
15865                j = g[c | 0];
15866                h = l(g[a + 1 | 0], 19077) >>> 8 | 0;
15867                n = g[b | 0];
15868                k = h + (l(n, 33050) >>> 8 | 0) | 0;
15869                m = k + -17685 | 0;
15870                d[e + 5 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 17685 ? 0 : 255;
15871                k = h + (l(j, 26149) >>> 8 | 0) | 0;
15872                m = k + -14234 | 0;
15873                d[e + 3 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 14234 ? 0 : 255;
15874                j = h - (l(n, 6419) >>> 8 | 0) - (l(j, 13320) >>> 8) | 0;
15875                h = j + 8708 | 0;
15876                d[e + 4 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : (j | 0) < -8708 ? 0 : 255;
15877                c = c + 1 | 0;
15878                b = b + 1 | 0;
15879                a = a + 2 | 0;
15880                e = e + 6 | 0;
15881                if ((i | 0) != (e | 0)) {
15882                  continue;
15883                }
15884                break;
15885              }
15886              e = i;
15887            }
15888            if (f & 1) {
15889              c = g[c | 0];
15890              a = l(g[a | 0], 19077) >>> 8 | 0;
15891              b = g[b | 0];
15892              f = a + (l(b, 33050) >>> 8 | 0) | 0;
15893              i = f + -17685 | 0;
15894              d[e + 2 | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
15895              f = a + (l(c, 26149) >>> 8 | 0) | 0;
15896              i = f + -14234 | 0;
15897              d[e | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
15898              a = a - (l(b, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
15899              b = a + 8708 | 0;
15900              d[e + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
15901            }
15902          }
15903          function Sd(a, b, c, e, f) {
15904            a = a | 0;
15905            b = b | 0;
15906            c = c | 0;
15907            e = e | 0;
15908            f = f | 0;
15909            var h = 0,
15910              i = 0,
15911              j = 0,
15912              k = 0,
15913              m = 0,
15914              n = 0;
15915            i = f & -2;
15916            if (i) {
15917              i = l(i, 3) + e | 0;
15918              while (1) {
15919                j = g[b | 0];
15920                h = l(g[a | 0], 19077) >>> 8 | 0;
15921                n = g[c | 0];
15922                k = h + (l(n, 26149) >>> 8 | 0) | 0;
15923                m = k + -14234 | 0;
15924                d[e + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 14234 ? 0 : 255;
15925                k = h + (l(j, 33050) >>> 8 | 0) | 0;
15926                m = k + -17685 | 0;
15927                d[e | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 17685 ? 0 : 255;
15928                j = h - (l(j, 6419) >>> 8 | 0) - (l(n, 13320) >>> 8) | 0;
15929                h = j + 8708 | 0;
15930                d[e + 1 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : (j | 0) < -8708 ? 0 : 255;
15931                j = g[b | 0];
15932                h = l(g[a + 1 | 0], 19077) >>> 8 | 0;
15933                n = g[c | 0];
15934                k = h + (l(n, 26149) >>> 8 | 0) | 0;
15935                m = k + -14234 | 0;
15936                d[e + 5 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 14234 ? 0 : 255;
15937                k = h + (l(j, 33050) >>> 8 | 0) | 0;
15938                m = k + -17685 | 0;
15939                d[e + 3 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 17685 ? 0 : 255;
15940                j = h - (l(j, 6419) >>> 8 | 0) - (l(n, 13320) >>> 8) | 0;
15941                h = j + 8708 | 0;
15942                d[e + 4 | 0] = h >>> 0 < 16384 ? h >>> 6 | 0 : (j | 0) < -8708 ? 0 : 255;
15943                c = c + 1 | 0;
15944                b = b + 1 | 0;
15945                a = a + 2 | 0;
15946                e = e + 6 | 0;
15947                if ((i | 0) != (e | 0)) {
15948                  continue;
15949                }
15950                break;
15951              }
15952              e = i;
15953            }
15954            if (f & 1) {
15955              b = g[b | 0];
15956              a = l(g[a | 0], 19077) >>> 8 | 0;
15957              c = g[c | 0];
15958              f = a + (l(c, 26149) >>> 8 | 0) | 0;
15959              i = f + -14234 | 0;
15960              d[e + 2 | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : f >>> 0 < 14234 ? 0 : 255;
15961              f = a + (l(b, 33050) >>> 8 | 0) | 0;
15962              i = f + -17685 | 0;
15963              d[e | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : f >>> 0 < 17685 ? 0 : 255;
15964              a = a - (l(b, 6419) >>> 8 | 0) - (l(c, 13320) >>> 8) | 0;
15965              b = a + 8708 | 0;
15966              d[e + 1 | 0] = b >>> 0 < 16384 ? b >>> 6 | 0 : (a | 0) < -8708 ? 0 : 255;
15967            }
15968          }
15969          function gb(a, b) {
15970            var e = 0,
15971              g = 0,
15972              h = 0;
15973            a: {
15974              if (!a) {
15975                break a;
15976              }
15977              if (!b) {
15978                if (f[a >> 2]) {
15979                  break a;
15980                }
15981                f[a >> 2] = 2;
15982                f[a + 4 >> 2] = 0;
15983                f[a + 8 >> 2] = 5281;
15984                return 0;
15985              }
15986              if (!f[a + 4 >> 2]) {
15987                if (!eb(a, b)) {
15988                  break a;
15989                }
15990              }
15991              b: {
15992                if (!Wa(a, b)) {
15993                  c: {
15994                    if (!Ya(a, b)) {
15995                      break c;
15996                    }
15997                    f[a + 2300 >> 2] = 0;
15998                    d: {
15999                      if (f[a + 308 >> 2] >= 1) {
16000                        h = a + 12 | 0;
16001                        while (1) {
16002                          g = f[a + 312 >> 2];
16003                          if (!Pa(h, a)) {
16004                            break d;
16005                          }
16006                          if (f[a + 2296 >> 2] < f[a + 288 >> 2]) {
16007                            e = (l(e & g, 28) + a | 0) + 316 | 0;
16008                            while (1) {
16009                              if (!fb(a, e)) {
16010                                e = 0;
16011                                if (f[a >> 2]) {
16012                                  break c;
16013                                }
16014                                f[a >> 2] = 7;
16015                                f[a + 4 >> 2] = 0;
16016                                f[a + 8 >> 2] = 5412;
16017                                break c;
16018                              }
16019                              g = f[a + 2296 >> 2] + 1 | 0;
16020                              f[a + 2296 >> 2] = g;
16021                              if ((g | 0) < f[a + 288 >> 2]) {
16022                                continue;
16023                              }
16024                              break;
16025                            }
16026                          }
16027                          e = f[a + 2256 >> 2] + -2 | 0;
16028                          d[e | 0] = 0;
16029                          d[e + 1 | 0] = 0;
16030                          f[a + 2296 >> 2] = 0;
16031                          f[a + 2248 >> 2] = 0;
16032                          if (!Ta(a, b)) {
16033                            e = 0;
16034                            if (f[a >> 2]) {
16035                              break c;
16036                            }
16037                            f[a >> 2] = 6;
16038                            f[a + 4 >> 2] = 0;
16039                            f[a + 8 >> 2] = 5447;
16040                            break c;
16041                          }
16042                          e = f[a + 2300 >> 2] + 1 | 0;
16043                          f[a + 2300 >> 2] = e;
16044                          if ((e | 0) < f[a + 308 >> 2]) {
16045                            continue;
16046                          }
16047                          break;
16048                        }
16049                      }
16050                      e: {
16051                        if (f[a + 148 >> 2] < 1) {
16052                          break e;
16053                        }
16054                        if (c[f[2559]](a + 124 | 0) | 0) {
16055                          break e;
16056                        }
16057                        e = 0;
16058                        break c;
16059                      }
16060                      e = 1;
16061                      break c;
16062                    }
16063                    e = 0;
16064                    if (f[a >> 2]) {
16065                      break c;
16066                    }
16067                    f[a >> 2] = 7;
16068                    f[a + 4 >> 2] = 0;
16069                    f[a + 8 >> 2] = 5371;
16070                  }
16071                  if (Xa(a, b) & e) {
16072                    break b;
16073                  }
16074                }
16075                c[f[2562]](a + 124 | 0);
16076                Na(a);
16077                Xe(f[a + 2288 >> 2]);
16078                f[a + 2288 >> 2] = 0;
16079                f[a + 2292 >> 2] = 0;
16080                f[a + 12 >> 2] = 0;
16081                f[a + 16 >> 2] = 0;
16082                f[a + 20 >> 2] = 0;
16083                f[a + 24 >> 2] = 0;
16084                f[a + 28 >> 2] = 0;
16085                f[a + 32 >> 2] = 0;
16086                f[a + 36 >> 2] = 0;
16087                f[a + 4 >> 2] = 0;
16088                return 0;
16089              }
16090              f[a + 4 >> 2] = 0;
16091              e = 1;
16092            }
16093            return e;
16094          }
16095          function Ra(a) {
16096            var b = 0,
16097              c = 0,
16098              e = 0,
16099              i = 0,
16100              j = 0,
16101              k = 0,
16102              m = 0,
16103              n = 0,
16104              o = 0,
16105              p = 0,
16106              q = 0,
16107              r = 0,
16108              s = 0,
16109              t = 0,
16110              u = 0,
16111              v = 0;
16112            b = a + 12 | 0;
16113            m = de(b, 7);
16114            if (de(b, 1)) {
16115              q = ee(b, 4);
16116            }
16117            if (de(b, 1)) {
16118              r = ee(b, 4);
16119            }
16120            if (de(b, 1)) {
16121              s = ee(b, 4);
16122            }
16123            if (de(b, 1)) {
16124              t = ee(b, 4);
16125            }
16126            if (de(b, 1)) {
16127              u = ee(b, 4);
16128            }
16129            v = f[a + 104 >> 2];
16130            k = a + 776 | 0;
16131            n = k + 24 | 0;
16132            o = k + 16 | 0;
16133            p = k + 8 | 0;
16134            while (1) {
16135              a: {
16136                b: {
16137                  if (v) {
16138                    b = d[(a + j | 0) + 116 | 0] + (f[a + 112 >> 2] ? 0 : m) | 0;
16139                    break b;
16140                  }
16141                  b = m;
16142                  if (!j) {
16143                    break b;
16144                  }
16145                  c = f[n + 4 >> 2];
16146                  b = (j << 5) + a | 0;
16147                  f[b + 800 >> 2] = f[n >> 2];
16148                  f[b + 804 >> 2] = c;
16149                  c = f[o + 4 >> 2];
16150                  f[b + 792 >> 2] = f[o >> 2];
16151                  f[b + 796 >> 2] = c;
16152                  c = f[p + 4 >> 2];
16153                  f[b + 784 >> 2] = f[p >> 2];
16154                  f[b + 788 >> 2] = c;
16155                  c = f[k + 4 >> 2];
16156                  f[b + 776 >> 2] = f[k >> 2];
16157                  f[b + 780 >> 2] = c;
16158                  break a;
16159                }
16160                c = (j << 5) + a | 0;
16161                i = b + u | 0;
16162                f[c + 800 >> 2] = i;
16163                e = b + t | 0;
16164                e = (e | 0) < 117 ? e : 117;
16165                f[c + 792 >> 2] = g[((e | 0) > 0 ? e : 0) + 4448 | 0];
16166                e = (b | 0) < 127 ? b : 127;
16167                f[c + 780 >> 2] = h[(((e | 0) > 0 ? e : 0) << 1) + 4576 >> 1];
16168                e = b + q | 0;
16169                e = (e | 0) < 127 ? e : 127;
16170                f[c + 776 >> 2] = g[((e | 0) > 0 ? e : 0) + 4448 | 0];
16171                i = (i | 0) < 127 ? i : 127;
16172                f[c + 796 >> 2] = h[(((i | 0) > 0 ? i : 0) << 1) + 4576 >> 1];
16173                i = b + r | 0;
16174                i = (i | 0) < 127 ? i : 127;
16175                f[c + 784 >> 2] = g[((i | 0) > 0 ? i : 0) + 4448 | 0] << 1;
16176                b = b + s | 0;
16177                b = (b | 0) < 127 ? b : 127;
16178                b = l(h[(((b | 0) > 0 ? b : 0) << 1) + 4576 >> 1], 101581);
16179                f[c + 788 >> 2] = b >>> 0 < 524288 ? 8 : b >>> 16 | 0;
16180              }
16181              j = j + 1 | 0;
16182              if ((j | 0) != 4) {
16183                continue;
16184              }
16185              break;
16186            }
16187          }
16188          function sc(a, b, c, e, h, i, j) {
16189            var k = 0,
16190              m = 0,
16191              n = 0,
16192              o = 0,
16193              p = 0,
16194              q = 0,
16195              r = 0,
16196              s = 0,
16197              t = 0,
16198              u = 0,
16199              v = 0,
16200              w = 0,
16201              x = 0,
16202              y = 0,
16203              z = 0,
16204              A = 0,
16205              B = 0,
16206              C = 0,
16207              D = 0,
16208              E = 0,
16209              F = 0,
16210              G = 0,
16211              H = 0,
16212              I = 0;
16213            if ((e | 0) >= 1) {
16214              D = h << 1 | 1;
16215              E = l(b, 3);
16216              F = 0 - b | 0;
16217              G = l(b, -3);
16218              H = 0 - (b << 2) | 0;
16219              v = b << 1;
16220              I = 0 - v | 0;
16221              w = f[2547];
16222              n = f[2548];
16223              x = f[2546];
16224              o = f[2549];
16225              while (1) {
16226                h = e;
16227                y = a + I | 0;
16228                m = g[y | 0];
16229                z = a + b | 0;
16230                s = g[z | 0];
16231                k = m - s | 0;
16232                t = a + F | 0;
16233                e = g[t | 0];
16234                r = g[a | 0];
16235                a: {
16236                  if ((g[k + o | 0] + (g[o + (e - r | 0) | 0] << 2) | 0) > (D | 0)) {
16237                    break a;
16238                  }
16239                  A = a + G | 0;
16240                  q = g[A | 0];
16241                  if (g[o + (g[a + H | 0] - q | 0) | 0] > (i | 0) | g[o + (q - m | 0) | 0] > (i | 0)) {
16242                    break a;
16243                  }
16244                  p = g[o + (m - e | 0) | 0];
16245                  if ((p | 0) > (i | 0)) {
16246                    break a;
16247                  }
16248                  B = a + v | 0;
16249                  u = g[B | 0];
16250                  if (g[o + (g[a + E | 0] - u | 0) | 0] > (i | 0) | g[o + (u - s | 0) | 0] > (i | 0)) {
16251                    break a;
16252                  }
16253                  C = g[o + (s - r | 0) | 0];
16254                  if ((C | 0) > (i | 0)) {
16255                    break a;
16256                  }
16257                  k = d[k + x | 0] + l(r - e | 0, 3) | 0;
16258                  if (!((C | 0) <= (j | 0) ? (p | 0) <= (j | 0) : 0)) {
16259                    m = d[(k + 4 >> 3) + w | 0];
16260                    d[t | 0] = g[(d[(k + 3 >> 3) + w | 0] + e | 0) + n | 0];
16261                    d[a | 0] = g[(r - m | 0) + n | 0];
16262                    break a;
16263                  }
16264                  p = q;
16265                  k = d[k + x | 0];
16266                  q = l(k, 9) + 63 >> 7;
16267                  d[A | 0] = g[(p + q | 0) + n | 0];
16268                  p = m;
16269                  m = l(k, 18) + 63 >> 7;
16270                  d[y | 0] = g[(p + m | 0) + n | 0];
16271                  p = e;
16272                  e = l(k, 27) + 63 >> 7;
16273                  d[t | 0] = g[(p + e | 0) + n | 0];
16274                  d[a | 0] = g[(r - e | 0) + n | 0];
16275                  d[z | 0] = g[(s - m | 0) + n | 0];
16276                  d[B | 0] = g[(u - q | 0) + n | 0];
16277                }
16278                e = h + -1 | 0;
16279                a = a + c | 0;
16280                if ((h | 0) > 1) {
16281                  continue;
16282                }
16283                break;
16284              }
16285            }
16286          }
16287          function na(a, b, c) {
16288            var d = 0,
16289              e = 0,
16290              h = 0,
16291              i = 0,
16292              j = 0,
16293              k = 0;
16294            d = Ae(1, 0, 272);
16295            if (!d) {
16296              return 0;
16297            }
16298            f[d >> 2] = 0;
16299            f[d + 4 >> 2] = 2;
16300            Lc();
16301            h = f[a >> 2];
16302            f[d + 100 >> 2] = h;
16303            e = f[a + 4 >> 2];
16304            f[d + 8 >> 2] = a + 24;
16305            f[d + 104 >> 2] = e;
16306            f[a + 28 >> 2] = e;
16307            f[a + 24 >> 2] = h;
16308            f[a - -64 >> 2] = a;
16309            f[d >> 2] = 0;
16310            fe(d + 24 | 0, b, c);
16311            a: {
16312              b: {
16313                c: {
16314                  if (!oa(f[a >> 2], f[a + 4 >> 2], 1, d, 0)) {
16315                    break c;
16316                  }
16317                  d: {
16318                    e: {
16319                      if (f[d + 176 >> 2] != 1 | f[d + 180 >> 2] != 3 | f[d + 120 >> 2] > 0) {
16320                        break e;
16321                      }
16322                      c = f[d + 164 >> 2];
16323                      if ((c | 0) < 1) {
16324                        break d;
16325                      }
16326                      b = f[d + 168 >> 2];
16327                      e = 0;
16328                      while (1) {
16329                        h = b + l(e, 548) | 0;
16330                        if (g[f[h + 4 >> 2]] | g[f[h + 8 >> 2]] | g[f[h + 12 >> 2]]) {
16331                          break e;
16332                        }
16333                        e = e + 1 | 0;
16334                        if ((c | 0) != (e | 0)) {
16335                          continue;
16336                        }
16337                        break;
16338                      }
16339                      break d;
16340                    }
16341                    f[a + 132 >> 2] = 0;
16342                    b = f[d + 104 >> 2];
16343                    c = b;
16344                    e = b >> 31;
16345                    b = f[d + 100 >> 2];
16346                    i = xf(c, e, b, b >> 31);
16347                    c = N;
16348                    k = d;
16349                    e = f[a >> 2];
16350                    b = e >> 31;
16351                    b = b << 4 | e >>> 28;
16352                    h = e << 4;
16353                    j = e & 65535;
16354                    e = j;
16355                    h = h + e | 0;
16356                    if (h >>> 0 < e >>> 0) {
16357                      b = b + 1 | 0;
16358                    }
16359                    e = h + i | 0;
16360                    b = b + c | 0;
16361                    b = ze(e, e >>> 0 < h >>> 0 ? b + 1 | 0 : b, 4);
16362                    f[k + 16 >> 2] = b;
16363                    if (b) {
16364                      break b;
16365                    }
16366                    f[d + 20 >> 2] = 0;
16367                    f[d >> 2] = 1;
16368                    break c;
16369                  }
16370                  f[a + 132 >> 2] = 1;
16371                  f[d + 20 >> 2] = 0;
16372                  b = f[d + 104 >> 2];
16373                  c = b;
16374                  e = b >> 31;
16375                  b = f[d + 100 >> 2];
16376                  b = ze(xf(c, e, b, b >> 31), N, 1);
16377                  f[d + 16 >> 2] = b;
16378                  if (b) {
16379                    break a;
16380                  }
16381                  f[d >> 2] = 1;
16382                }
16383                la(d);
16384                Xe(d);
16385                return 0;
16386              }
16387              f[d + 20 >> 2] = (b + (i << 2) | 0) + (j << 2);
16388            }
16389            f[a + 20 >> 2] = d;
16390            return 1;
16391          }
16392          function Pb(a, b, c) {
16393            a = a | 0;
16394            b = b | 0;
16395            c = c | 0;
16396            var e = 0,
16397              h = 0,
16398              i = 0,
16399              j = 0,
16400              k = 0,
16401              m = 0,
16402              n = 0,
16403              o = 0,
16404              p = 0,
16405              q = 0,
16406              r = 0,
16407              s = 0,
16408              t = 0,
16409              u = 0;
16410            q = 0 - b | 0;
16411            o = b << 2;
16412            m = o + a | 0;
16413            r = 0 - (b << 1) | 0;
16414            s = c << 1 | 1;
16415            a = f[2548];
16416            c = f[2547];
16417            t = f[2546];
16418            p = f[2549];
16419            while (1) {
16420              e = h + m | 0;
16421              j = e + q | 0;
16422              n = g[j | 0];
16423              k = g[e | 0];
16424              i = g[e + r | 0] - g[b + e | 0] | 0;
16425              if (((g[p + (n - k | 0) | 0] << 2) + g[i + p | 0] | 0) <= (s | 0)) {
16426                i = d[i + t | 0] + l(k - n | 0, 3) | 0;
16427                u = d[(i + 4 >> 3) + c | 0];
16428                d[j | 0] = g[(n + d[(i + 3 >> 3) + c | 0] | 0) + a | 0];
16429                d[e | 0] = g[(k - u | 0) + a | 0];
16430              }
16431              h = h + 1 | 0;
16432              if ((h | 0) != 16) {
16433                continue;
16434              }
16435              break;
16436            }
16437            m = m + o | 0;
16438            h = 0;
16439            while (1) {
16440              e = h + m | 0;
16441              j = e + q | 0;
16442              n = g[j | 0];
16443              k = g[e | 0];
16444              i = g[e + r | 0] - g[b + e | 0] | 0;
16445              if (((g[p + (n - k | 0) | 0] << 2) + g[i + p | 0] | 0) <= (s | 0)) {
16446                i = d[i + t | 0] + l(k - n | 0, 3) | 0;
16447                u = d[(i + 4 >> 3) + c | 0];
16448                d[j | 0] = g[(n + d[(i + 3 >> 3) + c | 0] | 0) + a | 0];
16449                d[e | 0] = g[(k - u | 0) + a | 0];
16450              }
16451              h = h + 1 | 0;
16452              if ((h | 0) != 16) {
16453                continue;
16454              }
16455              break;
16456            }
16457            n = m + o | 0;
16458            h = 0;
16459            while (1) {
16460              e = h + n | 0;
16461              k = e + q | 0;
16462              o = g[k | 0];
16463              m = g[e | 0];
16464              j = g[e + r | 0] - g[b + e | 0] | 0;
16465              if (((g[p + (o - m | 0) | 0] << 2) + g[j + p | 0] | 0) <= (s | 0)) {
16466                j = d[j + t | 0] + l(m - o | 0, 3) | 0;
16467                i = d[(j + 4 >> 3) + c | 0];
16468                d[k | 0] = g[(o + d[(j + 3 >> 3) + c | 0] | 0) + a | 0];
16469                d[e | 0] = g[(m - i | 0) + a | 0];
16470              }
16471              h = h + 1 | 0;
16472              if ((h | 0) != 16) {
16473                continue;
16474              }
16475              break;
16476            }
16477          }
16478          function Qb(a, b, c) {
16479            a = a | 0;
16480            b = b | 0;
16481            c = c | 0;
16482            var e = 0,
16483              h = 0,
16484              i = 0,
16485              j = 0,
16486              k = 0,
16487              m = 0,
16488              n = 0,
16489              o = 0,
16490              p = 0,
16491              q = 0,
16492              r = 0,
16493              s = 0;
16494            n = a + 4 | 0;
16495            q = c << 1 | 1;
16496            c = f[2548];
16497            o = f[2547];
16498            r = f[2546];
16499            p = f[2549];
16500            while (1) {
16501              e = n + l(b, h) | 0;
16502              j = e + -1 | 0;
16503              k = g[j | 0];
16504              m = g[e | 0];
16505              i = g[e + -2 | 0] - g[e + 1 | 0] | 0;
16506              if (((g[p + (k - m | 0) | 0] << 2) + g[i + p | 0] | 0) <= (q | 0)) {
16507                i = d[i + r | 0] + l(m - k | 0, 3) | 0;
16508                s = d[(i + 4 >> 3) + o | 0];
16509                d[j | 0] = g[(k + d[(i + 3 >> 3) + o | 0] | 0) + c | 0];
16510                d[e | 0] = g[(m - s | 0) + c | 0];
16511              }
16512              h = h + 1 | 0;
16513              if ((h | 0) != 16) {
16514                continue;
16515              }
16516              break;
16517            }
16518            n = a + 8 | 0;
16519            h = 0;
16520            while (1) {
16521              e = n + l(b, h) | 0;
16522              j = e + -1 | 0;
16523              k = g[j | 0];
16524              m = g[e | 0];
16525              i = g[e + -2 | 0] - g[e + 1 | 0] | 0;
16526              if (((g[p + (k - m | 0) | 0] << 2) + g[i + p | 0] | 0) <= (q | 0)) {
16527                i = d[i + r | 0] + l(m - k | 0, 3) | 0;
16528                s = d[(i + 4 >> 3) + o | 0];
16529                d[j | 0] = g[(k + d[(i + 3 >> 3) + o | 0] | 0) + c | 0];
16530                d[e | 0] = g[(m - s | 0) + c | 0];
16531              }
16532              h = h + 1 | 0;
16533              if ((h | 0) != 16) {
16534                continue;
16535              }
16536              break;
16537            }
16538            m = a + 12 | 0;
16539            h = 0;
16540            while (1) {
16541              a = m + l(b, h) | 0;
16542              n = a + -1 | 0;
16543              e = g[n | 0];
16544              k = g[a | 0];
16545              j = g[a + -2 | 0] - g[a + 1 | 0] | 0;
16546              if (((g[p + (e - k | 0) | 0] << 2) + g[j + p | 0] | 0) <= (q | 0)) {
16547                j = d[j + r | 0] + l(k - e | 0, 3) | 0;
16548                i = d[(j + 4 >> 3) + o | 0];
16549                d[n | 0] = g[(e + d[(j + 3 >> 3) + o | 0] | 0) + c | 0];
16550                d[a | 0] = g[(k - i | 0) + c | 0];
16551              }
16552              h = h + 1 | 0;
16553              if ((h | 0) != 16) {
16554                continue;
16555              }
16556              break;
16557            }
16558          }
16559          function Eb(a, b) {
16560            a = a | 0;
16561            b = b | 0;
16562            var c = 0;
16563            a = e[a >> 1] + 4 >> 3;
16564            c = a + g[b | 0] | 0;
16565            c = (c | 0) > 0 ? c : 0;
16566            d[b | 0] = (c | 0) < 255 ? c : 255;
16567            c = a + g[b + 1 | 0] | 0;
16568            c = (c | 0) > 0 ? c : 0;
16569            d[b + 1 | 0] = (c | 0) < 255 ? c : 255;
16570            c = a + g[b + 2 | 0] | 0;
16571            c = (c | 0) > 0 ? c : 0;
16572            d[b + 2 | 0] = (c | 0) < 255 ? c : 255;
16573            c = a + g[b + 3 | 0] | 0;
16574            c = (c | 0) > 0 ? c : 0;
16575            d[b + 3 | 0] = (c | 0) < 255 ? c : 255;
16576            c = a + g[b + 32 | 0] | 0;
16577            c = (c | 0) > 0 ? c : 0;
16578            d[b + 32 | 0] = (c | 0) < 255 ? c : 255;
16579            c = a + g[b + 33 | 0] | 0;
16580            c = (c | 0) > 0 ? c : 0;
16581            d[b + 33 | 0] = (c | 0) < 255 ? c : 255;
16582            c = a + g[b + 34 | 0] | 0;
16583            c = (c | 0) > 0 ? c : 0;
16584            d[b + 34 | 0] = (c | 0) < 255 ? c : 255;
16585            c = a + g[b + 35 | 0] | 0;
16586            c = (c | 0) > 0 ? c : 0;
16587            d[b + 35 | 0] = (c | 0) < 255 ? c : 255;
16588            c = a + g[b + 64 | 0] | 0;
16589            c = (c | 0) > 0 ? c : 0;
16590            d[b + 64 | 0] = (c | 0) < 255 ? c : 255;
16591            c = a + g[b + 65 | 0] | 0;
16592            c = (c | 0) > 0 ? c : 0;
16593            d[b + 65 | 0] = (c | 0) < 255 ? c : 255;
16594            c = a + g[b + 66 | 0] | 0;
16595            c = (c | 0) > 0 ? c : 0;
16596            d[b + 66 | 0] = (c | 0) < 255 ? c : 255;
16597            c = a + g[b + 67 | 0] | 0;
16598            c = (c | 0) > 0 ? c : 0;
16599            d[b + 67 | 0] = (c | 0) < 255 ? c : 255;
16600            c = a + g[b + 96 | 0] | 0;
16601            c = (c | 0) > 0 ? c : 0;
16602            d[b + 96 | 0] = (c | 0) < 255 ? c : 255;
16603            c = a + g[b + 97 | 0] | 0;
16604            c = (c | 0) > 0 ? c : 0;
16605            d[b + 97 | 0] = (c | 0) < 255 ? c : 255;
16606            c = a + g[b + 98 | 0] | 0;
16607            c = (c | 0) > 0 ? c : 0;
16608            d[b + 98 | 0] = (c | 0) < 255 ? c : 255;
16609            a = a + g[b + 99 | 0] | 0;
16610            a = (a | 0) > 0 ? a : 0;
16611            d[b + 99 | 0] = (a | 0) < 255 ? a : 255;
16612          }
16613          function tc(a, b, c, e, h, i, j) {
16614            var k = 0,
16615              m = 0,
16616              n = 0,
16617              o = 0,
16618              p = 0,
16619              q = 0,
16620              r = 0,
16621              s = 0,
16622              t = 0,
16623              u = 0,
16624              v = 0,
16625              w = 0,
16626              x = 0,
16627              y = 0,
16628              z = 0,
16629              A = 0,
16630              B = 0,
16631              C = 0,
16632              D = 0,
16633              E = 0,
16634              F = 0;
16635            if ((e | 0) >= 1) {
16636              z = h << 1 | 1;
16637              A = l(b, 3);
16638              B = 0 - b | 0;
16639              C = l(b, -3);
16640              D = 0 - (b << 2) | 0;
16641              v = b << 1;
16642              E = 0 - v | 0;
16643              F = f[2546];
16644              o = f[2548];
16645              r = f[2547];
16646              n = f[2549];
16647              while (1) {
16648                h = e;
16649                w = a + E | 0;
16650                m = g[w | 0];
16651                x = a + b | 0;
16652                p = g[x | 0];
16653                s = m - p | 0;
16654                u = a + B | 0;
16655                e = g[u | 0];
16656                q = g[a | 0];
16657                a: {
16658                  if ((g[s + n | 0] + (g[n + (e - q | 0) | 0] << 2) | 0) > (z | 0)) {
16659                    break a;
16660                  }
16661                  k = g[a + C | 0];
16662                  if (g[n + (g[a + D | 0] - k | 0) | 0] >
16662 (i | 0) | g[n + (k - m | 0) | 0] > (i | 0)) {
16663                    break a;
16664                  }
16665                  t = g[n + (m - e | 0) | 0];
16666                  if ((t | 0) > (i | 0)) {
16667                    break a;
16668                  }
16669                  k = g[a + v | 0];
16670                  if (g[n + (g[a + A | 0] - k | 0) | 0] > (i | 0) | g[n + (k - p | 0) | 0] > (i | 0)) {
16671                    break a;
16672                  }
16673                  y = g[n + (p - q | 0) | 0];
16674                  if ((y | 0) > (i | 0)) {
16675                    break a;
16676                  }
16677                  k = l(q - e | 0, 3);
16678                  if (!((y | 0) <= (j | 0) ? (t | 0) <= (j | 0) : 0)) {
16679                    m = d[s + F | 0] + k | 0;
16680                    p = d[(m + 4 >> 3) + r | 0];
16681                    d[u | 0] = g[(d[(m + 3 >> 3) + r | 0] + e | 0) + o | 0];
16682                    d[a | 0] = g[(q - p | 0) + o | 0];
16683                    break a;
16684                  }
16685                  s = d[(k + 3 >> 3) + r | 0];
16686                  t = m;
16687                  m = d[(k + 4 >> 3) + r | 0];
16688                  k = m + 1 >> 1;
16689                  d[w | 0] = g[(t + k | 0) + o | 0];
16690                  d[u | 0] = g[(e + s | 0) + o | 0];
16691                  d[a | 0] = g[(q - m | 0) + o | 0];
16692                  d[x | 0] = g[(p - k | 0) + o | 0];
16693                }
16694                e = h + -1 | 0;
16695                a = a + c | 0;
16696                if ((h | 0) > 1) {
16697                  continue;
16698                }
16699                break;
16700              }
16701            }
16702          }
16703          function Kc(a, b, e, g) {
16704            var h = 0,
16705              i = 0,
16706              j = 0,
16707              k = 0,
16708              l = 0,
16709              m = 0,
16710              n = 0,
16711              o = 0;
16712            a: {
16713              b: {
16714                switch (e | 0) {
16715                  case 0:
16716                    c[f[2734]](a, b, g);
16717                    return;
16718                  case 1:
16719                    c[f[2735]](a, b, g);
16720                    return;
16721                  case 7:
16722                    c[f[2735]](a, b, g);
16723                    c[f[2664]](g, 0, b, 1, 0);
16724                    return;
16725                  case 2:
16726                    c[f[2736]](a, b, g);
16727                    return;
16728                  case 3:
16729                    _e(g, a, b << 2);
16730                    return;
16731                  case 8:
16732                    k = _e(g, a, b << 2), l = 0, m = b, n = 1, o = 0, j = f[2664], c[j](k | 0, l | 0, m | 0, n | 0, o | 0);
16733                    return;
16734                  case 4:
16735                    if ((b | 0) < 1) {
16736                      break a;
16737                    }
16738                    e = (b << 2) + a | 0;
16739                    while (1) {
16740                      b = f[a >> 2];
16741                      b = b << 24 | b << 8 & 16711680 | (b >>> 8 & 65280 | b >>> 24);
16742                      d[g | 0] = b;
16743                      d[g + 1 | 0] = b >>> 8;
16744                      d[g + 2 | 0] = b >>> 16;
16745                      d[g + 3 | 0] = b >>> 24;
16746                      g = g + 4 | 0;
16747                      a = a + 4 | 0;
16748                      if (a >>> 0 < e >>> 0) {
16749                        continue;
16750                      }
16751                      break;
16752                    }
16753                    break a;
16754                  case 9:
16755                    if ((b | 0) >= 1) {
16756                      i = (b << 2) + a | 0;
16757                      e = g;
16758                      while (1) {
16759                        h = f[a >> 2];
16760                        h = h << 24 | h << 8 & 16711680 | (h >>> 8 & 65280 | h >>> 24);
16761                        d[e | 0] = h;
16762                        d[e + 1 | 0] = h >>> 8;
16763                        d[e + 2 | 0] = h >>> 16;
16764                        d[e + 3 | 0] = h >>> 24;
16765                        e = e + 4 | 0;
16766                        a = a + 4 | 0;
16767                        if (a >>> 0 < i >>> 0) {
16768                          continue;
16769                        }
16770                        break;
16771                      }
16772                    }
16773                    c[f[2664]](g, 1, b, 1, 0);
16774                    return;
16775                  case 5:
16776                    c[f[2737]](a, b, g);
16777                    return;
16778                  case 10:
16779                    c[f[2737]](a, b, g);
16780                    c[f[2665]](g, b, 1, 0);
16781                    return;
16782                  case 6:
16783                    break b;
16784                  default:
16785                    break a;
16786                }
16787              }
16788              c[f[2738]](a, b, g);
16789            }
16790          }
16791          function jb(a, b, c) {
16792            var d = 0,
16793              e = 0,
16794              g = 0;
16795            d = L - 160 | 0;
16796            L = d;
16797            f[d + 16 >> 2] = 1;
16798            f[d + 12 >> 2] = b;
16799            f[d + 8 >> 2] = a;
16800            f[d + 156 >> 2] = 0;
16801            e = d, g = ib(a, b, 0, 0, 0, d + 156 | 0, 0, d + 8 | 0), f[e + 48 >> 2] = g;
16802            if (!(!f[d + 156 >> 2] | (f[d + 48 >> 2] != 7 ? f[d + 48 >> 2] : 0))) {
16803              f[d + 48 >> 2] = 4;
16804            }
16805            a = f[d + 48 >> 2];
16806            a: {
16807              if (a) {
16808                break a;
16809              }
16810              Za(d + 48 | 0);
16811              a = f[d + 20 >> 2];
16812              f[d + 112 >> 2] = a + f[d + 8 >> 2];
16813              f[d + 108 >> 2] = f[d + 12 >> 2] - a;
16814              xa(c, d + 48 | 0);
16815              b: {
16816                if (!f[d + 40 >> 2]) {
16817                  b = _a();
16818                  if (!b) {
16819                    a = 1;
16820                    break a;
16821                  }
16822                  f[b + 2348 >> 2] = f[d + 24 >> 2];
16823                  f[b + 2352 >> 2] = f[d + 28 >> 2];
16824                  c: {
16825                    if (eb(b, d + 48 | 0)) {
16826                      a = ea(f[d + 48 >> 2], f[d + 52 >> 2], f[c + 20 >> 2], f[c >> 2]);
16827                      if (a) {
16828                        break c;
16829                      }
16830                      f[b + 148 >> 2] = 0;
16831                      Sa(f[c + 20 >> 2], b);
16832                      a = 0;
16833                      if (gb(b, d + 48 | 0)) {
16834                        break c;
16835                      }
16836                    }
16837                    a = f[b >> 2];
16838                  }
16839                  bb(b);
16840                  break b;
16841                }
16842                b = Ae(1, 0, 272);
16843                a = 0;
16844                d: {
16845                  if (!b) {
16846                    break d;
16847                  }
16848                  f[b >> 2] = 0;
16849                  f[b + 4 >> 2] = 2;
16850                  Lc();
16851                  a = b;
16852                }
16853                b = a;
16854                if (!b) {
16855                  a = 1;
16856                  break a;
16857                }
16858                e: {
16859                  if (ua(b, d + 48 | 0)) {
16860                    a = ea(f[d + 48 >> 2], f[d + 52 >> 2], f[c + 20 >> 2], f[c >> 2]);
16861                    if (a) {
16862                      break e;
16863                    }
16864                    a = 0;
16865                    if (va(b)) {
16866                      break e;
16867                    }
16868                  }
16869                  a = f[b >> 2];
16870                }
16871                ma(b);
16872              }
16873              if (a) {
16874                ha(f[c >> 2]);
16875                break a;
16876              }
16877              a = 0;
16878              b = f[c + 20 >> 2];
16879              if (!b | !f[b + 48 >> 2]) {
16880                break a;
16881              }
16882              a = da(f[c >> 2]);
16883            }
16884            L = d + 160 | 0;
16885            return a;
16886          }
16887          function Lc() {
16888            var a = 0;
16889            a = f[2673];
16890            if ((a | 0) != f[2551]) {
16891              f[2771] = 81;
16892              f[2770] = 81;
16893              f[2769] = 82;
16894              f[2768] = 83;
16895              f[2767] = 84;
16896              f[2766] = 85;
16897              f[2765] = 86;
16898              f[2764] = 87;
16899              f[2763] = 88;
16900              f[2762] = 89;
16901              f[2761] = 90;
16902              f[2760] = 91;
16903              f[2759] = 92;
16904              f[2758] = 93;
16905              f[2757] = 94;
16906              f[2756] = 81;
16907              f[2803] = 81;
16908              f[2802] = 81;
16909              f[2801] = 82;
16910              f[2800] = 83;
16911              f[2799] = 84;
16912              f[2798] = 85;
16913              f[2797] = 86;
16914              f[2796] = 87;
16915              f[2795] = 88;
16916              f[2794] = 89;
16917              f[2793] = 90;
16918              f[2792] = 91;
16919              f[2791] = 92;
16920              f[2790] = 93;
16921              f[2789] = 94;
16922              f[2788] = 81;
16923              f[2755] = 95;
16924              f[2754] = 95;
16925              f[2753] = 96;
16926              f[2752] = 97;
16927              f[2751] = 98;
16928              f[2750] = 99;
16929              f[2749] = 100;
16930              f[2748] = 101;
16931              f[2747] = 102;
16932              f[2746] = 103;
16933              f[2745] = 104;
16934              f[2744] = 105;
16935              f[2743] = 106;
16936              f[2742] = 107;
16937              f[2741] = 108;
16938              f[2740] = 95;
16939              f[2787] = 95;
16940              f[2786] = 95;
16941              f[2785] = 96;
16942              f[2784] = 97;
16943              f[2783] = 98;
16944              f[2782] = 99;
16945              f[2781] = 100;
16946              f[2780] = 101;
16947              f[2779] = 102;
16948              f[2778] = 103;
16949              f[2777] = 104;
16950              f[2776] = 105;
16951              f[2775] = 106;
16952              f[2774] = 107;
16953              f[2773] = 108;
16954              f[2772] = 95;
16955              f[2733] = 109;
16956              f[2804] = 110;
16957              f[2735] = 111;
16958              f[2734] = 112;
16959              f[2736] = 113;
16960              f[2737] = 114;
16961              f[2738] = 115;
16962              f[2805] = 116;
16963              f[2732] = 117;
16964              f[2551] = a;
16965            }
16966          }
16967          function mb(a, b, c) {
16968            var d = 0,
16969              e = 0,
16970              g = 0,
16971              h = 0,
16972              i = 0,
16973              j = 0,
16974              k = 0,
16975              m = 0;
16976            e = L - 16 | 0;
16977            L = e;
16978            j = f[b + 4 >> 2];
16979            k = f[b >> 2];
16980            a: {
16981              b: {
16982                if (!a) {
16983                  f[b + 72 >> 2] = 0;
16984                  d = k;
16985                  g = j;
16986                  break b;
16987                }
16988                h = f[a + 8 >> 2];
16989                f[b + 72 >> 2] = (h | 0) > 0;
16990                d = k;
16991                g = j;
16992                if ((h | 0) < 1) {
16993                  break b;
16994                }
16995                h = 0;
16996                d = f[a + 16 >> 2];
16997                c = c >>> 0 > 10;
16998                i = c ? d & -2 : d;
16999                g = f[a + 24 >> 2];
17000                if ((i + g | 0) > (j | 0)) {
17001                  break a;
17002                }
17003                d = f[a + 12 >> 2];
17004                m = c ? d & -2 : d;
17005                d = f[a + 20 >> 2];
17006                if ((g | 0) < 1 | (m + d | 0) > (k | 0) | ((d | 0) < 1 | (i | m) < 0)) {
17007                  break a;
17008                }
17009              }
17010              f[b + 84 >> 2] = i;
17011              f[b + 76 >> 2] = m;
17012              f[b + 16 >> 2] = g;
17013              f[b + 12 >> 2] = d;
17014              f[b + 88 >> 2] = i + g;
17015              f[b + 80 >> 2] = d + m;
17016              if (a) {
17017                c = f[a + 28 >> 2];
17018                f[b + 92 >> 2] = (c | 0) > 0;
17019                h = 1;
17020                i = 1;
17021                c: {
17022                  if ((c | 0) >= 1) {
17023                    f[e + 12 >> 2] = f[a + 32 >> 2];
17024                    f[e + 8 >> 2] = f[a + 36 >> 2];
17025                    if (!qe(d, g, e + 12 | 0, e + 8 | 0)) {
17026                      break c;
17027                    }
17028                    f[b + 96 >> 2] = f[e + 12 >> 2];
17029                    f[b + 100 >> 2] = f[e + 8 >> 2];
17030                    i = !f[b + 92 >> 2];
17031                  }
17032                  f[b + 68 >> 2] = f[a >> 2] != 0;
17033                  f[b + 56 >> 2] = !f[a + 4 >> 2];
17034                  if (i) {
17035                    break a;
17036                  }
17037                  a = 0;
17038                  a = f[b + 96 >> 2] < ((l(k, 3) | 0) / 4 | 0) ? f[b + 100 >> 2] < ((l(j, 3) | 0) / 4 | 0) : a;
17039                  f[b + 56 >> 2] = 0;
17040                  f[b + 68 >> 2] = a;
17041                  break a;
17042                }
17043                h = 0;
17044                break a;
17045              }
17046              f[b + 68 >> 2] = 0;
17047              f[b + 92 >> 2] = 0;
17048              h = 1;
17049              f[b + 56 >> 2] = 1;
17050            }
17051            L = e + 16 | 0;
17052            return h;
17053          }
17054          function ta(a, b) {
17055            a = a | 0;
17056            b = b | 0;
17057            var d = 0,
17058              e = 0,
17059              g = 0,
17060              h = 0,
17061              i = 0,
17062              j = 0,
17063              k = 0,
17064              m = 0,
17065              n = 0,
17066              o = 0,
17067              p = 0,
17068              q = 0,
17069              r = 0;
17070            e = f[a + 108 >> 2];
17071            i = b - e | 0;
17072            if ((i | 0) >= 1) {
17073              d = f[a + 100 >> 2];
17074              m = f[a + 16 >> 2] + (l(d, e) << 2) | 0;
17075              while (1) {
17076                j = (i | 0) < 16 ? i : 16;
17077                p = j + e | 0;
17078                g = f[a + 8 >> 2];
17079                n = f[g >> 2];
17080                q = l(n, j);
17081                o = f[g + 40 >> 2];
17082                g = f[o + 136 >> 2] + l(e, n) | 0;
17083                k = f[a + 20 >> 2];
17084                h = f[a + 176 >> 2];
17085                a: {
17086                  if ((h | 0) >= 1) {
17087                    d = h + -1 | 0;
17088                    Ec((l(d, 20) + a | 0) + 180 | 0, e, p, m, k);
17089                    if ((h | 0) < 2) {
17090                      break a;
17091                    }
17092                    while (1) {
17093                      h = d + -1 | 0;
17094                      Ec((l(h, 20) + a | 0) + 180 | 0, e, p, k, k);
17095                      r = (d | 0) > 1;
17096                      d = h;
17097                      if (r) {
17098                        continue;
17099                      }
17100                      break;
17101                    }
17102                    break a;
17103                  }
17104                  if ((k | 0) == (m | 0)) {
17105                    break a;
17106                  }
17107                  _e(k, m, l(d, j) << 2);
17108                }
17109                c[f[2669]](k, g, q);
17110                h = f[o + 12 >> 2];
17111                if (h) {
17112                  d = f[o + 140 >> 2];
17113                  b: {
17114                    if ((i | 0) < 1) {
17115                      break b;
17116                    }
17117                    c[f[(h << 2) + 10912 >> 2]](d, g, g, n);
17118                    if ((j | 0) == 1) {
17119                      d = g;
17120                      break b;
17121                    }
17122                    e = e + 1 | 0;
17123                    while (1) {
17124                      d = g + n | 0;
17125                      c[f[(f[o + 12 >> 2] << 2) + 10912 >> 2]](g, d, d, n);
17126                      g = d;
17127                      e = e + 1 | 0;
17128                      if ((p | 0) != (e | 0)) {
17129                        continue;
17130                      }
17131                      break;
17132                    }
17133                  }
17134                  f[o + 140 >> 2] = d;
17135                }
17136                d = f[a + 100 >> 2];
17137                m = (l(d, j) << 2) + m | 0;
17138                e = p;
17139                i = i - j | 0;
17140                if ((i | 0) > 0) {
17141                  continue;
17142                }
17143                break;
17144              }
17145            }
17146            f[a + 108 >> 2] = b;
17147            f[a + 116 >> 2] = b;
17148          }
17149          function Ja(a, b) {
17150            a = a | 0;
17151            b = b | 0;
17152            var d = 0,
17153              e = 0,
17154              g = 0,
17155              h = 0,
17156              i = 0,
17157              j = 0,
17158              k = 0,
17159              m = 0,
17160              n = 0,
17161              o = 0,
17162              p = 0;
17163            i = f[a + 16 >> 2];
17164            if ((i | 0) < 1) {
17165              return 0;
17166            }
17167            o = i + 1 >> 1;
17168            d = f[b + 24 >> 2];
17169            while (1) {
17170              e = d;
17171              d = f[a + 32 >> 2];
17172              h = se(e, i - j | 0, f[a + 20 >> 2] + l(d, j) | 0, d);
17173              d = o - k | 0;
17174              if (re(f[b + 28 >> 2], d)) {
17175                g = f[a + 36 >> 2];
17176                g = se(f[b + 28 >> 2], d, f[a + 24 >> 2] + l(g, k) | 0, g);
17177                e = d;
17178                d = f[a + 36 >> 2];
17179                se(f[b + 32 >> 2], e, f[a + 28 >> 2] + l(d, k) | 0, d);
17180                k = g + k | 0;
17181              }
17182              j = h + j | 0;
17183              h = f[b >> 2];
17184              e = f[h >> 2];
17185              g = 0;
17186              d = f[b + 24 >> 2];
17187              a: {
17188                if (f[d + 64 >> 2] >= f[d + 56 >> 2]) {
17189                  break a;
17190                }
17191                p = f[(e << 2) + 11312 >> 2];
17192                e = f[h + 16 >> 2] + l(f[h + 20 >> 2], f[b + 16 >> 2] + m | 0) | 0;
17193                while (1) {
17194                  if (f[d + 24 >> 2] > 0) {
17195                    break a;
17196                  }
17197                  n = f[b + 28 >> 2];
17198                  if (f[n + 64 >> 2] >= f[n + 56 >> 2] | f[n + 24 >> 2] > 0) {
17199                    break a;
17200                  }
17201                  td(d);
17202                  td(f[b + 28 >> 2]);
17203                  td(f[b + 32 >> 2]);
17204                  d = f[b + 24 >> 2];
17205                  c[p | 0](f[d + 68 >> 2], f[f[b + 28 >> 2] + 68 >> 2], f[f[b + 32 >> 2] + 68 >> 2], e, f[d + 52 >> 2]);
17206                  g = g + 1 | 0;
17207                  e = f[h + 20 >> 2] + e | 0;
17208                  d = f[b + 24 >> 2];
17209                  if (f[d + 64 >> 2] < f[d + 56 >> 2]) {
17210                    continue;
17211                  }
17212                  break;
17213                }
17214              }
17215              m = g + m | 0;
17216              if ((i | 0) > (j | 0)) {
17217                continue;
17218              }
17219              break;
17220            }
17221            return m | 0;
17222          }
17223          function ca(a, b) {
17224            a = a | 0;
17225            b = b | 0;
17226            var c = 0,
17227              e = 0,
17228              h = 0,
17229              i = 0,
17230              j = 0,
17231              k = 0;
17232            c = L - 240 | 0;
17233            L = c;
17234            h = c + 40 | 0;
17235            if (h) {
17236              ga($e(h, 0, 200) + 40 | 0);
17237              h = 1;
17238            } else {
17239              h = 0;
17240            }
17241            a: {
17242              if (!h) {
17243                df(f[2536]);
17244                break a;
17245              }
17246              if (!g[10640]) {
17247                x(32) | 0;
17248                d[10640] = 1;
17249              }
17250              h = c + 80 | 0;
17251              b: {
17252                if (kb(a, b, c + 40 | 0)) {
17253                  break b;
17254                }
17255                i = y(f[c + 40 >> 2], f[c + 44 >> 2], 32, 0) | 0;
17256                if (!i) {
17257                  a = f[c + 44 >> 2];
17258                  f[c >> 2] = f[c + 40 >> 2];
17259                  f[c + 4 >> 2] = a;
17260                  Re(f[2536], 1051, c);
17261                  i = 0;
17262                  break b;
17263                }
17264                e = z(0, f[c + 40 >> 2], f[c + 44 >> 2], 32, 255, 65280, 16711680, -16777216) | 0;
17265                if (!e) {
17266                  a = f[c + 44 >> 2];
17267                  f[c + 16 >> 2] = f[c + 40 >> 2];
17268                  f[c + 20 >> 2] = a;
17269                  Re(f[2536], 1092, c + 16 | 0);
17270                  e = 0;
17271                  break b;
17272                }
17273                A(e | 0) | 0;
17274                f[c + 80 >> 2] = 1;
17275                f[c + 84 >> 2] = f[e + 8 >> 2];
17276                f[c + 88 >> 2] = f[e + 12 >> 2];
17277                f[c + 96 >> 2] = f[e + 20 >> 2];
17278                f[c + 100 >> 2] = f[e + 16 >> 2];
17279                j = f[e + 12 >> 2];
17280                k = f[e + 16 >> 2];
17281                f[c + 92 >> 2] = 1;
17282                f[c + 104 >> 2] = l(j, k);
17283                a = lb(a, b, c + 40 | 0);
17284                if (a) {
17285                  f[c + 32 >> 2] = a;
17286                  j = 0;
17287                  Re(f[2536], 1130, c + 32 | 0);
17288                  break b;
17289                }
17290                B(e | 0);
17291                j = 0;
17292                if (C(e | 0, 0, i | 0, 0) | 0) {
17293                  break b;
17294                }
17295                j = !(D(i | 0) | 0);
17296              }
17297              E(e | 0);
17298              E(i | 0);
17299              ha(h);
17300            }
17301            L = c + 240 | 0;
17302            return j | 0;
17303          }
17304          function Ud(a, b, c, e, h) {
17305            a = a | 0;
17306            b = b | 0;
17307            c = c | 0;
17308            e = e | 0;
17309            h = h | 0;
17310            var i = 0,
17311              j = 0,
17312              k = 0,
17313              m = 0,
17314              n = 0,
17315              o = 0;
17316            if ((e | 0) >= 2) {
17317              j = e >> 1;
17318              m = (j | 0) > 1 ? j : 1;
17319              j = 0;
17320              while (1) {
17321                i = j << 3;
17322                k = f[(i | 4) + a >> 2];
17323                i = f[a + i >> 2];
17324                n = (k >>> 7 & 510) + (i >>> 7 & 510) | 0;
17325                o = (k >>> 15 & 510) + (i >>> 15 & 510) | 0;
17326                i = (k << 1 & 510) + (i << 1 & 510) | 0;
17327                k = ((l(n, -24116) + l(o, 28800) | 0) + l(i, -4684) | 0) + 33685504 >> 18;
17328                i = ((l(n, -19081) + l(o, -9719) | 0) + l(i, 28800) | 0) + 33685504 >> 18;
17329                a: {
17330                  if (h) {
17331                    d[b + j | 0] = i;
17332                    d[c + j | 0] = k;
17333                    break a;
17334                  }
17335                  n = b + j | 0;
17336                  d[n | 0] = (i + g[n | 0] | 0) + 1 >>> 1;
17337                  i = c + j | 0;
17338                  d[i | 0] = (k + g[i | 0] | 0) + 1 >>> 1;
17339                }
17340                j = j + 1 | 0;
17341                if ((m | 0) != (j | 0)) {
17342                  continue;
17343                }
17344                break;
17345              }
17346            }
17347            if (e & 1) {
17348              a = f[(m << 3) + a >> 2];
17349              e = a >>> 6 & 1020;
17350              j = a >>> 14 & 1020;
17351              k = a << 2 & 1020;
17352              a = ((l(e, -24116) + l(j, 28800) | 0) + l(k, -4684) | 0) + 33685504 >> 18;
17353              e = ((l(e, -19081) + l(j, -9719) | 0) + l(k, 28800) | 0) + 33685504 >> 18;
17354              if (h) {
17355                d[b + m | 0] = e;
17356                d[c + m | 0] = a;
17357                return;
17358              }
17359              b = b + m | 0;
17360              d[b | 0] = (e + g[b | 0] | 0) + 1 >>> 1;
17361              b = c + m | 0;
17362              d[b | 0] = (a + g[b | 0] | 0) + 1 >>> 1;
17363            }
17364          }
17365          function Ca(a, b) {
17366            a = a | 0;
17367            b = b | 0;
17368            var d = 0,
17369              e = 0,
17370              g = 0,
17371              h = 0,
17372              i = 0,
17373              j = 0,
17374              k = 0,
17375              m = 0,
17376              n = 0,
17377              o = 0,
17378              p = 0,
17379              q = 0,
17380              r = 0,
17381              s = 0,
17382              t = 0,
17383              u = 0;
17384            g = f[a + 16 >> 2];
17385            m = f[a + 12 >> 2];
17386            q = (m + 1 | 0) / 2 | 0;
17387            n = f[b >> 2];
17388            d = f[n + 20 >> 2];
17389            i = f[a + 8 >> 2];
17390            j = f[n + 16 >> 2] + l(i, d) | 0;
17391            o = f[(f[n >> 2] << 2) + 11248 >> 2];
17392            e = f[a + 28 >> 2];
17393            h = f[a + 24 >> 2];
17394            k = f[a + 20 >> 2];
17395            a: {
17396              if (!i) {
17397                c[o | 0](k, 0, h, e, h, e, j, 0, m);
17398                d = g;
17399                break a;
17400              }
17401              c[o | 0](f[b + 4 >> 2], k, f[b + 8 >> 2], f[b + 12 >> 2], h, e, j - d | 0, j, m);
17402              d = g + 1 | 0;
17403            }
17404            r = d;
17405            p = g + i | 0;
17406            b: {
17407              if ((g | 0) < 3) {
17408                d = h;
17409                g = e;
17410                break b;
17411              }
17412              i = i + 2 | 0;
17413              while (1) {
17414                d = f[a + 32 >> 2];
17415                k = (d << 1) + k | 0;
17416                t = k - d | 0;
17417                s = h;
17418                u = e;
17419                h = f[a + 36 >> 2];
17420                d = s + h | 0;
17421                g = e + h | 0;
17422                e = f[n + 20 >> 2];
17423                j = (e << 1) + j | 0;
17424                c[o | 0](t, k, s, u, d, g, j - e | 0, j, m);
17425                e = g;
17426                h = d;
17427                i = i + 2 | 0;
17428                if ((i | 0) < (p | 0)) {
17429                  continue;
17430                }
17431                break;
17432              }
17433            }
17434            e = f[a + 32 >> 2] + k | 0;
17435            if ((f[a + 84 >> 2] + p | 0) < f[a + 88 >> 2]) {
17436              _e(f[b + 4 >> 2], e, m);
17437              _e(f[b + 8 >> 2], d, q);
17438              _e(f[b + 12 >> 2], g, q);
17439              return r + -1 | 0;
17440            }
17441            if (!(p & 1)) {
17442              c[o | 0](e, 0, d, g, d, g, f[n + 20 >> 2] + j | 0, 0, m);
17443            }
17444            return r | 0;
17445          }
17446          function Sa(a, b) {
17447            var c = 0,
17448              d = 0,
17449              e = 0;
17450            a: {
17451              if (!a) {
17452                break a;
17453              }
17454              c = f[a + 44 >> 2];
17455              b: {
17456                if ((c | 0) < 0) {
17457                  break b;
17458                }
17459                d = 255;
17460                if ((c | 0) <= 100) {
17461                  c = l(c, 255);
17462                  d = (c | 0) / 100 | 0;
17463                  if ((c | 0) < 100) {
17464                    break b;
17465                  }
17466                }
17467                c = f[b + 800 >> 2];
17468                c: {
17469                  if ((c | 0) >= 12) {
17470                    e = f[b + 804 >> 2];
17471                    break c;
17472                  }
17473                  e = l(g[((c | 0) > 0 ? c : 0) + 4832 | 0], d) >> 3;
17474                  f[b + 804 >> 2] = e;
17475                }
17476                c = f[b + 832 >> 2];
17477                d: {
17478                  if ((c | 0) >= 12) {
17479                    c = f[b + 836 >> 2];
17480                    break d;
17481                  }
17482                  c = l(g[((c | 0) > 0 ? c : 0) + 4832 | 0], d) >> 3;
17483                  f[b + 836 >> 2] = c;
17484                }
17485                e = c | e;
17486                c = f[b + 864 >> 2];
17487                e: {
17488                  if ((c | 0) >= 12) {
17489                    c = f[b + 868 >> 2];
17490                    break e;
17491                  }
17492                  c = l(g[((c | 0) > 0 ? c : 0) + 4832 | 0], d) >> 3;
17493                  f[b + 868 >> 2] = c;
17494                }
17495                e = c | e;
17496                c = f[b + 896 >> 2];
17497                f: {
17498                  if ((c | 0) >= 12) {
17499                    d = f[b + 900 >> 2];
17500                    break f;
17501                  }
17502                  d = l(g[((c | 0) > 0 ? c : 0) + 4832 | 0], d) >> 3;
17503                  f[b + 900 >> 2] = d;
17504                }
17505                if (!(d | e)) {
17506                  break b;
17507                }
17508                d = b + 544 | 0;
17509                _e(d + 8 | 0, 9424, 220);
17510                f[d >> 2] = 0;
17511                f[d + 4 >> 2] = 31;
17512                f[d + 228 >> 2] = 256;
17513                f[b + 540 >> 2] = 1;
17514              }
17515              a = f[a + 52 >> 2];
17516              f[b + 2372 >> 2] = a;
17517              if ((a | 0) >= 101) {
17518                f[b + 2372 >> 2] = 100;
17519                return;
17520              }
17521              if ((a | 0) > -1) {
17522                break a;
17523              }
17524              f[b + 2372 >> 2] = 0;
17525            }
17526          }
17527          function de(a, b) {
17528            var c = 0,
17529              d = 0,
17530              e = 0,
17531              h = 0,
17532              j = 0,
17533              k = 0,
17534              l = 0,
17535              m = 0,
17536              n = 0,
17537              p = 0;
17538            if ((b | 0) < 1) {
17539              return 0;
17540            }
17541            c = f[a + 8 >> 2];
17542            k = f[a + 4 >> 2];
17543            while (1) {
17544              a: {
17545                if ((c | 0) > -1) {
17546                  break a;
17547                }
17548                d = f[a + 12 >> 2];
17549                if (d >>> 0 < i[a + 20 >> 2]) {
17550                  e = g[d | 0] | g[d + 1 | 0] << 8 | (g[d + 2 | 0] << 16 | g[d + 3 |
17550 0] << 24);
17551                  f[a + 12 >> 2] = d + 3;
17552                  c = c + 24 | 0;
17553                  f[a + 8 >> 2] = c;
17554                  f[a >> 2] = f[a >> 2] << 24 | (e >>> 8 & 65280 | (e << 8 & 16711680 | e << 24)) >>> 8;
17555                  break a;
17556                }
17557                if (d >>> 0 < i[a + 16 >> 2]) {
17558                  f[a + 12 >> 2] = d + 1;
17559                  c = c + 8 | 0;
17560                  f[a + 8 >> 2] = c;
17561                  f[a >> 2] = g[d | 0] | f[a >> 2] << 8;
17562                  break a;
17563                }
17564                if (!f[a + 24 >> 2]) {
17565                  f[a + 24 >> 2] = 1;
17566                  c = c + 8 | 0;
17567                  f[a + 8 >> 2] = c;
17568                  f[a >> 2] = f[a >> 2] << 8;
17569                  break a;
17570                }
17571                c = 0;
17572                f[a + 8 >> 2] = 0;
17573              }
17574              d = b + -1 | 0;
17575              n = a;
17576              p = c;
17577              h = f[a >> 2];
17578              l = h >>> c | 0;
17579              j = k >>> 1 & 16777215;
17580              b: {
17581                if (l >>> 0 > j >>> 0) {
17582                  f[a >> 2] = h + ((j ^ -1) << c);
17583                  h = k - j | 0;
17584                  break b;
17585                }
17586                h = j + 1 | 0;
17587              }
17588              e = o(h) ^ 24;
17589              c = p - e | 0;
17590              f[n + 8 >> 2] = c;
17591              k = (h << e) + -1 | 0;
17592              f[a + 4 >> 2] = k;
17593              m = (l >>> 0 > j >>> 0) << d | m;
17594              e = (b | 0) > 1;
17595              b = d;
17596              if (e) {
17597                continue;
17598              }
17599              break;
17600            }
17601            return m;
17602          }
17603          function af(a, b, c) {
17604            var e = 0;
17605            a: {
17606              if ((a | 0) == (b | 0)) {
17607                break a;
17608              }
17609              if ((b - a | 0) - c >>> 0 <= 0 - (c << 1) >>> 0) {
17610                return _e(a, b, c);
17611              }
17612              e = (a ^ b) & 3;
17613              b: {
17614                c: {
17615                  if (a >>> 0 < b >>> 0) {
17616                    if (e) {
17617                      e = a;
17618                      break b;
17619                    }
17620                    if (!(a & 3)) {
17621                      e = a;
17622                      break c;
17623                    }
17624                    e = a;
17625                    while (1) {
17626                      if (!c) {
17627                        break a;
17628                      }
17629                      d[e | 0] = g[b | 0];
17630                      b = b + 1 | 0;
17631                      c = c + -1 | 0;
17632                      e = e + 1 | 0;
17633                      if (e & 3) {
17634                        continue;
17635                      }
17636                      break;
17637                    }
17638                    break c;
17639                  }
17640                  d: {
17641                    if (e) {
17642                      break d;
17643                    }
17644                    if (a + c & 3) {
17645                      while (1) {
17646                        if (!c) {
17647                          break a;
17648                        }
17649                        c = c + -1 | 0;
17650                        e = c + a | 0;
17651                        d[e | 0] = g[b + c | 0];
17652                        if (e & 3) {
17653                          continue;
17654                        }
17655                        break;
17656                      }
17657                    }
17658                    if (c >>> 0 <= 3) {
17659                      break d;
17660                    }
17661                    while (1) {
17662                      c = c + -4 | 0;
17663                      f[c + a >> 2] = f[b + c >> 2];
17664                      if (c >>> 0 > 3) {
17665                        continue;
17666                      }
17667                      break;
17668                    }
17669                  }
17670                  if (!c) {
17671                    break a;
17672                  }
17673                  while (1) {
17674                    c = c + -1 | 0;
17675                    d[c + a | 0] = g[b + c | 0];
17676                    if (c) {
17677                      continue;
17678                    }
17679                    break;
17680                  }
17681                  break a;
17682                }
17683                if (c >>> 0 <= 3) {
17684                  break b;
17685                }
17686                while (1) {
17687                  f[e >> 2] = f[b >> 2];
17688                  b = b + 4 | 0;
17689                  e = e + 4 | 0;
17690                  c = c + -4 | 0;
17691                  if (c >>> 0 > 3) {
17692                    continue;
17693                  }
17694                  break;
17695                }
17696              }
17697              if (!c) {
17698                break a;
17699              }
17700              while (1) {
17701                d[e | 0] = g[b | 0];
17702                e = e + 1 | 0;
17703                b = b + 1 | 0;
17704                c = c + -1 | 0;
17705                if (c) {
17706                  continue;
17707                }
17708                break;
17709              }
17710            }
17711            return a;
17712          }
17713          function hc(a) {
17714            a = a | 0;
17715            var b = 0,
17716              c = 0,
17717              e = 0,
17718              h = 0,
17719              i = 0,
17720              j = 0,
17721              k = 0,
17722              l = 0,
17723              m = 0,
17724              n = 0,
17725              o = 0,
17726              p = 0,
17727              q = 0,
17728              r = 0,
17729              s = 0,
17730              t = 0,
17731              u = 0,
17732              v = 0,
17733              w = 0;
17734            e = a + -17 | 0;
17735            h = a + -18 | 0;
17736            i = a + -19 | 0;
17737            j = a + -20 | 0;
17738            k = a + -21 | 0;
17739            l = a + -22 | 0;
17740            m = a + -23 | 0;
17741            n = a + -24 | 0;
17742            o = a + -25 | 0;
17743            p = a + -26 | 0;
17744            q = a + -27 | 0;
17745            r = a + -28 | 0;
17746            s = a + -29 | 0;
17747            t = a + -30 | 0;
17748            u = a + -31 | 0;
17749            v = a + -32 | 0;
17750            w = f[2548] - g[a + -33 | 0] | 0;
17751            while (1) {
17752              b = g[a + -1 | 0] + w | 0;
17753              d[a | 0] = g[b + g[v | 0] | 0];
17754              d[a + 1 | 0] = g[g[u | 0] + b | 0];
17755              d[a + 2 | 0] = g[g[t | 0] + b | 0];
17756              d[a + 3 | 0] = g[g[s | 0] + b | 0];
17757              d[a + 4 | 0] = g[g[r | 0] + b | 0];
17758              d[a + 5 | 0] = g[g[q | 0] + b | 0];
17759              d[a + 6 | 0] = g[g[p | 0] + b | 0];
17760              d[a + 7 | 0] = g[g[o | 0] + b | 0];
17761              d[a + 8 | 0] = g[g[n | 0] + b | 0];
17762              d[a + 9 | 0] = g[g[m | 0] + b | 0];
17763              d[a + 10 | 0] = g[g[l | 0] + b | 0];
17764              d[a + 11 | 0] = g[g[k | 0] + b | 0];
17765              d[a + 12 | 0] = g[g[j | 0] + b | 0];
17766              d[a + 13 | 0] = g[g[i | 0] + b | 0];
17767              d[a + 14 | 0] = g[g[h | 0] + b | 0];
17768              d[a + 15 | 0] = g[g[e | 0] + b | 0];
17769              a = a + 32 | 0;
17770              c = c + 1 | 0;
17771              if ((c | 0) != 16) {
17772                continue;
17773              }
17774              break;
17775            }
17776          }
17777          function $e(a, b, c) {
17778            a = a | 0;
17779            b = b | 0;
17780            c = c | 0;
17781            var e = 0,
17782              g = 0,
17783              h = 0,
17784              i = 0;
17785            a: {
17786              if (!c) {
17787                break a;
17788              }
17789              e = a + c | 0;
17790              d[e + -1 | 0] = b;
17791              d[a | 0] = b;
17792              if (c >>> 0 < 3) {
17793                break a;
17794              }
17795              d[e + -2 | 0] = b;
17796              d[a + 1 | 0] = b;
17797              d[e + -3 | 0] = b;
17798              d[a + 2 | 0] = b;
17799              if (c >>> 0 < 7) {
17800                break a;
17801              }
17802              d[e + -4 | 0] = b;
17803              d[a + 3 | 0] = b;
17804              if (c >>> 0 < 9) {
17805                break a;
17806              }
17807              e = 0 - a & 3;
17808              g = e + a | 0;
17809              b = l(b & 255, 16843009);
17810              f[g >> 2] = b;
17811              c = c - e & -4;
17812              e = c + g | 0;
17813              f[e + -4 >> 2] = b;
17814              if (c >>> 0 < 9) {
17815                break a;
17816              }
17817              f[g + 8 >> 2] = b;
17818              f[g + 4 >> 2] = b;
17819              f[e + -8 >> 2] = b;
17820              f[e + -12 >> 2] = b;
17821              if (c >>> 0 < 25) {
17822                break a;
17823              }
17824              f[g + 24 >> 2] = b;
17825              f[g + 20 >> 2] = b;
17826              f[g + 16 >> 2] = b;
17827              f[g + 12 >> 2] = b;
17828              f[e + -16 >> 2] = b;
17829              f[e + -20 >> 2] = b;
17830              f[e + -24 >> 2] = b;
17831              f[e + -28 >> 2] = b;
17832              i = g & 4 | 24;
17833              c = c - i | 0;
17834              if (c >>> 0 < 32) {
17835                break a;
17836              }
17837              e = b;
17838              h = b;
17839              b = g + i | 0;
17840              while (1) {
17841                f[b + 24 >> 2] = h;
17842                f[b + 28 >> 2] = e;
17843                f[b + 16 >> 2] = h;
17844                f[b + 20 >> 2] = e;
17845                f[b + 8 >> 2] = h;
17846                f[b + 12 >> 2] = e;
17847                f[b >> 2] = h;
17848                f[b + 4 >> 2] = e;
17849                b = b + 32 | 0;
17850                c = c + -32 | 0;
17851                if (c >>> 0 > 31) {
17852                  continue;
17853                }
17854                break;
17855              }
17856            }
17857            return a | 0;
17858          }
17859          function lb(a, b, c) {
17860            var d = 0,
17861              e = 0,
17862              g = 0,
17863              h = 0;
17864            d = L - 144 | 0;
17865            L = d;
17866            a: {
17867              if (!c) {
17868                g = 2;
17869                break a;
17870              }
17871              b: {
17872                if (!a) {
17873                  e = 2;
17874                  break b;
17875                }
17876                f[c >> 2] = 0;
17877                f[c + 4 >> 2] = 0;
17878                f[c + 32 >> 2] = 0;
17879                f[c + 36 >> 2] = 0;
17880                f[c + 24 >> 2] = 0;
17881                f[c + 28 >> 2] = 0;
17882                h = c + 16 | 0;
17883                g = h;
17884                f[g >> 2] = 0;
17885                f[g + 4 >> 2] = 0;
17886                e = c + 8 | 0;
17887                f[e >> 2] = 0;
17888                f[e + 4 >> 2] = 0;
17889                g = 3;
17890                c: {
17891                  e = ib(a, b, c, c + 4 | 0, e, c + 12 | 0, h, 0);
17892                  switch (e | 0) {
17893                    case 7:
17894                      break a;
17895                    case 0:
17896                      break c;
17897                    default:
17898                      break b;
17899                  }
17900                }
17901                f[d + 140 >> 2] = 0;
17902                f[d + 132 >> 2] = 0;
17903                f[d + 136 >> 2] = 0;
17904                f[d + 124 >> 2] = 0;
17905                f[d + 128 >> 2] = 0;
17906                f[d + 116 >> 2] = 0;
17907                f[d + 120 >> 2] = 0;
17908                f[d + 100 >> 2] = 0;
17909                f[d + 104 >> 2] = 0;
17910                f[d + 108 >> 2] = 0;
17911                f[d + 112 >> 2] = 0;
17912                f[d + 92 >> 2] = 0;
17913                f[d + 96 >> 2] = 0;
17914                f[d + 108 >> 2] = c + 124;
17915                e = c + 40 | 0;
17916                f[d + 88 >> 2] = e;
17917                if (ja(e, c)) {
17918                  ga(d);
17919                  f[d >> 2] = f[c + 40 >> 2];
17920                  f[d + 4 >> 2] = f[c >> 2];
17921                  f[d + 8 >> 2] = f[c + 4 >> 2];
17922                  f[d + 88 >> 2] = d;
17923                  g = jb(a, b, d + 88 | 0);
17924                  if (!g) {
17925                    g = ia(d, e);
17926                  }
17927                  ha(d);
17928                  break a;
17929                }
17930                g = jb(a, b, d + 88 | 0);
17931                break a;
17932              }
17933              g = e;
17934            }
17935            L = d + 144 | 0;
17936            return g;
17937          }
17938          function Ue(a, b, c) {
17939            a = a | 0;
17940            b = b | 0;
17941            c = c | 0;
17942            var d = 0,
17943              e = 0,
17944              g = 0,
17945              h = 0,
17946              i = 0,
17947              j = 0,
17948              k = 0;
17949            d = L - 32 | 0;
17950            L = d;
17951            e = f[a + 28 >> 2];
17952            f[d + 16 >> 2] = e;
17953            g = f[a + 20 >> 2];
17954            f[d + 28 >> 2] = c;
17955            f[d + 24 >> 2] = b;
17956            b = g - e | 0;
17957            f[d + 20 >> 2] = b;
17958            e = b + c | 0;
17959            k = 2;
17960            b = d + 16 | 0;
17961            a: {
17962              b: {
17963                c: {
17964                  if (!Ve(G(f[a + 60 >>
17964 2], d + 16 | 0, 2, d + 12 | 0) | 0)) {
17965                    while (1) {
17966                      g = f[d + 12 >> 2];
17967                      if ((g | 0) == (e | 0)) {
17968                        break c;
17969                      }
17970                      if ((g | 0) <= -1) {
17971                        break b;
17972                      }
17973                      h = f[b + 4 >> 2];
17974                      i = g >>> 0 > h >>> 0;
17975                      j = (i << 3) + b | 0;
17976                      h = g - (i ? h : 0) | 0;
17977                      f[j >> 2] = h + f[j >> 2];
17978                      j = (i ? 12 : 4) + b | 0;
17979                      f[j >> 2] = f[j >> 2] - h;
17980                      e = e - g | 0;
17981                      b = i ? b + 8 | 0 : b;
17982                      k = k - i | 0;
17983                      if (!Ve(G(f[a + 60 >> 2], b | 0, k | 0, d + 12 | 0) | 0)) {
17984                        continue;
17985                      }
17986                      break;
17987                    }
17988                  }
17989                  f[d + 12 >> 2] = -1;
17990                  if ((e | 0) != -1) {
17991                    break b;
17992                  }
17993                }
17994                b = f[a + 44 >> 2];
17995                f[a + 28 >> 2] = b;
17996                f[a + 20 >> 2] = b;
17997                f[a + 16 >> 2] = b + f[a + 48 >> 2];
17998                a = c;
17999                break a;
18000              }
18001              f[a + 28 >> 2] = 0;
18002              f[a + 16 >> 2] = 0;
18003              f[a + 20 >> 2] = 0;
18004              f[a >> 2] = f[a >> 2] | 32;
18005              a = 0;
18006              if ((k | 0) == 2) {
18007                break a;
18008              }
18009              a = c - f[b + 4 >> 2] | 0;
18010            }
18011            L = d + 32 | 0;
18012            return a | 0;
18013          }
18014          function qd(a) {
18015            a = a | 0;
18016            var b = 0,
18017              c = 0,
18018              e = 0,
18019              g = 0,
18020              h = 0,
18021              i = 0,
18022              j = 0,
18023              k = 0,
18024              m = 0,
18025              n = 0,
18026              o = 0,
18027              p = 0,
18028              q = 0,
18029              r = 0;
18030            h = l(f[a + 8 >> 2], f[a + 52 >> 2]);
18031            i = f[a + 80 >> 2];
18032            j = f[a + 68 >> 2];
18033            b = f[a + 24 >> 2];
18034            a: {
18035              if (!b) {
18036                if ((h | 0) < 1) {
18037                  break a;
18038                }
18039                while (1) {
18040                  c = xf(f[a + 16 >> 2], 0, f[(e << 2) + i >> 2], 0) + -2147483648 | 0;
18041                  b = N;
18042                  b = c >>> 0 < 2147483648 ? b + 1 | 0 : b;
18043                  d[e + j | 0] = (b | 0) > 255 ? -1 : b;
18044                  e = e + 1 | 0;
18045                  if ((h | 0) != (e | 0)) {
18046                    continue;
18047                  }
18048                  break;
18049                }
18050                break a;
18051              }
18052              c = 0 - b | 0;
18053              b = f[a + 32 >> 2];
18054              b = yf(0, c, b, b >> 31);
18055              if ((h | 0) < 1) {
18056                break a;
18057              }
18058              k = f[a + 76 >> 2];
18059              m = b;
18060              n = 0 - b | 0;
18061              while (1) {
18062                b = f[a + 16 >> 2];
18063                c = e << 2;
18064                g = xf(n, q, f[c + i >> 2], 0);
18065                o = N;
18066                p = b;
18067                b = g;
18068                g = xf(m, r, f[c + k >> 2], 0);
18069                c = b + g | 0;
18070                b = N + o | 0;
18071                b = c >>> 0 < g >>> 0 ? b + 1 | 0 : b;
18072                g = c + -2147483648 | 0;
18073                c = xf(p, 0, g >>> 0 < 2147483648 ? b + 1 | 0 : b, 0) + -2147483648 | 0;
18074                b = N;
18075                b = c >>> 0 < 2147483648 ? b + 1 | 0 : b;
18076                d[e + j | 0] = (b | 0) > 255 ? -1 : b;
18077                e = e + 1 | 0;
18078                if ((h | 0) != (e | 0)) {
18079                  continue;
18080                }
18081                break;
18082              }
18083            }
18084          }
18085          function bd(a, b, c, d) {
18086            a = a | 0;
18087            b = b | 0;
18088            c = c | 0;
18089            d = d | 0;
18090            var e = 0,
18091              g = 0,
18092              h = 0,
18093              i = 0,
18094              j = 0,
18095              k = 0,
18096              l = 0,
18097              m = 0,
18098              n = 0,
18099              o = 0,
18100              p = 0,
18101              q = 0,
18102              r = 0,
18103              s = 0,
18104              t = 0,
18105              u = 0,
18106              v = 0;
18107            if ((c | 0) >= 1) {
18108              e = f[d + -4 >> 2];
18109              while (1) {
18110                l = k << 2;
18111                g = l + b | 0;
18112                h = f[g >> 2];
18113                g = f[g + -4 >> 2];
18114                j = g & 255;
18115                m = (h & 255) - j | 0;
18116                n = (e & 255) - j | 0;
18117                j = n >> 31;
18118                o = g >>> 24 | 0;
18119                p = (e >>> 24 | 0) - o | 0;
18120                q = p >> 31;
18121                r = g >>> 8 & 255;
18122                s = (e >>> 8 & 255) - r | 0;
18123                i = s >> 31;
18124                t = g >>> 16 & 255;
18125                u = (e >>> 16 & 255) - t | 0;
18126                g = u >> 31;
18127                v = e;
18128                e = (h >>> 24 | 0) - o | 0;
18129                i = ((((j ^ j + n) + ((m | 0) < 0 ? m : 0 - m | 0
18129) | 0) + (q ^ q + p) | 0) + ((e | 0) < 0 ? e : 0 - e | 0) | 0) + (i ^ i + s) | 0;
18130                e = (h >>> 8 & 255) - r | 0;
18131                i = (i + ((e | 0) < 0 ? e : 0 - e | 0) | 0) + (g ^ g + u) | 0;
18132                e = (h >>> 16 & 255) - t | 0;
18133                e = (i + ((e | 0) < 0 ? e : 0 - e | 0) | 0) < 1 ? h : v;
18134                h = f[a + l >> 2];
18135                e = (e & -16711936) + (h & -16711936) & -16711936 | (e & 16711935) + (h & 16711935) & 16711935;
18136                f[d + l >> 2] = e;
18137                k = k + 1 | 0;
18138                if ((k | 0) != (c | 0)) {
18139                  continue;
18140                }
18141                break;
18142              }
18143            }
18144          }
18145          function Ea(a, b, e) {
18146            a = a | 0;
18147            b = b | 0;
18148            e = e | 0;
18149            var h = 0,
18150              i = 0,
18151              j = 0,
18152              k = 0,
18153              m = 0,
18154              n = 0,
18155              o = 0,
18156              p = 0,
18157              q = 0,
18158              r = 0,
18159              s = 0;
18160            j = f[a + 104 >> 2];
18161            a: {
18162              if (!j) {
18163                break a;
18164              }
18165              i = f[a + 16 >> 2];
18166              h = f[a + 8 >> 2];
18167              k = f[b >> 2];
18168              b: {
18169                if (!f[a + 56 >> 2]) {
18170                  b = h;
18171                  break b;
18172                }
18173                c: {
18174                  if (!h) {
18175                    e = i + -1 | 0;
18176                    b = 0;
18177                    break c;
18178                  }
18179                  j = j - f[a >> 2] | 0;
18180                  e = i;
18181                  b = h + -1 | 0;
18182                }
18183                h = h + i | 0;
18184                i = f[a + 84 >> 2];
18185                h = h + i | 0;
18186                if ((h | 0) != f[a + 88 >> 2]) {
18187                  i = e;
18188                  break b;
18189                }
18190                i = h - (b + i | 0) | 0;
18191              }
18192              if ((i | 0) < 1) {
18193                break a;
18194              }
18195              m = f[a + 12 >> 2];
18196              q = f[k >> 2];
18197              e = f[k + 20 >> 2];
18198              o = f[k + 16 >> 2] + l(e, b) | 0;
18199              n = o + 1 | 0;
18200              b = 15;
18201              while (1) {
18202                h = 0;
18203                if ((m | 0) >= 1) {
18204                  while (1) {
18205                    e = (h << 1) + n | 0;
18206                    r = e;
18207                    s = g[e | 0] & 240;
18208                    e = g[h + j | 0] >>> 4 | 0;
18209                    d[r | 0] = s | e;
18210                    b = b & e;
18211                    h = h + 1 | 0;
18212                    if ((m | 0) != (h | 0)) {
18213                      continue;
18214                    }
18215                    break;
18216                  }
18217                  e = f[k + 20 >> 2];
18218                }
18219                n = e + n | 0;
18220                j = f[a >> 2] + j | 0;
18221                p = p + 1 | 0;
18222                if ((p | 0) != (i | 0)) {
18223                  continue;
18224                }
18225                break;
18226              }
18227              if ((b | 0) == 15 | q + -7 >>> 0 > 3) {
18228                break a;
18229              }
18230              c[f[2665]](o, m, i, e);
18231            }
18232            return 0;
18233          }
18234          function Me(a, b, i) {
18235            a: {
18236              b: {
18237                if (b >>> 0 > 20) {
18238                  break b;
18239                }
18240                c: {
18241                  switch (b + -9 | 0) {
18242                    case 0:
18243                      b = f[i >> 2];
18244                      f[i >> 2] = b + 4;
18245                      f[a >> 2] = f[b >> 2];
18246                      return;
18247                    case 1:
18248                      b = f[i >> 2];
18249                      f[i >> 2] = b + 4;
18250                      b = f[b >> 2];
18251                      f[a >> 2] = b;
18252                      f[a + 4 >> 2] = b >> 31;
18253                      return;
18254                    case 2:
18255                      b = f[i >> 2];
18256                      f[i >> 2] = b + 4;
18257                      f[a >> 2] = f[b >> 2];
18258                      f[a + 4 >> 2] = 0;
18259                      return;
18260                    case 4:
18261                      b = f[i >> 2];
18262                      f[i >> 2] = b + 4;
18263                      b = e[b >> 1];
18264                      f[a >> 2] = b;
18265                      f[a + 4 >> 2] = b >> 31;
18266                      return;
18267                    case 5:
18268                      b = f[i >> 2];
18269                      f[i >> 2] = b + 4;
18270                      f[a >> 2] = h[b >> 1];
18271                      f[a + 4 >> 2] = 0;
18272                      return;
18273                    case 6:
18274                      b = f[i >> 2];
18275                      f[i >> 2] = b + 4;
18276                      b = d[b | 0];
18277                      f[a >> 2] = b;
18278                      f[a + 4 >> 2] = b >> 31;
18279                      return;
18280                    case 7:
18281                      b = f[i >> 2];
18282                      f[i >> 2] = b + 4;
18283                      f[a >> 2] = g[b | 0];
18284                      f[a + 4 >> 2] = 0;
18285                      return;
18286                    case 3:
18287                    case 8:
18288                      break a;
18289                    case 9:
18290                      break c;
18291                    default:
18292                      break b;
18293                  }
18294                }
18295                c[0](a, i);
18296              }
18297              return;
18298            }
18299            b = f[i >> 2] + 7 & -8;
18300            f[i >> 2] = b + 8;
18301            i = f[b + 4 >> 2];
18302            f[a >> 2] = f[b >> 2];
18303            f[a + 4 >> 2] = i;
18304          }
18305          function Ha(a, b) {
18306            a = a | 0;
18307            b = b | 0;
18308            var c = 0,
18309              d = 0,
18310              e = 0,
18311              g = 0,
18312              h = 0,
18313              i = 0,
18314              j = 0,
18315              k = 0;
18316            e = f[a + 16 >> 2];
18317            g = f[b + 24 >> 2];
18318            c = f[f[b >> 2] >> 2];
18319            a: {
18320              if (c + -7 >>> 0 > 3 ? !(1 << c & 4154 ? c >>> 0 <= 12 : 0) : 0) {
18321                break a;
18322              }
18323              c = f[a + 104 >> 2];
18324              if (!c) {
18325                break a;
18326              }
18327              qb(f[a + 20 >> 2], f[a + 32 >> 2], c, f[a >> 2], f[a + 12 >> 2], e, 0);
18328            }
18329            if ((e | 0) < 1) {
18330              return 0;
18331            }
18332            h = e + 1 >> 1;
18333            i = f[a + 32 >> 2];
18334            d = f[a + 20 >> 2];
18335            c = e;
18336            while (1) {
18337              j = se(g, c, d, i);
18338              d = l(j, i) + d | 0;
18339              k = te(g) + k | 0;
18340              c = c - j | 0;
18341              if ((c | 0) > 0) {
18342                continue;
18343              }
18344              break;
18345            }
18346            if ((e | 0) >= 1) {
18347              e = f[b + 28 >> 2];
18348              g = f[a + 36 >> 2];
18349              d = f[a + 24 >> 2];
18350              c = h;
18351              while (1) {
18352                i = se(e, c, d, g);
18353                te(e);
18354                d = l(g, i) + d | 0;
18355                c = c - i | 0;
18356                if ((c | 0) > 0) {
18357                  continue;
18358                }
18359                break;
18360              }
18361              d = f[a + 28 >> 2];
18362              b = f[b + 32 >> 2];
18363              a = f[a + 36 >> 2];
18364              while (1) {
18365                c = se(b, h, d, a);
18366                te(b);
18367                d = l(a, c) + d | 0;
18368                h = h - c | 0;
18369                if ((h | 0) > 0) {
18370                  continue;
18371                }
18372                break;
18373              }
18374            }
18375            return k | 0;
18376          }
18377          function he(a, b) {
18378            var c = 0,
18379              d = 0,
18380              e = 0,
18381              h = 0,
18382              i = 0,
18383              j = 0,
18384              k = 0,
18385              l = 0;
18386            a: {
18387              if (!(f[a + 24 >> 2] | (b | 0) > 24)) {
18388                c = f[a + 20 >> 2];
18389                e = c + b | 0;
18390                f[a + 20 >> 2] = e;
18391                j = f[(b << 2) + 9312 >> 2];
18392                i = f[a + 4 >> 2];
18393                d = i;
18394                b = c & 63;
18395                c = b & 31;
18396                h = f[a >> 2];
18397                l = j & (32 <= (b & 63) >>> 0 ? d >>> c | 0 : ((1 << c) - 1 & d) << 32 - c | h >>> c);
18398                if ((e | 0) < 8) {
18399                  break a;
18400                }
18401                b = f[a + 16 >> 2];
18402                k = f[a + 12 >> 2];
18403                j = b >>> 0 > k >>> 0 ? b : k;
18404                while (1) {
18405                  b: {
18406                    if ((b | 0) == (j | 0)) {
18407                      b = j;
18408                      d = e;
18409                      break b;
18410                    }
18411                    d = i;
18412                    h = (d & 255) << 24 | h >>> 8;
18413                    d = d >>> 8 | 0;
18414                    i = d;
18415                    f[a >> 2] = h;
18416                    f[a + 4 >> 2] = d;
18417                    c = g[f[a + 8 >> 2] + b | 0];
18418                    d = e + -8 | 0;
18419                    f[a + 20 >> 2] = d;
18420                    b = b + 1 | 0;
18421                    f[a + 16 >> 2] = b;
18422                    c = i | c << 24;
18423                    i = c;
18424                    f[a >> 2] = h;
18425                    f[a + 4 >> 2] = c;
18426                    c = (e | 0) > 15;
18427                    e = d;
18428                    if (c) {
18429                      continue;
18430                    }
18431                  }
18432                  break;
18433                }
18434                if ((b | 0) != (k | 0) | (d | 0) < 65) {
18435                  break a;
18436                }
18437                f[a + 20 >> 2] = 0;
18438                f[a + 24 >> 2] = 1;
18439                return l;
18440              }
18441              f[a + 20 >> 2] = 0;
18442              f[a + 24 >> 2] = 1;
18443            }
18444            return l;
18445          }
18446          function rd(a) {
18447            a = a | 0;
18448            var b = 0,
18449              c = 0,
18450              e = 0,
18451              g = 0,
18452              h = 0,
18453              i = 0,
18454              j = 0,
18455              k = 0,
18456              m = 0,
18457              n = 0,
18458              o = 0;
18459            g = l(f[a + 8 >> 2], f[a + 52 >> 2]);
18460            i = f[a + 76 >> 2];
18461            j = f[a + 68 >> 2];
18462            b = l(f[a + 24 >> 2], f[a + 16 >> 2]);
18463            a: {
18464              if (b) {
18465                if ((g | 0) < 1) {
18466                  break a;
18467                }
18468                h = f[a + 80 >> 2];
18469                n = 0 - b | 0;
18470                b = 0;
18471                while (1) {
18472                  e = f[a + 20 >> 2];
18473                  c = b << 2;
18474                  k = c + i | 0;
18475                  o = f[k >> 2];
18476                  xf(f[c + h >> 2], 0, n, 0);
18477                  m = N;
18478                  e = xf(e, 0, o - m | 0, 0) + -2147483648 | 0;
18479                  c = N;
18480                  c = e >>> 0 < 2147483648 ? c + 1 | 0 : c;
18481                  d[b + j | 0] = (c | 0) > 255 ? -1 : c;
18482                  f[k >> 2] = m;
18483                  b = b + 1 | 0;
18484                  if ((g | 0) != (b | 0)) {
18485                    continue;
18486                  }
18487                  break;
18488                }
18489                break a;
18490              }
18491              if ((g | 0) < 1) {
18492                break a;
18493              }
18494              b = 0;
18495              while (1) {
18496                h = (b << 2) + i | 0;
18497                e = xf(f[a + 20 >> 2], 0, f[h >> 2], 0) + -2147483648 | 0;
18498                c = N;
18499                c = e >>> 0 < 2147483648 ? c + 1 | 0 : c;
18500                d[b + j | 0] = (c | 0) > 255 ? -1 : c;
18501                f[h >> 2] = 0;
18502                b = b + 1 | 0;
18503                if ((g | 0) != (b | 0)) {
18504                  continue;
18505                }
18506                break;
18507              }
18508            }
18509          }
18510          function $c(a, b, c, d) {
18511            a = a | 0;
18512            b = b | 0;
18513            c = c | 0;
18514            d = d | 0;
18515            var e = 0,
18516              g = 0,
18517              h = 0,
18518              i = 0,
18519              j = 0,
18520              k = 0;
18521            if ((c | 0) >= 1) {
18522              g = f[d + -4 >> 2];
18523              while (1) {
18524                j = i << 2;
18525                h = j + b | 0;
18526                e = f[h >> 2];
18527                g = ((e ^ g) >>> 1 & 2139062143) + (e & g) | 0;
18528                e = g & 255;
18529                h = f[h + -4 >> 2];
18530                e = ((e - (h & 255) | 0) / 2 | 0) + e | 0;
18531                k = e >>> 0 < 256 ? e : (e ^ -1) >>> 24 | 0;
18532                e = g >>> 24 | 0;
18533                e = ((e - (h >>> 24 | 0) | 0) / 2 | 0) + e | 0;
18534                k = k | (e >>> 0 < 256 ? e : e >>> 24 ^ -1) << 24;
18535                e = g >>> 16 & 255;
18536                e = ((e - (h >>> 16 & 255) | 0) / 2 | 0) + e | 0;
18537                g = g >>> 8 & 255;
18538                g = ((g - (h >>> 8 & 255) | 0) / 2 | 0) + g | 0;
18539                g = k | (e >>> 0 < 256 ? e : (e ^ -1) >>> 24 | 0) << 16 | (g >>> 0 < 256 ? g : (g ^ -1) >>> 24 | 0) << 8;
18540                h = f[a + j >> 2];
18541                g = (g & -16711936) + (h & -16711936) & -16711936 | (g & 16711935) + (h & 16711935) & 16711935;
18542                f[d + j >> 2] = g;
18543                i = i + 1 | 0;
18544                if ((i | 0) != (c | 0)) {
18545                  continue;
18546                }
18547                break;
18548              }
18549            }
18550          }
18551          function La(a, b, e) {
18552            a = a | 0;
18553            b = b | 0;
18554            e = e | 0;
18555            var h = 0,
18556              i = 0,
18557              j = 0,
18558              k = 0,
18559              m = 0,
18560              n = 0,
18561              o = 0,
18562              p = 0,
18563              q = 0,
18564              r = 0;
18565            h = f[a + 36 >> 2];
18566            a: {
18567              if (f[h + 64 >> 2] >= f[h + 56 >> 2]) {
18568                break a;
18569              }
18570              j = f[a >> 2];
18571              p = f[j >> 2] + -7 | 0;
18572              i = f[j + 20 >> 2];
18573              o = f[j + 16 >> 2] + l(i, b) | 0;
18574              m = f[h + 52 >> 2];
18575              b = 15;
18576              b: {
18577                if ((e | 0) < 1 | f[h + 24 >> 2] > 0) {
18578                  break b;
18579                }
18580                n = o + 1 | 0;
18581                while (1) {
18582                  td(h);
18583                  h = 0;
18584                  if ((m | 0) >= 1) {
18585                    while (1) {
18586                      i = (h << 1) + n | 0;
18587                      q = i;
18588                      r = g[i | 0] & 240;
18589                      i = g[f[f[a + 36 >> 2] + 68 >> 2] + h | 0] >>> 4 | 0;
18590                      d[q | 0] = r | i;
18591                      b = b & i;
18592                      h = h + 1 | 0;
18593                      if ((m | 0) != (h | 0)) {
18594                        continue;
18595                      }
18596                      break;
18597                    }
18598                  }
18599                  i = f[j + 20 >> 2];
18600                  h = f[a + 36 >> 2];
18601                  k = k + 1 | 0;
18602                  if (f[h + 64 >> 2] >= f[h + 56 >> 2] | (k | 0) >= (e | 0)) {
18603                    break b;
18604                  }
18605                  n = i + n | 0;
18606                  if (f[h + 24 >> 2] <= 0) {
18607                    continue;
18608                  }
18609                  break;
18610                }
18611              }
18612              if ((b | 0) == 15 | p >>> 0 > 3) {
18613                break a;
18614              }
18615              c[f[2665]](o, m, k, i);
18616            }
18617            return k | 0;
18618          }
18619          function ia(a, b) {
18620            var c = 0,
18621              d = 0;
18622            f[b + 4 >> 2] = f[a + 4 >> 2];
18623            f[b + 8 >> 2] = f[a + 8 >> 2];
18624            c = 2;
18625            a: {
18626              if (fa(b)) {
18627                break a;
18628              }
18629              c = f[a + 16 >> 2];
18630              d = f[a >> 2];
18631              b: {
18632                if (d >>> 0 <= 10) {
18633                  Be(c, f[a + 20 >> 2], f[b + 16 >> 2], f[b + 20 >> 2], l(f[a + 4 >> 2], g[d + 1157 | 0]), f[a + 8 >> 2]);
18634                  break b;
18635                }
18636                Be(c, f[a + 32 >> 2], f[b + 16 >> 2], f[b + 32 >> 2], f[a + 4 >> 2], f[a + 8 >> 2]);
18637                Be(f[a + 20 >> 2], f[a + 36 >> 2], f[b + 20 >> 2], f[b + 36 >> 2], (f[a + 4 >> 2] + 1 | 0) / 2 | 0, (f[a + 8 >> 2] + 1 | 0) / 2 | 0);
18638                Be(f[a + 24 >> 2], f[a + 40 >> 2], f[b + 24 >> 2], f[b + 40 >> 2], (f[a + 4 >> 2] + 1 | 0) / 2 | 0, (f[a + 8 >> 2] + 1 | 0) / 2 | 0);
18639                d = f[a >> 2];
18640                if (!(1 << d & 4154 ? d >>> 0 <= 12 : 0)) {
18641                  c = 0;
18642                  if (d + -7 >>> 0 > 3) {
18643                    break a;
18644                  }
18645                }
18646                Be(f[a + 28 >> 2], f
18646[a + 44 >> 2], f[b + 28 >> 2], f[b + 44 >> 2], f[a + 4 >> 2], f[a + 8 >> 2]);
18647              }
18648              c = 0;
18649            }
18650            return c;
18651          }
18652          function Ta(a, b) {
18653            var d = 0,
18654              e = 0,
18655              g = 0,
18656              h = 0;
18657            a: {
18658              if (f[a + 2308 >> 2] < 1) {
18659                break a;
18660              }
18661              d = f[a + 2300 >> 2];
18662              if ((d | 0) < f[a + 300 >> 2]) {
18663                break a;
18664              }
18665              e = (d | 0) <= f[a + 308 >> 2];
18666            }
18667            d = a + 160 | 0;
18668            b: {
18669              if (!f[a + 148 >> 2]) {
18670                f[a + 168 >> 2] = e;
18671                f[a + 164 >> 2] = f[a + 2300 >> 2];
18672                Ua(a, d);
18673                h = Va(a, b);
18674                break b;
18675              }
18676              g = a + 124 | 0;
18677              if (!(c[f[2559]](g) & 1)) {
18678                break b;
18679              }
18680              _e(a + 180 | 0, b, 108);
18681              f[a + 168 >> 2] = e;
18682              f[a + 160 >> 2] = f[a + 152 >> 2];
18683              f[a + 164 >> 2] = f[a + 2300 >> 2];
18684              c: {
18685                if (f[a + 148 >> 2] == 2) {
18686                  b = f[a + 2304 >> 2];
18687                  d = a + 176 | 0;
18688                  f[a + 2304 >> 2] = f[d >> 2];
18689                  f[d >> 2] = b;
18690                  break c;
18691                }
18692                Ua(a, d);
18693              }
18694              if (e) {
18695                b = f[a + 2260 >> 2];
18696                e = a + 172 | 0;
18697                f[a + 2260 >> 2] = f[e >> 2];
18698                f[e >> 2] = b;
18699              }
18700              c[f[2560]](g);
18701              b = f[a + 152 >> 2] + 1 | 0;
18702              f[a + 152 >> 2] = (b | 0) == f[a + 156 >> 2] ? 0 : b;
18703              return 1;
18704            }
18705            return h;
18706          }
18707          function ad(a, b, c, d) {
18708            a = a | 0;
18709            b = b | 0;
18710            c = c | 0;
18711            d = d | 0;
18712            var e = 0,
18713              g = 0,
18714              h = 0,
18715              i = 0,
18716              j = 0,
18717              k = 0,
18718              l = 0;
18719            if ((c | 0) >= 1) {
18720              e = f[d + -4 >> 2];
18721              while (1) {
18722                k = j << 2;
18723                h = k + b | 0;
18724                i = f[h >> 2];
18725                h = f[h + -4 >> 2];
18726                g = ((i & 255) + (e & 255) | 0) - (h & 255) | 0;
18727                l = g >>> 0 < 256 ? g : (g ^ -1) >>> 24 | 0;
18728                g = (i >>> 24) + (e >>> 24) - (h >>> 24) | 0;
18729                l = l | (g >>> 0 < 256 ? g : g >>> 24 ^ -1) << 24;
18730                g = ((i >>> 16 & 255) + (e >>> 16 & 255) | 0) - (h >>> 16 & 255) | 0;
18731                e = ((i >>> 8 & 255) + (e >>> 8 & 255) | 0) - (h >>> 8 & 255) | 0;
18732                e = l | (g >>> 0 < 256 ? g : (g ^ -1) >>> 24 | 0) << 16 | (e >>> 0 < 256 ? e : (e ^ -1) >>> 24 | 0) << 8;
18733                i = f[a + k >> 2];
18734                e = (e & -16711936) + (i & -16711936) & -16711936 | (e & 16711935) + (i & 16711935) & 16711935;
18735                f[d + k >> 2] = e;
18736                j = j + 1 | 0;
18737                if ((j | 0) != (c | 0)) {
18738                  continue;
18739                }
18740                break;
18741              }
18742            }
18743          }
18744          function pe(a, b, c, d, e, g, h, i, j) {
18745            var k = 0,
18746              m = 0,
18747              n = 0,
18748              o = 0;
18749            f[a + 72 >> 2] = h;
18750            f[a + 68 >> 2] = d;
18751            f[a + 60 >> 2] = 0;
18752            f[a + 64 >> 2] = 0;
18753            f[a + 56 >> 2] = g;
18754            f[a + 52 >> 2] = e;
18755            f[a + 48 >> 2] = c;
18756            f[a + 44 >> 2] = b;
18757            f[a + 8 >> 2] = i;
18758            h = (c | 0) < (g | 0);
18759            f[a + 4 >> 2] = h;
18760            k = (b | 0) < (e | 0);
18761            f[a >> 2] = k;
18762            m = k ? b + -1 | 0 : e;
18763            f[a + 40 >> 2] = m;
18764            d = k ? e + -1 | 0 : b;
18765            f[a + 36 >> 2] = d;
18766            if (!k) {
18767              n = a, o = yf(0, 1, m, m >> 31), f[n + 12 >> 2] = o;
18768            }
18769            b = g - h | 0;
18770            f[a + 32 >> 2] = b;
18771            c = c - h | 0;
18772            f[a + 28 >> 2] = c;
18773            a: {
18774              if (!h) {
18775                f[a + 24 >> 2] = c;
18776                c = l(c, d);
18777                c = yf(0, g, c, c >> 31);
18778                d = N;
18779                f[a + 20 >> 2] = (d | 0) == 1 & c >>> 0 < 0 | d >>> 0 < 1 ? c : 0;
18780                break a;
18781              }
18782              f[a + 24 >> 2] = b;
18783              b = d;
18784            }
18785            f[a + 76 >> 2] = j;
18786            n = a, o = yf(0, 1, b, b >> 31), f[n + 16 >> 2] = o;
18787            b = a;
18788            a = l(e, i);
18789            f[b + 80 >> 2] = (a << 2) + j;
18790            $e(j, 0, a << 3);
18791            ud();
18792          }
18793          function $b(a) {
18794            a = a | 0;
18795            var b = 0,
18796              c = 0,
18797              e = 0,
18798              f = 0,
18799              h = 0,
18800              i = 0,
18801              j = 0;
18802            h = g[a + -31 | 0];
18803            b = h + 1 | 0;
18804            c = g[a + -30 | 0];
18805            f = b + c >>> 1 | 0;
18806            d[a + 64 | 0] = f;
18807            j = g[a + -32 | 0];
18808            d[a | 0] = j + b >>> 1;
18809            b = g[a + -29 | 0];
18810            e = (b + c | 0) + 1 >>> 1 | 0;
18811            d[a + 65 | 0] = e;
18812            d[a + 1 | 0] = f;
18813            f = g[a + -28 | 0];
18814            i = (f + b | 0) + 1 >>> 1 | 0;
18815            d[a + 66 | 0] = i;
18816            d[a + 2 | 0] = e;
18817            d[a + 3 | 0] = i;
18818            e = b + 2 | 0;
18819            i = (e + h | 0) + (c << 1) >>> 2 | 0;
18820            d[a + 96 | 0] = i;
18821            c = c + 2 | 0;
18822            d[a + 32 | 0] = (c + j | 0) + (h << 1) >>> 2;
18823            h = f + (c + (b << 1) | 0) >>> 2 | 0;
18824            d[a + 97 | 0] = h;
18825            d[a + 33 | 0] = i;
18826            j = g[a + -25 | 0];
18827            c = g[a + -26 | 0];
18828            b = g[a + -27 | 0];
18829            e = b + (e + (f << 1) | 0) >>> 2 | 0;
18830            d[a + 98 | 0] = e;
18831            d[a + 34 | 0] = h;
18832            d[a + 99 | 0] = (j + (b + (c << 1) | 0) | 0) + 2 >>> 2;
18833            d[a + 67 | 0] = (c + (f + (b << 1) | 0) | 0) + 2 >>> 2;
18834            d[a + 35 | 0] = e;
18835          }
18836          function _b(a) {
18837            a = a | 0;
18838            var b = 0,
18839              c = 0,
18840              e = 0,
18841              f = 0,
18842              h = 0,
18843              i = 0,
18844              j = 0,
18845              k = 0,
18846              l = 0;
18847            i = g[a + 63 | 0];
18848            e = g[a + 31 | 0];
18849            c = (i + e | 0) + 1 >>> 1 | 0;
18850            d[a + 98 | 0] = c;
18851            j = g[a + 95 | 0];
18852            d[a + 96 | 0] = (j + i | 0) + 1 >>> 1;
18853            d[a + 64 | 0] = c;
18854            f = g[a + -1 | 0];
18855            b = f + 1 | 0;
18856            c = g[a + -33 | 0];
18857            h = b + c >>> 1 | 0;
18858            d[a + 34 | 0] = h;
18859            b = b + e >>> 1 | 0;
18860            d[a + 66 | 0] = b;
18861            d[a | 0] = h;
18862            d[a + 32 | 0] = b;
18863            b = g[a + -32 | 0];
18864            h = f + 2 | 0;
18865            k = b + (h + (c << 1) | 0) >>> 2 | 0;
18866            d[a + 35 | 0] = k;
18867            l = g[a + -31 | 0];
18868            d[a + 3 | 0] = (g[a + -30 | 0] + (b + (l << 1) | 0) | 0) + 2 >>> 2;
18869            d[a + 2 | 0] = ((c + (b << 1) | 0) + l | 0) + 2 >>> 2;
18870            b = f << 1;
18871            f = e + 2 | 0;
18872            c = c + (b + f | 0) >>> 2 | 0;
18873            d[a + 67 | 0] = c;
18874            d[a + 1 | 0] = k;
18875            e = (i + h | 0) + (e << 1) >>> 2 | 0;
18876            d[a + 99 | 0] = e;
18877            d[a + 33 | 0] = c;
18878            d[a + 97 | 0] = (f + j | 0) + (i << 1) >>> 2;
18879            d[a + 65 | 0] = e;
18880          }
18881          function ac(a) {
18882            a = a | 0;
18883            var b = 0,
18884              c = 0,
18885              e = 0,
18886              f = 0,
18887              h = 0,
18888              i = 0,
18889              j = 0,
18890              k = 0;
18891            e = g[a + -32 | 0];
18892            f = e + 1 | 0;
18893            b = g[a + -33 | 0];
18894            c = f + b >>> 1 | 0;
18895            d[a + 65 | 0] = c;
18896            h = g[a + -31 | 0];
18897            i = f + h >>> 1 | 0;
18898            d[a + 66 | 0] = i;
18899            d[a | 0] = c;
18900            f = g[a + -30 | 0];
18901            c = (f + h | 0) + 1 >>> 1 | 0;
18902            d[a + 67 | 0] = c;
18903            d[a + 1 | 0] = i;
18904            i = g[a + -29 | 0];
18905            d[a + 3 | 0] = (i + f | 0) + 1 >>> 1;
18906            d[a + 2 | 0] = c;
18907            c = g[a + -1 | 0];
18908            j = c + 2 | 0;
18909            k = g[a + 31 | 0];
18910            d[a + 96 | 0] = (j + g[a + 63 | 0] | 0) + (k << 1) >>> 2;
18911            j = e + (j + (b << 1) | 0) >>> 2 | 0;
18912            d[a + 97 | 0] = j;
18913            b = b + 2 | 0;
18914            d[a + 64 | 0] = (b + k | 0) + (c << 1) >>> 2;
18915            b = (b + (e << 1) | 0) + h >>> 2 | 0;
18916            d[a + 98 | 0] = b;
18917            d[a + 32 | 0] = j;
18918            e = (f + (e + (h << 1) | 0) | 0) + 2 >>> 2 | 0;
18919            d[a + 99 | 0] = e;
18920            d[a + 33 | 0] = b;
18921            d[a + 35 | 0] = (i + ((f << 1) + h | 0) | 0) + 2 >>> 2;
18922            d[a + 34 | 0] = e;
18923          }
18924          function Ma(a, b, d) {
18925            a = a | 0;
18926            b = b | 0;
18927            d = d | 0;
18928            var e = 0,
18929              g = 0,
18930              h = 0,
18931              i = 0,
18932              j = 0,
18933              k = 0,
18934              m = 0,
18935              n = 0,
18936              o = 0;
18937            e = f[a + 36 >> 2];
18938            a: {
18939              if (f[e + 64 >> 2] >= f[e + 56 >> 2]) {
18940                break a;
18941              }
18942              h = f[a >> 2];
18943              g = f[h >> 2];
18944              j = (g | 0) == 4 | (g | 0) == 9;
18945              o = g + -7 | 0;
18946              i = f[h + 20 >> 2];
18947              k = f[h + 16 >> 2] + l(i, b) | 0;
18948              m = f[e + 52 >> 2];
18949              g = 0;
18950              b = 0;
18951              b: {
18952                if ((d | 0) < 1) {
18953                  break b;
18954                }
18955                b = 0;
18956                if (f[e + 24 >> 2] > 0) {
18957                  break b;
18958                }
18959                b = (j ? 0 : 3) + k | 0;
18960                while (1) {
18961                  c: {
18962                    td(e);
18963                    n = c[f[2666]](f[f[a + 36 >> 2] + 68 >> 2], 0, m, 1, b, 0) | n;
18964                    i = f[h + 20 >> 2];
18965                    e = f[a + 36 >> 2];
18966                    g = g + 1 | 0;
18967                    if (f[e + 64 >> 2] >= f[e + 56 >> 2] | (g | 0) >= (d | 0)) {
18968                      break c;
18969                    }
18970                    b = b + i | 0;
18971                    if (f[e + 24 >> 2] <= 0) {
18972                      continue;
18973                    }
18974                  }
18975                  break;
18976                }
18977                b = (n | 0) != 0;
18978              }
18979              if (!b | o >>> 0 > 3) {
18980                break a;
18981              }
18982              c[f[2664]](k, j, m, g, i);
18983            }
18984            return g | 0;
18985          }
18986          function Ie(a, b, e) {
18987            var g = 0,
18988              h = 0,
18989              i = 0;
18990            g = L - 208 | 0;
18991            L = g;
18992            f[g + 204 >> 2] = e;
18993            e = 0;
18994            $e(g + 160 | 0, 0, 40);
18995            f[g + 200 >> 2] = f[g + 204 >> 2];
18996            a: {
18997              if ((Je(0, b, g + 200 | 0, g + 80 | 0, g + 160 | 0) | 0) < 0) {
18998                break a;
18999              }
19000              e = f[a + 76 >> 2] >= 0 ? 1 : e;
19001              h = f[a >> 2];
19002              if (d[a + 74 | 0] <= 0) {
19003                f[a >> 2] = h & -33;
19004              }
19005              i = h & 32;
19006              b: {
19007                if (f[a + 48 >> 2]) {
19008                  Je(a, b, g + 200 | 0, g + 80 | 0, g + 160 | 0);
19009                  break b;
19010                }
19011                f[a + 48 >> 2] = 80;
19012                f[a + 16 >> 2] = g + 80;
19013                f[a + 28 >> 2] = g;
19014                f[a + 20 >> 2] = g;
19015                h = f[a + 44 >> 2];
19016                f[a + 44 >> 2] = g;
19017                Je(a, b, g + 200 | 0, g + 80 | 0, g + 160 | 0);
19018                if (!h) {
19019                  break b;
19020                }
19021                c[f[a + 36 >> 2]](a, 0, 0) | 0;
19022                f[a + 48 >> 2] = 0;
19023                f[a + 44 >> 2] = h;
19024                f[a + 28 >> 2] = 0;
19025                f[a + 16 >> 2] = 0;
19026                f[a + 20 >> 2] = 0;
19027              }
19028              f[a >> 2] = i | f[a >> 2];
19029              if (!e) {
19030                break a;
19031              }
19032            }
19033            L = g + 208 | 0;
19034          }
19035          function Ia(a, b, c) {
19036            a = a | 0;
19037            b = b | 0;
19038            c = c | 0;
19039            var d = 0,
19040              e = 0,
19041              g = 0,
19042              h = 0,
19043              i = 0,
19044              j = 0,
19045              k = 0,
19046              m = 0,
19047              n = 0;
19048            e = f[b >> 2];
19049            g = f[e + 28 >> 2];
19050            j = f[b + 16 >> 2];
19051            h = f[e + 44 >> 2];
19052            i = g + l(j, h) | 0;
19053            d = f[a + 104 >> 2];
19054            a: {
19055              if (d) {
19056                c = f[a + 16 >> 2];
19057                if ((c | 0) < 1) {
19058                  break a;
19059                }
19060                m = f[e + 32 >> 2];
19061                g = f[b + 36 >> 2];
19062                h = f[a >> 2];
19063                n = f[e + 16 >> 2];
19064                a = 0;
19065                while (1) {
19066                  k = se(g, c, d, h);
19067                  d = l(h, k) + d | 0;
19068                  a = te(g) + a | 0;
19069                  c = c - k | 0;
19070                  if ((c | 0) > 0) {
19071                    continue;
19072                  }
19073                  break;
19074                }
19075                if ((a | 0) < 1) {
19076                  break a;
19077                }
19078                qb(l(j, m) + n | 0, f[e + 32 >> 2], i, f[e + 44 >> 2], f[f[b + 36 >> 2] + 52 >> 2], a, 1);
19079                return 0;
19080              }
19081              if (!g | (c | 0) < 1) {
19082                break a;
19083              }
19084              a = f[a + 96 >> 2];
19085              d = 0;
19086              while (1) {
19087                i = $e(i, 255, a) + h | 0;
19088                d = d + 1 | 0;
19089                if ((d | 0) != (c | 0)) {
19090                  continue;
19091                }
19092                break;
19093              }
19094            }
19095            return 0;
19096          }
19097          function Vb(a) {
19098            a = a | 0;
19099            var b = 0,
19100              c = 0,
19101              e = 0,
19102              f = 0,
19103              h = 0;
19104            c = g[a + 31 | 0];
19105            e = c + 2 | 0;
19106            b = g[a + 63 | 0];
19107            d[a + 96 | 0] = g[a + 95 | 0] + (e + (b << 1) | 0) >>> 2;
19108            h = c << 1;
19109            c = g[a + -1 | 0];
19110            f = c + 2 | 0;
19111            b = b + (h + f | 0) >>> 2 | 0;
19112            d[a + 97 | 0] = b;
19113            d[a + 64 | 0] = b;
19114            b = e + (c << 1) | 0;
19115            c = g[a + -33 | 0];
19116            b = b + c >>> 2 | 0;
19117            d[a + 98 | 0] = b;
19118            d[a + 65 | 0] = b;
19119            d[a + 32 | 0] = b;
19120            e = g[a + -32 | 0];
19121            b = (e + f | 0) + (c << 1) >>> 2 | 0;
19122            d[a + 99 | 0] = b;
19123            d[a + 66 | 0] = b;
19124            d[a + 33 | 0] = b;
19125            d[a | 0] = b;
19126            h = g[a + -29 | 0];
19127            b = g[a + -30 | 0];
19128            f = c;
19129            c = g[a + -31 | 0];
19130            f = ((f + c | 0) + (e << 1) | 0) + 2 >>> 2 | 0;
19131            d[a + 67 | 0] = f;
19132            d[a + 34 | 0] = f;
19133            d[a + 1 | 0] = f;
19134            e = ((b + e | 0) + (c << 1) | 0) + 2 >>> 2 | 0;
19135            d[a + 35 | 0] = e;
19136            d[a + 2 | 0] = e;
19137            d[a + 3 | 0] = ((c + h | 0) + (b << 1) | 0) + 2 >>> 2;
19138          }
19139          function se(a, b, c, d) {
19140            var e = 0,
19141              g = 0,
19142              h = 0,
19143              i = 0,
19144              j = 0,
19145              k = 0,
19146              m = 0,
19147              n = 0;
19148            a: {
19149              if ((b | 0) < 1) {
19150                break a;
19151              }
19152              while (1) {
19153                if (f[a + 24 >> 2] < 1 ? f[a + 64 >> 2] < f[a + 56 >> 2] : 0) {
19154                  break a;
19155                }
19156                if (f[a + 4 >> 2]) {
19157                  m = a, n = Af(f[a + 76 >> 2], f[a + 80 >> 2]), f[m + 76 >> 2] = n;
19158                  f[a + 80 >> 2] = N;
19159                }
19160                sd(a, c);
19161                if (!(f[a + 4 >> 2] | (l(f[a + 52 >> 2], f[a + 8 >> 2]) | 0) < 1)) {
19162                  j = f[a + 76 >> 2];
19163                  k = f[a + 80 >> 2];
19164                  e = 0;
19165                  while (1) {
19166                    h = e << 2;
19167                    i = h + j | 0;
19168                    f[i >> 2] = f[i >> 2] + f[k + h >> 2];
19169                    e = e + 1 | 0;
19170                    if ((e | 0) < (l(f[a + 52 >> 2], f[a + 8 >> 2]) | 0)) {
19171                      continue;
19172                    }
19173                    break;
19174                  }
19175                }
19176                f[a + 60 >> 2] = f[a + 60 >> 2] + 1;
19177                f[a + 24 >> 2] = f[a + 24 >> 2] - f[a + 32 >> 2];
19178                c = c + d | 0;
19179                g = g + 1 | 0;
19180                if ((g | 0) != (b | 0)) {
19181                  continue;
19182                }
19183                break;
19184              }
19185              g = b;
19186            }
19187            return g;
19188          }
19189          function la(a) {
19190            var b = 0,
19191              c = 0,
19192              d = 0;
19193            if (a) {
19194              b = a + 160 | 0;
19195              Xe(f[b >> 2]);
19196              Xe(f[a + 172 >> 2]);
19197              c = a + 168 | 0;
19198              le(f[c >> 2]);
19199              je(a + 124 | 0);
19200              d = a + 136 | 0;
19201              je(d);
19202              f[c >> 2] = 0;
19203              f[c + 4 >> 2] = 0;
19204              f[b >> 2] = 0;
19205              f[b + 4 >> 2] = 0;
19206              f[a + 152 >> 2] = 0;
19207              f[a + 156 >> 2] = 0;
19208              f[a + 144 >> 2] = 0;
19209              f[a + 148 >> 2] = 0;
19210              f[d >> 2] = 0;
19211              f[d + 4 >> 2] = 0;
19212              f[a + 128 >> 2] = 0;
19213              f[a + 132 >> 2] = 0;
19214              f[a + 120 >> 2] = 0;
19215              f[a + 124 >> 2] = 0;
19216              Xe(f[a + 16 >> 2]);
19217              b = 0;
19218              f[a + 16 >> 2] = 0;
19219              if (f[a + 176 >> 2] >= 1) {
19220                while (1) {
19221                  c = (l(b, 20) + a | 0) + 196 | 0;
19222                  Xe(f[c >> 2]);
19223                  f[c >> 2] = 0;
19224                  b = b + 1 | 0;
19225                  if ((b | 0) < f[a + 176 >> 2]) {
19226                    continue;
19227                  }
19228                  break;
19229                }
19230              }
19231              f[a + 260 >> 2] = 0;
19232              f[a + 176 >> 2] = 0;
19233              Xe(f[a + 264 >> 2]);
19234              f[a + 12 >> 2] = 0;
19235              f[a + 264 >> 2] = 0;
19236            }
19237          }
19238          function Bb() {
19239            if (f[2545] != f[2673]) {
19240              f[2703] = 32;
19241              f[2674] = 33;
19242              f[2706] = 34;
19243              f[2704] = 35;
19244              f[2705] = 36;
19245              f[2707] = 37;
19246              f[2708] = 38;
19247              f[2712] = 39;
19248              f[2709] = 40;
19249              f[2710] = 41;
19250              f[2714] = 42;
19251              f[2716] = 43;
19252              f[2717] = 44;
19253              f[2718] = 45;
19254              f[2719] = 46;
19255              f[2713] = 47;
19256              f[2711] = 48;
19257              f[2715] = 49;
19258              f[2690] = 50;
19259              f[2688] = 51;
19260              f[2686] = 52;
19261              f[2685] = 53;
19262              f[2684] = 54;
19263              f[2693] = 55;
19264              f[2692] = 56;
19265              f[2691] = 57;
19266              f[2689] = 58;
19267              f[2687] = 59;
19268              f[2682] = 60;
19269              f[2681] = 61;
19270              f[2680] = 62;
19271              f[2679] = 63;
19272              f[2678] = 64;
19273              f[2677] = 65;
19274              f[2676] = 66;
19275              f[2702] = 67;
19276              f[2701] = 68;
19277              f[2700] = 69;
19278              f[2699] = 70;
19279              f[2698] = 71;
19280              f[2697] = 72;
19281              f[2696] = 73;
19282              f[2720] = 74;
19283              f[2545] = f[2673];
19284            }
19285          }
19286          function Ub(a) {
19287            a = a | 0;
19288            var b = 0,
19289              c = 0,
19290              e = 0,
19291              f = 0,
19292              h = 0;
19293            b = g[a + -29 | 0];
19294            f = b + 2 | 0;
19295            e = g[a + -31 | 0];
19296            c = g[a + -30 | 0];
19297            h = (f + e | 0) + (c << 1) >>> 2 | 0;
19298            d[a + 32 | 0] = h;
19299            c = c + 2 | 0;
19300            d[a | 0] = (c + g[a + -32 | 0] | 0) + (e << 1) >>> 2;
19301            e = g[a + -28 | 0];
19302            c = e + (c + (b << 1) | 0) >>> 2 | 0;
19303            d[a + 64 | 0] = c;
19304            d[a + 1 | 0] = h;
19305            d[a + 33 | 0] = c;
19306            b = f + (e << 1) | 0;
19307            f = g[a + -27 | 0];
19308            b = b + f >>> 2 | 0;
19309            d[a + 96 | 0] = b;
19310            d[a + 2 | 0] = c;
19311            d[a + 65 | 0] = b;
19312            d[a + 34 | 0] = b;
19313            d[a + 3 | 0] = b;
19314            b = g[a + -26 | 0];
19315            e = (b + (e + (f << 1) | 0) | 0) + 2 >>> 2 | 0;
19316            d[a + 97 | 0] = e;
19317            c = g[a + -25 | 0];
19318            f = (c + (f + (b << 1) | 0) | 0) + 2 >>> 2 | 0;
19319            d[a + 98 | 0] = f;
19320            d[a + 35 | 0] = e;
19321            d[a + 66 | 0] = e;
19322            d[a + 99 | 0] = ((c + b | 0) + (c << 1) | 0) + 2 >>> 2;
19323            d[a + 67 | 0] = f;
19324          }
19325          function bc(a) {
19326            a = a | 0;
19327            var b = 0,
19328              c = 0,
19329              e = 0,
19330              f = 0,
19331              h = 0;
19332            c = g[a + 63 | 0];
19333            b = c + 2 | 0;
19334            h = g[a + 95 | 0];
19335            e = l((b + h | 0) + (h << 1) >>> 2 | 0, 16843009);
19336            d[a + 96 | 0] = e;
19337            d[a + 97 | 0] = e >>> 8;
19338            d[a + 98 | 0] = e >>> 16;
19339            d[a + 99 | 0] = e >>> 24;
19340            f = g[a + 31 | 0];
19341            e = f + 2 | 0;
19342            c = l(h + (e + (c << 1) | 0) >>> 2 | 0, 16843009);
19343            d[a + 64 | 0] = c;
19344            d[a + 65 | 0] = c >>> 8;
19345            d[a + 66 | 0] = c >>> 16;
19346            d[a + 67 | 0] = c >>> 24;
19347            h = b;
19348            b = g[a + -1 | 0];
19349            f = l((h + b | 0) + (f << 1) >>> 2 | 0, 16843009);
19350            d[a + 32 | 0] = f;
19351            d[a + 33 | 0] = f >>> 8;
19352            d[a + 34 | 0] = f >>> 16;
19353            d[a + 35 | 0] = f >>> 24;
19354            b = l((g[a + -33 | 0] + e | 0) + (b << 1) >>> 2 | 0, 16843009);
19355            d[a | 0] = b;
19356            d[a + 1 | 0] = b >>> 8;
19357            d[a + 2 | 0] = b >>> 16;
19358            d[a + 3 | 0] = b >>> 24;
19359          }
19360          function yc(a, b, c, e, f) {
19361            a = a | 0;
19362            b = b | 0;
19363            c = c | 0;
19364            e = e | 0;
19365            f = f | 0;
19366            var h = 0,
19367              i = 0,
19368              j = 0,
19369              k = 0,
19370              l = 0,
19371              m = 0,
19372              n = 0;
19373            d[f | 0] = g[a | 0];
19374            if ((b | 0) >= 2) {
19375              j = b + -1 | 0;
19376              k = f + 1 | 0;
19377              i = a + 1 | 0;
19378              while (1) {
19379                d[h + k | 0] = g[h + i | 0] - g[a + h | 0];
19380                h = h + 1 | 0;
19381                if ((j | 0) != (h | 0)) {
19382                  continue;
19383                }
19384                break;
19385              }
19386            }
19387            if ((c | 0) >= 2) {
19388              m = e ^ -1;
19389              n = (b | 0) < 2;
19390              k = 1;
19391              while (1) {
19392                f = e + f | 0;
19393                j = a + e | 0;
19394                d[f | 0] = g[j | 0] - g[a | 0];
19395                h = 1;
19396                if (!n) {
19397                  while (1) {
19398                    l = h + j | 0;
19399                    i = (g[a + h | 0] + g[l + -1 | 0] | 0) - g[j + (h + m | 0) | 0] | 0;
19400                    i = (i | 0) > 0 ? i : 0;
19401                    d[f + h | 0] = g[l | 0] - ((i | 0) < 255 ? i : 255);
19402                    h = h + 1 | 0;
19403                    if ((h | 0) != (b | 0)) {
19404                      continue;
19405                    }
19406                    break;
19407                  }
19408                }
19409                a = j;
19410                k = k + 1 | 0;
19411                if ((k | 0) != (c | 0)) {
19412                  continue;
19413                }
19414                break;
19415              }
19416            }
19417          }
19418          function Hd(a, b, c, e, f) {
19419            a = a | 0;
19420            b = b | 0;
19421            c = c | 0;
19422            e = e | 0;
19423            f = f | 0;
19424            var h = 0,
19425              i = 0,
19426              j = 0,
19427              k = 0,
19428              m = 0,
19429              n = 0,
19430              o = 0;
19431            if ((f | 0) >= 1) {
19432              while (1) {
19433                k = g[c + j | 0];
19434                o = g[b + j | 0];
19435                m = g[a + j | 0];
19436                h = (j << 2) + e | 0;
19437                d[h | 0] = 255;
19438                m = l(m, 19077) >>> 8 | 0;
19439                n = m + (l(o, 33050) >>> 8 | 0) | 0;
19440                i = n + -17685 | 0;
19441                d[h + 3 | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : n >>> 0 < 17685 ? 0 : 255;
19442                n = m + (l(k, 26149) >>> 8 | 0) | 0;
19443                i = n + -14234 | 0;
19444                d[h + 1 | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : n >>> 0 < 14234 ? 0 : 255;
19445                i = h;
19446                h = m - (l(o, 6419) >>> 8 | 0) - (l(k, 13320) >>> 8) | 0;
19447                k = h + 8708 | 0;
19448                d[i + 2 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : (h | 0) < -8708 ? 0 : 255;
19449                j = j + 1 | 0;
19450                if ((j | 0) != (f | 0)) {
19451                  continue;
19452                }
19453                break;
19454              }
19455            }
19456          }
19457          function Ed(a, b, c, e, f) {
19458            a = a | 0;
19459            b = b | 0;
19460            c = c | 0;
19461            e = e | 0;
19462            f = f | 0;
19463            var h = 0,
19464              i = 0,
19465              j = 0,
19466              k = 0,
19467              m = 0,
19468              n = 0,
19469              o = 0;
19470            if ((f | 0) >= 1) {
19471              while (1) {
19472                k = g[b + j | 0];
19473                o = g[c + j | 0];
19474                m = g[a + j | 0];
19475                h = (j << 2) + e | 0;
19476                d[h + 3 | 0] = 255;
19477                m = l(m, 19077) >>> 8 | 0;
19478                n = m + (l(o, 26149) >>> 8 | 0) | 0;
19479                i = n + -14234 | 0;
19480                d[h + 2 | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : n >>> 0 < 14234 ? 0 : 255;
19481                n = m + (l(k, 33050) >>> 8 | 0) | 0;
19482                i = n + -17685 | 0;
19483                d[h | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : n >>> 0 < 17685 ? 0 : 255;
19484                i = h;
19485                h = m - (l(k, 6419) >>> 8 | 0) - (l(o, 13320) >>> 8) | 0;
19486                k = h + 8708 | 0;
19487                d[i + 1 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : (h | 0) < -8708 ? 0 : 255;
19488                j = j + 1 | 0;
19489                if ((j | 0) != (f | 0)) {
19490                  continue;
19491                }
19492                break;
19493              }
19494            }
19495          }
19496          function Dd(a, b, c, e, f) {
19497            a = a | 0;
19498            b = b | 0;
19499            c = c | 0;
19500            e = e | 0;
19501            f = f | 0;
19502            var h = 0,
19503              i = 0,
19504              j = 0,
19505              k = 0,
19506              m = 0,
19507              n = 0,
19508              o = 0;
19509            if ((f | 0) >= 1) {
19510              while (1) {
19511                k = g[c + j | 0];
19512                o = g[b + j | 0];
19513                m = g[a + j | 0];
19514                h = (j << 2) + e | 0;
19515                d[h + 3 | 0] = 255;
19516                m = l(m, 19077) >>> 8 | 0;
19517                n = m + (l(o, 33050) >>> 8 | 0) | 0;
19518                i = n + -17685 | 0;
19519                d[h + 2 | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : n >>> 0 < 17685 ? 0 : 255;
19520                n = m + (l(k, 26149) >>> 8 | 0) | 0;
19521                i = n + -14234 | 0;
19522                d[h | 0] = i >>> 0 < 16384 ? i >>> 6 | 0 : n >>> 0 < 14234 ? 0 : 255;
19523                i = h;
19524                h = m - (l(o, 6419) >>> 8 | 0) - (l(k, 13320) >>> 8) | 0;
19525                k = h + 8708 | 0;
19526                d[i + 1 | 0] = k >>> 0 < 16384 ? k >>> 6 | 0 : (h | 0) < -8708 ? 0 : 255;
19527                j = j + 1 | 0;
19528                if ((j | 0) != (f | 0)) {
19529                  continue;
19530                }
19531                break;
19532              }
19533            }
19534          }
19535          function Jd(a, b, c, e, f) {
19536            a = a | 0;
19537            b = b | 0;
19538            c = c | 0;
19539            e = e | 0;
19540            f = f | 0;
19541            var h = 0,
19542              i = 0,
19543              j = 0,
19544              k = 0,
19545              m = 0,
19546              n = 0,
19547              o = 0;
19548            if ((f | 0) >= 1) {
19549              while (1) {
19550                m = (j << 1) + e | 0;
19551                k = l(g[a + j | 0], 19077) >>> 8 | 0;
19552                h = g[c + j | 0];
19553                n = k + (l(h, 26149) >>> 8 | 0) | 0;
19554                i = n + -14234 | 0;
19555                o = (i >>> 0 < 16384 ? i >>> 6 | 0 : n >>> 0 < 14234 ? 0 : 248) & 248;
19556                n = g[b + j | 0];
19557                h = k - (l(n, 6419) >>> 8 | 0) - (l(h, 13320) >>> 8) | 0;
19558                i = h + 8708 | 0;
19559                h = i >>> 0 < 16384 ? i >> 6 : (h | 0) < -8708 ? 0 : 255;
19560                d[m | 0] = o | h >>> 5;
19561                i = m;
19562                k = k + (l(n, 33050) >>> 8 | 0) | 0;
19563                m = k + -17685 | 0;
19564                d[i + 1 | 0] = h << 3 & 224 | (m >>> 0 < 16384 ? m >>> 9 | 0 : k >>> 0 < 17685 ? 0 : 31);
19565                j = j + 1 | 0;
19566                if ((j | 0) != (f | 0)) {
19567                  continue;
19568                }
19569                break;
19570              }
19571            }
19572          }
19573          function sa(a, b) {
19574            var d = 0,
19575              e = 0,
19576              g = 0,
19577              h = 0,
19578              j = 0;
19579            e = f[a + 8 >> 2];
19580            j = f[e + 40 >> 2];
19581            d = f[(i[j + 12 >> 2] < 2 ? e + 84 | 0 : a + 108 | 0) >> 2];
19582            g = f[a + 108 >> 2];
19583            d = (g | 0) < (d | 0) ? d : g;
19584            a: {
19585              if ((d | 0) >= (b | 0)) {
19586                break a;
19587              }
19588              g = f[e >> 2];
19589              e = f[j + 136 >> 2] + l(g, d) | 0;
19590              Dc(a + 180 | 0, d, b, f[a + 16 >> 2] + l(d, f[a + 100 >> 2]) | 0, e);
19591              h = f[j + 12 >> 2];
19592              if (!h) {
19593                break a;
19594              }
19595              c[f[(h << 2) + 10912 >> 2]](f[j + 140 >> 2], e, e, g);
19596              h = d + 1 | 0;
19597              b: {
19598                if ((h | 0) == (b | 0)) {
19599                  d = e;
19600                  break b;
19601                }
19602                while (1) {
19603                  d = e + g | 0;
19604                  c[f[(f[j + 12 >> 2] << 2) + 10912 >> 2]](e, d, d, g);
19605                  e = d;
19606                  h = h + 1 | 0;
19607                  if ((h | 0) != (b | 0)) {
19608                    continue;
19609                  }
19610                  break;
19611                }
19612              }
19613              f[j + 140 >> 2] = d;
19614            }
19615            f[a + 108 >> 2] = b;
19616            f[a + 116 >> 2] = b;
19617          }
19618          function pd(a, b) {
19619            a = a | 0;
19620            b = b | 0;
19621            var c = 0,
19622              d = 0,
19623              e = 0,
19624              h = 0,
19625              i = 0,
19626              j = 0,
19627              k = 0,
19628              m = 0,
19629              n = 0,
19630              o = 0,
19631              p = 0;
19632            h = f[a + 8 >> 2];
19633            if ((h | 0) >= 1) {
19634              n = l(f[a + 52 >> 2], h);
19635              while (1) {
19636                if ((i | 0) < (n | 0)) {
19637                  p = f[a + 80 >> 2];
19638                  d = 0;
19639                  e = 0;
19640                  j = i;
19641                  k = i;
19642                  while (1) {
19643                    o = f[a + 40 >> 2];
19644                    m = 0;
19645                    d = f[a + 36 >> 2] + d | 0;
19646                    if ((d | 0) >= 1) {
19647                      while (1) {
19648                        m = g[b + k | 0];
19649                        e = m + e | 0;
19650                        c = k + h | 0;
19651                        k = c;
19652                        d = d - o | 0;
19653                        if ((d | 0) > 0) {
19654                          continue;
19655                        }
19656                        break;
19657                      }
19658                      k = c;
19659                    }
19660                    c = l(d, m);
19661                    f[(j << 2) + p >> 2] = c + l(e, o);
19662                    e = xf(f[a + 12 >> 2], 0, 0 - c | 0, 0) + -2147483648 | 0;
19663                    c = N;
19664                    e = e >>> 0 < 2147483648 ? c + 1 | 0 : c;
19665                    j = h + j | 0;
19666                    if ((j | 0) < (n | 0)) {
19667                      continue;
19668                    }
19669                    break;
19670                  }
19671                }
19672                i = i + 1 | 0;
19673                if ((h | 0) != (i | 0)) {
19674                  continue;
19675                }
19676                break;
19677              }
19678            }
19679          }
19680          function Xb(a) {
19681            a = a | 0;
19682            var b = 0,
19683              c = 0,
19684              e = 0,
19685              h = 0,
19686              i = 0,
19687              j = 0;
19688            c = g[a + -32 | 0];
19689            e = f[2548] - g[a + -33 | 0] | 0;
19690            b = e + g[a + -1 | 0] | 0;
19691            d[a | 0] = g[c + b | 0];
19692            h = g[a + -31 | 0];
19693            d[a + 1 | 0] = g[b + h | 0];
19694            i = g[a + -30 | 0];
19695            d[a + 2 | 0] = g[b + i | 0];
19696            j = g[a + -29 | 0];
19697            d[a + 3 | 0] = g[b + j | 0];
19698            b = e + g[a + 31 | 0] | 0;
19699            d[a + 32 | 0] = g[b + c | 0];
19700            d[a + 33 | 0] = g[b + h | 0];
19701            d[a + 34 | 0] = g[b + i | 0];
19702            d[a + 35 | 0] = g[b + j | 0];
19703            b = e + g[a + 63 | 0] | 0;
19704            d[a + 64 | 0] = g[b + c | 0];
19705            d[a + 65 | 0] = g[b + h | 0];
19706            d[a + 66 | 0] = g[b + i | 0];
19707            d[a + 67 | 0] = g[b + j | 0];
19708            b = c;
19709            c = e + g[a + 95 | 0] | 0;
19710            d[a + 96 | 0] = g[b + c | 0];
19711            d[a + 97 | 0] = g[c + h | 0];
19712            d[a + 98 | 0] = g[c + i | 0];
19713            d[a + 99 | 0] = g[c + j | 0];
19714          }
19715          function Id(a, b, c, e, f) {
19716            a = a | 0;
19717            b = b | 0;
19718            c = c | 0;
19719            e = e | 0;
19720            f = f | 0;
19721            var h = 0,
19722              i = 0,
19723              j = 0,
19724              k = 0,
19725              m = 0,
19726              n = 0,
19727              o = 0;
19728            if ((f | 0) >= 1) {
19729              while (1) {
19730                j = g[c + h | 0];
19731                k = (h << 1) + e | 0;
19732                i = l(g[a + h | 0], 19077) >>> 8 | 0;
19733                o = g[b + h | 0];
19734                m = i + (l(o, 33050) >>> 8 | 0) | 0;
19735                n = m + -17685 | 0;
19736                d[k + 1 | 0] = (n >>> 0 < 16384 ? n >>> 6 | 0 : m >>> 0 < 17685 ? 0 : 240) | 15;
19737                n = k;
19738                k = i + (l(j, 26149) >>> 8 | 0) | 0;
19739                m = k + -14234 | 0;
19740                j = i - (l(o, 6419) >>> 8 | 0) - (l(j, 13320) >>> 8) | 0;
19741                i = j + 8708 | 0;
19742                d[n | 0] = (m >>> 0 < 16384 ? m >>> 6 | 0 : k >>> 0 < 14234 ? 0 : 240) & 240 | (i >>> 0 < 16384 ? i >>> 10 | 0 : (j | 0) < -8708 ? 0 : 15);
19743                h = h + 1 | 0;
19744                if ((h | 0) != (f | 0)) {
19745                  continue;
19746                }
19747                break;
19748              }
19749            }
19750          }
19751          function Fa(a, b, d) {
19752            a = a | 0;
19753            b = b | 0;
19754            d = d | 0;
19755            var e = 0,
19756              g = 0,
19757              h = 0,
19758              i = 0,
19759              j = 0,
19760              k = 0,
19761              m = 0;
19762            g = f[a + 104 >> 2];
19763            a: {
19764              if (!g) {
19765                break a;
19766              }
19767              h = f[b >> 2];
19768              i = f[h >> 2];
19769              k = (i | 0) == 4 | (i | 0) == 9;
19770              b = f[a + 16 >> 2];
19771              e = f[a + 8 >> 2];
19772              m = f[a + 12 >> 2];
19773              b: {
19774                if (!f[a + 56 >> 2]) {
19775                  j = e;
19776                  break b;
19777                }
19778                if (e) {
19779                  j = e + -1 | 0;
19780                  g = g - f[a >> 2] | 0;
19781                  d = b;
19782                } else {
19783                  d = b + -1 | 0;
19784                }
19785                b = b + e | 0;
19786                e = f[a + 84 >> 2];
19787                b = b + e | 0;
19788                if ((b | 0) != f[a + 88 >> 2]) {
19789                  b = d;
19790                  break b;
19791                }
19792                b = b - (e + j | 0) | 0;
19793              }
19794              e = f[a >> 2];
19795              a = f[h + 20 >> 2];
19796              d = f[h + 16 >> 2] + l(a, j) | 0;
19797              if (!(c[f[2666]](g, e, m, b, d + (k ? 0 : 3) | 0, a) | 0) | i + -7 >>> 0 > 3) {
19798                break a;
19799              }
19800              c[f[2664]](d, k, m, b, f[h + 20 >> 2]);
19801            }
19802            return 0;
19803          }
19804          function Gd(a, b, c, e, f) {
19805            a = a | 0;
19806            b = b | 0;
19807            c = c | 0;
19808            e = e | 0;
19809            f = f | 0;
19810            var h = 0,
19811              i = 0,
19812              j = 0,
19813              k = 0,
19814              m = 0,
19815              n = 0,
19816              o = 0;
19817            if ((f | 0) >= 1) {
19818              while (1) {
19819                k = g[b + i | 0];
19820                j = l(i, 3) + e | 0;
19821                n = l(g[a + i | 0], 19077) >>> 8 | 0;
19822                o = g[c + i | 0];
19823                h = n + (l(o, 26149) >>> 8 | 0) | 0;
19824                m = h + -14234 | 0;
19825                d[j + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : h >>> 0 < 14234 ? 0 : 255;
19826                h = n + (l(k, 33050) >>> 8 | 0) | 0;
19827                m = h + -17685 | 0;
19828                d[j | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : h >>> 0 < 17685 ? 0 : 255;
19829                h = j;
19830                k = n - (l(k, 6419) >>> 8 | 0) - (l(o, 13320) >>> 8) | 0;
19831                j = k + 8708 | 0;
19832                d[h + 1 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (k | 0) < -8708 ? 0 : 255;
19833                i = i + 1 | 0;
19834                if ((i | 0) != (f | 0)) {
19835                  continue;
19836                }
19837                break;
19838              }
19839            }
19840          }
19841          function Fd(a, b, c, e, f) {
19842            a = a | 0;
19843            b = b | 0;
19844            c = c | 0;
19845            e = e | 0;
19846            f = f | 0;
19847            var h = 0,
19848              i = 0,
19849              j = 0,
19850              k = 0,
19851              m = 0,
19852              n = 0,
19853              o = 0;
19854            if ((f | 0) >= 1) {
19855              while (1) {
19856                k = g[c + i | 0];
19857                j = l(i, 3) + e | 0;
19858                n = l(g[a + i | 0], 19077) >>> 8 | 0;
19859                o = g[b + i | 0];
19860                h = n + (l(o, 33050) >>> 8 | 0) | 0;
19861                m = h + -17685 | 0;
19862                d[j + 2 | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : h >>> 0 < 17685 ? 0 : 255;
19863                h = n + (l(k, 26149) >>> 8 | 0) | 0;
19864                m = h + -14234 | 0;
19865                d[j | 0] = m >>> 0 < 16384 ? m >>> 6 | 0 : h >>> 0 < 14234 ? 0 : 255;
19866                h = j;
19867                k = n - (l(o, 6419) >>> 8 | 0) - (l(k, 13320) >>> 8) | 0;
19868                j = k + 8708 | 0;
19869                d[h + 1 | 0] = j >>> 0 < 16384 ? j >>> 6 | 0 : (k | 0) < -8708 ? 0 : 255;
19870                i = i + 1 | 0;
19871                if ((i | 0) != (f | 0)) {
19872                  continue;
19873                }
19874                break;
19875              }
19876            }
19877          }
19878          function Pc(a, b) {
19879            a = a | 0;
19880            b = b | 0;
19881            var c = 0,
19882              d = 0,
19883              e = 0,
19884              g = 0,
19885              h = 0,
19886              i = 0,
19887              j = 0,
19888              k = 0,
19889              l = 0,
19890              m = 0,
19891              n = 0,
19892              o = 0,
19893              p = 0;
19894            d = f[b >> 2];
19895            b = f[b + -4 >> 2];
19896            c = b & 255;
19897            e = (d & 255) - c | 0;
19898            g = (a & 255) - c | 0;
19899            c = g >> 31;
19900            h = b >>> 24 | 0;
19901            i = (a >>> 24 | 0) - h | 0;
19902            j = i >> 31;
19903            k = b >>> 8 & 255;
19904            l = (a >>> 8 & 255) - k | 0;
19905            m = l >> 31;
19906            n = b >>> 16 & 255;
19907            o = (a >>> 16 & 255) - n | 0;
19908            b = o >> 31;
19909            p = a;
19910            a = (d >>> 24 | 0) - h | 0;
19911            c = ((((c ^ c + g) + ((e | 0) < 0 ? e : 0 - e | 0) | 0) + (j ^ j + i) | 0) + ((a | 0) < 0 ? a : 0 - a | 0) | 0) + (m ^ m + l) | 0;
19912            a = (d >>> 8 & 255) - k | 0;
19913            b = (c + ((a | 0) < 0 ? a : 0 - a | 0) | 0) + (b ^ b + o) | 0;
19914            a = (d >>> 16 & 255) - n | 0;
19915            return ((b + ((a | 0) < 0 ? a : 0 - a | 0) | 0) < 1 ? d : p) | 0;
19916          }
19917          function od(a, b) {
19918            a = a | 0;
19919            b = b | 0;
19920            var c = 0,
19921              d = 0,
19922              e = 0,
19923              h = 0,
19924              i = 0,
19925              j = 0,
19926              k = 0,
19927              m = 0,
19928              n = 0,
19929              o = 0;
19930            e = f[a + 8 >> 2];
19931            if ((e | 0) >= 1) {
19932              n = l(f[a + 52 >> 2], e);
19933              o = f[a + 80 >> 2];
19934              while (1) {
19935                c = e + i | 0;
19936                d = f[a + 36 >> 2];
19937                j = g[b + i | 0];
19938                h = j;
19939                h = f[a + 44 >> 2] >= 2 ? g[b + c | 0] : h;
19940                f[(i << 2) + o >>
19940 2] = l(d, j);
19941                k = c;
19942                if ((c | 0) < (n | 0)) {
19943                  while (1) {
19944                    d = d - f[a + 40 >> 2] | 0;
19945                    a: {
19946                      if ((d | 0) >= 0) {
19947                        m = f[a + 36 >> 2];
19948                        break a;
19949                      }
19950                      m = f[a + 36 >> 2];
19951                      d = m + d | 0;
19952                      j = h;
19953                      k = e + k | 0;
19954                      h = g[k + b | 0];
19955                    }
19956                    f[(c << 2) + o >> 2] = l(h, m) + l(j - h | 0, d);
19957                    c = c + e | 0;
19958                    if ((c | 0) < (n | 0)) {
19959                      continue;
19960                    }
19961                    break;
19962                  }
19963                }
19964                i = i + 1 | 0;
19965                if ((i | 0) != (e | 0)) {
19966                  continue;
19967                }
19968                break;
19969              }
19970            }
19971          }
19972          function ge(a) {
19973            var b = 0,
19974              c = 0,
19975              d = 0,
19976              e = 0,
19977              h = 0,
19978              i = 0,
19979              j = 0;
19980            d = f[a + 20 >> 2];
19981            a: {
19982              if ((d | 0) < 8) {
19983                b = d;
19984                break a;
19985              }
19986              c = f[a + 16 >> 2];
19987              b = f[a + 12 >> 2];
19988              j = c >>> 0 > b >>> 0 ? c : b;
19989              while (1) {
19990                if ((c | 0) == (j | 0)) {
19991                  b = d;
19992                  break a;
19993                }
19994                h = f[a + 4 >> 2];
19995                e = h >>> 8 | 0;
19996                i = (h & 255) << 24 | f[a >> 2] >>> 8;
19997                h = e;
19998                f[a >> 2] = i;
19999                f[a + 4 >> 2] = e;
20000                e = g[f[a + 8 >> 2] + c | 0];
20001                b = d + -8 | 0;
20002                f[a + 20 >> 2] = b;
20003                c = c + 1 | 0;
20004                f[a + 16 >> 2] = c;
20005                f[a >> 2] = i;
20006                f[a + 4 >> 2] = h | e << 24;
20007                e = (d | 0) > 15;
20008                d = b;
20009                if (e) {
20010                  continue;
20011                }
20012                break;
20013              }
20014            }
20015            if (!(f[a + 16 >> 2] != f[a + 12 >> 2] | (b | 0) < 65 ? !f[a + 24 >> 2] : 0)) {
20016              f[a + 20 >> 2] = 0;
20017              f[a + 24 >> 2] = 1;
20018            }
20019          }
20020          function Ge(a, b) {
20021            a: {
20022              if (a) {
20023                if (b >>> 0 <= 127) {
20024                  break a;
20025                }
20026                b: {
20027                  if (!f[f[2607] >> 2]) {
20028                    if ((b & -128) == 57216) {
20029                      break a;
20030                    }
20031                    break b;
20032                  }
20033                  if (b >>> 0 <= 2047) {
20034                    d[a + 1 | 0] = b & 63 | 128;
20035                    d[a | 0] = b >>> 6 | 192;
20036                    return 2;
20037                  }
20038                  if (!((b & -8192) != 57344 ? b >>> 0 >= 55296 : 0)) {
20039                    d[a + 2 | 0] = b & 63 | 128;
20040                    d[a | 0] = b >>> 12 | 224;
20041                    d[a + 1 | 0] = b >>> 6 & 63 | 128;
20042                    return 3;
20043                  }
20044                  if (b + -65536 >>> 0 <= 1048575) {
20045                    d[a + 3 | 0] = b & 63 | 128;
20046                    d[a | 0] = b >>> 18 | 240;
20047                    d[a + 2 | 0] = b >>> 6 & 63 | 128;
20048                    d[a + 1 | 0] = b >>> 12 & 63 | 128;
20049                    return 4;
20050                  }
20051                }
20052                f[2865] = 25;
20053                a = -1;
20054              } else {
20055                a = 1;
20056              }
20057              return a;
20058            }
20059            d[a | 0] = b;
20060            return 1;
20061          }
20062          function da(a) {
20063            var b = 0,
20064              c = 0,
20065              d = 0,
20066              e = 0,
20067              g = 0,
20068              h = 0;
20069            if (!a) {
20070              return 2;
20071            }
20072            e = f[a + 8 >> 2] + -1 | 0;
20073            if (i[a >> 2] <= 10) {
20074              b = a + 20 | 0;
20075              c = f[b >> 2];
20076              f[b >> 2] = 0 - c;
20077              f[a + 16 >> 2] = f[a + 16 >> 2] + l(c, e);
20078              return 0;
20079            }
20080            b = a + 32 | 0;
20081            c = f[b >> 2];
20082            f[b >> 2] = 0 - c;
20083            d = a + 36 | 0;
20084            b = f[d >> 2];
20085            f[d >> 2] = 0 - b;
20086            g = a + 40 | 0;
20087            d = f[g >> 2];
20088            f[g >> 2] = 0 - d;
20089            f[a + 16 >> 2] = f[a + 16 >> 2] + l(c, e);
20090            c = a + 20 | 0;
20091            g = c;
20092            h = f[c >> 2];
20093            c = e >> 1;
20094            f[g >> 2] = h + l(c, b);
20095            b = a + 24 | 0;
20096            f[b >> 2] = f[b >> 2] + l(c, d);
20097            b = f[a + 28 >> 2];
20098            if (b) {
20099              d = a + 44 | 0;
20100              c = f[d >> 2];
20101              f[d >> 2] = 0 - c;
20102              f[a + 28 >> 2] = b + l(c, e);
20103            }
20104            return 0;
20105          }
20106          function oc(a) {
20107            a = a | 0;
20108            var b = 0,
20109              c = 0,
20110              e = 0,
20111              h = 0,
20112              i = 0,
20113              j = 0,
20114              k = 0,
20115              l = 0,
20116              m = 0,
20117              n = 0,
20118              o = 0;
20119            e = a + -25 | 0;
20120            h = a + -26 | 0;
20121            i = a + -27 | 0;
20122            j = a + -28 | 0;
20123            k = a + -29 | 0;
20124            l = a + -30 | 0;
20125            m = a + -31 | 0;
20126            n = a + -32 | 0;
20127            o = f[2548] - g[a + -33 | 0] | 0;
20128            while (1) {
20129              b = g[a + -1 | 0] + o | 0;
20130              d[a | 0] = g[b + g[n | 0] | 0];
20131              d[a + 1 | 0] = g[g[m | 0] + b | 0];
20132              d[a + 2 | 0] = g[g[l | 0] + b | 0];
20133              d[a + 3 | 0] = g[g[k | 0] + b | 0];
20134              d[a + 4 | 0] = g[g[j | 0] + b | 0];
20135              d[a + 5 | 0] = g[g[i | 0] + b | 0];
20136              d[a + 6 | 0] = g[g[h | 0] + b | 0];
20137              d[a + 7 | 0] = g[g[e | 0] + b | 0];
20138              a = a + 32 | 0;
20139              c = c + 1 | 0;
20140              if ((c | 0) != 8) {
20141                continue;
20142              }
20143              break;
20144            }
20145          }
20146          function Zb(a) {
20147            a = a | 0;
20148            var b = 0,
20149              c = 0,
20150              e = 0,
20151              f = 0,
20152              h = 0,
20153              i = 0;
20154            c = g[a + 95 | 0];
20155            d[a + 67 | 0] = c;
20156            d[a + 66 | 0] = c;
20157            b = l(c, 16843009);
20158            d[a + 96 | 0] = b;
20159            d[a + 97 | 0] = b >>> 8;
20160            d[a + 98 | 0] = b >>> 16;
20161            d[a + 99 | 0] = b >>> 24;
20162            f = g[a + 31 | 0];
20163            e = f + 1 | 0;
20164            b = g[a + 63 | 0];
20165            h = e + b >>> 1 | 0;
20166            d[a + 32 | 0] = h;
20167            i = g[a + -1 | 0];
20168            d[a | 0] = e + i >>> 1;
20169            e = (b + c | 0) + 1 >>> 1 | 0;
20170            d[a + 64 | 0] = e;
20171            d[a + 2 | 0] = h;
20172            d[a + 34 | 0] = e;
20173            e = ((c + f | 0) + (b << 1) | 0) + 2 >>> 2 | 0;
20174            d[a + 33 | 0] = e;
20175            b = b + 2 | 0;
20176            d[a + 1 | 0] = (b + i | 0) + (f << 1) >>> 2;
20177            c = (b + c | 0) + (c << 1) >>> 2 | 0;
20178            d[a + 65 | 0] = c;
20179            d[a + 3 | 0] = e;
20180            d[a + 35 | 0] = c;
20181          }
20182          function Ac(a, b, c, e, f) {
20183            a = a | 0;
20184            b = b | 0;
20185            c = c | 0;
20186            e = e | 0;
20187            f = f | 0;
20188            var h = 0,
20189              i = 0,
20190              j = 0,
20191              k = 0,
20192              l = 0;
20193            d[f | 0] = g[a | 0];
20194            l = b + -1 | 0;
20195            i = 1;
20196            if ((b | 0) >= 2) {
20197              j = f + 1 | 0;
20198              k = a + 1 | 0;
20199              while (1) {
20200                d[h + j | 0] = g[h + k | 0] - g[a + h | 0];
20201                h = h + 1 | 0;
20202                if ((l | 0) != (h | 0)) {
20203                  continue;
20204                }
20205                break;
20206              }
20207            }
20208            if ((c | 0) >= 2) {
20209              j = (b | 0) < 2;
20210              while (1) {
20211                f = e + f | 0;
20212                b = a + e | 0;
20213                d[f | 0] = g[b | 0] - g[a | 0];
20214                if (!j) {
20215                  a = f + 1 | 0;
20216                  k = b + 1 | 0;
20217                  h = 0;
20218                  while (1) {
20219                    d[a + h | 0] = g[h + k | 0] - g[b + h | 0];
20220                    h = h + 1 | 0;
20221                    if ((l | 0) != (h | 0)) {
20222                      continue;
20223                    }
20224                    break;
20225                  }
20226                }
20227                a = b;
20228                i = i + 1 | 0;
20229                if ((i | 0) != (c | 0)) {
20230                  continue;
20231                }
20232                break;
20233              }
20234            }
20235          }
20236          function Wb(a) {
20237            a = a | 0;
20238            var b = 0,
20239              c = 0,
20240              e = 0,
20241              f = 0,
20242              h = 0,
20243              i = 0;
20244            c = g[a + -30 | 0];
20245            b = c + 2 | 0;
20246            e = g[a + -29 | 0];
20247            f = g[a + -28 | 0] + (b + (e << 1) | 0) >>> 2 | 0;
20248            d[a + 99 | 0] = f;
20249            h = g[a + -31 | 0];
20250            i = h + 2 | 0;
20251            e = e + (i + (c << 1) | 0) >>> 2 | 0;
20252            d[a + 98 | 0] = e;
20253            c = b;
20254            b = g[a + -32 | 0];
20255            c = (c + b | 0) + (h << 1) >>> 2 | 0;
20256            d[a + 97 | 0] = c;
20257            b = (g[a + -33 | 0] + i | 0) + (b << 1) >>> 2 | 0;
20258            d[a + 96 | 0] = b;
20259            d[a + 67 | 0] = f;
20260            d[a + 66 | 0] = e;
20261            d[a + 65 | 0] = c;
20262            d[a + 64 | 0] = b;
20263            d[a + 35 | 0] = f;
20264            d[a + 34 | 0] = e;
20265            d[a + 33 | 0] = c;
20266            d[a + 32 | 0] = b;
20267            d[a + 3 | 0] = f;
20268            d[a + 2 | 0] = e;
20269            d[a + 1 | 0] = c;
20270            d[a | 0] = b;
20271          }
20272          function Da(a, b) {
20273            a = a | 0;
20274            b = b | 0;
20275            var c = 0,
20276              d = 0,
20277              e = 0,
20278              g = 0,
20279              h = 0,
20280              i = 0,
20281              j = 0,
20282              k = 0,
20283              m = 0,
20284              n = 0;
20285            b = f[b >> 2];
20286            k = f[b + 24 >> 2];
20287            g = b + 40 | 0;
20288            m = f[g >> 2];
20289            d = f[b + 20 >> 2];
20290            h = b + 36 | 0;
20291            e = f[h >> 2];
20292            c = f[b + 16 >> 2];
20293            i = f[a + 8 >> 2];
20294            b = f[b + 32 >> 2];
20295            n = c + l(i, b) | 0;
20296            c = b;
20297            b = f[a + 12 >> 2];
20298            j = f[a + 16 >> 2];
20299            Be(f[a + 20 >> 2], f[a + 32 >> 2], n, c, b, j);
20300            c = e;
20301            e = i >> 1;
20302            c = d + l(c, e) | 0;
20303            b = (b + 1 | 0) / 2 | 0;
20304            d = (j + 1 | 0) / 2 | 0;
20305            Be(f[a + 24 >> 2], f[a + 36 >> 2], c, f[h >> 2], b, d);
20306            Be(f[a + 28 >> 2], f[a + 36 >> 2], l(e, m) + k | 0, f[g >> 2], b, d);
20307            return f[a + 16 >> 2];
20308          }
20309          function ub(a, b, c, e, f) {
20310            a = a | 0;
20311            b = b | 0;
20312            c = c | 0;
20313            e = e | 0;
20314            f = f | 0;
20315            var h = 0,
20316              i = 0,
20317              j = 0,
20318              k = 0,
20319              m = 0,
20320              n = 0,
20321              o = 0,
20322              p = 0;
20323            if ((e | 0) >= 1) {
20324              m = b ? 0 : 3;
20325              n = (b | 0) != 0;
20326              o = (c | 0) < 1;
20327              while (1) {
20328                if (!o) {
20329                  p = a + m | 0;
20330                  k = a + n | 0;
20331                  b = 0;
20332                  while (1) {
20333                    h = b << 2;
20334                    i = g[h + p | 0];
20335                    if ((i | 0) != 255) {
20336                      j = h + k | 0;
20337                      i = l(i, 32897);
20338                      d[j | 0] = l(i, g[j | 0]) >>> 23;
20339                      j = (h | 1) + k | 0;
20340                      d[j | 0] = l(i, g[j | 0]) >>> 23;
20341                      h = (h | 2) + k | 0;
20342                      d[h | 0] = l(i, g[h | 0]) >>> 23;
20343                    }
20344                    b = b + 1 | 0;
20345                    if ((c | 0) != (b | 0)) {
20346                      continue;
20347                    }
20348                    break;
20349                  }
20350                }
20351                a = a + f | 0;
20352                b = (e | 0) > 1;
20353                e = e + -1 | 0;
20354                if (b) {
20355                  continue;
20356                }
20357                break;
20358              }
20359            }
20360          }
20361          function Fe(a, b) {
20362            var c = 0;
20363            c = (b | 0) != 0;
20364            a: {
20365              b: {
20366                c: {
20367                  if (!b | !(a & 3)) {
20368                    break c;
20369                  }
20370                  while (1) {
20371                    if (!g[a | 0]) {
20372                      break b;
20373                    }
20374                    a = a + 1 | 0;
20375                    b = b + -1 | 0;
20376                    c = (b | 0) != 0;
20377                    if (!b) {
20378                      break c;
20379                    }
20380                    if (a & 3) {
20381                      continue;
20382                    }
20383                    break;
20384                  }
20385                }
20386                if (!c) {
20387                  break a;
20388                }
20389              }
20390              d: {
20391                if (!g[a | 0] | b >>> 0 < 4) {
20392                  break d;
20393                }
20394                while (1) {
20395                  c = f[a >> 2];
20396                  if ((c ^ -1) & c + -16843009 & -2139062144) {
20397                    break d;
20398                  }
20399                  a = a + 4 | 0;
20400                  b = b + -4 | 0;
20401                  if (b >>> 0 > 3) {
20402                    continue;
20403                  }
20404                  break;
20405                }
20406              }
20407              if (!b) {
20408                break a;
20409              }
20410              while (1) {
20411                if (!g[a | 0]) {
20412                  return a;
20413                }
20414                a = a + 1 | 0;
20415                b = b + -1 | 0;
20416                if (b) {
20417                  continue;
20418                }
20419                break;
20420              }
20421            }
20422            return 0;
20423          }
20424          function Yb(a) {
20425            a = a | 0;
20426            var b = 0;
20427            b = l((g[a + 95 | 0] + (g[a + -29 | 0] + (g[a + 63 | 0] + (g[a + -30 | 0] + (g[a + 31 | 0] + (g[a + -31 | 0] + (g[a + -32 | 0] + g[a + -1 | 0] | 0) | 0) | 0) | 0) | 0) | 0) | 0) + 4 >>> 3 & 255, 16843009);
20428            d[a + 96 | 0] = b;
20429            d[a + 97 | 0] = b >>> 8;
20430            d[a + 98 | 0] = b >>> 16;
20431            d[a + 99 | 0] = b >>> 24;
20432            d[a + 64 | 0] = b;
20433            d[a + 65 | 0] = b >>> 8;
20434            d[a + 66 | 0] = b >>> 16;
20435            d[a + 67 | 0] = b >>> 24;
20436            d[a + 32 | 0] = b;
20437            d[a + 33 | 0] = b >>> 8;
20438            d[a + 34 | 0] = b >>> 16;
20439            d[a + 35 | 0] = b >>> 24;
20440            d[a | 0] = b;
20441            d[a + 1 | 0] = b >>> 8;
20442            d[a + 2 | 0] = b >>> 16;
20443            d[a + 3 | 0] = b >>> 24;
20444          }
20445          function cd(a, b, c, d) {
20446            a = a | 0;
20447            b = b | 0;
20448            c = c | 0;
20449            d = d | 0;
20450            var e = 0,
20451              g = 0,
20452              h = 0,
20453              i = 0,
20454              j = 0,
20455              k = 0,
20456              l = 0;
20457            if ((c | 0) >= 1) {
20458              e = f[d + -4 >> 2];
20459              while (1) {
20460                g = j << 2;
20461                h = g + b | 0;
20462                i = f[h + 4 >> 2];
20463                l = d + g | 0;
20464                k = f[h >> 2];
20465                i = ((i ^ k) >>> 1 & 2139062143) + (i & k) | 0;
20466                h = f[h + -4 >> 2];
20467                e = ((h ^ e) >>> 1 & 2139062143) + (e & h) | 0;
20468                e = ((i ^ e) >>> 1 & 2139062143) + (e & i) | 0;
20469                g = f[a + g >> 2];
20470                e = (e & -16711936) + (g & -16711936) & -16711936 | (e & 16711935) + (g & 16711935) & 16711935;
20471                f[l >> 2] = e;
20472                j = j + 1 | 0;
20473                if ((j | 0) != (c | 0)) {
20474                  continue;
20475                }
20476                break;
20477              }
20478            }
20479          }
20480          function Nb(a, b, c) {
20481            a = a | 0;
20482            b = b | 0;
20483            c = c | 0;
20484            var e = 0,
20485              h = 0,
20486              i = 0
20486,
20487              j = 0,
20488              k = 0,
20489              m = 0,
20490              n = 0,
20491              o = 0,
20492              p = 0,
20493              q = 0,
20494              r = 0,
20495              s = 0,
20496              t = 0;
20497            p = 0 - b | 0;
20498            q = 0 - (b << 1) | 0;
20499            r = c << 1 | 1;
20500            k = f[2548];
20501            m = f[2547];
20502            s = f[2546];
20503            n = f[2549];
20504            while (1) {
20505              c = a + h | 0;
20506              o = c + p | 0;
20507              i = g[o | 0];
20508              j = g[c | 0];
20509              e = g[c + q | 0] - g[b + c | 0] | 0;
20510              if (((g[(i - j | 0) + n | 0] << 2) + g[e + n | 0] | 0) <= (r | 0)) {
20511                e = d[e + s | 0] + l(j - i | 0, 3) | 0;
20512                t = d[(e + 4 >> 3) + m | 0];
20513                d[o | 0] = g[(d[(e + 3 >> 3) + m | 0] + i | 0) + k | 0];
20514                d[c | 0] = g[(j - t | 0) + k | 0];
20515              }
20516              h = h + 1 | 0;
20517              if ((h | 0) != 16) {
20518                continue;
20519              }
20520              break;
20521            }
20522          }
20523          function ae(a, b, c, d, f) {
20524            a = a | 0;
20525            b = b | 0;
20526            c = c | 0;
20527            d = d | 0;
20528            f = f | 0;
20529            var g = 0,
20530              i = 0,
20531              j = 0,
20532              k = 0,
20533              m = 0,
20534              n = 0,
20535              o = 0;
20536            if ((c | 0) >= 1) {
20537              while (1) {
20538                g = j << 2;
20539                k = e[b + 2 >> 1];
20540                m = e[a >> 1];
20541                n = e[b >> 1];
20542                o = e[a + 2 >> 1];
20543                i = h[g + d >> 1] + (((k + l(m, 9) | 0) + l(n + o | 0, 3) | 0) + 8 >> 4) | 0;
20544                i = (i | 0) < 1023 ? i : 1023;
20545                e[f + g >> 1] = (i | 0) > 0 ? i : 0;
20546                i = g | 2;
20547                g = h[i + d >> 1] + (((l(o, 9) + n | 0) + l(k + m | 0, 3) | 0) + 8 >> 4) | 0;
20548                g = (g | 0) < 1023 ? g : 1023;
20549                e[f + i >> 1] = (g | 0) > 0 ? g : 0;
20550                b = b + 2 | 0;
20551                a = a + 2 | 0;
20552                j = j + 1 | 0;
20553                if ((j | 0) != (c | 0)) {
20554                  continue;
20555                }
20556                break;
20557              }
20558            }
20559          }
20560          function td(a) {
20561            var b = 0,
20562              e = 0,
20563              g = 0;
20564            if (f[a + 24 >> 2] <= 0) {
20565              a: {
20566                if (f[a + 4 >> 2]) {
20567                  c[f[2808]](a);
20568                  break a;
20569                }
20570                if (!f[a + 20 >> 2]) {
20571                  if ((l(f[a + 52 >> 2], f[a + 8 >> 2]) | 0) < 1) {
20572                    break a;
20573                  }
20574                  e = f[a + 76 >> 2];
20575                  while (1) {
20576                    g = b << 2;
20577                    d[f[a + 68 >> 2] + b | 0] = f[g + e >> 2];
20578                    e = f[a + 76 >> 2];
20579                    f[g + e >> 2] = 0;
20580                    b = b + 1 | 0;
20581                    if ((b | 0) < (l(f[a + 52 >> 2], f[a + 8 >> 2]) | 0)) {
20582                      continue;
20583                    }
20584                    break;
20585                  }
20586                  break a;
20587                }
20588                c[f[2809]](a);
20589              }
20590              f[a + 24 >> 2] = f[a + 24 >> 2] + f[a + 28 >> 2];
20591              f[a + 68 >> 2] = f[a + 68 >> 2] + f[a + 72 >> 2];
20592              f[a + 64 >> 2] = f[a + 64 >> 2] + 1;
20593            }
20594          }
20595          function Vd(a, b, c, e) {
20596            a = a | 0;
20597            b = b | 0;
20598            c = c | 0;
20599            e = e | 0;
20600            var f = 0,
20601              g = 0,
20602              i = 0,
20603              j = 0,
20604              k = 0,
20605              m = 0;
20606            if ((e | 0) >= 1) {
20607              while (1) {
20608                f = h[a + 2 >> 1];
20609                g = h[a >> 1];
20610                j = h[a + 4 >> 1];
20611                k = (l(f, -19081) + l(g, -9719) | 0) + l(j, 28800) | 0;
20612                m = k + 33685504 >> 18;
20613                d[b + i | 0] = m >>> 0 < 256 ? m : (k | 0) < -33685504 ? -33685504 : 255;
20614                f = (l(f, -24116) + l(g, 28800) | 0) + l(j, -4684) | 0;
20615                g = f + 33685504 >> 18;
20616                d[c + i | 0] = g >>> 0 < 256 ? g : (f | 0) < -33685504 ? -33685504 : 255;
20617                a = a + 8 | 0;
20618                i = i + 1 | 0;
20619                if ((i | 0) != (e | 0)) {
20620                  continue;
20621                }
20622                break;
20623              }
20624            }
20625          }
20626          function Dc(a, b, e, h, i) {
20627            var j = 0,
20628              k = 0,
20629              l = 0,
20630              m = 0,
20631              n = 0,
20632              o = 0,
20633              p = 0;
20634            m = f[a + 16 >> 2];
20635            k = f[a + 8 >> 2];
20636            a = f[a + 4 >> 2];
20637            l = 8 >>> a | 0;
20638            a: {
20639              if ((l | 0) <= 7) {
20640                if ((b | 0) >= (e | 0)) {
20641                  break a;
20642                }
20643                n = -1 << l ^ -1;
20644                o = -1 << a ^ -1;
20645                p = (k | 0) < 1;
20646                while (1) {
20647                  j = 0;
20648                  a = 0;
20649                  if (!p) {
20650                    while (1) {
20651                      if (!(j & o)) {
20652                        a = g[h | 0];
20653                        h = h + 1 | 0;
20654                      }
20655                      d[i | 0] = f[((a & n) << 2) + m >> 2] >>> 8;
20656                      a = a >>> l | 0;
20657                      i = i + 1 | 0;
20658                      j = j + 1 | 0;
20659                      if ((j | 0) != (k | 0)) {
20660                        continue;
20661                      }
20662                      break;
20663                    }
20664                  }
20665                  b = b + 1 | 0;
20666                  if ((e | 0) != (b | 0)) {
20667                    continue;
20668                  }
20669                  break;
20670                }
20671                break a;
20672              }
20673              c[f[2732]](h, m, i, b, e, k);
20674            }
20675          }
20676          function Ga(a, b, c) {
20677            a = a | 0;
20678            b = b | 0;
20679            c = c | 0;
20680            var d = 0,
20681              e = 0,
20682              g = 0,
20683              h = 0,
20684              i = 0;
20685            g = f[b >> 2];
20686            c = f[g + 28 >> 2];
20687            h = f[g + 44 >> 2];
20688            d = c + l(h, f[a + 8 >> 2]) | 0;
20689            e = f[a + 16 >> 2];
20690            i = f[a + 12 >> 2];
20691            b = f[a + 104 >> 2];
20692            a: {
20693              if (b) {
20694                if ((e | 0) < 1) {
20695                  break a;
20696                }
20697                c = 0;
20698                while (1) {
20699                  d = _e(d, b, i) + f[g + 44 >> 2] | 0;
20700                  b = f[a >> 2] + b | 0;
20701                  c = c + 1 | 0;
20702                  if ((e | 0) != (c | 0)) {
20703                    continue;
20704                  }
20705                  break;
20706                }
20707                break a;
20708              }
20709              if (!c | (e | 0) < 1) {
20710                break a;
20711              }
20712              b = 0;
20713              while (1) {
20714                d = $e(d, 255, i) + h | 0;
20715                b = b + 1 | 0;
20716                if ((e | 0) != (b | 0)) {
20717                  continue;
20718                }
20719                break;
20720              }
20721            }
20722            return 0;
20723          }
20724          function Ob(a, b, c) {
20725            a = a | 0;
20726            b = b | 0;
20727            c = c | 0;
20728            var e = 0,
20729              h = 0,
20730              i = 0,
20731              j = 0,
20732              k = 0,
20733              m = 0,
20734              n = 0,
20735              o = 0,
20736              p = 0,
20737              q = 0,
20738              r = 0;
20739            p = c << 1 | 1;
20740            k = f[2548];
20741            m = f[2547];
20742            q = f[2546];
20743            n = f[2549];
20744            while (1) {
20745              c = l(b, h) + a | 0;
20746              o = c + -1 | 0;
20747              i = g[o | 0];
20748              j = g[c | 0];
20749              e = g[c + -2 | 0] - g[c + 1 | 0] | 0;
20750              if (((g[(i - j | 0) + n | 0] << 2) + g[e + n | 0] | 0) <= (p | 0)) {
20751                e = d[e + q | 0] + l(j - i | 0, 3) | 0;
20752                r = d[(e + 4 >> 3) + m | 0];
20753                d[o | 0] = g[(d[(e + 3 >> 3) + m | 0] + i | 0) + k | 0];
20754                d[c | 0] = g[(j - r | 0) + k | 0];
20755              }
20756              h = h + 1 | 0;
20757              if ((h | 0) != 16) {
20758                continue;
20759              }
20760              break;
20761            }
20762          }
20763          function Nc(a, b) {
20764            a = a | 0;
20765            b = b | 0;
20766            var c = 0,
20767              d = 0;
20768            c = f[b >> 2];
20769            a = ((c ^ a) >>> 1 & 2139062143) + (a & c) | 0;
20770            c = a & 255;
20771            b = f[b + -4 >> 2];
20772            c = ((c - (b & 255) | 0) / 2 | 0) + c | 0;
20773            d = c >>> 0 < 256 ? c : (c ^ -1) >>> 24 | 0;
20774            c = a >>> 24 | 0;
20775            c = ((c - (b >>> 24 | 0) | 0) / 2 | 0) + c | 0;
20776            d = d | (c >>> 0 < 256 ? c : c >>> 24 ^ -1) << 24;
20777            c = a >>> 16 & 255;
20778            c = ((c - (b >>> 16 & 255) | 0) / 2 | 0) + c | 0;
20779            a = a >>> 8 & 255;
20780            a = ((a - (b >>> 8 & 255) | 0) / 2 | 0) + a | 0;
20781            return d | (c >>> 0 < 256 ? c : (c ^ -1) >>> 24 | 0) << 16 | (a >>> 0 < 256 ? a : (a ^ -1) >>> 24 | 0) << 8;
20782          }
20783          function be(a, b, c) {
20784            var d = 0;
20785            f[a + 24 >> 2] = 0;
20786            f[a + 8 >> 2] = -8;
20787            f[a >> 2] = 0;
20788            f[a + 4 >> 2] = 254;
20789            f[a + 12 >> 2] = b;
20790            d = b + c | 0;
20791            f[a + 16 >> 2] = d;
20792            d = c >>> 0 > 3 ? d + -3 | 0 : b;
20793            f[a + 20 >> 2] = d;
20794            if (d >>> 0 > b >>> 0) {
20795              c = g[b | 0] | g[b + 1 | 0] << 8 | (g[b + 2 | 0] << 16 | g[b + 3 | 0] << 24);
20796              f[a + 8 >> 2] = 16;
20797              f[a + 12 >> 2] = b + 3;
20798              f[a >> 2] = (c >>> 8 & 65280 | (c << 8 & 16711680 | c << 24)) >>> 8;
20799              return;
20800            }
20801            if ((c | 0) >= 1) {
20802              f[a + 8 >> 2] = 0;
20803              f[a + 12 >> 2] = b + 1;
20804              f[a >> 2] = g[b | 0];
20805              return;
20806            }
20807            f[a + 24 >> 2] = 1;
20808            f[a + 8 >> 2] = 0;
20809            f[a >> 2] = 0;
20810          }
20811          function cf(a, b, e) {
20812            var h = 0,
20813              i = 0,
20814              j = 0,
20815              k = 0;
20816            h = f[e + 16 >> 2];
20817            a: {
20818              if (!h) {
20819                if (bf(e)) {
20820                  break a;
20821                }
20822                h = f[e + 16 >> 2];
20823              }
20824              j = f[e + 20 >> 2];
20825              if (h - j >>> 0 < b >>> 0) {
20826                return c[f[e + 36 >> 2]](e, a, b) | 0;
20827              }
20828              b: {
20829                if (d[e + 75 | 0] < 0) {
20830                  break b;
20831                }
20832                i = b;
20833                while (1) {
20834                  h = i;
20835                  if (!h) {
20836                    break b;
20837                  }
20838                  i = h + -1 | 0;
20839                  if (g[i + a | 0] != 10) {
20840                    continue;
20841                  }
20842                  break;
20843                }
20844                i = c[f[e + 36 >> 2]](e, a, h) | 0;
20845                if (i >>> 0 < h >>> 0) {
20846                  break a;
20847                }
20848                a = a + h | 0;
20849                b = b - h | 0;
20850                j = f[e + 20 >> 2];
20851                k = h;
20852              }
20853              _e(j, a, b);
20854              f[e + 20 >> 2] = f[e + 20 >> 2] + b;
20855              i = b + k | 0;
20856            }
20857            return i;
20858          }
20859          function sb(a, b, c, e) {
20860            a = a | 0;
20861            b = b | 0;
20862            c = c | 0;
20863            e = e | 0;
20864            var f = 0,
20865              h = 0,
20866              i = 0,
20867              j = 0,
20868              k = 0,
20869              m = 0,
20870              n = 0,
20871              o = 0;
20872            if ((c | 0) >= 1) {
20873              n = (b | 0) < 1;
20874              while (1) {
20875                i = 0;
20876                if (!n) {
20877                  while (1) {
20878                    f = i << 1;
20879                    h = f + a | 0;
20880                    o = h;
20881                    m = (f | 1) + a | 0;
20882                    j = g[m | 0];
20883                    f = j & 15;
20884                    k = l(f, 4369);
20885                    h = g[h | 0];
20886                    d[o | 0] = l(k, h & 240 | h >>> 4) >>> 16 & 240 | l((h & 15 | h << 4) & 255, k) >>> 20;
20887                    d[m | 0] = l(j & 240 | j >>> 4, k) >>> 16 & 240 | f;
20888                    i = i + 1 | 0;
20889                    if ((i | 0) != (b | 0)) {
20890                      continue;
20891                    }
20892                    break;
20893                  }
20894                }
20895                a = a + e | 0;
20896                f = (c | 0) > 1;
20897                c = c + -1 | 0;
20898                if (f) {
20899                  continue;
20900                }
20901                break;
20902              }
20903            }
20904          }
20905          function zc(a, b, c, e, f) {
20906            a = a | 0;
20907            b = b | 0;
20908            c = c | 0;
20909            e = e | 0;
20910            f = f | 0;
20911            var h = 0,
20912              i = 0,
20913              j = 0,
20914              k = 0;
20915            d[f | 0] = g[a | 0];
20916            if ((b | 0) >= 2) {
20917              j = b + -1 | 0;
20918              i = f + 1 | 0;
20919              k = a + 1 | 0;
20920              while (1) {
20921                d[h + i | 0] = g[h + k | 0] - g[a + h | 0];
20922                h = h + 1 | 0;
20923                if ((j | 0) != (h | 0)) {
20924                  continue;
20925                }
20926                break;
20927              }
20928            }
20929            if ((c | 0) >= 2) {
20930              i = 1;
20931              while (1) {
20932                f = e + f | 0;
20933                j = a + e | 0;
20934                h = 0;
20935                if ((b | 0) >= 1) {
20936                  while (1) {
20937                    d[f + h | 0] = g[h + j | 0] - g[a + h | 0];
20938                    h = h + 1 | 0;
20939                    if ((h | 0) != (b | 0)) {
20940                      continue;
20941                    }
20942                    break;
20943                  }
20944                }
20945                a = j;
20946                i = i + 1 | 0;
20947                if ((i | 0) != (c | 0)) {
20948                  continue;
20949                }
20950                break;
20951              }
20952            }
20953          }
20954          function nb(a, b, c) {
20955            a = a | 0;
20956            b = b | 0;
20957            c = c | 0;
20958            var d = 0,
20959              e = 0,
20960              g = 0,
20961              h = 0;
20962            if ((b | 0) >= 1) {
20963              while (1) {
20964                d = (g << 2) + a | 0;
20965                e = f[d >> 2];
20966                if (e >>> 0 <= 4278190079) {
20967                  h = d;
20968                  if (e >>> 0 >= 16777216) {
20969                    d = e >>> 24 | 0;
20970                    if (c) {
20971                      d = 4278190080 / (d >>> 0) | 0;
20972                    } else {
20973                      d = l(d, 65793);
20974                    }
20975                    d = l(d, e >>> 16 & 255) + 8388608 >>> 8 & 16711680 | (l(d, e >>> 8 & 255) + 8388608 >>> 16 & 65280 | (e & -16777216 | l(d, e & 255) + 8388608 >>> 24));
20976                  } else {
20977                    d = 0;
20978                  }
20979                  f[h >> 2] = d;
20980                }
20981                g = g + 1 | 0;
20982                if ((g | 0) != (b | 0)) {
20983                  continue;
20984                }
20985                break;
20986              }
20987            }
20988          }
20989          function fe(a, b, c) {
20990            var d = 0,
20991              e = 0,
20992              h = 0,
20993              i = 0,
20994              j = 0,
20995              k = 0,
20996              l = 0,
20997              m = 0,
20998              n = 0;
20999            f[a + 20 >> 2] = 0;
21000            f[a + 24 >> 2] = 0;
21001            f[a >> 2] = 0;
21002            f[a + 4 >> 2] = 0;
21003            f[a + 12 >> 2] = c;
21004            h = c >>> 0 < 8 ? c : 8;
21005            if (h) {
21006              n = h;
21007              c = 0;
21008              while (1) {
21009                i = g[b + c | 0];
21010                e = j << 3;
21011                d = e & 31;
21012                if (32 <= (e & 63) >>> 0) {
21013                  e = i << d;
21014                  d = 0;
21015                } else {
21016                  e = (1 << d) - 1 & i >>> 32 - d;
21017                  d = i << d;
21018                }
21019                k = d | k;
21020                l = e | l;
21021                c = c + 1 | 0;
21022                d = j + 1 | 0;
21023                if (d >>> 0 < 1) {
21024                  m = m + 1 | 0;
21025                }
21026                j = d;
21027                if ((n | 0) != (d | 0) | m) {
21028                  continue;
21029                }
21030                break;
21031              }
21032            }
21033            f[a + 16 >> 2] = h;
21034            f[a >> 2] = k;
21035            f[a + 4 >> 2] = l;
21036            f[a + 8 >> 2] = b;
21037          }
21038          function ua(a, b) {
21039            var c = 0,
21040              d = 0,
21041              e = 0;
21042            c = 0;
21043            a: {
21044              if (!a) {
21045                break a;
21046              }
21047              if (!b) {
21048                f[a >> 2] = 2;
21049                return 0;
21050              }
21051              f[a >> 2] = 0;
21052              f[a + 8 >> 2] = b;
21053              c = a + 24 | 0;
21054              fe(c, f[b + 64 >> 2], f[b + 60 >> 2]);
21055              b: {
21056                c: {
21057                  d: {
21058                    if ((he(c, 8) | 0) != 47) {
21059                      break d;
21060                    }
21061                    e = he(c, 14);
21062                    d = he(c, 14);
21063                    he(c, 1);
21064                    if (he(c, 3)) {
21065                      break d;
21066                    }
21067                    if (!f[a + 48 >> 2]) {
21068                      break c;
21069                    }
21070                  }
21071                  f[a >> 2] = 3;
21072                  break b;
21073                }
21074                f[a + 4 >> 2] = 2;
21075                d = d + 1 | 0;
21076                f[b + 4 >> 2] = d;
21077                c = b;
21078                b = e + 1 | 0;
21079                f[c >> 2] = b;
21080                c = 1;
21081                if (oa(b, d, 1, a, 0)) {
21082                  break a;
21083                }
21084              }
21085              la(a);
21086              c = 0;
21087            }
21088            return c;
21089          }
21090          function vc(a, b, c, e) {
21091            a = a | 0;
21092            b = b | 0;
21093            c = c | 0;
21094            e = e | 0;
21095            var f = 0,
21096              h = 0,
21097              i = 0,
21098              j = 0;
21099            a: {
21100              if (!a) {
21101                if ((e | 0) < 1) {
21102                  break a;
21103                }
21104                while (1) {
21105                  f = g[b + h | 0] + f | 0;
21106                  d[c + h | 0] = f;
21107                  h = h + 1 | 0;
21108                  if ((h | 0) != (e | 0)) {
21109                    continue;
21110                  }
21111                  break;
21112                }
21113                break a;
21114              }
21115              if ((e | 0) < 1) {
21116                break a;
21117              }
21118              f = g[a | 0];
21119              i = f;
21120              j = f;
21121              while (1) {
21122                i = (i & 255) - (j & 255) | 0;
21123                j = f;
21124                f = (f & 255) + i | 0;
21125                f = (f | 0) > 0 ? f : 0;
21126                i = g[b + h | 0] + ((f | 0) < 255 ? f : 255) | 0;
21127                d[c + h | 0] = i;
21128                h = h + 1 | 0;
21129                if ((h | 0) == (e | 0)) {
21130                  break a;
21131                }
21132                f = g[a + h | 0];
21133                continue;
21134              }
21135            }
21136          }
21137          function qe(a, b, c, d) {
21138            var e = 0,
21139              g = 0,
21140              h = 0,
21141              i = 0;
21142            e = f[d >> 2];
21143            g = f[c >> 2];
21144            if (!(g | (b | 0) < 1)) {
21145              i = xf(e, e >> 31, a, a >> 31);
21146              g = b + i | 0;
21147              h = N;
21148              h = g >>> 0 < i >>> 0 ? h + 1 | 0 : h;
21149              g = g + -1 | 0;
21150              h = h + -1 | 0;
21151              g = yf(g, (g | 0) != -1 ? h + 1 | 0 : h, b, 0);
21152            }
21153            if (!(e | (a | 0) < 1)) {
21154              h = xf(g, g >> 31, b, b >> 31);
21155              e = h + a | 0;
21156              b = N;
21157              b = e >>> 0 < h >>> 0 ? b + 1 | 0 : b;
21158              e = e + -1 | 0;
21159              b = b + -1 | 0;
21160              e = yf(e, (e | 0) != -1 ? b + 1 | 0 : b, a, 0);
21161            }
21162            a = 0;
21163            if (!((g | 0) < 1 | (e | 0) < 1)) {
21164              f[c >> 2] = g;
21165              f[d >> 2] = e;
21166              a = 1;
21167            }
21168            return a;
21169          }
21170          function hd(a, b, c, d) {
21171            a = a | 0;
21172            b = b | 0;
21173            c = c | 0;
21174            d = d | 0;
21175            var e = 0,
21176              g = 0,
21177              h = 0,
21178              i = 0,
21179              j = 0;
21180            if ((c | 0) >= 1) {
21181              e = f[d + -4 >> 2];
21182              while (1) {
21183                g = j << 2;
21184                h = g + b | 0;
21185                i = f[h + 4 >> 2];
21186                e = ((i ^ e) >>> 1 & 2139062143) + (e & i) | 0;
21187                i = d + g | 0;
21188                h = f[h >> 2];
21189                e = ((h ^ e) >>> 1 & 2139062143) + (e & h) | 0;
21190                g = f[a + g >> 2];
21191                e = (e & -16711936) + (g & -16711936) & -16711936 | (e & 16711935) + (g & 16711935) & 16711935;
21192                f[i >> 2] = e;
21193                j = j + 1 | 0;
21194                if ((j | 0) != (c | 0)) {
21195                  continue;
21196                }
21197                break;
21198              }
21199            }
21200          }
21201          function Oc(a, b) {
21202            a = a | 0;
21203            b = b | 0;
21204            var c = 0,
21205              d = 0,
21206              e = 0;
21207            d = f[b >> 2];
21208            b = f[b + -4 >> 2];
21209            c = ((d & 255) + (a & 255) | 0) - (b & 255) | 0;
21210            e = c >>> 0 < 256 ? c : (c ^ -1) >>> 24 | 0;
21211            c = (d >>> 24) + (a >>> 24) - (b >>> 24) | 0;
21212            e = e | (c >>> 0 < 256 ? c : c >>> 24 ^ -1) << 24;
21213            c = ((d >>> 16 & 255) + (a >>> 16 & 255) | 0) - (b >>> 16 & 255) | 0;
21214            a = ((d >>> 8 & 255) + (a >>> 8 & 255) | 0) - (b >>> 8 & 255) | 0;
21215            return e | (c >>> 0 < 256 ? c : (c ^ -1) >>> 24 | 0) << 16 | (a >>> 0 < 256 ? a : (a ^ -1) >>> 24 | 0) << 8;
21216          }
21217          function db(a, b, c, d, e) {
21218            var h = 0;
21219            a: {
21220              if (!a | b >>> 0 < 10 | (g[a + 3 | 0] != 157 | g[a + 4 | 0] != 1)) {
21221                break a;
21222              }
21223              if (g[a + 5 | 0] != 42) {
21224                break a;
21225              }
21226              b = g[a | 0];
21227              if ((b & 25) != 16 | (b | g[a + 1 | 0] << 8 | g[a + 2 | 0] << 16) >>> 5 >>> 0 >= c >>> 0) {
21228                break a;
21229              }
21230              b = g[a + 6 | 0] | g[a + 7 | 0] << 8 & 16128;
21231              if (!b) {
21232                break a;
21233              }
21234              a = g[a + 8 | 0] | g[a + 9 | 0] << 8 & 16128;
21235              if (!a) {
21236                break a;
21237              }
21238              if (d) {
21239                f[d >> 2] = b;
21240              }
21241              h = 1;
21242              if (!e) {
21243                break a;
21244              }
21245              f[e >> 2] = a;
21246            }
21247            return h;
21248          }
21249          function Ka(a, b, d) {
21250            a = a | 0;
21251            b = b | 0;
21252            d = d | 0;
21253            var e = 0,
21254              g = 0,
21255              h = 0,
21256              i = 0,
21257              j = 0,
21258              k = 0;
21259            a: {
21260              e = f[a + 104 >> 2];
21261              if (!e | (d | 0) < 1) {
21262                break a;
21263              }
21264              j = f[b + 16 >> 2] + d | 0;
21265              g = f[b + 36 >> 2];
21266              while (1) {
21267                h = f[a + 8 >> 2];
21268                i = f[g + 60 >> 2];
21269                k = e;
21270                e = f[a >> 2];
21271                se(g, f[a + 16 >> 2] + (h - i | 0) | 0, k + l(e, i - h | 0) | 0, e);
21272                d = d - (c[f[b + 52 >> 2]](b, j - d | 0, d) | 0) | 0;
21273                if ((d | 0) < 1) {
21274                  break a;
21275                }
21276                e = f[a + 104 >> 2];
21277                continue;
21278              }
21279            }
21280            return 0;
21281          }
21282          function Cc(a, b, c, e) {
21283            a = a | 0;
21284            b = b | 0;
21285            c = c | 0;
21286            e = e | 0;
21287            var g = 0,
21288              h = 0,
21289              i = 0,
21290              j = 0,
21291              k = 0,
21292              m = 0,
21293              n = 0;
21294            if ((c | 0) >= 1) {
21295              k = d[a + 2 | 0];
21296              m = d[a + 1 | 0];
21297              n = d[a | 0];
21298              while (1) {
21299                h = g << 2;
21300                a = f[h + b >> 2];
21301                i = a << 16 >> 24;
21302                j = (l(i, n) >> 5) + (a >>> 16 | 0) | 0;
21303                f[e + h >> 2] = a + (l(m, i) >>> 5 | 0) + (l(j << 24 >> 24, k) >>> 5) & 255 | (j << 16 & 16711680 | a & -16711936);
21304                g = g + 1 | 0;
21305                if ((g | 0) != (c | 0)) {
21306                  continue;
21307                }
21308                break;
21309              }
21310            }
21311          }
21312          function gd(a, b, c, d) {
21313            a = a | 0;
21314            b = b | 0;
21315            c = c | 0;
21316            d = d | 0;
21317            var e = 0,
21318              g = 0,
21319              h = 0,
21320              i = 0;
21321            if ((c | 0) >= 1) {
21322              i = b + -4 | 0;
21323              b = f[d + -4 >> 2];
21324              while (1) {
21325                e = h << 2;
21326                g = f[e + i >> 2];
21327                b = ((g ^ b) >>> 1 & 2139062143) + (b & g) | 0;
21328                g = d + e | 0;
21329                e = f[a + e >> 2];
21330                b = (b & -16711936) + (e & -16711936) & -16711936 | (b & 16711935) + (e & 16711935) & 16711935;
21331                f[g >> 2] = b;
21332                h = h + 1 | 0;
21333                if ((h | 0) != (c | 0)) {
21334                  continue;
21335                }
21336                break;
21337              }
21338            }
21339          }
21340          function ed(a, b, c, d) {
21341            a = a | 0;
21342            b = b | 0;
21343            c = c | 0;
21344            d = d | 0;
21345            var e = 0,
21346              g = 0,
21347              h = 0,
21348              i = 0,
21349              j = 0;
21350            if ((c | 0) >= 1) {
21351              while (1) {
21352                e = i << 2;
21353                g = e + b | 0;
21354                h = f[g >> 2];
21355                j = d + e | 0;
21356                g = f[g + -4 >> 2];
21357                h = ((g ^ h) >>> 1 & 2139062143) + (h & g) | 0;
21358                e = f[a + e >> 2];
21359                f[j >> 2] = (h & -16711936) + (e & -16711936) & -16711936 | (h & 16711935) + (e & 16711935) & 16711935;
21360                i = i + 1 | 0;
21361                if ((i | 0) != (c | 0)) {
21362                  continue;
21363                }
21364                break;
21365              }
21366            }
21367          }
21368          function dd(a, b, c, d) {
21369            a = a | 0;
21370            b = b | 0;
21371            c = c | 0;
21372            d = d | 0;
21373            var e = 0,
21374              g = 0,
21375              h = 0,
21376              i = 0,
21377              j = 0;
21378            if ((c | 0) >= 1) {
21379              while (1) {
21380                e = i << 2;
21381                g = e + b | 0;
21382                h = f[g + 4 >> 2];
21383                j = d + e | 0;
21384                g = f[g >> 2];
21385                h = ((g ^ h) >>> 1 & 2139062143) + (h & g) | 0;
21386                e = f[a + e >> 2];
21387                f[j >> 2] = (h & -16711936) + (e & -16711936) & -16711936 | (h & 16711935) + (e & 16711935) & 16711935;
21388                i = i + 1 | 0;
21389                if ((i | 0) != (c | 0)) {
21390                  continue;
21391                }
21392                break;
21393              }
21394            }
21395          }
21396          function fd(a, b, c, d) {
21397            a = a | 0;
21398            b = b | 0;
21399            c = c | 0;
21400            d = d | 0;
21401            var e = 0,
21402              g = 0,
21403              h = 0,
21404              i = 0;
21405            if ((c | 0) >= 1) {
21406              e = f[d + -4 >> 2];
21407              while (1) {
21408                g = i << 2;
21409                h = f[g + b >> 2];
21410                e = ((h ^ e) >>> 1 & 2139062143) + (e & h) | 0;
21411                h = d + g | 0;
21412                g = f[a + g >> 2];
21413                e = (e & -16711936) + (g & -16711936) & -16711936 | (e & 16711935) + (g & 16711935) & 16711935;
21414                f[h >> 2] = e;
21415                i = i + 1 | 0;
21416                if ((i | 0) != (c | 0)) {
21417                  continue;
21418                }
21419                break;
21420              }
21421            }
21422          }
21423          function _d(a, b, c, d) {
21424            a = a | 0;
21425            b = b | 0;
21426            c = c | 0;
21427            d = d | 0;
21428            var f = 0,
21429              g = 0,
21430              i = 0,
21431              j = 0,
21432              k = 0,
21433              l = 0;
21434            if ((d | 0) >= 1) {
21435              while (1) {
21436                g = i << 1;
21437                f = g + c | 0;
21438                l = f;
21439                g = h[a + g >> 1] - h[b + g >> 1] | 0;
21440                f = g + h[f >> 1] | 0;
21441                f = (f | 0) < 1023 ? f : 1023;
21442                e[l >> 1] = (f | 0) > 0 ? f : 0;
21443                f = g >> 31;
21444                g = f + g ^ f;
21445                f = j + g | 0;
21446                if (f >>> 0 < g >>> 0) {
21447                  k = k + 1 | 0;
21448                }
21449                j = f;
21450                i = i + 1 | 0;
21451                if ((i | 0) != (d | 0)) {
21452                  continue;
21453                }
21454                break;
21455              }
21456            }
21457            N = k;
21458            return j | 0;
21459          }
21460          function xb(a, b, c, e, f, h) {
21461            a = a | 0;
21462            b = b | 0;
21463            c = c | 0;
21464            e = e | 0;
21465            f = f | 0;
21466            h = h | 0;
21467            var i = 0,
21468              j = 0,
21469              k = 0,
21470              l = 0,
21471              m = 0;
21472            j = 255;
21473            if ((e | 0) >= 1) {
21474              m = (c | 0) < 1;
21475              while (1) {
21476                i = 0;
21477                if (!m) {
21478                  while (1) {
21479                    k = g[(i << 2) + a | 0];
21480                    d[f + i | 0] = k;
21481                    j = j & k;
21482                    i = i + 1 | 0;
21483                    if ((i | 0) != (c | 0)) {
21484                      continue;
21485                    }
21486                    break;
21487                  }
21488                }
21489                f = f + h | 0;
21490                a = a + b | 0;
21491                l = l + 1 | 0;
21492                if ((l | 0) != (e | 0)) {
21493                  continue;
21494                }
21495                break;
21496              }
21497            }
21498            return (j & 255) == 255 | 0;
21499          }
21500          function Pe(a, b, c) {
21501            var e = 0,
21502              f = 0,
21503              g = 0;
21504            a: {
21505              if ((b | 0) == 1 & a >>> 0 < 0 | b >>> 0 < 1) {
21506                e = a;
21507                break a;
21508              }
21509              while (1) {
21510                e = yf(a, b, 10, 0);
21511                f = N;
21512                g = f;
21513                f = xf(e, f, 10, 0);
21514                c = c + -1 | 0;
21515                d[c | 0] = a - f | 48;
21516                f = b >>> 0 > 9;
21517                a = e;
21518                b = g;
21519                if (f) {
21520                  continue;
21521                }
21522                break;
21523              }
21524            }
21525            if (e) {
21526              while (1) {
21527                c = c + -1 | 0;
21528                a = (e >>> 0) / 10 | 0;
21529                d[c | 0] = e - l(a, 10) | 48;
21530                b = e >>> 0 > 9;
21531                e = a;
21532                if (b) {
21533                  continue;
21534                }
21535                break;
21536              }
21537            }
21538            return c;
21539          }
21540          function vb(a, b, c, e, f, h) {
21541            a = a | 0;
21542            b = b | 0;
21543            c = c | 0;
21544            e = e | 0;
21545            f = f | 0;
21546            h = h | 0;
21547            var i = 0,
21548              j = 0,
21549              k = 0,
21550              l = 0,
21551              m = 0;
21552            j = 255;
21553            if ((e | 0) >= 1) {
21554              m = (c | 0) < 1;
21555              while (1) {
21556                i = 0;
21557                if (!m) {
21558                  while (1) {
21559                    k = g[a + i | 0];
21560                    d[(i << 2) + f | 0] = k;
21561                    j = j & k;
21562                    i = i + 1 | 0;
21563                    if ((i | 0) != (c | 0)) {
21564                      continue;
21565                    }
21566                    break;
21567                  }
21568                }
21569                f = f + h | 0;
21570                a = a + b | 0;
21571                l = l + 1 | 0;
21572                if ((l | 0) != (e | 0)) {
21573                  continue;
21574                }
21575                break;
21576              }
21577            }
21578            return (j | 0) != 255 | 0;
21579          }
21580          function ka(a, b, c, d, e) {
21581            var h = 0,
21582              i = 0,
21583              j = 0;
21584            h = L - 32 | 0;
21585            L = h;
21586            a: {
21587              if (!a | b >>> 0 < 5 | (g[a | 0] != 47 | g[a + 4 | 0] > 31)) {
21588                break a;
21589              }
21590              fe(h, a, b);
21591              if ((he(h, 8) | 0) != 47) {
21592                break a;
21593              }
21594              a = he(h, 14);
21595              b = he(h, 14);
21596              i = he(h, 1);
21597              if (he(h, 3) | f[h + 24 >> 2]) {
21598                break a;
21599              }
21600              if (c) {
21601                f[c >> 2] = a + 1;
21602              }
21603              if (d) {
21604                f[d >> 2] = b + 1;
21605              }
21606              j = 1;
21607              if (!e) {
21608                break a;
21609              }
21610              f[e >> 2] = i;
21611            }
21612            L = h + 32 | 0;
21613            return j;
21614          }
21615          function ob(a, b, c, e) {
21616            a = a | 0;
21617            b = b | 0;
21618            c = c | 0;
21619            e = e | 0;
21620            var f = 0,
21621              h = 0,
21622              i = 0,
21623              j = 0;
21624            if ((c | 0) >= 1) {
21625              while (1) {
21626                f = g[b + h | 0];
21627                a: {
21628                  if ((f | 0) == 255) {
21629                    break a;
21630                  }
21631                  if (!f) {
21632                    d[a + h | 0] = 0;
21633                    break a;
21634                  }
21635                  i = a + h | 0;
21636                  j = i;
21637                  if (e) {
21638                    f = 4278190080 / (f >>> 0) | 0;
21639                  } else {
21640                    f = l(f, 65793);
21641                  }
21642                  d[j | 0] = l(f, g[i | 0]) + 8388608 >>> 24;
21643                }
21644                h = h + 1 | 0;
21645                if ((h | 0) != (c | 0)) {
21646                  continue;
21647                }
21648                break;
21649              }
21650            }
21651          }
21652          function wc(a, b, c, e) {
21653            a = a | 0;
21654            b = b | 0;
21655            c = c | 0;
21656            e = e | 0;
21657            var f = 0;
21658            a: {
21659              if (a) {
21660                if ((e | 0) <= 0) {
21661                  break a;
21662                }
21663                while (1) {
21664                  d[c + f | 0] = g[b + f | 0] + g[a + f | 0];
21665                  f = f + 1 | 0;
21666                  if ((f | 0) != (e | 0)) {
21667                    continue;
21668                  }
21669                  break;
21670                }
21671                break a;
21672              }
21673              if ((e | 0) < 1) {
21674                break a;
21675              }
21676              a = 0;
21677              while (1) {
21678                a = g[b + f | 0] + a | 0;
21679                d[c + f | 0] = a;
21680                f = f + 1 | 0;
21681                if ((f | 0) != (e | 0)) {
21682                  continue;
21683                }
21684                break;
21685              }
21686            }
21687          }
21688          function id(a, b, c, d) {
21689            a = a | 0;
21690            b = b | 0;
21691            c = c | 0;
21692            d = d | 0;
21693            var e = 0,
21694              g = 0,
21695              h = 0,
21696              i = 0;
21697            if ((c | 0) >= 1) {
21698              h = b + -4 | 0;
21699              b = 0;
21700              while (1) {
21701                e = b << 2;
21702                g = f[e + a >> 2];
21703                i = d + e | 0;
21704                e = f[e + h >> 2];
21705                f[i >> 2] = (g & -16711936) + (e & -16711936) & -16711936 | (g & 16711935) + (e & 16711935) & 16711935;
21706                b = b + 1 | 0;
21707                if ((c | 0) != (b | 0)) {
21708                  continue;
21709                }
21710                break;
21711              }
21712            }
21713          }
21714          function wb(a, b, c, d, e, h) {
21715            a = a 
21715| 0;
21716            b = b | 0;
21717            c = c | 0;
21718            d = d | 0;
21719            e = e | 0;
21720            h = h | 0;
21721            var i = 0,
21722              j = 0,
21723              k = 0;
21724            if ((d | 0) >= 1) {
21725              j = (c | 0) < 1;
21726              k = h << 2;
21727              while (1) {
21728                h = 0;
21729                if (!j) {
21730                  while (1) {
21731                    f[(h << 2) + e >> 2] = g[a + h | 0] << 8;
21732                    h = h + 1 | 0;
21733                    if ((h | 0) != (c | 0)) {
21734                      continue;
21735                    }
21736                    break;
21737                  }
21738                }
21739                a = a + b | 0;
21740                e = e + k | 0;
21741                i = i + 1 | 0;
21742                if ((i | 0) != (d | 0)) {
21743                  continue;
21744                }
21745                break;
21746              }
21747            }
21748          }
21749          function md(a, b, c, d, e, g) {
21750            a = a | 0;
21751            b = b | 0;
21752            c = c | 0;
21753            d = d | 0;
21754            e = e | 0;
21755            g = g | 0;
21756            var h = 0,
21757              i = 0;
21758            if ((d | 0) < (e | 0)) {
21759              i = (g | 0) < 1;
21760              while (1) {
21761                h = 0;
21762                if (!i) {
21763                  while (1) {
21764                    f[c >> 2] = f[(f[a >> 2] >>> 6 & 1020) + b >> 2];
21765                    c = c + 4 | 0;
21766                    a = a + 4 | 0;
21767                    h = h + 1 | 0;
21768                    if ((h | 0) != (g | 0)) {
21769                      continue;
21770                    }
21771                    break;
21772                  }
21773                }
21774                d = d + 1 | 0;
21775                if ((e | 0) != (d | 0)) {
21776                  continue;
21777                }
21778                break;
21779              }
21780            }
21781          }
21782          function jd(a, b, c, d) {
21783            a = a | 0;
21784            b = b | 0;
21785            c = c | 0;
21786            d = d | 0;
21787            var e = 0,
21788              g = 0,
21789              h = 0,
21790              i = 0;
21791            if ((c | 0) >= 1) {
21792              h = b + 4 | 0;
21793              b = 0;
21794              while (1) {
21795                e = b << 2;
21796                g = f[e + a >> 2];
21797                i = d + e | 0;
21798                e = f[e + h >> 2];
21799                f[i >> 2] = (g & -16711936) + (e & -16711936) & -16711936 | (g & 16711935) + (e & 16711935) & 16711935;
21800                b = b + 1 | 0;
21801                if ((c | 0) != (b | 0)) {
21802                  continue;
21803                }
21804                break;
21805              }
21806            }
21807          }
21808          function nd(a, b, c, e, h, i) {
21809            a = a | 0;
21810            b = b | 0;
21811            c = c | 0;
21812            e = e | 0;
21813            h = h | 0;
21814            i = i | 0;
21815            var j = 0,
21816              k = 0;
21817            if ((e | 0) < (h | 0)) {
21818              k = (i | 0) < 1;
21819              while (1) {
21820                j = 0;
21821                if (!k) {
21822                  while (1) {
21823                    d[c | 0] = f[(g[a | 0] << 2) + b >> 2] >>> 8;
21824                    c = c + 1 | 0;
21825                    a = a + 1 | 0;
21826                    j = j + 1 | 0;
21827                    if ((j | 0) != (i | 0)) {
21828                      continue;
21829                    }
21830                    break;
21831                  }
21832                }
21833                e = e + 1 | 0;
21834                if ((h | 0) != (e | 0)) {
21835                  continue;
21836                }
21837                break;
21838              }
21839            }
21840          }
21841          function kd(a, b, c, d) {
21842            a = a | 0;
21843            b = b | 0;
21844            c = c | 0;
21845            d = d | 0;
21846            var e = 0,
21847              g = 0,
21848              h = 0,
21849              i = 0;
21850            if ((c | 0) >= 1) {
21851              while (1) {
21852                e = g << 2;
21853                h = f[e + a >> 2];
21854                i = d + e | 0;
21855                e = f[b + e >> 2];
21856                f[i >> 2] = (h & -16711936) + (e & -16711936) & -16711936 | (h & 16711935) + (e & 16711935) & 16711935;
21857                g = g + 1 | 0;
21858                if ((g | 0) != (c | 0)) {
21859                  continue;
21860                }
21861                break;
21862              }
21863            }
21864          }
21865          function ld(a, b, c, d) {
21866            a = a | 0;
21867            b = b | 0;
21868            c = c | 0;
21869            d = d | 0;
21870            var e = 0,
21871              g = 0,
21872              h = 0;
21873            if ((c | 0) >= 1) {
21874              b = f[d + -4 >> 2];
21875              while (1) {
21876                g = e << 2;
21877                h = f[g + a >> 2];
21878                b = (h & -16711936) + (b & -16711936) & -16711936 | (h & 16711935) + (b & 16711935) & 16711935;
21879                f[d + g >> 2] = b;
21880                e = e + 1 | 0;
21881                if ((e | 0) != (c | 0)) {
21882                  continue;
21883                }
21884                break;
21885              }
21886            }
21887          }
21888          function _a() {
21889            var a = 0,
21890              b = 0;
21891            a = Ae(1, 0, 2376);
21892            a: {
21893              if (!a) {
21894                break a;
21895              }
21896              f[a >> 2] = 0;
21897              f[a + 8 >> 2] = 5010;
21898              c[f[2557]](a + 124 | 0);
21899              f[a + 312 >> 2] = 0;
21900              f[a + 4 >> 2] = 0;
21901              if (f[2661]) {
21902                break a;
21903              }
21904              b: {
21905                b = f[2673];
21906                if (!b) {
21907                  break b;
21908                }
21909                if (!(c[b | 0](2) | 0)) {
21910                  break b;
21911                }
21912                f[2661] = 19;
21913                return a;
21914              }
21915              f[2661] = 20;
21916            }
21917            return a;
21918          }
21919          function kb(a, b, c) {
21920            var d = 0,
21921              e = 0;
21922            d = 2;
21923            if (!(!a | !c)) {
21924              f[c >> 2] = 0;
21925              f[c + 4 >> 2] = 0;
21926              f[c + 32 >> 2] = 0;
21927              f[c + 36 >> 2] = 0;
21928              f[c + 24 >> 2] = 0;
21929              f[c + 28 >> 2] = 0;
21930              e = c + 16 | 0;
21931              d = e;
21932              f[d >> 2] = 0;
21933              f[d + 4 >> 2] = 0;
21934              d = c + 8 | 0;
21935              f[d >> 2] = 0;
21936              f[d + 4 >> 2] = 0;
21937              d = ib(a, b, c, c + 4 | 0, d, c + 12 | 0, e, 0);
21938            }
21939            return d;
21940          }
21941          function vf(a, b, c, d) {
21942            var e = 0,
21943              f = 0,
21944              g = 0,
21945              h = 0,
21946              i = 0,
21947              j = 0;
21948            e = c >>> 16 | 0;
21949            f = a >>> 16 | 0;
21950            j = l(e, f);
21951            g = c & 65535;
21952            h = a & 65535;
21953            i = l(g, h);
21954            f = (i >>> 16 | 0) + l(f, g) | 0;
21955            e = (f & 65535) + l(e, h) | 0;
21956            a = (l(b, c) + j | 0) + l(a, d) + (f >>> 16) + (e >>> 16) | 0;
21957            b = i & 65535 | e << 16;
21958            N = a;
21959            return b;
21960          }
21961          function ce(a) {
21962            var b = 0;
21963            b = f[a + 12 >> 2];
21964            if (b >>> 0 < i[a + 16 >> 2]) {
21965              f[a + 12 >> 2] = b + 1;
21966              f[a + 8 >> 2] = f[a + 8 >> 2] + 8;
21967              f[a >> 2] = g[b | 0] | f[a >> 2] << 8;
21968              return;
21969            }
21970            if (!f[a + 24 >> 2]) {
21971              f[a + 24 >> 2] = 1;
21972              f[a >> 2] = f[a >> 2] << 8;
21973              f[a + 8 >> 2] = f[a + 8 >> 2] + 8;
21974              return;
21975            }
21976            f[a + 8 >> 2] = 0;
21977          }
21978          function Ba(a, b) {
21979            a = a | 0;
21980            b = b | 0;
21981            var c = 0;
21982            b = f[b >> 2];
21983            c = f[b + 20 >> 2];
21984            Ld(f[a + 20 >> 2], f[a + 32 >> 2], f[a + 24 >> 2], f[a + 28 >> 2], f[a + 36 >> 2], l(c, f[a + 8 >> 2]) + f[b + 16 >> 2] | 0, c, f[a + 12 >> 2], f[a + 16 >> 2], f[(f[b >> 2] << 2) + 11376 >> 2]);
21985            return f[a + 16 >> 2];
21986          }
21987          function Xd(a, b, c) {
21988            a = a | 0;
21989            b = b | 0;
21990            c = c | 0;
21991            var e = 0,
21992              g = 0;
21993            if ((c | 0) >= 1) {
21994              while (1) {
21995                g = f[(e << 2) + a >> 2];
21996                d[b + e | 0] = ((l(g & 255, 6420) + l(g >>> 16 & 255, 16839) | 0) + l(g >>> 8 & 255, 33059) | 0) + 1081344 >>> 16;
21997                e = e + 1 | 0;
21998                if ((e | 0) != (c | 0)) {
21999                  continue;
22000                }
22001                break;
22002              }
22003            }
22004          }
22005          function Te(a, b, c, d) {
22006            a = a | 0;
22007            b = b | 0;
22008            c = c | 0;
22009            d = d | 0;
22010            var e = 0;
22011            e = L - 16 | 0;
22012            L = e;
22013            a: {
22014              if (!Ve(K(f[a + 60 >>
22014 2], b | 0, c | 0, d & 255, e + 8 | 0) | 0)) {
22015                b = f[e + 12 >> 2];
22016                a = f[e + 8 >> 2];
22017                break a;
22018              }
22019              f[e + 8 >> 2] = -1;
22020              f[e + 12 >> 2] = -1;
22021              b = -1;
22022              a = -1;
22023            }
22024            L = e + 16 | 0;
22025            N = b;
22026            return a | 0;
22027          }
22028          function tb(a, b, c, d, e, h) {
22029            a = a | 0;
22030            b = b | 0;
22031            c = c | 0;
22032            d = d | 0;
22033            e = e | 0;
22034            h = h | 0;
22035            var i = 0,
22036              j = 0;
22037            if ((d | 0) >= 1) {
22038              while (1) {
22039                f[(j << 2) + h >> 2] = g[c + i | 0] | (g[a + i | 0] << 16 | g[b + i | 0] << 8) | -16777216;
22040                i = e + i | 0;
22041                j = j + 1 | 0;
22042                if ((j | 0) != (d | 0)) {
22043                  continue;
22044                }
22045                break;
22046              }
22047            }
22048          }
22049          function Bc(a, b, c) {
22050            a = a | 0;
22051            b = b | 0;
22052            c = c | 0;
22053            var d = 0,
22054              e = 0,
22055              g = 0,
22056              h = 0;
22057            if ((b | 0) >= 1) {
22058              while (1) {
22059                g = d << 2;
22060                e = f[g + a >> 2];
22061                h = e >>> 8 & 255;
22062                f[c + g >> 2] = (e & 16711935) + (h << 16 | h) & 16711935 | e & -16711936;
22063                d = d + 1 | 0;
22064                if ((d | 0) != (b | 0)) {
22065                  continue;
22066                }
22067                break;
22068              }
22069            }
22070          }
22071          function bb(a) {
22072            if (a) {
22073              c[f[2562]](a + 124 | 0);
22074              Na(a);
22075              Xe(f[a + 2288 >> 2]);
22076              f[a + 2288 >> 2] = 0;
22077              f[a + 2292 >> 2] = 0;
22078              f[a + 12 >> 2] = 0;
22079              f[a + 16 >> 2] = 0;
22080              f[a + 20 >> 2] = 0;
22081              f[a + 24 >> 2] = 0;
22082              f[a + 28 >> 2] = 0;
22083              f[a + 32 >> 2] = 0;
22084              f[a + 36 >> 2] = 0;
22085              f[a + 4 >> 2] = 0;
22086              Xe(a);
22087            }
22088          }
22089          function Qe(a, b, c, d, e) {
22090            var f = 0;
22091            f = L - 256 | 0;
22092            L = f;
22093            if (!(e & 73728 | (c | 0) <= (d | 0))) {
22094              c = c - d | 0;
22095              d = c >>> 0 < 256;
22096              $e(f, b & 255, d ? c : 256);
22097              if (!d) {
22098                while (1) {
22099                  Ke(a, f, 256);
22100                  c = c + -256 | 0;
22101                  if (c >>> 0 > 255) {
22102                    continue;
22103                  }
22104                  break;
22105                }
22106              }
22107              Ke(a, f, c);
22108            }
22109            L = f + 256 | 0;
22110          }
22111          function Zd(a, b, c) {
22112            a = a | 0;
22113            b = b | 0;
22114            c = c | 0;
22115            var e = 0;
22116            if ((c | 0) >= 1) {
22117              while (1) {
22118                d[b + e | 0] = ((l(g[a + 2 | 0], 16839) + l(g[a + 1 | 0], 33059) | 0) + l(g[a | 0], 6420) | 0) + 1081344 >>> 16;
22119                a = a + 3 | 0;
22120                e = e + 1 | 0;
22121                if ((e | 0) != (c | 0)) {
22122                  continue;
22123                }
22124                break;
22125              }
22126            }
22127          }
22128          function Yd(a, b, c) {
22129            a = a | 0;
22130            b = b | 0;
22131            c = c | 0;
22132            var e = 0;
22133            if ((c | 0) >= 1) {
22134              while (1) {
22135                d[b + e | 0] = ((l(g[a | 0], 16839) + l(g[a + 1 | 0], 33059) | 0) + l(g[a + 2 | 0], 6420) | 0) + 1081344 >>> 16;
22136                a = a + 3 | 0;
22137                e = e + 1 | 0;
22138                if ((e | 0) != (c | 0)) {
22139                  continue;
22140                }
22141                break;
22142              }
22143            }
22144          }
22145          function Gc(a, b, c) {
22146            a = a | 0;
22147            b = b | 0;
22148            c = c | 0;
22149            var e = 0;
22150            if ((b | 0) >= 1) {
22151              e = (b << 2) + a | 0;
22152              while (1) {
22153                b = f[a >> 2];
22154                d[c + 2 | 0] = b;
22155                d[c + 3 | 0] = b >>> 24;
22156                d[c + 1 | 0] = b >>> 8;
22157                d[c | 0] = b >>> 16;
22158                c = c + 4 | 0;
22159                a = a + 4 | 0;
22160                if (a >>> 0 < e >>> 0) {
22161                  continue;
22162                }
22163                break;
22164              }
22165            }
22166          }
22167          function me(a, b, c, d) {
22168            var e = 0,
22169              f = 0;
22170            e = L - 1024 | 0;
22171            L = e;
22172            a: {
22173              if (!a) {
22174                d = ne(0, b, c, d, 0);
22175                break a;
22176              }
22177              if ((d | 0) <= 512) {
22178                d = ne(a, b, c, d, e);
22179                break a;
22180              }
22181              f = ze(d, 0, 2);
22182              if (!f) {
22183                d = 0;
22184                break a;
22185              }
22186              d = ne(a, b, c, d, f);
22187              Xe(f);
22188            }
22189            L = e + 1024 | 0;
22190            return d;
22191          }
22192          function Md() {
22193            var a = 0;
22194            a = f[2673];
22195            if ((a | 0) != f[2555]) {
22196              f[2854] = 136;
22197              f[2853] = 137;
22198              f[2852] = 138;
22199              f[2851] = 139;
22200              f[2850] = 140;
22201              f[2849] = 136;
22202              f[2848] = 137;
22203              f[2847] = 138;
22204              f[2846] = 141;
22205              f[2845] = 139;
22206              f[2844] = 142;
22207              f[2555] = a;
22208            }
22209          }
22210          function Kd() {
22211            var a = 0;
22212            a = f[2673];
22213            if ((a | 0) != f[2553]) {
22214              f[2831] = 129;
22215              f[2829] = 130;
22216              f[2838] = 131;
22217              f[2837] = 132;
22218              f[2836] = 129;
22219              f[2835] = 130;
22220              f[2834] = 133;
22221              f[2833] = 131;
22222              f[2832] = 132;
22223              f[2830] = 134;
22224              f[2828] = 135;
22225              f[2553] = a;
22226            }
22227          }
22228          function Ic(a, b, c) {
22229            a = a | 0;
22230            b = b | 0;
22231            c = c | 0;
22232            var e = 0;
22233            if ((b | 0) >= 1) {
22234              e = (b << 2) + a | 0;
22235              while (1) {
22236                b = f[a >> 2];
22237                d[c + 1 | 0] = b >>> 5 & 224 | b >>> 3 & 31;
22238                d[c | 0] = b >>> 16 & 248 | b >>> 13 & 7;
22239                c = c + 2 | 0;
22240                a = a + 4 | 0;
22241                if (a >>> 0 < e >>> 0) {
22242                  continue;
22243                }
22244                break;
22245              }
22246            }
22247          }
22248          function Cd() {
22249            var a = 0;
22250            a = f[2673];
22251            if ((a | 0) != f[2554]) {
22252              f[2820] = 122;
22253              f[2819] = 123;
22254              f[2815] = 122;
22255              f[2813] = 123;
22256              f[2822] = 124;
22257              f[2821] = 125;
22258              f[2818] = 126;
22259              f[2817] = 124;
22260              f[2816] = 125;
22261              f[2814] = 127;
22262              f[2812] = 128;
22263              f[2554] = a;
22264            }
22265          }
22266          function bf(a) {
22267            var b = 0;
22268            b = g[a + 74 | 0];
22269            d[a + 74 | 0] = b + -1 | b;
22270            b = f[a >> 2];
22271            if (b & 8) {
22272              f[a >> 2] = b | 32;
22273              return -1;
22274            }
22275            f[a + 4 >> 2] = 0;
22276            f[a + 8 >> 2] = 0;
22277            b = f[a + 44 >> 2];
22278            f[a + 28 >> 2] = b;
22279            f[a + 20 >> 2] = b;
22280            f[a + 16 >> 2] = b + f[a + 48 >> 2];
22281            return 0;
22282          }
22283          function Hc(a, b, c) {
22284            a = a | 0;
22285            b = b | 0;
22286            c = c | 0;
22287            var e = 0;
22288            if ((b | 0) >= 1) {
22289              e = (b << 2) + a | 0;
22290              while (1) {
22291                b = f[a >> 2];
22292                d[c + 1 | 0] = b & 240 | b >>> 28;
22293                d[c | 0] = b >>> 16 & 240 | b >>> 12 & 15;
22294                c = c + 2 | 0;
22295                a = a + 4 | 0;
22296                if (a >>> 0 < e >>> 0) {
22297                  continue;
22298                }
22299                break;
22300              }
22301            }
22302          }
22303          function _c(a, b, c, d) {
22304            a = a | 0;
22305            b = b | 0;
22306            c = c | 0;
22307            d = d | 0;
22308            var e = 0,
22309              g = 0;
22310            if ((c | 0) >= 1) {
22311              b = 0;
22312              while (1) {
22313                e = b << 2;
22314                g = f[e + a >> 2];
22315                f[d + e >> 2] = g + -16777216 & -16711936 | g & 16711935;
22316                b = b + 1 | 0;
22317                if ((c | 0) != (b | 0)) {
22318                  continue;
22319                }
22320                break;
22321              }
22322            }
22323          }
22324          function Hb(a, b) {
22325            a = a | 0;
22326            b = b | 0;
22327            if (h[a >> 1]) {
22328              c[f[2706]](a, b);
22329            }
22330            if (h[a + 32 >> 1]) {
22331              c[f[2706]](a + 32 | 0, b + 4 | 0);
22332            }
22333            if (h[a + 64 >> 1]) {
22334              c[f[2706]](a - -64 | 0, b + 128 | 0);
22335            }
22336            if (h[a + 96 >> 1]) {
22337              c[f[2706]](a + 96 | 0, b + 132 | 0);
22338            }
22339          }
22340          function rb() {
22341            var a = 0;
22342            a = f[2673];
22343            if ((a | 0) != f[2544]) {
22344              f[2663] = 21;
22345              f[2662] = 22;
22346              f[2665] = 23;
22347              f[2670] = 24;
22348              f[2664] = 25;
22349              f[2666] = 26;
22350              f[2667] = 27;
22351              f[2668] = 28;
22352              f[2669] = 29;
22353              f[2671] = 30;
22354              f[2672] = 31;
22355              f[2544] = a;
22356            }
22357          }
22358          function Qc(a, b) {
22359            a = a | 0;
22360            b = b | 0;
22361            var c = 0,
22362              d = 0;
22363            c = f[b >> 2];
22364            d = f[b + 4 >> 2];
22365            c = ((c ^ d) >>> 1 & 2139062143) + (c & d) | 0;
22366            b = f[b + -4 >> 2];
22367            a = ((b ^ a) >>> 1 & 2139062143) + (a & b) | 0;
22368            return ((c ^ a) >>> 1 & 2139062143) + (a & c) | 0;
22369          }
22370          function Aa(a) {
22371            a = a | 0;
22372            var b = 0,
22373              d = 0,
22374              e = 0;
22375            if (!(f[a + 12 >> 2] < 1 | f[a + 16 >> 2] < 1)) {
22376              b = f[a + 40 >> 2];
22377              d = c[f[b + 44 >> 2]](a, b) | 0;
22378              e = f[b + 48 >> 2];
22379              if (e) {
22380                c[e | 0](a, b, d) | 0;
22381              }
22382              f[b + 16 >> 2] = f[b + 16 >> 2] + d;
22383              b = 1;
22384            }
22385            return b | 0;
22386          }
22387          function $d(a, b, c, d) {
22388            a = a | 0;
22389            b = b | 0;
22390            c = c | 0;
22391            d = d | 0;
22392            var f = 0,
22393              g = 0,
22394              i = 0;
22395            if ((d | 0) >= 1) {
22396              while (1) {
22397                g = f << 1;
22398                i = g + c | 0;
22399                e[i >> 1] = h[i >> 1] + (h[a + g >> 1] - h[b + g >> 1] | 0);
22400                f = f + 1 | 0;
22401                if ((f | 0) != (d | 0)) {
22402                  continue;
22403                }
22404                break;
22405              }
22406            }
22407          }
22408          function Ze(a) {
22409            var b = 0,
22410              c = 0;
22411            b = f[3008];
22412            c = a + 3 & -4;
22413            a = b + c | 0;
22414            a: {
22415              if (a >>> 0 <= b >>> 0 ? (c | 0) >= 1 : 0) {
22416                break a;
22417              }
22418              if (a >>> 0 > O() << 16 >>> 0) {
22419                if (!(H(a | 0) | 0)) {
22420                  break a;
22421                }
22422              }
22423              f[3008] = a;
22424              return b;
22425            }
22426            f[2865] = 48;
22427            return -1;
22428          }
22429          function Jc(a, b, c) {
22430            a = a | 0;
22431            b = b | 0;
22432            c = c | 0;
22433            var e = 0;
22434            if ((b | 0) >= 1) {
22435              e = (b << 2) + a | 0;
22436              while (1) {
22437                b = f[a >> 2];
22438                d[c | 0] = b;
22439                d[c + 2 | 0] = b >>> 16;
22440                d[c + 1 | 0] = b >>> 8;
22441                c = c + 3 | 0;
22442                a = a + 4 | 0;
22443                if (a >>> 0 < e >>> 0) {
22444                  continue;
22445                }
22446                break;
22447              }
22448            }
22449          }
22450          function Fc(a, b, c) {
22451            a = a | 0;
22452            b = b | 0;
22453            c = c | 0;
22454            var e = 0;
22455            if ((b | 0) >= 1) {
22456              e = (b << 2) + a | 0;
22457              while (1) {
22458                b = f[a >> 2];
22459                d[c + 2 | 0] = b;
22460                d[c + 1 | 0] = b >>> 8;
22461                d[c | 0] = b >>> 16;
22462                c = c + 3 | 0;
22463                a = a + 4 | 0;
22464                if (a >>> 0 < e >>> 0) {
22465                  continue;
22466                }
22467                break;
22468              }
22469            }
22470          }
22471          function Ld(a, b, d, e, f, g, h, i, j, k) {
22472            var l = 0,
22473              m = 0;
22474            if ((j | 0) >= 1) {
22475              while (1) {
22476                c[k | 0](a, d, e, g, i);
22477                m = l & 1;
22478                d = m ? d + f | 0 : d;
22479                e = m ? e + f | 0 : e;
22480                g = g + h | 0;
22481                a = a + b | 0;
22482                l = l + 1 | 0;
22483                if ((l | 0) != (j | 0)) {
22484                  continue;
22485                }
22486                break;
22487              }
22488            }
22489          }
22490          function Ye(a, b) {
22491            var c = 0,
22492              d = 0,
22493              e = 0;
22494            c = 0;
22495            a: {
22496              if (!a) {
22497                break a;
22498              }
22499              d = xf(a, 0, b, 0);
22500              e = N;
22501              c = d;
22502              if ((a | b) >>> 0 < 65536) {
22503                break a;
22504              }
22505              c = e ? -1 : d;
22506            }
22507            b = c;
22508            a = We(b);
22509            if (!(!a | !(g[a + -4 | 0] & 3))) {
22510              $e(a, 0, b);
22511            }
22512            return a;
22513          }
22514          function Ab(a, b) {
22515            a = a | 0;
22516            b = b | 0;
22517            var c = 0,
22518              d = 0,
22519              e = 0;
22520            a: {
22521              if ((b | 0) <= 0) {
22522                break a;
22523              }
22524              while (1) {
22525                if (g[a + c | 0] == 255) {
22526                  c = c + 4 | 0;
22527                  d = (b | 0) < 2;
22528                  b = b + -1 | 0;
22529                  if (!d) {
22530                    continue;
22531                  }
22532                  break a;
22533                }
22534                break;
22535              }
22536              e = 1;
22537            }
22538            return e | 0;
22539          }
22540          function xc(a, b, c, e) {
22541            a = a | 0;
22542            b = b | 0;
22543            c = c | 0;
22544            e = e | 0;
22545            var f = 0,
22546              h = 0;
22547            f = a ? g[a | 0] : f;
22548            if ((e | 0) >= 1) {
22549              while (1) {
22550                f = g[b + h | 0] + f | 0;
22551                d[c + h | 0] = f;
22552                h = h + 1 | 0;
22553                if ((h | 0) != (e | 0)) {
22554                  continue;
22555                }
22556                break;
22557              }
22558            }
22559          }
22560          function te(a) {
22561            var b = 0;
22562            a: {
22563              if (f[a + 64 >> 2] >= f[a + 56 >> 2]) {
22564                break a;
22565              }
22566              while (1) {
22567                if (f[a + 24 >> 2] > 0) {
22568                  break a;
22569                }
22570                b = b + 1 | 0;
22571                td(a);
22572                if (f[a + 64 >> 2] < f[a + 56 >> 2]) {
22573                  continue;
22574                }
22575                break;
22576              }
22577            }
22578            return b;
22579          }
22580          function Ce(a, b) {
22581            var c = 0,
22582              d = 0,
22583              e = 0,
22584              f = 0;
22585            c = 4;
22586            a: {
22587              while (1) {
22588                d = g[a | 0];
22589                e = g[b | 0];
22590                if ((d | 0) == (e | 0)) {
22591                  b = b + 1 | 0;
22592                  a = a + 1 | 0;
22593                  c = c + -1 | 0;
22594                  if (c) {
22595                    continue;
22596                  }
22597                  break a;
22598                }
22599                break;
22600              }
22601              f = d - e | 0;
22602            }
22603            return f;
22604          }
22605          function Wd() {
22606            var a = 0;
22607            a = f[2673];
22608            if ((a | 0) != f[2556]) {
22609              f[2861] = 143;
22610              f[2860] = 144;
22611              f[2857] = 145;
22612              f[2858] = 146;
22613              f[2859] = 147;
22614              f[2862] = 148;
22615              f[2863] = 149;
22616              f[2864] = 150;
22617              f[2556] = a;
22618            }
22619          }
22620          function Le(a) {
22621            var b = 0,
22622              c = 0,
22623              e = 0;
22624            if (Ee(d[f[a >> 2]])) {
22625              while (1) {
22626                b = f[a >> 2];
22627                e = d[b | 0];
22628                f[a >> 2] = b + 1;
22629                c = (l(c, 10) + e | 0) + -48 | 0;
22630                if (Ee(d[b + 1 | 0])) {
22631                  continue;
22632                }
22633                break;
22634              }
22635            }
22636            return c;
22637          }
22638          function ze(a, b, c) {
22639            var d = 0,
22640              e = 0,
22641              f = 0;
22642            a: {
22643              if (a | b) {
22644                e = yf(2147418112, 0, a, b);
22645                d = N;
22646                xf(c, 0, a, b);
22647                if (!d & e >>> 0 < c >>> 0 | d >>> 0 < 0 | N >>> 0 > 0) {
22648                  break a;
22649                }
22650              }
22651              f = We(l(a, c));
22652            }
22653            return f;
22654          }
22655          function Jb(a, b, c, d, e) {
22656            a = a | 0;
22657            b = b | 0;
22658            c = c | 0;
22659            d = d | 0;
22660            e = e | 0;
22661            var f = 0;
22662            f = a;
22663            a = b << 2;
22664            f = f + a | 0;
22665            tc(f, b, 1, 16, c, d, e);
22666            f = a + f | 0;
22667            tc(f, b, 1, 16, c, d, e);
22668            tc(a + f | 0, b, 1, 16, c, d, e);
22669          }
22670          function uc() {
22671            var a = 0;
22672            a = f[2673];
22673            if ((a | 0) != f[2550]) {
22674              f[2731] = 75;
22675              f[2730] = 76;
22676              f[2729] = 77;
22677              f[2728] = 0;
22678              f[2727] = 78;
22679              f[2726] = 79;
22680              f[2725] = 80;
22681              f[2724] = 0;
22682              f[2550] = a;
22683            }
22684          }
22685          function Ae(a, b, c) {
22686            var d = 0,
22687              e = 0,
22688              f = 0;
22689            a: {
22690              if (a | b) {
22691                e = yf(2147418112, 0, a, b);
22692                d = N;
22693                xf(c, 0, a, b);
22694                if (!d & e >>> 0 < c >>> 0 | d >>> 0 < 0 | N >>> 0 > 0) {
22695                  break a;
22696                }
22697              }
22698              f = Ye(a, c);
22699            }
22700            return f;
22701          }
22702          function Na(a) {
22703            var b = 0;
22704            Xe(f[a + 2360 >> 2]);
22705            f[a + 2360 >> 2] = 0;
22706            f[a + 2364 >> 2] = 0;
22707            b = f[a + 2344 >> 2];
22708            if (b) {
22709              ma(f[b + 20 >> 2]);
22710              f[b + 20 >> 2] = 0;
22711              Xe(b);
22712            }
22713            f[a + 2344 >> 2] = 0;
22714          }
22715          function yb(a, b, c) {
22716            a = a | 0;
22717            b = b | 0;
22718            c = c | 0;
22719            var e = 0;
22720            if ((c | 0) >= 1) {
22721              while (1) {
22722                d[b + e | 0] = f[(e << 2) + a >> 2] >>> 8;
22723                e = e + 1 | 0;
22724                if ((e | 0) != (c | 0)) {
22725                  continue;
22726                }
22727                break;
22728              }
22729            }
22730          }
22731          function Ne(a, b, c, e) {
22732            if (a | b) {
22733              while (1) {
22734                c = c + -1 | 0;
22735                d[c | 0] = g[(a & 15) + 10128 | 0] | e;
22736                a = (b & 15) << 28 | a >>> 4;
22737                b = b >>> 4 | 0;
22738                if (a | b) {
22739                  continue;
22740                }
22741                break;
22742              }
22743            }
22744            return c;
22745          }
22746          function qb(a, b, d, e, g, h, i) {
22747            var j = 0;
22748            if ((h | 0) >= 1) {
22749              while (1) {
22750                c[f[2663]](a, d, g, i);
22751                d = d + e | 0;
22752                a = a + b | 0;
22753                j = j + 1 | 0;
22754                if ((j | 0) != (h | 0)) {
22755                  continue;
22756                }
22757                break;
22758              }
22759            }
22760          }
22761          function zb(a, b) {
22762            a = a | 0;
22763            b = b | 0;
22764            var c = 0;
22765            while (1) {
22766              if ((b | 0) < 1) {
22767                return 0;
22768              }
22769              b = b + -1 | 0;
22770              c = g[a | 0];
22771              a = a + 1 | 0;
22772              if ((c | 0) == 255) {
22773                continue;
22774              }
22775              break;
22776            }
22777            return 1;
22778          }
22779          function Vc(a, b) {
22780            a = a | 0;
22781            b = b | 0;
22782            var c = 0;
22783            c = f[b + 4 >> 2];
22784            a = ((c ^ a) >>> 1 & 2139062143) + (a & c) | 0;
22785            b = f[b >> 2];
22786            return ((a ^ b) >>> 1 & 2139062143) + (a & b) | 0;
22787          }
22788          function Mb(a, b, c, d, e, f) {
22789            a = a | 0;
22790            b = b | 0;
22791            c = c | 0;
22792            d = d | 0;
22793            e = e | 0;
22794            f = f | 0;
22795            var g = 0;
22796            g = a;
22797            a = c << 2;
22798            tc(g + a | 0, c, 1, 8, d, e, f);
22799            tc(a + b | 0, c, 1, 8, d, e, f);
22800          }
22801          function Rb(a, b, c, d, e) {
22802            a = a | 0;
22803            b = b | 0;
22804            c = c | 0;
22805            d = d | 0;
22806            e = e | 0;
22807            tc(a + 4 | 0, 1, b, 16, c, d, e);
22808            tc(a + 8 | 0, 1, b, 16, c, d, e);
22809            tc(a + 12 | 0, 1, b, 16, c, d, e);
22810          }
22811          function Be(a, b, c, d, e, f) {
22812            var g = 0;
22813            if ((f | 0) >= 1) {
22814              while (1) {
22815                c = _e(c, a, e) + d | 0;
22816                a = a + b | 0;
22817                g = (f | 0) > 1;
22818                f = f + -1 | 0;
22819                if (g) {
22820                  continue;
22821                }
22822                break;
22823              }
22824            }
22825          }
22826          function Oe(a, b, c) {
22827            if (a | b) {
22828              while (1) {
22829                c = c + -1 | 0;
22830                d[c | 0] = a & 7 | 48;
22831                a = (b & 7) << 29 | a >>> 3;
22832                b = b >>> 3 | 0;
22833                if (a | b) {
22834                  continue;
22835                }
22836                break;
22837              }
22838            }
22839            return c;
22840          }
22841          function sf(a, b, d, e, f, g, h, i, j, k) {
22842            a = a | 0;
22843            b = b | 0;
22844            d = d | 0;
22845            e = e | 0;
22846            f = f | 0;
22847            g = g | 0;
22848            h = h | 0;
22849            i = i | 0;
22850            j = j | 0;
22851            k = k | 0;
22852            c[a | 0](b, d, e, f, g, h, i, j, k);
22853          }
22854          function pb(a, b, d, e) {
22855            var g = 0;
22856            if ((e | 0) >= 1) {
22857              while (1) {
22858                c[f[2662]](a, d, 0);
22859                a = a + b | 0;
22860                g = g + 1 | 0;
22861                if ((g | 0) != (e | 0)) {
22862                  continue;
22863                }
22864                break;
22865              }
22866            }
22867          }
22868          function ud() {
22869            var a = 0;
22870            a = f[2673];
22871            if ((a | 0) != f[2552]) {
22872              f[2809] = 118;
22873              f[2808] = 119;
22874              f[2807] = 120;
22875              f[2806] = 121;
22876              f[2552] = a;
22877            }
22878          }
22879          function ie(a, b) {
22880            var c = 0;
22881            c = 1 << b;
22882            c = Ae(c, c >> 31, 4);
22883            f[a >> 2] = c;
22884            if (!c) {
22885              return 0;
22886            }
22887            f[a + 8 >> 2] = b;
22888            f[a + 4 >> 2] = 32 - b;
22889            return 1;
22890          }
22891          function Xa(a, b) {
22892            var d = 0;
22893            d = 1;
22894            if (f[a + 148 >> 2] >= 1) {
22895              d = c[f[2559]](a + 124 | 0) | 0;
22896            }
22897            a = f[b + 52 >> 2];
22898            if (a) {
22899              c[a | 0](b);
22900            }
22901            return d;
22902          }
22903          function xe(a) {
22904            a = a | 0;
22905            var b = 0;
22906            b = f[a + 8 >> 2];
22907            if (b) {
22908              b = c[b | 0](f[a + 12 >> 2], f[a + 16 >> 2]) | 0;
22909              f[a + 20 >> 2] = f[a + 20 >> 2] | !b;
22910            }
22911          }
22912          function Tb(a, b, c, d, e, f) {
22913            a = a | 0;
22914            b = b | 0;
22915            c = c | 0;
22916            d = d | 0;
22917            e = e | 0;
22918            f = f | 0;
22919            tc(a + 4 | 0, 1, c, 8, d, e, f);
22920            tc(b + 4 | 0, 1, c, 8, d, e, f);
22921          }
22922          function re(a, b) {
22923            var c = 0;
22924            c = f[a + 24 >> 2];
22925            a = f[a + 32 >> 2];
22926            a = ((c + a | 0) + -1 | 0) / (a | 0) | 0;
22927            return (a | 0) > (b | 0) ? b : a;
22928          }
22929          function nf(a, b, d, e, f, g, h) {
22930            a = a | 0;
22931            b = b | 0;
22932            d = d | 0;
22933            e = e | 0;
22934            f = f | 0;
22935            g = g | 0;
22936            h = h | 0;
22937            return c[a | 0](b, d, e, f, g, h) | 0;
22938          }
22939          function Sb(a, b, c, d, e, f) {
22940            a = a | 0;
22941            b = b | 0;
22942            c = c | 0;
22943            d = d | 0;
22944            e = e | 0;
22945            f = f | 0;
22946            sc(a, 1, c, 8, d, e, f);
22947            sc(b, 1, c, 8, d, e, f);
22948          }
22949          function Lb(a, b, c, d, e, f) {
22950            a = a | 0;
22951            b = b | 0;
22952            c = c | 0;
22953            d = d | 0;
22954            e = e | 0;
22955            f = f | 0;
22956            sc(a, c, 1, 8, d, e, f);
22957            sc(b, c, 1, 8, d, e, f);
22958          }
22959          function ue(a) {
22960            a = a | 0;
22961            f[a >> 2] = 0;
22962            f[a + 4 >> 2] = 0;
22963            f[a + 16 >> 2] = 0;
22964            f[a + 20 >> 2] = 0;
22965            f[a + 8 >> 2] = 0;
22966            f[a + 12 >> 2] = 0;
22967          }
22968          function tf(a, b, d, e, f) {
22969            a = a | 0;
22970            b = b | 0;
22971            d = d | 0;
22972            e = e | 0;
22973            f = f | 0;
22974            a = c[a | 0](b, d, e, f) | 0;
22975            J(N | 0);
22976            return a | 0;
22977          }
22978          function ja(a, b) {
22979            var c = 0;
22980            if (!(!b | f[a + 12 >> 2] < 2 | f[a >> 2] + -7 >>> 0 > 3)) {
22981              c = f[b + 8 >> 2] != 0;
22982            }
22983            return c;
22984          }
22985          function Sc(a, b) {
22986            a = a | 0;
22987            b = b | 0;
22988            a = f[b >> 2];
22989            b = f[b + -4 >> 2];
22990            return ((a ^ b) >>> 1 & 2139062143) + (a & b) | 0;
22991          }
22992          function qf(a, b, d, e, f, g, h) {
22993            a = a | 0;
22994            b = b | 0;
22995            d = d | 0;
22996            e = e | 0;
22997            f = f | 0;
22998            g = g | 0;
22999            h = h | 0;
23000            c[a | 0](b, d, e, f, g, h);
23001          }
23002          function zf(a, b) {
23003            var c = 0,
23004              d = 0;
23005            c = b & 31;
23006            d = (-1 >>> c & a) << c;
23007            c = a;
23008            a = 0 - b & 31;
23009            return d | (c & -1 << a) >>> a;
23010          }
23011          function Rc(a, b) {
23012            a = a | 0;
23013            b = b | 0;
23014            a = f[b + 4 >> 2];
23015            b = f[b >> 2];
23016            return ((a ^ b) >>> 1 & 2139062143) + (a & b) | 0;
23017          }
23018          function Uc(a, b) {
23019            a = a | 0;
23020            b = b | 0;
23021            b = f[b + -4 >> 2];
23022            return ((b ^ a) >>> 1 & 2139062143) + (a & b) | 0;
23023          }
23024          function rf(a, b, d, e, f, g) {
23025            a = a | 0;
23026            b = b | 0;
23027            d = d | 0;
23028            e = e | 0;
23029            f = f | 0;
23030            g = g | 0;
23031            c[a | 0](b, d, e, f, g);
23032          }
23033          function df(a) {
23034            a: {
23035              if (f[a + 76 >> 2] <= -1) {
23036                a = cf(1024, 26, a);
23037                break a;
23038              }
23039              a = cf(1024, 26, a);
23040            }
23041          }
23042          function Gb(a, b) {
23043            a = a | 0;
23044            b = b | 0;
23045            c[f[2703]](a, b, 1);
23046            c[f[2703]](a - -64 | 0, b + 128 | 0, 1);
23047          }
23048          function Tc(a, b) {
23049            a = a | 0;
23050            b = b | 0;
23051            b = f[b >> 2];
23052            return ((b ^ a) >>> 1 & 2139062143) + (a & b) | 0;
23053          }
23054          function cb(a, b, c) {
23055            if (!f[a >> 2]) {
23056              f[a + 8 >> 2] = c;
23057              f[a >> 2] = b;
23058              f[a + 4 >> 2] = 0;
23059            }
23060            return 0;
23061          }
23062          function Re(a, b, c) {
23063            var d = 0;
23064            d = L - 16 | 0;
23065            L = d;
23066            f[d + 12 >> 2] = c;
23067            Ie(a, b, c);
23068            L = d + 16 | 0;
23069          }
23070          function Kb(a, b, c, d, e) {
23071            a = a | 0;
23072            b = b | 0;
23073            c = c | 0;
23074            d = d | 0;
23075            e = e | 0;
23076            sc(a, 1, b, 16, c, d, e);
23077          }
23078          function Ib(a, b, c, d, e) {
23079            a = a | 0;
23080            b = b | 0;
23081            c = c | 0;
23082            d = d | 0;
23083            e = e | 0;
23084            sc(a, b, 1, 16, c, d, e);
23085          }
23086          function ve(a) {
23087            a = a | 0;
23088            f[a + 20 >> 2] = 0;
23089            if (!f[a + 4 >> 2]) {
23090              f[a + 4 >> 2] = 1;
23091            }
23092            return 1;
23093          }
23094          function xa(a, b) {
23095            f[b + 40 >> 2] = a;
23096            f[b + 52 >> 2] = 3;
23097            f[b + 48 >> 2] = 4;
23098            f[b + 44 >> 2] = 5;
23099          }
23100          function sd(a, b) {
23101            if (!f[a >> 2]) {
23102              c[f[2806]](a, b);
23103              return;
23104            }
23105            c[f[2807]](a, b);
23106          }
23107          function of(a, b, d, e, f) {
23108            a = a | 0;
23109            b = b | 0;
23110            d = d | 0;
23111            e = e | 0;
23112            f = f | 0;
23113            c[a | 0](b, d, e, f);
23114          }
23115          function Cb(a, b, c) {
23116            a = a | 0;
23117            b = b | 0;
23118            c = c | 0;
23119            rc(a, b);
23120            if (c) {
23121              rc(a + 32 | 0, b + 4 | 0);
23122            }
23123          }
23124          function mf(a, b, d, e) {
23125            a = a | 0;
23126            b = b | 0;
23127            d = d | 0;
23128            e = e | 0;
23129            return c[a | 0](b, d, e) | 0;
23130          }
23131          function ha(a) {
23132            if (a) {
23133              if (f[a + 12 >> 2] <= 0) {
23134                Xe(f[a + 80 >> 2]);
23135              }
23136              f[a + 80 >> 2] = 0;
23137            }
23138          }
23139          function ya(a) {
23140            a = a | 0;
23141            a = f[a + 40 >> 2];
23142            Xe(f[a + 40 >> 2]);
23143            f[a + 40 >> 2] = 0;
23144          }
23145          function pf(a, b, d, e) {
23146            a = a | 0;
23147            b = b | 0;
23148            d = d | 0;
23149            e = e | 0;
23150            c[a | 0](b, d, e);
23151          }
23152          function lf(a, b, d) {
23153            a = a | 0;
23154            b = b | 0;
23155            d = d | 0;
23156            return c[a | 0](b, d) | 0;
23157          }
23158          function Bf(a) {
23159            if (a) {
23160              return 31 - o(a + -1 ^ a) | 0;
23161            }
23162            return 32;
23163          }
23164          function ke(a, b) {
23165            _e(f[b >> 2], f[a >> 2], 4 << f[b + 8 >> 2]);
23166          }
23167          function ee(a, b) {
23168            b = de(a, b);
23169            return de(a, 1) ? 0 - b | 0 : b;
23170          }
23171          function Ve(a) {
23172            if (!a) {
23173              return 0;
23174            }
23175            f[2865] = a;
23176            return -1;
23177          }
23178          function hf(a, b, d) {
23179            a = a | 0;
23180            b = b | 0;
23181            d = d | 0;
23182            c[a | 0](b, d);
23183          }
23184          function kf(a, b) {
23185            a = a | 0;
23186            b = b | 0;
23187            return c[a | 0](b) | 0;
23188          }
23189          function Wc(a, b) {
23190            a = a | 0;
23191            b = b | 0;
23192            return f[b + -4 >> 2];
23193          }
23194          function He(a, b) {
23195            if (!a) {
23196              return 0;
23197            }
23198            return Ge(a, b);
23199          }
23200          function Ke(a, b, c) {
23201            if (!(g[a | 0] & 32)) {
23202              cf(b, c, a);
23203            }
23204          }
23205          function gf(a) {
23206            a = a | 0;
23207            a = L - a & -16;
23208            L = a;
23209            return a | 0;
23210          }
23211          function Xc(a, b) {
23212            a = a | 0;
23213            b = b | 0;
23214            return f[b + 4 >> 2];
23215          }
23216          function Mc(a, b) {
23217            a = a | 0;
23218            b = b | 0;
23219            return -16777216;
23220          }
23221          function yf(a, b, c, d) {
23222            a = wf(a, b, c, d);
23223            return a;
23224          }
23225          function xf(a, b, c, d) {
23226            a = vf(a, b, c, d);
23227            return a;
23228          }
23229          function je(a) {
23230            if (a) {
23231              Xe(f[a >> 2]);
23232              f[a >> 2] = 0;
23233            }
23234          }
23235          function Yc(a, b) {
23236            a = a | 0;
23237            b = b | 0;
23238            return f[b >> 2];
23239          }
23240          function Se(a) {
23241            a = a | 0;
23242            return F(f[a + 60 >> 2]) | 0;
23243          }
23244          function we(a) {
23245            a = a | 0;
23246            return !f[a + 20 >> 2] | 0;
23247          }
23248          function Zc(a, b) {
23249            a = a | 0;
23250            b = b | 0;
23251            return a | 0;
23252          }
23253          function jf(a, b) {
23254            a = a | 0;
23255            b = b | 0;
23256            c[a | 0](b);
23257          }
23258          function uf(a) {
23259            a = a | 0;
23260            return P(a | 0) | 0;
23261          }
23262          function Ee(a) {
23263            return a + -48 >>> 0 < 10;
23264          }
23265          function ma(a) {
23266            if (a) {
23267              la(a);
23268              Xe(a);
23269            }
23270          }
23271          function Za(a) {
23272            if (a) {
23273              $e(a, 0, 108);
23274            }
23275          }
23276          function ye(a) {
23277            a = a | 0;
23278            f[a + 4 >> 2] = 0;
23279          }
23280          function ga(a) {
23281            if (a) {
23282              $e(a, 0, 84);
23283            }
23284          }
23285          function le(a) {
23286            if (a) {
23287              Xe(a);
23288            }
23289          }
23290          function Af(a, b) {
23291            N = a;
23292            return b;
23293          }
23294          function De() {
23295            return 11460;
23296          }
23297          function ff(a) {
23298            a = a | 0;
23299            L = a;
23300          }
23301          function ef() {
23302            return L | 0;
23303          }
23304          function ba() {}
23305          // EMSCRIPTEN_END_FUNCS
23306          c[1] = ta;
23307          c[2] = wa;
23308          c[3] = ya;
23309          c[4] = za;
23310          c[5] = Aa;
23311          c[6] = Ba;
23312          c[7] = Ca;
23313          c[8] = Da;
23314          c[9] = Ea;
23315          c[10] = Fa;
23316          c[11] = Ga;
23317          c[12] = Ha;
23318          c[13] = Ia;
23319          c[14] = Ja;
23320          c[15] = Ka;
23321          c[16] = La;
23322          c[17] = Ma;
23323          c[18] = Va;
23324          c[19] = $a;
23325          c[20] = ab;
23326          c[21] = ob;
23327          c[22] = nb;
23328          c[23] = sb;
23329          c[24] = tb;
23330          c[25] = ub;
23331          c[26] = vb;
23332          c[27] = wb;
23333          c[28] = xb;
23334          c[29] = yb;
23335          c[30] = zb;
23336          c[31] = Ab;
23337          c[32] = Cb;
23338          c[33] = Db;
23339          c[34] = Eb;
23340          c[35] = Fb;
23341          c[36] = Gb;
23342          c[37] = Hb;
23343          c[38] = Ib;
23344          c[39] = Jb;
23345          c[40] = Kb;
23346          c[41] = Lb;
23347          c[42] = Mb;
23348          c[43] = Nb;
23349          c[44] = Ob;
23350          c[45] = Pb;
23351          c[46] = Qb;
23352          c[47] = Rb;
23353          c[48] = Sb;
23354          c[49] = Tb;
23355          c[50] = Ub;
23356          c[51] = Vb;
23357          c[52] = Wb;
23358          c[53] = Xb;
23359          c[54] = Yb;
23360          c[55] = Zb;
23361          c[56] = _b;
23362          c[57] = $b;
23363          c[58] = ac;
23364          c[59] = bc;
23365          c[60] = cc;
23366          c[61] = dc;
23367          c[62] = ec;
23368          c[63] = fc;
23369          c[64] = gc;
23370          c[65] = hc;
23371          c[66] = ic;
23372          c[67] = jc;
23373          c[68] = kc;
23374          c[69] = lc;
23375          c[70] = mc;
23376          c[71] = nc;
23377          c[72] = oc;
23378          c[73] = pc;
23379          c[74] = qc;
23380          c[75] = vc;
23381          c[76] = wc;
23382          c[77] = xc;
23383          c[78] = yc;
23384          c[79] = zc;
23385          c[80] = Ac;
23386          c[81] = Mc;
23387          c[82] = Nc;
23388          c[83] = Oc;
23389          c[84] = Pc;
23390          c[85] = Qc;
23391          c[86] = Rc;
23392          c[87] = Sc;
23393          c[88] = Tc;
23394          c[89] = Uc;
23395          c[90] = Vc;
23396          c[91] = Wc;
23397          c[92] = Xc;
23398          c[93] = Yc;
23399          c[94] = Zc;
23400          c[95] = _c;
23401          c[96] = $c;
23402          c[97] = ad;
23403          c[98] = bd;
23404          c[99] = cd;
23405          c[100] = dd;
23406          c[101] = ed;
23407          c[102] = fd;
23408          c[103] = gd;
23409          c[104] = hd;
23410          c[105] = id;
23411          c[106] = jd;
23412          c[107] = kd;
23413          c[108] = ld;
23414          c[109] = Bc;
23415          c[110] = Cc;
23416          c[111] = Gc;
23417          c[112] = Fc;
23418          c[113] = Jc;
23419          c[114] = Hc;
23420          c[115] = Ic;
23421          c[116] = md;
23422          c[117] = nd;
23423          c[118] = rd;
23424          c[119] = qd;
23425          c[120] = od;
23426          c[121] = pd;
23427          c[122] = vd;
23428          c[123] = wd;
23429          c[124] = xd;
23430          c[125] = yd;
23431          c[126] = zd;
23432          c[127] = Ad;
23433          c[128] = Bd;
23434          c[129] = Ed;
23435          c[130] = Dd;
23436          c[131] = Id;
23437          c[132] = Hd;
23438          c[133] = Jd;
23439          c[134] = Gd;
23440          c[135] = Fd;
23441          c[136] = Nd;
23442          c[137] = Od;
23443          c[138] = Pd;
23444          c[139] = Qd;
23445          c[140] = Rd;
23446          c[141] = Sd;
23447          c[142] = Td;
23448          c[143] = Ud;
23449          c[144] = Xd;
23450          c[145] = Yd;
23451          c[146] = Zd;
23452          c[147] = Vd;
23453          c[148] = _d;
23454          c[149] = $d;
23455          c[150] = ae;
23456          c[151] = ue;
23457          c[152] = ve;
23458          c[153] = we;
23459          c[154] = xe;
23460          c[155] = xe;
23461          c[156] = ye;
23462          c[157] = Se;
23463          c[158] = Ue;
23464          c[159] = Te;
23465          function O() {
23466            return buffer.byteLength / 65536 | 0;
23467          }
23468          function P(pagesToAdd) {
23469            pagesToAdd = pagesToAdd | 0;
23470            var Q = O() | 0;
23471            var R = Q + pagesToAdd | 0;
23472            if (Q < R && R < 65536) {
23473              var S = new ArrayBuffer(l(R, 65536));
23474              var T = new global.Int8Array(S);
23475              T.set(d);
23476              d = T;
23477              d = new global.Int8Array(S);
23478              e = new global.Int16Array(S);
23479              f = new global.Int32Array(S);
23480              g = new global.Uint8Array(S);
23481              h = new global.Uint16Array(S);
23482              i = new global.Uint32Array(S);
23483              j = new global.Float32Array(S);
23484              k = new global.Float64Array(S);
23485              buffer = S;
23486              memory.buffer = S;
23487            }
23488            return Q;
23489          }
23490          return {
23491            "__wasm_call_ctors": ba,
23492            "WebpToSDL": ca,
23493            "memset": $e,
23494            "memcpy": _e,
23495            "malloc": We,
23496            "free": Xe,
23497            "__errno_location": De,
23498            "stackSave": ef,
23499            "stackRestore": ff,
23500            "stackAlloc": gf,
23501            "dynCall_vii": hf,
23502            "dynCall_vi": jf,
23503            "dynCall_ii": kf,
23504            "dynCall_iii": lf,
23505            "dynCall_iiii": mf,
23506            "dynCall_iiiiiii": nf,
23507            "dynCall_viiii": of,
23508            "dynCall_viii": pf,
23509            "dynCall_viiiiii": qf,
23510            "dynCall_viiiii": rf,
23511            "dynCall_viiiiiiiii": sf,
23512            "dynCall_jiiii": tf,
23513            "dynCall_jiji": tf,
23514            "__growWasmMemory": uf
23515          };
23516        }
23517        var U = new Uint8Array(wasmMemory.buffer);
23518        for (var V = new Uint8Array(123), W = 25; W >= 0; --W) {
23519          V[48 + W] = 52 + W;
23520          V[65 + W] = W;
23521          V[97 + W] = 26 + W;
23522        }
23523        V[43] = 62;
23524        V[47] = 63;
23525        function X(uint8Array, offset, b64) {
23526          var Y,
23527            Z,
23528            W = 0,
23529            _ = offset,
23530            $ = b64.length,
23531            aa = offset + ($ * 3 >> 2) - (b64[$ - 2] == "=") - (b64[$ - 1] == "=");
23532          for (; W < $; W += 4) {
23533            Y = V[b64.charCodeAt(W + 1)];
23534            Z = V[b64.charCodeAt(W + 2)];
23535            uint8Array[_++] = V[b64.charCodeAt(W)] << 2 | Y >> 4;
23536            if (_ < aa) uint8Array[_++] = Y << 4 | Z >> 2;
23537            if (_ < aa) uint8Array[_++] = Z << 6 | V[b64.charCodeAt(W + 3)];
23538          }
23539        }
23540        X(U, 1024, "TGlicmFyeSB2ZXJzaW9uIG1pc21hdGNoIQoAVW5hYmxlIHRvIHNldCB2aWRlbyBtb2RlICgzMmJwcCAlZHglZCkhCgBVbmFibGUgdG8gY3JlYXRlICVkeCVkIFJHQkEgc3VyZmFjZSEKAEVycm9yIGRlY29kaW5nIGltYWdlICglZCkKAAMEAwQEAgIEBAQCAQE=");
23541        X(U, 1184, "iguMC44LkguaC6oLygsKDIwMjA2MD4wTGAEAAQABAAEo");
23542        X(U, 1232, "ERIAAQIDBAUQBgcICQoLDA0ODwIDBwMDCwAAAAAAAAAYBxcZKAYnKRYaJio4BTc5FRs2OiUrSARHSRQcNTtGSiQsWEVLNDwDV1kTHVZaIy1ETFVbMz1oAmdpEh5maiIuVFxDTWVrMj54AXd5U10RH2RsQk52eiEvdXsxP2NtUl4AdHxBTxAgYm4wc31RX0ByfmFvUHF/YHAAAAAAAAAAAP///////////////////////////////////////////7D2////////////3/H8///////////5/f3////////////0/P//////////6v7+///////////9///////////////2/v//////////7/3+///////////+//7////////////4/v//////////+//+///////////////////////////9/v//////////+/7+///////////+//7////////////+/f/+////////+v/+//7////////+/////////////////////////////////////////////////////////9n/////////////4fzx/f///v/////q+vH6/f/9/v/////+////////////3/7+///////////u/f7+///////////4/v//////////+f7////////////////////////////9////////////9/7////////////////////////////9/v///////////P/////////////////////////////+/v///////////f/////////////////////////////+/f//////////+v/////////////+/////////////////////////////////////////////////////////7r7+v//////////6vv0/v/////////7+/P9/v/+///////9/v//////////7P3+//
23542/////////7/f3+/v/////////+/v///////////v7+///////////////////////////+/////////////v7////////////+/////////////////////////////v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j/////////////+v78/v/////////4/vn9///////////9/f//////////9v39///////////8/vv+/v/////////+/P//////////+P79///////////9//7+///////////7/v//////////9fv+///////////9/f7////////////7/f///////////P3+/////////////v/////////////8////////////+f/+//////////////7//////////////f//////////+v///////////////////////////////////////////v///////////////////////////4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP2I/v/k24CAgICAvYHy/+PV/9uAgIBqfuP81tH//4CAgAFi+P/s4v//gICAtYXu/t3q/5qAgIBOhsr3xrT/24CAgAG5+f/z/4CAgICAuJb3/+zggICAgIBNbtj/7OaAgICAgAFl+//x/4CAgICAqovx/OzR//+AgIAldMTz5P///4CAgAHM/v/1/4CAgICAz6D6/+6AgICAgIBmZ+f/06uAgICAgAGY/P/w/4CAgICAsYfz/+rhgICAgIBQgdP/wuCAgICAgAEB/4CAgICAgICA9gH/gICAgICAgID/gICAgICAgICAgMYj7d/Bu6KgkZs+gy3G3ayw3J383QFEL5LQlafdov/fgAGV8f/d4P//gICAuI3q/d7c/8eAgIBRY7XysL75yv//gAGB6P3WxfLE//+AY3nS+snG/8qAgIAXW6Pyqrv30v//gAHI9v/q/4CAgICAbbLx/+f1//+AgIAsgsn9zcD//4CAgAGE7/vb0f+lgICAXojh+9q+//+AgIAWZK71uqH/x4CAgAG2+f/o64CAgICAfI/x/+PqgICAgIAjTbX7wdP/zYCAgAGd9//s5///gICAeY3r/+Hj//+AgIAtY7z7w9n/4ICAgAEB+//V/4CAgICAywH4//+AgICAgICJAbH/4P+AgICAgP0J+PvP0P/AgICArw3g88G5+cb//4BJEavdobPsp//qgAFf9/3Ut///gICA71r0+tPR//+AgICbTcP4vMP//4CAgAEY7/va2//NgICAyTPb/8S6gICAgIBFLr7vydr/5ICAgAG/+///gICAgICA36X5/9X/gICAgICNfPj//4CAgICAgAEQ+P//gICAgICAviTm/+z/gICAgICVAf+AgICAgICAgAHi/4CAgICAgICA98D/gICAgICAgIDwgP+AgICAgICAgAGG/P//gICAgICA1T76//+AgICAgIA3Xf+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMoY1eu6v9yg8K//fia26Km45K7/u4A9Lorbl7Lwqv/YgAFw5vrHv/ef//+Apm3k/NPX/66AgIAnTaLorLT1sv//gAE03PbGx/nc//+AfEq/87fB+t3//4AYR4Lbmqrztv//gAG24fnb8P/ggICAlZbi/NjN/6uAgIAcbKryt8L+3///gAFR5vzMy//AgICAe2bR97zE/+mAgIAUX5nzpK3/y4CAgAHe+P/Y1YCAgICAqK/2/OvN//+AgIAvdNf/09T//4CAgAF57P3U1v//gICAjVTV/MnK/9uAgIAqUKDworn/zYCAgAEB/4CAgICAgICA9AH/gICAgICAgIDuAf+AgICAgICAgOd4MFlzcXiYcJizQH6qdi5GX69Fj1BVUkibZzg6CqvavRENmHIaEaMswxUKrXkYUMMaPixAVZBHCiar1ZAiGqouNxOIoCHORz8UCHJy0AwJ4lEoC2C2VB0QJIa3WYliZWqllEi7ZIKdbyBLUEJmp2NKPijqgCk1CbLxjRoIa0orGpJJpjEXnUEmaaAzNB9zgGhPDBvZ/1cRB1dERyxyMw+6Fy8pDm62txURwkItGWbFvRcSFlhYk5YqLi3EzStht3VVJiOzPSc1yFcaFSvoqzgiM2hyZh1dTSccVas6pVpiQCIWdM4XIiumSWs2IBozAVErH0QZahZAqyThciITFWaEvBBMfD4STl9VOTIwM8FlI5/Xb1kubzyUH6zb5BUSb3BxTVWz/yZ4cigqAcT10QoZbVgrHYym1SUrmj0/HptDLUQB0WRQCCuaATMaR45OThD/gCLFqykoBWbTtwQB3TMyEajRwBcZUoofJKsbpiYs5UNXOqlScxo7sz87WrQ7pl1JmigoFXSP0SInry8PELci3zEtty4RIbcGYg8gtzkuFhiAATYRJUEgSXMcgBeAzSgDCXMzwBIG31clCXM7TUAVL2g3LNoJNjWC4kBaRs0oKRcaOTY5cLgFKSam1R4iGoWYdAoghicTNd0aciBJ/x8JQeoCDwF2SUsgDDPA/6ArM1gfI0NmVTe6VTgVF287zS0lwDcmRnxJZgEiYn1iKlhoVXWvUl9UNVmAZHFlLUtPey8zgFGrATkRBUdmOTUpMSYhDXk5SRoBVSkKQ4pNblovcnMVAgpm/6YXBmUdEApVgGXEGjkSCmZm1SIUK3UUDySjgEQBGmY9RyUiNR/zwEU8RyZJdxzeJUQtgCIBLwv1qz4RE0aSVTc+RiUrJZpko1WgAT8JXIgcQCDJVUsPCQlA/7h3EFYGHAVA/xn4ATgIEYSJ/zd0gDoPFFKHORp5KKQyH4mahRkj2jNnLIODex8GnlYoQIeU4C23gBYaEYPwmg4B0S0QFVtA3gcBxTgVJ5s8ihdm1VMMDTbA/0QvHFUaVVWAgCCSqxILBz+QqwQE9iMbCpKuqwwagL5QI2O0UH42LVV+L1ewMykUIGVLgIt2knSAVTgpD7DsVSUJPkceEXd2/xESimUmPIo3RisajpIkEx6r/2EbFIotPT7bAVG8QCApFHWXjhQVo3ATDD3DgDAEGA==");
23543        X(U, 4417, "Af8C/gMEBv0F/Pv6B/kI+Pc=");
23544        X(U, 4448, "BAUGBwgJCgoLDA0ODxARERITFBQVFRYWFxcYGRkaGxwdHh8gISIjJCUlJicoKSorLC0uLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTExNTk9QUVJTVFVWV1hZW11fYGJkZWZoamxucHJ0dnp8foCChIaIioyPkZSXmp0EAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADwAPgBAAEIARABGAEgASgBMAE4AUABSAFQAVgBYAFoAXABeAGAAYgBkAGYAaABqAGwAbgBwAHIAdAB3AHoAfQCAAIMAhgCJAIwAjwCSAJUAmACbAJ4AoQCkAKcAqgCtALEAtQC5AL0AwQDFAMkAzQDRANUA2QDdAOEA5QDqAO8A9QD5AP4AAwEIAQ0BEgEXARwBCAcGBAQCAgIBAQEBRnJhbWUgc2V0dXAgZmFpbGVkAAACCA==");
23545        X(U, 4882, "BAAIAAwAgACEAIgAjAAAAQQBCAEMAYABhAGIAYwBQ291bGQgbm90IGRlY29kZSBhbHBoYSBkYXRhLgB0aHJlYWQgaW5pdGlhbGl6YXRpb24gZmFpbGVkLgBubyBtZW1vcnkgZHVyaW5nIGZyYW1lIGluaXRpYWxpemF0aW9uLgBPSwBudWxsIFZQOElvIHBhc3NlZCB0byBWUDhHZXRIZWFkZXJzKCkAVHJ1bmNhdGVkIGhlYWRlci4ASW5jb3JyZWN0IGtleWZyYW1lIHBhcmFtZXRlcnMuAEZyYW1lIG5vdCBkaXNwbGF5YWJsZS4AY2Fubm90IHBhcnNlIHBpY3R1cmUgaGVhZGVyAEJhZCBjb2RlIHdvcmQAYmFkIHBhcnRpdGlvbiBsZW5ndGgAY2Fubm90IHBhcnNlIHNlZ21lbnQgaGVhZGVyAGNhbm5vdCBwYXJzZSBmaWx0ZXIgaGVhZGVyAGNhbm5vdCBwYXJzZSBwYXJ0aXRpb25zAE5vdCBhIGtleSBmcmFtZS4ATlVMTCBWUDhJbyBwYXJhbWV0ZXIgaW4gVlA4RGVjb2RlKCku");
23546        X(U, 5329, "AQQIBQIDBgkMDQoHCw4PrZSMALCbjIcAtJ2NhoIA/v7z5sSxmYyFgoEAUHJlbWF0dXJlIGVuZC1vZi1wYXJ0aXRpb24wIGVuY291bnRlcmVkLgBQcmVtYXR1cmUgZW5kLW9mLWZpbGUgZW5jb3VudGVyZWQuAE91dHB1dCBhYm9ydGVkLgBSSUZGAFZQOFg=");
23547        X(U, 5488, "gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/AAAAAAAAAADw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw==");
23548        X(U, 8032, "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkq
23548KywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAcGBgUFBQUEBAQEBAQEBAMDAwMDAwMDAwMDAwMDAwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAf3+/f5+/33+Pn6+/z9/vf4ePl5+nr7e/x8/X3+fv93+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7f4GDhYeJi42PkZOVl5mbnZ+ho6Wnqautr7Gztbe5u72/wcPFx8nLzc/R09XX2dvd3+Hj5efp6+3v8fP19/n7/X8AAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8=");
23549        X(U, 9424, "MFLhDYYYswPLrF93amKIHFVcOGgouLMU+P6FSku43UmX8/xkiQJVXAAAKUrawX4Nq7dAWX1XklRyyhlOaYzTOGXuAQxfdaEyUvY3VDIsu1qxV6oP5zP1c9ruX2jizGN1gw6Zbu2nMEfG2cBPPBVrSfoDFE8M+xpUMguZcxzL1yYGN8xv2He7LCovdnXdzCVkYVSzJBWHfQqoFAQiZ78eFIMVtFbjAuVzb7HKREJNJij7rrpz7etQCvu2ah0L1DoNaDvbNYMeCCuVa8538OWBUbw7hXiUlJ8APO3lJy0rICAgMFgweAAobnVsbCkAAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAARERE=");
23550        X(U, 9745, "CwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAAL");
23551        X(U, 9803, "DA==");
23552        X(U, 9815, "DAAAAAAMAAAAAAkMAAAAAAAMAAAM");
23553        X(U, 9861, "Dg==");
23554        X(U, 9873, "DQAAAAQNAAAAAAkOAAAAAAAOAAAO");
23555        X(U, 9919, "EA==");
23556        X(U, 9931, "DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS");
23557        X(U, 9986, "EgAAABISEgAAAAAAAAk=");
23558        X(U, 10035, "Cw==");
23559        X(U, 10047, "CgAAAAAKAAAAAAkLAAAAAAALAAAL");
23560        X(U, 10093, "DA==");
23561        X(U, 10105, "DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVG+Cg=");
23562        X(U, 10160, "4BQAAOQUAADpFAAA7xQAAMAnAADEJwAAbBkAAOAdAABfHwAAXyIAANgnAADcJwAA4CcAAOQnAADoJwAA7CcAAPAnAACXAAAAmAAAAJkAAACaAAAAmwAAAJw=");
23563        X(U, 10428, "8Cw=");
23564        X(U, 10488, "BQ==");
23565        X(U, 10500, "nQ==");
23566        X(U, 10524, "ngAAAJ8AAAAQLQ==");
23567        X(U, 10548, "Ag==");
23568        X(U, 10563, "//////8=");
23569        return b({
23570          "Int8Array": Int8Array,
23571          "Int16Array": Int16Array,
23572          "Int32Array": Int32Array,
23573          "Uint8Array": Uint8Array,
23574          "Uint16Array": Uint16Array,
23575          "Uint32Array": Uint32Array,
23576          "Float32Array": Float32Array,
23577          "Float64Array": Float64Array,
23578          "NaN": NaN,
23579          "Infinity": Infinity,
23580          "Math": Math
23581        }, asmLibraryArg, wasmMemory.buffer);
23582      }
23583
23584      // EMSCRIPTEN_END_ASM
23585      (asmLibraryArg, wasmMemory, wasmTable);
23586    },
23587    instantiate: function (binary, info) {
23588      return {
23589        then: function (ok) {
23590          var module = new WebAssembly.Module(binary);
23591          ok({
23592            "instance": new WebAssembly.Instance(module)
23593          });
23594        }
23595      };
23596    },
23597    RuntimeError: Error
23598  };
23599  wasmBinary = [];
23600  if (typeof WebAssembly !== "object") {
23601    abort("no native wasm support detected");
23602  }
23603  function setValue(ptr, value, type, noSafe) {
23604    type = type || "i8";
23605    if (type.charAt(type.length - 1) === "*") type = "i32";
23606    switch (type) {
23607      case "i1":
23608        HEAP8[ptr >> 0] = value;
23609        break;
23610      case "i8":
23611        HEAP8[ptr >> 0] = value;
23612        break;
23613      case "i16":
23614        HEAP16[ptr >> 1] = value;
23615        break;
23616      case "i32":
23617        HEAP32[ptr >> 2] = value;
23618        break;
23619      case "i64":
23620        tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
23621        break;
23622      case "float":
23623        HEAPF32[ptr >> 2] = value;
23624        break;
23625      case "double":
23626        HEAPF64[ptr >> 3] = value;
23627        break;
23628      default:
23629        abort("invalid type for setValue: " + type);
23630    }
23631  }
23632  var wasmMemory;
23633  var wasmTable = new WebAssembly.Table({
23634    "initial": 160,
vendor: 9,240 bytes, lines 23635-23941
23635    "maximum": 160,
23636    "element": "anyfunc"
23637  });
23638  var ABORT = false;
23639  var EXITSTATUS = 0;
23640  function assert(condition, text) {
23641    if (!condition) {
23642      abort("Assertion failed: " + text);
23643    }
23644  }
23645  function getCFunc(ident) {
23646    var func = Module["_" + ident];
23647    assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
23648    return func;
23649  }
23650  function ccall(ident, returnType, argTypes, args, opts) {
23651    var toC = {
23652      "string": function (str) {
23653        var ret = 0;
23654        if (str !== null && str !== undefined && str !== 0) {
23655          var len = (str.length << 2) + 1;
23656          ret = stackAlloc(len);
23657          stringToUTF8(str, ret, len);
23658        }
23659        return ret;
23660      },
23661      "array": function (arr) {
23662        var ret = stackAlloc(arr.length);
23663        writeArrayToMemory(arr, ret);
23664        return ret;
23665      }
23666    };
23667    function convertReturnValue(ret) {
23668      if (returnType === "string") return UTF8ToString(ret);
23669      if (returnType === "boolean") return Boolean(ret);
23670      return ret;
23671    }
23672    var func = getCFunc(ident);
23673    var cArgs = [];
23674    var stack = 0;
23675    if (args) {
23676      for (var i = 0; i < args.length; i++) {
23677        var converter = toC[argTypes[i]];
23678        if (converter) {
23679          if (stack === 0) stack = stackSave();
23680          cArgs[i] = converter(args[i]);
23681        } else {
23682          cArgs[i] = args[i];
23683        }
23684      }
23685    }
23686    var ret = func.apply(null, cArgs);
23687    ret = convertReturnValue(ret);
23688    if (stack !== 0) stackRestore(stack);
23689    return ret;
23690  }
23691  function cwrap(ident, returnType, argTypes, opts) {
23692    argTypes = argTypes || [];
23693    var numericArgs = argTypes.every(function (type) {
23694      return type === "number";
23695    });
23696    var numericRet = returnType !== "string";
23697    if (numericRet && numericArgs && !opts) {
23698      return getCFunc(ident);
23699    }
23700    return function () {
23701      return ccall(ident, returnType, argTypes, arguments, opts);
23702    };
23703  }
23704  var ALLOC_NONE = 3;
23705  var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
23706  function UTF8ArrayToString(heap, idx, maxBytesToRead) {
23707    var endIdx = idx + maxBytesToRead;
23708    var endPtr = idx;
23709    while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr;
23710    if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
23711      return UTF8Decoder.decode(heap.subarray(idx, endPtr));
23712    } else {
23713      var str = "";
23714      while (idx < endPtr) {
23715        var u0 = heap[idx++];
23716        if (!(u0 & 128)) {
23717          str += String.fromCharCode(u0);
23718          continue;
23719        }
23720        var u1 = heap[idx++] & 63;
23721        if ((u0 & 224) == 192) {
23722          str += String.fromCharCode((u0 & 31) << 6 | u1);
23723          continue;
23724        }
23725        var u2 = heap[idx++] & 63;
23726        if ((u0 & 240) == 224) {
23727          u0 = (u0 & 15) << 12 | u1 << 6 | u2;
23728        } else {
23729          u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63;
23730        }
23731        if (u0 < 65536) {
23732          str += String.fromCharCode(u0);
23733        } else {
23734          var ch = u0 - 65536;
23735          str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
23736        }
23737      }
23738    }
23739    return str;
23740  }
23741  function UTF8ToString(ptr, maxBytesToRead) {
23742    return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
23743  }
23744  function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
23745    if (!(maxBytesToWrite > 0)) return 0;
23746    var startIdx = outIdx;
23747    var endIdx = outIdx + maxBytesToWrite - 1;
23748    for (var i = 0; i < str.length; ++i) {
23749      var u = str.charCodeAt(i);
23750      if (u >= 55296 && u <= 57343) {
23751        var u1 = str.charCodeAt(++i);
23752        u = 65536 + ((u & 1023) << 10) | u1 & 1023;
23753      }
23754      if (u <= 127) {
23755        if (outIdx >= endIdx) break;
23756        heap[outIdx++] = u;
23757      } else if (u <= 2047) {
23758        if (outIdx + 1 >= endIdx) break;
23759        heap[outIdx++] = 192 | u >> 6;
23760        heap[outIdx++] = 128 | u & 63;
23761      } else if (u <= 65535) {
23762        if (outIdx + 2 >= endIdx) break;
23763        heap[outIdx++] = 224 | u >> 12;
23764        heap[outIdx++] = 128 | u >> 6 & 63;
23765        heap[outIdx++] = 128 | u & 63;
23766      } else {
23767        if (outIdx + 3 >= endIdx) break;
23768        heap[outIdx++] = 240 | u >> 18;
23769        heap[outIdx++] = 128 | u >> 12 & 63;
23770        heap[outIdx++] = 128 | u >> 6 & 63;
23771        heap[outIdx++] = 128 | u & 63;
23772      }
23773    }
23774    heap[outIdx] = 0;
23775    return outIdx - startIdx;
23776  }
23777  function stringToUTF8(str, outPtr, maxBytesToWrite) {
23778    return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
23779  }
23780  function lengthBytesUTF8(str) {
23781    var len = 0;
23782    for (var i = 0; i < str.length; ++i) {
23783      var u = str.charCodeAt(i);
23784      if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
23785      if (u <= 127) ++len;else if (u <= 2047) len += 2;else if (u <= 65535) len += 3;else len += 4;
23786    }
23787    return len;
23788  }
23789  var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
23790  function writeArrayToMemory(array, buffer) {
23791    HEAP8.set(array, buffer);
23792  }
23793  function writeAsciiToMemory(str, buffer, dontAddNull) {
23794    for (var i = 0; i < str.length; ++i) {
23795      HEAP8[buffer++ >> 0] = str.charCodeAt(i);
23796    }
23797    if (!dontAddNull) HEAP8[buffer >> 0] = 0;
23798  }
23799  var WASM_PAGE_SIZE = 65536;
23800  function alignUp(x, multiple) {
23801    if (x % multiple > 0) {
23802      x += multiple - x % multiple;
23803    }
23804    return x;
23805  }
23806  var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
23807  function updateGlobalBufferAndViews(buf) {
23808    buffer = buf;
23809    Module["HEAP8"] = HEAP8 = new Int8Array(buf);
23810    Module["HEAP16"] = HEAP16 = new Int16Array(buf);
23811    Module["HEAP32"] = HEAP32 = new Int32Array(buf);
23812    Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
23813    Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
23814    Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
23815    Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
23816    Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
23817  }
23818  var STACK_BASE = 5255072,
23819    DYNAMIC_BASE = 5255072,
23820    DYNAMICTOP_PTR = 12032;
23821  var INITIAL_INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 67108864;
23822  if (Module["wasmMemory"]) {
23823    wasmMemory = Module["wasmMemory"];
23824  } else {
23825    wasmMemory = new WebAssembly.Memory({
23826      "initial": INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE,
23827      "maximum": 2147483648 / WASM_PAGE_SIZE
23828    });
23829  }
23830  if (wasmMemory) {
23831    buffer = wasmMemory.buffer;
23832  }
23833  INITIAL_INITIAL_MEMORY = buffer.byteLength;
23834  updateGlobalBufferAndViews(buffer);
23835  HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
23836  function callRuntimeCallbacks(callbacks) {
23837    while (callbacks.length > 0) {
23838      var callback = callbacks.shift();
23839      if (typeof callback == "function") {
23840        callback(Module);
23841        continue;
23842      }
23843      var func = callback.func;
23844      if (typeof func === "number") {
23845        if (callback.arg === undefined) {
23846          Module["dynCall_v"](func);
23847        } else {
23848          Module["dynCall_vi"](func, callback.arg);
23849        }
23850      } else {
23851        func(callback.arg === undefined ? null : callback.arg);
23852      }
23853    }
23854  }
23855  var __ATPRERUN__ = [];
23856  var __ATINIT__ = [];
23857  var __ATMAIN__ = [];
23858  var __ATPOSTRUN__ = [];
23859  var runtimeInitialized = false;
23860  var runtimeExited = false;
23861  function preRun() {
23862    if (Module["preRun"]) {
23863      if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
23864      while (Module["preRun"].length) {
23865        addOnPreRun(Module["preRun"].shift());
23866      }
23867    }
23868    callRuntimeCallbacks(__ATPRERUN__);
23869  }
23870  function initRuntime() {
23871    runtimeInitialized = true;
23872    if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
23873    TTY.init();
23874    callRuntimeCallbacks(__ATINIT__);
23875  }
23876  function preMain() {
23877    FS.ignorePermissions = false;
23878    callRuntimeCallbacks(__ATMAIN__);
23879  }
23880  function exitRuntime() {
23881    runtimeExited = true;
23882  }
23883  function postRun() {
23884    if (Module["postRun"]) {
23885      if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
23886      while (Module["postRun"].length) {
23887        addOnPostRun(Module["postRun"].shift());
23888      }
23889    }
23890    callRuntimeCallbacks(__ATPOSTRUN__);
23891  }
23892  function addOnPreRun(cb) {
23893    __ATPRERUN__.unshift(cb);
23894  }
23895  function addOnPostRun(cb) {
23896    __ATPOSTRUN__.unshift(cb);
23897  }
23898  if (!Math.imul || Math.imul(4294967295, 5) !== -5) Math.imul = function imul(a, b) {
23899    var ah = a >>> 16;
23900    var al = a & 65535;
23901    var bh = b >>> 16;
23902    var bl = b & 65535;
23903    return al * bl + (ah * bl + al * bh << 16) | 0;
23904  };
23905  if (!Math.fround) {
23906    var froundBuffer = new Float32Array(1);
23907    Math.fround = function (x) {
23908      froundBuffer[0] = x;
23909      return froundBuffer[0];
23910    };
23911  }
23912  if (!Math.clz32) Math.clz32 = function (x) {
23913    var n = 32;
23914    var y = x >> 16;
23915    if (y) {
23916      n -= 16;
23917      x = y;
23918    }
23919    y = x >> 8;
23920    if (y) {
23921      n -= 8;
23922      x = y;
23923    }
23924    y = x >> 4;
23925    if (y) {
23926      n -= 4;
23927      x = y;
23928    }
23929    y = x >> 2;
23930    if (y) {
23931      n -= 2;
23932      x = y;
23933    }
23934    y = x >> 1;
23935    if (y) return n - 2;
23936    return n - x;
23937  };
23938  if (!Math.trunc) Math.trunc = function (x) {
23939    return x < 0 ? Math.ceil(x) : Math.floor(x);
23940  };
23941  var Math_abs = Math.abs;
vendor: 30,578 bytes, lines 23942-24935
23942  var Math_ceil = Math.ceil;
23943  var Math_floor = Math.floor;
23944  var Math_min = Math.min;
23945  var runDependencies = 0;
23946  var runDependencyWatcher = null;
23947  var dependenciesFulfilled = null;
23948  function getUniqueRunDependency(id) {
23949    return id;
23950  }
23951  function addRunDependency(id) {
23952    runDependencies++;
23953    if (Module["monitorRunDependencies"]) {
23954      Module["monitorRunDependencies"](runDependencies);
23955    }
23956  }
23957  function removeRunDependency(id) {
23958    runDependencies--;
23959    if (Module["monitorRunDependencies"]) {
23960      Module["monitorRunDependencies"](runDependencies);
23961    }
23962    if (runDependencies == 0) {
23963      if (runDependencyWatcher !== null) {
23964        clearInterval(runDependencyWatcher);
23965        runDependencyWatcher = null;
23966      }
23967      if (dependenciesFulfilled) {
23968        var callback = dependenciesFulfilled;
23969        dependenciesFulfilled = null;
23970        callback();
23971      }
23972    }
23973  }
23974  Module["preloadedImages"] = {};
23975  Module["preloadedAudios"] = {};
23976  function abort(what) {
23977    if (Module["onAbort"]) {
23978      Module["onAbort"](what);
23979    }
23980    what += "";
23981    err(what);
23982    ABORT = true;
23983    EXITSTATUS = 1;
23984    what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
23985    var e = new WebAssembly.RuntimeError(what);
23986    throw e;
23987  }
23988  function hasPrefix(str, prefix) {
23989    return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0;
23990  }
23991  var dataURIPrefix = "data:application/octet-stream;base64,";
23992  function isDataURI(filename) {
23993    return hasPrefix(filename, dataURIPrefix);
23994  }
23995  var fileURIPrefix = "file://";
23996  var wasmBinaryFile = "webp.wasm";
23997  if (!isDataURI(wasmBinaryFile)) {
23998    wasmBinaryFile = locateFile(wasmBinaryFile);
23999  }
24000  function getBinary() {
24001    try {
24002      if (wasmBinary) {
24003        return new Uint8Array(wasmBinary);
24004      }
24005      var binary = tryParseAsDataURI(wasmBinaryFile);
24006      if (binary) {
24007        return binary;
24008      }
24009      if (readBinary) {
24010        return readBinary(wasmBinaryFile);
24011      } else {
24012        throw "both async and sync fetching of the wasm failed";
24013      }
24014    } catch (err) {
24015      abort(err);
24016    }
24017  }
24018  function getBinaryPromise() {
24019    if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") {
24020      return fetch(wasmBinaryFile, {
24021        credentials: "same-origin"
24022      }).then(function (response) {
24023        if (!response["ok"]) {
24024          throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
24025        }
24026        return response["arrayBuffer"]();
24027      }).catch(function () {
24028        return getBinary();
24029      });
24030    }
24031    return Promise.resolve().then(getBinary);
24032  }
24033  function createWasm() {
24034    var info = {
24035      "env": asmLibraryArg,
24036      "wasi_snapshot_preview1": asmLibraryArg
24037    };
24038    function receiveInstance(instance, module) {
24039      var exports = instance.exports;
24040      Module["asm"] = exports;
24041      removeRunDependency("wasm-instantiate");
24042    }
24043    addRunDependency("wasm-instantiate");
24044    function receiveInstantiatedSource(output) {
24045      receiveInstance(output["instance"]);
24046    }
24047    function instantiateArrayBuffer(receiver) {
24048      return getBinaryPromise().then(function (binary) {
24049        return WebAssembly.instantiate(binary, info);
24050      }).then(receiver, function (reason) {
24051        err("failed to asynchronously prepare wasm: " + reason);
24052        abort(reason);
24053      });
24054    }
24055    function instantiateAsync() {
24056      if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") {
24057        fetch(wasmBinaryFile, {
24058          credentials: "same-origin"
24059        }).then(function (response) {
24060          var result = WebAssembly.instantiateStreaming(response, info);
24061          return result.then(receiveInstantiatedSource, function (reason) {
24062            err("wasm streaming compile failed: " + reason);
24063            err("falling back to ArrayBuffer instantiation");
24064            return instantiateArrayBuffer(receiveInstantiatedSource);
24065          });
24066        });
24067      } else {
24068        return instantiateArrayBuffer(receiveInstantiatedSource);
24069      }
24070    }
24071    if (Module["instantiateWasm"]) {
24072      try {
24073        var exports = Module["instantiateWasm"](info, receiveInstance);
24074        return exports;
24075      } catch (e) {
24076        err("Module.instantiateWasm callback failed with error: " + e);
24077        return false;
24078      }
24079    }
24080    instantiateAsync();
24081    return {};
24082  }
24083  var tempDouble;
24084  var tempI64;
24085  __ATINIT__.push({
24086    func: function () {
24087      ___wasm_call_ctors();
24088    }
24089  });
24090  function demangle(func) {
24091    return func;
24092  }
24093  function demangleAll(text) {
24094    var regex = /\b_Z[\w\d_]+/g;
24095    return text.replace(regex, function (x) {
24096      var y = demangle(x);
24097      return x === y ? x : y + " [" + x + "]";
24098    });
24099  }
24100  function jsStackTrace() {
24101    var err = new Error();
24102    if (!err.stack) {
24103      try {
24104        throw new Error();
24105      } catch (e) {
24106        err = e;
24107      }
24108      if (!err.stack) {
24109        return "(no stack trace available)";
24110      }
24111    }
24112    return err.stack.toString();
24113  }
24114  function stackTrace() {
24115    var js = jsStackTrace();
24116    if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();
24117    return demangleAll(js);
24118  }
24119  function setErrNo(value) {
24120    HEAP32[___errno_location() >> 2] = value;
24121    return value;
24122  }
24123  var PATH = {
24124    splitPath: function (filename) {
24125      var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
24126      return splitPathRe.exec(filename).slice(1);
24127    },
24128    normalizeArray: function (parts, allowAboveRoot) {
24129      var up = 0;
24130      for (var i = parts.length - 1; i >= 0; i--) {
24131        var last = parts[i];
24132        if (last === ".") {
24133          parts.splice(i, 1);
24134        } else if (last === "..") {
24135          parts.splice(i, 1);
24136          up++;
24137        } else if (up) {
24138          parts.splice(i, 1);
24139          up--;
24140        }
24141      }
24142      if (allowAboveRoot) {
24143        for (; up; up--) {
24144          parts.unshift("..");
24145        }
24146      }
24147      return parts;
24148    },
24149    normalize: function (path) {
24150      var isAbsolute = path.charAt(0) === "/",
24151        trailingSlash = path.substr(-1) === "/";
24152      path = PATH.normalizeArray(path.split("/").filter(function (p) {
24153        return !!p;
24154      }), !isAbsolute).join("/");
24155      if (!path && !isAbsolute) {
24156        path = ".";
24157      }
24158      if (path && trailingSlash) {
24159        path += "/";
24160      }
24161      return (isAbsolute ? "/" : "") + path;
24162    },
24163    dirname: function (path) {
24164      var result = PATH.splitPath(path),
24165        root = result[0],
24166        dir = result[1];
24167      if (!root && !dir) {
24168        return ".";
24169      }
24170      if (dir) {
24171        dir = dir.substr(0, dir.length - 1);
24172      }
24173      return root + dir;
24174    },
24175    basename: function (path) {
24176      if (path === "/") return "/";
24177      path = PATH.normalize(path);
24178      path = path.replace(/\/$/, "");
24179      var lastSlash = path.lastIndexOf("/");
24180      if (lastSlash === -1) return path;
24181      return path.substr(lastSlash + 1);
24182    },
24183    extname: function (path) {
24184      return PATH.splitPath(path)[3];
24185    },
24186    join: function () {
24187      var paths = Array.prototype.slice.call(arguments, 0);
24188      return PATH.normalize(paths.join("/"));
24189    },
24190    join2: function (l, r) {
24191      return PATH.normalize(l + "/" + r);
24192    }
24193  };
24194  var PATH_FS = {
24195    resolve: function () {
24196      var resolvedPath = "",
24197        resolvedAbsolute = false;
24198      for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
24199        var path = i >= 0 ? arguments[i] : FS.cwd();
24200        if (typeof path !== "string") {
24201          throw new TypeError("Arguments to path.resolve must be strings");
24202        } else if (!path) {
24203          return "";
24204        }
24205        resolvedPath = path + "/" + resolvedPath;
24206        resolvedAbsolute = path.charAt(0) === "/";
24207      }
24208      resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function (p) {
24209        return !!p;
24210      }), !resolvedAbsolute).join("/");
24211      return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
24212    },
24213    relative: function (from, to) {
24214      from = PATH_FS.resolve(from).substr(1);
24215      to = PATH_FS.resolve(to).substr(1);
24216      function trim(arr) {
24217        var start = 0;
24218        for (; start < arr.length; start++) {
24219          if (arr[start] !== "") break;
24220        }
24221        var end = arr.length - 1;
24222        for (; end >= 0; end--) {
24223          if (arr[end] !== "") break;
24224        }
24225        if (start > end) return [];
24226        return arr.slice(start, end - start + 1);
24227      }
24228      var fromParts = trim(from.split("/"));
24229      var toParts = trim(to.split("/"));
24230      var length = Math.min(fromParts.length, toParts.length);
24231      var samePartsLength = length;
24232      for (var i = 0; i < length; i++) {
24233        if (fromParts[i] !== toParts[i]) {
24234          samePartsLength = i;
24235          break;
24236        }
24237      }
24238      var outputParts = [];
24239      for (var i = samePartsLength; i < fromParts.length; i++) {
24240        outputParts.push("..");
24241      }
24242      outputParts = outputParts.concat(toParts.slice(samePartsLength));
24243      return outputParts.join("/");
24244    }
24245  };
24246  var TTY = {
24247    ttys: [],
24248    init: function () {},
24249    shutdown: function () {},
24250    register: function (dev, ops) {
24251      TTY.ttys[dev] = {
24252        input: [],
24253        output: [],
24254        ops: ops
24255      };
24256      FS.registerDevice(dev, TTY.stream_ops);
24257    },
24258    stream_ops: {
24259      open: function (stream) {
24260        var tty = TTY.ttys[stream.node.rdev];
24261        if (!tty) {
24262          throw new FS.ErrnoError(43);
24263        }
24264        stream.tty = tty;
24265        stream.seekable = false;
24266      },
24267      close: function (stream) {
24268        stream.tty.ops.flush(stream.tty);
24269      },
24270      flush: function (stream) {
24271        stream.tty.ops.flush(stream.tty);
24272      },
24273      read: function (stream, buffer, offset, length, pos) {
24274        if (!stream.tty || !stream.tty.ops.get_char) {
24275          throw new FS.ErrnoError(60);
24276        }
24277        var bytesRead = 0;
24278        for (var i = 0; i < length; i++) {
24279          var result;
24280          try {
24281            result = stream.tty.ops.get_char(stream.tty);
24282          } catch (e) {
24283            throw new FS.ErrnoError(29);
24284          }
24285          if (result === undefined && bytesRead === 0) {
24286            throw new FS.ErrnoError(6);
24287          }
24288          if (result === null || result === undefined) break;
24289          bytesRead++;
24290          buffer[offset + i] = result;
24291        }
24292        if (bytesRead) {
24293          stream.node.timestamp = Date.now();
24294        }
24295        return bytesRead;
24296      },
24297      write: function (stream, buffer, offset, length, pos) {
24298        if (!stream.tty || !stream.tty.ops.put_char) {
24299          throw new FS.ErrnoError(60);
24300        }
24301        try {
24302          for (var i = 0; i < length; i++) {
24303            stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
24304          }
24305        } catch (e) {
24306          throw new FS.ErrnoError(29);
24307        }
24308        if (length) {
24309          stream.node.timestamp = Date.now();
24310        }
24311        return i;
24312      }
24313    },
24314    default_tty_ops: {
24315      get_char: function (tty) {
24316        if (!tty.input.length) {
24317          var result = null;
24318          if (typeof window != "undefined" && typeof window.prompt == "function") {
24319            result = window.prompt("Input: ");
24320            if (result !== null) {
24321              result += "\n";
24322            }
24323          } else if (typeof readline == "function") {
24324            result = readline();
24325            if (result !== null) {
24326              result += "\n";
24327            }
24328          }
24329          if (!result) {
24330            return null;
24331          }
24332          tty.input = intArrayFromString(result, true);
24333        }
24334        return tty.input.shift();
24335      },
24336      put_char: function (tty, val) {
24337        if (val === null || val === 10) {
24338          out(UTF8ArrayToString(tty.output, 0));
24339          tty.output = [];
24340        } else {
24341          if (val != 0) tty.output.push(val);
24342        }
24343      },
24344      flush: function (tty) {
24345        if (tty.output && tty.output.length > 0) {
24346          out(UTF8ArrayToString(tty.output, 0));
24347          tty.output = [];
24348        }
24349      }
24350    },
24351    default_tty1_ops: {
24352      put_char: function (tty, val) {
24353        if (val === null || val === 10) {
24354          err(UTF8ArrayToString(tty.output, 0));
24355          tty.output = [];
24356        } else {
24357          if (val != 0) tty.output.push(val);
24358        }
24359      },
24360      flush: function (tty) {
24361        if (tty.output && tty.output.length > 0) {
24362          err(UTF8ArrayToString(tty.output, 0));
24363          tty.output = [];
24364        }
24365      }
24366    }
24367  };
24368  var MEMFS = {
24369    ops_table: null,
24370    mount: function (mount) {
24371      return MEMFS.createNode(null, "/", 16384 | 511, 0);
24372    },
24373    createNode: function (parent, name, mode, dev) {
24374      if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
24375        throw new FS.ErrnoError(63);
24376      }
24377      if (!MEMFS.ops_table) {
24378        MEMFS.ops_table = {
24379          dir: {
24380            node: {
24381              getattr: MEMFS.node_ops.getattr,
24382              setattr: MEMFS.node_ops.setattr,
24383              lookup: MEMFS.node_ops.lookup,
24384              mknod: MEMFS.node_ops.mknod,
24385              rename: MEMFS.node_ops.rename,
24386              unlink: MEMFS.node_ops.unlink,
24387              rmdir: MEMFS.node_ops.rmdir,
24388              readdir: MEMFS.node_ops.readdir,
24389              symlink: MEMFS.node_ops.symlink
24390            },
24391            stream: {
24392              llseek: MEMFS.stream_ops.llseek
24393            }
24394          },
24395          file: {
24396            node: {
24397              getattr: MEMFS.node_ops.getattr,
24398              setattr: MEMFS.node_ops.setattr
24399            },
24400            stream: {
24401              llseek: MEMFS.stream_ops.llseek,
24402              read: MEMFS.stream_ops.read,
24403              write: MEMFS.stream_ops.write,
24404              allocate: MEMFS.stream_ops.allocate,
24405              mmap: MEMFS.stream_ops.mmap,
24406              msync: MEMFS.stream_ops.msync
24407            }
24408          },
24409          link: {
24410            node: {
24411              getattr: MEMFS.node_ops.getattr,
24412              setattr: MEMFS.node_ops.setattr,
24413              readlink: MEMFS.node_ops.readlink
24414            },
24415            stream: {}
24416          },
24417          chrdev: {
24418            node: {
24419              getattr: MEMFS.node_ops.getattr,
24420              setattr: MEMFS.node_ops.setattr
24421            },
24422            stream: FS.chrdev_stream_ops
24423          }
24424        };
24425      }
24426      var node = FS.createNode(parent, name, mode, dev);
24427      if (FS.isDir(node.mode)) {
24428        node.node_ops = MEMFS.ops_table.dir.node;
24429        node.stream_ops = MEMFS.ops_table.dir.stream;
24430        node.contents = {};
24431      } else if (FS.isFile(node.mode)) {
24432        node.node_ops = MEMFS.ops_table.file.node;
24433        node.stream_ops = MEMFS.ops_table.file.stream;
24434        node.usedBytes = 0;
24435        node.contents = null;
24436      } else if (FS.isLink(node.mode)) {
24437        node.node_ops = MEMFS.ops_table.link.node;
24438        node.stream_ops = MEMFS.ops_table.link.stream;
24439      } else if (FS.isChrdev(node.mode)) {
24440        node.node_ops = MEMFS.ops_table.chrdev.node;
24441        node.stream_ops = MEMFS.ops_table.chrdev.stream;
24442      }
24443      node.timestamp = Date.now();
24444      if (parent) {
24445        parent.contents[name] = node;
24446      }
24447      return node;
24448    },
24449    getFileDataAsRegularArray: function (node) {
24450      if (node.contents && node.contents.subarray) {
24451        var arr = [];
24452        for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
24453        return arr;
24454      }
24455      return node.contents;
24456    },
24457    getFileDataAsTypedArray: function (node) {
24458      if (!node.contents) return new Uint8Array(0);
24459      if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
24460      return new Uint8Array(node.contents);
24461    },
24462    expandFileStorage: function (node, newCapacity) {
24463      var prevCapacity = node.contents ? node.contents.length : 0;
24464      if (prevCapacity >= newCapacity) return;
24465      var CAPACITY_DOUBLING_MAX = 1024 * 1024;
24466      newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);
24467      if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
24468      var oldContents = node.contents;
24469      node.contents = new Uint8Array(newCapacity);
24470      if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
24471      return;
24472    },
24473    resizeFileStorage: function (node, newSize) {
24474      if (node.usedBytes == newSize) return;
24475      if (newSize == 0) {
24476        node.contents = null;
24477        node.usedBytes = 0;
24478        return;
24479      }
24480      if (!node.contents || node.contents.subarray) {
24481        var oldContents = node.contents;
24482        node.contents = new Uint8Array(newSize);
24483        if (oldContents) {
24484          node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
24485        }
24486        node.usedBytes = newSize;
24487        return;
24488      }
24489      if (!node.contents) node.contents = [];
24490      if (node.contents.length > newSize) node.contents.length = newSize;else while (node.contents.length < newSize) node.contents.push(0);
24491      node.usedBytes = newSize;
24492    },
24493    node_ops: {
24494      getattr: function (node) {
24495        var attr = {};
24496        attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
24497        attr.ino = node.id;
24498        attr.mode = node.mode;
24499        attr.nlink = 1;
24500        attr.uid = 0;
24501        attr.gid = 0;
24502        attr.rdev = node.rdev;
24503        if (FS.isDir(node.mode)) {
24504          attr.size = 4096;
24505        } else if (FS.isFile(node.mode)) {
24506          attr.size = node.usedBytes;
24507        } else if (FS.isLink(node.mode)) {
24508          attr.size = node.link.length;
24509        } else {
24510          attr.size = 0;
24511        }
24512        attr.atime = new Date(node.timestamp);
24513        attr.mtime = new Date(node.timestamp);
24514        attr.ctime = new Date(node.timestamp);
24515        attr.blksize = 4096;
24516        attr.blocks = Math.ceil(attr.size / attr.blksize);
24517        return attr;
24518      },
24519      setattr: function (node, attr) {
24520        if (attr.mode !== undefined) {
24521          node.mode = attr.mode;
24522        }
24523        if (attr.timestamp !== undefined) {
24524          node.timestamp = attr.timestamp;
24525        }
24526        if (attr.size !== undefined) {
24527          MEMFS.resizeFileStorage(node, attr.size);
24528        }
24529      },
24530      lookup: function (parent, name) {
24531        throw FS.genericErrors[44];
24532      },
24533      mknod: function (parent, name, mode, dev) {
24534        return MEMFS.createNode(parent, name, mode, dev);
24535      },
24536      rename: function (old_node, new_dir, new_name) {
24537        if (FS.isDir(old_node.mode)) {
24538          var new_node;
24539          try {
24540            new_node = FS.lookupNode(new_dir, new_name);
24541          } catch (e) {}
24542          if (new_node) {
24543            for (var i in new_node.contents) {
24544              throw new FS.ErrnoError(55);
24545            }
24546          }
24547        }
24548        delete old_node.parent.contents[old_node.name];
24549        old_node.name = new_name;
24550        new_dir.contents[new_name] = old_node;
24551        old_node.parent = new_dir;
24552      },
24553      unlink: function (parent, name) {
24554        delete parent.contents[name];
24555      },
24556      rmdir: function (parent, name) {
24557        var node = FS.lookupNode(parent, name);
24558        for (var i in node.contents) {
24559          throw new FS.ErrnoError(55);
24560        }
24561        delete parent.contents[name];
24562      },
24563      readdir: function (node) {
24564        var entries = [".", ".."];
24565        for (var key in node.contents) {
24566          if (!node.contents.hasOwnProperty(key)) {
24567            continue;
24568          }
24569          entries.push(key);
24570        }
24571        return entries;
24572      },
24573      symlink: function (parent, newname, oldpath) {
24574        var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
24575        node.link = oldpath;
24576        return node;
24577      },
24578      readlink: function (node) {
24579        if (!FS.isLink(node.mode)) {
24580          throw new FS.ErrnoError(28);
24581        }
24582        return node.link;
24583      }
24584    },
24585    stream_ops: {
24586      read: function (stream, buffer, offset, length, position) {
24587        var contents = stream.node.contents;
24588        if (position >= stream.node.usedBytes) return 0;
24589        var size = Math.min(stream.node.usedBytes - position, length);
24590        if (size > 8 && contents.subarray) {
24591          buffer.set(contents.subarray(position, position + size), offset);
24592        } else {
24593          for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
24594        }
24595        return size;
24596      },
24597      write: function (stream, buffer, offset, length, position, canOwn) {
24598        if (buffer.buffer === HEAP8.buffer) {
24599          canOwn = false;
24600        }
24601        if (!length) return 0;
24602        var node = stream.node;
24603        node.timestamp = Date.now();
24604        if (buffer.subarray && (!node.contents || node.contents.subarray)) {
24605          if (canOwn) {
24606            node.contents = buffer.subarray(offset, offset + length);
24607            node.usedBytes = length;
24608            return length;
24609          } else if (node.usedBytes === 0 && position === 0) {
24610            node.contents = buffer.slice(offset, offset + length);
24611            node.usedBytes = length;
24612            return length;
24613          } else if (position + length <= node.usedBytes) {
24614            node.contents.set(buffer.subarray(offset, offset + length), position);
24615            return length;
24616          }
24617        }
24618        MEMFS.expandFileStorage(node, position + length);
24619        if (node.contents.subarray && buffer.subarray) {
24620          node.contents.set(buffer.subarray(offset, offset + length), position);
24621        } else {
24622          for (var i = 0; i < length; i++) {
24623            node.contents[position + i] = buffer[offset + i];
24624          }
24625        }
24626        node.usedBytes = Math.max(node.usedBytes, position + length);
24627        return length;
24628      },
24629      llseek: function (stream, offset, whence) {
24630        var position = offset;
24631        if (whence === 1) {
24632          position += stream.position;
24633        } else if (whence === 2) {
24634          if (FS.isFile(stream.node.mode)) {
24635            position += stream.node.usedBytes;
24636          }
24637        }
24638        if (position < 0) {
24639          throw new FS.ErrnoError(28);
24640        }
24641        return position;
24642      },
24643      allocate: function (stream, offset, length) {
24644        MEMFS.expandFileStorage(stream.node, offset + length);
24645        stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
24646      },
24647      mmap: function (stream, address, length, position, prot, flags) {
24648        assert(address === 0);
24649        if (!FS.isFile(stream.node.mode)) {
24650          throw new FS.ErrnoError(43);
24651        }
24652        var ptr;
24653        var allocated;
24654        var contents = stream.node.contents;
24655        if (!(flags & 2) && contents.buffer === buffer) {
24656          allocated = false;
24657          ptr = contents.byteOffset;
24658        } else {
24659          if (position > 0 || position + length < contents.length) {
24660            if (contents.subarray) {
24661              contents = contents.subarray(position, position + length);
24662            } else {
24663              contents = Array.prototype.slice.call(contents, position, position + length);
24664            }
24665          }
24666          allocated = true;
24667          ptr = FS.mmapAlloc(length);
24668          if (!ptr) {
24669            throw new FS.ErrnoError(48);
24670          }
24671          HEAP8.set(contents, ptr);
24672        }
24673        return {
24674          ptr: ptr,
24675          allocated: allocated
24676        };
24677      },
24678      msync: function (stream, buffer, offset, length, mmapFlags) {
24679        if (!FS.isFile(stream.node.mode)) {
24680          throw new FS.ErrnoError(43);
24681        }
24682        if (mmapFlags & 2) {
24683          return 0;
24684        }
24685        var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
24686        return 0;
24687      }
24688    }
24689  };
24690  var FS = {
24691    root: null,
24692    mounts: [],
24693    devices: {},
24694    streams: [],
24695    nextInode: 1,
24696    nameTable: null,
24697    currentPath: "/",
24698    initialized: false,
24699    ignorePermissions: true,
24700    trackingDelegate: {},
24701    tracking: {
24702      openFlags: {
24703        READ: 1,
24704        WRITE: 2
24705      }
24706    },
24707    ErrnoError: null,
24708    genericErrors: {},
24709    filesystems: null,
24710    syncFSRequests: 0,
24711    handleFSError: function (e) {
24712      if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();
24713      return setErrNo(e.errno);
24714    },
24715    lookupPath: function (path, opts) {
24716      path = PATH_FS.resolve(FS.cwd(), path);
24717      opts = opts || {};
24718      if (!path) return {
24719        path: "",
24720        node: null
24721      };
24722      var defaults = {
24723        follow_mount: true,
24724        recurse_count: 0
24725      };
24726      for (var key in defaults) {
24727        if (opts[key] === undefined) {
24728          opts[key] = defaults[key];
24729        }
24730      }
24731      if (opts.recurse_count > 8) {
24732        throw new FS.ErrnoError(32);
24733      }
24734      var parts = PATH.normalizeArray(path.split("/").filter(function (p) {
24735        return !!p;
24736      }), false);
24737      var current = FS.root;
24738      var current_path = "/";
24739      for (var i = 0; i < parts.length; i++) {
24740        var islast = i === parts.length - 1;
24741        if (islast && opts.parent) {
24742          break;
24743        }
24744        current = FS.lookupNode(current, parts[i]);
24745        current_path = PATH.join2(current_path, parts[i]);
24746        if (FS.isMountpoint(current)) {
24747          if (!islast || islast && opts.follow_mount) {
24748            current = current.mounted.root;
24749          }
24750        }
24751        if (!islast || opts.follow) {
24752          var count = 0;
24753          while (FS.isLink(current.mode)) {
24754            var link = FS.readlink(current_path);
24755            current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
24756            var lookup = FS.lookupPath(current_path, {
24757              recurse_count: opts.recurse_count
24758            });
24759            current = lookup.node;
24760            if (count++ > 40) {
24761              throw new FS.ErrnoError(32);
24762            }
24763          }
24764        }
24765      }
24766      return {
24767        path: current_path,
24768        node: current
24769      };
24770    },
24771    getPath: function (node) {
24772      var path;
24773      while (true) {
24774        if (FS.isRoot(node)) {
24775          var mount = node.mount.mountpoint;
24776          if (!path) return mount;
24777          return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
24778        }
24779        path = path ? node.name + "/" + path : node.name;
24780        node = node.parent;
24781      }
24782    },
24783    hashName: function (parentid, name) {
24784      var hash = 0;
24785      for (var i = 0; i < name.length; i++) {
24786        hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
24787      }
24788      return (parentid + hash >>> 0) % FS.nameTable.length;
24789    },
24790    hashAddNode: function (node) {
24791      var hash = FS.hashName(node.parent.id, node.name);
24792      node.name_next = FS.nameTable[hash];
24793      FS.nameTable[hash] = node;
24794    },
24795    hashRemoveNode: function (node) {
24796      var hash = FS.hashName(node.parent.id, node.name);
24797      if (FS.nameTable[hash] === node) {
24798        FS.nameTable[hash] = node.name_next;
24799      } else {
24800        var current = FS.nameTable[hash];
24801        while (current) {
24802          if (current.name_next === node) {
24803            current.name_next = node.name_next;
24804            break;
24805          }
24806          current = current.name_next;
24807        }
24808      }
24809    },
24810    lookupNode: function (parent, name) {
24811      var errCode = FS.mayLookup(parent);
24812      if (errCode) {
24813        throw new FS.ErrnoError(errCode, parent);
24814      }
24815      var hash = FS.hashName(parent.id, name);
24816      for (var node = FS.nameTable[hash]; node; node = node.name_next) {
24817        var nodeName = node.name;
24818        if (node.parent.id === parent.id && nodeName === name) {
24819          return node;
24820        }
24821      }
24822      return FS.lookup(parent, name);
24823    },
24824    createNode: function (parent, name, mode, rdev) {
24825      var node = new FS.FSNode(parent, name, mode, rdev);
24826      FS.hashAddNode(node);
24827      return node;
24828    },
24829    destroyNode: function (node) {
24830      FS.hashRemoveNode(node);
24831    },
24832    isRoot: function (node) {
24833      return node === node.parent;
24834    },
24835    isMountpoint: function (node) {
24836      return !!node.mounted;
24837    },
24838    isFile: function (mode) {
24839      return (mode & 61440) === 32768;
24840    },
24841    isDir: function (mode) {
24842      return (mode & 61440) === 16384;
24843    },
24844    isLink: function (mode) {
24845      return (mode & 61440) === 40960;
24846    },
24847    isChrdev: function (mode) {
24848      return (mode & 61440) === 8192;
24849    },
24850    isBlkdev: function (mode) {
24851      return (mode & 61440) === 24576;
24852    },
24853    isFIFO: function (mode) {
24854      return (mode & 61440) === 4096;
24855    },
24856    isSocket: function (mode) {
24857      return (mode & 49152) === 49152;
24858    },
24859    flagModes: {
24860      "r": 0,
24861      "rs": 1052672,
24862      "r+": 2,
24863      "w": 577,
24864      "wx": 705,
24865      "xw": 705,
24866      "w+": 578,
24867      "wx+": 706,
24868      "xw+": 706,
24869      "a": 1089,
24870      "ax": 1217,
24871      "xa": 1217,
24872      "a+": 1090,
24873      "ax+": 1218,
24874      "xa+": 1218
24875    },
24876    modeStringToFlags: function (str) {
24877      var flags = FS.flagModes[str];
24878      if (typeof flags === "undefined") {
24879        throw new Error("Unknown file open mode: " + str);
24880      }
24881      return flags;
24882    },
24883    flagsToPermissionString: function (flag) {
24884      var perms = ["r", "w", "rw"][flag & 3];
24885      if (flag & 512) {
24886        perms += "w";
24887      }
24888      return perms;
24889    },
24890    nodePermissions: function (node, perms) {
24891      if (FS.ignorePermissions) {
24892        return 0;
24893      }
24894      if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
24895        return 2;
24896      } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
24897        return 2;
24898      } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
24899        return 2;
24900      }
24901      return 0;
24902    },
24903    mayLookup: function (dir) {
24904      var errCode = FS.nodePermissions(dir, "x");
24905      if (errCode) return errCode;
24906      if (!dir.node_ops.lookup) return 2;
24907      return 0;
24908    },
24909    mayCreate: function (dir, name) {
24910      try {
24911        var node = FS.lookupNode(dir, name);
24912        return 20;
24913      } catch (e) {}
24914      return FS.nodePermissions(dir, "wx");
24915    },
24916    mayDelete: function (dir, name, isdir) {
24917      var node;
24918      try {
24919        node = FS.lookupNode(dir, name);
24920      } catch (e) {
24921        return e.errno;
24922      }
24923      var errCode = FS.nodePermissions(dir, "wx");
24924      if (errCode) {
24925        return errCode;
24926      }
24927      if (isdir) {
24928        if (!FS.isDir(node.mode)) {
24929          return 54;
24930        }
24931        if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
24932          return 10;
24933        }
24934      } else {
24935        if (FS.isDir(node.mode)) {
vendor: 9,546 bytes, lines 24936-25274
24936          return 31;
24937        }
24938      }
24939      return 0;
24940    },
24941    mayOpen: function (node, flags) {
24942      if (!node) {
24943        return 44;
24944      }
24945      if (FS.isLink(node.mode)) {
24946        return 32;
24947      } else if (FS.isDir(node.mode)) {
24948        if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
24949          return 31;
24950        }
24951      }
24952      return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
24953    },
24954    MAX_OPEN_FDS: 4096,
24955    nextfd: function (fd_start, fd_end) {
24956      fd_start = fd_start || 0;
24957      fd_end = fd_end || FS.MAX_OPEN_FDS;
24958      for (var fd = fd_start; fd <= fd_end; fd++) {
24959        if (!FS.streams[fd]) {
24960          return fd;
24961        }
24962      }
24963      throw new FS.ErrnoError(33);
24964    },
24965    getStream: function (fd) {
24966      return FS.streams[fd];
24967    },
24968    createStream: function (stream, fd_start, fd_end) {
24969      if (!FS.FSStream) {
24970        FS.FSStream = function () {};
24971        FS.FSStream.prototype = {
24972          object: {
24973            get: function () {
24974              return this.node;
24975            },
24976            set: function (val) {
24977              this.node = val;
24978            }
24979          },
24980          isRead: {
24981            get: function () {
24982              return (this.flags & 2097155) !== 1;
24983            }
24984          },
24985          isWrite: {
24986            get: function () {
24987              return (this.flags & 2097155) !== 0;
24988            }
24989          },
24990          isAppend: {
24991            get: function () {
24992              return this.flags & 1024;
24993            }
24994          }
24995        };
24996      }
24997      var newStream = new FS.FSStream();
24998      for (var p in stream) {
24999        newStream[p] = stream[p];
25000      }
25001      stream = newStream;
25002      var fd = FS.nextfd(fd_start, fd_end);
25003      stream.fd = fd;
25004      FS.streams[fd] = stream;
25005      return stream;
25006    },
25007    closeStream: function (fd) {
25008      FS.streams[fd] = null;
25009    },
25010    chrdev_stream_ops: {
25011      open: function (stream) {
25012        var device = FS.getDevice(stream.node.rdev);
25013        stream.stream_ops = device.stream_ops;
25014        if (stream.stream_ops.open) {
25015          stream.stream_ops.open(stream);
25016        }
25017      },
25018      llseek: function () {
25019        throw new FS.ErrnoError(70);
25020      }
25021    },
25022    major: function (dev) {
25023      return dev >> 8;
25024    },
25025    minor: function (dev) {
25026      return dev & 255;
25027    },
25028    makedev: function (ma, mi) {
25029      return ma << 8 | mi;
25030    },
25031    registerDevice: function (dev, ops) {
25032      FS.devices[dev] = {
25033        stream_ops: ops
25034      };
25035    },
25036    getDevice: function (dev) {
25037      return FS.devices[dev];
25038    },
25039    getMounts: function (mount) {
25040      var mounts = [];
25041      var check = [mount];
25042      while (check.length) {
25043        var m = check.pop();
25044        mounts.push(m);
25045        check.push.apply(check, m.mounts);
25046      }
25047      return mounts;
25048    },
25049    syncfs: function (populate, callback) {
25050      if (typeof populate === "function") {
25051        callback = populate;
25052        populate = false;
25053      }
25054      FS.syncFSRequests++;
25055      if (FS.syncFSRequests > 1) {
25056        err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
25057      }
25058      var mounts = FS.getMounts(FS.root.mount);
25059      var completed = 0;
25060      function doCallback(errCode) {
25061        FS.syncFSRequests--;
25062        return callback(errCode);
25063      }
25064      function done(errCode) {
25065        if (errCode) {
25066          if (!done.errored) {
25067            done.errored = true;
25068            return doCallback(errCode);
25069          }
25070          return;
25071        }
25072        if (++completed >= mounts.length) {
25073          doCallback(null);
25074        }
25075      }
25076      mounts.forEach(function (mount) {
25077        if (!mount.type.syncfs) {
25078          return done(null);
25079        }
25080        mount.type.syncfs(mount, populate, done);
25081      });
25082    },
25083    mount: function (type, opts, mountpoint) {
25084      var root = mountpoint === "/";
25085      var pseudo = !mountpoint;
25086      var node;
25087      if (root && FS.root) {
25088        throw new FS.ErrnoError(10);
25089      } else if (!root && !pseudo) {
25090        var lookup = FS.lookupPath(mountpoint, {
25091          follow_mount: false
25092        });
25093        mountpoint = lookup.path;
25094        node = lookup.node;
25095        if (FS.isMountpoint(node)) {
25096          throw new FS.ErrnoError(10);
25097        }
25098        if (!FS.isDir(node.mode)) {
25099          throw new FS.ErrnoError(54);
25100        }
25101      }
25102      var mount = {
25103        type: type,
25104        opts: opts,
25105        mountpoint: mountpoint,
25106        mounts: []
25107      };
25108      var mountRoot = type.mount(mount);
25109      mountRoot.mount = mount;
25110      mount.root = mountRoot;
25111      if (root) {
25112        FS.root = mountRoot;
25113      } else if (node) {
25114        node.mounted = mount;
25115        if (node.mount) {
25116          node.mount.mounts.push(mount);
25117        }
25118      }
25119      return mountRoot;
25120    },
25121    unmount: function (mountpoint) {
25122      var lookup = FS.lookupPath(mountpoint, {
25123        follow_mount: false
25124      });
25125      if (!FS.isMountpoint(lookup.node)) {
25126        throw new FS.ErrnoError(28);
25127      }
25128      var node = lookup.node;
25129      var mount = node.mounted;
25130      var mounts = FS.getMounts(mount);
25131      Object.keys(FS.nameTable).forEach(function (hash) {
25132        var current = FS.nameTable[hash];
25133        while (current) {
25134          var next = current.name_next;
25135          if (mounts.indexOf(current.mount) !== -1) {
25136            FS.destroyNode(current);
25137          }
25138          current = next;
25139        }
25140      });
25141      node.mounted = null;
25142      var idx = node.mount.mounts.indexOf(mount);
25143      node.mount.mounts.splice(idx, 1);
25144    },
25145    lookup: function (parent, name) {
25146      return parent.node_ops.lookup(parent, name);
25147    },
25148    mknod: function (path, mode, dev) {
25149      var lookup = FS.lookupPath(path, {
25150        parent: true
25151      });
25152      var parent = lookup.node;
25153      var name = PATH.basename(path);
25154      if (!name || name === "." || name === "..") {
25155        throw new FS.ErrnoError(28);
25156      }
25157      var errCode = FS.mayCreate(parent, name);
25158      if (errCode) {
25159        throw new FS.ErrnoError(errCode);
25160      }
25161      if (!parent.node_ops.mknod) {
25162        throw new FS.ErrnoError(63);
25163      }
25164      return parent.node_ops.mknod(parent, name, mode, dev);
25165    },
25166    create: function (path, mode) {
25167      mode = mode !== undefined ? mode : 438;
25168      mode &= 4095;
25169      mode |= 32768;
25170      return FS.mknod(path, mode, 0);
25171    },
25172    mkdir: function (path, mode) {
25173      mode = mode !== undefined ? mode : 511;
25174      mode &= 511 | 512;
25175      mode |= 16384;
25176      return FS.mknod(path, mode, 0);
25177    },
25178    mkdirTree: function (path, mode) {
25179      var dirs = path.split("/");
25180      var d = "";
25181      for (var i = 0; i < dirs.length; ++i) {
25182        if (!dirs[i]) continue;
25183        d += "/" + dirs[i];
25184        try {
25185          FS.mkdir(d, mode);
25186        } catch (e) {
25187          if (e.errno != 20) throw e;
25188        }
25189      }
25190    },
25191    mkdev: function (path, mode, dev) {
25192      if (typeof dev === "undefined") {
25193        dev = mode;
25194        mode = 438;
25195      }
25196      mode |= 8192;
25197      return FS.mknod(path, mode, dev);
25198    },
25199    symlink: function (oldpath, newpath) {
25200      if (!PATH_FS.resolve(oldpath)) {
25201        throw new FS.ErrnoError(44);
25202      }
25203      var lookup = FS.lookupPath(newpath, {
25204        parent: true
25205      });
25206      var parent = lookup.node;
25207      if (!parent) {
25208        throw new FS.ErrnoError(44);
25209      }
25210      var newname = PATH.basename(newpath);
25211      var errCode = FS.mayCreate(parent, newname);
25212      if (errCode) {
25213        throw new FS.ErrnoError(errCode);
25214      }
25215      if (!parent.node_ops.symlink) {
25216        throw new FS.ErrnoError(63);
25217      }
25218      return parent.node_ops.symlink(parent, newname, oldpath);
25219    },
25220    rename: function (old_path, new_path) {
25221      var old_dirname = PATH.dirname(old_path);
25222      var new_dirname = PATH.dirname(new_path);
25223      var old_name = PATH.basename(old_path);
25224      var new_name = PATH.basename(new_path);
25225      var lookup, old_dir, new_dir;
25226      lookup = FS.lookupPath(old_path, {
25227        parent: true
25228      });
25229      old_dir = lookup.node;
25230      lookup = FS.lookupPath(new_path, {
25231        parent: true
25232      });
25233      new_dir = lookup.node;
25234      if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
25235      if (old_dir.mount !== new_dir.mount) {
25236        throw new FS.ErrnoError(75);
25237      }
25238      var old_node = FS.lookupNode(old_dir, old_name);
25239      var relative = PATH_FS.relative(old_path, new_dirname);
25240      if (relative.charAt(0) !== ".") {
25241        throw new FS.ErrnoError(28);
25242      }
25243      relative = PATH_FS.relative(new_path, old_dirname);
25244      if (relative.charAt(0) !== ".") {
25245        throw new FS.ErrnoError(55);
25246      }
25247      var new_node;
25248      try {
25249        new_node = FS.lookupNode(new_dir, new_name);
25250      } catch (e) {}
25251      if (old_node === new_node) {
25252        return;
25253      }
25254      var isdir = FS.isDir(old_node.mode);
25255      var errCode = FS.mayDelete(old_dir, old_name, isdir);
25256      if (errCode) {
25257        throw new FS.ErrnoError(errCode);
25258      }
25259      errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
25260      if (errCode) {
25261        throw new FS.ErrnoError(errCode);
25262      }
25263      if (!old_dir.node_ops.rename) {
25264        throw new FS.ErrnoError(63);
25265      }
25266      if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
25267        throw new FS.ErrnoError(10);
25268      }
25269      if (new_dir !== old_dir) {
25270        errCode = FS.nodePermissions(old_dir, "w");
25271        if (errCode) {
25272          throw new FS.ErrnoError(errCode);
25273        }
25274      }
vendor: 28,032 bytes, lines 25275-26136
25275      try {
25276        if (FS.trackingDelegate["willMovePath"]) {
25277          FS.trackingDelegate["willMovePath"](old_path, new_path);
25278        }
25279      } catch (e) {
25280        err("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
25281      }
25282      FS.hashRemoveNode(old_node);
25283      try {
25284        old_dir.node_ops.rename(old_node, new_dir, new_name);
25285      } catch (e) {
25286        throw e;
25287      } finally {
25288        FS.hashAddNode(old_node);
25289      }
25290      try {
25291        if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path);
25292      } catch (e) {
25293        err("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
25294      }
25295    },
25296    rmdir: function (path) {
25297      var lookup = FS.lookupPath(path, {
25298        parent: true
25299      });
25300      var parent = lookup.node;
25301      var name = PATH.basename(path);
25302      var node = FS.lookupNode(parent, name);
25303      var errCode = FS.mayDelete(parent, name, true);
25304      if (errCode) {
25305        throw new FS.ErrnoError(errCode);
25306      }
25307      if (!parent.node_ops.rmdir) {
25308        throw new FS.ErrnoError(63);
25309      }
25310      if (FS.isMountpoint(node)) {
25311        throw new FS.ErrnoError(10);
25312      }
25313      try {
25314        if (FS.trackingDelegate["willDeletePath"]) {
25315          FS.trackingDelegate["willDeletePath"](path);
25316        }
25317      } catch (e) {
25318        err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
25319      }
25320      parent.node_ops.rmdir(parent, name);
25321      FS.destroyNode(node);
25322      try {
25323        if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
25324      } catch (e) {
25325        err("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
25326      }
25327    },
25328    readdir: function (path) {
25329      var lookup = FS.lookupPath(path, {
25330        follow: true
25331      });
25332      var node = lookup.node;
25333      if (!node.node_ops.readdir) {
25334        throw new FS.ErrnoError(54);
25335      }
25336      return node.node_ops.readdir(node);
25337    },
25338    unlink: function (path) {
25339      var lookup = FS.lookupPath(path, {
25340        parent: true
25341      });
25342      var parent = lookup.node;
25343      var name = PATH.basename(path);
25344      var node = FS.lookupNode(parent, name);
25345      var errCode = FS.mayDelete(parent, name, false);
25346      if (errCode) {
25347        throw new FS.ErrnoError(errCode);
25348      }
25349      if (!parent.node_ops.unlink) {
25350        throw new FS.ErrnoError(63);
25351      }
25352      if (FS.isMountpoint(node)) {
25353        throw new FS.ErrnoError(10);
25354      }
25355      try {
25356        if (FS.trackingDelegate["willDeletePath"]) {
25357          FS.trackingDelegate["willDeletePath"](path);
25358        }
25359      } catch (e) {
25360        err("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
25361      }
25362      parent.node_ops.unlink(parent, name);
25363      FS.destroyNode(node);
25364      try {
25365        if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
25366      } catch (e) {
25367        err("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
25368      }
25369    },
25370    readlink: function (path) {
25371      var lookup = FS.lookupPath(path);
25372      var link = lookup.node;
25373      if (!link) {
25374        throw new FS.ErrnoError(44);
25375      }
25376      if (!link.node_ops.readlink) {
25377        throw new FS.ErrnoError(28);
25378      }
25379      return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
25380    },
25381    stat: function (path, dontFollow) {
25382      var lookup = FS.lookupPath(path, {
25383        follow: !dontFollow
25384      });
25385      var node = lookup.node;
25386      if (!node) {
25387        throw new FS.ErrnoError(44);
25388      }
25389      if (!node.node_ops.getattr) {
25390        throw new FS.ErrnoError(63);
25391      }
25392      return node.node_ops.getattr(node);
25393    },
25394    lstat: function (path) {
25395      return FS.stat(path, true);
25396    },
25397    chmod: function (path, mode, dontFollow) {
25398      var node;
25399      if (typeof path === "string") {
25400        var lookup = FS.lookupPath(path, {
25401          follow: !dontFollow
25402        });
25403        node = lookup.node;
25404      } else {
25405        node = path;
25406      }
25407      if (!node.node_ops.setattr) {
25408        throw new FS.ErrnoError(63);
25409      }
25410      node.node_ops.setattr(node, {
25411        mode: mode & 4095 | node.mode & ~4095,
25412        timestamp: Date.now()
25413      });
25414    },
25415    lchmod: function (path, mode) {
25416      FS.chmod(path, mode, true);
25417    },
25418    fchmod: function (fd, mode) {
25419      var stream = FS.getStream(fd);
25420      if (!stream) {
25421        throw new FS.ErrnoError(8);
25422      }
25423      FS.chmod(stream.node, mode);
25424    },
25425    chown: function (path, uid, gid, dontFollow) {
25426      var node;
25427      if (typeof path === "string") {
25428        var lookup = FS.lookupPath(path, {
25429          follow: !dontFollow
25430        });
25431        node = lookup.node;
25432      } else {
25433        node = path;
25434      }
25435      if (!node.node_ops.setattr) {
25436        throw new FS.ErrnoError(63);
25437      }
25438      node.node_ops.setattr(node, {
25439        timestamp: Date.now()
25440      });
25441    },
25442    lchown: function (path, uid, gid) {
25443      FS.chown(path, uid, gid, true);
25444    },
25445    fchown: function (fd, uid, gid) {
25446      var stream = FS.getStream(fd);
25447      if (!stream) {
25448        throw new FS.ErrnoError(8);
25449      }
25450      FS.chown(stream.node, uid, gid);
25451    },
25452    truncate: function (path, len) {
25453      if (len < 0) {
25454        throw new FS.ErrnoError(28);
25455      }
25456      var node;
25457      if (typeof path === "string") {
25458        var lookup = FS.lookupPath(path, {
25459          follow: true
25460        });
25461        node = lookup.node;
25462      } else {
25463        node = path;
25464      }
25465      if (!node.node_ops.setattr) {
25466        throw new FS.ErrnoError(63);
25467      }
25468      if (FS.isDir(node.mode)) {
25469        throw new FS.ErrnoError(31);
25470      }
25471      if (!FS.isFile(node.mode)) {
25472        throw new FS.ErrnoError(28);
25473      }
25474      var errCode = FS.nodePermissions(node, "w");
25475      if (errCode) {
25476        throw new FS.ErrnoError(errCode);
25477      }
25478      node.node_ops.setattr(node, {
25479        size: len,
25480        timestamp: Date.now()
25481      });
25482    },
25483    ftruncate: function (fd, len) {
25484      var stream = FS.getStream(fd);
25485      if (!stream) {
25486        throw new FS.ErrnoError(8);
25487      }
25488      if ((stream.flags & 2097155) === 0) {
25489        throw new FS.ErrnoError(28);
25490      }
25491      FS.truncate(stream.node, len);
25492    },
25493    utime: function (path, atime, mtime) {
25494      var lookup = FS.lookupPath(path, {
25495        follow: true
25496      });
25497      var node = lookup.node;
25498      node.node_ops.setattr(node, {
25499        timestamp: Math.max(atime, mtime)
25500      });
25501    },
25502    open: function (path, flags, mode, fd_start, fd_end) {
25503      if (path === "") {
25504        throw new FS.ErrnoError(44);
25505      }
25506      flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
25507      mode = typeof mode === "undefined" ? 438 : mode;
25508      if (flags & 64) {
25509        mode = mode & 4095 | 32768;
25510      } else {
25511        mode = 0;
25512      }
25513      var node;
25514      if (typeof path === "object") {
25515        node = path;
25516      } else {
25517        path = PATH.normalize(path);
25518        try {
25519          var lookup = FS.lookupPath(path, {
25520            follow: !(flags & 131072)
25521          });
25522          node = lookup.node;
25523        } catch (e) {}
25524      }
25525      var created = false;
25526      if (flags & 64) {
25527        if (node) {
25528          if (flags & 128) {
25529            throw new FS.ErrnoError(20);
25530          }
25531        } else {
25532          node = FS.mknod(path, mode, 0);
25533          created = true;
25534        }
25535      }
25536      if (!node) {
25537        throw new FS.ErrnoError(44);
25538      }
25539      if (FS.isChrdev(node.mode)) {
25540        flags &= ~512;
25541      }
25542      if (flags & 65536 && !FS.isDir(node.mode)) {
25543        throw new FS.ErrnoError(54);
25544      }
25545      if (!created) {
25546        var errCode = FS.mayOpen(node, flags);
25547        if (errCode) {
25548          throw new FS.ErrnoError(errCode);
25549        }
25550      }
25551      if (flags & 512) {
25552        FS.truncate(node, 0);
25553      }
25554      flags &= ~(128 | 512 | 131072);
25555      var stream = FS.createStream({
25556        node: node,
25557        path: FS.getPath(node),
25558        flags: flags,
25559        seekable: true,
25560        position: 0,
25561        stream_ops: node.stream_ops,
25562        ungotten: [],
25563        error: false
25564      }, fd_start, fd_end);
25565      if (stream.stream_ops.open) {
25566        stream.stream_ops.open(stream);
25567      }
25568      if (Module["logReadFiles"] && !(flags & 1)) {
25569        if (!FS.readFiles) FS.readFiles = {};
25570        if (!(path in FS.readFiles)) {
25571          FS.readFiles[path] = 1;
25572          err("FS.trackingDelegate error on read file: " + path);
25573        }
25574      }
25575      try {
25576        if (FS.trackingDelegate["onOpenFile"]) {
25577          var trackingFlags = 0;
25578          if ((flags & 2097155) !== 1) {
25579            trackingFlags |= FS.tracking.openFlags.READ;
25580          }
25581          if ((flags & 2097155) !== 0) {
25582            trackingFlags |= FS.tracking.openFlags.WRITE;
25583          }
25584          FS.trackingDelegate["onOpenFile"](path, trackingFlags);
25585        }
25586      } catch (e) {
25587        err("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
25588      }
25589      return stream;
25590    },
25591    close: function (stream) {
25592      if (FS.isClosed(stream)) {
25593        throw new FS.ErrnoError(8);
25594      }
25595      if (stream.getdents) stream.getdents = null;
25596      try {
25597        if (stream.stream_ops.close) {
25598          stream.stream_ops.close(stream);
25599        }
25600      } catch (e) {
25601        throw e;
25602      } finally {
25603        FS.closeStream(stream.fd);
25604      }
25605      stream.fd = null;
25606    },
25607    isClosed: function (stream) {
25608      return stream.fd === null;
25609    },
25610    llseek: function (stream, offset, whence) {
25611      if (FS.isClosed(stream)) {
25612        throw new FS.ErrnoError(8);
25613      }
25614      if (!stream.seekable || !stream.stream_ops.llseek) {
25615        throw new FS.ErrnoError(70);
25616      }
25617      if (whence != 0 && whence != 1 && whence != 2) {
25618        throw new FS.ErrnoError(28);
25619      }
25620      stream.position = stream.stream_ops.llseek(stream, offset, whence);
25621      stream.ungotten = [];
25622      return stream.position;
25623    },
25624    read: function (stream, buffer, offset, length, position) {
25625      if (length < 0 || position < 0) {
25626        throw new FS.ErrnoError(28);
25627      }
25628      if (FS.isClosed(stream)) {
25629        throw new FS.ErrnoError(8);
25630      }
25631      if ((stream.flags & 2097155) === 1) {
25632        throw new FS.ErrnoError(8);
25633      }
25634      if (FS.isDir(stream.node.mode)) {
25635        throw new FS.ErrnoError(31);
25636      }
25637      if (!stream.stream_ops.read) {
25638        throw new FS.ErrnoError(28);
25639      }
25640      var seeking = typeof position !== "undefined";
25641      if (!seeking) {
25642        position = stream.position;
25643      } else if (!stream.seekable) {
25644        throw new FS.ErrnoError(70);
25645      }
25646      var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
25647      if (!seeking) stream.position += bytesRead;
25648      return bytesRead;
25649    },
25650    write: function (stream, buffer, offset, length, position, canOwn) {
25651      if (length < 0 || position < 0) {
25652        throw new FS.ErrnoError(28);
25653      }
25654      if (FS.isClosed(stream)) {
25655        throw new FS.ErrnoError(8);
25656      }
25657      if ((stream.flags & 2097155) === 0) {
25658        throw new FS.ErrnoError(8);
25659      }
25660      if (FS.isDir(stream.node.mode)) {
25661        throw new FS.ErrnoError(31);
25662      }
25663      if (!stream.stream_ops.write) {
25664        throw new FS.ErrnoError(28);
25665      }
25666      if (stream.seekable && stream.flags & 1024) {
25667        FS.llseek(stream, 0, 2);
25668      }
25669      var seeking = typeof position !== "undefined";
25670      if (!seeking) {
25671        position = stream.position;
25672      } else if (!stream.seekable) {
25673        throw new FS.ErrnoError(70);
25674      }
25675      var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
25676      if (!seeking) stream.position += bytesWritten;
25677      try {
25678        if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path);
25679      } catch (e) {
25680        err("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
25681      }
25682      return bytesWritten;
25683    },
25684    allocate: function (stream, offset, length) {
25685      if (FS.isClosed(stream)) {
25686        throw new FS.ErrnoError(8);
25687      }
25688      if (offset < 0 || length <= 0) {
25689        throw new FS.ErrnoError(28);
25690      }
25691      if ((stream.flags & 2097155) === 0) {
25692        throw new FS.ErrnoError(8);
25693      }
25694      if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
25695        throw new FS.ErrnoError(43);
25696      }
25697      if (!stream.stream_ops.allocate) {
25698        throw new FS.ErrnoError(138);
25699      }
25700      stream.stream_ops.allocate(stream, offset, length);
25701    },
25702    mmap: function (stream, address, length, position, prot, flags) {
25703      if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
25704        throw new FS.ErrnoError(2);
25705      }
25706      if ((stream.flags & 2097155) === 1) {
25707        throw new FS.ErrnoError(2);
25708      }
25709      if (!stream.stream_ops.mmap) {
25710        throw new FS.ErrnoError(43);
25711      }
25712      return stream.stream_ops.mmap(stream, address, length, position, prot, flags);
25713    },
25714    msync: function (stream, buffer, offset, length, mmapFlags) {
25715      if (!stream || !stream.stream_ops.msync) {
25716        return 0;
25717      }
25718      return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
25719    },
25720    munmap: function (stream) {
25721      return 0;
25722    },
25723    ioctl: function (stream, cmd, arg) {
25724      if (!stream.stream_ops.ioctl) {
25725        throw new FS.ErrnoError(59);
25726      }
25727      return stream.stream_ops.ioctl(stream, cmd, arg);
25728    },
25729    readFile: function (path, opts) {
25730      opts = opts || {};
25731      opts.flags = opts.flags || "r";
25732      opts.encoding = opts.encoding || "binary";
25733      if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
25734        throw new Error('Invalid encoding type "' + opts.encoding + '"');
25735      }
25736      var ret;
25737      var stream = FS.open(path, opts.flags);
25738      var stat = FS.stat(path);
25739      var length = stat.size;
25740      var buf = new Uint8Array(length);
25741      FS.read(stream, buf, 0, length, 0);
25742      if (opts.encoding === "utf8") {
25743        ret = UTF8ArrayToString(buf, 0);
25744      } else if (opts.encoding === "binary") {
25745        ret = buf;
25746      }
25747      FS.close(stream);
25748      return ret;
25749    },
25750    writeFile: function (path, data, opts) {
25751      opts = opts || {};
25752      opts.flags = opts.flags || "w";
25753      var stream = FS.open(path, opts.flags, opts.mode);
25754      if (typeof data === "string") {
25755        var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
25756        var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
25757        FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
25758      } else if (ArrayBuffer.isView(data)) {
25759        FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
25760      } else {
25761        throw new Error("Unsupported data type");
25762      }
25763      FS.close(stream);
25764    },
25765    cwd: function () {
25766      return FS.currentPath;
25767    },
25768    chdir: function (path) {
25769      var lookup = FS.lookupPath(path, {
25770        follow: true
25771      });
25772      if (lookup.node === null) {
25773        throw new FS.ErrnoError(44);
25774      }
25775      if (!FS.isDir(lookup.node.mode)) {
25776        throw new FS.ErrnoError(54);
25777      }
25778      var errCode = FS.nodePermissions(lookup.node, "x");
25779      if (errCode) {
25780        throw new FS.ErrnoError(errCode);
25781      }
25782      FS.currentPath = lookup.path;
25783    },
25784    createDefaultDirectories: function () {
25785      FS.mkdir("/tmp");
25786      FS.mkdir("/home");
25787      FS.mkdir("/home/web_user");
25788    },
25789    createDefaultDevices: function () {
25790      FS.mkdir("/dev");
25791      FS.registerDevice(FS.makedev(1, 3), {
25792        read: function () {
25793          return 0;
25794        },
25795        write: function (stream, buffer, offset, length, pos) {
25796          return length;
25797        }
25798      });
25799      FS.mkdev("/dev/null", FS.makedev(1, 3));
25800      TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
25801      TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
25802      FS.mkdev("/dev/tty", FS.makedev(5, 0));
25803      FS.mkdev("/dev/tty1", FS.makedev(6, 0));
25804      var random_device;
25805      if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
25806        var randomBuffer = new Uint8Array(1);
25807        random_device = function () {
25808          crypto.getRandomValues(randomBuffer);
25809          return randomBuffer[0];
25810        };
25811      } else {}
25812      if (!random_device) {
25813        random_device = function () {
25814          abort("random_device");
25815        };
25816      }
25817      FS.createDevice("/dev", "random", random_device);
25818      FS.createDevice("/dev", "urandom", random_device);
25819      FS.mkdir("/dev/shm");
25820      FS.mkdir("/dev/shm/tmp");
25821    },
25822    createSpecialDirectories: function () {
25823      FS.mkdir("/proc");
25824      FS.mkdir("/proc/self");
25825      FS.mkdir("/proc/self/fd");
25826      FS.mount({
25827        mount: function () {
25828          var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
25829          node.node_ops = {
25830            lookup: function (parent, name) {
25831              var fd = +name;
25832              var stream = FS.getStream(fd);
25833              if (!stream) throw new FS.ErrnoError(8);
25834              var ret = {
25835                parent: null,
25836                mount: {
25837                  mountpoint: "fake"
25838                },
25839                node_ops: {
25840                  readlink: function () {
25841                    return stream.path;
25842                  }
25843                }
25844              };
25845              ret.parent = ret;
25846              return ret;
25847            }
25848          };
25849          return node;
25850        }
25851      }, {}, "/proc/self/fd");
25852    },
25853    createStandardStreams: function () {
25854      if (Module["stdin"]) {
25855        FS.createDevice("/dev", "stdin", Module["stdin"]);
25856      } else {
25857        FS.symlink("/dev/tty", "/dev/stdin");
25858      }
25859      if (Module["stdout"]) {
25860        FS.createDevice("/dev", "stdout", null, Module["stdout"]);
25861      } else {
25862        FS.symlink("/dev/tty", "/dev/stdout");
25863      }
25864      if (Module["stderr"]) {
25865        FS.createDevice("/dev", "stderr", null, Module["stderr"]);
25866      } else {
25867        FS.symlink("/dev/tty1", "/dev/stderr");
25868      }
25869      var stdin = FS.open("/dev/stdin", "r");
25870      var stdout = FS.open("/dev/stdout", "w");
25871      var stderr = FS.open("/dev/stderr", "w");
25872    },
25873    ensureErrnoError: function () {
25874      if (FS.ErrnoError) return;
25875      FS.ErrnoError = function ErrnoError(errno, node) {
25876        this.node = node;
25877        this.setErrno = function (errno) {
25878          this.errno = errno;
25879        };
25880        this.setErrno(errno);
25881        this.message = "FS error";
25882      };
25883      FS.ErrnoError.prototype = new Error();
25884      FS.ErrnoError.prototype.constructor = FS.ErrnoError;
25885      [44].forEach(function (code) {
25886        FS.genericErrors[code] = new FS.ErrnoError(code);
25887        FS.genericErrors[code].stack = "<generic error, no stack>";
25888      });
25889    },
25890    staticInit: function () {
25891      FS.ensureErrnoError();
25892      FS.nameTable = new Array(4096);
25893      FS.mount(MEMFS, {}, "/");
25894      FS.createDefaultDirectories();
25895      FS.createDefaultDevices();
25896      FS.createSpecialDirectories();
25897      FS.filesystems = {
25898        "MEMFS": MEMFS
25899      };
25900    },
25901    init: function (input, output, error) {
25902      FS.init.initialized = true;
25903      FS.ensureErrnoError();
25904      Module["stdin"] = input || Module["stdin"];
25905      Module["stdout"] = output || Module["stdout"];
25906      Module["stderr"] = error || Module["stderr"];
25907      FS.createStandardStreams();
25908    },
25909    quit: function () {
25910      FS.init.initialized = false;
25911      var fflush = Module["_fflush"];
25912      if (fflush) fflush(0);
25913      for (var i = 0; i < FS.streams.length; i++) {
25914        var stream = FS.streams[i];
25915        if (!stream) {
25916          continue;
25917        }
25918        FS.close(stream);
25919      }
25920    },
25921    getMode: function (canRead, canWrite) {
25922      var mode = 0;
25923      if (canRead) mode |= 292 | 73;
25924      if (canWrite) mode |= 146;
25925      return mode;
25926    },
25927    joinPath: function (parts, forceRelative) {
25928      var path = PATH.join.apply(null, parts);
25929      if (forceRelative && path[0] == "/") path = path.substr(1);
25930      return path;
25931    },
25932    absolutePath: function (relative, base) {
25933      return PATH_FS.resolve(base, relative);
25934    },
25935    standardizePath: function (path) {
25936      return PATH.normalize(path);
25937    },
25938    findObject: function (path, dontResolveLastLink) {
25939      var ret = FS.analyzePath(path, dontResolveLastLink);
25940      if (ret.exists) {
25941        return ret.object;
25942      } else {
25943        setErrNo(ret.error);
25944        return null;
25945      }
25946    },
25947    analyzePath: function (path, dontResolveLastLink) {
25948      try {
25949        var lookup = FS.lookupPath(path, {
25950          follow: !dontResolveLastLink
25951        });
25952        path = lookup.path;
25953      } catch (e) {}
25954      var ret = {
25955        isRoot: false,
25956        exists: false,
25957        error: 0,
25958        name: null,
25959        path: null,
25960        object: null,
25961        parentExists: false,
25962        parentPath: null,
25963        parentObject: null
25964      };
25965      try {
25966        var lookup = FS.lookupPath(path, {
25967          parent: true
25968        });
25969        ret.parentExists = true;
25970        ret.parentPath = lookup.path;
25971        ret.parentObject = lookup.node;
25972        ret.name = PATH.basename(path);
25973        lookup = FS.lookupPath(path, {
25974          follow: !dontResolveLastLink
25975        });
25976        ret.exists = true;
25977        ret.path = lookup.path;
25978        ret.object = lookup.node;
25979        ret.name = lookup.node.name;
25980        ret.isRoot = lookup.path === "/";
25981      } catch (e) {
25982        ret.error = e.errno;
25983      }
25984      return ret;
25985    },
25986    createFolder: function (parent, name, canRead, canWrite) {
25987      var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
25988      var mode = FS.getMode(canRead, canWrite);
25989      return FS.mkdir(path, mode);
25990    },
25991    createPath: function (parent, path, canRead, canWrite) {
25992      parent = typeof parent === "string" ? parent : FS.getPath(parent);
25993      var parts = path.split("/").reverse();
25994      while (parts.length) {
25995        var part = parts.pop();
25996        if (!part) continue;
25997        var current = PATH.join2(parent, part);
25998        try {
25999          FS.mkdir(current);
26000        } catch (e) {}
26001        parent = current;
26002      }
26003      return current;
26004    },
26005    createFile: function (parent, name, properties, canRead, canWrite) {
26006      var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
26007      var mode = FS.getMode(canRead, canWrite);
26008      return FS.create(path, mode);
26009    },
26010    createDataFile: function (parent, name, data, canRead, canWrite, canOwn) {
26011      var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
26012      var mode = FS.getMode(canRead, canWrite);
26013      var node = FS.create(path, mode);
26014      if (data) {
26015        if (typeof data === "string") {
26016          var arr = new Array(data.length);
26017          for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
26018          data = arr;
26019        }
26020        FS.chmod(node, mode | 146);
26021        var stream = FS.open(node, "w");
26022        FS.write(stream, data, 0, data.length, 0, canOwn);
26023        FS.close(stream);
26024        FS.chmod(node, mode);
26025      }
26026      return node;
26027    },
26028    createDevice: function (parent, name, input, output) {
26029      var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
26030      var mode = FS.getMode(!!input, !!output);
26031      if (!FS.createDevice.major) FS.createDevice.major = 64;
26032      var dev = FS.makedev(FS.createDevice.major++, 0);
26033      FS.registerDevice(dev, {
26034        open: function (stream) {
26035          stream.seekable = false;
26036        },
26037        close: function (stream) {
26038          if (output && output.buffer && output.buffer.length) {
26039            output(10);
26040          }
26041        },
26042        read: function (stream, buffer, offset, length, pos) {
26043          var bytesRead = 0;
26044          for (var i = 0; i < length; i++) {
26045            var result;
26046            try {
26047              result = input();
26048            } catch (e) {
26049              throw new FS.ErrnoError(29);
26050            }
26051            if (result === undefined && bytesRead === 0) {
26052              throw new FS.ErrnoError(6);
26053            }
26054            if (result === null || result === undefined) break;
26055            bytesRead++;
26056            buffer[offset + i] = result;
26057          }
26058          if (bytesRead) {
26059            stream.node.timestamp = Date.now();
26060          }
26061          return bytesRead;
26062        },
26063        write: function (stream, buffer, offset, length, pos) {
26064          for (var i = 0; i < length; i++) {
26065            try {
26066              output(buffer[offset + i]);
26067            } catch (e) {
26068              throw new FS.ErrnoError(29);
26069            }
26070          }
26071          if (length) {
26072            stream.node.timestamp = Date.now();
26073          }
26074          return i;
26075        }
26076      });
26077      return FS.mkdev(path, mode, dev);
26078    },
26079    createLink: function (parent, name, target, canRead, canWrite) {
26080      var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
26081      return FS.symlink(target, path);
26082    },
26083    forceLoadFile: function (obj) {
26084      if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
26085      var success = true;
26086      if (typeof XMLHttpRequest !== "undefined") {
26087        throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
26088      } else if (read_) {
26089        try {
26090          obj.contents = intArrayFromString(read_(obj.url), true);
26091          obj.usedBytes = obj.contents.length;
26092        } catch (e) {
26093          success = false;
26094        }
26095      } else {
26096        throw new Error("Cannot load without read() or XMLHttpRequest.");
26097      }
26098      if (!success) setErrNo(29);
26099      return success;
26100    },
26101    createLazyFile: function (parent, name, url, canRead, canWrite) {
26102      function LazyUint8Array() {
26103        this.lengthKnown = false;
26104        this.chunks = [];
26105      }
26106      LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
26107        if (idx > this.length - 1 || idx < 0) {
26108          return undefined;
26109        }
26110        var chunkOffset = idx % this.chunkSize;
26111        var chunkNum = idx / this.chunkSize | 0;
26112        return this.getter(chunkNum)[chunkOffset];
26113      };
26114      LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
26115        this.getter = getter;
26116      };
26117      LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
26118        var xhr = new XMLHttpRequest();
26119        xhr.open("HEAD", url, false);
26120        xhr.send(null);
26121        if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
26122        var datalength = Number(xhr.getResponseHeader("Content-length"));
26123        var header;
26124        var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
26125        var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
26126        var chunkSize = 1024 * 1024;
26127        if (!hasByteServing) chunkSize = datalength;
26128        var doXHR = function (from, to) {
26129          if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
26130          if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
26131          var xhr = new XMLHttpRequest();
26132          xhr.open("GET", url, false);
26133          if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
26134          if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
26135          if (xhr.overrideMimeType) {
26136            xhr.overrideMimeType("text/plain;
vendor: 1,531 bytes, lines 26136-26168
26136 charset=x-user-defined");
26137          }
26138          xhr.send(null);
26139          if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
26140          if (xhr.response !== undefined) {
26141            return new Uint8Array(xhr.response || []);
26142          } else {
26143            return intArrayFromString(xhr.responseText || "", true);
26144          }
26145        };
26146        var lazyArray = this;
26147        lazyArray.setDataGetter(function (chunkNum) {
26148          var start = chunkNum * chunkSize;
26149          var end = (chunkNum + 1) * chunkSize - 1;
26150          end = Math.min(end, datalength - 1);
26151          if (typeof lazyArray.chunks[chunkNum] === "undefined") {
26152            lazyArray.chunks[chunkNum] = doXHR(start, end);
26153          }
26154          if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
26155          return lazyArray.chunks[chunkNum];
26156        });
26157        if (usesGzip || !datalength) {
26158          chunkSize = datalength = 1;
26159          datalength = this.getter(0).length;
26160          chunkSize = datalength;
26161          out("LazyFiles on gzip forces download of the whole file when length is accessed");
26162        }
26163        this._length = datalength;
26164        this._chunkSize = chunkSize;
26165        this.lengthKnown = true;
26166      };
26167      if (typeof XMLHttpRequest !== "undefined") {
26168        if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
vendor: 4,088 bytes, lines 26169-26295
26169        var lazyArray = new LazyUint8Array();
26170        Object.defineProperties(lazyArray, {
26171          length: {
26172            get: function () {
26173              if (!this.lengthKnown) {
26174                this.cacheLength();
26175              }
26176              return this._length;
26177            }
26178          },
26179          chunkSize: {
26180            get: function () {
26181              if (!this.lengthKnown) {
26182                this.cacheLength();
26183              }
26184              return this._chunkSize;
26185            }
26186          }
26187        });
26188        var properties = {
26189          isDevice: false,
26190          contents: lazyArray
26191        };
26192      } else {
26193        var properties = {
26194          isDevice: false,
26195          url: url
26196        };
26197      }
26198      var node = FS.createFile(parent, name, properties, canRead, canWrite);
26199      if (properties.contents) {
26200        node.contents = properties.contents;
26201      } else if (properties.url) {
26202        node.contents = null;
26203        node.url = properties.url;
26204      }
26205      Object.defineProperties(node, {
26206        usedBytes: {
26207          get: function () {
26208            return this.contents.length;
26209          }
26210        }
26211      });
26212      var stream_ops = {};
26213      var keys = Object.keys(node.stream_ops);
26214      keys.forEach(function (key) {
26215        var fn = node.stream_ops[key];
26216        stream_ops[key] = function forceLoadLazyFile() {
26217          if (!FS.forceLoadFile(node)) {
26218            throw new FS.ErrnoError(29);
26219          }
26220          return fn.apply(null, arguments);
26221        };
26222      });
26223      stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
26224        if (!FS.forceLoadFile(node)) {
26225          throw new FS.ErrnoError(29);
26226        }
26227        var contents = stream.node.contents;
26228        if (position >= contents.length) return 0;
26229        var size = Math.min(contents.length - position, length);
26230        if (contents.slice) {
26231          for (var i = 0; i < size; i++) {
26232            buffer[offset + i] = contents[position + i];
26233          }
26234        } else {
26235          for (var i = 0; i < size; i++) {
26236            buffer[offset + i] = contents.get(position + i);
26237          }
26238        }
26239        return size;
26240      };
26241      node.stream_ops = stream_ops;
26242      return node;
26243    },
26244    createPreloadedFile: function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
26245      Browser.init();
26246      var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
26247      var dep = getUniqueRunDependency("cp " + fullname);
26248      function processData(byteArray) {
26249        function finish(byteArray) {
26250          if (preFinish) preFinish();
26251          if (!dontCreateFile) {
26252            FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
26253          }
26254          if (onload) onload();
26255          removeRunDependency(dep);
26256        }
26257        var handled = false;
26258        Module["preloadPlugins"].forEach(function (plugin) {
26259          if (handled) return;
26260          if (plugin["canHandle"](fullname)) {
26261            plugin["handle"](byteArray, fullname, finish, function () {
26262              if (onerror) onerror();
26263              removeRunDependency(dep);
26264            });
26265            handled = true;
26266          }
26267        });
26268        if (!handled) finish(byteArray);
26269      }
26270      addRunDependency(dep);
26271      if (typeof url == "string") {
26272        Browser.asyncLoad(url, function (byteArray) {
26273          processData(byteArray);
26274        }, onerror);
26275      } else {
26276        processData(url);
26277      }
26278    },
26279    indexedDB: function () {
26280      return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
26281    },
26282    DB_NAME: function () {
26283      return "EM_FS_" + window.location.pathname;
26284    },
26285    DB_VERSION: 20,
26286    DB_STORE_NAME: "FILE_DATA",
26287    saveFilesToDB: function (paths, onload, onerror) {
26288      onload = onload || function () {};
26289      onerror = onerror || function () {};
26290      var indexedDB = FS.indexedDB();
26291      try {
26292        var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
26293      } catch (e) {
26294        return onerror(e);
26295      }
vendor: 1,934 bytes, lines 26296-26349
26296      openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
26297        out("creating db");
26298        var db = openRequest.result;
26299        db.createObjectStore(FS.DB_STORE_NAME);
26300      };
26301      openRequest.onsuccess = function openRequest_onsuccess() {
26302        var db = openRequest.result;
26303        var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite");
26304        var files = transaction.objectStore(FS.DB_STORE_NAME);
26305        var ok = 0,
26306          fail = 0,
26307          total = paths.length;
26308        function finish() {
26309          if (fail == 0) onload();else onerror();
26310        }
26311        paths.forEach(function (path) {
26312          var putRequest = files.put(FS.analyzePath(path).object.contents, path);
26313          putRequest.onsuccess = function putRequest_onsuccess() {
26314            ok++;
26315            if (ok + fail == total) finish();
26316          };
26317          putRequest.onerror = function putRequest_onerror() {
26318            fail++;
26319            if (ok + fail == total) finish();
26320          };
26321        });
26322        transaction.onerror = onerror;
26323      };
26324      openRequest.onerror = onerror;
26325    },
26326    loadFilesFromDB: function (paths, onload, onerror) {
26327      onload = onload || function () {};
26328      onerror = onerror || function () {};
26329      var indexedDB = FS.indexedDB();
26330      try {
26331        var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
26332      } catch (e) {
26333        return onerror(e);
26334      }
26335      openRequest.onupgradeneeded = onerror;
26336      openRequest.onsuccess = function openRequest_onsuccess() {
26337        var db = openRequest.result;
26338        try {
26339          var transaction = db.transaction([FS.DB_STORE_NAME], "readonly");
26340        } catch (e) {
26341          onerror(e);
26342          return;
26343        }
26344        var files = transaction.objectStore(FS.DB_STORE_NAME);
26345        var ok = 0,
26346          fail = 0,
26347          total = paths.length;
26348        function finish() {
26349          if (fail == 0) onload();
26349else onerror();
26350        }
26351        paths.forEach(function (path) {
26352          var getRequest = files.get(path);
26353          getRequest.onsuccess = function getRequest_onsuccess() {
26354            if (FS.analyzePath(path).exists) {
26355              FS.unlink(path);
26356            }
26357            FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
26358            ok++;
26359            if (ok + fail == total) finish();
26360          };
26361          getRequest.onerror = function getRequest_onerror() {
26362            fail++;
26363            if (ok + fail == total) finish();
26364          };
26365        });
26366        transaction.onerror = onerror;
26367      };
26368      openRequest.onerror = onerror;
26369    },
26370    mmapAlloc: function (size) {
26371      var alignedSize = alignMemory(size, 16384);
26372      var ptr = _malloc(alignedSize);
26373      while (size < alignedSize) HEAP8[ptr + size++] = 0;
26374      return ptr;
26375    }
26376  };
26377  function _emscripten_set_main_loop_timing(mode, value) {
26378    Browser.mainLoop.timingMode = mode;
26379    Browser.mainLoop.timingValue = value;
26380    if (!Browser.mainLoop.func) {
26381      return 1;
26382    }
26383    if (mode == 0) {
26384      Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
26385        var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0;
26386        setTimeout(Browser.mainLoop.runner, timeUntilNextTick);
26387      };
26388      Browser.mainLoop.method = "timeout";
26389    } else if (mode == 1) {
26390      Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
26391        Browser.requestAnimationFrame(Browser.mainLoop.runner);
26392      };
26393      Browser.mainLoop.method = "rAF";
26394    } else if (mode == 2) {
26395      if (typeof setImmediate === "undefined") {
26396        var setImmediates = [];
26397        var emscriptenMainLoopMessageId = "setimmediate";
26398        var Browser_setImmediate_messageHandler = function (event) {
26399          if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
26400            event.stopPropagation();
26401            setImmediates.shift()();
26402          }
26403        };
26404        addEventListener("message", Browser_setImmediate_messageHandler, true);
26405        setImmediate = function Browser_emulated_setImmediate(func) {
26406          setImmediates.push(func);
26407          if (ENVIRONMENT_IS_WORKER) {
26408            if (Module["setImmediates"] === undefined) Module["setImmediates"] = [];
26409            Module["setImmediates"].push(func);
26410            postMessage({
26411              target: emscriptenMainLoopMessageId
26412            });
26413          } else postMessage(emscriptenMainLoopMessageId, "*");
26414        };
26415      }
26416      Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
26417        setImmediate(Browser.mainLoop.runner);
26418      };
26419      Browser.mainLoop.method = "immediate";
26420    }
26421    return 0;
26422  }
26423  var _emscripten_get_now;
26424  if (typeof performance !== "undefined" && performance.now) {
26425    _emscripten_get_now = function () {
26426      return performance.now();
26427    };
26428  } else {
26429    _emscripten_get_now = Date.now;
26430  }
26431  function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
26432    noExitRuntime = true;
26433    assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
26434    Browser.mainLoop.func = func;
26435    Browser.mainLoop.arg = arg;
26436    var browserIterationFunc;
26437    if (typeof arg !== "undefined") {
26438      browserIterationFunc = function () {
26439        Module["dynCall_vi"](func, arg);
26440      };
26441    } else {
26442      browserIterationFunc = function () {
26443        Module["dynCall_v"](func);
26444      };
26445    }
26446    var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
26447    Browser.mainLoop.runner = function Browser_mainLoop_runner() {
26448      if (ABORT) return;
26449      if (Browser.mainLoop.queue.length > 0) {
26450        var start = Date.now();
26451        var blocker = Browser.mainLoop.queue.shift();
26452        blocker.func(blocker.arg);
26453        if (Browser.mainLoop.remainingBlockers) {
26454          var remaining = Browser.mainLoop.remainingBlockers;
26455          var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
26456          if (blocker.counted) {
26457            Browser.mainLoop.remainingBlockers = next;
26458          } else {
26459            next = next + .5;
26460            Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
26461          }
26462        }
26463        console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
26464        Browser.mainLoop.updateStatus();
26465        if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
26466        setTimeout(Browser.mainLoop.runner, 0);
26467        return;
26468      }
26469      if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
26470      Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
26471      if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
26472        Browser.mainLoop.scheduler();
26473        return;
26474      } else if (Browser.mainLoop.timingMode == 0) {
26475        Browser.mainLoop.tickStartTime = _emscripten_get_now();
26476      }
26477      Browser.mainLoop.runIter(browserIterationFunc);
26478      if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
26479      if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
26480      Browser.mainLoop.scheduler();
26481    };
26482    if (!noSetTiming) {
26483      if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps);else _emscripten_set_main_loop_timing(1, 1);
26484      Browser.mainLoop.scheduler();
26485    }
26486    if (simulateInfiniteLoop) {
26487      throw "unwind";
26488    }
26489  }
26490  var Browser = {
26491    mainLoop: {
26492      scheduler: null,
26493      method: "",
26494      currentlyRunningMainloop: 0,
26495      func: null,
26496      arg: 0,
26497      timingMode: 0,
26498      timingValue: 0,
26499      currentFrameNumber: 0,
26500      queue: [],
26501      pause: function () {
26502        Browser.mainLoop.scheduler = null;
26503        Browser.mainLoop.currentlyRunningMainloop++;
26504      },
26505      resume: function () {
26506        Browser.mainLoop.currentlyRunningMainloop++;
26507        var timingMode = Browser.mainLoop.timingMode;
26508        var timingValue = Browser.mainLoop.timingValue;
26509        var func = Browser.mainLoop.func;
26510        Browser.mainLoop.func = null;
26511        _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true);
26512        _emscripten_set_main_loop_timing(timingMode, timingValue);
26513        Browser.mainLoop.scheduler();
26514      },
26515      updateStatus: function () {
26516        if (Module["setStatus"]) {
26517          var message = Module["statusMessage"] || "Please wait...";
26518          var remaining = Browser.mainLoop.remainingBlockers;
26519          var expected = Browser.mainLoop.expectedBlockers;
26520          if (remaining) {
26521            if (remaining < expected) {
26522              Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")");
26523            } else {
26524              Module["setStatus"](message);
26525            }
26526          } else {
26527            Module["setStatus"]("");
26528          }
26529        }
26530      },
26531      runIter: function (func) {
26532        if (ABORT) return;
26533        if (Module["preMainLoop"]) {
26534          var preRet = Module["preMainLoop"]();
26535          if (preRet === false) {
26536            return;
26537          }
26538        }
26539        try {
26540          func();
26541        } catch (e) {
26542          if (e instanceof ExitStatus) {
26543            return;
26544          } else if (e == "unwind") {
26545            return;
26546          } else {
26547            if (e && typeof e === "object" && e.stack) err("exception thrown: " + [e, e.stack]);
26548            throw e;
26549          }
26550        }
26551        if (Module["postMainLoop"]) Module["postMainLoop"]();
26552      }
26553    },
26554    isFullscreen: false,
26555    pointerLock: false,
26556    moduleContextCreatedCallbacks: [],
26557    workers: [],
26558    init: function () {
vendor: 4,239 bytes, lines 26559-26659
26559      if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];
26560      if (Browser.initted) return;
26561      Browser.initted = true;
26562      try {
26563        new Blob();
26564        Browser.hasBlobConstructor = true;
26565      } catch (e) {
26566        Browser.hasBlobConstructor = false;
26567        console.log("warning: no blob constructor, cannot create blobs with mimetypes");
26568      }
26569      Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null;
26570      Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined;
26571      if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") {
26572        console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
26573        Module.noImageDecoding = true;
26574      }
26575      var imagePlugin = {};
26576      imagePlugin["canHandle"] = function imagePlugin_canHandle(name) {
26577        return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
26578      };
26579      imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) {
26580        var b = null;
26581        if (Browser.hasBlobConstructor) {
26582          try {
26583            b = new Blob([byteArray], {
26584              type: Browser.getMimetype(name)
26585            });
26586            if (b.size !== byteArray.length) {
26587              b = new Blob([new Uint8Array(byteArray).buffer], {
26588                type: Browser.getMimetype(name)
26589              });
26590            }
26591          } catch (e) {
26592            warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder");
26593          }
26594        }
26595        if (!b) {
26596          var bb = new Browser.BlobBuilder();
26597          bb.append(new Uint8Array(byteArray).buffer);
26598          b = bb.getBlob();
26599        }
26600        var url = Browser.URLObject.createObjectURL(b);
26601        var img = new Image();
26602        img.onload = function img_onload() {
26603          assert(img.complete, "Image " + name + " could not be decoded");
26604          var canvas = document.createElement("canvas");
26605          canvas.width = img.width;
26606          canvas.height = img.height;
26607          var ctx = canvas.getContext("2d");
26608          ctx.drawImage(img, 0, 0);
26609          Module["preloadedImages"][name] = canvas;
26610          Browser.URLObject.revokeObjectURL(url);
26611          if (onload) onload(byteArray);
26612        };
26613        img.onerror = function img_onerror(event) {
26614          console.log("Image " + url + " could not be decoded");
26615          if (onerror) onerror();
26616        };
26617        img.src = url;
26618      };
26619      Module["preloadPlugins"].push(imagePlugin);
26620      var audioPlugin = {};
26621      audioPlugin["canHandle"] = function audioPlugin_canHandle(name) {
26622        return !Module.noAudioDecoding && name.substr(-4) in {
26623          ".ogg": 1,
26624          ".wav": 1,
26625          ".mp3": 1
26626        };
26627      };
26628      audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) {
26629        var done = false;
26630        function finish(audio) {
26631          if (done) return;
26632          done = true;
26633          Module["preloadedAudios"][name] = audio;
26634          if (onload) onload(byteArray);
26635        }
26636        function fail() {
26637          if (done) return;
26638          done = true;
26639          Module["preloadedAudios"][name] = new Audio();
26640          if (onerror) onerror();
26641        }
26642        if (Browser.hasBlobConstructor) {
26643          try {
26644            var b = new Blob([byteArray], {
26645              type: Browser.getMimetype(name)
26646            });
26647          } catch (e) {
26648            return fail();
26649          }
26650          var url = Browser.URLObject.createObjectURL(b);
26651          var audio = new Audio();
26652          audio.addEventListener("canplaythrough", function () {
26653            finish(audio);
26654          }, false);
26655          audio.onerror = function audio_onerror(event) {
26656            if (done) return;
26657            console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach");
26658            function encode64(data) {
26659              var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
26659+/";
26660              var PAD = "=";
26661              var ret = "";
26662              var leftchar = 0;
26663              var leftbits = 0;
26664              for (var i = 0; i < data.length; i++) {
26665                leftchar = leftchar << 8 | data[i];
26666                leftbits += 8;
26667                while (leftbits >= 6) {
26668                  var curr = leftchar >> leftbits - 6 & 63;
26669                  leftbits -= 6;
26670                  ret += BASE[curr];
26671                }
26672              }
26673              if (leftbits == 2) {
26674                ret += BASE[(leftchar & 3) << 4];
26675                ret += PAD + PAD;
26676              } else if (leftbits == 4) {
26677                ret += BASE[(leftchar & 15) << 2];
26678                ret += PAD;
26679              }
26680              return ret;
26681            }
26682            audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);
26683            finish(audio);
26684          };
26685          audio.src = url;
26686          Browser.safeSetTimeout(function () {
26687            finish(audio);
26688          }, 1e4);
26689        } else {
26690          return fail();
26691        }
26692      };
26693      Module["preloadPlugins"].push(audioPlugin);
26694      function pointerLockChange() {
26695        Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"];
26696      }
26697      var canvas = Module["canvas"];
26698      if (canvas) {
26699        canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function () {};
26700        canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function () {};
26701        canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
26702        document.addEventListener("pointerlockchange", pointerLockChange, false);
26703        document.addEventListener("mozpointerlockchange", pointerLockChange, false);
26704        document.addEventListener("webkitpointerlockchange", pointerLockChange, false);
26705        document.addEventListener("mspointerlockchange", pointerLockChange, false);
26706        if (Module["elementPointerLock"]) {
26707          canvas.addEventListener("click", function (ev) {
26708            if (!Browser.pointerLock && Module["canvas"].requestPointerLock) {
26709              Module["canvas"].requestPointerLock();
26710              ev.preventDefault();
26711            }
26712          }, false);
26713        }
26714      }
26715    },
26716    createContext: function (canvas, useWebGL, setInModule, webGLContextAttributes) {
26717      if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx;
26718      var ctx;
26719      var contextHandle;
26720      if (useWebGL) {
26721        var contextAttributes = {
26722          antialias: false,
26723          alpha: false,
26724          majorVersion: 1
26725        };
26726        if (webGLContextAttributes) {
26727          for (var attribute in webGLContextAttributes) {
26728            contextAttributes[attribute] = webGLContextAttributes[attribute];
26729          }
26730        }
26731        if (typeof GL !== "undefined") {
26732          contextHandle = GL.createContext(canvas, contextAttributes);
26733          if (contextHandle) {
26734            ctx = GL.getContext(contextHandle).GLctx;
26735          }
26736        }
26737      } else {
26738        ctx = canvas.getContext("2d");
26739      }
26740      if (!ctx) return null;
26741      if (setInModule) {
26742        if (!useWebGL) assert(typeof GLctx === "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it");
26743        Module.ctx = ctx;
26744        if (useWebGL) GL.makeContextCurrent(contextHandle);
26745        Module.useWebGL = useWebGL;
26746        Browser.moduleContextCreatedCallbacks.forEach(function (callback) {
26747          callback();
26748        });
26749        Browser.init();
26750      }
26751      return ctx;
26752    },
26753    destroyContext: function (canvas, useWebGL, setInModule) {},
26754    fullscreenHandlersInstalled: false,
26755    lockPointer: undefined,
26756    resizeCanvas: undefined,
26757    requestFullscreen: function (lockPointer, resizeCanvas) {
26758      Browser.lockPointer = lockPointer;
26759      Browser.resizeCanvas = resizeCanvas;
26760      if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = true;
26761      if (typeof Browser.resizeCanvas === "undefined") Browser.resizeCanvas = false;
26762      var canvas = Module["canvas"];
26763      function fullscreenChange() {
26764        Browser.isFullscreen = false;
26765        var canvasContainer = canvas.parentNode;
26766        if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) {
26767          canvas.exitFullscreen = Browser.exitFullscreen;
26768          if (Browser.lockPointer) canvas.requestPointerLock();
26769          Browser.isFullscreen = true;
26770          if (Browser.resizeCanvas) {
26771            Browser.setFullscreenCanvasSize();
26772          } else {
26773            Browser.updateCanvasDimensions(canvas);
26774          }
26775        } else {
26776          canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
26777          canvasContainer.parentNode.removeChild(canvasContainer);
26778          if (Browser.resizeCanvas) {
26779            Browser.setWindowedCanvasSize();
26780          } else {
26781            Browser.updateCanvasDimensions(canvas);
26782          }
26783        }
26784        if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen);
26785        if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen);
26786      }
26787      if (!Browser.fullscreenHandlersInstalled) {
26788        Browser.fullscreenHandlersInstalled = true;
26789        document.addEventListener("fullscreenchange", fullscreenChange, false);
26790        document.addEventListener("mozfullscreenchange", fullscreenChange, false);
26791        document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
26792        document.addEventListener("MSFullscreenChange", fullscreenChange, false);
26793      }
26794      var canvasContainer = document.createElement("div");
26795      canvas.parentNode.insertBefore(canvasContainer, canvas);
26796      canvasContainer.appendChild(canvas);
26797      canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? function () {
26798        canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]);
26799      } : null) || (canvasContainer["webkitRequestFullScreen"] ? function () {
26800        canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]);
26801      } : null);
26802      canvasContainer.requestFullscreen();
26803    },
26804    exitFullscreen: function () {
26805      if (!Browser.isFullscreen) {
26806        return false;
26807      }
26808      var CFS = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || function () {};
26809      CFS.apply(document, []);
26810      return true;
26811    },
26812    nextRAF: 0,
26813    fakeRequestAnimationFrame: function (func) {
26814      var now = Date.now();
26815      if (Browser.nextRAF === 0) {
26816        Browser.nextRAF = now + 1e3 / 60;
26817      } else {
26818        while (now + 2 >= Browser.nextRAF) {
26819          Browser.nextRAF += 1e3 / 60;
26820        }
26821      }
26822      var delay = Math.max(Browser.nextRAF - now, 0);
26823      setTimeout(func, delay);
26824    },
26825    requestAnimationFrame: function (func) {
26826      if (typeof requestAnimationFrame === "function") {
26827        requestAnimationFrame(func);
26828        return;
26829      }
26830      var RAF = Browser.fakeRequestAnimationFrame;
26831      if (typeof window !== "undefined") {
26832        RAF = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || RAF;
26833      }
26834      RAF(func);
26835    },
26836    safeCallback: function (func) {
26837      return function () {
26838        if (!ABORT) return func.apply(null, arguments);
26839      };
26840    },
26841    allowAsyncCallbacks: true,
26842    queuedAsyncCallbacks: [],
26843    pauseAsyncCallbacks: function () {
26844      Browser.allowAsyncCallbacks = false;
26845    },
26846    resumeAsyncCallbacks: function () {
26847      Browser.allowAsyncCallbacks = true;
26848      if (Browser.queuedAsyncCallbacks.length > 0) {
26849        var callbacks = Browser.queuedAsyncCallbacks;
26850        Browser.queuedAsyncCallbacks = [];
26851        callbacks.forEach(function (func) {
26852          func();
26853        });
26854      }
26855    },
26856    safeRequestAnimationFrame: function (func) {
26857      return Browser.requestAnimationFrame(function () {
26858        if (ABORT) return;
26859        if (Browser.allowAsyncCallbacks) {
26860          func();
26861        } else {
26862          Browser.queuedAsyncCallbacks.push(func);
26863        }
26864      });
26865    },
26866    safeSetTimeout: function (func, timeout) {
26867      noExitRuntime = true;
26868      return setTimeout(function () {
26869        if (ABORT) return;
26870        if (Browser.allowAsyncCallbacks) {
26871          func();
26872        } else {
26873          Browser.queuedAsyncCallbacks.push(func);
26874        }
26875      }, timeout);
26876    },
26877    safeSetInterval: function (func, timeout) {
26878      noExitRuntime = true;
26879      return setInterval(function () {
26880        if (ABORT) return;
26881        if (Browser.allowAsyncCallbacks) {
26882          func();
26883        }
26884      }, timeout);
26885    },
26886    getMimetype: function (name) {
26887      return {
26888        "jpg": "image/jpeg",
26889        "jpeg": "image/jpeg",
26890        "png": "image/png",
26891        "bmp": "image/bmp",
26892        "ogg": "audio/ogg",
26893        "wav": "audio/wav",
26894        "mp3": "audio/mpeg"
26895      }[name.substr(name.lastIndexOf(".") + 1)];
26896    },
26897    getUserMedia: function (func) {
26898      if (!window.getUserMedia) {
26899        window.getUserMedia = navigator["getUserMedia"] || navigator["mozGetUserMedia"];
26900      }
26901      window.getUserMedia(func);
26902    },
26903    getMovementX: function (event) {
26904      return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
26905    },
26906    getMovementY: function (event) {
26907      return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
26908    },
26909    getMouseWheelDelta: function (event) {
26910      var delta = 0;
26911      switch (event.type) {
26912        case "DOMMouseScroll":
26913          delta = event.detail / 3;
26914          break;
26915        case "mousewheel":
26916          delta = event.wheelDelta / 120;
26917          break;
26918        case "wheel":
26919          delta = event.deltaY;
26920          switch (event.deltaMode) {
26921            case 0:
26922              delta /= 100;
26923              break;
26924            case 1:
26925              delta /= 3;
26926              break;
26927            case 2:
26928              delta *= 80;
26929              break;
26930            default:
26931              throw "unrecognized mouse wheel delta mode: " + event.deltaMode;
26932          }
26933          break;
26934        default:
26935          throw "unrecognized mouse wheel event: " + event.type;
26936      }
26937      return delta;
26938    },
26939    mouseX: 0,
26940    mouseY: 0,
26941    mouseMovementX: 0,
26942    mouseMovementY: 0,
26943    touches: {},
26944    lastTouches: {},
26945    calculateMouseEvent: function (event) {
26946      if (Browser.pointerLock) {
26947        if (event.type != "mousemove" && "mozMovementX" in event) {
26948          Browser.mouseMovementX = Browser.mouseMovementY = 0;
26949        } else {
26950          Browser.mouseMovementX = Browser.getMovementX(event);
26951          Browser.mouseMovementY = Browser.getMovementY(event);
26952        }
26953        if (typeof SDL != "undefined") {
26954          Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
26955          Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
26956        } else {
26957          Browser.mouseX += Browser.mouseMovementX;
26958          Browser.mouseY += Browser.mouseMovementY;
26959        }
26960      } else {
26961        var rect = Module["canvas"].getBoundingClientRect();
26962        var cw = Module["canvas"].width;
26963        var ch = Module["canvas"].height;
26964        var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;
26965        var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;
26966        if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") {
26967          var touch = event.touch;
26968          if (touch === undefined) {
26969            return;
26970          }
26971          var adjustedX = touch.pageX - (scrollX + rect.left);
26972          var adjustedY = touch.pageY - (scrollY + rect.top);
26973          adjustedX = adjustedX * (cw / rect.width);
26974          adjustedY = adjustedY * (ch / rect.height);
26975          var coords = {
26976            x: adjustedX,
26977            y: adjustedY
26978          };
26979          if (event.type === "touchstart") {
26980            Browser.lastTouches[touch.identifier] = coords;
26981            Browser.touches[touch.identifier] = coords;
26982          } else if (event.type === "touchend" || event.type === "touchmove") {
26983            var last = Browser.touches[touch.identifier];
26984            if (!last) last = coords;
26985            Browser.lastTouches[touch.identifier] = last;
26986            Browser.touches[touch.identifier] = coords;
26987          }
26988          return;
26989        }
26990        var x = event.pageX - (scrollX + rect.left);
26991        var y = event.pageY - (scrollY + rect.top);
26992        x = x * (cw / rect.width);
26993        y = y * (ch / rect.height);
26994        Browser.mouseMovementX = x - Browser.mouseX;
26995        Browser.mouseMovementY = y - Browser.mouseY;
26996        Browser.mouseX = x;
26997        Browser.mouseY = y;
26998      }
26999    },
27000    asyncLoad: function (url, onload, onerror, noRunDep) {
27001      var dep = !noRunDep ? getUniqueRunDependency("al " + url) : "";
27002      readAsync(url, function (arrayBuffer) {
27003        assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
27004        onload(new Uint8Array(arrayBuffer));
27005        if (dep) removeRunDependency(dep);
27006      }, function (event) {
27007        if (onerror) {
27008          onerror();
27009        } else {
27010          throw 'Loading data file "' + url + '" failed.';
27011        }
27012      });
27013      if (dep) addRunDependency(dep);
27014    },
27015    resizeListeners: [],
27016    updateResizeListeners: function () {
27017      var canvas = Module["canvas"];
27018      Browser.resizeListeners.forEach(function (listener) {
27019        listener(canvas.width, canvas.height);
27020      });
27021    },
27022    setCanvasSize: function (width, height, noUpdates) {
27023      var canvas = Module["canvas"];
27024      Browser.updateCanvasDimensions(canvas, width, height);
27025      if (!noUpdates) Browser.updateResizeListeners();
27026    },
27027    windowedWidth: 0,
27028    windowedHeight: 0,
27029    setFullscreenCanvasSize: function () {
27030      if (typeof SDL != "undefined") {
27031        var flags = HEAPU32[SDL.screen >> 2];
27032        flags = flags | 8388608;
27033        HEAP32[SDL.screen >> 2] = flags;
27034      }
27035      Browser.updateCanvasDimensions(Module["canvas"]);
27036      Browser.updateResizeListeners();
27037    },
27038    setWindowedCanvasSize: function () {
27039      if (typeof SDL != "undefined") {
27040        var flags = HEAPU32[SDL.screen >> 2];
27041        flags = flags & ~8388608;
27042        HEAP32[SDL.screen >> 2] = flags;
27043      }
27044      Browser.updateCanvasDimensions(Module["canvas"]);
27045      Browser.updateResizeListeners();
27046    },
27047    updateCanvasDimensions: function (canvas, wNative, hNative) {
27048      if (wNative && hNative) {
27049        canvas.widthNative = wNative;
27050        canvas.heightNative = hNative;
27051      } else {
27052        wNative = canvas.widthNative;
27053        hNative = canvas.heightNative;
27054      }
27055      var w = wNative;
27056      var h = hNative;
27057      if (Module["forcedAspectRatio"] && Module["forcedAspectRatio"] > 0) {
27058        if (w / h < Module["forcedAspectRatio"]) {
27059          w = Math.round(h * Module["forcedAspectRatio"]);
27060        } else {
27061          h = Math.round(w / Module["forcedAspectRatio"]);
27062        }
27063      }
27064      if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") {
27065        var factor = Math.min(screen.width / w, screen.height / h);
27066        w = Math.round(w * factor);
27067        h = Math.round(h * factor);
27068      }
27069      if (Browser.resizeCanvas) {
27070        if (canvas.width != w) canvas.width = w;
27071        if (canvas.height != h) canvas.height = h;
27072        if (typeof canvas.style != "undefined") {
27073          canvas.style.removeProperty("width");
27074          canvas.style.removeProperty("height");
27075        }
27076      } else {
27077        if (canvas.width != wNative) canvas.width = wNative;
27078        if (canvas.height != hNative) canvas.height = hNative;
27079        if (typeof canvas.style != "undefined") {
27080          if (w != wNative || h != hNative) {
27081            canvas.style.setProperty("width", w + "px", "important");
27082            canvas.style.setProperty("height", h + "px", "important");
27083          } else {
27084            canvas.style.removeProperty("width");
27085            canvas.style.removeProperty("height");
27086          }
27087        }
27088      }
27089    },
27090    wgetRequests: {},
27091    nextWgetRequestHandle: 0,
27092    getNextWgetRequestHandle: function () {
27093      var handle = Browser.nextWgetRequestHandle;
27094      Browser.nextWgetRequestHandle++;
27095      return handle;
27096    }
27097  };
27098  function _SDL_GetTicks() {
27099    return Date.now() - SDL.startTime | 0;
27100  }
27101  function _SDL_LockSurface(surf) {
27102    var surfData = SDL.surfaces[surf];
27103    surfData.locked++;
27104    if (surfData.locked > 1) return 0;
27105    if (!surfData.buffer) {
27106      surfData.buffer = _malloc(surfData.width * surfData.height * 4);
27107      HEAP32[surf + 20 >> 2] = surfData.buffer;
27108    }
27109    HEAP32[surf + 20 >> 2] = surfData.buffer;
27110    if (surf == SDL.screen && Module.screenIsReadOnly && surfData.image) return 0;
27111    if (SDL.defaults.discardOnLock) {
27112      if (!surfData.image) {
27113        surfData.image = surfData.ctx.createImageData(surfData.width, surfData.height);
27114      }
27115      if (!SDL.defaults.opaqueFrontBuffer) return;
27116    } else {
27117      surfData.image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
27118    }
27119    if (surf == SDL.screen && SDL.defaults.opaqueFrontBuffer) {
27120      var data = surfData.image.data;
27121      var num = data.length;
27122      for (var i = 0; i < num / 4; i++) {
27123        data[i * 4 + 3] = 255;
27124      }
27125    }
27126    if (SDL.defaults.copyOnLock && !SDL.defaults.discardOnLock) {
27127      if (surfData.isFlagSet(2097152)) {
27128        throw "CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set" + new Error().stack;
27129      } else {
27130        HEAPU8.set(surfData.image.data, surfData.buffer);
27131      }
27132    }
27133    return 0;
27134  }
27135  function SDL_unicode() {
27136    return SDL.unicode;
27137  }
27138  function SDL_ttfContext() {
27139    return SDL.ttfContext;
27140  }
27141  function SDL_audio() {
27142    return SDL.audio;
27143  }
27144  var SDL = {
27145    defaults: {
27146      width: 320,
27147      height: 200,
27148      copyOnLock: true,
27149      discardOnLock: false,
27150      opaqueFrontBuffer: true
27151    },
27152    version: null,
27153    surfaces: {},
27154    canvasPool: [],
27155    events: [],
27156    fonts: [null],
27157    audios: [null],
27158    rwops: [null],
27159    music: {
27160      audio: null,
27161      volume: 1
27162    },
27163    mixerFrequency: 22050,
27164    mixerFormat: 32784,
27165    mixerNumChannels: 2,
27166    mixerChunkSize: 1024,
27167    channelMinimumNumber: 0,
27168    GL: false,
27169    glAttributes: {
27170      0: 3,
27171      1: 3,
27172      2: 2,
27173      3: 0,
27174      4: 0,
27175      5: 1,
27176      6: 16,
27177      7: 0,
27178      8: 0,
27179      9: 0,
27180      10: 0,
27181      11: 0,
27182      12: 0,
27183      13: 0,
27184      14: 0,
27185      15: 1,
27186      16: 0,
27187      17: 0,
27188      18: 0
27189    },
27190    keyboardState: null,
27191    keyboardMap: {},
27192    canRequestFullscreen: false,
27193    isRequestingFullscreen: false,
27194    textInput: false,
27195    startTime: null,
27196    initFlags: 0,
27197    buttonState: 0,
27198    modState: 0,
27199    DOMButtons: [0, 0, 0],
27200    DOMEventToSDLEvent: {},
27201    TOUCH_DEFAULT_ID: 0,
27202    eventHandler: null,
27203    eventHandlerContext: null,
27204    eventHandlerTemp: 0,
27205    keyCodes: {
27206      16: 1249,
27207      17: 1248,
27208      18: 1250,
27209      20: 1081,
27210      33: 1099,
27211      34: 1102,
27212      35: 1101,
27213      36: 1098,
27214      37: 1104,
27215      38: 1106,
27216      39: 1103,
27217      40: 1105,
27218      44: 316,
27219      45: 1097,
27220      46: 127,
27221      91: 1251,
27222      93: 1125,
27223      96: 1122,
27224      97: 1113,
27225      98: 1114,
27226      99: 1115,
27227      100: 1116,
27228      101: 1117,
27229      102: 1118,
27230      103: 1119,
27231      104: 1120,
27232      105: 1121,
27233      106: 1109,
27234      107: 1111,
27235      109: 1110,
27236      110: 1123,
27237      111: 1108,
27238      112: 1082,
27239      113: 1083,
27240      114: 1084,
27241      115: 1085,
27242      116: 1086,
27243      117: 1087,
27244      118: 1088,
27245      119: 1089,
27246      120: 1090,
27247      121: 1091,
27248      122: 1092,
27249      123: 1093,
27250      124: 1128,
27251      125: 1129,
27252      126: 1130,
27253      127: 1131,
27254      128: 1132,
27255      129: 1133,
27256      130: 1134,
27257      131: 1135,
27258      132: 1136,
27259      133: 1137,
27260      134: 1138,
27261      135: 1139,
27262      144: 1107,
27263      160: 94,
27264      161: 33,
27265      162: 34,
27266      163: 35,
27267      164: 36,
27268      165: 37,
27269      166: 38,
27270      167: 95,
27271      168: 40,
27272      169: 41,
27273      170: 42,
27274      171: 43,
27275      172: 124,
27276      173: 45,
27277      174: 123,
27278      175: 125,
27279      176: 126,
27280      181: 127,
27281      182: 129,
27282      183: 128,
27283      188: 44,
27284      190: 46,
27285      191: 47,
27286      192: 96,
27287      219: 91,
27288      220: 92,
27289      221: 93,
27290      222: 39,
27291      224: 1251
27292    },
27293    scanCodes: {
27294      8: 42,
27295      9: 43,
27296      13: 40,
27297      27: 41,
27298      32: 44,
27299      35: 204,
27300      39: 53,
27301      44: 54,
27302      46: 55,
27303      47: 56,
27304      48: 39,
27305      49: 30,
27306      50: 31,
27307      51: 32,
27308      52: 33,
27309      53: 34,
27310      54: 35,
27311      55: 36,
27312      56: 37,
27313      57: 38,
27314      58: 203,
27315      59: 51,
27316      61: 46,
27317      91: 47,
27318      92: 49,
27319      93: 48,
27320      96: 52,
27321      97: 4,
27322      98: 5,
27323      99: 6,
27324      100: 7,
27325      101: 8,
27326      102: 9,
27327      103: 10,
27328      104: 11,
27329      105: 12,
27330      106: 13,
27331      107: 14,
27332      108: 15,
27333      109: 16,
27334      110: 17,
27335      111: 18,
27336      112: 19,
27337      113: 20,
27338      114: 21,
27339      115: 22,
27340      116: 23,
27341      117: 24,
27342      118: 25,
27343      119: 26,
27344      120: 27,
27345      121: 28,
27346      122: 29,
27347      127: 76,
27348      305: 224,
27349      308: 226,
27350      316: 70
27351    },
27352    loadRect: function (rect) {
27353      return {
27354        x: HEAP32[rect + 0 >> 2],
27355        y: HEAP32[rect + 4 >> 2],
27356        w: HEAP32[rect + 8 >> 2],
27357        h: HEAP32[rect + 12 >> 2]
27358      };
27359    },
27360    updateRect: function (rect, r) {
27361      HEAP32[rect >> 2] = r.x;
27362      HEAP32[rect + 4 >> 2] = r.y;
27363      HEAP32[rect + 8 >> 2] = r.w;
27364      HEAP32[rect + 12 >> 2] = r.h;
27365    },
27366    intersectionOfRects: function (first, second) {
27367      var leftX = Math.max(first.x, second.x);
27368      var leftY = Math.max(first.y, second.y);
27369      var rightX = Math.min(first.x + first.w, second.x + second.w);
27370      var rightY = Math.min(first.y + first.h, second.y + second.h);
27371      return {
27372        x: leftX,
27373        y: leftY,
27374        w: Math.max(leftX, rightX) - leftX,
27375        h: Math.max(leftY, rightY) - leftY
27376      };
27377    },
27378    checkPixelFormat: function (fmt) {},
27379    loadColorToCSSRGB: function (color) {
27380      var rgba = HEAP32[color >> 2];
27381      return "rgb(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + ")";
27382    },
27383    loadColorToCSSRGBA: function (color) {
27384      var rgba = HEAP32[color >> 2];
27385      return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >> 24 & 255) / 255 + ")";
27386    },
27387    translateColorToCSSRGBA: function (rgba) {
27388      return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >>> 24) / 255 + ")";
27389    },
27390    translateRGBAToCSSRGBA: function (r, g, b, a) {
27391      return "rgba(" + (r & 255) + "," + (g & 255) + "," + (b & 255) + "," + (a & 255) / 255 + ")";
27392    },
27393    translateRGBAToColor: function (r, g, b, a) {
27394      return r | g << 8 | b << 16 | a << 24;
27395    },
27396    makeSurface: function (width, height, flags, usePageCanvas, source, rmask, gmask, bmask, amask) {
27397      flags = flags || 0;
27398      var is_SDL_HWSURFACE = flags & 1;
27399      var is_SDL_HWPALETTE = flags & 2097152;
27400      var is_SDL_OPENGL = flags & 67108864;
27401      var surf = _malloc(60);
27402      var pixelFormat = _malloc(44);
27403      var bpp = is_SDL_HWPALETTE ? 1 : 4;
27404      var buffer = 0;
27405      if (!is_SDL_HWSURFACE && !is_SDL_OPENGL) {
27406        buffer = _malloc(width * height * 4);
27407      }
27408      HEAP32[surf >> 2] = flags;
27409      HEAP32[surf + 4 >> 2] = pixelFormat;
27410      HEAP32[surf + 8 >> 2] = width;
27411      HEAP32[surf + 12 >> 2] = height;
27412      HEAP32[surf + 16 >> 2] = width * bpp;
27413      HEAP32[surf + 20 >> 2] = buffer;
27414      HEAP32[surf + 36 >> 2] = 0;
27415      HEAP32[surf + 40 >> 2] = 0;
27416      HEAP32[surf + 44 >> 2] = Module["canvas"].width;
27417      HEAP32[surf + 48 >> 2] = Module["canvas"].height;
27418      HEAP32[surf + 56 >> 2] = 1;
27419      HEAP32[pixelFormat >> 2] = -2042224636;
27420      HEAP32[pixelFormat + 4 >> 2] = 0;
27421      HEAP8[pixelFormat + 8 >> 0] = bpp * 8;
27422      HEAP8[pixelFormat + 9 >> 0] = bpp;
27423      HEAP32[pixelFormat + 12 >> 2] = rmask || 255;
27424      HEAP32[pixelFormat + 16 >> 2] = gmask || 65280;
27425      HEAP32[pixelFormat + 20 >> 2] = bmask || 16711680;
27426      HEAP32[pixelFormat + 24 >> 2] = amask || 4278190080;
27427      SDL.GL = SDL.GL || is_SDL_OPENGL;
27428      var canvas;
27429      if (!usePageCanvas) {
27430        if (SDL.canvasPool.length > 0) {
27431          canvas = SDL.canvasPool.pop();
27432        } else {
27433          canvas = document.createElement("canvas");
27434        }
27435        canvas.width = width;
27436        canvas.height = height;
27437      } else {
27438        canvas = Module["canvas"];
27439      }
27440      var webGLContextAttributes = {
27441        antialias: SDL.glAttributes[13] != 0 && SDL.glAttributes[14] > 1,
27442        depth: SDL.glAttributes[6] > 0,
27443        stencil: SDL.glAttributes[7] > 0,
27444        alpha: SDL.glAttributes[3] > 0
27445      };
27446      var ctx = Browser.createContext(canvas, is_SDL_OPENGL, usePageCanvas, webGLContextAttributes);
27447      SDL.surfaces[surf] = {
27448        width: width,
27449        height: height,
27450        canvas: canvas,
27451        ctx: ctx,
27452        surf: surf,
27453        buffer: buffer,
27454        pixelFormat: pixelFormat,
27455        alpha: 255,
27456        flags: flags,
27457        locked: 0,
27458        usePageCanvas: usePageCanvas,
27459        source: source,
27460        isFlagSet: function (flag) {
27461          return flags & flag;
27462        }
27463      };
27464      return surf;
27465    },
27466    copyIndexedColorData: function (surfData, rX, rY, rW, rH) {
27467      if (!surfData.colors) {
27468        return;
27469      }
27470      var fullWidth = Module["canvas"].width;
27471      var fullHeight = Module["canvas"].height;
27472      var startX = rX || 0;
27473      var startY = rY || 0;
27474      var endX = (rW || fullWidth - startX) + startX;
27475      var endY = (rH || fullHeight - startY) + startY;
27476      var buffer = surfData.buffer;
27477      if (!surfData.image.data32) {
27478        surfData.image.data32 = new Uint32Array(surfData.image.data.buffer);
27479      }
27480      var data32 = surfData.image.data32;
27481      var colors32 = surfData.colors32;
27482      for (var y = startY; y < endY; ++y) {
27483        var base = y * fullWidth;
27484        for (var x = startX; x < endX; ++x) {
27485          data32[base + x] = colors32[HEAPU8[buffer + base + x >> 0]];
27486        }
27487      }
27488    },
27489    freeSurface: function (surf) {
27490      var refcountPointer = surf + 56;
27491      var refcount = HEAP32[refcountPointer >> 2];
27492      if (refcount > 1) {
27493        HEAP32[refcountPointer >> 2] = refcount - 1;
27494        return;
27495      }
27496      var info = SDL.surfaces[surf];
27497      if (!info.usePageCanvas && info.canvas) SDL.canvasPool.push(info.canvas);
27498      if (info.buffer) _free(info.buffer);
27499      _free(info.pixelFormat);
27500      _free(surf);
27501      SDL.surfaces[surf] = null;
27502      if (surf === SDL.screen) {
27503        SDL.screen = null;
27504      }
27505    },
27506    blitSurface: function (src, srcrect, dst, dstrect, scale) {
27507      var srcData = SDL.surfaces[src];
27508      var dstData = SDL.surfaces[dst];
27509      var sr, dr;
27510      if (srcrect) {
27511        sr = SDL.loadRect(srcrect);
27512      } else {
27513        sr = {
27514          x: 0,
27515          y: 0,
27516          w: srcData.width,
27517          h: srcData.height
27518        };
27519      }
27520      if (dstrect) {
27521        dr = SDL.loadRect(dstrect);
27522      } else {
27523        dr = {
27524          x: 0,
27525          y: 0,
27526          w: srcData.width,
27527          h: srcData.height
27528        };
27529      }
27530      if (dstData.clipRect) {
27531        var widthScale = !scale || sr.w === 0 ? 1 : sr.w / dr.w;
27532        var heightScale = !scale || sr.h === 0 ? 1 : sr.h / dr.h;
27533        dr = SDL.intersectionOfRects(dstData.clipRect, dr);
27534        sr.w = dr.w * widthScale;
27535        sr.h = dr.h * heightScale;
27536        if (dstrect) {
27537          SDL.updateRect(dstrect, dr);
27538        }
27539      }
27540      var blitw, blith;
27541      if (scale) {
27542        blitw = dr.w;
27543        blith = dr.h;
27544      } else {
27545        blitw = sr.w;
27546        blith = sr.h;
27547      }
27548      if (sr.w === 0 || sr.h === 0 || blitw === 0 || blith === 0) {
27549        return 0;
27550      }
27551      var oldAlpha = dstData.ctx.globalAlpha;
27552      dstData.ctx.globalAlpha = srcData.alpha / 255;
27553      dstData.ctx.drawImage(srcData.canvas, sr.x, sr.y, sr.w, sr.h, dr.x, dr.y, blitw, blith);
27554      dstData.ctx.globalAlpha = oldAlpha;
27555      if (dst != SDL.screen) {
27556        warnOnce("WARNING: copying canvas data to memory for compatibility");
27557        _SDL_LockSurface(dst);
27558        dstData.locked--;
27559      }
27560      return 0;
27561    },
27562    downFingers: {},
27563    savedKeydown: null,
27564    receiveEvent: function (event) {
27565      function unpressAllPressedKeys() {
27566        for (var code in SDL.keyboardMap) {
27567          SDL.events.push({
27568            type: "keyup",
27569            keyCode: SDL.keyboardMap[code]
27570          });
27571        }
27572      }
27573      switch (event.type) {
27574        case "touchstart":
27575        case "touchmove":
27576          {
27577            event.preventDefault();
27578            var touches = [];
27579            if (event.type === "touchstart") {
27580              for (var i = 0; i < event.touches.length; i++) {
27581                var touch = event.touches[i];
27582                if (SDL.downFingers[touch.identifier] != true) {
27583                  SDL.downFingers[touch.identifier] = true;
27584                  touches.push(touch);
27585                }
27586              }
27587            } else {
27588              touches = event.touches;
27589            }
27590            var firstTouch = touches[0];
27591            if (firstTouch) {
27592              if (event.type == "touchstart") {
27593                SDL.DOMButtons[0] = 1;
27594              }
27595              var mouseEventType;
27596              switch (event.type) {
27597                case "touchstart":
27598                  mouseEventType = "mousedown";
27599                  break;
27600                case "touchmove":
27601                  mouseEventType = "mousemove";
27602                  break;
27603              }
27604              var mouseEvent = {
27605                type: mouseEventType,
27606                button: 0,
27607                pageX: firstTouch.clientX,
27608                pageY: firstTouch.clientY
27609              };
27610              SDL.events.push(mouseEvent);
27611            }
27612            for (var i = 0; i < touches.length; i++) {
27613              var touch = touches[i];
27614              SDL.events.push({
27615                type: event.type,
27616                touch: touch
27617              });
27618            }
27619            break;
27620          }
27621        case "touchend":
27622          {
27623            event.preventDefault();
27624            for (var i = 0; i < event.changedTouches.length; i++) {
27625              var touch = event.changedTouches[i];
27626              if (SDL.downFingers[touch.identifier] === true) {
27627                delete SDL.downFingers[touch.identifier];
27628              }
27629            }
27630            var mouseEvent = {
27631              type: "mouseup",
27632              button: 0,
27633              pageX: event.changedTouches[0].clientX,
27634              pageY: event.changedTouches[0].clientY
27635            };
27636            SDL.DOMButtons[0] = 0;
27637            SDL.events.push(mouseEvent);
27638            for (var i = 0; i < event.changedTouches.length; i++) {
27639              var touch = event.changedTouches[i];
27640              SDL.events.push({
27641                type: "touchend",
27642                touch: touch
27643              });
27644            }
27645            break;
27646          }
27647        case "DOMMouseScroll":
27648        case "mousewheel":
27649        case "wheel":
27650          var delta = -Browser.getMouseWheelDelta(event);
27651          delta = delta == 0 ? 0 : delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1);
27652          var button = delta > 0 ? 3 : 4;
27653          SDL.events.push({
27654            type: "mousedown",
27655            button: button,
27656            pageX: event.pageX,
27657            pageY: event.pageY
27658          });
27659          SDL.events.push({
27660            type: "mouseup",
27661            button: button,
27662            pageX: event.pageX,
27663            pageY: event.pageY
27664          });
27665          SDL.events.push({
27666            type: "wheel",
27667            deltaX: 0,
27668            deltaY: delta
27669          });
27670          event.preventDefault();
27671          break;
27672        case "mousemove":
27673          if (SDL.DOMButtons[0] === 1) {
27674            SDL.events.push({
27675              type: "touchmove",
27676              touch: {
27677                identifier: 0,
27678                deviceID: -1,
27679                pageX: event.pageX,
27680                pageY: event.pageY
27681              }
27682            });
27683          }
27684          if (Browser.pointerLock) {
27685            if ("mozMovementX" in event) {
27686              event["movementX"] = event["mozMovementX"];
27687              event["movementY"] = event["mozMovementY"];
27688            }
27689            if (event["movementX"] == 0 && event["movementY"] == 0) {
27690              event.preventDefault();
27691              return;
27692            }
27693          }
27694        case "keydown":
27695        case "keyup":
27696        case "keypress":
27697        case "mousedown":
27698        case "mouseup":
27699          if (event.type !== "keydown" || !SDL_unicode() && !SDL.textInput || event.keyCode === 8 || event.keyCode === 9) {
27700            event.preventDefault();
27701          }
27702          if (event.type == "mousedown") {
27703            SDL.DOMButtons[event.button] = 1;
27704            SDL.events.push({
27705              type: "touchstart",
27706              touch: {
27707                identifier: 0,
27708                deviceID: -1,
27709                pageX: event.pageX,
27710                pageY: event.pageY
27711              }
27712            });
27713          } else if (event.type == "mouseup") {
27714            if (!SDL.DOMButtons[event.button]) {
27715              return;
27716            }
27717            SDL.events.push({
27718              type: "touchend",
27719              touch: {
27720                identifier: 0,
27721                deviceID: -1,
27722                pageX: event.pageX,
27723                pageY: event.pageY
27724              }
27725            });
27726            SDL.DOMButtons[event.button] = 0;
27727          }
27728          if (event.type === "keydown" || event.type === "mousedown") {
27729            SDL.canRequestFullscreen = true;
27730          } else if (event.type === "keyup" || event.type === "mouseup") {
27731            if (SDL.isRequestingFullscreen) {
27732              Module["requestFullscreen"](true, true);
27733              SDL.isRequestingFullscreen = false;
27734            }
27735            SDL.canRequestFullscreen = false;
27736          }
27737          if (event.type === "keypress" && SDL.savedKeydown) {
27738            SDL.savedKeydown.keypressCharCode = event.charCode;
27739            SDL.savedKeydown = null;
27740          } else if (event.type === "keydown") {
27741            SDL.savedKeydown = event;
27742          }
27743          if (event.type !== "keypress" || SDL.textInput) {
27744            SDL.events.push(event);
27745          }
27746          break;
27747        case "mouseout":
27748          for (var i = 0; i < 3; i++) {
27749            if (SDL.DOMButtons[i]) {
27750              SDL.events.push({
27751                type: "mouseup",
27752                button: i,
27753                pageX: event.pageX,
27754                pageY: event.pageY
27755              });
27756              SDL.DOMButtons[i] = 0;
27757            }
27758          }
27759          event.preventDefault();
27760          break;
27761        case "focus":
27762          SDL.events.push(event);
27763          event.preventDefault();
27764          break;
27765        case "blur":
27766          SDL.events.push(event);
27767          unpressAllPressedKeys();
27768          event.preventDefault();
27769          break;
27770        case "visibilitychange":
27771          SDL.events.push({
27772            type: "visibilitychange",
27773            visible: !document.hidden
27774          });
27775          unpressAllPressedKeys();
27776          event.preventDefault();
27777          break;
27778        case "unload":
27779          if (Browser.mainLoop.runner) {
27780            SDL.events.push(event);
27781            Browser.mainLoop.runner();
27782          }
27783          return;
27784        case "resize":
27785          SDL.events.push(event);
27786          if (event.preventDefault) {
27787            event.preventDefault();
27788          }
27789          break;
27790      }
27791      if (SDL.events.length >= 1e4) {
27792        err("SDL event queue full, dropping events");
27793        SDL.events = SDL.events.slice(0, 1e4);
27794      }
27795      SDL.flushEventsToHandler();
27796      return;
27797    },
27798    lookupKeyCodeForEvent: function (event) {
27799      var code = event.keyCode;
27800      if (code >= 65 && code <= 90) {
27801        code += 32;
27802      } else {
27803        code = SDL.keyCodes[event.keyCode] || event.keyCode;
27804        if (event.location === 2 && code >= (224 | 1 << 10) && code <= (227 | 1 << 10)) {
27805          code += 4;
27806        }
27807      }
27808      return code;
27809    },
27810    handleEvent: function (event) {
27811      if (event.handled) return;
27812      event.handled = true;
27813      switch (event.type) {
27814        case "touchstart":
27815        case "touchend":
27816        case "touchmove":
27817          {
27818            Browser.calculateMouseEvent(event);
27819            break;
27820          }
27821        case "keydown":
27822        case "keyup":
27823          {
27824            var down = event.type === "keydown";
27825            var code = SDL.lookupKeyCodeForEvent(event);
27826            HEAP8[SDL.keyboardState + code >> 0] = down;
27827            SDL.modState = (HEAP8[SDL.keyboardState + 1248 >> 0] ? 64 : 0) | (HEAP8[SDL.keyboardState + 1249 >> 0] ? 1 : 0) | (HEAP8[SDL.keyboardState + 1250 >> 0] ? 256 : 0) | (HEAP8[SDL.keyboardState + 1252 >> 0] ? 128 : 0) | (HEAP8[SDL.keyboardState + 1253 >> 0] ? 2 : 0) | (HEAP8[SDL.keyboardState + 1254 >> 0] ? 512 : 0);
27828            if (down) {
27829              SDL.keyboardMap[code] = event.keyCode;
27830            } else {
27831              delete SDL.keyboardMap[code];
27832            }
27833            break;
27834          }
27835        case "mousedown":
27836        case "mouseup":
27837          if (event.type == "mousedown") {
27838            SDL.buttonState |= 1 << event.button;
27839          } else if (event.type == "mouseup") {
27840            SDL.buttonState &= ~(1 << event.button);
27841          }
27842        case "mousemove":
27843          {
27844            Browser.calculateMouseEvent(event);
27845            break;
27846          }
27847      }
27848    },
27849    flushEventsToHandler: function () {
27850      if (!SDL.eventHandler) return;
27851      while (SDL.pollEvent(SDL.eventHandlerTemp)) {
27852        Module["dynCall_iii"](SDL.eventHandler, SDL.eventHandlerContext, SDL.eventHandlerTemp);
27853      }
27854    },
27855    pollEvent: function (ptr) {
27856      if (SDL.initFlags & 512 && SDL.joystickEventState) {
27857        SDL.queryJoysticks();
27858      }
27859      if (ptr) {
27860        while (SDL.events.length > 0) {
27861          if (SDL.makeCEvent(SDL.events.shift(), ptr) !== false) return 1;
27862        }
27863        return 0;
27864      } else {
27865        return SDL.events.length > 0;
27866      }
27867    },
27868    makeCEvent: function (event, ptr) {
27869      if (typeof event === "number") {
27870        _memcpy(ptr, event, 28);
27871        _free(event);
27872        return;
27873      }
27874      SDL.handleEvent(event);
27875      switch (event.type) {
27876        case "keydown":
27877        case "keyup":
27878          {
27879            var down = event.type === "keydown";
27880            var key = SDL.lookupKeyCodeForEvent(event);
27881            var scan;
27882            if (key >= 1024) {
27883              scan = key - 1024;
27884            } else {
27885              scan = SDL.scanCodes[key] || key;
27886            }
27887            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27888            HEAP8[ptr + 8 >> 0] = down ? 1 : 0;
27889            HEAP8[ptr + 9 >> 0] = 0;
27890            HEAP32[ptr + 12 >> 2] = scan;
27891            HEAP32[ptr + 16 >> 2] = key;
27892            HEAP16[ptr + 20 >> 1] = SDL.modState;
27893            HEAP32[ptr + 24 >> 2] = event.keypressCharCode || key;
27894            break;
27895          }
27896        case "keypress":
27897          {
27898            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27899            var cStr = intArrayFromString(String.fromCharCode(event.charCode));
27900            for (var i = 0; i < cStr.length; ++i) {
27901              HEAP8[ptr + (8 + i) >> 0] = cStr[i];
27902            }
27903            break;
27904          }
27905        case "mousedown":
27906        case "mouseup":
27907        case "mousemove":
27908          {
27909            if (event.type != "mousemove") {
27910              var down = event.type === "mousedown";
27911              HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27912              HEAP32[ptr + 4 >> 2] = 0;
27913              HEAP32[ptr + 8 >> 2] = 0;
27914              HEAP32[ptr + 12 >> 2] = 0;
27915              HEAP8[ptr + 16 >> 0] = event.button + 1;
27916              HEAP8[ptr + 17 >> 0] = down ? 1 : 0;
27917              HEAP32[ptr + 20 >> 2] = Browser.mouseX;
27918              HEAP32[ptr + 24 >> 2] = Browser.mouseY;
27919            } else {
27920              HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27921              HEAP32[ptr + 4 >> 2] = 0;
27922              HEAP32[ptr + 8 >> 2] = 0;
27923              HEAP32[ptr + 12 >> 2] = 0;
27924              HEAP32[ptr + 16 >> 2] = SDL.buttonState;
27925              HEAP32[ptr + 20 >> 2] = Browser.mouseX;
27926              HEAP32[ptr + 24 >> 2] = Browser.mouseY;
27927              HEAP32[ptr + 28 >> 2] = Browser.mouseMovementX;
27928              HEAP32[ptr + 32 >> 2] = Browser.mouseMovementY;
27929            }
27930            break;
27931          }
27932        case "wheel":
27933          {
27934            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27935            HEAP32[ptr + 16 >> 2] = event.deltaX;
27936            HEAP32[ptr + 20 >> 2] = event.deltaY;
27937            break;
27938          }
27939        case "touchstart":
27940        case "touchend":
27941        case "touchmove":
27942          {
27943            var touch = event.touch;
27944            if (!Browser.touches[touch.identifier]) break;
27945            var w = Module["canvas"].width;
27946            var h = Module["canvas"].height;
27947            var x = Browser.touches[touch.identifier].x / w;
27948            var y = Browser.touches[touch.identifier].y / h;
27949            var lx = Browser.lastTouches[touch.identifier].x / w;
27950            var ly = Browser.lastTouches[touch.identifier].y / h;
27951            var dx = x - lx;
27952            var dy = y - ly;
27953            if (touch["deviceID"] === undefined) touch.deviceID = SDL.TOUCH_DEFAULT_ID;
27954            if (dx === 0 && dy === 0 && event.type === "touchmove") return false;
27955            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27956            HEAP32[ptr + 4 >> 2] = _SDL_GetTicks();
27957            tempI64 = [touch.deviceID >>> 0, (tempDouble = touch.deviceID, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr + 8 >> 2] = tempI64[0], HEAP32[ptr + 12 >> 2] = tempI64[1];
27958            tempI64 = [touch.identifier >>> 0, (tempDouble = touch.identifier, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr + 16 >> 2] = tempI64[0], HEAP32[ptr + 20 >> 2] = tempI64[1];
27959            HEAPF32[ptr + 24 >> 2] = x;
27960            HEAPF32[ptr + 28 >> 2] = y;
27961            HEAPF32[ptr + 32 >> 2] = dx;
27962            HEAPF32[ptr + 36 >> 2] = dy;
27963            if (touch.force !== undefined) {
27964              HEAPF32[ptr + 40 >> 2] = touch.force;
27965            } else {
27966              HEAPF32[ptr + 40 >> 2] = event.type == "touchend" ? 0 : 1;
27967            }
27968            break;
27969          }
27970        case "unload":
27971          {
27972            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27973            break;
27974          }
27975        case "resize":
27976          {
27977            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27978            HEAP32[ptr + 4 >> 2] = event.w;
27979            HEAP32[ptr + 8 >> 2] = event.h;
27980            break;
27981          }
27982        case "joystick_button_up":
27983        case "joystick_button_down":
27984          {
27985            var state = event.type === "joystick_button_up" ? 0 : 1;
27986            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27987            HEAP8[ptr + 4 >> 0] = event.index;
27988            HEAP8[ptr + 5 >> 0] = event.button;
27989            HEAP8[ptr + 6 >> 0] = state;
27990            break;
27991          }
27992        case "joystick_axis_motion":
27993          {
27994            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
27995            HEAP8[ptr + 4 >> 0] = event.index;
27996            HEAP8[ptr + 5 >> 0] = event.axis;
27997            HEAP32[ptr + 8 >> 2] = SDL.joystickAxisValueConversion(event.value);
27998            break;
27999          }
28000        case "focus":
28001          {
28002            var SDL_WINDOWEVENT_FOCUS_GAINED = 12;
28003            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
28004            HEAP32[ptr + 4 >> 2] = 0;
28005            HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_GAINED;
28006            break;
28007          }
28008        case "blur":
28009          {
28010            var SDL_WINDOWEVENT_FOCUS_LOST = 13;
28011            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
28012            HEAP32[ptr + 4 >> 2] = 0;
28013            HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_LOST;
28014            break;
28015          }
28016        case "visibilitychange":
28017          {
28018            var SDL_WINDOWEVENT_SHOWN = 1;
28019            var SDL_WINDOWEVENT_HIDDEN = 2;
28020            var visibilityEventID = event.visible ? SDL_WINDOWEVENT_SHOWN : SDL_WINDOWEVENT_HIDDEN;
28021            HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
28022            HEAP32[ptr + 4 >> 2] = 0;
28023            HEAP8[ptr + 8 >> 0] = visibilityEventID;
28024            break;
28025          }
28026        default:
28027          throw "Unhandled SDL event: " + event.type;
28028      }
28029    },
28030    makeFontString: function (height, fontName) {
28031      if (fontName.charAt(0) != "'" && fontName.charAt(0) != '"') {
28032        fontName = '"' + fontName + '"';
28033      }
28034      return height + "px " + fontName + ", serif";
28035    },
28036    estimateTextWidth: function (fontData, text) {
28037      var h = fontData.size;
28038      var fontString = SDL.makeFontString(h, fontData.name);
28039      var tempCtx = SDL_ttfContext();
28040      tempCtx.font = fontString;
28041      var ret = tempCtx.measureText(text).width | 0;
28042      return ret;
28043    },
28044    allocateChannels: function (num) {
28045      if (SDL.numChannels && SDL.numChannels >= num && num != 0) return;
28046      SDL.numChannels = num;
28047      SDL.channels = [];
28048      for (var i = 0; i < num; i++) {
28049        SDL.channels[i] = {
28050          audio: null,
28051          volume: 1
28052        };
28053      }
28054    },
28055    setGetVolume: function (info, volume) {
28056      if (!info) return 0;
28057      var ret = info.volume * 128;
28058      if (volume != -1) {
28059        info.volume = Math.min(Math.max(volume, 0), 128) / 128;
28060        if (info.audio) {
28061          try {
28062            info.audio.volume = info.volume;
28063            if (info.audio.webAudioGainNode) info.audio.webAudioGainNode["gain"]["value"] = info.volume;
28064          } catch (e) {
28065            err("setGetVolume failed to set audio volume: " + e);
28066          }
28067        }
28068      }
28069      return ret;
28070    },
28071    setPannerPosition: function (info, x, y, z) {
28072      if (!info) return;
28073      if (info.audio) {
28074        if (info.audio.webAudioPannerNode) {
28075          info.audio.webAudioPannerNode["setPosition"](x, y, z);
28076        }
28077      }
28078    },
28079    playWebAudio: function (audio) {
28080      if (!audio) return;
28081      if (audio.webAudioNode) return;
28082      if (!SDL.webAudioAvailable()) return;
28083      try {
28084        var webAudio = audio.resource.webAudio;
28085        audio.paused = false;
28086        if (!webAudio.decodedBuffer) {
28087          if (webAudio.onDecodeComplete === undefined) abort("Cannot play back audio object that was not loaded");
28088          webAudio.onDecodeComplete.push(function () {
28089            if (!audio.paused) SDL.playWebAudio(audio);
28090          });
28091          return;
28092        }
28093        audio.webAudioNode = SDL.audioContext["createBufferSource"]();
28094        audio.webAudioNode["buffer"] = webAudio.decodedBuffer;
28095        audio.webAudioNode["loop"] = audio.loop;
28096        audio.webAudioNode["onended"] = function () {
28097          audio["onended"]();
28098        };
28099        audio.webAudioPannerNode = SDL.audioContext["createPanner"]();
28100        audio.webAudioPannerNode["setPosition"](0, 0, -.5);
28101        audio.webAudioPannerNode["panningModel"] = "equalpower";
28102        audio.webAudioGainNode = SDL.audioContext["createGain"]();
28103        audio.webAudioGainNode["gain"]["value"] = audio.volume;
28104        audio.webAudioNode["connect"](audio.webAudioPannerNode);
28105        audio.webAudioPannerNode["connect"](audio.webAudioGainNode);
28106        audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);
28107        audio.webAudioNode["start"](0, audio.currentPosition);
28108        audio.startTime = SDL.audioContext["currentTime"] - audio.currentPosition;
28109      } catch (e) {
28110        err("playWebAudio failed: " + e);
28111      }
28112    },
28113    pauseWebAudio: function (audio) {
28114      if (!audio) return;
28115      if (audio.webAudioNode) {
28116        try {
28117          audio.currentPosition = (SDL.audioContext["currentTime"] - audio.startTime) % audio.resource.webAudio.decodedBuffer.duration;
28118          audio.webAudioNode["onended"] = undefined;
28119          audio.webAudioNode.stop(0);
28120          audio.webAudioNode = undefined;
28121        } catch (e) {
28122          err("pauseWebAudio failed: " + e);
28123        }
28124      }
28125      audio.paused = true;
28126    },
28127    openAudioContext: function () {
28128      if (!SDL.audioContext) {
28129        if (typeof AudioContext !== "undefined") SDL.audioContext = new AudioContext();else if (typeof webkitAudioContext !== "undefined") SDL.audioContext = new webkitAudioContext();
28130      }
28131    },
28132    webAudioAvailable: function () {
28133      return !!SDL.audioContext;
28134    },
28135    fillWebAudioBufferFromHeap: function (heapPtr, sizeSamplesPerChannel, dstAudioBuffer) {
28136      var audio = SDL_audio();
28137      var numChannels = audio.channels;
28138      for (var c = 0; c < numChannels; ++c) {
28139        var channelData = dstAudioBuffer["getChannelData"](c);
28140        if (channelData.length != sizeSamplesPerChannel) {
28141          throw "Web Audio output buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + sizeSamplesPerChannel + " samples!";
28142        }
28143        if (audio.format == 32784) {
28144          for (var j = 0; j < sizeSamplesPerChannel; ++j) {
28145            channelData[j] = HEAP16[heapPtr + (j * numChannels + c) * 2 >> 1] / 32768;
28146          }
28147        } else if (audio.format == 8) {
28148          for (var j = 0; j < sizeSamplesPerChannel; ++j) {
28149            var v = HEAP8[heapPtr + (j * numChannels + c) >> 0];
28150            channelData[j] = (v >= 0 ? v - 128 : v + 128) / 128;
28151          }
28152        } else if (audio.format == 33056) {
28153          for (var j = 0; j < sizeSamplesPerChannel; ++j) {
28154            channelData[j] = HEAPF32[heapPtr + (j * numChannels + c) * 4 >> 2];
28155          }
28156        } else {
28157          throw "Invalid SDL audio format " + audio.format + "!";
28158        }
28159      }
28160    },
28161    debugSurface: function (surfData) {
28162      console.log("dumping surface " + [surfData.surf, surfData.source, surfData.width, surfData.height]);
28163      var image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
28164      var data = image.data;
28165      var num = Math.min(surfData.width, surfData.height);
28166      for (var i = 0; i < num; i++) {
28167        console.log("   diagonal " + i + ":" + [data[i * surfData.width * 4 + i * 4 + 0], data[i * surfData.width * 4 + i * 4 + 1], data[i * surfData.width * 4 + i * 4 + 2], data[i * surfData.width * 4 + i * 4 + 3]]);
28168      }
28169    },
28170    joystickEventState: 1,
28171    lastJoystickState: {},
28172    joystickNamePool: {},
28173    recordJoystickState: function (joystick, state) {
28174      var buttons = new Array(state.buttons.length);
28175      for (var i = 0; i < state.buttons.length; i++) {
28176        buttons[i] = SDL.getJoystickButtonState(state.buttons[i]);
28177      }
28178      SDL.lastJoystickState[joystick] = {
28179        buttons: buttons,
28180        axes: state.axes.slice(0),
28181        timestamp: state.timestamp,
28182        index: state.index,
28183        id: state.id
28184      };
28185    },
28186    getJoystickButtonState: function (button) {
28187      if (typeof button === "object") {
28188        return button["pressed"];
28189      } else {
28190        return button > 0;
28191      }
28192    },
28193    queryJoysticks: function () {
28194      for (var joystick in SDL.lastJoystickState) {
28195        var state = SDL.getGamepad(joystick - 1);
28196        var prevState = SDL.lastJoystickState[joystick];
28197        if (typeof state === "undefined") return;
28198        if (state === null) return;
28199        if (typeof state.timestamp !== "number" || state.timestamp !== prevState.timestamp || !state.timestamp) {
28200          var i;
28201          for (i = 0; i < state.buttons.length; i++) {
28202            var buttonState = SDL.getJoystickButtonState(state.buttons[i]);
28203            if (buttonState !== prevState.buttons[i]) {
28204              SDL.events.push({
28205                type: buttonState ? "joystick_button_down" : "joystick_button_up",
28206                joystick: joystick,
28207                index: joystick - 1,
28208                button: i
28209              });
28210            }
28211          }
28212          for (i = 0; i < state.axes.length; i++) {
28213            if (state.axes[i] !== prevState.axes[i]) {
28214              SDL.events.push({
28215                type: "joystick_axis_motion",
28216                joystick: joystick,
28217                index: joystick - 1,
28218                axis: i,
28219                value: state.axes[i]
28220              });
28221            }
28222          }
28223          SDL.recordJoystickState(joystick, state);
28224        }
28225      }
28226    },
28227    joystickAxisValueConversion: function (value) {
28228      value = Math.min(1, Math.max(value, -1));
28229      return Math.ceil((value + 1) * 32767.5 - 32768);
28230    },
28231    getGamepads: function () {
28232      var fcn = navigator.getGamepads || navigator.webkitGamepads || navigator.mozGamepads || navigator.gamepads || navigator.webkitGetGamepads;
28233      if (fcn !== undefined) {
28234        return fcn.apply(navigator);
28235      } else {
28236        return [];
28237      }
28238    },
28239    getGamepad: function (deviceIndex) {
28240      var gamepads = SDL.getGamepads();
28241      if (gamepads.length > deviceIndex && deviceIndex >= 0) {
28242        return gamepads[deviceIndex];
28243      }
28244      return null;
28245    }
28246  };
28247  function _SDL_CreateRGBSurface(flags, width, height, depth, rmask, gmask, bmask, amask) {
28248    return SDL.makeSurface(width, height, flags, false, "CreateRGBSurface", rmask, gmask, bmask, amask);
28249  }
28250  function _SDL_Flip(surf) {}
28251  function _SDL_FreeSurface(surf) {
28252    if (surf) SDL.freeSurface(surf);
28253  }
28254  function _SDL_Init(initFlags) {
28255    SDL.startTime = Date.now();
28256    SDL.initFlags = initFlags;
28257    if (!Module["doNotCaptureKeyboard"]) {
28258      var keyboardListeningElement = Module["keyboardListeningElement"] || document;
28259      keyboardListeningElement.addEventListener("keydown", SDL.receiveEvent);
28260      keyboardListeningElement.addEventListener("keyup", SDL.receiveEvent);
28261      keyboardListeningElement.addEventListener("keypress", SDL.receiveEvent);
28262      window.addEventListener("focus", SDL.receiveEvent);
28263      window.addEventListener("blur", SDL.receiveEvent);
28264      document.addEventListener("visibilitychange", SDL.receiveEvent);
28265    }
28266    window.addEventListener("unload", SDL.receiveEvent);
28267    SDL.keyboardState = _malloc(65536);
28268    _memset(SDL.keyboardState, 0, 65536);
28269    SDL.DOMEventToSDLEvent["keydown"] = 768;
28270    SDL.DOMEventToSDLEvent["keyup"] = 769;
28271    SDL.DOMEventToSDLEvent["keypress"] = 771;
28272    SDL.DOMEventToSDLEvent["mousedown"] = 1025;
28273    SDL.DOMEventToSDLEvent["mouseup"] = 1026;
28274    SDL.DOMEventToSDLEvent["mousemove"] = 1024;
28275    SDL.DOMEventToSDLEvent["wheel"] = 1027;
28276    SDL.DOMEventToSDLEvent["touchstart"] = 1792;
28277    SDL.DOMEventToSDLEvent["touchend"] = 1793;
28278    SDL.DOMEventToSDLEvent["touchmove"] = 1794;
28279    SDL.DOMEventToSDLEvent["unload"] = 256;
28280    SDL.DOMEventToSDLEvent["resize"] = 28673;
28281    SDL.DOMEventToSDLEvent["visibilitychange"] = 512;
28282    SDL.DOMEventToSDLEvent["focus"] = 512;
28283    SDL.DOMEventToSDLEvent["blur"] = 512;
28284    SDL.DOMEventToSDLEvent["joystick_axis_motion"] = 1536;
28285    SDL.DOMEventToSDLEvent["joystick_button_down"] = 1539;
28286    SDL.DOMEventToSDLEvent["joystick_button_up"] = 1540;
28287    return 0;
28288  }
28289  function __webgl_enable_ANGLE_instanced_arrays(ctx) {
28290    var ext = ctx.getExtension("ANGLE_instanced_arrays");
28291    if (ext) {
28292      ctx["vertexAttribDivisor"] = function (index, divisor) {
28293        ext["vertexAttribDivisorANGLE"](index, divisor);
28294      };
28295      ctx["drawArraysInstanced"] = function (mode, first, count, primcount) {
28296        ext["drawArraysInstancedANGLE"](mode, first, count, primcount);
28297      };
28298      ctx["drawElementsInstanced"] = function (mode, count, type, indices, primcount) {
28299        ext["drawElementsInstancedANGLE"](mode, count, type, indices, primcount);
28300      };
28301      return 1;
28302    }
28303  }
28304  function __webgl_enable_OES_vertex_array_object(ctx) {
28305    var ext = ctx.getExtension("OES_vertex_array_object");
28306    if (ext) {
28307      ctx["createVertexArray"] = function () {
28308        return ext["createVertexArrayOES"]();
28309      };
28310      ctx["deleteVertexArray"] = function (vao) {
28311        ext["deleteVertexArrayOES"](vao);
28312      };
28313      ctx["bindVertexArray"] = function (vao) {
28314        ext["bindVertexArrayOES"](vao);
28315      };
28316      ctx["isVertexArray"] = function (vao) {
28317        return ext["isVertexArrayOES"](vao);
28318      };
28319      return 1;
28320    }
28321  }
28322  function __webgl_enable_WEBGL_draw_buffers(ctx) {
28323    var ext = ctx.getExtension("WEBGL_draw_buffers");
28324    if (ext) {
28325      ctx["drawBuffers"] = function (n, bufs) {
28326        ext["drawBuffersWEBGL"](n, bufs);
28327      };
28328      return 1;
28329    }
28330  }
28331  function __webgl_enable_WEBGL_multi_draw(ctx) {
28332    return !!(ctx.multiDrawWebgl = ctx.getExtension("WEBGL_multi_draw"));
28333  }
28334  var GL = {
28335    counter: 1,
28336    buffers: [],
28337    programs: [],
28338    framebuffers: [],
28339    renderbuffers: [],
28340    textures: [],
28341    uniforms: [],
28342    shaders: [],
28343    vaos: [],
28344    contexts: [],
28345    offscreenCanvases: {},
28346    timerQueriesEXT: [],
28347    programInfos: {},
28348    stringCache: {},
28349    unpackAlignment: 4,
28350    recordError: function recordError(errorCode) {
28351      if (!GL.lastError) {
28352        GL.lastError = errorCode;
28353      }
28354    },
28355    getNewId: function (table) {
28356      var ret = GL.counter++;
28357      for (var i = table.length; i < ret; i++) {
28358        table[i] = null;
28359      }
28360      return ret;
28361    },
28362    getSource: function (shader, count, string, length) {
28363      var source = "";
28364      for (var i = 0; i < count; ++i) {
28365        var len = length ? HEAP32[length + i * 4 >> 2] : -1;
28366        source += UTF8ToString(HEAP32[string + i * 4 >> 2], len < 0 ? undefined : len);
28367      }
28368      return source;
28369    },
28370    createContext: function (canvas, webGLContextAttributes) {
28371      var ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes);
28372      if (!ctx) return 0;
28373      var handle = GL.registerContext(ctx, webGLContextAttributes);
28374      return handle;
28375    },
28376    registerContext: function (ctx, webGLContextAttributes) {
28377      var handle = GL.getNewId(GL.contexts);
28378      var context = {
28379        handle: handle,
28380        attributes: webGLContextAttributes,
28381        version: webGLContextAttributes.majorVersion,
28382        GLctx: ctx
28383      };
28384      context.cannotHandleOffsetsInUniformArrayViews = function (g) {
28385        function b(c, t) {
28386          var s = g.createShader(t);
28387          g.shaderSource(s, c);
28388          g.compileShader(s);
28389          return s;
28390        }
28391        try {
28392          var p = g.createProgram();
28393          g.attachShader(p, b("attribute vec4 p;void main(){gl_Position=p;}", 35633));
28394          g.attachShader(p, b("precision lowp float;uniform vec4 u;void main(){gl_FragColor=u;}", 35632));
28395          g.linkProgram(p);
28396          var h = new Float32Array(8);
28397          h[4] = 1;
28398          g.useProgram(p);
28399          var l = g.getUniformLocation(p, "u");
28400          g.uniform4fv(l, h.subarray(4, 8));
28401          return !g.getUniform(p, l)[0];
28402        } catch (e) {
28403          return false;
28404        }
28405      }();
28406      if (ctx.canvas) ctx.canvas.GLctxObject = context;
28407      GL.contexts[handle] = context;
28408      if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) {
28409        GL.initExtensions(context);
28410      }
28411      return handle;
28412    },
28413    makeContextCurrent: function (contextHandle) {
28414      GL.currentContext = GL.contexts[contextHandle];
28415      Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx;
28416      return !(contextHandle && !GLctx);
28417    },
28418    getContext: function (contextHandle) {
28419      return GL.contexts[contextHandle];
28420    },
28421    deleteContext: function (contextHandle) {
28422      if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null;
28423      if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);
28424      if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined;
28425      GL.contexts[contextHandle] = null;
28426    },
28427    initExtensions: function (context) {
28428      if (!context) context = GL.currentContext;
28429      if (context.initExtensionsDone) return;
28430      context.initExtensionsDone = true;
28431      var GLctx = context.GLctx;
28432      __webgl_enable_ANGLE_instanced_arrays(GLctx);
28433      __webgl_enable_OES_vertex_array_object(GLctx);
28434      __webgl_enable_WEBGL_draw_buffers(GLctx);
28435      GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query");
28436      __webgl_enable_WEBGL_multi_draw(GLctx);
28437      var automaticallyEnabledExtensions = ["OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "EXT_texture_norm16", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2", "WEBKIT_WEBGL_compressed_texture_pvrtc"];
28438      var exts = GLctx.getSupportedExtensions() || [];
28439      exts.forEach(function (ext) {
28440        if (automaticallyEnabledExtensions.indexOf(ext) != -1) {
28441          GLctx.getExtension(ext);
28442        }
28443      });
28444    },
28445    populateUniformTable: function (program) {
28446      var p = GL.programs[program];
28447      var ptable = GL.programInfos[program] = {
28448        uniforms: {},
28449        maxUniformLength: 0,
28450        maxAttributeLength: -1,
28451        maxUniformBlockNameLength: -1
28452      };
28453      var utable = ptable.uniforms;
28454      var numUniforms = GLctx.getProgramParameter(p, 35718);
28455      for (var i = 0; i < numUniforms; ++i) {
28456        var u = GLctx.getActiveUniform(p, i);
28457        var name = u.name;
28458        ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1);
28459        if (name.slice(-1) == "]") {
28460          name = name.slice(0, name.lastIndexOf("["));
28461        }
28462        var loc = GLctx.getUniformLocation(p, name);
28463        if (loc) {
28464          var id = GL.getNewId(GL.uniforms);
28465          utable[name] = [u.size, id];
28466          GL.uniforms[id] = loc;
28467          for (var j = 1; j < u.size; ++j) {
28468            var n = name + "[" + j + "]";
28469            loc = GLctx.getUniformLocation(p, n);
28470            id = GL.getNewId(GL.uniforms);
28471            GL.uniforms[id] = loc;
28472          }
28473        }
28474      }
28475    }
28476  };
28477  function _SDL_SetVideoMode(width, height, depth, flags) {
28478    ["touchstart", "touchend", "touchmove", "mousedown", "mouseup", "mousemove", "DOMMouseScroll", "mousewheel", "wheel", "mouseout"].forEach(function (event) {
28479      Module["canvas"].addEventListener(event, SDL.receiveEvent, true);
28480    });
28481    var canvas = Module["canvas"];
28482    if (width == 0 && height == 0) {
28483      width = canvas.width;
28484      height = canvas.height;
28485    }
28486    if (!SDL.addedResizeListener) {
28487      SDL.addedResizeListener = true;
28488      Browser.resizeListeners.push(function (w, h) {
28489        if (!SDL.settingVideoMode) {
28490          SDL.receiveEvent({
28491            type: "resize",
28492            w: w,
28493            h: h
28494          });
28495        }
28496      });
28497    }
28498    SDL.settingVideoMode = true;
28499    Browser.setCanvasSize(width, height);
28500    SDL.settingVideoMode = false;
28501    if (SDL.screen) {
28502      SDL.freeSurface(SDL.screen);
28503      assert(!SDL.screen);
28504    }
28505    if (SDL.GL) flags = flags | 67108864;
28506    SDL.screen = SDL.makeSurface(width, height, flags, true, "screen");
28507    return SDL.screen;
28508  }
28509  function _SDL_UnlockSurface(surf) {
28510    assert(!SDL.GL);
28511    var surfData = SDL.surfaces[surf];
28512    if (!surfData.locked || --surfData.locked > 0) {
28513      return;
28514    }
28515    if (surfData.isFlagSet(2097152)) {
28516      SDL.copyIndexedColorData(surfData);
28517    } else if (!surfData.colors) {
28518      var data = surfData.image.data;
28519      var buffer = surfData.buffer;
28520      assert(buffer % 4 == 0, "Invalid buffer offset: " + buffer);
28521      var src = buffer >> 2;
28522      var dst = 0;
28523      var isScreen = surf == SDL.screen;
28524      var num;
28525      if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) {
28526        num = data.length;
28527        while (dst < num) {
28528          var val = HEAP32[src];
28529          data[dst] = val & 255;
28530          data[dst + 1] = val >> 8 & 255;
28531          data[dst + 2] = val >> 16 & 255;
28532          data[dst + 3] = isScreen ? 255 : val >> 24 & 255;
28533          src++;
28534          dst += 4;
28535        }
28536      } else {
28537        var data32 = new Uint32Array(data.buffer);
28538        if (isScreen && SDL.defaults.opaqueFrontBuffer) {
28539          num = data32.length;
28540          data32.set(HEAP32.subarray(src, src + num));
28541          var data8 = new Uint8Array(data.buffer);
28542          var i = 3;
28543          var j = i + 4 * num;
28544          if (num % 8 == 0) {
28545            while (i < j) {
28546              data8[i] = 255;
28547              i = i + 4 | 0;
28548              data8[i] = 255;
28549              i = i + 4 | 0;
28550              data8[i] = 255;
28551              i = i + 4 | 0;
28552              data8[i] = 255;
28553              i = i + 4 | 0;
28554              data8[i] = 255;
28555              i = i + 4 | 0;
28556              data8[i] = 255;
28557              i = i + 4 | 0;
28558              data8[i] = 255;
28559              i = i + 4 | 0;
28560              data8[i] = 255;
28561              i = i + 4 | 0;
28562            }
28563          } else {
28564            while (i < j) {
28565              data8[i] = 255;
28566              i = i + 4 | 0;
28567            }
28568          }
28569        } else {
28570          data32.set(HEAP32.subarray(src, src + data32.length));
28571        }
28572      }
28573    } else {
28574      var width = Module["canvas"].width;
28575      var height = Module["canvas"].height;
28576      var s = surfData.buffer;
28577      var data = surfData.image.data;
28578      var colors = surfData.colors;
28579      for (var y = 0; y < height; y++) {
28580        var base = y * width * 4;
28581        for (var x = 0; x < width; x++) {
28582          var val = HEAPU8[s++ >> 0] * 4;
28583          var start = base + x * 4;
28584          data[start] = colors[val];
28585          data[start + 1] = colors[val + 1];
28586          data[start + 2] = colors[val + 2];
28587        }
28588        s += width * 3;
28589      }
28590    }
28591    surfData.ctx.putImageData(surfData.image, 0, 0);
28592  }
28593  function _SDL_UpperBlit(src, srcrect, dst, dstrect) {
28594    return SDL.blitSurface(src, srcrect, dst, dstrect, false);
28595  }
28596  function _emscripten_get_sbrk_ptr() {
28597    return 12032;
28598  }
28599  var _emscripten_memcpy_big = Uint8Array.prototype.copyWithin ? function (dest, src, num) {
28600    HEAPU8.copyWithin(dest, src, src + num);
28601  } : function (dest, src, num) {
28602    HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
28603  };
28604  function _emscripten_get_heap_size() {
28605    return HEAPU8.length;
28606  }
28607  function emscripten_realloc_buffer(size) {
28608    try {
28609      wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
28610      updateGlobalBufferAndViews(wasmMemory.buffer);
28611      return 1;
28612    } catch (e) {}
28613  }
28614  function _emscripten_resize_heap(requestedSize) {
28615    requestedSize = requestedSize >>> 0;
28616    var oldSize = _emscripten_get_heap_size();
28617    var PAGE_MULTIPLE = 65536;
28618    var maxHeapSize = 2147483648;
28619    if (requestedSize > maxHeapSize) {
28620      return false;
28621    }
28622    var minHeapSize = 16777216;
28623    for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
28624      var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
28625      overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
28626      var newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), PAGE_MULTIPLE));
28627      var replacement = emscripten_realloc_buffer(newSize);
28628      if (replacement) {
28629        return true;
28630      }
28631    }
28632    return false;
28633  }
28634  var SYSCALLS = {
28635    mappings: {},
28636    buffers: [null, [], []],
28637    printChar: function (stream, curr) {
28638      var buffer = SYSCALLS.buffers[stream];
28639      if (curr === 0 || curr === 10) {
28640        (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
28641        buffer.length = 0;
28642      } else {
28643        buffer.push(curr);
28644      }
28645    },
28646    varargs: undefined,
28647    get: function () {
28648      SYSCALLS.varargs += 4;
28649      var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
28650      return ret;
28651    },
28652    getStr: function (ptr) {
28653      var ret = UTF8ToString(ptr);
28654      return ret;
28655    },
28656    get64: function (low, high) {
28657      return low;
28658    }
28659  };
28660  function _fd_close(fd) {
28661    return 0;
28662  }
28663  function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {}
28664  function _fd_write(fd, iov, iovcnt, pnum) {
28665    var num = 0;
28666    for (var i = 0; i < iovcnt; i++) {
28667      var ptr = HEAP32[iov + i * 8 >> 2];
28668      var len = HEAP32[iov + (i * 8 + 4) >> 2];
28669      for (var j = 0; j < len; j++) {
28670        SYSCALLS.printChar(fd, HEAPU8[ptr + j]);
28671      }
28672      num += len;
28673    }
28674    HEAP32[pnum >> 2] = num;
28675    return 0;
28676  }
28677  var FSNode = function (parent, name, mode, rdev) {
28678    if (!parent) {
28679      parent = this;
28680    }
28681    this.parent = parent;
28682    this.mount = parent.mount;
28683    this.mounted = null;
28684    this.id = FS.nextInode++;
28685    this.name = name;
28686    this.mode = mode;
28687    this.node_ops = {};
28688    this.stream_ops = {};
28689    this.rdev = rdev;
28690  };
28691  var readMode = 292 | 73;
28692  var writeMode = 146;
28693  Object.defineProperties(FSNode.prototype, {
28694    read: {
28695      get: function () {
28696        return (this.mode & readMode) === readMode;
28697      },
28698      set: function (val) {
28699        val ? this.mode |= readMode : this.mode &= ~readMode;
28700      }
28701    },
28702    write: {
28703      get: function () {
28704        return (this.mode & writeMode) === writeMode;
28705      },
28706      set: function (val) {
28707        val ? this.mode |= writeMode : this.mode &= ~writeMode;
28708      }
28709    },
28710    isFolder: {
28711      get: function () {
28712        return FS.isDir(this.mode);
28713      }
28714    },
28715    isDevice: {
28716      get: function () {
28717        return FS.isChrdev(this.mode);
28718      }
28719    }
28720  });
28721  FS.FSNode = FSNode;
28722  FS.staticInit();
28723  Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas) {
28724    Browser.requestFullscreen(lockPointer, resizeCanvas);
28725  };
28726  Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) {
28727    Browser.requestAnimationFrame(func);
28728  };
28729  Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) {
28730    Browser.setCanvasSize(width, height, noUpdates);
28731  };
28732  Module["pauseMainLoop"] = function Module_pauseMainLoop() {
28733    Browser.mainLoop.pause();
28734  };
28735  Module["resumeMainLoop"] = function Module_resumeMainLoop() {
28736    Browser.mainLoop.resume();
28737  };
28738  Module["getUserMedia"] = function Module_getUserMedia() {
28739    Browser.getUserMedia();
28740  };
28741  Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) {
28742    return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes);
28743  };
28744  var GLctx;
28745  var ASSERTIONS = false;
vendor: 4,999 bytes, lines 28746-28869
28746  function intArrayFromString(stringy, dontAddNull, length) {
28747    var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
28748    var u8array = new Array(len);
28749    var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
28750    if (dontAddNull) u8array.length = numBytesWritten;
28751    return u8array;
28752  }
28753  function intArrayToString(array) {
28754    var ret = [];
28755    for (var i = 0; i < array.length; i++) {
28756      var chr = array[i];
28757      if (chr > 255) {
28758        if (ASSERTIONS) {
28759          assert(false, "Character code " + chr + " (" + String.fromCharCode(chr) + ")  at offset " + i + " not in 0x00-0xFF.");
28760        }
28761        chr &= 255;
28762      }
28763      ret.push(String.fromCharCode(chr));
28764    }
28765    return ret.join("");
28766  }
28767  var decodeBase64 = typeof atob === "function" ? atob : function (input) {
28768    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
28769    var output = "";
28770    var chr1, chr2, chr3;
28771    var enc1, enc2, enc3, enc4;
28772    var i = 0;
28773    input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
28774    do {
28775      enc1 = keyStr.indexOf(input.charAt(i++));
28776      enc2 = keyStr.indexOf(input.charAt(i++));
28777      enc3 = keyStr.indexOf(input.charAt(i++));
28778      enc4 = keyStr.indexOf(input.charAt(i++));
28779      chr1 = enc1 << 2 | enc2 >> 4;
28780      chr2 = (enc2 & 15) << 4 | enc3 >> 2;
28781      chr3 = (enc3 & 3) << 6 | enc4;
28782      output = output + String.fromCharCode(chr1);
28783      if (enc3 !== 64) {
28784        output = output + String.fromCharCode(chr2);
28785      }
28786      if (enc4 !== 64) {
28787        output = output + String.fromCharCode(chr3);
28788      }
28789    } while (i < input.length);
28790    return output;
28791  };
28792  function intArrayFromBase64(s) {
28793    try {
28794      var decoded = decodeBase64(s);
28795      var bytes = new Uint8Array(decoded.length);
28796      for (var i = 0; i < decoded.length; ++i) {
28797        bytes[i] = decoded.charCodeAt(i);
28798      }
28799      return bytes;
28800    } catch (_) {
28801      throw new Error("Converting base64 string to bytes failed.");
28802    }
28803  }
28804  function tryParseAsDataURI(filename) {
28805    if (!isDataURI(filename)) {
28806      return;
28807    }
28808    return intArrayFromBase64(filename.slice(dataURIPrefix.length));
28809  }
28810  var asmLibraryArg = {
28811    "SDL_CreateRGBSurface": _SDL_CreateRGBSurface,
28812    "SDL_Flip": _SDL_Flip,
28813    "SDL_FreeSurface": _SDL_FreeSurface,
28814    "SDL_Init": _SDL_Init,
28815    "SDL_LockSurface": _SDL_LockSurface,
28816    "SDL_SetVideoMode": _SDL_SetVideoMode,
28817    "SDL_UnlockSurface": _SDL_UnlockSurface,
28818    "SDL_UpperBlit": _SDL_UpperBlit,
28819    "emscripten_get_sbrk_ptr": _emscripten_get_sbrk_ptr,
28820    "emscripten_memcpy_big": _emscripten_memcpy_big,
28821    "emscripten_resize_heap": _emscripten_resize_heap,
28822    "fd_close": _fd_close,
28823    "fd_seek": _fd_seek,
28824    "fd_write": _fd_write,
28825    "getTempRet0": getTempRet0,
28826    "memory": wasmMemory,
28827    "setTempRet0": setTempRet0,
28828    "table": wasmTable
28829  };
28830  var asm = createWasm();
28831  var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function () {
28832    return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments);
28833  };
28834  var _WebpToSDL = Module["_WebpToSDL"] = function () {
28835    return (_WebpToSDL = Module["_WebpToSDL"] = Module["asm"]["WebpToSDL"]).apply(null, arguments);
28836  };
28837  var _memset = Module["_memset"] = function () {
28838    return (_memset = Module["_memset"] = Module["asm"]["memset"]).apply(null, arguments);
28839  };
28840  var _memcpy = Module["_memcpy"] = function () {
28841    return (_memcpy = Module["_memcpy"] = Module["asm"]["memcpy"]).apply(null, arguments);
28842  };
28843  var _malloc = Module["_malloc"] = function () {
28844    return (_malloc = Module["_malloc"] = Module["asm"]["malloc"]).apply(null, arguments);
28845  };
28846  var _free = Module["_free"] = function () {
28847    return (_free = Module["_free"] = Module["asm"]["free"]).apply(null, arguments);
28848  };
28849  var ___errno_location = Module["___errno_location"] = function () {
28850    return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments);
28851  };
28852  var stackSave = Module["stackSave"] = function () {
28853    return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments);
28854  };
28855  var stackRestore = Module["stackRestore"] = function () {
28856    return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments);
28857  };
28858  var stackAlloc = Module["stackAlloc"] = function () {
28859    return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments);
28860  };
28861  var dynCall_vii = Module["dynCall_vii"] = function () {
28862    return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["dynCall_vii"]).apply(null, arguments);
28863  };
28864  var dynCall_vi = Module["dynCall_vi"] = function () {
28865    return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["dynCall_vi"]).apply(null, arguments);
28866  };
28867  var dynCall_ii = Module["dynCall_ii"] = function () {
28868    return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["dynCall_ii"]).apply(null, arguments);
28869  };
vendor: 4,794 bytes, lines 28870-28995
28870  var dynCall_iii = Module["dynCall_iii"] = function () {
28871    return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["dynCall_iii"]).apply(null, arguments);
28872  };
28873  var dynCall_iiii = Module["dynCall_iiii"] = function () {
28874    return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["dynCall_iiii"]).apply(null, arguments);
28875  };
28876  var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function () {
28877    return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["dynCall_iiiiiii"]).apply(null, arguments);
28878  };
28879  var dynCall_viiii = Module["dynCall_viiii"] = function () {
28880    return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["dynCall_viiii"]).apply(null, arguments);
28881  };
28882  var dynCall_viii = Module["dynCall_viii"] = function () {
28883    return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["dynCall_viii"]).apply(null, arguments);
28884  };
28885  var dynCall_viiiiii = Module["dynCall_viiiiii"] = function () {
28886    return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["dynCall_viiiiii"]).apply(null, arguments);
28887  };
28888  var dynCall_viiiii = Module["dynCall_viiiii"] = function () {
28889    return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["dynCall_viiiii"]).apply(null, arguments);
28890  };
28891  var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = function () {
28892    return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["dynCall_viiiiiiiii"]).apply(null, arguments);
28893  };
28894  var dynCall_jiiii = Module["dynCall_jiiii"] = function () {
28895    return (dynCall_jiiii = Module["dynCall_jiiii"] = Module["asm"]["dynCall_jiiii"]).apply(null, arguments);
28896  };
28897  var dynCall_jiji = Module["dynCall_jiji"] = function () {
28898    return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments);
28899  };
28900  var __growWasmMemory = Module["__growWasmMemory"] = function () {
28901    return (__growWasmMemory = Module["__growWasmMemory"] = Module["asm"]["__growWasmMemory"]).apply(null, arguments);
28902  };
28903  Module["cwrap"] = cwrap;
28904  var calledRun;
28905  function ExitStatus(status) {
28906    this.name = "ExitStatus";
28907    this.message = "Program terminated with exit(" + status + ")";
28908    this.status = status;
28909  }
28910  dependenciesFulfilled = function runCaller() {
28911    if (!calledRun) run();
28912    if (!calledRun) dependenciesFulfilled = runCaller;
28913  };
28914  function run(args) {
28915    args = args || arguments_;
28916    if (runDependencies > 0) {
28917      return;
28918    }
28919    preRun();
28920    if (runDependencies > 0) return;
28921    function doRun() {
28922      if (calledRun) return;
28923      calledRun = true;
28924      Module["calledRun"] = true;
28925      if (ABORT) return;
28926      initRuntime();
28927      preMain();
28928      if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
28929      postRun();
28930    }
28931    if (Module["setStatus"]) {
28932      Module["setStatus"]("Running...");
28933      setTimeout(function () {
28934        setTimeout(function () {
28935          Module["setStatus"]("");
28936        }, 1);
28937        doRun();
28938      }, 1);
28939    } else {
28940      doRun();
28941    }
28942  }
28943  Module["run"] = run;
28944  if (Module["preInit"]) {
28945    if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
28946    while (Module["preInit"].length > 0) {
28947      Module["preInit"].pop()();
28948    }
28949  }
28950  noExitRuntime = true;
28951  run();
28952  this.Module = Module;
28953  this.webpToSdl = Module.cwrap("WebpToSDL", "number", ["array", "number"]);
28954  this.setCanvas = function (canvas) {
28955    Module.canvas = canvas;
28956  };
28957  this.Module.doNotCaptureKeyboard = true;
28958}
28959module.exports = {
28960  Webp: Webp
28961};
28962
28963/***/ })
28964
28965/******/ 	});
28966/************************************************************************/
28967/******/ 	// The module cache
28968/******/ 	var __webpack_module_cache__ = {};
28969/******/ 	
28970/******/ 	// The require function
28971/******/ 	function __webpack_require__(moduleId) {
28972/******/ 		// Check if module is in cache
28973/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
28974/******/ 		if (cachedModule !== undefined) {
28975/******/ 			return cachedModule.exports;
28976/******/ 		}
28977/******/ 		// Create a new module (and put it into the cache)
28978/******/ 		var module = __webpack_module_cache__[moduleId] = {
28979/******/ 			// no module.id needed
28980/******/ 			// no module.loaded needed
28981/******/ 			exports: {}
28982/******/ 		};
28983/******/ 	
28984/******/ 		// Execute the module function
28985/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
28986/******/ 	
28987/******/ 		// Return the exports of the module
28988/******/ 		return module.exports;
28989/******/ 	}
28990/******/ 	
28991/************************************************************************/
28992/******/ 	/* webpack/runtime/compat get default export */
28993/******/ 	(() => {
28994/******/ 		// getDefaultExport function for compatibility with non-harmony modules
28995/******/ 		__webpack_require__.n = (module) => {
vendor: 2,879 bytes, lines 28996-29053
28996/******/ 			var getter = module && module.__esModule ?
28997/******/ 				() => (module['default']) :
28998/******/ 				() => (module);
28999/******/ 			__webpack_require__.d(getter, { a: getter });
29000/******/ 			return getter;
29001/******/ 		};
29002/******/ 	})();
29003/******/ 	
29004/******/ 	/* webpack/runtime/define property getters */
29005/******/ 	(() => {
29006/******/ 		// define getter functions for harmony exports
29007/******/ 		__webpack_require__.d = (exports, definition) => {
29008/******/ 			for(var key in definition) {
29009/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
29010/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
29011/******/ 				}
29012/******/ 			}
29013/******/ 		};
29014/******/ 	})();
29015/******/ 	
29016/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
29017/******/ 	(() => {
29018/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
29019/******/ 	})();
29020/******/ 	
29021/******/ 	/* webpack/runtime/make namespace object */
29022/******/ 	(() => {
29023/******/ 		// define __esModule on exports
29024/******/ 		__webpack_require__.r = (exports) => {
29025/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
29026/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
29027/******/ 			}
29028/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
29029/******/ 		};
29030/******/ 	})();
29031/******/ 	
29032/************************************************************************/
29033var __webpack_exports__ = {};
29034// This entry need to be wrapped in an IIFE because it need to be in strict mode.
29035(() => {
29036"use strict";
29037__webpack_require__.r(__webpack_exports__);
29038/* harmony import */ var smoothscroll_polyfill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4153);
29039/* harmony import */ var smoothscroll_polyfill__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(smoothscroll_polyfill__WEBPACK_IMPORTED_MODULE_0__);
29040/* harmony import */ var webp_hero_dist_cjs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2437);
29041/* harmony import */ var webp_hero_dist_cjs_index_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(webp_hero_dist_cjs_index_js__WEBPACK_IMPORTED_MODULE_1__);
29042/* harmony import */ var webp_hero_dist_cjs_polyfills_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4004);
29043/* harmony import */ var webp_hero_dist_cjs_polyfills_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(webp_hero_dist_cjs_polyfills_js__WEBPACK_IMPORTED_MODULE_2__);
29044
29045
29046
29047const webpMachine = new webp_hero_dist_cjs_index_js__WEBPACK_IMPORTED_MODULE_1__.WebpMachine();
29048webpMachine.polyfillDocument();
29049smoothscroll_polyfill__WEBPACK_IMPORTED_MODULE_0___default().polyfill();
29050})();
29051
29052var __webpack_export_target__ = this;
29053for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i
vendor: 134 bytes, lines 29053-29056
29053];
29054if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
29055/******/ })()
29056;

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.