Commits

Izumi ASAKURA  committed 86527bd

ファイル名を変更

  • Participants
  • Parent commits 461eb4c

Comments (0)

Files changed (4)

+// This program was compiled from OCaml by js_of_ocaml 1.4
+function caml_raise_with_arg (tag, arg) { throw [0, tag, arg]; }
+function caml_raise_with_string (tag, msg) {
+  caml_raise_with_arg (tag, new MlWrappedString (msg));
+}
+function caml_invalid_argument (msg) {
+  caml_raise_with_string(caml_global_data[4], msg);
+}
+function caml_array_bound_error () {
+  caml_invalid_argument("index out of bounds");
+}
+function caml_str_repeat(n, s) {
+  if (!n) { return ""; }
+  if (n & 1) { return caml_str_repeat(n - 1, s) + s; }
+  var r = caml_str_repeat(n >> 1, s);
+  return r + r;
+}
+function MlString(param) {
+  if (param != null) {
+    this.bytes = this.fullBytes = param;
+    this.last = this.len = param.length;
+  }
+}
+MlString.prototype = {
+  string:null,
+  bytes:null,
+  fullBytes:null,
+  array:null,
+  len:null,
+  last:0,
+  toJsString:function() {
+    return this.string = decodeURIComponent (escape(this.getFullBytes()));
+  },
+  toBytes:function() {
+    if (this.string != null)
+      var b = unescape (encodeURIComponent (this.string));
+    else {
+      var b = "", a = this.array, l = a.length;
+      for (var i = 0; i < l; i ++) b += String.fromCharCode (a[i]);
+    }
+    this.bytes = this.fullBytes = b;
+    this.last = this.len = b.length;
+    return b;
+  },
+  getBytes:function() {
+    var b = this.bytes;
+    if (b == null) b = this.toBytes();
+    return b;
+  },
+  getFullBytes:function() {
+    var b = this.fullBytes;
+    if (b !== null) return b;
+    b = this.bytes;
+    if (b == null) b = this.toBytes ();
+    if (this.last < this.len) {
+      this.bytes = (b += caml_str_repeat(this.len - this.last, '\0'));
+      this.last = this.len;
+    }
+    this.fullBytes = b;
+    return b;
+  },
+  toArray:function() {
+    var b = this.bytes;
+    if (b == null) b = this.toBytes ();
+    var a = [], l = this.last;
+    for (var i = 0; i < l; i++) a[i] = b.charCodeAt(i);
+    for (l = this.len; i < l; i++) a[i] = 0;
+    this.string = this.bytes = this.fullBytes = null;
+    this.last = this.len;
+    this.array = a;
+    return a;
+  },
+  getArray:function() {
+    var a = this.array;
+    if (!a) a = this.toArray();
+    return a;
+  },
+  getLen:function() {
+    var len = this.len;
+    if (len !== null) return len;
+    this.toBytes();
+    return this.len;
+  },
+  toString:function() { var s = this.string; return s?s:this.toJsString(); },
+  valueOf:function() { var s = this.string; return s?s:this.toJsString(); },
+  blitToArray:function(i1, a2, i2, l) {
+    var a1 = this.array;
+    if (a1) {
+      if (i2 <= i1) {
+        for (var i = 0; i < l; i++) a2[i2 + i] = a1[i1 + i];
+      } else {
+        for (var i = l - 1; i >= 0; i--) a2[i2 + i] = a1[i1 + i];
+      }
+    } else {
+      var b = this.bytes;
+      if (b == null) b = this.toBytes();
+      var l1 = this.last - i1;
+      if (l <= l1)
+        for (var i = 0; i < l; i++) a2 [i2 + i] = b.charCodeAt(i1 + i);
+      else {
+        for (var i = 0; i < l1; i++) a2 [i2 + i] = b.charCodeAt(i1 + i);
+        for (; i < l; i++) a2 [i2 + i] = 0;
+      }
+    }
+  },
+  get:function (i) {
+    var a = this.array;
+    if (a) return a[i];
+    var b = this.bytes;
+    if (b == null) b = this.toBytes();
+    return (i<this.last)?b.charCodeAt(i):0;
+  },
+  safeGet:function (i) {
+    if (this.len == null) this.toBytes();
+    if ((i < 0) || (i >= this.len)) caml_array_bound_error ();
+    return this.get(i);
+  },
+  set:function (i, c) {
+    var a = this.array;
+    if (!a) {
+      if (this.last == i) {
+        this.bytes += String.fromCharCode (c & 0xff);
+        this.last ++;
+        return 0;
+      }
+      a = this.toArray();
+    } else if (this.bytes != null) {
+      this.bytes = this.fullBytes = this.string = null;
+    }
+    a[i] = c & 0xff;
+    return 0;
+  },
+  safeSet:function (i, c) {
+    if (this.len == null) this.toBytes ();
+    if ((i < 0) || (i >= this.len)) caml_array_bound_error ();
+    this.set(i, c);
+  },
+  fill:function (ofs, len, c) {
+    if (ofs >= this.last && this.last && c == 0) return;
+    var a = this.array;
+    if (!a) a = this.toArray();
+    else if (this.bytes != null) {
+      this.bytes = this.fullBytes = this.string = null;
+    }
+    var l = ofs + len;
+    for (var i = ofs; i < l; i++) a[i] = c;
+  },
+  compare:function (s2) {
+    if (this.string != null && s2.string != null) {
+      if (this.string < s2.string) return -1;
+      if (this.string > s2.string) return 1;
+      return 0;
+    }
+    var b1 = this.getFullBytes ();
+    var b2 = s2.getFullBytes ();
+    if (b1 < b2) return -1;
+    if (b1 > b2) return 1;
+    return 0;
+  },
+  equal:function (s2) {
+    if (this.string != null && s2.string != null)
+      return this.string == s2.string;
+    return this.getFullBytes () == s2.getFullBytes ();
+  },
+  lessThan:function (s2) {
+    if (this.string != null && s2.string != null)
+      return this.string < s2.string;
+    return this.getFullBytes () < s2.getFullBytes ();
+  },
+  lessEqual:function (s2) {
+    if (this.string != null && s2.string != null)
+      return this.string <= s2.string;
+    return this.getFullBytes () <= s2.getFullBytes ();
+  }
+}
+function MlWrappedString (s) { this.string = s; }
+MlWrappedString.prototype = new MlString();
+function MlMakeString (l) { this.bytes = ""; this.len = l; }
+MlMakeString.prototype = new MlString ();
+function caml_array_get (array, index) {
+  if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error();
+  return array[index+1];
+}
+function caml_array_set (array, index, newval) {
+  if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error();
+  array[index+1]=newval; return 0;
+}
+function caml_blit_string(s1, i1, s2, i2, len) {
+  if (len === 0) return;
+  if (i2 === s2.last && s2.bytes != null) {
+    var b = s1.bytes;
+    if (b == null) b = s1.toBytes ();
+    if (i1 > 0 || s1.last > len) b = b.slice(i1, i1 + len);
+    s2.bytes += b;
+    s2.last += b.length;
+    return;
+  }
+  var a = s2.array;
+  if (!a) a = s2.toArray(); else { s2.bytes = s2.string = null; }
+  s1.blitToArray (i1, a, i2, len);
+}
+function caml_call_gen(f, args) {
+  if(f.fun)
+    return caml_call_gen(f.fun, args);
+  var n = f.length;
+  var d = n - args.length;
+  if (d == 0)
+    return f.apply(null, args);
+  else if (d < 0)
+    return caml_call_gen(f.apply(null, args.slice(0,n)), args.slice(n));
+  else
+    return function (x){ return caml_call_gen(f, args.concat([x])); };
+}
+function caml_classify_float (x) {
+  if (isFinite (x)) {
+    if (Math.abs(x) >= 2.2250738585072014e-308) return 0;
+    if (x != 0) return 1;
+    return 2;
+  }
+  return isNaN(x)?4:3;
+}
+function caml_convert_raw_backtrace () {
+  caml_invalid_argument
+    ("Primitive 'caml_convert_raw_backtrace' not implemented");
+}
+function caml_create_string(len) {
+  if (len < 0) caml_invalid_argument("String.create");
+  return new MlMakeString(len);
+}
+function caml_int64_compare(x,y) {
+  var x3 = x[3] << 16;
+  var y3 = y[3] << 16;
+  if (x3 > y3) return 1;
+  if (x3 < y3) return -1;
+  if (x[2] > y[2]) return 1;
+  if (x[2] < y[2]) return -1;
+  if (x[1] > y[1]) return 1;
+  if (x[1] < y[1]) return -1;
+  return 0;
+}
+function caml_int_compare (a, b) {
+  if (a < b) return (-1); if (a == b) return 0; return 1;
+}
+function caml_compare_val (a, b, total) {
+  var stack = [];
+  for(;;) {
+    if (!(total && a === b)) {
+      if (a instanceof MlString) {
+        if (b instanceof MlString) {
+            if (a != b) {
+		var x = a.compare(b);
+		if (x != 0) return x;
+	    }
+        } else
+          return 1;
+      } else if (a instanceof Array && a[0] === (a[0]|0)) {
+        var ta = a[0];
+        if (ta === 250) {
+          a = a[1];
+          continue;
+        } else if (b instanceof Array && b[0] === (b[0]|0)) {
+          var tb = b[0];
+          if (tb === 250) {
+            b = b[1];
+            continue;
+          } else if (ta != tb) {
+            return (ta < tb)?-1:1;
+          } else {
+            switch (ta) {
+            case 248: {
+		var x = caml_int_compare(a[2], b[2]);
+		if (x != 0) return x;
+		break;
+	    }
+            case 255: {
+		var x = caml_int64_compare(a, b);
+		if (x != 0) return x;
+		break;
+	    }
+            default:
+              if (a.length != b.length) return (a.length < b.length)?-1:1;
+              if (a.length > 1) stack.push(a, b, 1);
+            }
+          }
+        } else
+          return 1;
+      } else if (b instanceof MlString ||
+                 (b instanceof Array && b[0] === (b[0]|0))) {
+        return -1;
+      } else {
+        if (a < b) return -1;
+        if (a > b) return 1;
+        if (total && a != b) {
+          if (a == a) return 1;
+          if (b == b) return -1;
+        }
+      }
+    }
+    if (stack.length == 0) return 0;
+    var i = stack.pop();
+    b = stack.pop();
+    a = stack.pop();
+    if (i + 1 < a.length) stack.push(a, b, i + 1);
+    a = a[i];
+    b = b[i];
+  }
+}
+function caml_equal (x, y) { return +(caml_compare_val(x,y,false) == 0); }
+function caml_fill_string(s, i, l, c) { s.fill (i, l, c); }
+function caml_parse_format (fmt) {
+  fmt = fmt.toString ();
+  var len = fmt.length;
+  if (len > 31) caml_invalid_argument("format_int: format too long");
+  var f =
+    { justify:'+', signstyle:'-', filler:' ', alternate:false,
+      base:0, signedconv:false, width:0, uppercase:false,
+      sign:1, prec:-1, conv:'f' };
+  for (var i = 0; i < len; i++) {
+    var c = fmt.charAt(i);
+    switch (c) {
+    case '-':
+      f.justify = '-'; break;
+    case '+': case ' ':
+      f.signstyle = c; break;
+    case '0':
+      f.filler = '0'; break;
+    case '#':
+      f.alternate = true; break;
+    case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+      f.width = 0;
+      while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) {
+        f.width = f.width * 10 + c; i++
+      }
+      i--;
+     break;
+    case '.':
+      f.prec = 0;
+      i++;
+      while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) {
+        f.prec = f.prec * 10 + c; i++
+      }
+      i--;
+    case 'd': case 'i':
+      f.signedconv = true; /* fallthrough */
+    case 'u':
+      f.base = 10; break;
+    case 'x':
+      f.base = 16; break;
+    case 'X':
+      f.base = 16; f.uppercase = true; break;
+    case 'o':
+      f.base = 8; break;
+    case 'e': case 'f': case 'g':
+      f.signedconv = true; f.conv = c; break;
+    case 'E': case 'F': case 'G':
+      f.signedconv = true; f.uppercase = true;
+      f.conv = c.toLowerCase (); break;
+    }
+  }
+  return f;
+}
+function caml_finish_formatting(f, rawbuffer) {
+  if (f.uppercase) rawbuffer = rawbuffer.toUpperCase();
+  var len = rawbuffer.length;
+  if (f.signedconv && (f.sign < 0 || f.signstyle != '-')) len++;
+  if (f.alternate) {
+    if (f.base == 8) len += 1;
+    if (f.base == 16) len += 2;
+  }
+  var buffer = "";
+  if (f.justify == '+' && f.filler == ' ')
+    for (var i = len; i < f.width; i++) buffer += ' ';
+  if (f.signedconv) {
+    if (f.sign < 0) buffer += '-';
+    else if (f.signstyle != '-') buffer += f.signstyle;
+  }
+  if (f.alternate && f.base == 8) buffer += '0';
+  if (f.alternate && f.base == 16) buffer += "0x";
+  if (f.justify == '+' && f.filler == '0')
+    for (var i = len; i < f.width; i++) buffer += '0';
+  buffer += rawbuffer;
+  if (f.justify == '-')
+    for (var i = len; i < f.width; i++) buffer += ' ';
+  return new MlWrappedString (buffer);
+}
+function caml_format_float (fmt, x) {
+  var s, f = caml_parse_format(fmt);
+  var prec = (f.prec < 0)?6:f.prec;
+  if (x < 0) { f.sign = -1; x = -x; }
+  if (isNaN(x)) { s = "nan"; f.filler = ' '; }
+  else if (!isFinite(x)) { s = "inf"; f.filler = ' '; }
+  else
+    switch (f.conv) {
+    case 'e':
+      var s = x.toExponential(prec);
+      var i = s.length;
+      if (s.charAt(i - 3) == 'e')
+        s = s.slice (0, i - 1) + '0' + s.slice (i - 1);
+      break;
+    case 'f':
+      s = x.toFixed(prec); break;
+    case 'g':
+      prec = prec?prec:1;
+      s = x.toExponential(prec - 1);
+      var j = s.indexOf('e');
+      var exp = +s.slice(j + 1);
+      if (exp < -4 || x.toFixed(0).length > prec) {
+        var i = j - 1; while (s.charAt(i) == '0') i--;
+        if (s.charAt(i) == '.') i--;
+        s = s.slice(0, i + 1) + s.slice(j);
+        i = s.length;
+        if (s.charAt(i - 3) == 'e')
+          s = s.slice (0, i - 1) + '0' + s.slice (i - 1);
+        break;
+      } else {
+        var p = prec;
+        if (exp < 0) { p -= exp + 1; s = x.toFixed(p); }
+        else while (s = x.toFixed(p), s.length > prec + 1) p--;
+        if (p) {
+          var i = s.length - 1; while (s.charAt(i) == '0') i--;
+          if (s.charAt(i) == '.') i--;
+          s = s.slice(0, i + 1);
+        }
+      }
+      break;
+    }
+  return caml_finish_formatting(f, s);
+}
+function caml_format_int(fmt, i) {
+  if (fmt.toString() == "%d") return new MlWrappedString(""+i);
+  var f = caml_parse_format(fmt);
+  if (i < 0) { if (f.signedconv) { f.sign = -1; i = -i; } else i >>>= 0; }
+  var s = i.toString(f.base);
+  if (f.prec >= 0) {
+    f.filler = ' ';
+    var n = f.prec - s.length;
+    if (n > 0) s = caml_str_repeat (n, '0') + s;
+  }
+  return caml_finish_formatting(f, s);
+}
+function caml_get_exception_raw_backtrace () {
+  caml_invalid_argument
+    ("Primitive 'caml_get_exception_raw_backtrace' not implemented");
+}
+function caml_compare (a, b) { return caml_compare_val (a, b, true); }
+function caml_greaterequal (x, y) { return +(caml_compare(x,y,false) >= 0); }
+function caml_int64_is_negative(x) {
+  return (x[3] << 16) < 0;
+}
+function caml_int64_neg (x) {
+  var y1 = - x[1];
+  var y2 = - x[2] + (y1 >> 24);
+  var y3 = - x[3] + (y2 >> 24);
+  return [255, y1 & 0xffffff, y2 & 0xffffff, y3 & 0xffff];
+}
+function caml_int64_of_int32 (x) {
+  return [255, x & 0xffffff, (x >> 24) & 0xffffff, (x >> 31) & 0xffff]
+}
+function caml_int64_ucompare(x,y) {
+  if (x[3] > y[3]) return 1;
+  if (x[3] < y[3]) return -1;
+  if (x[2] > y[2]) return 1;
+  if (x[2] < y[2]) return -1;
+  if (x[1] > y[1]) return 1;
+  if (x[1] < y[1]) return -1;
+  return 0;
+}
+function caml_int64_lsl1 (x) {
+  x[3] = (x[3] << 1) | (x[2] >> 23);
+  x[2] = ((x[2] << 1) | (x[1] >> 23)) & 0xffffff;
+  x[1] = (x[1] << 1) & 0xffffff;
+}
+function caml_int64_lsr1 (x) {
+  x[1] = ((x[1] >>> 1) | (x[2] << 23)) & 0xffffff;
+  x[2] = ((x[2] >>> 1) | (x[3] << 23)) & 0xffffff;
+  x[3] = x[3] >>> 1;
+}
+function caml_int64_sub (x, y) {
+  var z1 = x[1] - y[1];
+  var z2 = x[2] - y[2] + (z1 >> 24);
+  var z3 = x[3] - y[3] + (z2 >> 24);
+  return [255, z1 & 0xffffff, z2 & 0xffffff, z3 & 0xffff];
+}
+function caml_int64_udivmod (x, y) {
+  var offset = 0;
+  var modulus = x.slice ();
+  var divisor = y.slice ();
+  var quotient = [255, 0, 0, 0];
+  while (caml_int64_ucompare (modulus, divisor) > 0) {
+    offset++;
+    caml_int64_lsl1 (divisor);
+  }
+  while (offset >= 0) {
+    offset --;
+    caml_int64_lsl1 (quotient);
+    if (caml_int64_ucompare (modulus, divisor) >= 0) {
+      quotient[1] ++;
+      modulus = caml_int64_sub (modulus, divisor);
+    }
+    caml_int64_lsr1 (divisor);
+  }
+  return [0,quotient, modulus];
+}
+function caml_int64_to_int32 (x) {
+  return x[1] | (x[2] << 24);
+}
+function caml_int64_is_zero(x) {
+  return (x[3]|x[2]|x[1]) == 0;
+}
+function caml_int64_format (fmt, x) {
+  var f = caml_parse_format(fmt);
+  if (f.signedconv && caml_int64_is_negative(x)) {
+    f.sign = -1; x = caml_int64_neg(x);
+  }
+  var buffer = "";
+  var wbase = caml_int64_of_int32(f.base);
+  var cvtbl = "0123456789abcdef";
+  do {
+    var p = caml_int64_udivmod(x, wbase);
+    x = p[1];
+    buffer = cvtbl.charAt(caml_int64_to_int32(p[2])) + buffer;
+  } while (! caml_int64_is_zero(x));
+  if (f.prec >= 0) {
+    f.filler = ' ';
+    var n = f.prec - buffer.length;
+    if (n > 0) buffer = caml_str_repeat (n, '0') + buffer;
+  }
+  return caml_finish_formatting(f, buffer);
+}
+function caml_parse_sign_and_base (s) {
+  var i = 0, base = 10, sign = s.get(0) == 45?(i++,-1):1;
+  if (s.get(i) == 48)
+    switch (s.get(i + 1)) {
+    case 120: case 88: base = 16; i += 2; break;
+    case 111: case 79: base =  8; i += 2; break;
+    case  98: case 66: base =  2; i += 2; break;
+    }
+  return [i, sign, base];
+}
+function caml_parse_digit(c) {
+  if (c >= 48 && c <= 57)  return c - 48;
+  if (c >= 65 && c <= 90)  return c - 55;
+  if (c >= 97 && c <= 122) return c - 87;
+  return -1;
+}
+var caml_global_data = [0];
+function caml_failwith (msg) {
+  caml_raise_with_string(caml_global_data[3], msg);
+}
+function caml_int_of_string (s) {
+  var r = caml_parse_sign_and_base (s);
+  var i = r[0], sign = r[1], base = r[2];
+  var threshold = -1 >>> 0;
+  var c = s.get(i);
+  var d = caml_parse_digit(c);
+  if (d < 0 || d >= base) caml_failwith("int_of_string");
+  var res = d;
+  for (;;) {
+    i++;
+    c = s.get(i);
+    if (c == 95) continue;
+    d = caml_parse_digit(c);
+    if (d < 0 || d >= base) break;
+    res = base * res + d;
+    if (res > threshold) caml_failwith("int_of_string");
+  }
+  if (i != s.getLen()) caml_failwith("int_of_string");
+  res = sign * res;
+  if ((res | 0) != res) caml_failwith("int_of_string");
+  return res;
+}
+function caml_is_printable(c) { return +(c > 31 && c < 127); }
+function caml_js_call(f, o, args) { return f.apply(o, args.slice(1)); }
+function caml_js_get_console () {
+  var c = this.console?this.console:{};
+  var m = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
+           "trace", "group", "groupCollapsed", "groupEnd", "time", "timeEnd"];
+  function f () {}
+  for (var i = 0; i < m.length; i++) if (!c[m[i]]) c[m[i]]=f;
+  return c;
+}
+var caml_js_regexps = { amp:/&/g, lt:/</g, quot:/\"/g, all:/[&<\"]/ };
+function caml_js_html_escape (s) {
+  if (!caml_js_regexps.all.test(s)) return s;
+  return s.replace(caml_js_regexps.amp, "&amp;")
+          .replace(caml_js_regexps.lt, "&lt;")
+          .replace(caml_js_regexps.quot, "&quot;");
+}
+function caml_js_wrap_callback(f) {
+  var toArray = Array.prototype.slice;
+  return function () {
+    var args = (arguments.length > 0)?toArray.call (arguments):[undefined];
+    return caml_call_gen(f, args);
+  }
+}
+function caml_make_vect (len, init) {
+  var b = [0]; for (var i = 1; i <= len; i++) b[i] = init; return b;
+}
+function caml_ml_flush () { return 0; }
+function caml_ml_open_descriptor_out () { return 0; }
+function caml_ml_out_channels_list () { return 0; }
+function caml_ml_output () { return 0; }
+function caml_raise_constant (tag) { throw [0, tag]; }
+function caml_raise_zero_divide () {
+  caml_raise_constant(caml_global_data[6]);
+}
+function caml_mod(x,y) {
+  if (y == 0) caml_raise_zero_divide ();
+  return x%y;
+}
+function caml_mul(x,y) {
+  return ((((x >> 16) * y) << 16) + (x & 0xffff) * y)|0;
+}
+function caml_notequal (x, y) { return +(caml_compare_val(x,y,false) != 0); }
+function caml_obj_is_block (x) { return +(x instanceof Array); }
+function caml_obj_tag (x) { return (x instanceof Array)?x[0]:1000; }
+function caml_register_global (n, v) { caml_global_data[n + 1] = v; }
+var caml_named_values = {};
+function caml_register_named_value(nm,v) {
+  caml_named_values[nm] = v; return 0;
+}
+function caml_sys_const_word_size () { return 32; }
+function caml_update_dummy (x, y) {
+  if( typeof y==="function" ) { x.fun = y; return 0; }
+  if( y.fun ) { x.fun = y.fun; return 0; }
+  var i = y.length; while (i--) x[i] = y[i]; return 0;
+}
+(function(){function h1(qq,qr,qs,qt,qu,qv,qw){return qq.length==6?qq(qr,qs,qt,qu,qv,qw):caml_call_gen(qq,[qr,qs,qt,qu,qv,qw]);}function nI(ql,qm,qn,qo,qp){return ql.length==4?ql(qm,qn,qo,qp):caml_call_gen(ql,[qm,qn,qo,qp]);}function dR(qh,qi,qj,qk){return qh.length==3?qh(qi,qj,qk):caml_call_gen(qh,[qi,qj,qk]);}function el(qe,qf,qg){return qe.length==2?qe(qf,qg):caml_call_gen(qe,[qf,qg]);}function bQ(qc,qd){return qc.length==1?qc(qd):caml_call_gen(qc,[qd]);}var a=[0,new MlString("Failure")],b=[0,new MlString("Invalid_argument")],c=[0,new MlString("Not_found")],d=[0,new MlString("Assert_failure")],e=new MlString("File \"%s\", line %d, characters %d-%d: %s"),f=new MlString("input");caml_register_global(6,c);caml_register_global(5,[0,new MlString("Division_by_zero")]);caml_register_global(3,b);caml_register_global(2,a);var bm=[0,new MlString("Out_of_memory")],bl=[0,new MlString("Match_failure")],bk=[0,new MlString("Stack_overflow")],bj=[0,new MlString("Undefined_recursive_module")],bi=new MlString("%.12g"),bh=new MlString("."),bg=new MlString("%d"),bf=new MlString("true"),be=new MlString("false"),bd=new MlString("Pervasives.do_at_exit"),bc=new MlString("\\b"),bb=new MlString("\\t"),ba=new MlString("\\n"),a$=new MlString("\\r"),a_=new MlString("\\\\"),a9=new MlString("\\'"),a8=new MlString("String.blit"),a7=new MlString("String.sub"),a6=new MlString("Queue.Empty"),a5=new MlString("Buffer.add: cannot grow buffer"),a4=new MlString(""),a3=new MlString(""),a2=new MlString("%.12g"),a1=new MlString("\""),a0=new MlString("\""),aZ=new MlString("'"),aY=new MlString("'"),aX=new MlString("nan"),aW=new MlString("neg_infinity"),aV=new MlString("infinity"),aU=new MlString("."),aT=new MlString("printf: bad positional specification (0)."),aS=new MlString("%_"),aR=[0,new MlString("printf.ml"),143,8],aQ=new MlString("'"),aP=new MlString("Printf: premature end of format string '"),aO=new MlString("'"),aN=new MlString(" in format string '"),aM=new MlString(", at char number "),aL=new MlString("Printf: bad conversion %"),aK=new MlString("Sformat.index_of_int: negative argument "),aJ=new MlString(""),aI=new MlString(", %s%s"),aH=[1,1],aG=new MlString("%s\n"),aF=new MlString("(Program not linked with -g, cannot print stack backtrace)\n"),aE=new MlString("Raised at"),aD=new MlString("Re-raised at"),aC=new MlString("Raised by primitive operation at"),aB=new MlString("Called from"),aA=new MlString("%s file \"%s\", line %d, characters %d-%d"),az=new MlString("%s unknown location"),ay=new MlString("Out of memory"),ax=new MlString("Stack overflow"),aw=new MlString("Pattern matching failed"),av=new MlString("Assertion failed"),au=new MlString("Undefined recursive module"),at=new MlString("(%s%s)"),as=new MlString(""),ar=new MlString(""),aq=new MlString("(%s)"),ap=new MlString("%d"),ao=new MlString("%S"),an=new MlString("_"),am=[0,new MlString("src/core/lwt.ml"),799,20],al=[0,new MlString("src/core/lwt.ml"),801,8],ak=[0,new MlString("src/core/lwt.ml"),692,20],aj=[0,new MlString("src/core/lwt.ml"),695,8],ai=[0,new MlString("src/core/lwt.ml"),648,20],ah=[0,new MlString("src/core/lwt.ml"),651,8],ag=[0,new MlString("src/core/lwt.ml"),498,8],af=[0,new MlString("src/core/lwt.ml"),487,9],ae=new MlString("Lwt.wakeup_result"),ad=new MlString("Lwt.Canceled"),ac=new MlString("on"),ab=new MlString("\""),aa=new MlString(" name=\""),$=new MlString("\""),_=new MlString(" type=\""),Z=new MlString("<"),Y=new MlString(">"),X=new MlString(""),W=new MlString("<input name=\"x\">"),V=new MlString("input"),U=new MlString("x"),T=new MlString("canvas"),S=new MlString("div"),R=new MlString("label"),Q=new MlString("mousedown"),P=new MlString("2d"),O=new MlString("Dom_html.Canvas_not_available"),N=new MlString("Exception during Lwt.async: "),M=new MlString("Lwt_js_event"),L=new MlString("transitionend"),K=new MlString("transition"),J=new MlString("otransitionend"),I=new MlString("oTransitionEnd"),H=new MlString("OTransition"),G=new MlString("transitionend"),F=new MlString("MozTransition"),E=new MlString("webkitTransitionEnd"),D=new MlString("WebkitTransition"),C=new MlString("rgb(0, 0, 0)"),B=new MlString("called"),A=new MlString("x1"),z=new MlString("x2"),y=new MlString("move"),x=new MlString("stop"),w=new MlString("button"),v=new MlString("move"),u=new MlString("fps"),t=[0,new MlString("x1"),[0,new MlString("x2"),[0,new MlString("x4"),0]]],s=new MlString("fps"),r=new MlString("rgba(255, 0, 0, %.1f)"),q=new MlString("12px 'Times New Roman'"),p=new MlString("crash!!"),o=new MlString("rgb(%d, %d, %d)"),n=new MlString("canvas"),m=new MlString("radio"),l=new MlString("radio"),k=new MlString("submit"),j=new MlString("");function i(g){throw [0,a,g];}function bn(h){throw [0,b,h];}function bu(bo,bq){var bp=bo.getLen(),br=bq.getLen(),bs=caml_create_string(bp+br|0);caml_blit_string(bo,0,bs,0,bp);caml_blit_string(bq,0,bs,bp,br);return bs;}function bv(bt){return caml_format_int(bg,bt);}var bw=caml_ml_open_descriptor_out(2);function bE(by,bx){return caml_ml_output(by,bx,0,bx.getLen());}function bD(bC){var bz=caml_ml_out_channels_list(0);for(;;){if(bz){var bA=bz[2];try {}catch(bB){}var bz=bA;continue;}return 0;}}caml_register_named_value(bd,bD);function bI(bG,bF){return caml_ml_output_char(bG,bF);}function ca(bH){return caml_ml_flush(bH);}function b$(bJ){var bK=bJ,bL=0;for(;;){if(bK){var bM=bK[2],bN=[0,bK[1],bL],bK=bM,bL=bN;continue;}return bL;}}function bS(bP,bO){if(bO){var bR=bO[2],bT=bQ(bP,bO[1]);return [0,bT,bS(bP,bR)];}return 0;}function cb(bW,bU){var bV=bU;for(;;){if(bV){var bX=bV[2];bQ(bW,bV[1]);var bV=bX;continue;}return 0;}}function cc(b1,bY){var bZ=bY;for(;;){if(bZ){var b0=bZ[1],b2=bZ[2];if(bQ(b1,b0))return b0;var bZ=b2;continue;}throw [0,c];}}function cd(b9){return bQ(function(b3,b5){var b4=b3,b6=b5;for(;;){if(b6){var b7=b6[2],b8=b6[1];if(bQ(b9,b8)){var b_=[0,b8,b4],b4=b_,b6=b7;continue;}var b6=b7;continue;}return b$(b4);}},0);}function cq(ce,cg){var cf=caml_create_string(ce);caml_fill_string(cf,0,ce,cg);return cf;}function cr(cj,ch,ci){if(0<=ch&&0<=ci&&!((cj.getLen()-ci|0)<ch)){var ck=caml_create_string(ci);caml_blit_string(cj,ch,ck,0,ci);return ck;}return bn(a7);}function cs(cn,cm,cp,co,cl){if(0<=cl&&0<=cm&&!((cn.getLen()-cl|0)<cm)&&0<=co&&!((cp.getLen()-cl|0)<co))return caml_blit_string(cn,cm,cp,co,cl);return bn(a8);}var ct=caml_sys_const_word_size(0),cu=caml_mul(ct/8|0,(1<<(ct-10|0))-1|0)-1|0,cP=252,cO=253,cN=[0,a6];function cM(cv){var cw=1<=cv?cv:1,cx=cu<cw?cu:cw,cy=caml_create_string(cx);return [0,cy,0,cx,cy];}function cQ(cz){return cr(cz[1],0,cz[2]);}function cG(cA,cC){var cB=[0,cA[3]];for(;;){if(cB[1]<(cA[2]+cC|0)){cB[1]=2*cB[1]|0;continue;}if(cu<cB[1])if((cA[2]+cC|0)<=cu)cB[1]=cu;else i(a5);var cD=caml_create_string(cB[1]);cs(cA[1],0,cD,0,cA[2]);cA[1]=cD;cA[3]=cB[1];return 0;}}function cR(cE,cH){var cF=cE[2];if(cE[3]<=cF)cG(cE,1);cE[1].safeSet(cF,cH);cE[2]=cF+1|0;return 0;}function cS(cK,cI){var cJ=cI.getLen(),cL=cK[2]+cJ|0;if(cK[3]<cL)cG(cK,cJ);cs(cI,0,cK[1],cK[2],cJ);cK[2]=cL;return 0;}function cW(cT){return 0<=cT?cT:i(bu(aK,bv(cT)));}function cX(cU,cV){return cW(cU+cV|0);}var cY=bQ(cX,1);function c5(cZ){return cr(cZ,0,cZ.getLen());}function c7(c0,c1,c3){var c2=bu(aN,bu(c0,aO)),c4=bu(aM,bu(bv(c1),c2));return bn(bu(aL,bu(cq(1,c3),c4)));}function dY(c6,c9,c8){return c7(c5(c6),c9,c8);}function dZ(c_){return bn(bu(aP,bu(c5(c_),aQ)));}function dt(c$,dh,dj,dl){function dg(da){if((c$.safeGet(da)-48|0)<0||9<(c$.safeGet(da)-48|0))return da;var db=da+1|0;for(;;){var dc=c$.safeGet(db);if(48<=dc){if(!(58<=dc)){var de=db+1|0,db=de;continue;}var dd=0;}else if(36===dc){var df=db+1|0,dd=1;}else var dd=0;if(!dd)var df=da;return df;}}var di=dg(dh+1|0),dk=cM((dj-di|0)+10|0);cR(dk,37);var dm=di,dn=b$(dl);for(;;){if(dm<=dj){var dp=c$.safeGet(dm);if(42===dp){if(dn){var dq=dn[2];cS(dk,bv(dn[1]));var dr=dg(dm+1|0),dm=dr,dn=dq;continue;}throw [0,d,aR];}cR(dk,dp);var ds=dm+1|0,dm=ds;continue;}return cQ(dk);}}function fo(dz,dx,dw,dv,du){var dy=dt(dx,dw,dv,du);if(78!==dz&&110!==dz)return dy;dy.safeSet(dy.getLen()-1|0,117);return dy;}function d0(dG,dQ,dW,dA,dV){var dB=dA.getLen();function dS(dC,dE){var dD=40===dC?41:125,dF=dE;for(;;){if(dB<=dF)var dH=bQ(dG,dA);else{if(37!==dA.safeGet(dF)){var dU=dF+1|0,dF=dU;continue;}var dI=dF+1|0;if(dB<=dI)var dJ=bQ(dG,dA);else{var dK=dA.safeGet(dI),dL=dK-40|0;if(dL<0||1<dL){var dM=dL-83|0;if(dM<0||2<dM)var dN=1;else switch(dM){case 1:var dN=1;break;case 2:var dO=1,dN=0;break;default:var dO=0,dN=0;}if(dN){var dP=dI+1|0,dF=dP;continue;}}else var dO=0===dL?0:1;if(!dO){var dT=dS(dK,dI+1|0)+1|0,dF=dT;continue;}var dJ=dK===dD?dI+1|0:dR(dQ,dA,dE,dK);}var dH=dJ;}return dH;}}return dS(dW,dV);}function eo(dX){return dR(d0,dZ,dY,dX);}function eE(d1,ea,ek){var d2=d1.getLen()-1|0;function em(d3){var d4=d3;a:for(;;){if(d4<d2){if(37===d1.safeGet(d4)){var d5=0,d6=d4+1|0;for(;;){if(d2<d6)var d7=dZ(d1);else{var d8=d1.safeGet(d6);if(58<=d8){if(95===d8){var d_=d6+1|0,d9=1,d5=d9,d6=d_;continue;}}else if(32<=d8)switch(d8-32|0){case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 12:case 15:break;case 0:case 3:case 11:case 13:var d$=d6+1|0,d6=d$;continue;case 10:var eb=dR(ea,d5,d6,105),d6=eb;continue;default:var ec=d6+1|0,d6=ec;continue;}var ed=d6;c:for(;;){if(d2<ed)var ee=dZ(d1);else{var ef=d1.safeGet(ed);if(126<=ef)var eg=0;else switch(ef){case 78:case 88:case 100:case 105:case 111:case 117:case 120:var ee=dR(ea,d5,ed,105),eg=1;break;case 69:case 70:case 71:case 101:case 102:case 103:var ee=dR(ea,d5,ed,102),eg=1;break;case 33:case 37:case 44:case 64:var ee=ed+1|0,eg=1;break;case 83:case 91:case 115:var ee=dR(ea,d5,ed,115),eg=1;break;case 97:case 114:case 116:var ee=dR(ea,d5,ed,ef),eg=1;break;case 76:case 108:case 110:var eh=ed+1|0;if(d2<eh){var ee=dR(ea,d5,ed,105),eg=1;}else{var ei=d1.safeGet(eh)-88|0;if(ei<0||32<ei)var ej=1;else switch(ei){case 0:case 12:case 17:case 23:case 29:case 32:var ee=el(ek,dR(ea,d5,ed,ef),105),eg=1,ej=0;break;default:var ej=1;}if(ej){var ee=dR(ea,d5,ed,105),eg=1;}}break;case 67:case 99:var ee=dR(ea,d5,ed,99),eg=1;break;case 66:case 98:var ee=dR(ea,d5,ed,66),eg=1;break;case 41:case 125:var ee=dR(ea,d5,ed,ef),eg=1;break;case 40:var ee=em(dR(ea,d5,ed,ef)),eg=1;break;case 123:var en=dR(ea,d5,ed,ef),ep=dR(eo,ef,d1,en),eq=en;for(;;){if(eq<(ep-2|0)){var er=el(ek,eq,d1.safeGet(eq)),eq=er;continue;}var es=ep-1|0,ed=es;continue c;}default:var eg=0;}if(!eg)var ee=dY(d1,ed,ef);}var d7=ee;break;}}var d4=d7;continue a;}}var et=d4+1|0,d4=et;continue;}return d4;}}em(0);return 0;}function gD(eF){var eu=[0,0,0,0];function eD(ez,eA,ev){var ew=41!==ev?1:0,ex=ew?125!==ev?1:0:ew;if(ex){var ey=97===ev?2:1;if(114===ev)eu[3]=eu[3]+1|0;if(ez)eu[2]=eu[2]+ey|0;else eu[1]=eu[1]+ey|0;}return eA+1|0;}eE(eF,eD,function(eB,eC){return eB+1|0;});return eu[1];}function fk(eG,eJ,eH){var eI=eG.safeGet(eH);if((eI-48|0)<0||9<(eI-48|0))return el(eJ,0,eH);var eK=eI-48|0,eL=eH+1|0;for(;;){var eM=eG.safeGet(eL);if(48<=eM){if(!(58<=eM)){var eP=eL+1|0,eO=(10*eK|0)+(eM-48|0)|0,eK=eO,eL=eP;continue;}var eN=0;}else if(36===eM)if(0===eK){var eQ=i(aT),eN=1;}else{var eQ=el(eJ,[0,cW(eK-1|0)],eL+1|0),eN=1;}else var eN=0;if(!eN)var eQ=el(eJ,0,eH);return eQ;}}function ff(eR,eS){return eR?eS:bQ(cY,eS);}function e6(eT,eU){return eT?eT[1]:eU;}function h0(gY,eW,g_,eZ,gI,he,eV){var eX=bQ(eW,eV);function gZ(eY){return el(eZ,eX,eY);}function gH(e4,hd,e0,e9){var e3=e0.getLen();function gE(g7,e1){var e2=e1;for(;;){if(e3<=e2)return bQ(e4,eX);var e5=e0.safeGet(e2);if(37===e5){var fb=function(e8,e7){return caml_array_get(e9,e6(e8,e7));},fh=function(fj,fc,fe,e_){var e$=e_;for(;;){var fa=e0.safeGet(e$)-32|0;if(!(fa<0||25<fa))switch(fa){case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 12:case 15:break;case 10:return fk(e0,function(fd,fi){var fg=[0,fb(fd,fc),fe];return fh(fj,ff(fd,fc),fg,fi);},e$+1|0);default:var fl=e$+1|0,e$=fl;continue;}var fm=e0.safeGet(e$);if(124<=fm)var fn=0;else switch(fm){case 78:case 88:case 100:case 105:case 111:case 117:case 120:var fp=fb(fj,fc),fq=caml_format_int(fo(fm,e0,e2,e$,fe),fp),fs=fr(ff(fj,fc),fq,e$+1|0),fn=1;break;case 69:case 71:case 101:case 102:case 103:var ft=fb(fj,fc),fu=caml_format_float(dt(e0,e2,e$,fe),ft),fs=fr(ff(fj,fc),fu,e$+1|0),fn=1;break;case 76:case 108:case 110:var fv=e0.safeGet(e$+1|0)-88|0;if(fv<0||32<fv)var fw=1;else switch(fv){case 0:case 12:case 17:case 23:case 29:case 32:var fx=e$+1|0,fy=fm-108|0;if(fy<0||2<fy)var fz=0;else{switch(fy){case 1:var fz=0,fA=0;break;case 2:var fB=fb(fj,fc),fC=caml_format_int(dt(e0,e2,fx,fe),fB),fA=1;break;default:var fD=fb(fj,fc),fC=caml_format_int(dt(e0,e2,fx,fe),fD),fA=1;}if(fA){var fE=fC,fz=1;}}if(!fz){var fF=fb(fj,fc),fE=caml_int64_format(dt(e0,e2,fx,fe),fF);}var fs=fr(ff(fj,fc),fE,fx+1|0),fn=1,fw=0;break;default:var fw=1;}if(fw){var fG=fb(fj,fc),fH=caml_format_int(fo(110,e0,e2,e$,fe),fG),fs=fr(ff(fj,fc),fH,e$+1|0),fn=1;}break;case 37:case 64:var fs=fr(fc,cq(1,fm),e$+1|0),fn=1;break;case 83:case 115:var fI=fb(fj,fc);if(115===fm)var fJ=fI;else{var fK=[0,0],fL=0,fM=fI.getLen()-1|0;if(!(fM<fL)){var fN=fL;for(;;){var fO=fI.safeGet(fN),fP=14<=fO?34===fO?1:92===fO?1:0:11<=fO?13<=fO?1:0:8<=fO?1:0,fQ=fP?2:caml_is_printable(fO)?1:4;fK[1]=fK[1]+fQ|0;var fR=fN+1|0;if(fM!==fN){var fN=fR;continue;}break;}}if(fK[1]===fI.getLen())var fS=fI;else{var fT=caml_create_string(fK[1]);fK[1]=0;var fU=0,fV=fI.getLen()-1|0;if(!(fV<fU)){var fW=fU;for(;;){var fX=fI.safeGet(fW),fY=fX-34|0;if(fY<0||58<fY)if(-20<=fY)var fZ=1;else{switch(fY+34|0){case 8:fT.safeSet(fK[1],92);fK[1]+=1;fT.safeSet(fK[1],98);var f0=1;break;case 9:fT.safeSet(fK[1],92);fK[1]+=1;fT.safeSet(fK[1],116);var f0=1;break;case 10:fT.safeSet(fK[1],92);fK[1]+=1;fT.safeSet(fK[1],110);var f0=1;break;case 13:fT.safeSet(fK[1],92);fK[1]+=1;fT.safeSet(fK[1],114);var f0=1;break;default:var fZ=1,f0=0;}if(f0)var fZ=0;}else var fZ=(fY-1|0)<0||56<(fY-1|0)?(fT.safeSet(fK[1],92),fK[1]+=1,fT.safeSet(fK[1],fX),0):1;if(fZ)if(caml_is_printable(fX))fT.safeSet(fK[1],fX);else{fT.safeSet(fK[1],92);fK[1]+=1;fT.safeSet(fK[1],48+(fX/100|0)|0);fK[1]+=1;fT.safeSet(fK[1],48+((fX/10|0)%10|0)|0);fK[1]+=1;fT.safeSet(fK[1],48+(fX%10|0)|0);}fK[1]+=1;var f1=fW+1|0;if(fV!==fW){var fW=f1;continue;}break;}}var fS=fT;}var fJ=bu(a0,bu(fS,a1));}if(e$===(e2+1|0))var f2=fJ;else{var f3=dt(e0,e2,e$,fe);try {var f4=0,f5=1;for(;;){if(f3.getLen()<=f5)var f6=[0,0,f4];else{var f7=f3.safeGet(f5);if(49<=f7)if(58<=f7)var f8=0;else{var f6=[0,caml_int_of_string(cr(f3,f5,(f3.getLen()-f5|0)-1|0)),f4],f8=1;}else{if(45===f7){var f_=f5+1|0,f9=1,f4=f9,f5=f_;continue;}var f8=0;}if(!f8){var f$=f5+1|0,f5=f$;continue;}}var ga=f6;break;}}catch(gb){if(gb[1]!==a)throw gb;var ga=c7(f3,0,115);}var gc=ga[1],gd=fJ.getLen(),ge=0,gi=ga[2],gh=32;if(gc===gd&&0===ge){var gf=fJ,gg=1;}else var gg=0;if(!gg)if(gc<=gd)var gf=cr(fJ,ge,gd);else{var gj=cq(gc,gh);if(gi)cs(fJ,ge,gj,0,gd);else cs(fJ,ge,gj,gc-gd|0,gd);var gf=gj;}var f2=gf;}var fs=fr(ff(fj,fc),f2,e$+1|0),fn=1;break;case 67:case 99:var gk=fb(fj,fc);if(99===fm)var gl=cq(1,gk);else{if(39===gk)var gm=a9;else if(92===gk)var gm=a_;else{if(14<=gk)var gn=0;else switch(gk){case 8:var gm=bc,gn=1;break;case 9:var gm=bb,gn=1;break;case 10:var gm=ba,gn=1;break;case 13:var gm=a$,gn=1;break;default:var gn=0;}if(!gn)if(caml_is_printable(gk)){var go=caml_create_string(1);go.safeSet(0,gk);var gm=go;}else{var gp=caml_create_string(4);gp.safeSet(0,92);gp.safeSet(1,48+(gk/100|0)|0);gp.safeSet(2,48+((gk/10|0)%10|0)|0);gp.safeSet(3,48+(gk%10|0)|0);var gm=gp;}}var gl=bu(aY,bu(gm,aZ));}var fs=fr(ff(fj,fc),gl,e$+1|0),fn=1;break;case 66:case 98:var gr=e$+1|0,gq=fb(fj,fc)?bf:be,fs=fr(ff(fj,fc),gq,gr),fn=1;break;case 40:case 123:var gs=fb(fj,fc),gt=dR(eo,fm,e0,e$+1|0);if(123===fm){var gu=cM(gs.getLen()),gy=function(gw,gv){cR(gu,gv);return gw+1|0;};eE(gs,function(gx,gA,gz){if(gx)cS(gu,aS);else cR(gu,37);return gy(gA,gz);},gy);var gB=cQ(gu),fs=fr(ff(fj,fc),gB,gt),fn=1;}else{var gC=ff(fj,fc),gF=cX(gD(gs),gC),fs=gH(function(gG){return gE(gF,gt);},gC,gs,e9),fn=1;}break;case 33:bQ(gI,eX);var fs=gE(fc,e$+1|0),fn=1;break;case 41:var fs=fr(fc,a4,e$+1|0),fn=1;break;case 44:var fs=fr(fc,a3,e$+1|0),fn=1;break;case 70:var gJ=fb(fj,fc);if(0===fe)var gK=a2;else{var gL=dt(e0,e2,e$,fe);if(70===fm)gL.safeSet(gL.getLen()-1|0,103);var gK=gL;}var gM=caml_classify_float(gJ);if(3===gM)var gN=gJ<0?aW:aV;else if(4<=gM)var gN=aX;else{var gO=caml_format_float(gK,gJ),gP=0,gQ=gO.getLen();for(;;){if(gQ<=gP)var gR=bu(gO,aU);else{var gS=gO.safeGet(gP)-46|0,gT=gS<0||23<gS?55===gS?1:0:(gS-1|0)<0||21<(gS-1|0)?1:0;if(!gT){var gU=gP+1|0,gP=gU;continue;}var gR=gO;}var gN=gR;break;}}var fs=fr(ff(fj,fc),gN,e$+1|0),fn=1;break;case 91:var fs=dY(e0,e$,fm),fn=1;break;case 97:var gV=fb(fj,fc),gW=bQ(cY,e6(fj,fc)),gX=fb(0,gW),g1=e$+1|0,g0=ff(fj,gW);if(gY)gZ(el(gV,0,gX));else el(gV,eX,gX);var fs=gE(g0,g1),fn=1;break;case 114:var fs=dY(e0,e$,fm),fn=1;break;case 116:var g2=fb(fj,fc),g4=e$+1|0,g3=ff(fj,fc);if(gY)gZ(bQ(g2,0));else bQ(g2,eX);var fs=gE(g3,g4),fn=1;break;default:var fn=0;}if(!fn)var fs=dY(e0,e$,fm);return fs;}},g9=e2+1|0,g6=0;return fk(e0,function(g8,g5){return fh(g8,g7,g6,g5);},g9);}el(g_,eX,e5);var g$=e2+1|0,e2=g$;continue;}}function fr(hc,ha,hb){gZ(ha);return gE(hc,hb);}return gE(hd,0);}var hf=el(gH,he,cW(0)),hg=gD(eV);if(hg<0||6<hg){var ht=function(hh,hn){if(hg<=hh){var hi=caml_make_vect(hg,0),hl=function(hj,hk){return caml_array_set(hi,(hg-hj|0)-1|0,hk);},hm=0,ho=hn;for(;;){if(ho){var hp=ho[2],hq=ho[1];if(hp){hl(hm,hq);var hr=hm+1|0,hm=hr,ho=hp;continue;}hl(hm,hq);}return el(hf,eV,hi);}}return function(hs){return ht(hh+1|0,[0,hs,hn]);};},hu=ht(0,0);}else switch(hg){case 1:var hu=function(hw){var hv=caml_make_vect(1,0);caml_array_set(hv,0,hw);return el(hf,eV,hv);};break;case 2:var hu=function(hy,hz){var hx=caml_make_vect(2,0);caml_array_set(hx,0,hy);caml_array_set(hx,1,hz);return el(hf,eV,hx);};break;case 3:var hu=function(hB,hC,hD){var hA=caml_make_vect(3,0);caml_array_set(hA,0,hB);caml_array_set(hA,1,hC);caml_array_set(hA,2,hD);return el(hf,eV,hA);};break;case 4:var hu=function(hF,hG,hH,hI){var hE=caml_make_vect(4,0);caml_array_set(hE,0,hF);caml_array_set(hE,1,hG);caml_array_set(hE,2,hH);caml_array_set(hE,3,hI);return el(hf,eV,hE);};break;case 5:var hu=function(hK,hL,hM,hN,hO){var hJ=caml_make_vect(5,0);caml_array_set(hJ,0,hK);caml_array_set(hJ,1,hL);caml_array_set(hJ,2,hM);caml_array_set(hJ,3,hN);caml_array_set(hJ,4,hO);return el(hf,eV,hJ);};break;case 6:var hu=function(hQ,hR,hS,hT,hU,hV){var hP=caml_make_vect(6,0);caml_array_set(hP,0,hQ);caml_array_set(hP,1,hR);caml_array_set(hP,2,hS);caml_array_set(hP,3,hT);caml_array_set(hP,4,hU);caml_array_set(hP,5,hV);return el(hf,eV,hP);};break;default:var hu=el(hf,eV,[0]);}return hu;}function ic(hX){function hZ(hW){return 0;}return h1(h0,0,function(hY){return hX;},bI,bE,ca,hZ);}function h_(h2){return cM(2*h2.getLen()|0);}function h7(h5,h3){var h4=cQ(h3);h3[2]=0;return bQ(h5,h4);}function ib(h6){var h9=bQ(h7,h6);return h1(h0,1,h_,cR,cS,function(h8){return 0;},h9);}function id(ia){return el(ib,function(h$){return h$;},ia);}var ie=[0,0];function iu(ig,ih){var ii=ig[ih+1];if(caml_obj_is_block(ii)){if(caml_obj_tag(ii)===cP)return el(id,ao,ii);if(caml_obj_tag(ii)===cO){var ij=caml_format_float(bi,ii),ik=0,il=ij.getLen();for(;;){if(il<=ik)var im=bu(ij,bh);else{var io=ij.safeGet(ik),ip=48<=io?58<=io?0:1:45===io?1:0;if(ip){var iq=ik+1|0,ik=iq;continue;}var im=ij;}return im;}}return an;}return el(id,ap,ii);}function it(ir,is){if(ir.length-1<=is)return aJ;var iv=it(ir,is+1|0);return dR(id,aI,iu(ir,is),iv);}function i0(ix){var iw=ie[1];for(;;){if(iw){var iC=iw[2],iy=iw[1];try {var iz=bQ(iy,ix),iA=iz;}catch(iD){var iA=0;}if(!iA){var iw=iC;continue;}var iB=iA[1];}else if(ix[1]===bm)var iB=ay;else if(ix[1]===bk)var iB=ax;else if(ix[1]===bl){var iE=ix[2],iF=iE[3],iB=h1(id,e,iE[1],iE[2],iF,iF+5|0,aw);}else if(ix[1]===d){var iG=ix[2],iH=iG[3],iB=h1(id,e,iG[1],iG[2],iH,iH+6|0,av);}else if(ix[1]===bj){var iI=ix[2],iJ=iI[3],iB=h1(id,e,iI[1],iI[2],iJ,iJ+6|0,au);}else{var iK=ix.length-1,iN=ix[0+1][0+1];if(iK<0||2<iK){var iL=it(ix,2),iM=dR(id,at,iu(ix,1),iL);}else switch(iK){case 1:var iM=ar;break;case 2:var iM=el(id,aq,iu(ix,1));break;default:var iM=as;}var iB=bu(iN,iM);}return iB;}}function i1(iX){var iO=caml_convert_raw_backtrace(caml_get_exception_raw_backtrace(0));if(iO){var iP=iO[1],iQ=0,iR=iP.length-1-1|0;if(!(iR<iQ)){var iS=iQ;for(;;){if(caml_notequal(caml_array_get(iP,iS),aH)){var iT=caml_array_get(iP,iS),iU=0===iT[0]?iT[1]:iT[1],iV=iU?0===iS?aE:aD:0===iS?aC:aB,iW=0===iT[0]?h1(id,aA,iV,iT[2],iT[3],iT[4],iT[5]):el(id,az,iV);dR(ic,iX,aG,iW);}var iY=iS+1|0;if(iR!==iS){var iS=iY;continue;}break;}}var iZ=0;}else var iZ=el(ic,iX,aF);return iZ;}32===ct;function i4(i3){var i2=[];caml_update_dummy(i2,[0,i2,i2]);return i2;}var i5=[0,ad],i6=[0,0],jc=42;function i_(i7){var i8=i7[1];{if(3===i8[0]){var i9=i8[1],i$=i_(i9);if(i$!==i9)i7[1]=[3,i$];return i$;}return i7;}}function jd(ja){return i_(ja);}var je=[0,function(jb){i0(jb);caml_ml_output_char(bw,10);i1(bw);bD(0);return caml_sys_exit(2);}];function jE(jg,jf){try {var jh=bQ(jg,jf);}catch(ji){return bQ(je[1],ji);}return jh;}function jt(jn,jj,jl){var jk=jj,jm=jl;for(;;)if(typeof jk==="number")return jo(jn,jm);else switch(jk[0]){case 1:bQ(jk[1],jn);return jo(jn,jm);case 2:var jp=jk[1],jq=[0,jk[2],jm],jk=jp,jm=jq;continue;default:var jr=jk[1][1];return jr?(bQ(jr[1],jn),jo(jn,jm)):jo(jn,jm);}}function jo(ju,js){return js?jt(ju,js[1],js[2]):0;}function jG(jv,jx){var jw=jv,jy=jx;for(;;)if(typeof jw==="number")return jA(jy);else switch(jw[0]){case 1:var jz=jw[1];if(jz[4]){jz[4]=0;jz[1][2]=jz[2];jz[2][1]=jz[1];}return jA(jy);case 2:var jB=jw[1],jC=[0,jw[2],jy],jw=jB,jy=jC;continue;default:var jD=jw[2];i6[1]=jw[1];jE(jD,0);return jA(jy);}}function jA(jF){return jF?jG(jF[1],jF[2]):0;}function jK(jI,jH){var jJ=1===jH[0]?jH[1][1]===i5?(jG(jI[4],0),1):0:0;return jt(jH,jI[2],0);}var jL=[0,0],jM=[0,0,0];function j3(jP){var jO=i6[1],jN=jL[1]?1:(jL[1]=1,0);return [0,jN,jO];}function j5(jQ){var jR=jQ[2];if(jQ[1]){i6[1]=jR;return 0;}for(;;){if(0===jM[1]){jL[1]=0;i6[1]=jR;return 0;}if(0===jM[1])throw [0,cN];jM[1]=jM[1]-1|0;var jS=jM[2],jT=jS[2];if(jT===jS)jM[2]=0;else jS[2]=jT[2];var jU=jT[1];jK(jU[1],jU[2]);continue;}}function lx(jX,jV){var jW=[0,jV],jY=i_(jX),jZ=jY[1];switch(jZ[0]){case 1:if(jZ[1][1]===i5){var j0=0,j1=1;}else var j1=0;break;case 2:var j2=jZ[1];jY[1]=jW;var j4=j3(0);jK(j2,jW);var j0=j5(j4),j1=1;break;default:var j1=0;}if(!j1)var j0=bn(ae);return j0;}function ly(ki){var j6=[1,[0,i5]];function kf(kc,j7){var j8=j7;for(;;){var j9=jd(j8),j_=j9[1];{if(2===j_[0]){var j$=j_[1],ka=j$[1];if(typeof ka==="number")return 0===ka?kc:(j9[1]=j6,[0,[0,j$],kc]);else{if(0===ka[0]){var kb=ka[1][1],j8=kb;continue;}var kd=kc,ke=ka[1][1];for(;;){if(ke){var kg=ke[2],kh=kf(kd,ke[1]),kd=kh,ke=kg;continue;}return kd;}}}return kc;}}}var kj=kf(0,ki),kl=j3(0);cb(function(kk){jG(kk[1][4],0);return jt(j6,kk[1][2],0);},kj);return j5(kl);}function ks(km,kn){return typeof km==="number"?kn:typeof kn==="number"?km:[2,km,kn];}function kp(ko){if(typeof ko!=="number")switch(ko[0]){case 2:var kq=ko[1],kr=kp(ko[2]);return ks(kp(kq),kr);case 1:break;default:if(!ko[1][1])return 0;}return ko;}function le(kt,kv){var ku=jd(kt),kw=jd(kv),kx=ku[1];{if(2===kx[0]){var ky=kx[1];if(ku===kw)return 0;var kz=kw[1];{if(2===kz[0]){var kA=kz[1];kw[1]=[3,ku];ky[1]=kA[1];var kB=ks(ky[2],kA[2]),kC=ky[3]+kA[3]|0;if(jc<kC){ky[3]=0;ky[2]=kp(kB);}else{ky[3]=kC;ky[2]=kB;}var kD=kA[4],kE=ky[4],kF=typeof kE==="number"?kD:typeof kD==="number"?kE:[2,kE,kD];ky[4]=kF;return 0;}ku[1]=kz;return jK(ky,kz);}}throw [0,d,af];}}function lf(kG,kJ){var kH=jd(kG),kI=kH[1];{if(2===kI[0]){var kK=kI[1];kH[1]=kJ;return jK(kK,kJ);}throw [0,d,ag];}}function lz(kL){return [0,[0,kL]];}function lc(kM){return [0,[1,kM]];}function k5(kN){return [0,[2,[0,[0,[0,kN]],0,0,0]]];}function lA(kP){var kO=[0,[2,[0,1,0,0,0]]];return [0,kO,kO];}function lg(kS,kQ){var kR=[1,kQ],kT=kS[2],kU=typeof kT==="number"?kR:[2,kR,kT];kS[2]=kU;return 0;}function lB(kV,kX){var kW=jd(kV)[1];switch(kW[0]){case 1:if(kW[1][1]===i5)return jE(kX,0);break;case 2:var kY=kW[1],kZ=[0,i6[1],kX],k0=kY[4],k1=typeof k0==="number"?kZ:[2,kZ,k0];kY[4]=k1;return 0;default:}return 0;}function lC(k2,k$){var k3=jd(k2),k4=k3[1];switch(k4[0]){case 1:return [0,k4];case 2:var k7=k4[1],k6=k5(k3),k9=i6[1];lg(k7,function(k8){switch(k8[0]){case 0:var k_=k8[1];i6[1]=k9;try {var la=bQ(k$,k_),lb=la;}catch(ld){var lb=lc(ld);}return le(k6,lb);case 1:return lf(k6,k8);default:throw [0,d,ai];}});return k6;case 3:throw [0,d,ah];default:return bQ(k$,k4[1]);}}function lD(lh,ln){try {var li=bQ(lh,0),lj=li;}catch(lk){var lj=lc(lk);}var ll=jd(lj),lm=ll[1];switch(lm[0]){case 1:return bQ(ln,lm[1]);case 2:var lp=lm[1],lo=k5(ll),lr=i6[1];lg(lp,function(lq){switch(lq[0]){case 0:return lf(lo,lq);case 1:var ls=lq[1];i6[1]=lr;try {var lt=bQ(ln,ls),lu=lt;}catch(lv){var lu=lc(lv);}return le(lo,lu);default:throw [0,d,ak];}});return lo;case 3:throw [0,d,aj];default:return ll;}}var lF=[0,function(lw){return 0;}],lE=i4(0),lI=[0,0],lN=null,lO=undefined,lP=false,lQ=Array;function lT(lM){var lG=1-(lE[2]===lE?1:0);if(lG){var lH=i4(0);lH[1][2]=lE[2];lE[2][1]=lH[1];lH[1]=lE[1];lE[1][2]=lH;lE[1]=lE;lE[2]=lE;lI[1]=0;var lJ=lH[2];for(;;){var lK=lJ!==lH?1:0;if(lK){if(lJ[4])lx(lJ[3],0);var lL=lJ[2],lJ=lL;continue;}return lK;}}return lG;}var lS=Date;function lU(lR){return lR instanceof lQ?0:[0,new MlWrappedString(lR.toString())];}ie[1]=[0,lU,ie[1]];function lW(lV){return lV;}function l5(lX,lY){lX.appendChild(lY);return 0;}function l6(l0){return lW(caml_js_wrap_callback(function(lZ){if(lZ){var l1=bQ(l0,lZ);if(!(l1|0))lZ.preventDefault();return l1;}var l2=event,l3=bQ(l0,l2);if(!(l3|0))l2.returnValue=l3;return l3;}));}function l7(l4){return l4.toString();}var l8=l7(Q),l9=this,l_=l9.document,mh=P.toString();function mg(l$,ma){return l$?bQ(ma,l$[1]):0;}function md(mc,mb){return mc.createElement(mb.toString());}function mi(mf,me){return md(mf,me);}var mj=[0,785140586];function mD(mk,ml,mm){for(;;){if(0===mk&&0===ml){var mn=md(mm,f),mo=1;}else var mo=0;if(!mo){var mp=mj[1];if(785140586===mp){try {var mq=l_.createElement(W.toString()),mr=V.toString(),ms=mq.tagName.toLowerCase()===mr?1:0,mt=ms?mq.name===U.toString()?1:0:ms,mu=mt;}catch(mw){var mu=0;}var mv=mu?982028505:-1003883683;mj[1]=mv;continue;}if(982028505<=mp){var mx=new lQ();mx.push(Z.toString(),f.toString());mg(mk,function(my){mx.push(_.toString(),caml_js_html_escape(my),$.toString());return 0;});mg(ml,function(mz){mx.push(aa.toString(),caml_js_html_escape(mz),ab.toString());return 0;});mx.push(Y.toString());var mn=mm.createElement(mx.join(X.toString()));}else{var mA=md(mm,f);mg(mk,function(mB){return mA.type=mB;});mg(ml,function(mC){return mA.name=mC;});var mn=mA;}}return mn;}}var mE=[0,O];this.HTMLElement===lO;var mF=caml_js_get_console(0),mG=2147483;lF[1]=function(mH){return 1===mH?(l9.setTimeout(caml_js_wrap_callback(lT),0),0):0;};function mJ(mI){return mF.log(mI.toString());}je[1]=function(mK){mJ(N);mJ(i0(mK));return i1(bw);};function m9(mN,mM){function mP(mL){return mL[1]===i5?lz(0):lc(mL);}return lD(function(mO){return bQ(mN,mM);},mP);}function nH(mZ,mQ,mY,mX,m2){var mR=mQ?mQ[1]:0,mS=[0,0],mT=[0,lc([0,a,M])],mU=[0,lz(0)],mV=lA(0)[1];lB(mV,function(mW){ly(mT[1]);if(mR)ly(mU[1]);mS[1]=1;return 0;});function m7(m8){if(mS[1])return lz(0);var m0=el(mZ,mY,mX);mT[1]=m0;return lC(m0,function(m1){var m4=bQ(m2,m1);function m6(m3){mF.log(i0(m3).toString());return lz(0);}mU[1]=lD(function(m5){return bQ(m4,mV);},m6);return lC(mU[1],m7);});}var m_=bQ(m9,m7);try {var m$=bQ(m_,0),na=m$;}catch(nb){var na=lc(nb);}var nc=jd(na)[1];switch(nc[0]){case 1:bQ(je[1],nc[1]);break;case 2:var ne=nc[1];lg(ne,function(nd){switch(nd[0]){case 0:return 0;case 1:return bQ(je[1],nd[1]);default:throw [0,d,am];}});break;case 3:throw [0,d,al];default:}return mV;}function nG(nf,ns){var ng=nf?nf[1]:0,nh=[0,lN],ni=lA(0),nj=ni[1],no=ni[2];function nn(nm){var nk=nh[1],nl=nk==lN?0:bQ(nk,0);return nl;}lB(nj,nn);var np=!!ng,nr=l6(function(nq){nn(0);lx(no,nq);return !!1;});if(ns.addEventListener===lO){var nt=ac.toString().concat(l8),nz=function(nu){var ny=[0,nr,nu,[0]];return bQ(function(nx,nw,nv){return caml_js_call(nx,nw,nv);},ny);};ns.attachEvent(nt,nz);var nB=function(nA){return ns.detachEvent(nt,nz);};}else{ns.addEventListener(l8,nr,np);var nB=function(nC){return ns.removeEventListener(l8,nr,np);};}nh[1]=lW(nB);return nj;}function nJ(nF,nE,nD){return nI(nH,nG,nF,nE,nD);}var nP=mi(l_,S);try {var nK=[0,[0,K,[0,l7(L),0]],0],nL=[0,l7(J),0],nM=[0,[0,H,[0,l7(I),nL]],nK],nN=[0,[0,F,[0,l7(G),0]],nM],nQ=[0,[0,D,[0,l7(E),0]],nN];cc(function(nO){return nP.style[nO[1]]!==lO?1:0;},nQ);}catch(nR){if(nR[1]!==c)throw nR;}function nV(nS){return nS.toString();}function nW(nT){return nT;}function nX(nU){return nU|0;}var nY=800,nZ=400,n0=700,n1=300,n2=(nY-n0)/2,n3=70,n4=50,n5=1/(n0/n3)/nW(n4),n6=0.007,n7=3.141592,n8=[0,n5],oq=1;function op(n9,ob,n$){var n_=n9?n9[1]:j,oa=n$==lN?i(n_):n$;return oa;}function oh(oc,od,oe,of,og){oc.beginPath();oc.moveTo(oe,od);oc.lineTo(og,of);oc.closePath();return oc.stroke();}function or(oi){oh(oi,0,0,0,nY);oh(oi,nZ,0,nZ,nY);oh(oi,0,0,nZ,0);oh(oi,0,nY,nZ,nY);oh(oi,n1,n2,n1,n0+n2);var oj=0,ok=nX(n0/n3);if(!(ok<oj)){var ol=oj;for(;;){var om=nW(ol)*n3+n2;oh(oi,n1-5,om,n1+5,om);var on=ol+1|0;if(ok!==ol){var ol=on;continue;}break;}}return 0;}function os(oo){return [0,oo*n0+n2,n1];}var ot=[0,0],ou=[0,0],ov=[0,0],ow=[0,0];function oJ(ox,oz,oy,oC,oB,oA){ox.translate(oz,oy);bQ(oA,ox);ox.beginPath();ox.moveTo(-oC,-oB);ox.lineTo(0,-oB);ox.lineTo(0,-oC);ox.lineTo(oC,0);ox.lineTo(0,oC);ox.lineTo(0,oB);ox.lineTo(-oC,oB);ox.lineTo(-oC,-oB);ox.stroke();ox.fill();ox.closePath();return ox.setTransform(1,0,0,1,0,0);}function o$(oD){oD.clearRect(0,0,800,400);or(oD);var oP=ot[1];return cb(function(oE){oD.fillStyle=oE[1].toString();var oF=os(oE[4]),oH=oF[2],oG=oF[1];oD.fillStyle=nV(oE[1]);oJ(oD,oG,oH+10,10,5,function(oI){return oI.rotate(-n7/2);});var oK=os(oE[4]),oM=oK[2],oL=oK[1];oD.fillStyle=nV(oE[1]);return oJ(oD,oL,oM-20,10,5,function(oO){var oN=0<oE[2]?0:-n7;return oO.rotate(oN);});},oP);}l9.onload=l6(function(qb){var oR=op(0,0,l_.getElementById(n.toString())),oQ=mi(l_,T),oT=400,oS=800;if(1-(oQ.getContext==lN?1:0)){oQ.width=oS;oQ.height=oT;l5(oR,oQ);var oU=oQ.getContext(mh);oU.fillStyle=C.toString();or(oU);nI(nJ,0,0,oQ,function(oV,pa){var oW=oV.clientX;if(50<=oW)if(750<oW)var oX=1;else{var oY=oW-nX(n2)|0,oX=nW(oY-caml_mod(oY,nX(n3))|0)/n0;}else var oX=0;try {var o0=ot[1],o1=cc(function(oZ){return Math.abs(oZ[4]-oX)<n6?1:0;},o0);o1[2]=-o1[2];}catch(o2){if(o2[1]!==c)throw o2;var o5=ot[1],o4=function(o3){return 63+(64*o3|0)|0;},o6=ou[1];ou[1]+=1;var o7=o4((o6/16|0)%4|0),o8=o4((o6/4|0)%4|0),o9=o4(o6%4|0),o_=ov[1];ov[1]+=1;ot[1]=[0,[0,nI(id,o,o9,o8,o7),1,o_,oX],o5];}o$(oU);return lz(0);});var pb=[0,0],pW=op(0,0,l_.getElementById(nV(w))),pY=function(pe,pV){var pc=pb[1];if(pc){var pd=pc[1];pe.value=nV(y);ly(pd);pb[1]=0;}else{pe.value=nV(x);var pg=function(pf){return new lS().getTime();},ph=[0,pg(0)],pz=function(pU){var pl=ot[1];cb(function(pj){var pk=ot[1];return cb(function(pi){if(pj[3]!==pi[3]&&pj[2]*pi[2]<0&&0<pj[2]*(pi[4]-pj[4])&&0<pi[2]*(pj[4]-pi[4])&&Math.abs(pj[4]-pi[4])<n6){ow[1]=[0,[254,pj[4],0,1],ow[1]];pj[2]=-pj[2];pi[2]=-pi[2];return 0;}return 0;},pk);},pl);var pq=ot[1];ot[1]=el(cd,function(pm){var pn=pm[2]*n8[1]+pm[4],po=0<=pn?1:0,pp=po?pn<1?1:0:po;return pp?(pm[4]=pn,1):0;},pq);o$(oU);var ps=ow[1];cb(function(pr){pr[2]=pr[2]+0.01;pr[3]=pr[3]-0.05;return 0;},ps);var pu=ow[1];ow[1]=el(cd,function(pt){return 0<pt[3]?1:0;},pu);var py=ow[1];cb(function(pv){var px=pv[1]*n0+n2,pw=n1-25-pv[2]*80;oU.fillStyle=nV(el(id,r,pv[3]));oU.font=nV(q);return oU.fillText(nV(p),px,pw);},py);var pB=0;function pC(pA){ph[1]=pg(0);return pz(0);}var pD=ph[1],pE=(pg(0)-pD)/1e3,pF=1/nW(n4)-pE,pG=caml_greaterequal(pF,pB)?pF:pB,pH=lA(0),pI=pH[1],pJ=[0,0],pN=pH[2];function pP(pK,pR){var pL=mG<pK?[0,mG,pK-mG]:[0,pK,0],pM=pL[2],pQ=pL[1],pO=pM==0?bQ(lx,pN):bQ(pP,pM);pJ[1]=[0,l9.setTimeout(caml_js_wrap_callback(pO),pQ*1e3)];return 0;}pP(pG,0);lB(pI,function(pT){var pS=pJ[1];return pS?l9.clearTimeout(pS[1]):0;});return lC(pI,pC);};pb[1]=[0,pz(0)];}return lP;},pX=l_.createDocumentFragment(),pZ=mD([0,nV(k)],0,l_);pZ.value=nV(v);pZ.onclick=l6(bQ(pY,pZ));l5(pX,pZ);l5(pW,pX);var p4=op(0,0,l_.getElementById(nV(u))),p6=function(p0,p3){if(oq)mF.log(nV(B));var p1=nV(A);if(caml_equal(p0.value,p1))n8[1]=n5;else{var p2=nV(z);if(caml_equal(p0.value,p2))n8[1]=n5*2;else n8[1]=n5*4;}return lP;},p5=l_.createDocumentFragment();mD([0,nV(l)],0,l_);var qa=bS(function(p8){var p7=mi(l_,R);p7.innerHTML=nV(p8);var p9=[0,nV(s)],p_=mD([0,nV(m)],p9,l_);p_.value=nV(p8);p_.onchange=l6(bQ(p6,p_));l5(p7,p_);return p7;},t);cb(function(p$){l5(p5,p$);return 0;},qa);l5(p4,p5);return lP;}throw [0,mE];});bD(0);return;}());
 <html>
   <head>
     <meta charset="utf-8">
-    <script src="test.js"></script>
+    <script src="ant.js"></script>
   </head>
   <body>
     <h1 id="xyz">ant</h1>
 
 ocamlfind ocamlc -syntax camlp4o -package lwt,js_of_ocaml.syntax -g -c $1 &&
 ocamlfind ocamlc -package lwt,js_of_ocaml -linkpkg -o $base.byte -g $base.cmo &&
-js_of_ocaml -pretty -noinline $base.byte
+js_of_ocaml -opt 2 $base.byte

File test.js

-// This program was compiled from OCaml by js_of_ocaml 1.4
-function caml_raise_with_arg (tag, arg) { throw [0, tag, arg]; }
-function caml_raise_with_string (tag, msg) {
-  caml_raise_with_arg (tag, new MlWrappedString (msg));
-}
-function caml_invalid_argument (msg) {
-  caml_raise_with_string(caml_global_data[4], msg);
-}
-function caml_array_bound_error () {
-  caml_invalid_argument("index out of bounds");
-}
-function caml_str_repeat(n, s) {
-  if (!n) { return ""; }
-  if (n & 1) { return caml_str_repeat(n - 1, s) + s; }
-  var r = caml_str_repeat(n >> 1, s);
-  return r + r;
-}
-function MlString(param) {
-  if (param != null) {
-    this.bytes = this.fullBytes = param;
-    this.last = this.len = param.length;
-  }
-}
-MlString.prototype = {
-  string:null,
-  bytes:null,
-  fullBytes:null,
-  array:null,
-  len:null,
-  last:0,
-  toJsString:function() {
-    return this.string = decodeURIComponent (escape(this.getFullBytes()));
-  },
-  toBytes:function() {
-    if (this.string != null)
-      var b = unescape (encodeURIComponent (this.string));
-    else {
-      var b = "", a = this.array, l = a.length;
-      for (var i = 0; i < l; i ++) b += String.fromCharCode (a[i]);
-    }
-    this.bytes = this.fullBytes = b;
-    this.last = this.len = b.length;
-    return b;
-  },
-  getBytes:function() {
-    var b = this.bytes;
-    if (b == null) b = this.toBytes();
-    return b;
-  },
-  getFullBytes:function() {
-    var b = this.fullBytes;
-    if (b !== null) return b;
-    b = this.bytes;
-    if (b == null) b = this.toBytes ();
-    if (this.last < this.len) {
-      this.bytes = (b += caml_str_repeat(this.len - this.last, '\0'));
-      this.last = this.len;
-    }
-    this.fullBytes = b;
-    return b;
-  },
-  toArray:function() {
-    var b = this.bytes;
-    if (b == null) b = this.toBytes ();
-    var a = [], l = this.last;
-    for (var i = 0; i < l; i++) a[i] = b.charCodeAt(i);
-    for (l = this.len; i < l; i++) a[i] = 0;
-    this.string = this.bytes = this.fullBytes = null;
-    this.last = this.len;
-    this.array = a;
-    return a;
-  },
-  getArray:function() {
-    var a = this.array;
-    if (!a) a = this.toArray();
-    return a;
-  },
-  getLen:function() {
-    var len = this.len;
-    if (len !== null) return len;
-    this.toBytes();
-    return this.len;
-  },
-  toString:function() { var s = this.string; return s?s:this.toJsString(); },
-  valueOf:function() { var s = this.string; return s?s:this.toJsString(); },
-  blitToArray:function(i1, a2, i2, l) {
-    var a1 = this.array;
-    if (a1) {
-      if (i2 <= i1) {
-        for (var i = 0; i < l; i++) a2[i2 + i] = a1[i1 + i];
-      } else {
-        for (var i = l - 1; i >= 0; i--) a2[i2 + i] = a1[i1 + i];
-      }
-    } else {
-      var b = this.bytes;
-      if (b == null) b = this.toBytes();
-      var l1 = this.last - i1;
-      if (l <= l1)
-        for (var i = 0; i < l; i++) a2 [i2 + i] = b.charCodeAt(i1 + i);
-      else {
-        for (var i = 0; i < l1; i++) a2 [i2 + i] = b.charCodeAt(i1 + i);
-        for (; i < l; i++) a2 [i2 + i] = 0;
-      }
-    }
-  },
-  get:function (i) {
-    var a = this.array;
-    if (a) return a[i];
-    var b = this.bytes;
-    if (b == null) b = this.toBytes();
-    return (i<this.last)?b.charCodeAt(i):0;
-  },
-  safeGet:function (i) {
-    if (this.len == null) this.toBytes();
-    if ((i < 0) || (i >= this.len)) caml_array_bound_error ();
-    return this.get(i);
-  },
-  set:function (i, c) {
-    var a = this.array;
-    if (!a) {
-      if (this.last == i) {
-        this.bytes += String.fromCharCode (c & 0xff);
-        this.last ++;
-        return 0;
-      }
-      a = this.toArray();
-    } else if (this.bytes != null) {
-      this.bytes = this.fullBytes = this.string = null;
-    }
-    a[i] = c & 0xff;
-    return 0;
-  },
-  safeSet:function (i, c) {
-    if (this.len == null) this.toBytes ();
-    if ((i < 0) || (i >= this.len)) caml_array_bound_error ();
-    this.set(i, c);
-  },
-  fill:function (ofs, len, c) {
-    if (ofs >= this.last && this.last && c == 0) return;
-    var a = this.array;
-    if (!a) a = this.toArray();
-    else if (this.bytes != null) {
-      this.bytes = this.fullBytes = this.string = null;
-    }
-    var l = ofs + len;
-    for (var i = ofs; i < l; i++) a[i] = c;
-  },
-  compare:function (s2) {
-    if (this.string != null && s2.string != null) {
-      if (this.string < s2.string) return -1;
-      if (this.string > s2.string) return 1;
-      return 0;
-    }
-    var b1 = this.getFullBytes ();
-    var b2 = s2.getFullBytes ();
-    if (b1 < b2) return -1;
-    if (b1 > b2) return 1;
-    return 0;
-  },
-  equal:function (s2) {
-    if (this.string != null && s2.string != null)
-      return this.string == s2.string;
-    return this.getFullBytes () == s2.getFullBytes ();
-  },
-  lessThan:function (s2) {
-    if (this.string != null && s2.string != null)
-      return this.string < s2.string;
-    return this.getFullBytes () < s2.getFullBytes ();
-  },
-  lessEqual:function (s2) {
-    if (this.string != null && s2.string != null)
-      return this.string <= s2.string;
-    return this.getFullBytes () <= s2.getFullBytes ();
-  }
-}
-function MlWrappedString (s) { this.string = s; }
-MlWrappedString.prototype = new MlString();
-function MlMakeString (l) { this.bytes = ""; this.len = l; }
-MlMakeString.prototype = new MlString ();
-function caml_array_get (array, index) {
-  if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error();
-  return array[index+1];
-}
-function caml_array_set (array, index, newval) {
-  if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error();
-  array[index+1]=newval; return 0;
-}
-function caml_blit_string(s1, i1, s2, i2, len) {
-  if (len === 0) return;
-  if (i2 === s2.last && s2.bytes != null) {
-    var b = s1.bytes;
-    if (b == null) b = s1.toBytes ();
-    if (i1 > 0 || s1.last > len) b = b.slice(i1, i1 + len);
-    s2.bytes += b;
-    s2.last += b.length;
-    return;
-  }
-  var a = s2.array;
-  if (!a) a = s2.toArray(); else { s2.bytes = s2.string = null; }
-  s1.blitToArray (i1, a, i2, len);
-}
-function caml_call_gen(f, args) {
-  if(f.fun)
-    return caml_call_gen(f.fun, args);
-  var n = f.length;
-  var d = n - args.length;
-  if (d == 0)
-    return f.apply(null, args);
-  else if (d < 0)
-    return caml_call_gen(f.apply(null, args.slice(0,n)), args.slice(n));
-  else
-    return function (x){ return caml_call_gen(f, args.concat([x])); };
-}
-function caml_classify_float (x) {
-  if (isFinite (x)) {
-    if (Math.abs(x) >= 2.2250738585072014e-308) return 0;
-    if (x != 0) return 1;
-    return 2;
-  }
-  return isNaN(x)?4:3;
-}
-function caml_int64_compare(x,y) {
-  var x3 = x[3] << 16;
-  var y3 = y[3] << 16;
-  if (x3 > y3) return 1;
-  if (x3 < y3) return -1;
-  if (x[2] > y[2]) return 1;
-  if (x[2] < y[2]) return -1;
-  if (x[1] > y[1]) return 1;
-  if (x[1] < y[1]) return -1;
-  return 0;
-}
-function caml_int_compare (a, b) {
-  if (a < b) return (-1); if (a == b) return 0; return 1;
-}
-function caml_compare_val (a, b, total) {
-  var stack = [];
-  for(;;) {
-    if (!(total && a === b)) {
-      if (a instanceof MlString) {
-        if (b instanceof MlString) {
-            if (a != b) {
-		var x = a.compare(b);
-		if (x != 0) return x;
-	    }
-        } else
-          return 1;
-      } else if (a instanceof Array && a[0] === (a[0]|0)) {
-        var ta = a[0];
-        if (ta === 250) {
-          a = a[1];
-          continue;
-        } else if (b instanceof Array && b[0] === (b[0]|0)) {
-          var tb = b[0];
-          if (tb === 250) {
-            b = b[1];
-            continue;
-          } else if (ta != tb) {
-            return (ta < tb)?-1:1;
-          } else {
-            switch (ta) {
-            case 248: {
-		var x = caml_int_compare(a[2], b[2]);
-		if (x != 0) return x;
-		break;
-	    }
-            case 255: {
-		var x = caml_int64_compare(a, b);
-		if (x != 0) return x;
-		break;
-	    }
-            default:
-              if (a.length != b.length) return (a.length < b.length)?-1:1;
-              if (a.length > 1) stack.push(a, b, 1);
-            }
-          }
-        } else
-          return 1;
-      } else if (b instanceof MlString ||
-                 (b instanceof Array && b[0] === (b[0]|0))) {
-        return -1;
-      } else {
-        if (a < b) return -1;
-        if (a > b) return 1;
-        if (total && a != b) {
-          if (a == a) return 1;
-          if (b == b) return -1;
-        }
-      }
-    }
-    if (stack.length == 0) return 0;
-    var i = stack.pop();
-    b = stack.pop();
-    a = stack.pop();
-    if (i + 1 < a.length) stack.push(a, b, i + 1);
-    a = a[i];
-    b = b[i];
-  }
-}
-function caml_compare (a, b) { return caml_compare_val (a, b, true); }
-function caml_convert_raw_backtrace () {
-  caml_invalid_argument
-    ("Primitive 'caml_convert_raw_backtrace' not implemented");
-}
-function caml_create_string(len) {
-  if (len < 0) caml_invalid_argument("String.create");
-  return new MlMakeString(len);
-}
-function caml_equal (x, y) { return +(caml_compare_val(x,y,false) == 0); }
-function caml_fill_string(s, i, l, c) { s.fill (i, l, c); }
-function caml_parse_format (fmt) {
-  fmt = fmt.toString ();
-  var len = fmt.length;
-  if (len > 31) caml_invalid_argument("format_int: format too long");
-  var f =
-    { justify:'+', signstyle:'-', filler:' ', alternate:false,
-      base:0, signedconv:false, width:0, uppercase:false,
-      sign:1, prec:-1, conv:'f' };
-  for (var i = 0; i < len; i++) {
-    var c = fmt.charAt(i);
-    switch (c) {
-    case '-':
-      f.justify = '-'; break;
-    case '+': case ' ':
-      f.signstyle = c; break;
-    case '0':
-      f.filler = '0'; break;
-    case '#':
-      f.alternate = true; break;
-    case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-      f.width = 0;
-      while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) {
-        f.width = f.width * 10 + c; i++
-      }
-      i--;
-     break;
-    case '.':
-      f.prec = 0;
-      i++;
-      while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) {
-        f.prec = f.prec * 10 + c; i++
-      }
-      i--;
-    case 'd': case 'i':
-      f.signedconv = true; /* fallthrough */
-    case 'u':
-      f.base = 10; break;
-    case 'x':
-      f.base = 16; break;
-    case 'X':
-      f.base = 16; f.uppercase = true; break;
-    case 'o':
-      f.base = 8; break;
-    case 'e': case 'f': case 'g':
-      f.signedconv = true; f.conv = c; break;
-    case 'E': case 'F': case 'G':
-      f.signedconv = true; f.uppercase = true;
-      f.conv = c.toLowerCase (); break;
-    }
-  }
-  return f;
-}
-function caml_finish_formatting(f, rawbuffer) {
-  if (f.uppercase) rawbuffer = rawbuffer.toUpperCase();
-  var len = rawbuffer.length;
-  if (f.signedconv && (f.sign < 0 || f.signstyle != '-')) len++;
-  if (f.alternate) {
-    if (f.base == 8) len += 1;
-    if (f.base == 16) len += 2;
-  }
-  var buffer = "";
-  if (f.justify == '+' && f.filler == ' ')
-    for (var i = len; i < f.width; i++) buffer += ' ';
-  if (f.signedconv) {
-    if (f.sign < 0) buffer += '-';
-    else if (f.signstyle != '-') buffer += f.signstyle;
-  }
-  if (f.alternate && f.base == 8) buffer += '0';
-  if (f.alternate && f.base == 16) buffer += "0x";
-  if (f.justify == '+' && f.filler == '0')
-    for (var i = len; i < f.width; i++) buffer += '0';
-  buffer += rawbuffer;
-  if (f.justify == '-')
-    for (var i = len; i < f.width; i++) buffer += ' ';
-  return new MlWrappedString (buffer);
-}
-function caml_format_float (fmt, x) {
-  var s, f = caml_parse_format(fmt);
-  var prec = (f.prec < 0)?6:f.prec;
-  if (x < 0) { f.sign = -1; x = -x; }
-  if (isNaN(x)) { s = "nan"; f.filler = ' '; }
-  else if (!isFinite(x)) { s = "inf"; f.filler = ' '; }
-  else
-    switch (f.conv) {
-    case 'e':
-      var s = x.toExponential(prec);
-      var i = s.length;
-      if (s.charAt(i - 3) == 'e')
-        s = s.slice (0, i - 1) + '0' + s.slice (i - 1);
-      break;
-    case 'f':
-      s = x.toFixed(prec); break;
-    case 'g':
-      prec = prec?prec:1;
-      s = x.toExponential(prec - 1);
-      var j = s.indexOf('e');
-      var exp = +s.slice(j + 1);
-      if (exp < -4 || x.toFixed(0).length > prec) {
-        var i = j - 1; while (s.charAt(i) == '0') i--;
-        if (s.charAt(i) == '.') i--;
-        s = s.slice(0, i + 1) + s.slice(j);
-        i = s.length;
-        if (s.charAt(i - 3) == 'e')
-          s = s.slice (0, i - 1) + '0' + s.slice (i - 1);
-        break;
-      } else {
-        var p = prec;
-        if (exp < 0) { p -= exp + 1; s = x.toFixed(p); }
-        else while (s = x.toFixed(p), s.length > prec + 1) p--;
-        if (p) {
-          var i = s.length - 1; while (s.charAt(i) == '0') i--;
-          if (s.charAt(i) == '.') i--;
-          s = s.slice(0, i + 1);
-        }
-      }
-      break;
-    }
-  return caml_finish_formatting(f, s);
-}
-function caml_format_int(fmt, i) {
-  if (fmt.toString() == "%d") return new MlWrappedString(""+i);
-  var f = caml_parse_format(fmt);
-  if (i < 0) { if (f.signedconv) { f.sign = -1; i = -i; } else i >>>= 0; }
-  var s = i.toString(f.base);
-  if (f.prec >= 0) {
-    f.filler = ' ';
-    var n = f.prec - s.length;
-    if (n > 0) s = caml_str_repeat (n, '0') + s;
-  }
-  return caml_finish_formatting(f, s);
-}
-function caml_get_exception_raw_backtrace () {
-  caml_invalid_argument
-    ("Primitive 'caml_get_exception_raw_backtrace' not implemented");
-}
-function caml_greaterequal (x, y) { return +(caml_compare(x,y,false) >= 0); }
-function caml_int64_is_negative(x) {
-  return (x[3] << 16) < 0;
-}
-function caml_int64_neg (x) {
-  var y1 = - x[1];
-  var y2 = - x[2] + (y1 >> 24);
-  var y3 = - x[3] + (y2 >> 24);
-  return [255, y1 & 0xffffff, y2 & 0xffffff, y3 & 0xffff];
-}
-function caml_int64_of_int32 (x) {
-  return [255, x & 0xffffff, (x >> 24) & 0xffffff, (x >> 31) & 0xffff]
-}
-function caml_int64_ucompare(x,y) {
-  if (x[3] > y[3]) return 1;
-  if (x[3] < y[3]) return -1;
-  if (x[2] > y[2]) return 1;
-  if (x[2] < y[2]) return -1;
-  if (x[1] > y[1]) return 1;
-  if (x[1] < y[1]) return -1;
-  return 0;
-}
-function caml_int64_lsl1 (x) {
-  x[3] = (x[3] << 1) | (x[2] >> 23);
-  x[2] = ((x[2] << 1) | (x[1] >> 23)) & 0xffffff;
-  x[1] = (x[1] << 1) & 0xffffff;
-}
-function caml_int64_lsr1 (x) {
-  x[1] = ((x[1] >>> 1) | (x[2] << 23)) & 0xffffff;
-  x[2] = ((x[2] >>> 1) | (x[3] << 23)) & 0xffffff;
-  x[3] = x[3] >>> 1;
-}
-function caml_int64_sub (x, y) {
-  var z1 = x[1] - y[1];
-  var z2 = x[2] - y[2] + (z1 >> 24);
-  var z3 = x[3] - y[3] + (z2 >> 24);
-  return [255, z1 & 0xffffff, z2 & 0xffffff, z3 & 0xffff];
-}
-function caml_int64_udivmod (x, y) {
-  var offset = 0;
-  var modulus = x.slice ();
-  var divisor = y.slice ();
-  var quotient = [255, 0, 0, 0];
-  while (caml_int64_ucompare (modulus, divisor) > 0) {
-    offset++;
-    caml_int64_lsl1 (divisor);
-  }
-  while (offset >= 0) {
-    offset --;
-    caml_int64_lsl1 (quotient);
-    if (caml_int64_ucompare (modulus, divisor) >= 0) {
-      quotient[1] ++;
-      modulus = caml_int64_sub (modulus, divisor);
-    }
-    caml_int64_lsr1 (divisor);
-  }
-  return [0,quotient, modulus];
-}
-function caml_int64_to_int32 (x) {
-  return x[1] | (x[2] << 24);
-}
-function caml_int64_is_zero(x) {
-  return (x[3]|x[2]|x[1]) == 0;
-}
-function caml_int64_format (fmt, x) {
-  var f = caml_parse_format(fmt);
-  if (f.signedconv && caml_int64_is_negative(x)) {
-    f.sign = -1; x = caml_int64_neg(x);
-  }
-  var buffer = "";
-  var wbase = caml_int64_of_int32(f.base);
-  var cvtbl = "0123456789abcdef";
-  do {
-    var p = caml_int64_udivmod(x, wbase);
-    x = p[1];
-    buffer = cvtbl.charAt(caml_int64_to_int32(p[2])) + buffer;
-  } while (! caml_int64_is_zero(x));
-  if (f.prec >= 0) {
-    f.filler = ' ';
-    var n = f.prec - buffer.length;
-    if (n > 0) buffer = caml_str_repeat (n, '0') + buffer;
-  }
-  return caml_finish_formatting(f, buffer);
-}
-function caml_parse_sign_and_base (s) {
-  var i = 0, base = 10, sign = s.get(0) == 45?(i++,-1):1;
-  if (s.get(i) == 48)
-    switch (s.get(i + 1)) {
-    case 120: case 88: base = 16; i += 2; break;
-    case 111: case 79: base =  8; i += 2; break;
-    case  98: case 66: base =  2; i += 2; break;
-    }
-  return [i, sign, base];
-}
-function caml_parse_digit(c) {
-  if (c >= 48 && c <= 57)  return c - 48;
-  if (c >= 65 && c <= 90)  return c - 55;
-  if (c >= 97 && c <= 122) return c - 87;
-  return -1;
-}
-var caml_global_data = [0];
-function caml_failwith (msg) {
-  caml_raise_with_string(caml_global_data[3], msg);
-}
-function caml_int_of_string (s) {
-  var r = caml_parse_sign_and_base (s);
-  var i = r[0], sign = r[1], base = r[2];
-  var threshold = -1 >>> 0;
-  var c = s.get(i);
-  var d = caml_parse_digit(c);
-  if (d < 0 || d >= base) caml_failwith("int_of_string");
-  var res = d;
-  for (;;) {
-    i++;
-    c = s.get(i);
-    if (c == 95) continue;
-    d = caml_parse_digit(c);
-    if (d < 0 || d >= base) break;
-    res = base * res + d;
-    if (res > threshold) caml_failwith("int_of_string");
-  }
-  if (i != s.getLen()) caml_failwith("int_of_string");
-  res = sign * res;
-  if ((res | 0) != res) caml_failwith("int_of_string");
-  return res;
-}
-function caml_is_printable(c) { return +(c > 31 && c < 127); }
-function caml_js_call(f, o, args) { return f.apply(o, args.slice(1)); }
-function caml_js_get_console () {
-  var c = this.console?this.console:{};
-  var m = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
-           "trace", "group", "groupCollapsed", "groupEnd", "time", "timeEnd"];
-  function f () {}
-  for (var i = 0; i < m.length; i++) if (!c[m[i]]) c[m[i]]=f;
-  return c;
-}
-var caml_js_regexps = { amp:/&/g, lt:/</g, quot:/\"/g, all:/[&<\"]/ };
-function caml_js_html_escape (s) {
-  if (!caml_js_regexps.all.test(s)) return s;
-  return s.replace(caml_js_regexps.amp, "&amp;")
-          .replace(caml_js_regexps.lt, "&lt;")
-          .replace(caml_js_regexps.quot, "&quot;");
-}
-function caml_js_wrap_callback(f) {
-  var toArray = Array.prototype.slice;
-  return function () {
-    var args = (arguments.length > 0)?toArray.call (arguments):[undefined];
-    return caml_call_gen(f, args);
-  }
-}
-function caml_make_vect (len, init) {
-  var b = [0]; for (var i = 1; i <= len; i++) b[i] = init; return b;
-}
-function caml_ml_flush () { return 0; }
-function caml_ml_open_descriptor_out () { return 0; }
-function caml_ml_out_channels_list () { return 0; }
-function caml_ml_output () { return 0; }
-function caml_raise_constant (tag) { throw [0, tag]; }
-function caml_raise_zero_divide () {
-  caml_raise_constant(caml_global_data[6]);
-}
-function caml_mod(x,y) {
-  if (y == 0) caml_raise_zero_divide ();
-  return x%y;
-}
-function caml_mul(x,y) {
-  return ((((x >> 16) * y) << 16) + (x & 0xffff) * y)|0;
-}
-function caml_notequal (x, y) { return +(caml_compare_val(x,y,false) != 0); }
-function caml_obj_is_block (x) { return +(x instanceof Array); }
-function caml_obj_tag (x) { return (x instanceof Array)?x[0]:1000; }
-function caml_register_global (n, v) { caml_global_data[n + 1] = v; }
-var caml_named_values = {};
-function caml_register_named_value(nm,v) {
-  caml_named_values[nm] = v; return 0;
-}
-function caml_sys_const_word_size () { return 32; }
-function caml_update_dummy (x, y) {
-  if( typeof y==="function" ) { x.fun = y; return 0; }
-  if( y.fun ) { x.fun = y.fun; return 0; }
-  var i = y.length; while (i--) x[i] = y[i]; return 0;
-}
-(function()
-   {function _oS_(_y8_,_y9_,_y__,_y$_,_za_,_zb_,_zc_)
-     {return _y8_.length==6
-              ?_y8_(_y9_,_y__,_y$_,_za_,_zb_,_zc_)
-              :caml_call_gen(_y8_,[_y9_,_y__,_y$_,_za_,_zb_,_zc_]);}
-    function _nZ_(_y3_,_y4_,_y5_,_y6_,_y7_)
-     {return _y3_.length==4
-              ?_y3_(_y4_,_y5_,_y6_,_y7_)
-              :caml_call_gen(_y3_,[_y4_,_y5_,_y6_,_y7_]);}
-    function _fx_(_yZ_,_y0_,_y1_,_y2_)
-     {return _yZ_.length==3
-              ?_yZ_(_y0_,_y1_,_y2_)
-              :caml_call_gen(_yZ_,[_y0_,_y1_,_y2_]);}
-    function _cy_(_yW_,_yX_,_yY_)
-     {return _yW_.length==2?_yW_(_yX_,_yY_):caml_call_gen(_yW_,[_yX_,_yY_]);}
-    function _cl_(_yU_,_yV_)
-     {return _yU_.length==1?_yU_(_yV_):caml_call_gen(_yU_,[_yV_]);}
-    var
-     _a_=[0,new MlString("Failure")],
-     _b_=[0,new MlString("Invalid_argument")],
-     _c_=[0,new MlString("Not_found")],
-     _d_=[0,new MlString("Assert_failure")],
-     _e_=new MlString("File \"%s\", line %d, characters %d-%d: %s");
-    caml_register_global(6,_c_);
-    caml_register_global(5,[0,new MlString("Division_by_zero")]);
-    caml_register_global(3,_b_);
-    caml_register_global(2,_a_);
-    var
-     _bw_=[0,new MlString("Out_of_memory")],
-     _bv_=[0,new MlString("Match_failure")],
-     _bu_=[0,new MlString("Stack_overflow")],
-     _bt_=[0,new MlString("Undefined_recursive_module")],
-     _bs_=new MlString("%.12g"),
-     _br_=new MlString("."),
-     _bq_=new MlString("%d"),
-     _bp_=new MlString("true"),
-     _bo_=new MlString("false"),
-     _bn_=new MlString("Pervasives.do_at_exit"),
-     _bm_=new MlString("\\b"),
-     _bl_=new MlString("\\t"),
-     _bk_=new MlString("\\n"),
-     _bj_=new MlString("\\r"),
-     _bi_=new MlString("\\\\"),
-     _bh_=new MlString("\\'"),
-     _bg_=new MlString("String.blit"),
-     _bf_=new MlString("String.sub"),
-     _be_=new MlString("Map.remove_min_elt"),
-     _bd_=[0,0,0,0],
-     _bc_=[0,new MlString("map.ml"),270,10],
-     _bb_=[0,0,0],
-     _ba_=new MlString("Map.bal"),
-     _a$_=new MlString("Map.bal"),
-     _a__=new MlString("Map.bal"),
-     _a9_=new MlString("Map.bal"),
-     _a8_=new MlString("Queue.Empty"),
-     _a7_=new MlString("Buffer.add: cannot grow buffer"),
-     _a6_=new MlString(""),
-     _a5_=new MlString(""),
-     _a4_=new MlString("%.12g"),
-     _a3_=new MlString("\""),
-     _a2_=new MlString("\""),
-     _a1_=new MlString("'"),
-     _a0_=new MlString("'"),
-     _aZ_=new MlString("nan"),
-     _aY_=new MlString("neg_infinity"),
-     _aX_=new MlString("infinity"),
-     _aW_=new MlString("."),
-     _aV_=new MlString("printf: bad positional specification (0)."),
-     _aU_=new MlString("%_"),
-     _aT_=[0,new MlString("printf.ml"),143,8],
-     _aS_=new MlString("'"),
-     _aR_=new MlString("Printf: premature end of format string '"),
-     _aQ_=new MlString("'"),
-     _aP_=new MlString(" in format string '"),
-     _aO_=new MlString(", at char number "),
-     _aN_=new MlString("Printf: bad conversion %"),
-     _aM_=new MlString("Sformat.index_of_int: negative argument "),
-     _aL_=new MlString(""),
-     _aK_=new MlString(", %s%s"),
-     _aJ_=[1,1],
-     _aI_=new MlString("%s\n"),
-     _aH_=
-      new
-       MlString
-       ("(Program not linked with -g, cannot print stack backtrace)\n"),
-     _aG_=new MlString("Raised at"),
-     _aF_=new MlString("Re-raised at"),
-     _aE_=new MlString("Raised by primitive operation at"),
-     _aD_=new MlString("Called from"),
-     _aC_=new MlString("%s file \"%s\", line %d, characters %d-%d"),
-     _aB_=new MlString("%s unknown location"),
-     _aA_=new MlString("Out of memory"),
-     _az_=new MlString("Stack overflow"),
-     _ay_=new MlString("Pattern matching failed"),
-     _ax_=new MlString("Assertion failed"),
-     _aw_=new MlString("Undefined recursive module"),
-     _av_=new MlString("(%s%s)"),
-     _au_=new MlString(""),
-     _at_=new MlString(""),
-     _as_=new MlString("(%s)"),
-     _ar_=new MlString("%d"),
-     _aq_=new MlString("%S"),
-     _ap_=new MlString("_"),
-     _ao_=[0,new MlString("src/core/lwt.ml"),799,20],
-     _an_=[0,new MlString("src/core/lwt.ml"),801,8],
-     _am_=[0,new MlString("src/core/lwt.ml"),692,20],
-     _al_=[0,new MlString("src/core/lwt.ml"),695,8],
-     _ak_=[0,new MlString("src/core/lwt.ml"),648,20],
-     _aj_=[0,new MlString("src/core/lwt.ml"),651,8],
-     _ai_=[0,new MlString("src/core/lwt.ml"),498,8],
-     _ah_=[0,new MlString("src/core/lwt.ml"),487,9],
-     _ag_=new MlString("Lwt.wakeup_result"),
-     _af_=new MlString("Lwt.Canceled"),
-     _ae_=new MlString("on"),
-     _ad_=new MlString("\""),
-     _ac_=new MlString(" name=\""),
-     _ab_=new MlString("\""),
-     _aa_=new MlString(" type=\""),
-     _$_=new MlString("<"),
-     ___=new MlString(">"),
-     _Z_=new MlString(""),
-     _Y_=new MlString("<input name=\"x\">"),
-     _X_=new MlString("input"),
-     _W_=new MlString("x"),
-     _V_=new MlString("canvas"),
-     _U_=new MlString("div"),
-     _T_=new MlString("label"),
-     _S_=new MlString("input"),
-     _R_=new MlString("mousedown"),
-     _Q_=new MlString("2d"),
-     _P_=new MlString("Dom_html.Canvas_not_available"),
-     _O_=new MlString("Exception during Lwt.async: "),
-     _N_=new MlString("Lwt_js_event"),
-     _M_=new MlString("transitionend"),
-     _L_=new MlString("transition"),
-     _K_=new MlString("otransitionend"),
-     _J_=new MlString("oTransitionEnd"),
-     _I_=new MlString("OTransition"),
-     _H_=new MlString("transitionend"),
-     _G_=new MlString("MozTransition"),
-     _F_=new MlString("webkitTransitionEnd"),
-     _E_=new MlString("WebkitTransition"),
-     _D_=new MlString("rgb(0, 0, 0)"),
-     _C_=new MlString("called"),
-     _B_=new MlString("x1"),
-     _A_=new MlString("x2"),
-     _z_=new MlString("move"),
-     _y_=new MlString("stop"),
-     _x_=new MlString("button"),
-     _w_=new MlString("move"),
-     _v_=new MlString("fps"),
-     _u_=
-      [0,new MlString("x1"),[0,new MlString("x2"),[0,new MlString("x4"),0]]],
-     _t_=new MlString("fps"),
-     _s_=new MlString("rgba(255, 0, 0, %.1f)"),
-     _r_=new MlString("12px 'Times New Roman'"),
-     _q_=new MlString("crash!!"),
-     _p_=new MlString("rgb(%d, %d, %d)"),
-     _o_=new MlString("canvas"),
-     _n_=new MlString("radio"),
-     _m_=new MlString("radio"),
-     _l_=new MlString("submit"),
-     _k_=new MlString("");
-    function _j_(s_f_){throw [0,_a_,s_f_];}
-    function _bx_(s_g_){throw [0,_b_,s_g_];}
-    function _bP_(x_i_,y_h_){return caml_greaterequal(x_i_,y_h_)?x_i_:y_h_;}
-    function _bJ_(s1_by_,s2_bA_)
-     {var
-       l1_bz_=s1_by_.getLen(),
-       l2_bB_=s2_bA_.getLen(),
-       s_bC_=caml_create_string(l1_bz_+l2_bB_|0);
-      caml_blit_string(s1_by_,0,s_bC_,0,l1_bz_);
-      caml_blit_string(s2_bA_,0,s_bC_,l1_bz_,l2_bB_);
-      return s_bC_;}
-    function string_of_bool_bR_(b_bD_){return b_bD_?_bp_:_bo_;}
-    function string_of_int_bQ_(n_bE_){return caml_format_int(_bq_,n_bE_);}
-    function valid_float_lexem_bO_(s_bF_)
-     {var l_bI_=s_bF_.getLen();
-      return function(i_bG_)
-               {var i_bH_=i_bG_;
-                for(;;)
-                 {if(l_bI_<=i_bH_)return _bJ_(s_bF_,_br_);
-                  var
-                   _bK_=s_bF_.safeGet(i_bH_),
-                   _bL_=48<=_bK_?58<=_bK_?0:1:45===_bK_?1:0;
-                  if(_bL_){var _bM_=i_bH_+1|0,i_bH_=_bM_;continue;}
-                  return s_bF_;}}
-              (0);}
-    var stderr_bS_=caml_ml_open_descriptor_out(2);
-    function string_of_float_b5_(f_bN_)
-     {return valid_float_lexem_bO_(caml_format_float(_bs_,f_bN_));}
-    function flush_all_b1_(param_bX_)
-     {return function(param_bT_)
-               {var param_bU_=param_bT_;
-                for(;;)
-                 {if(param_bU_)
-                   {var l_bV_=param_bU_[2];
-                    try {}catch(_bW_){}
-                    var param_bU_=l_bV_;
-                    continue;}
-                  return 0;}}
-              (caml_ml_out_channels_list(0));}
-    function output_string_b6_(oc_bZ_,s_bY_)
-     {return caml_ml_output(oc_bZ_,s_bY_,0,s_bY_.getLen());}
-    function prerr_char_b7_(c_b0_)
-     {return caml_ml_output_char(stderr_bS_,c_b0_);}
-    function do_at_exit_b3_(param_b2_){return flush_all_b1_(0);}
-    function exit_b8_(retcode_b4_)
-     {do_at_exit_b3_(0);return caml_sys_exit(retcode_b4_);}
-    caml_register_named_value(_bn_,do_at_exit_b3_);
-    function _ca_(_b__,_b9_){return caml_ml_output_char(_b__,_b9_);}
-    function _cP_(_b$_){return caml_ml_flush(_b$_);}
-    function _ch_(l1_cb_,l2_cd_)
-     {var l1_cc_=l1_cb_,l2_ce_=l2_cd_;
-      for(;;)
-       {if(l1_cc_)
-         {var
-           l_cf_=l1_cc_[2],
-           _cg_=[0,l1_cc_[1],l2_ce_],
-           l1_cc_=l_cf_,
-           l2_ce_=_cg_;
-          continue;}
-        return l2_ce_;}}
-    function _cO_(l_ci_){return _ch_(l_ci_,0);}
-    function _cn_(f_ck_,param_cj_)
-     {if(param_cj_)
-       {var l_cm_=param_cj_[2],r_co_=_cl_(f_ck_,param_cj_[1]);
-        return [0,r_co_,_cn_(f_ck_,l_cm_)];}
-      return 0;}
-    function _cQ_(f_cr_,param_cp_)
-     {var param_cq_=param_cp_;
-      for(;;)
-       {if(param_cq_)
-         {var l_cs_=param_cq_[2];
-          _cl_(f_cr_,param_cq_[1]);
-          var param_cq_=l_cs_;
-          continue;}
-        return 0;}}
-    function _cS_(f_cx_,accu_ct_,l_cv_)
-     {var accu_cu_=accu_ct_,l_cw_=l_cv_;
-      for(;;)
-       {if(l_cw_)
-         {var
-           l_cz_=l_cw_[2],
-           _cA_=_cy_(f_cx_,accu_cu_,l_cw_[1]),
-           accu_cu_=_cA_,
-           l_cw_=l_cz_;
-          continue;}
-        return accu_cu_;}}
-    function _cR_(p_cE_,param_cB_)
-     {var param_cC_=param_cB_;
-      for(;;)
-       {if(param_cC_)
-         {var x_cD_=param_cC_[1],l_cF_=param_cC_[2];
-          if(_cl_(p_cE_,x_cD_))return x_cD_;
-          var param_cC_=l_cF_;
-          continue;}
-        throw [0,_c_];}}
-    function _cT_(p_cM_)
-     {return _cl_
-              (function(accu_cG_,param_cI_)
-                {var accu_cH_=accu_cG_,param_cJ_=param_cI_;
-                 for(;;)
-                  {if(param_cJ_)
-                    {var l_cK_=param_cJ_[2],x_cL_=param_cJ_[1];
-                     if(_cl_(p_cM_,x_cL_))
-                      {var _cN_=[0,x_cL_,accu_cH_],accu_cH_=_cN_,param_cJ_=l_cK_;
-                       continue;}
-                     var param_cJ_=l_cK_;
-                     continue;}
-                   return _cO_(accu_cH_);}},
-               0);}
-    function _dq_(c_cU_)
-     {if(39===c_cU_)return _bh_;
-      if(92===c_cU_)return _bi_;
-      if(!(14<=c_cU_))
-       switch(c_cU_)
-        {case 8:return _bm_;
-         case 9:return _bl_;
-         case 10:return _bk_;
-         case 13:return _bj_;
-         default:}
-      if(caml_is_printable(c_cU_))
-       {var s_cV_=caml_create_string(1);s_cV_.safeSet(0,c_cU_);return s_cV_;}
-      var s_cW_=caml_create_string(4);
-      s_cW_.safeSet(0,92);
-      s_cW_.safeSet(1,48+(c_cU_/100|0)|0);
-      s_cW_.safeSet(2,48+((c_cU_/10|0)%10|0)|0);
-      s_cW_.safeSet(3,48+(c_cU_%10|0)|0);
-      return s_cW_;}
-    function _dp_(n_cX_,c_cZ_)
-     {var s_cY_=caml_create_string(n_cX_);
-      caml_fill_string(s_cY_,0,n_cX_,c_cZ_);
-      return s_cY_;}
-    function _dr_(s_c2_,ofs_c0_,len_c1_)
-     {if(0<=ofs_c0_&&0<=len_c1_&&!((s_c2_.getLen()-len_c1_|0)<ofs_c0_))
-       {var r_c3_=caml_create_string(len_c1_);
-        caml_blit_string(s_c2_,ofs_c0_,r_c3_,0,len_c1_);
-        return r_c3_;}
-      return _bx_(_bf_);}
-    function _ds_(s1_c6_,ofs1_c5_,s2_c8_,ofs2_c7_,len_c4_)
-     {if
-       (0<=
-        len_c4_&&
-        0<=
-        ofs1_c5_&&
-        !((s1_c6_.getLen()-len_c4_|0)<ofs1_c5_)&&
-        0<=
-        ofs2_c7_&&
-        !((s2_c8_.getLen()-len_c4_|0)<ofs2_c7_))
-       return caml_blit_string(s1_c6_,ofs1_c5_,s2_c8_,ofs2_c7_,len_c4_);
-      return _bx_(_bg_);}
-    var
-     _dt_=caml_sys_const_word_size(0),
-     _du_=caml_mul(_dt_/8|0,(1<<(_dt_-10|0))-1|0)-1|0;
-    function _iy_(s_c$_)
-     {var n_c9_=[0,0],_c__=0,_da_=s_c$_.getLen()-1|0;
-      if(!(_da_<_c__))
-       {var i_db_=_c__;
-        for(;;)
-         {var
-           _dc_=s_c$_.safeGet(i_db_),
-           _dd_=
-            14<=_dc_
-             ?34===_dc_?1:92===_dc_?1:0
-             :11<=_dc_?13<=_dc_?1:0:8<=_dc_?1:0,
-           _de_=_dd_?2:caml_is_printable(_dc_)?1:4;
-          n_c9_[1]=n_c9_[1]+_de_|0;
-          var _df_=i_db_+1|0;
-          if(_da_!==i_db_){var i_db_=_df_;continue;}
-          break;}}
-      if(n_c9_[1]===s_c$_.getLen())return s_c$_;
-      var s__dg_=caml_create_string(n_c9_[1]);
-      n_c9_[1]=0;
-      var _dh_=0,_di_=s_c$_.getLen()-1|0;
-      if(!(_di_<_dh_))
-       {var i_dj_=_dh_;
-        for(;;)
-         {var _dk_=s_c$_.safeGet(i_dj_),_dl_=_dk_-34|0;
-          if(_dl_<0||58<_dl_)
-           if(-20<=_dl_)
-            var _dm_=1;
-           else
-            {switch(_dl_+34|0)
-              {case 8:
-                s__dg_.safeSet(n_c9_[1],92);
-                n_c9_[1]+=1;
-                s__dg_.safeSet(n_c9_[1],98);
-                var _dn_=1;
-                break;
-               case 9:
-                s__dg_.safeSet(n_c9_[1],92);
-                n_c9_[1]+=1;
-                s__dg_.safeSet(n_c9_[1],116);
-                var _dn_=1;
-                break;
-               case 10:
-                s__dg_.safeSet(n_c9_[1],92);
-                n_c9_[1]+=1;
-                s__dg_.safeSet(n_c9_[1],110);
-                var _dn_=1;
-                break;
-               case 13:
-                s__dg_.safeSet(n_c9_[1],92);
-                n_c9_[1]+=1;
-                s__dg_.safeSet(n_c9_[1],114);
-                var _dn_=1;
-                break;
-               default:var _dm_=1,_dn_=0;}
-             if(_dn_)var _dm_=0;}
-          else
-           var
-            _dm_=
-             (_dl_-1|0)<0||56<(_dl_-1|0)
-              ?(s__dg_.safeSet(n_c9_[1],92),
-                n_c9_[1]+=
-                1,
-                s__dg_.safeSet(n_c9_[1],_dk_),
-                0)
-              :1;
-          if(_dm_)
-           if(caml_is_printable(_dk_))
-            s__dg_.safeSet(n_c9_[1],_dk_);
-           else
-            {s__dg_.safeSet(n_c9_[1],92);
-             n_c9_[1]+=1;
-             s__dg_.safeSet(n_c9_[1],48+(_dk_/100|0)|0);
-             n_c9_[1]+=1;
-             s__dg_.safeSet(n_c9_[1],48+((_dk_/10|0)%10|0)|0);
-             n_c9_[1]+=1;
-             s__dg_.safeSet(n_c9_[1],48+(_dk_%10|0)|0);}
-          n_c9_[1]+=1;
-          var _do_=i_dj_+1|0;
-          if(_di_!==i_dj_){var i_dj_=_do_;continue;}
-          break;}}
-      return s__dg_;}
-    var _ix_=252,_iw_=253;
-    function _it_(_ec_)
-     {function _dw_(param_dv_){return param_dv_?param_dv_[5]:0;}
-      function _dP_(l_dx_,x_dD_,d_dC_,r_dz_)
-       {var
-         hl_dy_=_dw_(l_dx_),
-         hr_dA_=_dw_(r_dz_),
-         _dB_=hr_dA_<=hl_dy_?hl_dy_+1|0:hr_dA_+1|0;
-        return [0,l_dx_,x_dD_,d_dC_,r_dz_,_dB_];}
-      function _d6_(x_dF_,d_dE_){return [0,0,x_dF_,d_dE_,0,1];}
-      function _d7_(l_dG_,x_dR_,d_dQ_,r_dI_)
-       {var hl_dH_=l_dG_?l_dG_[5]:0,hr_dJ_=r_dI_?r_dI_[5]:0;
-        if((hr_dJ_+2|0)<hl_dH_)
-         {if(l_dG_)
-           {var
-             lr_dK_=l_dG_[4],
-             ld_dL_=l_dG_[3],
-             lv_dM_=l_dG_[2],
-             ll_dN_=l_dG_[1],
-             _dO_=_dw_(lr_dK_);
-            if(_dO_<=_dw_(ll_dN_))
-             return _dP_(ll_dN_,lv_dM_,ld_dL_,_dP_(lr_dK_,x_dR_,d_dQ_,r_dI_));
-            if(lr_dK_)
-             {var
-               lrd_dU_=lr_dK_[3],
-               lrv_dT_=lr_dK_[2],
-               lrl_dS_=lr_dK_[1],
-               _dV_=_dP_(lr_dK_[4],x_dR_,d_dQ_,r_dI_);
-              return _dP_
-                      (_dP_(ll_dN_,lv_dM_,ld_dL_,lrl_dS_),lrv_dT_,lrd_dU_,_dV_);}
-            return _bx_(_ba_);}
-          return _bx_(_a$_);}
-        if((hl_dH_+2|0)<hr_dJ_)
-         {if(r_dI_)
-           {var
-             rr_dW_=r_dI_[4],
-             rd_dX_=r_dI_[3],
-             rv_dY_=r_dI_[2],
-             rl_dZ_=r_dI_[1],
-             _d0_=_dw_(rl_dZ_);
-            if(_d0_<=_dw_(rr_dW_))
-             return _dP_(_dP_(l_dG_,x_dR_,d_dQ_,rl_dZ_),rv_dY_,rd_dX_,rr_dW_);
-            if(rl_dZ_)
-             {var
-               rld_d3_=rl_dZ_[3],
-               rlv_d2_=rl_dZ_[2],
-               rll_d1_=rl_dZ_[1],
-               _d4_=_dP_(rl_dZ_[4],rv_dY_,rd_dX_,rr_dW_);
-              return _dP_
-                      (_dP_(l_dG_,x_dR_,d_dQ_,rll_d1_),rlv_d2_,rld_d3_,_d4_);}
-            return _bx_(_a__);}
-          return _bx_(_a9_);}
-        var _d5_=hr_dJ_<=hl_dH_?hl_dH_+1|0:hr_dJ_+1|0;
-        return [0,l_dG_,x_dR_,d_dQ_,r_dI_,_d5_];}
-      var _im_=0;
-      function _in_(param_d8_){return param_d8_?0:1;}
-      function _eh_(x_ed_,data_eg_,param_d9_)
-       {if(param_d9_)
-         {var
-           r_d__=param_d9_[4],
-           d_d$_=param_d9_[3],
-           v_ea_=param_d9_[2],
-           l_eb_=param_d9_[1],
-           h_ef_=param_d9_[5],
-           c_ee_=_cy_(_ec_[1],x_ed_,v_ea_);
-          return 0===c_ee_
-                  ?[0,l_eb_,x_ed_,data_eg_,r_d__,h_ef_]
-                  :0<=c_ee_
-                    ?_d7_(l_eb_,v_ea_,d_d$_,_eh_(x_ed_,data_eg_,r_d__))
-                    :_d7_(_eh_(x_ed_,data_eg_,l_eb_),v_ea_,d_d$_,r_d__);}
-        return [0,0,x_ed_,data_eg_,0,1];}
-      function _io_(x_ek_,param_ei_)
-       {var param_ej_=param_ei_;
-        for(;;)
-         {if(param_ej_)
-           {var
-             r_eo_=param_ej_[4],
-             d_en_=param_ej_[3],
-             l_em_=param_ej_[1],
-             c_el_=_cy_(_ec_[1],x_ek_,param_ej_[2]);
-            if(0===c_el_)return d_en_;
-            var _ep_=0<=c_el_?r_eo_:l_em_,param_ej_=_ep_;
-            continue;}
-          throw [0,_c_];}}
-      function _ip_(x_es_,param_eq_)
-       {var param_er_=param_eq_;
-        for(;;)
-         {if(param_er_)
-           {var
-             r_ev_=param_er_[4],
-             l_eu_=param_er_[1],
-             c_et_=_cy_(_ec_[1],x_es_,param_er_[2]),
-             _ew_=0===c_et_?1:0;
-            if(_ew_)return _ew_;
-            var _ex_=0<=c_et_?r_ev_:l_eu_,param_er_=_ex_;
-            continue;}
-          return 0;}}
-      function _eO_(param_ey_)
-       {var param_ez_=param_ey_;
-        for(;;)
-         {if(param_ez_)
-           {var _eA_=param_ez_[1];
-            if(_eA_){var param_ez_=_eA_;continue;}
-            return [0,param_ez_[2],param_ez_[3]];}
-          throw [0,_c_];}}
-      function _iq_(param_eB_)
-       {var param_eC_=param_eB_;
-        for(;;)
-         {if(param_eC_)
-           {var _eD_=param_eC_[4],_eE_=param_eC_[3],_eF_=param_eC_[2];
-            if(_eD_){var param_eC_=_eD_;continue;}
-            return [0,_eF_,_eE_];}
-          throw [0,_c_];}}
-      function _eI_(param_eG_)
-       {if(param_eG_)
-         {var _eH_=param_eG_[1];
-          if(_eH_)
-           {var r_eL_=param_eG_[4],d_eK_=param_eG_[3],x_eJ_=param_eG_[2];
-            return _d7_(_eI_(_eH_),x_eJ_,d_eK_,r_eL_);}
-          return param_eG_[4];}
-        return _bx_(_be_);}
-      function _eZ_(t1_eM_,t2_eN_)
-       {if(t1_eM_)
-         {if(t2_eN_)
-           {var match_eP_=_eO_(t2_eN_),d_eR_=match_eP_[2],x_eQ_=match_eP_[1];
-            return _d7_(t1_eM_,x_eQ_,d_eR_,_eI_(t2_eN_));}
-          return t1_eM_;}
-        return t2_eN_;}
-      function _e0_(x_eX_,param_eS_)
-       {if(param_eS_)
-         {var
-           r_eT_=param_eS_[4],
-           d_eU_=param_eS_[3],
-           v_eV_=param_eS_[2],
-           l_eW_=param_eS_[1],
-           c_eY_=_cy_(_ec_[1],x_eX_,v_eV_);
-          return 0===c_eY_
-                  ?_eZ_(l_eW_,r_eT_)
-                  :0<=c_eY_
-                    ?_d7_(l_eW_,v_eV_,d_eU_,_e0_(x_eX_,r_eT_))
-                    :_d7_(_e0_(x_eX_,l_eW_),v_eV_,d_eU_,r_eT_);}
-        return 0;}
-      function _e3_(f_e4_,param_e1_)
-       {var param_e2_=param_e1_;
-        for(;;)
-         {if(param_e2_)
-           {var r_e7_=param_e2_[4],d_e6_=param_e2_[3],v_e5_=param_e2_[2];
-            _e3_(f_e4_,param_e2_[1]);
-            _cy_(f_e4_,v_e5_,d_e6_);
-            var param_e2_=r_e7_;
-            continue;}
-          return 0;}}
-      function _e9_(f_e__,param_e8_)
-       {if(param_e8_)
-         {var
-           h_fc_=param_e8_[5],
-           r_fb_=param_e8_[4],
-           d_fa_=param_e8_[3],
-           v_e$_=param_e8_[2],
-           l__fd_=_e9_(f_e__,param_e8_[1]),
-           d__fe_=_cl_(f_e__,d_fa_);
-          return [0,l__fd_,v_e$_,d__fe_,_e9_(f_e__,r_fb_),h_fc_];}
-        return 0;}
-      function _fh_(f_fi_,param_ff_)
-       {if(param_ff_)
-         {var
-           v_fg_=param_ff_[2],
-           h_fl_=param_ff_[5],
-           r_fk_=param_ff_[4],
-           d_fj_=param_ff_[3],
-           l__fm_=_fh_(f_fi_,param_ff_[1]),
-           d__fn_=_cy_(f_fi_,v_fg_,d_fj_);
-          return [0,l__fm_,v_fg_,d__fn_,_fh_(f_fi_,r_fk_),h_fl_];}
-        return 0;}
-      function _fs_(f_ft_,m_fo_,accu_fq_)
-       {var m_fp_=m_fo_,accu_fr_=accu_fq_;
-        for(;;)
-         {if(m_fp_)
-           {var
-             r_fw_=m_fp_[4],
-             d_fv_=m_fp_[3],
-             v_fu_=m_fp_[2],
-             _fy_=_fx_(f_ft_,v_fu_,d_fv_,_fs_(f_ft_,m_fp_[1],accu_fr_)),
-             m_fp_=r_fw_,
-             accu_fr_=_fy_;
-            continue;}
-          return accu_fr_;}}
-      function _fF_(p_fB_,param_fz_)
-       {var param_fA_=param_fz_;
-        for(;;)
-         {if(param_fA_)
-           {var
-             r_fE_=param_fA_[4],
-             l_fD_=param_fA_[1],
-             _fC_=_cy_(p_fB_,param_fA_[2],param_fA_[3]);
-            if(_fC_)
-             {var _fG_=_fF_(p_fB_,l_fD_);
-              if(_fG_){var param_fA_=r_fE_;continue;}
-              var _fH_=_fG_;}
-            else
-             var _fH_=_fC_;
-            return _fH_;}
-          return 1;}}
-      function _fP_(p_fK_,param_fI_)
-       {var param_fJ_=param_fI_;
-        for(;;)
-         {if(param_fJ_)
-           {var
-             r_fN_=param_fJ_[4],
-             l_fM_=param_fJ_[1],
-             _fL_=_cy_(p_fK_,param_fJ_[2],param_fJ_[3]);
-            if(_fL_)
-             var _fO_=_fL_;
-            else
-             {var _fQ_=_fP_(p_fK_,l_fM_);
-              if(!_fQ_){var param_fJ_=r_fN_;continue;}
-              var _fO_=_fQ_;}
-            return _fO_;}
-          return 0;}}
-      function _fS_(k_fU_,v_fT_,param_fR_)
-       {if(param_fR_)
-         {var r_fX_=param_fR_[4],d_fW_=param_fR_[3],x_fV_=param_fR_[2];
-          return _d7_(_fS_(k_fU_,v_fT_,param_fR_[1]),x_fV_,d_fW_,r_fX_);}
-        return _d6_(k_fU_,v_fT_);}
-      function _fZ_(k_f1_,v_f0_,param_fY_)
-       {if(param_fY_)
-         {var d_f4_=param_fY_[3],x_f3_=param_fY_[2],l_f2_=param_fY_[1];
-          return _d7_(l_f2_,x_f3_,d_f4_,_fZ_(k_f1_,v_f0_,param_fY_[4]));}
-        return _d6_(k_f1_,v_f0_);}
-      function _f9_(l_f5_,v_f$_,d_f__,r_f6_)
-       {if(l_f5_)
-         {if(r_f6_)
-           {var
-             rh_f7_=r_f6_[5],
-             lh_f8_=l_f5_[5],
-             rr_gf_=r_f6_[4],
-             rd_gg_=r_f6_[3],
-             rv_gh_=r_f6_[2],
-             rl_ge_=r_f6_[1],
-             lr_ga_=l_f5_[4],
-             ld_gb_=l_f5_[3],
-             lv_gc_=l_f5_[2],
-             ll_gd_=l_f5_[1];
-            return (rh_f7_+2|0)<lh_f8_
-                    ?_d7_(ll_gd_,lv_gc_,ld_gb_,_f9_(lr_ga_,v_f$_,d_f__,r_f6_))
-                    :(lh_f8_+2|0)<rh_f7_
-                      ?_d7_(_f9_(l_f5_,v_f$_,d_f__,rl_ge_),rv_gh_,rd_gg_,rr_gf_)
-                      :_dP_(l_f5_,v_f$_,d_f__,r_f6_);}
-          return _fZ_(v_f$_,d_f__,l_f5_);}
-        return _fS_(v_f$_,d_f__,r_f6_);}
-      function _gr_(t1_gi_,t2_gj_)
-       {if(t1_gi_)
-         {if(t2_gj_)
-           {var match_gk_=_eO_(t2_gj_),d_gm_=match_gk_[2],x_gl_=match_gk_[1];
-            return _f9_(t1_gi_,x_gl_,d_gm_,_eI_(t2_gj_));}
-          return t1_gi_;}
-        return t2_gj_;}
-      function _gU_(t1_gq_,v_gp_,d_gn_,t2_go_)
-       {return d_gn_?_f9_(t1_gq_,v_gp_,d_gn_[1],t2_go_):_gr_(t1_gq_,t2_go_);}
-      function _gz_(x_gx_,param_gs_)
-       {if(param_gs_)
-         {var
-           r_gt_=param_gs_[4],
-           d_gu_=param_gs_[3],
-           v_gv_=param_gs_[2],
-           l_gw_=param_gs_[1],
-           c_gy_=_cy_(_ec_[1],x_gx_,v_gv_);
-          if(0===c_gy_)return [0,l_gw_,[0,d_gu_],r_gt_];
-          if(0<=c_gy_)
-           {var
-             match_gA_=_gz_(x_gx_,r_gt_),
-             rr_gC_=match_gA_[3],
-             pres_gB_=match_gA_[2];
-            return [0,_f9_(l_gw_,v_gv_,d_gu_,match_gA_[1]),pres_gB_,rr_gC_];}
-          var
-           match_gD_=_gz_(x_gx_,l_gw_),
-           pres_gF_=match_gD_[2],
-           ll_gE_=match_gD_[1];
-          return [0,ll_gE_,pres_gF_,_f9_(match_gD_[3],v_gv_,d_gu_,r_gt_)];}
-        return _bd_;}
-      function _gO_(f_gP_,s1_gG_,s2_gI_)
-       {if(s1_gG_)
-         {var
-           v1_gH_=s1_gG_[2],
-           h1_gM_=s1_gG_[5],
-           r1_gL_=s1_gG_[4],
-           d1_gK_=s1_gG_[3],
-           l1_gJ_=s1_gG_[1];
-          if(_dw_(s2_gI_)<=h1_gM_)
-           {var
-             match_gN_=_gz_(v1_gH_,s2_gI_),
-             d2_gR_=match_gN_[2],
-             l2_gQ_=match_gN_[1],
-             _gS_=_gO_(f_gP_,r1_gL_,match_gN_[3]),
-             _gT_=_fx_(f_gP_,v1_gH_,[0,d1_gK_],d2_gR_);
-            return _gU_(_gO_(f_gP_,l1_gJ_,l2_gQ_),v1_gH_,_gT_,_gS_);}}
-        else
-         if(!s2_gI_)return 0;
-        if(s2_gI_)
-         {var
-           v2_gV_=s2_gI_[2],
-           r2_gZ_=s2_gI_[4],
-           d2_gY_=s2_gI_[3],
-           l2_gX_=s2_gI_[1],
-           match_gW_=_gz_(v2_gV_,s1_gG_),
-           d1_g1_=match_gW_[2],
-           l1_g0_=match_gW_[1],
-           _g2_=_gO_(f_gP_,match_gW_[3],r2_gZ_),
-           _g3_=_fx_(f_gP_,v2_gV_,d1_g1_,[0,d2_gY_]);
-          return _gU_(_gO_(f_gP_,l1_g0_,l2_gX_),v2_gV_,_g3_,_g2_);}
-        throw [0,_d_,_bc_];}
-      function _g7_(p_g8_,param_g4_)
-       {if(param_g4_)
-         {var
-           d_g5_=param_g4_[3],
-           v_g6_=param_g4_[2],
-           r_g__=param_g4_[4],
-           l__g9_=_g7_(p_g8_,param_g4_[1]),
-           pvd_ha_=_cy_(p_g8_,v_g6_,d_g5_),
-           r__g$_=_g7_(p_g8_,r_g__);
-          return pvd_ha_?_f9_(l__g9_,v_g6_,d_g5_,r__g$_):_gr_(l__g9_,r__g$_);}
-        return 0;}
-      function _he_(p_hf_,param_hb_)
-       {if(param_hb_)
-         {var
-           d_hc_=param_hb_[3],
-           v_hd_=param_hb_[2],
-           r_hh_=param_hb_[4],
-           match_hg_=_he_(p_hf_,param_hb_[1]),
-           lf_hi_=match_hg_[2],
-           lt_hj_=match_hg_[1],
-           pvd_hl_=_cy_(p_hf_,v_hd_,d_hc_),
-           match_hk_=_he_(p_hf_,r_hh_),
-           rf_hm_=match_hk_[2],
-           rt_hn_=match_hk_[1];
-          if(pvd_hl_)
-           {var _ho_=_gr_(lf_hi_,rf_hm_);
-            return [0,_f9_(lt_hj_,v_hd_,d_hc_,rt_hn_),_ho_];}
-          var _hp_=_f9_(lf_hi_,v_hd_,d_hc_,rf_hm_);
-          return [0,_gr_(lt_hj_,rt_hn_),_hp_];}
-        return _bb_;}
-      function _hJ_(m_hq_,e_hs_)
-       {var m_hr_=m_hq_,e_ht_=e_hs_;
-        for(;;)
-         {if(m_hr_)
-           {var
-             l_hu_=m_hr_[1],
-             _hv_=[0,m_hr_[2],m_hr_[3],m_hr_[4],e_ht_],
-             m_hr_=l_hu_,
-             e_ht_=_hv_;
-            continue;}
-          return e_ht_;}}
-      function _ir_(cmp_hH_,m1_hO_,m2_hM_)
-       {function compare_aux_hN_(e1_hw_,e2_hy_)
-         {var e1_hx_=e1_hw_,e2_hz_=e2_hy_;
-          for(;;)
-           {if(e1_hx_)
-             {if(e2_hz_)
-               {var
-                 e2_hG_=e2_hz_[4],
-                 r2_hF_=e2_hz_[3],
-                 d2_hE_=e2_hz_[2],
-                 e1_hD_=e1_hx_[4],
-                 r1_hC_=e1_hx_[3],
-                 d1_hB_=e1_hx_[2],
-                 c_hA_=_cy_(_ec_[1],e1_hx_[1],e2_hz_[1]);
-                if(0===c_hA_)
-                 {var c_hI_=_cy_(cmp_hH_,d1_hB_,d2_hE_);
-                  if(0===c_hI_)
-                   {var
-                     _hK_=_hJ_(r2_hF_,e2_hG_),
-                     _hL_=_hJ_(r1_hC_,e1_hD_),
-                     e1_hx_=_hL_,
-                     e2_hz_=_hK_;
-                    continue;}
-                  return c_hI_;}
-                return c_hA_;}
-              return 1;}
-            return e2_hz_?-1:0;}}
-        var _hP_=_hJ_(m2_hM_,0);
-        return compare_aux_hN_(_hJ_(m1_hO_,0),_hP_);}
-      function _is_(cmp_h1_,m1_h8_,m2_h6_)
-       {function equal_aux_h7_(e1_hQ_,e2_hS_)
-         {var e1_hR_=e1_hQ_,e2_hT_=e2_hS_;
-          for(;;)
-           {if(e1_hR_)
-             {if(e2_hT_)
-               {var
-                 e2_hZ_=e2_hT_[4],
-                 r2_hY_=e2_hT_[3],
-                 d2_hX_=e2_hT_[2],
-                 e1_hW_=e1_hR_[4],
-                 r1_hV_=e1_hR_[3],
-                 d1_hU_=e1_hR_[2],
-                 _h0_=0===_cy_(_ec_[1],e1_hR_[1],e2_hT_[1])?1:0;
-                if(_h0_)
-                 {var _h2_=_cy_(cmp_h1_,d1_hU_,d2_hX_);
-                  if(_h2_)
-                   {var
-                     _h3_=_hJ_(r2_hY_,e2_hZ_),
-                     _h4_=_hJ_(r1_hV_,e1_hW_),
-                     e1_hR_=_h4_,
-                     e2_hT_=_h3_;
-                    continue;}
-                  var _h5_=_h2_;}
-                else
-                 var _h5_=_h0_;
-                return _h5_;}
-              return 0;}
-            return e2_hT_?0:1;}}
-        var _h9_=_hJ_(m2_h6_,0);
-        return equal_aux_h7_(_hJ_(m1_h8_,0),_h9_);}
-      function _h$_(param_h__)
-       {if(param_h__)
-         {var l_ia_=param_h__[1],_ib_=_h$_(param_h__[4]);
-          return (_h$_(l_ia_)+1|0)+_ib_|0;}
-        return 0;}
-      function _ig_(accu_ic_,param_ie_)
-       {var accu_id_=accu_ic_,param_if_=param_ie_;
-        for(;;)
-         {if(param_if_)
-           {var
-             d_ij_=param_if_[3],
-             v_ii_=param_if_[2],
-             l_ih_=param_if_[1],
-             _ik_=[0,[0,v_ii_,d_ij_],_ig_(accu_id_,param_if_[4])],
-             accu_id_=_ik_,
-             param_if_=l_ih_;
-            continue;}
-          return accu_id_;}}
-      return [0,
-              _dw_,
-              _dP_,
-              _d6_,
-              _d7_,
-              _im_,
-              _in_,
-              _eh_,
-              _io_,
-              _ip_,
-              _eO_,
-              _iq_,
-              _eI_,
-              _eZ_,
-              _e0_,
-              _e3_,
-              _e9_,
-              _fh_,
-              _fs_,
-              _fF_,
-              _fP_,
-              _fS_,
-              _fZ_,
-              _f9_,
-              _gr_,
-              _gU_,
-              _gz_,
-              _gO_,
-              _g7_,
-              _he_,
-              _hJ_,
-              _ir_,
-              _is_,
-              _h$_,
-              _ig_,
-              function(s_il_){return _ig_(0,s_il_);},
-              _eO_];}
-    function _iF_(_iu_)
-     {var _iv_=_it_(_iu_);
-      return [0,
-              _iv_[5],
-              _iv_[6],
-              _iv_[9],
-              _iv_[7],
-              _iv_[3],
-              _iv_[14],
-              _iv_[27],
-              _iv_[31],
-              _iv_[32],
-              _iv_[15],
-              _iv_[18],
-              _iv_[19],
-              _iv_[20],
-              _iv_[28],
-              _iv_[29],
-              _iv_[33],
-              _iv_[35],
-              _iv_[10],
-              _iv_[11],
-              _iv_[36],
-              _iv_[26],
-              _iv_[8],
-              _iv_[16],
-              _iv_[17]];}
-    var _iB_=[0,_a8_];
-    function _iG_(param_iz_){return [0,0,0];}
-    function _iH_(q_iA_)
-     {if(0===q_iA_[1])throw [0,_iB_];
-      q_iA_[1]=q_iA_[1]-1|0;
-      var tail_iC_=q_iA_[2],head_iD_=tail_iC_[2];
-      if(head_iD_===tail_iC_)q_iA_[2]=0;else tail_iC_[2]=head_iD_[2];
-      return head_iD_[1];}
-    function _i1_(q_iE_){return 0===q_iE_[1]?1:0;}
-    function _i0_(n_iI_)
-     {var
-       n_iJ_=1<=n_iI_?n_iI_:1,
-       n_iK_=_du_<n_iJ_?_du_:n_iJ_,
-       s_iL_=caml_create_string(n_iK_);
-      return [0,s_iL_,0,n_iK_,s_iL_];}
-    function _i2_(b_iM_){return _dr_(b_iM_[1],0,b_iM_[2]);}
-    function _i3_(b_iN_){b_iN_[2]=0;return 0;}
-    function _iU_(b_iO_,more_iQ_)
-     {var new_len_iP_=[0,b_iO_[3]];
-      for(;;)
-       {if(new_len_iP_[1]<(b_iO_[2]+more_iQ_|0))
-         {new_len_iP_[1]=2*new_len_iP_[1]|0;continue;}
-        if(_du_<new_len_iP_[1])
-         if((b_iO_[2]+more_iQ_|0)<=_du_)new_len_iP_[1]=_du_;else _j_(_a7_);
-        var new_buffer_iR_=caml_create_string(new_len_iP_[1]);
-        _ds_(b_iO_[1],0,new_buffer_iR_,0,b_iO_[2]);
-        b_iO_[1]=new_buffer_iR_;
-        b_iO_[3]=new_len_iP_[1];
-        return 0;}}
-    function _i4_(b_iS_,c_iV_)
-     {var pos_iT_=b_iS_[2];
-      if(b_iS_[3]<=pos_iT_)_iU_(b_iS_,1);
-      b_iS_[1].safeSet(pos_iT_,c_iV_);
-      b_iS_[2]=pos_iT_+1|0;
-      return 0;}
-    function _i5_(b_iY_,s_iW_)
-     {var len_iX_=s_iW_.getLen(),new_position_iZ_=b_iY_[2]+len_iX_|0;
-      if(b_iY_[3]<new_position_iZ_)_iU_(b_iY_,len_iX_);
-      _ds_(s_iW_,0,b_iY_[1],b_iY_[2],len_iX_);
-      b_iY_[2]=new_position_iZ_;
-      return 0;}
-    function index_of_int_i9_(i_i6_)
-     {return 0<=i_i6_?i_i6_:_j_(_bJ_(_aM_,string_of_int_bQ_(i_i6_)));}
-    function add_int_index_i__(i_i7_,idx_i8_)
-     {return index_of_int_i9_(i_i7_+idx_i8_|0);}
-    var _i$_=_cl_(add_int_index_i__,1);
-    functio