'use strict';

const index = require('./index-a7f2202d.js');
const stencilaActionMenu_stencilaEditor_stencilaNodeList_entry = require('./stencila-action-menu.stencila-editor.stencila-node-list-6d5f9418.js');
require('./index-3100d4fa.js');
require('./slotSelectors-20d2cae5.js');
require('./languageUtils-cccb90ac.js');
require('./schema-fcf985c7.js');
require('./_commonjsHelpers-1fbbf0eb.js');
require('./function-d841d074.js');
require('./imagePlotlyUtils-9bd5d072.js');

// This file was generated by lezer-generator. You probably shouldn't edit it.
const noSemi = 271,
  incdec = 1,
  incdecPrefix = 2,
  templateContent = 272,
  templateDollarBrace = 273,
  templateEnd = 274,
  insertSemi = 275,
  TSExtends = 3,
  spaces = 277,
  newline = 278,
  LineComment = 4,
  BlockComment = 5,
  Dialect_ts = 1;

/* Hand-written tokenizers for JavaScript tokens that can't be
   expressed by lezer's built-in tokenizer. */

const space = [9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200,
               8201, 8202, 8232, 8233, 8239, 8287, 12288];

const braceR = 125, braceL = 123, semicolon = 59, slash = 47, star = 42,
      plus = 43, minus = 45, dollar = 36, backtick = 96, backslash = 92;

const trackNewline = new index.ContextTracker({
  start: false,
  shift(context, term) {
    return term == LineComment || term == BlockComment || term == spaces ? context : term == newline
  },
  strict: false
});

const insertSemicolon = new index.ExternalTokenizer((input, stack) => {
  let {next} = input;
  if ((next == braceR || next == -1 || stack.context) && stack.canShift(insertSemi))
    input.acceptToken(insertSemi);
}, {contextual: true, fallback: true});

const noSemicolon = new index.ExternalTokenizer((input, stack) => {
  let {next} = input, after;
  if (space.indexOf(next) > -1) return
  if (next == slash && ((after = input.peek(1)) == slash || after == star)) return
  if (next != braceR && next != semicolon && next != -1 && !stack.context && stack.canShift(noSemi))
    input.acceptToken(noSemi);
}, {contextual: true});

const incdecToken = new index.ExternalTokenizer((input, stack) => {
  let {next} = input;
  if (next == plus || next == minus) {
    input.advance();
    if (next == input.next) {
      input.advance();
      let mayPostfix = !stack.context && stack.canShift(incdec);
      input.acceptToken(mayPostfix ? incdec : incdecPrefix);
    }
  }
}, {contextual: true});

const template = new index.ExternalTokenizer(input => {
  for (let afterDollar = false, i = 0;; i++) {
    let {next} = input;
    if (next < 0) {
      if (i) input.acceptToken(templateContent);
      break
    } else if (next == backtick) {
      if (i) input.acceptToken(templateContent);
      else input.acceptToken(templateEnd, 1);
      break
    } else if (next == braceL && afterDollar) {
      if (i == 1) input.acceptToken(templateDollarBrace, 1);
      else input.acceptToken(templateContent, -1);
      break
    } else if (next == 10 /* "\n" */ && i) {
      // Break up template strings on lines, to avoid huge tokens
      input.advance();
      input.acceptToken(templateContent);
      break
    } else if (next == backslash) {
      input.advance();
    }
    afterDollar = next == dollar;
    input.advance();
  }
});

function tsExtends(value, stack) {
  return value == "extends" && stack.dialectEnabled(Dialect_ts) ? TSExtends : -1
}

