From da9023f6779b4e22e0ed8289bdf2275633f1c361 Mon Sep 17 00:00:00 2001 From: Vesa Karvonen Date: Thu, 15 Feb 2024 16:52:06 +0200 Subject: [PATCH] Update multicore-bench doc for 0.1.0 --- .../Multicore_bench/Cmd/index.html | 4 +- .../Multicore_bench/Metric/index.html | 4 +- .../Multicore_bench/Suite/index.html | 4 +- .../Multicore_bench/Times/index.html | 4 +- .../Multicore_bench/Unit_of_rate/index.html | 4 +- .../Multicore_bench/Unit_of_time/index.html | 4 +- .../Multicore_bench/Util/Bits/index.html | 4 +- .../Multicore_bench/Util/index.html | 4 +- .../Multicore_bench/index.html | 4 +- 0.1.0/multicore-bench/db.js | 1 + 0.1.0/multicore-bench/index.html | 4 +- 0.1.0/sherlodoc.js | 1962 +++++++++++++++++ 12 files changed, 1993 insertions(+), 10 deletions(-) create mode 100644 0.1.0/multicore-bench/db.js create mode 100644 0.1.0/sherlodoc.js diff --git a/0.1.0/multicore-bench/Multicore_bench/Cmd/index.html b/0.1.0/multicore-bench/Multicore_bench/Cmd/index.html index cc94412..14ba37f 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Cmd/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Cmd/index.html @@ -1,5 +1,7 @@ -Cmd (multicore-bench.Multicore_bench.Cmd)

Module Multicore_bench.Cmd

Command line interface for a benchmark executable.

val run : +Cmd (multicore-bench.Multicore_bench.Cmd)

Module Multicore_bench.Cmd

Command line interface for a benchmark executable.

val run : benchmarks:(string * Suite.t) list -> ?budgetf:float -> ?filters:string list -> diff --git a/0.1.0/multicore-bench/Multicore_bench/Metric/index.html b/0.1.0/multicore-bench/Multicore_bench/Metric/index.html index 7505261..8ecb2da 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Metric/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Metric/index.html @@ -1,2 +1,4 @@ -Metric (multicore-bench.Multicore_bench.Metric)

Module Multicore_bench.Metric

Dealing with benchmark metrics.

type t

Represents a metric.

+Metric (multicore-bench.Multicore_bench.Metric)

Module Multicore_bench.Metric

Dealing with benchmark metrics.

type t

Represents a metric.

diff --git a/0.1.0/multicore-bench/Multicore_bench/Suite/index.html b/0.1.0/multicore-bench/Multicore_bench/Suite/index.html index db8d48a..3f18d0c 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Suite/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Suite/index.html @@ -1,2 +1,4 @@ -Suite (multicore-bench.Multicore_bench.Suite)

Module Multicore_bench.Suite

Dealing with benchmark suites.

type t = budgetf:float -> Metric.t list

Represents a benchmark suite, i.e. a function that produces a list of metric outputs for current-bench.

+Suite (multicore-bench.Multicore_bench.Suite)

Module Multicore_bench.Suite

Dealing with benchmark suites.

type t = budgetf:float -> Metric.t list

Represents a benchmark suite, i.e. a function that produces a list of metric outputs for current-bench.

diff --git a/0.1.0/multicore-bench/Multicore_bench/Times/index.html b/0.1.0/multicore-bench/Multicore_bench/Times/index.html index fd6c036..a8722a1 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Times/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Times/index.html @@ -1,5 +1,7 @@ -Times (multicore-bench.Multicore_bench.Times)

Module Multicore_bench.Times

Recording timings of benchmarks running on multiple domains in parallel and producing metrics from the recorded timings.

type t

Represents a record of elapsed times of multiple runs of a benchmark running on multiple domains.

val record : +Times (multicore-bench.Multicore_bench.Times)

Module Multicore_bench.Times

Recording timings of benchmarks running on multiple domains in parallel and producing metrics from the recorded timings.

type t

Represents a record of elapsed times of multiple runs of a benchmark running on multiple domains.

val record : budgetf:float -> n_domains:int -> ?ensure_multi_domain:bool -> diff --git a/0.1.0/multicore-bench/Multicore_bench/Unit_of_rate/index.html b/0.1.0/multicore-bench/Multicore_bench/Unit_of_rate/index.html index 2d649d5..46a3fb8 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Unit_of_rate/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Unit_of_rate/index.html @@ -1,2 +1,4 @@ -Unit_of_rate (multicore-bench.Multicore_bench.Unit_of_rate)

Module Multicore_bench.Unit_of_rate

Dealing with units of rate.

type t = [
  1. | `_1
    (*

    1/s

    *)
  2. | `k
    (*

    103/s or k/s

    *)
  3. | `M
    (*

    106/s or M/s

    *)
  4. | `G
    (*

    109/s or G/s

    *)
]

Represents a unit of rate, i.e. how many per second.

val to_divisor : t -> float

to_divisor t converts the unit of rate t to a divisor.

val to_mnemonic : t -> string

to_mnemonic t returns a human readable mnemonic for the unit of rate t.

+Unit_of_rate (multicore-bench.Multicore_bench.Unit_of_rate)

Module Multicore_bench.Unit_of_rate

Dealing with units of rate.

type t = [
  1. | `_1
    (*

    1/s

    *)
  2. | `k
    (*

    103/s or k/s

    *)
  3. | `M
    (*

    106/s or M/s

    *)
  4. | `G
    (*

    109/s or G/s

    *)
]

Represents a unit of rate, i.e. how many per second.

val to_divisor : t -> float

to_divisor t converts the unit of rate t to a divisor.

val to_mnemonic : t -> string

to_mnemonic t returns a human readable mnemonic for the unit of rate t.

diff --git a/0.1.0/multicore-bench/Multicore_bench/Unit_of_time/index.html b/0.1.0/multicore-bench/Multicore_bench/Unit_of_time/index.html index d0f7fd7..994849d 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Unit_of_time/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Unit_of_time/index.html @@ -1,2 +1,4 @@ -Unit_of_time (multicore-bench.Multicore_bench.Unit_of_time)

Module Multicore_bench.Unit_of_time

Dealing with units of time.

type t = [
  1. | `s
    (*

    seconds

    *)
  2. | `ms
    (*

    milliseconds

    *)
  3. | `mus
    (*

    microseconds

    *)
  4. | `ns
    (*

    nanoseconds

    *)
]

Represents a unit of time.

val to_multiplier : t -> float

to_multiplier t converts the unit of time t to a multiplier.

val to_mnemonic : t -> string

to_mnemonic t returns a human readable mnemonic for the unit of time t.

+Unit_of_time (multicore-bench.Multicore_bench.Unit_of_time)

Module Multicore_bench.Unit_of_time

Dealing with units of time.

type t = [
  1. | `s
    (*

    seconds

    *)
  2. | `ms
    (*

    milliseconds

    *)
  3. | `mus
    (*

    microseconds

    *)
  4. | `ns
    (*

    nanoseconds

    *)
]

Represents a unit of time.

val to_multiplier : t -> float

to_multiplier t converts the unit of time t to a multiplier.

val to_mnemonic : t -> string

to_mnemonic t returns a human readable mnemonic for the unit of time t.

diff --git a/0.1.0/multicore-bench/Multicore_bench/Util/Bits/index.html b/0.1.0/multicore-bench/Multicore_bench/Util/Bits/index.html index 7980fa1..8f9f042 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Util/Bits/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Util/Bits/index.html @@ -1,2 +1,4 @@ -Bits (multicore-bench.Multicore_bench.Util.Bits)

Module Util.Bits

A minimalistic bitset data structure.

type t

Represents a bitset.

val create : unit -> t

create () returns a new zero length bitset.

val push : t -> bool -> unit

push bs b adds the bit b to the end of the bitset bs.

val iter : (bool -> unit) -> t -> unit

iter action bs calls the action for each bit in the bitset bs.

+Bits (multicore-bench.Multicore_bench.Util.Bits)

Module Util.Bits

A minimalistic bitset data structure.

type t

Represents a bitset.

val create : unit -> t

create () returns a new zero length bitset.

val push : t -> bool -> unit

push bs b adds the bit b to the end of the bitset bs.

val iter : (bool -> unit) -> t -> unit

iter action bs calls the action for each bit in the bitset bs.

diff --git a/0.1.0/multicore-bench/Multicore_bench/Util/index.html b/0.1.0/multicore-bench/Multicore_bench/Util/index.html index a88a011..6d89df7 100644 --- a/0.1.0/multicore-bench/Multicore_bench/Util/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/Util/index.html @@ -1,5 +1,7 @@ -Util (multicore-bench.Multicore_bench.Util)

Module Multicore_bench.Util

Utilities for creating benchmarks.

⚠️ In the future we expect to regroup these utilities under different modules and deprecate them in this module.

val iter_factor : int

A multiplier depending various factors such as whether we are running on a 32- or 64-bit machine (1x/10x), bytecode or native (1x/10x), and whether we are running on single-core or multicore OCaml (1x/10x).

val alloc : ?batch:int -> int Stdlib.Atomic.t -> int

alloc ~batch n tries to decrement the specified atomic variable n by at most the optional amount ~batch and not beyond n having value 0. Returns the amount by which n was decremented, which is 0 only in case n is 0.

val cross : 'a list -> 'b list -> ('a * 'b) list

cross xs ys returns a list formed by pairing each element of xs with each element of ys.

For example:

# Util.cross [1; 2; 3] ["a"; "b"]
+Util (multicore-bench.Multicore_bench.Util)

Module Multicore_bench.Util

Utilities for creating benchmarks.

⚠️ In the future we expect to regroup these utilities under different modules and deprecate them in this module.

val iter_factor : int

A multiplier depending various factors such as whether we are running on a 32- or 64-bit machine (1x/10x), bytecode or native (1x/10x), and whether we are running on single-core or multicore OCaml (1x/10x).

val alloc : ?batch:int -> int Stdlib.Atomic.t -> int

alloc ~batch n tries to decrement the specified atomic variable n by at most the optional amount ~batch and not beyond n having value 0. Returns the amount by which n was decremented, which is 0 only in case n is 0.

val cross : 'a list -> 'b list -> ('a * 'b) list

cross xs ys returns a list formed by pairing each element of xs with each element of ys.

For example:

# Util.cross [1; 2; 3] ["a"; "b"]
 - : (int * string) list =
 [(1, "a"); (1, "b"); (2, "a"); (2, "b"); (3, "a"); (3, "b")]
module Bits : sig ... end

A minimalistic bitset data structure.

val generate_push_and_pop_sequence : ?state:Stdlib.Random.State.t -> diff --git a/0.1.0/multicore-bench/Multicore_bench/index.html b/0.1.0/multicore-bench/Multicore_bench/index.html index 4e63d4f..e57c10d 100644 --- a/0.1.0/multicore-bench/Multicore_bench/index.html +++ b/0.1.0/multicore-bench/Multicore_bench/index.html @@ -1,2 +1,4 @@ -Multicore_bench (multicore-bench.Multicore_bench)

Module Multicore_bench

Multicore bench is a framework for writing multicore benchmark executables to run on current-bench.

To use the framework one typically opens it

open Multicore_bench

which brings a number of submodules into scope.

module Metric : sig ... end

Dealing with benchmark metrics.

module Unit_of_rate : sig ... end

Dealing with units of rate.

module Unit_of_time : sig ... end

Dealing with units of time.

module Times : sig ... end

Recording timings of benchmarks running on multiple domains in parallel and producing metrics from the recorded timings.

module Suite : sig ... end

Dealing with benchmark suites.

module Cmd : sig ... end

Command line interface for a benchmark executable.

module Util : sig ... end

Utilities for creating benchmarks.

+Multicore_bench (multicore-bench.Multicore_bench)

Module Multicore_bench

Multicore bench is a framework for writing multicore benchmark executables to run on current-bench.

To use the framework one typically opens it

open Multicore_bench

which brings a number of submodules into scope.

module Metric : sig ... end

Dealing with benchmark metrics.

module Unit_of_rate : sig ... end

Dealing with units of rate.

module Unit_of_time : sig ... end

Dealing with units of time.

module Times : sig ... end

Recording timings of benchmarks running on multiple domains in parallel and producing metrics from the recorded timings.

module Suite : sig ... end

Dealing with benchmark suites.

module Cmd : sig ... end

Command line interface for a benchmark executable.

module Util : sig ... end

Utilities for creating benchmarks.

