Sophie

Sophie

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

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_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)); }
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_on_ie () {
  var ua = window.navigator?window.navigator.userAgent:"";
  return ua.indexOf("MSIE") != -1 && ua.indexOf("Opera") != 0;
}
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_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_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_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 _hH_(_q2_,_q3_,_q4_,_q5_,_q6_,_q7_,_q8_)
     {return _q2_.length==6
              ?_q2_(_q3_,_q4_,_q5_,_q6_,_q7_,_q8_)
              :caml_call_gen(_q2_,[_q3_,_q4_,_q5_,_q6_,_q7_,_q8_]);}
    function _dB_(_qY_,_qZ_,_q0_,_q1_)
     {return _qY_.length==3
              ?_qY_(_qZ_,_q0_,_q1_)
              :caml_call_gen(_qY_,[_qZ_,_q0_,_q1_]);}
    function _d6_(_qV_,_qW_,_qX_)
     {return _qV_.length==2?_qV_(_qW_,_qX_):caml_call_gen(_qV_,[_qW_,_qX_]);}
    function _bP_(_qT_,_qU_)
     {return _qT_.length==1?_qT_(_qU_):caml_call_gen(_qT_,[_qU_]);}
    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(5,[0,new MlString("Division_by_zero")]);
    caml_register_global(3,_b_);
    caml_register_global(2,_a_);
    var
     _bg_=[0,new MlString("Out_of_memory")],
     _bf_=[0,new MlString("Match_failure")],
     _be_=[0,new MlString("Stack_overflow")],
     _bd_=[0,new MlString("Undefined_recursive_module")],
     _bc_=new MlString("%.12g"),
     _bb_=new MlString("."),
     _ba_=new MlString("%d"),
     _a$_=new MlString("true"),
     _a__=new MlString("false"),
     _a9_=new MlString("Pervasives.do_at_exit"),
     _a8_=new MlString("\\b"),
     _a7_=new MlString("\\t"),
     _a6_=new MlString("\\n"),
     _a5_=new MlString("\\r"),
     _a4_=new MlString("\\\\"),
     _a3_=new MlString("\\'"),
     _a2_=new MlString("String.contains_from"),
     _a1_=new MlString("String.blit"),
     _a0_=new MlString("String.sub"),
     _aZ_=new MlString("Queue.Empty"),
     _aY_=new MlString("Buffer.add: cannot grow buffer"),
     _aX_=new MlString(""),
     _aW_=new MlString(""),
     _aV_=new MlString("\""),
     _aU_=new MlString("\""),
     _aT_=new MlString("'"),
     _aS_=new MlString("'"),
     _aR_=new MlString("."),
     _aQ_=new MlString("printf: bad positional specification (0)."),
     _aP_=new MlString("%_"),
     _aO_=[0,new MlString("printf.ml"),144,8],
     _aN_=new MlString("''"),
     _aM_=new MlString("Printf: premature end of format string ``"),
     _aL_=new MlString("''"),
     _aK_=new MlString(" in format string ``"),
     _aJ_=new MlString(", at char number "),
     _aI_=new MlString("Printf: bad conversion %"),
     _aH_=new MlString("Sformat.index_of_int: negative argument "),
     _aG_=new MlString(""),
     _aF_=new MlString(", %s%s"),
     _aE_=[1,1],
     _aD_=new MlString("%s\n"),
     _aC_=
      new
       MlString
       ("(Program not linked with -g, cannot print stack backtrace)\n"),
     _aB_=new MlString("Raised at"),
     _aA_=new MlString("Re-raised at"),
     _az_=new MlString("Raised by primitive operation at"),
     _ay_=new MlString("Called from"),
     _ax_=new MlString("%s file \"%s\", line %d, characters %d-%d"),
     _aw_=new MlString("%s unknown location"),
     _av_=new MlString("Pattern matching failed"),
     _au_=new MlString("Assertion failed"),
     _at_=new MlString("Undefined recursive module"),
     _as_=new MlString("(%s%s)"),
     _ar_=new MlString(""),
     _aq_=new MlString(""),
     _ap_=new MlString("(%s)"),
     _ao_=new MlString("%d"),
     _an_=new MlString("%S"),
     _am_=new MlString("_"),
     _al_=new MlString("OCAMLRUNPARAM"),
     _ak_=new MlString("CAMLRUNPARAM"),
     _aj_=new MlString(""),
     _ai_=[0,new MlString("src/core/lwt.ml"),814,20],
     _ah_=[0,new MlString("src/core/lwt.ml"),816,8],
     _ag_=[0,new MlString("src/core/lwt.ml"),648,20],
     _af_=[0,new MlString("src/core/lwt.ml"),651,8],
     _ae_=[0,new MlString("src/core/lwt.ml"),498,8],
     _ad_=[0,new MlString("src/core/lwt.ml"),487,9],
     _ac_=new MlString("Lwt.wakeup_result"),
     _ab_=new MlString("Lwt.Canceled"),
     _aa_=new MlString("on"),
     _$_=new MlString("canvas"),
     ___=new MlString("img"),
     _Z_=new MlString("br"),
     _Y_=new MlString("p"),
     _X_=new MlString("div"),
     _W_=new MlString("label"),
     _V_=new MlString("input"),
     _U_=new MlString("select"),
     _T_=new MlString("option"),
     _S_=new MlString("\""),
     _R_=new MlString(" name=\""),
     _Q_=new MlString("\""),
     _P_=new MlString(" type=\""),
     _O_=new MlString("<"),
     _N_=new MlString(">"),
     _M_=new MlString(""),
     _L_=new MlString("mouseup"),
     _K_=new MlString("mousemove"),
     _J_=new MlString("2d"),
     _I_=new MlString("Dom_html.Canvas_not_available"),
     _H_=new MlString("lighter"),
     _G_=new MlString("copy"),
     _F_=new MlString("% 2.f"),
     _E_=new MlString(""),
     _D_=new MlString("controls"),
     _C_=new MlString("Click and drag mouse to rotate."),
     _B_=new MlString("Resume"),
     _A_=new MlString("Pause"),
     _z_=new MlString("Fixed position"),
     _y_=new MlString("Follow rotation"),
     _x_=new MlString("Reset orientation"),
     _w_=new MlString("Date:"),
     _v_=
      [0,
       new MlString("December solstice"),
       [0,new MlString("Equinox"),[0,new MlString("June solstice"),0]]],
     _u_=new MlString("Lighting"),
     _t_=new MlString("Clip"),
     _s_=new MlString("Frames per second: "),
     _r_=
      new
       MlString
       ("Credit: <a href='http://visibleearth.nasa.gov/'>Visual Earth</a>, Nasa"),
     _q_=[0,new MlString("planet.ml"),415,0],
     _p_=[0,new MlString("planet.ml"),416,0],
     _o_=[0,new MlString("planet.ml"),417,0],
     _n_=[0,new MlString("planet.ml"),418,0],
     _m_=new MlString("copy"),
     _l_=new MlString("checkbox"),
     _k_=new MlString("button"),
     v_j_=[254,0,0,1],
     _i_=new MlString("../planet/texture.jpg");
    function _h_(s_f_){throw [0,_a_,s_f_];}
    function _bh_(s_g_){throw [0,_b_,s_g_];}
    function _bs_(s1_bi_,s2_bk_)
     {var
       l1_bj_=s1_bi_.getLen(),
       l2_bl_=s2_bk_.getLen(),
       s_bm_=caml_create_string(l1_bj_+l2_bl_|0);
      caml_blit_string(s1_bi_,0,s_bm_,0,l1_bj_);
      caml_blit_string(s2_bk_,0,s_bm_,l1_bj_,l2_bl_);
      return s_bm_;}
    function string_of_int_bx_(n_bn_){return caml_format_int(_ba_,n_bn_);}
    function string_of_float_by_(f_bo_)
     {var _bp_=caml_format_float(_bc_,f_bo_),i_bq_=0,l_br_=_bp_.getLen();
      for(;;)
       {if(l_br_<=i_bq_)
         var _bt_=_bs_(_bp_,_bb_);
        else
         {var
           _bu_=_bp_.safeGet(i_bq_),
           _bv_=48<=_bu_?58<=_bu_?0:1:45===_bu_?1:0;
          if(_bv_){var _bw_=i_bq_+1|0,i_bq_=_bw_;continue;}
          var _bt_=_bp_;}
        return _bt_;}}
    var stderr_bz_=caml_ml_open_descriptor_out(2);
    function output_string_bH_(oc_bB_,s_bA_)
     {return caml_ml_output(oc_bB_,s_bA_,0,s_bA_.getLen());}
    function do_at_exit_bG_(param_bF_)
     {var param_bC_=caml_ml_out_channels_list(0);
      for(;;)
       {if(param_bC_)
         {var l_bD_=param_bC_[2];
          try {}catch(_bE_){}
          var param_bC_=l_bD_;
          continue;}
        return 0;}}
    caml_register_named_value(_a9_,do_at_exit_bG_);
    function _bL_(_bJ_,_bI_){return caml_ml_output_char(_bJ_,_bI_);}
    function _bW_(_bK_){return caml_ml_flush(_bK_);}
    function _bV_(f_bO_,a_bM_)
     {var l_bN_=a_bM_.length-1;
      if(0===l_bN_)return [0];
      var
       r_bQ_=caml_make_vect(l_bN_,_bP_(f_bO_,a_bM_[0+1])),
       _bR_=1,
       _bS_=l_bN_-1|0;
      if(!(_bS_<_bR_))
       {var i_bT_=_bR_;
        for(;;)
         {r_bQ_[i_bT_+1]=_bP_(f_bO_,a_bM_[i_bT_+1]);
          var _bU_=i_bT_+1|0;
          if(_bS_!==i_bT_){var i_bT_=_bU_;continue;}
          break;}}
      return r_bQ_;}
    function _b9_(n_bX_,c_bZ_)
     {var s_bY_=caml_create_string(n_bX_);
      caml_fill_string(s_bY_,0,n_bX_,c_bZ_);
      return s_bY_;}
    function _b__(s_b2_,ofs_b0_,len_b1_)
     {if(0<=ofs_b0_&&0<=len_b1_&&!((s_b2_.getLen()-len_b1_|0)<ofs_b0_))
       {var r_b3_=caml_create_string(len_b1_);
        caml_blit_string(s_b2_,ofs_b0_,r_b3_,0,len_b1_);
        return r_b3_;}
      return _bh_(_a0_);}
    function _b$_(s1_b6_,ofs1_b5_,s2_b8_,ofs2_b7_,len_b4_)
     {if
       (0<=
        len_b4_&&
        0<=
        ofs1_b5_&&
        !((s1_b6_.getLen()-len_b4_|0)<ofs1_b5_)&&
        0<=
        ofs2_b7_&&
        !((s2_b8_.getLen()-len_b4_|0)<ofs2_b7_))
       return caml_blit_string(s1_b6_,ofs1_b5_,s2_b8_,ofs2_b7_,len_b4_);
      return _bh_(_a1_);}
    var
     _ca_=caml_sys_get_config(0)[2],
     _cb_=caml_mul(_ca_/8|0,(1<<(_ca_-10|0))-1|0)-1|0,
     _cw_=252,
     _cv_=253,
     _cu_=[0,_aZ_];
    function _ct_(n_cc_)
     {var
       n_cd_=1<=n_cc_?n_cc_:1,
       n_ce_=_cb_<n_cd_?_cb_:n_cd_,
       s_cf_=caml_create_string(n_ce_);
      return [0,s_cf_,0,n_ce_,s_cf_];}
    function _cx_(b_cg_){return _b__(b_cg_[1],0,b_cg_[2]);}
    function _cn_(b_ch_,more_cj_)
     {var new_len_ci_=[0,b_ch_[3]];
      for(;;)
       {if(new_len_ci_[1]<(b_ch_[2]+more_cj_|0))
         {new_len_ci_[1]=2*new_len_ci_[1]|0;continue;}
        if(_cb_<new_len_ci_[1])
         if((b_ch_[2]+more_cj_|0)<=_cb_)new_len_ci_[1]=_cb_;else _h_(_aY_);
        var new_buffer_ck_=caml_create_string(new_len_ci_[1]);
        _b$_(b_ch_[1],0,new_buffer_ck_,0,b_ch_[2]);
        b_ch_[1]=new_buffer_ck_;
        b_ch_[3]=new_len_ci_[1];
        return 0;}}
    function _cy_(b_cl_,c_co_)
     {var pos_cm_=b_cl_[2];
      if(b_cl_[3]<=pos_cm_)_cn_(b_cl_,1);
      b_cl_[1].safeSet(pos_cm_,c_co_);
      b_cl_[2]=pos_cm_+1|0;
      return 0;}
    function _cz_(b_cr_,s_cp_)
     {var len_cq_=s_cp_.getLen(),new_position_cs_=b_cr_[2]+len_cq_|0;
      if(b_cr_[3]<new_position_cs_)_cn_(b_cr_,len_cq_);
      _b$_(s_cp_,0,b_cr_[1],b_cr_[2],len_cq_);
      b_cr_[2]=new_position_cs_;
      return 0;}
    function index_of_int_cD_(i_cA_)
     {return 0<=i_cA_?i_cA_:_h_(_bs_(_aH_,string_of_int_bx_(i_cA_)));}
    function add_int_index_cE_(i_cB_,idx_cC_)
     {return index_of_int_cD_(i_cB_+idx_cC_|0);}
    var _cF_=_bP_(add_int_index_cE_,1);
    function _cM_(fmt_cG_){return _b__(fmt_cG_,0,fmt_cG_.getLen());}
    function bad_conversion_cO_(sfmt_cH_,i_cI_,c_cK_)
     {var
       _cJ_=_bs_(_aK_,_bs_(sfmt_cH_,_aL_)),
       _cL_=_bs_(_aJ_,_bs_(string_of_int_bx_(i_cI_),_cJ_));
      return _bh_(_bs_(_aI_,_bs_(_b9_(1,c_cK_),_cL_)));}
    function bad_conversion_format_dH_(fmt_cN_,i_cQ_,c_cP_)
     {return bad_conversion_cO_(_cM_(fmt_cN_),i_cQ_,c_cP_);}
    function incomplete_format_dI_(fmt_cR_)
     {return _bh_(_bs_(_aM_,_bs_(_cM_(fmt_cR_),_aN_)));}
    function extract_format_dd_(fmt_cS_,start_c0_,stop_c2_,widths_c4_)
     {function skip_positional_spec_cZ_(start_cT_)
       {if
         ((fmt_cS_.safeGet(start_cT_)-48|0)<
          0||
          9<
          (fmt_cS_.safeGet(start_cT_)-48|0))
         return start_cT_;
        var i_cU_=start_cT_+1|0;
        for(;;)
         {var _cV_=fmt_cS_.safeGet(i_cU_);
          if(48<=_cV_)
           {if(!(58<=_cV_)){var _cX_=i_cU_+1|0,i_cU_=_cX_;continue;}
            var _cW_=0;}
          else
           if(36===_cV_){var _cY_=i_cU_+1|0,_cW_=1;}else var _cW_=0;
          if(!_cW_)var _cY_=start_cT_;
          return _cY_;}}
      var
       start_c1_=skip_positional_spec_cZ_(start_c0_+1|0),
       b_c3_=_ct_((stop_c2_-start_c1_|0)+10|0);
      _cy_(b_c3_,37);
      var l1_c5_=widths_c4_,l2_c6_=0;
      for(;;)
       {if(l1_c5_)
         {var
           l_c7_=l1_c5_[2],
           _c8_=[0,l1_c5_[1],l2_c6_],
           l1_c5_=l_c7_,
           l2_c6_=_c8_;
          continue;}
        var i_c9_=start_c1_,widths_c__=l2_c6_;
        for(;;)
         {if(i_c9_<=stop_c2_)
           {var _c$_=fmt_cS_.safeGet(i_c9_);
            if(42===_c$_)
             {if(widths_c__)
               {var t_da_=widths_c__[2];
                _cz_(b_c3_,string_of_int_bx_(widths_c__[1]));
                var
                 i_db_=skip_positional_spec_cZ_(i_c9_+1|0),
                 i_c9_=i_db_,
                 widths_c__=t_da_;
                continue;}
              throw [0,_d_,_aO_];}
            _cy_(b_c3_,_c$_);
            var _dc_=i_c9_+1|0,i_c9_=_dc_;
            continue;}
          return _cx_(b_c3_);}}}
    function extract_format_int_e7_
     (conv_dj_,fmt_dh_,start_dg_,stop_df_,widths_de_)
     {var sfmt_di_=extract_format_dd_(fmt_dh_,start_dg_,stop_df_,widths_de_);
      if(78!==conv_dj_&&110!==conv_dj_)return sfmt_di_;
      sfmt_di_.safeSet(sfmt_di_.getLen()-1|0,117);
      return sfmt_di_;}
    function sub_format_dJ_
     (incomplete_format_dq_,bad_conversion_format_dA_,conv_dF_,fmt_dk_,i_dE_)
     {var len_dl_=fmt_dk_.getLen();
      function sub_fmt_dC_(c_dm_,i_dz_)
       {var close_dn_=40===c_dm_?41:125;
        function sub_dy_(j_do_)
         {var j_dp_=j_do_;
          for(;;)
           {if(len_dl_<=j_dp_)return _bP_(incomplete_format_dq_,fmt_dk_);
            if(37===fmt_dk_.safeGet(j_dp_))
             {var _dr_=j_dp_+1|0;
              if(len_dl_<=_dr_)
               var _ds_=_bP_(incomplete_format_dq_,fmt_dk_);
              else
               {var _dt_=fmt_dk_.safeGet(_dr_),_du_=_dt_-40|0;
                if(_du_<0||1<_du_)
                 {var _dv_=_du_-83|0;
                  if(_dv_<0||2<_dv_)
                   var _dw_=1;
                  else
                   switch(_dv_)
                    {case 1:var _dw_=1;break;
                     case 2:var _dx_=1,_dw_=0;break;
                     default:var _dx_=0,_dw_=0;}
                  if(_dw_){var _ds_=sub_dy_(_dr_+1|0),_dx_=2;}}
                else
                 var _dx_=0===_du_?0:1;
                switch(_dx_)
                 {case 1:
                   var
                    _ds_=
                     _dt_===close_dn_
                      ?_dr_+1|0
                      :_dB_(bad_conversion_format_dA_,fmt_dk_,i_dz_,_dt_);
                   break;
                  case 2:break;
                  default:var _ds_=sub_dy_(sub_fmt_dC_(_dt_,_dr_+1|0)+1|0);}}
              return _ds_;}
            var _dD_=j_dp_+1|0,j_dp_=_dD_;
            continue;}}
        return sub_dy_(i_dz_);}
      return sub_fmt_dC_(conv_dF_,i_dE_);}
    function sub_format_for_printf_d9_(conv_dG_)
     {return _dB_
              (sub_format_dJ_,
               incomplete_format_dI_,
               bad_conversion_format_dH_,
               conv_dG_);}
    function iter_on_format_args_en_(fmt_dK_,add_conv_dV_,add_char_d5_)
     {var lim_dL_=fmt_dK_.getLen()-1|0;
      function scan_fmt_d7_(i_dM_)
       {var i_dN_=i_dM_;
        a:
        for(;;)
         {if(i_dN_<lim_dL_)
           {if(37===fmt_dK_.safeGet(i_dN_))
             {var skip_dO_=0,i_dP_=i_dN_+1|0;
              for(;;)
               {if(lim_dL_<i_dP_)
                 var _dQ_=incomplete_format_dI_(fmt_dK_);
                else
                 {var _dR_=fmt_dK_.safeGet(i_dP_);
                  if(58<=_dR_)
                   {if(95===_dR_)
                     {var _dT_=i_dP_+1|0,_dS_=1,skip_dO_=_dS_,i_dP_=_dT_;
                      continue;}}
                  else
                   if(32<=_dR_)
                    switch(_dR_-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 _dU_=i_dP_+1|0,i_dP_=_dU_;continue;
                      case 10:
                       var _dW_=_dB_(add_conv_dV_,skip_dO_,i_dP_,105),i_dP_=_dW_;
                       continue;
                      default:var _dX_=i_dP_+1|0,i_dP_=_dX_;continue;}
                  var i_dY_=i_dP_;
                  c:
                  for(;;)
                   {if(lim_dL_<i_dY_)
                     var _dZ_=incomplete_format_dI_(fmt_dK_);
                    else
                     {var _d0_=fmt_dK_.safeGet(i_dY_);
                      if(126<=_d0_)
                       var _d1_=0;
                      else
                       switch(_d0_)
                        {case 78:
                         case 88:
                         case 100:
                         case 105:
                         case 111:
                         case 117:
                         case 120:
                          var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,105),_d1_=1;break;
                         case 69:
                         case 70:
                         case 71:
                         case 101:
                         case 102:
                         case 103:
                          var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,102),_d1_=1;break;
                         case 33:
                         case 37:
                         case 44:
                         case 64:var _dZ_=i_dY_+1|0,_d1_=1;break;
                         case 83:
                         case 91:
                         case 115:
                          var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,115),_d1_=1;break;
                         case 97:
                         case 114:
                         case 116:
                          var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,_d0_),_d1_=1;
                          break;
                         case 76:
                         case 108:
                         case 110:
                          var j_d2_=i_dY_+1|0;
                          if(lim_dL_<j_d2_)
                           {var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,105),_d1_=1;}
                          else
                           {var _d3_=fmt_dK_.safeGet(j_d2_)-88|0;
                            if(_d3_<0||32<_d3_)
                             var _d4_=1;
                            else
                             switch(_d3_)
                              {case 0:
                               case 12:
                               case 17:
                               case 23:
                               case 29:
                               case 32:
                                var
                                 _dZ_=
                                  _d6_
                                   (add_char_d5_,_dB_(add_conv_dV_,skip_dO_,i_dY_,_d0_),105),
                                 _d1_=1,
                                 _d4_=0;
                                break;
                               default:var _d4_=1;}
                            if(_d4_)
                             {var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,105),_d1_=1;}}
                          break;
                         case 67:
                         case 99:
                          var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,99),_d1_=1;break;
                         case 66:
                         case 98:
                          var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,66),_d1_=1;break;
                         case 41:
                         case 125:
                          var _dZ_=_dB_(add_conv_dV_,skip_dO_,i_dY_,_d0_),_d1_=1;
                          break;
                         case 40:
                          var
                           _dZ_=scan_fmt_d7_(_dB_(add_conv_dV_,skip_dO_,i_dY_,_d0_)),
                           _d1_=1;
                          break;
                         case 123:
                          var
                           i_d8_=_dB_(add_conv_dV_,skip_dO_,i_dY_,_d0_),
                           j_d__=_dB_(sub_format_for_printf_d9_,_d0_,fmt_dK_,i_d8_),
                           i_d$_=i_d8_;
                          for(;;)
                           {if(i_d$_<(j_d__-2|0))
                             {var
                               _ea_=_d6_(add_char_d5_,i_d$_,fmt_dK_.safeGet(i_d$_)),
                               i_d$_=_ea_;
                              continue;}
                            var _eb_=j_d__-1|0,i_dY_=_eb_;
                            continue c;}
                         default:var _d1_=0;}
                      if(!_d1_)
                       var _dZ_=bad_conversion_format_dH_(fmt_dK_,i_dY_,_d0_);}
                    var _dQ_=_dZ_;
                    break;}}
                var i_dN_=_dQ_;
                continue a;}}
            var _ec_=i_dN_+1|0,i_dN_=_ec_;
            continue;}
          return i_dN_;}}
      scan_fmt_d7_(0);
      return 0;}
    function count_arguments_of_format_gk_(fmt_eo_)
     {var ac_ed_=[0,0,0,0];
      function add_conv_em_(skip_ei_,i_ej_,c_ee_)
       {var _ef_=41!==c_ee_?1:0,_eg_=_ef_?125!==c_ee_?1:0:_ef_;
        if(_eg_)
         {var inc_eh_=97===c_ee_?2:1;
          if(114===c_ee_)ac_ed_[3]=ac_ed_[3]+1|0;
          if(skip_ei_)
           ac_ed_[2]=ac_ed_[2]+inc_eh_|0;
          else
           ac_ed_[1]=ac_ed_[1]+inc_eh_|0;}
        return i_ej_+1|0;}
      iter_on_format_args_en_
       (fmt_eo_,add_conv_em_,function(i_ek_,param_el_){return i_ek_+1|0;});
      return ac_ed_[1];}
    function scan_positional_spec_e3_(fmt_ep_,got_spec_es_,i_eq_)
     {var _er_=fmt_ep_.safeGet(i_eq_);
      if((_er_-48|0)<0||9<(_er_-48|0))return _d6_(got_spec_es_,0,i_eq_);
      var accu_et_=_er_-48|0,j_eu_=i_eq_+1|0;
      for(;;)
       {var _ev_=fmt_ep_.safeGet(j_eu_);
        if(48<=_ev_)
         {if(!(58<=_ev_))
           {var
             _ey_=j_eu_+1|0,
             _ex_=(10*accu_et_|0)+(_ev_-48|0)|0,
             accu_et_=_ex_,
             j_eu_=_ey_;
            continue;}
          var _ew_=0;}
        else
         if(36===_ev_)
          if(0===accu_et_)
           {var _ez_=_h_(_aQ_),_ew_=1;}
          else
           {var
             _ez_=
              _d6_(got_spec_es_,[0,index_of_int_cD_(accu_et_-1|0)],j_eu_+1|0),
             _ew_=1;}
         else
          var _ew_=0;
        if(!_ew_)var _ez_=_d6_(got_spec_es_,0,i_eq_);
        return _ez_;}}
    function next_index_eY_(spec_eA_,n_eB_)
     {return spec_eA_?n_eB_:_bP_(_cF_,n_eB_);}
    function get_index_eN_(spec_eC_,n_eD_){return spec_eC_?spec_eC_[1]:n_eD_;}
    function _hG_
     (to_s_gE_,get_out_eF_,outc_gQ_,outs_gF_,flush_gp_,k_gW_,fmt_eE_)
     {var out_eG_=_bP_(get_out_eF_,fmt_eE_);
      function pr_go_(k_eL_,n_gV_,fmt_eH_,v_eQ_)
       {var len_eK_=fmt_eH_.getLen();
        function doprn_gl_(n_gN_,i_eI_)
         {var i_eJ_=i_eI_;
          for(;;)
           {if(len_eK_<=i_eJ_)return _bP_(k_eL_,out_eG_);
            var _eM_=fmt_eH_.safeGet(i_eJ_);
            if(37===_eM_)
             {var
               get_arg_eU_=
                function(spec_eP_,n_eO_)
                 {return caml_array_get(v_eQ_,get_index_eN_(spec_eP_,n_eO_));},
               scan_flags_e0_=
                function(spec_e2_,n_eV_,widths_eX_,i_eR_)
                 {var i_eS_=i_eR_;
                  for(;;)
                   {var _eT_=fmt_eH_.safeGet(i_eS_)-32|0;
                    if(!(_eT_<0||25<_eT_))
                     switch(_eT_)
                      {case 1:
                       case 2:
                       case 4:
                       case 5:
                       case 6:
                       case 7:
                       case 8:
                       case 9:
                       case 12:
                       case 15:break;
                       case 10:
                        return scan_positional_spec_e3_
                                (fmt_eH_,
                                 function(wspec_eW_,i_e1_)
                                  {var _eZ_=[0,get_arg_eU_(wspec_eW_,n_eV_),widths_eX_];
                                   return scan_flags_e0_
                                           (spec_e2_,next_index_eY_(wspec_eW_,n_eV_),_eZ_,i_e1_);},
                                 i_eS_+1|0);
                       default:var _e4_=i_eS_+1|0,i_eS_=_e4_;continue;}
                    var _e5_=fmt_eH_.safeGet(i_eS_);
                    if(124<=_e5_)
                     var _e6_=0;
                    else
                     switch(_e5_)
                      {case 78:
                       case 88:
                       case 100:
                       case 105:
                       case 111:
                       case 117:
                       case 120:
                        var
                         x_e8_=get_arg_eU_(spec_e2_,n_eV_),
                         s_e9_=
                          caml_format_int
                           (extract_format_int_e7_(_e5_,fmt_eH_,i_eJ_,i_eS_,widths_eX_),
                            x_e8_),
                         _e$_=
                          cont_s_e__(next_index_eY_(spec_e2_,n_eV_),s_e9_,i_eS_+1|0),
                         _e6_=1;
                        break;
                       case 69:
                       case 71:
                       case 101:
                       case 102:
                       case 103:
                        var
                         x_fa_=get_arg_eU_(spec_e2_,n_eV_),
                         s_fb_=
                          caml_format_float
                           (extract_format_dd_(fmt_eH_,i_eJ_,i_eS_,widths_eX_),x_fa_),
                         _e$_=
                          cont_s_e__(next_index_eY_(spec_e2_,n_eV_),s_fb_,i_eS_+1|0),
                         _e6_=1;
                        break;
                       case 76:
                       case 108:
                       case 110:
                        var _fc_=fmt_eH_.safeGet(i_eS_+1|0)-88|0;
                        if(_fc_<0||32<_fc_)
                         var _fd_=1;
                        else
                         switch(_fc_)
                          {case 0:
                           case 12:
                           case 17:
                           case 23:
                           case 29:
                           case 32:
                            var i_fe_=i_eS_+1|0,_ff_=_e5_-108|0;
                            if(_ff_<0||2<_ff_)
                             var _fg_=0;
                            else
                             {switch(_ff_)
                               {case 1:var _fg_=0,_fh_=0;break;
                                case 2:
                                 var
                                  x_fi_=get_arg_eU_(spec_e2_,n_eV_),
                                  _fj_=
                                   caml_format_int
                                    (extract_format_dd_(fmt_eH_,i_eJ_,i_fe_,widths_eX_),x_fi_),
                                  _fh_=1;
                                 break;
                                default:
                                 var
                                  x_fk_=get_arg_eU_(spec_e2_,n_eV_),
                                  _fj_=
                                   caml_format_int
                                    (extract_format_dd_(fmt_eH_,i_eJ_,i_fe_,widths_eX_),x_fk_),
                                  _fh_=1;}
                              if(_fh_){var s_fl_=_fj_,_fg_=1;}}
                            if(!_fg_)
                             {var
                               x_fm_=get_arg_eU_(spec_e2_,n_eV_),
                               s_fl_=
                                caml_int64_format
                                 (extract_format_dd_(fmt_eH_,i_eJ_,i_fe_,widths_eX_),x_fm_);}
                            var
                             _e$_=
                              cont_s_e__(next_index_eY_(spec_e2_,n_eV_),s_fl_,i_fe_+1|0),
                             _e6_=1,
                             _fd_=0;
                            break;
                           default:var _fd_=1;}
                        if(_fd_)
                         {var
                           x_fn_=get_arg_eU_(spec_e2_,n_eV_),
                           s_fo_=
                            caml_format_int
                             (extract_format_int_e7_(110,fmt_eH_,i_eJ_,i_eS_,widths_eX_),
                              x_fn_),
                           _e$_=
                            cont_s_e__(next_index_eY_(spec_e2_,n_eV_),s_fo_,i_eS_+1|0),
                           _e6_=1;}
                        break;
                       case 37:
                       case 64:
                        var _e$_=cont_s_e__(n_eV_,_b9_(1,_e5_),i_eS_+1|0),_e6_=1;
                        break;
                       case 83:
                       case 115:
                        var x_fp_=get_arg_eU_(spec_e2_,n_eV_);
                        if(115===_e5_)
                         var x_fq_=x_fp_;
                        else
                         {var n_fr_=[0,0],_fs_=0,_ft_=x_fp_.getLen()-1|0;
                          if(!(_ft_<_fs_))
                           {var i_fu_=_fs_;
                            for(;;)
                             {var
                               _fv_=x_fp_.safeGet(i_fu_),
                               _fw_=
                                14<=_fv_
                                 ?34===_fv_?1:92===_fv_?1:0
                                 :11<=_fv_?13<=_fv_?1:0:8<=_fv_?1:0,
                               _fx_=_fw_?2:caml_is_printable(_fv_)?1:4;
                              n_fr_[1]=n_fr_[1]+_fx_|0;
                              var _fy_=i_fu_+1|0;
                              if(_ft_!==i_fu_){var i_fu_=_fy_;continue;}
                              break;}}
                          if(n_fr_[1]===x_fp_.getLen())
                           var _fz_=x_fp_;
                          else
                           {var s__fA_=caml_create_string(n_fr_[1]);
                            n_fr_[1]=0;
                            var _fB_=0,_fC_=x_fp_.getLen()-1|0;
                            if(!(_fC_<_fB_))
                             {var i_fD_=_fB_;
                              for(;;)
                               {var _fE_=x_fp_.safeGet(i_fD_),_fF_=_fE_-34|0;
                                if(_fF_<0||58<_fF_)
                                 if(-20<=_fF_)
                                  var _fG_=1;
                                 else
                                  {switch(_fF_+34|0)
                                    {case 8:
                                      s__fA_.safeSet(n_fr_[1],92);
                                      n_fr_[1]+=1;
                                      s__fA_.safeSet(n_fr_[1],98);
                                      var _fH_=1;
                                      break;
                                     case 9:
                                      s__fA_.safeSet(n_fr_[1],92);
                                      n_fr_[1]+=1;
                                      s__fA_.safeSet(n_fr_[1],116);
                                      var _fH_=1;
                                      break;
                                     case 10:
                                      s__fA_.safeSet(n_fr_[1],92);
                                      n_fr_[1]+=1;
                                      s__fA_.safeSet(n_fr_[1],110);
                                      var _fH_=1;
                                      break;
                                     case 13:
                                      s__fA_.safeSet(n_fr_[1],92);
                                      n_fr_[1]+=1;
                                      s__fA_.safeSet(n_fr_[1],114);
                                      var _fH_=1;
                                      break;
                                     default:var _fG_=1,_fH_=0;}
                                   if(_fH_)var _fG_=0;}
                                else
                                 var
                                  _fG_=
                                   (_fF_-1|0)<0||56<(_fF_-1|0)
                                    ?(s__fA_.safeSet(n_fr_[1],92),
                                      n_fr_[1]+=
                                      1,
                                      s__fA_.safeSet(n_fr_[1],_fE_),
                                      0)
                                    :1;
                                if(_fG_)
                                 if(caml_is_printable(_fE_))
                                  s__fA_.safeSet(n_fr_[1],_fE_);
                                 else
                                  {s__fA_.safeSet(n_fr_[1],92);
                                   n_fr_[1]+=1;
                                   s__fA_.safeSet(n_fr_[1],48+(_fE_/100|0)|0);
                                   n_fr_[1]+=1;
                                   s__fA_.safeSet(n_fr_[1],48+((_fE_/10|0)%10|0)|0);
                                   n_fr_[1]+=1;
                                   s__fA_.safeSet(n_fr_[1],48+(_fE_%10|0)|0);}
                                n_fr_[1]+=1;
                                var _fI_=i_fD_+1|0;
                                if(_fC_!==i_fD_){var i_fD_=_fI_;continue;}
                                break;}}
                            var _fz_=s__fA_;}
                          var x_fq_=_bs_(_aU_,_bs_(_fz_,_aV_));}
                        if(i_eS_===(i_eJ_+1|0))
                         var s_fJ_=x_fq_;
                        else
                         {var
                           _fK_=
                            extract_format_dd_(fmt_eH_,i_eJ_,i_eS_,widths_eX_);
                          try
                           {var neg_fL_=0,i_fM_=1;
                            for(;;)
                             {if(_fK_.getLen()<=i_fM_)
                               var _fN_=[0,0,neg_fL_];
                              else
                               {var _fO_=_fK_.safeGet(i_fM_);
                                if(49<=_fO_)
                                 if(58<=_fO_)
                                  var _fP_=0;
                                 else
                                  {var
                                    _fN_=
                                     [0,
                                      caml_int_of_string
                                       (_b__(_fK_,i_fM_,(_fK_.getLen()-i_fM_|0)-1|0)),
                                      neg_fL_],
                                    _fP_=1;}
                                else
                                 {if(45===_fO_)
                                   {var _fR_=i_fM_+1|0,_fQ_=1,neg_fL_=_fQ_,i_fM_=_fR_;
                                    continue;}
                                  var _fP_=0;}
                                if(!_fP_){var _fS_=i_fM_+1|0,i_fM_=_fS_;continue;}}
                              var match_fT_=_fN_;
                              break;}}
                          catch(_fU_)
                           {if(_fU_[1]!==_a_)throw _fU_;
                            var match_fT_=bad_conversion_cO_(_fK_,0,115);}
                          var
                           p_fV_=match_fT_[1],
                           _fW_=x_fq_.getLen(),
                           _fX_=0,
                           neg_f1_=match_fT_[2],
                           _f0_=32;
                          if(p_fV_===_fW_&&0===_fX_)
                           {var _fY_=x_fq_,_fZ_=1;}
                          else
                           var _fZ_=0;
                          if(!_fZ_)
                           if(p_fV_<=_fW_)
                            var _fY_=_b__(x_fq_,_fX_,_fW_);
                           else
                            {var res_f2_=_b9_(p_fV_,_f0_);
                             if(neg_f1_)
                              _b$_(x_fq_,_fX_,res_f2_,0,_fW_);
                             else
                              _b$_(x_fq_,_fX_,res_f2_,p_fV_-_fW_|0,_fW_);
                             var _fY_=res_f2_;}
                          var s_fJ_=_fY_;}
                        var
                         _e$_=
                          cont_s_e__(next_index_eY_(spec_e2_,n_eV_),s_fJ_,i_eS_+1|0),
                         _e6_=1;
                        break;
                       case 67:
                       case 99:
                        var x_f3_=get_arg_eU_(spec_e2_,n_eV_);
                        if(99===_e5_)
                         var s_f4_=_b9_(1,x_f3_);
                        else
                         {if(39===x_f3_)
                           var _f5_=_a3_;
                          else
                           if(92===x_f3_)
                            var _f5_=_a4_;
                           else
                            {if(14<=x_f3_)
                              var _f6_=0;
                             else
                              switch(x_f3_)
                               {case 8:var _f5_=_a8_,_f6_=1;break;
                                case 9:var _f5_=_a7_,_f6_=1;break;
                                case 10:var _f5_=_a6_,_f6_=1;break;
                                case 13:var _f5_=_a5_,_f6_=1;break;
                                default:var _f6_=0;}
                             if(!_f6_)
                              if(caml_is_printable(x_f3_))
                               {var s_f7_=caml_create_string(1);
                                s_f7_.safeSet(0,x_f3_);
                                var _f5_=s_f7_;}
                              else
                               {var s_f8_=caml_create_string(4);
                                s_f8_.safeSet(0,92);
                                s_f8_.safeSet(1,48+(x_f3_/100|0)|0);
                                s_f8_.safeSet(2,48+((x_f3_/10|0)%10|0)|0);
                                s_f8_.safeSet(3,48+(x_f3_%10|0)|0);
                                var _f5_=s_f8_;}}
                          var s_f4_=_bs_(_aS_,_bs_(_f5_,_aT_));}
                        var
                         _e$_=
                          cont_s_e__(next_index_eY_(spec_e2_,n_eV_),s_f4_,i_eS_+1|0),
                         _e6_=1;
                        break;
                       case 66:
                       case 98:
                        var
                         _f__=i_eS_+1|0,
                         _f9_=get_arg_eU_(spec_e2_,n_eV_)?_a$_:_a__,
                         _e$_=cont_s_e__(next_index_eY_(spec_e2_,n_eV_),_f9_,_f__),
                         _e6_=1;
                        break;
                       case 40:
                       case 123:
                        var
                         xf_f$_=get_arg_eU_(spec_e2_,n_eV_),
                         j_ga_=_dB_(sub_format_for_printf_d9_,_e5_,fmt_eH_,i_eS_+1|0);
                        if(123===_e5_)
                         {var
                           b_gb_=_ct_(xf_f$_.getLen()),
                           add_char_gf_=
                            function(i_gd_,c_gc_){_cy_(b_gb_,c_gc_);return i_gd_+1|0;};
                          iter_on_format_args_en_
                           (xf_f$_,
                            function(skip_ge_,i_gh_,c_gg_)
                             {if(skip_ge_)_cz_(b_gb_,_aP_);else _cy_(b_gb_,37);
                              return add_char_gf_(i_gh_,c_gg_);},
                            add_char_gf_);
                          var
                           _gi_=_cx_(b_gb_),
                           _e$_=cont_s_e__(next_index_eY_(spec_e2_,n_eV_),_gi_,j_ga_),
                           _e6_=1;}
                        else
                         {var
                           _gj_=next_index_eY_(spec_e2_,n_eV_),
                           m_gm_=
                            add_int_index_cE_
                             (count_arguments_of_format_gk_(xf_f$_),_gj_),
                           _e$_=
                            pr_go_
                             (function(param_gn_){return doprn_gl_(m_gm_,j_ga_);},
                              _gj_,
                              xf_f$_,
                              v_eQ_),
                           _e6_=1;}
                        break;
                       case 33:
                        _bP_(flush_gp_,out_eG_);
                        var _e$_=doprn_gl_(n_eV_,i_eS_+1|0),_e6_=1;
                        break;
                       case 41:
                        var _e$_=cont_s_e__(n_eV_,_aX_,i_eS_+1|0),_e6_=1;break;
                       case 44:
                        var _e$_=cont_s_e__(n_eV_,_aW_,i_eS_+1|0),_e6_=1;break;
                       case 70:
                        var x_gq_=get_arg_eU_(spec_e2_,n_eV_);
                        if(0===widths_eX_)
                         var s_gr_=string_of_float_by_(x_gq_);
                        else
                         {var
                           sfmt_gs_=
                            extract_format_dd_(fmt_eH_,i_eJ_,i_eS_,widths_eX_);
                          if(70===_e5_)sfmt_gs_.safeSet(sfmt_gs_.getLen()-1|0,103);
                          var s_gt_=caml_format_float(sfmt_gs_,x_gq_);
                          if(3<=caml_classify_float(x_gq_))
                           var _gu_=s_gt_;
                          else
                           {var i_gv_=0,l_gw_=s_gt_.getLen();
                            for(;;)
                             {if(l_gw_<=i_gv_)
                               var _gx_=_bs_(s_gt_,_aR_);
                              else
                               {var
                                 _gy_=s_gt_.safeGet(i_gv_)-46|0,
                                 _gz_=
                                  _gy_<0||23<_gy_
                                   ?55===_gy_?1:0
                                   :(_gy_-1|0)<0||21<(_gy_-1|0)?1:0;
                                if(!_gz_){var _gA_=i_gv_+1|0,i_gv_=_gA_;continue;}
                                var _gx_=s_gt_;}
                              var _gu_=_gx_;
                              break;}}
                          var s_gr_=_gu_;}
                        var
                         _e$_=
                          cont_s_e__(next_index_eY_(spec_e2_,n_eV_),s_gr_,i_eS_+1|0),
                         _e6_=1;
                        break;
                       case 91:
                        var
                         _e$_=bad_conversion_format_dH_(fmt_eH_,i_eS_,_e5_),
                         _e6_=1;
                        break;
                       case 97:
                        var
                         printer_gB_=get_arg_eU_(spec_e2_,n_eV_),
                         n_gC_=_bP_(_cF_,get_index_eN_(spec_e2_,n_eV_)),
                         arg_gD_=get_arg_eU_(0,n_gC_),
                         _gH_=i_eS_+1|0,
                         _gG_=next_index_eY_(spec_e2_,n_gC_);
                        if(to_s_gE_)
                         _d6_(outs_gF_,out_eG_,_d6_(printer_gB_,0,arg_gD_));
                        else
                         _d6_(printer_gB_,out_eG_,arg_gD_);
                        var _e$_=doprn_gl_(_gG_,_gH_),_e6_=1;
                        break;
                       case 114:
                        var
                         _e$_=bad_conversion_format_dH_(fmt_eH_,i_eS_,_e5_),
                         _e6_=1;
                        break;
                       case 116:
                        var
                         printer_gI_=get_arg_eU_(spec_e2_,n_eV_),
                         _gK_=i_eS_+1|0,
                         _gJ_=next_index_eY_(spec_e2_,n_eV_);
                        if(to_s_gE_)
                         _d6_(outs_gF_,out_eG_,_bP_(printer_gI_,0));
                        else
                         _bP_(printer_gI_,out_eG_);
                        var _e$_=doprn_gl_(_gJ_,_gK_),_e6_=1;
                        break;
                       default:var _e6_=0;}
                    if(!_e6_)
                     var _e$_=bad_conversion_format_dH_(fmt_eH_,i_eS_,_e5_);
                    return _e$_;}},
               _gP_=i_eJ_+1|0,
               _gM_=0;
              return scan_positional_spec_e3_
                      (fmt_eH_,
                       function(spec_gO_,i_gL_)
                        {return scan_flags_e0_(spec_gO_,n_gN_,_gM_,i_gL_);},
                       _gP_);}
            _d6_(outc_gQ_,out_eG_,_eM_);
            var _gR_=i_eJ_+1|0,i_eJ_=_gR_;
            continue;}}
        function cont_s_e__(n_gU_,s_gS_,i_gT_)
         {_d6_(outs_gF_,out_eG_,s_gS_);return doprn_gl_(n_gU_,i_gT_);}
        return doprn_gl_(n_gV_,0);}
      var
       kpr_gX_=_d6_(pr_go_,k_gW_,index_of_int_cD_(0)),
       _gY_=count_arguments_of_format_gk_(fmt_eE_);
      if(_gY_<0||6<_gY_)
       {var
         loop_g$_=
          function(i_gZ_,args_g5_)
           {if(_gY_<=i_gZ_)
             {var
               a_g0_=caml_make_vect(_gY_,0),
               _g3_=
                function(i_g1_,arg_g2_)
                 {return caml_array_set(a_g0_,(_gY_-i_g1_|0)-1|0,arg_g2_);},
               i_g4_=0,
               param_g6_=args_g5_;
              for(;;)
               {if(param_g6_)
                 {var _g7_=param_g6_[2],_g8_=param_g6_[1];
                  if(_g7_)
                   {_g3_(i_g4_,_g8_);
                    var _g9_=i_g4_+1|0,i_g4_=_g9_,param_g6_=_g7_;
                    continue;}
                  _g3_(i_g4_,_g8_);}
                return _d6_(kpr_gX_,fmt_eE_,a_g0_);}}
            return function(x_g__)
             {return loop_g$_(i_gZ_+1|0,[0,x_g__,args_g5_]);};},
         _ha_=loop_g$_(0,0);}
      else
       switch(_gY_)
        {case 1:
          var
           _ha_=
            function(x_hc_)
             {var a_hb_=caml_make_vect(1,0);
              caml_array_set(a_hb_,0,x_hc_);
              return _d6_(kpr_gX_,fmt_eE_,a_hb_);};
          break;
         case 2:
          var
           _ha_=
            function(x_he_,y_hf_)
             {var a_hd_=caml_make_vect(2,0);
              caml_array_set(a_hd_,0,x_he_);
              caml_array_set(a_hd_,1,y_hf_);
              return _d6_(kpr_gX_,fmt_eE_,a_hd_);};
          break;
         case 3:
          var
           _ha_=
            function(x_hh_,y_hi_,z_hj_)
             {var a_hg_=caml_make_vect(3,0);
              caml_array_set(a_hg_,0,x_hh_);
              caml_array_set(a_hg_,1,y_hi_);
              caml_array_set(a_hg_,2,z_hj_);
              return _d6_(kpr_gX_,fmt_eE_,a_hg_);};
          break;
         case 4:
          var
           _ha_=
            function(x_hl_,y_hm_,z_hn_,t_ho_)
             {var a_hk_=caml_make_vect(4,0);
              caml_array_set(a_hk_,0,x_hl_);
              caml_array_set(a_hk_,1,y_hm_);
              caml_array_set(a_hk_,2,z_hn_);
              caml_array_set(a_hk_,3,t_ho_);
              return _d6_(kpr_gX_,fmt_eE_,a_hk_);};
          break;
         case 5:
          var
           _ha_=
            function(x_hq_,y_hr_,z_hs_,t_ht_,u_hu_)
             {var a_hp_=caml_make_vect(5,0);
              caml_array_set(a_hp_,0,x_hq_);
              caml_array_set(a_hp_,1,y_hr_);
              caml_array_set(a_hp_,2,z_hs_);
              caml_array_set(a_hp_,3,t_ht_);
              caml_array_set(a_hp_,4,u_hu_);
              return _d6_(kpr_gX_,fmt_eE_,a_hp_);};
          break;
         case 6:
          var
           _ha_=
            function(x_hw_,y_hx_,z_hy_,t_hz_,u_hA_,v_hB_)
             {var a_hv_=caml_make_vect(6,0);
              caml_array_set(a_hv_,0,x_hw_);
              caml_array_set(a_hv_,1,y_hx_);
              caml_array_set(a_hv_,2,z_hy_);
              caml_array_set(a_hv_,3,t_hz_);
              caml_array_set(a_hv_,4,u_hA_);
              caml_array_set(a_hv_,5,v_hB_);
              return _d6_(kpr_gX_,fmt_eE_,a_hv_);};
          break;
         default:var _ha_=_d6_(kpr_gX_,fmt_eE_,[0]);}
      return _ha_;}
    function _hU_(oc_hD_)
     {function _hF_(_hC_){return 0;}
      return _hH_
              (_hG_,
               0,
               function(param_hE_){return oc_hD_;},
               _bL_,
               output_string_bH_,
               _bW_,
               _hF_);}
    function _hQ_(fmt_hI_){return _ct_(2*fmt_hI_.getLen()|0);}
    function _hN_(k_hL_,b_hJ_)
     {var s_hK_=_cx_(b_hJ_);b_hJ_[2]=0;return _bP_(k_hL_,s_hK_);}
    function _hT_(k_hM_)
     {var _hP_=_bP_(_hN_,k_hM_);
      return _hH_(_hG_,1,_hQ_,_cy_,_cz_,function(_hO_){return 0;},_hP_);}
    function _hV_(fmt_hS_)
     {return _d6_(_hT_,function(s_hR_){return s_hR_;},fmt_hS_);}
    var _hW_=[0,0];
    function _h3_(x_hX_,i_hY_)
     {var f_hZ_=x_hX_[i_hY_+1];
      return caml_obj_is_block(f_hZ_)
              ?caml_obj_tag(f_hZ_)===_cw_
                ?_d6_(_hV_,_an_,f_hZ_)
                :caml_obj_tag(f_hZ_)===_cv_?string_of_float_by_(f_hZ_):_am_
              :_d6_(_hV_,_ao_,f_hZ_);}
    function _h2_(x_h0_,i_h1_)
     {if(x_h0_.length-1<=i_h1_)return _aG_;
      var _h4_=_h2_(x_h0_,i_h1_+1|0);
      return _dB_(_hV_,_aF_,_h3_(x_h0_,i_h1_),_h4_);}
    32===_ca_;
    try
     {var _h5_=caml_sys_getenv(_al_),params_h6_=_h5_;}
    catch(_h7_)
     {if(_h7_[1]!==_c_)throw _h7_;
      try
       {var _h8_=caml_sys_getenv(_ak_),_h9_=_h8_;}
      catch(_h__){if(_h__[1]!==_c_)throw _h__;var _h9_=_aj_;}
      var params_h6_=_h9_;}
    var _h$_=0,l_ia_=params_h6_.getLen(),_id_=82;
    if(0<=_h$_&&!(l_ia_<_h$_))
     try
      {var i_ic_=_h$_;
       for(;;)
        {if(l_ia_<=i_ic_)throw [0,_c_];
         if(params_h6_.safeGet(i_ic_)!==_id_)
          {var _ie_=i_ic_+1|0,i_ic_=_ie_;continue;}
         var _ib_=1;
         break;}}
     catch(_if_){if(_if_[1]!==_c_)throw _if_;var _ib_=1;}
    else
     var _ib_=0;
    if(!_ib_)_bh_(_a2_);
    function _ii_(param_ih_)
     {var seq_ig_=[];
      caml_update_dummy(seq_ig_,[0,seq_ig_,seq_ig_]);
      return seq_ig_;}
    var Canceled_ij_=[0,_ab_],current_data_ik_=[0,0],max_removed_jm_=42;
    function repr_rec_io_(t_il_)
     {var _im_=t_il_[1];
      {if(3===_im_[0])
        {var t__in_=_im_[1],t___ip_=repr_rec_io_(t__in_);
         if(t___ip_!==t__in_)t_il_[1]=[3,t___ip_];
         return t___ip_;}
       return t_il_;}}
    function repr_jn_(t_iq_){return repr_rec_io_(t_iq_);}
    function _iV_(exn_is_)
     {var param_ir_=_hW_[1];
      for(;;)
       {if(param_ir_)
         {var tl_iw_=param_ir_[2],hd_it_=param_ir_[1];
          try
           {var _iu_=_bP_(hd_it_,exn_is_),_iv_=_iu_;}
          catch(_ix_){var _iv_=0;}
          if(!_iv_){var param_ir_=tl_iw_;continue;}}
        else
         if(exn_is_[1]!==_bg_&&exn_is_[1]!==_be_)
          if(exn_is_[1]===_bf_)
           {var match_iy_=exn_is_[2],char_iz_=match_iy_[3];
            _hH_
             (_hV_,_e_,match_iy_[1],match_iy_[2],char_iz_,char_iz_+5|0,_av_);}
          else
           if(exn_is_[1]===_d_)
            {var match_iA_=exn_is_[2],char_iB_=match_iA_[3];
             _hH_
              (_hV_,_e_,match_iA_[1],match_iA_[2],char_iB_,char_iB_+6|0,_au_);}
           else
            if(exn_is_[1]===_bd_)
             {var match_iC_=exn_is_[2],char_iD_=match_iC_[3];
              _hH_
               (_hV_,_e_,match_iC_[1],match_iC_[2],char_iD_,char_iD_+6|0,_at_);}
            else
             {var _iE_=exn_is_.length-1,constructor_iH_=exn_is_[0+1][0+1];
              if(_iE_<0||2<_iE_)
               {var
                 _iF_=_h2_(exn_is_,2),
                 _iG_=_dB_(_hV_,_as_,_h3_(exn_is_,1),_iF_);}
              else
               switch(_iE_)
                {case 1:var _iG_=_aq_;break;
                 case 2:var _iG_=_d6_(_hV_,_ap_,_h3_(exn_is_,1));break;
                 default:var _iG_=_ar_;}
              _bs_(constructor_iH_,_iG_);}
        caml_ml_output_char(stderr_bz_,10);
        var _iI_=caml_get_exception_backtrace(0);
        if(_iI_)
         {var a_iJ_=_iI_[1],_iK_=0,_iL_=a_iJ_.length-1-1|0;
          if(!(_iL_<_iK_))
           {var i_iM_=_iK_;
            for(;;)
             {if(caml_notequal(caml_array_get(a_iJ_,i_iM_),_aE_))
               {var
                 _iN_=caml_array_get(a_iJ_,i_iM_),
                 is_raise_iO_=0===_iN_[0]?_iN_[1]:_iN_[1],
                 info_iP_=is_raise_iO_?0===i_iM_?_aB_:_aA_:0===i_iM_?_az_:_ay_,
                 _iQ_=
                  0===_iN_[0]
                   ?_hH_(_hV_,_ax_,info_iP_,_iN_[2],_iN_[3],_iN_[4],_iN_[5])
                   :_d6_(_hV_,_aw_,info_iP_);
                _dB_(_hU_,stderr_bz_,_aD_,_iQ_);}
              var _iR_=i_iM_+1|0;
              if(_iL_!==i_iM_){var i_iM_=_iR_;continue;}
              break;}}}
        else
         _d6_(_hU_,stderr_bz_,_aC_);
        do_at_exit_bG_(0);
        return caml_sys_exit(2);}}
    function call_unsafe_jg_(f_iT_,x_iS_)
     {try {var _iU_=_bP_(f_iT_,x_iS_);}catch(_iW_){return _iV_(_iW_);}
      return _iU_;}
    function run_waiters_rec_i7_(state_i1_,ws_iX_,rem_iZ_)
     {var ws_iY_=ws_iX_,rem_i0_=rem_iZ_;
      for(;;)
       if(typeof ws_iY_==="number")
        return run_waiters_rec_next_i2_(state_i1_,rem_i0_);
       else
        switch(ws_iY_[0])
         {case 1:
           _bP_(ws_iY_[1],state_i1_);
           return run_waiters_rec_next_i2_(state_i1_,rem_i0_);
          case 2:
           var
            ws1_i3_=ws_iY_[1],
            _i4_=[0,ws_iY_[2],rem_i0_],
            ws_iY_=ws1_i3_,
            rem_i0_=_i4_;
           continue;
          default:
           var _i5_=ws_iY_[1][1];
           return _i5_
                   ?(_bP_(_i5_[1],state_i1_),
                     run_waiters_rec_next_i2_(state_i1_,rem_i0_))
                   :run_waiters_rec_next_i2_(state_i1_,rem_i0_);}}
    function run_waiters_rec_next_i2_(state_i8_,rem_i6_)
     {return rem_i6_?run_waiters_rec_i7_(state_i8_,rem_i6_[1],rem_i6_[2]):0;}
    function run_cancel_handlers_rec_ji_(chs_i9_,rem_i$_)
     {var chs_i__=chs_i9_,rem_ja_=rem_i$_;
      for(;;)
       if(typeof chs_i__==="number")
        return run_cancel_handlers_rec_next_jc_(rem_ja_);
       else
        switch(chs_i__[0])
         {case 1:
           var n_jb_=chs_i__[1];
           if(n_jb_[4]){n_jb_[4]=0;n_jb_[1][2]=n_jb_[2];n_jb_[2][1]=n_jb_[1];}
           return run_cancel_handlers_rec_next_jc_(rem_ja_);
          case 2:
           var
            chs1_jd_=chs_i__[1],
            _je_=[0,chs_i__[2],rem_ja_],
            chs_i__=chs1_jd_,
            rem_ja_=_je_;
           continue;
          default:
           var f_jf_=chs_i__[2];
           current_data_ik_[1]=chs_i__[1];
           call_unsafe_jg_(f_jf_,0);
           return run_cancel_handlers_rec_next_jc_(rem_ja_);}}
    function run_cancel_handlers_rec_next_jc_(rem_jh_)
     {return rem_jh_?run_cancel_handlers_rec_ji_(rem_jh_[1],rem_jh_[2]):0;}
    function unsafe_run_waiters_jo_(sleeper_jk_,state_jj_)
     {var
       _jl_=
        1===state_jj_[0]
         ?state_jj_[1][1]===Canceled_ij_
           ?(run_cancel_handlers_rec_ji_(sleeper_jk_[4],0),1)
           :0
         :0;
      _jl_;
      return run_waiters_rec_i7_(state_jj_,sleeper_jk_[2],0);}
    var wakening_jp_=[0,0],_jq_=[0,0,0];
    function wakeup_kk_(t_jt_,v_jr_)
     {var _js_=[0,v_jr_],t_ju_=repr_rec_io_(t_jt_),_jv_=t_ju_[1];
      switch(_jv_[0])
       {case 1:
         if(_jv_[1][1]===Canceled_ij_){var _jw_=0,_jx_=1;}else var _jx_=0;
         break;
        case 2:
         var sleeper_jy_=_jv_[1];
         t_ju_[1]=_js_;
         var
          snapshot_jz_=current_data_ik_[1],
          already_wakening_jA_=wakening_jp_[1]?1:(wakening_jp_[1]=1,0);
         unsafe_run_waiters_jo_(sleeper_jy_,_js_);
         if(already_wakening_jA_)
          {current_data_ik_[1]=snapshot_jz_;var _jB_=0;}
         else
          for(;;)
           {if(0!==_jq_[1])
             {if(0===_jq_[1])throw [0,_cu_];
              _jq_[1]=_jq_[1]-1|0;
              var tail_jC_=_jq_[2],head_jD_=tail_jC_[2];
              if(head_jD_===tail_jC_)_jq_[2]=0;else tail_jC_[2]=head_jD_[2];
              var _jE_=head_jD_[1];
              unsafe_run_waiters_jo_(_jE_[1],_jE_[2]);
              continue;}
            wakening_jp_[1]=0;
            current_data_ik_[1]=snapshot_jz_;
            var _jB_=0;
            break;}
         var _jw_=_jB_,_jx_=1;
         break;
        default:var _jx_=0;}
      if(!_jx_)var _jw_=_bh_(_ac_);
      return _jw_;}
    function append_jL_(l1_jF_,l2_jG_)
     {return typeof l1_jF_==="number"
              ?l2_jG_
              :typeof l2_jG_==="number"?l1_jF_:[2,l1_jF_,l2_jG_];}
    function cleanup_jI_(ws_jH_)
     {if(typeof ws_jH_!=="number")
       switch(ws_jH_[0])
        {case 2:
          var l1_jJ_=ws_jH_[1],_jK_=cleanup_jI_(ws_jH_[2]);
          return append_jL_(cleanup_jI_(l1_jJ_),_jK_);
         case 1:break;
         default:if(!ws_jH_[1][1])return 0;}
      return ws_jH_;}
    function task_kl_(param_jN_)
     {var _jM_=[0,[2,[0,1,0,0,0]]];return [0,_jM_,_jM_];}
    function add_immutable_waiter_ki_(sleeper_jQ_,waiter_jO_)
     {var
       _jP_=[1,waiter_jO_],
       _jR_=sleeper_jQ_[2],
       _jS_=typeof _jR_==="number"?_jP_:[2,_jP_,_jR_];
      sleeper_jQ_[2]=_jS_;
      return 0;}
    function bind_km_(t_jT_,f_j0_)
     {var t_jU_=repr_jn_(t_jT_),_jV_=t_jU_[1];
      switch(_jV_[0])
       {case 1:return [0,_jV_];
        case 2:
         var
          _jW_=[0,[2,[0,[0,[0,t_jU_]],0,0,0]]],
          sleeper_kh_=_jV_[1],
          data_jY_=current_data_ik_[1];
         add_immutable_waiter_ki_
          (sleeper_kh_,
           function(state_jX_)
            {switch(state_jX_[0])
              {case 0:
                var v_jZ_=state_jX_[1];
                current_data_ik_[1]=data_jY_;
                try
                 {var _j1_=_bP_(f_j0_,v_jZ_),_j2_=_j1_;}
                catch(_j3_){var _j2_=[0,[1,_j3_]];}
                var
                 t1_j4_=repr_jn_(_jW_),
                 t2_j5_=repr_jn_(_j2_),
                 _j6_=t1_j4_[1];
                {if(2===_j6_[0])
                  {var sleeper1_j7_=_j6_[1];
                   if(t1_j4_===t2_j5_)
                    var _j8_=0;
                   else
                    {var _j9_=t2_j5_[1];
                     if(2===_j9_[0])
                      {var sleeper2_j__=_j9_[1];
                       t2_j5_[1]=[3,t1_j4_];
                       sleeper1_j7_[1]=sleeper2_j__[1];
                       var
                        waiters_j$_=append_jL_(sleeper1_j7_[2],sleeper2_j__[2]),
                        removed_ka_=sleeper1_j7_[3]+sleeper2_j__[3]|0;
                       if(max_removed_jm_<removed_ka_)
                        {sleeper1_j7_[3]=0;
                         sleeper1_j7_[2]=cleanup_jI_(waiters_j$_);}
                       else
                        {sleeper1_j7_[3]=removed_ka_;sleeper1_j7_[2]=waiters_j$_;}
                       var
                        _kb_=sleeper2_j__[4],
                        _kc_=sleeper1_j7_[4],
                        _kd_=
                         typeof _kc_==="number"
                          ?_kb_
                          :typeof _kb_==="number"?_kc_:[2,_kc_,_kb_];
                       sleeper1_j7_[4]=_kd_;
                       var _j8_=0;}
                     else
                      {t1_j4_[1]=_j9_;
                       var _j8_=unsafe_run_waiters_jo_(sleeper1_j7_,_j9_);}}
                   return _j8_;}
                 throw [0,_d_,_ad_];}
               case 1:
                var t_ke_=repr_jn_(_jW_),_kf_=t_ke_[1];
                {if(2===_kf_[0])
                  {var sleeper_kg_=_kf_[1];
                   t_ke_[1]=state_jX_;
                   return unsafe_run_waiters_jo_(sleeper_kg_,state_jX_);}
                 throw [0,_d_,_ae_];}
               default:throw [0,_d_,_ag_];}});
         return _jW_;
        case 3:throw [0,_d_,_af_];
        default:return _bP_(f_j0_,_jV_[1]);}}
    var
     pause_hook_ko_=[0,function(_kj_){return 0;}],
     _kn_=_ii_(0),
     _kr_=[0,0],
     null_kw_=null,
     undefined_kx_=undefined,
     _true_ky_=true,
     _false_kz_=false,
     array_constructor_kA_=Array,
     date_constr_kB_=Date;
    function _kD_(param_kv_)
     {var _kp_=1-(_kn_[2]===_kn_?1:0);
      if(_kp_)
       {var tmp_kq_=_ii_(0);
        tmp_kq_[1][2]=_kn_[2];
        _kn_[2][1]=tmp_kq_[1];
        tmp_kq_[1]=_kn_[1];
        _kn_[1][2]=tmp_kq_;
        _kn_[1]=_kn_;
        _kn_[2]=_kn_;
        _kr_[1]=0;
        var curr_ks_=tmp_kq_[2];
        for(;;)
         {var _kt_=curr_ks_!==tmp_kq_?1:0;
          if(_kt_)
           {if(curr_ks_[4])wakeup_kk_(curr_ks_[3],0);
            var _ku_=curr_ks_[2],curr_ks_=_ku_;
            continue;}
          return _kt_;}}
      return _kp_;}
    function _kE_(e_kC_)
     {return e_kC_ instanceof array_constructor_kA_
              ?0
              :[0,new MlWrappedString(e_kC_.toString())];}
    _hW_[1]=[0,_kE_,_hW_[1]];
    function _kG_(_kF_){return _kF_;}
    function appendChild_k3_(p_kH_,n_kI_){p_kH_.appendChild(n_kI_);return 0;}
    function handler_k4_(f_kK_)
     {return _kG_
              (caml_js_wrap_callback
                (function(e_kJ_)
                  {if(e_kJ_)
                    {var res_kL_=_bP_(f_kK_,e_kJ_);
                     if(!(res_kL_|0))e_kJ_.preventDefault();
                     return res_kL_;}
                   var _kM_=event,res_kN_=_bP_(f_kK_,_kM_);
                   _kM_.returnValue=res_kN_;
                   return res_kN_;}));}
    function _k5_(s_kO_){return s_kO_.toString();}
    function _k6_(e_kP_,typ_kQ_,h_kT_,capt_k0_)
     {if(e_kP_.addEventListener===undefined_kx_)
       {var
         ev_kR_=_aa_.toString().concat(typ_kQ_),
         callback_kY_=
          function(e_kS_)
           {var _kX_=[0,h_kT_,e_kS_,[0]];
            return _bP_
                    (function(_kW_,_kV_,_kU_)
                      {return caml_js_call(_kW_,_kV_,_kU_);},
                     _kX_);};
        e_kP_.attachEvent(ev_kR_,callback_kY_);
        return function(param_kZ_)
         {return e_kP_.detachEvent(ev_kR_,callback_kY_);};}
      e_kP_.addEventListener(typ_kQ_,h_kT_,capt_k0_);
      return function(param_k1_)
       {return e_kP_.removeEventListener(typ_kQ_,h_kT_,capt_k0_);};}
    function _k7_(id_k2_){return _bP_(id_k2_,0);}
    var
     mouseup_k8_=_k5_(_L_),
     mousemove_k__=_k5_(_K_),
     _2d__k9_=_J_.toString(),
     window_k$_=window,
     document_la_=window_k$_.document,
     onIE_lm_=caml_js_on_ie(0)|0;
    function opt_iter_lp_(x_lb_,f_lc_){return x_lb_?_bP_(f_lc_,x_lb_[1]):0;}
    function createElement_lf_(doc_le_,name_ld_)
     {return doc_le_.createElement(name_ld_.toString());}
    function unsafeCreateElement_ly_(doc_lh_,name_lg_)
     {return createElement_lf_(doc_lh_,name_lg_);}
    function unsafeCreateElementEx_lu_(_type_li_,name_lj_,doc_ll_,elt_lk_)
     {if(0===_type_li_&&0===name_lj_)
       return createElement_lf_(doc_ll_,elt_lk_);
      if(onIE_lm_)
       {var a_ln_=new array_constructor_kA_();
        a_ln_.push(_O_.toString(),elt_lk_.toString());
        opt_iter_lp_
         (_type_li_,
          function(t_lo_)
           {a_ln_.push
             (_P_.toString(),caml_js_html_escape(t_lo_),_Q_.toString());
            return 0;});
        opt_iter_lp_
         (name_lj_,
          function(n_lq_)
           {a_ln_.push
             (_R_.toString(),caml_js_html_escape(n_lq_),_S_.toString());
            return 0;});
        a_ln_.push(_N_.toString());
        return doc_ll_.createElement(a_ln_.join(_M_.toString()));}
      var res_lr_=createElement_lf_(doc_ll_,elt_lk_);
      opt_iter_lp_(_type_li_,function(t_ls_){return res_lr_.type=t_ls_;});
      opt_iter_lp_(name_lj_,function(n_lt_){return res_lr_.name=n_lt_;});
      return res_lr_;}
    function createInput_lB_(_type_lx_,name_lw_,doc_lv_)
     {return unsafeCreateElementEx_lu_(_type_lx_,name_lw_,doc_lv_,_V_);}
    function createLabel_lC_(doc_lz_)
     {return unsafeCreateElement_ly_(doc_lz_,_W_);}
    function createDiv_lD_(doc_lA_)
     {return unsafeCreateElement_ly_(doc_lA_,_X_);}
    var Canvas_not_available_lE_=[0,_I_];
    window.HTMLElement===undefined_kx_;
    pause_hook_ko_[1]=
    function(param_lF_)
     {return 1===param_lF_
              ?(window_k$_.setTimeout(caml_js_wrap_callback(_kD_),0),0)
              :0;};
    var
     width_lG_=600,
     pi_lH_=4*Math.atan(1),
     obliquity_lI_=23.5*pi_lH_/180,
     gamma_lJ_=2,
     dark_lK_=Math.pow(0.2,gamma_lJ_),
     button_type_lL_=_k_.toString();
    function toggle_button_my_(txt1_lN_,txt2_lP_,action_lT_)
     {var
       state_lM_=[0,0],
       txt1_lO_=txt1_lN_.toString(),
       txt2_lR_=txt2_lP_.toString(),
       b_lQ_=createInput_lB_([0,button_type_lL_],0,document_la_);
      b_lQ_.value=txt1_lO_;
      b_lQ_.onclick=
      handler_k4_
       (function(param_lU_)
         {state_lM_[1]=1-state_lM_[1];
          var _lS_=state_lM_[1]?txt2_lR_:txt1_lO_;
          b_lQ_.value=_lS_;
          _bP_(action_lT_,state_lM_[1]);
          return _true_ky_;});
      return b_lQ_;}
    function checkbox_mz_(txt_l0_,checked_lW_,action_lX_)
     {var b_lV_=createInput_lB_([0,_l_.toString()],0,document_la_);
      b_lV_.checked=!!checked_lW_;
      b_lV_.onclick=
      handler_k4_
       (function(param_lY_)
         {_bP_(action_lX_,b_lV_.checked|0);return _true_ky_;});
      var lab_lZ_=createLabel_lC_(document_la_);
      appendChild_k3_(lab_lZ_,b_lV_);
      appendChild_k3_(lab_lZ_,document_la_.createTextNode(txt_l0_.toString()));
      return lab_lZ_;}
    function vertex_mq_(x_l3_,y_l2_,z_l1_){return [-1,x_l3_,y_l2_,z_l1_];}
    function vect_mA_(param_l5_,_l4_)
     {return [-1,
              _l4_[1]-param_l5_[1],
              _l4_[2]-param_l5_[2],
              _l4_[3]-param_l5_[3]];}
    function matrix_vect_mul_mk_(m_l__,param_l6_)
     {var
       z_l7_=param_l6_[3],
       y_l8_=param_l6_[2],
       x_l9_=param_l6_[1],
       r3_l$_=m_l__[3],
       r2_ma_=m_l__[2],
       r1_mb_=m_l__[1];
      return [-1,
              x_l9_*r1_mb_[1]+y_l8_*r1_mb_[2]+z_l7_*r1_mb_[3],
              x_l9_*r2_ma_[1]+y_l8_*r2_ma_[2]+z_l7_*r2_ma_[3],
              x_l9_*r3_l$_[1]+y_l8_*r3_l$_[2]+z_l7_*r3_l$_[3]];}
    function matrix_transp_mg_(m_mc_)
     {var r3_md_=m_mc_[3],r2_me_=m_mc_[2],r1_mf_=m_mc_[1];
      return [0,
              [-1,r1_mf_[1],r2_me_[1],r3_md_[1]],
              [-1,r1_mf_[2],r2_me_[2],r3_md_[2]],
              [-1,r1_mf_[3],r2_me_[3],r3_md_[3]]];}
    function matrix_mul_mB_(m_mj_,m__mh_)
     {var
       m__mi_=matrix_transp_mg_(m__mh_),
       _ml_=matrix_vect_mul_mk_(m__mi_,m_mj_[3]),
       _mm_=matrix_vect_mul_mk_(m__mi_,m_mj_[2]);
      return [0,matrix_vect_mul_mk_(m__mi_,m_mj_[1]),_mm_,_ml_];}
    function xz_rotation_mC_(phi_mn_)
     {var
       cos_phi_mo_=Math.cos(phi_mn_),
       sin_phi_mp_=Math.sin(phi_mn_),
       _mr_=vertex_mq_(-sin_phi_mp_,0,cos_phi_mo_),
       _ms_=vertex_mq_(0,1,0);
      return [0,vertex_mq_(cos_phi_mo_,0,sin_phi_mp_),_ms_,_mr_];}
    function xy_rotation_mD_(phi_mt_)
     {var
       cos_phi_mu_=Math.cos(phi_mt_),
       sin_phi_mv_=Math.sin(phi_mt_),
       _mw_=vertex_mq_(0,0,1),
       _mx_=vertex_mq_(-sin_phi_mv_,cos_phi_mu_,0);
      return [0,vertex_mq_(cos_phi_mu_,sin_phi_mv_,0),_mx_,_mw_];}
    var matrix_identity_mE_=xz_rotation_mC_(0);
    function face_mP_(v1_mH_,v2_mG_,v3_mF_){return [0,v1_mH_,v2_mG_,v3_mF_];}
    function create_canvas_mQ_(w_mJ_,h_mK_)
     {var c_mI_=unsafeCreateElement_ly_(document_la_,_$_);
      if(1-(c_mI_.getContext==null_kw_?1:0))
       {c_mI_.width=w_mJ_;c_mI_.height=h_mK_;return c_mI_;}
      throw [0,Canvas_not_available_lE_];}
    function min_mR_(u_mL_,v_mM_){return u_mL_<v_mM_?u_mL_:v_mM_;}
    function max_mS_(u_mN_,v_mO_){return u_mN_<v_mO_?v_mO_:u_mN_;}
    var
     _mT_=8,
     _mU_=12,
     t_delta_mV_=pi_lH_/_mT_,
     n_mW_=_mT_*_mU_|0,
     vertices_mX_=caml_make_vect(n_mW_+2|0,vertex_mq_(0,0,0)),
     faces_mY_=caml_make_vect(n_mW_*2|0,face_mP_(0,0,0)),
     south_mZ_=n_mW_+1|0;
    caml_array_set(vertices_mX_,n_mW_,vertex_mq_(0,-1,0));
    caml_array_set(vertices_mX_,south_mZ_,vertex_mq_(0,1,0));
    var
     _m0_=0,
     _m1_=_mU_-1|0,
     p_delta_m6_=2*pi_lH_/_mU_,
     t_offset_m8_=(pi_lH_-t_delta_mV_)/2;
    if(!(_m1_<_m0_))
     {var i_m2_=_m0_;
      for(;;)
       {var _m3_=0,_m4_=_mT_-1|0;
        if(!(_m4_<_m3_))
         {var j_m5_=_m3_;
          for(;;)
           {var
             phi_m7_=i_m2_*p_delta_m6_,
             theta_m9_=j_m5_*t_delta_mV_-t_offset_m8_,
             k_m__=(i_m2_*_mT_|0)+j_m5_|0;
            caml_array_set
             (vertices_mX_,
              k_m__,
              vertex_mq_
               (Math.cos(phi_m7_)*Math.cos(theta_m9_),
                Math.sin(theta_m9_),
                Math.sin(phi_m7_)*Math.cos(theta_m9_)));
            if(0===j_m5_)
             {caml_array_set
               (faces_mY_,
                2*k_m__|0,
                face_mP_(n_mW_,k_m__,caml_mod(k_m__+_mT_|0,n_mW_)));
              caml_array_set
               (faces_mY_,
                (2*k_m__|0)+1|0,
                face_mP_
                 (south_mZ_,
                  caml_mod((k_m__+(2*_mT_|0)|0)-1|0,n_mW_),
                  (k_m__+_mT_|0)-1|0));}
            else
             {caml_array_set
               (faces_mY_,
                2*k_m__|0,
                face_mP_(k_m__,caml_mod(k_m__+_mT_|0,n_mW_),k_m__-1|0));
              caml_array_set
               (faces_mY_,
                (2*k_m__|0)+1|0,
                face_mP_
                 (k_m__-1|0,
                  caml_mod(k_m__+_mT_|0,n_mW_),
                  caml_mod((k_m__+_mT_|0)-1|0,n_mW_)));}
            var _m$_=j_m5_+1|0;
            if(_m4_!==j_m5_){var j_m5_=_m$_;continue;}
            break;}}
        var _na_=i_m2_+1|0;
        if(_m1_!==i_m2_){var i_m2_=_na_;continue;}
        break;}}
    var texture_qO_=_i_.toString();
    window_k$_.onload=
    handler_k4_
     (function(param_qS_)
       {function _qF_(texture_nb_)
         {var
           w_nc_=texture_nb_.width,
           h_nd_=texture_nb_.height,
           canvas_ne_=create_canvas_mQ_(w_nc_,h_nd_),
           ctx_nf_=canvas_ne_.getContext(_2d__k9_),
           _ng_=h_nd_/8|0,
           _nh_=w_nc_/8|0,
           img_ni_=ctx_nf_.getImageData(0,0,_nh_,_ng_),
           data_nj_=img_ni_.data,
           inv_gamma_nz_=1/gamma_lJ_;
          function update_shadow_nD_(obliquity_nk_)
           {var
             _nl_=0,
             _nm_=_ng_-1|0,
             cos_obl_nt_=Math.cos(obliquity_nk_),
             sin_obl_ns_=-Math.sin(obliquity_nk_);
            if(!(_nm_<_nl_))
             {var j_nn_=_nl_;
              for(;;)
               {var _no_=0,_np_=(_nh_/2|0)-1|0;
                if(!(_np_<_no_))
                 {var i_nq_=_no_;
                  for(;;)
                   {var
                     theta_nr_=(j_nn_/_ng_-0.5)*pi_lH_,
                     _nu_=
                      Math.cos(i_nq_/_nh_*2*pi_lH_)*
                      Math.cos(theta_nr_)*
                      cos_obl_nt_+
                      Math.sin(theta_nr_)*
                      sin_obl_ns_,
                     k_nx_=4*(i_nq_+j_nn_*_nh_)|0,
                     k__nw_=4*(_nh_-i_nq_+j_nn_*_nh_-1)|0,
                     c_nv_=0<_nu_?dark_lK_:dark_lK_-_nu_*(1-dark_lK_)*1.2,
                     c_ny_=c_nv_<=1?c_nv_:1,
                     c_nA_=255-(255.99*Math.pow(c_ny_,inv_gamma_nz_)|0)|0;
                    data_nj_[k_nx_+3|0]=c_nA_;
                    data_nj_[k__nw_+3|0]=c_nA_;
                    var _nB_=i_nq_+1|0;
                    if(_np_!==i_nq_){var i_nq_=_nB_;continue;}
                    break;}}
                var _nC_=j_nn_+1|0;
                if(_nm_!==j_nn_){var j_nn_=_nC_;continue;}
                break;}}
            ctx_nf_.putImageData(img_ni_,0,0);
            ctx_nf_.globalCompositeOperation=_m_.toString();
            ctx_nf_.save();
            ctx_nf_.scale(8*(_nh_+2|0)/_nh_,8*(_ng_+2|0)/_ng_);
            ctx_nf_.translate(-1,-1);
            ctx_nf_.drawImage(canvas_ne_,0,0);
            return ctx_nf_.restore();}
          update_shadow_nD_(obliquity_lI_);
          var
           w_nE_=texture_nb_.width,
           canvas__nF_=create_canvas_mQ_(w_nE_,texture_nb_.height),
           ctx__nG_=canvas__nF_.getContext(_2d__k9_),
           no_lighting_nH_=[0,0],
           canvas_nI_=create_canvas_mQ_(width_lG_,width_lG_),
           canvas__nJ_=create_canvas_mQ_(width_lG_,width_lG_);
          appendChild_k3_(document_la_.body,canvas_nI_);
          var
           ctx_nK_=canvas_nI_.getContext(_2d__k9_),
           ctx__nL_=canvas__nJ_.getContext(_2d__k9_),
           r_nM_=width_lG_/2,
           tw_nN_=texture_nb_.width,
           th_nO_=texture_nb_.height,
           uv_nS_=
            _bV_
             (function(v_nP_)
               {var
                 u_nQ_=
                  (tw_nN_-
                   Math.atan2(v_nP_[3],v_nP_[1])*
                   ((tw_nN_/2-0.99)/pi_lH_)|
                   0)%
                  tw_nN_,
                 v_nR_=th_nO_/2+Math.asin(v_nP_[2])*((th_nO_-0.99)/pi_lH_)|0;
                if(0<=u_nQ_)
                 {if(u_nQ_<tw_nN_)
                   {if(0<=v_nR_)
                     {if(v_nR_<th_nO_)return [0,u_nQ_,v_nR_];throw [0,_d_,_n_];}
                    throw [0,_d_,_o_];}
                  throw [0,_d_,_p_];}
                throw [0,_d_,_q_];},
              vertices_mX_),
           normals_oI_=
            _bV_
             (function(param_nT_)
               {var
                 v1_nU_=caml_array_get(vertices_mX_,param_nT_[1]),
                 v2_nW_=caml_array_get(vertices_mX_,param_nT_[2]),
                 _nV_=
                  vect_mA_(v1_nU_,caml_array_get(vertices_mX_,param_nT_[3])),
                 _nX_=vect_mA_(v1_nU_,v2_nW_),
                 z2_nY_=_nV_[3],
                 y2_nZ_=_nV_[2],
                 x2_n0_=_nV_[1],
                 z1_n1_=_nX_[3],
                 y1_n2_=_nX_[2],
                 x1_n3_=_nX_[1];
                return [-1,
                        y1_n2_*z2_nY_-y2_nZ_*z1_n1_,
                        z1_n1_*x2_n0_-z2_nY_*x1_n3_,
                        x1_n3_*y2_nZ_-x2_n0_*y1_n2_];},
              faces_mY_),
           paused_oJ_=[0,0],
           follow_oK_=[0,0],
           lighting_oL_=[0,1],
           clipped_oM_=[0,1],
           obl_oN_=[0,obliquity_lI_],
           face_info_oO_=
            _bV_
             (function(f_n4_)
               {var
                 match_n5_=caml_array_get(uv_nS_,f_n4_[1]),
                 v1_n6_=match_n5_[2],
                 u1_n7_=match_n5_[1],
                 match_n8_=caml_array_get(uv_nS_,f_n4_[2]),
                 v2_n9_=match_n8_[2],
                 u2_n__=match_n8_[1],
                 match_n$_=caml_array_get(uv_nS_,f_n4_[3]),
                 v3_oa_=match_n$_[2],
                 u3_ob_=match_n$_[1],
                 mid_oc_=tw_nN_/2;
                if(u1_n7_==0)
                 {if(mid_oc_<u2_n__||mid_oc_<u3_ob_)
                   var _od_=1;
                  else
                   {var _oe_=0,_od_=0;}
                  if(_od_){var u1_of_=tw_nN_-2,_oe_=1;}}
                else
                 var _oe_=0;
                if(!_oe_)var u1_of_=u1_n7_;
                if(u2_n__==0)
                 {if(mid_oc_<u1_of_||mid_oc_<u3_ob_)
                   var _og_=1;
                  else
                   {var _oh_=0,_og_=0;}
                  if(_og_){var u2_oi_=tw_nN_-2,_oh_=1;}}
                else
                 var _oh_=0;
                if(!_oh_)var u2_oi_=u2_n__;
                if(u3_ob_==0)
                 {if(mid_oc_<u2_oi_||mid_oc_<u1_of_)
                   var _oj_=1;
                  else
                   {var _ok_=0,_oj_=0;}
                  if(_oj_){var u3_ol_=tw_nN_-2,_ok_=1;}}
                else
                 var _ok_=0;
                if(!_ok_)var u3_ol_=u3_ob_;
                var mth_om_=th_nO_-2;
                if(v1_n6_==0||mth_om_<=v1_n6_)
                 var _on_=0;
                else
                 {var u1_oo_=u1_of_,_on_=1;}
                if(!_on_)var u1_oo_=(u2_oi_+u3_ol_)/2;
                if(v2_n9_==0||mth_om_<=v2_n9_)
                 var _op_=0;
                else
                 {var u2_oq_=u2_oi_,_op_=1;}
                if(!_op_)var u2_oq_=(u1_oo_+u3_ol_)/2;
                if(v3_oa_==0||mth_om_<=v3_oa_)
                 var _or_=0;
                else
                 {var u3_os_=u3_ol_,_or_=1;}
                if(!_or_)var u3_os_=(u2_oq_+u1_oo_)/2;
                var
                 u1_ot_=max_mS_(1,u1_oo_),
                 u2_ou_=max_mS_(1,u2_oq_),
                 u3_ov_=max_mS_(1,u3_os_),
                 v1_ow_=max_mS_(1,v1_n6_),
                 v2_ox_=max_mS_(1,v2_n9_),
                 v3_oy_=max_mS_(1,v3_oa_),
                 du2_oz_=u2_ou_-u1_ot_,
                 du3_oA_=u3_ov_-u1_ot_,
                 dv2_oB_=v2_ox_-v1_ow_,
                 dv3_oC_=v3_oy_-v1_ow_,
                 su_oD_=dv2_oB_*du3_oA_-dv3_oC_*du2_oz_,
                 sv_oE_=du2_oz_*dv3_oC_-du3_oA_*dv2_oB_,
                 u_oF_=max_mS_(0,min_mR_(u1_ot_,min_mR_(u2_ou_,u3_ov_))-4),
                 v_oG_=max_mS_(0,min_mR_(v1_ow_,min_mR_(v2_ox_,v3_oy_))-4),
                 u__oH_=
                  min_mR_(tw_nN_,max_mS_(u1_ot_,max_mS_(u2_ou_,u3_ov_))+4);
                return [0,
                        u1_ot_,
                        v1_ow_,
                        du2_oz_/su_oD_,
                        dv2_oB_/sv_oE_,
                        du3_oA_/su_oD_,
                        dv3_oC_/sv_oE_,
                        u_oF_,
                        v_oG_,
                        u__oH_-u_oF_,
                        min_mR_(th_nO_,max_mS_(v1_ow_,max_mS_(v2_ox_,v3_oy_))+4)-
                        v_oG_];},
              faces_mY_),
           m_obliq_oP_=[0,xy_rotation_mD_(-obliquity_lI_)],
           m_oQ_=[0,matrix_identity_mE_],
           phi_rot_oR_=[0,0],
           rateText_oS_=document_la_.createTextNode(_E_.toString()),
           ctrl_oT_=createDiv_lD_(document_la_);
          ctrl_oT_.className=_D_.toString();
          var d_oU_=createDiv_lD_(document_la_);
          appendChild_k3_(d_oU_,document_la_.createTextNode(_C_.toString()));
          appendChild_k3_(ctrl_oT_,d_oU_);
          var form_oV_=createDiv_lD_(document_la_);
          function br_oY_(param_oW_)
           {return unsafeCreateElement_ly_(document_la_,_Z_);}
          appendChild_k3_
           (form_oV_,
            toggle_button_my_
             (_A_,_B_,function(p_oX_){paused_oJ_[1]=p_oX_;return 0;}));
          appendChild_k3_(form_oV_,br_oY_(0));
          appendChild_k3_
           (form_oV_,
            toggle_button_my_
             (_y_,_z_,function(f_oZ_){follow_oK_[1]=f_oZ_;return 0;}));
          appendChild_k3_(form_oV_,br_oY_(0));
          var b_o0_=createInput_lB_([0,button_type_lL_],0,document_la_);
          b_o0_.value=_x_.toString();
          b_o0_.onclick=
          handler_k4_
           (function(param_o1_)
             {m_oQ_[1]=matrix_identity_mE_;
              phi_rot_oR_[1]=0;
              m_obliq_oP_[1]=xy_rotation_mD_(-obl_oN_[1]);
              return _true_ky_;});
          appendChild_k3_(form_oV_,b_o0_);
          appendChild_k3_(form_oV_,br_oY_(0));
          var lab_o2_=createLabel_lC_(document_la_);
          appendChild_k3_(lab_o2_,document_la_.createTextNode(_w_.toString()));
          var
           _o3_=unsafeCreateElementEx_lu_(0,0,document_la_,_U_),
           param_o4_=_v_;
          for(;;)
           {if(param_o4_)
             {var
               l_o7_=param_o4_[2],
               a_o6_=param_o4_[1],
               _o5_=unsafeCreateElement_ly_(document_la_,_T_);
              appendChild_k3_
               (_o5_,document_la_.createTextNode(a_o6_.toString()));
              _o3_.add(_o5_,null_kw_);
              var param_o4_=l_o7_;
              continue;}
            _o3_.onchange=
            handler_k4_
             (function(param_o__)
               {var
                 _o8_=_o3_.selectedIndex,
                 o_o9_=0===_o8_?obliquity_lI_:1===_o8_?0:-obliquity_lI_;
                update_shadow_nD_(o_o9_);
                obl_oN_[1]=o_o9_;
                return _true_ky_;});
            appendChild_k3_(lab_o2_,_o3_);
            appendChild_k3_(form_oV_,lab_o2_);
            appendChild_k3_(ctrl_oT_,form_oV_);
            var form_o$_=createDiv_lD_(document_la_);
            appendChild_k3_
             (form_o$_,
              checkbox_mz_
               (_u_,1,function(l_pa_){lighting_oL_[1]=l_pa_;return 0;}));
            appendChild_k3_(form_o$_,br_oY_(0));
            appendChild_k3_
             (form_o$_,
              checkbox_mz_
               (_t_,1,function(l_pb_){clipped_oM_[1]=l_pb_;return 0;}));
            appendChild_k3_(form_o$_,br_oY_(0));
            appendChild_k3_
             (form_o$_,document_la_.createTextNode(_s_.toString()));
            appendChild_k3_(form_o$_,rateText_oS_);
            appendChild_k3_(ctrl_oT_,form_o$_);
            appendChild_k3_(document_la_.body,ctrl_oT_);
            var _pc_=unsafeCreateElement_ly_(document_la_,_Y_);
            _pc_.innerHTML=_r_.toString();
            appendChild_k3_(document_la_.body,_pc_);
            var mx_pd_=[0,0],my_pe_=[0,0];
            canvas_nI_.onmousedown=
            handler_k4_
             (function(ev_pf_)
               {mx_pd_[1]=ev_pf_.clientX;
                my_pe_[1]=ev_pf_.clientY;
                var
                 c2_ps_=[0,null_kw_],
                 c1_pt_=
                  _k6_
                   (document_la_,
                    mousemove_k__,
                    handler_k4_
                     (function(ev_pg_)
                       {var
                         x_ph_=ev_pg_.clientX,
                         y_pi_=ev_pg_.clientY,
                         dx_pj_=x_ph_-mx_pd_[1]|0,
                         dy_pk_=y_pi_-my_pe_[1]|0;
                        if(0!==dy_pk_)
                         {var
                           _pl_=2*dy_pk_/width_lG_,
                           cos_phi_pm_=Math.cos(_pl_),
                           sin_phi_pn_=Math.sin(_pl_),
                           _po_=m_oQ_[1],
                           _pp_=vertex_mq_(0,-sin_phi_pn_,cos_phi_pm_),
                           _pq_=vertex_mq_(0,cos_phi_pm_,sin_phi_pn_);
                          m_oQ_[1]=
                          matrix_mul_mB_([0,vertex_mq_(1,0,0),_pq_,_pp_],_po_);}
                        if(0!==dx_pj_)
                         {var _pr_=m_oQ_[1];
                          m_oQ_[1]=
                          matrix_mul_mB_(xz_rotation_mC_(2*dx_pj_/width_lG_),_pr_);}
                        mx_pd_[1]=x_ph_;
                        my_pe_[1]=y_pi_;
                        return _true_ky_;}),
                    _true_ky_);
                c2_ps_[1]=
                _kG_
                 (_k6_
                   (document_la_,
                    mouseup_k8_,
                    handler_k4_
                     (function(param_pv_)
                       {_k7_(c1_pt_);
                        var _pu_=c2_ps_[1];
                        if(_pu_!=null_kw_)_k7_(_pu_);
                        return _true_ky_;}),
                    _true_ky_));
                return _false_kz_;});
            var
             ti_pw_=[0,new date_constr_kB_().getTime()],
             fps_px_=[0,0],
             loop_qm_=
              function(t_qg_,phi_py_)
               {var rotation_pz_=xz_rotation_mC_(phi_py_-phi_rot_oR_[1]);
                if(lighting_oL_[1])
                 {no_lighting_nH_[1]=0;
                  ctx__nG_.drawImage(texture_nb_,0,0);
                  var
                   i_pA_=
                    (2*pi_lH_-phi_py_%(2*pi_lH_))*w_nE_/2/pi_lH_%w_nE_|0;
                  ctx__nG_.drawImage(canvas_ne_,i_pA_,0);
                  ctx__nG_.drawImage(canvas_ne_,i_pA_-w_nE_,0);}
                else
                 if(!no_lighting_nH_[1])
                  {ctx__nG_.drawImage(texture_nb_,0,0);no_lighting_nH_[1]=1;}
                var
                 _pB_=matrix_mul_mB_(m_obliq_oP_[1],rotation_pz_),
                 m_pC_=matrix_mul_mB_(m_oQ_[1],_pB_),
                 _pE_=
                  _bV_
                   (function(v_pD_){return matrix_vect_mul_mk_(m_pC_,v_pD_);},
                    vertices_mX_),
                 _pF_=matrix_vect_mul_mk_(matrix_transp_mg_(m_pC_),v_j_);
                ctx__nL_.clearRect(0,0,width_lG_,width_lG_);
                ctx__nL_.save();
                if(clipped_oM_[1])
                 {ctx__nL_.beginPath();
                  ctx__nL_.arc(r_nM_,r_nM_,r_nM_*0.95,0,-2*pi_lH_,_true_ky_);
                  ctx__nL_.clip();}
                ctx__nL_.setTransform(r_nM_-2,0,0,r_nM_-2,r_nM_,r_nM_);
                ctx__nL_.globalCompositeOperation=_H_.toString();
                var _pG_=0,_pH_=faces_mY_.length-1-1|0;
                if(!(_pH_<_pG_))
                 {var i_pI_=_pG_;
                  for(;;)
                   {var
                     _pJ_=faces_mY_[i_pI_+1],
                     match_pK_=caml_array_get(_pE_,_pJ_[1]),
                     y1_pL_=match_pK_[2],
                     x1_pM_=match_pK_[1],
                     match_pN_=caml_array_get(_pE_,_pJ_[2]),
                     y2_pO_=match_pN_[2],
                     x2_pP_=match_pN_[1],
                     match_pQ_=caml_array_get(_pE_,_pJ_[3]),
                     y3_pR_=match_pQ_[2],
                     x3_pS_=match_pQ_[1],
                     _pT_=caml_array_get(normals_oI_,i_pI_);
                    if(0<=_pT_[1]*_pF_[1]+_pT_[2]*_pF_[2]+_pT_[3]*_pF_[3])
                     {ctx__nL_.beginPath();
                      ctx__nL_.moveTo(x1_pM_,y1_pL_);
                      ctx__nL_.lineTo(x2_pP_,y2_pO_);
                      ctx__nL_.lineTo(x3_pS_,y3_pR_);
                      ctx__nL_.closePath();
                      ctx__nL_.save();
                      ctx__nL_.clip();
                      var
                       match_pU_=caml_array_get(face_info_oO_,i_pI_),
                       dv_pV_=match_pU_[10],
                       du_pW_=match_pU_[9],
                       v_pX_=match_pU_[8],
                       u_pY_=match_pU_[7],
                       dv3_pZ_=match_pU_[6],
                       du3_p0_=match_pU_[5],
                       dv2_p1_=match_pU_[4],
                       du2_p2_=match_pU_[3],
                       v1_p3_=match_pU_[2],
                       u1_p4_=match_pU_[1],
                       dx2_p5_=x2_pP_-x1_pM_,
                       dx3_p6_=x3_pS_-x1_pM_,
                       dy2_p7_=y2_pO_-y1_pL_,
                       dy3_p8_=y3_pR_-y1_pL_,
                       a_p9_=dx2_p5_*dv3_pZ_-dx3_p6_*dv2_p1_,
                       b_p__=dx2_p5_*du3_p0_-dx3_p6_*du2_p2_,
                       d_p$_=dy2_p7_*dv3_pZ_-dy3_p8_*dv2_p1_,
                       e_qa_=dy2_p7_*du3_p0_-dy3_p8_*du2_p2_;
                      ctx__nL_.transform
                       (a_p9_,
                        d_p$_,
                        b_p__,
                        e_qa_,
                        x1_pM_-a_p9_*u1_p4_-b_p__*v1_p3_,
                        y1_pL_-d_p$_*u1_p4_-e_qa_*v1_p3_);
                      ctx__nL_.drawImage
                       (canvas__nF_,
                        u_pY_,
                        v_pX_,
                        du_pW_,
                        dv_pV_,
                        u_pY_,
                        v_pX_,
                        du_pW_,
                        dv_pV_);
                      ctx__nL_.restore();}
                    var _qb_=i_pI_+1|0;
                    if(_pH_!==i_pI_){var i_pI_=_qb_;continue;}
                    break;}}
                ctx__nL_.restore();
                ctx_nK_.globalCompositeOperation=_G_.toString();
                ctx_nK_.drawImage(canvas__nJ_,0,0);
                try {ctx_nK_.getImageData(0,0,1,1);}catch(_qD_){}
                var
                 t__qc_=new date_constr_kB_().getTime(),
                 hz_qd_=1000/(t__qc_-ti_pw_[1]),
                 _qe_=fps_px_[1]==0?hz_qd_:0.9*fps_px_[1]+0.1*hz_qd_;
                fps_px_[1]=_qe_;
                rateText_oS_.data=_d6_(_hV_,_F_,fps_px_[1]).toString();
                ti_pw_[1]=t__qc_;
                function _qp_(param_qn_)
                 {var
                   t__qf_=new date_constr_kB_().getTime(),
                   dt_qh_=t__qf_-t_qg_,
                   dt_qi_=dt_qh_<0?0:1000<dt_qh_?0:dt_qh_,
                   angle_qj_=2*pi_lH_*dt_qi_/1000/10,
                   _qk_=
                    paused_oJ_[1]
                     ?0
                     :follow_oK_[1]?(phi_rot_oR_[1]=phi_rot_oR_[1]+angle_qj_,1):0;
                  _qk_;
                  var _ql_=paused_oJ_[1]?phi_py_:phi_py_+angle_qj_;
                  return loop_qm_(t__qf_,_ql_);}
                var
                 match_qo_=task_kl_(0),
                 t_qq_=match_qo_[1],
                 w_qr_=match_qo_[2],
                 _qt_=0.01*1000,
                 id_qu_=
                  window_k$_.setTimeout
                   (caml_js_wrap_callback
                     (function(param_qs_){return wakeup_kk_(w_qr_,0);}),
                    _qt_);
                function _qw_(param_qv_)
                 {return window_k$_.clearTimeout(id_qu_);}
                var _qx_=repr_jn_(t_qq_)[1];
                switch(_qx_[0])
                 {case 1:
                   var
                    _qy_=
                     _qx_[1][1]===Canceled_ij_?(call_unsafe_jg_(_qw_,0),1):0;
                   break;
                  case 2:
                   var
                    sleeper_qz_=_qx_[1],
                    handler_qA_=[0,current_data_ik_[1],_qw_],
                    _qB_=sleeper_qz_[4],
                    _qC_=typeof _qB_==="number"?handler_qA_:[2,handler_qA_,_qB_];
                   sleeper_qz_[4]=_qC_;
                   var _qy_=1;
                   break;
                  default:var _qy_=0;}
                _qy_;
                return bind_km_(t_qq_,_qp_);};
            return loop_qm_(new date_constr_kB_().getTime(),0);}}
        var _qE_=unsafeCreateElement_ly_(document_la_,___);
        function _qI_(param_qG_){return [0,[0,_qE_]];}
        var match_qH_=task_kl_(0),w_qK_=match_qH_[2],t_qL_=match_qH_[1];
        function cont_qM_(x_qJ_){return wakeup_kk_(w_qK_,x_qJ_);}
        _qE_.onload=
        handler_k4_(function(param_qN_){cont_qM_(0);return _false_kz_;});
        _qE_.src=texture_qO_;
        var _qP_=repr_jn_(bind_km_(bind_km_(t_qL_,_qI_),_qF_))[1];
        switch(_qP_[0])
         {case 1:throw _qP_[1];
          case 2:
           var sleeper_qR_=_qP_[1];
           add_immutable_waiter_ki_
            (sleeper_qR_,
             function(param_qQ_)
              {switch(param_qQ_[0])
                {case 0:return 0;
                 case 1:return _iV_(param_qQ_[1]);
                 default:throw [0,_d_,_ai_];}});
           break;
          case 3:throw [0,_d_,_ah_];
          default:}
        return _false_kz_;});
    do_at_exit_bG_(0);
    return;}
  ());