// This file was generated by lezer-generator. You probably shouldn't edit it.
const spec_identifier = {__proto__:null,export:16, as:21, from:25, default:30, async:35, function:36, this:46, true:54, false:54, void:60, typeof:64, null:78, super:80, new:114, await:131, yield:133, delete:134, class:144, extends:146, public:183, private:183, protected:183, readonly:185, in:204, instanceof:206, const:208, import:240, keyof:291, unique:295, infer:301, is:335, abstract:355, implements:357, type:359, let:362, var:364, interface:371, enum:375, namespace:381, module:383, declare:387, global:391, for:412, of:421, while:424, with:428, do:432, if:436, else:438, switch:442, case:448, try:454, catch:456, finally:458, return:462, throw:466, break:470, continue:474, debugger:478};
const spec_word = {__proto__:null,async:101, get:103, set:105, public:153, private:153, protected:153, static:155, abstract:157, readonly:161, new:339};
const spec_LessThan = {__proto__:null,"<":121};
const parser = index.LRParser.deserialize({
  version: 13,
  states: "$-tO`QYOOO&}Q!LdO'#CgO'UOSO'#DSO)^QYO'#DXO)nQYO'#DdO)uQYO'#DnO-lQYO'#DtOOQO'#EU'#EUO.PQWO'#ETO.UQWO'#ETO0TQ!LdO'#ImO2kQ!LdO'#InO3XQWO'#ErO3^QpO'#FXOOQ!LS'#Ez'#EzO3fO!bO'#EzO3tQWO'#F`O5RQWO'#F_OOQ!LS'#In'#InOOQ!LQ'#Im'#ImOOQQ'#JV'#JVO5WQWO'#HfO5]Q!LYO'#HgOOQQ'#I_'#I_OOQQ'#Hh'#HhQ`QYOOO)uQYO'#DfO5eQWO'#GSO5jQ#tO'#ClO5xQWO'#ESO6TQ#tO'#EyO6oQWO'#GSO6tQWO'#GWO7PQWO'#GWO7_QWO'#GZO7_QWO'#G[O7_QWO'#G^O5eQWO'#GaO8OQWO'#GdO9^QWO'#CcO9nQWO'#GqO9vQWO'#GwO9vQWO'#GyO`QYO'#G{O9vQWO'#G}O9vQWO'#HQO9{QWO'#HWO:QQ!LZO'#H[O)uQYO'#H^O:]Q!LZO'#H`O:hQ!LZO'#HbO5]Q!LYO'#HdO)uQYO'#IoOOOS'#Hj'#HjO:sOSO,59nOOQ!LS,59n,59nO=UQbO'#CgO=`QYO'#HkO=mQWO'#IpO?lQbO'#IpO'aQYO'#IpO?sQWO,59sO@ZQ&jO'#D^OASQWO'#EUOAaQWO'#IzOAlQWO'#IyOAtQWO,5:rOAyQWO'#IxOBQQWO'#DuO5jQ#tO'#ESOB`QWO'#ESOBkQ`O'#EyOOQ!LS,5:O,5:OOBsQYO,5:OODqQ!LdO,5:YOE_QWO,5:`OExQ!LYO'#IwO6tQWO'#IvOFPQWO'#IvOFXQWO,5:qOF^QWO'#IvOFlQYO,5:oOHiQWO'#EQOIsQWO,5:oOKSQWO'#DhOKZQYO'#DmOKeQ&jO,5:xO)uQYO,5:xOOQQ'#Ej'#EjOOQQ'#El'#ElO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yOOQQ'#Ep'#EpOKjQYO,5;ZOOQ!LS,5;`,5;`OOQ!LS,5;a,5;aOMgQWO,5;aOOQ!LS,5;b,5;bO)uQYO'#HuOMlQ!LYO,5;{ONWQWO,5:yO)uQYO,5;^ONpQpO'#JOON_QpO'#JOONwQpO'#JOO! YQpO,5;iOOQO,5;s,5;sO! hQYO'#FZOOOO'#Ht'#HtO3fO!bO,5;fO! oQpO'#F]OOQ!LS,5;f,5;fO!!]Q,UO'#CqOOQ!LS'#Ct'#CtO!!pQWO'#CtO!!uOSO'#CxO!#cQ#tO,5;xO!#jQWO,5;zO!$vQWO'#FjO!%TQWO'#FkO!%YQWO'#FoO!&[Q&jO'#FsO!&}Q,UO'#IhOOQ!LS'#Ih'#IhO!'XQWO'#IgO!'gQWO'#IfOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!'oQWO'#C{OIxQWO'#FbOIxQWO'#FdO!'tQWO'#FfO!'yQWO'#FgO!(OQWO'#FmOIxQWO'#FrO!(TQWO'#EVO!(lQWO,5;yO`QYO,5>QOOQQ'#Ib'#IbOOQQ,5>R,5>ROOQQ-E;f-E;fO!*hQ!LdO,5:QOOQ!LQ'#Co'#CoO!+XQ#tO,5<nOOQO'#Ce'#CeO!+jQWO'#CpO!+rQ!LYO'#IcO5RQWO'#IcO9{QWO,59WO!,QQpO,59WO!,YQ#tO,59WO5jQ#tO,59WO!,eQWO,5:oO!,mQWO'#GpO!,uQWO'#JZO)uQYO,5;cOKeQ&jO,5;eO!,}QWO,5=ZO!-SQWO,5=ZO!-XQWO,5=ZO5]Q!LYO,5=ZO5eQWO,5<nO!-gQWO'#EWO!-xQ&jO'#EXOOQ!LQ'#Ix'#IxO!.ZQ!LYO'#JWO5]Q!LYO,5<rO7_QWO,5<xOOQO'#Cq'#CqO!.fQpO,5<uO!.nQ#tO,5<vO!.yQWO,5<xO!/OQ`O,5<{O9{QWO'#GfO5eQWO'#GhO!/WQWO'#GhO5jQ#tO'#GkO!/]QWO'#GkOOQQ,5=O,5=OO!/bQWO'#GlO!/jQWO'#ClO!/oQWO,58}O!/yQWO,58}O!1xQYO,58}OOQQ,58},58}O!2VQ!LYO,58}O)uQYO,58}O!2bQYO'#GsOOQQ'#Gt'#GtOOQQ'#Gu'#GuO`QYO,5=]O!2rQWO,5=]O)uQYO'#DtO`QYO,5=cO`QYO,5=eO!2wQWO,5=gO`QYO,5=iO!2|QWO,5=lO!3RQYO,5=rOOQQ,5=v,5=vO)uQYO,5=vO5]Q!LYO,5=xOOQQ,5=z,5=zO!7PQWO,5=zOOQQ,5=|,5=|O!7PQWO,5=|OOQQ,5>O,5>OO!7UQ`O,5?ZOOOS-E;h-E;hOOQ!LS1G/Y1G/YO!7ZQbO,5>VO)uQYO,5>VOOQO-E;i-E;iO!7eQWO,5?[O!7mQbO,5?[O!7tQWO,5?eOOQ!LS1G/_1G/_O!7|QpO'#DQOOQO'#Ir'#IrO)uQYO'#IrO!8kQpO'#IrO!9YQpO'#D_O!9kQ&jO'#D_O!;sQYO'#D_O!;zQWO'#IqO!<SQWO,59xO!<XQWO'#EYO!<gQWO'#I{O!<oQWO,5:sO!=VQ&jO'#D_O)uQYO,5?fO!=aQWO'#HpO!7tQWO,5?eOOQ!LQ1G0^1G0^O!>gQ&jO'#DxOOQ!LS,5:a,5:aO)uQYO,5:aOHiQWO,5:aO!>nQWO,5:aO9{QWO,5:nO!,QQpO,5:nO!,YQ#tO,5:nO5jQ#tO,5:nOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#EP'#EPO)uQYO,5?cO!>yQ!LYO,5?cO!?[Q!LYO,5?cO!?cQWO,5?bO!?kQWO'#HrO!?cQWO,5?bOOQ!LQ1G0]1G0]O6tQWO,5?bOOQ!LS1G0Z1G0ZO!@VQ!LdO1G0ZO!@vQ!LbO,5:lOOQ!LS'#Fi'#FiO!AdQ!LdO'#IhOFlQYO1G0ZO!CcQ#tO'#IsO!CmQWO,5:SO!CrQbO'#ItO)uQYO'#ItO!C|QWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0d1G0dO!DRQWO1G0dO!FdQ!LdO1G0eO!FkQ!LdO1G0eO!IOQ!LdO1G0eO!IVQ!LdO1G0eO!K^Q!LdO1G0eO!KqQ!LdO1G0eO!NbQ!LdO1G0eO!NiQ!LdO1G0eO#!|Q!LdO1G0eO##TQ!LdO1G0eO#$xQ!LdO1G0eO#'rQ7^O'#CgO#)mQ7^O1G0uO#+hQ7^O'#InOOQ!LS1G0{1G0{O#+{Q!LdO,5>aOOQ!LQ-E;s-E;sO#,lQ!LdO1G0eOOQ!LS1G0e1G0eO#.nQ!LdO1G0xO#/_QpO,5;kO#/dQpO,5;lO#/iQpO'#FSO#/}QWO'#FROOQO'#JP'#JPOOQO'#Hs'#HsO#0SQpO1G1TOOQ!LS1G1T1G1TOOQO1G1^1G1^O#0bQ7^O'#ImO#0lQWO,5;uOKjQYO,5;uOOOO-E;r-E;rOOQ!LS1G1Q1G1QOOQ!LS,5;w,5;wO#0qQpO,5;wOOQ!LS,59`,59`OHiQWO'#IjOOOS'#Hi'#HiO#0vOSO,59dOOQ!LS,59d,59dO)uQYO1G1dOKeQ&jO'#HwO#1RQWO,5<]OOQ!LS,5<Y,5<YOOQO'#F}'#F}OIxQWO,5<hOOQO'#GP'#GPOIxQWO,5<jOIxQWO,5<lOOQO1G1f1G1fO#1^Q`O'#CoO#1qQ`O,5<UO#1xQWO'#JSO5eQWO'#JSO#2WQWO,5<WOIxQWO,5<VO#2]Q`O'#FiO#2jQ`O'#JTO#2tQWO'#JTOHiQWO'#JTO#2yQWO,5<ZOOQ!LQ'#Dc'#DcO#3OQWO'#FlO#3ZQpO'#FtO!&VQ&jO'#FtO!&VQ&jO'#FvO#3lQWO'#FwO!(OQWO'#FzOOQO'#Hy'#HyO#3qQ&jO,5<_OOQ!LS,5<_,5<_O#3xQ&jO'#FtO#4WQ&jO'#FuO#4`Q&jO'#FuOOQ!LS,5<m,5<mOIxQWO,5?ROIxQWO,5?RO#4eQWO'#HzO#4pQWO,5?QOOQ!LS'#Cg'#CgO#5dQ#tO,59gOOQ!LS,59g,59gO#6VQ#tO,5;|O#6xQ#tO,5<OO#7SQWO,5<QOOQ!LS,5<R,5<RO#7XQWO,5<XO#7^Q#tO,5<^OFlQYO1G1eO#7nQWO1G1eOOQQ1G3l1G3lOOQ!LS1G/l1G/lOMgQWO1G/lOOQQ1G2Y1G2YOHiQWO1G2YO)uQYO1G2YOHiQWO1G2YO#7sQWO1G2YO#8RQWO,59[O#9[QWO'#EQOOQ!LQ,5>},5>}O#9fQ!LYO,5>}OOQQ1G.r1G.rO9{QWO1G.rO!,QQpO1G.rO!,YQ#tO1G.rO#9tQWO1G0ZO#9yQWO'#CgO#:UQWO'#J[O#:^QWO,5=[O#:cQWO'#J[O#:hQWO'#ISO#:vQWO,5?uO#;OQbO1G0}OOQ!LS1G1P1G1PO5eQWO1G2uO#;VQWO1G2uO#;[QWO1G2uO#;aQWO1G2uOOQQ1G2u1G2uO#;fQ#tO1G2YO6tQWO'#IyO6tQWO'#EYO6tQWO'#H|O#;wQ!LYO,5?rOOQQ1G2^1G2^O!.yQWO1G2dOHiQWO1G2aO#<SQWO1G2aOOQQ1G2b1G2bOHiQWO1G2bO#<XQWO1G2bO#<aQ&jO'#G`OOQQ1G2d1G2dO!&VQ&jO'#IOO!/OQ`O1G2gOOQQ1G2g1G2gOOQQ,5=Q,5=QO#<iQ#tO,5=SO5eQWO,5=SO#3lQWO,5=VO5RQWO,5=VO!,QQpO,5=VO!,YQ#tO,5=VO5jQ#tO,5=VO#<zQWO'#JYO#=VQWO,5=WOOQQ1G.i1G.iO#=[Q!LYO1G.iO#=gQWO1G.iO!'oQWO1G.iO5]Q!LYO1G.iO#=lQbO,5?wO#=vQWO,5?wO#>RQYO,5=_O#>YQWO,5=_O6tQWO,5?wOOQQ1G2w1G2wO`QYO1G2wOOQQ1G2}1G2}OOQQ1G3P1G3PO9vQWO1G3RO#>_QYO1G3TO#BVQYO'#HSOOQQ1G3W1G3WO9{QWO1G3^O#BdQWO1G3^O5]Q!LYO1G3bOOQQ1G3d1G3dOOQ!LQ'#Fp'#FpO5]Q!LYO1G3fO5]Q!LYO1G3hOOOS1G4u1G4uO#BlQ`O,5;{O#BtQbO1G3qO#COQWO1G4vO#CWQWO1G5PO#C`QWO,5?^OKjQYO,5:tO6tQWO,5:tO9{QWO,59yOKjQYO,59yO!,QQpO,59yO#CeQ7^O,59yOOQO,5:t,5:tO#CoQ&jO'#HlO#DVQWO,5?]OOQ!LS1G/d1G/dO#D_Q&jO'#HqO#DsQWO,5?gOOQ!LQ1G0_1G0_O!9kQ&jO,59yO#D{QbO1G5QOOQO,5>[,5>[O6tQWO,5>[OOQO-E;n-E;nO#EVQ!LrO'#D}O!&VQ&jO'#DyOOQO'#Ho'#HoO#EqQ&jO,5:dOOQ!LS,5:d,5:dO#ExQ&jO'#DyO#FWQ&jO'#D}O#FlQ&jO'#D}O!&VQ&jO'#D}O#FvQWO1G/{O#F{Q`O1G/{OOQ!LS1G/{1G/{O)uQYO1G/{OHiQWO1G/{OOQ!LS1G0Y1G0YO9{QWO1G0YO!,QQpO1G0YO!,YQ#tO1G0YO#GSQ!LdO1G4}O)uQYO1G4}O#GdQ!LYO1G4}O#GuQWO1G4|O6tQWO,5>^OOQO,5>^,5>^O#G}QWO,5>^OOQO-E;p-E;pO#GuQWO1G4|O#H]Q!LdO,59gO#J[Q!LdO,5;|O#L^Q!LdO,5<OO#N`Q!LdO,5<^OOQ!LS7+%u7+%uO$!hQ!LdO7+%uO$#XQWO'#HmO$#cQWO,5?_OOQ!LS1G/n1G/nO$#kQYO'#HnO$#xQWO,5?`O$$QQbO,5?`OOQ!LS1G/s1G/sOOQ!LS7+&O7+&OO$$[Q7^O,5:YO)uQYO7+&aO$$fQ7^O,5:QOOQO1G1V1G1VOOQO1G1W1G1WO$$sQMhO,5;nOKjQYO,5;mOOQO-E;q-E;qOOQ!LS7+&o7+&oOOQO7+&x7+&xOOOO1G1a1G1aO$%OQWO1G1aOOQ!LS1G1c1G1cO$%TQ`O,5?UOOOS-E;g-E;gOOQ!LS1G/O1G/OO$%[Q!LdO7+'OOOQ!LS,5>c,5>cO$%{QWO,5>cOOQ!LS1G1w1G1wP$&QQWO'#HwPOQ!LS-E;u-E;uO$&qQ#tO1G2SO$'dQ#tO1G2UO$'nQ#tO1G2WOOQ!LS1G1p1G1pO$'uQWO'#HvO$(TQWO,5?nO$(TQWO,5?nO$(]QWO,5?nO$(hQWO,5?nOOQO1G1r1G1rO$(vQ#tO1G1qO$)WQWO'#HxO$)hQWO,5?oOHiQWO,5?oO$)pQ`O,5?oOOQ!LS1G1u1G1uO5]Q!LYO,5<`O5]Q!LYO,5<aO$)zQWO,5<aO#3gQWO,5<aO!,QQpO,5<`O$*PQWO,5<bO5]Q!LYO,5<cO$)zQWO,5<fOOQO-E;w-E;wOOQ!LS1G1y1G1yO!&VQ&jO,5<`O$*XQWO,5<aO!&VQ&jO,5<bO!&VQ&jO,5<aO$*dQ#tO1G4mO$*nQ#tO1G4mOOQO,5>f,5>fOOQO-E;x-E;xOKeQ&jO,59iO)uQYO,59iO$*{QWO1G1lOIxQWO1G1sO$+QQ!LdO7+'POOQ!LS7+'P7+'POFlQYO7+'POOQ!LS7+%W7+%WO$+qQ`O'#JUO#FvQWO7+'tO$+{QWO7+'tO$,TQ`O7+'tOOQQ7+'t7+'tOHiQWO7+'tO)uQYO7+'tOHiQWO7+'tOOQO1G.v1G.vO$,_Q!LbO'#CgO$,oQ!LbO,5<dO$-^QWO,5<dOOQ!LQ1G4i1G4iOOQQ7+$^7+$^O9{QWO7+$^O!,QQpO7+$^OFlQYO7+%uO$-cQWO'#IRO$-nQWO,5?vOOQO1G2v1G2vO5eQWO,5?vOOQO,5>n,5>nOOQO-E<Q-E<QOOQ!LS7+&i7+&iO$-vQWO7+(aO5]Q!LYO7+(aO5eQWO7+(aO$-{QWO7+(aO$.QQWO7+'tOOQ!LQ,5>h,5>hOOQ!LQ-E;z-E;zOOQQ7+(O7+(OO$.`Q!LbO7+'{OHiQWO7+'{O$.jQ`O7+'|OOQQ7+'|7+'|OHiQWO7+'|O$.qQWO'#JXO$.|QWO,5<zOOQO,5>j,5>jOOQO-E;|-E;|OOQQ7+(R7+(RO$/sQ&jO'#GiOOQQ1G2n1G2nOHiQWO1G2nO)uQYO1G2nOHiQWO1G2nO$/zQWO1G2nO$0YQ#tO1G2nO5]Q!LYO1G2qO#3lQWO1G2qO5RQWO1G2qO!,QQpO1G2qO!,YQ#tO1G2qO$0kQWO'#IQO$0vQWO,5?tO$1OQ&jO,5?tOOQ!LQ1G2r1G2rOOQQ7+$T7+$TO$1TQWO7+$TO5]Q!LYO7+$TO$1YQWO7+$TO)uQYO1G5cO)uQYO1G5dO$1_QYO1G2yO$1fQWO1G2yO$1kQYO1G2yO$1rQ!LYO1G5cOOQQ7+(c7+(cO5]Q!LYO7+(mO`QYO7+(oOOQQ'#J_'#J_OOQQ'#IT'#ITO$1|QYO,5=nOOQQ,5=n,5=nO)uQYO'#HTO$2ZQWO'#HVOOQQ7+(x7+(xO$2`QYO7+(xO6tQWO7+(xOOQQ7+(|7+(|OOQQ7+)Q7+)QOOQQ7+)S7+)SOOQO1G4x1G4xO$6ZQ7^O1G0`O$6eQWO1G0`OOQO1G/e1G/eO$6pQ7^O1G/eO9{QWO1G/eOKjQYO'#D_OOQO,5>W,5>WOOQO-E;j-E;jOOQO,5>],5>]OOQO-E;o-E;oO!,QQpO1G/eOOQO1G3v1G3vO9{QWO,5:eOOQO,5:i,5:iO)uQYO,5:iO$6zQ!LYO,5:iO$7VQ!LYO,5:iO!,QQpO,5:eOOQO-E;m-E;mOOQ!LS1G0O1G0OO!&VQ&jO,5:eO$7eQ!LrO,5:iO$8PQ&jO,5:eO!&VQ&jO,5:iO$8_Q&jO,5:iO$8sQ!LYO,5:iOOQ!LS7+%g7+%gO#FvQWO7+%gO#F{Q`O7+%gOOQ!LS7+%t7+%tO9{QWO7+%tO!,QQpO7+%tO$9XQ!LdO7+*iO)uQYO7+*iOOQO1G3x1G3xO6tQWO1G3xO$9iQWO7+*hO$9qQ!LdO1G2SO$;sQ!LdO1G2UO$=uQ!LdO1G1qO$?}Q#tO,5>XOOQO-E;k-E;kO$@XQbO,5>YO)uQYO,5>YOOQO-E;l-E;lO$@cQWO1G4zO$@kQ7^O1G0ZO$BrQ7^O1G0eO$ByQ7^O1G0eO$DzQ7^O1G0eO$ERQ7^O1G0eO$FvQ7^O1G0eO$GZQ7^O1G0eO$IhQ7^O1G0eO$IoQ7^O1G0eO$KpQ7^O1G0eO$KwQ7^O1G0eO$MlQ7^O1G0eO$NPQ!LdO<<I{O$NpQ7^O1G0eO%!`Q7^O'#IhO%$]Q7^O1G0xOKjQYO'#FUOOQO'#JQ'#JQOOQO1G1Y1G1YO%$jQWO1G1XO%$oQ7^O,5>aOOOO7+&{7+&{OOOS1G4p1G4pOOQ!LS1G3}1G3}OIxQWO7+'rO%$yQWO,5>bO5eQWO,5>bOOQO-E;t-E;tO%%XQWO1G5YO%%XQWO1G5YO%%aQWO1G5YO%%lQ`O,5>dO%%vQWO,5>dOHiQWO,5>dOOQO-E;v-E;vO%%{Q`O1G5ZO%&VQWO1G5ZOOQO1G1z1G1zOOQO1G1{1G1{O5]Q!LYO1G1{O$)zQWO1G1{O5]Q!LYO1G1zO%&_QWO1G1|OHiQWO1G1|OOQO1G1}1G1}O5]Q!LYO1G2QO!,QQpO1G1zO#3gQWO1G1{O%&dQWO1G1|O%&lQWO1G1{OIxQWO7+*XOOQ!LS1G/T1G/TO%&wQWO1G/TOOQ!LS7+'W7+'WO%&|Q#tO7+'_O%'^Q!LdO<<JkOOQ!LS<<Jk<<JkOHiQWO'#H{O%'}QWO,5?pOOQQ<<K`<<K`OHiQWO<<K`O#FvQWO<<K`O%(VQWO<<K`O%(_Q`O<<K`OHiQWO1G2OOOQQ<<Gx<<GxO9{QWO<<GxO%(iQ!LdO<<IaOOQ!LS<<Ia<<IaOOQO,5>m,5>mO%)YQWO,5>mOOQO-E<P-E<PO%)_QWO1G5bO%)gQWO<<K{OOQQ<<K{<<K{O%)lQWO<<K{O5]Q!LYO<<K{O)uQYO<<K`OHiQWO<<K`OOQQ<<Kg<<KgO$.`Q!LbO<<KgOOQQ<<Kh<<KhO$.jQ`O<<KhO%)qQ&jO'#H}O%)|QWO,5?sOKjQYO,5?sOOQQ1G2f1G2fO#EVQ!LrO'#D}O!&VQ&jO'#GjOOQO'#IP'#IPO%*UQ&jO,5=TOOQQ,5=T,5=TO#4WQ&jO'#D}O%*]Q&jO'#D}O%*qQ&jO'#D}O%*{Q&jO'#GjO%+ZQWO7+(YO%+`QWO7+(YO%+hQ`O7+(YOOQQ7+(Y7+(YOHiQWO7+(YO)uQYO7+(YOHiQWO7+(YO%+rQWO7+(YOOQQ7+(]7+(]O5]Q!LYO7+(]O#3lQWO7+(]O5RQWO7+(]O!,QQpO7+(]O%,QQWO,5>lOOQO-E<O-E<OOOQO'#Gm'#GmO%,]QWO1G5`O5]Q!LYO<<GoOOQQ<<Go<<GoO%,eQWO<<GoO%,jQWO7+*}O%,oQWO7++OOOQQ7+(e7+(eO%,tQWO7+(eO%,yQYO7+(eO%-QQWO7+(eO)uQYO7+*}O)uQYO7++OOOQQ<<LX<<LXOOQQ<<LZ<<LZOOQQ-E<R-E<ROOQQ1G3Y1G3YO%-VQWO,5=oOOQQ,5=q,5=qO9{QWO<<LdO%-[QWO<<LdOKjQYO7+%zOOQO7+%P7+%PO%-aQ7^O1G5QO9{QWO7+%POOQO1G0P1G0PO%-kQ!LdO1G0TOOQO1G0T1G0TO)uQYO1G0TO%-uQ!LYO1G0TO9{QWO1G0PO!,QQpO1G0PO%.QQ!LYO1G0TO!&VQ&jO1G0PO%.`Q!LYO1G0TO%.tQ!LrO1G0TO%/OQ&jO1G0PO!&VQ&jO1G0TOOQ!LS<<IR<<IROOQ!LS<<I`<<I`O9{QWO<<I`O%/^Q!LdO<<NTOOQO7+)d7+)dO%/nQ!LdO7+'_O%1vQbO1G3tO%2QQ7^O7+%uO%2_Q7^O,59gO%4[Q7^O,5;|O%6XQ7^O,5<OO%8UQ7^O,5<^O%9tQ7^O7+'OO%:RQ7^O7+'PO%:`QWO,5;pOOQO7+&s7+&sO%:eQ#tO<<K^OOQO1G3|1G3|O%:uQWO1G3|O%;QQWO1G3|O%;`QWO7+*tO%;`QWO7+*tOHiQWO1G4OO%;hQ`O1G4OO%;rQWO7+*uOOQO7+'g7+'gO5]Q!LYO7+'gOOQO7+'f7+'fO$)zQWO7+'hO%;zQ`O7+'hOOQO7+'l7+'lO5]Q!LYO7+'fO$)zQWO7+'gO%<RQWO7+'hOHiQWO7+'hO#3gQWO7+'gO%<WQ#tO<<MsOOQ!LS7+$o7+$oO%<bQ`O,5>gOOQO-E;y-E;yO#FvQWOAN@zOOQQAN@zAN@zOHiQWOAN@zO%<lQ!LbO7+'jOOQQAN=dAN=dO5eQWO1G4XO%<yQWO7+*|O5]Q!LYOANAgO%=RQWOANAgOOQQANAgANAgO%=WQWOAN@zO%=`Q`OAN@zOOQQANARANAROOQQANASANASO%=jQWO,5>iOOQO-E;{-E;{O%=uQ7^O1G5_O#3lQWO,5=UO5RQWO,5=UO!,QQpO,5=UOOQO-E;}-E;}OOQQ1G2o1G2oO$7eQ!LrO,5:iO!&VQ&jO,5=UO%>PQ&jO,5=UO%>_Q&jO,5:iOOQQ<<Kt<<KtOHiQWO<<KtO%+ZQWO<<KtO%>sQWO<<KtO%>{Q`O<<KtO)uQYO<<KtOHiQWO<<KtOOQQ<<Kw<<KwO5]Q!LYO<<KwO#3lQWO<<KwO5RQWO<<KwO%?VQ&jO1G4WO%?[QWO7+*zOOQQAN=ZAN=ZO5]Q!LYOAN=ZOOQQ<<Ni<<NiOOQQ<<Nj<<NjOOQQ<<LP<<LPO%?dQWO<<LPO%?iQYO<<LPO%?pQWO<<NiO%?uQWO<<NjOOQQ1G3Z1G3ZOOQQANBOANBOO9{QWOANBOO%?zQ7^O<<IfOOQO<<Hk<<HkOOQO7+%o7+%oO%-kQ!LdO7+%oO)uQYO7+%oOOQO7+%k7+%kO9{QWO7+%kO%@UQ!LYO7+%oO!,QQpO7+%kO%@aQ!LYO7+%oO!&VQ&jO7+%kO%@oQ!LYO7+%oOOQ!LSAN>zAN>zO%ATQ!LdO<<K^O%C]Q7^O<<I{O%CjQ7^O1G1qO%EYQ7^O1G2SO%GVQ7^O1G2UO%ISQ7^O<<JkO%IaQ7^O<<IaOOQO1G1[1G1[OOQO7+)h7+)hO%InQWO7+)hO%IyQWO<<N`O%JRQ`O7+)jOOQO<<KR<<KRO5]Q!LYO<<KSO$)zQWO<<KSOOQO<<KQ<<KQO5]Q!LYO<<KRO%J]Q`O<<KSO$)zQWO<<KROOQQG26fG26fO#FvQWOG26fOOQO7+)s7+)sOOQQG27RG27RO5]Q!LYOG27ROHiQWOG26fOKjQYO1G4TO%JdQWO7+*yO5]Q!LYO1G2pO#3lQWO1G2pO5RQWO1G2pO!,QQpO1G2pO!&VQ&jO1G2pO%.tQ!LrO1G0TO%JlQ&jO1G2pO%+ZQWOANA`OOQQANA`ANA`OHiQWOANA`O%JzQWOANA`O%KSQ`OANA`OOQQANAcANAcO5]Q!LYOANAcO#3lQWOANAcOOQO'#Gn'#GnOOQO7+)r7+)rOOQQG22uG22uOOQQANAkANAkO%K^QWOANAkOOQQANDTANDTOOQQANDUANDUO%KcQYOG27jOOQO<<IZ<<IZO%-kQ!LdO<<IZOOQO<<IV<<IVO)uQYO<<IZO9{QWO<<IVO& ^Q!LYO<<IZO!,QQpO<<IVO& iQ!LYO<<IZO& wQ7^O7+'_OOQO<<MS<<MSOOQOAN@nAN@nO5]Q!LYOAN@nOOQOAN@mAN@mO$)zQWOAN@nO5]Q!LYOAN@mOOQQLD,QLD,QOOQQLD,mLD,mO#FvQWOLD,QO&#gQ7^O7+)oOOQO7+([7+([O5]Q!LYO7+([O#3lQWO7+([O5RQWO7+([O!,QQpO7+([O!&VQ&jO7+([OOQQG26zG26zO%+ZQWOG26zOHiQWOG26zOOQQG26}G26}O5]Q!LYOG26}OOQQG27VG27VO9{QWOLD-UOOQOAN>uAN>uO%-kQ!LdOAN>uOOQOAN>qAN>qO)uQYOAN>uO9{QWOAN>qO&#qQ!LYOAN>uO&#|Q7^O<<K^OOQOG26YG26YO5]Q!LYOG26YOOQOG26XG26XOOQQ!$( l!$( lOOQO<<Kv<<KvO5]Q!LYO<<KvO#3lQWO<<KvO5RQWO<<KvO!,QQpO<<KvOOQQLD,fLD,fO%+ZQWOLD,fOOQQLD,iLD,iOOQQ!$(!p!$(!pOOQOG24aG24aO%-kQ!LdOG24aOOQOG24]G24]O)uQYOG24aOOQOLD+tLD+tOOQOANAbANAbO5]Q!LYOANAbO#3lQWOANAbO5RQWOANAbOOQQ!$(!Q!$(!QOOQOLD){LD){O%-kQ!LdOLD){OOQOG26|G26|O5]Q!LYOG26|O#3lQWOG26|OOQO!$'Mg!$'MgOOQOLD,hLD,hO5]Q!LYOLD,hOOQO!$(!S!$(!SOKjQYO'#DnO&%lQbO'#ImOKjQYO'#DfO&%sQ!LdO'#CgO&&^QbO'#CgO&&nQYO,5:oOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO,5:yOKjQYO'#HuO&(kQWO,5;{O&)}QWO,5:yOKjQYO,5;^O!'oQWO'#C{O!'oQWO'#C{OHiQWO'#FbO&(sQWO'#FbOHiQWO'#FdO&(sQWO'#FdOHiQWO'#FrO&(sQWO'#FrOKjQYO,5?fO&&nQYO1G0ZO&*UQ7^O'#CgOKjQYO1G1dOHiQWO,5<hO&(sQWO,5<hOHiQWO,5<jO&(sQWO,5<jOHiQWO,5<VO&(sQWO,5<VO&&nQYO1G1eOKjQYO7+&aOHiQWO1G1sO&(sQWO1G1sO&&nQYO7+'PO&&nQYO7+%uOHiQWO7+'rO&(sQWO7+'rO&*`QWO'#ETO&*eQWO'#ETO&*mQWO'#ErO&*rQWO'#IzO&*}QWO'#IxO&+YQWO,5:oO&+_Q#tO,5;xO&+fQWO'#FkO&+kQWO'#FkO&+pQWO,5;yO&+xQWO,5:oO&,QQ7^O1G0uO&,XQWO,5<XO&,^QWO,5<XO&,cQWO1G1eO&,hQWO1G0ZO&,mQ#tO1G2WO&,tQ#tO1G2WO3tQWO'#F`O5RQWO'#F_OB`QWO'#ESOKjQYO,5;ZO!(OQWO'#FmO!(OQWO'#FmOIxQWO,5<lOIxQWO,5<l",
  stateData: "&-p~O'POS'QOSSOSTOS~OPTOQTOWwO]bO^gOamOblOgbOiTOjbOkbOnTOpTOuROwbOxbOybO!PSO!ZjO!`UO!cTO!dTO!eTO!fTO!gTO!jkO#[qO#lnO#p]O$woO$yrO${pO$|pO%PsO%RtO%UuO%VuO%XvO%fxO%lyO%nzO%p{O%r|O%u}O%{!OO&P!PO&R!QO&T!RO&V!SO&X!TO'SPO']QO'u`O~OPZXYZX^ZXiZXrZXsZXuZX}ZX!]ZX!^ZX!`ZX!fZX!uZX#PcX#SZX#TZX#UZX#VZX#WZX#XZX#YZX#ZZX#]ZX#_ZX#aZX#bZX#gZX&}ZX']ZX'iZX'pZX'qZX~O!X$dX~P$wO&z!VO&{!UO&|!XO~OPTOQTO]bOa!hOb!gOgbOiTOjbOkbOnTOpTOuROwbOxbOybO!P!`O!ZjO!`UO!cTO!dTO!eTO!fTO!gTO!j!fO#l!iO#p]O'S!YO']QO'u`O~O|!^O}!ZOz'dPz'mP~P'aO!O!jO~P`OPTOQTO]bOa!hOb!gOgbOiTOjbOkbOnTOpTOuROwbOxbOybO!P!`O!ZjO!`UO!cTO!dTO!eTO!fTO!gTO!j!fO#l!iO#p]O'S8lO']QO'u`O~OPTOQTO]bOa!hOb!gOgbOiTOjbOkbOnTOpTOuROwbOxbOybO!P!`O!ZjO!`UO!cTO!dTO!eTO!fTO!gTO!j!fO#l!iO#p]O']QO'u`O~O|!oO!}!rO#O!oO'S8mO!_'jP~P+rO#P!sO~O!X!tO#P!sO~OP#ZOY#aOi#OOr!xOs!xOu!yO}#_O!]#QO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O#W#PO#X#QO#Y#QO#Z#QO#]#RO#_#TO#a#VO#b#WO']QO'i#XO'p!zO'q!{O~O^'aX&}'aX!_'aXz'aX!P'aX$x'aX!X'aX~P.^O!u#bO#g#bOP'bXY'bX^'bXi'bXr'bXs'bXu'bX}'bX!]'bX!^'bX!`'bX!f'bX#S'bX#T'bX#U'bX#V'bX#W'bX#X'bX#Z'bX#]'bX#_'bX#a'bX#b'bX']'bX'i'bX'p'bX'q'bX~O#Y'bX&}'bXz'bX!_'bX'_'bX!P'bX$x'bX!X'bX~P0nO!u#bO~O#r#cO#y#gO~O!P#hO#p]O#|#iO$O#kO~O]#nOg#{Oi#oOj#nOk#nOn#|Op#}Ou#uO!P#vO!Z$SO!`#sO#O$TO#l$QO$V$OO$X$PO$[$RO'S#mO']#pO'W'YP~O!`$UO~O!X$WO~O^$XO&}$XO~O'S$]O~O!`$UO'S$]O'T$_O'X$`O~Ob$fO!`$UO'S$]O~O]$oOr$kO!P$hO!`$jO$y$nO'S$]O'T$_O['}P~O!j$pO~Ou$qO!P$rO'S$]O~Ou$qO!P$rO%R$vO'S$]O~O'S$wO~O#[qO$yrO${pO$|pO%PsO%RtO%UuO%VuO~Oa%QOb%PO!j$}O$w%OO%Z$|O~P7dOa%TOblO!P%SO!jkO#[qO$woO${pO$|pO%PsO%RtO%UuO%VuO%XvO~O_%WO!u%ZO$y%UO'T$_O~P8cO!`%[O!c%`O~O!`%aO~O!PSO~O^$XO&y%iO&}$XO~O^$XO&y%lO&}$XO~O^$XO&y%nO&}$XO~O&z!VO&{!UO&|%rO~OPZXYZXiZXrZXsZXuZX}ZX}cX!]ZX!^ZX!`ZX!fZX!uZX!ucX#PcX#SZX#TZX#UZX#VZX#WZX#XZX#YZX#ZZX#]ZX#_ZX#aZX#bZX#gZX']ZX'iZX'pZX'qZX~OzZXzcX~P;OO|%tOz&_X}&_X~P)uO}!ZOz'dX~OP#ZOY#aOi#OOr!xOs!xOu!yO}!ZO!]#QO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O#W#PO#X#QO#Y#QO#Z#QO#]#RO#_#TO#a#VO#b#WO']QO'i#XO'p!zO'q!{O~Oz'dX~P=uOz%yO~Ou%|O!S&WO!T&PO!U&PO'T$_O~O]%}Oj%}O|&QO'`%zO!O'eP!O'oP~P?xOz'lX}'lX!X'lX!_'lX'i'lX~O!u'lX#P!xX!O'lX~P@qO!u&XOz'nX}'nX~O}&YOz'mX~Oz&[O~O!u#bO~P@qOR&`O!P&]O!k&_O'S$]O~Ob&eO!`$UO'S$]O~Or$kO!`$jO~O!O&fO~P`Or!xOs!xOu!yO!^!vO!`!wO']QOP!baY!bai!ba}!ba!]!ba!f!ba#S!ba#T!ba#U!ba#V!ba#W!ba#X!ba#Y!ba#Z!ba#]!ba#_!ba#a!ba#b!ba'i!ba'p!ba'q!ba~O^!ba&}!baz!ba!_!ba'_!ba!P!ba$x!ba!X!ba~PBzO!_&gO~O!X!tO!u&iO'i&hO}'kX^'kX&}'kX~O!_'kX~PEdO}&mO!_'jX~O!_&oO~Ou$qO!P$rO#O&pO'S$]O~OPTOQTO]bOa!hOb!gOgbOiTOjbOkbOnTOpTOuROwbOxbOybO!PSO!ZjO!`UO!cTO!dTO!eTO!fTO!gTO!j!fO#l!iO#p]O'S8lO']QO'u`O~O]#nOg#{Oi#oOj#nOk#nOn#|Op9OOu#uO!P#vO!Z:QO!`#sO#O9UO#l$QO$V9QO$X9SO$[$RO'S&tO']#pO~O#P&vO~O]#nOg#{Oi#oOj#nOk#nOn#|Op#}Ou#uO!P#vO!Z$SO!`#sO#O$TO#l$QO$V$OO$X$PO$[$RO'S&tO']#pO~O'W'gP~PIxO|&zO!_'hP~P)uO'`&|O~OP8iOQ8iO]bOa:OOb!gOgbOi8iOjbOkbOn8iOp8iOuROwbOxbOybO!P!`O!Z8kO!`UO!c8iO!d8iO!e8iO!f8iO!g8iO!j!fO#l!iO#p]O'S'[O']QO'u9|O~O!`!wO~O}#_O^$Ta&}$Ta!_$Taz$Ta!P$Ta$x$Ta!X$Ta~O#['cO~PHiO!X'eO!P'rX#o'rX#r'rX#y'rX~Or'fO~PN_Or'fO!P'rX#o'rX#r'rX#y'rX~O!P'hO#o'lO#r'gO#y'mO~O|'pO~PKjO#r#cO#y'sO~Or$]Xu$]X!^$]X'i$]X'p$]X'q$]X~OReX}eX!ueX'WeX'W$]X~P! wOj'uO~O&z'wO&{'vO&|'yO~Or'{Ou'|O'i#XO'p(OO'q(QO~O'W'zO~P!#QO'W(TO~O]#nOg#{Oi#oOj#nOk#nOn#|Op9OOu#uO!P#vO!Z:QO!`#sO#O9UO#l$QO$V9QO$X9SO$[$RO']#pO~O|(XO'S(UO!_'vP~P!#oO#P(ZO~O|(_O'S([Oz'wP~P!#oO^(hOi(mOu(eO!S(kO!T(dO!U(dO!`(bO!r(lO$o(gO'T$_O'`(aO~O!O(jO~P!%gO!^!vOr'[Xu'[X'i'[X'p'[X'q'[X}'[X!u'[X~O'W'[X#e'[X~P!&cOR(pO!u(oO}'ZX'W'ZX~O}(qO'W'YX~O'S(sO~O!`(xO~O'S&tO~O!`(bO~Ou$qO|!oO!P$rO!}!rO#O!oO'S$]O!_'jP~O!X!tO#P(|O~OP#ZOY#aOi#OOr!xOs!xOu!yO!]#QO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O#W#PO#X#QO#Y#QO#Z#QO#]#RO#_#TO#a#VO#b#WO']QO'i#XO'p!zO'q!{O~O^!Ya}!Ya&}!Yaz!Ya!_!Ya'_!Ya!P!Ya$x!Ya!X!Ya~P!(tOR)UO!P&]O!k)TO$x)SO'X$`O~O'S$wO'W'YP~O!X)XO!P'VX^'VX&}'VX~O!`$UO'X$`O~O!`$UO'S$]O'X$`O~O!X!tO#P&vO~O'S)aO!O(OP~O})eO['}X~OY)iO~O[)jO~O!P$hO'S$]O'T$_O['}P~Ou$qO|)oO!P$rO'S$]Oz'mP~O]&TOj&TO|)pO'`&|O!O'oP~O})qO^'zX&}'zX~O!u)uO'X$`O~OR)xO!P#vO'X$`O~O!P)zO~Or)|O!PSO~O!j*RO~Ob*WO~O'S(sO!O'|P~Ob$fO~O$yrO'S$wO~P8cOY*^O[*]O~OPTOQTO]bOamOblOgbOiTOjbOkbOnTOpTOuROwbOxbOybO!ZjO!`UO!cTO!dTO!eTO!fTO!gTO!jkO#p]O$woO']QO'u`O~O!P!`O#l!iO'S8lO~P!0RO[*]O^$XO&}$XO~O^*bO#[*dO${*dO$|*dO~P)uO!`%[O~O%l*iO~O!P*kO~O%|*nO%}*mOP%zaQ%zaW%za]%za^%zaa%zab%zag%zai%zaj%zak%zan%zap%zau%zaw%zax%zay%za!P%za!Z%za!`%za!c%za!d%za!e%za!f%za!g%za!j%za#[%za#l%za#p%za$w%za$y%za${%za$|%za%P%za%R%za%U%za%V%za%X%za%f%za%l%za%n%za%p%za%r%za%u%za%{%za&P%za&R%za&T%za&V%za&X%za&x%za'S%za']%za'u%za!O%za%s%za_%za%x%za~O'S*qO~O'_*tO~Oz&_a}&_a~P!(tO}!ZOz'da~Oz'da~P=uO}&YOz'ma~O}tX}!VX!OtX!O!VX!XtX!X!VX!`!VX!utX'X!VX~O!X*{O!u*zO}!|X}'fX!O!|X!O'fX!X'fX!`'fX'X'fX~O!X*}O!`$UO'X$`O}!RX!O!RX~O]%{Oj%{Ou%|O'`(aO~OP8iOQ8iO]bOa:OOb!gOgbOi8iOjbOkbOn8iOp8iOuROwbOxbOybO!P!`O!Z8kO!`UO!c8iO!d8iO!e8iO!f8iO!g8iO!j!fO#l!iO#p]O']QO'u9|O~O'S9YO~P!9yO}+RO!O'eX~O!O+TO~O!X*{O!u*zO}!|X!O!|X~O}+UO!O'oX~O!O+WO~O]%{Oj%{Ou%|O'T$_O'`(aO~O!T+XO!U+XO~P!<tOu$qO|+[O!P$rO'S$]Oz&dX}&dX~O^+`O!S+cO!T+_O!U+_O!n+eO!o+dO!p+dO!r+fO'T$_O'`(aO~O!O+bO~P!=uOR+kO!P&]O!k+jO~O!u+qO}'ka!_'ka^'ka&}'ka~O!X!tO~P!>yO}&mO!_'ja~Ou$qO|+tO!P$rO!}+vO#O+tO'S$]O}&fX!_&fX~O^!wi}!wi&}!wiz!wi!_!wi'_!wi!P!wi$x!wi!X!wi~P!(tO#P!ta}!ta!_!ta!u!ta!P!ta^!ta&}!taz!ta~P!#QO#P'[XP'[XY'[X^'[Xi'[Xs'[X!]'[X!`'[X!f'[X#S'[X#T'[X#U'[X#V'[X#W'[X#X'[X#Y'[X#Z'[X#]'[X#_'[X#a'[X#b'[X&}'[X']'[X!_'[Xz'[X!P'[X'_'[X$x'[X!X'[X~P!&cO},PO'W'gX~P!#QO'W,RO~O},SO!_'hX~P!(tO!_,VO~Oz,WO~OP#ZOr!xOs!xOu!yO!^!vO!`!wO!f#ZO']QOY#Ri^#Rii#Ri}#Ri!]#Ri#T#Ri#U#Ri#V#Ri#W#Ri#X#Ri#Y#Ri#Z#Ri#]#Ri#_#Ri#a#Ri#b#Ri&}#Ri'i#Ri'p#Ri'q#Riz#Ri!_#Ri'_#Ri!P#Ri$x#Ri!X#Ri~O#S#Ri~P!DWO#S!|O~P!DWOP#ZOr!xOs!xOu!yO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O']QOY#Ri^#Ri}#Ri!]#Ri#W#Ri#X#Ri#Y#Ri#Z#Ri#]#Ri#_#Ri#a#Ri#b#Ri&}#Ri'i#Ri'p#Ri'q#Riz#Ri!_#Ri'_#Ri!P#Ri$x#Ri!X#Ri~Oi#Ri~P!FrOi#OO~P!FrOP#ZOi#OOr!xOs!xOu!yO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O#W#PO']QO^#Ri}#Ri#]#Ri#_#Ri#a#Ri#b#Ri&}#Ri'i#Ri'p#Ri'q#Riz#Ri!_#Ri'_#Ri!P#Ri$x#Ri!X#Ri~OY#Ri!]#Ri#X#Ri#Y#Ri#Z#Ri~P!I^OY#aO!]#QO#X#QO#Y#QO#Z#QO~P!I^OP#ZOY#aOi#OOr!xOs!xOu!yO!]#QO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O#W#PO#X#QO#Y#QO#Z#QO#]#RO']QO^#Ri}#Ri#_#Ri#a#Ri#b#Ri&}#Ri'i#Ri'q#Riz#Ri!_#Ri'_#Ri!P#Ri$x#Ri!X#Ri~O'p#Ri~P!LUO'p!zO~P!LUOP#ZOY#aOi#OOr!xOs!xOu!yO!]#QO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O#W#PO#X#QO#Y#QO#Z#QO#]#RO#_#TO']QO'p!zO^#Ri}#Ri#a#Ri#b#Ri&}#Ri'i#Riz#Ri!_#Ri'_#Ri!P#Ri$x#Ri!X#Ri~O'q#Ri~P!NpO'q!{O~P!NpOP#ZOY#aOi#OOr!xOs!xOu!yO!]#QO!^!vO!`!wO!f#ZO#S!|O#T!}O#U!}O#V!}O#W#PO#X#QO#Y#QO#Z#QO#]#RO#_#TO#a#VO']QO'p!zO'q!{O~O^#Ri}#Ri#b#Ri&}#Ri'i#Riz#Ri!_#Ri'_#Ri!P#Ri$x#Ri!X#Ri~P##[OPZXYZXiZXrZXsZXuZX!]ZX!^ZX!`ZX!fZX!uZX#PcX#SZX#TZX#UZX#VZX#WZX#XZX#YZX#ZZX#]ZX#_ZX#aZX#bZX#gZX']ZX'iZX'pZX'qZX}ZX!OZX~O#eZX~P#%oOP#ZOY8|Oi8qOr!xOs!xOu!yO!]8sO!^!vO!`!wO!f#ZO#S8oO#T8pO#U8pO#V8pO#W8rO#X8sO#Y8sO#Z8sO#]8tO#_8vO#a8xO#b8yO']QO'i#XO'p!zO'q!{O~O#e,YO~P#'yOP'bXY'bXi'bXr'bXs'bXu'bX!]'bX!^'bX!`'bX!f'bX#S'bX#T'bX#U'bX#V'bX#W'bX#X'bX#Z'bX#]'bX#_'bX#a'bX#b'bX']'bX'i'bX'p'bX'q'bX}'bX~O!u8}O#g8}O#Y'bX#e'bX!O'bX~P#)tO^&ia}&ia&}&ia!_&ia'_&iaz&ia!P&ia$x&ia!X&ia~P!(tOP#RiY#Ri^#Rii#Ris#Ri}#Ri!]#Ri!^#Ri!`#Ri!f#Ri#S#Ri#T#Ri#U#Ri#V#Ri#W#Ri#X#Ri#Y#Ri#Z#Ri#]#Ri#_#Ri#a#Ri#b#Ri&}#Ri']#Riz#Ri!_#Ri'_#Ri!P#Ri$x#Ri!X#Ri~P!#QO^#fi}#fi&}#fiz#fi!_#fi'_#fi!P#fi$x#fi!X#fi~P!(tO#r,[O~O#r,]O~O!X'eO!u,^O!P#vX#o#vX#r#vX#y#vX~O|,_O~O!P'hO#o,aO#r'gO#y,bO~O}8zO!O'aX~P#'yO!O,cO~O#y,eO~O&z'wO&{'vO&|,hO~O],kOj,kOz,lO~O}cX!XcX!_cX!_$]X'icX~P! wO!_,rO~P!#QO},sO!X!tO'i&hO!_'vX~O!_,xO~Oz$]X}$]X!X$dX~P! wO},zOz'wX~P!#QO!X,|O~Oz-OO~O|(XO'S$]O!_'vP~Oi-SO!X!tO!`$UO'X$`O'i&hO~O!X)XO~O!O-YO~P!%gO!T-ZO!U-ZO'T$_O'`(aO~Ou-]O'`(aO~O!r-^O~O'S$wO}&nX'W&nX~O}(qO'W'Ya~Or-cOs-cOu-dO'ioa'poa'qoa}oa!uoa~O'Woa#eoa~P#4xOr'{Ou'|O'i$Ua'p$Ua'q$Ua}$Ua!u$Ua~O'W$Ua#e$Ua~P#5nOr'{Ou'|O'i$Wa'p$Wa'q$Wa}$Wa!u$Wa~O'W$Wa#e$Wa~P#6aO]-eO~O#P-fO~O'W$fa}$fa#e$fa!u$fa~P!#QO#P-iO~OR-rO!P&]O!k-qO$x-pO~O'W-sO~O]#nOi#oOj#nOk#nOn#|Op9OOu#uO!P#vO!Z:QO!`#sO#O9UO#l$QO$V9QO$X9SO$[$RO']#pO~Og-uO'S-tO~P#8WO!X)XO!P'Va^'Va&}'Va~O#P-{O~OYZX}cX!OcX~O}-|O!O(OX~O!O.OO~OY.PO~O!P$hO'S$]O[&vX}&vX~O})eO['}a~O!_.SO~P!(tO].UO~OY.VO~O[.WO~OR-rO!P&]O!k-qO$x-pO'X$`O~O})qO^'za&}'za~O!u.^O~OR.aO!P#vO~O'`&|O!O'{P~OR.kO!P.gO!k.jO$x.iO'X$`O~OY.uO}.sO!O'|X~O!O.vO~O[.xO^$XO&}$XO~O].yO~O#Y.{O%j.|O~P0nO!u#bO#Y.{O%j.|O~O^.}O~P)uO^/PO~O%s/TOP%qiQ%qiW%qi]%qi^%qia%qib%qig%qii%qij%qik%qin%qip%qiu%qiw%qix%qiy%qi!P%qi!Z%qi!`%qi!c%qi!d%qi!e%qi!f%qi!g%qi!j%qi#[%qi#l%qi#p%qi$w%qi$y%qi${%qi$|%qi%P%qi%R%qi%U%qi%V%qi%X%qi%f%qi%l%qi%n%qi%p%qi%r%qi%u%qi%{%qi&P%qi&R%qi&T%qi&V%qi&X%qi&x%qi'S%qi']%qi'u%qi!O%qi_%qi%x%qi~O_/ZO!O/XO%x/YO~P`O!PSO!`/^O~O}#_O'_$Ta~Oz&_i}&_i~P!(tO}!ZOz'di~O}&YOz'mi~Oz/bO~O}!Ra!O!Ra~P#'yO]%{Oj%{O|/hO'`(aO}&`X!O&`X~P?xO}+RO!O'ea~O]&TOj&TO|)pO'`&|O}&eX!O&eX~O}+UO!O'oa~Oz'ni}'ni~P!(tO^$XO!X!tO!`$UO!f/sO!u/qO&}$XO'X$`O'i&hO~O!O/vO~P!=uO!T/wO!U/wO'T$_O'`(aO~O!S/yO!T/wO!U/wO!r/zO'T$_O'`(aO~O!o/{O!p/{O~P#FWO!P&]O~O!P&]O~P!#QO}'ki!_'ki^'ki&}'ki~P!(tO!u0UO}'ki!_'ki^'ki&}'ki~O}&mO!_'ji~Ou$qO!P$rO#O0WO'S$]O~O#PoaPoaYoa^oaioa!]oa!^oa!`oa!foa#Soa#Toa#Uoa#Voa#Woa#Xoa#Yoa#Zoa#]oa#_oa#aoa#boa&}oa']oa!_oazoa!Poa'_oa$xoa!Xoa~P#4xO#P$UaP$UaY$Ua^$Uai$Uas$Ua!]$Ua!^$Ua!`$Ua!f$Ua#S$Ua#T$Ua#U$Ua#V$Ua#W$Ua#X$Ua#Y$Ua#Z$Ua#]$Ua#_$Ua#a$Ua#b$Ua&}$Ua']$Ua!_$Uaz$Ua!P$Ua'_$Ua$x$Ua!X$Ua~P#5nO#P$WaP$WaY$Wa^$Wai$Was$Wa!]$Wa!^$Wa!`$Wa!f$Wa#S$Wa#T$Wa#U$Wa#V$Wa#W$Wa#X$Wa#Y$Wa#Z$Wa#]$Wa#_$Wa#a$Wa#b$Wa&}$Wa']$Wa!_$Waz$Wa!P$Wa'_$Wa$x$Wa!X$Wa~P#6aO#P$faP$faY$fa^$fai$fas$fa}$fa!]$fa!^$fa!`$fa!f$fa#S$fa#T$fa#U$fa#V$fa#W$fa#X$fa#Y$fa#Z$fa#]$fa#_$fa#a$fa#b$fa&}$fa']$fa!_$faz$fa!P$fa!u$fa'_$fa$x$fa!X$fa~P!#QO^!wq}!wq&}!wqz!wq!_!wq'_!wq!P!wq$x!wq!X!wq~P!(tO}&aX'W&aX~PIxO},PO'W'ga~O|0`O}&bX!_&bX~P)uO},SO!_'ha~O},SO!_'ha~P!(tO#e!ba!O!ba~PBzO#e!Ya}!Ya!O!Ya~P#'yO!P0sO#p]O#w0tO~O!O0xO~O'_0yO~P!#QO^$Qq}$Qq&}$Qqz$Qq!_$Qq'_$Qq!P$Qq$x$Qq!X$Qq~P!(tOz0zO~O],kOj,kO~Or'{Ou'|O'q(QO'i$pi'p$pi}$pi!u$pi~O'W$pi#e$pi~P$&YOr'{Ou'|O'i$ri'p$ri'q$ri}$ri!u$ri~O'W$ri#e$ri~P$&{O#e0{O~P!#QO|0}O'S$]O}&jX!_&jX~O},sO!_'va~O},sO!X!tO!_'va~O},sO!X!tO'i&hO!_'va~O'W$_i}$_i#e$_i!u$_i~P!#QO|1UO'S([Oz&lX}&lX~P!#oO},zOz'wa~O},zOz'wa~P!#QO!X!tO~O!X!tO#Y1`O~Oi1dO!X!tO'i&hO~O}'Zi'W'Zi~P!#QO!u1gO}'Zi'W'Zi~P!#QO!_1jO~O^$Rq}$Rq&}$Rqz$Rq!_$Rq'_$Rq!P$Rq$x$Rq!X$Rq~P!(tO}1nO!P'xX~P!#QO!P&]O$x1qO~O!P&]O$x1qO~P!#QO!P$]X$mZX^$]X&}$]X~P! wO$m1uOrfXufX!PfX'ifX'pfX'qfX^fX&}fX~O$m1uO~O'S)aO}&uX!O&uX~O}-|O!O(Oa~O[2OO~O]2RO~OR2TO!P&]O!k2SO$x1qO~O^$XO&}$XO~P!#QO!P#vO~P!#QO}2YO!u2[O!O'{X~O!O2]O~Ou(eO!S2fO!T2_O!U2_O!n2eO!o2dO!p2dO!r2cO'T$_O'`(aO~O!O2bO~P$/ROR2mO!P.gO!k2lO$x2kO~OR2mO!P.gO!k2lO$x2kO'X$`O~O'S(sO}&tX!O&tX~O}.sO!O'|a~O'`2vO~O]2xO~O[2zO~O!_2}O~P)uO^3PO~O^3PO~P)uO#Y3RO%j3SO~PEdO_/ZO!O3WO%x/YO~P`O!X3YO~O%}3ZOP%zqQ%zqW%zq]%zq^%zqa%zqb%zqg%zqi%zqj%zqk%zqn%zqp%zqu%zqw%zqx%zqy%zq!P%zq!Z%zq!`%zq!c%zq!d%zq!e%zq!f%zq!g%zq!j%zq#[%zq#l%zq#p%zq$w%zq$y%zq${%zq$|%zq%P%zq%R%zq%U%zq%V%zq%X%zq%f%zq%l%zq%n%zq%p%zq%r%zq%u%zq%{%zq&P%zq&R%zq&T%zq&V%zq&X%zq&x%zq'S%zq']%zq'u%zq!O%zq%s%zq_%zq%x%zq~O}!|i!O!|i~P#'yO!u3]O}!|i!O!|i~O}!Ri!O!Ri~P#'yO^$XO!u3dO&}$XO~O^$XO!X!tO!u3dO&}$XO~O^$XO!X!tO!`$UO!f3hO!u3dO&}$XO'X$`O'i&hO~O!T3iO!U3iO'T$_O'`(aO~O!S3lO!T3iO!U3iO!r3mO'T$_O'`(aO~O^$XO!X!tO!f3hO!u3dO&}$XO'i&hO~O}'kq!_'kq^'kq&}'kq~P!(tO}&mO!_'jq~O#P$piP$piY$pi^$pii$pis$pi!]$pi!^$pi!`$pi!f$pi#S$pi#T$pi#U$pi#V$pi#W$pi#X$pi#Y$pi#Z$pi#]$pi#_$pi#a$pi#b$pi&}$pi']$pi!_$piz$pi!P$pi'_$pi$x$pi!X$pi~P$&YO#P$riP$riY$ri^$rii$ris$ri!]$ri!^$ri!`$ri!f$ri#S$ri#T$ri#U$ri#V$ri#W$ri#X$ri#Y$ri#Z$ri#]$ri#_$ri#a$ri#b$ri&}$ri']$ri!_$riz$ri!P$ri'_$ri$x$ri!X$ri~P$&{O#P$_iP$_iY$_i^$_ii$_is$_i}$_i!]$_i!^$_i!`$_i!f$_i#S$_i#T$_i#U$_i#V$_i#W$_i#X$_i#Y$_i#Z$_i#]$_i#_$_i#a$_i#b$_i&}$_i']$_i!_$_iz$_i!P$_i!u$_i'_$_i$x$_i!X$_i~P!#QO}&aa'W&aa~P!#QO}&ba!_&ba~P!(tO},SO!_'hi~O#e!wi}!wi!O!wi~P#'yOP#ZOr!xOs!xOu!yO!^!vO!`!wO!f#ZO']QOY#Rii#Ri!]#Ri#T#Ri#U#Ri#V#Ri#W#Ri#X#Ri#Y#Ri#Z#Ri#]#Ri#_#Ri#a#Ri#b#Ri#e#Ri'i#Ri'p#Ri'q#Ri}#Ri!O#Ri~O#S#Ri~P$@xO#S8oO~P$@xOP#ZOr!xOs!xOu!yO!^!vO!`!wO!f#ZO#S8oO#T8pO#U8pO#V8pO']QOY#Ri!]#Ri#W#Ri#X#Ri#Y#Ri#Z#Ri#]#Ri#_#Ri#a#Ri#b#Ri#e#Ri'i#Ri'p#Ri'q#Ri}#Ri!O#Ri~Oi#Ri~P$CQOi8qO~P$CQOP#ZOi8qOr!xOs!xOu!yO!^!vO!`!wO!f#ZO#S8oO#T8pO#U8pO#V8pO#W8rO']QO#]#Ri#_#Ri#a#Ri#b#Ri#e#Ri'i#Ri'p#Ri'q#Ri}#Ri!O#Ri~OY#Ri!]#Ri#X#Ri#Y#Ri#Z#Ri~P$EYOY8|O!]8sO#X8sO#Y8sO#Z8sO~P$EYOP#ZOY8|Oi8qOr!xOs!xOu!yO!]8sO!^!vO!`!wO!f#ZO#S8oO#T8pO#U8pO#V8pO#W8rO#X8sO#Y8sO#Z8sO#]8tO']QO#_#Ri#a#Ri#b#Ri#e#Ri'i#Ri'q#Ri}#Ri!O#Ri~O'p#Ri~P$GnO'p!zO~P$GnOP#ZOY8|Oi8qOr!xOs!xOu!yO!]8sO!^!vO!`!wO!f#ZO#S8oO#T8pO#U8pO#V8pO#W8rO#X8sO#Y8sO#Z8sO#]8tO#_8vO']QO'p!zO#a#Ri#b#Ri#e#Ri'i#Ri}#Ri!O#Ri~O'q#Ri~P$IvO'q!{O~P$IvOP#ZOY8|Oi8qOr!xOs!xOu!yO!]8sO!^!vO!`!wO!f#ZO#S8oO#T8pO#U8pO#V8pO#W8rO#X8sO#Y8sO#Z8sO#]8tO#_8vO#a8xO']QO'p!zO'q!{O~O#b#Ri#e#Ri'i#Ri}#Ri!O#Ri~P$LOO^#cy}#cy&}#cyz#cy!_#cy'_#cy!P#cy$x#cy!X#cy~P!(tOP#RiY#Rii#Ris#Ri!]#Ri!^#Ri!`#Ri!f#Ri#S#Ri#T#Ri#U#Ri#V#Ri#W#Ri#X#Ri#Y#Ri#Z#Ri#]#Ri#_#Ri#a#Ri#b#Ri#e#Ri']#Ri}#Ri!O#Ri~P!#QO!^!vOP'[XY'[Xi'[Xr'[Xs'[Xu'[X!]'[X!`'[X!f'[X#S'[X#T'[X#U'[X#V'[X#W'[X#X'[X#Y'[X#Z'[X#]'[X#_'[X#a'[X#b'[X#e'[X']'[X'i'[X'p'[X'q'[X}'[X!O'[X~O#e#fi}#fi!O#fi~P#'yO!O3}O~O}&ia!O&ia~P#'yO!X!tO'i&hO}&ja!_&ja~O},sO!_'vi~O},sO!X!tO!_'vi~Oz&la}&la~P!#QO!X4UO~O},zOz'wi~P!#QO},zOz'wi~Oz4[O~O!X!tO#Y4bO~Oi4cO!X!tO'i&hO~Oz4eO~O'W$aq}$aq#e$aq!u$aq~P!#QO^$Ry}$Ry&}$Ryz$Ry!_$Ry'_$Ry!P$Ry$x$Ry!X$Ry~P!(tO}1nO!P'xa~O!P&]O$x4jO~O!P&]O$x4jO~P!#QO^!wy}!wy&}!wyz!wy!_!wy'_!wy!P!wy$x!wy!X!wy~P!(tOY4mO~O}-|O!O(Oi~O]4oO~O[4pO~O'`&|O}&qX!O&qX~O}2YO!O'{a~O!O4}O~P$/RO!S5QO!T5PO!U5PO!r/zO'T$_O'`(aO~O!o5RO!p5RO~P%*]O!T5PO!U5PO'T$_O'`(aO~O!P.gO~O!P.gO$x5TO~O!P.gO$x5TO~P!#QOR5YO!P.gO!k5XO$x5TO~OY5_O}&ta!O&ta~O}.sO!O'|i~O]5bO~O!_5cO~O!_5dO~O!_5eO~O!_5eO~P)uO^5gO~O!X5jO~O!_5lO~O}'ni!O'ni~P#'yO^$XO&}$XO~P!(tO^$XO!u5qO&}$XO~O^$XO!X!tO!u5qO&}$XO~O^$XO!X!tO!f5vO!u5qO&}$XO'i&hO~O!`$UO'X$`O~P%.`O!T5wO!U5wO'T$_O'`(aO~O}'ky!_'ky^'ky&}'ky~P!(tO#P$aqP$aqY$aq^$aqi$aqs$aq}$aq!]$aq!^$aq!`$aq!f$aq#S$aq#T$aq#U$aq#V$aq#W$aq#X$aq#Y$aq#Z$aq#]$aq#_$aq#a$aq#b$aq&}$aq']$aq!_$aqz$aq!P$aq!u$aq'_$aq$x$aq!X$aq~P!#QO}&bi!_&bi~P!(tO#e!wq}!wq!O!wq~P#'yOr-cOs-cOu-dOPoaYoaioa!]oa!^oa!`oa!foa#Soa#Toa#Uoa#Voa#Woa#Xoa#Yoa#Zoa#]oa#_oa#aoa#boa#eoa']oa'ioa'poa'qoa}oa!Ooa~Or'{Ou'|OP$UaY$Uai$Uas$Ua!]$Ua!^$Ua!`$Ua!f$Ua#S$Ua#T$Ua#U$Ua#V$Ua#W$Ua#X$Ua#Y$Ua#Z$Ua#]$Ua#_$Ua#a$Ua#b$Ua#e$Ua']$Ua'i$Ua'p$Ua'q$Ua}$Ua!O$Ua~Or'{Ou'|OP$WaY$Wai$Was$Wa!]$Wa!^$Wa!`$Wa!f$Wa#S$Wa#T$Wa#U$Wa#V$Wa#W$Wa#X$Wa#Y$Wa#Z$Wa#]$Wa#_$Wa#a$Wa#b$Wa#e$Wa']$Wa'i$Wa'p$Wa'q$Wa}$Wa!O$Wa~OP$faY$fai$fas$fa!]$fa!^$fa!`$fa!f$fa#S$fa#T$fa#U$fa#V$fa#W$fa#X$fa#Y$fa#Z$fa#]$fa#_$fa#a$fa#b$fa#e$fa']$fa}$fa!O$fa~P!#QO#e$Qq}$Qq!O$Qq~P#'yO#e$Rq}$Rq!O$Rq~P#'yO!O6RO~O'W$ty}$ty#e$ty!u$ty~P!#QO!X!tO}&ji!_&ji~O!X!tO'i&hO}&ji!_&ji~O},sO!_'vq~Oz&li}&li~P!#QO},zOz'wq~Oz6YO~P!#QOz6YO~O}'Zy'W'Zy~P!#QO}&oa!P&oa~P!#QO!P$lq^$lq&}$lq~P!#QO}-|O!O(Oq~O]6cO~O!P&]O$x6dO~O!P&]O$x6dO~P!#QO!u6eO}&qa!O&qa~O}2YO!O'{i~P#'yO!T6kO!U6kO'T$_O'`(aO~O!S6mO!T6kO!U6kO!r3mO'T$_O'`(aO~O!P.gO$x6pO~O!P.gO$x6pO~P!#QO'`6vO~O}.sO!O'|q~O!_6yO~O!_6yO~P)uO!_6{O~O!_6|O~O}!|y!O!|y~P#'yO^$XO!u7RO&}$XO~O^$XO!X!tO!u7RO&}$XO~O^$XO!X!tO!f7VO!u7RO&}$XO'i&hO~O#P$tyP$tyY$ty^$tyi$tys$ty}$ty!]$ty!^$ty!`$ty!f$ty#S$ty#T$ty#U$ty#V$ty#W$ty#X$ty#Y$ty#Z$ty#]$ty#_$ty#a$ty#b$ty&}$ty']$ty!_$tyz$ty!P$ty!u$ty'_$ty$x$ty!X$ty~P!#QO#e#cy}#cy!O#cy~P#'yOP$_iY$_ii$_is$_i!]$_i!^$_i!`$_i!f$_i#S$_i#T$_i#U$_i#V$_i#W$_i#X$_i#Y$_i#Z$_i#]$_i#_$_i#a$_i#b$_i#e$_i']$_i}$_i!O$_i~P!#QOr'{Ou'|O'q(QOP$piY$pii$pis$pi!]$pi!^$pi!`$pi!f$pi#S$pi#T$pi#U$pi#V$pi#W$pi#X$pi#Y$pi#Z$pi#]$pi#_$pi#a$pi#b$pi#e$pi']$pi'i$pi'p$pi}$pi!O$pi~Or'{Ou'|OP$riY$rii$ris$ri!]$ri!^$ri!`$ri!f$ri#S$ri#T$ri#U$ri#V$ri#W$ri#X$ri#Y$ri#Z$ri#]$ri#_$ri#a$ri#b$ri#e$ri']$ri'i$ri'p$ri'q$ri}$ri!O$ri~O#e$Ry}$Ry!O$Ry~P#'yO#e!wy}!wy!O!wy~P#'yO!X!tO}&jq!_&jq~O},sO!_'vy~Oz&lq}&lq~P!#QOz7]O~P!#QO}2YO!O'{q~O!T7hO!U7hO'T$_O'`(aO~O!P.gO$x7kO~O!P.gO$x7kO~P!#QO!_7nO~O%}7oOP%z!ZQ%z!ZW%z!Z]%z!Z^%z!Za%z!Zb%z!Zg%z!Zi%z!Zj%z!Zk%z!Zn%z!Zp%z!Zu%z!Zw%z!Zx%z!Zy%z!Z!P%z!Z!Z%z!Z!`%z!Z!c%z!Z!d%z!Z!e%z!Z!f%z!Z!g%z!Z!j%z!Z#[%z!Z#l%z!Z#p%z!Z$w%z!Z$y%z!Z${%z!Z$|%z!Z%P%z!Z%R%z!Z%U%z!Z%V%z!Z%X%z!Z%f%z!Z%l%z!Z%n%z!Z%p%z!Z%r%z!Z%u%z!Z%{%z!Z&P%z!Z&R%z!Z&T%z!Z&V%z!Z&X%z!Z&x%z!Z'S%z!Z']%z!Z'u%z!Z!O%z!Z%s%z!Z_%z!Z%x%z!Z~O^$XO!u7sO&}$XO~O^$XO!X!tO!u7sO&}$XO~OP$aqY$aqi$aqs$aq!]$aq!^$aq!`$aq!f$aq#S$aq#T$aq#U$aq#V$aq#W$aq#X$aq#Y$aq#Z$aq#]$aq#_$aq#a$aq#b$aq#e$aq']$aq}$aq!O$aq~P!#QO}&qq!O&qq~P#'yO^$XO!u8XO&}$XO~OP$tyY$tyi$tys$ty!]$ty!^$ty!`$ty!f$ty#S$ty#T$ty#U$ty#V$ty#W$ty#X$ty#Y$ty#Z$ty#]$ty#_$ty#a$ty#b$ty#e$ty']$ty}$ty!O$ty~P!#QO'_'aX~P.^O'_ZXzZX!_ZX%jZX!PZX$xZX!XZX~P$wO!XcX!_ZX!_cX'icX~P;OOP8iOQ8iO]bOa:OOb!gOgbOi8iOjbOkbOn8iOp8iOuROwbOxbOybO!PSO!Z8kO!`UO!c8iO!d8iO!e8iO!f8iO!g8iO!j!fO#l!iO#p]O'S'[O']QO'u9|O~O}8zO!O$Ta~O]#nOg#{Oi#oOj#nOk#nOn#|Op9POu#uO!P#vO!Z:RO!`#sO#O9VO#l$QO$V9RO$X9TO$[$RO'S&tO']#pO~O#['cO~P&(sO!OZX!OcX~P;OO#P8nO~O!X!tO#P8nO~O!u8}O~O!u9WO}'nX!O'nX~O!u8}O}'lX!O'lX~O#P9XO~O'W9ZO~P!#QO#P9`O~O#P9aO~O!X!tO#P9bO~O!X!tO#P9XO~O#e9cO~P#'yO#P9dO~O#P9eO~O#P9fO~O#P9gO~O#e9hO~P!#QO#e9iO~P!#QO#p~!^!n!p!}#O'u$V$X$[$m$w$x$y%P%R%U%V%X%Z~TS#p'u#Ty'P'Q#r'P'S'`~",
  goto: "#=a(SPPPPPPP(TP(eP*QPPPP-aPP-v2z4m5QP5QPPP5Q5QP5QP6nPP6sP7[PPPP;kPPPP;k>ZPPP>a@dP;kPBwPPPPDo;kPPPPPFh;kPPIgJdPPPJhPJpKqP;k;kNx!#q!(a!(a!+nPPP!+u;kPPPPPPPPPP!.iP!/zPP;k!1XP;kP;k;k;k;kP;k!3lPP!6cP!9U!9^!9b!9bP!6`P!9f!9fP!<XP!<];k;k!<c!?T5QP5QP5Q5QP!@W5Q5Q!A{5Q5Q5Q!C}5Q5Q!Dk!Fe!Fe!Fi!Fe!FqP!FeP5Q!Gm5Q!Hw5Q5Q-aPPP!JUPP!Jn!JnP!JnP!KT!JnPP!KZP!KQP!KQ!KmJl!KQ!L[!Lb!Le(T!Lh(TP!Lo!Lo!LoP(TP(TP(TP(TPP(TP!Lu!LxP!Lx(TPPP(TP(TP(TP(TP(TP(T(T!L|!MW!M^!Md!Mr!Mx!NO!NY!N`!Nj!Np# O# U# [# j#!P##c##q##w##}#$T#$Z#$e#$k#$q#${#%V#%]PPPPPPPPP#%cPP#&V#*TPP#+h#+o#+wP#0TPP#0X#2l#8f#8j#8m#8p#8{#9OP#9R#9V#9t#:i#:m#;PPP#;T#;Z#;_P#;b#;f#;i#<X#<o#<t#<w#<z#=Q#=T#=X#=]mgOSi{!k$W%_%b%c%e*f*k/T/WQ$elQ$lnQ%VwS&P!`+RQ&d!gS(d#v(iQ)_$fQ)k$nQ*V%PQ+X&WS+_&]+aQ+o&eQ-Z(kQ.r*WU/w+c+d+eS2_.g2aS3i/y/{U5P2d2e2fQ5w3lS6k5Q5RR7h6m$lZORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#_#b$W$j%W%Z%_%a%b%c%e%i%t%|&X&_&i&v&z'z(|)T*b*f*k+j+q,S,Y-d-i-q-{.j.{.|.}/P/T/W/Y/q0U0`2S2l3P3R3S3d5X5g5q7R7s8X!j'^#Y#h&Q'p*z*},_/h0s2[3]6e8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PQ(t#}Q)d$hQ*X%SQ*`%[Q+y9OQ-v)XQ.z*^Q1{-|Q2t.sR3v9PpdOSiw{!k$W%U%_%b%c%e*f*k/T/WR*Z%W&WVOSTijm{!Q!U!Z!h!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#Y#_#b#h$W$j%W%Z%[%_%a%b%c%e%i%t%|&X&_&i&v&z'p'z(|)T*b*f*k*z*}+j+q,S,Y,_-d-i-q-{.j.{.|.}/P/T/W/Y/h/q0U0`0s2S2[2l3P3R3S3]3d5X5g5q6e7R7s8X8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:O:PW!aRU!^&QQ$^kQ$dlS$in$nv$spq!o!r$U$q&Y&m&p)o)p)q*d*{+[+t+v/^0WQ${uQ&a!fQ&c!gS(W#s(bS)^$e$fQ)b$hQ)n$pQ*Q$}Q*U%PS+n&d&eQ,w(XQ-z)_Q.Q)eQ.T)iQ.m*RS.q*V*WQ0S+oQ0|,sQ1z-|Q1}.PQ2Q.VQ2s.rQ4R0}R6a4m!W$bl!g$d$e$f&O&c&d&e(c)^)_+O+^+n+o-T-z/m/t/x0S1c3g3k5u7UQ)V$^Q)v$xQ)y$yQ*T%PQ.X)nQ.l*QU.p*U*V*WQ2n.mS2r.q.rQ4z2^Q5^2sS6i4{5OS7f6j6lQ8O7gR8^8PW#y`$`(q9|S$xr%UQ$ysQ$ztR)t$v$V#x`!t!v#a#s#u$O$P$T&`'v(P(R(S(Z(_(o(p)S)U)X)u)x+k,P,z,|-f-p-r.^.a.i.k0{1U1`1g1n1q1u2T2k2m4U4b4j5T5Y6d6p7k8|9Q9R9S9T9U9V9[9]9^9_9`9a9d9e9h9i9|:S:TV(u#}9O9PU&T!`$r+UQ&}!xQ)h$kQ,j'{Q.b)zQ1h-cR4v2Y&YbORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#Y#_#b#h$W$j%W%Z%[%_%a%b%c%e%i%t%|&Q&X&_&i&v&z'p'z(|)T*b*f*k*z*}+j+q,S,Y,_-d-i-q-{.j.{.|.}/P/T/W/Y/h/q0U0`0s2S2[2l3P3R3S3]3d5X5g5q6e7R7s8X8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:P$]#^Y!]!l$[%s%w&r&y'P'Q'R'S'T'U'V'W'X'Y'Z']'`'d'n)g*v+P+Y+p,O,U,X,Z,i-g/c/f0T0_0c0d0e0f0g0h0i0j0k0l0m0n0o0r0w1l1x3_3b3q3t3u3z3{4x5m5p5{6P6Q7P7b7q8V8a8j9u&ZbORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#Y#_#b#h$W$j%W%Z%[%_%a%b%c%e%i%t%|&Q&X&_&i&v&z'p'z(|)T*b*f*k*z*}+j+q,S,Y,_-d-i-q-{.j.{.|.}/P/T/W/Y/h/q0U0`0s2S2[2l3P3R3S3]3d5X5g5q6e7R7s8X8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PQ&R!`R/i+RY%{!`&P&W+R+XS(c#v(iS+^&]+aS-T(d(kQ-U(eQ-[(lQ.d)|S/t+_+cS/x+d+eS/|+f2cQ1c-ZQ1e-]Q1f-^S2^.g2aS3g/w/yQ3j/zQ3k/{S4{2_2fS5O2d2eS5u3i3lQ5x3mS6j5P5QQ6l5RQ7U5wS7g6k6mR8P7hlgOSi{!k$W%_%b%c%e*f*k/T/WQ%g!OS&q!s8nQ)[$cQ*O${Q*P$|Q+l&bS+}&v9XS-h(|9bQ-x)]Q.f)}Q/[*mQ/]*nQ/e*|Q0Q+mS1m-i9fQ1v-yS1y-{9gQ3^/gQ3a/oQ3o0RQ4l1wQ5k3ZQ5n3`Q5r3fQ5y3pQ6}5lQ7Q5sQ7r7SQ8T7oR8W7t$W#]Y!]!l%s%w&r&y'P'Q'R'S'T'U'V'W'X'Y'Z']'`'d'n)g*v+P+Y+p,O,U,X,i-g/c/f0T0_0c0d0e0f0g0h0i0j0k0l0m0n0o0r0w1l1x3_3b3q3t3u3z3{4x5m5p5{6P6Q7P7b7q8V8a8j9uU(n#w&u0qT)Q$[,Z$W#[Y!]!l%s%w&r&y'P'Q'R'S'T'U'V'W'X'Y'Z']'`'d'n)g*v+P+Y+p,O,U,X,i-g/c/f0T0_0c0d0e0f0g0h0i0j0k0l0m0n0o0r0w1l1x3_3b3q3t3u3z3{4x5m5p5{6P6Q7P7b7q8V8a8j9uQ'_#]S)P$[,ZR-j)Q&YbORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#Y#_#b#h$W$j%W%Z%[%_%a%b%c%e%i%t%|&Q&X&_&i&v&z'p'z(|)T*b*f*k*z*}+j+q,S,Y,_-d-i-q-{.j.{.|.}/P/T/W/Y/h/q0U0`0s2S2[2l3P3R3S3]3d5X5g5q6e7R7s8X8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PQ%byQ%czQ%e|Q%f}R/S*iQ&^!fQ)R$^Q+i&aS-o)V)nS/}+g+hW1p-l-m-n.XS3n0O0PU4i1r1s1tU6_4h4r4sQ7_6`R7z7aT+`&]+aS+`&]+aT2`.g2aS&k!n/QQ,v(WQ-R(cS/s+^2^Q1R,wS1]-S-[U3h/x/|5OQ4Q0|S4`1d1fU5v3j3k6lQ6T4RQ6^4cR7V5xQ!uXS&j!n/QQ(}$VQ)Y$aQ)`$gQ+r&kQ,u(WQ-Q(cQ-V(fQ-w)ZQ.n*SS/r+^2^S1Q,v,wS1[-R-[Q1_-UQ1b-WQ2p.oW3e/s/x/|5OQ4P0|Q4T1RS4Y1]1fQ4a1eQ5[2qW5t3h3j3k6lS6S4Q4RQ6X4[Q6[4`Q6g4yQ6t5]S7T5v5xQ7X6TQ7Z6YQ7^6^Q7d6hQ7m6uQ7u7VQ7x7]Q7|7eQ8[7}Q8c8]Q8g8dQ9o9kQ9x9sR9y9t$nWORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#_#b$W$j%W%Z%[%_%a%b%c%e%i%t%|&X&_&i&v&z'z(|)T*b*f*k+j+q,S,Y-d-i-q-{.j.{.|.}/P/T/W/Y/q0U0`2S2l3P3R3S3d5X5g5q7R7s8XS!um!h!j9j#Y#h&Q'p*z*},_/h0s2[3]6e8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PR9o:O$nXORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#_#b$W$j%W%Z%[%_%a%b%c%e%i%t%|&X&_&i&v&z'z(|)T*b*f*k+j+q,S,Y-d-i-q-{.j.{.|.}/P/T/W/Y/q0U0`2S2l3P3R3S3d5X5g5q7R7s8XQ$Va!W$al!g$d$e$f&O&c&d&e(c)^)_+O+^+n+o-T-z/m/t/x0S1c3g3k5u7US$gm!hQ)Z$bQ*S%PW.o*T*U*V*WU2q.p.q.rQ4y2^S5]2r2sU6h4z4{5OQ6u5^U7e6i6j6lS7}7f7gS8]8O8PQ8d8^!j9k#Y#h&Q'p*z*},_/h0s2[3]6e8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PQ9s9}R9t:O$f[OSTij{!Q!U!Z!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#_#b$W$j%W%Z%_%a%b%c%e%i%t%|&X&_&i&v&z'z(|)T*b*f*k+j+q,S,Y-d-i-q-{.j.{.|.}/P/T/W/Y/q0U0`2S2l3P3R3S3d5X5g5q7R7s8XU!eRU!^v$spq!o!r$U$q&Y&m&p)o)p)q*d*{+[+t+v/^0WQ*a%[!h9l#Y#h'p*z*},_/h0s2[3]6e8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PR9n&QS&U!`$rR/k+U$lZORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#_#b$W$j%W%Z%_%a%b%c%e%i%t%|&X&_&i&v&z'z(|)T*b*f*k+j+q,S,Y-d-i-q-{.j.{.|.}/P/T/W/Y/q0U0`2S2l3P3R3S3d5X5g5q7R7s8X!j'^#Y#h&Q'p*z*},_/h0s2[3]6e8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PR*`%[!h#SY!]$[%s%w&r&y'W'X'Y'Z'`'d)g*v+Y+p,O,U,i-g0T0_0o1l1x3b3q3t5p7P7q8V8a8j!R8u']'n+P,Z/c/f0c0k0l0m0n0r0w3_3u3z3{4x5m5{6P6Q7b9u!d#UY!]$[%s%w&r&y'Y'Z'`'d)g*v+Y+p,O,U,i-g0T0_0o1l1x3b3q3t5p7P7q8V8a8j}8w']'n+P,Z/c/f0c0m0n0r0w3_3u3z3{4x5m5{6P6Q7b9u!`#YY!]$[%s%w&r&y'`'d)g*v+Y+p,O,U,i-g0T0_0o1l1x3b3q3t5p7P7q8V8a8jl(S#q&w({,q,y-_-`0]1k4O4d9p9z9{x:P']'n+P,Z/c/f0c0r0w3_3u3z3{4x5m5{6P6Q7b9u!`:S&s'b(V(]+h+|,f,}-k-n.]._0P0[1S1W1t2V2X2i3s4V4]4f4k4s5W5z6V6]6rZ:T0p3y5|7W7v&YbORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#Y#_#b#h$W$j%W%Z%[%_%a%b%c%e%i%t%|&Q&X&_&i&v&z'p'z(|)T*b*f*k*z*}+j+q,S,Y,_-d-i-q-{.j.{.|.}/P/T/W/Y/h/q0U0`0s2S2[2l3P3R3S3]3d5X5g5q6e7R7s8X8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PS#i_#jR0t,^&a^ORSTU_ij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#Y#_#b#h#j$W$j%W%Z%[%_%a%b%c%e%i%t%|&Q&X&_&i&v&z'p'z(|)T*b*f*k*z*}+j+q,S,Y,^,_-d-i-q-{.j.{.|.}/P/T/W/Y/h/q0U0`0s2S2[2l3P3R3S3]3d5X5g5q6e7R7s8X8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PS#d]#kT'g#f'kT#e]#kT'i#f'k&a_ORSTU_ij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#Y#_#b#h#j$W$j%W%Z%[%_%a%b%c%e%i%t%|&Q&X&_&i&v&z'p'z(|)T*b*f*k*z*}+j+q,S,Y,^,_-d-i-q-{.j.{.|.}/P/T/W/Y/h/q0U0`0s2S2[2l3P3R3S3]3d5X5g5q6e7R7s8X8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:PT#i_#jQ#l_R'r#j$naORSTUij{!Q!U!Z!^!k!s!w!y!|!}#O#P#Q#R#S#T#U#V#W#_#b$W$j%W%Z%[%_%a%b%c%e%i%t%|&X&_&i&v&z'z(|)T*b*f*k+j+q,S,Y-d-i-q-{.j.{.|.}/P/T/W/Y/q0U0`2S2l3P3R3S3d5X5g5q7R7s8X!k9}#Y#h&Q'p*z*},_/h0s2[3]6e8i8k8n8o8p8q8r8s8t8u8v8w8x8y8z8}9W9X9Z9b9c9f9g:P#RcOSUi{!Q!U!k!y#h$W%W%Z%[%_%a%b%c%e%i%|&_'p)T*b*f*k+j,_-d-q.j.{.|.}/P/T/W/Y0s2S2l3P3R3S5X5gt#w`!v$O$P$T(P(R(S(Z(o(p,P-f0{1g9|:S:T!|&u!t#a#s#u&`'v(_)S)U)X)u)x+k,z,|-p-r.^.a.i.k1U1`1n1q1u2T2k2m4U4b4j5T5Y6d6p7k9Q9S9U9[9^9`9d9hQ(y$Rc0q8|9R9T9V9]9_9a9e9it#t`!v$O$P$T(P(R(S(Z(o(p,P-f0{1g9|:S:TS(f#v(iQ(z$SQ-W(g!|9q!t#a#s#u&`'v(_)S)U)X)u)x+k,z,|-p-r.^.a.i.k1U1`1n1q1u2T2k2m4U4b4j5T5Y6d6p7k9Q9S9U9[9^9`9d9hb9r8|9R9T9V9]9_9a9e9iQ9v:QR9w:RleOSi{!k$W%_%b%c%e*f*k/T/WQ(^#uQ*r%lQ*s%nR1T,z$U#x`!t!v#a#s#u$O$P$T&`'v(P(R(S(Z(_(o(p)S)U)X)u)x+k,P,z,|-f-p-r.^.a.i.k0{1U1`1g1n1q1u2T2k2m4U4b4j5T5Y6d6p7k8|9Q9R9S9T9U9V9[9]9^9_9`9a9d9e9h9i9|:S:TQ)w$yQ.`)yQ2W._R4u2XT(h#v(iS(h#v(iT2`.g2aQ)Y$aQ-V(fQ-w)ZQ.n*SQ2p.oQ5[2qQ6g4yQ6t5]Q7d6hQ7m6uQ7|7eQ8[7}Q8c8]R8g8dl(P#q&w({,q,y-_-`0]1k4O4d9p9z9{!`9[&s'b(V(]+h+|,f,}-k-n.]._0P0[1S1W1t2V2X2i3s4V4]4f4k4s5W5z6V6]6rZ9]0p3y5|7W7vn(R#q&w({,o,q,y-_-`0]1k4O4d9p9z9{!b9^&s'b(V(]+h+|,f,}-k-n.]._0P0Y0[1S1W1t2V2X2i3s4V4]4f4k4s5W5z6V6]6r]9_0p3y5|5}7W7vpdOSiw{!k$W%U%_%b%c%e*f*k/T/WQ%RvR*b%[pdOSiw{!k$W%U%_%b%c%e*f*k/T/WR%RvQ){$zR.[)tqdOSiw{!k$W%U%_%b%c%e*f*k/T/WQ.h*QS2j.l.mW5S2g2h2i2nU6o5U5V5WU7i6n6q6rQ8Q7jR8_8RQ%YwR*[%UR2w.uR6w5_S$in$nR.Q)eQ%_xR*f%`R*l%fT/U*k/WQiOQ!kST$Zi!kQ'x#pR,g'xQ!WQR%q!WQ![RU%u![%v*wQ%v!]R*w%wQ+S&RR/j+SQ,Q&wR0^,QQ,T&yS0a,T0bR0b,UQ+a&]R/u+aQ&Z!cQ*x%xT+]&Z*xQ+V&UR/l+VQ&n!pQ+s&lU+w&n+s0XR0X+xQ'k#fR,`'kQ#j_R'q#jQ#`YU'a#`*u8{Q*u8jR8{'nQ,t(WW1O,t1P4S6UU1P,u,v,wS4S1Q1RR6U4T#q'}#q&s&w'b(V(](v(w({+h+z+{+|,f,o,p,q,y,}-_-`-k-n.]._0P0Y0Z0[0]0p1S1W1k1t2V2X2i3s3w3x3y4O4V4]4d4f4k4s5W5z5|5}6O6V6]6r7W7v9p9z9{Q,{(]U1V,{1X4WQ1X,}R4W1WQ(i#vR-X(iQ(r#zR-b(rQ1o-kR4g1oQ)r$tR.Z)rQ2Z.bS4w2Z6fR6f4xQ)}${R.e)}Q2a.gR4|2aQ.t*XS2u.t5`R5`2wQ-})bS1|-}4nR4n1}Q)f$iR.R)fQ/W*kR3V/WWhOSi!kQ%d{Q)O$WQ*e%_Q*g%bQ*h%cQ*j%eQ/R*fS/U*k/WR3U/TQ$YfQ%h!PQ%k!RQ%m!SQ%o!TQ)m$oQ)s$uQ*Z%YQ*p%jS.w*[*_Q/_*oQ/`*rQ/a*sS/p+^2^Q1Y-PQ1Z-QQ1a-VQ2P.UQ2U.]Q2o.nQ2y.yQ3T/SY3c/r/s/x/|5OQ4X1[Q4Z1^Q4^1bQ4q2RQ4t2VQ5Z2pQ5a2x[5o3b3e3h3j3k6lQ6W4YQ6Z4_Q6b4oQ6s5[Q6x5bW7O5p5t5v5xQ7Y6XQ7[6[Q7`6cQ7c6gQ7l6tU7p7P7T7VQ7w7ZQ7y7^Q7{7dQ8S7mS8U7q7uQ8Y7xQ8Z7|Q8`8VQ8b8[Q8e8aQ8f8cR8h8gQ$clQ&b!gU)]$d$e$fQ*|&OU+m&c&d&eQ-P(cS-y)^)_Q/g+OQ/o+^S0R+n+oQ1^-TQ1w-zQ3`/mS3f/t/xQ3p0SQ4_1cS5s3g3kQ7S5uR7t7US#r`9|R)W$`U#z`$`9|R-a(qQ#q`S&s!t)XQ&w!vQ'b#aQ(V#sQ(]#uQ(v$OQ(w$PQ({$TQ+h&`Q+z9QQ+{9SQ+|9UQ,f'vQ,o(PQ,p(RQ,q(SQ,y(ZQ,}(_Q-_(oQ-`(pd-k)S-p.i1q2k4j5T6d6p7kQ-n)UQ.])uQ._)xQ0P+kQ0Y9[Q0Z9^Q0[9`Q0],PQ0p8|Q1S,zQ1W,|Q1k-fQ1t-rQ2V.^Q2X.aQ2i.kQ3s9dQ3w9RQ3x9TQ3y9VQ4O0{Q4V1UQ4]1`Q4d1gQ4f1nQ4k1uQ4s2TQ5W2mQ5z9hQ5|9aQ5}9]Q6O9_Q6V4UQ6]4bQ6r5YQ7W9eQ7v9iQ9p9|Q9z:SR9{:TT'w#p'xlfOSi{!k$W%_%b%c%e*f*k/T/WS!mU%aQ%j!QQ%p!UQ'O!yQ'o#hS*_%W%ZQ*c%[Q*o%iQ*y%|Q+g&_Q,d'pQ-m)TQ/O*bQ0O+jQ0v,_Q1i-dQ1s-qQ2h.jQ2{.{Q2|.|Q3O.}Q3Q/PQ3X/YQ3|0sQ4r2SQ5V2lQ5f3PQ5h3RQ5i3SQ6q5XR6z5g!vYOSUi{!Q!k!y$W%W%Z%[%_%a%b%c%e%i%|&_)T*b*f*k+j-d-q.j.{.|.}/P/T/W/Y2S2l3P3R3S5X5gQ!]RQ!lTQ$[jQ%s!ZQ%w!^Q&r!sQ&y!wQ'P!|Q'Q!}Q'R#OQ'S#PQ'T#QQ'U#RQ'V#SQ'W#TQ'X#UQ'Y#VQ'Z#WQ']#YQ'`#_Q'd#bW'n#h'p,_0sQ)g$jQ*v%tS+P&Q/hQ+Y&XQ+p&iQ,O&vQ,U&zQ,X8iQ,Z8kQ,i'zQ-g(|Q/c*zQ/f*}Q0T+qQ0_,SQ0c8nQ0d8oQ0e8pQ0f8qQ0g8rQ0h8sQ0i8tQ0j8uQ0k8vQ0l8wQ0m8xQ0n8yQ0o,YQ0r8}Q0w8zQ1l-iQ1x-{Q3_9WQ3b/qQ3q0UQ3t0`Q3u9XQ3z9ZQ3{9bQ4x2[Q5m3]Q5p3dQ5{9cQ6P9fQ6Q9gQ7P5qQ7b6eQ7q7RQ8V7sQ8a8XQ8j!UR9u:PT!VQ!WR!_RR&S!`S&O!`+RS+O&P&WR/m+XR&x!vR&{!wT!qU$US!pU$UU$tpq*dS&l!o!rQ+u&mQ+x&pQ.Y)qS0V+t+vR3r0W[!bR!^$q&Y)o+[h!nUpq!o!r$U&m&p)q+t+v0WQ/Q*dQ/d*{Q3[/^T9m&Q)pT!dR$qS!cR$qS%x!^)oS+Q&Q)pQ+Z&YR/n+[T&V!`$rQ#f]R't#kT'j#f'kR0u,^T(Y#s(bR(`#uQ-l)SQ1r-pQ2g.iQ4h1qQ5U2kQ6`4jQ6n5TQ7a6dQ7j6pR8R7klgOSi{!k$W%_%b%c%e*f*k/T/WQ%XwR*Z%UV$upq*dR.c)zR*Y%SQ$mnR)l$nR)c$hT%]x%`T%^x%`T/V*k/W",
  nodeNames: "⚠ ArithOp ArithOp extends LineComment BlockComment Script ExportDeclaration export Star as VariableName from String ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyNameDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract PropertyDeclaration readonly Optional TypeAnnotation Equals FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp in instanceof const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplatExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try catch finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement",
  maxTerm: 325,
  context: trackNewline,
  nodeProps: [
    [stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.NodeProp.group, -26,7,14,16,54,176,180,183,184,186,189,192,203,205,211,213,215,217,220,226,230,232,234,236,238,240,241,"Statement",-30,11,13,23,26,27,38,39,40,41,43,48,56,64,70,71,84,85,94,95,111,114,116,117,118,119,121,122,140,141,143,"Expression",-22,22,24,28,29,31,144,146,148,149,151,152,153,155,156,157,159,160,161,170,172,174,175,"Type",-2,75,79,"ClassItem"],
    [stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.NodeProp.closedBy, 37,"]",47,"}",62,")",124,"JSXSelfCloseEndTag JSXEndTag",138,"JSXEndTag"],
    [stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.NodeProp.openedBy, 42,"[",46,"{",61,"(",123,"JSXStartTag",133,"JSXStartTag JSXStartCloseTag"]
  ],
  skippedNodes: [0,4,5],
  repeatNodeCount: 28,
  tokenData: "!As~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst%Ttu0huv2xvw3mwx4kxy;Ryz;cz{;s{|<s|}=W}!O<s!O!P=h!P!QAt!Q!R!.d!R![!/y![!]!5i!]!^!5{!^!_!6]!_!`!7Y!`!a!8Q!a!b!9w!b!c%T!c!}0h!}#O!;Y#O#P%T#P#Q!;j#Q#R!;z#R#S0h#S#T!<_#T#o0h#o#p!<o#p#q!<t#q#r!=[#r#s!=n#s$f%T$f$g%c$g#BY0h#BY#BZ!>O#BZ$IS0h$IS$I_!>O$I_$I|0h$I|$I}!@g$I}$JO!@g$JO$JT0h$JT$JU!>O$JU$KV0h$KV$KW!>O$KW&FU0h&FU&FV!>O&FV?HT0h?HT?HU!>O?HU~0hW%YR#|WO!^%T!_#o%T#p~%T,T%jg#|W'P+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR#|W'Q+{O!^%T!_#o%T#p~%T$T'jS#|W!f#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#]#v#|WO!^%T!_!`(Z!`#o%T#p~%T$O(bR#]#v#|WO!^%T!_#o%T#p~%T'u(rZ#|W]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV#|WOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR#w&j#|WO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO#w&j'u*{R#w&j#|W]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO#w&j]!R'm+zROr+Urs,Ts~+U'm,[U#w&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV#|WOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ#w&j#|W]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ#|W]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR#|W]!RO!^%T!_#o%T#p~%T!Z0XT#|WO!^.x!^!_,n!_#o.x#o#p,n#p~.x&i0s_#|W#rS'S%k'`pOt%Ttu0hu}%T}!O1r!O!Q%T!Q![0h![!^%T!_!c%T!c!}0h!}#R%T#R#S0h#S#T%T#T#o0h#p$g%T$g~0h[1y_#|W#rSOt%Ttu1ru}%T}!O1r!O!Q%T!Q![1r![!^%T!_!c%T!c!}1r!}#R%T#R#S1r#S#T%T#T#o1r#p$g%T$g~1r$O3PS#U#v#|WO!^%T!_!`3]!`#o%T#p~%T$O3dR#|W#g#vO!^%T!_#o%T#p~%T%r3tU'q%j#|WOv%Tvw4Ww!^%T!_!`3]!`#o%T#p~%T$O4_S#|W#a#vO!^%T!_!`3]!`#o%T#p~%T'u4rZ#|W]!ROY4kYZ5eZw4kwx*rx!^4k!^!_6]!_#O4k#O#P8]#P#o4k#o#p6]#p~4k&r5jV#|WOw5ewx*Px!^5e!^!_6P!_#o5e#o#p6P#p~5e&j6SROw6Pwx*mx~6P'm6bV]!ROY6]YZ6PZw6]wx+px#O6]#O#P6w#P~6]'m6zROw6]wx7Tx~6]'m7[U#w&j]!ROY7nZw7nwx-Vx#O7n#O#P8V#P~7n!R7sU]!ROY7nZw7nwx-Vx#O7n#O#P8V#P~7n!R8YPO~7n'u8bV#|WOw4kwx8wx!^4k!^!_6]!_#o4k#o#p6]#p~4k'u9QZ#w&j#|W]!ROY9sYZ%TZw9swx/rx!^9s!^!_7n!_#O9s#O#P:m#P#o9s#o#p7n#p~9s!Z9zZ#|W]!ROY9sYZ%TZw9swx/rx!^9s!^!_7n!_#O9s#O#P:m#P#o9s#o#p7n#p~9s!Z:rT#|WO!^9s!^!_7n!_#o9s#o#p7n#p~9s%V;YR!`$}#|WO!^%T!_#o%T#p~%TZ;jR!_R#|WO!^%T!_#o%T#p~%T%R;|U'T!R#V#v#|WOz%Tz{<`{!^%T!_!`3]!`#o%T#p~%T$O<gS#S#v#|WO!^%T!_!`3]!`#o%T#p~%T$u<zSi$m#|WO!^%T!_!`3]!`#o%T#p~%T&i=_R}&a#|WO!^%T!_#o%T#p~%T&i=oVr%n#|WO!O%T!O!P>U!P!Q%T!Q![>z![!^%T!_#o%T#p~%Ty>ZT#|WO!O%T!O!P>j!P!^%T!_#o%T#p~%Ty>qR|q#|WO!^%T!_#o%T#p~%Ty?RZ#|WjqO!Q%T!Q![>z![!^%T!_!g%T!g!h?t!h#R%T#R#S>z#S#X%T#X#Y?t#Y#o%T#p~%Ty?yZ#|WO{%T{|@l|}%T}!O@l!O!Q%T!Q![AW![!^%T!_#R%T#R#SAW#S#o%T#p~%Ty@qV#|WO!Q%T!Q![AW![!^%T!_#R%T#R#SAW#S#o%T#p~%TyA_V#|WjqO!Q%T!Q![AW![!^%T!_#R%T#R#SAW#S#o%T#p~%T,TA{`#|W#T#vOYB}YZ%TZzB}z{Ht{!PB}!P!Q!+m!Q!^B}!^!_EQ!_!`!,f!`!a!-e!a!}B}!}#OFy#O#PHY#P#oB}#o#pEQ#p~B}XCU[#|WyPOYB}YZ%TZ!PB}!P!QCz!Q!^B}!^!_EQ!_!}B}!}#OFy#O#PHY#P#oB}#o#pEQ#p~B}XDR_#|WyPO!^%T!_#Z%T#Z#[Cz#[#]%T#]#^Cz#^#a%T#a#bCz#b#g%T#g#hCz#h#i%T#i#jCz#j#m%T#m#nCz#n#o%T#p~%TPEVVyPOYEQZ!PEQ!P!QEl!Q!}EQ!}#OFT#O#PFp#P~EQPEqUyP#Z#[El#]#^El#a#bEl#g#hEl#i#jEl#m#nElPFWTOYFTZ#OFT#O#PFg#P#QEQ#Q~FTPFjQOYFTZ~FTPFsQOYEQZ~EQXGOY#|WOYFyYZ%TZ!^Fy!^!_FT!_#OFy#O#PGn#P#QB}#Q#oFy#o#pFT#p~FyXGsV#|WOYFyYZ%TZ!^Fy!^!_FT!_#oFy#o#pFT#p~FyXH_V#|WOYB}YZ%TZ!^B}!^!_EQ!_#oB}#o#pEQ#p~B},TH{^#|WyPOYHtYZIwZzHtz{LY{!PHt!P!Q!*Z!Q!^Ht!^!_Ne!_!}Ht!}#O!&U#O#P!)i#P#oHt#o#pNe#p~Ht,TI|V#|WOzIwz{Jc{!^Iw!^!_Ke!_#oIw#o#pKe#p~Iw,TJhX#|WOzIwz{Jc{!PIw!P!QKT!Q!^Iw!^!_Ke!_#oIw#o#pKe#p~Iw,TK[R#|WT+{O!^%T!_#o%T#p~%T+{KhROzKez{Kq{~Ke+{KtTOzKez{Kq{!PKe!P!QLT!Q~Ke+{LYOT+{,TLa^#|WyPOYHtYZIwZzHtz{LY{!PHt!P!QM]!Q!^Ht!^!_Ne!_!}Ht!}#O!&U#O#P!)i#P#oHt#o#pNe#p~Ht,TMf_#|WT+{yPO!^%T!_#Z%T#Z#[Cz#[#]%T#]#^Cz#^#a%T#a#bCz#b#g%T#g#hCz#h#i%T#i#jCz#j#m%T#m#nCz#n#o%T#p~%T+{NjYyPOYNeYZKeZzNez{! Y{!PNe!P!Q!%Q!Q!}Ne!}#O!!h#O#P!$n#P~Ne+{! _YyPOYNeYZKeZzNez{! Y{!PNe!P!Q! }!Q!}Ne!}#O!!h#O#P!$n#P~Ne+{!!UUT+{yP#Z#[El#]#^El#a#bEl#g#hEl#i#jEl#m#nEl+{!!kWOY!!hYZKeZz!!hz{!#T{#O!!h#O#P!$[#P#QNe#Q~!!h+{!#WYOY!!hYZKeZz!!hz{!#T{!P!!h!P!Q!#v!Q#O!!h#O#P!$[#P#QNe#Q~!!h+{!#{TT+{OYFTZ#OFT#O#PFg#P#QEQ#Q~FT+{!$_TOY!!hYZKeZz!!hz{!#T{~!!h+{!$qTOYNeYZKeZzNez{! Y{~Ne+{!%V_yPOzKez{Kq{#ZKe#Z#[!%Q#[#]Ke#]#^!%Q#^#aKe#a#b!%Q#b#gKe#g#h!%Q#h#iKe#i#j!%Q#j#mKe#m#n!%Q#n~Ke,T!&Z[#|WOY!&UYZIwZz!&Uz{!'P{!^!&U!^!_!!h!_#O!&U#O#P!(w#P#QHt#Q#o!&U#o#p!!h#p~!&U,T!'U^#|WOY!&UYZIwZz!&Uz{!'P{!P!&U!P!Q!(Q!Q!^!&U!^!_!!h!_#O!&U#O#P!(w#P#QHt#Q#o!&U#o#p!!h#p~!&U,T!(XY#|WT+{OYFyYZ%TZ!^Fy!^!_FT!_#OFy#O#PGn#P#QB}#Q#oFy#o#pFT#p~Fy,T!(|X#|WOY!&UYZIwZz!&Uz{!'P{!^!&U!^!_!!h!_#o!&U#o#p!!h#p~!&U,T!)nX#|WOYHtYZIwZzHtz{LY{!^Ht!^!_Ne!_#oHt#o#pNe#p~Ht,T!*bc#|WyPOzIwz{Jc{!^Iw!^!_Ke!_#ZIw#Z#[!*Z#[#]Iw#]#^!*Z#^#aIw#a#b!*Z#b#gIw#g#h!*Z#h#iIw#i#j!*Z#j#mIw#m#n!*Z#n#oIw#o#pKe#p~Iw,T!+tV#|WS+{OY!+mYZ%TZ!^!+m!^!_!,Z!_#o!+m#o#p!,Z#p~!+m+{!,`QS+{OY!,ZZ~!,Z$P!,o[#|W#g#vyPOYB}YZ%TZ!PB}!P!QCz!Q!^B}!^!_EQ!_!}B}!}#OFy#O#PHY#P#oB}#o#pEQ#p~B}]!-n[#oS#|WyPOYB}YZ%TZ!PB}!P!QCz!Q!^B}!^!_EQ!_!}B}!}#OFy#O#PHY#P#oB}#o#pEQ#p~B}y!.kd#|WjqO!O%T!O!P>z!P!Q%T!Q![!/y![!^%T!_!g%T!g!h?t!h#R%T#R#S!/y#S#U%T#U#V!1a#V#X%T#X#Y?t#Y#b%T#b#c!1P#c#d!2o#d#l%T#l#m!3w#m#o%T#p~%Ty!0Q_#|WjqO!O%T!O!P>z!P!Q%T!Q![!/y![!^%T!_!g%T!g!h?t!h#R%T#R#S!/y#S#X%T#X#Y?t#Y#b%T#b#c!1P#c#o%T#p~%Ty!1WR#|WjqO!^%T!_#o%T#p~%Ty!1fW#|WO!Q%T!Q!R!2O!R!S!2O!S!^%T!_#R%T#R#S!2O#S#o%T#p~%Ty!2VW#|WjqO!Q%T!Q!R!2O!R!S!2O!S!^%T!_#R%T#R#S!2O#S#o%T#p~%Ty!2tV#|WO!Q%T!Q!Y!3Z!Y!^%T!_#R%T#R#S!3Z#S#o%T#p~%Ty!3bV#|WjqO!Q%T!Q!Y!3Z!Y!^%T!_#R%T#R#S!3Z#S#o%T#p~%Ty!3|Z#|WO!Q%T!Q![!4o![!^%T!_!c%T!c!i!4o!i#R%T#R#S!4o#S#T%T#T#Z!4o#Z#o%T#p~%Ty!4vZ#|WjqO!Q%T!Q![!4o![!^%T!_!c%T!c!i!4o!i#R%T#R#S!4o#S#T%T#T#Z!4o#Z#o%T#p~%T%w!5rR!XV#|W#e%hO!^%T!_#o%T#p~%T!P!6SR^w#|WO!^%T!_#o%T#p~%T+c!6hR'Xd!]%Y#p&s'uP!P!Q!6q!^!_!6v!_!`!7TW!6vO$OW#v!6{P#W#v!_!`!7O#v!7TO#g#v#v!7YO#X#v%w!7aT!u%o#|WO!^%T!_!`'v!`!a!7p!a#o%T#p~%T$P!7wR#P#w#|WO!^%T!_#o%T#p~%T%w!8]T'W!s#X#v#yS#|WO!^%T!_!`!8l!`!a!8|!a#o%T#p~%T$O!8sR#X#v#|WO!^%T!_#o%T#p~%T$O!9TT#W#v#|WO!^%T!_!`3]!`!a!9d!a#o%T#p~%T$O!9kS#W#v#|WO!^%T!_!`3]!`#o%T#p~%T%w!:OV'i%o#|WO!O%T!O!P!:e!P!^%T!_!a%T!a!b!:u!b#o%T#p~%T$`!:lRs$W#|WO!^%T!_#o%T#p~%T$O!:|S#|W#b#vO!^%T!_!`3]!`#o%T#p~%T&e!;aRu&]#|WO!^%T!_#o%T#p~%TZ!;qRzR#|WO!^%T!_#o%T#p~%T$O!<RS#_#v#|WO!^%T!_!`3]!`#o%T#p~%T$P!<fR#|W']#wO!^%T!_#o%T#p~%T~!<tO!P~%r!<{T'p%j#|WO!^%T!_!`3]!`#o%T#p#q!:u#q~%T$u!=eR!O$k#|W'_QO!^%T!_#o%T#p~%TX!=uR!gP#|WO!^%T!_#o%T#p~%T,T!>]r#|W'P+{#rS'S%k'`pOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu0hu}%T}!O1r!O!Q%T!Q![0h![!^%T!_!c%T!c!}0h!}#R%T#R#S0h#S#T%T#T#o0h#p$f%T$f$g%c$g#BY0h#BY#BZ!>O#BZ$IS0h$IS$I_!>O$I_$JT0h$JT$JU!>O$JU$KV0h$KV$KW!>O$KW&FU0h&FU&FV!>O&FV?HT0h?HT?HU!>O?HU~0h,T!@t_#|W'Q+{#rS'S%k'`pOt%Ttu0hu}%T}!O1r!O!Q%T!Q![0h![!^%T!_!c%T!c!}0h!}#R%T#R#S0h#S#T%T#T#o0h#p$g%T$g~0h",
  tokenizers: [noSemicolon, incdecToken, template, 0, 1, 2, 3, 4, 5, 6, 7, 8, insertSemicolon],
  topRules: {"Script":[0,6]},
  dialects: {jsx: 11129, ts: 11131},
  dynamicPrecedences: {"141":1,"168":1},
  specialized: [{term: 280, get: (value, stack) => (tsExtends(value, stack) << 1) | 1},{term: 280, get: value => spec_identifier[value] || -1},{term: 292, get: value => spec_word[value] || -1},{term: 59, get: value => spec_LessThan[value] || -1}],
  tokenPrec: 11151
});

