Sophie

Sophie

distrib > Fedora > 18 > x86_64 > media > updates > by-pkgid > 3866615ed9f87500bac83f78574eecc8 > files > 361

js-of-ocaml-doc-1.2-2.fc18.noarch.rpm

// This program was compiled from OCaml by js_of_ocaml 1.0
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)
      for (var i = 0; i < l; 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) 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_create_string(len) {
  if (len < 0) caml_invalid_argument("String.create");
  return new MlMakeString(len);
}
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_backtrace () {
  caml_invalid_argument
    ("Primitive 'caml_get_exception_backtrace' not implemented");
}
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_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_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 MlStringFromArray (a) {
  var len = a.length; this.array = a; this.len = this.last = len;
}
MlStringFromArray.prototype = new MlString ();
var caml_md5_string =
function () {
  function add (x, y) { return (x + y) | 0; }
  function xx(q,a,b,x,s,t) {
    a = add(add(a, q), add(x, t));
    return add((a << s) | (a >>> (32 - s)), b);
  }
  function ff(a,b,c,d,x,s,t) {
    return xx((b & c) | ((~b) & d), a, b, x, s, t);
  }
  function gg(a,b,c,d,x,s,t) {
    return xx((b & d) | (c & (~d)), a, b, x, s, t);
  }
  function hh(a,b,c,d,x,s,t) { return xx(b ^ c ^ d, a, b, x, s, t); }
  function ii(a,b,c,d,x,s,t) { return xx(c ^ (b | (~d)), a, b, x, s, t); }
  function md5(buffer, length) {
    var i = length;
    buffer[i >> 2] |= 0x80 << (8 * (i & 3));
    for (i = (i & ~0x3) + 4;(i & 0x3F) < 56 ;i += 4)
      buffer[i >> 2] = 0;
    buffer[i >> 2] = length << 3;
    i += 4;
    buffer[i >> 2] = (length >> 29) & 0x1FFFFFFF;
    var w = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476];
    for(i = 0; i < buffer.length; i += 16) {
      var a = w[0], b = w[1], c = w[2], d = w[3];
      a = ff(a, b, c, d, buffer[i+ 0], 7, 0xD76AA478);
      d = ff(d, a, b, c, buffer[i+ 1], 12, 0xE8C7B756);
      c = ff(c, d, a, b, buffer[i+ 2], 17, 0x242070DB);
      b = ff(b, c, d, a, buffer[i+ 3], 22, 0xC1BDCEEE);
      a = ff(a, b, c, d, buffer[i+ 4], 7, 0xF57C0FAF);
      d = ff(d, a, b, c, buffer[i+ 5], 12, 0x4787C62A);
      c = ff(c, d, a, b, buffer[i+ 6], 17, 0xA8304613);
      b = ff(b, c, d, a, buffer[i+ 7], 22, 0xFD469501);
      a = ff(a, b, c, d, buffer[i+ 8], 7, 0x698098D8);
      d = ff(d, a, b, c, buffer[i+ 9], 12, 0x8B44F7AF);
      c = ff(c, d, a, b, buffer[i+10], 17, 0xFFFF5BB1);
      b = ff(b, c, d, a, buffer[i+11], 22, 0x895CD7BE);
      a = ff(a, b, c, d, buffer[i+12], 7, 0x6B901122);
      d = ff(d, a, b, c, buffer[i+13], 12, 0xFD987193);
      c = ff(c, d, a, b, buffer[i+14], 17, 0xA679438E);
      b = ff(b, c, d, a, buffer[i+15], 22, 0x49B40821);
      a = gg(a, b, c, d, buffer[i+ 1], 5, 0xF61E2562);
      d = gg(d, a, b, c, buffer[i+ 6], 9, 0xC040B340);
      c = gg(c, d, a, b, buffer[i+11], 14, 0x265E5A51);
      b = gg(b, c, d, a, buffer[i+ 0], 20, 0xE9B6C7AA);
      a = gg(a, b, c, d, buffer[i+ 5], 5, 0xD62F105D);
      d = gg(d, a, b, c, buffer[i+10], 9, 0x02441453);
      c = gg(c, d, a, b, buffer[i+15], 14, 0xD8A1E681);
      b = gg(b, c, d, a, buffer[i+ 4], 20, 0xE7D3FBC8);
      a = gg(a, b, c, d, buffer[i+ 9], 5, 0x21E1CDE6);
      d = gg(d, a, b, c, buffer[i+14], 9, 0xC33707D6);
      c = gg(c, d, a, b, buffer[i+ 3], 14, 0xF4D50D87);
      b = gg(b, c, d, a, buffer[i+ 8], 20, 0x455A14ED);
      a = gg(a, b, c, d, buffer[i+13], 5, 0xA9E3E905);
      d = gg(d, a, b, c, buffer[i+ 2], 9, 0xFCEFA3F8);
      c = gg(c, d, a, b, buffer[i+ 7], 14, 0x676F02D9);
      b = gg(b, c, d, a, buffer[i+12], 20, 0x8D2A4C8A);
      a = hh(a, b, c, d, buffer[i+ 5], 4, 0xFFFA3942);
      d = hh(d, a, b, c, buffer[i+ 8], 11, 0x8771F681);
      c = hh(c, d, a, b, buffer[i+11], 16, 0x6D9D6122);
      b = hh(b, c, d, a, buffer[i+14], 23, 0xFDE5380C);
      a = hh(a, b, c, d, buffer[i+ 1], 4, 0xA4BEEA44);
      d = hh(d, a, b, c, buffer[i+ 4], 11, 0x4BDECFA9);
      c = hh(c, d, a, b, buffer[i+ 7], 16, 0xF6BB4B60);
      b = hh(b, c, d, a, buffer[i+10], 23, 0xBEBFBC70);
      a = hh(a, b, c, d, buffer[i+13], 4, 0x289B7EC6);
      d = hh(d, a, b, c, buffer[i+ 0], 11, 0xEAA127FA);
      c = hh(c, d, a, b, buffer[i+ 3], 16, 0xD4EF3085);
      b = hh(b, c, d, a, buffer[i+ 6], 23, 0x04881D05);
      a = hh(a, b, c, d, buffer[i+ 9], 4, 0xD9D4D039);
      d = hh(d, a, b, c, buffer[i+12], 11, 0xE6DB99E5);
      c = hh(c, d, a, b, buffer[i+15], 16, 0x1FA27CF8);
      b = hh(b, c, d, a, buffer[i+ 2], 23, 0xC4AC5665);
      a = ii(a, b, c, d, buffer[i+ 0], 6, 0xF4292244);
      d = ii(d, a, b, c, buffer[i+ 7], 10, 0x432AFF97);
      c = ii(c, d, a, b, buffer[i+14], 15, 0xAB9423A7);
      b = ii(b, c, d, a, buffer[i+ 5], 21, 0xFC93A039);
      a = ii(a, b, c, d, buffer[i+12], 6, 0x655B59C3);
      d = ii(d, a, b, c, buffer[i+ 3], 10, 0x8F0CCC92);
      c = ii(c, d, a, b, buffer[i+10], 15, 0xFFEFF47D);
      b = ii(b, c, d, a, buffer[i+ 1], 21, 0x85845DD1);
      a = ii(a, b, c, d, buffer[i+ 8], 6, 0x6FA87E4F);
      d = ii(d, a, b, c, buffer[i+15], 10, 0xFE2CE6E0);
      c = ii(c, d, a, b, buffer[i+ 6], 15, 0xA3014314);
      b = ii(b, c, d, a, buffer[i+13], 21, 0x4E0811A1);
      a = ii(a, b, c, d, buffer[i+ 4], 6, 0xF7537E82);
      d = ii(d, a, b, c, buffer[i+11], 10, 0xBD3AF235);
      c = ii(c, d, a, b, buffer[i+ 2], 15, 0x2AD7D2BB);
      b = ii(b, c, d, a, buffer[i+ 9], 21, 0xEB86D391);
      w[0] = add(a, w[0]);
      w[1] = add(b, w[1]);
      w[2] = add(c, w[2]);
      w[3] = add(d, w[3]);
    }
    var t = [];
    for (var i = 0; i < 4; i++)
      for (var j = 0; j < 4; j++)
        t[i * 4 + j] = (w[i] >> (8 * j)) & 0xFF;
    return t;
  }
  return function (s, ofs, len) {
    var buf = [];
    if (s.array) {
      var a = s.array;
      for (var i = 0; i < len; i+=4) {
        var j = i + ofs;
        buf[i>>2] = a[j] | (a[j+1] << 8) | (a[j+2] << 16) | (a[j+3] << 24);
      }
      for (; i < len; i++) buf[i>>2] |= a[i + ofs] << (8 * (i & 3));
    } else {
      var b = s.getFullBytes();
      for (var i = 0; i < len; i+=4) {
        var j = i + ofs;
        buf[i>>2] =
          b.charCodeAt(j) | (b.charCodeAt(j+1) << 8) |
          (b.charCodeAt(j+2) << 16) | (b.charCodeAt(j+3) << 24);
      }
      for (; i < len; i++) buf[i>>2] |= b.charCodeAt(i + ofs) << (8 * (i & 3));
    }
    return new MlStringFromArray(md5(buf, len));
  }
} ();
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_get_config () {
  return [0, new MlWrappedString("Unix"), 32];
}
function caml_sys_random_seed () {
  return new Date()^0xffffffff*Math.random();
}
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 g3(l_,l$,ma,mb,mc,md,me){return l_.length==6?l_(l$,ma,mb,mc,md,me):caml_call_gen(l_,[l$,ma,mb,mc,md,me]);}function cW(l6,l7,l8,l9){return l6.length==3?l6(l7,l8,l9):caml_call_gen(l6,[l7,l8,l9]);}function dq(l3,l4,l5){return l3.length==2?l3(l4,l5):caml_call_gen(l3,[l4,l5]);}function a_(l1,l2){return l1.length==1?l1(l2):caml_call_gen(l1,[l2]);}var a=[0,new MlString("Failure")],b=[0,new MlString("Invalid_argument")],c=[0,new MlString("Assert_failure")],d=new MlString("File \"%s\", line %d, characters %d-%d: %s");caml_register_global(5,[0,new MlString("Division_by_zero")]);caml_register_global(3,b);caml_register_global(2,a);var aC=[0,new MlString("Out_of_memory")],aB=[0,new MlString("Match_failure")],aA=[0,new MlString("Stack_overflow")],az=[0,new MlString("Undefined_recursive_module")],ay=new MlString("%.12g"),ax=new MlString("."),aw=new MlString("%d"),av=new MlString("true"),au=new MlString("false"),at=new MlString("Pervasives.do_at_exit"),as=new MlString("\\b"),ar=new MlString("\\t"),aq=new MlString("\\n"),ap=new MlString("\\r"),ao=new MlString("\\\\"),an=new MlString("\\'"),am=new MlString("String.blit"),al=new MlString("String.sub"),ak=new MlString("Queue.Empty"),aj=new MlString("Buffer.add: cannot grow buffer"),ai=new MlString(""),ah=new MlString(""),ag=new MlString("\""),af=new MlString("\""),ae=new MlString("'"),ad=new MlString("'"),ac=new MlString("."),ab=new MlString("printf: bad positional specification (0)."),aa=new MlString("%_"),$=[0,new MlString("printf.ml"),144,8],_=new MlString("''"),Z=new MlString("Printf: premature end of format string ``"),Y=new MlString("''"),X=new MlString(" in format string ``"),W=new MlString(", at char number "),V=new MlString("Printf: bad conversion %"),U=new MlString("Sformat.index_of_int: negative argument "),T=new MlString(""),S=new MlString(", %s%s"),R=[1,1],Q=new MlString("%s\n"),P=new MlString("(Program not linked with -g, cannot print stack backtrace)\n"),O=new MlString("Raised at"),N=new MlString("Re-raised at"),M=new MlString("Raised by primitive operation at"),L=new MlString("Called from"),K=new MlString("%s file \"%s\", line %d, characters %d-%d"),J=new MlString("%s unknown location"),I=new MlString("Pattern matching failed"),H=new MlString("Assertion failed"),G=new MlString("Undefined recursive module"),F=new MlString("(%s%s)"),E=new MlString(""),D=new MlString(""),C=new MlString("(%s)"),B=new MlString("%d"),A=new MlString("%S"),z=new MlString("_"),y=new MlString("Random.int"),x=new MlString("x"),w=[0,2061652523,1569539636,364182224,414272206,318284740,2064149575,383018966,1344115143,840823159,1098301843,536292337,1586008329,189156120,1803991420,1217518152,51606627,1213908385,366354223,2077152089,1774305586,2055632494,913149062,526082594,2095166879,784300257,1741495174,1703886275,2023391636,1122288716,1489256317,258888527,511570777,1163725694,283659902,308386020,1316430539,1556012584,1938930020,2101405994,1280938813,193777847,1693450012,671350186,149669678,1330785842,1161400028,558145612,1257192637,1101874969,1975074006,710253903,1584387944,1726119734,409934019,801085050],v=[0,new MlString("src/core/lwt.ml"),648,20],u=[0,new MlString("src/core/lwt.ml"),651,8],t=[0,new MlString("src/core/lwt.ml"),498,8],s=[0,new MlString("src/core/lwt.ml"),487,9],r=new MlString("Lwt.wakeup_result"),q=new MlString("Lwt.Canceled"),p=new MlString("canvas"),o=new MlString("2d"),n=new MlString("Dom_html.Canvas_not_available"),m=new MlString("copy"),l=new MlString("lighter"),k=new MlString("source-over"),j=new MlString("#a8a8f6"),i=new MlString("#d9d9d9"),h=new MlString("#767676");function g(e){throw [0,a,e];}function aD(f){throw [0,b,f];}function aO(aE,aG){var aF=aE.getLen(),aH=aG.getLen(),aI=caml_create_string(aF+aH|0);caml_blit_string(aE,0,aI,0,aF);caml_blit_string(aG,0,aI,aF,aH);return aI;}function aT(aJ){return caml_format_int(aw,aJ);}function aU(aK){var aL=caml_format_float(ay,aK),aM=0,aN=aL.getLen();for(;;){if(aN<=aM)var aP=aO(aL,ax);else{var aQ=aL.safeGet(aM),aR=48<=aQ?58<=aQ?0:1:45===aQ?1:0;if(aR){var aS=aM+1|0,aM=aS;continue;}var aP=aL;}return aP;}}var aV=caml_ml_open_descriptor_out(2);function a3(aX,aW){return caml_ml_output(aX,aW,0,aW.getLen());}function a2(a1){var aY=caml_ml_out_channels_list(0);for(;;){if(aY){var aZ=aY[2];try {}catch(a0){}var aY=aZ;continue;}return 0;}}caml_register_named_value(at,a2);function a7(a5,a4){return caml_ml_output_char(a5,a4);}function bf(a6){return caml_ml_flush(a6);}function be(a8,a9){if(0===a8)return [0];var a$=caml_make_vect(a8,a_(a9,0)),ba=1,bb=a8-1|0;if(!(bb<ba)){var bc=ba;for(;;){a$[bc+1]=a_(a9,bc);var bd=bc+1|0;if(bb!==bc){var bc=bd;continue;}break;}}return a$;}function bs(bg,bi){var bh=caml_create_string(bg);caml_fill_string(bh,0,bg,bi);return bh;}function bt(bl,bj,bk){if(0<=bj&&0<=bk&&!((bl.getLen()-bk|0)<bj)){var bm=caml_create_string(bk);caml_blit_string(bl,bj,bm,0,bk);return bm;}return aD(al);}function bu(bp,bo,br,bq,bn){if(0<=bn&&0<=bo&&!((bp.getLen()-bn|0)<bo)&&0<=bq&&!((br.getLen()-bn|0)<bq))return caml_blit_string(bp,bo,br,bq,bn);return aD(am);}var bv=caml_sys_get_config(0)[2],bw=caml_mul(bv/8|0,(1<<(bv-10|0))-1|0)-1|0,bR=252,bQ=253,bP=[0,ak];function bO(bx){var by=1<=bx?bx:1,bz=bw<by?bw:by,bA=caml_create_string(bz);return [0,bA,0,bz,bA];}function bS(bB){return bt(bB[1],0,bB[2]);}function bI(bC,bE){var bD=[0,bC[3]];for(;;){if(bD[1]<(bC[2]+bE|0)){bD[1]=2*bD[1]|0;continue;}if(bw<bD[1])if((bC[2]+bE|0)<=bw)bD[1]=bw;else g(aj);var bF=caml_create_string(bD[1]);bu(bC[1],0,bF,0,bC[2]);bC[1]=bF;bC[3]=bD[1];return 0;}}function bT(bG,bJ){var bH=bG[2];if(bG[3]<=bH)bI(bG,1);bG[1].safeSet(bH,bJ);bG[2]=bH+1|0;return 0;}function bU(bM,bK){var bL=bK.getLen(),bN=bM[2]+bL|0;if(bM[3]<bN)bI(bM,bL);bu(bK,0,bM[1],bM[2],bL);bM[2]=bN;return 0;}function bY(bV){return 0<=bV?bV:g(aO(U,aT(bV)));}function bZ(bW,bX){return bY(bW+bX|0);}var b0=a_(bZ,1);function b7(b1){return bt(b1,0,b1.getLen());}function b9(b2,b3,b5){var b4=aO(X,aO(b2,Y)),b6=aO(W,aO(aT(b3),b4));return aD(aO(V,aO(bs(1,b5),b6)));}function c2(b8,b$,b_){return b9(b7(b8),b$,b_);}function c3(ca){return aD(aO(Z,aO(b7(ca),_)));}function cy(cb,cj,cl,cn){function ci(cc){if((cb.safeGet(cc)-48|0)<0||9<(cb.safeGet(cc)-48|0))return cc;var cd=cc+1|0;for(;;){var ce=cb.safeGet(cd);if(48<=ce){if(!(58<=ce)){var cg=cd+1|0,cd=cg;continue;}var cf=0;}else if(36===ce){var ch=cd+1|0,cf=1;}else var cf=0;if(!cf)var ch=cc;return ch;}}var ck=ci(cj+1|0),cm=bO((cl-ck|0)+10|0);bT(cm,37);var co=cn,cp=0;for(;;){if(co){var cq=co[2],cr=[0,co[1],cp],co=cq,cp=cr;continue;}var cs=ck,ct=cp;for(;;){if(cs<=cl){var cu=cb.safeGet(cs);if(42===cu){if(ct){var cv=ct[2];bU(cm,aT(ct[1]));var cw=ci(cs+1|0),cs=cw,ct=cv;continue;}throw [0,c,$];}bT(cm,cu);var cx=cs+1|0,cs=cx;continue;}return bS(cm);}}}function er(cE,cC,cB,cA,cz){var cD=cy(cC,cB,cA,cz);if(78!==cE&&110!==cE)return cD;cD.safeSet(cD.getLen()-1|0,117);return cD;}function c4(cL,cV,c0,cF,cZ){var cG=cF.getLen();function cX(cH,cU){var cI=40===cH?41:125;function cT(cJ){var cK=cJ;for(;;){if(cG<=cK)return a_(cL,cF);if(37===cF.safeGet(cK)){var cM=cK+1|0;if(cG<=cM)var cN=a_(cL,cF);else{var cO=cF.safeGet(cM),cP=cO-40|0;if(cP<0||1<cP){var cQ=cP-83|0;if(cQ<0||2<cQ)var cR=1;else switch(cQ){case 1:var cR=1;break;case 2:var cS=1,cR=0;break;default:var cS=0,cR=0;}if(cR){var cN=cT(cM+1|0),cS=2;}}else var cS=0===cP?0:1;switch(cS){case 1:var cN=cO===cI?cM+1|0:cW(cV,cF,cU,cO);break;case 2:break;default:var cN=cT(cX(cO,cM+1|0)+1|0);}}return cN;}var cY=cK+1|0,cK=cY;continue;}}return cT(cU);}return cX(c0,cZ);}function dt(c1){return cW(c4,c3,c2,c1);}function dJ(c5,de,dp){var c6=c5.getLen()-1|0;function dr(c7){var c8=c7;a:for(;;){if(c8<c6){if(37===c5.safeGet(c8)){var c9=0,c_=c8+1|0;for(;;){if(c6<c_)var c$=c3(c5);else{var da=c5.safeGet(c_);if(58<=da){if(95===da){var dc=c_+1|0,db=1,c9=db,c_=dc;continue;}}else if(32<=da)switch(da-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 dd=c_+1|0,c_=dd;continue;case 10:var df=cW(de,c9,c_,105),c_=df;continue;default:var dg=c_+1|0,c_=dg;continue;}var dh=c_;c:for(;;){if(c6<dh)var di=c3(c5);else{var dj=c5.safeGet(dh);if(126<=dj)var dk=0;else switch(dj){case 78:case 88:case 100:case 105:case 111:case 117:case 120:var di=cW(de,c9,dh,105),dk=1;break;case 69:case 70:case 71:case 101:case 102:case 103:var di=cW(de,c9,dh,102),dk=1;break;case 33:case 37:case 44:case 64:var di=dh+1|0,dk=1;break;case 83:case 91:case 115:var di=cW(de,c9,dh,115),dk=1;break;case 97:case 114:case 116:var di=cW(de,c9,dh,dj),dk=1;break;case 76:case 108:case 110:var dl=dh+1|0;if(c6<dl){var di=cW(de,c9,dh,105),dk=1;}else{var dm=c5.safeGet(dl)-88|0;if(dm<0||32<dm)var dn=1;else switch(dm){case 0:case 12:case 17:case 23:case 29:case 32:var di=dq(dp,cW(de,c9,dh,dj),105),dk=1,dn=0;break;default:var dn=1;}if(dn){var di=cW(de,c9,dh,105),dk=1;}}break;case 67:case 99:var di=cW(de,c9,dh,99),dk=1;break;case 66:case 98:var di=cW(de,c9,dh,66),dk=1;break;case 41:case 125:var di=cW(de,c9,dh,dj),dk=1;break;case 40:var di=dr(cW(de,c9,dh,dj)),dk=1;break;case 123:var ds=cW(de,c9,dh,dj),du=cW(dt,dj,c5,ds),dv=ds;for(;;){if(dv<(du-2|0)){var dw=dq(dp,dv,c5.safeGet(dv)),dv=dw;continue;}var dx=du-1|0,dh=dx;continue c;}default:var dk=0;}if(!dk)var di=c2(c5,dh,dj);}var c$=di;break;}}var c8=c$;continue a;}}var dy=c8+1|0,c8=dy;continue;}return c8;}}dr(0);return 0;}function fG(dK){var dz=[0,0,0,0];function dI(dE,dF,dA){var dB=41!==dA?1:0,dC=dB?125!==dA?1:0:dB;if(dC){var dD=97===dA?2:1;if(114===dA)dz[3]=dz[3]+1|0;if(dE)dz[2]=dz[2]+dD|0;else dz[1]=dz[1]+dD|0;}return dF+1|0;}dJ(dK,dI,function(dG,dH){return dG+1|0;});return dz[1];}function en(dL,dO,dM){var dN=dL.safeGet(dM);if((dN-48|0)<0||9<(dN-48|0))return dq(dO,0,dM);var dP=dN-48|0,dQ=dM+1|0;for(;;){var dR=dL.safeGet(dQ);if(48<=dR){if(!(58<=dR)){var dU=dQ+1|0,dT=(10*dP|0)+(dR-48|0)|0,dP=dT,dQ=dU;continue;}var dS=0;}else if(36===dR)if(0===dP){var dV=g(ab),dS=1;}else{var dV=dq(dO,[0,bY(dP-1|0)],dQ+1|0),dS=1;}else var dS=0;if(!dS)var dV=dq(dO,0,dM);return dV;}}function ei(dW,dX){return dW?dX:a_(b0,dX);}function d9(dY,dZ){return dY?dY[1]:dZ;}function g2(f0,d1,ga,f1,fL,gg,d0){var d2=a_(d1,d0);function fK(d7,gf,d3,ea){var d6=d3.getLen();function fH(f9,d4){var d5=d4;for(;;){if(d6<=d5)return a_(d7,d2);var d8=d3.safeGet(d5);if(37===d8){var ee=function(d$,d_){return caml_array_get(ea,d9(d$,d_));},ek=function(em,ef,eh,eb){var ec=eb;for(;;){var ed=d3.safeGet(ec)-32|0;if(!(ed<0||25<ed))switch(ed){case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 12:case 15:break;case 10:return en(d3,function(eg,el){var ej=[0,ee(eg,ef),eh];return ek(em,ei(eg,ef),ej,el);},ec+1|0);default:var eo=ec+1|0,ec=eo;continue;}var ep=d3.safeGet(ec);if(124<=ep)var eq=0;else switch(ep){case 78:case 88:case 100:case 105:case 111:case 117:case 120:var es=ee(em,ef),et=caml_format_int(er(ep,d3,d5,ec,eh),es),ev=eu(ei(em,ef),et,ec+1|0),eq=1;break;case 69:case 71:case 101:case 102:case 103:var ew=ee(em,ef),ex=caml_format_float(cy(d3,d5,ec,eh),ew),ev=eu(ei(em,ef),ex,ec+1|0),eq=1;break;case 76:case 108:case 110:var ey=d3.safeGet(ec+1|0)-88|0;if(ey<0||32<ey)var ez=1;else switch(ey){case 0:case 12:case 17:case 23:case 29:case 32:var eA=ec+1|0,eB=ep-108|0;if(eB<0||2<eB)var eC=0;else{switch(eB){case 1:var eC=0,eD=0;break;case 2:var eE=ee(em,ef),eF=caml_format_int(cy(d3,d5,eA,eh),eE),eD=1;break;default:var eG=ee(em,ef),eF=caml_format_int(cy(d3,d5,eA,eh),eG),eD=1;}if(eD){var eH=eF,eC=1;}}if(!eC){var eI=ee(em,ef),eH=caml_int64_format(cy(d3,d5,eA,eh),eI);}var ev=eu(ei(em,ef),eH,eA+1|0),eq=1,ez=0;break;default:var ez=1;}if(ez){var eJ=ee(em,ef),eK=caml_format_int(er(110,d3,d5,ec,eh),eJ),ev=eu(ei(em,ef),eK,ec+1|0),eq=1;}break;case 37:case 64:var ev=eu(ef,bs(1,ep),ec+1|0),eq=1;break;case 83:case 115:var eL=ee(em,ef);if(115===ep)var eM=eL;else{var eN=[0,0],eO=0,eP=eL.getLen()-1|0;if(!(eP<eO)){var eQ=eO;for(;;){var eR=eL.safeGet(eQ),eS=14<=eR?34===eR?1:92===eR?1:0:11<=eR?13<=eR?1:0:8<=eR?1:0,eT=eS?2:caml_is_printable(eR)?1:4;eN[1]=eN[1]+eT|0;var eU=eQ+1|0;if(eP!==eQ){var eQ=eU;continue;}break;}}if(eN[1]===eL.getLen())var eV=eL;else{var eW=caml_create_string(eN[1]);eN[1]=0;var eX=0,eY=eL.getLen()-1|0;if(!(eY<eX)){var eZ=eX;for(;;){var e0=eL.safeGet(eZ),e1=e0-34|0;if(e1<0||58<e1)if(-20<=e1)var e2=1;else{switch(e1+34|0){case 8:eW.safeSet(eN[1],92);eN[1]+=1;eW.safeSet(eN[1],98);var e3=1;break;case 9:eW.safeSet(eN[1],92);eN[1]+=1;eW.safeSet(eN[1],116);var e3=1;break;case 10:eW.safeSet(eN[1],92);eN[1]+=1;eW.safeSet(eN[1],110);var e3=1;break;case 13:eW.safeSet(eN[1],92);eN[1]+=1;eW.safeSet(eN[1],114);var e3=1;break;default:var e2=1,e3=0;}if(e3)var e2=0;}else var e2=(e1-1|0)<0||56<(e1-1|0)?(eW.safeSet(eN[1],92),eN[1]+=1,eW.safeSet(eN[1],e0),0):1;if(e2)if(caml_is_printable(e0))eW.safeSet(eN[1],e0);else{eW.safeSet(eN[1],92);eN[1]+=1;eW.safeSet(eN[1],48+(e0/100|0)|0);eN[1]+=1;eW.safeSet(eN[1],48+((e0/10|0)%10|0)|0);eN[1]+=1;eW.safeSet(eN[1],48+(e0%10|0)|0);}eN[1]+=1;var e4=eZ+1|0;if(eY!==eZ){var eZ=e4;continue;}break;}}var eV=eW;}var eM=aO(af,aO(eV,ag));}if(ec===(d5+1|0))var e5=eM;else{var e6=cy(d3,d5,ec,eh);try {var e7=0,e8=1;for(;;){if(e6.getLen()<=e8)var e9=[0,0,e7];else{var e_=e6.safeGet(e8);if(49<=e_)if(58<=e_)var e$=0;else{var e9=[0,caml_int_of_string(bt(e6,e8,(e6.getLen()-e8|0)-1|0)),e7],e$=1;}else{if(45===e_){var fb=e8+1|0,fa=1,e7=fa,e8=fb;continue;}var e$=0;}if(!e$){var fc=e8+1|0,e8=fc;continue;}}var fd=e9;break;}}catch(fe){if(fe[1]!==a)throw fe;var fd=b9(e6,0,115);}var ff=fd[1],fg=eM.getLen(),fh=0,fl=fd[2],fk=32;if(ff===fg&&0===fh){var fi=eM,fj=1;}else var fj=0;if(!fj)if(ff<=fg)var fi=bt(eM,fh,fg);else{var fm=bs(ff,fk);if(fl)bu(eM,fh,fm,0,fg);else bu(eM,fh,fm,ff-fg|0,fg);var fi=fm;}var e5=fi;}var ev=eu(ei(em,ef),e5,ec+1|0),eq=1;break;case 67:case 99:var fn=ee(em,ef);if(99===ep)var fo=bs(1,fn);else{if(39===fn)var fp=an;else if(92===fn)var fp=ao;else{if(14<=fn)var fq=0;else switch(fn){case 8:var fp=as,fq=1;break;case 9:var fp=ar,fq=1;break;case 10:var fp=aq,fq=1;break;case 13:var fp=ap,fq=1;break;default:var fq=0;}if(!fq)if(caml_is_printable(fn)){var fr=caml_create_string(1);fr.safeSet(0,fn);var fp=fr;}else{var fs=caml_create_string(4);fs.safeSet(0,92);fs.safeSet(1,48+(fn/100|0)|0);fs.safeSet(2,48+((fn/10|0)%10|0)|0);fs.safeSet(3,48+(fn%10|0)|0);var fp=fs;}}var fo=aO(ad,aO(fp,ae));}var ev=eu(ei(em,ef),fo,ec+1|0),eq=1;break;case 66:case 98:var fu=ec+1|0,ft=ee(em,ef)?av:au,ev=eu(ei(em,ef),ft,fu),eq=1;break;case 40:case 123:var fv=ee(em,ef),fw=cW(dt,ep,d3,ec+1|0);if(123===ep){var fx=bO(fv.getLen()),fB=function(fz,fy){bT(fx,fy);return fz+1|0;};dJ(fv,function(fA,fD,fC){if(fA)bU(fx,aa);else bT(fx,37);return fB(fD,fC);},fB);var fE=bS(fx),ev=eu(ei(em,ef),fE,fw),eq=1;}else{var fF=ei(em,ef),fI=bZ(fG(fv),fF),ev=fK(function(fJ){return fH(fI,fw);},fF,fv,ea),eq=1;}break;case 33:a_(fL,d2);var ev=fH(ef,ec+1|0),eq=1;break;case 41:var ev=eu(ef,ai,ec+1|0),eq=1;break;case 44:var ev=eu(ef,ah,ec+1|0),eq=1;break;case 70:var fM=ee(em,ef);if(0===eh)var fN=aU(fM);else{var fO=cy(d3,d5,ec,eh);if(70===ep)fO.safeSet(fO.getLen()-1|0,103);var fP=caml_format_float(fO,fM);if(3<=caml_classify_float(fM))var fQ=fP;else{var fR=0,fS=fP.getLen();for(;;){if(fS<=fR)var fT=aO(fP,ac);else{var fU=fP.safeGet(fR)-46|0,fV=fU<0||23<fU?55===fU?1:0:(fU-1|0)<0||21<(fU-1|0)?1:0;if(!fV){var fW=fR+1|0,fR=fW;continue;}var fT=fP;}var fQ=fT;break;}}var fN=fQ;}var ev=eu(ei(em,ef),fN,ec+1|0),eq=1;break;case 91:var ev=c2(d3,ec,ep),eq=1;break;case 97:var fX=ee(em,ef),fY=a_(b0,d9(em,ef)),fZ=ee(0,fY),f3=ec+1|0,f2=ei(em,fY);if(f0)dq(f1,d2,dq(fX,0,fZ));else dq(fX,d2,fZ);var ev=fH(f2,f3),eq=1;break;case 114:var ev=c2(d3,ec,ep),eq=1;break;case 116:var f4=ee(em,ef),f6=ec+1|0,f5=ei(em,ef);if(f0)dq(f1,d2,a_(f4,0));else a_(f4,d2);var ev=fH(f5,f6),eq=1;break;default:var eq=0;}if(!eq)var ev=c2(d3,ec,ep);return ev;}},f$=d5+1|0,f8=0;return en(d3,function(f_,f7){return ek(f_,f9,f8,f7);},f$);}dq(ga,d2,d8);var gb=d5+1|0,d5=gb;continue;}}function eu(ge,gc,gd){dq(f1,d2,gc);return fH(ge,gd);}return fH(gf,0);}var gh=dq(fK,gg,bY(0)),gi=fG(d0);if(gi<0||6<gi){var gv=function(gj,gp){if(gi<=gj){var gk=caml_make_vect(gi,0),gn=function(gl,gm){return caml_array_set(gk,(gi-gl|0)-1|0,gm);},go=0,gq=gp;for(;;){if(gq){var gr=gq[2],gs=gq[1];if(gr){gn(go,gs);var gt=go+1|0,go=gt,gq=gr;continue;}gn(go,gs);}return dq(gh,d0,gk);}}return function(gu){return gv(gj+1|0,[0,gu,gp]);};},gw=gv(0,0);}else switch(gi){case 1:var gw=function(gy){var gx=caml_make_vect(1,0);caml_array_set(gx,0,gy);return dq(gh,d0,gx);};break;case 2:var gw=function(gA,gB){var gz=caml_make_vect(2,0);caml_array_set(gz,0,gA);caml_array_set(gz,1,gB);return dq(gh,d0,gz);};break;case 3:var gw=function(gD,gE,gF){var gC=caml_make_vect(3,0);caml_array_set(gC,0,gD);caml_array_set(gC,1,gE);caml_array_set(gC,2,gF);return dq(gh,d0,gC);};break;case 4:var gw=function(gH,gI,gJ,gK){var gG=caml_make_vect(4,0);caml_array_set(gG,0,gH);caml_array_set(gG,1,gI);caml_array_set(gG,2,gJ);caml_array_set(gG,3,gK);return dq(gh,d0,gG);};break;case 5:var gw=function(gM,gN,gO,gP,gQ){var gL=caml_make_vect(5,0);caml_array_set(gL,0,gM);caml_array_set(gL,1,gN);caml_array_set(gL,2,gO);caml_array_set(gL,3,gP);caml_array_set(gL,4,gQ);return dq(gh,d0,gL);};break;case 6:var gw=function(gS,gT,gU,gV,gW,gX){var gR=caml_make_vect(6,0);caml_array_set(gR,0,gS);caml_array_set(gR,1,gT);caml_array_set(gR,2,gU);caml_array_set(gR,3,gV);caml_array_set(gR,4,gW);caml_array_set(gR,5,gX);return dq(gh,d0,gR);};break;default:var gw=dq(gh,d0,[0]);}return gw;}function he(gZ){function g1(gY){return 0;}return g3(g2,0,function(g0){return gZ;},a7,a3,bf,g1);}function ha(g4){return bO(2*g4.getLen()|0);}function g9(g7,g5){var g6=bS(g5);g5[2]=0;return a_(g7,g6);}function hd(g8){var g$=a_(g9,g8);return g3(g2,1,ha,bT,bU,function(g_){return 0;},g$);}function hf(hc){return dq(hd,function(hb){return hb;},hc);}var hg=[0,0];function hn(hh,hi){var hj=hh[hi+1];return caml_obj_is_block(hj)?caml_obj_tag(hj)===bR?dq(hf,A,hj):caml_obj_tag(hj)===bQ?aU(hj):z:dq(hf,B,hj);}function hm(hk,hl){if(hk.length-1<=hl)return T;var ho=hm(hk,hl+1|0);return cW(hf,S,hn(hk,hl),ho);}32===bv;var hp=[0,w.slice(),0];function hw(hq){if(1073741823<hq||!(0<hq))var hr=0;else for(;;){hp[2]=(hp[2]+1|0)%55|0;var hs=caml_array_get(hp[1],hp[2]),ht=(caml_array_get(hp[1],(hp[2]+24|0)%55|0)+(hs^hs>>>25&31)|0)&1073741823;caml_array_set(hp[1],hp[2],ht);var hu=caml_mod(ht,hq);if(((1073741823-hq|0)+1|0)<(ht-hu|0))continue;var hv=hu,hr=1;break;}if(!hr)var hv=aD(y);return hv;}function hz(hy){var hx=[];caml_update_dummy(hx,[0,hx,hx]);return hx;}var hA=[0,q],hB=[0,0],iD=42;function hF(hC){var hD=hC[1];{if(3===hD[0]){var hE=hD[1],hG=hF(hE);if(hG!==hE)hC[1]=[3,hG];return hG;}return hC;}}function iE(hH){return hF(hH);}function ix(hJ,hI){try {var hK=a_(hJ,hI);}catch(hM){var hL=hg[1];for(;;){if(hL){var hQ=hL[2],hN=hL[1];try {var hO=a_(hN,hM),hP=hO;}catch(hR){var hP=0;}if(!hP){var hL=hQ;continue;}}else if(hM[1]!==aC&&hM[1]!==aA)if(hM[1]===aB){var hS=hM[2],hT=hS[3];g3(hf,d,hS[1],hS[2],hT,hT+5|0,I);}else if(hM[1]===c){var hU=hM[2],hV=hU[3];g3(hf,d,hU[1],hU[2],hV,hV+6|0,H);}else if(hM[1]===az){var hW=hM[2],hX=hW[3];g3(hf,d,hW[1],hW[2],hX,hX+6|0,G);}else{var hY=hM.length-1,h1=hM[0+1][0+1];if(hY<0||2<hY){var hZ=hm(hM,2),h0=cW(hf,F,hn(hM,1),hZ);}else switch(hY){case 1:var h0=D;break;case 2:var h0=dq(hf,C,hn(hM,1));break;default:var h0=E;}aO(h1,h0);}caml_ml_output_char(aV,10);var h2=caml_get_exception_backtrace(0);if(h2){var h3=h2[1],h4=0,h5=h3.length-1-1|0;if(!(h5<h4)){var h6=h4;for(;;){if(caml_notequal(caml_array_get(h3,h6),R)){var h7=caml_array_get(h3,h6),h8=0===h7[0]?h7[1]:h7[1],h9=h8?0===h6?O:N:0===h6?M:L,h_=0===h7[0]?g3(hf,K,h9,h7[2],h7[3],h7[4],h7[5]):dq(hf,J,h9);cW(he,aV,Q,h_);}var h$=h6+1|0;if(h5!==h6){var h6=h$;continue;}break;}}}else dq(he,aV,P);a2(0);return caml_sys_exit(2);}}return hK;}function il(ie,ia,ic){var ib=ia,id=ic;for(;;)if(typeof ib==="number")return ig(ie,id);else switch(ib[0]){case 1:a_(ib[1],ie);return ig(ie,id);case 2:var ih=ib[1],ii=[0,ib[2],id],ib=ih,id=ii;continue;default:var ij=ib[1][1];return ij?(a_(ij[1],ie),ig(ie,id)):ig(ie,id);}}function ig(im,ik){return ik?il(im,ik[1],ik[2]):0;}function iz(io,iq){var ip=io,ir=iq;for(;;)if(typeof ip==="number")return it(ir);else switch(ip[0]){case 1:var is=ip[1];if(is[4]){is[4]=0;is[1][2]=is[2];is[2][1]=is[1];}return it(ir);case 2:var iu=ip[1],iv=[0,ip[2],ir],ip=iu,ir=iv;continue;default:var iw=ip[2];hB[1]=ip[1];ix(iw,0);return it(ir);}}function it(iy){return iy?iz(iy[1],iy[2]):0;}function iF(iB,iA){var iC=1===iA[0]?iA[1][1]===hA?(iz(iB[4],0),1):0:0;iC;return il(iA,iB[2],0);}var iG=[0,0],iH=[0,0,0];function i4(iK,iI){var iJ=[0,iI],iL=hF(iK),iM=iL[1];switch(iM[0]){case 1:if(iM[1][1]===hA){var iN=0,iO=1;}else var iO=0;break;case 2:var iP=iM[1];iL[1]=iJ;var iQ=hB[1],iR=iG[1]?1:(iG[1]=1,0);iF(iP,iJ);if(iR){hB[1]=iQ;var iS=0;}else for(;;){if(0!==iH[1]){if(0===iH[1])throw [0,bP];iH[1]=iH[1]-1|0;var iT=iH[2],iU=iT[2];if(iU===iT)iH[2]=0;else iT[2]=iU[2];var iV=iU[1];iF(iV[1],iV[2]);continue;}iG[1]=0;hB[1]=iQ;var iS=0;break;}var iN=iS,iO=1;break;default:var iO=0;}if(!iO)var iN=aD(r);return iN;}function i2(iW,iX){return typeof iW==="number"?iX:typeof iX==="number"?iW:[2,iW,iX];}function iZ(iY){if(typeof iY!=="number")switch(iY[0]){case 2:var i0=iY[1],i1=iZ(iY[2]);return i2(iZ(i0),i1);case 1:break;default:if(!iY[1][1])return 0;}return iY;}var i6=[0,function(i3){return 0;}],i5=hz(0),i9=[0,0];function jh(jb){var i7=1-(i5[2]===i5?1:0);if(i7){var i8=hz(0);i8[1][2]=i5[2];i5[2][1]=i8[1];i8[1]=i5[1];i5[1][2]=i8;i5[1]=i5;i5[2]=i5;i9[1]=0;var i_=i8[2];for(;;){var i$=i_!==i8?1:0;if(i$){if(i_[4])i4(i_[3],0);var ja=i_[2],i_=ja;continue;}return i$;}}return i7;}var jg=null,jf=undefined,je=false,jd=Array;function ji(jc){return jc instanceof jd?0:[0,new MlWrappedString(jc.toString())];}hg[1]=[0,ji,hg[1]];var jj=o.toString(),jk=window,jl=[0,n];window.HTMLElement===jf;i6[1]=function(jm){return 1===jm?(jk.setTimeout(caml_js_wrap_callback(jh),0),0):0;};var jn=12,jo=20,jp=Math.floor(jo*Math.sqrt(3)/2+0.5),jq=caml_sys_random_seed(0),jr=0===jq.length-1?[0,0]:jq,js=jr.length-1,jt=0,ju=54;if(!(ju<jt)){var jv=jt;for(;;){caml_array_set(hp[1],jv,jv);var jw=jv+1|0;if(ju!==jv){var jv=jw;continue;}break;}}var jx=[0,x],jy=0,jz=55,jA=caml_greaterequal(jz,js)?jz:js,jB=54+jA|0;if(!(jB<jy)){var jC=jy;for(;;){var jD=jC%55|0,jE=jx[1],jF=aO(jE,aT(caml_array_get(jr,caml_mod(jC,js))));jx[1]=caml_md5_string(jF,0,jF.getLen());var jG=jx[1];caml_array_set(hp[1],jD,(caml_array_get(hp[1],jD)^(((jG.safeGet(0)+(jG.safeGet(1)<<8)|0)+(jG.safeGet(2)<<16)|0)+(jG.safeGet(3)<<24)|0))&1073741823);var jH=jC+1|0;if(jB!==jC){var jC=jH;continue;}break;}}hp[2]=0;function jT(jS,jI,jL,jN){var jJ=jI<0?1:0;if(jJ)var jK=jJ;else{var jM=jL<0?1:0;if(jM)var jK=jM;else{var jO=jN<0?1:0;if(jO)var jK=jO;else{var jP=jI<jn?1:0;if(jP){var jQ=jL<jn?1:0;if(jQ){var jR=jN<jn?1:0,jK=jR?caml_array_get(caml_array_get(caml_array_get(jS,jI),jL),jN):jR;}else var jK=jQ;}else var jK=jP;}}}return jK;}var j0=j.toString(),j6=i.toString(),j3=h.toString();function kf(jX,jU,jW,jV,jY){jX.save();jX.translate((((jU-jV|0)+jn|0)-1|0)*jp,((jn-1|0)-jW|0)*jo+(jU+jV|0)*jo/2);a_(jY,jX);return jX.restore();}function kK(jZ){jZ.fillStyle=j0;jZ.beginPath();jZ.moveTo(jp,0);jZ.lineTo(2*jp,jo/2);jZ.lineTo(jp,jo);jZ.lineTo(0,jo/2);return jZ.fill();}function kP(j1){j1.beginPath();j1.moveTo(0,jo/2);j1.lineTo(jp,0);j1.lineTo(2*jp,jo/2);return j1.stroke();}function kJ(j2){j2.fillStyle=j3;j2.beginPath();j2.moveTo(jp,jo);j2.lineTo(jp,2*jo);j2.lineTo(2*jp,1.5*jo);j2.lineTo(2*jp,jo/2);return j2.fill();}function kO(j4){j4.beginPath();j4.moveTo(jp,2*jo);j4.lineTo(jp,jo);j4.lineTo(2*jp,jo/2);return j4.stroke();}function kI(j5){j5.fillStyle=j6;j5.beginPath();j5.moveTo(jp,jo);j5.lineTo(jp,2*jo);j5.lineTo(0,1.5*jo);j5.lineTo(0,jo/2);return j5.fill();}function kN(j7){j7.beginPath();j7.moveTo(jp,jo);j7.lineTo(0,jo/2);j7.lineTo(0,1.5*jo);return j7.stroke();}function kL(kh,ke,j8){var j9=0,j_=jn-1|0,kl=j8[3],kk=j8[2],kg=j8[1];if(!(j_<j9)){var j$=j9;for(;;){var ka=[0,jn-1|0],kb=0,kc=jn-1|0;if(!(kc<kb)){var kd=kb;b:for(;;){for(;;){if(0<=ka[1]&&!caml_array_get(caml_array_get(caml_array_get(ke,j$),ka[1]),kd)){ka[1]+=-1;continue;}kf(kh,j$,ka[1],kd,kg);var ki=kd+1|0;if(kc!==kd){var kd=ki;continue b;}break;}break;}}var kj=j$+1|0;if(j_!==j$){var j$=kj;continue;}break;}}var km=0,kn=jn-1|0;if(!(kn<km)){var ko=km;for(;;){var kp=[0,jn-1|0],kq=0,kr=jn-1|0;if(!(kr<kq)){var ks=kq;b:for(;;){for(;;){if(0<=kp[1]&&!caml_array_get(caml_array_get(caml_array_get(ke,kp[1]),ko),ks)){kp[1]+=-1;continue;}kf(kh,kp[1],ko,ks,kk);var kt=ks+1|0;if(kr!==ks){var ks=kt;continue b;}break;}break;}}var ku=ko+1|0;if(kn!==ko){var ko=ku;continue;}break;}}var kv=0,kw=jn-1|0;if(!(kw<kv)){var kx=kv;for(;;){var ky=[0,jn-1|0],kz=0,kA=jn-1|0;if(!(kA<kz)){var kB=kz;b:for(;;){for(;;){if(0<=ky[1]&&!caml_array_get(caml_array_get(caml_array_get(ke,kx),kB),ky[1])){ky[1]+=-1;continue;}kf(kh,kx,kB,ky[1],kl);var kC=kB+1|0;if(kA!==kB){var kB=kC;continue b;}break;}break;}}var kD=kx+1|0;if(kw!==kx){var kx=kD;continue;}break;}}return 0;}function lN(kF){var kE=jk.document.createElement(p.toString());if(1-(kE.getContext==jg?1:0)){kE.width=caml_mul(jn*2|0,jp|0)+1|0;kE.height=caml_mul(jn*2|0,jo|0)+1|0;return kE;}throw [0,jl];}function k4(kQ,kG,kM){var kH=kG.getContext(jj);kH.setTransform(1,0,0,1,0,0);kH.clearRect(0,0,kG.width,kG.height);kH.setTransform(1,0,0,1,0.5,0.5);kH.globalCompositeOperation=l.toString();kL(kH,kM,[0,kK,kJ,kI]);kH.globalCompositeOperation=k.toString();kL(kH,kM,[0,kP,kO,kN]);kH.beginPath();kH.moveTo(0,jn*1.5*jo);kH.lineTo(jn*jp,jn*2*jo);kH.lineTo(jn*2*jp,jn*1.5*jo);kH.lineTo(jn*2*jp,jn*0.5*jo);kH.stroke();return kQ.drawImage(kG,0,0);}function k7(k6,k5,kY){function k9(k8){var kR=[0,0],kS=0,kT=99;if(!(kT<kS)){var kU=kS;for(;;){var kV=hw(jn),kW=hw(jn),kX=hw(jn);if(caml_array_get(caml_array_get(caml_array_get(kY,kV),kW),kX)){if(jT(kY,kV+1|0,kW,kX)||jT(kY,kV,kW+1|0,kX)||jT(kY,kV,kW,kX+1|0))var kZ=0;else{caml_array_set(caml_array_get(caml_array_get(kY,kV),kW),kX,0);var k0=1,kZ=1;}if(!kZ)var k0=0;}else{if(jT(kY,kV-1|0,kW,kX)&&jT(kY,kV,kW-1|0,kX)&&jT(kY,kV,kW,kX-1|0)){caml_array_set(caml_array_get(caml_array_get(kY,kV),kW),kX,1);var k0=1,k1=1;}else var k1=0;if(!k1)var k0=0;}var k2=k0?k0:kR[1];kR[1]=k2;var k3=kU+1|0;if(kT!==kU){var kU=k3;continue;}break;}}if(kR[1])k4(k6,k5,kY);return k7(k6,k5,kY);}var k_=[0,[2,[0,1,0,0,0]]],la=0.2*1000,lb=jk.setTimeout(caml_js_wrap_callback(function(k$){return i4(k_,0);}),la);function ld(lc){return jk.clearTimeout(lb);}var le=iE(k_)[1];switch(le[0]){case 1:var lf=le[1][1]===hA?(ix(ld,0),1):0;break;case 2:var lg=le[1],lh=[0,hB[1],ld],li=lg[4],lj=typeof li==="number"?lh:[2,lh,li];lg[4]=lj;var lf=1;break;default:var lf=0;}lf;var lk=iE(k_),ll=lk[1];switch(ll[0]){case 1:var lm=[0,ll];break;case 2:var ln=ll[1],lo=[0,[2,[0,[0,[0,lk]],0,0,0]]],lq=hB[1],lK=[1,function(lp){switch(lp[0]){case 0:var lr=lp[1];hB[1]=lq;try {var ls=k9(lr),lt=ls;}catch(lu){var lt=[0,[1,lu]];}var lv=iE(lo),lw=iE(lt),lx=lv[1];{if(2===lx[0]){var ly=lx[1];if(lv===lw)var lz=0;else{var lA=lw[1];if(2===lA[0]){var lB=lA[1];lw[1]=[3,lv];ly[1]=lB[1];var lC=i2(ly[2],lB[2]),lD=ly[3]+lB[3]|0;if(iD<lD){ly[3]=0;ly[2]=iZ(lC);}else{ly[3]=lD;ly[2]=lC;}var lE=lB[4],lF=ly[4],lG=typeof lF==="number"?lE:typeof lE==="number"?lF:[2,lF,lE];ly[4]=lG;var lz=0;}else{lv[1]=lA;var lz=iF(ly,lA);}}return lz;}throw [0,c,s];}case 1:var lH=iE(lo),lI=lH[1];{if(2===lI[0]){var lJ=lI[1];lH[1]=lp;return iF(lJ,lp);}throw [0,c,t];}default:throw [0,c,v];}}],lL=ln[2],lM=typeof lL==="number"?lK:[2,lK,lL];ln[2]=lM;var lm=lo;break;case 3:throw [0,c,u];default:var lm=k9(ll[1]);}return lm;}function lW(lV){var lO=lN(0),lP=lN(0);jk.document.body.appendChild(lO);var lQ=lO.getContext(jj);lQ.globalCompositeOperation=m.toString();var lR=1,lU=be(jn,function(lT){return be(jn,function(lS){return caml_make_vect(jn,lR);});});k4(lQ,lP,lU);k7(lQ,lP,lU);return je;}jk.onload=caml_js_wrap_callback(function(lX){if(lX){var lY=lW(lX);if(!(lY|0))lX.preventDefault();return lY;}var lZ=event,l0=lW(lZ);lZ.returnValue=l0;return l0;});a2(0);return;}());