!function(){"use strict";var n,e,t,o,r,i,u,a,c,s=function(n){return function(){return n}},f=s(!1),l=s(!0),O={noop:function(){for(var n=[],e=0;e "+o.toString()},function(n,e){return"state("+n+")"})}).join("\n")+"}"},toDsl:function(){return Rt.objOf(wn.map(c,function(n){return n.fold(function(n,e,t,o){return It.field(n,t,o)},function(n,e){return It.state(n)})}))}}},$t=function(r){return{extract:function(t,o,n){var e=wn.map(n,function(n,e){return r.extract(t.concat(["["+e+"]"]),o,n)});return bt(e)},toString:function(){return"array("+r.toString()+")"},toDsl:function(){return Rt.arrOf(r)}}},qt=function(u,a){return{extract:function(t,o,r){var n,e,i=M.keys(r);return(n=t,e=i,$t(Wt(u)).extract(n,O.identity,e)).bind(function(n){var e=wn.map(n,function(n){return jt.field(n,n,dt(),a)});return Gt(e).extract(t,o,r)})},toString:function(){return"setOf("+a.toString()+")"},toDsl:function(){return Rt.setOf(u,a)}}},_t=O.constant(Wt(ct.value)),Kt=(O.compose($t,Gt),jt.state),Xt=jt.field,Yt=function(t,e,o,r,i){return Et(r,i).fold(function(){return n=r,e=i,Ht(t,function(){return'The chosen schema: "'+e+'" did not exist in branches: '+Vt(n)});var n,e},function(n){return Gt(n).extract(t.concat(["branch: "+i]),e,o)})},Jt=function(r,i){return{extract:function(e,t,o){return Et(o,r).fold(function(){return n=r,Ht(e,function(){return'Choice schema did not contain choice key: "'+n+'"'});var n},function(n){return Yt(e,t,o,i,n)})},toString:function(){return"chooseOn("+r+"). Possible values: "+M.keys(i)},toDsl:function(){return Rt.choiceOf(r,i)}}},Qt=Wt(ct.value),Zt=function(n,e,t,o){return e.extract([n],t,o).fold(function(n){return ct.error({input:o,errors:n})},ct.value)},no=function(n,e,t){return Zt(n,e,O.constant,t)},eo=function(n){return n.fold(function(n){throw new Error(ro(n))},O.identity)},to=function(n,e,t){return eo((o=t,Zt(n,e,O.identity,o)));var o},oo=function(n,e,t){return eo(no(n,e,t))},ro=function(n){return"Errors: \n"+(e=n.errors,t=10 ")+")\n"+n.getErrorInfo()}))+"\n\nInput object: "+Vt(n.input);var e,t},io=function(n,e){return Jt(n,e)},uo=O.constant(Qt),ao=(u=E.isFunction,a="function",Wt(function(n){var e=typeof n;return u(n)?ct.value(n):ct.error("Expected type: "+a+" but got: "+e)})),co=function(n){return Xt(n,n,dt(),_t())},so=function(n,e){return Xt(n,n,dt(),e)},fo=function(n){return so(n,ao)},lo=function(n,e){return Xt(n,n,dt(),Gt(e))},mo=function(n){return Xt(n,n,mt(),_t())},go=function(n,e){return Xt(n,n,mt(),Gt(e))},po=function(n,e){return Xt(n,n,mt(),Ut(e))},ho=function(n,e){return Xt(n,n,lt(e),_t())},vo=function(n,e,t){return Xt(n,n,lt(e),t)},yo=function(n,e){return Kt(n,e)},bo=function(n){if(!Bt(n,"can")&&!Bt(n,"abort")&&!Bt(n,"run"))throw new Error("EventHandler defined by: "+Nt(n,null,2)+" does not have can, abort, or run!");return to("Extracting event.handler",Ut([ho("can",O.constant(!0)),ho("abort",O.constant(!1)),ho("run",O.noop)]),n)},wo=function(n){var e,o,r,i,t=(e=n,o=function(n){return n.can},function(){var t=Array.prototype.slice.call(arguments,0);return wn.foldl(e,function(n,e){return n&&o(e).apply(undefined,t)},!0)}),u=(r=n,i=function(n){return n.abort},function(){var t=Array.prototype.slice.call(arguments,0);return wn.foldl(r,function(n,e){return n||i(e).apply(undefined,t)},!1)});return bo({can:t,abort:u,run:function(){var e=Array.prototype.slice.call(arguments,0);wn.each(n,function(n){n.run.apply(undefined,e)})}})},xo=At,To=function(n,e){return{key:n,value:bo({abort:e})}},So=function(n,e){return{key:n,value:bo({run:e})}},ko=function(n,e,t){return{key:n,value:bo({run:function(n){e.apply(undefined,[n].concat(t))}})}},Co=function(n){return function(o){return{key:n,value:bo({run:function(n,e){var t;t=e,je(n.element(),t.event().target())&&o(n,e)}})}}},Oo=function(n,e,t){var u,o,r=e.partUids()[t];return o=r,So(u=n,function(n,i){n.getSystem().getByUid(o).each(function(n){var e,t,o,r;t=(e=n).element(),o=u,r=i,e.getSystem().triggerEvent(o,t,r.event())})})},Eo=function(n){return So(n,function(n,e){e.cut()})},Do=Co(Qn()),Ao=Co(Zn()),Mo=Co(Yn()),Bo=(c=$n(),function(n){return So(c,n)}),Ro=function(n){return wn.map(n,function(n){return In.endsWith(n,"/*")?n.substring(0,n.length-"/*".length):n})},Io=function(n,e){var t=n.toString(),o=t.indexOf(")")+1,r=t.indexOf("("),i=t.substring(r+1,o-1).split(/,\s*/);return n.toFunctionAnnotation=function(){return{name:e,parameters:Ro(i)}},n},Fo=Ee.immutableBag(["tag"],["classes","attributes","styles","value","innerHtml","domChildren","defChildren"]),No=function(n){return{tag:n.tag(),classes:n.classes().getOr([]),attributes:n.attributes().getOr({}),styles:n.styles().getOr({}),value:n.value().getOr(""),innerHtml:n.innerHtml().getOr(""),defChildren:n.defChildren().getOr(""),domChildren:n.domChildren().fold(function(){return""},function(n){return 0===n.length?"0 children, but still specified":String(n.length)})}},Vo=Ee.immutableBag([],["classes","attributes","styles","value","innerHtml","defChildren","domChildren"]),Ho=function(e,n,t){return n.fold(function(){return t.fold(function(){return{}},function(n){return Dt(e,n)})},function(n){return t.fold(function(){return Dt(e,n)},function(n){return Dt(e,n)})})},jo=function(t,o,r){return Mo(function(n,e){r(n,t,o)})},zo=function(n,e,t,o,r,i){var u,a,c=n,s=go(e,[(u="config",a=n,Xt(u,u,mt(),a))]);return Wo(c,s,e,t,o,r,i)},Lo=function(n,r,e){var t,o,i,u,a,c;return t=function(t){var o=arguments;return t.config({name:O.constant(n)}).fold(function(){throw new Error("We could not find any behaviour configuration for: "+n+". Using API: "+e)},function(n){var e=Array.prototype.slice.call(o,1);return r.apply(undefined,[t,n.config,n.state].concat(e))})},o=e,i=r.toString(),u=i.indexOf(")")+1,a=i.indexOf("("),c=i.substring(a+1,u-1).split(/,\s*/),t.toFunctionAnnotation=function(){return{name:o,parameters:Ro(c.slice(0,1).concat(c.slice(3)))}},t},Po=function(n){return{key:n,value:undefined}},Wo=function(t,n,o,r,e,i,u){var a=function(n){return Bt(n,o)?n[o]():x.none()},c=M.map(e,function(n,e){return Lo(o,n,e)}),s=M.map(i,function(n,e){return Io(n,e)}),f=D.deepMerge(s,c,{revoke:O.curry(Po,o),config:function(n){var e=oo(o+"-config",t,n);return{key:o,value:{config:e,me:f,configAsRaw:G(function(){return to(o+"-config",t,n)}),initialConfig:n,state:u}}},schema:function(){return n},exhibit:function(n,t){return a(n).bind(function(e){return Et(r,"exhibit").map(function(n){return n(t,e.config,e.state)})}).getOr(Vo({}))},name:function(){return o},handlers:function(n){return a(n).bind(function(e){return Et(r,"events").map(function(n){return n(e.config,e.state)})}).getOr({})}});return f},Uo=function(n,e){return Go(n,e,{validate:E.isFunction,label:"function"})},Go=function(o,r,i){if(0===r.length)throw new Error("You must specify at least one required field.");return ke("required",r),Oe(r),function(e){var t=M.keys(e);wn.forall(r,function(n){return wn.contains(t,n)})||Te(r,t),o(r,t);var n=wn.filter(r,function(n){return!i.validate(e[n],n)});return 0"}),uo()),Tc=ho("defaults",O.constant({})),Sc=ho("overrides",O.constant({})),kc=Gt([yc,bc,wc,xc,Tc,Sc]),Cc=Gt([yc,bc,wc,Tc,Sc]),Oc=Gt([yc,bc,wc,xc,Tc,Sc]),Ec=Gt([yc,bc,wc,co("unit"),xc,Tc,Sc]),Dc=function(n){var e=function(n){return n.name()};return n.fold(e,e,e,e)},Ac=function(t,o){return function(n){var e=oo("Converting part type",o,n);return t(e)}},Mc=Ac(vc.required,kc),Bc=(Ac(vc.external,Cc),Ac(vc.optional,Oc)),Rc=Ac(vc.group,Ec),Ic=O.constant("entirety"),Fc=function(n,e,t,o){var r=t;return D.deepMerge(e.defaults()(n,t,o),t,{uid:n.partUids()[e.name()]},e.overrides()(n,t,o),{"debug.sketcher":Dt("part-"+e.name(),r)})},Nc=function(r,n){var i={};return wn.each(n,function(n){var e;(e=n,e.fold(x.some,x.none,x.some,x.some)).each(function(t){var o=Vc(r,t.pname());i[t.name()]=function(n){var e=to("Part: "+t.name()+" in "+r,Gt(t.schema()),n);return D.deepMerge(o,{config:n,validated:e})}})}),i},Vc=function(n,e){return{uiType:gc(),owner:n,name:e}},Hc=function(n,e,t){return o=e,r=t,i={},u={},wn.each(r,function(n){n.fold(function(o){i[o.pname()]=dc(!0,function(n,e,t){return o.factory().sketch(Fc(n,o,e,t))})},function(n){var e=o.parts()[n.name()]();u[n.name()]=O.constant(Fc(o,n,e[Ic()]()))},function(o){i[o.pname()]=dc(!1,function(n,e,t){return o.factory().sketch(Fc(n,o,e,t))})},function(r){i[r.pname()]=mc(!0,function(e,n,t){var o=e[r.name()]();return wn.map(o,function(n){return r.factory().sketch(D.deepMerge(r.defaults()(e,n),n,r.overrides()(e,n)))})})})}),{internals:O.constant(i),externals:O.constant(u)};var o,r,i,u},jc=function(n,e,t){return lc(x.some(n),e,e.components(),t)},zc=function(n,e,t){var o=e.partUids()[t];return n.getSystem().getByUid(o).toOption()},Lc=function(n,e,t){return zc(n,e,t).getOrDie("Could not find part: "+t)},Pc=function(e,n){var t,o=(t=n,wn.map(t,Dc));return At(wn.map(o,function(n){return{key:n,value:e+"-"+n}}))},Wc=function(e){return Xt("partUids","partUids",pt(function(n){return Pc(n.uid,e)}),uo())},Uc=hc("alloy-premade"),Gc=hc("api"),$c=function(n){return Dt(Uc,n)},qc=function(o){return n=function(n){var e=Array.prototype.slice.call(arguments,0),t=n.config(Gc);return o.apply(undefined,[t].concat(e))},e=o.toString(),t=e.indexOf(")")+1,r=e.indexOf("("),i=e.substring(r+1,t-1).split(/,\s*/),n.toFunctionAnnotation=function(){return{name:"OVERRIDE",parameters:Ro(i.slice(1))}},n;var n,e,t,r,i},_c=O.constant(Gc),Kc=O.constant("alloy-id-"),Xc=O.constant("data-alloy-id"),Yc=Kc(),Jc=Xc(),Qc=function(n){var e=ve.isElement(n)?ar.get(n,Jc):null;return x.from(e)},Zc=function(n){return hc(n)},ns=(O.constant(Jc),function(n,e,t,o,r){var i,u,a=(u=r,(0<(i=o).length?[lo("parts",i)]:[]).concat([co("uid"),ho("dom",{}),ho("components",[]),pi("originalSpec"),ho("debug.sketcher",{})]).concat(u));return oo(n+" [SpecSchema]",Ut(a.concat(e)),t)}),es=function(n,e,t,o,r){var i,u=ts(r),a=(i=t,wn.bind(i,function(n){return n.fold(x.none,x.some,x.none,x.none).map(function(n){return lo(n.name(),n.schema().concat([pi(Ic())]))}).toArray()})),c=Wc(t),s=ns(n,e,u,a,[c]),f=Hc(0,s,t),l=jc(n,s,f.internals());return D.deepMerge(o(s,l,u,f.externals()),{"debug.sketcher":Dt(n,r)})},ts=function(n){return D.deepMerge({uid:Zc("uid")},n)},os=Ut([co("name"),co("factory"),co("configFields"),ho("apis",{}),ho("extraApis",{})]),rs=Ut([co("name"),co("factory"),co("configFields"),co("partFields"),ho("apis",{}),ho("extraApis",{})]),is=function(n){var a=to("Sketcher for "+n.name,os,n),e=M.map(a.apis,qc),t=M.map(a.extraApis,function(n,e){return Io(n,e)});return D.deepMerge({name:O.constant(a.name),partFields:O.constant([]),configFields:O.constant(a.configFields),sketch:function(n){return e=a.name,t=a.configFields,o=a.factory,i=ts(r=n),u=ns(e,t,i,[],[]),D.deepMerge(o(u,i),{"debug.sketcher":Dt(e,r)});var e,t,o,r,i,u}},e,t)},us=function(n){var e=to("Sketcher for "+n.name,rs,n),t=Nc(e.name,e.partFields),o=M.map(e.apis,qc),r=M.map(e.extraApis,function(n,e){return Io(n,e)});return D.deepMerge({name:O.constant(e.name),partFields:O.constant(e.partFields),configFields:O.constant(e.configFields),sketch:function(n){return es(e.name,e.configFields,e.partFields,e.factory,n)},parts:O.constant(t)},o,r)},as=is({name:"Button",factory:function(n,e){var t,o,r,i=(t=n.action(),o=function(n,e){e.stop(),te(n)},r=Ln.detect().deviceType.isTouch()?[So(_n(),o)]:[So(P(),o),So(F(),function(n,e){e.cut()})],xo(wn.flatten([t.map(function(t){return So($n(),function(n,e){t(n),e.stop()})}).toArray(),r]))),u=Et(n.dom(),"attributes").bind(Ct("type")),a=Et(n.dom(),"tag");return{uid:n.uid(),dom:n.dom(),components:n.components(),events:i,behaviours:D.deepMerge(Yo([zi.config({}),rc.config({mode:"execution",useSpace:!0,useEnter:!0})]),uc(n.buttonBehaviours())),domModification:{attributes:D.deepMerge(u.fold(function(){return a.is("button")?{type:"button"}:{}},function(n){return{}}),{role:n.role().getOr("button")})},eventOrder:n.eventOrder()}},configFields:[ho("uid",undefined),co("dom"),ho("components",[]),ic("buttonBehaviours",[zi,rc]),mo("action"),mo("role"),ho("eventOrder",{})]}),cs=Object.freeze({events:function(n){return xo([To(U(),O.constant(!0))])},exhibit:function(n,e){return Vo({styles:{"-webkit-user-select":"none","user-select":"none","-ms-user-select":"none","-moz-user-select":"-moz-none"},attributes:{unselectable:"on"}})}}),ss=Qo({fields:[],name:"unselecting",active:cs}),fs=function(n){var e,t,o,r=ue.fromHtml(n),i=qe.children(r),u=(t=(e=r).dom().attributes!==undefined?e.dom().attributes:[],wn.foldl(t,function(n,e){return"class"===e.name?n:D.deepMerge(n,Dt(e.name,e.value))},{})),a=(o=r,Array.prototype.slice.call(o.dom().classList,0)),c=0===i.length?{}:{innerHtml:$r(r)};return D.deepMerge({tag:ve.name(r),classes:a,attributes:u},c)},ls=function(n){var e=In.supplant(n,{prefix:Fi.prefix()});return fs(e)},ds=function(n){return{dom:ls(n)}},ms=function(n){return Yo([Ai.config({toggleClass:Fi.resolve("toolbar-button-selected"),toggleOnExecute:!1,aria:{mode:"pressed"}}),Mi(n,function(n,e){(e?Ai.on:Ai.off)(n)})])},gs=function(n,e,t){return as.sketch({dom:ls(''),action:e,buttonBehaviours:D.deepMerge(Yo([ss.config({})]),t)})},ps={forToolbar:gs,forToolbarCommand:function(n,e){return gs(e,function(){n.execCommand(e)},{})},forToolbarStateAction:function(n,e,t,o){var r=ms(t);return gs(e,o,r)},forToolbarStateCommand:function(n,e){var t=ms(e);return gs(e,function(){n.execCommand(e)},t)}},hs=function(n,e,t){return Math.max(e,Math.min(t,n))},vs=function(n,e,t,o,r,i,u){var a=t-e;if(on.right)return t+1;var c,s,f,l,d=Math.min(n.right,Math.max(o,n.left))-n.left,m=hs(d/n.width*a+e,e-1,t+1),g=Math.round(m);return i&&e<=m&&m<=t?(c=m,s=e,f=t,l=r,u.fold(function(){var n=c-s,e=Math.round(n/l)*l;return hs(s+e,s-1,f+1)},function(n){var e=(c-n)%l,t=Math.round(e/l),o=Math.floor((c-n)/l),r=Math.floor((f-n)/l),i=n+Math.min(r,o+t)*l;return Math.max(n,i)})):g},ys="slider.change.value",bs=Ln.detect().deviceType.isTouch(),ws=function(n){var e;return(e=n.event().raw(),bs&&e.touches!==undefined&&1===e.touches.length?x.some(e.touches[0]):bs&&e.touches!==undefined?x.none():bs||e.clientX===undefined?x.none():x.some(e)).map(function(n){return n.clientX})},xs=function(n,e){ee(n,ys,{value:e})},Ts=function(i,u,a,n){return ws(n).map(function(n){var e,t,o,r;return e=i,o=n,r=vs(a,(t=u).min(),t.max(),o,t.stepSize(),t.snapToGrid(),t.snapStart()),xs(e,r),n})},Ss=function(n,e){var t,o,r,i,u=(t=e.value().get(),o=e.min(),r=e.max(),i=e.stepSize(),to.max()?zc(e,o,"right-edge").fold(function(){return t.width},function(n){return f(n)-t.left}):(o.value().get()-o.min())/s*t.width);return i.left-u.left+a},u=function(n){var e=i(n),t=r(n),o=qs(t.element())/2;qi.set(t.element(),"left",e-o+"px")},o=function(n,e){var t=c.value().get(),o=r(n);return t!==e||qi.getRaw(o.element(),"left").isNone()?(c.value().set(e),u(n),c.onChange()(n,o,e),x.some(!0)):x.none()},a=_s?[So(B(),function(n,e){c.onDragStart()(n,r(n))}),So(I(),function(n,e){c.onDragEnd()(n,r(n))})]:[So(F(),function(n,e){e.stop(),c.onDragStart()(n,r(n)),c.mouseIsDown().set(!0)}),So(V(),function(n,e){c.onDragEnd()(n,r(n)),c.mouseIsDown().set(!1)})];return{uid:c.uid(),dom:c.dom(),components:n,behaviours:D.deepMerge(Yo(wn.flatten([_s?[]:[rc.config({mode:"special",focusIn:function(n){return zc(n,c,"spectrum").map(rc.focusIn).map(O.constant(!0))}})],[Ps.config({store:{mode:"manual",getValue:function(n){return c.value().get()}}})]])),uc(c.sliderBehaviours())),events:xo([So(Cs(),function(n,e){o(n,e.event().value())}),Do(function(n,e){c.value().set(c.getInitialValue()());var t=r(n);u(n),c.onInit()(n,t,c.value().get())})].concat(a)),apis:{resetToMin:function(n){o(n,c.min())},resetToMax:function(n){o(n,c.max())},refresh:u},domModification:{styles:{position:"relative"}}}},apis:{resetToMin:function(n,e){n.resetToMin(e)},resetToMax:function(n,e){n.resetToMax(e)},refresh:function(n,e){n.refresh(e)}}}),Xs=function(e,t,o){return ps.forToolbar(t,function(){var n=o();e.setContextToolbar([{label:t+" group",items:n}])},{})},Ys=function(n){return[(r=n,i=function(n){return n<0?"black":360'),components:[Ks.parts()["left-edge"](ds('
')),Ks.parts().spectrum({dom:ls('
'),components:[ds('
')],behaviours:Yo([Ai.config({toggleClass:Fi.resolve("thumb-active")})])}),Ks.parts()["right-edge"](ds('
')),Ks.parts().thumb({dom:ls('
'),behaviours:Yo([Ai.config({toggleClass:Fi.resolve("thumb-active")})])})],onChange:function(n,e,t){var o=i(t);qi.set(e.element(),"background-color",o),r.onChange(n,e,o)},onDragStart:function(n,e){Ai.on(e)},onDragEnd:function(n,e){Ai.off(e)},onInit:function(n,e,t){var o=i(t);qi.set(e.element(),"background-color",o)},stepSize:10,min:0,max:360,getInitialValue:r.getInitialValue,sliderBehaviours:Yo([Bi(Ks.refresh)])}))];var r,i},Js=function(n,o){var e={onChange:function(n,e,t){o.undoManager.transact(function(){o.formatter.apply("forecolor",{value:t}),o.nodeChanged()})},getInitialValue:function(){return-1}};return Xs(n,"color",function(){return Ys(e)})},Qs=Ut([co("getInitialValue"),co("onChange"),co("category"),co("sizes")]),Zs=function(n){var r=to("SizeSlider",Qs,n);return Ks.sketch({dom:{tag:"div",classes:[Fi.resolve("slider-"+r.category+"-size-container"),Fi.resolve("slider"),Fi.resolve("slider-size-container")]},onChange:function(n,e,t){var o;0<=(o=t)&&o'),components:[ds('
')]}),Ks.parts().thumb({dom:ls('
'),behaviours:Yo([Ai.config({toggleClass:Fi.resolve("thumb-active")})])})]})},nf=function(n,e,t){for(var o=n.dom(),r=E.isFunction(t)?t:O.constant(!1);o.parentNode;){o=o.parentNode;var i=ue.fromDom(o),u=e(i);if(u.isSome())return u;if(r(i))break}return x.none()},ef=function(n,e,t){return e(n).orThunk(function(){return t(n)?x.none():nf(n,e,t)})},tf=["9px","10px","11px","12px","14px","16px","18px","20px","24px","32px","36px"],of=function(n){var e,t,o=n.selection.getStart(),r=ue.fromDom(o),i=ue.fromDom(n.getBody()),u=(e=function(n){return je(i,n)},t=r,(ve.isElement(t)?x.some(t):qe.parent(t)).map(function(n){return ef(n,function(n){return qi.getRaw(n,"font-size")},e).getOrThunk(function(){return qi.get(n,"font-size")})}).getOr(""));return wn.find(tf,function(n){return u===n}).getOr("medium")},rf={candidates:O.constant(tf),get:function(n){var e,t=of(n);return(e=t,wn.findIndex(tf,function(n){return n===e})).getOr(2)},apply:function(o,n){var e;(e=n,x.from(tf[e])).each(function(n){var e,t;t=n,of(e=o)!==t&&e.execCommand("fontSize",!1,t)})}},uf=rf.candidates(),af=function(n){return[ds(''),(e=n,Zs({onChange:e.onChange,sizes:uf,category:"font",getInitialValue:e.getInitialValue})),ds('')];var e},cf=function(n){var e=n.uid!==undefined&&Bt(n,"uid")?n.uid:Zc("memento");return{get:function(n){return n.getSystem().getByUid(e).getOrDie()},getOpt:function(n){return n.getSystem().getByUid(e).fold(x.none,x.some)},asSpec:function(){return D.deepMerge(n,{uid:e})}}};function sf(n,e){return lf(document.createElement("canvas"),n,e)}function ff(n){return n.getContext("2d")}function lf(n,e,t){return n.width=e,n.height=t,n}var df={create:sf,clone:function(n){var e;return ff(e=sf(n.width,n.height)).drawImage(n,0,0),e},resize:lf,get2dContext:ff,get3dContext:function(n){var e=null;try{e=n.getContext("webgl")||n.getContext("experimental-webgl")}catch(t){}return e||(e=null),e}},mf={getWidth:function(n){return n.naturalWidth||n.width},getHeight:function(n){return n.naturalHeight||n.height}},gf=window.Promise?window.Promise:function(){var n=function(n){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof n)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],s(n,o(r,this),o(u,this))},e=n.immediateFn||"function"==typeof setImmediate&&setImmediate||function(n){setTimeout(n,1)};function o(n,e){return function(){n.apply(e,arguments)}}var t=Array.isArray||function(n){return"[object Array]"===Object.prototype.toString.call(n)};function i(o){var r=this;null!==this._state?e(function(){var n=r._state?o.onFulfilled:o.onRejected;if(null!==n){var e;try{e=n(r._value)}catch(t){return void o.reject(t)}o.resolve(e)}else(r._state?o.resolve:o.reject)(r._value)}):this._deferreds.push(o)}function r(n){try{if(n===this)throw new TypeError("A promise cannot be resolved with itself.");if(n&&("object"==typeof n||"function"==typeof n)){var e=n.then;if("function"==typeof e)return void s(o(e,n),o(r,this),o(u,this))}this._state=!0,this._value=n,a.call(this)}catch(t){u.call(this,t)}}function u(n){this._state=!1,this._value=n,a.call(this)}function a(){for(var n=0,e=this._deferreds.length;n'),components:[e.asSpec()],action:function(n){e.get(n).element().dom().click()}})},If=function(n){return n.dom().textContent},Ff=function(n,e){n.dom().textContent=e},Nf=function(n){return 0'),action:function(n){var e=t.get(n);Ps.setValue(e,"")}}));return{name:n,spec:_f.sketch({dom:ls('
'),components:[t.asSpec(),o.asSpec()],containerBehaviours:Yo([Ai.config({toggleClass:Fi.resolve("input-container-empty")}),qf.config({find:function(n){return x.some(t.get(n))}}),Uf("input-clearing",[So(z(),function(n){var e=t.get(n);(0"},yl=function(r,n,e){return D.deepMerge({"debug.sketcher":{Form:e},uid:r.uid(),dom:r.dom(),components:n,behaviours:D.deepMerge(Yo([Ps.config({store:{mode:"manual",getValue:function(n){var e,t,o=(e=r,t=n.getSystem(),M.map(e.partUids(),function(n,e){return O.constant(t.getByUid(n))}));return M.map(o,function(n,e){return n().bind(qf.getCurrent).map(Ps.getValue)})},setValue:function(t,n){M.each(n,function(e,n){zc(t,r,n).each(function(n){qf.getCurrent(n).each(function(n){Ps.setValue(n,e)})})})}}})]),uc(r.formBehaviours())),apis:{getField:function(n,e){return zc(n,r,e).bind(qf.getCurrent)}}})},bl=(qc(function(n,e,t){return n.getField(e,t)}),function(n){var i,e=(i=[],{field:function(n,e){return i.push(n),t="form",o=vl(n),r=e,{uiType:gc(),owner:t,name:o,config:r,validated:{}};var t,o,r},record:function(){return i}}),t=n(e),o=e.record(),r=wn.map(o,function(n){return Mc({name:n,pname:vl(n)})});return es("form",hl,r,yl,t)}),wl=function(){var e=Or(x.none()),t=function(){e.get().each(function(n){n.destroy()})};return{clear:function(){t(),e.set(x.none())},isSet:function(){return e.get().isSome()},set:function(n){t(),e.set(x.some(n))},run:function(n){e.get().each(n)}}},xl=function(){var e=Or(x.none());return{clear:function(){e.set(x.none())},set:function(n){e.set(x.some(n))},isSet:function(){return e.get().isSome()},on:function(n){e.get().each(n)}}},Tl=function(n){return{xValue:n,points:[]}},Sl=function(n,e){if(e===n.xValue)return n;var t=0'),action:function(n){ee(n,o,{direction:e})},buttonBehaviours:Yo([pl.config({disableClass:Fi.resolve("toolbar-navigation-disabled"),disabled:!t})])})},i=function(n,r){var i=ou(n.element(),"."+Fi.resolve("serialised-dialog-screen"));au(n.element(),"."+Fi.resolve("serialised-dialog-chain")).each(function(o){0<=u.state.currentScreen.get()+r&&u.state.currentScreen.get()+r'),components:[_f.sketch({dom:ls('
'),components:wn.map(u.fields,function(n,e){return e<=u.maxFieldIndex?_f.sketch({dom:ls('
'),components:wn.flatten([[r(-1,"previous",0'),behaviours:Yo([Bu.config({highlightClass:Fi.resolve("dot-active"),itemClass:Fi.resolve("dot-item")})]),components:wn.bind(u.fields,function(n,e){return e<=u.maxFieldIndex?[ds('
')]:[]})});return{dom:ls('
'),components:[c.asSpec(),s.asSpec()],behaviours:Yo([rc.config({mode:"special",focusIn:function(n){var e=c.get(n);rc.focusIn(e)}}),Uf("serializer-wrapper-events",[So(B(),function(n,e){u.state.dialogSwipeState.set(Tl(e.event().raw().touches[0].clientX))}),So(R(),function(n,e){u.state.dialogSwipeState.on(function(n){e.event().prevent(),u.state.dialogSwipeState.set(Sl(n,e.event().raw().touches[0].clientX))})}),So(I(),function(o){u.state.dialogSwipeState.on(function(n){var e=c.get(o),t=-1*kl(n);i(e,t)})})])])}},Ol=G(function(t,o){return[{label:"the link group",items:[Cl({fields:[tl("url","Type or paste URL"),tl("text","Link text"),tl("title","Link title"),tl("target","Link target"),(n="link",{name:n,spec:Kf.sketch({dom:{tag:"span",styles:{display:"none"}},getInitialValue:function(){return x.none()}})})],maxFieldIndex:["url","text","title","target"].length-1,getInitialValue:function(){return x.some(zf.getInfo(o))},onExecute:function(n){var e=Ps.getValue(n);zf.applyInfo(o,e),t.restoreToolbar(),o.focus()}})]}];var n}),El=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}],Dl={events:xo([(Tf=Wn(),Sf=function(n,e){var t,o,r=e.event().originator(),i=e.event().target();return o=i,!(je(t=r,n.element())&&!je(t,o)&&(console.warn(Wn()+" did not get interpreted by the desired target. \nOriginator: "+Yr(r)+"\nTarget: "+Yr(i)+"\nCheck the "+Wn()+" event handlers"),1))},{key:Tf,value:bo({can:Sf})})])},Al=O.identity,Ml=qo.exactly(["debugInfo","triggerFocus","triggerEvent","triggerEscape","addToWorld","removeFromWorld","addToGui","removeFromGui","build","getByUid","getByDom","broadcast","broadcastOn","isConnected"]),Bl=function(e){var n=function(n){return function(){throw new Error("The component must be in a context to send: "+n+"\n"+Yr(e().element())+" is not in context.")}};return Ml({debugInfo:O.constant("fake"),triggerEvent:n("triggerEvent"),triggerFocus:n("triggerFocus"),triggerEscape:n("triggerEscape"),build:n("build"),addToWorld:n("addToWorld"),removeFromWorld:n("removeFromWorld"),addToGui:n("addToGui"),removeFromGui:n("removeFromGui"),getByUid:n("getByUid"),getByDom:n("getByDom"),broadcast:n("broadcast"),broadcastOn:n("broadcastOn"),isConnected:O.constant(!1)})},Rl=function(e,n){var t=wn.map(n,function(n){return Xt(n.name(),n.name(),mt(),Gt([co("config"),ho("state",Xo)]))}),o=no("component.behaviours",Gt(t),e.behaviours).fold(function(n){throw new Error(ro(n)+"\nComplete spec:\n"+Nt(e,null,2))},O.identity);return{list:n,data:M.map(o,function(n){var e=n();return O.constant(e.map(function(n){return{config:n.config(),state:n.state().init(n.config())}}))})}},Il=function(n){return n.list},Fl=function(n){return n.data},Nl=function(n,r){var i={};return M.each(n,function(n,o){M.each(n,function(n,e){var t=Ot(e,[])(i);i[e]=t.concat([r(o,n)])})}),i},Vl=function(n,e){return{name:O.constant(n),modification:e}},Hl=function(n,e,t){return 1 "):r[0].name();return Dt(i,(e=o,{handler:t,purpose:O.constant(e)}))})});return Mt(e,{})},Kl=function(n){return no("custom.definition",Ut([Xt("dom","dom",dt(),Ut([co("tag"),ho("styles",{}),ho("classes",[]),ho("attributes",{}),mo("value"),mo("innerHtml")])),co("components"),co("uid"),ho("events",{}),ho("apis",O.constant({})),Xt("eventOrder","eventOrder",(e={"alloy.execute":["disabling","alloy.base.behaviour","toggling"],"alloy.focus":["alloy.base.behaviour","focusing","keying"],"alloy.system.init":["alloy.base.behaviour","disabling","toggling","representing"],input:["alloy.base.behaviour","representing","streaming","invalidating"],"alloy.system.detached":["alloy.base.behaviour","representing"]},ft.mergeWithThunk(O.constant(e))),uo()),mo("domModification"),pi("originalSpec"),ho("debug.sketcher","unknown")]),n);var e},Xl=function(n){var e,t={tag:n.dom().tag(),classes:n.dom().classes(),attributes:D.deepMerge((e=n,Dt(Xc(),e.uid())),n.dom().attributes()),styles:n.dom().styles(),domChildren:wn.map(n.components(),function(n){return n.element()})};return Fo(D.deepMerge(t,n.dom().innerHtml().map(function(n){return Dt("innerHtml",n)}).getOr({}),n.dom().value().map(function(n){return Dt("value",n)}).getOr({})))},Yl=function(e,n){wn.each(n,function(n){xr.add(e,n)})},Jl=function(e,n){wn.each(n,function(n){xr.remove(e,n)})},Ql=function(e){if(e.domChildren().isSome()&&e.defChildren().isSome())throw new Error("Cannot specify children and child specs! Must be one or the other.\nDef: "+(n=No(e),Nt(n,null,2)));return e.domChildren().fold(function(){var n=e.defChildren().getOr([]);return wn.map(n,nd)},function(n){return n});var n},Zl=function(n){var e=ue.fromTag(n.tag());ar.setAll(e,n.attributes().getOr({})),Yl(e,n.classes().getOr([])),qi.setAll(e,n.styles().getOr({})),qr(e,n.innerHtml().getOr(""));var t=Ql(n);return Je(e,t),n.value().each(function(n){Xf(e,n)}),e},nd=function(n){var e=Fo(n);return Zl(e)},ed=function(n){var e,t,o,r=(t=Et(e=n,"behaviours").getOr({}),o=wn.filter(M.keys(t),function(n){return t[n]!==undefined}),wn.map(o,function(n){return e.behaviours[n].me}));return Rl(n,r)},td=qo.exactly(["getSystem","config","hasConfigured","spec","connect","disconnect","element","syncComponents","readState","components","events"]),od=function(t){var n,e,o,r,i,u,a,c,s,f,l=function(){return C},d=Or(Bl(l)),m=eo(Kl(D.deepMerge(t,{behaviours:undefined}))),g=ed(t),p=Il(g),h=Fl(g),v=Xl(m),y={"alloy.base.modification":(n=m,n.domModification().fold(function(){return Vo({})},Vo))},b=function(e,n,t,o){var r=D.deepMerge({},n);wn.each(t,function(n){r[n.name()]=n.exhibit(e,o)});var i=Nl(r,Vl),u=M.map(i,function(n,e){return wn.bind(n,function(e){return e.modification().fold(function(){return[]},function(n){return[e]})})}),a=M.mapToArray(u,function(e,t){return Et(zl,t).fold(function(){return ct.error("Unknown field type: "+t)},function(n){return n(e,t)})});return Mt(a,{}).map(Vo)}(h,y,p,v).getOrDie(),w=(e=v,o=b,r=D.deepMerge({tag:e.tag(),classes:o.classes().getOr([]).concat(e.classes().getOr([])),attributes:D.merge(e.attributes().getOr({}),o.attributes().getOr({})),styles:D.merge(e.styles().getOr({}),o.styles().getOr({}))},o.innerHtml().or(e.innerHtml()).map(function(n){return Dt("innerHtml",n)}).getOr({}),Ho("domChildren",o.domChildren(),e.domChildren()),Ho("defChildren",o.defChildren(),e.defChildren()),o.value().or(e.value()).map(function(n){return Dt("value",n)}).getOr({})),Fo(r)),x=Zl(w),T={"alloy.base.behaviour":(i=m,i.events())},S=(u=h,a=m.eventOrder(),c=p,s=T,f=Gl(u,c,s),_l(f,a)).getOrDie(),k=Or(m.components()),C=td({getSystem:d.get,config:function(n){if(n===_c())return m.apis();var e=h;return(E.isFunction(e[n.name()])?e[n.name()]:function(){throw new Error("Could not find "+n.name()+" in "+Nt(t,null,2))})()},hasConfigured:function(n){return E.isFunction(h[n.name()])},spec:O.constant(t),readState:function(n){return h[n]().map(function(n){return n.state.readState()}).getOr("not enabled")},connect:function(n){d.set(n)},disconnect:function(){d.set(Bl(l))},element:O.constant(x),syncComponents:function(){var n=qe.children(x),e=wn.bind(n,function(n){return d.get().getByDom(n).fold(function(){return[]},function(n){return[n]})});k.set(e)},components:k.get,events:O.constant(S)});return C},rd=function(n){var e,t,o=Al(n),r=(e=o,t=Ot("components",[])(e),wn.map(t,ad)),i=D.deepMerge(Dl,o,Dt("components",r));return ct.value(od(i))},id=function(n){var e=ue.fromText(n);return ud({element:e})},ud=function(n){var t=oo("external.component",Ut([co("element"),mo("uid")]),n),e=Or(Bl());t.uid().each(function(n){var e;e=t.element(),ar.set(e,Jc,n)});var o=td({getSystem:e.get,config:x.none,hasConfigured:O.constant(!1),connect:function(n){e.set(n)},disconnect:function(){e.set(Bl(function(){return o}))},element:O.constant(t.element()),spec:O.constant(n),readState:O.constant("No state"),syncComponents:O.noop,components:O.constant([]),events:O.constant({})});return $c(o)},ad=function(e){return(n=e,Et(n,Uc)).fold(function(){var n=D.deepMerge({uid:Zc("")},e);return rd(n).getOrDie()},function(n){return n});var n},cd=$c,sd="alloy.item-hover",fd="alloy.item-focus",ld=function(n){(jr(n.element()).isNone()||zi.isFocused(n))&&(zi.isFocused(n)||zi.focus(n),ee(n,sd,{item:n}))},dd=function(n){ee(n,fd,{item:n})},md=O.constant(sd),gd=O.constant(fd),pd=[co("data"),co("components"),co("dom"),mo("toggling"),ho("itemBehaviours",{}),ho("ignoreFocus",!1),ho("domModification",{}),gi("builder",function(n){return{dom:D.deepMerge(n.dom(),{attributes:{role:n.toggling().isSome()?"menuitemcheckbox":"menuitem"}}),behaviours:D.deepMerge(Yo([n.toggling().fold(Ai.revoke,function(n){return Ai.config(D.deepMerge({aria:{mode:"checked"}},n))}),zi.config({ignore:n.ignoreFocus(),onFocus:function(n){dd(n)}}),rc.config({mode:"execution"}),Ps.config({store:{mode:"memory",initialValue:n.data()}})]),n.itemBehaviours()),events:xo([(e=Kn(),o=te,So(e,function(e,t){e.getSystem().getByDom(t.event().target()).each(function(n){o(e,n,t)})})),Eo(F()),So(H(),ld),So(qn(),zi.focus)]),components:n.components(),domModification:n.domModification(),eventOrder:n.eventOrder()};var e,o}),ho("eventOrder",{})],hd=[co("dom"),co("components"),gi("builder",function(n){return{dom:n.dom(),components:n.components(),events:xo([(e=qn(),So(e,function(n,e){e.stop()}))])};var e})],vd=O.constant("item-widget"),yd=O.constant([Mc({name:"widget",overrides:function(e){return{behaviours:Yo([Ps.config({store:{mode:"manual",getValue:function(n){return e.data()},setValue:function(){}}})])}}})]),bd=[co("uid"),co("data"),co("components"),co("dom"),ho("autofocus",!1),ho("domModification",{}),Wc(yd()),gi("builder",function(t){var n=Hc(vd(),t,yd()),e=jc(vd(),t,n.internals()),o=function(n){return zc(n,t,"widget").map(function(n){return rc.focusIn(n),n})},r=function(n,e){return Hu(e.event().target())||t.autofocus()&&e.setSource(n.element()),x.none()};return D.deepMerge({dom:t.dom(),components:e,domModification:t.domModification(),events:xo([Bo(function(n,e){o(n).each(function(n){e.stop()})}),So(H(),ld),So(qn(),function(n,e){t.autofocus()?o(n):zi.focus(n)})]),behaviours:Yo([Ps.config({store:{mode:"memory",initialValue:t.data()}}),zi.config({onFocus:function(n){dd(n)}}),rc.config({mode:"special",focusIn:t.autofocus()?function(n){o(n)}:nr(),onLeft:r,onRight:r,onEscape:function(n,e){return zi.isFocused(n)||t.autofocus()?(t.autofocus()&&e.setSource(n.element()),x.none()):(zi.focus(n),x.some(!0))}})])})})],wd=io("type",{widget:bd,item:pd,separator:hd}),xd=O.constant([Rc({factory:{sketch:function(n){var e=oo("menu.spec item",wd,n);return e.builder()(e)}},name:"items",unit:"item",defaults:function(n,e){var t=Zc("");return D.deepMerge({uid:t},e)},overrides:function(n,e){return{type:e.type,ignoreFocus:n.fakeFocus(),domModification:{classes:[n.markers().item()]}}}})]),Td=O.constant([co("value"),co("items"),co("dom"),co("components"),ho("eventOrder",{}),ic("menuBehaviours",[Bu,Ps,qf,rc]),vo("movement",{mode:"menu",moveOnTab:!0},io("mode",{grid:[hi(),gi("config",function(n,e){return{mode:"flatgrid",selector:"."+n.markers().item(),initSize:{numColumns:e.initSize().numColumns(),numRows:e.initSize().numRows()},focusManager:n.focusManager()}})],menu:[ho("moveOnTab",!0),gi("config",function(n,e){return{mode:"menu",selector:"."+n.markers().item(),moveOnTab:e.moveOnTab(),focusManager:n.focusManager()}})]})),so("markers",ai()),ho("fakeFocus",!1),ho("focusManager",Ru()),fi("onHighlight")]),Sd=(O.constant("menu"),O.constant("alloy.menu-focus")),kd=us({name:"Menu",configFields:Td(),partFields:xd(),factory:function(n,e,t,o){return D.deepMerge({dom:D.deepMerge(n.dom(),{attributes:{role:"menu"}}),uid:n.uid(),behaviours:D.deepMerge(Yo([Bu.config({highlightClass:n.markers().selectedItem(),itemClass:n.markers().item(),onHighlight:n.onHighlight()}),Ps.config({store:{mode:"memory",initialValue:n.value()}}),qf.config({find:O.identity}),rc.config(n.movement().config()(n,n.movement()))]),uc(n.menuBehaviours())),events:xo([So(gd(),function(e,t){var n=t.event();e.getSystem().getByDom(n.target()).each(function(n){Bu.highlight(e,n),t.stop(),ee(e,Sd(),{menu:e,item:n})})}),So(md(),function(n,e){var t=e.event().item();Bu.highlight(n,t)})]),components:e,eventOrder:n.eventOrder()})}}),Cd=function(n,e,t,o){var r=n.getSystem().build(o);ot(n,r,t)},Od=function(n,e){return n.components()},Ed=Object.freeze({append:function(n,e,t,o){Cd(n,0,Xe.append,o)},prepend:function(n,e,t,o){Cd(n,0,Xe.prepend,o)},remove:function(n,e,t,o){var r=Od(n,e);wn.find(r,function(n){return je(o.element(),n.element())}).each(it)},set:function(e,n,t,o){var r,i,u,a,c,s;i=(r=e).components(),wn.each(i,rt),Ze.empty(r.element()),r.syncComponents(),u=function(){var n=wn.map(o,e.getSystem().build);wn.each(n,function(n){tt(e,n)})},a=e.element(),c=qe.owner(a),s=Hr(c).bind(function(e){var n=function(n){return je(e,n)};return n(a)?x.some(a):Br.descendant(a,n)}),u(a),s.each(function(e){Hr(c).filter(function(n){return je(n,e)}).orThunk(function(){Nr(e)})})},contents:Od}),Dd=Qo({fields:[],name:"replacing",apis:Ed}),Ad=function(t,o,r,n){return Et(r,n).bind(function(n){return Et(t,n).bind(function(n){var e=Ad(t,o,r,n);return x.some([n].concat(e))})}).getOr([])},Md=function(n,e){var t={};M.each(n,function(n,e){wn.each(n,function(n){t[n]=e})});var o,r=e,i=(o=e,M.tupleMap(o,function(n,e){return{k:n,v:e}})),u=M.map(i,function(n,e){return[e].concat(Ad(t,r,i,e))});return M.map(t,function(n){return Et(u,n).getOr([n])})},Bd=O.constant("collapse-item"),Rd=is({name:"TieredMenu",configFields:[mi("onExecute"),mi("onEscape"),di("onOpenMenu"),di("onOpenSubmenu"),fi("onCollapseMenu"),ho("openImmediately",!0),lo("data",[co("primary"),co("menus"),co("expansions")]),ho("fakeFocus",!1),fi("onHighlight"),fi("onHover"),lo("markers",[co("backgroundMenu")].concat(ii()).concat(ui())),co("dom"),ho("navigateOnHover",!0),ho("stayInDom",!1),ic("tmenuBehaviours",[rc,Bu,qf,Dd]),ho("eventOrder",{})],apis:{collapseMenu:function(n,e){n.collapseMenu(e)}},factory:function(u,r){var a,c,s,f,l,n,i=function(o,n){return M.map(n,function(n,e){var t=kd.sketch(D.deepMerge(n,{value:e,items:n.items,markers:St(r.markers,["item","selectedItem"]),fakeFocus:u.fakeFocus(),onHighlight:u.onHighlight(),focusManager:u.fakeFocus()?{get:function(n){return Bu.getHighlighted(n).map(function(n){return n.element()})},set:function(e,n){e.getSystem().getByDom(n).fold(O.noop,function(n){Bu.highlight(e,n)})}}:Ru()}));return o.getSystem().build(t)})},d=(a=Or({}),c=Or({}),s=Or({}),f=Or(x.none()),l=Or(O.constant([])),{setContents:function(n,e,t,o){f.set(x.some(n)),a.set(t),c.set(e),l.set(o);var r=o(e),i=Md(r,t);s.set(i)},expand:function(t){return Et(a.get(),t).map(function(n){var e=Et(s.get(),t).getOr([]);return[n].concat(e)})},refresh:function(n){return Et(s.get(),n)},collapse:function(n){return Et(s.get(),n).bind(function(n){return 1");o[t[0]]=Dt(t[1],n),o[t[1]]=Dt(t[0],n)}),o},createBistate:function(n,e,t){return At([{key:n,value:Dt(e,t)},{key:e,value:Dt(n,t)}])},createTristate:function(n,e,t,o){return At([{key:n,value:At([{key:e,value:o},{key:t,value:o}])},{key:e,value:At([{key:n,value:o},{key:t,value:o}])},{key:t,value:At([{key:n,value:o},{key:e,value:o}])}])}}}),Wd=Fi.resolve("scrollable"),Ud={register:function(n){xr.add(n,Wd)},deregister:function(n){xr.remove(n,Wd)},scrollable:O.constant(Wd)},Gd=function(n){return Et(n,"format").getOr(n.title)},$d=function(n,e,t,o,r){return{data:{value:n,text:e},type:"item",dom:{tag:"div",classes:r?[Fi.resolve("styles-item-is-menu")]:[]},toggling:{toggleOnExecute:!1,toggleClass:Fi.resolve("format-matches"),selected:t},itemBehaviours:Yo(r?[]:[Mi(n,function(n,e){(e?Ai.on:Ai.off)(n)})]),components:[{dom:{tag:"div",attributes:{style:o},innerHtml:e}}]}},qd=function(n,e,t,o){return{value:n,dom:{tag:"div"},components:[as.sketch({dom:{tag:"div",classes:[Fi.resolve("styles-collapser")]},components:o?[{dom:{tag:"span",classes:[Fi.resolve("styles-collapse-icon")]}},id(n)]:[id(n)],action:function(n){if(o){var e=t().get(n);Rd.collapseMenu(e)}}}),{dom:{tag:"div",classes:[Fi.resolve("styles-menu-items-container")]},components:[kd.parts().items({})],behaviours:Yo([Uf("adhoc-scrollable-menu",[Do(function(n,e){qi.set(n.element(),"overflow-y","auto"),qi.set(n.element(),"-webkit-overflow-scrolling","touch"),Ud.register(n.element())}),Ao(function(n){qi.remove(n.element(),"overflow-y"),qi.remove(n.element(),"-webkit-overflow-scrolling"),Ud.deregister(n.element())})])])}],items:e,menuBehaviours:Yo([Pd.config({initialState:"after",routes:Pd.createTristate("before","current","after",{transition:{property:"transform",transitionClass:"transitioning"}})})])}},_d=function(o){var r,i,n,e,t,u=(r=o.formats,i=function(){return a},n=qd("Styles",[].concat(wn.map(r.items,function(n){return $d(Gd(n),n.title,n.isSelected(),n.getPreview(),Bt(r.expansions,Gd(n)))})),i,!1),e=M.map(r.menus,function(n,e){var t=wn.map(n,function(n){return $d(Gd(n),n.title,n.isSelected!==undefined&&n.isSelected(),n.getPreview!==undefined?n.getPreview():"",Bt(r.expansions,Gd(n)))});return qd(e,t,i,!0)}),t=D.deepMerge(e,Dt("styles",n)),{tmenu:Rd.tieredData("styles",t,r.expansions)}),a=cf(Rd.sketch({dom:{tag:"div",classes:[Fi.resolve("styles-menu")]},components:[],fakeFocus:!0,stayInDom:!0,onExecute:function(n,e){var t=Ps.getValue(e);o.handle(e,t.value)},onEscape:function(){},onOpenMenu:function(n,e){var t=qs(n.element());$s(e.element(),t),Pd.jumpTo(e,"current")},onOpenSubmenu:function(n,e,t){var o=qs(n.element()),r=uu(e.element(),'[role="menu"]').getOrDie("hacky"),i=n.getSystem().getByDom(r).getOrDie();$s(t.element(),o),Pd.progressTo(i,"before"),Pd.jumpTo(t,"after"),Pd.progressTo(t,"current")},onCollapseMenu:function(n,e,t){var o=uu(e.element(),'[role="menu"]').getOrDie("hacky"),r=n.getSystem().getByDom(o).getOrDie();Pd.progressTo(r,"after"),Pd.progressTo(t,"current")},navigateOnHover:!1,openImmediately:!0,data:u.tmenu,markers:{backgroundMenu:Fi.resolve("styles-background-menu"),menu:Fi.resolve("styles-menu"),selectedMenu:Fi.resolve("styles-selected-menu"),item:Fi.resolve("styles-item"),selectedItem:Fi.resolve("styles-selected-item")}}));return a.asSpec()},Kd=function(n){return Bt(n,"items")?(e=n,t=D.deepMerge(kt(e,["items"]),{menu:!0}),o=Xd(e.items),{item:t,menus:D.deepMerge(o.menus,Dt(e.title,o.items)),expansions:D.deepMerge(o.expansions,Dt(e.title,e.title))}):{item:n,menus:{},expansions:{}};var e,t,o},Xd=function(n){return wn.foldr(n,function(n,e){var t=Kd(e);return{menus:D.deepMerge(n.menus,t.menus),items:[t.item].concat(n.items),expansions:D.deepMerge(n.expansions,t.expansions)}},{menus:{},expansions:{},items:[]})},Yd={expand:Xd},Jd=function(a,n){var c=function(n){return function(){return a.formatter.match(n)}},s=function(n){return function(){return a.formatter.getCssText(n)}},e=Et(n,"style_formats").getOr(El),f=function(n){return wn.map(n,function(n){if(Bt(n,"items")){var e=f(n.items);return D.deepMerge((u=n,D.deepMerge(u,{isSelected:O.constant(!1),getPreview:O.constant("")})),{items:e})}return Bt(n,"format")?(i=n,D.deepMerge(i,{isSelected:c(i.format),getPreview:s(i.format)})):(o=hc((t=n).title),r=D.deepMerge(t,{format:o,isSelected:c(o),getPreview:s(o)}),a.formatter.register(o,r),r);var t,o,r,i,u})};return f(e)},Qd=function(t,n,o){var e,r,i,u=(e=t,i=(r=function(n){return wn.bind(n,function(n){return n.items!==undefined?0e.innerHeight||n.bottom()>e.innerHeight?n.bottom()-e.innerHeight+50:0;0!==t&&e.scrollTo(e.pageXOffset,e.pageYOffset+t)})})].concat(!0===wm?[]:[lm(ue.fromDom(o.win()),"blur",function(){t.getByDom(e).each(Ai.off)}),lm(i,"select",n),lm(o.doc(),"selectionchange",n)]);return{destroy:function(){wn.each(a,function(n){n.unbind()})}}},Tm=function(n,e){var t=parseInt(ar.get(n,e),10);return isNaN(t)?0:t},Sm=(kf=ve.isText,Cf="text",Of=function(n){return kf(n)?x.from(n.dom().nodeValue):x.none()},Ef=Ln.detect().browser,{get:function(n){if(!kf(n))throw new Error("Can only get "+Cf+" value of a "+Cf+" node");return Df(n).getOr("")},getOption:Df=Ef.isIE()&&10===Ef.version.major?function(n){try{return Of(n)}catch(e){return x.none()}}:Of,set:function(n,e){if(!kf(n))throw new Error("Can only set raw "+Cf+" value of a "+Cf+" node");n.dom().nodeValue=e}}),km=function(n){return Sm.getOption(n)},Cm=function(n){return"img"===ve.name(n)?1:km(n).fold(function(){return qe.children(n).length},function(n){return n.length})},Om=Cm,Em=st([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Dm={before:Em.before,on:Em.on,after:Em.after,cata:function(n,e,t,o){return n.fold(e,t,o)},getStart:function(n){return n.fold(O.identity,O.identity,O.identity)}},Am=st([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),Mm=Ee.immutable("start","soffset","finish","foffset"),Bm={domRange:Am.domRange,relative:Am.relative,exact:Am.exact,exactFromRange:function(n){return Am.exact(n.start(),n.soffset(),n.finish(),n.foffset())},range:Mm,getWin:function(n){var e=n.match({domRange:function(n){return ue.fromDom(n.startContainer)},relative:function(n,e){return Dm.getStart(n)},exact:function(n,e,t,o){return n}});return qe.defaultView(e)}},Rm=function(n,e,t,o){var r=qe.owner(n).dom().createRange();return r.setStart(n.dom(),e),r.setEnd(t.dom(),o),r},Im=function(n,e,t,o){var r=Rm(n,e,t,o),i=je(n,t)&&e===o;return r.collapsed&&!i},Fm=function(n,e){n.selectNodeContents(e.dom())},Nm=function(n){n.deleteContents()},Vm=function(n){return{left:O.constant(n.left),top:O.constant(n.top),right:O.constant(n.right),bottom:O.constant(n.bottom),width:O.constant(n.width),height:O.constant(n.height)}},Hm={create:function(n){return n.document.createRange()},replaceWith:function(n,e){Nm(n),n.insertNode(e.dom())},selectNodeContents:function(n,e){var t=n.document.createRange();return Fm(t,e),t},selectNodeContentsUsing:Fm,relativeToNative:function(n,e,t){var o,r,i=n.document.createRange();return o=i,e.fold(function(n){o.setStartBefore(n.dom())},function(n,e){o.setStart(n.dom(),e)},function(n){o.setStartAfter(n.dom())}),r=i,t.fold(function(n){r.setEndBefore(n.dom())},function(n,e){r.setEnd(n.dom(),e)},function(n){r.setEndAfter(n.dom())}),i},exactToNative:function(n,e,t,o,r){var i=n.document.createRange();return i.setStart(e.dom(),t),i.setEnd(o.dom(),r),i},deleteContents:Nm,cloneFragment:function(n){var e=n.cloneContents();return ue.fromDom(e)},getFirstRect:function(n){var e=n.getClientRects(),t=0e.innerHeight||t.bottom()>e.innerHeight?Math.min(o,t.bottom()-e.innerHeight+50):0);0!==r&&u.scrollTo(u.pageXOffset,u.pageYOffset+r)})}),ag(e,n.innerHeight)});return ag(e,n.innerHeight),{toEditing:function(){ig(u)},destroy:function(){t.unbind()}}},lg=function(n){return x.some(ue.fromDom(n.dom().contentWindow.document.body))},dg=function(n){return x.some(ue.fromDom(n.dom().contentWindow.document))},mg=function(n){return x.from(n.dom().contentWindow)},gg=function(n){return mg(n).bind(Qm)},pg=function(n){return n.getFrame()},hg=function(n,t){return function(e){return e[n].getOrThunk(function(){var n=pg(e);return function(){return t(n)}})()}},vg=function(n,e,t,o){return n[t].getOrThunk(function(){return function(n){return lm(e,o,n)}})},yg=function(n){return{left:O.constant(n.left),top:O.constant(n.top),right:O.constant(n.right),bottom:O.constant(n.bottom),width:O.constant(n.width),height:O.constant(n.height)}},bg={getBody:hg("getBody",lg),getDoc:hg("getDoc",dg),getWin:hg("getWin",mg),getSelection:hg("getSelection",gg),getFrame:pg,getActiveApi:function(a){var c=pg(a);return lg(c).bind(function(u){return dg(c).bind(function(i){return mg(c).map(function(r){var n=ue.fromDom(i.dom().documentElement),e=a.getCursorBox.getOrThunk(function(){return function(){return Zm(r).bind(function(n){return eg(r,n).orThunk(function(){return Qm(r).filter(function(n){return je(n.start(),n.finish())&&n.soffset()===n.foffset()}).bind(function(n){var e=n.start().dom().getBoundingClientRect();return 0