/**
A collection of JavaScript-related
[snippets](https://codemirror.net/6/docs/ref/#autocomplete.snippet).
*/
const snippets = [
    /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.snippetCompletion("function ${name}(${params}) {\n\t${}\n}", {
        label: "function",
        detail: "definition",
        type: "keyword"
    }),
    /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.snippetCompletion("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}", {
        label: "for",
        detail: "loop",
        type: "keyword"
    }),
    /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.snippetCompletion("for (let ${name} of ${collection}) {\n\t${}\n}", {
        label: "for",
        detail: "of loop",
        type: "keyword"
    }),
    /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.snippetCompletion("try {\n\t${}\n} catch (${error}) {\n\t${}\n}", {
        label: "try",
        detail: "block",
        type: "keyword"
    }),
    /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.snippetCompletion("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}", {
        label: "class",
        detail: "definition",
        type: "keyword"
    }),
    /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.snippetCompletion("import {${names}} from \"${module}\"\n${}", {
        label: "import",
        detail: "named",
        type: "keyword"
    }),
    /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.snippetCompletion("import ${name} from \"${module}\"\n${}", {
        label: "import",
        detail: "default",
        type: "keyword"
    })
];

/**
A language provider based on the [Lezer JavaScript
parser](https://github.com/lezer-parser/javascript), extended with
highlighting and indentation information.
*/
const javascriptLanguage = /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.LRLanguage.define({
    parser: /*@__PURE__*/parser.configure({
        props: [
            /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.indentNodeProp.add({
                IfStatement: /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.continuedIndent({ except: /^\s*({|else\b)/ }),
                TryStatement: /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.continuedIndent({ except: /^\s*({|catch|finally)\b/ }),
                LabeledStatement: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.flatIndent,
                SwitchBody: context => {
                    let after = context.textAfter, closed = /^\s*\}/.test(after), isCase = /^\s*(case|default)\b/.test(after);
                    return context.baseIndent + (closed ? 0 : isCase ? 1 : 2) * context.unit;
                },
                Block: /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.delimitedIndent({ closing: "}" }),
                ArrowFunction: cx => cx.baseIndent + cx.unit,
                "TemplateString BlockComment": () => -1,
                "Statement Property": /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.continuedIndent({ except: /^{/ }),
                JSXElement(context) {
                    let closed = /^\s*<\//.test(context.textAfter);
                    return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);
                },
                JSXEscape(context) {
                    let closed = /\s*\}/.test(context.textAfter);
                    return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);
                },
                "JSXOpenTag JSXSelfClosingTag"(context) {
                    return context.column(context.node.from) + context.unit;
                }
            }),
            /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.foldNodeProp.add({
                "Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.foldInside,
                BlockComment(tree) { return { from: tree.from + 2, to: tree.to - 2 }; }
            }),
            /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.styleTags({
                "get set async static": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.modifier,
                "for while do if else switch try catch finally return throw break continue default case": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.controlKeyword,
                "in of await yield void typeof delete instanceof": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.operatorKeyword,
                "export import let var const function class extends": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definitionKeyword,
                "with debugger from as new": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.keyword,
                TemplateString: /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.special(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.string),
                Super: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.atom,
                BooleanLiteral: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.bool,
                this: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.self,
                null: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.null,
                Star: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.modifier,
                VariableName: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.variableName,
                "CallExpression/VariableName": /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.function(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.variableName),
                VariableDefinition: /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definition(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.variableName),
                Label: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.labelName,
                PropertyName: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.propertyName,
                "CallExpression/MemberExpression/PropertyName": /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.function(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.propertyName),
                "FunctionDeclaration/VariableDefinition": /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.function(/*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definition(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.variableName)),
                "ClassDeclaration/VariableDefinition": /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definition(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.className),
                PropertyNameDefinition: /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definition(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.propertyName),
                UpdateOp: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.updateOperator,
                LineComment: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.lineComment,
                BlockComment: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.blockComment,
                Number: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.number,
                String: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.string,
                ArithOp: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.arithmeticOperator,
                LogicOp: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.logicOperator,
                BitOp: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.bitwiseOperator,
                CompareOp: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.compareOperator,
                RegExp: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.regexp,
                Equals: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definitionOperator,
                "Arrow : Spread": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.punctuation,
                "( )": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.paren,
                "[ ]": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.squareBracket,
                "{ }": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.brace,
                ".": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.derefOperator,
                ", ;": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.separator,
                TypeName: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.typeName,
                TypeDefinition: /*@__PURE__*/stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definition(stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.typeName),
                "type enum interface implements namespace module declare": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.definitionKeyword,
                "abstract global privacy readonly": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.modifier,
                "is keyof unique infer": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.operatorKeyword,
                JSXAttributeValue: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.string,
                JSXText: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.content,
                "JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.angleBracket,
                "JSXIdentifier JSXNameSpacedName": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.tagName,
                "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.tags.propertyName
            })
        ]
    }),
    languageData: {
        closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] },
        commentTokens: { line: "//", block: { open: "/*", close: "*/" } },
        indentOnInput: /^\s*(?:case |default:|\{|\}|<\/)$/,
        wordChars: "$"
    }
});
/**
A language provider for TypeScript.
*/
const typescriptLanguage = /*@__PURE__*/javascriptLanguage.configure({ dialect: "ts" });
/**
Language provider for JSX.
*/
const jsxLanguage = /*@__PURE__*/javascriptLanguage.configure({ dialect: "jsx" });
/**
Language provider for JSX + TypeScript.
*/
const tsxLanguage = /*@__PURE__*/javascriptLanguage.configure({ dialect: "jsx ts" });
/**
JavaScript support. Includes [snippet](https://codemirror.net/6/docs/ref/#lang-javascript.snippets)
completion.
*/
function javascript(config = {}) {
    let lang = config.jsx ? (config.typescript ? tsxLanguage : jsxLanguage)
        : config.typescript ? typescriptLanguage : javascriptLanguage;
    return new stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.LanguageSupport(lang, javascriptLanguage.data.of({
        autocomplete: stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.ifNotIn(["LineComment", "BlockComment", "String"], stencilaActionMenu_stencilaEditor_stencilaNodeList_entry.completeFromList(snippets))
    }));
}