diff --git a/0.1.0/multicore-bench/db.js b/0.1.0/multicore-bench/db.js new file mode 100644 index 0000000..0964b07 --- /dev/null +++ b/0.1.0/multicore-bench/db.js @@ -0,0 +1 @@ +function sherlodoc_db () { return "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"; } diff --git a/0.1.0/multicore-bench/index.html b/0.1.0/multicore-bench/index.html index 4ab725e..21550e6 100644 --- a/0.1.0/multicore-bench/index.html +++ b/0.1.0/multicore-bench/index.html @@ -1,2 +1,4 @@ -index (multicore-bench.index)

multicore-bench index

Library multicore-bench

The entry point of this library is the module: Multicore_bench.

+index (multicore-bench.index)

multicore-bench index

Library multicore-bench

The entry point of this library is the module: Multicore_bench.

diff --git a/0.1.0/sherlodoc.js b/0.1.0/sherlodoc.js new file mode 100644 index 0000000..3a091c3 --- /dev/null +++ b/0.1.0/sherlodoc.js @@ -0,0 +1,1962 @@ +// Generated by js_of_ocaml +//# buildInfo:effects=false, kind=exe, use-js-string=true, version=5.6.0 +(function(a){typeof +globalThis!=="object"&&(this?b():(a.defineProperty(a.prototype,"_T_",{configurable:true,get:b}),_T_));function +b(){var +b=this||self;b.globalThis=b;delete +a.prototype._T_}}(Object));(function(k){"use strict";var +ef="Sys_error",w=0x80,aS=" ",ee="union all",eq="ENOTEMPTY",cn="compare: functional value",eC="EEXIST",ck=1255,ew="entry-name",cm="mkdir",ae=1000,b_=" : flags Open_text and Open_binary are not compatible",eJ="console",aV="int_of_string",ca="fs",cl=5795659,ev="/static/",b9=": Not a directory",ce="ENOENT",ep="Stack_overflow",U=0xff,eB="Undefined_recursive_module",eu="Assert_failure",D=0x8000,ed=0x800,em=0x7ff0,d6=" : is a directory",ea=0xdfff,ec="Division_by_zero",d5=".",el="End_of_file",cd=10000,aT="query/priority_queue.ml",et="OCAMLRUNPARAM",d$=": closedir failed",af=0x3f,eI="Out_of_memory",cj="db/string_automata.ml",d_="Not_found",cc=" : file already exists",cq="Failure",ay=128,bm=": No such file or directory",bn="Unix.Unix_error",ek="^",cb=255,eH="length",cg="ENOTDIR",az=256,b8="index out of bounds",M="/",eo=0xFF,b7=252,d9="Invalid_argument",ad=254,bj="Set.bal",d4=": file descriptor already closed",b6="EBADF",L=0xffffff,d3="Marshal.from_bytes",es=1027,aU=1024,ej="Pervasives.do_at_exit",bl=0x7F,d2=12520,ei=65536,co=" : flags Open_rdonly and Open_wronly are not compatible",ci=0x3F,cf=0xf,d8=512,eF="Match_failure",eG="closedir",d7=1026,er="inter all",eA="class",d1=250,ez=">",e="",b$="rmdir",eb="([^/]+)",cp="fut",ch="jsError",aR='"',eh="fd ",E=0xffff,d0=0xdc00,ex="cons",ey="Sys_blocked_io",o=248,eE="@",en="span",eD=0xe0,N=24029,eg=0xf0,bk="_bigarr02";function +hE(a,b,c,d,e){if(d<=b)for(var +f=1;f<=e;f++)c[d+f]=a[b+f];else +for(var +f=e;f>=1;f--)c[d+f]=a[b+f];return 0}function +hF(a,b,c){if(a[1]===b){a[1]=c;return 1}return 0}function +hG(a,b){var +c=a[1];a[1]+=b;return c}function +cs(a){return a[1]}function +fm(a){var +b=k.process;if(b&&b.env&&b.env[a]!=undefined)return b.env[a];if(k.jsoo_static_env&&k.jsoo_static_env[a])return k.jsoo_static_env[a]}var +cH=0;(function(){var +c=fm(et);if(c!==undefined){var +b=c.split(",");for(var +a=0;aa.hi)return 1;if(this.hia.mi)return 1;if(this.mia.lo)return 1;if(this.loc)return 1;if(ba.mi)return 1;if(this.mia.lo)return 1;if(this.lo>24),c=-this.hi+(b>>24);return new +d(a,b,c)};d.prototype.add=function(a){var +b=this.lo+a.lo,c=this.mi+a.mi+(b>>24),e=this.hi+a.hi+(c>>24);return new +d(b,c,e)};d.prototype.sub=function(a){var +b=this.lo-a.lo,c=this.mi-a.mi+(b>>24),e=this.hi-a.hi+(c>>24);return new +d(b,c,e)};d.prototype.mul=function(a){var +b=this.lo*a.lo,c=(b*e5|0)+this.mi*a.lo+this.lo*a.mi,e=(c*e5|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new +d(b,c,e)};d.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};d.prototype.isNeg=function(){return this.hi<<16<0};d.prototype.and=function(a){return new +d(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};d.prototype.or=function(a){return new +d(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};d.prototype.xor=function(a){return new +d(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)};d.prototype.shift_left=function(a){a=a&63;if(a==0)return this;if(a<24)return new +d(this.lo<>24-a,this.hi<>24-a);if(a<48)return new +d(0,this.lo<>48-a);return new +d(0,0,this.lo<>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a);if(a<48)return new +d(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0);return new +d(this.hi>>a-48,0,0)};d.prototype.shift_right=function(a){a=a&63;if(a==0)return this;var +c=this.hi<<16>>16;if(a<24)return new +d(this.lo>>a|this.mi<<24-a,this.mi>>a|c<<24-a,this.hi<<16>>a>>>16);var +b=this.hi<<16>>31;if(a<48)return new +d(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&E);return new +d(this.hi<<16>>a-32,b,b)};d.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&L;this.lo=this.lo<<1&L};d.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&L;this.mi=(this.mi>>>1|this.hi<<23)&L;this.hi=this.hi>>>1};d.prototype.udivmod=function(a){var +e=0,c=this.copy(),b=a.copy(),f=new +d(0,0,0);while(c.ucompare(b)>0){e++;b.lsl1()}while(e>=0){e--;f.lsl1();if(c.ucompare(b)>=0){f.lo++;c=c.sub(b)}b.lsr1()}return{quotient:f,modulus:c}};d.prototype.div=function(a){var +b=this;if(a.isZero())fe();var +d=b.hi^a.hi;if(b.hi&D)b=b.neg();if(a.hi&D)a=a.neg();var +c=b.udivmod(a).quotient;if(d&D)c=c.neg();return c};d.prototype.mod=function(a){var +b=this;if(a.isZero())fe();var +d=b.hi;if(b.hi&D)b=b.neg();if(a.hi&D)a=a.neg();var +c=b.udivmod(a).modulus;if(d&D)c=c.neg();return c};d.prototype.toInt=function(){return this.lo|this.mi<<24};d.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};d.prototype.toArray=function(){return[this.hi>>8,this.hi&U,this.mi>>16,this.mi>>8&U,this.mi&U,this.lo>>16,this.lo>>8&U,this.lo&U]};d.prototype.lo32=function(){return this.lo|(this.mi&U)<<24};d.prototype.hi32=function(){return this.mi>>>8&E|this.hi<<16};function +h5(a,b){return new +d(a&L,a>>>24&U|(b&E)<<8,b>>>16&E)}function +cD(a){return a.hi32()}function +cE(a){return a.lo32()}function +aX(){p(b8)}var +hI=bk;function +ag(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}ag.prototype.caml_custom=hI;ag.prototype.offset=function(a){var +c=0;if(typeof +a==="number")a=[a];if(!(a +instanceof +Array))p("bigarray.js: invalid offset");if(this.dims.length!=a.length)p("Bigarray.get/set: bad number of dimensions");if(this.layout==0)for(var +b=0;b=this.dims[b])aX();c=c*this.dims[b]+a[b]}else +for(var +b=this.dims.length-1;b>=0;b--){if(a[b]<1||a[b]>this.dims[b])aX();c=c*this.dims[b]+(a[b]-1)}return c};ag.prototype.get=function(a){switch(this.kind){case +7:var +d=this.data[a*2+0],b=this.data[a*2+1];return h5(d,b);case +10:case +11:var +e=this.data[a*2+0],c=this.data[a*2+1];return[ad,e,c];default:return this.data[a]}};ag.prototype.set=function(a,b){switch(this.kind){case +7:this.data[a*2+0]=cE(b);this.data[a*2+1]=cD(b);break;case +10:case +11:this.data[a*2+0]=b[1];this.data[a*2+1]=b[2];break;default:this.data[a]=b;break}return 0};ag.prototype.fill=function(a){switch(this.kind){case +7:var +c=cE(a),e=cD(a);if(c==e)this.data.fill(c);else +for(var +b=0;be)return 1;if(d!=e){if(!b)return NaN;if(d==d)return 1;if(e==e)return-1}}break;case +7:for(var +c=0;ca.data[c+1])return 1;if(this.data[c]>>>0>>0)return-1;if(this.data[c]>>>0>a.data[c]>>>0)return 1}break;case +2:case +3:case +4:case +5:case +6:case +8:case +9:case +12:for(var +c=0;ca.data[c])return 1}break}return 0};function +aA(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}aA.prototype=new +ag();aA.prototype.offset=function(a){if(typeof +a!=="number")if(a +instanceof +Array&&a.length==1)a=a[0];else +p("Ml_Bigarray_c_1_1.offset");if(a<0||a>=this.dims[0])aX();return a};aA.prototype.get=function(a){return this.data[a]};aA.prototype.set=function(a,b){this.data[a]=b;return 0};aA.prototype.fill=function(a){this.data.fill(a);return 0};function +ct(a,b,c,d){var +e=eP(a);if(bp(c)*e!=d.length)p("length doesn't match dims");if(b==0&&c.length==1&&e==1)return new +aA(a,b,c,d);return new +ag(a,b,c,d)}function +e8(a){return a.slice(1)}function +hH(a,b,c){var +d=e8(c),e=eN(a,bp(d));return ct(a,b,d,e)}function +aY(a,b,c){a.set(a.offset(b),c);return 0}function +a4(a,b,c){var +d=String.fromCharCode;if(b==0&&c<=4096&&c==a.length)return d.apply(null,a);var +f=e;for(;0=c.l||c.t==2&&e>=c.c.length)){c.c=a.t==4?a4(a.c,b,e):b==0&&a.c.length==e?a.c:a.c.substr(b,e);c.t=c.c.length==c.l?0:2}else if(c.t==2&&d==c.c.length){c.c+=a.t==4?a4(a.c,b,e):b==0&&a.c.length==e?a.c:a.c.substr(b,e);c.t=c.c.length==c.l?0:2}else{if(c.t!=4)bs(c);var +g=a.c,h=c.c;if(a.t==4)if(d<=b)for(var +f=0;f=0;f--)h[d+f]=g[b+f];else{var +i=Math.min(e,g.length-b);for(var +f=0;f>=1;if(a==0)return d;b+=b;c++;if(c==9)b.slice(0,1)}}function +aZ(a){if(a.t==2)a.c+=fg(a.l-a.c.length,"\0");else +a.c=a4(a.c,0,a.c.length);a.t=0}function +cK(a){if(a.length<24){for(var +b=0;b127)return false;return true}else +return!/[^\x00-\x7f]/.test(a)}function +fk(a){for(var +k=e,d=e,h,g,i,b,c=0,j=a.length;cd8){d.substr(0,1);k+=d;d=e;k+=a.slice(c,f)}else +d+=a.slice(c,f);if(f==j)break;c=f}b=1;if(++c=0xd7ff&&b<0xe000)b=2}else{b=3;if(++c0x10ffff)b=3}}}}}if(b<4){c-=b;d+="\ufffd"}else if(b>E)d+=String.fromCharCode(0xd7c0+(b>>10),d0+(b&0x3FF));else +d+=String.fromCharCode(b);if(d.length>aU){d.substr(0,1);k+=d;d=e}}return k+d}function +V(a,b,c){this.t=a;this.c=b;this.l=c}V.prototype.toString=function(){switch(this.t){case +9:return this.c;default:aZ(this);case +0:if(cK(this.c)){this.t=9;return this.c}this.t=8;case +8:return this.c}};V.prototype.toUtf16=function(){var +a=this.toString();if(this.t==9)return a;return fk(a)};V.prototype.slice=function(){var +a=this.t==4?this.c.slice():this.c;return new +V(this.t,a,this.l)};function +eS(a){return new +V(0,a,a.length)}function +X(a){return a}function +G(a){return eS(X(a))}function +ah(a,b,c,d,e){W(G(a),b,c,d,e);return 0}function +ao(a){return new +d(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function +eU(a,b){switch(a.t&6){default:if(b>=a.c.length)return 0;case +0:return a.c.charCodeAt(b);case +4:return a.c[b]}}function +cu(){p(b8)}function +hM(a,b){if(b>>>0>=a.l-7)cu();var +d=new +Array(8);for(var +c=0;c<8;c++)d[7-c]=eU(a,b+c);return ao(d)}function +cw(a,b,c){c&=U;if(a.t!=4){if(b==a.c.length){a.c+=String.fromCharCode(c);if(b+1==a.l)a.t=0;return 0}bs(a)}a.c[b]=c;return 0}function +eT(a,b,c){if(b>>>0>=a.l)cu();return cw(a,b,c)}function +aE(a){return a.toArray()}function +hN(a,b,c){if(b>>>0>=a.l-7)cu();var +e=aE(c);for(var +d=0;d<8;d++)cw(a,b+7-d,e[d]);return 0}function +aB(d,c){var +f=d.l>=0?d.l:d.l=d.length,e=c.length,b=f-e;if(b==0)return d.apply(null,c);else if(b<0){var +a=d.apply(null,c.slice(0,f));if(typeof +a!=="function")return a;return aB(a,c.slice(f))}else{switch(b){case +1:{var +a=function(a){var +f=new +Array(e+1);for(var +b=0;b>>0>=a.length-1)aX();return a}function +e7(a){return a==245?1:0}var +iH=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function +iG(a){if(iH)return Math.floor(Math.log2(a));var +b=0;if(a==0)return-Infinity;if(a>=1)while(a>=2){a/=2;b++}else +while(a<1){a*=2;b--}return b}function +cB(a){var +b=new +Float32Array(1);b[0]=a;var +c=new +Int32Array(b.buffer);return c[0]|0}function +y(a,b,c){return new +d(a,b,c)}function +bt(a){if(!isFinite(a)){if(isNaN(a))return y(1,0,em);return a>0?y(0,0,em):y(0,0,0xfff0)}var +f=a==0&&1/a==-Infinity?D:a>=0?0:D;if(f)a=-a;var +b=iG(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-d7)}else{a/=Math.pow(2,b-es);if(a<16){a*=2;b-=1}if(b==0)a/=2}var +d=Math.pow(2,24),c=a|0;a=(a-c)*d;var +e=a|0;a=(a-e)*d;var +g=a|0;c=c&cf|f|b<<4;return y(g,e,c)}function +eR(a,b,c){a.write(32,b.dims.length);a.write(32,b.kind|b.layout<<8);if(b.caml_custom==bk)for(var +d=0;d>4;if(d==2047)return(f|g|c&cf)==0?c&D?-Infinity:Infinity:NaN;var +e=Math.pow(2,-24),b=(f*e+g)*e+(c&cf);if(d>0){b+=16;b*=Math.pow(2,d-es)}else +b*=Math.pow(2,-d7);if(c&D)b=-b;return b}function +m(a){if(!q.Failure)q.Failure=[o,z(cq),-3];cG(q.Failure,a)}function +eO(a,b,c){var +k=a.read32s();if(k<0||k>16)m("input_value: wrong number of bigarray dimensions");var +s=a.read32s(),l=s&U,r=s>>8&1,j=[];if(c==bk)for(var +d=0;d>>32-15;b=by(b,0x1b873593);a^=b;a=a<<13|a>>>32-13;return(a+(a<<2)|0)+(0xe6546b64|0)|0}function +hZ(a,b){a=r(a,cE(b));a=r(a,cD(b));return a}function +cz(a,b){return hZ(a,bt(b))}function +eQ(a){var +c=bp(a.dims),d=0;switch(a.kind){case +2:case +3:case +12:if(c>az)c=az;var +e=0,b=0;for(b=0;b+4<=a.data.length;b+=4){e=a.data[b+0]|a.data[b+1]<<8|a.data[b+2]<<16|a.data[b+3]<<24;d=r(d,e)}e=0;switch(c&3){case +3:e=a.data[b+2]<<16;case +2:e|=a.data[b+1]<<8;case +1:e|=a.data[b+0];d=r(d,e)}break;case +4:case +5:if(c>ay)c=ay;var +e=0,b=0;for(b=0;b+2<=a.data.length;b+=2){e=a.data[b+0]|a.data[b+1]<<16;d=r(d,e)}if((c&1)!=0)d=r(d,a.data[b]);break;case +6:if(c>64)c=64;for(var +b=0;b64)c=64;for(var +b=0;b32)c=32;c*=2;for(var +b=0;b64)c=64;for(var +b=0;b32)c=32;for(var +b=0;b0?f(b,a,d):f(a,b,d);if(d&&e!=e)return c;if(+e!=+e)return+e;if((e|0)!=0)return e|0}return c}function +bx(a){return typeof +a==="string"&&!/[^\x00-\xff]/.test(a)}function +bw(a){return a +instanceof +V}function +eW(a){if(typeof +a==="number")return ae;else if(bw(a))return b7;else if(bx(a))return 1252;else if(a +instanceof +Array&&a[0]===a[0]>>>0&&a[0]<=cb){var +b=a[0]|0;return b==ad?0:b}else if(a +instanceof +String)return d2;else if(typeof +a=="string")return d2;else if(a +instanceof +Number)return ae;else if(a&&a.caml_custom)return ck;else if(a&&a.compare)return 1256;else if(typeof +a=="function")return 1247;else if(typeof +a=="symbol")return 1251;return 1001}function +a1(a,b){if(ab?1:0}function +hL(a,b){a.t&6&&aZ(a);b.t&6&&aZ(b);return a.cb.c?1:0}function +br(a,b,c){var +f=[];for(;;){if(!(c&&a===b)){var +e=eW(a);if(e==d1){a=a[1];continue}var +g=eW(b);if(g==d1){b=b[1];continue}if(e!==g){if(e==ae){if(g==ck)return eV(a,b,-1,c);return-1}if(g==ae){if(e==ck)return eV(b,a,1,c);return 1}return eb)return 1;if(a!=b){if(!c)return NaN;if(a==a)return 1;if(b==b)return-1}break;case +1001:if(ab)return 1;if(a!=b){if(!c)return NaN;if(a==a)return 1;if(b==b)return-1}break;case +1251:if(a!==b){if(!c)return NaN;return 1}break;case +1252:var +a=X(a),b=X(b);if(a!==b){if(ab)return 1}break;case +12520:var +a=a.toString(),b=b.toString();if(a!==b){if(ab)return 1}break;case +246:case +254:default:if(e7(e)){p("compare: continuation value");break}if(a.length!=b.length)return a.length1)f.push(a,b,1);break}}if(f.length==0)return 0;var +h=f.pop();b=f.pop();a=f.pop();if(h+10)if(b==0&&(c>=a.l||a.t==2&&c>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=fg(c,String.fromCharCode(d));a.t=c==a.l?0:2}else{if(a.t!=4)bs(a);for(c+=b;b1)b.pop();break;case".":break;case"":break;default:b.push(d[c]);break}b.unshift(e[0]);b.orig=a;return b}function +iF(a){for(var +g=e,c=g,b,i,d=0,h=a.length;dd8){c.substr(0,1);g+=c;c=e;g+=a.slice(d,f)}else +c+=a.slice(d,f);if(f==h)break;d=f}if(b>6);c+=String.fromCharCode(w|b&af)}else if(b<0xd800||b>=ea)c+=String.fromCharCode(eD|b>>12,w|b>>6&af,w|b&af);else if(b>=0xdbff||d+1==h||(i=a.charCodeAt(d+1))ea)c+="\xef\xbf\xbd";else{d++;b=(b<<10)+i-0x35fdc00;c+=String.fromCharCode(eg|b>>18,w|b>>12&af,w|b>>6&af,w|b&af)}if(c.length>aU){c.substr(0,1);g+=c;c=e}}return g+c}function +O(a){return cK(a)?z(a):z(iF(a))}var +iJ=["E2BIG","EACCES","EAGAIN",b6,"EBUSY","ECHILD","EDEADLK","EDOM",eC,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",ce,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",cg,eq,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function +$(a,b,c,d){var +f=iJ.indexOf(a);if(f<0){if(d==null)d=-9999;f=[0,d]}var +g=[f,O(b||e),O(c||e)];return g}var +e$={};function +ai(a){return e$[a]}function +_(a,b){throw l([0,a].concat(b))}function +cv(a){if(!(a +instanceof +Uint8Array))a=new +Uint8Array(a);return new +V(4,a,a.length)}function +j(a){cG(q.Sys_error,a)}function +fd(a){j(a+bm)}function +a5(a){if(a.t!=4)bs(a);return a.c}function +Y(a){return a.l}function +eK(){}function +t(a){this.data=a}t.prototype=new +eK();t.prototype.constructor=t;t.prototype.truncate=function(a){var +b=this.data;this.data=u(a|0);W(b,0,this.data,0,a)};t.prototype.length=function(){return Y(this.data)};t.prototype.write=function(a,b,c,d){var +e=this.length();if(a+d>=e){var +f=u(a+d),g=this.data;this.data=f;W(g,0,this.data,0,e)}W(cv(b),c,this.data,a,d);return 0};t.prototype.read=function(a,b,c,d){var +e=this.length();if(a+d>=e)d=e-a;if(d){var +f=u(d|0);W(this.data,a,f,0,d);b.set(a5(f),c)}return d};function +an(a,b,c){this.file=b;this.name=a;this.flags=c}an.prototype.err_closed=function(){j(this.name+d4)};an.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};an.prototype.write=function(a,b,c,d){if(this.file)return this.file.write(a,b,c,d);this.err_closed()};an.prototype.read=function(a,b,c,d){if(this.file)return this.file.read(a,b,c,d);this.err_closed()};an.prototype.close=function(){this.file=undefined};function +a(a,b){this.content={};this.root=a;this.lookupFun=b}a.prototype.nm=function(a){return this.root+a};a.prototype.create_dir_if_needed=function(a){var +d=a.split(M),c=e;for(var +b=0;b>>16;a=by(a,0x85ebca6b|0);a^=a>>>13;a=by(a,0xc2b2ae35|0);a^=a>>>16;return a}function +hV(a,b,c,d){var +j,k,l,h,g,f,e,i,m;h=b;if(h<0||h>az)h=az;g=a;f=c;j=[d];k=0;l=1;while(k0){e=j[k++];if(e&&e.caml_custom){if(aC[e.caml_custom]&&aC[e.caml_custom].hash){var +n=aC[e.caml_custom].hash(e);f=r(f,n);g--}}else if(e +instanceof +Array&&e[0]===(e[0]|0))switch(e[0]){case +248:f=r(f,e[2]);g--;break;case +250:j[--k]=e[1];break;default:if(e7(e[0]))break;var +o=e.length-1<<10|e[0];f=r(f,o);for(i=1,m=e.length;i=h)break;j[l++]=e[i]}break}else if(bw(e)){f=hW(f,e);g--}else if(bx(e)){f=h0(f,e);g--}else if(typeof +e==="string"){f=cA(f,e);g--}else if(e===(e|0)){f=r(f,e+e+1);g--}else if(typeof +e==="number"){f=cz(f,e);g--}}f=hY(f);return f&0x3FFFFFFF}function +eL(a,b){this.s=X(a);this.i=b}eL.prototype={read8u:function(){return this.s.charCodeAt(this.i++)},read8s:function(){return this.s.charCodeAt(this.i++)<<24>>24},read16u:function(){var +b=this.s,a=this.i;this.i=a+2;return b.charCodeAt(a)<<8|b.charCodeAt(a+1)},read16s:function(){var +b=this.s,a=this.i;this.i=a+2;return b.charCodeAt(a)<<24>>16|b.charCodeAt(a+1)},read32u:function(){var +b=this.s,a=this.i;this.i=a+4;return(b.charCodeAt(a)<<24|b.charCodeAt(a+1)<<16|b.charCodeAt(a+2)<<8|b.charCodeAt(a+3))>>>0},read32s:function(){var +b=this.s,a=this.i;this.i=a+4;return b.charCodeAt(a)<<24|b.charCodeAt(a+1)<<16|b.charCodeAt(a+2)<<8|b.charCodeAt(a+3)},readstr:function(a){var +b=this.i;this.i=b+a;return z(this.s.substring(b,b+a))},readuint8array:function(a){var +c=new +Uint8Array(a),e=this.s,d=this.i;for(var +b=0;b>24},read16u:function(){var +b=this.s,a=this.i;this.i=a+2;return b[a]<<8|b[a+1]},read16s:function(){var +b=this.s,a=this.i;this.i=a+2;return b[a]<<24>>16|b[a+1]},read32u:function(){var +b=this.s,a=this.i;this.i=a+4;return(b[a]<<24|b[a+1]<<16|b[a+2]<<8|b[a+3])>>>0},read32s:function(){var +b=this.s,a=this.i;this.i=a+4;return b[a]<<24|b[a+1]<<16|b[a+2]<<8|b[a+3]},readstr:function(a){var +b=this.i;this.i=b+a;return cJ(this.s.subarray(b,b+a))},readuint8array:function(a){var +b=this.i;this.i=b+a;return this.s.subarray(b,b+a)}};function +aD(a){return bu(ao(a))}function +h2(d,b){function +f(a){var +b=d.read8u(),c=b&bl;while((b&w)!=0){b=d.read8u();var +e=c<<7;if(c!=e>>7)a[0]=true;c=e|b&bl}return c}var +x=d.read32u();switch(x){case +0x8495A6BE:var +v=20,o=0,h=d.read32u(),r=h,p=d.read32u(),s=d.read32u(),t=d.read32u();break;case +0x8495A6BD:var +v=d.read8u()&ci,o=1,a=[false],h=f(a),r=f(a),p=f(a),s=f(a),t=f(a);if(a[0])m("caml_input_value_from_reader: object too large to be read back on this platform");break;case +0x8495A6BF:m("caml_input_value_from_reader: object too large to be read back on a 32-bit platform");break;default:m("caml_input_value_from_reader: bad object");break}var +n=[],c=p>0?[]:null,i=0;function +l(a){var +k=a.read8u();if(k>=0x40)if(k>=w){var +r=k&0xF,l=k>>4&0x7,b=[r];if(l==0)return b;if(c)c[i++]=b;n.push(b,l);return b}else +return k&ci;else if(k>=0x20){var +f=k&0x1F,b=a.readstr(f);if(c)c[i++]=b;return b}else +switch(k){case +0x00:return a.read8s();case +0x01:return a.read16s();case +0x02:return a.read32s();case +0x03:m("input_value: integer too large");break;case +0x04:var +j=a.read8u();if(o==0)j=i-j;return c[j];case +0x05:var +j=a.read16u();if(o==0)j=i-j;return c[j];case +0x06:var +j=a.read32u();if(o==0)j=i-j;return c[j];case +0x08:var +t=a.read32u(),r=t&eo,l=t>>10,b=[r];if(l==0)return b;if(c)c[i++]=b;n.push(b,l);return b;case +0x13:m("input_value: data block too large");break;case +0x09:var +f=a.read8u(),b=a.readstr(f);if(c)c[i++]=b;return b;case +0x0A:var +f=a.read32u(),b=a.readstr(f);if(c)c[i++]=b;return b;case +0x0C:var +g=new +Array(8);for(var +d=0;d<8;d++)g[7-d]=a.read8u();var +b=aD(g);if(c)c[i++]=b;return b;case +0x0B:var +g=new +Array(8);for(var +d=0;d<8;d++)g[d]=a.read8u();var +b=aD(g);if(c)c[i++]=b;return b;case +0x0E:var +f=a.read8u(),b=new +Array(f+1);b[0]=ad;var +g=new +Array(8);if(c)c[i++]=b;for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[7-h]=a.read8u();b[d]=aD(g)}return b;case +0x0D:var +f=a.read8u(),b=new +Array(f+1);b[0]=ad;var +g=new +Array(8);if(c)c[i++]=b;for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[h]=a.read8u();b[d]=aD(g)}return b;case +0x07:var +f=a.read32u(),b=new +Array(f+1);b[0]=ad;if(c)c[i++]=b;var +g=new +Array(8);for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[7-h]=a.read8u();b[d]=aD(g)}return b;case +0x0F:var +f=a.read32u(),b=new +Array(f+1);b[0]=ad;var +g=new +Array(8);for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[h]=a.read8u();b[d]=aD(g)}return b;case +0x10:case +0x11:m("input_value: code pointer");break;case +0x12:case +0x18:case +0x19:var +s,u=e;while((s=a.read8u())!=0)u+=String.fromCharCode(s);var +q=aC[u],p;if(!q)m("input_value: unknown custom block identifier");switch(k){case +0x12:break;case +0x19:if(!q.fixed_length)m("input_value: expected a fixed-size custom block");p=q.fixed_length;break;case +0x18:p=a.read32u();a.read32s();a.read32s();break}var +v=a.i,l=[0],b=q.deserialize(a,l);if(p!=undefined)if(p!=l[0])m("input_value: incorrect length of serialized custom block");if(c)c[i++]=b;return b;default:m("input_value: ill-formed message")}}if(o)if(eX)var +u=d.readuint8array(h),g=new +Uint8Array(r),g=eX(u,g),d=new +cr(g,0);else +m("input_value: compressed object, cannot decompress");var +g=l(d);while(n.length>0){var +q=n.pop(),j=n.pop(),k=j.length;if(k>24&L,a>>31&E)}function +e6(a,b){return a.or(b)}function +h$(a){return a.toInt()}function +id(a,b){switch(b.length){case +1:return new +a;case +2:return new +a(b[1]);case +3:return new +a(b[1],b[2]);case +4:return new +a(b[1],b[2],b[3]);case +5:return new +a(b[1],b[2],b[3],b[4]);case +6:return new +a(b[1],b[2],b[3],b[4],b[5]);case +7:return new +a(b[1],b[2],b[3],b[4],b[5],b[6]);case +8:return new +a(b[1],b[2],b[3],b[4],b[5],b[6],b[7])}function +c(){return a.apply(this,e8(b))}c.prototype=a.prototype;return new +c}var +bq=aB;function +aF(a,b){return function(){var +f=arguments.length,d=new +Array(a),e=Math.min(arguments.length,a);for(var +c=0;c>16;return c}function +ig(a,b,c){var +p=2,q=3,t=5,e=6,i=7,h=8,k=9,o=1,n=2,s=3,u=4,r=5;if(!a.lex_default){a.lex_base=a2(a[o]);a.lex_backtrk=a2(a[n]);a.lex_check=a2(a[r]);a.lex_trans=a2(a[u]);a.lex_default=a2(a[s])}var +f,d=b,l=a5(c[p]);if(d>=0){c[i]=c[t]=c[e];c[h]=-1}else +d=-d-1;for(;;){var +g=a.lex_base[d];if(g<0)return-g-1;var +j=a.lex_backtrk[d];if(j>=0){c[i]=c[e];c[h]=j}if(c[e]>=c[q])if(c[k]==0)return-d-1;else +f=az;else{f=l[c[e]];c[e]++}if(a.lex_check[g+f]==d)d=a.lex_trans[g+f];else +d=a.lex_default[d];if(d<0){c[e]=c[i];if(c[h]==-1)m("lexing: empty token");else +return c[h]}else if(f==az)c[k]=0}}function +fa(a){return z(a)}function +e2(a,b){return a.add(b)}function +e3(a,b){return a.mul(b)}function +h8(a){return a.neg()}function +cF(a,b){return a.ucompare(b)<0}function +iw(a){var +b=0,e=f(a),c=10,d=1;if(e>0)switch(P(a,b)){case +45:b++;d=-1;break;case +43:b++;d=1;break}if(b+1=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}function +e4(a){var +i=iw(a),h=i[0],k=i[1],e=i[2],j=bv(e),l=new +d(L,0xfffffff,E).udivmod(j).quotient,g=P(a,h),b=fb(g);if(b<0||b>=e)m(aV);var +c=bv(b);for(;;){h++;g=P(a,h);if(g==95)continue;b=fb(g);if(b<0||b>=e)break;if(cF(l,c))m(aV);b=bv(b);c=e2(e3(j,c),b);if(cF(c,b))m(aV)}if(h!=f(a))m(aV);if(e==10&&cF(new +d(0,0,D),c))m(aV);if(k<0)c=h8(c);return c}function +hJ(a,b){return a.get(a.offset(b))}function +ib(a,b){return a.xor(b)}function +h_(a,b){return a.shift_right_unsigned(b)}function +h9(a,b){return a.shift_left(b)}function +a3(a){function +o(a,b){return h9(a,b)}function +h(a,b){return h_(a,b)}function +s(a,b){return e6(a,b)}function +f(a,b){return ib(a,b)}function +k(a,b){return e2(a,b)}function +i(a,b){return e3(a,b)}function +m(a,b){return s(o(a,b),h(a,64-b))}function +g(a,b){return hJ(a,b)}function +j(a,b,c){return aY(a,b,c)}var +q=e4(fa("0xd1342543de82ef95")),l=e4(fa("0xdaba0b6eb09322e3")),b,d,c,e=a,r=g(e,0),n=g(e,1),p=g(e,2),t=g(e,3);b=k(n,p);b=i(f(b,h(b,32)),l);b=i(f(b,h(b,32)),l);b=f(b,h(b,32));j(e,1,k(i(n,q),r));var +d=p,c=t;c=f(c,d);d=m(d,24);d=f(f(d,c),o(c,16));c=m(c,37);j(e,2,d);j(e,3,c);return b}function +H(a,b){if(a<0)aX();var +a=a+1|0,c=new +Array(a);c[0]=0;for(var +d=1;d>7)a[0]=true;d=e|b&bl}return d}switch(c.read32u()){case +0x8495A6BE:var +e=20,d=c.read32u();break;case +0x8495A6BD:var +e=c.read8u()&ci,f=[false],d=g(f);if(f[0])m("Marshal.data_size: object too large to be read back on this platform");break;case +0x8495A6BF:default:m("Marshal.data_size: bad object");break}return e-ij+d}function +hC(){var +a=new +ArrayBuffer(64),b=new +Uint32Array(a),c=new +Uint8Array(a);return{len:0,w:new +Uint32Array([0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476]),b32:b,b8:c}}var +bo=function(){function +k(a,b){return a+b|0}function +l(a,b,c,d,e,f){b=k(k(b,a),k(d,f));return k(b<>>32-e,c)}function +g(a,b,c,d,e,f,g){return l(b&c|~b&d,a,b,e,f,g)}function +h(a,b,c,d,e,f,g){return l(b&d|c&~d,a,b,e,f,g)}function +i(a,b,c,d,e,f,g){return l(b^c^d,a,b,e,f,g)}function +j(a,b,c,d,e,f,g){return l(c^(b|~d),a,b,e,f,g)}return function(a,b){var +c=a[0],d=a[1],e=a[2],f=a[3];c=g(c,d,e,f,b[0],7,0xD76AA478);f=g(f,c,d,e,b[1],12,0xE8C7B756);e=g(e,f,c,d,b[2],17,0x242070DB);d=g(d,e,f,c,b[3],22,0xC1BDCEEE);c=g(c,d,e,f,b[4],7,0xF57C0FAF);f=g(f,c,d,e,b[5],12,0x4787C62A);e=g(e,f,c,d,b[6],17,0xA8304613);d=g(d,e,f,c,b[7],22,0xFD469501);c=g(c,d,e,f,b[8],7,0x698098D8);f=g(f,c,d,e,b[9],12,0x8B44F7AF);e=g(e,f,c,d,b[10],17,0xFFFF5BB1);d=g(d,e,f,c,b[11],22,0x895CD7BE);c=g(c,d,e,f,b[12],7,0x6B901122);f=g(f,c,d,e,b[13],12,0xFD987193);e=g(e,f,c,d,b[14],17,0xA679438E);d=g(d,e,f,c,b[15],22,0x49B40821);c=h(c,d,e,f,b[1],5,0xF61E2562);f=h(f,c,d,e,b[6],9,0xC040B340);e=h(e,f,c,d,b[11],14,0x265E5A51);d=h(d,e,f,c,b[0],20,0xE9B6C7AA);c=h(c,d,e,f,b[5],5,0xD62F105D);f=h(f,c,d,e,b[10],9,0x02441453);e=h(e,f,c,d,b[15],14,0xD8A1E681);d=h(d,e,f,c,b[4],20,0xE7D3FBC8);c=h(c,d,e,f,b[9],5,0x21E1CDE6);f=h(f,c,d,e,b[14],9,0xC33707D6);e=h(e,f,c,d,b[3],14,0xF4D50D87);d=h(d,e,f,c,b[8],20,0x455A14ED);c=h(c,d,e,f,b[13],5,0xA9E3E905);f=h(f,c,d,e,b[2],9,0xFCEFA3F8);e=h(e,f,c,d,b[7],14,0x676F02D9);d=h(d,e,f,c,b[12],20,0x8D2A4C8A);c=i(c,d,e,f,b[5],4,0xFFFA3942);f=i(f,c,d,e,b[8],11,0x8771F681);e=i(e,f,c,d,b[11],16,0x6D9D6122);d=i(d,e,f,c,b[14],23,0xFDE5380C);c=i(c,d,e,f,b[1],4,0xA4BEEA44);f=i(f,c,d,e,b[4],11,0x4BDECFA9);e=i(e,f,c,d,b[7],16,0xF6BB4B60);d=i(d,e,f,c,b[10],23,0xBEBFBC70);c=i(c,d,e,f,b[13],4,0x289B7EC6);f=i(f,c,d,e,b[0],11,0xEAA127FA);e=i(e,f,c,d,b[3],16,0xD4EF3085);d=i(d,e,f,c,b[6],23,0x04881D05);c=i(c,d,e,f,b[9],4,0xD9D4D039);f=i(f,c,d,e,b[12],11,0xE6DB99E5);e=i(e,f,c,d,b[15],16,0x1FA27CF8);d=i(d,e,f,c,b[2],23,0xC4AC5665);c=j(c,d,e,f,b[0],6,0xF4292244);f=j(f,c,d,e,b[7],10,0x432AFF97);e=j(e,f,c,d,b[14],15,0xAB9423A7);d=j(d,e,f,c,b[5],21,0xFC93A039);c=j(c,d,e,f,b[12],6,0x655B59C3);f=j(f,c,d,e,b[3],10,0x8F0CCC92);e=j(e,f,c,d,b[10],15,0xFFEFF47D);d=j(d,e,f,c,b[1],21,0x85845DD1);c=j(c,d,e,f,b[8],6,0x6FA87E4F);f=j(f,c,d,e,b[15],10,0xFE2CE6E0);e=j(e,f,c,d,b[6],15,0xA3014314);d=j(d,e,f,c,b[13],21,0x4E0811A1);c=j(c,d,e,f,b[4],6,0xF7537E82);f=j(f,c,d,e,b[11],10,0xBD3AF235);e=j(e,f,c,d,b[2],15,0x2AD7D2BB);d=j(d,e,f,c,b[9],21,0xEB86D391);a[0]=k(c,a[0]);a[1]=k(d,a[1]);a[2]=k(e,a[2]);a[3]=k(f,a[3])}}();function +hD(a,b,c){var +e=a.len&af,d=0;a.len+=c;if(e){var +f=64-e;if(c=64){a.b8.set(b.subarray(d,d+64),0);bo(a.w,a.b32);c-=64;d+=64}if(c)a.b8.set(b.subarray(d,d+c),0)}function +hB(a){var +c=a.len⁡a.b8[c]=w;c++;if(c>56){for(var +b=c;b<64;b++)a.b8[b]=0;bo(a.w,a.b32);for(var +b=0;b<56;b++)a.b8[b]=0}else +for(var +b=c;b<56;b++)a.b8[b]=0;a.b32[14]=a.len<<3;a.b32[15]=a.len>>29&0x1FFFFFFF;bo(a.w,a.b32);var +e=new +Uint8Array(16);for(var +d=0;d<4;d++)for(var +b=0;b<4;b++)e[d*4+b]=a.w[d]>>8*b&eo;return e}function +ik(a,b,c){var +d=hC(),e=a5(a);hD(d,e.subarray(b,b+c),c);return cJ(hB(d))}function +il(a,b,c){return ik(G(a),b,c)}var +Z=new +Array();function +aH(a){var +b=Z[a];if(!b.opened)j("Cannot flush a closed channel");if(!b.buffer||b.buffer_curr==0)return 0;if(b.output)b.output(a4(b.buffer,0,b.buffer_curr));else +b.file.write(b.offset,b.buffer,0,b.buffer_curr);b.offset+=b.buffer_curr;b.buffer_curr=0;return 0}function +iD(a,b){if(b.name)try{var +d=require(ca),c=d.openSync(b.name,"rs");return new +F(c,b)}catch(f){}return new +F(a,b)}var +bB=new +Array(3);function +aW(a,b){t.call(this,u(0));this.log=function(a){return 0};if(a==1&&typeof +console.log=="function")this.log=console.log;else if(a==2&&typeof +console.error=="function")this.log=console.error;else if(typeof +console.log=="function")this.log=console.log;this.flags=b}aW.prototype.length=function(){return 0};aW.prototype.write=function(a,b,c,d){if(this.log){if(d>0&&c>=0&&c+d<=b.length&&b[c+d-1]==10)d--;var +e=u(d);W(cv(b),c,e,0,d);this.log(e.toUtf16());return 0}j(this.fd+d4)};aW.prototype.read=function(a,b,c,d){j(this.fd+": file descriptor is write only")};aW.prototype.close=function(){this.log=undefined};function +bC(a,b){if(b==undefined)b=bB.length;bB[b]=a;return b|0}function +iL(a,b,c){var +d={};while(b){switch(b[1]){case +0:d.rdonly=1;break;case +1:d.wronly=1;break;case +2:d.append=1;break;case +3:d.create=1;break;case +4:d.truncate=1;break;case +5:d.excl=1;break;case +6:d.binary=1;break;case +7:d.text=1;break;case +8:d.nonblock=1;break}b=b[2]}if(d.rdonly&&d.wronly)j(X(a)+co);if(d.text&&d.binary)j(X(a)+b_);var +e=fn(a),f=e.device.open(e.rest,d);return bC(f,undefined)}(function(){function +a(a,b){return a6()?iD(a,b):new +aW(a,b)}bC(a(0,{rdonly:1,altname:"/dev/stdin",isCharacterDevice:true}),0);bC(a(1,{buffered:2,wronly:1,isCharacterDevice:true}),1);bC(a(2,{buffered:2,wronly:1,isCharacterDevice:true}),2)}());function +io(a){var +b=bB[a];if(b.flags.wronly)j(eh+a+" is writeonly");var +d=null,c={file:b,offset:b.flags.append?b.length():0,fd:a,opened:true,out:false,buffer_curr:0,buffer_max:0,buffer:new +Uint8Array(ei),refill:d};Z[c.fd]=c;return c.fd}function +e9(a){var +b=bB[a];if(b.flags.rdonly)j(eh+a+" is readonly");var +d=b.flags.buffered!==undefined?b.flags.buffered:1,c={file:b,offset:b.flags.append?b.length():0,fd:a,opened:true,out:true,buffer_curr:0,buffer:new +Uint8Array(ei),buffered:d};Z[c.fd]=c;return c.fd}function +ip(){var +b=0;for(var +a=0;ae.buffer.length){var +g=new +Uint8Array(e.buffer_curr+b.length);g.set(e.buffer);e.buffer=g}switch(e.buffered){case +0:e.buffer.set(b,e.buffer_curr);e.buffer_curr+=b.length;aH(a);break;case +1:e.buffer.set(b,e.buffer_curr);e.buffer_curr+=b.length;if(e.buffer_curr>=e.buffer.length)aH(a);break;case +2:var +f=b.lastIndexOf(10);if(f<0){e.buffer.set(b,e.buffer_curr);e.buffer_curr+=b.length;if(e.buffer_curr>=e.buffer.length)aH(a)}else{e.buffer.set(b.subarray(0,f+1),e.buffer_curr);e.buffer_curr+=f+1;aH(a);e.buffer.set(b.subarray(f+1),e.buffer_curr);e.buffer_curr+=b.length-f-1}break}return 0}function +iq(a,b,c,d){var +b=a5(b);return is(a,b,c,d)}function +e_(a,b,c,d){return iq(a,G(b),c,d)}function +ir(a,b){var +c=z(String.fromCharCode(b));e_(a,c,0,1);return 0}function +bz(a,b){return+(br(a,b,false)!=0)}function +iu(a){if(a +instanceof +Array&&a[0]==a[0]>>>0)return a[0];else if(bw(a))return b7;else if(bx(a))return b7;else if(a +instanceof +Function||typeof +a=="function")return 247;else if(a&&a.caml_custom)return cb;else +return ae}function +hK(a){var +b;while(a)if(aG(a[1][1])=="SYJS"){b=a[1][2];break}else +a=a[2];var +d={};if(b)for(var +c=1;c=0)a=e;else +m("caml_register_global: cannot locate "+d)}}q[a+1]=b;if(c)q[c]=b}function +ff(a,b){e$[X(a)]=b;return 0}function +fh(a,b){if(a===b)return 1;return 0}function +iA(){p(b8)}function +v(a,b){if(b>>>0>=f(a))iA();return P(a,b)}function +iB(a,b){return 1-fh(a,b)}function +iC(){return 0x7FFFFFFF/4|0}function +ix(){fc(q.Not_found)}function +fi(a){var +b=fm(aG(a));if(b===undefined)ix();return O(b)}function +iE(){if(k.crypto)if(k.crypto.getRandomValues){var +a=k.crypto.getRandomValues(new +Int32Array(4));return[0,a[0],a[1],a[2],a[3]]}else if(k.crypto.randomBytes){var +a=new +Int32Array(k.crypto.randomBytes(16).buffer);return[0,a[0],a[1],a[2],a[3]]}var +b=new +Date().getTime(),c=b^0xffffffff*Math.random();return[0,c]}function +aI(a){var +b=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function +i(a,b){return{joo_tramp:a,joo_args:b}}function +ak(a){{if(a +instanceof +Array)return a;var +b;if(k.RangeError&&a +instanceof +k.RangeError&&a.message&&a.message.match(/maximum call stack/i))b=q.Stack_overflow;else if(k.InternalError&&a +instanceof +k.InternalError&&a.message&&a.message.match(/too much recursion/i))b=q.Stack_overflow;else if(a +instanceof +k.Error&&ai(ch))b=[0,ai(ch),a];else +b=[0,q.Failure,O(String(a))];if(a +instanceof +k.Error)b.js_error=a;return b}}function +ic(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function +hT(a){var +b=e;if(a[0]==0){b+=a[1][1];if(a.length==3&&a[2][0]==0&&ic(a[1]))var +f=a[2],g=1;else +var +g=2,f=a;b+="(";for(var +d=g;dg)b+=", ";var +c=f[d];if(typeof +c=="number")b+=c.toString();else if(c +instanceof +V)b+=aR+c.toString()+aR;else if(typeof +c=="string")b+=aR+c.toString()+aR;else +b+="_"}b+=")"}else if(a[0]==o)b+=a[1];return b}function +e0(a){if(a +instanceof +Array&&(a[0]==0||a[0]==o)){var +c=ai("Printexc.handle_uncaught_exception");if(c)bq(c,[a,false]);else{var +d=hT(a),b=ai(ej);if(b)bq(b,[0]);console.error("Fatal error: exception "+d);if(a.js_error)throw a.js_error}}else +throw a}function +iz(){var +c=k.process;if(c&&c.on)c.on("uncaughtException",function(a,b){e0(a);c.exit(2)});else if(k.addEventListener)k.addEventListener("error",function(a){if(a.error)e0(a.error)})}iz();function +h(a,b){return(a.l>=0?a.l:a.l=a.length)==1?a(b):aB(a,[b])}function +n(a,b,c){return(a.l>=0?a.l:a.l=a.length)==2?a(b,c):aB(a,[b,c])}function +hA(a,b,c,d){return(a.l>=0?a.l:a.l=a.length)==3?a(b,c,d):aB(a,[b,c,d])}var +iK=undefined;hU();var +cO=[o,ef,-2],cN=[o,cq,-3],cM=[o,d9,-4],B=[o,d_,-7],A=[o,eu,-11],c2=[0,e,1,0,0],dt=eE,dG=[0,1,0],bf=[0,0,0],dR="<",dS=">",dT="@",dU=""",dV="&",dW="'";C(11,[o,eB,-12],eB);C(10,A,eu);C(9,[o,ey,-10],ey);C(8,[o,ep,-9],ep);C(7,[o,eF,-8],eF);C(6,B,d_);C(5,[o,ec,-6],ec);C(4,[o,el,-5],el);C(3,cM,d9);C(2,cN,cq);C(1,cO,ef);C(0,[o,eI,-1],eI);var +fq="result is Error _",fr="hd",fu="String.blit / Bytes.blit_string",ft="Bytes.blit",fs="String.sub / Bytes.sub",fx="String.contains_from / Bytes.contains_from",fw=e,fv="String.concat",fy=d3,fz=d3,fC=[0,"array.ml",348,4],fA="Array.blit",fB="Stdlib.Array.Bottom",fD=[0,e,0,0,-1],fI="Set.remove_min_elt",fE=bj,fF=bj,fG=bj,fH=bj,fL="Buffer.add_substring/add_subbytes",fK="Buffer.add: cannot grow buffer",fV=y(14371852,15349651,22696),fW=y(12230193,11438743,35013),fX=y(1424933,15549263,2083),fY=y(9492471,4696708,43520),fO=y(1,0,0),fP=y(0,0,0),fS=y(1,0,0),fQ=y(0,0,0),fR=y(2,0,0),f2="Hashtbl: unsupported hash table format",fZ=e,f4="Jsoo_runtime.Error.Exn",gh=aS,gk=[0,cj,87,2],gj=[0,cj,83,2],gi=[0,cj,29,13],gn=[0,"query/type_parser.ml",285,4],gl="Query__Type_parser.MenhirBasics.Error",gt=[0,"\0\0\xf6\xffT\0\xc0\0\xf9\xff\x14\x01\xfb\xff\xfc\xff\xfd\xff\0\0\xff\xff\xfe\xff","\xff\xff\xff\xff\b\0\x07\0\xff\xff\x05\0\xff\xff\xff\xff\xff\xff\x01\0\xff\xff\xff\xff","\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0","\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\b\0\x07\0\x04\0\0\0\x06\0\t\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x0b\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x05\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0","\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\t\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\xff\xff\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\xff\xff\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x05\0\xff\xff\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\x05\0\xff\xff\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff",e,e,e,e,e,e],gv=[0,0,0,0],gu=[0,46,[0,40,[0,41,0]]],gw=e,gx=[0,ae],gD=[0,aT,121,10],gB=[0,aT,94,6],gC=[0,aT,95,6],gA=[0,aT,81,13],gz=[0,aT,33,14],gF=[0,1],gG=er,gH=er,gI=ee,gJ=ee,gK=[0,"query/succ.ml",129,9],gQ=[0,[0,ez],0],gR=[0,"<\/"],gS=[0,ez],gT=[0,"<"],gO=[0,aS],gP=[2,0],gL=[0,[0,aR],0],gM=aS,gN=[0,'class="'],gU="code",gV=en,gW=en,gX=[0,"entry-kind",0],gY=aS,gZ=[0,ew,0],g0=d5,g1=[0,"prefix-name",0],g2=[0,ew,0],g3=[0,"entry-rhs",0],g4=[0,"entry-comment",0],g5=[0,"entry-title",0],g6="doc",g7="type",g8="mod",g9="exn",g_=eA,g$=eA,ha="meth",hb=ex,hc="sig",hd=ex,he="field",hf="val",hg="ext",hw=d5,hs="DecompressionStream",hp="error in string_of_stream",hn="ReadableStream",hh="\n",hi=aS,hj="Error : ",hk=e;function +ap(a){throw l([0,cN,a],1)}function +s(a){throw l([0,cM,a],1)}function +bD(a,b){return ie(a,b)?a:b}function +a7(a,b){var +c=f(a),e=f(b),d=u(c+e|0);ah(a,0,d,0,c);ah(b,0,d,c,e);return aj(d)}function +bE(a,b){if(!a)return b;var +f=a[2],g=a[1];if(!f)return[0,g,b];var +h=f[2],l=f[1];if(!h)return[0,g,[0,l,b]];var +m=[0,h[1],N],d=m,c=1,e=h[2];for(;;){if(e){var +i=e[2],j=e[1];if(i){var +k=i[2],n=i[1];if(k){var +o=[0,k[1],N],p=k[2];d[1+c]=[0,j,[0,n,o]];var +d=o,c=1,e=p;continue}d[1+c]=[0,j,[0,n,b]]}else +d[1+c]=[0,j,b]}else +d[1+c]=b;return[0,g,[0,l,m]]}}io(0);var +a8=e9(1);e9(2);function +fo(a){var +b=ip(0);for(;;){if(!b)return 0;var +d=b[2],e=b[1];try{aH(e)}catch(f){var +c=ak(f);if(c[1]!==cO)throw l(c,0)}var +b=d}}function +cP(a,b){e_(a,b,0,f(b));return}var +fp=[0,fo],cQ=[0,function(a){return}];function +cR(a){h(cQ[1],0);return h(cs(fp),0)}ff(ej,cR);var +bF=iC(0),aK=(4*bF|0)-1|0;function +cS(d,b,c){var +a=h(b,0);if(!a)return 0;var +e=a[2],f=a[1];function +g(a){return cS(d,e,a)}return[0,h(d,f),g]}function +cT(d,b,c){var +e=b;for(;;){var +a=h(e,0);if(!a)return 0;var +f=a[2],g=a[1];if(h(d,g))return[0,g,function(a){return cT(d,f,a)}];var +e=f}}function +bG(a){return 25>>0?a:a+32|0}function +aq(a){var +c=0,b=a;for(;;){if(!b)return c;var +c=c+1|0,b=b[2]}}function +cU(a){return a?a[1]:ap(fr)}function +I(a,b){var +c=a,d=b;for(;;){if(!c)return d;var +e=[0,c[1],d],c=c[2],d=e}}function +aL(a){return I(a,0)}function +J(a,b){if(!b)return 0;var +f=b[2],i=b[1];if(!f)return[0,h(a,i),0];var +m=f[2],n=f[1],o=h(a,i),j=[0,h(a,n),N],e=j,d=1,c=m;for(;;){if(c){var +g=c[2],k=c[1];if(g){var +p=g[2],q=g[1],r=h(a,k),l=[0,h(a,q),N];e[1+d]=[0,r,l];var +e=l,d=1,c=p;continue}e[1+d]=[0,h(a,k),0]}else +e[1+d]=0;return[0,o,j]}}function +a9(a,b){var +m=0;if(!b)return 0;var +g=b[2],i=b[1];if(!g)return[0,n(a,m,i),0];var +o=g[2],p=g[1],q=n(a,m,i),j=[0,n(a,1,p),N],f=j,e=1,c=2,d=o;for(;;){if(d){var +h=d[2],k=d[1];if(h){var +r=h[2],s=h[1],t=n(a,c,k),l=[0,n(a,c+1|0,s),N];f[1+e]=[0,t,l];var +f=l,e=1,c=c+2|0,d=r;continue}f[1+e]=[0,n(a,c,k),0]}else +f[1+e]=0;return[0,q,j]}}function +cV(a,b){var +c=b;for(;;){if(!c)return 0;var +d=c[2];h(a,c[1]);var +c=d}}function +ar(a,b,c){var +e=b,d=c;for(;;){if(!d)return e;var +f=d[2],e=n(a,e,d[1]),d=f}}function +bH(a,b){var +d=b;for(;;){if(!d)return 0;var +g=d[2],i=d[1];if(h(a,i)){var +j=[0,i,N],f=j,e=1,c=g;for(;;){if(!c){f[1+e]=0;return j}var +k=c[2],l=c[1];if(h(a,l)){var +m=[0,l,N];f[1+e]=m;var +f=m,e=1,c=k}else +var +c=k}}else +var +d=g}}function +a_(c,b){function +j(a,b){if(2===a){if(b){var +j=b[2];if(j){var +k=j[1],l=b[1],y=j[2],z=0>1,t=r(s,b),A=t[1],u=r(a-s|0,t[2]),i=A,h=u[1],g=0,B=u[2];for(;;){if(i){if(h){var +p=h[1],q=i[1],w=h[2],x=i[2];if(0>1,t=j(s,b),A=t[1],u=j(a-s|0,t[2]),i=A,h=u[1],g=0,B=u[2];for(;;){if(i){if(h){var +q=h[1],r=i[1],w=h[2],x=i[2];if(0=b){var +d=u(c);W(a,b,d,0,c);return d}return s(fs)}function +cY(a,b,c){return aj(cX(a,b,c))}function +cZ(a,b,c,d,e){if(0<=e&&0<=b&&(f(a)-e|0)>=b&&0<=d&&(Y(c)-e|0)>=d){ah(a,b,c,d,e);return}return s(fu)}function +bI(a,b){var +c=u(a);hS(c,0,a,b);return aj(c)}function +a$(a,b,c){return aj(cX(G(a),b,c))}function +ba(a,b){if(!b)return fw;var +j=f(a);a:{b:{var +e=0,d=b,q=0;for(;;){if(!d)break;var +k=d[1];if(!d[2])break b;var +l=(f(k)+j|0)+e|0,n=d[2],o=e<=l?l:s(fv),e=o,d=n}var +m=e;break a}var +m=f(k)+e|0}var +i=u(m),h=q,g=b;for(;;){if(g){var +c=g[1];if(g[2]){var +p=g[2];ah(c,0,i,h,f(c));ah(a,0,i,h+f(c)|0,j);var +h=(h+f(c)|0)+j|0,g=p;continue}ah(c,0,i,h,f(c))}return aj(i)}}function +bJ(a,b){var +d=f(a),h=0;if(d<0)return s(fx);try{var +c=h;for(;;){if(d<=c)throw l(B,1);if(P(a,c)===b){var +g=1;return g}var +c=c+1|0}}catch(f){var +e=ak(f);if(e===B)return 0;throw l(e,0)}}function +c0(a){var +d=G(a),c=Y(d);if(0===c)var +g=d;else{var +e=u(c),f=c-1|0,h=0;if(f>=0){var +b=h;for(;;){cw(e,b,bG(eU(d,b)));var +i=b+1|0;if(f===b)break;var +b=i}}var +g=e}return aj(g)}function +bK(a,b){var +d=[0,0],e=[0,f(b)],g=f(b)-1|0;if(g>=0){var +c=g;for(;;){if(P(b,c)===a){var +i=d[1];d[1]=[0,a$(b,c+1|0,(e[1]-c|0)-1|0),i];e[1]=c}var +j=c-1|0;if(0===c)break;var +c=j}}var +h=d[1];return[0,a$(b,0,e[1]),h]}function +bb(a,b){return hM(G(a),b)}function +c1(a,b){var +d=b.length-1;if(0===d)return[0];var +e=H(d,h(a,b[1])),f=d-1|0,g=1;if(f>=1){var +c=g;for(;;){e[1+c]=h(a,b[1+c]);var +i=c+1|0;if(f===c)break;var +c=i}}return e}var +bL=[o,fB,cy(0)];function +c3(a,b,c){return cY(a[2],b,c-b|0)}function +c8(a){var +b=1<=a?a:1,c=aK=(f+b|0))break;c[1]=2*c[1]|0}if(aK=0&&(Y(e)-d|0)>=0){W(g,0,e,0,d);break a}s(ft)}a[1]=[0,e,c[1]];return}function +bN(a,b){var +c=f(b),d=a[2],e=a[1],g=d+c|0,h=e[1];if(e[2]=0&&(f.length-1-b|0)>=0){hE(d,0,f,0,b);break a}s(fA)}eZ(f);var +i=f}var +j=g(i,c)[1+c];if(j!==bO)return j;var +k=h(l,0);g(i,c)[1+c]=k;return k}var +fN=bP(0,function(a,b){return 0});cQ[1]=function(a){return h(da(fN),0)};function +db(a){var +b=aj(a);return il(b,0,f(b))}function +dc(a){return hH(7,0,[0,4])}function +dd(a,b,c,d,e){aY(a,0,e6(b,fO));aY(a,1,c);var +f=bz(d,fP)?d:fS;aY(a,2,f);var +g=bz(e,fQ)?e:fR;aY(a,3,g);return}function +de(a,b,c,d){var +e=dc(0);dd(e,a,b,c,d);return e}function +fT(a){var +j=iE(0),i=dc(0),d=j.length-1,c=u((d*8|0)+1|0),e=d-1|0,k=0;if(e>=0){var +b=k;for(;;){hN(c,b*8|0,bv(g(j,b)[1+b]));var +o=b+1|0;if(e===b)break;var +b=o}}eT(c,d*8|0,1);var +f=db(c);eT(c,d*8|0,2);var +h=db(c),l=bb(h,8),m=bb(h,0),n=bb(f,8);dd(i,bb(f,0),n,m,l);return i}function +fU(a){var +b=a3(a),c=a3(a),d=a3(a);return de(b,c,d,a3(a))}bP([0,fU],function(a){return de(fY,fX,fW,fV)});try{var +hy=fi(et),di=hy}catch(f){var +df=ak(f);if(df!==B)throw l(df,0);try{var +hx=fi("CAMLRUNPARAM"),dh=hx}catch(f){var +dg=ak(f);if(dg!==B)throw l(dg,0);var +dh=fZ}var +di=dh}var +f0=[0,bJ(di,82)],f1=bP(0,fT);function +bQ(a,b){return 4<=a.length-1?hV(10,100,a[3],b)&(a[2].length-1-1|0):s(f2)}var +dj=[o,f4,cy(0)],bR=[0,dj,[0]],f3=iu(bR)===o?bR:bR[1];ff(ch,f3);(function(a){throw a});var +f5=k;function +dk(a,b){var +c=a?a[1]:10;return b.toString(c)}f5["Number"];var +b=k,f6=null,f7=undefined,f9=b["Promise"];function +bS(a){return f9.resolve(a)}function +bT(a){return{fut:bS(a)}}function +dl(a,b){function +c(a){return h(b,a)[cp]}return{fut:a[cp].then(aF(1,c))}}function +dm(c,b){return dl(b,function(a){return bT(h(c,a))})}function +dn(a,b){return dm(b,a)}b["Event"];var +f_=b["ArrayBuffer"],f$=b["DataView"];b["Blob"];b["File"];b["JSON"];b["encodeURI"];b["decodeURI"];b["encodeURIComponent"];b["decodeURIComponent"];b["URL"];b["URLSearchParams"];var +bX=b["document"],f8=bX===f6?1:0,gg=f8||(bX===f7?1:0);if(!gg)bX["documentElement"];b[eJ];b[eJ];b["navigator"];b["performance"];b["window"];b["isSecureContext"];function +dr(a){return a?a[2]?[2,a]:a[1]:0}function +aM(a){return a?0:1}function +ds(a){var +b=0;return ar(function(a,b){return I(b,a)},b,a)}function +aN(f,b,c,d){if(typeof +d==="number")return 0===d?f?[0,[0,c,[0,dt,b]],0]:[0,[0,c,b],0]:0;switch(d[0]){case +0:var +h=d[1],i=aN(f,b,c,d[2]);return I(aN(f,b,aM(c),h),i);case +1:var +a=d[2],g=[0,c0(d[1]),b];return a?ds(a9(function(a,b){return aN(f,[0,e+a,g],c,b)},a)):[0,[0,c,g],0];case +2:var +j=d[1];return ds(J(function(a){return aN(f,b,c,a)},j));default:return[0,[0,c,[0,dt,b]],0]}}bI(0,95);function +du(a,b){var +c=a1(f(a),f(b));return 0===c?cI(a,b):c}function +aa(a,b){if(a===b)return 0;var +g=a1(a[5],b[5]);if(0!==g)return g;var +d=du(a[1],b[1]);if(0!==d)return d;var +c=cI(a[7][1],b[7][1]);if(0!==c)return c;var +e=x(a[4],b[4]);if(0!==e)return e;var +f=du(a[6],b[6]);return 0===f?cI(a[3],b[3]):f}function +be(a,b){var +r=a[1],c=a[2],i=0;for(;;){var +q=c[1];a:b:{var +e=i,k=q,s=q+c[2]|0;for(;;){if(f(b)<=e)break b;if(s<=k)break b;var +t=v(r,k);if(v(b,e)!==t)break;var +e=e+1|0,k=k+1|0}break a}var +h=e-i|0;if((i+h|0)===f(b))var +j=[0,[0,c[1]+h|0,c[2]-h|0,c[3],c[4],c[5]]];else if(h===c[2]){var +m=i+h|0;if(f(b)<=m)var +j=[0,c];else{var +p=c[5];a:{var +u=v(b,m);if(p){var +o=p[1];b:{var +d=0;for(;;){if(o.length-1<=d)break b;var +n=g(o,d)[1+d];if(u===v(r,n[1]-1|0))break;var +d=d+1|0}var +l=[0,n];break a}var +l=0}else +var +l=0}if(l){var +c=l[1],i=m+1|0;continue}var +j=0}}else +var +j=0;return j?[0,[0,a[1],j[1]]]:0}}function +bY(i,b,c,d){function +a(a){var +h=b[2];if(1<=h[2]){var +q=32===v(b[1],h[1])?1:0,k=i+q|0;if(1=0){var +g=o;for(;;){var +e=n[1+g];if(0>e[2])throw l([0,A,gk],1);bY(i,[0,b[1],[0,e[1]-1|0,e[2]+1|0,e[3],e[4],e[5]]],c,d);var +p=g+1|0;if(j===g)break;var +g=p}}return 0}if(0===i)return a(0);if(1===i&&fh(c,eE)){var +e=be(b,c);return e?h(d,e[1]):0}a(0);var +f=be(b,c);return f?h(d,f[1]):0}function +c7(a,b,c){var +d=b,e=c;for(;;){if(!d)return e;var +f=d[4],g=d[3],h=d[2],i=hA(a,h,g,c7(a,d[1],e)),d=f,e=i}}var +gm=[o,gl,cy(0)];function +ab(a){throw l(gm,1)}function +au(a){throw l([0,A,gn],1)}function +Q(a,b,c,d,e,f){var +j=h(d,c),g=[1,e,0];return a<50?aw(a+1|0,b,c,d,g,f,j):i(aw,[0,b,c,d,g,f,j])}function +aw(a,b,c,d,e,f,g){var +h=[0,e,0];return a<50?bg(a+1|0,b,c,d,h,f,g):i(bg,[0,b,c,d,h,f,g])}function +bg(a,b,c,d,e,f,g){if(typeof +g==="number")switch(g){case +1:case +6:break;default:var +p=dr(e);return a<50?ax(a+1|0,b,c,d,p,f,g):i(ax,[0,b,c,d,p,f,g])}else if(0===g[0]){var +m=[0,[0,b,f,e],g[1]],j=h(d,c);if(typeof +j==="number")switch(j){case +1:case +6:break;default:var +q=0;return a<50?bh(a+1|0,m,c,d,q,j):i(bh,[0,m,c,d,q,j])}else if(0===j[0]){a:{var +t=m,s=j[1],r=2;for(;;){var +u=[0,t,r,s],k=h(d,c);if(typeof +k==="number")break;if(0!==k[0])break a;var +t=u,s=k[1],r=3}switch(k){case +1:case +6:break;default:var +l=u,v=0;for(;;){var +w=l[2],n=l[1],o=[0,l[3],v];if(2===w)return a<50?bh(a+1|0,n,c,d,o,k):i(bh,[0,n,c,d,o,k]);if(3!==w)return au(0);var +l=n,v=o}}}return ab(0)}return ab(0)}return ab(0)}function +bh(a,b,c,d,e,f){var +g=b[1],j=g[2],k=g[1],l=[1,b[2],g[3]],h=ar(function(a,b){return[1,b,[0,a,0]]},l,e);return a<50?ax(a+1|0,k,c,d,h,j,f):i(ax,[0,k,c,d,h,j,f])}function +ax(a,b,c,d,e,f,g){if(typeof +g==="number")switch(g){case +0:var +k=[0,b,f,e],o=h(d,c),l=5;if(typeof +o==="number")switch(o){case +1:return a<50?am(a+1|0,k,c,d,l):i(am,[0,k,c,d,l]);case +6:return a<50?S(a+1|0,k,c,d,l):i(S,[0,k,c,d,l]);default:return a<50?T(a+1|0,k,c,d,l,o):i(T,[0,k,c,d,l,o])}if(0===o[0]){var +p=o[1];return a<50?Q(a+1|0,k,c,d,p,l):i(Q,[0,k,c,d,p,l])}var +q=o[1];return a<50?R(a+1|0,k,c,d,q,l):i(R,[0,k,c,d,q,l]);case +1:case +6:break;default:var +j=b,n=[0,e,0],m=f;for(;;)switch(m){case +0:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);case +1:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);case +4:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);case +5:var +r=j[2],s=[0,j[3],n],j=j[1],n=s,m=r;break;case +6:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);default:return au(0)}}return au(0)}function +R(a,b,c,d,e,f){var +g=h(d,c),j=[3,e];return a<50?aw(a+1|0,b,c,d,j,f,g):i(aw,[0,b,c,d,j,f,g])}function +am(a,b,c,d,e){var +l=b,k=e;for(;;){var +f=[0,l,k],j=h(d,c),g=1;if(typeof +j!=="number"){if(0===j[0]){var +m=j[1];return a<50?Q(a+1|0,f,c,d,m,g):i(Q,[0,f,c,d,m,g])}var +n=j[1];return a<50?R(a+1|0,f,c,d,n,g):i(R,[0,f,c,d,n,g])}switch(j){case +1:var +l=f,k=g;break;case +3:return ab(0);case +6:return a<50?S(a+1|0,f,c,d,g):i(S,[0,f,c,d,g]);default:return a<50?T(a+1|0,f,c,d,g,j):i(T,[0,f,c,d,g,j])}}}function +S(a,b,c,d,e){var +f=h(d,c),g=0;return a<50?aw(a+1|0,b,c,d,g,e,f):i(aw,[0,b,c,d,g,e,f])}function +T(a,b,c,d,e,f){var +g=0;return a<50?ax(a+1|0,b,c,d,g,e,f):i(ax,[0,b,c,d,g,e,f])}function +ac(a,b,c,d,e,f,g){var +p=dr(e);if(typeof +g==="number")switch(g){case +5:var +j=[0,b,f,p],m=h(d,c),k=4;if(typeof +m==="number")switch(m){case +1:return a<50?am(a+1|0,j,c,d,k):i(am,[0,j,c,d,k]);case +6:return a<50?S(a+1|0,j,c,d,k):i(S,[0,j,c,d,k]);default:return a<50?T(a+1|0,j,c,d,k,m):i(T,[0,j,c,d,k,m])}if(0===m[0]){var +q=m[1];return a<50?Q(a+1|0,j,c,d,q,k):i(Q,[0,j,c,d,q,k])}var +r=m[1];return a<50?R(a+1|0,j,c,d,r,k):i(R,[0,j,c,d,r,k]);case +0:case +1:case +6:break;default:var +l=b,n=p,o=f;for(;;)switch(o){case +0:if(typeof +g==="number"&&3===g)return n;return ab(0);case +1:return a<50?bi(a+1|0,l,c,d,n,o,g):i(bi,[0,l,c,d,n,o,g]);case +4:var +s=l[2],t=[0,l[3],n],l=l[1],n=t,o=s;break;case +6:return a<50?bi(a+1|0,l,c,d,n,o,g):i(bi,[0,l,c,d,n,o,g]);default:return au(0)}}return au(0)}function +bi(a,b,c,d,e,f,g){if(typeof +g==="number"){var +p=g-2|0;if(2>=p>>>0)switch(p){case +0:var +m=b,n=[0,e,0],o=f;for(;;){if(1===o){var +s=h(d,c),t=m[2],u=m[1];return a<50?bg(a+1|0,u,c,d,n,t,s):i(bg,[0,u,c,d,n,t,s])}if(6>o)return au(0);var +v=m[2],w=[0,m[3],n],m=m[1],n=w,o=v}break;case +1:break;default:var +j=[0,b,f,e],l=h(d,c),k=6;if(typeof +l==="number")switch(l){case +1:return a<50?am(a+1|0,j,c,d,k):i(am,[0,j,c,d,k]);case +3:return ab(0);case +6:return a<50?S(a+1|0,j,c,d,k):i(S,[0,j,c,d,k]);default:return a<50?T(a+1|0,j,c,d,k,l):i(T,[0,j,c,d,k,l])}if(0===l[0]){var +q=l[1];return a<50?Q(a+1|0,j,c,d,q,k):i(Q,[0,j,c,d,q,k])}var +r=l[1];return a<50?R(a+1|0,j,c,d,r,k):i(R,[0,j,c,d,r,k])}}return ab(0)}function +go(a,b,c,d,e){return aI(Q(0,a,b,c,d,e))}function +gp(a,b,c,d,e){return aI(R(0,a,b,c,d,e))}function +gq(a,b,c,d){return aI(am(0,a,b,c,d))}function +gr(a,b,c,d){return aI(S(0,a,b,c,d))}function +gs(a,b,c,d,e){return aI(T(0,a,b,c,d,e))}function +av(a){for(;;){var +e=0;for(;;){var +b=ig(gt,e,a),d=0<=b?1:0,f=d?a[12]!==fD?1:0:d;if(f){a[11]=a[12];var +c=a[12];a[12]=[0,c[1],c[2],c[3],a[4]+a[6]|0]}if(9>=b>>>0)break;h(a[1],a);var +e=b}switch(b){case +0:break;case +1:return 5;case +2:return 1;case +3:return 2;case +4:return 4;case +5:return 6;case +6:return 0;case +7:return[1,c3(a,a[5]+1|0,a[6])];case +8:return[0,c3(a,a[5],a[6])];default:return 3}}}function +dv(a,b){if(0>b)return 0;if(f(a)>b){var +c=gu,h=v(a,b);for(;;){if(c){var +g=c[2],d=0===x(c[1],h)?1:0;if(!d){var +c=g;continue}var +e=d}else +var +e=0;if(e)break;return 95===v(a,b)?3:10}}return 1}function +dw(a,e,c){var +o=a?a[1]:0,h=0,i=0;for(;;){if(f(c)<(h+f(e)|0)){var +p=0;return ar(function(a,b){var +d=b[1],h=b[2],i=dv(c,d-1|0),j=dv(c,d+f(e)|0)/3|0,k=o<=d?0:10,g=((h+i|0)+j|0)+k|0;if(a&&a[1][2]=g){var +u=g<=f?f+1|0:g+1|0;return[0,a,b,c,u]}if(!c)return s(fH);var +i=c[3],k=c[2],e=c[1],p=bc(e);if(p<=bc(i))return K(K(a,b,e),k,i);if(!e)return s(fG);var +q=e[2],r=e[1],t=K(e[3],k,i);return K(K(a,b,r),q,t)}function +bd(a,b){if(!b)return[0,0,a,0,1];var +c=b[3],d=b[2],e=b[1],f=aa(a,d);if(0===f)return b;if(0<=f){var +g=bd(a,c);return c===g?b:as(e,d,g)}var +h=bd(a,e);return e===h?b:as(h,d,c)}function +c4(a){if(!a)return s(fI);var +b=a[1];if(!b)return a[3];var +c=a[3],d=a[2];return as(c4(b),d,c)}var +fJ=0;function +bM(a,b){if(!b)return 0;var +c=b[3],f=b[2],d=b[1],h=aa(a,f);if(0!==h){if(0<=h){var +i=bM(a,c);return c===i?b:as(d,f,i)}var +j=bM(a,d);return d===j?b:as(j,f,c)}if(!d)return c;if(!c)return d;var +e=c,k=c4(c);for(;;){if(!e)throw l(B,1);var +g=e[1];if(!g)return as(d,e[2],k);var +e=g}}function +c5(a,b){var +c=a,d=b;for(;;){if(!c)return d;var +e=[0,c[2],c[3],d],c=c[1],d=e}}function +c6(a,b){if(!a)return 0;var +c=a[1],d=c5(a[2],a[3]);return[0,c,function(a){return c6(d,a)}]}var +gy=[0,0,fJ];function +dD(a,b){var +am=b[1],an=a[1],P=ar(function(a,b){var +c=a[3],d=a[2],e=a[1],g=dw([0,e],b,am);if(!g)return[0,e,d,(c+f(b)|0)+50|0];var +h=g[1];return[0,h[1]+f(b)|0,d+h[2]|0,c]},gv,an),X=a[2],F=b[4];a:{var +ah=P[2]+P[3]|0;if(typeof +F!=="number"&&1!==F[0]){var +G=[0,F[1]];break a}var +G=0}if(X){var +W=X[1];if(G){var +V=dy(G[1]);a:{if(W&&V){var +n=J(function(e){return J(function(a){var +l=aq(e),d=1+l|0,i=H(d,[0]),c=d-1|0,m=1+aq(a)|0,f=0;if(c>=0){var +b=f;for(;;){i[1+b]=H(m,-1);var +k=b+1|0;if(c===b)break;var +b=k}}function +h(a,b,c,d,e,f){var +h=g(g(i,c)[1+c],d)[1+d];if(0<=h)return h;var +k=j(a,b,c,d,e,f);g(g(i,c)[1+c],d)[1+d]=k;return k}function +j(a,b,c,d,e,f){if(!e)return f?0:0;var +g=e[1];a:{b:{c:{d:{e:{if(typeof +g==="number")switch(g){case +0:if(!e[2]){if(!f)break c;var +s=f[1];if(typeof +s==="number"&&2>s&&!f[2]&&a===b)return 0}break;case +1:if(!e[2]&&a===b)return 0;break;case +2:if(!f)break e;var +t=f[1];if(typeof +t==="number"&&2===t){var +E=f[2],F=e[2],G=aM(b);return h(aM(a),G,c+1|0,d+1|0,F,E)}break}if(f){var +u=f[2],v=e[2];if(hQ(g,f[1])&&a===b)return h(a,b,c+1|0,d+1|0,v,u);if(typeof +g==="number"){if(2===g)break e}else +f:switch(g[0]){case +0:var +i=f[1],y=e[2],z=g[1];if(typeof +i==="number")switch(i){case +2:break f;case +3:break d}else if(0===i[0]){var +q=f[2],A=i[1];if(a!==b)break a;var +r=dw(0,z,A);if(!r)return 10+h(a,b,c,d+1|0,e,q)|0;var +B=r[1][2];return(B/3|0)+h(a,b,c+1|0,d+1|0,y,q)|0}break a;case +1:var +j=f[1],C=e[2];if(typeof +j==="number")switch(j){case +2:break f;case +3:break d}else if(1===j[0])return 1+h(a,b,c+1|0,d+1|0,C,f[2])|0;break b;default:var +k=f[1],D=e[2];if(typeof +k==="number")switch(k){case +2:break f;case +3:break d}else if(2===k[0])return 1+h(a,b,c+1|0,d+1|0,D,f[2])|0;break a}var +l=f[1];if(typeof +l==="number"&&2===l){var +w=f[2];return 1+h(a,aM(b),c,d+1|0,e,w)|0}}}var +m=e[1];if(typeof +m!=="number")break c;if(2===m){var +x=e[2];return 1+h(aM(a),b,c+1|0,d,x,f)|0}}if(f){var +n=f[1];if(typeof +n==="number"&&3<=n)return h(a,b,c,d+1|0,e,f[2])}var +o=e[1];if(typeof +o==="number"&&3===o)return h(a,b,c+1|0,d,e[2],f)}if(!f)return cd}if(typeof +e[1]!=="number")return 1+h(a,b,c+1|0,d,e[2],f)|0}var +p=f[1];if(typeof +p==="number")return cd;switch(p[0]){case +0:return 10+h(a,b,c,d+1|0,e,f[2])|0;case +1:return 1+h(a,b,c,d+1|0,e,f[2])|0;default:return h(a,b,c,d+1|0,e,f[2])}}return j(0,0,0,0,e,a)},V)},W);if(!n){var +I=0;break a}var +s=H(aq(cU(n)),0);if(n){var +w=0,v=n,Y=n[2],Z=n[1];for(;;){if(!v)break;var +w=w+1|0,v=v[2]}var +K=H(w,Z),y=1,p=Y;for(;;){if(!p)break;var +_=p[2];K[1+y]=p[1];var +y=y+1|0,p=_}var +Q=K}else +var +Q=[0];var +d=c1(function(a){return a_(x,a9(function(a,b){return[0,b,a]},a))},Q),L=function(a,b){var +c=((b+b|0)+b|0)+1|0,e=[0,c];if((c+2|0)x(g(d,c)[1+c],n))return c+1|0}if(c=0){var +k=N;for(;;){var +E=g(d,k)[1+k];try{var +j=k;for(;;){var +o=L(r,j);if(0>=x(g(d,o)[1+o],E))break;var +$=g(d,o)[1+o];g(d,j)[1+j]=$;var +j=o}g(d,j)[1+j]=E}catch(f){var +z=ak(f);if(z[1]!==bL)throw l(z,0);var +M=z[2];g(d,M)[1+M]=E}var +ag=k-1|0;if(0===k)break;var +k=ag}}var +O=r-1|0;if(O>=2){var +i=O;for(;;){var +D=g(d,i)[1+i];d[1+i]=g(d,0)[1];var +ad=0;try{var +q=ad;for(;;){var +B=L(i,q),aa=g(d,B)[1+B];g(d,q)[1+q]=aa;var +q=B}}catch(f){var +C=ak(f);if(C[1]!==bL)throw l(C,0);b:{c:{var +e=C[2];for(;;){var +h=(e-1|0)/3|0;if(e===h)throw l([0,A,fC],1);if(0<=x(g(d,h)[1+h],D))break;var +ab=g(d,h)[1+h];g(d,e)[1+e]=ab;if(0>=h)break c;var +e=h}g(d,e)[1+e]=D;break b}g(d,0)[1]=D}var +af=i-1|0;if(2===i)break;var +i=af}}}if(1=0){var +c=R;for(;;){var +U=c+1|0,ai=cU(g(d,c)[1+c])[1],aj=g(t,U)[1+U]+ai|0;g(t,c)[1+c]=aj;var +al=c-1|0;if(0===c)break;var +c=al}}var +m=[0,ae],S=[0,0],T=function(a,b,c){S[1]++;if(cd=a){m[1]=bD(b+(ae*(d.length-1-c|0)|0)|0,m[1]);return 1}if(d.length-1<=c){m[1]=bD(b+(5*a|0)|0,m[1]);return 1}var +j=m[1];if(j<=(b+g(t,c)[1+c]|0))return 1;var +f=g(d,c)[1+c];for(;;){if(!f)return 1;var +h=f[1],e=h[2],k=f[2],l=h[1];if(g(s,e)[1+e])var +i=1;else{g(s,e)[1+e]=1;var +n=T(a-1|0,b+l|0,c+1|0);s[1+e]=0;var +i=n}if(!i)return 0;var +f=k}};T(s.length-1,0,0);var +I=m[1];break a}var +I=0}var +u=[0,I]}else +var +u=gx}else +var +u=0;var +ao=u?u[1]:0;return[0,b[1],b[2],b[3],b[4],b[5]+(5*(ah+ao|0)|0)|0,b[6],b[7]]}function +dE(a){if(typeof +a==="number")return 0;switch(a[0]){case +0:return a[2].length-1-a[1]|0;case +1:return a[2][2][3];default:var +b=a[2],c=0;return ar(function(a,b){return a+dE(b)|0},c,b)}}function +aP(a){if(typeof +a==="number")return 0;if(0!==a[0])return[0,a[1]];var +b=a[1];return[0,g(a[2],b)[1+b]]}function +bZ(a){var +b=a[2][4];if(typeof +b==="number")throw l([0,A,gi],1);return[1,g(b[1],0)[1],a]}function +dF(c,b){var +a=aP(c);if(!a)return b;var +h=a[1];function +d(a){var +b=a;for(;;){if(!b)return[0,c,0];var +e=b[2],f=b[1],g=aP(f);if(g)return 0k)break;var +C=[0,B[1+k],n],k=k-1|0,n=C}var +H=dF(s,n),m=bH(function(a){return bz(0,a)},H),y=m?m[2]?[2,w,m]:m[1]:0}var +a=y;break;default:if(h(d,a[1]))return a;var +J=a[2],z=function(a,b){if(!b)return 0;var +e=b[2],c=b[1],f=b0(d,c);if(c!==f)return dF(f,z(a+1|0,e));if(0=0){var +h=S;for(;;){var +b=g(r,h)[1+h];for(;;){if(!b)break;var +w=b[1],Q=b[2],R=b[3],q=t?b:[0,w,Q,0],e=bQ(c,w),y=g(p,e)[1+e];if(y)y[3]=q;else +g(s,e)[1+e]=q;g(p,e)[1+e]=q;var +b=R}var +V=h+1|0;if(z===h)break;var +h=V}}if(t){var +A=v-1|0,T=0;if(A>=0){var +f=T;for(;;){var +D=g(p,f)[1+f];if(D)D[3]=0;var +U=f+1|0;if(A===f)break;var +f=U}}var +C=0}else +var +C=t;return C}var +K=J}else +var +K=u;return K},s);var +h=c[2];function +i(a,b,c){var +d=a,e=b;for(;;){if(e){var +f=e[1],j=e[2],k=e[3];return[0,[0,f,j],function(a){return i(d,k,a)}]}if(d===h.length-1)return 0;var +l=g(h,d)[1+d],d=d+1|0,e=l}}var +k=0,m=0;function +n(a){return i(m,k,a)}function +o(a){var +b=a[1];return[0,b[2],a[2],b[1]]}function +p(a){return cS(o,n,a)}function +q(a){return 0=0){var +at=gd;for(;;){var +bV=b5.charCodeAt(at);if(cb=g>>>0)switch(g){case +0:return a<50?e(a+1|0,dR,b,d):i(e,[0,dR,b,d]);case +2:return a<50?e(a+1|0,dS,b,d):i(e,[0,dS,b,d]);case +4:return a<50?e(a+1|0,dT,b,d):i(e,[0,dT,b,d])}}else if(34<=f)switch(f-34|0){case +0:return a<50?e(a+1|0,dU,b,d):i(e,[0,dU,b,d]);case +4:return a<50?e(a+1|0,dV,b,d):i(e,[0,dV,b,d]);case +5:return a<50?e(a+1|0,dW,b,d):i(e,[0,dW,b,d])}var +d=d+1|0}},e=function(a,b,c,d){k(c,d);bN(g,b);var +e=d+1|0;return a<50?j(a+1|0,e,e):i(j,[0,e,e])};return function(a,b){return aI(j(0,a,b))}(0,0);default:return cV(b,a[1])}}return b}(N)(af));A[t]={html:aG(c9(N)),url:aG(ar)};var +t=t+1|0,p=_}});function +a(a){return a}c[cp].then(aF(1,a));return 0});cR(0);return}(globalThis));