PH7AKWRBCWPXPEJUTUHSFXQDXMIS7PYXMESXPKZWTOAN7SCYY2SQC 5FKUXTX6W7SHEM5RGUEYIZVNOLNXJMQ3IREK7DE4O4WP54TIVVLAC FP3BMJFWCNR4YFLLECYVL2OBB6DMPOILJHXK2FIWY23ACOFSQTIQC YX4UYYPLA6YLS47QVCMRJMO3ZAOMU2I67H6QKJI3IFPFI6AUTH7AC UEZNDS4MKT44LO4BNOFCHWRTG26YMB75SZ4BJ2KW7GAQHI6I23SAC PCIANMLJYEIEBUS3HWSVRXZEG6EZIIMREXROP4SJK7ZQXAKNIQ3AC 4D3GZC6IQAAPNE375QLZQYO4PCP4HPEFRAK3WDQPDMG6A5ANKMBAC ZG6T77YTDUPIGFVTHSXT2ACMU6FTRDQD5HFRNTQKQYPU4SJCDBEAC 7US4CJU7KD4VAWUMSNWGVJGFFWAALCP6Y3EQCGUPW3CMFFJINZNAC 4VNKDKIRGJ2IKQZDX2J4IPCW2NGIAVCCIS5JG3KPV5QQSZZJKW5AC P2TKCIN4ZTEBFGEUKME3FG4SJEW5SQTPHWTUUILEJZNDOBZDPNGAC 6F3WIYUDNDTT6ADUB44REHUGFRYOXKPYY7OAWDC4XS2JJGCGN3SAC PMFIWMU2SACHCJFSDMXE7REAKT7REEUTMLQQA6JN5B5ALVOUID4QC U5EMCSCECYRFPMQG7J5VPCYTCSG6BNGK42DYD3I373SNNNEP7KLQC TIOHHGGAA3F3PGQTQNTMSEKWTU56TVOKSHCI3FIBSORQ3TQK57DQC I2QBWFO54IMXPS77GNZK7FHSKQDSYWYQPTUPPK2EC4JD2UWBHLZAC let where_list = [""; "town"; "good tramping tracks"; "tough tramping tracks"; "off-track"; "scrub"; "the tops"; "the crags"; "the summit"]let what_list = [""; "under 2 kg"; "2 to 5 kg"; "5 to 10 kg"; "10 to 20 kg"; "20 to 25 kg"; "+ 25 kg"]
let where_list =["";"town";"good tramping tracks";"tough tramping tracks";"off-track";"scrub";"the tops";"the crags";"the summit";]
let init : state ={often = first_element often_list; most_used = ""; where = first_element where_list; what = first_element what_list; message = ""}
let init : state ={often = first_element often_list;most_used = "";where = first_element where_list;what = first_element what_list;message = "";}
let open Html inlet open Attribute inlet img attrs nodes = node "img" attrs nodes indiv [] [div [class_ "grid"] [div [] []; img [src "logo.svg"] []; div [] []
let open Html inlet open Attribute inlet img attrs nodes = node "img" attrs nodes indiv [][div [ class_ "grid" ] [ div [] []; img [ src "logo.svg" ] []; div [] [] ];p [][text"Please complete this survey. Help design the next Fiordland Pack.";];p [][text"This is 100% anonymous. No google analytics. No facebook pixel. \No cookies.";];
let open Html inlet open Attribute indiv [] [li [] [ text "often: "; text state.often ]; li [] [ text "most used: "; text state.most_used ]; li [] [ text "where: "; text state.where ]; li [] [ text "what: "; text state.what ]; li [] [ text "message: "; text state.message ]]
let open Html inlet open Attribute indiv [][li [] [ text "often: "; text state.often ];li [] [ text "most used: "; text state.most_used ];li [] [ text "where: "; text state.where ];li [] [ text "what: "; text state.what ];li [] [ text "message: "; text state.message ];]
let open Html inlet open Attribute inlet often str = Often str inlet most_used str = Most_used str inlet where str = Where str inlet what str = What str inlet message str = Message str in
let open Html inlet open Attribute inlet often str = Often str inlet most_used str = Most_used str inlet where str = Where str inlet what str = What str inlet message str = Message str in
let section attrs nodes = node "section" attrs nodes inlet form attrs nodes = node "form" attrs nodes indiv [class_ "container"] [section [id "header"] [ header_view state ]; section [id "main"] [form [attribute "action" "https://formspree.io/f/mpzvpdvp"; attribute "method" "post"] [section [] [label [attribute "for" "how_often"] [text "How often do you use a backpack?"; select [attribute "type" "text"; attribute "name" "how_often"; id "how_often"; value state.often; on_input often](List.map (fun x -> node "option" [] [text x]) often_list)]; label [attribute "for" "where"] [text "Where do you use your pack most?"; select [attribute "type" "text"; attribute "name" "where"; id "where"; value state.where; on_input where](List.map (fun x -> node "option" [] [text x]) where_list)]; label [attribute "for" "what"] [text "What kind of load do you carry?"; select [attribute "type" "text"; attribute "name" "what"; id "what"; value state.what; on_input what](List.map (fun x -> node "option" [] [text x]) what_list)]; label [attribute "for" "most_used"] [text "What is your all time most used backpack?"; input [attribute "type" "text"; attribute "name" "most_used"; id "most_used"; value state.most_used; on_input most_used] []]; label [attribute "for" "message"] [text "What is most important in a backpack?"; textarea [attribute "type" "text"; attribute "name" "message"; id "message"; value state.message; on_input message] []]; button [attribute "type" "submit"] [text "Send"]
let section attrs nodes = node "section" attrs nodes inlet form attrs nodes = node "form" attrs nodes indiv[ class_ "container" ][section [ id "header" ] [ header_view state ];section[ id "main" ][form[attribute "action" "https://formspree.io/f/mpzvpdvp";attribute "method" "post";
[section [][label[ attribute "for" "how_often" ][text "How often do you use a backpack?";select[attribute "type" "text";attribute "name" "how_often";id "how_often";value state.often;on_input often;](List.map(fun x -> node "option" [] [ text x ])often_list);];label[ attribute "for" "where" ][text "Where do you use your pack most?";select[attribute "type" "text";attribute "name" "where";id "where";value state.where;on_input where;](List.map(fun x -> node "option" [] [ text x ])where_list);];label[ attribute "for" "what" ][text "What kind of load do you carry?";select[attribute "type" "text";attribute "name" "what";id "what";value state.what;on_input what;](List.map(fun x -> node "option" [] [ text x ])what_list);];label[ attribute "for" "most_used" ][text "What is your all time most used backpack?";input[attribute "type" "text";attribute "name" "most_used";id "most_used";value state.most_used;on_input most_used;][];];label[ attribute "for" "message" ][text "What is most important in a backpack?";textarea[attribute "type" "text";attribute "name" "message";id "message";value state.message;on_input message;][];];button [ attribute "type" "submit" ] [ text "Send" ];];];
| Often str -> { state with often = str }| Most_used str -> { state with most_used = str }| Where str -> { state with where = str }| What str -> { state with what = str }| Message str -> { state with message = str }
| Often str -> { state with often = str }| Most_used str -> { state with most_used = str }| Where str -> { state with where = str }| What str -> { state with what = str }| Message str -> { state with message = str }
let epx200 = ["Army Olive EPX200"; "Black Knight EPX200"; "Brick Red EPX200"; "Bright Blue EPX200"; "Bright Orange EPX200"; "Coyote Brown EPX200"; "Deep Purple EPX200"; "Fuchsia EPX200"; "Golden Dazy EPX200"; "Green Mountain EPX200"; "Ocean Blue EPX200"; "Red Barn EPX200"; "Snow White EPX200"; "Teal EPX200"; "Wolf Grey EPX200"]let epx400 = ["Black Knight EPX400"]let ultra = ["Black Ultra 400TX"]
let epx200 =["Army Olive EPX200";"Black Knight EPX200";"Brick Red EPX200";"Bright Blue EPX200";"Bright Orange EPX200";"Coyote Brown EPX200";"Deep Purple EPX200";"Fuchsia EPX200";"Golden Dazy EPX200";"Green Mountain EPX200";"Ocean Blue EPX200";"Red Barn EPX200";"Snow White EPX200";"Teal EPX200";"Wolf Grey EPX200";]
let vx42 = ["Black VX42"]let vx21 = ["Black VX21 Cire"]let vx07 = ["Navy Blue VX07"; "Red VX07"; "Off-white VX07"]let liteskin = ["Liteskin LS07"]
let epx400 = [ "Black Knight EPX400" ]let ultra = [ "Black Ultra 400TX" ]let vx42 = [ "Black VX42" ]let vx21 = [ "Black VX21 Cire" ]let vx07 = [ "Navy Blue VX07"; "Red VX07"; "Off-white VX07" ]let liteskin = [ "Liteskin LS07" ]
let pack_list = [""; "70l Alpine Pack"; "65l Classic Pack"; "60l Alpine Pack"; "55l Classic Pack"; "50l Alpine Pack"; "45l Classic Pack"; "35l Fast Pack"; "25l Strong Pack"; "25l Fast Pack"]
let pack_list =["";"70l Alpine Pack";"65l Classic Pack";"60l Alpine Pack";"55l Classic Pack";"50l Alpine Pack";"45l Classic Pack";"35l Fast Pack";"25l Strong Pack";"25l Fast Pack";]
let specCP65 = ["Slightly narrower at hip level, tapered rolltop"; "Average width: 34cm"; "Depth: 22cm"; "Height: 87cm"; "Volume: 65l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"; "Carry quite a considerable load (but not 40kg of meat)"; "2 Side Compression Straps (each side)"; "Large side pockets with bungy cord closure"; "Large HDPE Gridstop back pocket with 3mm bungy cord"; "1 Ice Axe Loop"; "Loops to carry hiking poles"; "Flat Lycra Hip Belt Pockets"; "Internal pocket that can double as a shoulder bag"; "Removable aluminium frame"; "Replaceable EVA foam back padding"; "Load lifters"; "Y strap (over the top)"; "Tapered rolltop with 19mm side release buckle"; "Sternum Strap"; "Replaceable Pack Base"]
let specCP65 =["Slightly narrower at hip level, tapered rolltop";"Average width: 34cm";"Depth: 22cm";"Height: 87cm";"Volume: 65l to the top of an open bag, excluding pockets and any for \Ultra 400TX rolltop";"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";"Carry quite a considerable load (but not 40kg of meat)";"2 Side Compression Straps (each side)";"Large side pockets with bungy cord closure";"Large HDPE Gridstop back pocket with 3mm bungy cord";"1 Ice Axe Loop";"Loops to carry hiking poles";"Flat Lycra Hip Belt Pockets";"Internal pocket that can double as a shoulder bag";"Removable aluminium frame";"Replaceable EVA foam back padding";"Load lifters";"Y strap (over the top)";"Tapered rolltop with 19mm side release buckle";"Sternum Strap";"Replaceable Pack Base";]
let specCP55 = ["Slightly narrower at hip level, tapered rolltop"; "Average width: 31cm"; "Depth: 21cm"; "Height: 85cm"; "Volume: 55l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"; "Carry quite a considerable load (but not 40kg of meat)"; "2 Side Compression Straps (each side)"; "Large side pockets with bungy cord closure"; "Large HDPE Gridstop back pocket with 3mm bungy cord"; "1 Ice Axe Loop"; "Loops to carry hiking poles"; "Flat Lycra Hip Belt Pockets"; "Internal pocket that can double as a shoulder bag"; "Removable aluminium frame"; "Replaceable EVA foam back padding"; "Load lifters"; "Y strap (over the top)"; "Tapered rolltop with 19mm side release buckle"; "Sternum Strap"; "Replaceable Pack Base"]
let specCP55 =["Slightly narrower at hip level, tapered rolltop";"Average width: 31cm";"Depth: 21cm";"Height: 85cm";"Volume: 55l to the top of an open bag, excluding pockets and any for \Ultra 400TX rolltop";"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";"Carry quite a considerable load (but not 40kg of meat)";"2 Side Compression Straps (each side)";"Large side pockets with bungy cord closure";"Large HDPE Gridstop back pocket with 3mm bungy cord";"1 Ice Axe Loop";"Loops to carry hiking poles";"Flat Lycra Hip Belt Pockets";"Internal pocket that can double as a shoulder bag";"Removable aluminium frame";"Replaceable EVA foam back padding";"Load lifters";"Y strap (over the top)";"Tapered rolltop with 19mm side release buckle";"Sternum Strap";"Replaceable Pack Base";]
let specFP45 = ["Slightly narrower at hip level"; "Average width: 28cm"; "Depth: 19cm"; "Height: 87cm"; "Volume: 46l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"; "Weight: 0.65 to 1 kilograms depending on fabric selection and torso length"; "Carry a reasonable load"; "Bungy cord side compression"; "Large side pockets with bungy cord closure"; "Large HDPE Gridstop back pocket with bungy cord"; "1 Ice Axe Loop"; "Loops to carry hiking poles"; "Flat Lycra Hip Belt Pockets"; "Internal pocket that can double as a shoulder bag"; "Integrated back padding (EVA foam, minimal)"; "Load lifters"; "Y strap (over the top)"; "Tapered rolltop with 19mm side release buckle"; "Sternum Strap"]
let specFP45 =["Slightly narrower at hip level";"Average width: 28cm";"Depth: 19cm";"Height: 87cm";"Volume: 46l to the top of an open bag, excluding pockets and any for \Ultra 400TX rolltop";"Weight: 0.65 to 1 kilograms depending on fabric selection and torso length";"Carry a reasonable load";"Bungy cord side compression";"Large side pockets with bungy cord closure";"Large HDPE Gridstop back pocket with bungy cord";"1 Ice Axe Loop";"Loops to carry hiking poles";"Flat Lycra Hip Belt Pockets";"Internal pocket that can double as a shoulder bag";"Integrated back padding (EVA foam, minimal)";"Load lifters";"Y strap (over the top)";"Tapered rolltop with 19mm side release buckle";"Sternum Strap";]
let specFP35 = ["Slightly narrower at hip level"; "Average width: 27cm"; "Depth: 18cm"; "Height: 75cm"; "Volume: 36l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"; "Weight: 350 to 850 grams depending on fabric selection and torso length"; "Carry a reasonable load"; "Bungy cord side compression"; "Large side pockets with bungy cord closure"; "Lycra back pocket with bungy cord"; "Lycra pocket on the pack base"; "Loops to carry hiking poles"; "Removable 25mm webbing waist belt"; "Sternum Strap"]
let specFP35 =["Slightly narrower at hip level";"Average width: 27cm";"Depth: 18cm";"Height: 75cm";"Volume: 36l to the top of an open bag, excluding pockets and any for \Ultra 400TX rolltop";"Weight: 350 to 850 grams depending on fabric selection and torso length";"Carry a reasonable load";"Bungy cord side compression";"Large side pockets with bungy cord closure";"Lycra back pocket with bungy cord";"Lycra pocket on the pack base";"Loops to carry hiking poles";"Removable 25mm webbing waist belt";"Sternum Strap";]
let specSP25 = ["Average width: 27cm"; "Depth: 17cm"; "Height: 60cm"; "Volume: 27l to the top of an open bag, excluding pockets"; "Weight: ~450 grams depending on fabric selection"; "Carry a reasonable load"; "Lycra side pockets"; "Lycra back pocket with bungy cord"; "Removable 25mm webbing waist belt"; "Sternum Strap"]
let specSP25 =["Average width: 27cm";"Depth: 17cm";"Height: 60cm";"Volume: 27l to the top of an open bag, excluding pockets";"Weight: ~450 grams depending on fabric selection";"Carry a reasonable load";"Lycra side pockets";"Lycra back pocket with bungy cord";"Removable 25mm webbing waist belt";"Sternum Strap";]
let specFP25 = ["Average width: 25cm"; "Depth: 18cm"; "Height: 57cm"; "Volume: 25l to the top of an open bag"; "Weight: ~300 grams"; "Carry a reasonable load"; "Lycra pocket on the pack base"; "Removable 25mm webbing waist belt"; "Sternum Strap"]
let specFP25 =["Average width: 25cm";"Depth: 18cm";"Height: 57cm";"Volume: 25l to the top of an open bag";"Weight: ~300 grams";"Carry a reasonable load";"Lycra pocket on the pack base";"Removable 25mm webbing waist belt";"Sternum Strap";]
let specAC70 = ["Pear shaped (wider at hip level)"; "Average circumference: 100.5cm"; "Height: 87cm"; "Volume: 70l to the top of an open bag"; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"; "Carry quite a considerable load (but not 40kg of meat)"; "Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc."; "6 compression straps (removable)"; "Small side pockets for snow stakes or paddles"; "Ice axe toggles"; "Gear Loops (on waist belt)"; "Internal pocket that can double as a shoulder bag"; "Removable aluminium frame"; "Replaceable EVA foam back padding"; "Load lifters"; "Y strap (over the top)"; "Tapered rolltop with 19mm side release buckle"; "Sternum Strap"]
let specAC70 =["Pear shaped (wider at hip level)";"Average circumference: 100.5cm";"Height: 87cm";"Volume: 70l to the top of an open bag";"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";"Carry quite a considerable load (but not 40kg of meat)";"Brilliant for alpine use, bush bashing, packrafting, carrying tripods, \skis etc.";"6 compression straps (removable)";"Small side pockets for snow stakes or paddles";"Ice axe toggles";"Gear Loops (on waist belt)";"Internal pocket that can double as a shoulder bag";"Removable aluminium frame";"Replaceable EVA foam back padding";"Load lifters";"Y strap (over the top)";"Tapered rolltop with 19mm side release buckle";"Sternum Strap";]let specAC60 =["Pear shaped (wider at hip level)";"Average circumference: 98.5cm";"Height: 80cm";"Volume: 60l to the top of an open bag";"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";"Carry quite a considerable load (but not 40kg of meat)";"Brilliant for alpine use, bush bashing, packrafting, carrying tripods, \skis etc.";"6 compression straps (removable)";"Small side pockets for snow stakes or paddles";"Ice axe toggles";"Gear Loops (on waist belt)";"Internal pocket that can double as a shoulder bag";"Removable aluminium frame";"Replaceable EVA foam back padding";"Load lifters";"Y strap (over the top)";"Tapered rolltop with 19mm side release buckle";"Sternum Strap";]
let specAC60 = ["Pear shaped (wider at hip level)"; "Average circumference: 98.5cm"; "Height: 80cm"; "Volume: 60l to the top of an open bag"; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"; "Carry quite a considerable load (but not 40kg of meat)"; "Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc."; "6 compression straps (removable)"; "Small side pockets for snow stakes or paddles"; "Ice axe toggles"; "Gear Loops (on waist belt)"; "Internal pocket that can double as a shoulder bag"; "Removable aluminium frame"; "Replaceable EVA foam back padding"; "Load lifters"; "Y strap (over the top)"; "Tapered rolltop with 19mm side release buckle"; "Sternum Strap"]
let specAC50 =["Slightly narrower at hip level";"Average circumference: 92cm";"Height: 80cm";"Volume: 50l to the top of an open bag";"Weight: 1+ kilograms depending on fabric selection and torso length";"Carry quite a considerable load (but not 40kg of meat)";"Brilliant for alpine use, bush bashing, packrafting, carrying tripods, \skis etc.";"6 compression straps (removable)";"Small side pockets for snow stakes or paddles";"Ice axe toggles";"Gear Loops (on waist belt)";"Internal pocket that can double as a shoulder bag";"Removable aluminium frame";"Replaceable EVA foam back padding";"Load lifters";"Y strap (over the top)";"Tapered rolltop with 19mm side release buckle";"Sternum Strap";]
let specAC50 = ["Slightly narrower at hip level"; "Average circumference: 92cm"; "Height: 80cm"; "Volume: 50l to the top of an open bag"; "Weight: 1+ kilograms depending on fabric selection and torso length"; "Carry quite a considerable load (but not 40kg of meat)"; "Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc."; "6 compression straps (removable)"; "Small side pockets for snow stakes or paddles"; "Ice axe toggles"; "Gear Loops (on waist belt)"; "Internal pocket that can double as a shoulder bag"; "Removable aluminium frame"; "Replaceable EVA foam back padding"; "Load lifters"; "Y strap (over the top)"; "Tapered rolltop with 19mm side release buckle"; "Sternum Strap"]
let shipping_list =["";"South Island";"North Island";"Collect";"Australia";"Europe";"USA";"To be calculated";]
let shipping_cost s =match s with| "" -> 0| "South Island" -> 15| "North Island" -> 25| "Collect" -> 0| "Australia" -> 40| "Europe" -> 90| "USA" -> 90| "To be calculated" -> 0| _ -> 0
let shipping_cost s =match s with| "" -> 0| "South Island" -> 15| "North Island" -> 25| "Collect" -> 0| "Australia" -> 40| "Europe" -> 90| "USA" -> 90| "To be calculated" -> 0| _ -> 0
let pack_match str =match str with| "" -> (0, spec_)| "65l Classic Pack" -> (630, specCP65)| "55l Classic Pack" -> (600, specCP55)| "45l Classic Pack" -> (430, specFP45)| "35l Fast Pack" -> (390, specFP45)| "25l Strong Pack" -> (275, specSP25)| "25l Fast Pack" -> (275, specFP25)| "70l Alpine Pack" -> (550, specAC70)| "60l Alpine Pack" -> (500, specAC60)| "50l Alpine Pack" -> (460, specAC50)| _ -> (0, spec_)
let pack_match str =match str with| "" -> (0, spec_)| "65l Classic Pack" -> (630, specCP65)| "55l Classic Pack" -> (600, specCP55)| "45l Classic Pack" -> (430, specFP45)| "35l Fast Pack" -> (390, specFP45)| "25l Strong Pack" -> (275, specSP25)| "25l Fast Pack" -> (275, specFP25)| "70l Alpine Pack" -> (550, specAC70)| "60l Alpine Pack" -> (500, specAC60)| "50l Alpine Pack" -> (460, specAC50)| _ -> (0, spec_)
let ultra_price str =match str with| "" -> 0| "65l Classic Pack" -> 120| "55l Classic Pack" -> 110| "45l Classic Pack" -> 100| "35l Fast Pack" -> 90| "25l Strong Pack" -> 0| "25l Fast Pack" -> 0| "70l Alpine Pack" -> 120| "60l Alpine Pack" -> 110| "50l Alpine Pack" -> 100| _ -> 0
let ultra_price str =match str with| "" -> 0| "65l Classic Pack" -> 120| "55l Classic Pack" -> 110| "45l Classic Pack" -> 100| "35l Fast Pack" -> 90| "25l Strong Pack" -> 0| "25l Fast Pack" -> 0| "70l Alpine Pack" -> 120| "60l Alpine Pack" -> 110| "50l Alpine Pack" -> 100| _ -> 0
let panel_match str =match str with| "" ->(lucky, lucky, lucky)| "65l Classic Pack" ->(vx21, (List.concat [lucky; epx200; epx400]), ultra)| "55l Classic Pack" ->(vx21, (List.concat [lucky; epx200; epx400]), ultra)| "45l Classic Pack" ->((List.concat [lucky; vx07; vx21]), (List.concat [lucky; epx200]), ultra)| "35l Fast Pack" ->((List.concat [lucky; vx07; vx21]), (List.concat [lucky; epx200]), ultra)| "25l Strong Pack" ->((List.concat [lucky; epx200]), (List.concat [lucky; epx200]), (List.concat [lucky; epx200]))| "25l Fast Pack" ->(liteskin, liteskin, liteskin)| "70l Alpine Pack" ->(vx21, epx400, ultra)| "60l Alpine Pack" ->(vx21, epx400, ultra)| "50l Alpine Pack" ->(vx21, vx21, ultra)| _ ->(lucky, lucky, lucky)
let panel_match str =match str with| "" -> (lucky, lucky, lucky)| "65l Classic Pack" -> (vx21, List.concat [ lucky; epx200; epx400 ], ultra)| "55l Classic Pack" -> (vx21, List.concat [ lucky; epx200; epx400 ], ultra)| "45l Classic Pack" ->(List.concat [ lucky; vx07; vx21 ], List.concat [ lucky; epx200 ], ultra)| "35l Fast Pack" ->(List.concat [ lucky; vx07; vx21 ], List.concat [ lucky; epx200 ], ultra)| "25l Strong Pack" ->( List.concat [ lucky; epx200 ],List.concat [ lucky; epx200 ],List.concat [ lucky; epx200 ] )| "25l Fast Pack" -> (liteskin, liteskin, liteskin)| "70l Alpine Pack" -> (vx21, epx400, ultra)| "60l Alpine Pack" -> (vx21, epx400, ultra)| "50l Alpine Pack" -> (vx21, vx21, ultra)| _ -> (lucky, lucky, lucky)
let pocket_match str =match str with| "" ->(lucky, lucky, lucky)| "65l Classic Pack" ->((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "55l Classic Pack" ->((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "45l Classic Pack" ->((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "35l Fast Pack" ->((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "25l Strong Pack" ->(["Lycra"; "None"], ["Lycra"; "None"], ["Lycra"; "None"])| "25l Fast Pack" ->(["None"], ["None"], ["None"])| "70l Alpine Pack" ->((List.concat [lucky; vx21; vx42]), (List.concat [lucky; epx400; epx200]), ["Ultra"])| "60l Alpine Pack" ->((List.concat [lucky; vx21; vx42]), (List.concat [lucky; epx400; epx200]), ["Ultra"])| "50l Alpine Pack" ->((List.concat [lucky; vx21; vx42]), (List.concat [lucky; vx21; vx42]), ["Ultra"])| _ ->(lucky, lucky, lucky)
let pocket_match str =match str with| "" -> (lucky, lucky, lucky)| "65l Classic Pack" ->( List.concat [ lucky; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "55l Classic Pack" ->( List.concat [ lucky; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "45l Classic Pack" ->( List.concat [ lucky; liteskin; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "35l Fast Pack" ->( List.concat [ lucky; liteskin; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "25l Strong Pack" ->([ "Lycra"; "None" ], [ "Lycra"; "None" ], [ "Lycra"; "None" ])| "25l Fast Pack" -> ([ "None" ], [ "None" ], [ "None" ])| "70l Alpine Pack" ->( List.concat [ lucky; vx21; vx42 ],List.concat [ lucky; epx400; epx200 ],[ "Ultra" ] )| "60l Alpine Pack" ->( List.concat [ lucky; vx21; vx42 ],List.concat [ lucky; epx400; epx200 ],[ "Ultra" ] )| "50l Alpine Pack" ->( List.concat [ lucky; vx21; vx42 ],List.concat [ lucky; vx21; vx42 ],[ "Ultra" ] )| _ -> (lucky, lucky, lucky)
let rolltop_match str =match str with| "" ->(lucky, lucky, lucky)| "65l Classic Pack" ->((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "55l Classic Pack" ->((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "45l Classic Pack" ->((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "35l Fast Pack" ->((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "25l Strong Pack" ->([""], [""], [""])| "25l Fast Pack" ->([""], [""], [""])| "70l Alpine Pack" ->((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "60l Alpine Pack" ->((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))| "50l Alpine Pack" ->((List.concat [lucky; vx07]), (List.concat [lucky; vx07; epx200]), (List.concat [lucky; vx07; epx200]))| _ ->(lucky, lucky, lucky)
let rolltop_match str =match str with| "" -> (lucky, lucky, lucky)| "65l Classic Pack" ->( List.concat [ lucky; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "55l Classic Pack" ->( List.concat [ lucky; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "45l Classic Pack" ->( List.concat [ lucky; liteskin; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "35l Fast Pack" ->( List.concat [ lucky; liteskin; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "25l Strong Pack" -> ([ "" ], [ "" ], [ "" ])| "25l Fast Pack" -> ([ "" ], [ "" ], [ "" ])| "70l Alpine Pack" ->( List.concat [ lucky; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "60l Alpine Pack" ->( List.concat [ lucky; vx07 ],List.concat [ lucky; epx200 ],List.concat [ lucky; vx07; epx200 ] )| "50l Alpine Pack" ->( List.concat [ lucky; vx07 ],List.concat [ lucky; vx07; epx200 ],List.concat [ lucky; vx07; epx200 ] )| _ -> (lucky, lucky, lucky)
match t with| "light weight" -> l| "a balance of durability and light weight" -> b| "durability" -> d| _ -> blet pack_panels p g =goal (panel_match p) g
match t with| "light weight" -> l| "a balance of durability and light weight" -> b| "durability" -> d| _ -> b
let pack_pockets p g =goal (pocket_match p) g
let pack_panels p g = goal (panel_match p) glet pack_pockets p g = goal (pocket_match p) glet pack_rolltop p g = goal (rolltop_match p) glet first_element list = match list with [] -> "" | hd :: tail -> hd
type state = {i_am_going_for : string; select_a_pack : string; side_panels : string; side_pockets : string; back_panel : string; rolltop : string; torso : string; waist : string; bottle_pocket_quantity : string; bottle_pocket_colour : string; lid : string; waist_bag : string; shoulder_bag : string; email : string; first_name : string; last_name : string; postal_address : string; shipping : string; message : string}
type state = {i_am_going_for : string;select_a_pack : string;side_panels : string;side_pockets : string;back_panel : string;rolltop : string;torso : string;waist : string;bottle_pocket_quantity : string;bottle_pocket_colour : string;lid : string;waist_bag : string;shoulder_bag : string;email : string;first_name : string;last_name : string;postal_address : string;shipping : string;message : string;}
let init : state ={i_am_going_for = first_element i_am_going_for_list; select_a_pack = first_element pack_list; side_panels = first_element lucky; side_pockets = first_element lucky; back_panel = first_element lucky; rolltop = first_element lucky; torso = ""; waist = ""; bottle_pocket_quantity = ""; bottle_pocket_colour = first_element lucky; lid = ""; waist_bag = ""; shoulder_bag = ""; email = ""; first_name = ""; last_name = ""; postal_address = ""; shipping = first_element shipping_list; message = ""}
let init : state ={i_am_going_for = first_element i_am_going_for_list;select_a_pack = first_element pack_list;side_panels = first_element lucky;side_pockets = first_element lucky;back_panel = first_element lucky;rolltop = first_element lucky;torso = "";waist = "";bottle_pocket_quantity = "";bottle_pocket_colour = first_element lucky;lid = "";waist_bag = "";shoulder_bag = "";email = "";first_name = "";last_name = "";postal_address = "";shipping = first_element shipping_list;message = "";}
let open Html inlet open Attribute inp [] [text "Plus NZD "; text (state.select_a_pack |> ultra_price |> string_of_int); text " for Ultra 400TX"
let open Html inlet open Attribute inp [][text "Plus NZD ";text (state.select_a_pack |> ultra_price |> string_of_int);text " for Ultra 400TX";
let excl_25 str =match str with| "25l Strong Pack" -> empty_view| "25l Fast Pack" -> empty_view| _ -> ultra_view
let excl_25 str =match str with| "25l Strong Pack" -> empty_view| "25l Fast Pack" -> empty_view| _ -> ultra_view
let get_ultra_view g p =match g with| "a balance of durability and light weight" -> empty_view| "durability" -> excl_25 p| "light weight" -> empty_view| _ -> empty_view
let get_ultra_view g p =match g with| "a balance of durability and light weight" -> empty_view| "durability" -> excl_25 p| "light weight" -> empty_view| _ -> empty_view
let open Html inlet open Attribute inlet details attrs nodes = node "details" attrs nodes inlet summary attrs nodes = node "summary" attrs nodes inlet a attrs nodes = node "a" attrs nodes indiv [] [p [] [text "Price NZD: "; text (state.select_a_pack |> pack_price |> string_of_int)]; div [id "conditional"] [(get_ultra_view state.i_am_going_for state.select_a_pack state)]; details [] [summary [] [a [] [text "Specification"]]; ul [] (List.map (fun x -> li [] [text x]) (state.select_a_pack |> pack_spec))
let open Html inlet open Attribute inlet details attrs nodes = node "details" attrs nodes inlet summary attrs nodes = node "summary" attrs nodes inlet a attrs nodes = node "a" attrs nodes indiv [][p [][text "Price NZD: ";text (state.select_a_pack |> pack_price |> string_of_int);];div[ id "conditional" ][ get_ultra_view state.i_am_going_for state.select_a_pack state ];details [][summary [] [ a [] [ text "Specification" ] ];ul [](List.map(fun x -> li [] [ text x ])(state.select_a_pack |> pack_spec));];
let open Html inlet open Attribute inlet bottle_pocket_quantity str = Bottle_pocket_quantity str inlet bottle_pocket_colour str = Bottle_pocket_colour str inlet lid str = Lid str inlet waist_bag str = Waist_bag str inlet shoulder_bag str = Shoulder_bag str inlet figure attrs nodes = node "figure" attrs nodes inlet article attrs nodes = node "article" attrs nodes inlet table attrs nodes = node "table" attrs nodes inlet tr attrs nodes = node "tr" attrs nodes inlet td attrs nodes = node "td" attrs nodes infigure [] [table [style "width" "350%"] [tr [] [td [style "width" "25%"] [article [] [div [class_ "grid"] [label [attribute "for" "bottle_pocket_quantity"] [text "Strap Bottle Pockets"; select [attribute "type" "text";attribute "name" "bottle_pocket_quantity";id "bottle_pocket_quantity"; value state.bottle_pocket_quantity; on_input bottle_pocket_quantity](List.map (fun x -> node "option" [] [text x]) [""; "1"; "2"; "3"; "4"])]; label [attribute "for" "bottle_pocket_colour"] [text "Colour";select [attribute "type" "text"; attribute "name" "bottle_pocket_colour"; id "bottle_pocket_colour"; value state.bottle_pocket_colour; on_input bottle_pocket_colour](List.map (fun x -> node "option" [] [text x]) (List.concat [lucky; vx07; epx200]))]]; p [] [text "Price NZD: " ; text (string_of_int bottle_pocket_price); text " each"]]]; td [style "width" "25%"] [article [] [label [attribute "for" "lid"] [text "Backpack Lid";select [attribute "type" "text"; attribute "name" "lid"; id "lid"; value state.lid; on_input lid](List.map (fun x -> node "option" [] [text x]) [""; "Yes please, add lid."])]; p [] [text "Price NZD: " ; text (string_of_int lid_price)]; p [] [text "The lid fits all Fiordland Packs with a Y stap, it will not fit a 25l or 35l pack. Made from grey HDPE Gridstop. Weighs ~100g"]]]; td [style "width" "25%"] [article [] [label [attribute "for" "waist_bag"] [text "Waist Bag";select [attribute "type" "text"; attribute "name" "waist_bag"; id "waist_bag"; value state.waist_bag; on_input waist_bag](List.map (fun x -> node "option" [] [text x]) (List.concat [[""]; vx07; epx200]))]; p [] [text "Price NZD: " ; text (string_of_int waist_bag_price)]]]; td [style "width" "25%"] [article [] [label [attribute "for" "shoulder_bag"] [text "Shoulder Bag";select [attribute "type" "text"; attribute "name" "shoulder_bag"; id "shoulder_bag"; value state.shoulder_bag; on_input shoulder_bag](List.map (fun x -> node "option" [] [text x]) (List.concat [[""]; vx07; epx200]))]; p [] [text "Price NZD: " ; text (string_of_int shoulder_bag_price)]]]
let open Html inlet open Attribute inlet bottle_pocket_quantity str = Bottle_pocket_quantity str inlet bottle_pocket_colour str = Bottle_pocket_colour str inlet lid str = Lid str inlet waist_bag str = Waist_bag str inlet shoulder_bag str = Shoulder_bag str inlet figure attrs nodes = node "figure" attrs nodes inlet article attrs nodes = node "article" attrs nodes inlet table attrs nodes = node "table" attrs nodes inlet tr attrs nodes = node "tr" attrs nodes inlet td attrs nodes = node "td" attrs nodes infigure [][table[ style "width" "350%" ][tr [][td[ style "width" "25%" ][article [][div[ class_ "grid" ][label[ attribute "for" "bottle_pocket_quantity" ][text "Strap Bottle Pockets";select[attribute "type" "text";attribute "name" "bottle_pocket_quantity";id "bottle_pocket_quantity";value state.bottle_pocket_quantity;on_input bottle_pocket_quantity;](List.map(fun x -> node "option" [] [ text x ])[ ""; "1"; "2"; "3"; "4" ]);];label[ attribute "for" "bottle_pocket_colour" ][text "Colour";select[attribute "type" "text";attribute "name" "bottle_pocket_colour";id "bottle_pocket_colour";value state.bottle_pocket_colour;on_input bottle_pocket_colour;](List.map(fun x -> node "option" [] [ text x ])(List.concat [ lucky; vx07; epx200 ]));];];p [][text "Price NZD: ";text (string_of_int bottle_pocket_price);text " each";];];];td[ style "width" "25%" ][article [][label[ attribute "for" "lid" ][text "Backpack Lid";select[attribute "type" "text";attribute "name" "lid";id "lid";value state.lid;on_input lid;](List.map(fun x -> node "option" [] [ text x ])(lid_options state.select_a_pack));];p [][ text "Price NZD: "; text (string_of_int lid_price) ];p [][text"The lid fits all Fiordland Packs with a Y stap, \it will not fit a 25l or 35l pack. Made from grey \HDPE Gridstop. Weighs ~100g";];];];td[ style "width" "25%" ][article [][label[ attribute "for" "waist_bag" ][text "Waist Bag";select[attribute "type" "text";attribute "name" "waist_bag";id "waist_bag";value state.waist_bag;on_input waist_bag;](List.map(fun x -> node "option" [] [ text x ])(List.concat [ [ "" ]; vx07; epx200 ]));];p [][text "Price NZD: ";text (string_of_int waist_bag_price);];];];td[ style "width" "25%" ][article [][label[ attribute "for" "shoulder_bag" ][text "Shoulder Bag";select[attribute "type" "text";attribute "name" "shoulder_bag";id "shoulder_bag";value state.shoulder_bag;on_input shoulder_bag;](List.map(fun x -> node "option" [] [ text x ])(List.concat [ [ "" ]; vx07; epx200 ]));];p [][text "Price NZD: ";text (string_of_int shoulder_bag_price);];];];];];
let get_pack_view str =match str with| "" -> empty_view| "65l Classic Pack" -> pack_view| "55l Classic Pack" -> pack_view| "45l Classic Pack" -> pack_view| "35l Fast Pack" -> pack_view| "25l Strong Pack" -> pack_view| "25l Fast Pack" -> pack_view| "70l Alpine Pack" -> pack_view| "60l Alpine Pack" -> pack_view| "50l Alpine Pack" -> pack_view| _ -> empty_view
let get_pack_view str =match str with| "" -> empty_view| "65l Classic Pack" -> pack_view| "55l Classic Pack" -> pack_view| "45l Classic Pack" -> pack_view| "35l Fast Pack" -> pack_view| "25l Strong Pack" -> pack_view| "25l Fast Pack" -> pack_view| "70l Alpine Pack" -> pack_view| "60l Alpine Pack" -> pack_view| "50l Alpine Pack" -> pack_view| _ -> empty_view
let open Html inlet open Attribute inlet img attrs nodes = node "img" attrs nodes indiv [] [div [class_ "grid"] [div [] []; img [src "logo.svg"] []; div [] []
let open Html inlet open Attribute inlet img attrs nodes = node "img" attrs nodes indiv [][div [ class_ "grid" ] [ div [] []; img [ src "logo.svg" ] []; div [] [] ];p [][text"Please complete this order form. I'll send an invoice tomorrow \morning. Payment is by direct \n\\ deposit or Stripe. Wait time is currently 2-3 weeks.";];
let open Html inlet open Attribute inlet details attrs nodes = node "details" attrs nodes inlet summary attrs nodes = node "summary" attrs nodes inlet a attrs nodes = node "a" attrs nodes indetails [] [summary [] [a [] [text "Contact Fiordland Packs"]]; ul [] [li [] [a [href "https://fiordlandpacks.nz"] [text "fiordlandpacks.nz"]]; li [] [a [href "mailto:david@fiordlandpacks.nz"] [text "Email"]]; li [] [a [href "tel:+0277561938"] [text "Phone"]]; li [] [details [] [summary [] [a [] [text "Visit"]]; p [] [ text "38 Caswell Road, Te Anau, Te Anau 9600" ]]]
let open Html inlet open Attribute inlet details attrs nodes = node "details" attrs nodes inlet summary attrs nodes = node "summary" attrs nodes inlet a attrs nodes = node "a" attrs nodes indetails [][summary [] [ a [] [ text "Contact Fiordland Packs" ] ];ul [][li [][a[ href "https://fiordlandpacks.nz" ][ text "fiordlandpacks.nz" ];];li [] [ a [ href "mailto:david@fiordlandpacks.nz" ] [ text "Email" ] ];li [] [ a [ href "tel:+0277561938" ] [ text "Phone" ] ];li [][details [][summary [] [ a [] [ text "Visit" ] ];p [] [ text "38 Caswell Road, Te Anau, Te Anau 9600" ];];];];
let open Html inlet open Attribute inlet torso str = Torso str inlet waist str = Waist str inlet details attrs nodes = node "details" attrs nodes inlet summary attrs nodes = node "summary" attrs nodes inlet a attrs nodes = node "a" attrs nodes indiv [] [div [] [details [] [summary [] [a [] [text "How to measure your torso"]]; p [] [text "Find your C7 vertebra by bowing your head forward and finding the big bump sticking out on your spine at the bottom of your neck or around shoulder height."]; p [] [text "Find the top of your sacrum by placing your fore fingers on your hip bones (the Posterior Superior Iliac Spine), thumbs pointing in and resting in the small of your back."]; p [] [text "Use a tape measure or piece of string to measure the length of your spine inbetween, conforming to the curves of your back."]]];label [attribute "for" "torso"] [text "Torso Length"; input [attribute "type" "text"; attribute "name" "torso"; id "torso"; value state.torso; on_input torso] []]; label [attribute "for" "waist"] [text "Waist Circumference"; input [attribute "type" "text"; attribute "name" "waist"; id "waist"; value state.waist; on_input waist] []]]
let open Html inlet open Attribute inlet torso str = Torso str inlet waist str = Waist str inlet details attrs nodes = node "details" attrs nodes inlet summary attrs nodes = node "summary" attrs nodes inlet a attrs nodes = node "a" attrs nodes indiv [][div [][details [][summary [] [ a [] [ text "How to measure your torso" ] ];p [][text"Find your C7 vertebra by bowing your head forward and \finding the big bump sticking out on your spine at the \bottom of your neck or around shoulder height.";];p [][text"Find the top of your sacrum by placing your fore fingers \on your hip bones (the Posterior Superior Iliac Spine), \thumbs pointing in and resting in the small of your back.";];p [][text"Use a tape measure or piece of string to measure the \length of your spine inbetween, conforming to the curves \of your back.";];];];label[ attribute "for" "torso" ][text "Torso Length";input[attribute "type" "text";attribute "name" "torso";id "torso";value state.torso;on_input torso;][];];label[ attribute "for" "waist" ][text "Waist Circumference";input[attribute "type" "text";attribute "name" "waist";id "waist";value state.waist;on_input waist;][];];]
let get_measurement_view str =match str with| "" -> empty_view| "65l Classic Pack" -> measurement_view| "55l Classic Pack" -> measurement_view| "45l Classic Pack" -> measurement_view| "35l Fast Pack" -> measurement_view| "25l Strong Pack" -> empty_view| "25l Fast Pack" -> empty_view| "70l Alpine Pack" -> measurement_view| "60l Alpine Pack" -> measurement_view| "50l Alpine Pack" -> measurement_view| _ -> empty_view
let get_measurement_view str =match str with| "" -> empty_view| "65l Classic Pack" -> measurement_view| "55l Classic Pack" -> measurement_view| "45l Classic Pack" -> measurement_view| "35l Fast Pack" -> measurement_view| "25l Strong Pack" -> empty_view| "25l Fast Pack" -> empty_view| "70l Alpine Pack" -> measurement_view| "60l Alpine Pack" -> measurement_view| "50l Alpine Pack" -> measurement_view| _ -> empty_view
let open Html inlet open Attribute inlet rolltop str = Rolltop str indiv [] [label [attribute "for" "rolltop"] [text "Rolltop: Colour & Fabric"; select [attribute "type" "text"; attribute "name" "rolltop"; id "rolltop"; value state.rolltop; on_input rolltop](List.map (fun x -> node "option" [] [text x]) (pack_rolltop state.select_a_pack state.i_am_going_for))
let open Html inlet open Attribute inlet rolltop str = Rolltop str indiv [][label[ attribute "for" "rolltop" ][text "Rolltop: Colour & Fabric";select[attribute "type" "text";attribute "name" "rolltop";id "rolltop";value state.rolltop;on_input rolltop;](List.map(fun x -> node "option" [] [ text x ])(pack_rolltop state.select_a_pack state.i_am_going_for));];
let get_rolltop_view str =match str with| "" -> rolltop_view| "65l Classic Pack" -> rolltop_view| "55l Classic Pack" -> rolltop_view| "45l Classic Pack" -> rolltop_view| "35l Fast Pack" -> rolltop_view| "25l Strong Pack" -> empty_view| "25l Fast Pack" -> empty_view| "70l Alpine Pack" -> rolltop_view| "60l Alpine Pack" -> rolltop_view| "50l Alpine Pack" -> rolltop_view| _ -> rolltop_view
let get_rolltop_view str =match str with| "" -> rolltop_view| "65l Classic Pack" -> rolltop_view| "55l Classic Pack" -> rolltop_view| "45l Classic Pack" -> rolltop_view| "35l Fast Pack" -> rolltop_view| "25l Strong Pack" -> empty_view| "25l Fast Pack" -> empty_view| "70l Alpine Pack" -> rolltop_view| "60l Alpine Pack" -> rolltop_view| "50l Alpine Pack" -> rolltop_view| _ -> rolltop_view
match state.bottle_pocket_quantity with| "" -> 0| "1" -> 1| "2" -> 2| "3" -> 3| "4" -> 4| _ -> 0let pack_total state = (state.select_a_pack |> pack_price)
match state.bottle_pocket_quantity with| "" -> 0| "1" -> 1| "2" -> 2| "3" -> 3| "4" -> 4| _ -> 0
let bottle_pocket_total state = (int_of_bp_qty state) * bottle_pocket_price
let ultra_total state =is_durability_selected (state.select_a_pack |> ultra_price) statelet bottle_pocket_total state = int_of_bp_qty state * bottle_pocket_price
let total state =pack_total state+ ultra_total state+ bottle_pocket_total state+ lid_total state+ waist_bag_total state+ shoulder_bag_total state+ shipping_cost state.shipping
let total state =pack_total state + ultra_total state + bottle_pocket_total state+ lid_total state + waist_bag_total state + shoulder_bag_total state+ shipping_cost state.shipping
let open Html inlet open Attribute inp [] [text "Total: NZD "; text (total state|> string_of_int)]
let open Html inlet open Attribute inp [] [ text "Total: NZD "; text (total state |> string_of_int) ]
let open Html inlet open Attribute indiv [] [li [] [ text "i am going for: "; text state.i_am_going_for ]; li [] [ text "select a pack: "; text state.select_a_pack ]; li [] [ text "side panels: "; text state.side_panels ]; li [] [ text "side pockets: "; text state.side_pockets ]; li [] [ text "back panel: "; text state.back_panel ]; li [] [ text "rolltop: "; text state.rolltop ]; li [] [ text "torso: "; text state.torso ]; li [] [ text "waist: "; text state.waist ]; li [] [ text "bottle pocket quantity: "; text state.bottle_pocket_quantity ]; li [] [ text "bottle pocket colour: "; text state.bottle_pocket_colour ]; li [] [ text "lid: "; text state.lid ]; li [] [ text "waist bag: "; text state.waist_bag ]; li [] [ text "shoulder bag: "; text state.shoulder_bag ]; li [] [ text "first name: "; text state.first_name ]; li [] [ text "last name: "; text state.last_name ]; li [] [ text "email: "; text state.email ]; li [] [ text "postal address: "; text state.postal_address ]; li [] [ text "shipping: "; text state.shipping]; li [] [ text "message: "; text state.message ]]
let open Html inlet open Attribute indiv [][li [] [ text "i am going for: "; text state.i_am_going_for ];li [] [ text "select a pack: "; text state.select_a_pack ];li [] [ text "side panels: "; text state.side_panels ];li [] [ text "side pockets: "; text state.side_pockets ];li [] [ text "back panel: "; text state.back_panel ];li [] [ text "rolltop: "; text state.rolltop ];li [] [ text "torso: "; text state.torso ];li [] [ text "waist: "; text state.waist ];li [][ text "bottle pocket quantity: "; text state.bottle_pocket_quantity ];li [] [ text "bottle pocket colour: "; text state.bottle_pocket_colour ];li [] [ text "lid: "; text state.lid ];li [] [ text "waist bag: "; text state.waist_bag ];li [] [ text "shoulder bag: "; text state.shoulder_bag ];li [] [ text "first name: "; text state.first_name ];li [] [ text "last name: "; text state.last_name ];li [] [ text "email: "; text state.email ];li [] [ text "postal address: "; text state.postal_address ];li [] [ text "shipping: "; text state.shipping ];li [] [ text "message: "; text state.message ];]
let open Html inlet open Attribute inlet i_am_going_for str = I_am_going_for str inlet select_a_pack str = Select_a_pack str inlet side_panels str = Side_panels str inlet side_pockets str = Side_pockets str inlet back_panel str = Back_panel str inlet first_name str = First_name str inlet last_name str = Last_name str inlet email str = Email str inlet postal_address str = Postal_address str inlet shipping str = Shipping str inlet message str = Message str in
let open Html inlet open Attribute inlet i_am_going_for str = I_am_going_for str inlet select_a_pack str = Select_a_pack str inlet side_panels str = Side_panels str inlet side_pockets str = Side_pockets str inlet back_panel str = Back_panel str inlet first_name str = First_name str inlet last_name str = Last_name str inlet email str = Email str inlet postal_address str = Postal_address str inlet shipping str = Shipping str inlet message str = Message str in
let section attrs nodes = node "section" attrs nodes inlet form attrs nodes = node "form" attrs nodes inlet mark attrs nodes = node "mark" attrs nodes indiv [class_ "container"] [section [id "header"] [ header_view state ]; section [id "main"] [form [attribute "action" "https://formspree.io/f/mjvnykql"; attribute "method" "post"] [section [id "backpacks"] [label [attribute "for" "select_a_pack"] [mark [] [text "Select a backpack"]; select [attribute "type" "text"; attribute "name" "select_a_pack"; id "select_a_pack"; value state.select_a_pack; on_input select_a_pack](List.map (fun x -> node "option" [] [text x]) pack_list)]; label [attribute "for" "i_am_going_for"] [text "I'm going for"; select [attribute "type" "text"; attribute "name" "i_am_going_for"; id "i_am_going_for"; value state.i_am_going_for; on_input i_am_going_for](List.map (fun x -> node "option" [] [text x]) i_am_going_for_list)]; section [id "conditional"] [get_pack_view state.select_a_pack state]; section [id "fabric_and_colour"] [label [attribute "for" "side_panels"] [text "Side Panels: Colour & Fabric"; select [attribute "type" "text"; attribute "name" "side_panels"; id "side_panels"; value state.side_panels; on_input side_panels](List.map (fun x -> node "option" [] [text x]) (pack_panels state.select_a_pack state.i_am_going_for))]; label [attribute "for" "side_pockets"] [text "Side Pockets: Colour & Fabric"; select [attribute "type" "text"; attribute "name" "side_pockets"; id "side_pockets"; value state.side_pockets; on_input side_pockets](List.map (fun x -> node "option" [] [text x]) (pack_pockets state.select_a_pack state.i_am_going_for))]; label [attribute "for" "back_panel"] [text "Back Panel: Colour & Fabric"; select [attribute "type" "text"; attribute "name" "back_panel"; id "back_panel"; value state.back_panel; on_input back_panel](List.map (fun x -> node "option" [] [text x]) (pack_panels state.select_a_pack state.i_am_going_for))]; get_rolltop_view state.select_a_pack state]
let section attrs nodes = node "section" attrs nodes inlet form attrs nodes = node "form" attrs nodes inlet mark attrs nodes = node "mark" attrs nodes indiv[ class_ "container" ][section [ id "header" ] [ header_view state ];section[ id "main" ][form[attribute "action" "https://formspree.io/f/mjvnykql";attribute "method" "post";
; section [id "measurements"] [get_measurement_view state.select_a_pack state]; section [id "accessories"] [ accessory_view state ]; section [id "personal_details"] [label [attribute "for" "email"] [text "Email"; input [attribute "type" "email"; attribute "name" "_replyto"; id "email"; value state.email; on_input email] []]; div [class_ "grid"] [label [attribute "for" "first_name"] [text "First Name"; input [attribute "type" "text"; attribute "name" "first_name"; id "first_name"; value state.first_name; on_input first_name] []]; label [attribute "for" "last_name"] [text "Last Name"; input [attribute "type" "text"; attribute "name" "last_name"; id "last_name"; value state.last_name; on_input last_name] []]]; label [attribute "for" "postal_address"] [text "Postal Address"; textarea [attribute "type" "text"; attribute "name" "postal_address"; id "postal_address"; value state.postal_address; on_input postal_address] []]; label [attribute "for" "shipping"] [text "Shipping by NZ Post Courier"; select [attribute "type" "text"; attribute "name" "shipping"; id "shipping"; value state.shipping; on_input shipping](List.map (fun x -> node "option" [] [text x]) shipping_list ); p [] [is_shipping_zero (shipping_cost state.shipping) state]]]; section [id "tail"] [label [attribute "for" "message"] [text "Message"; textarea [attribute "type" "text"; attribute "name" "message"; id "message"; value state.message; on_input message] []]; section [id "total"] [p [] [is_total_zero (total state) state]; button [attribute "type" "submit"] [text "Send"]]; section [id "contact"] [ contact_view state ]]
[section[ id "backpacks" ][label[ attribute "for" "select_a_pack" ][mark [] [ text "Select a backpack" ];select[attribute "type" "text";attribute "name" "select_a_pack";id "select_a_pack";value state.select_a_pack;on_input select_a_pack;](List.map(fun x -> node "option" [] [ text x ])pack_list);];label[ attribute "for" "i_am_going_for" ][text "I'm going for";select[attribute "type" "text";attribute "name" "i_am_going_for";id "i_am_going_for";value state.i_am_going_for;on_input i_am_going_for;](List.map(fun x -> node "option" [] [ text x ])i_am_going_for_list);];section[ id "conditional" ][ get_pack_view state.select_a_pack state ];section[ id "fabric_and_colour" ][label[ attribute "for" "side_panels" ][text "Side Panels: Colour & Fabric";select[attribute "type" "text";attribute "name" "side_panels";id "side_panels";value state.side_panels;on_input side_panels;](List.map(fun x -> node "option" [] [ text x ])(pack_panels state.select_a_packstate.i_am_going_for));];label[ attribute "for" "side_pockets" ][text "Side Pockets: Colour & Fabric";select[attribute "type" "text";attribute "name" "side_pockets";id "side_pockets";value state.side_pockets;on_input side_pockets;](List.map(fun x -> node "option" [] [ text x ])(pack_pockets state.select_a_packstate.i_am_going_for));];label[ attribute "for" "back_panel" ][text "Back Panel: Colour & Fabric";select[attribute "type" "text";attribute "name" "back_panel";id "back_panel";value state.back_panel;on_input back_panel;](List.map(fun x -> node "option" [] [ text x ])(pack_panels state.select_a_packstate.i_am_going_for));];get_rolltop_view state.select_a_pack state;];];section[ id "measurements" ][ get_measurement_view state.select_a_pack state ];section [ id "accessories" ] [ accessory_view state ];section[ id "personal_details" ][label[ attribute "for" "email" ][text "Email";input[attribute "type" "email";attribute "name" "_replyto";id "email";value state.email;on_input email;][];];div[ class_ "grid" ][label[ attribute "for" "first_name" ][text "First Name";input[attribute "type" "text";attribute "name" "first_name";id "first_name";value state.first_name;on_input first_name;][];];label[ attribute "for" "last_name" ][text "Last Name";input[attribute "type" "text";attribute "name" "last_name";id "last_name";value state.last_name;on_input last_name;][];];];label[ attribute "for" "postal_address" ][text "Postal Address";textarea[attribute "type" "text";attribute "name" "postal_address";id "postal_address";value state.postal_address;on_input postal_address;][];];label[ attribute "for" "shipping" ][text "Shipping by NZ Post Courier";select[attribute "type" "text";attribute "name" "shipping";id "shipping";value state.shipping;on_input shipping;](List.map(fun x -> node "option" [] [ text x ])shipping_list);p [][is_shipping_zero (shipping_cost state.shipping) state;];];];section[ id "tail" ][label[ attribute "for" "message" ][text "Message";textarea[attribute "type" "text";attribute "name" "message";id "message";value state.message;on_input message;][];];section[ id "total" ][p [] [ is_total_zero (total state) state ];button [ attribute "type" "submit" ] [ text "Send" ];];section [ id "contact" ] [ contact_view state ];];];
| I_am_going_for str -> { state with i_am_going_for = str }| Select_a_pack str -> { state with select_a_pack = str }| Side_panels str -> { state with side_panels = str }| Side_pockets str -> { state with side_pockets = str }| Back_panel str -> { state with back_panel = str }| Rolltop str -> { state with rolltop = str }| Torso str -> {state with torso = str }| Waist str -> { state with waist = str }| Bottle_pocket_quantity str -> { state with bottle_pocket_quantity = str }| Bottle_pocket_colour str -> { state with bottle_pocket_colour = str }| Lid str -> { state with lid = str }| Waist_bag str -> { state with waist_bag = str }| Shoulder_bag str -> { state with shoulder_bag = str }| First_name str -> { state with first_name = str }| Last_name str -> { state with last_name = str }| Email str -> { state with email = str }| Postal_address str -> { state with postal_address = str }| Shipping str -> { state with shipping = str }| Message str -> { state with message = str }
| I_am_going_for str -> { state with i_am_going_for = str }| Select_a_pack str -> { state with select_a_pack = str }| Side_panels str -> { state with side_panels = str }| Side_pockets str -> { state with side_pockets = str }| Back_panel str -> { state with back_panel = str }| Rolltop str -> { state with rolltop = str }| Torso str -> { state with torso = str }| Waist str -> { state with waist = str }| Bottle_pocket_quantity str -> { state with bottle_pocket_quantity = str }| Bottle_pocket_colour str -> { state with bottle_pocket_colour = str }| Lid str -> { state with lid = str }| Waist_bag str -> { state with waist_bag = str }| Shoulder_bag str -> { state with shoulder_bag = str }| First_name str -> { state with first_name = str }| Last_name str -> { state with last_name = str }| Email str -> { state with email = str }| Postal_address str -> { state with postal_address = str }| Shipping str -> { state with shipping = str }| Message str -> { state with message = str }
aM=" ",ad="0",d5="compare: functional value",ai="src/std/array.ml",d4="mkdir",bW=1000,aN="45l Classic Pack",gQ="@[",b0="int_of_string",dz="fs",E="type",gw="%u",gO="Yes please, add lid.",gP="/static/",gb="Pear shaped (wider at hip level)",gc="%i",dO="summary",gN="4",g_="%ni",aQ=0xff,gM="Assert_failure",d3="grid",aL="65l Classic Pack",ga="0x",gv=0x7ff0,aC="25l Fast Pack",f$=0xdfff,gu="End_of_file",cq="25%",a5="Sternum Strap",bZ="src/browser/handler.ml",f_=": closedir failed",g9="Out_of_memory",ef="Large side pockets with bungy cord closure",f9="p",dy="bottle_pocket_quantity",f8="Not_found",g8="href",ee="Failure",aK="35l Fast Pack",cv="Unix.Unix_error",dx="Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc.",dN="6 compression straps (removable)",gt="^",cp="Weight: 1 to 1.2 kilograms depending on fabric selection and torso length",T="text",dM="ENOTDIR",d2="light weight",ed="back_panel",f7="%Li",cu="durability",f6="Invalid_argument",ck=254,dL="email",bv="+",gL="2",g7=", characters ",bS="Carry quite a considerable load (but not 40kg of meat)",aB=0xffffff,co=120,aq="option",gK=1027,bV=1024,d1="1 Ice Axe Loop",f5=430,gs="Pervasives.do_at_exit",gr=65536,ec="torso",bB="Tapered rolltop with 19mm side release buckle",eb="a balance of durability and light weight",dK=0xf,f3=", ",f4=512,bU="Replaceable EVA foam back padding",gJ="North Island",g5="Match_failure",g6="closedir",f0="%li",f1="USA",f2=1026,bR="Price NZD: ",aP="55l Classic Pack",dw="nan",e="",du="src/browser/dictionary.ml",dv="rmdir",d0="Fatal error: exception ",gq="infinity",F="camlinternalFormat.ml",dZ="Height: 87cm",gp="fd ",bA="None",aJ="70l Alpine Pack",dJ="shipping",bY="Removable aluminium frame",ea="waist_bag",dt="bottle_pocket_colour",N=248,g4="Slightly narrower at hip level, tapered rolltop",dI="lid",g3=0xe0,cn=24029,go=0xf0,bz="Y strap (over the top)",fZ="2 Side Compression Straps (each side)",gn="Sys_error",au=0x80,gH=275,gI="src/js/dom.ml",gG="ENOTEMPTY",g2="EEXIST",aI="50l Alpine Pack",dY=1255,ds="message",ct="src/browser/browser.ml",fY="value",dH="rolltop",g1="Collect",dr=" : flags Open_text and Open_binary are not compatible",dF="Lycra",dG="e",dX="select_a_pack",gF="Email",O="for",dq=": Not a directory",gm="Removable 25mm webbing waist belt",dE="ENOENT",gE="Stack_overflow",dD="side_panels",gZ="Replaceable Pack Base",g0="Undefined_recursive_module",gD="South Island",dW="details",at=0x8000,cm="a",gl=0x800,gC=-48,fX=" : is a directory",gj="@{",gk="Division_by_zero",be=".",dV="Small side pockets for snow stakes or paddles",dU="side_pockets",M="name",by=0x3f,gY=114,bx="Load lifters",dC=110,gi=101,dB=" : file already exists",gh="Large HDPE Gridstop back pocket with 3mm bungy cord",a="src/std/btree.ml",bT=128,cs=": No such file or directory",gg=255,bX="width",gX=256,cl=100,bw="Internal pocket that can double as a shoulder bag",dp="index out of bounds",aD="/",d$="i_am_going_for",gB="To be calculated",gW="Height: 80cm",cj=252,gf="click",d_="Flat Lycra Hip Belt Pockets",dn="%d",fW=": file descriptor already closed",bd="-",dT="Carry a reasonable load",dm="EBADF",gU="1",d9="waist",gV="conditional",ge=-97,gA="Australia",gT="Printexc.handle_uncaught_exception",aO="60l Alpine Pack",fV=12520,d8=" : flags Open_rdonly and Open_wronly are not compatible",dA="last_name",fU="Europe",dS="Ice axe toggles",gz="Fatal error: exception %s\n",dl="Ultra",dk="shoulder_bag",d7="postal_address",fS="3",fT=250,fR="Slightly narrower at hip level",dQ="Gear Loops (on waist belt)",dR="first_name",gy=341,gd="([^/]+)",gx="input",dP="jsError",fQ=103,ci='"',d6=127,av=0xffff,dj="Loops to carry hiking poles",aA="25l Strong Pack",fP=0xdc00,gS="Sys_blocked_io",gR="_",di="target",cr="_bigarr02";functionq4(a,b){var
aM=" ",ad="0",d5="compare: functional value",ai="src/std/array.ml",d4="mkdir",bW=1000,aN="45l Classic Pack",gR="@[",eg="Lid does not fit",b0="int_of_string",dz="fs",E="type",gx="%u",gP="Yes please, add lid.",gQ="/static/",gc="Pear shaped (wider at hip level)",gd="%i",dO="summary",gO="4",g$="%ni",aQ=0xff,gN="Assert_failure",d3="grid",aL="65l Classic Pack",gb="0x",gw=0x7ff0,au="25l Fast Pack",ga=0xdfff,gv="End_of_file",cq="25%",a5="Sternum Strap",bZ="src/browser/handler.ml",f$=": closedir failed",g_="Out_of_memory",ef="Large side pockets with bungy cord closure",f_="p",dy="bottle_pocket_quantity",f9="Not_found",g9="href",ee="Failure",aD="35l Fast Pack",cv="Unix.Unix_error",dx="Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc.",dN="6 compression straps (removable)",gu="^",cp="Weight: 1 to 1.2 kilograms depending on fabric selection and torso length",T="text",dM="ENOTDIR",d2="light weight",ed="back_panel",f8="%Li",cu="durability",f7="Invalid_argument",ck=254,dL="email",bv="+",gM="2",g8=", characters ",bS="Carry quite a considerable load (but not 40kg of meat)",aC=0xffffff,co=120,aq="option",gL=1027,bV=1024,d1="1 Ice Axe Loop",f6=430,gt="Pervasives.do_at_exit",gs=65536,ec="torso",bB="Tapered rolltop with 19mm side release buckle",eb="a balance of durability and light weight",dK=0xf,f4=", ",f5=512,bU="Replaceable EVA foam back padding",gK="North Island",g6="Match_failure",g7="closedir",f1="%li",f2="USA",f3=1026,bR="Price NZD: ",aP="55l Classic Pack",dw="nan",e="",du="src/browser/dictionary.ml",dv="rmdir",d0="Fatal error: exception ",gr="infinity",F="camlinternalFormat.ml",dZ="Height: 87cm",gq="fd ",bA="None",aK="70l Alpine Pack",dJ="shipping",bY="Removable aluminium frame",ea="waist_bag",dt="bottle_pocket_colour",N=248,g5="Slightly narrower at hip level, tapered rolltop",dI="lid",g4=0xe0,cn=24029,gp=0xf0,bz="Y strap (over the top)",f0="2 Side Compression Straps (each side)",go="Sys_error",aw=0x80,gI=275,gJ="src/js/dom.ml",gH="ENOTEMPTY",g3="EEXIST",aJ="50l Alpine Pack",dY=1255,ds="message",ct="src/browser/browser.ml",fZ="value",dH="rolltop",g2="Collect",dr=" : flags Open_text and Open_binary are not compatible",dF="Lycra",dG="e",dX="select_a_pack",gG="Email",O="for",dq=": Not a directory",gn="Removable 25mm webbing waist belt",dE="ENOENT",gF="Stack_overflow",dD="side_panels",g0="Replaceable Pack Base",g1="Undefined_recursive_module",gE="South Island",dW="details",av=0x8000,cm="a",gm=0x800,gD=-48,fY=" : is a directory",gk="@{",gl="Division_by_zero",be=".",dV="Small side pockets for snow stakes or paddles",dU="side_pockets",M="name",by=0x3f,gZ=114,bx="Load lifters",dC=110,gj=101,dB=" : file already exists",gi="Large HDPE Gridstop back pocket with 3mm bungy cord",a="src/std/btree.ml",bT=128,cs=": No such file or directory",gh=255,bX="width",gY=256,cl=100,bw="Internal pocket that can double as a shoulder bag",dp="index out of bounds",aE="/",d$="i_am_going_for",gC="To be calculated",gX="Height: 80cm",cj=252,gg="click",d_="Flat Lycra Hip Belt Pockets",dn="%d",fX=": file descriptor already closed",bd="-",dT="Carry a reasonable load",dm="EBADF",gV="1",d9="waist",gW="conditional",gf=-97,gB="Australia",gU="Printexc.handle_uncaught_exception",aO="60l Alpine Pack",fW=12520,d8=" : flags Open_rdonly and Open_wronly are not compatible",dA="last_name",fV="Europe",dS="Ice axe toggles",gA="Fatal error: exception %s\n",dl="Ultra",dk="shoulder_bag",d7="postal_address",fT="3",fU=250,fS="Slightly narrower at hip level",dQ="Gear Loops (on waist belt)",dR="first_name",gz=341,ge="([^/]+)",gy="input",dP="jsError",fR=103,ci='"',d6=127,ax=0xffff,dj="Loops to carry hiking poles",at="25l Strong Pack",fQ=0xdc00,gT="Sys_blocked_io",gS="_",di="target",cr="_bigarr02";functionq8(a,b){var
hy=Math.pow(2,-24);functionrL(a){throw a}functionhJ(){rL(X.Division_by_zero)}functionh(a,b,c){this.lo=a&aB;this.mi=b&aB;this.hi=c&av}h.prototype.caml_custom="_j";h.prototype.copy=function(){return new
hz=Math.pow(2,-24);functionrP(a){throw a}functionhK(){rP(X.Division_by_zero)}functionh(a,b,c){this.lo=a&aC;this.mi=b&aC;this.hi=c&ax}h.prototype.caml_custom="_j";h.prototype.copy=function(){return new
h(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&av);return newh(this.hi<<16>>a-32,b,b)};h.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&aB;this.lo=this.lo<<1&aB};h.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&aB;this.mi=(this.mi>>>1|this.hi<<23)&aB;this.hi=this.hi>>>1};h.prototype.udivmod=function(a){var
h(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&ax);return newh(this.hi<<16>>a-32,b,b)};h.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&aC;this.lo=this.lo<<1&aC};h.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&aC;this.mi=(this.mi>>>1|this.hi<<23)&aC;this.hi=this.hi>>>1};h.prototype.udivmod=function(a){var
b=this;if(a.isZero())hJ();vard=b.hi^a.hi;if(b.hi&at)b=b.neg();if(a.hi&at)a=a.neg();varc=b.udivmod(a).quotient;if(d&at)c=c.neg();return c};h.prototype.mod=function(a){varb=this;if(a.isZero())hJ();vard=b.hi;if(b.hi&at)b=b.neg();if(a.hi&at)a=a.neg();varc=b.udivmod(a).modulus;if(d&at)c=c.neg();return c};h.prototype.toInt=function(){return this.lo|this.mi<<24};h.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};h.prototype.toArray=function(){return[this.hi>>8,this.hi&aQ,this.mi>>16,this.mi>>8&aQ,this.mi&aQ,this.lo>>16,this.lo>>8&aQ,this.lo&aQ]};h.prototype.lo32=function(){return this.lo|(this.mi&aQ)<<24};h.prototype.hi32=function(){return this.mi>>>8&av|this.hi<<16};functionrn(a,b){return newh(a&aB,a>>>24&aQ|(b&av)<<8,b>>>16&av)}functioner(a){return a.hi32()}functiones(a){return a.lo32()}function
b=this;if(a.isZero())hK();vard=b.hi^a.hi;if(b.hi&av)b=b.neg();if(a.hi&av)a=a.neg();varc=b.udivmod(a).quotient;if(d&av)c=c.neg();return c};h.prototype.mod=function(a){varb=this;if(a.isZero())hK();vard=b.hi;if(b.hi&av)b=b.neg();if(a.hi&av)a=a.neg();varc=b.udivmod(a).modulus;if(d&av)c=c.neg();return c};h.prototype.toInt=function(){return this.lo|this.mi<<24};h.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};h.prototype.toArray=function(){return[this.hi>>8,this.hi&aQ,this.mi>>16,this.mi>>8&aQ,this.mi&aQ,this.lo>>16,this.lo>>8&aQ,this.lo&aQ]};h.prototype.lo32=function(){return this.lo|(this.mi&aQ)<<24};h.prototype.hi32=function(){return this.mi>>>8&ax|this.hi<<16};functionrr(a,b){return newh(a&aC,a>>>24&aQ|(b&ax)<<8,b>>>16&ax)}functiones(a){return a.hi32()}functionet(a){return a.lo32()}function
q8=cr;functiona6(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}a6.prototype.caml_custom=q8;a6.prototype.offset=function(a){var
ra=cr;functiona6(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}a6.prototype.caml_custom=ra;a6.prototype.offset=function(a){var
hM(a){for(vark=e,d=e,h,g,i,b,c=0,j=a.length;c<j;c++){g=a.charCodeAt(c);if(g<au){for(varf=c+1;f<j&&(g=a.charCodeAt(f))<au;f++);if(f-c>f4){d.substr(0,1);k+=d;d=e;k+=a.slice(c,f)}elsed+=a.slice(c,f);if(f==j)break;c=f}b=1;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(g<<6);if(g<g3){b=h-0x3080;if(b<au)b=1}else{b=2;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(h<<6);if(g<go){b=h-0xe2080;if(b<gl||b>=0xd7ff&&b<0xe000)b=2}else{b=3;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT&&g<0xf5){b=i-0x3c82080+(h<<6);if(b<0x10000||b>0x10ffff)b=3}}}}}if(b<4){c-=b;d+="\ufffd"}else if(b>av)d+=String.fromCharCode(0xd7c0+(b>>10),fP+(b&0x3FF));else
hN(a){for(vark=e,d=e,h,g,i,b,c=0,j=a.length;c<j;c++){g=a.charCodeAt(c);if(g<aw){for(varf=c+1;f<j&&(g=a.charCodeAt(f))<aw;f++);if(f-c>f5){d.substr(0,1);k+=d;d=e;k+=a.slice(c,f)}elsed+=a.slice(c,f);if(f==j)break;c=f}b=1;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(g<<6);if(g<g4){b=h-0x3080;if(b<aw)b=1}else{b=2;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(h<<6);if(g<gp){b=h-0xe2080;if(b<gm||b>=0xd7ff&&b<0xe000)b=2}else{b=3;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT&&g<0xf5){b=i-0x3c82080+(h<<6);if(b<0x10000||b>0x10ffff)b=3}}}}}if(b<4){c-=b;d+="\ufffd"}else if(b>ax)d+=String.fromCharCode(0xd7c0+(b>>10),fQ+(b&0x3FF));else
rb(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}functionrc(){return[0]}function
rf(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}functionrg(){return[0]}function
hm=[0];functionre(a){return hm}functionhn(a){hm=a}functionry(a){return a==245?1:0}varrU=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;functionrS(a){if(rU)return Math.floor(Math.log2(a));var
hn=[0];functionri(a){return hn}functionho(a){hn=a}functionrC(a){return a==245?1:0}varrY=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;functionrW(a){if(rY)return Math.floor(Math.log2(a));var
cB(a){if(!isFinite(a)){if(isNaN(a))return ak(1,0,gv);return a>0?ak(0,0,gv):ak(0,0,0xfff0)}varf=a==0&&1/a==-Infinity?at:a>=0?0:at;if(f)a=-a;varb=rS(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-f2)}else{a/=Math.pow(2,b-gK);if(a<16){a*=2;b-=1}if(b==0)a/=2}var
cB(a){if(!isFinite(a)){if(isNaN(a))return ak(1,0,gw);return a>0?ak(0,0,gw):ak(0,0,0xfff0)}varf=a==0&&1/a==-Infinity?av:a>=0?0:av;if(f)a=-a;varb=rW(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-f3)}else{a/=Math.pow(2,b-gL);if(a<16){a*=2;b-=1}if(b==0)a/=2}var
hg(a,b,c){a.write(32,b.dims.length);a.write(32,b.kind|b.layout<<8);if(b.caml_custom==cr)for(vard=0;d<b.dims.length;d++)if(b.dims[d]<av)a.write(16,b.dims[d]);else{a.write(16,av);a.write(32,0);a.write(32,b.dims[d])}else
hh(a,b,c){a.write(32,b.dims.length);a.write(32,b.kind|b.layout<<8);if(b.caml_custom==cr)for(vard=0;d<b.dims.length;d++)if(b.dims[d]<ax)a.write(16,b.dims[d]);else{a.write(16,ax);a.write(32,0);a.write(32,b.dims[d])}else
eq(a){varf=a.lo,g=a.mi,c=a.hi,d=(c&0x7fff)>>4;if(d==2047)return(f|g|c&dK)==0?c&at?-Infinity:Infinity:NaN;vare=Math.pow(2,-24),b=(f*e+g)*e+(c&dK);if(d>0){b+=16;b*=Math.pow(2,d-gK)}elseb*=Math.pow(2,-f2);if(c&at)b=-b;return b}functionaj(a){if(!X.Failure)X.Failure=[N,al(ee),-3];ex(X.Failure,a)}functionhd(a,b,c){var
er(a){varf=a.lo,g=a.mi,c=a.hi,d=(c&0x7fff)>>4;if(d==2047)return(f|g|c&dK)==0?c&av?-Infinity:Infinity:NaN;vare=Math.pow(2,-24),b=(f*e+g)*e+(c&dK);if(d>0){b+=16;b*=Math.pow(2,d-gL)}elseb*=Math.pow(2,-f3);if(c&av)b=-b;return b}functionaj(a){if(!X.Failure)X.Failure=[N,al(ee),-3];ey(X.Failure,a)}functionhe(a,b,c){var
n=eq(b5(g));i.set(d,[ck,o,n])}break}b[0]=(4+k)*4;return eh(l,q,j,h)}functionhb(a,b,c){return a.compare(b,c)}functionhE(a,b){return Math.imul(a,b)}functionaT(a,b){b=hE(b,0xcc9e2d51|0);b=b<<15|b>>>32-15;b=hE(b,0x1b873593);a^=b;a=a<<13|a>>>32-13;return(a+(a<<2)|0)+(0xe6546b64|0)|0}functionrj(a,b){a=aT(a,es(b));a=aT(a,er(b));return a}functionht(a,b){return rj(a,cB(b))}functionhf(a){var
n=er(b5(g));i.set(d,[ck,o,n])}break}b[0]=(4+k)*4;return ei(l,q,j,h)}functionhc(a,b,c){return a.compare(b,c)}functionhF(a,b){return Math.imul(a,b)}functionaT(a,b){b=hF(b,0xcc9e2d51|0);b=b<<15|b>>>32-15;b=hF(b,0x1b873593);a^=b;a=a<<13|a>>>32-13;return(a+(a<<2)|0)+(0xe6546b64|0)|0}functionrn(a,b){a=aT(a,et(b));a=aT(a,es(b));return a}functionhu(a,b){return rn(a,cB(b))}functionhg(a){var
b=0;b<c;b++)d=ht(d,a.data[b]);break}return d}functionrl(a,b){b[0]=4;return a.read32s()}functionrI(a,b){switch(a.read8u()){case
b=0;b<c;b++)d=hu(d,a.data[b]);break}return d}functionrp(a,b){b[0]=4;return a.read32s()}functionrM(a,b){switch(a.read8u()){case
rm(a,b,c){return a.compare(b)}functionrp(a){return a.lo32()^a.hi32()}varhl={"_j":{deserialize:rw,serialize:rs,fixed_length:8,compare:rm,hash:rp},"_i":{deserialize:rl,fixed_length:4},"_n":{deserialize:rI,fixed_length:4},"_bigarray":{deserialize:function(a,b){return hd(a,b,"_bigarray")},serialize:hg,compare:hb,hash:hf},"_bigarr02":{deserialize:function(a,b){return hd(a,b,cr)},serialize:hg,compare:hb,hash:hf}};functionel(a){return hl[a.caml_custom]&&hl[a.caml_custom].compare}functionhj(a,b,c,d){varf=el(b);if(f){var
rq(a,b,c){return a.compare(b)}functionrt(a){return a.lo32()^a.hi32()}varhm={"_j":{deserialize:rA,serialize:rw,fixed_length:8,compare:rq,hash:rt},"_i":{deserialize:rp,fixed_length:4},"_n":{deserialize:rM,fixed_length:4},"_bigarray":{deserialize:function(a,b){return he(a,b,"_bigarray")},serialize:hh,compare:hc,hash:hg},"_bigarr02":{deserialize:function(a,b){return he(a,b,cr)},serialize:hh,compare:hc,hash:hg}};functionem(a){return hm[a.caml_custom]&&hm[a.caml_custom].compare}functionhk(a,b,c,d){varf=em(b);if(f){var
e=hk(a);if(e==fT){a=a[1];continue}varg=hk(b);if(g==fT){b=b[1];continue}if(e!==g){if(e==bW){if(g==dY)return hj(a,b,-1,c);return-1}if(g==bW){if(e==dY)return hj(b,a,1,c);return 1}return e<g?-1:1}switch(e){case
e=hl(a);if(e==fU){a=a[1];continue}varg=hl(b);if(g==fU){b=b[1];continue}if(e!==g){if(e==bW){if(g==dY)return hk(a,b,-1,c);return-1}if(g==bW){if(e==dY)return hk(b,a,1,c);return 1}return e<g?-1:1}switch(e){case
254:default:if(ry(e)){C("compare: continuation value");break}if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)f.push(a,b,1);break}}if(f.length==0)return 0;var
254:default:if(rC(e)){C("compare: continuation value");break}if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)f.push(a,b,1);break}}if(f.length==0)return 0;var
ho(a,b){return+(hi(a,b,false)==0)}functionrg(a,b,c,d){if(c>0)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=bD(c,String.fromCharCode(d));a.t=c==a.l?0:2}else{if(a.t!=4)cy(a);for(c+=b;b<c;b++)a.c[b]=d}return 0}functionew(a){a=a9(a);var
hp(a,b){return+(hj(a,b,false)==0)}functionrk(a,b,c,d){if(c>0)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=bD(c,String.fromCharCode(d));a.t=c==a.l?0:2}else{if(a.t!=4)cy(a);for(c+=b;b<c;b++)a.c[b]=d}return 0}functionex(a){a=a9(a);var
d=f;d<a.width;d++)c+=aM;if(a.signedconv)if(a.sign<0)c+=bd;else if(a.signstyle!=bd)c+=a.signstyle;if(a.alternate&&a.base==8)c+=ad;if(a.alternate&&a.base==16)c+=a.uppercase?"0X":ga;if(a.justify==bv&&a.filler==ad)for(var
d=f;d<a.width;d++)c+=aM;if(a.signedconv)if(a.sign<0)c+=bd;else if(a.signstyle!=bd)c+=a.signstyle;if(a.alternate&&a.base==8)c+=ad;if(a.alternate&&a.base==16)c+=a.uppercase?"0X":gb;if(a.justify==bv&&a.filler==ad)for(var
c,f=ew(a),e=f.prec<0?6:f.prec;if(b<0||b==0&&1/b==-Infinity){f.sign=-1;b=-b}if(isNaN(b)){c=dw;f.filler=aM}else if(!isFinite(b)){c="inf";f.filler=aM}else
c,f=ex(a),e=f.prec<0?6:f.prec;if(b<0||b==0&&1/b==-Infinity){f.sign=-1;b=-b}if(isNaN(b)){c=dw;f.filler=aM}else if(!isFinite(b)){c="inf";f.filler=aM}else
f=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return em(c,d)}varrJ=0;functionhq(){return rJ++}functionz(a){if(eB(a))return a;return hM(a)}function
f=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return en(c,d)}varrN=0;functionhr(){return rN++}functionz(a){if(eC(a))return a;return hN(a)}function
eC=rV();functionhK(a){return a.slice(-1)!==aD?a+aD:a}if(b7()&&t.process&&t.process.cwd)varb4=t.process.cwd().replace(/\\/g,aD);else
eD=rZ();functionhL(a){return a.slice(-1)!==aE?a+aE:a}if(b7()&&t.process&&t.process.cwd)varb4=t.process.cwd().replace(/\\/g,aE);else
rR(a){for(varg=e,c=g,b,i,d=0,h=a.length;d<h;d++){b=a.charCodeAt(d);if(b<au){for(varf=d+1;f<h&&(b=a.charCodeAt(f))<au;f++);if(f-d>f4){c.substr(0,1);g+=c;c=e;g+=a.slice(d,f)}elsec+=a.slice(d,f);if(f==h)break;d=f}if(b<gl){c+=String.fromCharCode(0xc0|b>>6);c+=String.fromCharCode(au|b&by)}else if(b<0xd800||b>=f$)c+=String.fromCharCode(g3|b>>12,au|b>>6&by,au|b&by);else if(b>=0xdbff||d+1==h||(i=a.charCodeAt(d+1))<fP||i>f$)c+="\xef\xbf\xbd";else{d++;b=(b<<10)+i-0x35fdc00;c+=String.fromCharCode(go|b>>18,au|b>>12&by,au|b>>6&by,au|b&by)}if(c.length>bV){c.substr(0,1);g+=c;c=e}}return g+c}functionax(a){return eB(a)?al(a):al(rR(a))}varrW=["E2BIG","EACCES","EAGAIN",dm,"EBUSY","ECHILD","EDEADLK","EDOM",g2,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",dE,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",dM,gG,"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
rV(a){for(varg=e,c=g,b,i,d=0,h=a.length;d<h;d++){b=a.charCodeAt(d);if(b<aw){for(varf=d+1;f<h&&(b=a.charCodeAt(f))<aw;f++);if(f-d>f5){c.substr(0,1);g+=c;c=e;g+=a.slice(d,f)}elsec+=a.slice(d,f);if(f==h)break;d=f}if(b<gm){c+=String.fromCharCode(0xc0|b>>6);c+=String.fromCharCode(aw|b&by)}else if(b<0xd800||b>=ga)c+=String.fromCharCode(g4|b>>12,aw|b>>6&by,aw|b&by);else if(b>=0xdbff||d+1==h||(i=a.charCodeAt(d+1))<fQ||i>ga)c+="\xef\xbf\xbd";else{d++;b=(b<<10)+i-0x35fdc00;c+=String.fromCharCode(gp|b>>18,aw|b>>12&by,aw|b>>6&by,aw|b&by)}if(c.length>bV){c.substr(0,1);g+=c;c=e}}return g+c}functionaz(a){return eC(a)?al(a):al(rV(a))}varr0=["E2BIG","EACCES","EAGAIN",dm,"EBUSY","ECHILD","EDEADLK","EDOM",g3,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",dE,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",dM,gH,"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
f=rW.indexOf(a);if(f<0){if(d==null)d=-9999;f=[0,d]}varg=[f,ax(b||e),ax(c||e)];return g}varhF={};functiona$(a){return hF[a]}function
f=r0.indexOf(a);if(f<0){if(d==null)d=-9999;f=[0,d]}varg=[f,az(b||e),az(c||e)];return g}varhG={};functiona$(a){return hG[a]}function
m(a){ex(X.Sys_error,a)}functionhI(a){m(a+cs)}functionhL(a){if(a.t!=4)cy(a);return a.c}functionaE(a){return a.l}functiong$(){}function
m(a){ey(X.Sys_error,a)}functionhJ(a){m(a+cs)}functionhM(a){if(a.t!=4)cy(a);return a.c}functionaF(a){return a.l}functionha(){}function
g$();W.prototype.constructor=W;W.prototype.truncate=function(a){varb=this.data;this.data=G(a|0);a7(b,0,this.data,0,a)};W.prototype.length=function(){return aE(this.data)};W.prototype.write=function(a,b,c,d){var
ha();W.prototype.constructor=W;W.prototype.truncate=function(a){varb=this.data;this.data=G(a|0);a7(b,0,this.data,0,a)};W.prototype.length=function(){return aF(this.data)};W.prototype.write=function(a,b,c,d){var
f=G(a+d),g=this.data;this.data=f;a7(g,0,this.data,0,e)}a7(ei(b),c,this.data,a,d);return 0};W.prototype.read=function(a,b,c,d){var
f=G(a+d),g=this.data;this.data=f;a7(g,0,this.data,0,e)}a7(ej(b),c,this.data,a,d);return 0};W.prototype.read=function(a,b,c,d){var
f=G(d|0);a7(this.data,a,f,0,d);b.set(hL(f),c)}return d};functionbf(a,b,c){this.file=b;this.name=a;this.flags=c}bf.prototype.err_closed=function(){m(this.name+fW)};bf.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};bf.prototype.write=function(a,b,c,d){if(this.file)return this.file.write(a,b,c,d);this.err_closed()};bf.prototype.read=function(a,b,c,d){if(this.file)return this.file.read(a,b,c,d);this.err_closed()};bf.prototype.close=function(){this.file=undefined};function
f=G(d|0);a7(this.data,a,f,0,d);b.set(hM(f),c)}return d};functionbf(a,b,c){this.file=b;this.name=a;this.flags=c}bf.prototype.err_closed=function(){m(this.name+fX)};bf.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};bf.prototype.write=function(a,b,c,d){if(this.file)return this.file.write(a,b,c,d);this.err_closed()};bf.prototype.read=function(a,b,c,d){if(this.file)return this.file.read(a,b,c,d);this.err_closed()};bf.prototype.close=function(){this.file=undefined};function
d=a.split(aD),c=e;for(varb=0;b<d.length-1;b++){c+=d[b]+aD;if(this.content[c])continue;this.content[c]=Symbol("directory")}};P.prototype.slash=function(a){return/\/$/.test(a)?a:a+aD};P.prototype.lookup=function(a){if(!this.content[a]&&this.lookupFun){var
d=a.split(aE),c=e;for(varb=0;b<d.length-1;b++){c+=d[b]+aE;if(this.content[c])continue;this.content[c]=Symbol("directory")}};P.prototype.slash=function(a){return/\/$/.test(a)?a:a+aE};P.prototype.lookup=function(a){if(!this.content[a]&&this.lookupFun){var
c=b&&a$(cv),d=this.readdir(a),e=false,f=0;return{readSync:function(){if(e)if(c)aW(c,aZ(dm,g6,this.nm(a)));elsem(a+f_);if(f==d.length)return null;varb=d[f];f++;return{name:b}},closeSync:function(){if(e)if(c)aW(c,aZ(dm,g6,this.nm(a)));elsem(a+f_);e=true;d=[]}}};P.prototype.is_dir=function(a){if(a==e)return true;var
c=b&&a$(cv),d=this.readdir(a),e=false,f=0;return{readSync:function(){if(e)if(c)aW(c,aZ(dm,g7,this.nm(a)));elsem(a+f$);if(f==d.length)return null;varb=d[f];f++;return{name:b}},closeSync:function(){if(e)if(c)aW(c,aZ(dm,g7,this.nm(a)));elsem(a+f$);e=true;d=[]}}};P.prototype.is_dir=function(a){if(a==e)return true;var
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fX);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fY);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fX);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fY);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
W(hh(b));else if(b.toString){vard=bg(ax(b.toString()));c=new
W(hi(b));else if(b.toString){vard=bg(az(b.toString()));c=new
aw(a,b){this.fs=require(dz);this.fd=a;this.flags=b}aw.prototype=newg$();aw.prototype.constructor=aw;aw.prototype.truncate=function(a){try{this.fs.ftruncateSync(this.fd,a|0)}catch(f){m(f.toString())}};aw.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(f){m(f.toString())}};aw.prototype.write=function(a,b,c,d){try{if(this.flags.isCharacterDevice)this.fs.writeSync(this.fd,b,c,d);elsethis.fs.writeSync(this.fd,b,c,d,a)}catch(f){m(f.toString())}return 0};aw.prototype.read=function(a,b,c,d){try{if(this.flags.isCharacterDevice)var
ay(a,b){this.fs=require(dz);this.fd=a;this.flags=b}ay.prototype=newha();ay.prototype.constructor=ay;ay.prototype.truncate=function(a){try{this.fs.ftruncateSync(this.fd,a|0)}catch(f){m(f.toString())}};ay.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(f){m(f.toString())}};ay.prototype.write=function(a,b,c,d){try{if(this.flags.isCharacterDevice)this.fs.writeSync(this.fd,b,c,d);elsethis.fs.writeSync(this.fd,b,c,d,a)}catch(f){m(f.toString())}return 0};ay.prototype.read=function(a,b,c,d){try{if(this.flags.isCharacterDevice)var
e=this.fs.readSync(this.fd,b,c,d,a);return e}catch(f){m(f.toString())}};aw.prototype.close=function(){try{this.fs.closeSync(this.fd);return 0}catch(f){m(f.toString())}};function
e=this.fs.readSync(this.fd,b,c,d,a);return e}catch(f){m(f.toString())}};ay.prototype.close=function(){try{this.fs.closeSync(this.fd);return 0}catch(f){m(f.toString())}};function
aw(f,b)}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.rename=function(a,b,c){try{this.fs.renameSync(this.nm(a),this.nm(b))}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.stat=function(a,b){try{var
ay(f,b)}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.rename=function(a,b,c){try{this.fs.renameSync(this.nm(a),this.nm(b))}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.stat=function(a,b){try{var
c=this.fs.readlinkSync(this.nm(a),"utf8");return ax(c)}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.opendir=function(a,b){try{return this.fs.opendirSync(this.nm(a))}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.raise_nodejs_error=function(a,b){var
c=this.fs.readlinkSync(this.nm(a),"utf8");return az(c)}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.opendir=function(a,b){try{return this.fs.opendirSync(this.nm(a))}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.raise_nodejs_error=function(a,b){var
hs(a){varb=eC(a);if(!b)return;return b[0]+aD}varcF=hs(b4)||aj("unable to compute caml_root"),bF=[];if(b7())bF.push({path:cF,device:new
ht(a){varb=eD(a);if(!b)return;return b[0]+aE}varcF=ht(b4)||aj("unable to compute caml_root"),bF=[];if(b7())bF.push({path:cF,device:new
rd(a,b){varc=hO(a);if(!c.device.register)aj("cannot register file");c.device.register(c.rest,b);return 0}functionhN(a,b){vara=al(a),b=al(b);return rd(a,b)}functionri(){var
rh(a,b){varc=hP(a);if(!c.device.register)aj("cannot register file");c.device.register(c.rest,b);return 0}functionhO(a,b){vara=al(a),b=al(b);return rh(a,b)}functionrm(){var
a=0;a<b.length;a++)hN(b[a].name,b[a].content);t.jsoo_create_file=hN;t.caml_fs_tmp=[];return 0}functionhr(){return[0]}functionrk(a,b,c){if(!isFinite(a)){if(isNaN(a))return ax(dw);return ax(a>0?gq:"-infinity")}var
a=0;a<b.length;a++)hO(b[a].name,b[a].content);t.jsoo_create_file=hO;t.caml_fs_tmp=[];return 0}functionhs(){return[0]}functionro(a,b,c){if(!isFinite(a)){if(isNaN(a))return az(dw);return az(a>0?gr:"-infinity")}var
h(a&aB,a>>24&aB,a>>31&av)}functionrv(a){return a.toInt()}functionrq(a){return+a.isNeg()}functionhw(a){return a.neg()}functionro(a,b){varc=ew(a);if(c.signedconv&&rq(b)){c.sign=-1;b=hw(b)}var
h(a&aC,a>>24&aC,a>>31&ax)}functionrz(a){return a.toInt()}functionru(a){return+a.isNeg()}functionhx(a){return a.neg()}functionrs(a,b){varc=ex(a);if(c.signedconv&&ru(b)){c.sign=-1;b=hx(b)}var
g=b.udivmod(i);b=g.quotient;d=h.charAt(rv(g.modulus))+d}while(!rr(b));if(c.prec>=0){c.filler=aM;varf=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return em(c,d)}functionhz(a,b){return a.or(b)}functionrA(a){if(a.js_error)return[0,a.js_error];return 0}function
g=b.udivmod(i);b=g.quotient;d=h.charAt(rz(g.modulus))+d}while(!rv(b));if(c.prec>=0){c.filler=aM;varf=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return en(c,d)}functionhA(a,b){return a.or(b)}functionrE(a){if(a.js_error)return[0,a.js_error];return 0}function
hG(a){return al(a)}functionhu(a,b){return a.add(b)}functionhv(a,b){return a.mul(b)}functionet(a,b){return a.ucompare(b)<0}functionrK(a){var
hH(a){return al(a)}functionhv(a,b){return a.add(b)}functionhw(a,b){return a.mul(b)}functioneu(a,b){return a.ucompare(b)<0}functionrO(a){var
hH(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}functionhx(a){varg=rK(a),f=g[0],j=g[1],d=g[2],i=cC(d),k=newh(aB,0xfffffff,av).udivmod(i).quotient,e=aY(a,f),b=hH(e);if(b<0||b>=d)aj(b0);varc=cC(b);for(;;){f++;e=aY(a,f);if(e==95)continue;b=hH(e);if(b<0||b>=d)break;if(et(k,c))aj(b0);b=cC(b);c=hu(hv(i,c),b);if(et(c,b))aj(b0)}if(f!=w(a))aj(b0);if(d==10&&et(newh(0,0,at),c))aj(b0);if(j<0)c=hw(c);return c}functionq9(a,b){return a.get(a.offset(b))}functionrx(a,b){return a.xor(b)}functionru(a,b){return a.shift_right_unsigned(b)}functionrt(a,b){return a.shift_left(b)}function
hI(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}functionhy(a){varg=rO(a),f=g[0],j=g[1],d=g[2],i=cC(d),k=newh(aC,0xfffffff,ax).udivmod(i).quotient,e=aY(a,f),b=hI(e);if(b<0||b>=d)aj(b0);varc=cC(b);for(;;){f++;e=aY(a,f);if(e==95)continue;b=hI(e);if(b<0||b>=d)break;if(eu(k,c))aj(b0);b=cC(b);c=hv(hw(i,c),b);if(eu(c,b))aj(b0)}if(f!=w(a))aj(b0);if(d==10&&eu(newh(0,0,av),c))aj(b0);if(j<0)c=hx(c);return c}functionrb(a,b){return a.get(a.offset(b))}functionrB(a,b){return a.xor(b)}functionry(a,b){return a.shift_right_unsigned(b)}functionrx(a,b){return a.shift_left(b)}function
o(a,b){return rt(a,b)}functionh(a,b){return ru(a,b)}functions(a,b){return hz(a,b)}functionf(a,b){return rx(a,b)}functionk(a,b){return hu(a,b)}functioni(a,b){return hv(a,b)}function
o(a,b){return rx(a,b)}functionh(a,b){return ry(a,b)}functions(a,b){return hA(a,b)}functionf(a,b){return rB(a,b)}functionk(a,b){return hv(a,b)}functioni(a,b){return hw(a,b)}function
q=hx(hG("0xd1342543de82ef95")),l=hx(hG("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
q=hy(hH("0xd1342543de82ef95")),l=hy(hH("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
aw(c,b)}catch(f){}return newaw(a,b)}var
ay(c,b)}catch(f){}return neway(a,b)}var
e=G(d);a7(ei(b),c,e,0,d);this.log(e.toUtf16());return 0}m(this.fd+fW)};b1.prototype.read=function(a,b,c,d){m(this.fd+": file descriptor is write only")};b1.prototype.close=function(){this.log=undefined};function
e=G(d);a7(ej(b),c,e,0,d);this.log(e.toUtf16());return 0}m(this.fd+fX)};b1.prototype.read=function(a,b,c,d){m(this.fd+": file descriptor is write only")};b1.prototype.close=function(){this.log=undefined};function
rG(a,b,c,d){varb=hL(b);return rH(a,b,c,d)}functionhC(a,b,c,d){return rG(a,bg(b),c,d)}functionhD(a,b){varc=al(String.fromCharCode(b));hC(a,c,0,1);return 0}functionbj(a,b){return+(hi(a,b,false)!=0)}function
rK(a,b,c,d){varb=hM(b);return rL(a,b,c,d)}functionhD(a,b,c,d){return rK(a,bg(b),c,d)}functionhE(a,b){varc=al(String.fromCharCode(b));hD(a,c,0,1);return 0}functionbj(a,b){return+(hj(a,b,false)!=0)}function
rz(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}functionrh(a){varb=e;if(a[0]==0){b+=a[1][1];if(a.length==3&&a[2][0]==0&&rz(a[1]))var
rD(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}functionrl(a){varb=e;if(a[0]==0){b+=a[1][1];if(a.length==3&&a[2][0]==0&&rD(a[1]))var
c=a$(gT);if(c)ek(c,[a,false]);else{vard=rh(a),b=a$(gs);if(b)ek(b,[0]);console.error(d0+d);if(a.js_error)throw a.js_error}}else
c=a$(gU);if(c)el(c,[a,false]);else{vard=rl(a),b=a$(gt);if(b)el(b,[0]);console.error(d0+d);if(a.js_error)throw a.js_error}}else
rN(){varc=t.process;if(c&&c.on)c.on("uncaughtException",function(a,b){hp(a);c.exit(2)});else if(t.addEventListener)t.addEventListener("error",function(a){if(a.error)hp(a.error)})}rN();function
rR(){varc=t.process;if(c&&c.on)c.on("uncaughtException",function(a,b){hq(a);c.exit(2)});else if(t.addEventListener)t.addEventListener("error",function(a){if(a.error)hq(a.error)})}rR();function
q3(a,b,c,d,e,f,g,h){return(a.l>=0?a.l:a.l=a.length)==7?a(b,c,d,e,f,g,h):a8(a,[b,c,d,e,f,g,h])}varrX=undefined;ri();varcK=[N,g9,-1],eH=[N,gn,-2],eE=[N,ee,-3],eD=[N,f6,-4],eF=[N,g5,-8],eG=[N,gE,-9],j=[N,gM,-11],eI=[N,g0,-12],q2=[4,0,0,0,[12,45,[4,0,0,0,0]]],cU=[0,[11,'File "',[2,0,[11,'", line ',[4,0,0,0,[11,g7,[4,0,0,0,[12,45,[4,0,0,0,[11,": ",[2,0,0]]]]]]]]]],'File "%s", line %d, characters %d-%d: %s'],p=bi(["Army Olive EPX200","Black Knight EPX200","Brick Red EPX200","Bright Blue EPX200","Bright Orange EPX200","Coyote Brown EPX200","Deep Purple EPX200","Fuchsia EPX200","Golden Dazy EPX200","Green Mountain EPX200","Ocean Blue EPX200","Red Barn EPX200","Snow White EPX200","Teal EPX200","Wolf Grey EPX200"]),bu=[0,"Black Knight EPX400",0],bb=[0,"Black Ultra 400TX",0],cg=[0,"Black VX42",0],ap=[0,"Black VX21 Cire",0],u=[0,"Navy Blue VX07",[0,"Red VX07",[0,"Off-white VX07",0]]],bc=[0,"Liteskin LS07",0],fD=[0,eb,[0,cu,[0,d2,0]]],fE=[0,e,[0,aJ,[0,aL,[0,aO,[0,aP,[0,aI,[0,aN,[0,aK,[0,aA,[0,aC,0]]]]]]]]]],fF=[0,e,0],fG=bi([fR,"Average width: 28cm","Depth: 19cm",dZ,"Volume: 46l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop","Weight: 0.65 to 1 kilograms depending on fabric selection and torso length",dT,"Bungy cord side compression",ef,"Large HDPE Gridstop back pocket with bungy cord",d1,dj,d_,bw,"Integrated back padding (EVA foam, minimal)",bx,bz,bB,a5]),fH=[0,e,[0,gD,[0,gJ,[0,g1,[0,gA,[0,fU,[0,f1,[0,gB,0]]]]]]]],d=[0,"I'm feeling lucky!",0];ar(11,eI,g0);ar(10,j,gM);ar(9,[N,gS,-10],gS);ar(8,eG,gE);ar(7,eF,g5);ar(6,[N,f8,-7],f8);ar(5,[N,gk,-6],gk);ar(4,[N,gu,-5],gu);ar(3,eD,f6);ar(2,eE,ee);ar(1,eH,gn);ar(0,cK,g9);varhS=be,hQ="true",hR="false",hV="\\\\",hW="\\'",hX="\\b",hY="\\t",hZ="\\n",h0="\\r",h3="String.blit / Bytes.blit_string",h2="Bytes.blit",h1="String.sub / Bytes.sub",h4="String.concat",h6="Array.blit",h5="Array.sub",h8="Buffer.add: cannot grow buffer",ih="%c",ii="%s",ij=gc,ik=f0,il=g_,im=f7,io="%f",ip="%B",iq="%{",ir="%}",is="%(",it="%)",iu="%a",iv="%t",iw="%?",ix="%r",iy="%_r",iz=[0,F,850,23],iK=[0,F,814,21],iC=[0,F,815,21],iL=[0,F,818,21],iD=[0,F,819,21],iM=[0,F,822,19],iE=[0,F,823,19],iN=[0,F,826,22],iF=[0,F,827,22],iO=[0,F,831,30],iG=[0,F,832,30],iI=[0,F,836,26],iA=[0,F,837,26],iJ=[0,F,846,28],iB=[0,F,847,28],iH=[0,F,851,23],jP=[0,F,1558,4],jQ="Printf: bad conversion %[",jR=[0,F,1626,39],jS=[0,F,1649,31],jT=[0,F,1650,31],jU="Printf: bad conversion %_",jV=gj,jW=gQ,jX=gj,jY=gQ,jN=dw,jL="neg_infinity",jM=gq,jK=be,jF=[0,fQ],jt="%+nd",ju="% nd",jw="%+ni",jx="% ni",jy="%nx",jz="%#nx",jA="%nX",jB="%#nX",jC="%no",jD="%#no",js="%nd",jv=g_,jE="%nu",jg="%+ld",jh="% ld",jj="%+li",jk="% li",jl="%lx",jm="%#lx",jn="%lX",jo="%#lX",jp="%lo",jq="%#lo",jf="%ld",ji=f0,jr="%lu",i5="%+Ld",i6="% Ld",i8="%+Li",i9="% Li",i_="%Lx",i$="%#Lx",ja="%LX",jb="%#LX",jc="%Lo",jd="%#Lo",i4="%Ld",i7=f7,je="%Lu",iS="%+d",iT="% d",iV="%+i",iW="% i",iX="%x",iY="%#x",iZ="%X",i0="%#X",i1="%o",i2="%#o",iR=dn,iU=gc,i3=gw,h_="@]",h$="@}",ia="@?",ib="@\n",ic="@.",id="@@",ie="@%",ig="@",iP="CamlinternalFormat.Type_mismatch",j2=e,j3=[0,[11,f3,[2,0,[2,0,0]]],", %s%s"],kp=[0,[11,d0,[2,0,[12,10,0]]],gz],kq=[0,[11,"Fatal error in uncaught exception handler: exception ",[2,0,[12,10,0]]],"Fatal error in uncaught exception handler: exception %s\n"],ko="Fatal error: out of memory in uncaught exception handler",km=[0,[11,d0,[2,0,[12,10,0]]],gz],kj=[0,[2,0,[12,10,0]],"%s\n"],kb="Raised at",kc="Re-raised at",kd="Raised by primitive operation at",ke="Called from",kf=" (inlined)",kh=e,kg=[0,[2,0,[12,32,[2,0,[11,' in file "',[2,0,[12,34,[2,0,[11,", line ",[4,0,0,0,[11,g7,q2]]]]]]]]]],'%s %s in file "%s"%s, line %d, characters %d-%d'],ki=[0,[2,0,[11," unknown location",0]],"%s unknown location"],j8="Out of memory",j9="Stack overflow",j_="Pattern matching failed",j$="Assertion failed",ka="Undefined recursive module",j4=[0,[12,40,[2,0,[2,0,[12,41,0]]]],"(%s%s)"],j5=e,j6=e,j7=[0,[12,40,[2,0,[12,41,0]]],"(%s)"],j1=[0,[4,0,0,0,0],dn],jZ=[0,[3,0,0],"%S"],j0=gR,kk=[0,e,"(Cannot print locations:\n bytecode executable program file not found)","(Cannot print locations:\n bytecode executable program file appears to be corrupt)","(Cannot print locations:\n bytecode executable program file has wrong magic number)","(Cannot print locations:\n bytecode executable program file cannot be opened;\n -- too many open files. Try running with OCAMLRUNPARAM=b=2)"],kx=ak(14371852,15349651,22696),ky=ak(12230193,11438743,35013),kz=ak(1424933,15549263,2083),kA=ak(9492471,4696708,43520),kr=ak(1,0,0),ks=ak(0,0,0),kv=ak(1,0,0),kt=ak(0,0,0),ku=ak(2,0,0),kC="Jsoo_runtime.Error.Exn",kS=[0,ai,165,16],kR=[0,ai,166,16],kQ=[0,ai,105,4],kP=[0,ai,98,4],kO=[0,ai,83,4],kN=[0,ai,84,4],kM=[0,ai,89,4],kL=[0,ai,67,4],kK=[0,ai,68,4],kJ=[0,ai,54,4],kI=[0,ai,55,4],kH=[0,ai,25,4],kG=[0,ai,19,4],ld=[0,a,388,16],ll=[0,a,611,12],lm=[0,a,623,12],lp=[0,a,840,8],lo=[0,a,848,12],ln=[0,a,802,8],lk=[0,a,579,12],lj=[0,a,510,8],li=[0,a,492,8],lh=[0,a,473,8],lg=[0,a,443,8],lf=[0,a,f5,8],le=[0,a,431,8],k8=[0,a,300,12],k_=[0,a,317,20],k9=[0,a,318,20],k$=[0,a,331,20],la=[0,a,gy,20],lb=[0,a,355,20],lc=[0,a,366,20],k7=[0,a,223,8],k6=[0,a,205,8],k5=[0,a,206,8],k4=[0,a,207,8],k3=[0,a,208,8],k2=[0,a,193,8],k1=[0,a,194,8],k0=[0,a,195,8],kY=[0,a,109,20],kX=[0,a,gY,24],kW=[0,a,115,24],kZ=[0,a,107,16],kU=[0,a,81,20],kV=[0,a,79,16],lq=[0,a,20,8],lt=[0,gI,257,8],ls=[0,gI,147,8],lw=[0,du,88,12],lv=[0,du,62,17],lu=[0,du,64,17],lx=[0,0],ly=[0,1],lP=[0,bZ,356,12],lJ=g8,lK=di,lH=gf,lG=gf,lD="Cannot decode event",lC=[0,bZ,78,33],lB=[0,bZ,88,21],lA=[0,bZ,gi,33],lz=[0,bZ,48,17],lL="tagName",lN=di,lQ=[0,"src/browser/vdom.ml",246,16],lR=[0,0,0],lS=" col: ",lT=" line: ",lU="assertion failed file: ",lV="Uncaught javascript exception",lW="Uncaught ocaml exception",lY="Exception in task execution",lX=[0,"src/browser/task.ml",11,4],l3="Exception in 'update_subscriptions' of Fmlib_browser",l6=[0,ct,365,4],mc="load",l$="Exception in 'update'",l_="subscriptioin",l9="view",l7="'",l8="Exception in '",l4="Exception in 'update_dom' of Fmlib_browser",l5=[0,ct,gy,4],l2=[0,ct,94,12],l1=[0,ct,85,12],mt="li",ms="ul",mr="select",mq="textarea",mp="label",mo=gx,mn="button",mm=f9,ml="div",mi=fY,mj=di,mk=gx,mh=fY,mg="src",mf=g8,me="class",md="id",qK=aq,qB=aq,qq=aq,qh=aq,p_=aq,pr=aq,pc="mark",pb="form",pa="section",pd="contact",pe="Send",pf="submit",pg=E,ph="total",pi=ds,pj=ds,pk=M,pl=T,pm=E,pn="Message",po=ds,pp=O,pq="tail",ps=dJ,pt=dJ,pu=M,pv=T,pw=E,px="Shipping by NZ Post Courier",py=dJ,pz=O,pA=d7,pB=d7,pC=M,pD=T,pE=E,pF="Postal Address",pG=d7,pH=O,pI=dA,pJ=dA,pK=M,pL=T,pM=E,pN="Last Name",pO=dA,pP=O,pQ=dR,pR=dR,pS=M,pT=T,pU=E,pV="First Name",pW=dR,pX=O,pY=d3,pZ=dL,p0="_replyto",p1=M,p2=dL,p3=E,p4=gF,p5=dL,p6=O,p7="personal_details",p8="accessories",p9="measurements",p$=ed,qa=ed,qb=M,qc=T,qd=E,qe="Back Panel: Colour & Fabric",qf=ed,qg=O,qi=dU,qj=dU,qk=M,ql=T,qm=E,qn="Side Pockets: Colour & Fabric",qo=dU,qp=O,qr=dD,qs=dD,qt=M,qu=T,qv=E,qw="Side Panels: Colour & Fabric",qx=dD,qy=O,qz="fabric_and_colour",qA=gV,qC=d$,qD=d$,qE=M,qF=T,qG=E,qH="I'm going for",qI=d$,qJ=O,qL=dX,qM=dX,qN=M,qO=T,qP=E,qQ="Select a backpack",qR=dX,qS=O,qT="backpacks",qU="post",qV="method",qW="https://formspree.io/f/mjvnykql",qX="action",qY="main",qZ="header",q0="container",o_="Cost NZD: ",o8="Total: NZD ",oY=aq,oZ=dH,o0=dH,o1=M,o2=T,o3=E,o4="Rolltop: Colour & Fabric",o5=dH,o6=O,oD=cm,oC=dO,oB=dW,oE=d9,oF=d9,oG=M,oH=T,oI=E,oJ="Waist Circumference",oK=d9,oL=O,oM=ec,oN=ec,oO=M,oP=T,oQ=E,oR="Torso Length",oS=ec,oT=O,oU="Use a tape measure or piece of string to measure the length of your spine inbetween, conforming to the curves of your back.",oV="Find the top of your sacrum by placing your fore fingers on your hip bones (the Posterior Superior Iliac Spine), thumbs pointing in and resting in the small of your back.",oW="Find your C7 vertebra by bowing your head forward and finding the big bump sticking out on your spine at the bottom of your neck or around shoulder height.",oX="How to measure your torso",or=cm,oq=dO,op=dW,os="38 Caswell Road, Te Anau, Te Anau 9600",ot="Visit",ou="Phone",ov="tel:+0277561938",ow=gF,ox="mailto:david@fiordlandpacks.nz",oy="fiordlandpacks.nz",oz="https://fiordlandpacks.nz",oA="Contact Fiordland Packs",ol="img",om="Please complete this order form. I'll send an invoice tomorrow morning. Payment is by direct \n deposit or Stripe. Wait time is currently 2-3 weeks.",on="logo.svg",oo=d3,n9=aq,nZ=aq,nM=aq,ny=aq,nl=aq,ni="td",nh="tr",ng="table",nf="article",ne="figure",nj=bR,nk=[0,e,0],nm=dk,nn=dk,no=M,np=T,nq=E,nr="Shoulder Bag",ns=dk,nt=O,nu=cq,nv=bX,nw=bR,nx=[0,e,0],nz=ea,nA=ea,nB=M,nC=T,nD=E,nE="Waist Bag",nF=ea,nG=O,nH=cq,nI=bX,nJ="The lid fits all Fiordland Packs with a Y stap, it will not fit a 25l or 35l pack. Made from grey HDPE Gridstop. Weighs ~100g",nK=bR,nL=[0,e,[0,gO,0]],nN=dI,nO=dI,nP=M,nQ=T,nR=E,nS="Backpack Lid",nT=dI,nU=O,nV=cq,nW=bX,nX=" each",nY=bR,n0=dt,n1=dt,n2=M,n3=T,n4=E,n5="Colour",n6=dt,n7=O,n8=[0,e,[0,gU,[0,gL,[0,fS,[0,gN,0]]]]],n_=dy,n$=dy,oa=M,ob=T,oc=E,od="Strap Bottle Pockets",oe=dy,of=O,og=d3,oh=cq,oi=bX,oj="350%",ok=bX,m$=cm,m_=dO,m9=dW,na="Specification",nb=gV,nc=bR,m7=" for Ultra 400TX",m8="Plus NZD ",m5="empty_view",mL=e,mJ=[0,[0,e,0],[0,e,0],[0,e,0]],mK=[0,[0,e,0],[0,e,0],[0,e,0]],mH=[0,[0,dF,[0,bA,0]],[0,dF,[0,bA,0]],[0,dF,[0,bA,0]]],mI=[0,[0,bA,0],[0,bA,0],[0,bA,0]],mE=[0,dl,0],mF=[0,dl,0],mG=[0,dl,0],mu=bi([g4,"Average width: 34cm","Depth: 22cm",dZ,"Volume: 65l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,fZ,ef,gh,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,gZ]),mv=bi([g4,"Average width: 31cm","Depth: 21cm","Height: 85cm","Volume: 55l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,fZ,ef,gh,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,gZ]),mw=[0,"Average width: 27cm",[0,"Depth: 17cm",[0,"Height: 60cm",[0,"Volume: 27l to the top of an open bag, excluding pockets",[0,"Weight: ~450 grams depending on fabric selection",[0,dT,[0,"Lycra side pockets",[0,"Lycra back pocket with bungy cord",[0,gm,[0,a5,0]]]]]]]]]],mx=[0,"Average width: 25cm",[0,"Depth: 18cm",[0,"Height: 57cm",[0,"Volume: 25l to the top of an open bag",[0,"Weight: ~300 grams",[0,dT,[0,"Lycra pocket on the pack base",[0,gm,[0,a5,0]]]]]]]]],my=bi([gb,"Average circumference: 100.5cm",dZ,"Volume: 70l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mz=bi([gb,"Average circumference: 98.5cm",gW,"Volume: 60l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mA=bi([fR,"Average circumference: 92cm",gW,"Volume: 50l to the top of an open bag","Weight: 1+ kilograms depending on fabric selection and torso length",bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mM=e,mO=e,mP=e,mQ=e,mR=e,mS=e,mT=e,mU=e,mW=e,mX=e,mY=e;function
q7(a,b,c,d,e,f,g,h){return(a.l>=0?a.l:a.l=a.length)==7?a(b,c,d,e,f,g,h):a8(a,[b,c,d,e,f,g,h])}varr1=undefined;rm();varcK=[N,g_,-1],eI=[N,go,-2],eF=[N,ee,-3],eE=[N,f7,-4],eG=[N,g6,-8],eH=[N,gF,-9],j=[N,gN,-11],eJ=[N,g1,-12],q6=[4,0,0,0,[12,45,[4,0,0,0,0]]],cU=[0,[11,'File "',[2,0,[11,'", line ',[4,0,0,0,[11,g8,[4,0,0,0,[12,45,[4,0,0,0,[11,": ",[2,0,0]]]]]]]]]],'File "%s", line %d, characters %d-%d: %s'],p=bi(["Army Olive EPX200","Black Knight EPX200","Brick Red EPX200","Bright Blue EPX200","Bright Orange EPX200","Coyote Brown EPX200","Deep Purple EPX200","Fuchsia EPX200","Golden Dazy EPX200","Green Mountain EPX200","Ocean Blue EPX200","Red Barn EPX200","Snow White EPX200","Teal EPX200","Wolf Grey EPX200"]),bu=[0,"Black Knight EPX400",0],bb=[0,"Black Ultra 400TX",0],cg=[0,"Black VX42",0],ap=[0,"Black VX21 Cire",0],u=[0,"Navy Blue VX07",[0,"Red VX07",[0,"Off-white VX07",0]]],bc=[0,"Liteskin LS07",0],fE=[0,eb,[0,cu,[0,d2,0]]],fF=[0,e,[0,aK,[0,aL,[0,aO,[0,aP,[0,aJ,[0,aN,[0,aD,[0,at,[0,au,0]]]]]]]]]],fG=[0,e,0],fH=bi([fS,"Average width: 28cm","Depth: 19cm",dZ,"Volume: 46l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop","Weight: 0.65 to 1 kilograms depending on fabric selection and torso length",dT,"Bungy cord side compression",ef,"Large HDPE Gridstop back pocket with bungy cord",d1,dj,d_,bw,"Integrated back padding (EVA foam, minimal)",bx,bz,bB,a5]),fI=[0,e,[0,gE,[0,gK,[0,g2,[0,gB,[0,fV,[0,f2,[0,gC,0]]]]]]]],d=[0,"I'm feeling lucky!",0];ar(11,eJ,g1);ar(10,j,gN);ar(9,[N,gT,-10],gT);ar(8,eH,gF);ar(7,eG,g6);ar(6,[N,f9,-7],f9);ar(5,[N,gl,-6],gl);ar(4,[N,gv,-5],gv);ar(3,eE,f7);ar(2,eF,ee);ar(1,eI,go);ar(0,cK,g_);varhT=be,hR="true",hS="false",hW="\\\\",hX="\\'",hY="\\b",hZ="\\t",h0="\\n",h1="\\r",h4="String.blit / Bytes.blit_string",h3="Bytes.blit",h2="String.sub / Bytes.sub",h5="String.concat",h7="Array.blit",h6="Array.sub",h9="Buffer.add: cannot grow buffer",ii="%c",ij="%s",ik=gd,il=f1,im=g$,io=f8,ip="%f",iq="%B",ir="%{",is="%}",it="%(",iu="%)",iv="%a",iw="%t",ix="%?",iy="%r",iz="%_r",iA=[0,F,850,23],iL=[0,F,814,21],iD=[0,F,815,21],iM=[0,F,818,21],iE=[0,F,819,21],iN=[0,F,822,19],iF=[0,F,823,19],iO=[0,F,826,22],iG=[0,F,827,22],iP=[0,F,831,30],iH=[0,F,832,30],iJ=[0,F,836,26],iB=[0,F,837,26],iK=[0,F,846,28],iC=[0,F,847,28],iI=[0,F,851,23],jQ=[0,F,1558,4],jR="Printf: bad conversion %[",jS=[0,F,1626,39],jT=[0,F,1649,31],jU=[0,F,1650,31],jV="Printf: bad conversion %_",jW=gk,jX=gR,jY=gk,jZ=gR,jO=dw,jM="neg_infinity",jN=gr,jL=be,jG=[0,fR],ju="%+nd",jv="% nd",jx="%+ni",jy="% ni",jz="%nx",jA="%#nx",jB="%nX",jC="%#nX",jD="%no",jE="%#no",jt="%nd",jw=g$,jF="%nu",jh="%+ld",ji="% ld",jk="%+li",jl="% li",jm="%lx",jn="%#lx",jo="%lX",jp="%#lX",jq="%lo",jr="%#lo",jg="%ld",jj=f1,js="%lu",i6="%+Ld",i7="% Ld",i9="%+Li",i_="% Li",i$="%Lx",ja="%#Lx",jb="%LX",jc="%#LX",jd="%Lo",je="%#Lo",i5="%Ld",i8=f8,jf="%Lu",iT="%+d",iU="% d",iW="%+i",iX="% i",iY="%x",iZ="%#x",i0="%X",i1="%#X",i2="%o",i3="%#o",iS=dn,iV=gd,i4=gx,h$="@]",ia="@}",ib="@?",ic="@\n",id="@.",ie="@@",ig="@%",ih="@",iQ="CamlinternalFormat.Type_mismatch",j3=e,j4=[0,[11,f4,[2,0,[2,0,0]]],", %s%s"],kq=[0,[11,d0,[2,0,[12,10,0]]],gA],kr=[0,[11,"Fatal error in uncaught exception handler: exception ",[2,0,[12,10,0]]],"Fatal error in uncaught exception handler: exception %s\n"],kp="Fatal error: out of memory in uncaught exception handler",kn=[0,[11,d0,[2,0,[12,10,0]]],gA],kk=[0,[2,0,[12,10,0]],"%s\n"],kc="Raised at",kd="Re-raised at",ke="Raised by primitive operation at",kf="Called from",kg=" (inlined)",ki=e,kh=[0,[2,0,[12,32,[2,0,[11,' in file "',[2,0,[12,34,[2,0,[11,", line ",[4,0,0,0,[11,g8,q6]]]]]]]]]],'%s %s in file "%s"%s, line %d, characters %d-%d'],kj=[0,[2,0,[11," unknown location",0]],"%s unknown location"],j9="Out of memory",j_="Stack overflow",j$="Pattern matching failed",ka="Assertion failed",kb="Undefined recursive module",j5=[0,[12,40,[2,0,[2,0,[12,41,0]]]],"(%s%s)"],j6=e,j7=e,j8=[0,[12,40,[2,0,[12,41,0]]],"(%s)"],j2=[0,[4,0,0,0,0],dn],j0=[0,[3,0,0],"%S"],j1=gS,kl=[0,e,"(Cannot print locations:\n bytecode executable program file not found)","(Cannot print locations:\n bytecode executable program file appears to be corrupt)","(Cannot print locations:\n bytecode executable program file has wrong magic number)","(Cannot print locations:\n bytecode executable program file cannot be opened;\n -- too many open files. Try running with OCAMLRUNPARAM=b=2)"],ky=ak(14371852,15349651,22696),kz=ak(12230193,11438743,35013),kA=ak(1424933,15549263,2083),kB=ak(9492471,4696708,43520),ks=ak(1,0,0),kt=ak(0,0,0),kw=ak(1,0,0),ku=ak(0,0,0),kv=ak(2,0,0),kD="Jsoo_runtime.Error.Exn",kT=[0,ai,165,16],kS=[0,ai,166,16],kR=[0,ai,105,4],kQ=[0,ai,98,4],kP=[0,ai,83,4],kO=[0,ai,84,4],kN=[0,ai,89,4],kM=[0,ai,67,4],kL=[0,ai,68,4],kK=[0,ai,54,4],kJ=[0,ai,55,4],kI=[0,ai,25,4],kH=[0,ai,19,4],le=[0,a,388,16],lm=[0,a,611,12],ln=[0,a,623,12],lq=[0,a,840,8],lp=[0,a,848,12],lo=[0,a,802,8],ll=[0,a,579,12],lk=[0,a,510,8],lj=[0,a,492,8],li=[0,a,473,8],lh=[0,a,443,8],lg=[0,a,f6,8],lf=[0,a,431,8],k9=[0,a,300,12],k$=[0,a,317,20],k_=[0,a,318,20],la=[0,a,331,20],lb=[0,a,gz,20],lc=[0,a,355,20],ld=[0,a,366,20],k8=[0,a,223,8],k7=[0,a,205,8],k6=[0,a,206,8],k5=[0,a,207,8],k4=[0,a,208,8],k3=[0,a,193,8],k2=[0,a,194,8],k1=[0,a,195,8],kZ=[0,a,109,20],kY=[0,a,gZ,24],kX=[0,a,115,24],k0=[0,a,107,16],kV=[0,a,81,20],kW=[0,a,79,16],lr=[0,a,20,8],lu=[0,gJ,257,8],lt=[0,gJ,147,8],lx=[0,du,88,12],lw=[0,du,62,17],lv=[0,du,64,17],ly=[0,0],lz=[0,1],lQ=[0,bZ,356,12],lK=g9,lL=di,lI=gg,lH=gg,lE="Cannot decode event",lD=[0,bZ,78,33],lC=[0,bZ,88,21],lB=[0,bZ,gj,33],lA=[0,bZ,48,17],lM="tagName",lO=di,lR=[0,"src/browser/vdom.ml",246,16],lS=[0,0,0],lT=" col: ",lU=" line: ",lV="assertion failed file: ",lW="Uncaught javascript exception",lX="Uncaught ocaml exception",lZ="Exception in task execution",lY=[0,"src/browser/task.ml",11,4],l4="Exception in 'update_subscriptions' of Fmlib_browser",l7=[0,ct,365,4],md="load",ma="Exception in 'update'",l$="subscriptioin",l_="view",l8="'",l9="Exception in '",l5="Exception in 'update_dom' of Fmlib_browser",l6=[0,ct,gz,4],l3=[0,ct,94,12],l2=[0,ct,85,12],mu="li",mt="ul",ms="select",mr="textarea",mq="label",mp=gy,mo="button",mn=f_,mm="div",mj=fZ,mk=di,ml=gy,mi=fZ,mh="src",mg=g9,mf="class",me="id",qO=aq,qF=aq,qu=aq,ql=aq,qc=aq,pv=aq,pg="mark",pf="form",pe="section",ph="contact",pi="Send",pj="submit",pk=E,pl="total",pm=ds,pn=ds,po=M,pp=T,pq=E,pr="Message",ps=ds,pt=O,pu="tail",pw=dJ,px=dJ,py=M,pz=T,pA=E,pB="Shipping by NZ Post Courier",pC=dJ,pD=O,pE=d7,pF=d7,pG=M,pH=T,pI=E,pJ="Postal Address",pK=d7,pL=O,pM=dA,pN=dA,pO=M,pP=T,pQ=E,pR="Last Name",pS=dA,pT=O,pU=dR,pV=dR,pW=M,pX=T,pY=E,pZ="First Name",p0=dR,p1=O,p2=d3,p3=dL,p4="_replyto",p5=M,p6=dL,p7=E,p8=gG,p9=dL,p_=O,p$="personal_details",qa="accessories",qb="measurements",qd=ed,qe=ed,qf=M,qg=T,qh=E,qi="Back Panel: Colour & Fabric",qj=ed,qk=O,qm=dU,qn=dU,qo=M,qp=T,qq=E,qr="Side Pockets: Colour & Fabric",qs=dU,qt=O,qv=dD,qw=dD,qx=M,qy=T,qz=E,qA="Side Panels: Colour & Fabric",qB=dD,qC=O,qD="fabric_and_colour",qE=gW,qG=d$,qH=d$,qI=M,qJ=T,qK=E,qL="I'm going for",qM=d$,qN=O,qP=dX,qQ=dX,qR=M,qS=T,qT=E,qU="Select a backpack",qV=dX,qW=O,qX="backpacks",qY="post",qZ="method",q0="https://formspree.io/f/mjvnykql",q1="action",q2="main",q3="header",q4="container",pc="Cost NZD: ",pa="Total: NZD ",o2=aq,o3=dH,o4=dH,o5=M,o6=T,o7=E,o8="Rolltop: Colour & Fabric",o9=dH,o_=O,oH=cm,oG=dO,oF=dW,oI=d9,oJ=d9,oK=M,oL=T,oM=E,oN="Waist Circumference",oO=d9,oP=O,oQ=ec,oR=ec,oS=M,oT=T,oU=E,oV="Torso Length",oW=ec,oX=O,oY="Use a tape measure or piece of string to measure the length of your spine inbetween, conforming to the curves of your back.",oZ="Find the top of your sacrum by placing your fore fingers on your hip bones (the Posterior Superior Iliac Spine), thumbs pointing in and resting in the small of your back.",o0="Find your C7 vertebra by bowing your head forward and finding the big bump sticking out on your spine at the bottom of your neck or around shoulder height.",o1="How to measure your torso",ov=cm,ou=dO,ot=dW,ow="38 Caswell Road, Te Anau, Te Anau 9600",ox="Visit",oy="Phone",oz="tel:+0277561938",oA=gG,oB="mailto:david@fiordlandpacks.nz",oC="fiordlandpacks.nz",oD="https://fiordlandpacks.nz",oE="Contact Fiordland Packs",op="img",oq="Please complete this order form. I'll send an invoice tomorrow morning. Payment is by direct \n deposit or Stripe. Wait time is currently 2-3 weeks.",or="logo.svg",os=d3,ob=aq,n3=aq,nQ=aq,nD=aq,nq=aq,nn="td",nm="tr",nl="table",nk="article",nj="figure",no=bR,np=[0,e,0],nr=dk,ns=dk,nt=M,nu=T,nv=E,nw="Shoulder Bag",nx=dk,ny=O,nz=cq,nA=bX,nB=bR,nC=[0,e,0],nE=ea,nF=ea,nG=M,nH=T,nI=E,nJ="Waist Bag",nK=ea,nL=O,nM=cq,nN=bX,nO="The lid fits all Fiordland Packs with a Y stap, it will not fit a 25l or 35l pack. Made from grey HDPE Gridstop. Weighs ~100g",nP=bR,nR=dI,nS=dI,nT=M,nU=T,nV=E,nW="Backpack Lid",nX=dI,nY=O,nZ=cq,n0=bX,n1=" each",n2=bR,n4=dt,n5=dt,n6=M,n7=T,n8=E,n9="Colour",n_=dt,n$=O,oa=[0,e,[0,gV,[0,gM,[0,fT,[0,gO,0]]]]],oc=dy,od=dy,oe=M,of=T,og=E,oh="Strap Bottle Pockets",oi=dy,oj=O,ok=d3,ol=cq,om=bX,on="350%",oo=bX,nf=[0,eg,0],ng=[0,eg,0],nh=[0,eg,0],ne=[0,e,[0,gP,0]],na=cm,m$=dO,m_=dW,nb="Specification",nc=gW,nd=bR,m8=" for Ultra 400TX",m9="Plus NZD ",m6="empty_view",mM=e,mK=[0,[0,e,0],[0,e,0],[0,e,0]],mL=[0,[0,e,0],[0,e,0],[0,e,0]],mI=[0,[0,dF,[0,bA,0]],[0,dF,[0,bA,0]],[0,dF,[0,bA,0]]],mJ=[0,[0,bA,0],[0,bA,0],[0,bA,0]],mF=[0,dl,0],mG=[0,dl,0],mH=[0,dl,0],mv=bi([g5,"Average width: 34cm","Depth: 22cm",dZ,"Volume: 65l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,f0,ef,gi,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,g0]),mw=bi([g5,"Average width: 31cm","Depth: 21cm","Height: 85cm","Volume: 55l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,f0,ef,gi,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,g0]),mx=[0,"Average width: 27cm",[0,"Depth: 17cm",[0,"Height: 60cm",[0,"Volume: 27l to the top of an open bag, excluding pockets",[0,"Weight: ~450 grams depending on fabric selection",[0,dT,[0,"Lycra side pockets",[0,"Lycra back pocket with bungy cord",[0,gn,[0,a5,0]]]]]]]]]],my=[0,"Average width: 25cm",[0,"Depth: 18cm",[0,"Height: 57cm",[0,"Volume: 25l to the top of an open bag",[0,"Weight: ~300 grams",[0,dT,[0,"Lycra pocket on the pack base",[0,gn,[0,a5,0]]]]]]]]],mz=bi([gc,"Average circumference: 100.5cm",dZ,"Volume: 70l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mA=bi([gc,"Average circumference: 98.5cm",gX,"Volume: 60l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mB=bi([fS,"Average circumference: 92cm",gX,"Volume: 50l to the top of an open bag","Weight: 1+ kilograms depending on fabric selection and torso length",bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mN=e,mP=e,mQ=e,mR=e,mS=e,mT=e,mU=e,mV=e,mX=e,mY=e,mZ=e;function
bG(a,b){hC(a,b,0,w(b));return}functioneJ(a){bG(aF,a);hD(aF,10);return aV(aF)}varhU=[0,hT],eK=[0,function(a){return}];functioncL(a){g(eK[1],0);return g(cw(hU),0)}ez(gs,cL);varbH=(4*rP(0)|0)-1|0;function
bG(a,b){hD(a,b,0,w(b));return}functioneK(a){bG(aG,a);hE(aG,10);return aV(aG)}varhV=[0,hU],eL=[0,function(a){return}];functioncL(a){g(eL[1],0);return g(cw(hV),0)}eA(gt,cL);varbH=(4*rT(0)|0)-1|0;function
e=a0(h1)}return $(e)}functioneN(a,b,c,d,e){if(0<=e&&0<=b&&(aE(a)-e|0)>=b&&0<=d&&(aE(c)-e|0)>=d){a7(a,b,c,d,e);return}return a0(h2)}functionay(a,b,c,d,e){if(0<=e&&0<=b&&(w(a)-e|0)>=b&&0<=d&&(aE(c)-e|0)>=d){aS(a,b,c,d,e);return}return a0(h3)}var
e=a0(h2)}return $(e)}functioneO(a,b,c,d,e){if(0<=e&&0<=b&&(aF(a)-e|0)>=b&&0<=d&&(aF(c)-e|0)>=d){a7(a,b,c,d,e);return}return a0(h3)}functionaA(a,b,c,d,e){if(0<=e&&0<=b&&(w(a)-e|0)>=b&&0<=d&&(aF(c)-e|0)>=d){aS(a,b,c,d,e);return}return a0(h4)}var
b=a.length-1;return 0===b?[0]:eg(a,0,b)}functioncN(a,b,c){if(0<=b&&0<=c&&(a.length-1-c|0)>=b)return eg(a,b,c);return a0(h5)}functionas(a,b,c,d,e){if(0<=e&&0<=b&&(a.length-1-e|0)>=b&&0<=d&&(c.length-1-e|0)>=d){q5(a,b,c,d,e);return}return a0(h6)}functionh7(a,b,c){var
b=a.length-1;return 0===b?[0]:eh(a,0,b)}functioncN(a,b,c){if(0<=b&&0<=c&&(a.length-1-c|0)>=b)return eh(a,b,c);return a0(h6)}functionas(a,b,c,d,e){if(0<=e&&0<=b&&(a.length-1-e|0)>=b&&0<=d&&(c.length-1-e|0)>=d){q9(a,b,c,d,e);return}return a0(h7)}functionh8(a,b,c){var
eO(a,b){vard=a[2],c=[0,a[1][2]];for(;;){if(c[1]>=(d+b|0))break;c[1]=2*c[1]|0}if(bH<c[1]){if((d+b|0)>bH)throw i([0,eE,h8],1);c[1]=bH}vare=G(c[1]);eN(a[1][1],0,e,0,a[2]);a[1]=[0,e,c[1]];return}function
eP(a,b){vard=a[2],c=[0,a[1][2]];for(;;){if(c[1]>=(d+b|0))break;c[1]=2*c[1]|0}if(bH<c[1]){if((d+b|0)>bH)throw i([0,eF,h9],1);c[1]=bH}vare=G(c[1]);eO(a[1][1],0,e,0,a[2]);a[1]=[0,e,c[1]];return}function
c=cw(eP);if(!(1-ha(eP,c,[0,e,c])))break}}return d}vareR=eQ(0,function(a,b){return 0});eK[1]=function(a){varb=eR[1],l=eR[2],d=re(0),e=d.length-1;if(b<e)var
c=cw(eQ);if(!(1-hb(eQ,c,[0,e,c])))break}}return d}vareS=eR(0,function(a,b){return 0});eL[1]=function(a){varb=eS[1],l=eS[2],d=ri(0),e=d.length-1;if(b<e)var
eS(a){return[0,0,G(a)]}functioneT(a,b){varc=aE(a[2]),d=a[1]+b|0;if(c<d){vare=c*2|0,g=d<=e?e:d,f=G(g);eN(a[2],0,f,0,c);a[2]=f}return}functionbn(a,b){eT(a,1);bh(a[2],a[1],b);a[1]=a[1]+1|0;return}function
eT(a){return[0,0,G(a)]}functioneU(a,b){varc=aF(a[2]),d=a[1]+b|0;if(c<d){vare=c*2|0,g=d<=e?e:d,f=G(g);eO(a[2],0,f,0,c);a[2]=f}return}functionbn(a,b){eU(a,1);bh(a[2],a[1],b);a[1]=a[1]+1|0;return}function
0:return h_;case1:return h$;case2:return ia;case3:return ib;case4:return ic;case5:return id;default:return ie}switch(a[0]){case
0:return h$;case1:return ia;case2:return ib;case3:return ic;case4:return id;case5:return ie;default:return ig}switch(a[0]){case
9:break;default:throw i([0,j,iz],1)}}throw i([0,j,iB],1)}throw i([0,j,iA],1)}throw i([0,j,iG],1)}throw i([0,j,iF],1)}throw i([0,j,iE],1)}throw i([0,j,iD],1)}throw i([0,j,iC],1)}varH=[N,iP,hq(0)];function
9:break;default:throw i([0,j,iA],1)}}throw i([0,j,iC],1)}throw i([0,j,iB],1)}throw i([0,j,iH],1)}throw i([0,j,iG],1)}throw i([0,j,iF],1)}throw i([0,j,iE],1)}throw i([0,j,iD],1)}varH=[N,iQ,hr(0)];function
0:ay(c,0,e,0,d);break;case1:ay(c,0,e,f-d|0,d);break;default:a:if(0<d){if(43!==ae(c,0)&&45!==ae(c,0)&&32!==ae(c,0))break a;bh(e,0,ae(c,0));ay(c,1,e,(f-d|0)+1|0,d-1|0);break}a:if(1<d&&48===ae(c,0)){if(co!==ae(c,1)&&88!==ae(c,1))break a;bh(e,1,ae(c,1));ay(c,2,e,(f-d|0)+2|0,d-2|0);break}ay(c,0,e,f-d|0,d)}return $(e)}function
0:aA(c,0,e,0,d);break;case1:aA(c,0,e,f-d|0,d);break;default:a:if(0<d){if(43!==ae(c,0)&&45!==ae(c,0)&&32!==ae(c,0))break a;bh(e,0,ae(c,0));aA(c,1,e,(f-d|0)+1|0,d-1|0);break}a:if(1<d&&48===ae(c,0)){if(co!==ae(c,1)&&88!==ae(c,1))break a;bh(e,1,ae(c,1));aA(c,2,e,(f-d|0)+2|0,d-2|0);break}aA(c,0,e,f-d|0,d)}return $(e)}function
f=ba(d+1|0,48);bh(f,0,e);ay(b,1,f,(d-c|0)+2|0,c-1|0);return $(f)}if(71<=e){if(5<e+ge>>>0)break a}else if(65>e)break a}if(c<d){varh=ba(d,48);ay(b,0,h,d-c|0,c);return $(h)}}return b}functioniQ(a){vare=bg(a),b=[0,0],k=aE(e)-1|0,q=0;if(k>=0){var
f=ba(d+1|0,48);bh(f,0,e);aA(b,1,f,(d-c|0)+2|0,c-1|0);return $(f)}if(71<=e){if(5<e+gf>>>0)break a}else if(65>e)break a}if(c<d){varh=ba(d,48);aA(b,0,h,d-c|0,c);return $(h)}}return b}functioniR(a){vare=bg(a),b=[0,0],k=aF(e)-1|0,q=0;if(k>=0){var
13:y(c,b[1],92);b[1]++;y(c,b[1],gY);break a;default:break c}}if(34>d)break b}y(c,b[1],92);b[1]++;y(c,b[1],d);break a}y(c,b[1],92);b[1]++;y(c,b[1],48+(d/cl|0)|0);b[1]++;y(c,b[1],48+((d/10|0)%10|0)|0);b[1]++;y(c,b[1],48+(d%10|0)|0);break a}y(c,b[1],d)}b[1]++;var
13:y(c,b[1],92);b[1]++;y(c,b[1],gZ);break a;default:break c}}if(34>d)break b}y(c,b[1],92);b[1]++;y(c,b[1],d);break a}y(c,b[1],92);b[1]++;y(c,b[1],48+(d/cl|0)|0);b[1]++;y(c,b[1],48+((d/10|0)%10|0)|0);b[1]++;y(c,b[1],48+(d%10|0)|0);break a}y(c,b[1],d)}b[1]++;var
3:return cR(f,e,h[2],h[1],iQ);case4:return ca(f,e,h[4],h[2],h[3],jG,h[1]);case5:return ca(f,e,h[4],h[2],h[3],jH,h[1]);case6:return ca(f,e,h[4],h[2],h[3],jI,h[1]);case7:return ca(f,e,h[4],h[2],h[3],jJ,h[1]);case
3:return cR(f,e,h[2],h[1],iR);case4:return ca(f,e,h[4],h[2],h[3],jH,h[1]);case5:return ca(f,e,h[4],h[2],h[3],jI,h[1]);case6:return ca(f,e,h[4],h[2],h[3],jJ,h[1]);case7:return ca(f,e,h[4],h[2],h[3],jK,h[1]);case
p==="number")return p?function(a,b){return o(f,[4,e,aG(l,a,b)],m)}:function(a){return o(f,[4,e,aG(l,cP(l),a)],m)};varag=p[1];return function(a){return o(f,[4,e,aG(l,ag,a)],m)}}if(0===q[0]){var
p==="number")return p?function(a,b){return o(f,[4,e,aH(l,a,b)],m)}:function(a){return o(f,[4,e,aH(l,cP(l),a)],m)};varag=p[1];return function(a){return o(f,[4,e,aH(l,ag,a)],m)}}if(0===q[0]){var
p==="number")return p?function(a,b){return o(f,[4,e,ab(B,z,aG(l,a,b))],m)}:function(a){return o(f,[4,e,ab(B,z,aG(l,cP(l),a))],m)};varah=p[1];return function(a){return o(f,[4,e,ab(B,z,aG(l,ah,a))],m)}}var
p==="number")return p?function(a,b){return o(f,[4,e,ab(B,z,aH(l,a,b))],m)}:function(a){return o(f,[4,e,ab(B,z,aH(l,cP(l),a))],m)};varah=p[1];return function(a){return o(f,[4,e,ab(B,z,aH(l,ah,a))],m)}}var
p==="number")return p?function(a,b,c){return o(f,[4,e,ab(C,a,aG(l,b,c))],m)}:function(a,b){return o(f,[4,e,ab(C,a,aG(l,cP(l),b))],m)};varai=p[1];return function(a,b){return o(f,[4,e,ab(C,a,aG(l,ai,b))],m)};case9:return cR(f,e,h[2],h[1],hP);case
p==="number")return p?function(a,b,c){return o(f,[4,e,ab(C,a,aH(l,b,c))],m)}:function(a,b){return o(f,[4,e,ab(C,a,aH(l,cP(l),b))],m)};varai=p[1];return function(a,b){return o(f,[4,e,ab(C,a,aH(l,ai,b))],m)};case9:return cR(f,e,h[2],h[1],hQ);case
o(a,b,c){return eA(bQ(0,a,b,c))}functionag(a,b,c,d){return eA(df(0,a,b,c,d))}functionjO(a,b,c,d,e){return eA(dg(0,a,b,c,d,e))}function
o(a,b,c){return eB(bQ(0,a,b,c))}functionag(a,b,c,d){return eB(df(0,a,b,c,d))}functionjP(a,b,c,d,e){return eB(dg(0,a,b,c,d,e))}function
eX(d,b){vara=b[1],c=0;return o(function(a){aH(d,a);return 0},c,a)}functioncS(a){return eX(aF,a)}functionaz(a){var
eY(d,b){vara=b[1],c=0;return o(function(a){aI(d,a);return 0},c,a)}functioncS(a){return eY(aG,a)}functionaB(a){var
c==="number"?1:0)))return g(az(j1),c);if(cE(c)===cj)return g(az(jZ),c);if(cE(c)!==253)return j0;vare=en("%.12g",c),d=0,h=w(e);for(;;){if(h<=d)return bk(e,hS);var
c==="number"?1:0)))return g(aB(j2),c);if(cE(c)===cj)return g(aB(j0),c);if(cE(c)!==253)return j1;vare=eo("%.12g",c),d=0,h=w(e);for(;;){if(h<=d)return bk(e,hT);var
i=[0,l[1]]}if(i)return i[1];if(a===cK)return j8;if(a===eG)return j9;if(a[1]===eF){vare=a[2],p=e[3],y=e[2],z=e[1];return dh(az(cU),z,y,p,p+5|0,j_)}if(a[1]===j){varf=a[2],q=f[3],A=f[2],B=f[1];return dh(az(cU),B,A,q,q+6|0,j$)}if(a[1]===eI){varh=a[2],r=h[3],C=h[2],D=h[1];return dh(az(cU),D,C,r,r+6|0,ka)}if(0===cE(a)){var
i=[0,l[1]]}if(i)return i[1];if(a===cK)return j9;if(a===eH)return j_;if(a[1]===eG){vare=a[2],p=e[3],y=e[2],z=e[1];return dh(aB(cU),z,y,p,p+5|0,j$)}if(a[1]===j){varf=a[2],q=f[3],A=f[2],B=f[1];return dh(aB(cU),B,A,q,q+6|0,ka)}if(a[1]===eJ){varh=a[2],r=h[3],C=h[2],D=h[1];return dh(aB(cU),D,C,r,r+6|0,kb)}if(0===cE(a)){var
c=_(f,d)[1+d],h=function(b){return function(a){return a?0===b?kb:kc:0===b?kd:ke}}(d);if(0===c[0])varj=c[5],k=c[4],l=c[3],m=c[6]?kf:kh,n=c[2],o=c[7],p=h(c[1]),e=[0,q3(az(kg),p,o,n,m,l,k,j)];else if(c[1])var
c=_(f,d)[1+d],h=function(b){return function(a){return a?0===b?kc:kd:0===b?ke:kf}}(d);if(0===c[0])varj=c[5],k=c[4],l=c[3],m=c[6]?kg:ki,n=c[2],o=c[7],p=h(c[1]),e=[0,q7(aB(kh),p,o,n,m,l,k,j)];else if(c[1])var
eZ(a){for(;;){varb=cw(cT),c=1-ha(cT,b,[0,a,b]);if(!c)return c}}varkl=kk.slice(),kn=[0];ez(gT,function(a,b){try{try{varh=b?kn:hr(0);try{cL(0)}catch(f){}try{varf=cW(a);g(cS(km),f);cX(aF,h);varc=rD(0);if(c<0){vard=b8(c);eJ(_(kl,d)[1+d])}varl=aV(aF),j=l}catch(f){varm=cJ(f),n=cW(a);g(cS(kp),n);cX(aF,h);varo=cW(m);g(cS(kq),o);cX(aF,hr(0));varj=aV(aF)}var
e0(a){for(;;){varb=cw(cT),c=1-hb(cT,b,[0,a,b]);if(!c)return c}}varkm=kl.slice(),ko=[0];eA(gU,function(a,b){try{try{varh=b?ko:hs(0);try{cL(0)}catch(f){}try{varf=cW(a);g(cS(kn),f);cX(aG,h);varc=rH(0);if(c<0){vard=b8(c);eK(_(km,d)[1+d])}varl=aV(aG),j=l}catch(f){varm=cJ(f),n=cW(a);g(cS(kq),n);cX(aG,h);varo=cW(m);g(cS(kr),o);cX(aG,hs(0));varj=aV(aG)}var
k=eJ(ko)}return k}catch(f){return 0}});functione0(a,b,c,d){vare=q7(7,0,[0,4]);b3(e,0,hz(a,kr));b3(e,1,b);varf=bj(c,ks)?c:kv;b3(e,2,f);varg=bj(d,kt)?d:ku;b3(e,3,g);return e}functionkw(a){varb=cD(a),c=cD(a),d=cD(a);return e0(b,c,d,cD(a))}eQ([0,kw],function(a){return e0(kA,kz,ky,kx)});vare1=[N,kC,hq(0)],cY=[0,e1,[0]],kB=cE(cY)===N?cY:cY[1];ez(dP,kB);functione2(a){throw a}varac=t,e3=null;ac.String;ac.RegExp;ac.Object;vare4=ac.Date;ac.Math;ac.JSON;varkD=undefined,kE=ac.Array,kF=ac.Error;eZ(function(a){return a[1]===e1?[0,ax(a[2].toString())]:0});eZ(function(a){return a
k=eK(kp)}return k}catch(f){return 0}});functione1(a,b,c,d){vare=q$(7,0,[0,4]);b3(e,0,hA(a,ks));b3(e,1,b);varf=bj(c,kt)?c:kw;b3(e,2,f);varg=bj(d,ku)?d:kv;b3(e,3,g);return e}functionkx(a){varb=cD(a),c=cD(a),d=cD(a);return e1(b,c,d,cD(a))}eR([0,kx],function(a){return e1(kB,kA,kz,ky)});vare2=[N,kD,hr(0)],cY=[0,e2,[0]],kC=cE(cY)===N?cY:cY[1];eA(dP,kC);functione3(a){throw a}varac=t,e4=null;ac.String;ac.RegExp;ac.Object;vare5=ac.Date;ac.Math;ac.JSON;varkE=undefined,kF=ac.Array,kG=ac.Error;e0(function(a){return a[1]===e2?[0,az(a[2].toString())]:0});e0(function(a){return a
o=d[1];return h7(function(a,b){return a4(l,a,b[1],b[2])},f,o)}vare=d[2],g=d[1],n=g.length-1;if((n+1|0)!==e.length-1)throw i([0,j,kV],1);varh=f,c=0;for(;;){if(c>=e.length-1)throw i([0,j,kU],1);if(c===n)break;var
o=d[1];return h8(function(a,b){return a4(l,a,b[1],b[2])},f,o)}vare=d[2],g=d[1],n=g.length-1;if((n+1|0)!==e.length-1)throw i([0,j,kW],1);varh=f,c=0;for(;;){if(c>=e.length-1)throw i([0,j,kV],1);if(c===n)break;var
e=b[2],l=b[1],m=l.length-1;if((m+1|0)!==e.length-1)throw i([0,j,kZ],1);varn=h(a,k(e,m)),f=m;for(;;){if(0>f)throw i([0,j,kY],1);if(0===f)return n;varc=f-1|0;if(0>c)throw i([0,j,kX],1);if(c>=e.length-1)throw i([0,j,kW],1);var
e=b[2],l=b[1],m=l.length-1;if((m+1|0)!==e.length-1)throw i([0,j,k0],1);varn=h(a,k(e,m)),f=m;for(;;){if(0>f)throw i([0,j,kZ],1);if(0===f)return n;varc=f-1|0;if(0>c)throw i([0,j,kY],1);if(c>=e.length-1)throw i([0,j,kX],1);var
h(a,b,c){if(0>b)throw i([0,j,k2],1);if(b>c)throw i([0,j,k1],1);if(c<=a.length-1)return cN(a,b,c-b|0);throw i([0,j,k0],1)}functionq(a,b,c,d,e){if(0>d)throw i([0,j,k6],1);if(d>b)throw i([0,j,k5],1);if(b>e)throw i([0,j,k4],1);if(e>a.length-1)throw i([0,j,k3],1);var
h(a,b,c){if(0>b)throw i([0,j,k3],1);if(b>c)throw i([0,j,k2],1);if(c<=a.length-1)return cN(a,b,c-b|0);throw i([0,j,k1],1)}functionq(a,b,c,d,e){if(0>d)throw i([0,j,k7],1);if(d>b)throw i([0,j,k6],1);if(b>e)throw i([0,j,k5],1);if(e>a.length-1)throw i([0,j,k4],1);var
w=h(e,0,a),s=h(f,0,a+1|0),x=h(e,a,b),t=h(f,a,b+1|0);if(!am(a,s))throw i([0,j,k_],1);if(!am(0,t))throw i([0,j,k9],1);a2(s,a,o);a2(t,0,d);return[1,[1,w,s],c,[1,x,t]]}if(g<a){vary=m(0,a-1|0),z=n(0,a),A=h(e,a,b),B=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,y,z],k(e,a-1|0),[1,A,B]];throw i([0,j,k$],1)}varC=h(e,0,a),D=h(f,0,a+1|0),E=m(a+1|0,b),F=n(a+1|0,b+1|0);if(am(a,e))return[1,[1,C,D],k(e,a),[1,E,F]];throw i([0,j,la],1)}if(g<a){varH=m(0,a-1|0),I=n(0,a),J=h(e,a,b),K=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,H,I],k(e,a-1|0),[1,J,K]];throw i([0,j,lb],1)}varL=h(e,0,a-1|0),M=h(f,0,a),N=m(a,b),O=n(a,b+1|0);if(am(a-1|0,e))return[1,[1,L,M],k(e,a-1|0),[1,N,O]];throw i([0,j,lc],1)}function
w=h(e,0,a),s=h(f,0,a+1|0),x=h(e,a,b),t=h(f,a,b+1|0);if(!am(a,s))throw i([0,j,k$],1);if(!am(0,t))throw i([0,j,k_],1);a2(s,a,o);a2(t,0,d);return[1,[1,w,s],c,[1,x,t]]}if(g<a){vary=m(0,a-1|0),z=n(0,a),A=h(e,a,b),B=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,y,z],k(e,a-1|0),[1,A,B]];throw i([0,j,la],1)}varC=h(e,0,a),D=h(f,0,a+1|0),E=m(a+1|0,b),F=n(a+1|0,b+1|0);if(am(a,e))return[1,[1,C,D],k(e,a),[1,E,F]];throw i([0,j,lb],1)}if(g<a){varH=m(0,a-1|0),I=n(0,a),J=h(e,a,b),K=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,H,I],k(e,a-1|0),[1,J,K]];throw i([0,j,lc],1)}varL=h(e,0,a-1|0),M=h(f,0,a),N=m(a,b),O=n(a,b+1|0);if(am(a-1|0,e))return[1,[1,L,M],k(e,a-1|0),[1,N,O]];throw i([0,j,ld],1)}function
e=cM(d);if(!am(a,e))throw i([0,j,lf],1);if(!am(a+1|0,e))throw i([0,j,le],1);a2(e,a,b);a2(e,a+1|0,c);return e}functiony(a,b,c,d,e){if(!am(b,d))throw i([0,j,lg],1);if(a){varf=e8(e),g=an(b,e6(e),d);return[0,c1(k(d,b),c),g,f]}varh=e7(k(d,b),e),l=an(b,c0(c),d);return[0,c3(c),l,h]}function
e=cM(d);if(!am(a,e))throw i([0,j,lg],1);if(!am(a+1|0,e))throw i([0,j,lf],1);a2(e,a,b);a2(e,a+1|0,c);return e}functiony(a,b,c,d,e){if(!am(b,d))throw i([0,j,lh],1);if(a){varf=e9(e),g=an(b,e7(e),d);return[0,c1(k(d,b),c),g,f]}varh=e8(k(d,b),e),l=an(b,c0(c),d);return[0,c3(c),l,h]}function
K(a,b,c,d,e,f,g,h){if((a+1|0)>=h.length-1)throw i([0,j,lj],1);varl=z(a,c,g,e),o=l[2],p=l[1],n=bL(a,h),k=d.length-1,q=g.length-1<=m?1:0,r=0===k?cM(f):0===f.length-1?eg(d,0,k):q4(d,f);a2(n,a,[1,p,r]);return[0,[1,o,n],b,q]}function
K(a,b,c,d,e,f,g,h){if((a+1|0)>=h.length-1)throw i([0,j,lk],1);varl=z(a,c,g,e),o=l[2],p=l[1],n=bL(a,h),k=d.length-1,q=g.length-1<=m?1:0,r=0===k?cM(f):0===f.length-1?eh(d,0,k):q8(d,f);a2(n,a,[1,p,r]);return[0,[1,o,n],b,q]}function
o=y(h,a,m,f,n),u=o[3],v=o[2],z=o[1],r=I(h,q,t);return[0,[1,v,x(a,[1,z,r[1]],[1,u,r[2]],g)],e,0]}}throw i([0,j,lk],1)}function
o=y(h,a,m,f,n),u=o[3],v=o[2],z=o[1],r=I(h,q,t);return[0,[1,v,x(a,[1,z,r[1]],[1,u,r[2]],g)],e,0]}}throw i([0,j,ll],1)}function
e_(a,b,c){return c.removeEventListener(z(a),b)}functioncc(a,b){if(b===e3)throw i([0,j,ls],1);return b.appendChild(a)}functione$(a){for(;;){varb=a.firstChild,c=b==e3?0:[0,b];if(!c)return 0;a.removeChild(c[1])}}function
e$(a,b,c){return c.removeEventListener(z(a),b)}functioncc(a,b){if(b===e4)throw i([0,j,lt],1);return b.appendChild(a)}functionfa(a){for(;;){varb=a.firstChild,c=b==e4?0:[0,b];if(!c)return 0;a.removeChild(c[1])}}function
a=d[6].call(null,c,b[2]);return e5(function(a){if(a>=b[1].length-1)throw i([0,j,lv],1);vard=k(b[1],a),e=d[2];if(ho(d[1],c))return e;throw i([0,j,lu],1)},a)}function
a=d[6].call(null,c,b[2]);return e6(function(a){if(a>=b[1].length-1)throw i([0,j,lw],1);vard=k(b[1],a),e=d[2];if(hp(d[1],c))return e;throw i([0,j,lv],1)},a)}function
ff(a,b,c){return c7(b,c,a)}functionfg(f,e,c,d){functiona(a,b){return ff(f,a,b)}functionb(a,b){return fe(e,a,b)}return c8[4].call(null,b,a,c,d)}functionfh(f,g,c,d,e){functiona(a,b,c){return e_(a,b,f)}functionb(a,b){return ff(f,a,b)}functionh(a,b){return fe(g,a,b)}return c8[5].call(null,h,b,a,c,d,e)}varc_=fd([0,bl]);bs([0,bl]);varlE=c_[3];functionfi(d,b,c){var
fg(a,b,c){return c7(b,c,a)}functionfh(f,e,c,d){functiona(a,b){return fg(f,a,b)}functionb(a,b){return ff(e,a,b)}return c8[4].call(null,b,a,c,d)}functionfi(f,g,c,d,e){functiona(a,b,c){return e$(a,b,f)}functionb(a,b){return fg(f,a,b)}functionh(a,b){return ff(g,a,b)}return c8[5].call(null,h,b,a,c,d,e)}varc_=fe([0,bl]);bs([0,bl]);varlF=c_[3];functionfj(d,b,c){var
fj(a,b){return ac.setInterval(function(a){return g(b,newe4)},a)}functionlF(a,b,c){return ac.clearInterval(c)}functionfk(a){return br(0)}functionfl(a){return c7(lG,a,fk(0))}functionlI(d){function
fk(a,b){return ac.setInterval(function(a){return g(b,newe5)},a)}functionlG(a,b,c){return ac.clearInterval(c)}functionfl(a){return br(0)}functionfm(a){return c7(lH,a,fl(0))}functionlJ(d){function
b=[0,a];if(!c(d,"A")&&!c(d,cm)){0===b[0];return function(a){return[0,b]}}return lr}functione(a){return bp(lJ,c6,a)}functionf(a){return bp(lK,e,a)}return function(a){return c5(f,b,a)}}functionlM(a){return bp(lL,c6,a)}functionlO(a){return bp(lN,lM,a)}function
b=[0,a];if(!c(d,"A")&&!c(d,cm)){0===b[0];return function(a){return[0,b]}}return ls}functione(a){return bp(lK,c6,a)}functionf(a){return bp(lL,e,a)}return function(a){return c5(f,b,a)}}functionlN(a){return bp(lM,c6,a)}functionlP(a){return bp(lO,lN,a)}function
m=b[3],o=b[2],p=b[1],q=d(b[4]),t=q[1],r=a4(c[3],p,o,q[2]);fm(c,m,r);return[0,[2,p,o,m,t],r];default:throw i([0,j,lQ],1)}}functiond(a){if(!a)return lR;var
m=b[3],o=b[2],p=b[1],q=d(b[4]),t=q[1],r=a4(c[3],p,o,q[2]);fn(c,m,r);return[0,[2,p,o,m,t],r];default:throw i([0,j,lR],1)}}functiond(a){if(!a)return lS;var
l=c[2],q=i[1],r=a[2],x=i[3],y=i[2],z=a[3];if(bE(a[1],q)){da(d,l,r,y);return[0,[0,[1,q,r,b9(fn(d,l,z,x,0))],l],0]}}break;case
l=c[2],q=i[1],r=a[2],x=i[3],y=i[2],z=a[3];if(bE(a[1],q)){da(d,l,r,y);return[0,[0,[1,q,r,b9(fo(d,l,z,x,0))],l],0]}}break;case
m=c[2],s=e[2],t=e[1],u=a[3],A=e[4],B=e[3],C=a[4],D=a[1];if(bE(a[2],s)&&bE(D,t)){da(d,m,u,B);return[0,[0,[2,t,s,u,b9(fn(d,m,C,A,0))],m],0]}}break;default:var
m=c[2],s=e[2],t=e[1],u=a[3],A=e[4],B=e[3],C=a[4],D=a[1];if(bE(a[2],s)&&bE(D,t)){da(d,m,u,B);return[0,[0,[2,t,s,u,b9(fo(d,m,C,A,0))],m],0]}}break;default:var
u=rA(o);if(u){varC=u[1];bq(lV);return g(e2,C)}bq(lW);throw i(o,0)}varp=o[2],t=[0,lU,[0,p[1],[0,lT,[0,e+p[2],[0,lS,[0,e+p[3],0]]]]]];a:{b:{var
u=rE(o);if(u){varC=u[1];bq(lW);return g(e3,C)}bq(lX);throw i(o,0)}varp=o[2],t=[0,lV,[0,p[1],[0,lU,[0,e+p[2],[0,lT,[0,e+p[3],0]]]]]];a:{b:{var
B=$(n);g(c,0);bq(a);bq(B);return g(e2,newkF(z(a)))}}}functionfo(a,b,c){return n(a,b,function(a){if(0!==a[0])throw i([0,j,lX],1);var
B=$(n);g(c,0);bq(a);bq(B);return g(e3,newkG(z(a)))}}}functionfp(a,b,c){return n(a,b,function(a){if(0!==a[0])throw i([0,j,lY],1);var
b(a){return 0}return bM(lY,function(a){return g(c,d)},b)})}cb([0,bm]);cb([0,bl]);varfp=bs([0,bl]),fq=bs([0,bm]),lZ=0,l0=[0,fq[1],fp[1],0,0,0];functionfr(a){function
b(a){return 0}return bM(lZ,function(a){return g(c,d)},b)})}cb([0,bm]);cb([0,bl]);varfq=bs([0,bl]),fr=bs([0,bm]),l0=0,l1=[0,fr[1],fq[1],0,0,0];functionfs(a){function
d=b[2],f=b[1],g=a[5],h=a[4],i=a[3],j=a[2],k=a[1],l=function(a){return a?[0,d,a[1]]:[0,d,0]};return[0,fq[5].call(null,f,l,k),j,i,h,g];case
d=b[2],f=b[1],g=a[5],h=a[4],i=a[3],j=a[2],k=a[1],l=function(a){return a?[0,d,a[1]]:[0,d,0]};return[0,fr[5].call(null,f,l,k),j,i,h,g];case
e=b[2],m=b[1],n=a[5],o=a[4],p=a[3],q=a[2],r=function(a){return a?[0,e,a[1]]:[0,e,0]},s=fp[5].call(null,m,r,q);return[0,a[1],s,p,o,n];case
e=b[2],m=b[1],n=a[5],o=a[4],p=a[3],q=a[2],r=function(a){return a?[0,e,a[1]]:[0,e,0]},s=fq[5].call(null,m,r,q);return[0,a[1],s,p,o,n];case
g=a[4],e=n(a[3],c[1],b),h=e[2];d(e[1]);return fs(g,function(a){return fu(c,a)},h);default:vari=a[4],f=n(a[3],c[1],b),j=f[2];d(f[1]);return fs(i,function(a){return fu(c,a)},j)}}functionfu(c,b){ac.setTimeout(function(a){return bt(c,b)},0);return 0}functionfv(b){function
g=a[4],e=n(a[3],c[1],b),h=e[2];d(e[1]);return ft(g,function(a){return fv(c,a)},h);default:vari=a[4],f=n(a[3],c[1],b),j=f[2];d(f[1]);return ft(i,function(a){return fv(c,a)},j)}}functionfv(c,b){ac.setTimeout(function(a){return bt(c,b)},0);return 0}functionfw(b){function
L=g(w,b[1]),l=function(a){return bt(b,a)},e=fr(L),p=c9(0),C=e[1];fg(br(0),l,C,p);varq=lE(0),D=e[2],x=function(a,b){return fi(l,a,b)};c_[4].call(null,x,fj,D,q);var
L=g(w,b[1]),l=function(a){return bt(b,a)},e=fs(L),p=c9(0),C=e[1];fh(br(0),l,C,p);varq=lF(0),D=e[2],x=function(a,b){return fj(l,a,b)};c_[4].call(null,x,fk,D,q);var
A=d[1];fc(function(a){return c$(h,n,a)},A);break a}}else if(!d){varo=cd(function(a){return c$(h,n,a)});fl(o[2]);s[1]=[0,o];break a}}else
A=d[1];fd(function(a){return c$(h,n,a)},A);break a}}else if(!d){varo=cd(function(a){return c$(h,n,a)});fm(o[2]);s[1]=[0,o];break a}}else
B=d[1][2];e_(lH,B,fk(0));break a}}else if(!d)break a;throw i([0,j,lP],1)}b[4]=[0,[0,f,c[2],c[3],c[4]]];return 0}return bM(l3,a,function(a){return 0})}functionfw(a,b){varc=a[5];e$(c);return cc(b[2][1],c)}functionfx(b){function
B=d[1][2];e$(lI,B,fl(0));break a}}else if(!d)break a;throw i([0,j,lQ],1)}b[4]=[0,[0,f,c[2],c[3],c[4]]];return 0}return bM(l4,a,function(a){return 0})}functionfx(a,b){varc=a[5];fa(c);return cc(b[2][1],c)}functionfy(b){function
a(a){b[2]=0;return 0}bM(l4,c,a);a(0);if(b[2])throw i([0,j,l5],1);return}functionfy(a){return br(0).requestAnimationFrame(a)}functionfz(c,b){var
a(a){b[2]=0;return 0}bM(l5,c,a);a(0);if(b[2])throw i([0,j,l6],1);return}functionfz(a){return br(0).requestAnimationFrame(a)}functionfA(c,b){var
e=d[1];bt(c,g(e,fa(b)))}}fx(c);if(c[2])throw i([0,j,l6],1);return fy(function(a){return fz(c,a)})}functionfA(a,b,c){function
e=d[1];bt(c,g(e,fb(b)))}}fy(c);if(c[2])throw i([0,j,l7],1);return fz(function(a){return fA(c,a)})}functionfB(a,b,c){function
e(a){return g(b,c)}return bM(bk(l8,bk(a,l7)),e,d)}functionq(a){return[2,md,a]}functioncf(a){return[2,me,a]}functiondc(a){return[2,mf,a]}functionJ(a){return[1,mh,z(a)]}function
e(a){return g(b,c)}return bM(bk(l9,bk(a,l8)),e,d)}functionq(a){return[2,me,a]}functioncf(a){return[2,mf,a]}functiondc(a){return[2,mg,a]}functionJ(a){return[1,mi,z(a)]}function
e(a){return bp(mi,c,a)}return[3,mk,[0,ly,lx,function(a){return bp(mj,e,a)}]]}functionah(a,b){return l(ml,a,b)}functionV(a,b){return l(mm,a,b)}functionbO(a,b){return l(mo,a,b)}functionL(a,b){return l(mp,a,b)}functionfB(a,b){return l(mq,a,b)}functionao(a,b){return l(mr,a,b)}functionfC(a,b){return l(ms,a,b)}functionbP(a,b){return l(mt,a,b)}functiondd(a){return c(a,e)?c(a,gA)?c(a,g1)?c(a,fU)?c(a,gJ)?c(a,gD)?c(a,gB)?c(a,f1)?0:90:0:15:25:90:0:40:0}varmB=co,mC=75,mD=65;functionfI(a){varb=aX(a,aI);if(0<=b){if(0>=b)return[0,460,mA];if(!c(a,aP))return[0,600,mv];if(!c(a,aO))return[0,500,mz];if(!c(a,aL))return[0,630,mu];if(!c(a,aJ))return[0,550,my]}else{if(!c(a,e))return[0,0,fF];if(!c(a,aC))return[0,gH,mx];if(!c(a,aA))return[0,gH,mw];if(!c(a,aK))return[0,390,fG];if(!c(a,aN))return[0,f5,fG]}return[0,0,fF]}function
e(a){return bp(mj,c,a)}return[3,ml,[0,lz,ly,function(a){return bp(mk,e,a)}]]}functionah(a,b){return l(mm,a,b)}functionV(a,b){return l(mn,a,b)}functionbO(a,b){return l(mp,a,b)}functionL(a,b){return l(mq,a,b)}functionfC(a,b){return l(mr,a,b)}functionao(a,b){return l(ms,a,b)}functionfD(a,b){return l(mt,a,b)}functionbP(a,b){return l(mu,a,b)}functiondd(a){return c(a,e)?c(a,gB)?c(a,g2)?c(a,fV)?c(a,gK)?c(a,gE)?c(a,gC)?c(a,f2)?0:90:0:15:25:90:0:40:0}varmC=co,mD=75,mE=65;function
b=aX(a,aI);if(0<=b){if(0>=b)return cl;if(!c(a,aP))return dC;if(!c(a,aO))return dC;if(!c(a,aL)||!c(a,aJ))return co}else{if(!c(a,e))return 0;if(!c(a,aC))return 0;if(!c(a,aA))return 0;if(!c(a,aK))return 90;if(!c(a,aN))return cl}return 0}functionfK(a){return fI(a)[1]}function
b=aX(a,aJ);if(0<=b){if(0>=b)return[0,460,mB];if(!c(a,aP))return[0,600,mw];if(!c(a,aO))return[0,500,mA];if(!c(a,aL))return[0,630,mv];if(!c(a,aK))return[0,550,mz]}else{if(!c(a,e))return[0,0,fG];if(!c(a,au))return[0,gI,my];if(!c(a,at))return[0,gI,mx];if(!c(a,aD))return[0,390,fH];if(!c(a,aN))return[0,f6,fH]}return[0,0,fG]}functionfK(a){varb=aX(a,aJ);if(0<=b){if(0>=b)return cl;if(!c(a,aP))return dC;if(!c(a,aO))return dC;if(!c(a,aL)||!c(a,aK))return co}else{if(!c(a,e))return 0;if(!c(a,au))return 0;if(!c(a,at))return 0;if(!c(a,aD))return 90;if(!c(a,aN))return cl}return 0}functionfL(a){return fJ(a)[1]}function
g=[0,d,d,d];break a}if(!c(a,aC)){varg=[0,bc,bc,bc];break a}if(!c(a,aA)){vark=f([0,d,[0,p,0]]),l=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,p,0]]),l,k];break a}if(!c(a,aK)){var
g=[0,d,d,d];break a}if(!c(a,au)){varg=[0,bc,bc,bc];break a}if(!c(a,at)){vark=f([0,d,[0,p,0]]),l=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,p,0]]),l,k];break a}if(!c(a,aD)){var
a3(a){return a?a[1]:mL}varmN=a3(fH),mV=a3(d),mZ=a3(d),m0=a3(d),m1=a3(d),m2=a3(d),m3=a3(fE),m4=[0,a3(fD),m3,m2,m1,m0,mZ,mY,mX,mW,mV,mU,mT,mS,mR,mQ,mP,mO,mN,mM];functionZ(a){return ah([0,q(m5),0],0)}functionm6(a){varc=[0,b(m7),0],d=[0,b(e+fJ(a[2])),c];return V(0,[0,b(m8),d])}functionfM(a){varh=0,i=0,g=fI(a[2])[2],j=[0,fC(0,af(function(a){return bP(0,[0,b(a),0])},g)),i],k=[0,l(m9,0,[0,l(m_,0,[0,l(m$,0,[0,b(na),0]),0]),j]),h],f=a[2],d=a[1],m=0,r=c(d,eb)?c(d,cu)?c(d,d2)?Z:Z:c(f,aC)?c(f,aA)?m6:Z:Z:Z,n=[0,r(a),m],o=[0,ah([0,q(nb),0],n),k],p=[0,b(e+fK(a[2])),0];return ah(0,[0,V(0,[0,b(nc),p]),o])}functionnd(a){functiong(a){return[8,a]}functionh(a){return[9,a]}functioni(a){return[10,a]}functionj(a){return[11,a]}functionk(a){return[12,a]}functionc(a,b){return l(nf,a,b)}functione(a,b){return l(ni,a,b)}vars=[0,b("65"),0],t=[0,V(0,[0,b(nj),s]),0],m=0,n=0,o=0,r=0,v=0,w=f([0,nk,[0,u,[0,p,0]]]),x=af(function(a){return l(nl,0,[0,b(a),0])},w),y=[0,K(k),0],z=[0,J(a[13]),y],A=[0,ao([0,[2,nq,np],[0,[2,no,nn],[0,q(nm),z]]],x),v],B=[0,e([0,[0,nv,nu],0],[0,c(0,[0,L([0,[2,nt,ns],0],[0,b(nr),A]),t]),r]),o],D=[0,b("75"),0],E=[0,V(0,[0,b(nw),D]),0],C=0,F=0,G=f([0,nx,[0,u,[0,p,0]]]),H=af(function(a){return l(ny,0,[0,b(a),0])},G),I=[0,K(j),0],M=[0,J(a[12]),I],N=[0,ao([0,[2,nD,nC],[0,[2,nB,nA],[0,q(nz),M]]],H),F],O=[0,e([0,[0,nI,nH],0],[0,c(0,[0,L([0,[2,nG,nF],0],[0,b(nE),N]),E]),C]),B],Q=[0,V(0,[0,b(nJ),0]),0],R=[0,b("120"),0],P=0,S=[0,V(0,[0,b(nK),R]),Q],T=0,U=af(function(a){return l(nM,0,[0,b(a),0])},nL),W=[0,K(i),0],X=[0,J(a[11]),W],Y=[0,ao([0,[2,nR,nQ],[0,[2,nP,nO],[0,q(nN),X]]],U),T],Z=[0,e([0,[0,nW,nV],0],[0,c(0,[0,L([0,[2,nU,nT],0],[0,b(nS),Y]),S]),P]),O],$=[0,b(nX),0],aa=[0,b("25"),$],ab=[0,V(0,[0,b(nY),aa]),0],_=0,ac=0,ad=0,ae=f([0,d,[0,u,[0,p,0]]]),ag=af(function(a){return l(nZ,0,[0,b(a),0])},ae),ai=[0,K(h),0],aj=[0,J(a[10]),ai],ak=[0,ao([0,[2,n4,n3],[0,[2,n2,n1],[0,q(n0),aj]]],ag),ad],al=[0,L([0,[2,n7,n6],0],[0,b(n5),ak]),ac],am=0,an=af(function(a){return l(n9,0,[0,b(a),0])},n8),ap=[0,K(g),0],aq=[0,J(a[9]),ap],ar=[0,ao([0,[2,oc,ob],[0,[2,oa,n$],[0,q(n_),aq]]],an),am],as=[0,L([0,[2,of,oe],0],[0,b(od),ar]),al];return l(ne,0,[0,l(ng,[0,[0,ok,oj],0],[0,l(nh,0,[0,e([0,[0,oi,oh],0],[0,c(0,[0,ah([0,cf(og),0],as),ab]),_]),Z]),n]),m])}functionfN(a){function
a3(a){return a?a[1]:mM}varmO=a3(fI),mW=a3(d),m0=a3(d),m1=a3(d),m2=a3(d),m3=a3(d),m4=a3(fF),m5=[0,a3(fE),m4,m3,m2,m1,m0,mZ,mY,mX,mW,mV,mU,mT,mS,mR,mQ,mP,mO,mN];functionZ(a){return ah([0,q(m6),0],0)}functionm7(a){varc=[0,b(m8),0],d=[0,b(e+fK(a[2])),c];return V(0,[0,b(m9),d])}functionfN(a){varh=0,i=0,g=fJ(a[2])[2],j=[0,fD(0,af(function(a){return bP(0,[0,b(a),0])},g)),i],k=[0,l(m_,0,[0,l(m$,0,[0,l(na,0,[0,b(nb),0]),0]),j]),h],f=a[2],d=a[1],m=0,r=c(d,eb)?c(d,cu)?c(d,d2)?Z:Z:c(f,au)?c(f,at)?m7:Z:Z:Z,n=[0,r(a),m],o=[0,ah([0,q(nc),0],n),k],p=[0,b(e+fL(a[2])),0];return ah(0,[0,V(0,[0,b(nd),p]),o])}functionni(a){functioni(a){return[8,a]}functionj(a){return[9,a]}functionk(a){return[10,a]}functionm(a){return[11,a]}functionn(a){return[12,a]}functione(a,b){return l(nk,a,b)}functiong(a,b){return l(nn,a,b)}varv=[0,b("65"),0],w=[0,V(0,[0,b(no),v]),0],o=0,r=0,s=0,t=0,x=0,y=f([0,np,[0,u,[0,p,0]]]),z=af(function(a){return l(nq,0,[0,b(a),0])},y),A=[0,K(n),0],B=[0,J(a[13]),A],C=[0,ao([0,[2,nv,nu],[0,[2,nt,ns],[0,q(nr),B]]],z),x],D=[0,g([0,[0,nA,nz],0],[0,e(0,[0,L([0,[2,ny,nx],0],[0,b(nw),C]),w]),t]),s],F=[0,b("75"),0],G=[0,V(0,[0,b(nB),F]),0],E=0,H=0,I=f([0,nC,[0,u,[0,p,0]]]),M=af(function(a){return l(nD,0,[0,b(a),0])},I),N=[0,K(m),0],O=[0,J(a[12]),N],P=[0,ao([0,[2,nI,nH],[0,[2,nG,nF],[0,q(nE),O]]],M),H],Q=[0,g([0,[0,nN,nM],0],[0,e(0,[0,L([0,[2,nL,nK],0],[0,b(nJ),P]),G]),E]),D],S=[0,V(0,[0,b(nO),0]),0],T=[0,b("120"),0],U=[0,V(0,[0,b(nP),T]),S],h=a[2],R=0,W=0,X=c(h,au)?c(h,at)?c(h,aD)?ne:nf:ng:nh,Y=af(function(a){return l(nQ,0,[0,b(a),0])},X),Z=[0,K(k),0],_=[0,J(a[11]),Z],$=[0,ao([0,[2,nV,nU],[0,[2,nT,nS],[0,q(nR),_]]],Y),W],aa=[0,g([0,[0,n0,nZ],0],[0,e(0,[0,L([0,[2,nY,nX],0],[0,b(nW),$]),U]),R]),Q],ac=[0,b(n1),0],ad=[0,b("25"),ac],ae=[0,V(0,[0,b(n2),ad]),0],ab=0,ag=0,ai=0,aj=f([0,d,[0,u,[0,p,0]]]),ak=af(function(a){return l(n3,0,[0,b(a),0])},aj),al=[0,K(j),0],am=[0,J(a[10]),al],an=[0,ao([0,[2,n8,n7],[0,[2,n6,n5],[0,q(n4),am]]],ak),ai],ap=[0,L([0,[2,n$,n_],0],[0,b(n9),an]),ag],aq=0,ar=af(function(a){return l(ob,0,[0,b(a),0])},oa),as=[0,K(i),0],av=[0,J(a[9]),as],aw=[0,ao([0,[2,og,of],[0,[2,oe,od],[0,q(oc),av]]],ar),aq],ax=[0,L([0,[2,oj,oi],0],[0,b(oh),aw]),ap];return l(nj,0,[0,l(nl,[0,[0,oo,on],0],[0,l(nm,0,[0,g([0,[0,om,ol],0],[0,e(0,[0,ah([0,cf(ok),0],ax),ae]),ab]),aa]),r]),o])}functionfO(a){function
d=0,e=0,f=0,g=0,h=[0,K(function(a){return[7,a]}),g],i=[0,J(a[8]),h],j=[0,bO([0,[2,oI,oH],[0,[2,oG,oF],[0,q(oE),i]]],f),e],k=[0,L([0,[2,oL,oK],0],[0,b(oJ),j]),d],m=[0,K(c),0],n=[0,J(a[7]),m],o=[0,bO([0,[2,oQ,oP],[0,[2,oO,oN],[0,q(oM),n]]],0),0],p=[0,L([0,[2,oT,oS],0],[0,b(oR),o]),k],r=[0,V(0,[0,b(oU),0]),0],s=[0,V(0,[0,b(oV),0]),r],t=[0,V(0,[0,b(oW),0]),s];return ah(0,[0,ah(0,[0,l(oB,0,[0,l(oC,0,[0,l(oD,0,[0,b(oX),0]),0]),t]),0]),p])}function
d=0,e=0,f=0,g=0,h=[0,K(function(a){return[7,a]}),g],i=[0,J(a[8]),h],j=[0,bO([0,[2,oM,oL],[0,[2,oK,oJ],[0,q(oI),i]]],f),e],k=[0,L([0,[2,oP,oO],0],[0,b(oN),j]),d],m=[0,K(c),0],n=[0,J(a[7]),m],o=[0,bO([0,[2,oU,oT],[0,[2,oS,oR],[0,q(oQ),n]]],0),0],p=[0,L([0,[2,oX,oW],0],[0,b(oV),o]),k],r=[0,V(0,[0,b(oY),0]),0],s=[0,V(0,[0,b(oZ),0]),r],t=[0,V(0,[0,b(o0),0]),s];return ah(0,[0,ah(0,[0,l(oF,0,[0,l(oG,0,[0,l(oH,0,[0,b(o1),0]),0]),t]),0]),p])}function
B=de(g,F),G=af(function(a){return l(oY,0,[0,b(a),0])},B),H=[0,K(C),0],I=[0,J(a[6]),H],M=[0,ao([0,[2,o3,o2],[0,[2,o1,o0],[0,q(oZ),I]]],G),E];return ah(0,[0,L([0,[2,o6,o5],0],[0,b(o4),M]),D])}functionfO(a){vari=dd(a[18]),j=c(a[13],e)?mD:0,k=c(a[12],e)?mC:0,d=a[11],l=c(d,e)?c(d,gO)?0:mB:0,b=a[9],g=c(b,e)?c(b,gU)?c(b,gL)?c(b,fS)?c(b,gN)?0:4:3:2:1:0,f=fJ(a[2]),h=g*25|0,m=c(a[1],cu)?0:f;return(((((fK(a[2])+m|0)+h|0)+l|0)+k|0)+j|0)+i|0}functiono7(a){varc=[0,b(e+fO(a)),0];return V(0,[0,b(o8),c])}functiono9(a){varc=[0,b(e+dd(a[18])),0];return V(0,[0,b(o_),c])}functiono$(a){function
B=de(g,F),G=af(function(a){return l(o2,0,[0,b(a),0])},B),H=[0,K(C),0],I=[0,J(a[6]),H],M=[0,ao([0,[2,o7,o6],[0,[2,o5,o4],[0,q(o3),I]]],G),E];return ah(0,[0,L([0,[2,o_,o9],0],[0,b(o8),M]),D])}functionfP(a){vari=dd(a[18]),j=c(a[13],e)?mE:0,k=c(a[12],e)?mD:0,d=a[11],l=c(d,e)?c(d,gP)?0:mC:0,b=a[9],g=c(b,e)?c(b,gV)?c(b,gM)?c(b,fT)?c(b,gO)?0:4:3:2:1:0,f=fK(a[2]),h=g*25|0,m=c(a[1],cu)?0:f;return(((((fL(a[2])+m|0)+h|0)+l|0)+k|0)+j|0)+i|0}functiono$(a){varc=[0,b(e+fP(a)),0];return V(0,[0,b(pa),c])}functionpb(a){varc=[0,b(e+dd(a[18])),0];return V(0,[0,b(pc),c])}functionpd(a){function
h(a,b){return l(pa,a,b)}varaq=0,ar=0,as=0,at=0,au=0;functionw(a,b){return l(op,a,b)}functionx(a,b){return l(oq,a,b)}functionr(a,b){return l(or,a,b)}varT=[0,V(0,[0,b(os),0]),0],U=[0,bP(0,[0,w(0,[0,x(0,[0,r(0,[0,b(ot),0]),0]),T]),0]),0],W=[0,b(ou),0],X=[0,bP(0,[0,r([0,dc(ov),0],W),0]),U],Y=[0,b(ow),0],_=[0,bP(0,[0,r([0,dc(ox),0],Y),0]),X],$=[0,b(oy),0],aa=[0,fC(0,[0,bP(0,[0,r([0,dc(oz),0],$),0]),_]),0],av=[0,w(0,[0,x(0,[0,r(0,[0,b(oA),0]),0]),aa]),au],aw=[0,h([0,q(pd),0],av),at],ax=[0,l(mn,[0,[2,pg,pf],0],[0,b(pe),0]),0],ay=0,b7=0===fO(a)?Z:o7,az=[0,V(0,[0,b7(a),ay]),ax],aB=[0,h([0,q(ph),0],az),aw],aD=[0,K(an),0],aE=[0,J(a[19]),aD],aF=[0,fB([0,[2,pm,pl],[0,[2,pk,pj],[0,q(pi),aE]]],0),0],aG=[0,L([0,[2,pp,po],0],[0,b(pn),aF]),aB],aH=[0,h([0,q(pq),0],aG),as],aM=0,aQ=0,aR=0,b6=0===dd(a[18])?Z:o9,aS=[0,V(0,[0,b6(a),aR]),aQ],aT=af(function(a){return l(pr,0,[0,b(a),0])},fH),aU=[0,K(am),0],aV=[0,J(a[18]),aU],aW=[0,ao([0,[2,pw,pv],[0,[2,pu,pt],[0,q(ps),aV]]],aT),aS],aY=[0,L([0,[2,pz,py],0],[0,b(px),aW]),aM],aZ=[0,K(al),0],a0=[0,J(a[17]),aZ],a1=[0,fB([0,[2,pE,pD],[0,[2,pC,pB],[0,q(pA),a0]]],0),0],a2=[0,L([0,[2,pH,pG],0],[0,b(pF),a1]),aY],a3=[0,K(aj),0],a4=[0,J(a[16]),a3],a5=[0,bO([0,[2,pM,pL],[0,[2,pK,pJ],[0,q(pI),a4]]],0),0],a6=[0,L([0,[2,pP,pO],0],[0,b(pN),a5]),0],a7=[0,K(ai),0],a8=[0,J(a[15]),a7],a9=[0,bO([0,[2,pU,pT],[0,[2,pS,pR],[0,q(pQ),a8]]],0),0],a_=[0,L([0,[2,pX,pW],0],[0,b(pV),a9]),a6],a$=[0,ah([0,cf(pY),0],a_),a2],ba=[0,K(ak),0],bb=[0,J(a[14]),ba],bd=[0,bO([0,[2,p3,p2],[0,[2,p1,p0],[0,q(pZ),bb]]],0),0],be=[0,L([0,[2,p6,p5],0],[0,b(p4),bd]),a$],bf=[0,h([0,q(p7),0],be),aH],bg=[0,nd(a),0],bh=[0,h([0,q(p8),0],bg),bf],i=a[2],y=aX(i,aI);a:{varbi=0;if(0<=y){if(0>=y||!c(i,aP)||!c(i,aO)||!c(i,aL)||!c(i,aJ)){varo=fN;break a}}else{if(!c(i,e)){varo=Z;break a}if(!c(i,aC)){varo=Z;break a}if(!c(i,aA)){varo=Z;break a}if(!c(i,aK)||!c(i,aN)){varo=fN;break a}}var
h(a,b){return l(pe,a,b)}varaq=0,ar=0,as=0,av=0,aw=0;functionw(a,b){return l(ot,a,b)}functionx(a,b){return l(ou,a,b)}functionr(a,b){return l(ov,a,b)}varT=[0,V(0,[0,b(ow),0]),0],U=[0,bP(0,[0,w(0,[0,x(0,[0,r(0,[0,b(ox),0]),0]),T]),0]),0],W=[0,b(oy),0],X=[0,bP(0,[0,r([0,dc(oz),0],W),0]),U],Y=[0,b(oA),0],_=[0,bP(0,[0,r([0,dc(oB),0],Y),0]),X],$=[0,b(oC),0],aa=[0,fD(0,[0,bP(0,[0,r([0,dc(oD),0],$),0]),_]),0],ax=[0,w(0,[0,x(0,[0,r(0,[0,b(oE),0]),0]),aa]),aw],ay=[0,h([0,q(ph),0],ax),av],az=[0,l(mo,[0,[2,pk,pj],0],[0,b(pi),0]),0],aA=0,b7=0===fP(a)?Z:o$,aB=[0,V(0,[0,b7(a),aA]),az],aC=[0,h([0,q(pl),0],aB),ay],aE=[0,K(an),0],aF=[0,J(a[19]),aE],aG=[0,fC([0,[2,pq,pp],[0,[2,po,pn],[0,q(pm),aF]]],0),0],aH=[0,L([0,[2,pt,ps],0],[0,b(pr),aG]),aC],aI=[0,h([0,q(pu),0],aH),as],aM=0,aQ=0,aR=0,b6=0===dd(a[18])?Z:pb,aS=[0,V(0,[0,b6(a),aR]),aQ],aT=af(function(a){return l(pv,0,[0,b(a),0])},fI),aU=[0,K(am),0],aV=[0,J(a[18]),aU],aW=[0,ao([0,[2,pA,pz],[0,[2,py,px],[0,q(pw),aV]]],aT),aS],aY=[0,L([0,[2,pD,pC],0],[0,b(pB),aW]),aM],aZ=[0,K(al),0],a0=[0,J(a[17]),aZ],a1=[0,fC([0,[2,pI,pH],[0,[2,pG,pF],[0,q(pE),a0]]],0),0],a2=[0,L([0,[2,pL,pK],0],[0,b(pJ),a1]),aY],a3=[0,K(aj),0],a4=[0,J(a[16]),a3],a5=[0,bO([0,[2,pQ,pP],[0,[2,pO,pN],[0,q(pM),a4]]],0),0],a6=[0,L([0,[2,pT,pS],0],[0,b(pR),a5]),0],a7=[0,K(ai),0],a8=[0,J(a[15]),a7],a9=[0,bO([0,[2,pY,pX],[0,[2,pW,pV],[0,q(pU),a8]]],0),0],a_=[0,L([0,[2,p1,p0],0],[0,b(pZ),a9]),a6],a$=[0,ah([0,cf(p2),0],a_),a2],ba=[0,K(ak),0],bb=[0,J(a[14]),ba],bd=[0,bO([0,[2,p7,p6],[0,[2,p5,p4],[0,q(p3),bb]]],0),0],be=[0,L([0,[2,p_,p9],0],[0,b(p8),bd]),a$],bf=[0,h([0,q(p$),0],be),aI],bg=[0,ni(a),0],bh=[0,h([0,q(qa),0],bg),bf],i=a[2],y=aX(i,aJ);a:{varbi=0;if(0<=y){if(0>=y||!c(i,aP)||!c(i,aO)||!c(i,aL)||!c(i,aK)){varo=fO;break a}}else{if(!c(i,e)){varo=Z;break a}if(!c(i,au)){varo=Z;break a}if(!c(i,at)){varo=Z;break a}if(!c(i,aD)||!c(i,aN)){varo=fO;break a}}var
bj=[0,o(a),bi],bk=[0,h([0,q(p9),0],bj),bh],j=a[2],z=aX(j,aI);a:{varbl=0,bm=0;if(0<=z){if(0>=z||!c(j,aP)||!c(j,aO)||!c(j,aL)||!c(j,aJ)){var
bj=[0,o(a),bi],bk=[0,h([0,q(qb),0],bj),bh],j=a[2],z=aX(j,aJ);a:{varbl=0,bm=0;if(0<=z){if(0>=z||!c(j,aP)||!c(j,aO)||!c(j,aL)||!c(j,aK)){var
bn=[0,n(a),bm],bo=0,bp=fL(a[2],a[1]),bq=af(function(a){return l(p_,0,[0,b(a),0])},bp),br=[0,K(ag),0],bs=[0,J(a[5]),br],bt=[0,ao([0,[2,qd,qc],[0,[2,qb,qa],[0,q(p$),bs]]],bq),bo],bv=[0,L([0,[2,qg,qf],0],[0,b(qe),bt]),bn],k=a[2],t=aX(k,aI);a:{var
bn=[0,n(a),bm],bo=0,bp=fM(a[2],a[1]),bq=af(function(a){return l(qc,0,[0,b(a),0])},bp),br=[0,K(ag),0],bs=[0,J(a[5]),br],bt=[0,ao([0,[2,qh,qg],[0,[2,qf,qe],[0,q(qd),bs]]],bq),bo],bv=[0,L([0,[2,qk,qj],0],[0,b(qi),bt]),bn],k=a[2],t=aX(k,aJ);a:{var
D=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),D,mF];break a}if(!c(k,aL)){varB=f([0,d,[0,u,[0,p,0]]]),C=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,u,0]]),C,B];break a}if(!c(k,aJ)){varA=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),A,mE];break a}}else{if(!c(k,e)){varg=[0,d,d,d];break a}if(!c(k,aC)){varg=mI;break a}if(!c(k,aA)){varg=mH;break a}if(!c(k,aK)){var
D=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),D,mG];break a}if(!c(k,aL)){varB=f([0,d,[0,u,[0,p,0]]]),C=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,u,0]]),C,B];break a}if(!c(k,aK)){varA=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),A,mF];break a}}else{if(!c(k,e)){varg=[0,d,d,d];break a}if(!c(k,au)){varg=mJ;break a}if(!c(k,at)){varg=mI;break a}if(!c(k,aD)){var
O=de(g,bx),by=af(function(a){return l(qh,0,[0,b(a),0])},O),bz=[0,K(ae),0],bA=[0,J(a[4]),bz],bB=[0,ao([0,[2,qm,ql],[0,[2,qk,qj],[0,q(qi),bA]]],by),bw],bC=[0,L([0,[2,qp,qo],0],[0,b(qn),bB]),bv],bD=0,bE=fL(a[2],a[1]),bF=af(function(a){return l(qq,0,[0,b(a),0])},bE),bG=[0,K(ad),0],bH=[0,J(a[3]),bG],bI=[0,ao([0,[2,qv,qu],[0,[2,qt,qs],[0,q(qr),bH]]],bF),bD],bJ=[0,L([0,[2,qy,qx],0],[0,b(qw),bI]),bC],bK=[0,h([0,q(qz),0],bJ),bl],m=a[2],v=aX(m,aI);a:{varbL=0;if(0<=v){if(0>=v||!c(m,aP)||!c(m,aO)||!c(m,aL)||!c(m,aJ)){vars=fM;break a}}else{if(!c(m,e)){vars=Z;break a}if(!c(m,aC)||!c(m,aA)||!c(m,aK)||!c(m,aN)){vars=fM;break a}}var
O=de(g,bx),by=af(function(a){return l(ql,0,[0,b(a),0])},O),bz=[0,K(ae),0],bA=[0,J(a[4]),bz],bB=[0,ao([0,[2,qq,qp],[0,[2,qo,qn],[0,q(qm),bA]]],by),bw],bC=[0,L([0,[2,qt,qs],0],[0,b(qr),bB]),bv],bD=0,bE=fM(a[2],a[1]),bF=af(function(a){return l(qu,0,[0,b(a),0])},bE),bG=[0,K(ad),0],bH=[0,J(a[3]),bG],bI=[0,ao([0,[2,qz,qy],[0,[2,qx,qw],[0,q(qv),bH]]],bF),bD],bJ=[0,L([0,[2,qC,qB],0],[0,b(qA),bI]),bC],bK=[0,h([0,q(qD),0],bJ),bl],m=a[2],v=aX(m,aJ);a:{varbL=0;if(0<=v){if(0>=v||!c(m,aP)||!c(m,aO)||!c(m,aL)||!c(m,aK)){vars=fN;break a}}else{if(!c(m,e)){vars=Z;break a}if(!c(m,au)||!c(m,at)||!c(m,aD)||!c(m,aN)){vars=fN;break a}}var
bM=[0,s(a),bL],bN=[0,h([0,q(qA),0],bM),bK],bQ=0,bR=af(function(a){return l(qB,0,[0,b(a),0])},fD),bS=[0,K(ab),0],bT=[0,J(a[1]),bS],bU=[0,ao([0,[2,qG,qF],[0,[2,qE,qD],[0,q(qC),bT]]],bR),bQ],bV=[0,L([0,[2,qJ,qI],0],[0,b(qH),bU]),bN],bW=0,bX=af(function(a){return l(qK,0,[0,b(a),0])},fE),bY=[0,K(ac),0],bZ=[0,J(a[2]),bY],b0=[0,ao([0,[2,qP,qO],[0,[2,qN,qM],[0,q(qL),bZ]]],bX),bW],b1=[0,L([0,[2,qS,qR],0],[0,l(pc,0,[0,b(qQ),0]),b0]),bV],b2=[0,l(pb,[0,[2,qX,qW],[0,[2,qV,qU],0]],[0,h([0,q(qT),0],b1),bk]),ar],b3=[0,h([0,q(qY),0],b2),aq],P=[0,V(0,[0,b(om),0]),0],Q=[0,ah(0,0),0],R=[0,l(ol,[0,[2,mg,on],0],0),Q],S=[0,ah(0,0),R],b4=[0,ah(0,[0,ah([0,cf(oo),0],S),P]),0],b5=[0,h([0,q(qZ),0],b4),b3];return ah([0,cf(q0),0],b5)}functionq1(a,b){switch(b[0]){case
bM=[0,s(a),bL],bN=[0,h([0,q(qE),0],bM),bK],bQ=0,bR=af(function(a){return l(qF,0,[0,b(a),0])},fE),bS=[0,K(ab),0],bT=[0,J(a[1]),bS],bU=[0,ao([0,[2,qK,qJ],[0,[2,qI,qH],[0,q(qG),bT]]],bR),bQ],bV=[0,L([0,[2,qN,qM],0],[0,b(qL),bU]),bN],bW=0,bX=af(function(a){return l(qO,0,[0,b(a),0])},fF),bY=[0,K(ac),0],bZ=[0,J(a[2]),bY],b0=[0,ao([0,[2,qT,qS],[0,[2,qR,qQ],[0,q(qP),bZ]]],bX),bW],b1=[0,L([0,[2,qW,qV],0],[0,l(pg,0,[0,b(qU),0]),b0]),bV],b2=[0,l(pf,[0,[2,q1,q0],[0,[2,qZ,qY],0]],[0,h([0,q(qX),0],b1),bk]),ar],b3=[0,h([0,q(q2),0],b2),aq],P=[0,V(0,[0,b(oq),0]),0],Q=[0,ah(0,0),0],R=[0,l(op,[0,[2,mh,or],0],0),Q],S=[0,ah(0,0),R],b4=[0,ah(0,[0,ah([0,cf(os),0],S),P]),0],b5=[0,h([0,q(q3),0],b4),b3];return ah([0,cf(q4),0],b5)}functionq5(a,b){switch(b[0]){case
a(a){return 0}return bM(l$,function(a){return q1(c,b)},a)}functione(a){return fA(l_,mb,a)}varf=[0,function(a){return fA(l9,o$,a)},e,d],c=bN(0);if(c.body===null)throw i([0,j,lt],1);varb=[0,m4,0,0,0,c.body,f];fv(b);fx(b);return fy(function(a){return fz(b,a)})},ma);cL(0);return}(globalThis));
a(a){return 0}return bM(ma,function(a){return q5(c,b)},a)}functione(a){return fB(l$,mc,a)}varf=[0,function(a){return fB(l_,pd,a)},e,d],c=bN(0);if(c.body===null)throw i([0,j,lu],1);varb=[0,m5,0,0,0,c.body,f];fw(b);fy(b);return fz(function(a){return fA(b,a)})},mb);cL(0);return}(globalThis));
version = 0.26.1