/**
Connects an [ESLint](https://eslint.org/) linter to CodeMirror's
[lint](https://codemirror.net/6/docs/ref/#lint) integration. `eslint` should be an instance of the
[`Linter`](https://eslint.org/docs/developer-guide/nodejs-api#linter)
class, and `config` an optional ESLint configuration. The return
value of this function can be passed to [`linter`](https://codemirror.net/6/docs/ref/#lint.linter)
to create a JavaScript linting extension.

Note that ESLint targets node, and is tricky to run in the
browser. The [eslint4b](https://github.com/mysticatea/eslint4b)
and
[eslint4b-prebuilt](https://github.com/marijnh/eslint4b-prebuilt/)
packages may help with that.
*/
function esLint(eslint, config) {
    if (!config) {
        config = {
            parserOptions: { ecmaVersion: 2019, sourceType: "module" },
            env: { browser: true, node: true, es6: true, es2015: true, es2017: true, es2020: true },
            rules: {}
        };
        eslint.getRules().forEach((desc, name) => {
            if (desc.meta.docs.recommended)
                config.rules[name] = 2;
        });
    }
    return (view) => {
        let { state } = view, found = [];
        for (let { from, to } of javascriptLanguage.findRegions(state)) {
            let fromLine = state.doc.lineAt(from), offset = { line: fromLine.number - 1, col: from - fromLine.from, pos: from };
            for (let d of eslint.verify(state.sliceDoc(from, to), config))
                found.push(translateDiagnostic(d, state.doc, offset));
        }
        return found;
    };
}
function mapPos(line, col, doc, offset) {
    return doc.line(line + offset.line).from + col + (line == 1 ? offset.col - 1 : -1);
}
function translateDiagnostic(input, doc, offset) {
    let start = mapPos(input.line, input.column, doc, offset);
    let result = {
        from: start,
        to: input.endLine != null && input.endColumn != 1 ? mapPos(input.endLine, input.endColumn, doc, offset) : start,
        message: input.message,
        source: input.ruleId ? "jshint:" + input.ruleId : "jshint",
        severity: input.severity == 1 ? "warning" : "error",
    };
    if (input.fix) {
        let { range, text } = input.fix, from = range[0] + offset.pos - start, to = range[1] + offset.pos - start;
        result.actions = [{
                name: "fix",
                apply(view, start) {
                    view.dispatch({ changes: { from: start + from, to: start + to, insert: text }, scrollIntoView: true });
                }
            }];
    }
    return result;
}

exports.esLint = esLint;
exports.javascript = javascript;
exports.javascriptLanguage = javascriptLanguage;
exports.jsxLanguage = jsxLanguage;
exports.snippets = snippets;
exports.tsxLanguage = tsxLanguage;
exports.typescriptLanguage = typescriptLanguage;
