!       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                Safe24Sfront_One specific and incomplete specifications of event-handlers geared towards their use with JS.4front0Pretty-printer for command expected from Client.5  3210/.-,+*)('&%$#"! 453210/.-,+*)('&%$#"!   4None 24=?@ACEMSXk-QfrontVUsed for applying attributes. You should not define your own instances of this class.Rfront!Apply an attribute to an element.Example: img ! src "foo.png"Result: <img src="foo.png" />,This can be used on nested elements as well.Example: #p ! style "float: right" $ "Hello!"Result: "<p style="float: right">Hello!</p>Sfront,The type for the value part of an attribute.VfrontType for an attribute.XfrontWType for an HTML tag. This can be seen as an internal string type used by BlazeMarkup.YfrontSimplification of the Z datatype.ZfrontThe core Markup datatype. The ev[ type-parameter tracks the type of events that can be raised when this Markup is rendered.[front*Map all actions created by the inner Html.\frontFInstall event handlers for the given event on all immediate children.]frontTag, open tag, end tag, content^front Custom parent_frontTag, open tag, end tag`front Custom leafafront HTML contentbfront Concatenation of two HTML piecescfrontXAdd an attribute to the inner HTML. Raw key, key, value, HTML to receive the attribute.dfront)Add a custom attribute to the inner HTML.efront Empty HTML.ffrontCreate a custom parent elementgfrontCreate a custom leaf elementhfrontQCreate an HTML attribute that can be applied to an HTML element later using the R operator.ifrontHFrom HTML 5 onwards, the user is able to specify custom data attributes. An example: <p data-foo="bar">Hello.</p>qWe support this in BlazeMarkup using this funcion. The above fragment could be described using BlazeMarkup with: (p ! dataAttribute "foo" "bar" $ "Hello."jfrontmCreate a custom attribute. This is not specified in the HTML spec, but some JavaScript libraries rely on it. An example: &<select dojoType="select">foo</select>Can be produced using: 4select ! customAttribute "dojoType" "select" $ "foo"kfrontHRender text. Functions like these can be used to supply content in HTML.lfrontRender text without escaping.mfront A variant of k for lazy  .nfront A variant of l for lazy  ofrontCreate an HTML snippet from a C.pfrontCreate an HTML snippet from a C without escapingqfront Insert a C. This is an unsafe operation:The C could have the wrong encoding.The C@ might contain illegal HTML characters (no escaping is done).rfrontInsert a lazy  . See q. for reasons why this is an unsafe operation.sfront Create a X from some C.tfront Create a X from a C.ufrontRender an attribute value from C.vfrontRender an attribute value from C without escaping.wfront A variant of u for lazy  xfront A variant of v for lazy  yfront!Create an attribute value from a C.zfront!Create an attribute value from a C without escaping.{front!Create an attribute value from a C. See q0 for reasons why this might not be a good idea.|front&Create an attribute value from a lazy  . See q/ for reasons why this might not be a good idea.}front>Shorthand for setting an attribute depending on a conditional.Example: %p !? (isBig, A.class "big") $ "Hello"Gives the same result as: 0(if isBig then p ! A.class "big" else p) "Hello"~front1Mark HTML as external data. External data can be:CSS data in a  style tag;Script data in a  script tag.6This function is applied automatically when using the style or script combinators.front+Take only the text content of an HTML tree. 2contents $ do p ! $ "Hello " p ! $ "Word!"Result:  Hello World!front Check if a Y: value is completely empty (renders to the empty string).ffront Element tagfrontContentfrontResulting markupgfront Element tagfrontClose the leaf?frontResulting markuphfrontRaw keyfront)Shared key string for the HTML attribute.frontValue for the HTML attribute.frontResulting HTML attribute.ifrontName of the attribute.frontValue for the attribute.frontResulting HTML attribute.jfrontName of the attributefrontValue for the attributefrontResulting HTML attribtuekfrontText to render.frontResulting HTML fragment.lfrontText to insertfrontResulting HTML fragmentmfrontText to insertfrontResulting HTML fragmentnfrontText to insertfrontResulting HTML fragmentofrontString to insert.frontResulting HTML fragment.pfrontString to insert.frontResulting HTML fragment.qfrontValue to insert.frontResulting HTML fragment.rfrontValue to insertfrontResulting HTML fragmentsfrontText to create a tag fromfront Resulting tagtfrontString to create a tag fromfront Resulting tagufrontThe actual value.frontResulting attribute value.vfrontThe actual valuefrontResulting attribute valuewfrontThe actual valuefrontResulting attribute valuexfrontThe actual valuefrontResulting attribute value{frontByteString valuefrontResulting attribute value|frontByteString valuefrontResulting attribute value>CKJEIHGDFLMPNOQRSTUVWXYZe[\]^_`abcdfghijklmnopqrstuvwxyz{|}~>CKJEIHGDFLMPNOZe[\]^_`abcdYXVWSTUfghijklmnopqrstuvwxyz{|QR}~NoneFbfrontCombinator for the accept attribute.Example: div ! accept "bar" $ "Hello."Result: <div accept="bar">Hello.</div>frontCombinator for the  accessKey attribute.Example:  div ! accesskey "bar" $ "Hello."Result: !<div accessKey="bar">Hello.</div>frontCombinator for the action attribute.Example: div ! action "bar" $ "Hello."Result: <div action="bar">Hello.</div>frontCombinator for the allowFullScreen attribute.Example: &div ! allowfullscreen "bar" $ "Hello."Result: '<div allowFullScreen="bar">Hello.</div>frontCombinator for the allowTransparency attribute.Example: (div ! allowtransparency "bar" $ "Hello."Result: )<div allowTransparency="bar">Hello.</div>frontCombinator for the alt attribute.Example: div ! alt "bar" $ "Hello."Result: <div alt="bar">Hello.</div>frontCombinator for the async attribute.Example: div ! async "bar" $ "Hello."Result: <div async="bar">Hello.</div>frontCombinator for the autoCapitalize attribute.Example: %div ! autocapitalize "bar" $ "Hello."Result: &<div autoCapitalize="bar">Hello.</div>frontCombinator for the  autoComplete attribute.Example: #div ! autocomplete "bar" $ "Hello."Result: $<div autoComplete="bar">Hello.</div>frontCombinator for the  autoCorrect attribute.Example: "div ! autocorrect "bar" $ "Hello."Result: #<div autoCorrect="bar">Hello.</div>frontCombinator for the  autoFocus attribute.Example:  div ! autofocus "bar" $ "Hello."Result: !<div autoFocus="bar">Hello.</div>frontCombinator for the autoPlay attribute.Example: div ! autoplay "bar" $ "Hello."Result:  <div autoPlay="bar">Hello.</div>frontCombinator for the  cellPadding attribute.Example: "div ! cellpadding "bar" $ "Hello."Result: #<div cellPadding="bar">Hello.</div>frontCombinator for the  cellSpacing attribute.Example: "div ! cellspacing "bar" $ "Hello."Result: #<div cellSpacing="bar">Hello.</div>frontCombinator for the charSet attribute.Example: div ! charset "bar" $ "Hello."Result: <div charSet="bar">Hello.</div>frontCombinator for the checked attribute.Example: div ! checked "bar" $ "Hello."Result: <div checked="bar">Hello.</div>frontCombinator for the  className attribute.Example: div ! class_ "bar" $ "Hello."Result: !<div className="bar">Hello.</div>frontCombinator for the colSpan attribute.Example: div ! colspan "bar" $ "Hello."Result: <div colSpan="bar">Hello.</div>frontCombinator for the cols attribute.Example: div ! cols "bar" $ "Hello."Result: <div cols="bar">Hello.</div>frontCombinator for the content attribute.Example: div ! content "bar" $ "Hello."Result: <div content="bar">Hello.</div>frontCombinator for the contentEditable attribute.Example: &div ! contenteditable "bar" $ "Hello."Result: '<div contentEditable="bar">Hello.</div>frontCombinator for the  contextMenu attribute.Example: "div ! contextmenu "bar" $ "Hello."Result: #<div contextMenu="bar">Hello.</div>frontCombinator for the controls attribute.Example: div ! controls "bar" $ "Hello."Result:  <div controls="bar">Hello.</div>frontCombinator for the coords attribute.Example: div ! coords "bar" $ "Hello."Result: <div coords="bar">Hello.</div>frontCombinator for the  crossOrigin attribute.Example: "div ! crossorigin "bar" $ "Hello."Result: #<div crossOrigin="bar">Hello.</div>frontCombinator for the data attribute.Example: div ! data_ "bar" $ "Hello."Result: <div data="bar">Hello.</div>frontCombinator for the dateTime attribute.Example: div ! datetime "bar" $ "Hello."Result:  <div dateTime="bar">Hello.</div>frontCombinator for the defer attribute.Example: div ! defer "bar" $ "Hello."Result: <div defer="bar">Hello.</div>frontCombinator for the dir attribute.Example: div ! dir "bar" $ "Hello."Result: <div dir="bar">Hello.</div>frontCombinator for the disabled attribute.Example: div ! disabled "bar" $ "Hello."Result:  <div disabled="bar">Hello.</div>frontCombinator for the download attribute.Example: div ! download "bar" $ "Hello."Result:  <div download="bar">Hello.</div>frontCombinator for the  draggable attribute.Example:  div ! draggable "bar" $ "Hello."Result: !<div draggable="bar">Hello.</div>frontCombinator for the encType attribute.Example: div ! enctype "bar" $ "Hello."Result: <div encType="bar">Hello.</div>frontCombinator for the form attribute.Example: div ! form "bar" $ "Hello."Result: <div form="bar">Hello.</div>frontCombinator for the formNoValidate attribute.Example: %div ! formnovalidate "bar" $ "Hello."Result: &<div formNoValidate="bar">Hello.</div>frontCombinator for the  frameBorder attribute.Example: "div ! frameborder "bar" $ "Hello."Result: #<div frameBorder="bar">Hello.</div>frontCombinator for the height attribute.Example: div ! height "bar" $ "Hello."Result: <div height="bar">Hello.</div>frontCombinator for the hidden attribute.Example: div ! hidden "bar" $ "Hello."Result: <div hidden="bar">Hello.</div>frontCombinator for the href attribute.Example: div ! href "bar" $ "Hello."Result: <div href="bar">Hello.</div>frontCombinator for the hrefLang attribute.Example: div ! hreflang "bar" $ "Hello."Result:  <div hrefLang="bar">Hello.</div>frontCombinator for the htmlFor attribute.Example: div ! for "bar" $ "Hello."Result: <div htmlFor="bar">Hello.</div>frontCombinator for the  httpEquiv attribute.Example:  div ! httpequiv "bar" $ "Hello."Result: !<div httpEquiv="bar">Hello.</div>frontCombinator for the icon attribute.Example: div ! icon "bar" $ "Hello."Result: <div icon="bar">Hello.</div>frontCombinator for the id attribute.Example: div ! id "bar" $ "Hello."Result: <div id="bar">Hello.</div>frontCombinator for the itemProp attribute.Example: div ! itemprop "bar" $ "Hello."Result:  <div itemProp="bar">Hello.</div>frontCombinator for the  itemScope attribute.Example:  div ! itemscope "bar" $ "Hello."Result: !<div itemScope="bar">Hello.</div>frontCombinator for the itemType attribute.Example: div ! itemtype "bar" $ "Hello."Result:  <div itemType="bar">Hello.</div>frontCombinator for the key attribute.Example: div ! key "bar" $ "Hello."Result: <div key="bar">Hello.</div>frontCombinator for the label attribute.Example: div ! label "bar" $ "Hello."Result: <div label="bar">Hello.</div>frontCombinator for the lang attribute.Example: div ! lang "bar" $ "Hello."Result: <div lang="bar">Hello.</div>frontCombinator for the list attribute.Example: div ! list "bar" $ "Hello."Result: <div list="bar">Hello.</div>frontCombinator for the loop attribute.Example: div ! loop "bar" $ "Hello."Result: <div loop="bar">Hello.</div>frontCombinator for the max attribute.Example: div ! max "bar" $ "Hello."Result: <div max="bar">Hello.</div>frontCombinator for the  maxLength attribute.Example:  div ! maxlength "bar" $ "Hello."Result: !<div maxLength="bar">Hello.</div>frontCombinator for the  mediaGroup attribute.Example: !div ! mediagroup "bar" $ "Hello."Result: "<div mediaGroup="bar">Hello.</div>frontCombinator for the method attribute.Example: div ! method "bar" $ "Hello."Result: <div method="bar">Hello.</div>frontCombinator for the min attribute.Example: div ! min "bar" $ "Hello."Result: <div min="bar">Hello.</div>frontCombinator for the multiple attribute.Example: div ! multiple "bar" $ "Hello."Result:  <div multiple="bar">Hello.</div>frontCombinator for the muted attribute.Example: div ! muted "bar" $ "Hello."Result: <div muted="bar">Hello.</div>frontCombinator for the name attribute.Example: div ! name "bar" $ "Hello."Result: <div name="bar">Hello.</div>frontCombinator for the  noValidate attribute.Example: !div ! novalidate "bar" $ "Hello."Result: "<div noValidate="bar">Hello.</div>frontCombinator for the pattern attribute.Example: div ! pattern "bar" $ "Hello."Result: <div pattern="bar">Hello.</div>frontCombinator for the  placeholder attribute.Example: "div ! placeholder "bar" $ "Hello."Result: #<div placeholder="bar">Hello.</div>frontCombinator for the poster attribute.Example: div ! poster "bar" $ "Hello."Result: <div poster="bar">Hello.</div>frontCombinator for the preload attribute.Example: div ! preload "bar" $ "Hello."Result: <div preload="bar">Hello.</div>frontCombinator for the property attribute.Example: div ! property "bar" $ "Hello."Result:  <div property="bar">Hello.</div>frontCombinator for the  radioGroup attribute.Example: !div ! radiogroup "bar" $ "Hello."Result: "<div radioGroup="bar">Hello.</div>frontCombinator for the readOnly attribute.Example: div ! readonly "bar" $ "Hello."Result:  <div readOnly="bar">Hello.</div>frontCombinator for the rel attribute.Example: div ! rel "bar" $ "Hello."Result: <div rel="bar">Hello.</div>frontCombinator for the required attribute.Example: div ! required "bar" $ "Hello."Result:  <div required="bar">Hello.</div>frontCombinator for the role attribute.Example: div ! role "bar" $ "Hello."Result: <div role="bar">Hello.</div>frontCombinator for the rowSpan attribute.Example: div ! rowspan "bar" $ "Hello."Result: <div rowSpan="bar">Hello.</div>frontCombinator for the rows attribute.Example: div ! rows "bar" $ "Hello."Result: <div rows="bar">Hello.</div>frontCombinator for the sandbox attribute.Example: div ! sandbox "bar" $ "Hello."Result: <div sandbox="bar">Hello.</div>frontCombinator for the scope attribute.Example: div ! scope "bar" $ "Hello."Result: <div scope="bar">Hello.</div>frontCombinator for the  scrollLeft attribute.Example: !div ! scrollleft "bar" $ "Hello."Result: "<div scrollLeft="bar">Hello.</div>frontCombinator for the  scrollTop attribute.Example:  div ! scrolltop "bar" $ "Hello."Result: !<div scrollTop="bar">Hello.</div>frontCombinator for the  scrolling attribute.Example:  div ! scrolling "bar" $ "Hello."Result: !<div scrolling="bar">Hello.</div>frontCombinator for the seamless attribute.Example: div ! seamless "bar" $ "Hello."Result:  <div seamless="bar">Hello.</div>frontCombinator for the selected attribute.Example: div ! selected "bar" $ "Hello."Result:  <div selected="bar">Hello.</div>frontCombinator for the shape attribute.Example: div ! shape "bar" $ "Hello."Result: <div shape="bar">Hello.</div>frontCombinator for the size attribute.Example: div ! size "bar" $ "Hello."Result: <div size="bar">Hello.</div>frontCombinator for the span attribute.Example: div ! span "bar" $ "Hello."Result: <div span="bar">Hello.</div>frontCombinator for the  spellCheck attribute.Example: !div ! spellcheck "bar" $ "Hello."Result: "<div spellCheck="bar">Hello.</div>frontCombinator for the src attribute.Example: div ! src "bar" $ "Hello."Result: <div src="bar">Hello.</div>frontCombinator for the srcDoc attribute.Example: div ! srcdoc "bar" $ "Hello."Result: <div srcDoc="bar">Hello.</div>frontCombinator for the srcSet attribute.Example: div ! srcset "bar" $ "Hello."Result: <div srcSet="bar">Hello.</div>frontCombinator for the start attribute.Example: div ! start "bar" $ "Hello."Result: <div start="bar">Hello.</div>frontCombinator for the step attribute.Example: div ! step "bar" $ "Hello."Result: <div step="bar">Hello.</div>frontCombinator for the style attribute.frontCombinator for the tabIndex attribute.Example: div ! tabindex "bar" $ "Hello."Result:  <div tabIndex="bar">Hello.</div>frontCombinator for the target attribute.Example: div ! target "bar" $ "Hello."Result: <div target="bar">Hello.</div>frontCombinator for the title attribute.Example: div ! title "bar" $ "Hello."Result: <div title="bar">Hello.</div>frontCombinator for the type attribute.Example: div ! type_ "bar" $ "Hello."Result: <div type="bar">Hello.</div>frontCombinator for the useMap attribute.Example: div ! usemap "bar" $ "Hello."Result: <div useMap="bar">Hello.</div>frontCombinator for the value attribute.Example: div ! value "bar" $ "Hello."Result: <div value="bar">Hello.</div>frontCombinator for the width attribute.Example: div ! width "bar" $ "Hello."Result: <div width="bar">Hello.</div>frontCombinator for the wmode attribute.Example: div ! wmode "bar" $ "Hello."Result: <div wmode="bar">Hello.</div>bfrontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.frontAttribute value.frontResulting attribute.bbNone4jfront(Modify all event handlers attached to a YU tree so that the given function is applied to the return values of their callbacks.frontIThe user has pressed a physical key while the target element was focused.frontJThe user has released a phyiscal key while the target element was focused.frontDThe user has input some ASCII character while the target element wasfront*The focus has moved to the target element.front&The focus has left the target element.frontThe value property of the target element has changed. The new value is passed as a parameter to the callback. This handler is supported for  input,  textarea, and  select elements.frontThe checkedL property of the target element has changed. This handler is supported for  input elements of type checkbox or radio.frontThe selectedP property of the the target element has changed. This handler is supported for  option elements.frontGThe user has submitted the target form. This handler is supported for  form elements.frontA simplified version of  which watches for the  LeftButton' only and ignores the cursor position.frontA simplified version of  which watches for the  LeftButton' only and ignores the cursor position.frontA simplified version of  which watches for the  LeftButton' only and ignores the cursor position.frontA simplified version of  which watches for the  LeftButton' only and ignores the cursor position.frontThe mouse cursor has moved while positioned over the target element. The mouse position at the time the event was fired is passed as a parameter to the callback.frontThe mouse cursor has entered the region occupied by the target element. The mouse position at the time the event was fired is passed as a parameter to the callback.frontThe mouse cursor has left the region occupied by the target element. The mouse position at the time the event was fired is passed as a parameter to the callback.front2Like MouseEnter, but handles bubbling differently.front2Like MouseLeave, but handles bubbling differently.frontThe the scroll-position of the page has changed. The amount by which it has changed (in lines) is passed as a parameter to the callback.frontThe user has moved the scroll-wheel. The amount by which the scroll position of an infinitely large page is affected is passed as a parameter to the callback. frontRegister an event handler.None=?tfront?Class allowing us to use a single function for attribute valuesfront%Convert a value to an attribute valuefront6Convert a value to an attribute value without escaping front<Class allowing us to use a single function for Markup values frontConvert a value to Markup. front*Convert a value to Markup without escapingRSVXYijqrst{|}   YXVSij   qrst{|R}NoneX+frontIContains an IO action which generates the callback to attach to the event,front%JS defines the following event types:Ofront.Escape predefined XML entities in a text valuePfront Render a C.Qfront Render some Y to a virtual dom.This function is morally pure.OfrontText to escapefrontResulting text builderPfrontString to renderfrontString to appendfrontResulting string-)+*,NMLKJIHGFEDCBA@?>=<;:9876543210/.-OPQRSTU-OPQR,NMLKJIHGFEDCBA@?>=<;:9876543210/.-S)+*TUNoneH(RSVXYijqrst{|}   VWXYZ[\]^_`abcdefghVWXYZ[\]^_`abcdefghNone mlfrontWCombinator for the document type. This should be placed at the top of every HTML page.Example: docTypeResult: <!DOCTYPE HTML>mfrontCombinator for the <html>@ element. This combinator will also insert the correct doctype.Example: !docTypeHtml $ span $ toHtml "foo"Result: -<!DOCTYPE HTML> <html><span>foo</span></html>nfrontCombinator for the <a> element.Example: a $ span $ toHtml "foo"Result: <a><span>foo</span></a>ofrontCombinator for the <abbr> element.Example: abbr $ span $ toHtml "foo"Result: <abbr><span>foo</span></abbr>pfrontCombinator for the  <address> element.Example: address $ span $ toHtml "foo"Result: #<address><span>foo</span></address>qfrontCombinator for the <area /> element.Example: areaResult: <area />rfrontCombinator for the  <article> element.Example: article $ span $ toHtml "foo"Result: #<article><span>foo</span></article>sfrontCombinator for the <aside> element.Example: aside $ span $ toHtml "foo"Result: <aside><span>foo</span></aside>tfrontCombinator for the <audio> element.Example: audio $ span $ toHtml "foo"Result: <audio><span>foo</span></audio>ufrontCombinator for the <b> element.Example: b $ span $ toHtml "foo"Result: <b><span>foo</span></b>vfrontCombinator for the <base /> element.Example: baseResult: <base />wfrontCombinator for the <bdo> element.Example: bdo $ span $ toHtml "foo"Result: <bdo><span>foo</span></bdo>xfrontCombinator for the  <blockquote> element.Example:  blockquote $ span $ toHtml "foo"Result: )<blockquote><span>foo</span></blockquote>yfrontCombinator for the <body> element.Example: body $ span $ toHtml "foo"Result: <body><span>foo</span></body>zfrontCombinator for the <br /> element.Example: brResult: <br />{frontCombinator for the <button> element.Example: button $ span $ toHtml "foo"Result: !<button><span>foo</span></button>|frontCombinator for the <canvas> element.Example: canvas $ span $ toHtml "foo"Result: !<canvas><span>foo</span></canvas>}frontCombinator for the  <caption> element.Example: caption $ span $ toHtml "foo"Result: #<caption><span>foo</span></caption>~frontCombinator for the <cite> element.Example: cite $ span $ toHtml "foo"Result: <cite><span>foo</span></cite>frontCombinator for the <code> element.Example: code $ span $ toHtml "foo"Result: <code><span>foo</span></code>frontCombinator for the <col /> element.Example: colResult: <col />frontCombinator for the  <colgroup> element.Example: colgroup $ span $ toHtml "foo"Result: %<colgroup><span>foo</span></colgroup>frontCombinator for the  <command> element.Example: command $ span $ toHtml "foo"Result: #<command><span>foo</span></command>frontCombinator for the  <datalist> element.Example: datalist $ span $ toHtml "foo"Result: %<datalist><span>foo</span></datalist>frontCombinator for the <dd> element.Example: dd $ span $ toHtml "foo"Result: <dd><span>foo</span></dd>frontCombinator for the <del> element.Example: del $ span $ toHtml "foo"Result: <del><span>foo</span></del>frontCombinator for the  <details> element.Example: details $ span $ toHtml "foo"Result: #<details><span>foo</span></details>frontCombinator for the <dfn> element.Example: dfn $ span $ toHtml "foo"Result: <dfn><span>foo</span></dfn>frontCombinator for the <div> element.Example: div $ span $ toHtml "foo"Result: <div><span>foo</span></div>frontCombinator for the <dl> element.Example: dl $ span $ toHtml "foo"Result: <dl><span>foo</span></dl>frontCombinator for the <dt> element.Example: dt $ span $ toHtml "foo"Result: <dt><span>foo</span></dt>frontCombinator for the <em> element.Example: em $ span $ toHtml "foo"Result: <em><span>foo</span></em>frontCombinator for the  <embed /> element.Example: embedResult:  <embed />frontCombinator for the  <fieldset> element.Example: fieldset $ span $ toHtml "foo"Result: %<fieldset><span>foo</span></fieldset>frontCombinator for the  <figcaption> element.Example:  figcaption $ span $ toHtml "foo"Result: )<figcaption><span>foo</span></figcaption>frontCombinator for the <figure> element.Example: figure $ span $ toHtml "foo"Result: !<figure><span>foo</span></figure>frontCombinator for the <footer> element.Example: footer $ span $ toHtml "foo"Result: !<footer><span>foo</span></footer>frontCombinator for the <form> element.Example: form $ span $ toHtml "foo"Result: <form><span>foo</span></form>frontCombinator for the <h1> element.Example: h1 $ span $ toHtml "foo"Result: <h1><span>foo</span></h1>frontCombinator for the <h2> element.Example: h2 $ span $ toHtml "foo"Result: <h2><span>foo</span></h2>frontCombinator for the <h3> element.Example: h3 $ span $ toHtml "foo"Result: <h3><span>foo</span></h3>frontCombinator for the <h4> element.Example: h4 $ span $ toHtml "foo"Result: <h4><span>foo</span></h4>frontCombinator for the <h5> element.Example: h5 $ span $ toHtml "foo"Result: <h5><span>foo</span></h5>frontCombinator for the <h6> element.Example: h6 $ span $ toHtml "foo"Result: <h6><span>foo</span></h6>frontCombinator for the <head> element.Example: head $ span $ toHtml "foo"Result: <head><span>foo</span></head>frontCombinator for the <header> element.Example: header $ span $ toHtml "foo"Result: !<header><span>foo</span></header>frontCombinator for the <hgroup> element.Example: hgroup $ span $ toHtml "foo"Result: !<hgroup><span>foo</span></hgroup>frontCombinator for the <hr /> element.Example: hrResult: <hr />frontCombinator for the <html> element.Example: html $ span $ toHtml "foo"Result: <html><span>foo</span></html>frontCombinator for the <i> element.Example: i $ span $ toHtml "foo"Result: <i><span>foo</span></i>frontCombinator for the <iframe> element.Example: iframe $ span $ toHtml "foo"Result: !<iframe><span>foo</span></iframe>frontCombinator for the <img /> element.Example: imgResult: <img />frontCombinator for the  <input /> element.Example: inputResult:  <input />frontCombinator for the <ins> element.Example: ins $ span $ toHtml "foo"Result: <ins><span>foo</span></ins>frontCombinator for the <kbd> element.Example: kbd $ span $ toHtml "foo"Result: <kbd><span>foo</span></kbd>frontCombinator for the  <keygen /> element.Example: keygenResult:  <keygen />frontCombinator for the <label> element.Example: label $ span $ toHtml "foo"Result: <label><span>foo</span></label>frontCombinator for the <legend> element.Example: legend $ span $ toHtml "foo"Result: !<legend><span>foo</span></legend>frontCombinator for the <li> element.Example: li $ span $ toHtml "foo"Result: <li><span>foo</span></li>frontCombinator for the <link /> element.Example: linkResult: <link />frontCombinator for the <map> element.Example: map $ span $ toHtml "foo"Result: <map><span>foo</span></map>frontCombinator for the <mark> element.Example: mark $ span $ toHtml "foo"Result: <mark><span>foo</span></mark>frontCombinator for the <menu> element.Example: menu $ span $ toHtml "foo"Result: <menu><span>foo</span></menu>frontCombinator for the  <menuitem /> element.Example: menuitemResult:  <menuitem />frontCombinator for the <meta /> element.Example: metaResult: <meta />frontCombinator for the <meter> element.Example: meter $ span $ toHtml "foo"Result: <meter><span>foo</span></meter>frontCombinator for the <nav> element.Example: nav $ span $ toHtml "foo"Result: <nav><span>foo</span></nav>frontCombinator for the  <noscript> element.Example: noscript $ span $ toHtml "foo"Result: %<noscript><span>foo</span></noscript>frontCombinator for the <object> element.Example: object $ span $ toHtml "foo"Result: !<object><span>foo</span></object>frontCombinator for the <ol> element.Example: ol $ span $ toHtml "foo"Result: <ol><span>foo</span></ol>frontCombinator for the  <optgroup> element.Example: optgroup $ span $ toHtml "foo"Result: %<optgroup><span>foo</span></optgroup>frontCombinator for the <option> element.Example: option $ span $ toHtml "foo"Result: !<option><span>foo</span></option>frontCombinator for the <output> element.Example: output $ span $ toHtml "foo"Result: !<output><span>foo</span></output>frontCombinator for the <p> element.Example: p $ span $ toHtml "foo"Result: <p><span>foo</span></p>frontCombinator for the  <param /> element.Example: paramResult:  <param />frontCombinator for the <pre> element.Example: pre $ span $ toHtml "foo"Result: <pre><span>foo</span></pre>frontCombinator for the  <progress> element.Example: progress $ span $ toHtml "foo"Result: %<progress><span>foo</span></progress>frontCombinator for the <q> element.Example: q $ span $ toHtml "foo"Result: <q><span>foo</span></q>frontCombinator for the <rp> element.Example: rp $ span $ toHtml "foo"Result: <rp><span>foo</span></rp>frontCombinator for the <rt> element.Example: rt $ span $ toHtml "foo"Result: <rt><span>foo</span></rt>frontCombinator for the <ruby> element.Example: ruby $ span $ toHtml "foo"Result: <ruby><span>foo</span></ruby>frontCombinator for the <samp> element.Example: samp $ span $ toHtml "foo"Result: <samp><span>foo</span></samp>frontCombinator for the <script> element.Example: script $ span $ toHtml "foo"Result: !<script><span>foo</span></script>frontCombinator for the  <section> element.Example: section $ span $ toHtml "foo"Result: #<section><span>foo</span></section>frontCombinator for the <select> element.Example: select $ span $ toHtml "foo"Result: !<select><span>foo</span></select>frontCombinator for the <small> element.Example: small $ span $ toHtml "foo"Result: <small><span>foo</span></small>frontCombinator for the  <source /> element.Example: sourceResult:  <source />frontCombinator for the <span> element.Example: span $ span $ toHtml "foo"Result: <span><span>foo</span></span>frontCombinator for the <strong> element.Example: strong $ span $ toHtml "foo"Result: !<strong><span>foo</span></strong>frontCombinator for the <style> element.Example: style $ span $ toHtml "foo"Result: <style><span>foo</span></style>frontCombinator for the <sub> element.Example: sub $ span $ toHtml "foo"Result: <sub><span>foo</span></sub>frontCombinator for the  <summary> element.Example: summary $ span $ toHtml "foo"Result: #<summary><span>foo</span></summary>frontCombinator for the <sup> element.Example: sup $ span $ toHtml "foo"Result: <sup><span>foo</span></sup>frontCombinator for the <svg> element.Example: Hsvg ! width "100" ! height "100" $ circle ! cx "50" ! cy "50" ! r "40"Result: D<svg width="100" height="100"><circle cx="50" cy="50" r="40"/></svg>frontCombinator for the <table> element.Example: table $ span $ toHtml "foo"Result: <table><span>foo</span></table>frontCombinator for the <tbody> element.Example: tbody $ span $ toHtml "foo"Result: <tbody><span>foo</span></tbody>frontCombinator for the <td> element.Example: td $ span $ toHtml "foo"Result: <td><span>foo</span></td>frontCombinator for the  <textarea> element.Example: textarea $ span $ toHtml "foo"Result: %<textarea><span>foo</span></textarea>frontCombinator for the <tfoot> element.Example: tfoot $ span $ toHtml "foo"Result: <tfoot><span>foo</span></tfoot>frontCombinator for the <th> element.Example: th $ span $ toHtml "foo"Result: <th><span>foo</span></th>frontCombinator for the <thead> element.Example: thead $ span $ toHtml "foo"Result: <thead><span>foo</span></thead>frontCombinator for the <time> element.Example: time $ span $ toHtml "foo"Result: <time><span>foo</span></time>frontCombinator for the <title> element.Example: title $ span $ toHtml "foo"Result: <title><span>foo</span></title>frontCombinator for the <tr> element.Example: tr $ span $ toHtml "foo"Result: <tr><span>foo</span></tr>frontCombinator for the  <track /> element.Example: trackResult:  <track />frontCombinator for the <ul> element.Example: ul $ span $ toHtml "foo"Result: <ul><span>foo</span></ul>frontCombinator for the <var> element.Example: var $ span $ toHtml "foo"Result: <var><span>foo</span></var>frontCombinator for the <video> element.Example: video $ span $ toHtml "foo"Result: <video><span>foo</span></video>frontCombinator for the <wbr /> element.Example: wbrResult: <wbr />llfrontThe document type HTML.mfront Inner HTML.frontResulting HTML.nfront Inner HTML.frontResulting HTML.ofront Inner HTML.frontResulting HTML.pfront Inner HTML.frontResulting HTML.qfrontResulting HTML.rfront Inner HTML.frontResulting HTML.sfront Inner HTML.frontResulting HTML.tfront Inner HTML.frontResulting HTML.ufront Inner HTML.frontResulting HTML.vfrontResulting HTML.wfront Inner HTML.frontResulting HTML.xfront Inner HTML.frontResulting HTML.yfront Inner HTML.frontResulting HTML.zfrontResulting HTML.{front Inner HTML.frontResulting HTML.|front Inner HTML.frontResulting HTML.}front Inner HTML.frontResulting HTML.~front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.front Inner HTML.frontResulting HTML.frontResulting HTML.RSVXYijqrst{|}   ijklmnopqrstuvwxyz{|}~pijklmnopqrstuvwxyz{|}~ NoneƲ++ None˫frontTGenerate message that will be pushed to client(s) based on underlying communication.frontDOM Element Id.frontHow to render state.frontState to render.front)Message that will be pushed to client(s). None@Afront class contains all business logic, i.e. how to change the given state ('cache model'), synchronize state for all online sessions and produce outgoing message with the  .   contains ! to separate different sessions,  to tell the Client how to handle incoming message.front$The common way how to use websocket   obtained from Handler via  .  starts two concurrent processes. First one is responsible for reading data from stream, decoding JSON message, executing custom business logic implemented by user and pushing the produced outgoing message to 1. The second process is constantly reading from ?, encoding the given message and pushing it to all subscribers.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNLMOLMPLMQLMRLMSLMTLMULMVLMWLMWLMXLMYLMZ[\]]^__`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmsnopqrstuvwxyz{|}~                                                   V  P$front-0.0.0.2-4L53sBruW5WDEhT3mXcwJdBridgeText.Blaze.Front.Internal!Text.Blaze.Front.Html5.AttributesText.Blaze.Front.EventText.Blaze.FrontText.Blaze.Front.RendererText.Blaze.Front.SvgText.Blaze.Front.Html5Text.Blaze.Front.Svg.Attributes Web.FrontWeb.Front.Broadcast RecordValue RowNumberClientIdAttrIdObjectIdHtmlText ElementId ActionType RecordAction ObjectActionActionCallbackAction RenderHtml AttachText AttachDOM ClientTaskexecuteRenderHtml executeActionExecuteStrategy ExecuteAll ExecuteExceptOutEmptyCmd ExecuteClientInPingPongSend AskEvents EventHandler OnKeyDownOnKeyUp OnKeyPressOnFocusOnBlur OnValueChangeOnCheckedChangeOnSelectedChangeOnSubmitOnClick OnDoubleClick OnMouseDown OnMouseUp OnMouseMove OnMouseEnter OnMouseLeave OnMouseOver OnMouseOutOnScrollOnWheelppIncomingCommand$fShowCallbackAction$fFunctorEventHandler$fDataEventHandler$fDataExecuteStrategy$fEqExecuteStrategy$fDataCallbackAction$fShowActionType$fDataActionType $fShowAction $fDataAction$fDataIn$fDataRenderHtml$fDataClientTask $fDataOut+blaze-markup-0.8.2.2-IwLwNWRUxfsEuYbkQ0Gv5QText.Blaze.Internal ChoiceStringAppendChoiceString ByteStringEmptyChoiceStringExternal PreEscapedStaticStringText StaticString getStringgetTextgetUtf8ByteString Attributable!AttributeValueunAttributeValue AttributeTagMarkupMarkupM MapActionsOnEventParent CustomParentLeaf CustomLeafContentAppend AddAttributeAddCustomAttributeEmpty customParent customLeaf attribute dataAttributecustomAttributetextpreEscapedTextlazyTextpreEscapedLazyTextstringpreEscapedStringunsafeByteStringunsafeLazyByteStringtextTag stringTag textValuepreEscapedTextValue lazyTextValuepreEscapedLazyTextValue stringValuepreEscapedStringValueunsafeByteStringValueunsafeLazyByteStringValue!?externalcontentsnull$fIsStringMarkupM$fMonadMarkupM$fApplicativeMarkupM$fFunctorMarkupM$fSemigroupMarkupM$fMonoidMarkupM$fSemigroupAttribute$fMonoidAttribute$fAttributable->ev$fAttributableMarkupMev $fIsStringTag$fIsStringAttributeValue$fMonoidAttributeValue$fSemigroupAttributeValueaccept accesskeyactionallowfullscreenallowtransparencyaltasyncautocapitalize autocomplete autocorrect autofocusautoplay cellpadding cellspacingcharsetcheckedclass_colspancolscontentcontenteditable contextmenucontrolscoords crossorigindata_datetimedeferdirdisableddownload draggableenctypeformformnovalidate frameborderheighthiddenhrefhreflangfor httpequiviconiditemprop itemscopeitemtypekeylabellanglistloopmax maxlength mediagroupmethodminmultiplemutedname novalidatepattern placeholderposterpreloadproperty radiogroupreadonlyrelrequiredrolerowspanrowssandboxscope scrollleft scrolltop scrollingseamlessselectedshapesizespan spellchecksrcsrcdocsrcsetstartstepstyletabindextargettitletype_usemapvaluewidthwmode mapActions onKeyDownonKeyUp onKeyPressonFocusonBlur onValueChangeonCheckedChangeonSelectedChangeonSubmitonClick onDoubleClick onMouseDown onMouseUp onMouseMove onMouseEnter onMouseLeave onMouseOver onMouseOutonScrollonWheelToValuetoValuepreEscapedToValueToMarkuptoMarkuppreEscapedToMarkup$fToMarkupWord64$fToMarkupWord32$fToMarkupWord$fToMarkupDouble$fToMarkupFloat$fToMarkupInteger$fToMarkupBool$fToMarkupChar$fToMarkupInt64$fToMarkupInt32 $fToMarkupInt $fToMarkup[]$fToMarkupText$fToMarkupText0$fToValueWord64$fToValueWord32 $fToValueWord$fToValueDouble$fToValueFloat$fToValueInteger $fToValueBool $fToValueChar$fToValueInt64$fToValueInt32 $fToValueInt $fToValue[] $fToValueText$fToValueText0$fToValueAttributeValueHandler IgnoreEvent HandleEvent EventTypeOnCopyEOnCutEOnPasteE OnKeyDownE OnKeyPressEOnKeyUpEOnFocusEOnBlurE OnChangeEOnInputE OnSubmitEOnClickEOnDoubleClickEOnDragE OnDragEndE OnDragEnterE OnDragExitE OnDragLeaveE OnDragOverE OnDragStartEOnDropE OnMouseDownE OnMouseEnterE OnMouseLeaveE OnMouseMoveE OnMouseOutE OnMouseOverE OnMouseUpEOnTouchCancelE OnTouchEndE OnTouchMoveE OnTouchStartE OnScrollEOnWheelEescapeMarkupEntitiesfromChoiceStringrender renderHtml eventNameregisterEventsrenderNewMarkupSvgtoSvgpreEscapedToSvgcircledefsellipseglinelinearGradientmaskpathpolygonpolylineradialGradientrectstoptspanHtmltoHtmlpreEscapedToHtmldocType docTypeHtmlaabbraddressareaarticleasideaudiobbasebdo blockquotebodybrbuttoncanvascaptioncitecodecolcolgroupcommanddatalistdddeldetailsdfndivdldtemembedfieldset figcaptionfigurefooterh1h2h3h4h5h6headheaderhgrouphrhtmliiframeimginputinskbdkeygenlegendlilinkmapmarkmenumenuitemmetameternavnoscriptobjectoloptgroupoptionoutputpparampreprogressqrprtrubysampscriptsectionselectsmallsourcestrongsubsummarysupsvgtabletbodytdtextareatfootththeadtimetrtrackulvarvideowbrcxcyddxdyfill fillOpacity fontFamilyfontSizefxfygradientTransform gradientUnits markerEnd markerMid markerStartoffsetopacitypatternContentUnits patternUnitspointspreserveAspectRatiorrxry spreadMethod stopColor stopOpacitystrokestrokeDasharray strokeLinecap strokeOpacity strokeWidth textAnchor transformversionviewBoxx1x2xy1y2y createTask emptyTaskCommandHandler onCommandinteract text-1.2.3.1Data.Text.Internal.Lazybytestring-0.10.8.2Data.ByteString.Lazy.InternalonEvent*websockets-0.12.5.3-8V3qPD6EQOvITwDDVb9dJHNetwork.WebSockets.Connection Connection&conduit-1.3.1.1-5AB8IW7H6qH9Kixr120BHWData.Conduit.Internal.ConduitConduit stm-2.5.0.0Control.Concurrent.STM.TChanTChan