storyFormats/Harlowe/format.js in twee2-0.4.2 vs storyFormats/Harlowe/format.js in twee2-0.5.0
- old
+ new
@@ -1 +1 @@
-window.storyFormat({"name":"Harlowe","version":"1.1.1","author":"Leon Arnott","description":"The default story format for Twine 2.","image":"icon.svg","url":"http://twinery.org/","proofing":false,"source":"<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<title>{{STORY_NAME}}</title>\n<style title=\"Twine CSS\">@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@-webkit-keyframes rumble{50%{-webkit-transform:translateY(-.2em);transform:translateY(-.2em)}}@keyframes rumble{50%{-webkit-transform:translateY(-.2em);transform:translateY(-.2em)}}@-webkit-keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@-webkit-keyframes box-flash{0%{background-color:#fff;color:#fff}}@keyframes box-flash{0%{background-color:#fff;color:#fff}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0,0);transform:scale(0,0)}20%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}40%{-webkit-transform:scale(0.9,.9);transform:scale(0.9,.9)}60%{-webkit-transform:scale(1.05,1.05);transform:scale(1.05,1.05)}80%{-webkit-transform:scale(0.925,.925);transform:scale(0.925,.925)}to{-webkit-transform:scale(1,1);transform:scale(1,1)}}@keyframes pulse{0%{-webkit-transform:scale(0,0);transform:scale(0,0)}20%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}40%{-webkit-transform:scale(0.9,.9);transform:scale(0.9,.9)}60%{-webkit-transform:scale(1.05,1.05);transform:scale(1.05,1.05)}80%{-webkit-transform:scale(0.925,.925);transform:scale(0.925,.925)}to{-webkit-transform:scale(1,1);transform:scale(1,1)}}@-webkit-keyframes shudder-in{0%,to{-webkit-transform:translateX(0em);transform:translateX(0em)}25%,45%,5%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%,35%,55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-.6em);transform:translateX(-.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-.2em);transform:translateX(-.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder-in{0%,to{-webkit-transform:translateX(0em);transform:translateX(0em)}25%,45%,5%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%,35%,55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-.6em);transform:translateX(-.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-.2em);transform:translateX(-.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}.debug-mode tw-expression[type=hookref]{background-color:rgba(114,123,140,.15)}.debug-mode tw-expression[type=hookref]::after{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"?\" attr(name)}.debug-mode tw-expression[type=variable]{background-color:rgba(140,127,114,.15)}.debug-mode tw-expression[type=variable]::after{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"$\" attr(name)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+0){background-color:rgba(135,153,102,.15)}.debug-mode tw-expression[type=macro]:nth-of-type(2n+1){background-color:rgba(102,153,102,.15)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+2){background-color:rgba(102,153,136,.15)}.debug-mode tw-expression[type=macro][name=display]{background-color:rgba(0,169,255,.1)!important}.debug-mode tw-expression[type=macro][name=else],.debug-mode tw-expression[type=macro][name=else]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name=elseif],.debug-mode tw-expression[type=macro][name=elseif]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name=if],.debug-mode tw-expression[type=macro][name=if]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name=unless],.debug-mode tw-expression[type=macro][name=unless]+tw-hook:not([name]){background-color:rgba(0,255,0,.1)!important}.debug-mode tw-expression[type=macro].false{background-color:rgba(255,0,0,.2)!important}.debug-mode tw-expression[type=macro].false+tw-hook:not([name]){display:none}.debug-mode tw-expression[type=macro][name=\"a\"],.debug-mode tw-expression[type=macro][name=array],.debug-mode tw-expression[type=macro][name=color],.debug-mode tw-expression[type=macro][name=colour],.debug-mode tw-expression[type=macro][name=datamap],.debug-mode tw-expression[type=macro][name=dataset],.debug-mode tw-expression[type=macro][name=num],.debug-mode tw-expression[type=macro][name=number],.debug-mode tw-expression[type=macro][name=print],.debug-mode tw-expression[type=macro][name=text]{background-color:rgba(254,255,0,.2)!important}.debug-mode tw-expression[type=macro][name=put],.debug-mode tw-expression[type=macro][name=set]{background-color:rgba(255,127,0,.2)!important}.debug-mode tw-expression[type=macro][name=script]{background-color:rgba(255,191,0,.2)!important}.debug-mode tw-expression[type=macro][name=style]{background-color:rgba(184,197,197,.2)!important}.debug-mode tw-expression[type=macro][name^=click],.debug-mode tw-expression[type=macro][name^=link],.debug-mode tw-expression[type=macro][name^=mouseout],.debug-mode tw-expression[type=macro][name^=mouseover]{background-color:rgba(127,223,31,.2)!important}.debug-mode tw-expression[type=macro][name^=append],.debug-mode tw-expression[type=macro][name^=prepend],.debug-mode tw-expression[type=macro][name^=remove],.debug-mode tw-expression[type=macro][name^=replace]{background-color:rgba(223,95,31,.2)!important}.debug-mode tw-expression[type=macro][name=live]{background-color:rgba(31,95,223,.2)!important}.debug-mode tw-expression[type=macro]::before{content:\"(\" attr(name) \":)\";padding:0 .5rem;font-size:1rem;vertical-align:middle;line-height:normal;background-color:inherit;border:1px solid rgba(255,255,255,.5)}.debug-mode tw-hook{background-color:rgba(0,84,255,.1)!important}.debug-mode tw-hook::before{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"[\"}.debug-mode tw-hook::after{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"]\"}.debug-mode tw-hook[name]::after{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"]<\" attr(name) \"|\"}.debug-mode tw-pseudo-hook{background-color:rgba(255,170,0,.1)!important}.debug-mode tw-collapsed::before{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"{\"}.debug-mode tw-collapsed::after{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"}\"}.debug-mode tw-verbatim::after,.debug-mode tw-verbatim::before{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:\"`\"}.debug-mode tw-align[style*=\"text-align: center\"]{background:linear-gradient(to right,rgba(255,204,188,0) 0,rgba(255,204,188,.25) 50%,rgba(255,204,188,0) 100%)}.debug-mode tw-align[style*=\"text-align: left\"]{background:linear-gradient(to right,rgba(255,204,188,.25) 0,rgba(255,204,188,0) 100%)}.debug-mode tw-align[style*=\"text-align: right\"]{background:linear-gradient(to right,rgba(255,204,188,0) 0,rgba(255,204,188,.25) 100%)}.debug-mode p{background-color:rgba(255,212,0,.1)}.debug-mode tw-enchantment{animation:enchantment .5s infinite;-webkit-animation:enchantment .5s infinite;border:1px solid}.debug-mode tw-broken-link::after,.debug-mode tw-link::after{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:attr(passage-name)}.debug-mode tw-include{background-color:rgba(204,127,50,.1)}.debug-mode tw-include::before{font-size:.8rem;padding-left:.2rem;padding-right:.2rem;vertical-align:top;content:attr(type) \" \\\"\" attr(title) \"\\\"\"}@keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}@-webkit-keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}tw-debugger{position:fixed;bottom:0;right:0;z-index:999999;min-width:10em;min-height:1em;padding:1em;font-size:1.5em;border-left:solid #000 2px;border-top:solid #000 2px;border-top-left-radius:.5em;background:#fff;transition:opacity .2s;-webkit-transition:opacity .2s;opacity:.8}@media screen and (max-width:1280px){tw-debugger{font-size:1.25em}}@media screen and (max-width:960px){tw-debugger{font-size:1em}}@media screen and (max-width:640px){tw-debugger{font-size:.8em}}tw-debugger:hover{opacity:1}.show-invisibles{border-radius:3px;border:1px solid #999;background-color:#fff;font-size:inherit}.debug-mode .show-invisibles{background-color:#eee;box-shadow:inset #ddd 3px 5px .5em}.link,tw-icon,tw-link{cursor:pointer}.enchantment-link,tw-link{color:#4169E1;font-weight:700;text-decoration:none;transition:color .2s ease-in-out}.enchantment-link:hover,tw-link:hover{color:#00bfff}.enchantment-link:active,tw-link:active{color:#DD4B39}.visited{color:#6941e1}.visited:hover{color:#E3E}tw-broken-link{color:#933;border-bottom:2px solid #933;cursor:not-allowed}.enchantment-hover{border-bottom:1px dashed #666}.enchantment-mouseout{border:rgba(63,148,191,.25) solid}.enchantment-mouseout:hover{background-color:rgba(63,148,191,.25);border:1px solid transparent;border-radius:.2em}html{font:100% Georgia,serif;margin:0;background-color:transparent;color:#000;height:100%;overflow-x:hidden;box-sizing:border-box}*,:after,:before{position:relative;box-sizing:inherit}body{margin:0;background-color:transparent}tw-storydata{display:none}tw-story{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:60%;font-size:1.5em;line-height:1.5em;margin:5% auto}@media screen and (max-width:1024px){tw-story{font-size:1.2em}}@media screen and (max-width:896px){tw-story{font-size:1.05em}}@media screen and (max-width:768px){tw-story{font-size:.9em}}tw-passage{display:block}tw-sidebar{left:-5em;width:3em;position:absolute;text-align:center;display:block}tw-icon{display:block;margin:.5em 0;opacity:.1;font-size:2.75em}tw-icon:hover{opacity:.3}tw-error{display:inline-block;border-radius:.2em;padding:.2em;font-size:1rem;cursor:help}tw-error.error{background-color:rgba(222,57,189,.4);color:#000}tw-error.warning{background-color:rgba(222,140,57,.4);color:#000;display:none}.debug-mode tw-error.warning{display:inline}tw-error-explanation{display:block;font-size:.8rem;line-height:1rem}tw-error-explanation-button{cursor:pointer;line-height:0;border-radius:1px;border:1px solid #000;font-size:.8rem;margin:0 .4rem;opacity:.5}tw-error-explanation-button .folddown-arrowhead{display:inline-block}tw-notifier{border-radius:.2em;padding:.2em;font-size:1rem;background-color:rgba(222,181,57,.4);display:none}.debug-mode tw-notifier{display:inline}tw-notifier::before{content:attr(message)}tw-colour{border:1px solid #000;display:inline-block;width:1em;height:1em}h1{font-size:3em}h2{font-size:2.25em}h3{font-size:1.75em}h1,h2,h3,h4,h5,h6{line-height:1em;margin:.6em 0}pre{font-size:1rem}small{font-size:70%}big{font-size:120%}mark{color:rgba(0,0,0,.6);background-color:#ff9}ins{color:rgba(0,0,0,.6);background-color:rgba(254,242,204,.5);border-radius:.5em;box-shadow:0 0 .2em #ffe699;text-decoration:none}del{background-color:#000;text-decoration:none}center{text-align:center;margin:0 auto;width:60%}blink{text-decoration:none;animation:fade-in-out 1s steps(1,end) infinite alternate;-webkit-animation:fade-in-out 1s steps(1,end) infinite alternate}tw-align{display:block}tw-outline{color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}tw-shadow{text-shadow:.08em .08em .08em #000}tw-emboss{text-shadow:.08em .08em 0 #000;color:#fff}tw-condense{letter-spacing:-.08em}tw-expand{letter-spacing:.1em}tw-blur{color:transparent;text-shadow:0 0 .08em #000}tw-blurrier{color:transparent;text-shadow:0 0 .2em #000}tw-blurrier::selection{background-color:transparent;color:transparent}tw-blurrier::-moz-selection{background-color:transparent;color:transparent}tw-smear{color:transparent;text-shadow:0 0 .02em rgba(0,0,0,.75),-.2em 0 .5em rgba(0,0,0,.5),.2em 0 .5em rgba(0,0,0,.5)}tw-mirror{display:inline-block;transform:scaleX(-1);-webkit-transform:scaleX(-1)}tw-upside-down{display:inline-block;transform:scaleY(-1);-webkit-transform:scaleY(-1)}tw-fade-in-out{text-decoration:none;animation:fade-in-out 2s ease-in-out infinite alternate;-webkit-animation:fade-in-out 2s ease-in-out infinite alternate}tw-rumble{-webkit-animation:rumble linear .1s 0s infinite;animation:rumble linear .1s 0s infinite;display:inline-block}tw-shudder{-webkit-animation:shudder linear .1s 0s infinite;animation:shudder linear .1s 0s infinite;display:inline-block}tw-shudder-in{animation:shudder-in 1s ease-out;-webkit-animation:shudder-in 1s ease-out}.transition-in{-webkit-animation:appear 0ms step-start;animation:appear 0ms step-start}.transition-out{-webkit-animation:appear 0ms step-end;animation:appear 0ms step-end}.transition-in[data-t8n^=dissolve],[data-t8n^=fade-in].transition-in{-webkit-animation:appear .8s;animation:appear .8s}[data-t8n^=dissolve].transition-out{-webkit-animation:appear .8s reverse;animation:appear .8s reverse}.transition-in[data-t8n^=shudder],[data-t8n^=shudder-in].transition-in{display:inline-block;-webkit-animation:shudder-in .8s;animation:shudder-in .8s}.transition-out[data-t8n^=shudder],[data-t8n^=shudder-out].transition-out{display:inline-block;-webkit-animation:shudder-out .8s;animation:shudder-out .8s}[data-t8n^=boxflash].transition-in{-webkit-animation:box-flash .8s;animation:box-flash .8s}[data-t8n^=pulse].transition-in{-webkit-animation:pulse .8s;animation:pulse .8s}[data-t8n^=pulse].transition-out{-webkit-animation:pulse .8s reverse;animation:pulse .8s reverse}[data-t8n$=fast]{animation-duration:.4s;-webkit-animation-duration:.4s}[data-t8n$=slow]{animation-duration:1.2s;-webkit-animation-duration:1.2s}</style>\n</head>\n\n<body>\n\n<tw-story></tw-story>\n\n{{STORY_DATA}}\n\n<script title=\"Twine engine code\" data-main=\"harlowe\">/**\n * @license almond 0.3.0 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.\n * Available via the MIT or new BSD license.\n * see: http://github.com/jrburke/almond for details\n */\r\n\r\n/*!\n * jQuery JavaScript Library v2.1.1\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2014-05-01T17:11Z\n */\r\n\r\n/*!\n * Sizzle CSS Selector Engine v1.10.19\n * http://sizzlejs.com/\n *\n * Copyright 2013 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2014-04-18\n */\r\n\r\n/*!\n * https://github.com/paulmillr/es6-shim\n * @license es6-shim Copyright 2013-2014 by Paul Miller (http://paulmillr.com)\n * and contributors, MIT License\n * es6-shim: v0.22.1\n * see https://github.com/paulmillr/es6-shim/blob/0.22.1/LICENSE\n * Details and documentation:\n * https://github.com/paulmillr/es6-shim/\n */\r\n\r\n// with permission and license, per https://twitter.com/inexorabletash/status/372206509540659200\r\n\r\n/**\n * requestAnimationFrame version: \"0.0.17\" Copyright (c) 2011-2012, Cyril Agosta ( cyril.agosta.dev@gmail.com) All Rights Reserved.\n * Available via the MIT license.\n * see: http://github.com/cagosta/requestAnimationFrame for details\n *\n * http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n * http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\n * requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel\n * MIT license\n *\n */\r\n\r\n/*!\r\n * Natural Sort algorithm for Javascript - Version 0.7 - Released under MIT license\r\n * Author: Jim Palmer (based on chunking idea from Dave Koelle)\r\n * Expanded by Leon Arnott to use Intl.Collator, 2015.\r\n */\r\n\r\n(function(){var requirejs,require,define;(function(e){function h(e,t){return f.call(e,t)}function p(e,t){var n,r,i,s,o,a,f,l,h,p,d,v=t&&t.split(\"/\"),m=u.map,g=m&&m[\"*\"]||{};if(e&&e.charAt(0)===\".\")if(t){v=v.slice(0,v.length-1),e=e.split(\"/\"),o=e.length-1,u.nodeIdCompat&&c.test(e[o])&&(e[o]=e[o].replace(c,\"\")),e=v.concat(e);for(h=0;h<e.length;h+=1){d=e[h];if(d===\".\")e.splice(h,1),h-=1;else if(d===\"..\"){if(h===1&&(e[2]===\"..\"||e[0]===\"..\"))break;h>0&&(e.splice(h-1,2),h-=2)}}e=e.join(\"/\")}else e.indexOf(\"./\")===0&&(e=e.substring(2));if((v||g)&&m){n=e.split(\"/\");for(h=n.length;h>0;h-=1){r=n.slice(0,h).join(\"/\");if(v)for(p=v.length;p>0;p-=1){i=m[v.slice(0,p).join(\"/\")];if(i){i=i[r];if(i){s=i,a=h;break}}}if(s)break;!f&&g&&g[r]&&(f=g[r],l=h)}!s&&f&&(s=f,a=l),s&&(n.splice(0,a,s),e=n.join(\"/\"))}return e}function d(t,r){return function(){var i=l.call(arguments,0);return typeof i[0]!=\"string\"&&i.length===1&&i.push(null),n.apply(e,i.concat([t,r]))}}function v(e){return function(t){return p(t,e)}}function m(e){return function(t){s[e]=t}}function g(n){if(h(o,n)){var r=o[n];delete o[n],a[n]=!0,t.apply(e,r)}if(!h(s,n)&&!h(a,n))throw new Error(\"No \"+n);return s[n]}function y(e){var t,n=e?e.indexOf(\"!\"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function b(e){return function(){return u&&u.config&&u.config[e]||{}}}var t,n,r,i,s={},o={},u={},a={},f=Object.prototype.hasOwnProperty,l=[].slice,c=/\\.js$/;r=function(e,t){var n,r=y(e),i=r[0];return e=r[1],i&&(i=p(i,t),n=g(i)),i?n&&n.normalize?e=n.normalize(e,v(t)):e=p(e,t):(e=p(e,t),r=y(e),i=r[0],e=r[1],i&&(n=g(i))),{f:i?i+\"!\"+e:e,n:e,pr:i,p:n}},i={require:function(e){return d(e)},exports:function(e){var t=s[e];return typeof t!=\"undefined\"?t:s[e]={}},module:function(e){return{id:e,uri:\"\",exports:s[e],config:b(e)}}},t=function(t,n,u,f){var l,c,p,v,y,b=[],w=typeof u,E;f=f||t;if(w===\"undefined\"||w===\"function\"){n=!n.length&&u.length?[\"require\",\"exports\",\"module\"]:n;for(y=0;y<n.length;y+=1){v=r(n[y],f),c=v.f;if(c===\"require\")b[y]=i.require(t);else if(c===\"exports\")b[y]=i.exports(t),E=!0;else if(c===\"module\")l=b[y]=i.module(t);else if(h(s,c)||h(o,c)||h(a,c))b[y]=g(c);else{if(!v.p)throw new Error(t+\" missing \"+c);v.p.load(v.n,d(f,!0),m(c),{}),b[y]=s[c]}}p=u?u.apply(s[t],b):undefined;if(t)if(l&&l.exports!==e&&l.exports!==s[t])s[t]=l.exports;else if(p!==e||!E)s[t]=p}else t&&(s[t]=u)},requirejs=require=n=function(s,o,a,f,l){if(typeof s==\"string\")return i[s]?i[s](o):g(r(s,o).f);if(!s.splice){u=s,u.deps&&n(u.deps,u.callback);if(!o)return;o.splice?(s=o,o=a,a=null):s=e}return o=o||function(){},typeof a==\"function\"&&(a=f,f=l),f?t(e,s,o,a):setTimeout(function(){t(e,s,o,a)},4),n},n.config=function(e){return n(e)},requirejs._defined=s,define=function(e,t,n){t.splice||(n=t,t=[]),!h(s,e)&&!h(o,e)&&(o[e]=[e,t,n])},define.amd={jQuery:!0}})(),define(\"almond\",function(){}),function(e,t){typeof module==\"object\"&&typeof module.exports==\"object\"?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(typeof window!=\"undefined\"?window:this,function(window,noGlobal){function isArraylike(e){var t=e.length,n=jQuery.type(e);return n===\"function\"||jQuery.isWindow(e)?!1:e.nodeType===1&&t?!0:n===\"array\"||t===0||typeof t==\"number\"&&t>0&&t-1 in e}function winnow(e,t,n){if(jQuery.isFunction(t))return jQuery.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return jQuery.grep(e,function(e){return e===t!==n});if(typeof t==\"string\"){if(risSimple.test(t))return jQuery.filter(t,e,n);t=jQuery.filter(t,e)}return jQuery.grep(e,function(e){return indexOf.call(t,e)>=0!==n})}function sibling(e,t){while((e=e[t])&&e.nodeType!==1);return e}function createOptions(e){var t=optionsCache[e]={};return jQuery.each(e.match(rnotwhite)||[],function(e,n){t[n]=!0}),t}function completed(){document.removeEventListener(\"DOMContentLoaded\",completed,!1),window.removeEventListener(\"load\",completed,!1),jQuery.ready()}function Data(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=jQuery.expando+Math.random()}function dataAttr(e,t,n){var r;if(n===undefined&&e.nodeType===1){r=\"data-\"+t.replace(rmultiDash,\"-$1\").toLowerCase(),n=e.getAttribute(r);if(typeof n==\"string\"){try{n=n===\"true\"?!0:n===\"false\"?!1:n===\"null\"?null:+n+\"\"===n?+n:rbrace.test(n)?jQuery.parseJSON(n):n}catch(i){}data_user.set(e,t,n)}else n=undefined}return n}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(e){}}function manipulationTarget(e,t){return jQuery.nodeName(e,\"table\")&&jQuery.nodeName(t.nodeType!==11?t:t.firstChild,\"tr\")?e.getElementsByTagName(\"tbody\")[0]||e.appendChild(e.ownerDocument.createElement(\"tbody\")):e}function disableScript(e){return e.type=(e.getAttribute(\"type\")!==null)+\"/\"+e.type,e}function restoreScript(e){var t=rscriptTypeMasked.exec(e.type);return t?e.type=t[1]:e.removeAttribute(\"type\"),e}function setGlobalEval(e,t){var n=0,r=e.length;for(;n<r;n++)data_priv.set(e[n],\"globalEval\",!t||data_priv.get(t[n],\"globalEval\"))}function cloneCopyEvent(e,t){var n,r,i,s,o,u,a,f;if(t.nodeType!==1)return;if(data_priv.hasData(e)){s=data_priv.access(e),o=data_priv.set(t,s),f=s.events;if(f){delete o.handle,o.events={};for(i in f)for(n=0,r=f[i].length;n<r;n++)jQuery.event.add(t,i,f[i][n])}}data_user.hasData(e)&&(u=data_user.access(e),a=jQuery.extend({},u),data_user.set(t,a))}function getAll(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):e.querySelectorAll?e.querySelectorAll(t||\"*\"):[];return t===undefined||t&&jQuery.nodeName(e,t)?jQuery.merge([e],n):n}function fixInput(e,t){var n=t.nodeName.toLowerCase();if(n===\"input\"&&rcheckableType.test(e.type))t.checked=e.checked;else if(n===\"input\"||n===\"textarea\")t.defaultValue=e.defaultValue}function actualDisplay(e,t){var n,r=jQuery(t.createElement(e)).appendTo(t.body),i=window.getDefaultComputedStyle&&(n=window.getDefaultComputedStyle(r[0]))?n.display:jQuery.css(r[0],\"display\");return r.detach(),i}function defaultDisplay(e){var t=document,n=elemdisplay[e];if(!n){n=actualDisplay(e,t);if(n===\"none\"||!n)iframe=(iframe||jQuery(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(t.documentElement),t=iframe[0].contentDocument,t.write(),t.close(),n=actualDisplay(e,t),iframe.detach();elemdisplay[e]=n}return n}function curCSS(e,t,n){var r,i,s,o,u=e.style;return n=n||getStyles(e),n&&(o=n.getPropertyValue(t)||n[t]),n&&(o===\"\"&&!jQuery.contains(e.ownerDocument,e)&&(o=jQuery.style(e,t)),rnumnonpx.test(o)&&rmargin.test(t)&&(r=u.width,i=u.minWidth,s=u.maxWidth,u.minWidth=u.maxWidth=u.width=o,o=n.width,u.width=r,u.minWidth=i,u.maxWidth=s)),o!==undefined?o+\"\":o}function addGetHookIf(e,t){return{get:function(){if(e()){delete this.get;return}return(this.get=t).apply(this,arguments)}}}function vendorPropName(e,t){if(t in e)return t;var n=t[0].toUpperCase()+t.slice(1),r=t,i=cssPrefixes.length;while(i--){t=cssPrefixes[i]+n;if(t in e)return t}return r}function setPositiveNumber(e,t,n){var r=rnumsplit.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||\"px\"):t}function augmentWidthOrHeight(e,t,n,r,i){var s=n===(r?\"border\":\"content\")?4:t===\"width\"?1:0,o=0;for(;s<4;s+=2)n===\"margin\"&&(o+=jQuery.css(e,n+cssExpand[s],!0,i)),r?(n===\"content\"&&(o-=jQuery.css(e,\"padding\"+cssExpand[s],!0,i)),n!==\"margin\"&&(o-=jQuery.css(e,\"border\"+cssExpand[s]+\"Width\",!0,i))):(o+=jQuery.css(e,\"padding\"+cssExpand[s],!0,i),n!==\"padding\"&&(o+=jQuery.css(e,\"border\"+cssExpand[s]+\"Width\",!0,i)));return o}function getWidthOrHeight(e,t,n){var r=!0,i=t===\"width\"?e.offsetWidth:e.offsetHeight,s=getStyles(e),o=jQuery.css(e,\"boxSizing\",!1,s)===\"border-box\";if(i<=0||i==null){i=curCSS(e,t,s);if(i<0||i==null)i=e.style[t];if(rnumnonpx.test(i))return i;r=o&&(support.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+augmentWidthOrHeight(e,t,n||(o?\"border\":\"content\"),r,s)+\"px\"}function showHide(e,t){var n,r,i,s=[],o=0,u=e.length;for(;o<u;o++){r=e[o];if(!r.style)continue;s[o]=data_priv.get(r,\"olddisplay\"),n=r.style.display,t?(!s[o]&&n===\"none\"&&(r.style.display=\"\"),r.style.display===\"\"&&isHidden(r)&&(s[o]=data_priv.access(r,\"olddisplay\",defaultDisplay(r.nodeName)))):(i=isHidden(r),(n!==\"none\"||!i)&&data_priv.set(r,\"olddisplay\",i?n:jQuery.css(r,\"display\")))}for(o=0;o<u;o++){r=e[o];if(!r.style)continue;if(!t||r.style.display===\"none\"||r.style.display===\"\")r.style.display=t?s[o]||\"\":\"none\"}return e}function Tween(e,t,n,r,i){return new Tween.prototype.init(e,t,n,r,i)}function createFxNow(){return setTimeout(function(){fxNow=undefined}),fxNow=jQuery.now()}function genFx(e,t){var n,r=0,i={height:e};t=t?1:0;for(;r<4;r+=2-t)n=cssExpand[r],i[\"margin\"+n]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function createTween(e,t,n){var r,i=(tweeners[t]||[]).concat(tweeners[\"*\"]),s=0,o=i.length;for(;s<o;s++)if(r=i[s].call(n,t,e))return r}function defaultPrefilter(e,t,n){var r,i,s,o,u,a,f,l,c=this,h={},p=e.style,d=e.nodeType&&isHidden(e),v=data_priv.get(e,\"fxshow\");n.queue||(u=jQuery._queueHooks(e,\"fx\"),u.unqueued==null&&(u.unqueued=0,a=u.empty.fire,u.empty.fire=function(){u.unqueued||a()}),u.unqueued++,c.always(function(){c.always(function(){u.unqueued--,jQuery.queue(e,\"fx\").length||u.empty.fire()})})),e.nodeType===1&&(\"height\"in t||\"width\"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],f=jQuery.css(e,\"display\"),l=f===\"none\"?data_priv.get(e,\"olddisplay\")||defaultDisplay(e.nodeName):f,l===\"inline\"&&jQuery.css(e,\"float\")===\"none\"&&(p.display=\"inline-block\")),n.overflow&&(p.overflow=\"hidden\",c.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){i=t[r];if(rfxtypes.exec(i)){delete t[r],s=s||i===\"toggle\";if(i===(d?\"hide\":\"show\")){if(i!==\"show\"||!v||v[r]===undefined)continue;d=!0}h[r]=v&&v[r]||jQuery.style(e,r)}else f=undefined}if(!jQuery.isEmptyObject(h)){v?\"hidden\"in v&&(d=v.hidden):v=data_priv.access(e,\"fxshow\",{}),s&&(v.hidden=!d),d?jQuery(e).show():c.done(function(){jQuery(e).hide()}),c.done(function(){var t;data_priv.remove(e,\"fxshow\");for(t in h)jQuery.style(e,t,h[t])});for(r in h)o=createTween(d?v[r]:0,r,c),r in v||(v[r]=o.start,d&&(o.end=o.start,o.start=r===\"width\"||r===\"height\"?1:0))}else(f===\"none\"?defaultDisplay(e.nodeName):f)===\"inline\"&&(p.display=f)}function propFilter(e,t){var n,r,i,s,o;for(n in e){r=jQuery.camelCase(n),i=t[r],s=e[n],jQuery.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=jQuery.cssHooks[r];if(o&&\"expand\"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Animation(e,t,n){var r,i,s=0,o=animationPrefilters.length,u=jQuery.Deferred().always(function(){delete a.elem}),a=function(){if(i)return!1;var t=fxNow||createFxNow(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,s=1-r,o=0,a=f.tweens.length;for(;o<a;o++)f.tweens[o].run(s);return u.notifyWith(e,[f,s,n]),s<1&&a?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:jQuery.extend({},t),opts:jQuery.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:fxNow||createFxNow(),duration:n.duration,tweens:[],createTween:function(t,n){var r=jQuery.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(r),r},stop:function(t){var n=0,r=t?f.tweens.length:0;if(i)return this;i=!0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;propFilter(l,f.opts.specialEasing);for(;s<o;s++){r=animationPrefilters[s].call(f,e,l,f.opts);if(r)return r}return jQuery.map(l,createTween,f),jQuery.isFunction(f.opts.start)&&f.opts.start.call(e,f),jQuery.fx.timer(jQuery.extend(a,{elem:e,anim:f,queue:f.opts.queue})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function addToPrefiltersOrTransports(e){return function(t,n){typeof t!=\"string\"&&(n=t,t=\"*\");var r,i=0,s=t.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(n))while(r=s[i++])r[0]===\"+\"?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function inspectPrefiltersOrTransports(e,t,n,r){function o(u){var a;return i[u]=!0,jQuery.each(e[u]||[],function(e,u){var f=u(t,n,r);if(typeof f==\"string\"&&!s&&!i[f])return t.dataTypes.unshift(f),o(f),!1;if(s)return!(a=f)}),a}var i={},s=e===transports;return o(t.dataTypes[0])||!i[\"*\"]&&o(\"*\")}function ajaxExtend(e,t){var n,r,i=jQuery.ajaxSettings.flatOptions||{};for(n in t)t[n]!==undefined&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&jQuery.extend(!0,e,r),e}function ajaxHandleResponses(e,t,n){var r,i,s,o,u=e.contents,a=e.dataTypes;while(a[0]===\"*\")a.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in u)if(u[i]&&u[i].test(r)){a.unshift(i);break}if(a[0]in n)s=a[0];else{for(i in n){if(!a[0]||e.converters[i+\" \"+a[0]]){s=i;break}o||(o=i)}s=s||o}if(s)return s!==a[0]&&a.unshift(s),n[s]}function ajaxConvert(e,t,n,r){var i,s,o,u,a,f={},l=e.dataTypes.slice();if(l[1])for(o in e.converters)f[o.toLowerCase()]=e.converters[o];s=l.shift();while(s){e.responseFields[s]&&(n[e.responseFields[s]]=t),!a&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),a=s,s=l.shift();if(s)if(s===\"*\")s=a;else if(a!==\"*\"&&a!==s){o=f[a+\" \"+s]||f[\"* \"+s];if(!o)for(i in f){u=i.split(\" \");if(u[1]===s){o=f[a+\" \"+u[0]]||f[\"* \"+u[0]];if(o){o===!0?o=f[i]:f[i]!==!0&&(s=u[0],l.unshift(u[1]));break}}}if(o!==!0)if(o&&e[\"throws\"])t=o(t);else try{t=o(t)}catch(c){return{state:\"parsererror\",error:o?c:\"No conversion from \"+a+\" to \"+s}}}}return{state:\"success\",data:t}}function buildParams(e,t,n,r){var i;if(jQuery.isArray(t))jQuery.each(t,function(t,i){n||rbracket.test(e)?r(e,i):buildParams(e+\"[\"+(typeof i==\"object\"?t:\"\")+\"]\",i,n,r)});else if(!n&&jQuery.type(t)===\"object\")for(i in t)buildParams(e+\"[\"+i+\"]\",t[i],n,r);else r(e,t)}function getWindow(e){return jQuery.isWindow(e)?e:e.nodeType===9&&e.defaultView}var arr=[],slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,support={},document=window.document,version=\"2.1.1\",jQuery=function(e,t){return new jQuery.fn.init(e,t)},rtrim=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\\da-z])/gi,fcamelCase=function(e,t){return t.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:\"\",length:0,toArray:function(){return slice.call(this)},get:function(e){return e!=null?e<0?this[e+this.length]:this[e]:slice.call(this)},pushStack:function(e){var t=jQuery.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return jQuery.each(this,e,t)},map:function(e){return this.pushStack(jQuery.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:push,sort:arr.sort,splice:arr.splice},jQuery.extend=jQuery.fn.extend=function(){var e,t,n,r,i,s,o=arguments[0]||{},u=1,a=arguments.length,f=!1;typeof o==\"boolean\"&&(f=o,o=arguments[u]||{},u++),typeof o!=\"object\"&&!jQuery.isFunction(o)&&(o={}),u===a&&(o=this,u--);for(;u<a;u++)if((e=arguments[u])!=null)for(t in e){n=o[t],r=e[t];if(o===r)continue;f&&r&&(jQuery.isPlainObject(r)||(i=jQuery.isArray(r)))?(i?(i=!1,s=n&&jQuery.isArray(n)?n:[]):s=n&&jQuery.isPlainObject(n)?n:{},o[t]=jQuery.extend(f,s,r)):r!==undefined&&(o[t]=r)}return o},jQuery.extend({expando:\"jQuery\"+(version+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return jQuery.type(e)===\"function\"},isArray:Array.isArray,isWindow:function(e){return e!=null&&e===e.window},isNumeric:function(e){return!jQuery.isArray(e)&&e-parseFloat(e)>=0},isPlainObject:function(e){return jQuery.type(e)!==\"object\"||e.nodeType||jQuery.isWindow(e)?!1:e.constructor&&!hasOwn.call(e.constructor.prototype,\"isPrototypeOf\")?!1:!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return e==null?e+\"\":typeof e==\"object\"||typeof e==\"function\"?class2type[toString.call(e)]||\"object\":typeof e},globalEval:function(code){var script,indirect=eval;code=jQuery.trim(code),code&&(code.indexOf(\"use strict\")===1?(script=document.createElement(\"script\"),script.text=code,document.head.appendChild(script).parentNode.removeChild(script)):indirect(code))},camelCase:function(e){return e.replace(rmsPrefix,\"ms-\").replace(rdashAlpha,fcamelCase)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,s=e.length,o=isArraylike(e);if(n)if(o)for(;i<s;i++){r=t.apply(e[i],n);if(r===!1)break}else for(i in e){r=t.apply(e[i],n);if(r===!1)break}else if(o)for(;i<s;i++){r=t.call(e[i],i,e[i]);if(r===!1)break}else for(i in e){r=t.call(e[i],i,e[i]);if(r===!1)break}return e},trim:function(e){return e==null?\"\":(e+\"\").replace(rtrim,\"\")},makeArray:function(e,t){var n=t||[];return e!=null&&(isArraylike(Object(e))?jQuery.merge(n,typeof e==\"string\"?[e]:e):push.call(n,e)),n},inArray:function(e,t,n){return t==null?-1:indexOf.call(t,e,n)},merge:function(e,t){var n=+t.length,r=0,i=e.length;for(;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length,u=!n;for(;s<o;s++)r=!t(e[s],s),r!==u&&i.push(e[s]);return i},map:function(e,t,n){var r,i=0,s=e.length,o=isArraylike(e),u=[];if(o)for(;i<s;i++)r=t(e[i],i,n),r!=null&&u.push(r);else for(i in e)r=t(e[i],i,n),r!=null&&u.push(r);return concat.apply([],u)},guid:1,proxy:function(e,t){var n,r,i;return typeof t==\"string\"&&(n=e[t],t=e,e=n),jQuery.isFunction(e)?(r=slice.call(arguments,2),i=function(){return e.apply(t||this,r.concat(slice.call(arguments)))},i.guid=e.guid=e.guid||jQuery.guid++,i):undefined},now:Date.now,support:support}),jQuery.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"),function(e,t){class2type[\"[object \"+t+\"]\"]=t.toLowerCase()});var Sizzle=function(e){function st(e,t,r,i){var s,u,f,l,c,d,g,y,S,x;(t?t.ownerDocument||t:E)!==p&&h(t),t=t||p,r=r||[];if(!e||typeof e!=\"string\")return r;if((l=t.nodeType)!==1&&l!==9)return[];if(v&&!i){if(s=Z.exec(e))if(f=s[1]){if(l===9){u=t.getElementById(f);if(!u||!u.parentNode)return r;if(u.id===f)return r.push(u),r}else if(t.ownerDocument&&(u=t.ownerDocument.getElementById(f))&&b(t,u)&&u.id===f)return r.push(u),r}else{if(s[2])return P.apply(r,t.getElementsByTagName(e)),r;if((f=s[3])&&n.getElementsByClassName&&t.getElementsByClassName)return P.apply(r,t.getElementsByClassName(f)),r}if(n.qsa&&(!m||!m.test(e))){y=g=w,S=t,x=l===9&&e;if(l===1&&t.nodeName.toLowerCase()!==\"object\"){d=o(e),(g=t.getAttribute(\"id\"))?y=g.replace(tt,\"\\\\$&\"):t.setAttribute(\"id\",y),y=\"[id='\"+y+\"'] \",c=d.length;while(c--)d[c]=y+mt(d[c]);S=et.test(e)&&dt(t.parentNode)||t,x=d.join(\",\")}if(x)try{return P.apply(r,S.querySelectorAll(x)),r}catch(T){}finally{g||t.removeAttribute(\"id\")}}}return a(e.replace(z,\"$1\"),t,r,i)}function ot(){function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}var e=[];return t}function ut(e){return e[w]=!0,e}function at(e){var t=p.createElement(\"div\");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ft(e,t){var n=e.split(\"|\"),i=e.length;while(i--)r.attrHandle[n[i]]=t}function lt(e,t){var n=t&&e,r=n&&e.nodeType===1&&t.nodeType===1&&(~t.sourceIndex||A)-(~e.sourceIndex||A);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return n===\"input\"&&t.type===e}}function ht(e){return function(t){var n=t.nodeName.toLowerCase();return(n===\"input\"||n===\"button\")&&t.type===e}}function pt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function dt(e){return e&&typeof e.getElementsByTagName!==L&&e}function vt(){}function mt(e){var t=0,n=e.length,r=\"\";for(;t<n;t++)r+=e[t].value;return r}function gt(e,t,n){var r=t.dir,i=n&&r===\"parentNode\",s=x++;return t.first?function(t,n,s){while(t=t[r])if(t.nodeType===1||i)return e(t,n,s)}:function(t,n,o){var u,a,f=[S,s];if(o){while(t=t[r])if(t.nodeType===1||i)if(e(t,n,o))return!0}else while(t=t[r])if(t.nodeType===1||i){a=t[w]||(t[w]={});if((u=a[r])&&u[0]===S&&u[1]===s)return f[2]=u[2];a[r]=f;if(f[2]=e(t,n,o))return!0}}}function yt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function bt(e,t,n){var r=0,i=t.length;for(;r<i;r++)st(e,t[r],n);return n}function wt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function Et(e,t,n,r,i,s){return r&&!r[w]&&(r=Et(r)),i&&!i[w]&&(i=Et(i,s)),ut(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||bt(t||\"*\",u.nodeType?[u]:u,[]),m=e&&(s||!t)?wt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=wt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?B.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=wt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):P.apply(o,g)})}function St(e){var t,n,i,s=e.length,o=r.relative[e[0].type],u=o||r.relative[\" \"],a=o?1:0,l=gt(function(e){return e===t},u,!0),c=gt(function(e){return B.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==f)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];for(;a<s;a++)if(n=r.relative[e[a].type])h=[gt(yt(h),n)];else{n=r.filter[e[a].type].apply(null,e[a].matches);if(n[w]){i=++a;for(;i<s;i++)if(r.relative[e[i].type])break;return Et(a>1&&yt(h),a>1&&mt(e.slice(0,a-1).concat({value:e[a-2].type===\" \"?\"*\":\"\"})).replace(z,\"$1\"),n,a<i&&St(e.slice(a,i)),i<s&&St(e=e.slice(i)),i<s&&mt(e))}h.push(n)}return yt(h)}function xt(e,t){var n=t.length>0,i=e.length>0,s=function(s,o,u,a,l){var c,h,d,v=0,m=\"0\",g=s&&[],y=[],b=f,w=s||i&&r.find.TAG(\"*\",l),E=S+=b==null?1:Math.random()||.1,x=w.length;l&&(f=o!==p&&o);for(;m!==x&&(c=w[m])!=null;m++){if(i&&c){h=0;while(d=e[h++])if(d(c,o,u)){a.push(c);break}l&&(S=E)}n&&((c=!d&&c)&&v--,s&&g.push(c))}v+=m;if(n&&m!==v){h=0;while(d=t[h++])d(g,y,o,u);if(s){if(v>0)while(m--)!g[m]&&!y[m]&&(y[m]=_.call(a));y=wt(y)}P.apply(a,y),l&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(a)}return l&&(S=E,f=b),g};return n?ut(s):s}var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w=\"sizzle\"+ -(new Date),E=e.document,S=0,x=0,T=ot(),N=ot(),C=ot(),k=function(e,t){return e===t&&(c=!0),0},L=typeof undefined,A=1<<31,O={}.hasOwnProperty,M=[],_=M.pop,D=M.push,P=M.push,H=M.slice,B=M.indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},j=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",F=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",I=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",q=I.replace(\"w\",\"w#\"),R=\"\\\\[\"+F+\"*(\"+I+\")(?:\"+F+\"*([*^$|!~]?=)\"+F+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+q+\"))|)\"+F+\"*\\\\]\",U=\":(\"+I+\")(?:\\\\((\"+\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\"+\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+R+\")*)|\"+\".*\"+\")\\\\)|)\",z=new RegExp(\"^\"+F+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+F+\"+$\",\"g\"),W=new RegExp(\"^\"+F+\"*,\"+F+\"*\"),X=new RegExp(\"^\"+F+\"*([>+~]|\"+F+\")\"+F+\"*\"),V=new RegExp(\"=\"+F+\"*([^\\\\]'\\\"]*?)\"+F+\"*\\\\]\",\"g\"),$=new RegExp(U),J=new RegExp(\"^\"+q+\"$\"),K={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I.replace(\"w\",\"w*\")+\")\"),ATTR:new RegExp(\"^\"+R),PSEUDO:new RegExp(\"^\"+U),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+F+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+F+\"*(?:([+-]|)\"+F+\"*(\\\\d+)|))\"+F+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+j+\")$\",\"i\"),needsContext:new RegExp(\"^\"+F+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+F+\"*((?:-\\\\d)?\\\\d*)\"+F+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Q=/^(?:input|select|textarea|button)$/i,G=/^h\\d$/i,Y=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,et=/[+~]/,tt=/'|\\\\/g,nt=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+F+\"?|(\"+F+\")|.)\",\"ig\"),rt=function(e,t,n){var r=\"0x\"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,r&1023|56320)};try{P.apply(M=H.call(E.childNodes),E.childNodes),M[E.childNodes.length].nodeType}catch(it){P={apply:M.length?function(e,t){D.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}n=st.support={},s=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!==\"HTML\":!1},h=st.setDocument=function(e){var t,i=e?e.ownerDocument||e:E,o=i.defaultView;if(i===p||i.nodeType!==9||!i.documentElement)return p;p=i,d=i.documentElement,v=!s(i),o&&o!==o.top&&(o.addEventListener?o.addEventListener(\"unload\",function(){h()},!1):o.attachEvent&&o.attachEvent(\"onunload\",function(){h()})),n.attributes=at(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),n.getElementsByTagName=at(function(e){return e.appendChild(i.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),n.getElementsByClassName=Y.test(i.getElementsByClassName)&&at(function(e){return e.innerHTML=\"<div class='a'></div><div class='a i'></div>\",e.firstChild.className=\"i\",e.getElementsByClassName(\"i\").length===2}),n.getById=at(function(e){return d.appendChild(e).id=w,!i.getElementsByName||!i.getElementsByName(w).length}),n.getById?(r.find.ID=function(e,t){if(typeof t.getElementById!==L&&v){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},r.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute(\"id\")===t}}):(delete r.find.ID,r.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==L&&e.getAttributeNode(\"id\");return n&&n.value===t}}),r.find.TAG=n.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==L)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],i=0,s=t.getElementsByTagName(e);if(e===\"*\"){while(n=s[i++])n.nodeType===1&&r.push(n);return r}return s},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(typeof t.getElementsByClassName!==L&&v)return t.getElementsByClassName(e)},g=[],m=[];if(n.qsa=Y.test(i.querySelectorAll))at(function(e){e.innerHTML=\"<select msallowclip=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowclip^='']\").length&&m.push(\"[*^$]=\"+F+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||m.push(\"\\\\[\"+F+\"*(?:value|\"+j+\")\"),e.querySelectorAll(\":checked\").length||m.push(\":checked\")}),at(function(e){var t=i.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&m.push(\"name\"+F+\"*[*^$|!~]?=\"),e.querySelectorAll(\":enabled\").length||m.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),m.push(\",.*:\")});return(n.matchesSelector=Y.test(y=d.matches||d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&at(function(e){n.disconnectedMatch=y.call(e,\"div\"),y.call(e,\"[s!='']:x\"),g.push(\"!=\",U)}),m=m.length&&new RegExp(m.join(\"|\")),g=g.length&&new RegExp(g.join(\"|\")),t=Y.test(d.compareDocumentPosition),b=t||Y.test(d.contains)?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!r&&r.nodeType===1&&!!(n.contains?n.contains(r):e.compareDocumentPosition&&e.compareDocumentPosition(r)&16)}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},k=t?function(e,t){if(e===t)return c=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,r&1||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===i||e.ownerDocument===E&&b(E,e)?-1:t===i||t.ownerDocument===E&&b(E,t)?1:l?B.call(l,e)-B.call(l,t):0:r&4?-1:1)}:function(e,t){if(e===t)return c=!0,0;var n,r=0,s=e.parentNode,o=t.parentNode,u=[e],a=[t];if(!s||!o)return e===i?-1:t===i?1:s?-1:o?1:l?B.call(l,e)-B.call(l,t):0;if(s===o)return lt(e,t);n=e;while(n=n.parentNode)u.unshift(n);n=t;while(n=n.parentNode)a.unshift(n);while(u[r]===a[r])r++;return r?lt(u[r],a[r]):u[r]===E?-1:a[r]===E?1:0},i},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){(e.ownerDocument||e)!==p&&h(e),t=t.replace(V,\"='$1']\");if(n.matchesSelector&&v&&(!g||!g.test(t))&&(!m||!m.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&e.document.nodeType!==11)return r}catch(i){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&h(e),b(e,t)},st.attr=function(e,t){(e.ownerDocument||e)!==p&&h(e);var i=r.attrHandle[t.toLowerCase()],s=i&&O.call(r.attrHandle,t.toLowerCase())?i(e,t,!v):undefined;return s!==undefined?s:n.attributes||!v?e.getAttribute(t):(s=e.getAttributeNode(t))&&s.specified?s.value:null},st.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},st.uniqueSort=function(e){var t,r=[],i=0,s=0;c=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(k);if(c){while(t=e[s++])t===e[s]&&(i=r.push(s));while(i--)e.splice(r[i],1)}return l=null,e},i=st.getText=function(e){var t,n=\"\",r=0,s=e.nodeType;if(!s)while(t=e[r++])n+=i(t);else if(s===1||s===9||s===11){if(typeof e.textContent==\"string\")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(s===3||s===4)return e.nodeValue;return n},r=st.selectors={cacheLength:50,createPseudo:ut,match:K,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[3]||e[4]||e[5]||\"\").replace(nt,rt),e[2]===\"~=\"&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1].slice(0,3)===\"nth\"?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]===\"even\"||e[3]===\"odd\")),e[5]=+(e[7]+e[8]||e[3]===\"odd\")):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return K.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&$.test(n)&&(t=o(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return e===\"*\"?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=T[e+\" \"];return t||(t=new RegExp(\"(^|\"+F+\")\"+e+\"(\"+F+\"|$)\"))&&T(e,function(e){return t.test(typeof e.className==\"string\"&&e.className||typeof e.getAttribute!==L&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return i==null?t===\"!=\":t?(i+=\"\",t===\"=\"?i===n:t===\"!=\"?i!==n:t===\"^=\"?n&&i.indexOf(n)===0:t===\"*=\"?n&&i.indexOf(n)>-1:t===\"$=\"?n&&i.slice(-n.length)===n:t===\"~=\"?(\" \"+i+\" \").indexOf(n)>-1:t===\"|=\"?i===n||i.slice(0,n.length+1)===n+\"-\":!1):!0}},CHILD:function(e,t,n,r,i){var s=e.slice(0,3)!==\"nth\",o=e.slice(-4)!==\"last\",u=t===\"of-type\";return r===1&&i===0?function(e){return!!e.parentNode}:function(t,n,a){var f,l,c,h,p,d,v=s!==o?\"nextSibling\":\"previousSibling\",m=t.parentNode,g=u&&t.nodeName.toLowerCase(),y=!a&&!u;if(m){if(s){while(v){c=t;while(c=c[v])if(u?c.nodeName.toLowerCase()===g:c.nodeType===1)return!1;d=v=e===\"only\"&&!d&&\"nextSibling\"}return!0}d=[o?m.firstChild:m.lastChild];if(o&&y){l=m[w]||(m[w]={}),f=l[e]||[],p=f[0]===S&&f[1],h=f[0]===S&&f[2],c=p&&m.childNodes[p];while(c=++p&&c&&c[v]||(h=p=0)||d.pop())if(c.nodeType===1&&++h&&c===t){l[e]=[S,p,h];break}}else if(y&&(f=(t[w]||(t[w]={}))[e])&&f[0]===S)h=f[1];else while(c=++p&&c&&c[v]||(h=p=0)||d.pop())if((u?c.nodeName.toLowerCase()===g:c.nodeType===1)&&++h){y&&((c[w]||(c[w]={}))[e]=[S,h]);if(c===t)break}return h-=i,h===r||h%r===0&&h/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||st.error(\"unsupported pseudo: \"+e);return i[w]?i(t):i.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var r,s=i(e,t),o=s.length;while(o--)r=B.call(e,s[o]),e[r]=!(n[r]=s[o])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ut(function(e){var t=[],n=[],r=u(e.replace(z,\"$1\"));return r[w]?ut(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:ut(function(e){return function(t){return st(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ut(function(e){return J.test(e||\"\")||st.error(\"unsupported lang: \"+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=v?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return n=n.toLowerCase(),n===e||n.indexOf(e+\"-\")===0;while((t=t.parentNode)&&t.nodeType===1);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t===\"input\"&&!!e.checked||t===\"option\"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return G.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return t===\"input\"&&e.type===\"button\"||t===\"button\"},text:function(e){var t;return e.nodeName.toLowerCase()===\"input\"&&e.type===\"text\"&&((t=e.getAttribute(\"type\"))==null||t.toLowerCase()===\"text\")},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[n<0?n+t:n]}),even:pt(function(e,t){var n=0;for(;n<t;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;n<t;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=n<0?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=n<0?n+t:n;for(;++r<t;)e.push(r);return e})}},r.pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=ct(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=ht(t);return vt.prototype=r.filters=r.pseudos,r.setFilters=new vt,o=st.tokenize=function(e,t){var n,i,s,o,u,a,f,l=N[e+\" \"];if(l)return t?0:l.slice(0);u=e,a=[],f=r.preFilter;while(u){if(!n||(i=W.exec(u)))i&&(u=u.slice(i[0].length)||u),a.push(s=[]);n=!1;if(i=X.exec(u))n=i.shift(),s.push({value:n,type:i[0].replace(z,\" \")}),u=u.slice(n.length);for(o in r.filter)(i=K[o].exec(u))&&(!f[o]||(i=f[o](i)))&&(n=i.shift(),s.push({value:n,type:o,matches:i}),u=u.slice(n.length));if(!n)break}return t?u.length:u?st.error(e):N(e,a).slice(0)},u=st.compile=function(e,t){var n,r=[],i=[],s=C[e+\" \"];if(!s){t||(t=o(e)),n=t.length;while(n--)s=St(t[n]),s[w]?r.push(s):i.push(s);s=C(e,xt(i,r)),s.selector=e}return s},a=st.select=function(e,t,i,s){var a,f,l,c,h,p=typeof e==\"function\"&&e,d=!s&&o(e=p.selector||e);i=i||[];if(d.length===1){f=d[0]=d[0].slice(0);if(f.length>2&&(l=f[0]).type===\"ID\"&&n.getById&&t.nodeType===9&&v&&r.relative[f[1].type]){t=(r.find.ID(l.matches[0].replace(nt,rt),t)||[])[0];if(!t)return i;p&&(t=t.parentNode),e=e.slice(f.shift().value.length)}a=K.needsContext.test(e)?0:f.length;while(a--){l=f[a];if(r.relative[c=l.type])break;if(h=r.find[c])if(s=h(l.matches[0].replace(nt,rt),et.test(f[0].type)&&dt(t.parentNode)||t)){f.splice(a,1),e=s.length&&mt(f);if(!e)return P.apply(i,s),i;break}}}return(p||u(e,d))(s,t,!v,i,et.test(e)&&dt(t.parentNode)||t),i},n.sortStable=w.split(\"\").sort(k).join(\"\")===w,n.detectDuplicates=!!c,h(),n.sortDetached=at(function(e){return e.compareDocumentPosition(p.createElement(\"div\"))&1}),at(function(e){return e.innerHTML=\"<a href='#'></a>\",e.firstChild.getAttribute(\"href\")===\"#\"})||ft(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,t.toLowerCase()===\"type\"?1:2)}),(!n.attributes||!at(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),e.firstChild.getAttribute(\"value\")===\"\"}))&&ft(\"value\",function(e,t,n){if(!n&&e.nodeName.toLowerCase()===\"input\")return e.defaultValue}),at(function(e){return e.getAttribute(\"disabled\")==null})||ft(j,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),st}(window);jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[\":\"]=jQuery.expr.pseudos,jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains;var rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,risSimple=/^.[^:#\\[\\.,]*$/;jQuery.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),t.length===1&&r.nodeType===1?jQuery.find.matchesSelector(r,e)?[r]:[]:jQuery.find.matches(e,jQuery.grep(t,function(e){return e.nodeType===1}))},jQuery.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if(typeof e!=\"string\")return this.pushStack(jQuery(e).filter(function(){for(t=0;t<n;t++)if(jQuery.contains(i[t],this))return!0}));for(t=0;t<n;t++)jQuery.find(e,i[t],r);return r=this.pushStack(n>1?jQuery.unique(r):r),r.selector=this.selector?this.selector+\" \"+e:e,r},filter:function(e){return this.pushStack(winnow(this,e||[],!1))},not:function(e){return this.pushStack(winnow(this,e||[],!0))},is:function(e){return!!winnow(this,typeof e==\"string\"&&rneedsContext.test(e)?jQuery(e):e||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,init=jQuery.fn.init=function(e,t){var n,r;if(!e)return this;if(typeof e==\"string\"){e[0]===\"<\"&&e[e.length-1]===\">\"&&e.length>=3?n=[null,e,null]:n=rquickExpr.exec(e);if(n&&(n[1]||!t)){if(n[1]){t=t instanceof jQuery?t[0]:t,jQuery.merge(this,jQuery.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:document,!0));if(rsingleTag.test(n[1])&&jQuery.isPlainObject(t))for(n in t)jQuery.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return r=document.getElementById(n[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=document,this.selector=e,this}return!t||t.jquery?(t||rootjQuery).find(e):this.constructor(t).find(e)}return e.nodeType?(this.context=this[0]=e,this.length=1,this):jQuery.isFunction(e)?typeof rootjQuery.ready!=\"undefined\"?rootjQuery.ready(e):e(jQuery):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),jQuery.makeArray(e,this))};init.prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.extend({dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&e.nodeType!==9)if(e.nodeType===1){if(i&&jQuery(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}}),jQuery.fn.extend({has:function(e){var t=jQuery(e,this),n=t.length;return this.filter(function(){var e=0;for(;e<n;e++)if(jQuery.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,s=[],o=rneedsContext.test(e)||typeof e!=\"string\"?jQuery(e,t||this.context):0;for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:n.nodeType===1&&jQuery.find.matchesSelector(n,e))){s.push(n);break}return this.pushStack(s.length>1?jQuery.unique(s):s)},index:function(e){return e?typeof e==\"string\"?indexOf.call(jQuery(e),this[0]):indexOf.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),jQuery(e,t))))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),jQuery.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return jQuery.dir(e,\"parentNode\")},parentsUntil:function(e,t,n){return jQuery.dir(e,\"parentNode\",n)},next:function(e){return sibling(e,\"nextSibling\")},prev:function(e){return sibling(e,\"previousSibling\")},nextAll:function(e){return jQuery.dir(e,\"nextSibling\")},prevAll:function(e){return jQuery.dir(e,\"previousSibling\")},nextUntil:function(e,t,n){return jQuery.dir(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return jQuery.dir(e,\"previousSibling\",n)},siblings:function(e){return jQuery.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return jQuery.sibling(e.firstChild)},contents:function(e){return e.contentDocument||jQuery.merge([],e.childNodes)}},function(e,t){jQuery.fn[e]=function(n,r){var i=jQuery.map(this,t,n);return e.slice(-5)!==\"Until\"&&(r=n),r&&typeof r==\"string\"&&(i=jQuery.filter(r,i)),this.length>1&&(guaranteedUnique[e]||jQuery.unique(i),rparentsprev.test(e)&&i.reverse()),this.pushStack(i)}});var rnotwhite=/\\S+/g,optionsCache={};jQuery.Callbacks=function(e){e=typeof e==\"string\"?optionsCache[e]||createOptions(e):jQuery.extend({},e);var t,n,r,i,s,o,u=[],a=!e.once&&[],f=function(c){t=e.memory&&c,n=!0,o=i||0,i=0,s=u.length,r=!0;for(;u&&o<s;o++)if(u[o].apply(c[0],c[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,u&&(a?a.length&&f(a.shift()):t?u=[]:l.disable())},l={add:function(){if(u){var n=u.length;(function o(t){jQuery.each(t,function(t,n){var r=jQuery.type(n);r===\"function\"?(!e.unique||!l.has(n))&&u.push(n):n&&n.length&&r!==\"string\"&&o(n)})})(arguments),r?s=u.length:t&&(i=n,f(t))}return this},remove:function(){return u&&jQuery.each(arguments,function(e,t){var n;while((n=jQuery.inArray(t,u,n))>-1)u.splice(n,1),r&&(n<=s&&s--,n<=o&&o--)}),this},has:function(e){return e?jQuery.inArray(e,u)>-1:!!u&&!!u.length},empty:function(){return u=[],s=0,this},disable:function(){return u=a=t=undefined,this},disabled:function(){return!u},lock:function(){return a=undefined,t||l.disable(),this},locked:function(){return!a},fireWith:function(e,t){return u&&(!n||a)&&(t=t||[],t=[e,t.slice?t.slice():t],r?a.push(t):f(t)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!n}};return l},jQuery.extend({Deferred:function(e){var t=[[\"resolve\",\"done\",jQuery.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",jQuery.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",jQuery.Callbacks(\"memory\")]],n=\"pending\",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return jQuery.Deferred(function(n){jQuery.each(t,function(t,s){var o=jQuery.isFunction(e[t])&&e[t];i[s[1]](function(){var e=o&&o.apply(this,arguments);e&&jQuery.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s[0]+\"With\"](this===r?n.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return e!=null?jQuery.extend(e,r):r}},i={};return r.pipe=r.then,jQuery.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=function(){return i[s[0]+\"With\"](this===i?r:this,arguments),this},i[s[0]+\"With\"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=slice.call(arguments),r=n.length,i=r!==1||e&&jQuery.isFunction(e.promise)?r:0,s=i===1?e:jQuery.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?slice.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&jQuery.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}});var readyList;jQuery.fn.ready=function(e){return jQuery.ready.promise().done(e),this},jQuery.extend({isReady:!1,readyWait:1,holdReady:function(e){e?jQuery.readyWait++:jQuery.ready(!0)},ready:function(e){if(e===!0?--jQuery.readyWait:jQuery.isReady)return;jQuery.isReady=!0;if(e!==!0&&--jQuery.readyWait>0)return;readyList.resolveWith(document,[jQuery]),jQuery.fn.triggerHandler&&(jQuery(document).triggerHandler(\"ready\"),jQuery(document).off(\"ready\"))}}),jQuery.ready.promise=function(e){return readyList||(readyList=jQuery.Deferred(),document.readyState===\"complete\"?setTimeout(jQuery.ready):(document.addEventListener(\"DOMContentLoaded\",completed,!1),window.addEventListener(\"load\",completed,!1))),readyList.promise(e)},jQuery.ready.promise();var access=jQuery.access=function(e,t,n,r,i,s,o){var u=0,a=e.length,f=n==null;if(jQuery.type(n)===\"object\"){i=!0;for(u in n)jQuery.access(e,t,u,n[u],!0,s,o)}else if(r!==undefined){i=!0,jQuery.isFunction(r)||(o=!0),f&&(o?(t.call(e,r),t=null):(f=t,t=function(e,t,n){return f.call(jQuery(e),n)}));if(t)for(;u<a;u++)t(e[u],n,o?r:r.call(e[u],u,t(e[u],n)))}return i?e:f?t.call(e):a?t(e[0],n):s};jQuery.acceptData=function(e){return e.nodeType===1||e.nodeType===9||!+e.nodeType},Data.uid=1,Data.accepts=jQuery.acceptData,Data.prototype={key:function(e){if(!Data.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=Data.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,jQuery.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),s=this.cache[i];if(typeof t==\"string\")s[t]=n;else if(jQuery.isEmptyObject(s))jQuery.extend(this.cache[i],t);else for(r in t)s[r]=t[r];return s},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&typeof t==\"string\"&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,jQuery.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,s=this.key(e),o=this.cache[s];if(t===undefined)this.cache[s]={};else{jQuery.isArray(t)?r=t.concat(t.map(jQuery.camelCase)):(i=jQuery.camelCase(t),t in o?r=[t,i]:(r=i,r=r in o?[r]:r.match(rnotwhite)||[])),n=r.length;while(n--)delete o[r[n]]}},hasData:function(e){return!jQuery.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var data_priv=new Data,data_user=new Data,rbrace=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,rmultiDash=/([A-Z])/g;jQuery.extend({hasData:function(e){return data_user.hasData(e)||data_priv.hasData(e)},data:function(e,t,n){return data_user.access(e,t,n)},removeData:function(e,t){data_user.remove(e,t)},_data:function(e,t,n){return data_priv.access(e,t,n)},_removeData:function(e,t){data_priv.remove(e,t)}}),jQuery.fn.extend({data:function(e,t){var n,r,i,s=this[0],o=s&&s.attributes;if(e===undefined){if(this.length){i=data_user.get(s);if(s.nodeType===1&&!data_priv.get(s,\"hasDataAttrs\")){n=o.length;while(n--)o[n]&&(r=o[n].name,r.indexOf(\"data-\")===0&&(r=jQuery.camelCase(r.slice(5)),dataAttr(s,r,i[r])));data_priv.set(s,\"hasDataAttrs\",!0)}}return i}return typeof e==\"object\"?this.each(function(){data_user.set(this,e)}):access(this,function(t){var n,r=jQuery.camelCase(e);if(s&&t===undefined){n=data_user.get(s,e);if(n!==undefined)return n;n=data_user.get(s,r);if(n!==undefined)return n;n=dataAttr(s,r,undefined);if(n!==undefined)return n;return}this.each(function(){var n=data_user.get(this,r);data_user.set(this,r,t),e.indexOf(\"-\")!==-1&&n!==undefined&&data_user.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){data_user.remove(this,e)})}}),jQuery.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=data_priv.get(e,t),n&&(!r||jQuery.isArray(n)?r=data_priv.access(e,t,jQuery.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=jQuery.queue(e,t),r=n.length,i=n.shift(),s=jQuery._queueHooks(e,t),o=function(){jQuery.dequeue(e,t)};i===\"inprogress\"&&(i=n.shift(),r--),i&&(t===\"fx\"&&n.unshift(\"inprogress\"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return data_priv.get(e,n)||data_priv.access(e,n,{empty:jQuery.Callbacks(\"once memory\").add(function(){data_priv.remove(e,[t+\"queue\",n])})})}}),jQuery.fn.extend({queue:function(e,t){var n=2;return typeof e!=\"string\"&&(t=e,e=\"fx\",n--),arguments.length<n?jQuery.queue(this[0],e):t===undefined?this:this.each(function(){var n=jQuery.queue(this,e,t);jQuery._queueHooks(this,e),e===\"fx\"&&n[0]!==\"inprogress\"&&jQuery.dequeue(this,e)})},dequeue:function(e){return this.each(function(){jQuery.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=jQuery.Deferred(),s=this,o=this.length,u=function(){--r||i.resolveWith(s,[s])};typeof e!=\"string\"&&(t=e,e=undefined),e=e||\"fx\";while(o--)n=data_priv.get(s[o],e+\"queueHooks\"),n&&n.empty&&(r++,n.empty.add(u));return u(),i.promise(t)}});var pnum=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,cssExpand=[\"Top\",\"Right\",\"Bottom\",\"Left\"],isHidden=function(e,t){return e=t||e,jQuery.css(e,\"display\")===\"none\"||!jQuery.contains(e.ownerDocument,e)},rcheckableType=/^(?:checkbox|radio)$/i;(function(){var e=document.createDocumentFragment(),t=e.appendChild(document.createElement(\"div\")),n=document.createElement(\"input\");n.setAttribute(\"type\",\"radio\"),n.setAttribute(\"checked\",\"checked\"),n.setAttribute(\"name\",\"t\"),t.appendChild(n),support.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML=\"<textarea>x</textarea>\",support.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue})();var strundefined=typeof undefined;support.focusinBubbles=\"onfocusin\"in window;var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rtypenamespace=/^([^.]*)(?:\\.(.+)|)$/;jQuery.event={global:{},add:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,v,m=data_priv.get(e);if(!m)return;n.handler&&(s=n,n=s.handler,i=s.selector),n.guid||(n.guid=jQuery.guid++),(a=m.events)||(a=m.events={}),(o=m.handle)||(o=m.handle=function(t){return typeof jQuery!==strundefined&&jQuery.event.triggered!==t.type?jQuery.event.dispatch.apply(e,arguments):undefined}),t=(t||\"\").match(rnotwhite)||[\"\"],f=t.length;while(f--){u=rtypenamespace.exec(t[f])||[],p=v=u[1],d=(u[2]||\"\").split(\".\").sort();if(!p)continue;c=jQuery.event.special[p]||{},p=(i?c.delegateType:c.bindType)||p,c=jQuery.event.special[p]||{},l=jQuery.extend({type:p,origType:v,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&jQuery.expr.match.needsContext.test(i),namespace:d.join(\".\")},s),(h=a[p])||(h=a[p]=[],h.delegateCount=0,(!c.setup||c.setup.call(e,r,d,o)===!1)&&e.addEventListener&&e.addEventListener(p,o,!1)),c.add&&(c.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,l):h.push(l),jQuery.event.global[p]=!0}},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,v,m=data_priv.hasData(e)&&data_priv.get(e);if(!m||!(a=m.events))return;t=(t||\"\").match(rnotwhite)||[\"\"],f=t.length;while(f--){u=rtypenamespace.exec(t[f])||[],p=v=u[1],d=(u[2]||\"\").split(\".\").sort();if(!p){for(p in a)jQuery.event.remove(e,p+t[f],n,r,!0);continue}c=jQuery.event.special[p]||{},p=(r?c.delegateType:c.bindType)||p,h=a[p]||[],u=u[2]&&new RegExp(\"(^|\\\\.)\"+d.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),o=s=h.length;while(s--)l=h[s],(i||v===l.origType)&&(!n||n.guid===l.guid)&&(!u||u.test(l.namespace))&&(!r||r===l.selector||r===\"**\"&&l.selector)&&(h.splice(s,1),l.selector&&h.delegateCount--,c.remove&&c.remove.call(e,l));o&&!h.length&&((!c.teardown||c.teardown.call(e,d,m.handle)===!1)&&jQuery.removeEvent(e,p,m.handle),delete a[p])}jQuery.isEmptyObject(a)&&(delete m.handle,data_priv.remove(e,\"events\"))},trigger:function(e,t,n,r){var i,s,o,u,a,f,l,c=[n||document],h=hasOwn.call(e,\"type\")?e.type:e,p=hasOwn.call(e,\"namespace\")?e.namespace.split(\".\"):[];s=o=n=n||document;if(n.nodeType===3||n.nodeType===8)return;if(rfocusMorph.test(h+jQuery.event.triggered))return;h.indexOf(\".\")>=0&&(p=h.split(\".\"),h=p.shift(),p.sort()),a=h.indexOf(\":\")<0&&\"on\"+h,e=e[jQuery.expando]?e:new jQuery.Event(h,typeof e==\"object\"&&e),e.isTrigger=r?2:3,e.namespace=p.join(\".\"),e.namespace_re=e.namespace?new RegExp(\"(^|\\\\.)\"+p.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,e.result=undefined,e.target||(e.target=n),t=t==null?[e]:jQuery.makeArray(t,[e]),l=jQuery.event.special[h]||{};if(!r&&l.trigger&&l.trigger.apply(n,t)===!1)return;if(!r&&!l.noBubble&&!jQuery.isWindow(n)){u=l.delegateType||h,rfocusMorph.test(u+h)||(s=s.parentNode);for(;s;s=s.parentNode)c.push(s),o=s;o===(n.ownerDocument||document)&&c.push(o.defaultView||o.parentWindow||window)}i=0;while((s=c[i++])&&!e.isPropagationStopped())e.type=i>1?u:l.bindType||h,f=(data_priv.get(s,\"events\")||{})[e.type]&&data_priv.get(s,\"handle\"),f&&f.apply(s,t),f=a&&s[a],f&&f.apply&&jQuery.acceptData(s)&&(e.result=f.apply(s,t),e.result===!1&&e.preventDefault());return e.type=h,!r&&!e.isDefaultPrevented()&&(!l._default||l._default.apply(c.pop(),t)===!1)&&jQuery.acceptData(n)&&a&&jQuery.isFunction(n[h])&&!jQuery.isWindow(n)&&(o=n[a],o&&(n[a]=null),jQuery.event.triggered=h,n[h](),jQuery.event.triggered=undefined,o&&(n[a]=o)),e.result},dispatch:function(e){e=jQuery.event.fix(e);var t,n,r,i,s,o=[],u=slice.call(arguments),a=(data_priv.get(this,\"events\")||{})[e.type]||[],f=jQuery.event.special[e.type]||{};u[0]=e,e.delegateTarget=this;if(f.preDispatch&&f.preDispatch.call(this,e)===!1)return;o=jQuery.event.handlers.call(this,e,a),t=0;while((i=o[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((s=i.handlers[n++])&&!e.isImmediatePropagationStopped())if(!e.namespace_re||e.namespace_re.test(s.namespace))e.handleObj=s,e.data=s.data,r=((jQuery.event.special[s.origType]||{}).handle||s.handler).apply(i.elem,u),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation())}return f.postDispatch&&f.postDispatch.call(this,e),e.result},handlers:function(e,t){var n,r,i,s,o=[],u=t.delegateCount,a=e.target;if(u&&a.nodeType&&(!e.button||e.type!==\"click\"))for(;a!==this;a=a.parentNode||this)if(a.disabled!==!0||e.type!==\"click\"){r=[];for(n=0;n<u;n++)s=t[n],i=s.selector+\" \",r[i]===undefined&&(r[i]=s.needsContext?jQuery(i,this).index(a)>=0:jQuery.find(i,this,null,[a]).length),r[i]&&r.push(s);r.length&&o.push({elem:a,handlers:r})}return u<t.length&&o.push({elem:this,handlers:t.slice(u)}),o},props:\"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:\"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(e,t){var n,r,i,s=t.button;return e.pageX==null&&t.clientX!=null&&(n=e.target.ownerDocument||document,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),!e.which&&s!==undefined&&(e.which=s&1?1:s&2?3:s&4?2:0),e}},fix:function(e){if(e[jQuery.expando])return e;var t,n,r,i=e.type,s=e,o=this.fixHooks[i];o||(this.fixHooks[i]=o=rmouseEvent.test(i)?this.mouseHooks:rkeyEvent.test(i)?this.keyHooks:{}),r=o.props?this.props.concat(o.props):this.props,e=new jQuery.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=document),e.target.nodeType===3&&(e.target=e.target.parentNode),o.filter?o.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(this.type===\"checkbox\"&&this.click&&jQuery.nodeName(this,\"input\"))return this.click(),!1},_default:function(e){return jQuery.nodeName(e.target,\"a\")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=jQuery.extend(new jQuery.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?jQuery.event.trigger(i,null,t):jQuery.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},jQuery.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},jQuery.Event=function(e,t){if(!(this instanceof jQuery.Event))return new jQuery.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.defaultPrevented===undefined&&e.returnValue===!1?returnTrue:returnFalse):this.type=e,t&&jQuery.extend(this,t),this.timeStamp=e&&e.timeStamp||jQuery.now(),this[jQuery.expando]=!0},jQuery.Event.prototype={isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},jQuery.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){jQuery.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj;if(!i||i!==r&&!jQuery.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),support.focusinBubbles||jQuery.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){jQuery.event.simulate(t,e.target,jQuery.event.fix(e),!0)};jQuery.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=data_priv.access(r,t);i||r.addEventListener(e,n,!0),data_priv.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=data_priv.access(r,t)-1;i?data_priv.access(r,t,i):(r.removeEventListener(e,n,!0),data_priv.remove(r,t))}}}),jQuery.fn.extend({on:function(e,t,n,r,i){var s,o;if(typeof e==\"object\"){typeof t!=\"string\"&&(n=n||t,t=undefined);for(o in e)this.on(o,t,n,e[o],i);return this}n==null&&r==null?(r=t,n=t=undefined):r==null&&(typeof t==\"string\"?(r=n,n=undefined):(r=n,n=t,t=undefined));if(r===!1)r=returnFalse;else if(!r)return this;return i===1&&(s=r,r=function(e){return jQuery().off(e),s.apply(this,arguments)},r.guid=s.guid||(s.guid=jQuery.guid++)),this.each(function(){jQuery.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,jQuery(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(typeof e==\"object\"){for(i in e)this.off(i,t,e[i]);return this}if(t===!1||typeof t==\"function\")n=t,t=undefined;return n===!1&&(n=returnFalse),this.each(function(){jQuery.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){jQuery.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return jQuery.event.trigger(e,t,n,!0)}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,rtagName=/<([\\w:]+)/,rhtml=/<|&#?\\w+;/,rnoInnerhtml=/<(?:script|style|link)/i,rchecked=/checked\\s*(?:[^=]|=\\s*.checked.)/i,rscriptType=/^$|\\/(?:java|ecma)script/i,rscriptTypeMasked=/^true\\/(.*)/,rcleanScript=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,wrapMap={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td,jQuery.extend({clone:function(e,t,n){var r,i,s,o,u=e.cloneNode(!0),a=jQuery.contains(e.ownerDocument,e);if(!support.noCloneChecked&&(e.nodeType===1||e.nodeType===11)&&!jQuery.isXMLDoc(e)){o=getAll(u),s=getAll(e);for(r=0,i=s.length;r<i;r++)fixInput(s[r],o[r])}if(t)if(n){s=s||getAll(e),o=o||getAll(u);for(r=0,i=s.length;r<i;r++)cloneCopyEvent(s[r],o[r])}else cloneCopyEvent(e,u);return o=getAll(u,\"script\"),o.length>0&&setGlobalEval(o,!a&&getAll(e,\"script\")),u},buildFragment:function(e,t,n,r){var i,s,o,u,a,f,l=t.createDocumentFragment(),c=[],h=0,p=e.length;for(;h<p;h++){i=e[h];if(i||i===0)if(jQuery.type(i)===\"object\")jQuery.merge(c,i.nodeType?[i]:i);else if(!rhtml.test(i))c.push(t.createTextNode(i));else{s=s||l.appendChild(t.createElement(\"div\")),o=(rtagName.exec(i)||[\"\",\"\"])[1].toLowerCase(),u=wrapMap[o]||wrapMap._default,s.innerHTML=u[1]+i.replace(rxhtmlTag,\"<$1></$2>\")+u[2],f=u[0];while(f--)s=s.lastChild;jQuery.merge(c,s.childNodes),s=l.firstChild,s.textContent=\"\"}}l.textContent=\"\",h=0;while(i=c[h++]){if(r&&jQuery.inArray(i,r)!==-1)continue;a=jQuery.contains(i.ownerDocument,i),s=getAll(l.appendChild(i),\"script\"),a&&setGlobalEval(s);if(n){f=0;while(i=s[f++])rscriptType.test(i.type||\"\")&&n.push(i)}}return l},cleanData:function(e){var t,n,r,i,s=jQuery.event.special,o=0;for(;(n=e[o])!==undefined;o++){if(jQuery.acceptData(n)){i=n[data_priv.expando];if(i&&(t=data_priv.cache[i])){if(t.events)for(r in t.events)s[r]?jQuery.event.remove(n,r):jQuery.removeEvent(n,r,t.handle);data_priv.cache[i]&&delete data_priv.cache[i]}}delete data_user.cache[n[data_user.expando]]}}}),jQuery.fn.extend({text:function(e){return access(this,function(e){return e===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9)this.textContent=e})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var t=manipulationTarget(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var t=manipulationTarget(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?jQuery.filter(e,this):this,i=0;for(;(n=r[i])!=null;i++)!t&&n.nodeType===1&&jQuery.cleanData(getAll(n)),n.parentNode&&(t&&jQuery.contains(n.ownerDocument,n)&&setGlobalEval(getAll(n,\"script\")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++)e.nodeType===1&&(jQuery.cleanData(getAll(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return jQuery.clone(this,e,t)})},html:function(e){return access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&t.nodeType===1)return t.innerHTML;if(typeof e==\"string\"&&!rnoInnerhtml.test(e)&&!wrapMap[(rtagName.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=e.replace(rxhtmlTag,\"<$1></$2>\");try{for(;n<r;n++)t=this[n]||{},t.nodeType===1&&(jQuery.cleanData(getAll(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,jQuery.cleanData(getAll(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=concat.apply([],e);var n,r,i,s,o,u,a=0,f=this.length,l=this,c=f-1,h=e[0],p=jQuery.isFunction(h);if(p||f>1&&typeof h==\"string\"&&!support.checkClone&&rchecked.test(h))return this.each(function(n){var r=l.eq(n);p&&(e[0]=h.call(this,n,r.html())),r.domManip(e,t)});if(f){n=jQuery.buildFragment(e,this[0].ownerDocument,!1,this),r=n.firstChild,n.childNodes.length===1&&(n=r);if(r){i=jQuery.map(getAll(n,\"script\"),disableScript),s=i.length;for(;a<f;a++)o=n,a!==c&&(o=jQuery.clone(o,!0,!0),s&&jQuery.merge(i,getAll(o,\"script\"))),t.call(this[a],o,a);if(s){u=i[i.length-1].ownerDocument,jQuery.map(i,restoreScript);for(a=0;a<s;a++)o=i[a],rscriptType.test(o.type||\"\")&&!data_priv.access(o,\"globalEval\")&&jQuery.contains(u,o)&&(o.src?jQuery._evalUrl&&jQuery._evalUrl(o.src):jQuery.globalEval(o.textContent.replace(rcleanScript,\"\")))}}}return this}}),jQuery.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){jQuery.fn[e]=function(e){var n,r=[],i=jQuery(e),s=i.length-1,o=0;for(;o<=s;o++)n=o===s?this:this.clone(!0),jQuery(i[o])[t](n),push.apply(r,n.get());return this.pushStack(r)}});var iframe,elemdisplay={},rmargin=/^margin/,rnumnonpx=new RegExp(\"^(\"+pnum+\")(?!px)[a-z%]+$\",\"i\"),getStyles=function(e){return e.ownerDocument.defaultView.getComputedStyle(e,null)};(function(){function s(){i.style.cssText=\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute\",i.innerHTML=\"\",n.appendChild(r);var s=window.getComputedStyle(i,null);e=s.top!==\"1%\",t=s.width===\"4px\",n.removeChild(r)}var e,t,n=document.documentElement,r=document.createElement(\"div\"),i=document.createElement(\"div\");if(!i.style)return;i.style.backgroundClip=\"content-box\",i.cloneNode(!0).style.backgroundClip=\"\",support.clearCloneStyle=i.style.backgroundClip===\"content-box\",r.style.cssText=\"border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute\",r.appendChild(i),window.getComputedStyle&&jQuery.extend(support,{pixelPosition:function(){return s(),e},boxSizingReliable:function(){return t==null&&s(),t},reliableMarginRight:function(){var e,t=i.appendChild(document.createElement(\"div\"));return t.style.cssText=i.style.cssText=\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\",t.style.marginRight=t.style.width=\"0\",i.style.width=\"1px\",n.appendChild(r),e=!parseFloat(window.getComputedStyle(t,null).marginRight),n.removeChild(r),e}})})(),jQuery.swap=function(e,t,n,r){var i,s,o={};for(s in t)o[s]=e.style[s],e.style[s]=t[s];i=n.apply(e,r||[]);for(s in t)e.style[s]=o[s];return i};var rdisplayswap=/^(none|table(?!-c[ea]).+)/,rnumsplit=new RegExp(\"^(\"+pnum+\")(.*)$\",\"i\"),rrelNum=new RegExp(\"^([+-])=(\"+pnum+\")\",\"i\"),cssShow={position:\"absolute\",visibility:\"hidden\",display:\"block\"},cssNormalTransform={letterSpacing:\"0\",fontWeight:\"400\"},cssPrefixes=[\"Webkit\",\"O\",\"Moz\",\"ms\"];jQuery.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=curCSS(e,\"opacity\");return n===\"\"?\"1\":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":\"cssFloat\"},style:function(e,t,n,r){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var i,s,o,u=jQuery.camelCase(t),a=e.style;t=jQuery.cssProps[u]||(jQuery.cssProps[u]=vendorPropName(a,u)),o=jQuery.cssHooks[t]||jQuery.cssHooks[u];if(n===undefined)return o&&\"get\"in o&&(i=o.get(e,!1,r))!==undefined?i:a[t];s=typeof n,s===\"string\"&&(i=rrelNum.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(jQuery.css(e,t)),s=\"number\");if(n==null||n!==n)return;s===\"number\"&&!jQuery.cssNumber[u]&&(n+=\"px\"),!support.clearCloneStyle&&n===\"\"&&t.indexOf(\"background\")===0&&(a[t]=\"inherit\");if(!o||!(\"set\"in o)||(n=o.set(e,n,r))!==undefined)a[t]=n},css:function(e,t,n,r){var i,s,o,u=jQuery.camelCase(t);return t=jQuery.cssProps[u]||(jQuery.cssProps[u]=vendorPropName(e.style,u)),o=jQuery.cssHooks[t]||jQuery.cssHooks[u],o&&\"get\"in o&&(i=o.get(e,!0,n)),i===undefined&&(i=curCSS(e,t,r)),i===\"normal\"&&t in cssNormalTransform&&(i=cssNormalTransform[t]),n===\"\"||n?(s=parseFloat(i),n===!0||jQuery.isNumeric(s)?s||0:i):i}}),jQuery.each([\"height\",\"width\"],function(e,t){jQuery.cssHooks[t]={get:function(e,n,r){if(n)return rdisplayswap.test(jQuery.css(e,\"display\"))&&e.offsetWidth===0?jQuery.swap(e,cssShow,function(){return getWidthOrHeight(e,t,r)}):getWidthOrHeight(e,t,r)},set:function(e,n,r){var i=r&&getStyles(e);return setPositiveNumber(e,n,r?augmentWidthOrHeight(e,t,r,jQuery.css(e,\"boxSizing\",!1,i)===\"border-box\",i):0)}}}),jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(e,t){if(t)return jQuery.swap(e,{display:\"inline-block\"},curCSS,[e,\"marginRight\"])}),jQuery.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){jQuery.cssHooks[e+t]={expand:function(n){var r=0,i={},s=typeof n==\"string\"?n.split(\" \"):[n];for(;r<4;r++)i[e+cssExpand[r]+t]=s[r]||s[r-2]||s[0];return i}},rmargin.test(e)||(jQuery.cssHooks[e+t].set=setPositiveNumber)}),jQuery.fn.extend({css:function(e,t){return access(this,function(e,t,n){var r,i,s={},o=0;if(jQuery.isArray(t)){r=getStyles(e),i=t.length;for(;o<i;o++)s[t[o]]=jQuery.css(e,t[o],!1,r);return s}return n!==undefined?jQuery.style(e,t,n):jQuery.css(e,t)},e,t,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(e){return typeof e==\"boolean\"?e?this.show():this.hide():this.each(function(){isHidden(this)?jQuery(this).show():jQuery(this).hide()})}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||\"swing\",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(jQuery.cssNumber[n]?\"\":\"px\")},cur:function(){var e=Tween.propHooks[this.prop];return e&&e.get?e.get(this):Tween.propHooks._default.get(this)},run:function(e){var t,n=Tween.propHooks[this.prop];return this.options.duration?this.pos=t=jQuery.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=jQuery.css(e.elem,e.prop,\"\"),!t||t===\"auto\"?0:t):e.elem[e.prop]},set:function(e){jQuery.fx.step[e.prop]?jQuery.fx.step[e.prop](e):e.elem.style&&(e.elem.style[jQuery.cssProps[e.prop]]!=null||jQuery.cssHooks[e.prop])?jQuery.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},jQuery.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=new RegExp(\"^(?:([+-])=|)(\"+pnum+\")([a-z%]*)$\",\"i\"),rrun=/queueHooks$/,animationPrefilters=[defaultPrefilter],tweeners={\"*\":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=rfxnum.exec(t),s=i&&i[3]||(jQuery.cssNumber[e]?\"\":\"px\"),o=(jQuery.cssNumber[e]||s!==\"px\"&&+r)&&rfxnum.exec(jQuery.css(n.elem,e)),u=1,a=20;if(o&&o[3]!==s){s=s||o[3],i=i||[],o=+r||1;do u=u||\".5\",o/=u,jQuery.style(n.elem,e,o+s);while(u!==(u=n.cur()/r)&&u!==1&&--a)}return i&&(o=n.start=+o||+r||0,n.unit=s,n.end=i[1]?o+(i[1]+1)*i[2]:+i[2]),n}]};jQuery.Animation=jQuery.extend(Animation,{tweener:function(e,t){jQuery.isFunction(e)?(t=e,e=[\"*\"]):e=e.split(\" \");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],tweeners[n]=tweeners[n]||[],tweeners[n].unshift(t)},prefilter:function(e,t){t?animationPrefilters.unshift(e):animationPrefilters.push(e)}}),jQuery.speed=function(e,t,n){var r=e&&typeof e==\"object\"?jQuery.extend({},e):{complete:n||!n&&t||jQuery.isFunction(e)&&e,duration:e,easing:n&&t||t&&!jQuery.isFunction(t)&&t};r.duration=jQuery.fx.off?0:typeof r.duration==\"number\"?r.duration:r.duration in jQuery.fx.speeds?jQuery.fx.speeds[r.duration]:jQuery.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue=\"fx\";return r.old=r.complete,r.complete=function(){jQuery.isFunction(r.old)&&r.old.call(this),r.queue&&jQuery.dequeue(this,r.queue)},r},jQuery.fn.extend({fadeTo:function(e,t,n,r){return this.filter(isHidden).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=jQuery.isEmptyObject(e),s=jQuery.speed(t,n,r),o=function(){var t=Animation(this,jQuery.extend({},e),s);(i||data_priv.get(this,\"finish\"))&&t.stop(!0)};return o.finish=o,i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return typeof e!=\"string\"&&(n=t,t=e,e=undefined),t&&e!==!1&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,i=e!=null&&e+\"queueHooks\",s=jQuery.timers,o=data_priv.get(this);if(i)o[i]&&o[i].stop&&r(o[i]);else for(i in o)o[i]&&o[i].stop&&rrun.test(i)&&r(o[i]);for(i=s.length;i--;)s[i].elem===this&&(e==null||s[i].queue===e)&&(s[i].anim.stop(n),t=!1,s.splice(i,1));(t||!n)&&jQuery.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||\"fx\"),this.each(function(){var t,n=data_priv.get(this),r=n[e+\"queue\"],i=n[e+\"queueHooks\"],s=jQuery.timers,o=r?r.length:0;n.finish=!0,jQuery.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0);for(t=s.length;t--;)s[t].elem===this&&s[t].queue===e&&(s[t].anim.stop(!0),s.splice(t,1));for(t=0;t<o;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),jQuery.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=jQuery.fn[t];jQuery.fn[t]=function(e,r,i){return e==null||typeof e==\"boolean\"?n.apply(this,arguments):this.animate(genFx(t,!0),e,r,i)}}),jQuery.each({slideDown:genFx(\"show\"),slideUp:genFx(\"hide\"),slideToggle:genFx(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){jQuery.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),jQuery.timers=[],jQuery.fx.tick=function(){var e,t=0,n=jQuery.timers;fxNow=jQuery.now();for(;t<n.length;t++)e=n[t],!e()&&n[t]===e&&n.splice(t--,1);n.length||jQuery.fx.stop(),fxNow=undefined},jQuery.fx.timer=function(e){jQuery.timers.push(e),e()?jQuery.fx.start():jQuery.timers.pop()},jQuery.fx.interval=13,jQuery.fx.start=function(){timerId||(timerId=setInterval(jQuery.fx.tick,jQuery.fx.interval))},jQuery.fx.stop=function(){clearInterval(timerId),timerId=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(e,t){return e=jQuery.fx?jQuery.fx.speeds[e]||e:e,t=t||\"fx\",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},function(){var e=document.createElement(\"input\"),t=document.createElement(\"select\"),n=t.appendChild(document.createElement(\"option\"));e.type=\"checkbox\",support.checkOn=e.value!==\"\",support.optSelected=n.selected,t.disabled=!0,support.optDisabled=!n.disabled,e=document.createElement(\"input\"),e.value=\"t\",e.type=\"radio\",support.radioValue=e.value===\"t\"}();var nodeHook,boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(e,t){return access(this,jQuery.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){jQuery.removeAttr(this,e)})}}),jQuery.extend({attr:function(e,t,n){var r,i,s=e.nodeType;if(!e||s===3||s===8||s===2)return;if(typeof e.getAttribute===strundefined)return jQuery.prop(e,t,n);if(s!==1||!jQuery.isXMLDoc(e))t=t.toLowerCase(),r=jQuery.attrHooks[t]||(jQuery.expr.match.bool.test(t)?boolHook:nodeHook);if(n===undefined)return r&&\"get\"in r&&(i=r.get(e,t))!==null?i:(i=jQuery.find.attr(e,t),i==null?undefined:i);if(n!==null)return r&&\"set\"in r&&(i=r.set(e,n,t))!==undefined?i:(e.setAttribute(t,n+\"\"),n);jQuery.removeAttr(e,t)},removeAttr:function(e,t){var n,r,i=0,s=t&&t.match(rnotwhite);if(s&&e.nodeType===1)while(n=s[i++])r=jQuery.propFix[n]||n,jQuery.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!support.radioValue&&t===\"radio\"&&jQuery.nodeName(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}}}),boolHook={set:function(e,t,n){return t===!1?jQuery.removeAttr(e,n):e.setAttribute(n,n),n}},jQuery.each(jQuery.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=attrHandle[t]||jQuery.find.attr;attrHandle[t]=function(e,t,r){var i,s;return r||(s=attrHandle[t],attrHandle[t]=i,i=n(e,t,r)!=null?t.toLowerCase():null,attrHandle[t]=s),i}});var rfocusable=/^(?:input|select|textarea|button)$/i;jQuery.fn.extend({prop:function(e,t){return access(this,jQuery.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[jQuery.propFix[e]||e]})}}),jQuery.extend({propFix:{\"for\":\"htmlFor\",\"class\":\"className\"},prop:function(e,t,n){var r,i,s,o=e.nodeType;if(!e||o===3||o===8||o===2)return;return s=o!==1||!jQuery.isXMLDoc(e),s&&(t=jQuery.propFix[t]||t,i=jQuery.propHooks[t]),n!==undefined?i&&\"set\"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&\"get\"in i&&(r=i.get(e,t))!==null?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute(\"tabindex\")||rfocusable.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),support.optSelected||(jQuery.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),jQuery.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){jQuery.propFix[this.toLowerCase()]=this});var rclass=/[\\t\\r\\n\\f]/g;jQuery.fn.extend({addClass:function(e){var t,n,r,i,s,o,u=typeof e==\"string\"&&e,a=0,f=this.length;if(jQuery.isFunction(e))return this.each(function(t){jQuery(this).addClass(e.call(this,t,this.className))});if(u){t=(e||\"\").match(rnotwhite)||[];for(;a<f;a++){n=this[a],r=n.nodeType===1&&(n.className?(\" \"+n.className+\" \").replace(rclass,\" \"):\" \");if(r){s=0;while(i=t[s++])r.indexOf(\" \"+i+\" \")<0&&(r+=i+\" \");o=jQuery.trim(r),n.className!==o&&(n.className=o)}}}return this},removeClass:function(e){var t,n,r,i,s,o,u=arguments.length===0||typeof e==\"string\"&&e,a=0,f=this.length;if(jQuery.isFunction(e))return this.each(function(t){jQuery(this).removeClass(e.call(this,t,this.className))});if(u){t=(e||\"\").match(rnotwhite)||[];for(;a<f;a++){n=this[a],r=n.nodeType===1&&(n.className?(\" \"+n.className+\" \").replace(rclass,\" \"):\"\");if(r){s=0;while(i=t[s++])while(r.indexOf(\" \"+i+\" \")>=0)r=r.replace(\" \"+i+\" \",\" \");o=e?jQuery.trim(r):\"\",n.className!==o&&(n.className=o)}}}return this},toggleClass:function(e,t){var n=typeof e;return typeof t==\"boolean\"&&n===\"string\"?t?this.addClass(e):this.removeClass(e):jQuery.isFunction(e)?this.each(function(n){jQuery(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n===\"string\"){var t,r=0,i=jQuery(this),s=e.match(rnotwhite)||[];while(t=s[r++])i.hasClass(t)?i.removeClass(t):i.addClass(t)}else if(n===strundefined||n===\"boolean\")this.className&&data_priv.set(this,\"__className__\",this.className),this.className=this.className||e===!1?\"\":data_priv.get(this,\"__className__\")||\"\"})},hasClass:function(e){var t=\" \"+e+\" \",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(\" \"+this[n].className+\" \").replace(rclass,\" \").indexOf(t)>=0)return!0;return!1}});var rreturn=/\\r/g;jQuery.fn.extend({val:function(e){var t,n,r,i=this[0];if(!arguments.length){if(i)return t=jQuery.valHooks[i.type]||jQuery.valHooks[i.nodeName.toLowerCase()],t&&\"get\"in t&&(n=t.get(i,\"value\"))!==undefined?n:(n=i.value,typeof n==\"string\"?n.replace(rreturn,\"\"):n==null?\"\":n);return}return r=jQuery.isFunction(e),this.each(function(n){var i;if(this.nodeType!==1)return;r?i=e.call(this,n,jQuery(this).val()):i=e,i==null?i=\"\":typeof i==\"number\"?i+=\"\":jQuery.isArray(i)&&(i=jQuery.map(i,function(e){return e==null?\"\":e+\"\"})),t=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!t||!(\"set\"in t)||t.set(this,i,\"value\")===undefined)this.value=i})}}),jQuery.extend({valHooks:{option:{get:function(e){var t=jQuery.find.attr(e,\"value\");return t!=null?t:jQuery.trim(jQuery.text(e))}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type===\"select-one\"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(support.optDisabled?!n.disabled:n.getAttribute(\"disabled\")===null)&&(!n.parentNode.disabled||!jQuery.nodeName(n.parentNode,\"optgroup\"))){t=jQuery(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n,r,i=e.options,s=jQuery.makeArray(t),o=i.length;while(o--){r=i[o];if(r.selected=jQuery.inArray(r.value,s)>=0)n=!0}return n||(e.selectedIndex=-1),s}}}}),jQuery.each([\"radio\",\"checkbox\"],function(){jQuery.valHooks[this]={set:function(e,t){if(jQuery.isArray(t))return e.checked=jQuery.inArray(jQuery(e).val(),t)>=0}},support.checkOn||(jQuery.valHooks[this].get=function(e){return e.getAttribute(\"value\")===null?\"on\":e.value})}),jQuery.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(e,t){jQuery.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),jQuery.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,\"**\"):this.off(t,e||\"**\",n)}});var nonce=jQuery.now(),rquery=/\\?/;jQuery.parseJSON=function(e){return JSON.parse(e+\"\")},jQuery.parseXML=function(e){var t,n;if(!e||typeof e!=\"string\")return null;try{n=new DOMParser,t=n.parseFromString(e,\"text/xml\")}catch(r){t=undefined}return(!t||t.getElementsByTagName(\"parsererror\").length)&&jQuery.error(\"Invalid XML: \"+e),t};var ajaxLocParts,ajaxLocation,rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \\t]*([^\\r\\n]*)$/mg,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\\/\\//,rurl=/^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::(\\d+)|)|)/,prefilters={},transports={},allTypes=\"*/\".concat(\"*\");try{ajaxLocation=location.href}catch(e){ajaxLocation=document.createElement(\"a\"),ajaxLocation.href=\"\",ajaxLocation=ajaxLocation.href}ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[],jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ajaxLocation,type:\"GET\",isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":allTypes,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":jQuery.parseJSON,\"text xml\":jQuery.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ajaxExtend(ajaxExtend(e,jQuery.ajaxSettings),t):ajaxExtend(jQuery.ajaxSettings,e)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(e,t){function S(e,t,s,u){var f,m,g,b,E,S=t;if(y===2)return;y=2,o&&clearTimeout(o),n=undefined,i=u||\"\",w.readyState=e>0?4:0,f=e>=200&&e<300||e===304,s&&(b=ajaxHandleResponses(l,w,s)),b=ajaxConvert(l,b,w,f);if(f)l.ifModified&&(E=w.getResponseHeader(\"Last-Modified\"),E&&(jQuery.lastModified[r]=E),E=w.getResponseHeader(\"etag\"),E&&(jQuery.etag[r]=E)),e===204||l.type===\"HEAD\"?S=\"nocontent\":e===304?S=\"notmodified\":(S=b.state,m=b.data,g=b.error,f=!g);else{g=S;if(e||!S)S=\"error\",e<0&&(e=0)}w.status=e,w.statusText=(t||S)+\"\",f?p.resolveWith(c,[m,S,w]):p.rejectWith(c,[w,S,g]),w.statusCode(v),v=undefined,a&&h.trigger(f?\"ajaxSuccess\":\"ajaxError\",[w,l,f?m:g]),d.fireWith(c,[w,S]),a&&(h.trigger(\"ajaxComplete\",[w,l]),--jQuery.active||jQuery.event.trigger(\"ajaxStop\"))}typeof e==\"object\"&&(t=e,e=undefined),t=t||{};var n,r,i,s,o,u,a,f,l=jQuery.ajaxSetup({},t),c=l.context||l,h=l.context&&(c.nodeType||c.jquery)?jQuery(c):jQuery.event,p=jQuery.Deferred(),d=jQuery.Callbacks(\"once memory\"),v=l.statusCode||{},m={},g={},y=0,b=\"canceled\",w={readyState:0,getResponseHeader:function(e){var t;if(y===2){if(!s){s={};while(t=rheaders.exec(i))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return t==null?null:t},getAllResponseHeaders:function(){return y===2?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return y||(e=g[n]=g[n]||e,m[e]=t),this},overrideMimeType:function(e){return y||(l.mimeType=e),this},statusCode:function(e){var t;if(e)if(y<2)for(t in e)v[t]=[v[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),S(0,t),this}};p.promise(w).complete=d.add,w.success=w.done,w.error=w.fail,l.url=((e||l.url||ajaxLocation)+\"\").replace(rhash,\"\").replace(rprotocol,ajaxLocParts[1]+\"//\"),l.type=t.method||t.type||l.method||l.type,l.dataTypes=jQuery.trim(l.dataType||\"*\").toLowerCase().match(rnotwhite)||[\"\"],l.crossDomain==null&&(u=rurl.exec(l.url.toLowerCase()),l.crossDomain=!(!u||u[1]===ajaxLocParts[1]&&u[2]===ajaxLocParts[2]&&(u[3]||(u[1]===\"http:\"?\"80\":\"443\"))===(ajaxLocParts[3]||(ajaxLocParts[1]===\"http:\"?\"80\":\"443\")))),l.data&&l.processData&&typeof l.data!=\"string\"&&(l.data=jQuery.param(l.data,l.traditional)),inspectPrefiltersOrTransports(prefilters,l,t,w);if(y===2)return w;a=l.global,a&&jQuery.active++===0&&jQuery.event.trigger(\"ajaxStart\"),l.type=l.type.toUpperCase(),l.hasContent=!rnoContent.test(l.type),r=l.url,l.hasContent||(l.data&&(r=l.url+=(rquery.test(r)?\"&\":\"?\")+l.data,delete l.data),l.cache===!1&&(l.url=rts.test(r)?r.replace(rts,\"$1_=\"+nonce++):r+(rquery.test(r)?\"&\":\"?\")+\"_=\"+nonce++)),l.ifModified&&(jQuery.lastModified[r]&&w.setRequestHeader(\"If-Modified-Since\",jQuery.lastModified[r]),jQuery.etag[r]&&w.setRequestHeader(\"If-None-Match\",jQuery.etag[r])),(l.data&&l.hasContent&&l.contentType!==!1||t.contentType)&&w.setRequestHeader(\"Content-Type\",l.contentType),w.setRequestHeader(\"Accept\",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!==\"*\"?\", \"+allTypes+\"; q=0.01\":\"\"):l.accepts[\"*\"]);for(f in l.headers)w.setRequestHeader(f,l.headers[f]);if(!l.beforeSend||l.beforeSend.call(c,w,l)!==!1&&y!==2){b=\"abort\";for(f in{success:1,error:1,complete:1})w[f](l[f]);n=inspectPrefiltersOrTransports(transports,l,t,w);if(!n)S(-1,\"No Transport\");else{w.readyState=1,a&&h.trigger(\"ajaxSend\",[w,l]),l.async&&l.timeout>0&&(o=setTimeout(function(){w.abort(\"timeout\")},l.timeout));try{y=1,n.send(m,S)}catch(E){if(!(y<2))throw E;S(-1,E)}}return w}return w.abort()},getJSON:function(e,t,n){return jQuery.get(e,t,n,\"json\")},getScript:function(e,t){return jQuery.get(e,undefined,t,\"script\")}}),jQuery.each([\"get\",\"post\"],function(e,t){jQuery[t]=function(e,n,r,i){return jQuery.isFunction(n)&&(i=i||r,r=n,n=undefined),jQuery.ajax({url:e,type:t,dataType:i,data:n,success:r})}}),jQuery.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){jQuery.fn[t]=function(e){return this.on(t,e)}}),jQuery._evalUrl=function(e){return jQuery.ajax({url:e,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0})},jQuery.fn.extend({wrapAll:function(e){var t;return jQuery.isFunction(e)?this.each(function(t){jQuery(this).wrapAll(e.call(this,t))}):(this[0]&&(t=jQuery(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return jQuery.isFunction(e)?this.each(function(t){jQuery(this).wrapInner(e.call(this,t))}):this.each(function(){var t=jQuery(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=jQuery.isFunction(e);return this.each(function(n){jQuery(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){jQuery.nodeName(this,\"body\")||jQuery(this).replaceWith(this.childNodes)}).end()}}),jQuery.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0},jQuery.expr.filters.visible=function(e){return!jQuery.expr.filters.hidden(e)};var r20=/%20/g,rbracket=/\\[\\]$/,rCRLF=/\\r?\\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.param=function(e,t){var n,r=[],i=function(e,t){t=jQuery.isFunction(t)?t():t==null?\"\":t,r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(t)};t===undefined&&(t=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional);if(jQuery.isArray(e)||e.jquery&&!jQuery.isPlainObject(e))jQuery.each(e,function(){i(this.name,this.value)});else for(n in e)buildParams(n,e[n],t,i);return r.join(\"&\").replace(r20,\"+\")},jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=jQuery.prop(this,\"elements\");return e?jQuery.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!jQuery(this).is(\":disabled\")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(e)&&(this.checked||!rcheckableType.test(e))}).map(function(e,t){var n=jQuery(this).val();return n==null?null:jQuery.isArray(n)?jQuery.map(n,function(e){return{name:t.name,value:e.replace(rCRLF,\"\\r\\n\")}}):{name:t.name,value:n.replace(rCRLF,\"\\r\\n\")}}).get()}}),jQuery.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var xhrId=0,xhrCallbacks={},xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();window.ActiveXObject&&jQuery(window).on(\"unload\",function(){for(var e in xhrCallbacks)xhrCallbacks[e]()}),support.cors=!!xhrSupported&&\"withCredentials\"in xhrSupported,support.ajax=xhrSupported=!!xhrSupported,jQuery.ajaxTransport(function(e){var t;if(support.cors||xhrSupported&&!e.crossDomain)return{send:function(n,r){var i,s=e.xhr(),o=++xhrId;s.open(e.type,e.url,e.async,e.username,e.password);if(e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),!e.crossDomain&&!n[\"X-Requested-With\"]&&(n[\"X-Requested-With\"]=\"XMLHttpRequest\");for(i in n)s.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete xhrCallbacks[o],t=s.onload=s.onerror=null,e===\"abort\"?s.abort():e===\"error\"?r(s.status,s.statusText):r(xhrSuccessStatus[s.status]||s.status,s.statusText,typeof s.responseText==\"string\"?{text:s.responseText}:undefined,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t(\"error\"),t=xhrCallbacks[o]=t(\"abort\");try{s.send(e.hasContent&&e.data||null)}catch(u){if(t)throw u}},abort:function(){t&&t()}}}),jQuery.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/(?:java|ecma)script/},converters:{\"text script\":function(e){return jQuery.globalEval(e),e}}}),jQuery.ajaxPrefilter(\"script\",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),jQuery.ajaxTransport(\"script\",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=jQuery(\"<script>\").prop({async:!0,charset:e.scriptCharset,src:e.url}).on(\"load error\",n=function(e){t.remove(),n=null,e&&i(e.type===\"error\"?404:200,e.type)}),document.head.appendChild(t[0])},abort:function(){n&&n()}}}});var oldCallbacks=[],rjsonp=/(=)\\?(?=&|$)|\\?\\?/;jQuery.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=oldCallbacks.pop()||jQuery.expando+\"_\"+nonce++;return this[e]=!0,e}}),jQuery.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,s,o=e.jsonp!==!1&&(rjsonp.test(e.url)?\"url\":typeof e.data==\"string\"&&!(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&rjsonp.test(e.data)&&\"data\");if(o||e.dataTypes[0]===\"jsonp\")return r=e.jsonpCallback=jQuery.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,o?e[o]=e[o].replace(rjsonp,\"$1\"+r):e.jsonp!==!1&&(e.url+=(rquery.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return s||jQuery.error(r+\" was not called\"),s[0]},e.dataTypes[0]=\"json\",i=window[r],window[r]=function(){s=arguments},n.always(function(){window[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,oldCallbacks.push(r)),s&&jQuery.isFunction(i)&&i(s[0]),s=i=undefined}),\"script\"}),jQuery.parseHTML=function(e,t,n){if(!e||typeof e!=\"string\")return null;typeof t==\"boolean\"&&(n=t,t=!1),t=t||document;var r=rsingleTag.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=jQuery.buildFragment([e],t,i),i&&i.length&&jQuery(i).remove(),jQuery.merge([],r.childNodes))};var _load=jQuery.fn.load;jQuery.fn.load=function(e,t,n){if(typeof e!=\"string\"&&_load)return _load.apply(this,arguments);var r,i,s,o=this,u=e.indexOf(\" \");return u>=0&&(r=jQuery.trim(e.slice(u)),e=e.slice(0,u)),jQuery.isFunction(t)?(n=t,t=undefined):t&&typeof t==\"object\"&&(i=\"POST\"),o.length>0&&jQuery.ajax({url:e,type:i,dataType:\"html\",data:t}).done(function(e){s=arguments,o.html(r?jQuery(\"<div>\").append(jQuery.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){o.each(n,s||[e.responseText,t,e])}),this},jQuery.expr.filters.animated=function(e){return jQuery.grep(jQuery.timers,function(t){return e===t.elem}).length};var docElem=window.document.documentElement;jQuery.offset={setOffset:function(e,t,n){var r,i,s,o,u,a,f,l=jQuery.css(e,\"position\"),c=jQuery(e),h={};l===\"static\"&&(e.style.position=\"relative\"),u=c.offset(),s=jQuery.css(e,\"top\"),a=jQuery.css(e,\"left\"),f=(l===\"absolute\"||l===\"fixed\")&&(s+a).indexOf(\"auto\")>-1,f?(r=c.position(),o=r.top,i=r.left):(o=parseFloat(s)||0,i=parseFloat(a)||0),jQuery.isFunction(t)&&(t=t.call(e,n,u)),t.top!=null&&(h.top=t.top-u.top+o),t.left!=null&&(h.left=t.left-u.left+i),\"using\"in t?t.using.call(e,h):c.css(h)}},jQuery.fn.extend({offset:function(e){if(arguments.length)return e===undefined?this:this.each(function(t){jQuery.offset.setOffset(this,e,t)});var t,n,r=this[0],i={top:0,left:0},s=r&&r.ownerDocument;if(!s)return;return t=s.documentElement,jQuery.contains(t,r)?(typeof r.getBoundingClientRect!==strundefined&&(i=r.getBoundingClientRect()),n=getWindow(s),{top:i.top+n.pageYOffset-t.clientTop,left:i.left+n.pageXOffset-t.clientLeft}):i},position:function(){if(!this[0])return;var e,t,n=this[0],r={top:0,left:0};return jQuery.css(n,\"position\")===\"fixed\"?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),jQuery.nodeName(e[0],\"html\")||(r=e.offset()),r.top+=jQuery.css(e[0],\"borderTopWidth\",!0),r.left+=jQuery.css(e[0],\"borderLeftWidth\",!0)),{top:t.top-r.top-jQuery.css(n,\"marginTop\",!0),left:t.left-r.left-jQuery.css(n,\"marginLeft\",!0)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||docElem;while(e&&!jQuery.nodeName(e,\"html\")&&jQuery.css(e,\"position\")===\"static\")e=e.offsetParent;return e||docElem})}}),jQuery.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=\"pageYOffset\"===t;jQuery.fn[e]=function(r){return access(this,function(e,r,i){var s=getWindow(e);if(i===undefined)return s?s[t]:e[r];s?s.scrollTo(n?window.pageXOffset:i,n?i:window.pageYOffset):e[r]=i},e,r,arguments.length,null)}}),jQuery.each([\"top\",\"left\"],function(e,t){jQuery.cssHooks[t]=addGetHookIf(support.pixelPosition,function(e,n){if(n)return n=curCSS(e,t),rnumnonpx.test(n)?jQuery(e).position()[t]+\"px\":n})}),jQuery.each({Height:\"height\",Width:\"width\"},function(e,t){jQuery.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,r){jQuery.fn[r]=function(r,i){var s=arguments.length&&(n||typeof r!=\"boolean\"),o=n||(r===!0||i===!0?\"margin\":\"border\");return access(this,function(t,n,r){var i;return jQuery.isWindow(t)?t.document.documentElement[\"client\"+e]:t.nodeType===9?(i=t.documentElement,Math.max(t.body[\"scroll\"+e],i[\"scroll\"+e],t.body[\"offset\"+e],i[\"offset\"+e],i[\"client\"+e])):r===undefined?jQuery.css(t,n,o):jQuery.style(t,n,r,o)},t,s?r:undefined,s,null)}})}),jQuery.fn.size=function(){return this.length},jQuery.fn.andSelf=jQuery.fn.addBack,typeof define==\"function\"&&define.amd&&define(\"jquery\",[],function(){return jQuery});var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(e){return window.$===jQuery&&(window.$=_$),e&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},typeof noGlobal===strundefined&&(window.jQuery=window.$=jQuery),jQuery}),function(e,t){typeof define==\"function\"&&define.amd?define(\"es6-shim\",t):typeof exports==\"object\"?module.exports=t():e.returnExports=t()}(this,function(){\"use strict\";var e=function(e){try{e()}catch(t){return!1}return!0},t=function(e,t){try{var n=function(){e.apply(this,arguments)};return n.__proto__?(Object.setPrototypeOf(n,e),n.prototype=Object.create(e.prototype,{constructor:{value:e}}),t(n)):!1}catch(r){return!1}},n=function(){try{return Object.defineProperty({},\"x\",{}),!0}catch(e){return!1}},r=function(){var e=!1;if(String.prototype.startsWith)try{\"/a/\".startsWith(/a/)}catch(t){e=!0}return e},i=new Function(\"return this;\"),s=i(),o=s.isFinite,u=!!Object.defineProperty&&n(),a=r(),f=Function.call.bind(String.prototype.indexOf),l=Function.call.bind(Object.prototype.toString),c=Function.call.bind(Object.prototype.hasOwnProperty),h,p=function(){},d=s.Symbol||{},v={string:function(e){return l(e)===\"[object String]\"},regex:function(e){return l(e)===\"[object RegExp]\"},symbol:function(e){return typeof s.Symbol==\"function\"&&typeof e==\"symbol\"}},m=function(e,t,n,r){if(!r&&t in e)return;u?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n}):e[t]=n},g={getter:function(e,t,n){if(!u)throw new TypeError(\"getters require true ES5 support\");Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get:n})},proxy:function(e,t,n){if(!u)throw new TypeError(\"getters require true ES5 support\");var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,{configurable:r.configurable,enumerable:r.enumerable,get:function(){return e[t]},set:function(r){e[t]=r}})},redefine:function(e,t,n){if(u){var r=Object.getOwnPropertyDescriptor(e,t);r.value=n,Object.defineProperty(e,t,r)}else e[t]=n}},y=function(e,t){Object.keys(t).forEach(function(n){var r=t[n];m(e,n,r,!1)})},b=Object.create||function(e,t){function n(){}n.prototype=e;var r=new n;return typeof t!=\"undefined\"&&y(r,t),r},w=v.symbol(d.iterator)?d.iterator:\"_es6-shim iterator_\";s.Set&&typeof (new s.Set)[\"@@iterator\"]==\"function\"&&(w=\"@@iterator\");var E=function(e,t){t||(t=function(){return this});var n={};n[w]=t,y(e,n),!e[w]&&v.symbol(w)&&(e[w]=t)},S=function(t){var n=l(t),r=n===\"[object Arguments]\";return r||(r=n!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&l(t.callee)===\"[object Function]\"),r},x={CheckObjectCoercible:function(e,t){if(e==null)throw new TypeError(t||\"Cannot call method on \"+e);return e},TypeIsObject:function(e){return e!=null&&Object(e)===e},ToObject:function(e,t){return Object(x.CheckObjectCoercible(e,t))},IsCallable:function(e){return typeof e==\"function\"&&l(e)===\"[object Function]\"},ToInt32:function(e){return e>>0},ToUint32:function(e){return e>>>0},ToInteger:function(e){var t=+e;return Number.isNaN(t)?0:t===0||!Number.isFinite(t)?t:(t>0?1:-1)*Math.floor(Math.abs(t))},ToLength:function(e){var t=x.ToInteger(e);return t<=0?0:t>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t},SameValue:function(e,t){return e===t?e===0?1/e===1/t:!0:Number.isNaN(e)&&Number.isNaN(t)},SameValueZero:function(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)},IsIterable:function(e){return x.TypeIsObject(e)&&(typeof e[w]!=\"undefined\"||S(e))},GetIterator:function(e){if(S(e))return new h(e,\"value\");var t=e[w];if(!x.IsCallable(t))throw new TypeError(\"value is not an iterable\");var n=t.call(e);if(!x.TypeIsObject(n))throw new TypeError(\"bad iterator\");return n},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!x.TypeIsObject(t))throw new TypeError(\"bad iterator\");return t},Construct:function(e,t){var n;x.IsCallable(e[\"@@create\"])?n=e[\"@@create\"]():n=b(e.prototype||null),y(n,{_es6construct:!0});var r=e.apply(n,t);return x.TypeIsObject(r)?r:n}},T=function(e){if(!x.TypeIsObject(e))throw new TypeError(\"bad object\");return e._es6construct||(e.constructor&&x.IsCallable(e.constructor[\"@@create\"])&&(e=e.constructor[\"@@create\"](e)),y(e,{_es6construct:!0})),e},N=function(){function e(e){var t=Math.floor(e),n=e-t;return n<.5?t:n>.5?t+1:t%2?t+1:t}function t(t,n,r){var i=(1<<n-1)-1,s,o,u,a,f,l,c;t!==t?(o=(1<<n)-1,u=Math.pow(2,r-1),s=0):t===Infinity||t===-Infinity?(o=(1<<n)-1,u=0,s=t<0?1:0):t===0?(o=0,u=0,s=1/t===-Infinity?1:0):(s=t<0,t=Math.abs(t),t>=Math.pow(2,1-i)?(o=Math.min(Math.floor(Math.log(t)/Math.LN2),1023),u=e(t/Math.pow(2,o)*Math.pow(2,r)),u/Math.pow(2,r)>=2&&(o+=1,u=1),o>i?(o=(1<<n)-1,u=0):(o+=i,u-=Math.pow(2,r))):(o=0,u=e(t/Math.pow(2,1-i-r)))),f=[];for(a=r;a;a-=1)f.push(u%2?1:0),u=Math.floor(u/2);for(a=n;a;a-=1)f.push(o%2?1:0),o=Math.floor(o/2);f.push(s?1:0),f.reverse(),l=f.join(\"\"),c=[];while(l.length)c.push(parseInt(l.slice(0,8),2)),l=l.slice(8);return c}function n(e,t,n){var r=[],i,s,o,u,a,f,l,c;for(i=e.length;i;i-=1){o=e[i-1];for(s=8;s;s-=1)r.push(o%2?1:0),o>>=1}return r.reverse(),u=r.join(\"\"),a=(1<<t-1)-1,f=parseInt(u.slice(0,1),2)?-1:1,l=parseInt(u.slice(1,1+t),2),c=parseInt(u.slice(1+t),2),l===(1<<t)-1?c!==0?NaN:f*Infinity:l>0?f*Math.pow(2,l-a)*(1+c/Math.pow(2,n)):c!==0?f*Math.pow(2,-(a-1))*(c/Math.pow(2,n)):f<0?0:0}function r(e){return n(e,11,52)}function i(e){return t(e,11,52)}function s(e){return n(e,8,23)}function o(e){return t(e,8,23)}var u={toFloat32:function(e){return s(o(e))}};if(typeof Float32Array!=\"undefined\"){var a=new Float32Array(1);u.toFloat32=function(e){return a[0]=e,a[0]}}return u}();y(String,{fromCodePoint:function(t){var n=[],r;for(var i=0,s=arguments.length;i<s;i++){r=Number(arguments[i]);if(!x.SameValue(r,x.ToInteger(r))||r<0||r>1114111)throw new RangeError(\"Invalid code point \"+r);r<65536?n.push(String.fromCharCode(r)):(r-=65536,n.push(String.fromCharCode((r>>10)+55296)),n.push(String.fromCharCode(r%1024+56320)))}return n.join(\"\")},raw:function(t){var n=x.ToObject(t,\"bad callSite\"),r=n.raw,i=x.ToObject(r,\"bad raw value\"),s=i.length,o=x.ToLength(s);if(o<=0)return\"\";var u=[],a=0,f,l,c,h;while(a<o){f=String(a),l=i[f],c=String(l),u.push(c);if(a+1>=o)break;l=a+1<arguments.length?arguments[a+1]:\"\",h=String(l),u.push(h),a++}return u.join(\"\")}});if(String.fromCodePoint.length!==1){var C=Function.apply.bind(String.fromCodePoint);m(String,\"fromCodePoint\",function(e){return C(this,arguments)},!0)}var k={repeat:function(){var e=function(t,n){if(n<1)return\"\";if(n%2)return e(t,n-1)+t;var r=e(t,n/2);return r+r};return function(t){var n=String(x.CheckObjectCoercible(this));t=x.ToInteger(t);if(t<0||t===Infinity)throw new RangeError(\"Invalid String#repeat value\");return e(n,t)}}(),startsWith:function(e){var t=String(x.CheckObjectCoercible(this));if(v.regex(e))throw new TypeError('Cannot call method \"startsWith\" with a regex');e=String(e);var n=arguments.length>1?arguments[1]:void 0,r=Math.max(x.ToInteger(n),0);return t.slice(r,r+e.length)===e},endsWith:function(e){var t=String(x.CheckObjectCoercible(this));if(v.regex(e))throw new TypeError('Cannot call method \"endsWith\" with a regex');e=String(e);var n=t.length,r=arguments.length>1?arguments[1]:void 0,i=typeof r==\"undefined\"?n:x.ToInteger(r),s=Math.min(Math.max(i,0),n);return t.slice(s-e.length,s)===e},includes:function(t){var n=arguments.length>1?arguments[1]:void 0;return f(this,t,n)!==-1},codePointAt:function(e){var t=String(x.CheckObjectCoercible(this)),n=x.ToInteger(e),r=t.length;if(n>=0&&n<r){var i=t.charCodeAt(n),s=n+1===r;if(i<55296||i>56319||s)return i;var o=t.charCodeAt(n+1);return o<56320||o>57343?i:(i-55296)*1024+(o-56320)+65536}}};y(String.prototype,k);var L=\"
\".trim().length!==1;if(L){delete String.prototype.trim;var A=[\"\t\\n\u000b\\f\\r \",\" \\u2028\",\"\\u2029\"].join(\"\"),O=new RegExp(\"(^[\"+A+\"]+)|([\"+A+\"]+$)\",\"g\");y(String.prototype,{trim:function(){if(typeof this==\"undefined\"||this===null)throw new TypeError(\"can't convert \"+this+\" to object\");return String(this).replace(O,\"\")}})}var M=function(e){this._s=String(x.CheckObjectCoercible(e)),this._i=0};M.prototype.next=function(){var e=this._s,t=this._i;if(typeof e==\"undefined\"||t>=e.length)return this._s=void 0,{value:void 0,done:!0};var n=e.charCodeAt(t),r,i;return n<55296||n>56319||t+1===e.length?i=1:(r=e.charCodeAt(t+1),i=r<56320||r>57343?1:2),this._i=t+i,{value:e.substr(t,i),done:!1}},E(M.prototype),E(String.prototype,function(){return new M(this)}),a||y(String.prototype,{startsWith:k.startsWith,endsWith:k.endsWith});var _={from:function(e){var t=arguments.length>1?arguments[1]:void 0,n=x.ToObject(e,\"bad iterable\");if(typeof t!=\"undefined\"&&!x.IsCallable(t))throw new TypeError(\"Array.from: when provided, the second argument must be a function\");var r=arguments.length>2,i=r?arguments[2]:void 0,s=x.IsIterable(n),o,u,a,f;if(s){a=0,u=x.IsCallable(this)?Object(new this):[];var l=s?x.GetIterator(n):null,c;do c=x.IteratorNext(l),c.done||(f=c.value,t?u[a]=r?t.call(i,f,a):t(f,a):u[a]=f,a+=1);while(!c.done);o=a}else{o=x.ToLength(n.length),u=x.IsCallable(this)?Object(new this(o)):new Array(o);for(a=0;a<o;++a)f=n[a],t?u[a]=r?t.call(i,f,a):t(f,a):u[a]=f}return u.length=o,u},of:function(){return Array.from(arguments)}};y(Array,_);var D=function(){try{return Array.from({length:-1}).length===0}catch(e){return!1}};D()||m(Array,\"from\",_.from,!0),h=function(e,t){this.i=0,this.array=e,this.kind=t},y(h.prototype,{next:function(){var e=this.i,t=this.array;if(this instanceof h){if(typeof t!=\"undefined\"){var n=x.ToLength(t.length);for(;e<n;e++){var r=this.kind,i;return r===\"key\"?i=e:r===\"value\"?i=t[e]:r===\"entry\"&&(i=[e,t[e]]),this.i=e+1,{value:i,done:!1}}}return this.array=void 0,{value:void 0,done:!0}}throw new TypeError(\"Not an ArrayIterator\")}}),E(h.prototype);var P={copyWithin:function(e,t){var n=arguments[2],r=x.ToObject(this),i=x.ToLength(r.length);e=x.ToInteger(e),t=x.ToInteger(t);var s=e<0?Math.max(i+e,0):Math.min(e,i),o=t<0?Math.max(i+t,0):Math.min(t,i);n=typeof n==\"undefined\"?i:x.ToInteger(n);var u=n<0?Math.max(i+n,0):Math.min(n,i),a=Math.min(u-o,i-s),f=1;o<s&&s<o+a&&(f=-1,o+=a-1,s+=a-1);while(a>0)c(r,o)?r[s]=r[o]:delete r[o],o+=f,s+=f,a-=1;return r},fill:function(e){var t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=x.ToObject(this),i=x.ToLength(r.length);t=x.ToInteger(typeof t==\"undefined\"?0:t),n=x.ToInteger(typeof n==\"undefined\"?i:n);var s=t<0?Math.max(i+t,0):Math.min(t,i),o=n<0?i+n:n;for(var u=s;u<i&&u<o;++u)r[u]=e;return r},find:function(t){var n=x.ToObject(this),r=x.ToLength(n.length);if(!x.IsCallable(t))throw new TypeError(\"Array#find: predicate must be a function\");var i=arguments.length>1?arguments[1]:null;for(var s=0,o;s<r;s++){o=n[s];if(i){if(t.call(i,o,s,n))return o}else if(t(o,s,n))return o}},findIndex:function(t){var n=x.ToObject(this),r=x.ToLength(n.length);if(!x.IsCallable(t))throw new TypeError(\"Array#findIndex: predicate must be a function\");var i=arguments.length>1?arguments[1]:null;for(var s=0;s<r;s++)if(i){if(t.call(i,n[s],s,n))return s}else if(t(n[s],s,n))return s;return-1},keys:function(){return new h(this,\"key\")},values:function(){return new h(this,\"value\")},entries:function(){return new h(this,\"entry\")}};Array.prototype.keys&&!x.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!x.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[w]&&(y(Array.prototype,{values:Array.prototype[w]}),v.symbol(d.unscopables)&&(Array.prototype[d.unscopables].values=!0)),y(Array.prototype,P),E(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&E(Object.getPrototypeOf([].values()));var H=Math.pow(2,53)-1;y(Number,{MAX_SAFE_INTEGER:H,MIN_SAFE_INTEGER:-H,EPSILON:2.220446049250313e-16,parseInt:s.parseInt,parseFloat:s.parseFloat,isFinite:function(e){return typeof e==\"number\"&&o(e)},isInteger:function(e){return Number.isFinite(e)&&x.ToInteger(e)===e},isSafeInteger:function(e){return Number.isInteger(e)&&Math.abs(e)<=Number.MAX_SAFE_INTEGER},isNaN:function(e){return e!==e}}),[,1].find(function(e,t){return t===0})||m(Array.prototype,\"find\",P.find,!0),[,1].findIndex(function(e,t){return t===0})!==0&&m(Array.prototype,\"findIndex\",P.findIndex,!0),u&&y(Object,{assign:function(e,t){if(!x.TypeIsObject(e))throw new TypeError(\"target must be an object\");return Array.prototype.reduce.call(arguments,function(e,t){return Object.keys(Object(t)).reduce(function(e,n){return e[n]=t[n],e},e)})},is:function(e,t){return x.SameValue(e,t)},setPrototypeOf:function(e,t){var n,r=function(e,t){if(!x.TypeIsObject(e))throw new TypeError(\"cannot set prototype on a non-object\");if(t!==null&&!x.TypeIsObject(t))throw new TypeError(\"can only set prototype to an object or null\"+t)},i=function(e,t){return r(e,t),n.call(e,t),e};try{n=e.getOwnPropertyDescriptor(e.prototype,t).set,n.call({},null)}catch(s){if(e.prototype!=={}[t])return;n=function(e){this[t]=e},i.polyfill=i(i({},null),e.prototype)instanceof e}return i}(Object,\"__proto__\")}),Object.setPrototypeOf&&Object.getPrototypeOf&&Object.getPrototypeOf(Object.setPrototypeOf({},null))!==null&&Object.getPrototypeOf(Object.create(null))===null&&function(){var e=Object.create(null),t=Object.getPrototypeOf,n=Object.setPrototypeOf;Object.getPrototypeOf=function(n){var r=t(n);return r===e?null:r},Object.setPrototypeOf=function(t,r){return r===null&&(r=e),n(t,r)},Object.setPrototypeOf.polyfill=!1}();try{Object.keys(\"foo\")}catch(B){var j=Object.keys;Object.keys=function(e){return j(x.ToObject(e))}}if(!RegExp.prototype.flags&&u){var F=function(){if(!x.TypeIsObject(this))throw new TypeError(\"Method called on incompatible type: must be an object.\");var t=\"\";return this.global&&(t+=\"g\"),this.ignoreCase&&(t+=\"i\"),this.multiline&&(t+=\"m\"),this.unicode&&(t+=\"u\"),this.sticky&&(t+=\"y\"),t};g.getter(RegExp.prototype,\"flags\",F)}var I=function(){try{return String(new RegExp(/a/g,\"i\"))===\"/a/i\"}catch(e){return!1}}();if(!I&&u){var q=RegExp,R=function Z(e,t){return v.regex(e)&&v.string(t)?new Z(e.source,t):new q(e,t)};m(R,\"toString\",q.toString.bind(q),!0),Object.setPrototypeOf&&Object.setPrototypeOf(q,R),Object.getOwnPropertyNames(q).forEach(function(e){if(e===\"$input\")return;if(e in p)return;g.proxy(q,e,R)}),R.prototype=q.prototype,g.redefine(q.prototype,\"constructor\",R),RegExp=R,g.redefine(s,\"RegExp\",R)}var U={acosh:function(e){return e=Number(e),Number.isNaN(e)||e<1?NaN:e===1?0:e===Infinity?e:Math.log(e+Math.sqrt(e*e-1))},asinh:function(e){return e=Number(e),e===0||!o(e)?e:e<0?-Math.asinh(-e):Math.log(e+Math.sqrt(e*e+1))},atanh:function(e){return e=Number(e),Number.isNaN(e)||e<-1||e>1?NaN:e===-1?-Infinity:e===1?Infinity:e===0?e:.5*Math.log((1+e)/(1-e))},cbrt:function(e){e=Number(e);if(e===0)return e;var t=e<0,n;return t&&(e=-e),n=Math.pow(e,1/3),t?-n:n},clz32:function(e){e=Number(e);var t=x.ToUint32(e);return t===0?32:32-t.toString(2).length},cosh:function(e){return e=Number(e),e===0?1:Number.isNaN(e)?NaN:o(e)?(e<0&&(e=-e),e>21?Math.exp(e)/2:(Math.exp(e)+Math.exp(-e))/2):Infinity},expm1:function(e){return e=Number(e),e===-Infinity?-1:!o(e)||e===0?e:Math.exp(e)-1},hypot:function(e,t){var n=!1,r=!0,i=!1,s=[];Array.prototype.every.call(arguments,function(e){var t=Number(e);return Number.isNaN(t)?n=!0:t===Infinity||t===-Infinity?i=!0:t!==0&&(r=!1),i?!1:(n||s.push(Math.abs(t)),!0)});if(i)return Infinity;if(n)return NaN;if(r)return 0;s.sort(function(e,t){return t-e});var o=s[0],u=s.map(function(e){return e/o}),a=u.reduce(function(e,t){return e+t*t},0);return o*Math.sqrt(a)},log2:function(e){return Math.log(e)*Math.LOG2E},log10:function(e){return Math.log(e)*Math.LOG10E},log1p:function(e){e=Number(e);if(e<-1||Number.isNaN(e))return NaN;if(e===0||e===Infinity)return e;if(e===-1)return-Infinity;var t=0,n=50;if(e<0||e>1)return Math.log(1+e);for(var r=1;r<n;r++)r%2===0?t-=Math.pow(e,r)/r:t+=Math.pow(e,r)/r;return t},sign:function(e){var t=+e;return t===0?t:Number.isNaN(t)?t:t<0?-1:1},sinh:function(e){return e=Number(e),!o(e)||e===0?e:(Math.exp(e)-Math.exp(-e))/2},tanh:function(e){return e=Number(e),Number.isNaN(e)||e===0?e:e===Infinity?1:e===-Infinity?-1:(Math.exp(e)-Math.exp(-e))/(Math.exp(e)+Math.exp(-e))},trunc:function(e){var t=Number(e);return t<0?-Math.floor(-t):Math.floor(t)},imul:function(e,t){e=x.ToUint32(e),t=x.ToUint32(t);var n=e>>>16&65535,r=e&65535,i=t>>>16&65535,s=t&65535;return r*s+(n*s+r*i<<16>>>0)|0},fround:function(e){if(e===0||e===Infinity||e===-Infinity||Number.isNaN(e))return e;var t=Number(e);return N.toFloat32(t)}};y(Math,U),Math.imul(4294967295,5)!==-5&&(Math.imul=U.imul);var z=function(){var e,t;x.IsPromise=function(e){return x.TypeIsObject(e)?e._promiseConstructor?typeof e._status==\"undefined\"?!1:!0:!1:!1};var n=function(e){if(!x.IsCallable(e))throw new TypeError(\"bad promise constructor\");var t=this,n=function(e,n){t.resolve=e,t.reject=n};t.promise=x.Construct(e,[n]);if(!t.promise._es6construct)throw new TypeError(\"bad promise constructor\");if(!x.IsCallable(t.resolve)||!x.IsCallable(t.reject))throw new TypeError(\"bad promise constructor\")},r=s.setTimeout,i;typeof window!=\"undefined\"&&x.IsCallable(window.postMessage)&&(i=function(){var e=[],t=\"zero-timeout-message\",n=function(n){e.push(n),window.postMessage(t,\"*\")},r=function(n){if(n.source===window&&n.data===t){n.stopPropagation();if(e.length===0)return;var r=e.shift();r()}};return window.addEventListener(\"message\",r,!0),n});var o=function(){var e=s.Promise;return e&&e.resolve&&function(t){return e.resolve().then(t)}},u=x.IsCallable(s.setImmediate)?s.setImmediate.bind(s):typeof process==\"object\"&&process.nextTick?process.nextTick:o()||(x.IsCallable(i)?i():function(e){r(e,0)}),a=function(e,t){if(!x.TypeIsObject(e))return!1;var n=t.resolve,r=t.reject;try{var i=e.then;if(!x.IsCallable(i))return!1;i.call(e,n,r)}catch(s){r(s)}return!0},f=function(e,t){e.forEach(function(e){u(function(){var n=e.handler,r=e.capability,i=r.resolve,s=r.reject;try{var o=n(t);if(o===r.promise)throw new TypeError(\"self resolution\");var u=a(o,r);u||i(o)}catch(f){s(f)}})})},l=function(e,t,r){return function(i){if(i===e)return r(new TypeError(\"self resolution\"));var s=e._promiseConstructor,o=new n(s),u=a(i,o);return u?o.promise.then(t,r):t(i)}};e=function(e){var t=this;t=T(t);if(!t._promiseConstructor)throw new TypeError(\"bad promise\");if(typeof t._status!=\"undefined\")throw new TypeError(\"promise already initialized\");if(!x.IsCallable(e))throw new TypeError(\"not a valid resolver\");t._status=\"unresolved\",t._resolveReactions=[],t._rejectReactions=[];var n=function(e){if(t._status!==\"unresolved\")return;var n=t._resolveReactions;t._result=e,t._resolveReactions=void 0,t._rejectReactions=void 0,t._status=\"has-resolution\",f(n,e)},r=function(e){if(t._status!==\"unresolved\")return;var n=t._rejectReactions;t._result=e,t._resolveReactions=void 0,t._rejectReactions=void 0,t._status=\"has-rejection\",f(n,e)};try{e(n,r)}catch(i){r(i)}return t},t=e.prototype;var c=function(e,t,n,r){var i=!1;return function(s){if(i)return;i=!0,t[e]=s;if(--r.count===0){var o=n.resolve;o(t)}}};return y(e,{\"@@create\":function(e){var n=this,r=n.prototype||t;return e=e||b(r),y(e,{_status:void 0,_result:void 0,_resolveReactions:void 0,_rejectReactions:void 0,_promiseConstructor:void 0}),e._promiseConstructor=n,e},all:function(t){var r=this,i=new n(r),s=i.resolve,o=i.reject;try{if(!x.IsIterable(t))throw new TypeError(\"bad iterable\");var u=x.GetIterator(t),a=[],f={count:1};for(var l=0;;l++){var h=x.IteratorNext(u);if(h.done)break;var p=r.resolve(h.value),d=c(l,a,i,f);f.count++,p.then(d,i.reject)}--f.count===0&&s(a)}catch(v){o(v)}return i.promise},race:function(t){var r=this,i=new n(r),s=i.resolve,o=i.reject;try{if(!x.IsIterable(t))throw new TypeError(\"bad iterable\");var u=x.GetIterator(t);for(;;){var a=x.IteratorNext(u);if(a.done)break;var f=r.resolve(a.value);f.then(s,o)}}catch(l){o(l)}return i.promise},reject:function(t){var r=this,i=new n(r),s=i.reject;return s(t),i.promise},resolve:function(t){var r=this;if(x.IsPromise(t)){var i=t._promiseConstructor;if(i===r)return t}var s=new n(r),o=s.resolve;return o(t),s.promise}}),y(t,{\"catch\":function(e){return this.then(void 0,e)},then:function(t,r){var i=this;if(!x.IsPromise(i))throw new TypeError(\"not a promise\");var s=this.constructor,o=new n(s);x.IsCallable(r)||(r=function(e){throw e}),x.IsCallable(t)||(t=function(e){return e});var u=l(i,t,r),a={capability:o,handler:u},c={capability:o,handler:r};switch(i._status){case\"unresolved\":i._resolveReactions.push(a),i._rejectReactions.push(c);break;case\"has-resolution\":f([a],i._result);break;case\"has-rejection\":f([c],i._result);break;default:throw new TypeError(\"unexpected\")}return o.promise}}),e}();s.Promise&&(delete s.Promise.accept,delete s.Promise.defer,delete s.Promise.prototype.chain),y(s,{Promise:z});var W=t(s.Promise,function(e){return e.resolve(42)instanceof e}),X=function(){try{return s.Promise.reject(42).then(null,5).then(null,p),!0}catch(e){return!1}}(),V=function(){try{Promise.call(3,p)}catch(e){return!0}return!1}();if(!W||!X||!V)Promise=z,m(s,\"Promise\",z,!0);var $=function(e){var t=Object.keys(e.reduce(function(e,t){return e[t]=!0,e},{}));return e.join(\":\")===t.join(\":\")},J=$([\"z\",\"a\",\"bb\"]),K=$([\"z\",1,\"a\",\"3\",2]);if(u){var Q=function(t){if(!J)return null;var n=typeof t;return n===\"string\"?\"$\"+t:n===\"number\"?K?t:\"n\"+t:null},G=function(){return Object.create?Object.create(null):{}},Y={Map:function(){function t(e,t){this.key=e,this.value=t,this.next=null,this.prev=null}function n(e,t){this.head=e._head,this.i=this.head,this.kind=t}function r(e){var n=this;if(!x.TypeIsObject(n))throw new TypeError(\"Map does not accept arguments when called as a function\");n=T(n);if(!n._es6map)throw new TypeError(\"bad map\");var r=new t(null,null);r.next=r.prev=r,y(n,{_head:r,_storage:G(),_size:0});if(typeof e!=\"undefined\"&&e!==null){var i=x.GetIterator(e),s=n.set;if(!x.IsCallable(s))throw new TypeError(\"bad map\");for(;;){var o=x.IteratorNext(i);if(o.done)break;var u=o.value;if(!x.TypeIsObject(u))throw new TypeError(\"expected iterable of pairs\");s.call(n,u[0],u[1])}}return n}var e={};t.prototype.isRemoved=function(){return this.key===e},n.prototype={next:function(){var e=this.i,t=this.kind,n=this.head,r;if(typeof this.i==\"undefined\")return{value:void 0,done:!0};while(e.isRemoved()&&e!==n)e=e.prev;while(e.next!==n){e=e.next;if(!e.isRemoved())return t===\"key\"?r=e.key:t===\"value\"?r=e.value:r=[e.key,e.value],this.i=e,{value:r,done:!1}}return this.i=void 0,{value:void 0,done:!0}}},E(n.prototype);var i=r.prototype;return y(r,{\"@@create\":function(e){var t=this,n=t.prototype||i;return e=e||b(n),y(e,{_es6map:!0}),e}}),g.getter(r.prototype,\"size\",function(){if(typeof this._size==\"undefined\")throw new TypeError(\"size method called on incompatible Map\");return this._size}),y(r.prototype,{get:function(e){var t=Q(e);if(t!==null){var n=this._storage[t];if(n)return n.value;return}var r=this._head,i=r;while((i=i.next)!==r)if(x.SameValueZero(i.key,e))return i.value},has:function(e){var t=Q(e);if(t!==null)return typeof this._storage[t]!=\"undefined\";var n=this._head,r=n;while((r=r.next)!==n)if(x.SameValueZero(r.key,e))return!0;return!1},set:function(e,n){var r=this._head,i=r,s,o=Q(e);if(o!==null){if(typeof this._storage[o]!=\"undefined\")return this._storage[o].value=n,this;s=this._storage[o]=new t(e,n),i=r.prev}while((i=i.next)!==r)if(x.SameValueZero(i.key,e))return i.value=n,this;return s=s||new t(e,n),x.SameValue(0,e)&&(s.key=0),s.next=this._head,s.prev=this._head.prev,s.prev.next=s,s.next.prev=s,this._size+=1,this},\"delete\":function(t){var n=this._head,r=n,i=Q(t);if(i!==null){if(typeof this._storage[i]==\"undefined\")return!1;r=this._storage[i].prev,delete this._storage[i]}while((r=r.next)!==n)if(x.SameValueZero(r.key,t))return r.key=r.value=e,r.prev.next=r.next,r.next.prev=r.prev,this._size-=1,!0;return!1},clear:function(){this._size=0,this._storage=G();var t=this._head,n=t,r=n.next;while((n=r)!==t)n.key=n.value=e,r=n.next,n.next=n.prev=t;t.next=t.prev=t},keys:function(){return new n(this,\"key\")},values:function(){return new n(this,\"value\")},entries:function(){return new n(this,\"key+value\")},forEach:function(e){var t=arguments.length>1?arguments[1]:null,n=this.entries();for(var r=n.next();!r.done;r=n.next())t?e.call(t,r.value[1],r.value[0],this):e(r.value[1],r.value[0],this)}}),E(r.prototype,function(){return this.entries()}),r}(),Set:function(){var e=function(t){var n=this;if(!x.TypeIsObject(n))throw new TypeError(\"Set does not accept arguments when called as a function\");n=T(n);if(!n._es6set)throw new TypeError(\"bad set\");y(n,{\"[[SetData]]\":null,_storage:G()});if(typeof t!=\"undefined\"&&t!==null){var r=x.GetIterator(t),i=n.add;if(!x.IsCallable(i))throw new TypeError(\"bad set\");for(;;){var s=x.IteratorNext(r);if(s.done)break;var o=s.value;i.call(n,o)}}return n},t=e.prototype;y(e,{\"@@create\":function(e){var n=this,r=n.prototype||t;return e=e||b(r),y(e,{_es6set:!0}),e}});var n=function(t){if(!t[\"[[SetData]]\"]){var n=t[\"[[SetData]]\"]=new Y.Map;Object.keys(t._storage).forEach(function(e){e.charCodeAt(0)===36?e=e.slice(1):e.charAt(0)===\"n\"?e=+e.slice(1):e=+e,n.set(e,e)}),t._storage=null}};return g.getter(e.prototype,\"size\",function(){if(typeof this._storage==\"undefined\")throw new TypeError(\"size method called on incompatible Set\");return n(this),this[\"[[SetData]]\"].size}),y(e.prototype,{has:function(e){var t;return this._storage&&(t=Q(e))!==null?!!this._storage[t]:(n(this),this[\"[[SetData]]\"].has(e))},add:function(e){var t;return this._storage&&(t=Q(e))!==null?(this._storage[t]=!0,this):(n(this),this[\"[[SetData]]\"].set(e,e),this)},\"delete\":function(e){var t;if(this._storage&&(t=Q(e))!==null){var r=c(this._storage,t);return delete this._storage[t]&&r}return n(this),this[\"[[SetData]]\"][\"delete\"](e)},clear:function(){this._storage?this._storage=G():this[\"[[SetData]]\"].clear()},values:function(){return n(this),this[\"[[SetData]]\"].values()},entries:function(){return n(this),this[\"[[SetData]]\"].entries()},forEach:function(e){var t=arguments.length>1?arguments[1]:null,r=this;n(r),this[\"[[SetData]]\"].forEach(function(n,i){t?e.call(t,i,i,r):e(i,i,r)})}}),m(e,\"keys\",e.values,!0),E(e.prototype,function(){return this.values()}),e}()};y(s,Y);if(s.Map||s.Set)if(typeof s.Map.prototype.clear!=\"function\"||(new s.Set).size!==0||(new s.Map).size!==0||typeof s.Map.prototype.keys!=\"function\"||typeof s.Set.prototype.keys!=\"function\"||typeof s.Map.prototype.forEach!=\"function\"||typeof s.Set.prototype.forEach!=\"function\"||e(s.Map)||e(s.Set)||!t(s.Map,function(e){var t=new e([]);return t.set(42,42),t instanceof e}))s.Map=Y.Map,s.Set=Y.Set;s.Set.prototype.keys!==s.Set.prototype.values&&m(s.Set.prototype,\"keys\",s.Set.prototype.values,!0),E(Object.getPrototypeOf((new s.Map).keys())),E(Object.getPrototypeOf((new s.Set).keys()))}return s}),define(\"jqueryplugins\",[\"jquery\"],function(e){\"use strict\";e.prototype.extend({popAttr:function(e){var t=this.attr(e);return this.removeAttr(e),t},popData:function(e){var t=this.data(e);return this.removeData(e),t},tag:function(){return this[0]&&this[0].tagName&&this[0].tagName.toLowerCase()},textNodes:function(){return this.length===1&&this[0]instanceof Text?[this[0]]:Array.apply(0,this.add(this.contents().add(this.find(\"*\").contents())).filter(function(){return this instanceof Text})).sort(function(e,t){return e.compareDocumentPosition(t)&2?1:-1})},prevTextNode:function(){var e=this.first()[0],t=this.parent(),n;return t.length?(n=t.textNodes().filter(function(t){var n=t.compareDocumentPosition(e);return n&4&&!(n&8)}),n=n[n.length-1],n?n:t.prevTextNode()):null},nextTextNode:function(){var e=this.last()[0],t=this.parent(),n;return t.length?(n=t.textNodes().filter(function(t){var n=t.compareDocumentPosition(e);return n&2&&!(n&8)})[0],n?n:t.nextTextNode()):null}})}),function(){\"use strict\";function n(){var e,t;for(e=0;e<arguments.length;e++)for(t in arguments[e])this[t]=arguments[e][t]}function r(e,t){var n;e.childAt=e.childAt||{};for(n=t.start;n<t.end;n+=1)e.childAt[n]=t}function i(e,t,n,r){return(!e.canFollow||e.canFollow.indexOf(n&&n.type)>-1)&&(!e.cannotFollow||e.cannotFollow.indexOf(n&&n.type)===-1&&!(e.cannotFollow.indexOf(\"text\")>-1&&r))&&(!e.peek||e.peek===t.slice(0,e.peek.length))}function s(e){var n=e.innerText,r,s,u,a,f,l,c,h=[],p=0,d=p,v=n.length,m=null,g,y;while(p<v){f=n.slice(p),c=(h.length?h[0]:e).innerMode;for(r=0,s=c.length;r<s;r+=1){u=t[c[r]];if(!i(u,f,m,d<p)||!u.pattern.test(f))continue;a=u.pattern.exec(f),g=u.fn(a),y=!1;if(g.matches){for(l=0;l<h.length;l+=1)if(h[l].type in g.matches){y=!0;break}if(l>=h.length&&!g.isFront)continue}d<p&&e.addChild({type:\"text\",text:n.slice(d,p),innerMode:c}),m=e.addChild(g),p+=m.text.length,d=p,y&&(o(e,m,h[l]),h=h.slice(l+1)),m.isFrontToken()&&h.unshift(m);break}r===s&&(p+=1,m===null&&(m={type:\"text\"}))}d<p&&e.addChild({type:\"text\",text:n.slice(d,p),innerMode:(h.length?h[0]:e).innerMode});while(h.length>0)h.shift().demote();return e}function o(e,t,n){var i=e.children.indexOf(t),s=e.children.indexOf(n),o,u;t.children=e.children.splice(s+1,i-(s+1)),t.children.forEach(function(e){r(t,e)}),t.type=t.matches[n.type],t.innerText=\"\";for(o=0,u=t.children.length;o<u;o++)t.innerText+=t.children[o].text;t.start=n.start,t.text=n.text+t.innerText+t.text,Object.keys(n).forEach(function(e){Object.hasOwnProperty.call(t,e)||(t[e]=n[e])}),t.isFront&&(t.isFront=!1),e.children.splice(s,1),r(e,t)}var e,t={};n.prototype={constructor:n,addChild:function(t){var i=this.lastChildEnd(),o;return o=new n({start:i,end:t.text&&i+t.text.length,children:[]},t),o.innerText&&s(o),this.children.push(o),r(this,o),o},lastChild:function(){return this.children?this.children[this.children.length-1]||null:null},lastChildEnd:function(){var t=this.lastChild();return t?t.end:this.start+Math.max(0,this.text.indexOf(this.innerText))},tokenAt:function(t){var n,r;if(t<this.start||t>=this.end)return null;if(this.childAt)return this.childAt[t]&&this.childAt[t].tokenAt(t)||this;if(this.children.length)for(n=0;n<this.children.length;n+=1){r=this.children[n].tokenAt(t);if(r)return r}return this},pathAt:function(t){var n=[],r,i;if(t<this.start||t>=this.end)return[];if(this.childAt)return(this.childAt[t]&&this.childAt[t].pathAt(t)||[]).concat(this);if(this.children.length)for(r=0;r<this.children.length;r+=1){i=this.children[r].pathAt(t);if(i.length){n.concat(i);break}}return n.concat(this)},nearestTokenAt:function(t){return t<this.start||t>=this.end?null:this.children?this.children.reduce(function(e,n){return e||(t>=n.start&&t<n.end?n:null)},null):this},everyLeaf:function u(e){var t;return!this.children||this.children.length===0?!!e(this):this.children.everyLeaf(function(){t=t&&!!u(e)})},isWhitespace:function(){return this.everyLeaf(function(e){return e.type===\"whitespace\"||!e.text.trim()})},isFrontToken:function(){return this.isFront},isBackToken:function(){return\"matches\"in this},demote:function(){this.type=\"text\"},error:function(e){this.type=\"error\",this.message=e},toString:function(){var e=this.type+\"(\"+this.start+\"→\"+this.end+\")\";return this.children&&this.children.length>0&&(e+=\"[\"+this.children+\"]\"),e}},e={lex:function(t,r){var i=s(new n({type:\"root\",start:r||0,end:t.length,text:t,innerText:t,children:[],childAt:{},innerMode:e.startMode}));return i},rules:t},typeof module==\"object\"?module.exports=e:typeof define==\"function\"&&define.amd?define(\"lexer\",[],function(){return e}):typeof StoryFormat==\"function\"&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Lexer=e):this.TwineLexer=e}.call(this||(typeof global!=\"undefined\"?global:window)),function(){\"use strict\";function t(e){return e&&typeof e==\"object\"?(Object.keys(e).forEach(function(n){e[n]=t(e[n])}),e):(e+\"\").replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}function n(){return\"[^\"+Array.apply(0,arguments).map(t).join(\"\")+\"]*\"}function r(e){return function(){return\"(\"+e+Array.apply(0,arguments).join(\"|\")+\")\"}}var e,i=r(\"?:\"),s=r(\"?!\"),o=r(\"?=\"),u=\"[ \\\\f\\\\t\\\\v - \\u2028\\u2029 ]*\",a=u.replace(\"*\",\"+\"),f=\"\\\\b\",l=\"\\\\\\\\\\\\n\\\\\\\\?|\\\\n\\\\\\\\\",c=\"\\\\n(?!\\\\\\\\)\",h=\"[\\\\w\\\\-À-Þß-ÿŐŰőű]\",p=\"[\\\\wÀ-Þß-ÿŐŰőű]\",d=i(\"\\\\n\",\"$\"),v=\"(\"+i(l,\"[^\\\\n]\")+\"+)\",m=\"\\\\*\",g=u+\"(\"+m+\"+)\"+a+v+d,y=\"(?:0\\\\.)\",b=u+\"(\"+y+\"+)\"+a+v+d,w=u+\"-{3,}\"+u+d,E=u+\"(#{1,6})\"+u+v+d,S=u+\"(==+>|<=+|=+><=+|<==+>)\"+u+d,x={opener:\"\\\\[\\\\[(?!\\\\[)\",text:\"(\"+n(\"]\")+\")\",rightSeparator:i(\"\\\\->\",\"\\\\|\"),leftSeparator:\"<\\\\-\",closer:\"\\\\]\\\\]\",legacySeparator:\"\\\\|\",legacyText:\"(\"+i(\"[^\\\\|\\\\]]\",\"\\\\]\"+s(\"\\\\]\"))+\"+)\"},T=h.replace(\"\\\\-\",\"\")+\"*\"+h.replace(\"\\\\-\",\"\").replace(\"\\\\w\",\"a-zA-Z\")+h.replace(\"\\\\-\",\"\")+\"*\",N=\"\\\\$(\"+T+\")\",C=\"'s\"+a+\"(\"+T+\")\",k=\"(\"+T+\")\"+a+\"of\"+f+s(\"it\"+f),L=\"'s\"+a,A=\"of\"+f,O=i(\"it\",\"time\")+f,M=\"its\"+a+\"(\"+T+\")\",_=\"its\"+a,D=\"(\"+T+\")\"+a+\"of\"+a+\"it\"+f,P=\"of\"+f+a+\"it\"+f,H={opener:\"\\\\(\",name:\"(\"+i(h.replace(\"]\",\"\\\\/]\")+h+\"*\",N)+\"):\",closer:\"\\\\)\"},B=\"<<[^>\\\\s]+\\\\s*(?:\\\\\\\\.|'(?:[^'\\\\\\\\]*\\\\\\\\.)*[^'\\\\\\\\]*'|\\\"(?:[^\\\"\\\\\\\\]*\\\\\\\\.)*[^\\\"\\\\\\\\]*\\\"|[^'\\\"\\\\\\\\>]|>(?!>))*>>\",j={name:\"[a-zA-Z][\\\\w\\\\-]*\",attrs:\"(?:\\\"[^\\\"]*\\\"|'[^']*'|[^'\\\">])*?\"},F=\"\\\\|(\"+h.replace(\"]\",\"_]\")+\"*)>\",I=\"<(\"+h.replace(\"]\",\"_]\")+\"*)\\\\|\",q=\"\\\\b(\\\\d+(?:\\\\.\\\\d+)?(?:[eE][+\\\\-]?\\\\d+)?|NaN)\"+s(\"m?s\")+\"\\\\b\";x.main=x.opener+i(x.text+x.rightSeparator,x.text.replace(\"*\",\"*?\")+x.leftSeparator)+x.text,e={upperLetter:\"[A-ZÀ-ÞŐŰ]\",lowerLetter:\"[a-z0-9_\\\\-ß-ÿőű]\",anyLetter:h,anyLetterStrict:p,whitespace:a,escapedLine:l,br:c,commentFront:\"<!--\",commentBack:\"-->\",tag:\"<\\\\/?\"+j.name+j.attrs+\">\",tagPeek:\"<\",scriptStyleTag:\"<(\"+i(\"script\",\"style\")+\")\"+j.attrs+\">\"+\"[^]*?\"+\"<\\\\/\\\\1>\",scriptStyleTagOpener:\"<\",url:\"(\"+i(\"https?\",\"mailto\",\"javascript\",\"ftp\",\"data\")+\":\\\\/\\\\/[^\\\\s<]+[^<.,:;\\\"')\\\\]\\\\s])\",bullet:m,hr:w,heading:E,align:S,bulleted:g,numbered:b,delOpener:t(\"~~\"),italicOpener:t(\"//\"),boldOpener:t(\"''\"),supOpener:t(\"^^\"),strongFront:t(\"**\"),strongBack:t(\"**\"),emFront:t(\"*\"),emBack:t(\"*\"),verbatimOpener:\"`+\",collapsedFront:\"{\",collapsedBack:\"}\",hookAppendedFront:\"\\\\[\",hookPrependedFront:F+\"\\\\[\",hookAnonymousFront:\"\\\\[\",hookBack:\"\\\\]\"+s(I),hookAppendedBack:\"\\\\]\"+I,passageLink:x.main+x.closer,passageLinkPeek:\"[[\",legacyLink:x.opener+x.legacyText+x.legacySeparator+x.legacyText+x.closer,legacyLinkPeek:\"[[\",simpleLink:x.opener+x.legacyText+x.closer,simpleLinkPeek:\"[[\",macroFront:H.opener+o(H.name),macroFrontPeek:\"(\",macroName:H.name,groupingFront:\"\\\\(\"+s(H.name),groupingFrontPeek:\"(\",groupingBack:\"\\\\)\",twine1Macro:B,twine1MacroPeek:\"<<\",property:C,propertyPeek:\"'s\",belongingProperty:k,possessiveOperator:L,belongingOperator:A,belongingOperatorPeek:\"of\",itsOperator:_,itsOperatorPeek:\"its\",belongingItOperator:P,belongingItOperatorPeek:\"of\",variable:N,variablePeek:\"$\",hookRef:\"\\\\?(\"+h+\"+)\\\\b\",hookRefPeek:\"?\",cssTime:\"(\\\\d+\\\\.?\\\\d*|\\\\d*\\\\.?\\\\d+)(m?s)\"+f,colour:i(i(\"Red\",\"Orange\",\"Yellow\",\"Lime\",\"Green\",\"Cyan\",\"Aqua\",\"Blue\",\"Navy\",\"Purple\",\"Fuchsia\",\"Magenta\",\"White\",\"Gray\",\"Grey\",\"Black\"),\"#[\\\\dA-Fa-f]{3}(?:[\\\\dA-Fa-f]{3})?\"),number:q,\"boolean\":i(\"true\",\"false\")+f,identifier:O,itsProperty:M,itsPropertyPeek:\"its\",belongingItProperty:D,escapedStringChar:\"\\\\\\\\[^\\\\n]\",singleStringOpener:\"'\",doubleStringOpener:'\"',is:\"is\"+s(\" not\",\" in\")+f,isNot:\"is not\"+f,and:\"and\"+f,or:\"or\"+f,not:\"not\"+f,inequality:i(\"<(?!=)\",\"<=\",\">(?!=)\",\">=\"),isIn:\"is in\"+f,contains:\"contains\"+f,addition:t(\"+\")+s(\"=\"),subtraction:t(\"-\")+s(\"=\"),multiplication:t(\"*\")+s(\"=\"),division:i(\"/\",\"%\")+s(\"=\"),comma:\",\",spread:\"\\\\.\\\\.\\\\.\"+s(\"\\\\.\"),to:i(\"to\"+f,\"=\"),into:\"into\"+f,augmentedAssign:i(\"\\\\+\",\"\\\\-\",\"\\\\*\",\"\\\\/\",\"%\")+\"=\"},typeof module==\"object\"?module.exports=e:typeof define==\"function\"&&define.amd?define(\"patterns\",[],function(){return e}):typeof StoryFormat==\"function\"&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Patterns=e):this.Patterns=e}.call(this||(typeof global!=\"undefined\"?global:window)),function(){\"use strict\";function t(t){function f(e){return e=e||\"innerText\",function(t){var n=t.reduceRight(function(e,t,n){return e||(n?t:\"\")},\"\"),r={};return r[e]=n,r}}function l(e,t){var n={};return n[e]=t,function(){return{isFront:!0,matches:n}}}function h(e,t){return Object.keys(t).forEach(function(n){var r=t[n].fn;t[n].fn=function(t){var i=r(t);return i.text||(i.text=t[0]),i.type||(i.type=n),i.innerMode||(i.innerMode=e),i}}),t}var n,r,i,s,o,u=[],a=[],c=Object.bind(0,null);return n=h(u,{hr:{fn:c},bulleted:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},numbered:{fn:function(e){return{depth:e[1].length/2,innerText:e[2]}}},heading:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},align:{fn:function(e){var t,n=e[1],r=n.indexOf(\"><\");return~r?(t=Math.round(r/(n.length-2)*50),t===25&&(t=\"center\")):n[0]===\"<\"&&n.slice(-1)===\">\"?t=\"justify\":n.indexOf(\">\")>-1?t=\"right\":n.indexOf(\"<\")>-1&&(t=\"left\"),{align:t}}}}),Object.keys(n).forEach(function(e){n[e].canFollow=[null,\"br\",\"hr\",\"bulleted\",\"numbered\",\"heading\",\"align\"],n[e].cannotFollow=[\"text\"]}),r=h(u,{twine1Macro:{fn:function(){return{type:\"error\",message:\"Twine 2 macros use a different syntax to Twine 1 macros.\"}}},br:{fn:c},emBack:{fn:function(){return{matches:{emFront:\"em\"}}}},strongBack:{fn:function(){return{matches:{strongFront:\"strong\"}}}},strongFront:{fn:function(){return{isFront:!0}}},emFront:{fn:function(){return{isFront:!0}}},boldOpener:{fn:l(\"boldOpener\",\"bold\")},italicOpener:{fn:l(\"italicOpener\",\"italic\")},delOpener:{fn:l(\"delOpener\",\"del\")},supOpener:{fn:l(\"supOpener\",\"sup\")},commentFront:{fn:function(){return{isFront:!0}}},commentBack:{fn:function(){return{matches:{commentFront:\"comment\"}}}},scriptStyleTag:{fn:c},tag:{fn:c},url:{fn:c},passageLink:{fn:function(e){var t=e[1],n=e[2],r=e[3];return{type:\"twineLink\",innerText:n?r:t,passage:t?r:n}}},simpleLink:{fn:function(e){return{type:\"twineLink\",innerText:e[1],passage:e[1]}}},hookPrependedFront:{fn:function(e){return{name:e[1],isFront:!0,tagPosition:\"prepended\"}}},hookAnonymousFront:{fn:function(){return{isFront:!0,demote:function(){this.error(\"This tagged hook doesn't have a matching ].\")}}},canFollow:[\"macro\",\"variable\"]},hookAppendedFront:{fn:function(){return{isFront:!0}},cannotFollow:[\"macro\",\"variable\"]},hookBack:{fn:function(){return{type:\"hookAppendedBack\",matches:{hookPrependedFront:\"hook\",hookAnonymousFront:\"hook\"}}}},hookAppendedBack:{fn:function(e){return{name:e[1],tagPosition:\"appended\",matches:{hookAppendedFront:\"hook\"}}}},verbatimOpener:{fn:function(e){var t=e[0].length,n={};return n[\"verbatim\"+t]=\"verbatim\",{type:\"verbatim\"+t,isFront:!0,matches:n}}},collapsedFront:{fn:function(){return{isFront:!0}}},collapsedBack:{fn:function(){return{matches:{collapsedFront:\"collapsed\"}}}},escapedLine:{fn:c},legacyLink:{fn:function(e){return{type:\"twineLink\",innerText:e[1],passage:e[2]}}}}),i=h(a,{macroFront:{fn:function(e){return{isFront:!0,name:e[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:\"grouping\",macroFront:\"macro\"}}}},hookRef:{fn:f(\"name\")},variable:{fn:f(\"name\")},whitespace:{fn:c,cannotFollow:\"text\"}}),s=h(a,Object.assign({macroName:{canFollow:[\"macroFront\"],fn:function(e){return e[2]?{isMethodCall:!0,innerText:e[2]}:{isMethodCall:!1}}},groupingFront:{fn:function(){return{isFront:!0}}},property:{fn:f(\"name\"),canFollow:[\"variable\",\"hookRef\",\"property\",\"itsProperty\",\"belongingItProperty\",\"macro\",\"grouping\",\"string\"]},possessiveOperator:{fn:c},itsProperty:{fn:f(\"name\")},itsOperator:{fn:c},belongingItProperty:{cannotFollow:[\"text\"],fn:f(\"name\")},belongingItOperator:{cannotFollow:[\"text\"],fn:c},belongingProperty:{cannotFollow:[\"text\"],fn:f(\"name\")},belongingOperator:{cannotFollow:[\"text\"],fn:c},escapedStringChar:{fn:function(){return{type:\"text\"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:\"string\"}}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:\"string\"}}}},cssTime:{fn:function(e){return{value:+e[1]*(e[2].toLowerCase()===\"s\"?1e3:1)}}},colour:{cannotFollow:[\"text\"],fn:function(e){var t,n=e[0].toLowerCase(),r={red:\"e61919\",orange:\"e68019\",yellow:\"e5e619\",lime:\"80e619\",green:\"19e619\",cyan:\"19e5e6\",aqua:\"19e5e6\",blue:\"197fe6\",navy:\"1919e6\",purple:\"7f19e6\",fuchsia:\"e619e5\",magenta:\"e619e5\",white:\"fff\",black:\"000\",gray:\"888\",grey:\"888\"};return Object.hasOwnProperty.call(r,n)?t=\"#\"+r[n]:t=n,{colour:t}}},number:{fn:function(e){return{value:parseFloat(e[0])}}},addition:{fn:c},subtraction:{fn:c},multiplication:{fn:c},division:{fn:c},inequality:{fn:function(e){return{operator:e[0]}}},augmentedAssign:{fn:function(e){return{operator:e[0][0]}}},identifier:{fn:f(\"name\")}},[\"boolean\",\"is\",\"to\",\"into\",\"and\",\"or\",\"not\",\"isNot\",\"contains\",\"isIn\"].reduce(function(e,t){return e[t]={fn:c,cannotFollow:[\"text\"]},e},{}),[\"comma\",\"spread\",\"addition\",\"subtraction\",\"multiplication\",\"division\"].reduce(function(e,t){return e[t]={fn:c},e},{}))),[].push.apply(u,Object.keys(n).concat(Object.keys(r)).concat(Object.keys(i))),[].push.apply(a,Object.keys(i).concat(Object.keys(s))),o=Object.assign({},n,r,i,s),Object.keys(o).forEach(function(t){var n=e[t];typeof n!=\"string\"?o[t].pattern=n:o[t].pattern=new RegExp(\"^(?:\"+n+\")\",\"i\"),e[t+\"Peek\"]&&(o[t].peek=e[t+\"Peek\"])}),Object.assign(t.rules,o),t.startMode=u,t}function n(n){var r=Object.freeze({lex:t(n).lex,Patterns:e});return r}var e;Object.assign=Object.assign||function(t){var n=1,r,i;for(;n<arguments.length;n++){r=arguments[n];for(i in r)Object.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},typeof module==\"object\"?(e=require(\"patterns\"),module.exports=n(require(\"lexer\"))):typeof define==\"function\"&&define.amd?define(\"markup\",[\"lexer\",\"patterns\"],function(t,r){return e=r,n(t)}):typeof StoryFormat==\"function\"&&this instanceof StoryFormat?(e=this.modules.Patterns,this.modules.Markup=n(this.modules.Lexer),this.lex=this.modules.Markup.lex):(e=this.Patterns,this.TwineMarkup=n(this.TwineLexer))}.call(this||(typeof global!=\"undefined\"?global:window)),define(\"utils/selectors\",[],function(){\"use strict\";return Object.freeze({passage:\"tw-passage\",story:\"tw-story\",sidebar:\"tw-sidebar\",internalLink:\"tw-link\",brokenLink:\"tw-broken-link\",hook:\"tw-hook\",pseudoHook:\"tw-pseudo-hook\",expression:\"tw-expression\",enchanter:\"[enchanter]\",script:\"[role=script]\",stylesheet:\"[role=stylesheet]\",storyData:\"tw-storydata\",passageData:\"tw-passagedata\",whitespace:\"tw-char[char=space], tw-char[char=tab], br\",collapsed:\"tw-collapsed\"})}),define(\"utils/customelements\",[],function(){\"use strict\";if(!document.registerElement)return;var e={};return function t(n,r){var i,s=Object.create(HTMLElement.prototype),o={};return r=Array.from(arguments).slice(1),r.forEach(function(e){o[e]={value:null}}),Object.defineProperties(s,o),i=document.registerElement(n,{prototype:s}),e[n]=i,t}(\"tw-storydata\",\"storyname\",\"startnode\",\"creator\",\"creator-version\",\"options\")(\"tw-passagedata\",\"name\",\"pid\",\"position\")(\"tw-story\")(\"tw-debugger\")(\"tw-passage\")(\"tw-link\",\"passage-name\")(\"tw-broken-link\",\"passage-name\")(\"tw-expression\",\"type\",\"name\",\"js\")(\"tw-sidebar\")(\"tw-icon\")(\"tw-align\")(\"tw-collapsed\")(\"tw-verbatim\")(\"tw-hook\",\"name\",\"source\")(\"tw-pseudo-hook\")(\"tw-transition-container\")(\"tw-error\")(\"tw-error-explanation\")(\"tw-error-explanation-button\")(\"tw-notifier\",\"message\"),Object.freeze(e)}),define(\"utils\",[\"jquery\",\"markup\",\"utils/selectors\",\"utils/customelements\"],function(e,t,n){\"use strict\";function f(e){var t=[];return Array.prototype.every.call(e.find(\"*\"),function(e){return e.hidden||/none|inline/.test(e.style.display)?!0:o.indexOf(e.tagName.toLowerCase())>-1||/none|inline/.test(e.style.display)?!1:u.indexOf(e.tagName.toLowerCase())>-1?!0:(t.push(e),!0)})&&t.every(function(e){return/none|inline/.test(e.style.display)})}var r={configurable:0,writable:0},i={\"transition-in\":Object.create(null),\"transition-out\":Object.create(null)},s,o=\"audio,blockquote,canvas,div,h1,h2,h3,h4,h5,hr,ol,p,pre,table,ul,video,tw-align\".split(\",\"),u=\"a,b,i,em,strong,sup,sub,abbr,acronym,s,strike,del,big,small,script,img,button,input,tw-link,tw-broken-link,tw-verbatim,tw-collapsed,tw-error\".split(\",\"),a=[\"audio\"],l={lockProperties:function(e){var t,n,i=Object.keys(e),s={};for(t=0;t<i.length;t++)n=i[t],s[n]=r;return Object.defineProperties(e,s)},lockProperty:function(e,t,n){var i=Object.create(r);return n&&(i.value=n),Object.defineProperty(e,t,i),e},getInheritedPropertyDescriptor:function(e,t){while(e&&!e.hasOwnProperty(t))e=Object.getPrototypeOf(e);return e&&Object.getOwnPropertyDescriptor(e,t)||null},toJSLiteral:JSON.stringify,toTSStringLiteral:function(e){var t=Math.max.apply(0,(e.match(/(`+)/g)||[]).map(function(e){return e.length}).concat(0))+1;return\"`\".repeat(t)+e+\"`\".repeat(t)},cssTimeUnit:function(e){var t;if(typeof e==\"string\"){e=e.toLowerCase();if(e.slice(-2)===\"ms\")return+e.slice(0,-2)||0;if(e.slice(-1)===\"s\")return+e.slice(0,-1)*1e3||0}else if(Array.isArray(e))return t=[],e.forEach(function(e){var n=l.cssTimeUnit(e);n>0&&t.push(n)}),t;return 0},nth:function(e){var t=(e+\"\").slice(-1);return e+(t===\"1\"?\"st\":t===\"2\"?\"nd\":t===\"3\"?\"rd\":\"th\")},plural:function(e,t){return e+\" \"+t+(e>1?\"s\":\"\")},unescape:function(e){return e.replace(/&(?:amp|lt|gt|quot|nbsp|zwnj|#39|#96);/g,function(e){return{\"&\":\"&\",\">\":\">\",\"<\":\"<\",\""\":'\"',\"'\":\"'\",\" \":String.fromCharCode(160),\"‌\":String.fromCharCode(8204)}[e]})},escape:function(e){return e.replace(/[&><\"']/g,function(e){return{\"&\":\"&\",\">\":\">\",\"<\":\"<\",'\"':\""\",\"'\":\"'\"}[e]})},insensitiveName:function(e){return(e+\"\").toLowerCase().replace(/-|_/g,\"\")},wrapHTMLTag:function(e,t){return\"<\"+t+\">\"+e+\"</\"+t+\">\"},findAndFilter:function(t,n){return t=e(t||l.storyElement),t.filter(n).add(t.find(n))},closestHookSpan:function(e){var t=e.closest(n.hook+\",\"+n.pseudoHook);return t.length?t:e},transitionReplace:function(t,n,r){var i,s,o;t=l.closestHookSpan(t),i=e(\"<tw-transition-container>\").css(\"position\",\"relative\"),i.insertBefore(t.first()),n&&(s=e(\"<tw-transition-container>\").appendTo(i),n.appendTo(s)),o=e(\"<tw-transition-container>\").css(\"position\",\"absolute\").prependTo(i),t.detach().appendTo(o),l.transitionOut(o,r),n&&l.transitionIn(s,r,function(){s.unwrap().children().first().unwrap()})},transitionOut:function(e,t){function s(){e.remove()}var n,r=f(e),i=e.length>1||!r||[\"tw-hook\",\"tw-passage\"].indexOf(e.tag())===-1;i&&(e=e.wrapAll(\"<tw-transition-container>\").parent()),e.attr(\"data-t8n\",t).addClass(\"transition-out\"),f(e)&&e.css(\"display\",\"inline-block\"),n=l.transitionTime(t,\"transition-out\"),n?window.setTimeout(s,n):s()},transitionIn:function(e,t){function s(){var t=l.findAndFilter(e,a.join(\",\")).length===0;i&&t?e.contents().unwrap():e.removeClass(\"transition-in\").removeAttr(\"data-t8n\")}var n,r=f(e),i=e.length>1||!r||[\"tw-hook\",\"tw-passage\"].indexOf(e.tag())===-1;i&&(e=e.wrapAll(\"<tw-transition-container>\").parent()),e.attr(\"data-t8n\",t).addClass(\"transition-in\"),f(e)&&e.css(\"display\",\"inline-block\"),n=l.transitionTime(t,\"transition-in\"),n?window.setTimeout(s,n):s()},transitionTime:function(t,n){var r;return i[n][t]||(r=e(\"<p>\").appendTo(document.body).attr(\"data-t8n\",t).addClass(n),i[n][t]=l.cssTimeUnit(r.css(\"animation-duration\"))+l.cssTimeUnit(r.css(\"animation-delay\")),r.remove()),i[n][t]},$:function(t,n){return e(t,n||l.storyElement).not(\".transition-out, .transition-out *\")},log:function(e){if(!window.console)return;console.log(e)},impossible:function(e,t){if(!window.console)return;console.error(e+\"(): \"+t)},assert:function(e){if(!window.console)return;e||console.error(\"Assertion failed!\")},assertMustHave:function(e,t){if(!window.console)return;for(var n=0;n<t.length;n+=1)t[n]in e||console.error(\"Assertion failed: \"+e+\" lacks property \"+t[n])},assertOnlyHas:function(e,t){if(!window.console)return;for(var n in e)t.indexOf(n)===-1&&console.error(\"Assertion failed: \"+e+\" had unexpected property '\"+n+\"'!\")},get storyElement(){return s}};return e(document).ready(function(){s=e(n.story)}),Object.freeze(l)}),define(\"twinescript/compiler\",[\"utils\"],function(e){\"use strict\";function t(e,t){var n,r=arguments.length===1?t:Array.prototype.slice.call(arguments,1);for(n=0;n<e.length;n+=1)if(0+r.indexOf(e[n].type)>-1)return n;return NaN}function n(e){var n=Array.prototype.slice.call(arguments,0);return n[0]=Array.from(e).reverse(),e.length-1-t.apply(0,n)}function r(i,s){var o,u,a,f,l,c,h,p,d,v=!0,m=!0,g=!1;if(!i)return\"\";i=[].concat(i);if(i.length===1){l=i[0];if(l.type===\"identifier\")return s?\"TwineError.create('keyword','I can\\\\'t use \\\\'\"+l.text+\"\\\\' in this position.') \":\" Operations.Identifiers.\"+l.text.toLowerCase()+\" \";if(l.type===\"variable\")return\"VarRef.create(State.variables,\"+e.toJSLiteral(l.name)+\")\"+(s?\"\":\".get()\");if(l.type===\"hookRef\")return s?\"VarRef.create(section.selectHook('?\"+l.name+\"'), 'TwineScript_Assignee')\":\" section.selectHook('?\"+l.name+\"') \";if(l.type===\"string\")return l.text.replace(/\\n/g,\"\\\\n\");if(l.type===\"colour\")return\"Colour.create(\"+e.toJSLiteral(l.colour)+\")\";if(l.type===\"root\")return r(l.children)}return(o=t(i,\"comma\"))>-1?(c=\",\",m=!1):(o=t(i,\"spread\"))>-1?(c=\"Operations.makeSpreader(\",a=r(i.splice(o+1))+\")\",v=!1):(o=t(i,\"to\"))>-1?(p=\"to\",u=\"Operations.setIt(\"+r(i.slice(0,o),\"varRef\")+\")\"):(o=t(i,\"into\"))>-1?(p=\"into\",a=r(i.slice(0,o),\"varRef\"),u=\"Operations.setIt(\"+r(i.slice(o+1),\"varRef\")+\")\"):(o=t(i,\"augmentedAssign\"))>-1?(p=i[o].operator,u=r(i.slice(0,o),\"varRef\"),a=\"Operations['\"+p+\"'](\"+(r(i.slice(0,o))+\",\"+r(i.splice(o+1)))+\")\"):(o=t(i,\"and\",\"or\"))>-1?h=i[o].type:(o=t(i,\"is\",\"isNot\"))>-1?(g=!0,h=i[o].type):(o=t(i,\"contains\",\"isIn\"))>-1?(g=!0,h=i[o].type):(o=t(i,\"inequality\"))>-1?(g=!0,h=i[o].operator):(o=t(i,\"addition\",\"subtraction\"))>-1?(h=i[o].text,u=r(i.slice(0,o)),u.trim()||(u=\"0\")):(o=t(i,\"multiplication\",\"division\"))>-1?h=i[o].text:(o=t(i,\"not\"))>-1?(c=\"Operations.not(\",a=r(i.splice(o+1))+\")\",v=!1):(o=t(i,\"belongingProperty\"))>-1?(a=\"VarRef.create(\"+r(i.slice(o+1),\"varref\")+\",\"+e.toJSLiteral(i[o].name)+\")\"+(s?\"\":\".get()\"),c=\" \",v=m=!1):(o=t(i,\"belongingOperator\",\"belongingItOperator\"))>-1?(i[o].type.includes(\"It\")&&(a=\"Operations.Identifiers.it\",m=!1),d=\"belonging\"):(o=n(i,\"property\"))>-1?(u=\"VarRef.create(\"+r(i.slice(0,o),\"varref\")+\",\"+e.toJSLiteral(i[o].name)+\")\"+(s?\"\":\".get()\"),c=\" \",v=m=!1):(o=n(i,\"itsProperty\"))>-1||(o=t(i,\"belongingItProperty\"))>-1?(u=\"VarRef.create(Operations.Identifiers.it,\"+e.toJSLiteral(i[o].name)+\").get()\",c=\" \",v=m=!1):(o=n(i,\"possessiveOperator\",\"itsOperator\"))>-1?(i[o].type.includes(\"it\")&&(u=\"Operations.Identifiers.it\",v=!1),d=\"possessive\"):(o=t(i,\"macro\"))>-1?(f=i[o].children[0],e.assert(f.type===\"macroName\"),c=\"Macros.run(\"+(f.isMethodCall?r(f.children):'\"'+i[o].name+'\"')+\", [\"+\"section,\"+r(i[o].children.slice(1))+\"])\",v=m=!1):(o=t(i,\"grouping\"))>-1&&(c=\"(\"+r(i[o].children,s)+\")\",v=m=!1),o>-1?(u=u||r(i.slice(0,o),s).trim(),a=a||r(i.splice(o+1)).trim(),g&&!u&&(u=\" Operations.Identifiers.it \"),v&&!u||m&&!a?\"TwineError.create('operation','I need some code to be \"+(v?\"left \":\"\")+(v&&m?\"and \":\"\")+(m?\"right \":\"\")+\"of \"+'\"'+i[o].text+'\"'+\"')\":c?u+c+a:p?\"Operations.makeAssignmentRequest(\"+[u,a,e.toJSLiteral(p)]+\")\":d?\"VarRef.create(\"+(d===\"belonging\"?a:u)+\",{computed:true,value:\"+(d===\"belonging\"?u:a)+\"})\"+(s?\"\":\".get()\"):h?\" Operations[\"+e.toJSLiteral(h)+\"](\"+u+\",\"+a+\") \":\"\"):i.length===1?((l.value||l.text)+\"\").trim()||\" \":i.reduce(function(e,t){return e+r(t,s)},\"\")}return r}),define(\"internaltypes/twineerror\",[\"jquery\",\"utils\"],function(e,t){\"use strict\";var n={syntax:\"The markup seems to contain a mistake.\",saving:\"I tried to save or load the game, but I couldn't do it.\",operation:\"I tried to use an operation on some data, but the data's type was incorrect.\",macrocall:\"I tried to use a macro, but its call wasn't written correctly.\",datatype:\"I tried to use a macro, but was given the wrong type of data to it.\",keyword:\"I was given a keyword in a way that I didn't understand.\",changer:\"This is a command to change a hook, but it isn't being used correctly.\",infinite:\"I almost ended up doing the same thing over and over, forever.\",property:\"I tried to access a value in a string/array/datamap, but I couldn't find it.\",unimplemented:\"I currently don't have this particular feature. I'm sorry.\",javascript:\"This error message was reported by your browser's Javascript engine. I don't understand it either, but it usually means that an expression was badly written.\"},r={create:function(e,r,i){return r||t.impossible(\"TwineError.create\",\"called with only 1 string.\"),t.assert(i||e in n),Object.assign(Object.create(this),{type:e,message:r,explanation:i})},fromError:function(e){return r.create(\"javascript\",\"☕ \"+e.message)},containsError:function i(){return Array.from(arguments).reduce(function(e,t){return e?e:t instanceof Error?t:r.isPrototypeOf(t)?t:Array.isArray(t)?i.apply(this,t):!1},!1)},createWarning:function(e,t){return Object.assign(this.create(e,t),{warning:!0})},render:function(r){r=r||\"\";var i=e(\"<tw-error class='\"+(this.type===\"javascript\"?\"javascript \":\"\")+(this.warning?\"warning\":\"error\")+\"' title='\"+t.escape(r)+\"'>\"+t.escape(this.message)+\"</tw-error>\"),s=e(\"<tw-error-explanation>\").text(this.explanation||n[this.type]).hide(),o=e(\"<tw-error-explanation-button tabindex=0>\").html(\"<span class='folddown-arrowhead'>►</span>\");return o.on(\"click\",function(){s.toggle(),o.children(\".folddown-arrowhead\").css(\"transform\",\"rotate(\"+(s.is(\":visible\")?\"90deg\":\"0deg\")+\")\")}),i.append(o).append(s),i}};return r}),define(\"renderer\",[\"utils\",\"markup\",\"twinescript/compiler\",\"internaltypes/twineerror\"],function(e,t,n,r){\"use strict\";function i(t,n){var r=u.render(t.children);return r&&e.wrapHTMLTag(r,n)}var s=\"text-align: center; max-width:50%; \",o=e.escape,u={options:{},exec:function(){var n,r;return function(i){return typeof i!=\"string\"?(e.impossible(\"Renderer.exec\",\"source was not a string, but \"+typeof i),\"\"):i===n?r:(n=i,r=this.render(t.lex(i).children),r)}}(),render:function a(f){var l,c,h,p,d,v,m,g,y=0,b=\"\";if(!f)return b;c=f.length;for(;y<c;y+=1){l=f[y];switch(l.type){case\"error\":b+=r.create(\"syntax\",l.message).render(o(l.text))[0].outerHTML;break;case\"numbered\":case\"bulleted\":h=l.type===\"numbered\"?\"ol\":\"ul\",b+=\"<\"+h+\">\",p=1;while(y<c&&f[y]&&f[y].type===l.type)b+=(\"<\"+h+\">\").repeat(Math.max(0,f[y].depth-p)),b+=(\"</\"+h+\">\").repeat(Math.max(0,p-f[y].depth)),p=f[y].depth,b+=i(f[y],\"li\"),y+=1;y-=1,b+=(\"</\"+h+\">\").repeat(p+1);break;case\"align\":while(l&&l.type===\"align\"){d=\"\",v=\"\",m=l.align,g=y+=1;if(m===\"left\")break;while(y<c&&f[y]&&f[y].type!==\"align\")y+=1;v+=a(f.slice(g,y));switch(m){case\"center\":d+=s+\"margin-left: auto; margin-right: auto;\";break;case\"justify\":case\"right\":d+=\"text-align: \"+m+\";\";break;default:+m&&(d+=s+\"margin-left: \"+m+\"%;\")}b+=\"<tw-align \"+(d?'style=\"'+d+'\"':\"\")+(u.options.debug?' title=\"'+l.text+'\"':\"\")+\">\"+v+\"</tw-align>\\n\",l=f[y]}break;case\"heading\":b+=i(l,\"h\"+l.depth);break;case\"br\":case\"hr\":b+=\"<\"+l.type+\">\";break;case\"escapedLine\":case\"comment\":break;case\"inlineUrl\":b+='<a class=\"link\" href=\"'+o(l.text)+'\">'+l.text+\"</a>\";break;case\"scriptStyleTag\":case\"tag\":b+=l.text.startsWith(\"</\")?l.text:l.text.replace(/>$/,\" data-raw>\");break;case\"sub\":case\"sup\":case\"del\":case\"strong\":case\"em\":b+=i(l,l.type);break;case\"bold\":b+=i(l,\"b\");break;case\"italic\":b+=i(l,\"i\");break;case\"twineLink\":var w=t.lex(\"(link-goto:\"+e.toJSLiteral(l.innerText)+\",\"+e.toJSLiteral(l.passage)+\")\");b+=a(w.children);break;case\"hook\":b+=\"<tw-hook \"+(l.name?'name=\"'+l.name+'\"':\"\")+(u.options.debug&&l.name?' title=\"Hook: ?'+l.name+'\"':\"\")+' source=\"'+o(l.innerText)+'\">'+\"</tw-hook>\";break;case\"verbatim\":b+=e.wrapHTMLTag(o(l.innerText).replace(/\\n/g,\"<br>\"),\"tw-verbatim\");break;case\"collapsed\":b+=i(l,\"tw-collapsed\");break;case\"hookRef\":case\"variable\":case\"macro\":b+='<tw-expression type=\"'+l.type+'\" name=\"'+o(l.name||l.text)+'\"'+(u.options.debug?' title=\"'+o(l.text)+'\"':\"\")+' js=\"'+o(n(l))+'\">'+\"</tw-expression>\";break;default:b+=l.children&&l.children.length?a(l.children):l.text}}return b}};return Object.freeze(u)}),define(\"passages\",[\"jquery\",\"utils\",\"utils/selectors\"],function(e,t,n){\"use strict\";function r(e){return Object.assign(new Map([[\"source\",t.unescape(e.html())],[\"tags\",(e.attr(\"tags\")||\"\").split(/\\s/)],[\"name\",e.attr(\"name\")]]),{TwineScript_TypeName:\"passage datamap\",TwineScript_ObjectName:\"a passage datamap\"})}var i=Object.assign(new Map,{TwineScript_ObjectName:\"the Passages datamap\",getTagged:function(e){var t=[];return this.forEach(function(n){var r=n instanceof Map&&n.get(\"tags\");Array.isArray(r)&&r.indexOf(e)>-1&&t.push(n)}),t.sort(function(e,t){return e.get(\"name\")>t.get(\"name\")})},create:r});return e(document).ready(function(){Array.from(e(n.storyData+\" > \"+n.passageData)).forEach(function(t){t=e(t),i.set(t.attr(\"name\"),new r(t))})}),i}),define(\"state\",[\"utils\",\"passages\"],function(e,t){\"use strict\";var n={TwineScript_ObjectName:\"this story's variables\",TwineScript_Writeproof:[]},r={passage:\"\",variables:n,create:function(e,t){var n=Object.create(r);return n.passage=e||\"\",n.variables=Object.assign(Object.create(this.variables),t),n}},i=[],s=-1,o=r.create(),u=!0,a=Object.assign({get passage(){return o.passage},get variables(){return o.variables},get pastLength(){return s},get futureLength(){return i.length-1-s},passageNameVisited:function(e){var n,r=0;if(!t.get(e))return 0;for(n=0;n<=s;n++)r+=+(e===i[n].passage);return r},passageNameLastVisited:function(e){var n;if(!t.get(e))return Infinity;if(e===o.passage)return 0;for(n=s;n>0;n--)if(i[n].passage===e)return s-n+1;return Infinity},pastPassageNames:function(){var e,t=[];for(e=s-1;e>=0;e--)t.unshift(i[e].passage);return t},newPresent:function(e){o=(i[s]||r).create(e)},play:function(t){o||e.impossible(\"State.play\",\"present is undefined!\"),o.passage=t,i=i.slice(0,s+1).concat(o),s+=1,this.newPresent(t)},rewind:function(e){var t=1,n=!1;if(e)if(typeof e==\"string\"){t=this.passageNameLastVisited(e);if(t===Infinity)return}else typeof e==\"number\"&&(t=e);for(;t>0&&s>0;t--)n=!0,s-=1;return n&&this.newPresent(i[s].passage),n},fastForward:function(e){var t=1,n=!1;typeof e==\"number\"&&(t=e);for(;t>0&&i.length>0;t--)n=!0,s+=1;return n&&this.newPresent(i[s].passage),n},reset:function(){i=[],s=-1,o=r.create(),u=!0}},function(){function e(t){return typeof t==\"number\"||typeof t==\"boolean\"||typeof t==\"string\"||t===null||Array.isArray(t)&&t.every(e)||t instanceof Set&&Array.from(t).every(e)||t instanceof Map&&Array.from(t.values()).every(e)}function t(e,t){return t instanceof Set?{\"(dataset:)\":Array.from(t)}:t instanceof Map?{\"(datamap:)\":Array.from(t)}:t}function o(e,t){if(Object.prototype.isPrototypeOf(t)){if(Array.isArray(t[\"(dataset:)\"]))return new Set(t[\"(dataset:)\"]);if(Array.isArray(t[\"(datamap:)\"]))return new Map(t[\"(datamap:)\"])}return t}function a(){var n=i.slice(0,s+1);u=u&&n.every(function(t){return Object.keys(t.variables).every(function(n){var r=t.variables[n];return e(r)})});if(!u)return!1;try{return JSON.stringify(n,t)}catch(r){return!1}}function f(e){var t,u=n;try{t=JSON.parse(e,o)}catch(a){return!1}if(!Array.isArray(t))return!1;if((t=t.map(function(e){return typeof e!=\"object\"||!e.hasOwnProperty(\"passage\")||!e.hasOwnProperty(\"variables\")?!1:(e.variables=Object.assign(Object.create(u),e.variables),u=e.variables,Object.assign(Object.create(r),e))})).indexOf(!1)>-1)return!1;i=t,s=i.length-1,this.newPresent(i[s].passage)}return{serialise:a,deserialise:f}}());return Object.seal(r),Object.freeze(a)}),define(\"utils/operationutils\",[\"utils\",\"internaltypes/twineerror\"],function(e,t){\"use strict\";function n(e){return!!e&&(typeof e==\"object\"||typeof e==\"function\")}function r(e){return Array.isArray(e)?\"array\":e instanceof Map?\"datamap\":e instanceof Set?\"dataset\":e&&typeof e==\"object\"?\"object\":\"\"}function i(n,r){e.assert(n instanceof Map);if(typeof r!=\"string\"&&typeof r!=\"number\")return t.create(\"property\",\"Only strings and numbers can be used as data names for \"+a(n)+\", not \"+a(r)+\".\");var i=typeof r==\"string\"?+r:\"\"+r;return!Number.isNaN(i)&&n.has(i)?t.create(\"property\",\"You mustn't use both \"+a(r)+\" and \"+a(i)+\" as data names in the same datamap.\"):!0}function s(e){return typeof e==\"string\"||Array.isArray(e)}function o(t){if(!n(t))return t;if(typeof t.TwineScript_Clone==\"function\")return t.TwineScript_Clone();if(Array.isArray(t))return[].concat(t);if(t instanceof Map)return Object.assign(new Map(t),t);if(t instanceof Set)return Object.assign(new Set(t),t);if(typeof t==\"function\")return Object.assign(t.bind(),t);switch(Object.getPrototypeOf(t)){case Object.prototype:return Object.assign({},t);case null:return Object.assign(Object.create(null),t)}return e.impossible(\"Operations.clone\",\"The value \"+t+\" cannot be cloned!\"),t}function u(e,t,r){return typeof t==\"string\"&&n(r)&&\"TwineScript_ToString\"in r?e(t,r.TwineScript_ToString()):typeof r==\"string\"&&n(t)&&\"TwineScript_ToString\"in t?e(t.TwineScript_ToString(),r):!1}function a(t){return n(t)&&\"TwineScript_ObjectName\"in t?t.TwineScript_ObjectName:Array.isArray(t)?\"an array\":t instanceof Map?\"a datamap\":t instanceof Set?\"a dataset\":typeof t==\"boolean\"?\"the logic value '\"+t+\"'\":typeof t==\"string\"||typeof t==\"number\"?\"the \"+typeof t+\" \"+e.toJSLiteral(t):t===undefined?\"an empty variable\":\"...whatever this is\"}function f(t){if(t.innerType)return t.pattern===\"either\"?(e.assert(Array.isArray(t.innerType)),t.innerType.map(f).join(\" or \")):t.pattern===\"optional\"?\"(an optional) \"+f(t.innerType):f(t.innerType);return t===String||t===Number||t===Boolean?\"a \"+typeof t():t===Map?\"a datamap\":t===Set?\"a dataset\":t===Array?\"an array\":n(t)&&\"TwineScript_TypeName\"in t?t.TwineScript_TypeName:a(t)}function l(e,t){return typeof e!=\"object\"&&typeof t!=\"object\"?e===t:Array.isArray(e)&&Array.isArray(t)?e.length!==t.length?!1:e.every(function(e,n){return l(t[n],e)}):e instanceof Map&&t instanceof Map?l(Array.from(e.entries()).sort(),Array.from(t.entries()).sort()):e instanceof Set&&t instanceof Set?l(Array.from(e.values()),Array.from(t.values())):e&&typeof e.TwineScript_is==\"function\"?e.TwineScript_is(t):Object.is(e,t)}function c(e,t){if(e){if(typeof e==\"string\")return e.indexOf(t)>-1;if(Array.isArray(e))return e.some(function(e){return l(e,t)});if(e instanceof Set||e instanceof Map)return Array.from(e.keys()).some(function(e){return l(e,t)})}return l(e,t)}function h(e,n,i){var s,o=typeof e==\"string\";return!n||!i?t.create(\"macrocall\",\"The sub\"+r(e)+\" index arguments must not be 0 or NaN.\"):(n<0&&(n=e.length+n+1),i<0&&(i=e.length+i+1),n>i?h(e,i,n):(o&&(e=Array.from(e)),s=e.slice(n>0?n-1:n,i),o?s.join(\"\"):s))}var p=Object.freeze({isObject:n,isValidDatamapName:i,collectionType:r,isSequential:s,clone:o,coerceToString:u,objectName:a,typeName:f,is:l,contains:c,subset:h,numericIndex:/^(?:[1-9]\\d*|0)$/});return p}),define(\"macros\",[\"jquery\",\"utils\",\"utils/operationutils\",\"internaltypes/twineerror\"],function(e,t,n,r){\"use strict\";function u(e){return function(i){i=i.reduce(function(e,t){if(t&&t.spreader===!0)if(Array.isArray(t.value)||typeof t.value==\"string\")for(var i=0;i<t.value.length;i++)e.push(t.value[i]);else t.value instanceof Set?t.value.forEach(function(t){e.push(t)}):e.push(r.create(\"operation\",\"I can't spread out \"+n.objectName(t.value)+\", which is not a string, dataset or array.\"));else e.push(t);return e},[]);var s=r.containsError(i);return s?s:e.apply(0,i)}}function a(e,t){if(t===null)return e===undefined;if(t.innerType){if(t.pattern===\"optional\"||t.pattern===\"zero or more\")return e===undefined?!0:a(e,t.innerType);if(t.pattern===\"either\")return t.innerType.some(function(t){return a(e,t)});if(t.pattern===\"wrapped\")return a(e,t.innerType)}return t!==undefined&&e===undefined?!1:t===i.TypeSignature.Any&&e!==undefined?!0:t===String?typeof e==\"string\":t===Boolean?typeof e==\"boolean\":t===Number?typeof e==\"number\":t===Array?Array.isArray(e):t===Map||t===Set?e instanceof t:Object.isPrototypeOf.call(t,e)}function f(e,i,s){var o;return s?(s=[].concat(s),e=\"(\"+(Array.isArray(e)&&e.length>1?e[0]:e)+\":)\",s.length>0?o=\"The \"+e+\" macro must only be given \"+s.map(n.typeName).reduce(function(e,t,n,r){return e+(n===0?\"\":n<r.length-1?\", \":\", and \")+t},\"\")+(s.length>1?\", in that order\":\".\"):o=\"The macro must not be given any data - just write \"+e+\".\",function(){var f=Array.from(arguments).slice(1),l,c,h,p,d;for(h=0,p=Math.max(f.length,s.length);h<p;h+=1){l=s[h],c=f[h];if(h>=s.length&&!d)return r.create(\"typesignature\",f.length-s.length+\" too many values were given to this \"+e+\" macro.\",o);l||(l=d),l.innerType&&(l.pattern===\"rest\"||l.pattern===\"zero or more\")&&(d=l.innerType,l.pattern===\"rest\"&&(l=l.innerType));if(!a(c,l))return c===undefined?r.create(\"typesignature\",\"The \"+e+\" macro needs \"+t.plural(s.length-h,\"more value\")+\".\",o):r.create(\"typesignature\",e+\"'s \"+t.nth(h+1)+\" value is \"+n.objectName(c)+\", but should be \"+n.typeName(l)+\".\",l.message||o)}return i.apply(0,arguments)}):i}function l(e,n,r){Array.isArray(e)?e.forEach(function(e){t.lockProperty(s,t.insensitiveName(e),r)}):t.lockProperty(s,t.insensitiveName(e),r)}var i,s={},o={};return i={has:function(e){return e=t.insensitiveName(e),s.hasOwnProperty(e)},get:function(e){return e=t.insensitiveName(e),s.hasOwnProperty(e)&&s[e]},add:function c(e,t,n){return l(e,\"value\",u(f(e,t,n))),c},addChanger:function h(e,n,r,i){return t.assert(r),l(e,\"changer\",u(f(e,n,i))),o[Array.isArray(e)?e[0]:e]=r,h},getChangerFn:function(t){return o[t]},TypeSignature:{optional:function(e){return{pattern:\"optional\",innerType:e}},zeroOrMore:function(e){return{pattern:\"zero or more\",innerType:e}},either:function(){return{pattern:\"either\",innerType:Array.from(arguments)}},rest:function(e){return{pattern:\"rest\",innerType:e}},wrapped:function(e,t){return{pattern:\"wrapped\",innerType:e,message:t}},Any:{TwineScript_TypeName:\"anything\"}},run:function(e,t){var n;return r.containsError(e)?e:i.has(e)?(n=i.get(e),n(t)):r.create(\"macrocall\",\"I can't run the macro '\"+e+\"' because it doesn't exist.\")}},Object.freeze(i)}),define(\"datatypes/colour\",[\"utils\",\"jquery\"],function(e,t){\"use strict\";function u(e){if(e in o)return o[e];var n=t(\"<p>\").css(\"background-color\",e).css(\"background-color\");return n.startsWith(\"rgb\")?n=n.match(/\\d+/g).reduce(function(e,t,n){return e[\"rgb\"[n]]=+t,e},{}):n={r:192,g:192,b:192},o[e]=n,n}function a(e){return typeof e!=\"string\"?e:(e=e.replace(\"#\",\"\"),e=e.replace(i,\"$1$1$2$2$3$3\"),{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16)})}var n,r=/^([\\da-fA-F])$/,i=/^([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])$/,s=/^([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])$/,o=Object.create(null);return n=Object.freeze({colour:!0,TwineScript_TypeName:\"a colour\",TwineScript_ObjectName:\"a colour\",\"TwineScript_+\":function(e){var t=this,r=e;return n.create({r:Math.min(Math.round((t.r+r.r)*.6),255),g:Math.min(Math.round((t.g+r.g)*.6),255),b:Math.min(Math.round((t.b+r.b)*.6),255)})},TwineScript_Print:function(){return\"<tw-colour style='background-color:rgb(\"+[this.r,this.g,this.b].join(\",\")+\");'></span>\"},TwineScript_is:function(e){return n.isPrototypeOf(e)&&e.r===this.r&&e.g===this.g&&e.b===this.b},TwineScript_Clone:function(){return n.create(this)},toHexString:function(){return e.assert(this!==n),\"#\"+this.r.toString(16).replace(r,\"0$1\")+this.g.toString(16).replace(r,\"0$1\")+this.b.toString(16).replace(r,\"0$1\")},create:function(e){return typeof e==\"string\"?n.isHexString(e)?this.create(a(e)):this.create(u(e)):Object.assign(Object.create(this),e)},isHexString:function(e){return typeof e==\"string\"&&e[0]===\"#\"&&(e.slice(1).match(i)||e.slice(1).match(s))}}),n}),define(\"internaltypes/varref\",[\"utils\",\"state\",\"internaltypes/twineerror\",\"utils/operationutils\"],function(e,t,n,r){\"use strict\";function f(e,t){var i,u;if(u=n.containsError(e,t))return u;if(e instanceof Map&&(u=n.containsError(r.isValidDatamapName(e,t))))return u;if(s(e)){if(typeof t==\"number\")t-=1;else if(i=/(\\d+)(?:st|[nr]d|th)last/i.exec(t))t=-i[1]+\"\";else if(i=/(\\d+)(?:st|[nr]d|th)/i.exec(t))t=i[1]-1+\"\";else if(t===\"last\")t=-1;else if(t!==\"length\")return n.create(\"property\",\"You can only use positions ('4th', 'last', '2ndlast', (2), etc.) and 'length' with \"+o(e)+\", not '\"+t+\"'.\")}else if(e instanceof Set){if(t!==\"length\")return n.create(\"property\",\"You can only get the 'length' of a \"+o(e)+\".\",\"To check contained values, use the 'contains' operator.\");t=\"size\"}return t}function l(e,t){return e instanceof Map?e.get(t):(s(e)&&+t<0&&(t=e.length+ +t),e[t])}function c(e){return e.computed?\"(\"+o(e.value)+\")\":\"'\"+e+\"'\"}function h(e,t){var r=\"I won't add \"+c(t)+\" to \"+o(e)+\" because it's one of my special system collections.\",i=\"I can't modify '\"+c(t)+\"' because it holds one of my special system collections.\";if(e instanceof Map)return e.TwineScript_Sealed&&!e.has(t)?n.create(\"operation\",r):e.TwineScript_Writeproof&&e.TwineScript_Writeproof.indexOf(t)>-1?n.create(\"operation\",i):!0;if(s(e)){if(t===\"length\")return n.create(\"operation\",\"I can't forcibly alter the length of \"+o(e)+\".\");if(+t!==(t|0))return n.create(\"property\",o(e)+\" can only have position keys ('3rd', '1st', (5), etc.), not \"+c(t)+\".\")}return!e.TwineScript_Sealed||t in e?e.TwineScript_Writeproof&&e.TwineScript_Writeproof.indexOf(t)>-1?n.create(\"operation\",i):!0:n.create(\"operation\",r)}function p(e,t,n){e instanceof Map?e.set(t,n):(s(e)&&+t<0&&(t=e.length+ +t),e[t]=n)}function d(e){function t(){return e}return{get:t,set:t,\"delete\":t}}var i=r.isObject,s=r.isSequential,o=r.objectName,u=r.clone,a=0,v=Object.freeze({varref:!0,get:function(){var e=this.deepestObject,r=this.deepestProperty;return typeof e==\"string\"&&(e=Array.from(e)),s(e)&&+r<0&&(r=e.length+ +r),(e instanceof Map?!!e.has(r):r in Object(e))?l(e,r):e===t.variables?a:n.create(\"property\",\"I can't find a \"+c(this.propertyChain.slice(-1)[0])+\" data name in \"+o(e))},set:function(e){var t,s;e&&e.TwineScript_AssignValue&&(e=e.TwineScript_AssignValue());if(s=n.containsError(h(this.deepestObject,this.deepestProperty)))return s;t=this.object,this.compiledPropertyChain.slice(0,-1).every(function(e){var n,i=l(t,e);return r.isObject(i)?(n=u(i),t instanceof Map?t.set(e,n):t[e]=n,t=n,!0):!1}),this.deepestObject=t,i(e)&&(e=u(e)),p(this.deepestObject,this.deepestProperty,e)},\"delete\":function(){var e=this.deepestObject,t=this.deepestProperty;if(Array.isArray(e)&&r.numericIndex.exec(t)){e.splice(t,1);return}if(e instanceof Map||e instanceof Set){e.delete(t);return}if(!delete e[t])return n.create(\"property\",\"I couldn't delete '\"+t+\"' from \"+o(e)+\".\")},create:function(e,t){var r,i,s=[];return(r=n.containsError(e))?d(r):(t=[].concat(t),v.isPrototypeOf(e)&&(t=e.propertyChain.concat(t),e=e.object),i=e,s=t.reduce(function(e,r,s){var o;return r.computed&&(r=r.value),r=f(i,r),(o=n.containsError([e].concat(r)))?o:(s<t.length-1&&(i=l(i,r)),e.concat(r))},[]),(r=n.containsError(s))?d(r):Object.assign(Object.create(v),{object:e,propertyChain:t,compiledPropertyChain:s,deepestProperty:s.slice(-1)[0],deepestObject:i}))},get TwineScript_ObjectName(){return(this.object===t.variables?\"$\":o(this.object)+\"'s \")+this.propertyChain.reduce(function(e,t){return e+\"'s \"+c(t)})}});return v}),define(\"datatypes/assignmentrequest\",[\"utils\"],function(e){\"use strict\";var t=Object.freeze({assignmentRequest:!0,TwineScript_TypeName:\"an assignment operation\",TwineScript_ObjectName:\"an assignment operation\",TwineScript_Print:function(){return\"[an assignment operation]\"},create:function(t,n,r){return e.assert(\"propertyChain\"in t&&\"object\"in t),Object.assign(Object.create(this),{dest:t,src:n,operator:r})},TwineScript_Clone:function(){return t.create(this.dest,this.src,this.operator)}});return t}),define(\"twinescript/operations\",[\"utils\",\"state\",\"datatypes/colour\",\"datatypes/assignmentrequest\",\"utils/operationutils\",\"internaltypes/twineerror\"],function(e,t,n,r,i,s){\"use strict\";function p(e,t,n,r){return n=n||\"do this to\",function(i,o){var u;return t.length===1&&(o=i),(u=s.containsError(i,o))?u:typeof i!==e||typeof o!==e?s.create(\"operation\",\"I can only \"+n+\" \"+e+\"s, not \"+l(typeof i!==e?i:o)+\".\",r):t(i,o)}}function d(e){return function(t,n){var r;return(r=s.containsError(t,n))?r:t&&t.varref?s.create(\"operation\",\"I can't give an expression a new value.\"):typeof t!=typeof n||a(t)!==a(n)?f(e,t,n)||s.create(\"operation\",l(t)+\" isn't the same type of data as \"+l(n)):e(t,n)}}function v(e){return function(t,n){return h=t,e(t,n)}}var o,u=i.isObject,a=i.collectionType,f=i.coerceToString,l=i.objectName,c=i.contains,h=0,m=\"If one of these values is a number, you may want to write a check that it 'is not 0'. Also, if one is a string, you may want to write a check that it 'is not \\\"\\\" '.\";return o={create:function(e){var t=Object.create(this);return t.Identifiers={get it(){return h},get time(){return Date.now()-e.timestamp}},t},and:p(\"boolean\",d(function(e,t){return e&&t}),\"use 'and' to join\",m),or:p(\"boolean\",d(function(e,t){return e||t}),\"use 'or' to join\",m),not:p(\"boolean\",function(e){return!e},\"use 'not' to invert\",m),\"+\":d(function(e,t){var n;return Array.isArray(e)?[].concat(e,t):e instanceof Map?(n=new Map(e),t.forEach(function(e,t){n.set(t,e)}),n):e instanceof Set?(n=new Set(e),t.forEach(function(e){n.add(e)}),n):typeof e[\"TwineScript_+\"]==\"function\"?e[\"TwineScript_+\"](t):\"string|number|boolean\".includes(typeof e)?e+t:s.create(\"operation\",\"I can't use + on \"+l(e)+\".\")}),\"-\":d(function(e,t){var n;return Array.isArray(e)?e.filter(function(e){return t.indexOf(e)===-1}):e instanceof Set?(n=new Set(e),t.forEach(function(e){n.delete(e)}),n):typeof e==\"string\"?e.split(t).join(\"\"):e-t}),\"*\":p(\"number\",d(function(e,t){return e*t}),\"multiply\"),\"/\":p(\"number\",d(function(e,t){return t===0?s.create(\"operation\",\"I can't divide \"+l(e)+\" by zero.\"):e/t}),\"divide\"),\"%\":p(\"number\",d(function(e,t){return t===0?s.create(\"operation\",\"I can't modulo \"+l(e)+\" by zero.\"):e%t}),\"modulus\"),\"<\":v(p(\"number\",d(function(e,t){return e<t}),\"do < to\")),\">\":v(p(\"number\",d(function(e,t){return e>t}),\"do > to\")),\"<=\":v(p(\"number\",d(function(e,t){return e<=t}),\"do <= to\")),\">=\":v(p(\"number\",d(function(e,t){return e>=t}),\"do >= to\")),is:v(i.is),isNot:v(function(e,t){return!o.is(e,t)}),contains:v(c),isIn:v(function(e,t){return c(t,e)}),makeSpreader:function(e){return{value:e,spreader:!0}},makeAssignmentRequest:function(e,t,n){var i,o=s.containsError(e,t);return o?o:!!u(e)&&\"compiledPropertyChain\"in e?(i=e.compiledPropertyChain,r.create(e,t,n)):s.create(\"operation\",\"I can't store a new value inside \"+l(e)+\".\")},setIt:function(e){return s.containsError(e)?e:e.varref?(h=e.get(),e):s.create(\"operation\",\"I can't put a new value into \"+l(e)+\".\")}},Object.freeze(o)}),define(\"twinescript/environ\",[\"macros\",\"state\",\"utils\",\"datatypes/colour\",\"internaltypes/varref\",\"internaltypes/twineerror\",\"twinescript/operations\"],function(Macros,State,Utils,Colour,VarRef,TwineError,OperationsProto){\"use strict\";return function environ(section){(typeof section!=\"object\"||!section)&&Utils.impossible(\"TwineScript.environ\",\"no Section argument was given!\");var Operations=OperationsProto.create(section);return Operations,Object.assign(section,{eval:function(){try{return eval(Array.from(arguments).join(\"\"))}catch(e){return Utils.log(e),Utils.log(Array.from(arguments).join(\"\")),e}}})}}),define(\"utils/hookutils\",[\"jquery\",\"utils\",\"utils/selectors\"],function(e,t,n){\"use strict\";function r(e,t,n){var r=e.textContent.length;if(t>=r)return;var i,s=[i=t===0?e:e.splitText(t)];return n&&(n<=0&&(n=r-n),n<r&&s.push(i.splitText(n-t))),s}function i(e,t){var n=[],s=\"\",o=[],u,a,f;if(!e.length||!t)return o;while(e.length>0){n.push(e[0]),s+=e[0].textContent,e.shift(),u=s.indexOf(t);if(u>-1){a=s.length-(u+t.length);while(u>=n[0].textContent.length)u-=n[0].textContent.length,n.shift();if(n.length===1){f=r(n[0],u,u+t.length),o.push(f[0]),f[1]&&e.unshift(f[1]);break}o.push(r(n[0],u,n[0].length)[0]),o.push.apply(o,n.slice(1,-1)),f=r(n[n.length-1],0,n[n.length-1].textContent.length-a),o.push(f[0]),f[1]&&e.unshift(f[1]),o=o.filter(Boolean);break}}return[o].concat(i(e,t))}var s={wrapTextNodes:function(t,n,r){var s=i(n.textNodes(),t),o=e();return s.forEach(function(t){o=o.add(e(t).wrapAll(r))}),o},selectorType:function(e){var t;return e&&typeof e==\"string\"?(t=/\\?(\\w*)/.exec(e),t&&t.length?\"hookRef\":\"string\"):\"undefined\"},hookToSelector:function(e){return e=e.replace(/\"/g,\""\"),n.hook+'[name=\"'+e+'\"]'}};return Object.freeze(s)}),define(\"datatypes/hookset\",[\"utils/hookutils\",\"jquery\"],function(e,t){\"use strict\";function n(t){var n=Array.from(arguments).slice(1),r=this.section.$(e.hookToSelector(this.selector.slice(1)));return t in r&&r[t].apply(r,n)}var r=Object.freeze({forEach:function(e){return n.call(this,\"each\",function(n){e(t(this),n)})},text:function(){return n.call(this,\"text\")},TwineScript_ToString:function(){return this.text()},TwineScript_Print:function(){return this.text()},get TwineScript_ObjectName(){return this.selector+\" (a hook reference)\"},TwineScript_TypeName:\"a hook reference (like ?this)\",get TwineScript_Assignee(){},set TwineScript_Assignee(e){return n.call(this,\"text\",e)},TwineScript_AssignValue:function(){return n.call(this,\"text\")},create:function(e,t){var n=Object.create(this);return n.section=e,n.selector=t,Object.freeze(n)}});return r}),define(\"internaltypes/pseudohookset\",[\"jquery\",\"utils/hookutils\"],function(e,t){\"use strict\";var n=Object.freeze({forEach:function(n){var r=t.wrapTextNodes(this.selector,this.section.dom,\"<tw-pseudo-hook>\").parent();r.each(function(t){n(e(this),t)}),r.contents().unwrap().parent().each(function(){this.normalize()})},create:function(e,t){var n=Object.create(this);return n.section=e,n.selector=t,n}});return n}),define(\"internaltypes/changedescriptor\",[\"jquery\",\"utils\",\"renderer\"],function(e,t,n){\"use strict\";var r,i;return r={source:\"\",enabled:!0,target:null,append:\"append\",transition:\"instant\",transitionTime:0,styles:null,attr:null,data:null,section:null,create:function(e,t){var n=Object.assign(Object.create(this),{attr:[].concat(this.attr||[]),styles:[].concat(this.styles||[])},e);return t&&t.run(n),n},update:function(){var e=this.target;Array.isArray(this.styles)&&setTimeout(function(){e.css(Object.assign.apply(0,[{}].concat(this.styles)))}.bind(this)),this.attr&&this.attr.forEach(function(t){e.attr(t)}),this.data&&e.data(this.data)},render:function(){var r=this.target,s=this.source,o=this.append,u=this.transition,a=this.enabled,f;t.assertOnlyHas(this,i);if(!r||!a)return e();if(!(o in r)){if(o!==\"replace\"){t.impossible(\"Section.render\",\"The target jQuery doesn't have a '\"+o+\"' method.\");return}r.empty(),o=\"append\"}return f=e(s&&e.parseHTML(n.exec(s),document,!0)),r[o](f.length?f:undefined),this.update(),u&&t.transitionIn(o===\"replace\"?r:f,u),f}},i=Object.keys(r),Object.seal(r)}),define(\"internaltypes/twinenotifier\",[\"jquery\",\"utils\"],function(e,t){\"use strict\";var n={create:function(e){return e||t.impossible(\"TwineNotifier.create\",\"called with only 1 string.\"),Object.assign(Object.create(n),{message:e})},render:function(){return e(\"<tw-notifier>\").attr(\"message\",this.message)}};return n}),define(\"section\",[\"jquery\",\"utils\",\"utils/selectors\",\"renderer\",\"twinescript/environ\",\"state\",\"utils/hookutils\",\"datatypes/hookset\",\"internaltypes/pseudohookset\",\"internaltypes/changedescriptor\",\"internaltypes/twineerror\",\"internaltypes/twinenotifier\"],function(e,t,n,r,i,s,o,u,a,f,l,c){\"use strict\";function p(e,r){var i=e.next(n.hook);if(r&&r.changer)i.length?this.renderInto(i.popAttr(\"source\"),i,r):e.replaceWith(l.create(\"changer\",\"The (\"+r.macroName+\":) command should be assigned to a variable or attached to a hook.\",\"Macros like (if: $alive) should be touching the left side of a hook: (if: $alive)[Breathe]\"),e.attr(\"title\"));else if(r&&r.live)g.call(this,i,r.delay,r.event);else if(r===!1||r===null||r===undefined){i.removeAttr(\"source\"),e.addClass(\"false\");if(i.length){t.insensitiveName(e.attr(\"name\"))!==\"elseif\"&&(this.stack[0].lastHookShown=!1);return}}i.length&&(this.stack[0].lastHookShown=!0)}function d(t){var n=this.eval(t.popAttr(\"js\")||\"\");if(l.containsError(n))n instanceof Error&&(n=l.fromError(n)),t.replaceWith(n.render(t.attr(\"title\"),t));else if(c.isPrototypeOf(n))t.append(n.render());else if(n&&n.TwineScript_Print&&!n.changer){n=n.TwineScript_Print();if(n.earlyExit)return!1;n instanceof e?t.append(n):l.containsError(n)?(n instanceof Error&&(n=l.fromError(n)),t.replaceWith(n.render(t.attr(\"title\"),t))):this.renderInto(n,t)}else typeof n==\"string\"||typeof n==\"number\"||typeof n==\"object\"&&n&&n.toString!==Object.prototype.toString?this.renderInto(n+\"\",t):p.call(this,t,n)}function m(n){function u(t){return e(this||t).parentsUntil(\"tw-collapsed\").filter(\"tw-verbatim, tw-expression, [collapsing=false]\").length===0}var r,i,s,o=0;i=n.prevTextNode(),e(i).parents(\"tw-collapsed\").length||(i=null),s=n.nextTextNode(),e(s).parents(\"tw-collapsed\").length||(s=null),t.findAndFilter(n,\"br:not([data-raw])\").filter(u).replaceWith(document.createTextNode(\" \")),r=n.textNodes(),r.reduce(function(e,t){return u(t)?(t.textContent=t.textContent.replace(/\\s+/g,\" \"),t.textContent[0]===\" \"&&(!e||!e.textContent||e.textContent.search(/\\s$/)>-1)&&(t.textContent=t.textContent.slice(1)),t):document.createTextNode(\"A\")},i),[].concat(r).reverse().every(function(e){return u(e)?e.textContent.match(/^\\s*$/)?(o+=e.textContent.length,e.textContent=\"\",!0):(e.textContent=e.textContent.replace(/\\s+$/,function(e){return o+=e.length,\"\"}),!1):!1}),o>0&&s&&(r[r.length-1].textContent+=\" \"),n[0]&&v()&&n[0].normalize()}function g(e,t){var r=e.popAttr(\"source\")||\"\",i;t=t===undefined?20:t,i=function(){if(!this.inDOM())return;this.renderInto(r,e,{append:\"replace\"});if(e.find(n.expression+\"[name='stop']\").length)return;if(!this.inDOM())return;setTimeout(i,t)}.bind(this),setTimeout(i,t)}var h,v=function(){var t;return function(){if(t!==undefined)return t;var n=e(\"<p>\");return n[0].normalize?(n.append(document.createTextNode(\"0-\"),document.createTextNode(\"2\"),document.createTextNode(\"\"))[0].normalize(),t=n.contents().length===1):t=!1}}();return h={create:function(n){var r;return t.assert(n instanceof e&&n.length===1),r=Object.assign(Object.create(this),{timestamp:Date.now(),dom:n||t.storyElement,stack:[],enchantments:[]}),r=i(r),r},inDOM:function(){return e(t.storyElement).find(this.dom).length>0},$:function(e){return t.$(e,this.dom)},evaluateTwineMarkup:function(t){var n=e(\"<p>\"),r;return this.renderInto(t,n),(r=n.find(\"tw-error\")).length>0?r:n.text()},selectHook:function(e){if(u.isPrototypeOf(e)||a.isPrototypeOf(e))return e;switch(o.selectorType(e)){case\"hookRef\":return u.create(this,e);case\"string\":return a.create(this,e)}return null},renderInto:function(r,i,s){var o=f.create({target:i,source:r}),u=e(),a=this;o.section=a,s&&[].concat(s).forEach(function(e){!e||!e.changer?Object.assign(o,e):e.run(o)}),typeof o.target==\"string\"&&(o.target=this.selectHook(o.target));if(!o.target){t.impossible(\"Section.renderInto\",\"ChangeDescriptor has source but not a target!\");return}this.stack.length>=50?u=l.create(\"infinite\",\"Printing this expression may have trapped me in an infinite loop.\").render(i.attr(\"title\")).replaceAll(i):o.target instanceof e?u=o.render():o.target.forEach(function(e){u=u.add(o.create({target:e}).render())}),this.stack.unshift(Object.create(null)),t.findAndFilter(u,n.hook+\",\"+n.expression).each(function(){var r=e(this);switch(r.tag()){case n.hook:r.attr(\"source\")&&(a.renderInto(r.attr(\"source\"),r),r.removeAttr(\"source\"));break;case n.expression:return d.call(a,r)}}),u.length&&i instanceof e&&i.is(n.hook)&&i.parents(\"tw-collapsed\").length>0&&m(u),t.findAndFilter(u,n.collapsed).each(function(){m(e(this))}),this.stack.shift(),this.stack.length===0&&this.updateEnchantments()},updateEnchantments:function(){this.enchantments.forEach(function(e){e.refreshScope(),e.enchantScope()})}},Object.preventExtensions(h)}),define(\"engine\",[\"jquery\",\"utils\",\"utils/selectors\",\"state\",\"section\",\"passages\"],function(e,t,n,r,i,s){\"use strict\";function u(){var t,i,s,u;return t=e(\"<tw-passage><tw-sidebar>\"),u=t.children(n.sidebar),o.permalink&&r.save&&u.append('<tw-icon tabindex=0 class=\"permalink\" title=\"Permanent link to this passage\"><a href=\"#'+r.save()+'\">§'),i=e('<tw-icon tabindex=0 class=\"undo\" title=\"Undo\">↶</tw-icon>').click(l.goBack),s=e('<tw-icon tabindex=0 class=\"redo\" title=\"Redo\">↷</tw-icon>').click(l.goForward),r.pastLength<=0&&i.css(\"visibility\",\"hidden\"),r.futureLength<=0&&s.css(\"visibility\",\"hidden\"),u.append(i).append(s),t}function a(e,n){return\"<tw-include type=\"+e+\" title='\"+t.escape(n.get(\"name\"))+\"'>\"+n.get(\"source\")+\"</tw-include>\"}function f(n,f){var l,c=\"instant\",h=s.get(n),p,d,v,m=t.storyElement,g=m.parent();(!h||!(h instanceof Map)||!h.has(\"source\"))&&t.impossible(\"Engine.showPassage\",\"There's no passage with the name \\\"\"+n+'\"!'),m.detach(),p=t.$(m.children(t.passageSelector)),!f&&c&&t.transitionOut(p,c),l=u().appendTo(m),t.assert(l.length>0),d=i.create(l),v=h.get(\"source\"),v=(o.debug?s.getTagged(\"debug-header\").map(a.bind(0,\"debug-header\")).join(\"\"):\"\")+s.getTagged(\"header\").map(a.bind(0,\"header\")).join(\"\")+v+s.getTagged(\"footer\").map(a.bind(0,\"footer\")).join(\"\")+(o.debug?s.getTagged(\"debug-footer\").map(a.bind(0,\"debug-footer\")).join(\"\"):\"\"),r.pastLength<=0&&(o.debug&&(v=s.getTagged(\"debug-startup\").map(a.bind(0,\"debug-startup\")).join(\"\")+v),v=s.getTagged(\"startup\").map(a.bind(0,\"startup\")).join(\"\")+v),d.renderInto(v,l,[{transition:\"dissolve\"}]),e(\"html\").append(m),scroll(0,f?l.offset().top-e(window).height()*.05:g.offset().top)}var o=Object.create(null),l={goBack:function(){r.rewind()&&f(r.passage)},goForward:function(){r.fastForward()&&f(r.passage)},goToPassage:function(e,t){r.play(e),f(e,t)},showPassage:f,options:o};return Object.freeze(l)}),define(\"macrolib/values\",[\"utils\",\"macros\",\"utils/operationutils\",\"internaltypes/twineerror\"],function(e,t,n,r){\"use strict\";function f(e){return function(){var t=e.apply(this,arguments);return typeof t!=\"number\"||isNaN(t)?r.create(\"macrocall\",\"This mathematical expression doesn't compute!\"):t}}function l(){return arguments[~~(Math.random()*arguments.length)]}var i=t.TypeSignature.rest,s=t.TypeSignature.zeroOrMore,o=t.TypeSignature.wrapped,u=t.TypeSignature.Any;t.add([\"text\",\"string\"],function(){return Array.prototype.slice.call(arguments,1).join(\"\")},[s(t.TypeSignature.either(String,Number,Boolean,Array))])(\"substring\",function(t,r,i,s){return n.subset(r,i,s)},[String,Number,Number])([\"num\",\"number\"],function(t,i){return Number.isNaN(+i)?r.create(\"macrocall\",\"I couldn't convert \"+n.objectName(i)+\" to a number.\"):+i},[String]);var a=[o(Boolean,'If you gave a number, you may instead want to check that the number is not 0. If you gave a string, you may instead want to check that the string is not \"\".')];t.add(\"if\",function(t,n){return!!n},a)(\"unless\",function(t,n){return!n},a)(\"elseif\",function(t,n){return\"lastHookShown\"in t.stack[0]?t.stack[0].lastHookShown===!1&&!!n:r.create(\"macrocall\",\"There's nothing before this to do (else-if:) with.\")},a)(\"else\",function(t){return\"lastHookShown\"in t.stack[0]?t.stack[0].lastHookShown===!1:r.create(\"macrocall\",\"There's nothing before this to do (else:) with.\")},null),{weekday:[function(){return[\"Sun\",\"Mon\",\"Tues\",\"Wednes\",\"Thurs\",\"Fri\",\"Satur\"][(new Date).getDay()]+\"day\"},null],monthday:[function(){return(new Date).getDate()},null],currenttime:[function(){var e=new Date,t=e.getHours()<12;return e.getHours()%12+\":\"+e.getMinutes()+\" \"+(t?\"A\":\"P\")+\"M\"},null],currentdate:[function(){return(new Date).toDateString()},null],min:[Math.min,i(Number)],max:[Math.max,i(Number)],abs:[Math.abs,Number],sign:[Math.sign,Number],sin:[Math.sin,Number],cos:[Math.cos,Number],tan:[Math.tan,Number],floor:[Math.floor,Number],round:[Math.round,Number],ceil:[Math.ceil,Number],pow:[Math.pow,Number],exp:[Math.exp,Number],sqrt:[f(Math.sqrt),Number],log:[f(Math.log),Number],log10:[f(Math.log10),Number],log2:[f(Math.log2),Number],random:[function(t,i){var s,o;return t!==(t|0)||i!==(i|0)?r.create(\"macrocall\",\"(random:) only accepts whole numbers, not \"+n.objectName(t!==(t|0)?t:i)):(i?(s=Math.min(t,i),o=Math.max(t,i)):(s=0,o=t),o+=1,~~(Math.random()*(o-s))+s)},[Number,t.TypeSignature.optional(Number)]],either:[l,i(u)],alert:[function(e){return window.alert(e||\"\")},String],prompt:[function(e,t){return window.prompt(e||\"\",t||\"\")||\"\"},String,String],confirm:[function(e){return window.confirm(e||\"\")},String],openURL:[window.open,String],reload:[window.location.reload.bind(window.location),null],gotoURL:[window.location.assign.bind(window.location),String],pageURL:[function(){return window.location.href},null],\"\":function(){Object.keys(this).forEach(function(e){var n,r;e&&(n=this[e][0],r=this[e][1],t.add(e,function(){return n.apply(0,Array.from(arguments).slice(1))}.bind(this),r))}.bind(this))}}[\"\"]()}),function(e){(function(){if(e.requestAnimationFrame)return;e.webkitRequestAnimationFrame&&(e.requestAnimationFrame=e.webkitRequestAnimationFrame,e.cancelAnimationFrame=e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame);var t=0;e.requestAnimationFrame=function(n){var r=(new Date).getTime(),i=Math.max(0,16-(r-t)),s=e.setTimeout(function(){n(r+i)},i);return t=r+i,s},e.cancelAnimationFrame=function(e){clearTimeout(e)}})(),typeof define==\"function\"&&define(\"requestAnimationFrame\",[],function(){return e.requestAnimationFrame})}(window),define(\"macrolib/commands\",[\"requestAnimationFrame\",\"macros\",\"utils\",\"state\",\"passages\",\"engine\",\"internaltypes/twineerror\",\"utils/operationutils\"],function(e,t,n,r,i,s,o,u){\"use strict\";function c(e){return\"(\"+e+\" \"+s.options.ifid+\") \"}var a=t.TypeSignature.Any,f=t.TypeSignature.optional,l=!!localStorage&&function(){try{return localStorage.setItem(\"test\",\"1\"),localStorage.removeItem(\"test\"),!0}catch(e){return!1}}();t.add(\"display\",function(t,r){return{TwineScript_ObjectName:\"a (display: \"+n.toJSLiteral(r)+\") command\",TwineScript_TypeName:\"a (display:) command\",TwineScript_Print:function(){return i.has(r)?n.unescape(i.get(r).get(\"source\")):o.create(\"macrocall\",\"I can't (display:) the passage '\"+r+\"' because it doesn't exist.\")}}},[String])(\"print\",function h(e,t){if(o.containsError(t))return t;if(t&&typeof t.TwineScript_Print==\"function\")t=t.TwineScript_Print();else if(t instanceof Map){t=Array.from(t.entries());if(o.containsError(t))return t;t=t.reduce(function(t,n){return t+\"<tr><td>\"+h(e,n[0]).TwineScript_Print()+\"</td><td>\"+h(e,n[1]).TwineScript_Print()+\"</td></tr>\"},\"<table class=datamap>\")+\"</table>\"}else if(t instanceof Set)t=Array.from(t.values());else if(Array.isArray(t))t+=\"\";else{if(u.isObject(t))return o.create(\"unimplemented\",\"I don't know how to print this value yet.\");t+=\"\"}return{TwineScript_ObjectName:\"a (print: \"+n.toJSLiteral(t)+\") command\",TwineScript_TypeName:\"a (print:) command\",TwineScript_Print:function(){return t}}},[a])(\"goto\",function(t,r){return{TwineScript_ObjectName:\"a (go-to: \"+n.toJSLiteral(r)+\") command\",TwineScript_TypeName:\"a (go-to:) command\",TwineScript_Print:function(){return i.has(r)?(e(s.goToPassage.bind(s,r,!1)),{earlyExit:1}):o.create(\"macrocall\",\"I can't (go-to:) the passage '\"+r+\"' because it doesn't exist.\")}}},[String])(\"live\",function(t,n){return{TwineScript_ObjectName:\"a (live: \"+n+\") command\",TwineScript_TypeName:\"a (live:) command\",live:!0,delay:n}},[f(Number)])(\"stop\",function(){return{TwineScript_ObjectName:\"a (stop:) command\",TwineScript_TypeName:\"a (stop:) command\",TwineScript_Print:function(){return\"\"}}},[])(\"savegame\",function(t,n,i){i=i||\"\";if(!l)return!1;var s=r.serialise();if(!s)return o.create(\"saving\",\"The game's variables contain a complex data structure; the game can no longer be saved.\");try{return localStorage.setItem(c(\"Saved Game\")+n,s),localStorage.setItem(c(\"Saved Game Filename\")+n,i),!0}catch(u){return!1}},[String,f(String)])(\"loadgame\",function(n,i){return{TwineScript_ObjectName:\"a (load-game:) command\",TwineScript_TypeName:\"a (load-game:) command\",TwineScript_Print:function(){var t=localStorage.getItem(c(\"Saved Game\")+i);return t?(r.deserialise(t),e(s.showPassage.bind(s,r.passage,!1)),{earlyExit:1}):o.create(\"saving\",\"I can't find a save slot named '\"+i+\"'!\")}}},[String])}),define(\"utils/naturalsort\",[],function(){\"use strict\";return function(t){return function n(e,r){var i=/(^-?[0-9]+(\\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,s=/(^[ ]*|[ ]*$)/g,o=/(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[\\/\\-]\\d{1,4}[\\/\\-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/,u=/^0x[0-9a-f]+$/i,a=/^0/,f=function(e){return n.insensitive&&(\"\"+e).toLowerCase()||\"\"+e},l=f(e).replace(s,\"\")||\"\",c=f(r).replace(s,\"\")||\"\",h=l.replace(i,\"\\0$1\\0\").replace(/\\0$/,\"\").replace(/^\\0/,\"\").split(\"\\0\"),p=c.replace(i,\"\\0$1\\0\").replace(/\\0$/,\"\").replace(/^\\0/,\"\").split(\"\\0\"),d=parseInt(l.match(u))||h.length!==1&&l.match(o)&&Date.parse(l),v=parseInt(c.match(u))||d&&c.match(o)&&Date.parse(c)||null,m,g,y,b;t&&window.Intl&&window.Intl.Collator&&(y=window.Intl.Collator(t));if(v){if(d<v)return-1;if(d>v)return 1}for(var w=0,E=Math.max(h.length,p.length);w<E;w++){m=!(h[w]||\"\").match(a)&&parseFloat(h[w])||h[w]||0,g=!(p[w]||\"\").match(a)&&parseFloat(p[w])||p[w]||0;if(isNaN(m)!==isNaN(g))return isNaN(m)?1:-1;if(typeof m!=typeof g)m+=\"\",g+=\"\";else if(typeof m==\"string\"&&y){b=y.compare(m,g);if(b!==0)return b}if(m<g)return-1;if(m>g)return 1}return 0}}}),define(\"macrolib/datastructures\",[\"jquery\",\"utils/naturalsort\",\"macros\",\"utils\",\"utils/operationutils\",\"state\",\"engine\",\"passages\",\"datatypes/assignmentrequest\",\"internaltypes/twineerror\",\"internaltypes/twinenotifier\"],function(e,t,n,r,i,s,o,u,a,f,l){\"use strict\";var c=n.TypeSignature.optional,h=n.TypeSignature.rest,p=n.TypeSignature.zeroOrMore,d=n.TypeSignature.Any;n.add(\"set\",function(t,n){var r,s,u,a=\"\";n=Array.prototype.slice.call(arguments,1);for(r=0;r<n.length;r+=1){s=n[r];if(s.operator===\"into\")return f.create(\"macrocall\",\"Please say 'to' when using the (set:) macro.\");u=s.dest.set(s.src);if(f.isPrototypeOf(u))return u;o.options.debug&&(a+=(a?\"; \":\"\")+i.objectName(s.dest)+\" is now \"+i.objectName(s.src))}return a&&l.create(a)},[h(a)])(\"put\",function(t,n){var r,i,s;n=Array.prototype.slice.call(arguments,1);for(r=0;r<n.length;r+=1){i=n[r];if(i.operator===\"to\")return f.create(\"macrocall\",\"Please say 'into' when using the (put:) macro.\");s=i.dest.set(i.src);if(f.isPrototypeOf(s))return s}return\"\"},[h(a)])(\"move\",function(t,n){var r,i;if(n.src&&n.src.varref){r=n.src.get();if(i=f.containsError(r))return i;n.dest.set(r),n.src.delete()}else n.dest.set(n.src);return\"\"},[h(a)])([\"a\",\"array\"],function(){return Array.from(arguments).slice(1)},p(d))(\"range\",function v(e,t,n){if(t>n)return v(e,n,t);var r=[t];n-=t;while(n-->0)r.push(++t);return r},[Number,Number])(\"subarray\",function(t,n,r,s){return i.subset(n,r,s)},[Array,Number,Number])(\"shuffled\",function(){return Array.from(arguments).slice(1).reduce(function(e,t,n){var r=Math.random()*(n+1)|0;return r===n?e.push(t):(e.push(e[r]),e[r]=t),e},[])},[d,h(d)])(\"sorted\",function(){return Array.from(arguments).slice(1).sort(t(\"en\"))},[String,h(String)])(\"rotated\",function(t,n){var r=Array.from(arguments).slice(2);return n*=-1,n===0?f.create(\"macrocall\",\"I can't rotate these values by 0 positions.\"):Math.abs(n)>=r.length?f.create(\"macrocall\",\"I can't rotate these \"+r.length+\" values by \"+n+\" positions.\"):r.slice(n).concat(r.slice(0,n))},[d,d,h(d)])(\"datanames\",function(n,r){return Array.from(r.keys()).sort(t(\"en\"))},[Map])(\"datavalues\",function(n,r){return Array.from(r.entries()).sort(function(e,n){return[e[0],n[0]].sort(t(\"en\"))[0]===e[0]?-1:1}).map(function(e){return e[1]})},[Map])(\"history\",function(){return s.pastPassageNames()},[])(\"passage\",function(t,n){return u.get(n||s.passage)||f.create(\"macrocall\",\"There's no passage named '\"+n+\"' in this story.\")},[c(String)])(\"savedgames\",function(){function t(e){return\"(\"+e+\" \"+o.options.ifid+\") \"}var n=0,r=new Map,i;do{i=localStorage.key(n),n+=1;var s=t(\"Saved Game\");i&&i.startsWith(s)&&(i=i.slice(s.length),r.set(i,localStorage.getItem(t(\"Saved Game Filename\")+i)))}while(i);return r},[])(\"datamap\",function(){var e,t,n=new Map;return t=Array.from(arguments).slice(1).reduce(function(t,r){var s;if(f.containsError(t))return t;if(e===undefined)e=r;else{if(s=f.containsError(i.isValidDatamapName(n,e)))return s;if(n.has(e))return f.create(\"macrocall\",\"You used the same data name (\"+i.objectName(e)+\") twice in the same (datamap:) call.\");n.set(e,r),e=undefined}return t},!0),f.containsError(t)?t:e!==undefined?f.create(\"macrocall\",\"This datamap has a data name without a value.\"):n},p(d))(\"dataset\",function(){return new Set(Array.from(arguments).slice(1))},p(d))(\"count\",function(e,t,n){switch(i.collectionType(t)){case\"dataset\":case\"datamap\":return+t.has(name);case\"string\":return typeof n!=\"string\"?new TypeError(i.objectName(t)+\" can't contain \"+i.objectName(n)+\" because it isn't a string.\"):t.split(n).length-1;case\"array\":return t.reduce(function(e,t){return e+(t===n)},0)}},[d,d])}),define(\"datatypes/changercommand\",[\"utils\",\"macros\",\"utils/operationutils\"],function(e,t,n){\"use strict\";var r={changer:!0,TwineScript_TypeName:\"a changer command\",TwineScript_Print:function(){return\"[A '\"+this.macroName+\"' command]\"},create:function(t,n,r){return e.assert(n===undefined||Array.isArray(n)),Object.assign(Object.create(this),{macroName:t,params:n,next:r||null,TwineScript_ObjectName:\"a (\"+t+\":) command\"})},\"TwineScript_+\":function(e){var t=this.TwineScript_Clone();while(t.next)t=t.next;return t.next=e,t},TwineScript_is:function(e){if(r.isPrototypeOf(e))return this.macroName===e.macroName&&n.is(this.params,e.params)&&n.is(this.next,e.next)},TwineScript_Clone:function(){return this.create(this.macroName,this.params,this.next)},run:function(e){t.getChangerFn(this.macroName).apply(0,[e].concat(this.params)),this.next&&this.next.run(e)}};return Object.freeze(r)}),define(\"macrolib/stylechangers\",[\"jquery\",\"macros\",\"utils\",\"utils/selectors\",\"datatypes/colour\",\"datatypes/changercommand\",\"internaltypes/twineerror\"],function(e,t,n,r,i,s,o){\"use strict\";var u=t.TypeSignature.either;t.addChanger([\"hook\"],function(t,n){return s.create(\"hook\",[n])},function(e,t){e.attr.push({name:t})},[String])([\"transition\",\"t8n\"],function(t,r){var i=[\"dissolve\",\"shudder\",\"pulse\"];return r=n.insensitiveName(r),i.indexOf(r)===-1?o.create(\"macrocall\",\"'\"+r+'\" is not a valid (transition:)',\"Only the following names are recognised (capitalisation and hyphens ignored): \"+i.join(\", \")):s.create(\"transition\",[r])},function(e,t){return e.transition=t,e},[String])(\"font\",function(t,n){return s.create(\"font\",[n])},function(e,t){return e.styles.push({\"font-family\":t}),e},[String])(\"align\",function(t,n){var r,i,u=n.indexOf(\"><\");return/^(==+>|<=+|=+><=+|<==+>)$/.test(n)?(~u?(i=Math.round(u/(n.length-2)*50),r=Object.assign({\"text-align\":\"center\",\"max-width\":\"50%\"},i===25?{\"margin-left\":\"auto\",\"margin-right\":\"auto\"}:{\"margin-left\":i+\"%\"})):n[0]===\"<\"&&n.slice(-1)===\">\"?r={\"text-align\":\"justify\",\"max-width\":\"50%\"}:n.includes(\">\")&&(r={\"text-align\":\"right\"}),r.display=\"block\",s.create(\"align\",[r])):o.create(\"macrocall\",'The (align:) macro requires an alignment arrow (\"==>\", \"<==\", \"==><=\" etc.) be provided, not \"'+n+'\"')},function(e,t){e.styles.push(t)},[String])([\"text-colour\",\"text-color\",\"color\",\"colour\"],function(t,n){return n&&n.colour&&(n=n.toHexString(n)),s.create(\"text-colour\",[n])},function(e,t){return e.styles.push({color:t}),e},[u(String,i)])(\"text-rotate\",function(t,n){return s.create(\"rotate\",[n])},function(t,n){return t.styles.push({display:\"inline-block\",transform:function(){var t=e(this).css(\"transform\")||\"\";return t===\"none\"&&(t=\"\"),t+\" rotate(\"+n+\"deg)\"}}),t},[Number])(\"background\",function(t,n){return n&&n.colour&&(n=n.toHexString(n)),s.create(\"background\",[n])},function(e,t){var n;return i.isHexString(t)?n={\"background-color\":t}:n={\"background-size\":\"cover\",\"background-image\":\"url(\"+t+\")\"},e.styles.push(n),e},[u(String,i)]).apply(t,function(){var t={color:\"transparent\"},r=Object.assign(Object.create(null),{bold:{\"font-weight\":\"bold\"},italic:{\"font-style\":\"italic\"},underline:{\"text-decoration\":\"underline\"},strike:{\"text-decoration\":\"line-through\"},superscript:{\"vertical-align\":\"super\",\"font-size\":\".83em\"},subscript:{\"vertical-align\":\"sub\",\"font-size\":\".83em\"},blink:{animation:\"fade-in-out 1s steps(1,end) infinite alternate\"},shudder:{animation:\"shudder linear 0.1s 0s infinite\",display:\"inline-block\"},mark:{\"background-color\":\"hsla(60, 100%, 50%, 0.6)\"},condense:{\"letter-spacing\":\"-0.08em\"},expand:{\"letter-spacing\":\"0.1em\"},outline:[{\"text-shadow\":function(){var t=e(this).css(\"color\");return\"-1px -1px 0 \"+t+\", 1px -1px 0 \"+t+\",-1px 1px 0 \"+t+\", 1px 1px 0 \"+t}},{color:function(){return e(this).css(\"background-color\")}}],shadow:{\"text-shadow\":function(){return\"0.08em 0.08em 0.08em \"+e(this).css(\"color\")}},emboss:{\"text-shadow\":function(){return\"0.08em 0.08em 0em \"+e(this).css(\"color\")}},smear:[{\"text-shadow\":function(){var t=e(this).css(\"color\");return\"0em 0em 0.02em \"+t+\",\"+\"-0.2em 0em 0.5em \"+t+\",\"+\" 0.2em 0em 0.5em \"+t}},t],blur:[{\"text-shadow\":function(){return\"0em 0em 0.08em \"+e(this).css(\"color\")}},t],blurrier:[{\"text-shadow\":function(){return\"0em 0em 0.2em \"+e(this).css(\"color\")},\"user-select\":\"none\"},t],mirror:{display:\"inline-block\",transform:\"scaleX(-1)\"},upsidedown:{display:\"inline-block\",transform:\"scaleY(-1)\"},fadeinout:{animation:\"fade-in-out 2s ease-in-out infinite alternate\"},rumble:{animation:\"rumble linear 0.1s 0s infinite\",display:\"inline-block\"}});return[\"text-style\",function(t,i){return i=n.insensitiveName(i),i in r?s.create(\"text-style\",[i]):o.create(\"macrocall\",\"'\"+i+'\" is not a valid (textstyle:)',\"Only the following names are recognised (capitalisation and hyphens ignored): \"+Object.keys(r).join(\", \"))},function(e,t){return n.assert(t in r),e.styles=e.styles.concat(r[t]),e}]}(),[String])(\"css\",function(t,n){return n.trim().endsWith(\";\")||(n+=\";\"),s.create(\"css\",[n])},function(t,n){return t.attr.push({style:function(){return(e(this).attr(\"style\")||\"\")+n}}),t},[String])}),define(\"macrolib/enchantments\",[\"jquery\",\"utils\",\"macros\",\"datatypes/hookset\",\"datatypes/changercommand\"],function(e,t,n,r,i){\"use strict\";function u(n,o){return t.assert(n),e(function(){e(t.storyElement).on(n.event+\".enchantment\",\".\"+n.classList.replace(/ /g,\".\"),function(){var n=e(this),r=n.data(\"enchantmentEvent\");r&&r(n)})}),[function(t,n){return n.selector&&(n=n.selector),i.create(o,[n])},function(r,i){var s,o,u=e();return r.enabled=!1,n.rerender&&(r.target=i,r.append=n.rerender),s={enchantScope:function(){o=r.section.selectHook(i);if(!o)return;u=e(),o.forEach(function(e){var t;e.wrapAll(\"<tw-enchantment class='\"+n.classList+\"'>\"),t=e.parent(),u=u.add(t),e.parent().data(\"enchantmentEvent\",function(){var t;n.once&&(t=r.section.enchantments.indexOf(s),r.section.enchantments.splice(t,1),s.refreshScope()),r.section.renderInto(r.source,null,Object.assign({},r,{enabled:!0}))})})},refreshScope:function(){u.each(function(){e(this).contents().unwrap()})}},r.section.enchantments.push(s),s.enchantScope(),r},s(r,String)]}var s=n.TypeSignature.either,o=[\"replace\",\"append\",\"prepend\"];o.forEach(function(t){n.addChanger(t,function(e,n){return i.create(t,[n])},function(n,r){var i=e(n.target.context).parents().filter(\"tw-collapsed\").length>0;return i||(n.attr=[].concat(n.attr,{collapsing:!1})),n.target=r,n.append=t,n},s(r,String))});var a=[{name:\"click\",enchantDesc:{event:\"click\",once:!0,rerender:\"\",classList:\"link enchantment-link\"}},{name:\"mouseover\",enchantDesc:{event:\"mouseenter\",once:!0,rerender:\"\",classList:\"enchantment-mouseover\"}},{name:\"mouseout\",enchantDesc:{event:\"mouseleave\",once:!0,rerender:\"\",classList:\"enchantment-mouseout\"}}];a.forEach(function(e){n.addChanger.apply(0,[e.name].concat(u(e.enchantDesc,e.name)))}),o.forEach(function(e){a.forEach(function(t){var r=Object.assign({},t.enchantDesc,{rerender:e}),i=t.name+\"-\"+e;n.addChanger.apply(0,[i].concat(u(r,i)))})})}),define(\"macrolib/links\",[\"jquery\",\"macros\",\"utils\",\"utils/selectors\",\"state\",\"passages\",\"engine\",\"datatypes/changercommand\"],function(e,t,n,r,i,s,o,u){\"use strict\";var a=t.TypeSignature.optional;e(document).ready(function(){e(n.storyElement).on(\"click.passage-link\",r.internalLink,function(){var n=e(this),r=n.parent().data(\"clickEvent\");if(r){r(n);return}var i=n.attr(\"passage-name\");i&&o.goToPassage(i,!1)})}),t.addChanger([\"link\"],function(e,t){return u.create(\"link\",[t])},function(e,t){var n=e.source;e.source=\"<tw-link tabindex=0>\"+t+\"</tw-link>\",e.append=\"replace\",e.data={clickEvent:function(){e.source=n,e.section.renderInto(n+\"\",null,e)}}},[String]),t.add([\"link-goto\"],function(t,r,o){return{TwineScript_TypeName:\"a (link-goto: \"+n.toJSLiteral(r)+\", \"+n.toJSLiteral(o)+\") command\",TwineScript_ObjectName:\"a (link-goto:) command\",TwineScript_Print:function(){var u=-1,a;return a=t.evaluateTwineMarkup(n.unescape(o||r)),a instanceof e?a:s.has(a)?(u=i.passageNameVisited(a),\"<tw-link tabindex=0 \"+(u>0?'class=\"visited\" ':\"\")+'passage-name=\"'+n.escape(a)+'\">'+(r||o)+\"</tw-link>\"):'<tw-broken-link passage-name=\"'+n.escape(a)+'\">'+(r||o)+\"</tw-broken-link>\"}}},[String,a(String)])}),define(\"macrolib\",[\"utils\",\"macrolib/values\",\"macrolib/commands\",\"macrolib/datastructures\",\"macrolib/stylechangers\",\"macrolib/enchantments\",\"macrolib/links\"],function(e){\"use strict\";e.log(\"Loaded the built-in macros.\")}),define(\"repl\",[\"utils\",\"markup\",\"twinescript/compiler\",\"twinescript/environ\"],function(e,t,n,r){\"use strict\";window.REPL=function(e){var i=n(t.lex(\"(print:\"+e+\")\"));return console.log(i),r({}).eval(i)},window.LEX=function(e){var n=t.lex(e);return n.length===1?n[0]:n}}),require.config({paths:{jquery:\"../node_modules/jquery/dist/jquery\",almond:\"../node_modules/almond/almond\",\"es6-shim\":\"../node_modules/es6-shim/es6-shim\",requestAnimationFrame:\"../node_modules/requestanimationframe/app/requestAnimationFrame\",jqueryplugins:\"utils/jqueryplugins\",markup:\"./markup/markup\",lexer:\"./markup/lexer\",patterns:\"./markup/patterns\"},deps:[\"jquery\",\"es6-shim\",\"jqueryplugins\"]}),require([\"jquery\",\"renderer\",\"state\",\"engine\",\"passages\",\"utils\",\"utils/selectors\",\"macrolib\",\"repl\"],function($,Renderer,State,Engine,Passages,Utils,Selectors){\"use strict\";function _eval(text){return eval(text+\"\")}function testPlayCleanup(){[\"_\",\"Backbone\",\"Store\",\"Mn\",\"Marionette\",\"saveAs\",\"FastClick\",\"JSZip\",\"SVG\",\"requestAnimFrame\",\"UUID\",\"XDate\",\"CodeMirror\",\"ui\",\"nwui\",\"AppPref\",\"Passage\",\"StoryFormat\",\"Story\",\"AppPrefCollection\",\"PassageCollection\",\"StoryCollection\",\"StoryFormatCollection\",\"WelcomeView\",\"StoryItemView\",\"StoryListView\",\"PassageItemView\",\"StoryEditView\",\"TwineRouter\",\"TransRegion\",\"TwineApp\",\"app\",\"storyFormat\"].forEach(function(e){try{delete window[e]}catch(t){window[e]=undefined}})}var installHandlers=function(){var e=$(document.documentElement),t=\"<tw-debugger><button class='show-invisibles'>⚯ Debug View</button></tw-debugger>\";e.on(\"keydown\",function(e){e.which===13&&e.target.getAttribute(\"tabindex\")===\"0\"&&$(e.target).trigger(\"click\")}),Engine.options.debug&&($(document.body).append(t),$(\".show-invisibles\").click(function(){e.toggleClass(\"debug-mode\").is(\".debug-mode\")})),installHandlers=null};(function(e){window.onerror=function(t,n,r,i,s){var o=s&&s.stack&&\"\\n\"+s.stack.replace(/\\([^\\)]+\\)/g,\"\")+\"\\n\"||\"(\"+t+\")\\n\";alert(\"Sorry to interrupt, but this page's code has got itself in a mess. \"+o+\"(This is probably due to a bug in the Twine game engine.)\"),window.onerror=e,typeof e==\"function\"&&e.apply(window,arguments)}})(window.onerror),$(document).ready(function(){var t=$(Selectors.storyData),n,r,i=$(Selectors.script),s=$(Selectors.stylesheet);if(t.length===0)return;\"TwineApp\"in window&&testPlayCleanup(),n=t.attr(\"options\"),n&&n.split(/\\s/).forEach(function(e){Renderer.options[e]=Engine.options[e]=!0}),r=t.attr(\"startnode\"),Renderer.options.ifid=Engine.options.ifid=t.attr(\"ifid\"),r||(r=[].reduce.call($(Selectors.passageData),function(e,t){var n=t.getAttribute(\"pid\");return n<e?n:e},Infinity)),r=$(Selectors.passageData+\"[pid=\"+r+\"]\").attr(\"name\"),installHandlers(),i.each(function(e){try{_eval($(this).html())}catch(t){alert(\"There is a problem with this story's script (#\"+(e+1)+\"):\\n\\n\"+t.message)}}),s.each(function(e){$(document.head).append('<style data-title=\"Story stylesheet '+(e+1)+'\">'+$(this).html())});if(window.location.hash&&!window.location.hash.includes(\"stories\")&&State.load(window.location.hash)){Engine.showPassage(State.passage);return}Engine.goToPassage(r)})}),define(\"harlowe\",function(){}),require([\"harlowe\"])})();</script>\n\n\n</body>\n</html>\n","setup": function(){(function(){"use strict";function n(){var e,t;for(e=0;e<arguments.length;e++)for(t in arguments[e])this[t]=arguments[e][t]}function r(e,t){var n;e.childAt=e.childAt||{};for(n=t.start;n<t.end;n+=1)e.childAt[n]=t}function i(e,t,n,r){return(!e.canFollow||e.canFollow.indexOf(n&&n.type)>-1)&&(!e.cannotFollow||e.cannotFollow.indexOf(n&&n.type)===-1&&!(e.cannotFollow.indexOf("text")>-1&&r))&&(!e.peek||e.peek===t.slice(0,e.peek.length))}function s(e){var n=e.innerText,r,s,u,a,f,l,c,h=[],p=0,d=p,v=n.length,m=null,g,y;while(p<v){f=n.slice(p),c=(h.length?h[0]:e).innerMode;for(r=0,s=c.length;r<s;r+=1){u=t[c[r]];if(!i(u,f,m,d<p)||!u.pattern.test(f))continue;a=u.pattern.exec(f),g=u.fn(a),y=!1;if(g.matches){for(l=0;l<h.length;l+=1)if(h[l].type in g.matches){y=!0;break}if(l>=h.length&&!g.isFront)continue}d<p&&e.addChild({type:"text",text:n.slice(d,p),innerMode:c}),m=e.addChild(g),p+=m.text.length,d=p,y&&(o(e,m,h[l]),h=h.slice(l+1)),m.isFrontToken()&&h.unshift(m);break}r===s&&(p+=1,m===null&&(m={type:"text"}))}d<p&&e.addChild({type:"text",text:n.slice(d,p),innerMode:(h.length?h[0]:e).innerMode});while(h.length>0)h.shift().demote();return e}function o(e,t,n){var i=e.children.indexOf(t),s=e.children.indexOf(n),o,u;t.children=e.children.splice(s+1,i-(s+1)),t.children.forEach(function(e){r(t,e)}),t.type=t.matches[n.type],t.innerText="";for(o=0,u=t.children.length;o<u;o++)t.innerText+=t.children[o].text;t.start=n.start,t.text=n.text+t.innerText+t.text,Object.keys(n).forEach(function(e){Object.hasOwnProperty.call(t,e)||(t[e]=n[e])}),t.isFront&&(t.isFront=!1),e.children.splice(s,1),r(e,t)}var e,t={};n.prototype={constructor:n,addChild:function(t){var i=this.lastChildEnd(),o;return o=new n({start:i,end:t.text&&i+t.text.length,children:[]},t),o.innerText&&s(o),this.children.push(o),r(this,o),o},lastChild:function(){return this.children?this.children[this.children.length-1]||null:null},lastChildEnd:function(){var t=this.lastChild();return t?t.end:this.start+Math.max(0,this.text.indexOf(this.innerText))},tokenAt:function(t){var n,r;if(t<this.start||t>=this.end)return null;if(this.childAt)return this.childAt[t]&&this.childAt[t].tokenAt(t)||this;if(this.children.length)for(n=0;n<this.children.length;n+=1){r=this.children[n].tokenAt(t);if(r)return r}return this},pathAt:function(t){var n=[],r,i;if(t<this.start||t>=this.end)return[];if(this.childAt)return(this.childAt[t]&&this.childAt[t].pathAt(t)||[]).concat(this);if(this.children.length)for(r=0;r<this.children.length;r+=1){i=this.children[r].pathAt(t);if(i.length){n.concat(i);break}}return n.concat(this)},nearestTokenAt:function(t){return t<this.start||t>=this.end?null:this.children?this.children.reduce(function(e,n){return e||(t>=n.start&&t<n.end?n:null)},null):this},everyLeaf:function u(e){var t;return!this.children||this.children.length===0?!!e(this):this.children.everyLeaf(function(){t=t&&!!u(e)})},isWhitespace:function(){return this.everyLeaf(function(e){return e.type==="whitespace"||!e.text.trim()})},isFrontToken:function(){return this.isFront},isBackToken:function(){return"matches"in this},demote:function(){this.type="text"},error:function(e){this.type="error",this.message=e},toString:function(){var e=this.type+"("+this.start+"→"+this.end+")";return this.children&&this.children.length>0&&(e+="["+this.children+"]"),e}},e={lex:function(t,r){var i=s(new n({type:"root",start:r||0,end:t.length,text:t,innerText:t,children:[],childAt:{},innerMode:e.startMode}));return i},rules:t},typeof module=="object"?module.exports=e:typeof define=="function"&&define.amd?define("lexer",[],function(){return e}):typeof StoryFormat=="function"&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Lexer=e):this.TwineLexer=e}).call(this||(typeof global!="undefined"?global:window)),function(){"use strict";function t(e){return e&&typeof e=="object"?(Object.keys(e).forEach(function(n){e[n]=t(e[n])}),e):(e+"").replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function n(){return"[^"+Array.apply(0,arguments).map(t).join("")+"]*"}function r(e){return function(){return"("+e+Array.apply(0,arguments).join("|")+")"}}var e,i=r("?:"),s=r("?!"),o=r("?="),u="[ \\f\\t\\v - \u2028\u2029 ]*",a=u.replace("*","+"),f="\\b",l="\\\\\\n\\\\?|\\n\\\\",c="\\n(?!\\\\)",h="[\\w\\-À-Þß-ÿŐŰőű]",p="[\\wÀ-Þß-ÿŐŰőű]",d=i("\\n","$"),v="("+i(l,"[^\\n]")+"+)",m="\\*",g=u+"("+m+"+)"+a+v+d,y="(?:0\\.)",b=u+"("+y+"+)"+a+v+d,w=u+"-{3,}"+u+d,E=u+"(#{1,6})"+u+v+d,S=u+"(==+>|<=+|=+><=+|<==+>)"+u+d,x={opener:"\\[\\[(?!\\[)",text:"("+n("]")+")",rightSeparator:i("\\->","\\|"),leftSeparator:"<\\-",closer:"\\]\\]",legacySeparator:"\\|",legacyText:"("+i("[^\\|\\]]","\\]"+s("\\]"))+"+)"},T=h.replace("\\-","")+"*"+h.replace("\\-","").replace("\\w","a-zA-Z")+h.replace("\\-","")+"*",N="\\$("+T+")",C="'s"+a+"("+T+")",k="("+T+")"+a+"of"+f+s("it"+f),L="'s"+a,A="of"+f,O=i("it","time")+f,M="its"+a+"("+T+")",_="its"+a,D="("+T+")"+a+"of"+a+"it"+f,P="of"+f+a+"it"+f,H={opener:"\\(",name:"("+i(h.replace("]","\\/]")+h+"*",N)+"):",closer:"\\)"},B="<<[^>\\s]+\\s*(?:\\\\.|'(?:[^'\\\\]*\\\\.)*[^'\\\\]*'|\"(?:[^\"\\\\]*\\\\.)*[^\"\\\\]*\"|[^'\"\\\\>]|>(?!>))*>>",j={name:"[a-zA-Z][\\w\\-]*",attrs:"(?:\"[^\"]*\"|'[^']*'|[^'\">])*?"},F="\\|("+h.replace("]","_]")+"*)>",I="<("+h.replace("]","_]")+"*)\\|",q="\\b(\\d+(?:\\.\\d+)?(?:[eE][+\\-]?\\d+)?|NaN)"+s("m?s")+"\\b";x.main=x.opener+i(x.text+x.rightSeparator,x.text.replace("*","*?")+x.leftSeparator)+x.text,e={upperLetter:"[A-ZÀ-ÞŐŰ]",lowerLetter:"[a-z0-9_\\-ß-ÿőű]",anyLetter:h,anyLetterStrict:p,whitespace:a,escapedLine:l,br:c,commentFront:"<!--",commentBack:"-->",tag:"<\\/?"+j.name+j.attrs+">",tagPeek:"<",scriptStyleTag:"<("+i("script","style")+")"+j.attrs+">"+"[^]*?"+"<\\/\\1>",scriptStyleTagOpener:"<",url:"("+i("https?","mailto","javascript","ftp","data")+":\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])",bullet:m,hr:w,heading:E,align:S,bulleted:g,numbered:b,delOpener:t("~~"),italicOpener:t("//"),boldOpener:t("''"),supOpener:t("^^"),strongFront:t("**"),strongBack:t("**"),emFront:t("*"),emBack:t("*"),verbatimOpener:"`+",collapsedFront:"{",collapsedBack:"}",hookAppendedFront:"\\[",hookPrependedFront:F+"\\[",hookAnonymousFront:"\\[",hookBack:"\\]"+s(I),hookAppendedBack:"\\]"+I,passageLink:x.main+x.closer,passageLinkPeek:"[[",legacyLink:x.opener+x.legacyText+x.legacySeparator+x.legacyText+x.closer,legacyLinkPeek:"[[",simpleLink:x.opener+x.legacyText+x.closer,simpleLinkPeek:"[[",macroFront:H.opener+o(H.name),macroFrontPeek:"(",macroName:H.name,groupingFront:"\\("+s(H.name),groupingFrontPeek:"(",groupingBack:"\\)",twine1Macro:B,twine1MacroPeek:"<<",property:C,propertyPeek:"'s",belongingProperty:k,possessiveOperator:L,belongingOperator:A,belongingOperatorPeek:"of",itsOperator:_,itsOperatorPeek:"its",belongingItOperator:P,belongingItOperatorPeek:"of",variable:N,variablePeek:"$",hookRef:"\\?("+h+"+)\\b",hookRefPeek:"?",cssTime:"(\\d+\\.?\\d*|\\d*\\.?\\d+)(m?s)"+f,colour:i(i("Red","Orange","Yellow","Lime","Green","Cyan","Aqua","Blue","Navy","Purple","Fuchsia","Magenta","White","Gray","Grey","Black"),"#[\\dA-Fa-f]{3}(?:[\\dA-Fa-f]{3})?"),number:q,"boolean":i("true","false")+f,identifier:O,itsProperty:M,itsPropertyPeek:"its",belongingItProperty:D,escapedStringChar:"\\\\[^\\n]",singleStringOpener:"'",doubleStringOpener:'"',is:"is"+s(" not"," in")+f,isNot:"is not"+f,and:"and"+f,or:"or"+f,not:"not"+f,inequality:i("<(?!=)","<=",">(?!=)",">="),isIn:"is in"+f,contains:"contains"+f,addition:t("+")+s("="),subtraction:t("-")+s("="),multiplication:t("*")+s("="),division:i("/","%")+s("="),comma:",",spread:"\\.\\.\\."+s("\\."),to:i("to"+f,"="),into:"into"+f,augmentedAssign:i("\\+","\\-","\\*","\\/","%")+"="},typeof module=="object"?module.exports=e:typeof define=="function"&&define.amd?define("patterns",[],function(){return e}):typeof StoryFormat=="function"&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Patterns=e):this.Patterns=e}.call(this||(typeof global!="undefined"?global:window)),function(){"use strict";function t(t){function f(e){return e=e||"innerText",function(t){var n=t.reduceRight(function(e,t,n){return e||(n?t:"")},""),r={};return r[e]=n,r}}function l(e,t){var n={};return n[e]=t,function(){return{isFront:!0,matches:n}}}function h(e,t){return Object.keys(t).forEach(function(n){var r=t[n].fn;t[n].fn=function(t){var i=r(t);return i.text||(i.text=t[0]),i.type||(i.type=n),i.innerMode||(i.innerMode=e),i}}),t}var n,r,i,s,o,u=[],a=[],c=Object.bind(0,null);return n=h(u,{hr:{fn:c},bulleted:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},numbered:{fn:function(e){return{depth:e[1].length/2,innerText:e[2]}}},heading:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},align:{fn:function(e){var t,n=e[1],r=n.indexOf("><");return~r?(t=Math.round(r/(n.length-2)*50),t===25&&(t="center")):n[0]==="<"&&n.slice(-1)===">"?t="justify":n.indexOf(">")>-1?t="right":n.indexOf("<")>-1&&(t="left"),{align:t}}}}),Object.keys(n).forEach(function(e){n[e].canFollow=[null,"br","hr","bulleted","numbered","heading","align"],n[e].cannotFollow=["text"]}),r=h(u,{twine1Macro:{fn:function(){return{type:"error",message:"Twine 2 macros use a different syntax to Twine 1 macros."}}},br:{fn:c},emBack:{fn:function(){return{matches:{emFront:"em"}}}},strongBack:{fn:function(){return{matches:{strongFront:"strong"}}}},strongFront:{fn:function(){return{isFront:!0}}},emFront:{fn:function(){return{isFront:!0}}},boldOpener:{fn:l("boldOpener","bold")},italicOpener:{fn:l("italicOpener","italic")},delOpener:{fn:l("delOpener","del")},supOpener:{fn:l("supOpener","sup")},commentFront:{fn:function(){return{isFront:!0}}},commentBack:{fn:function(){return{matches:{commentFront:"comment"}}}},scriptStyleTag:{fn:c},tag:{fn:c},url:{fn:c},passageLink:{fn:function(e){var t=e[1],n=e[2],r=e[3];return{type:"twineLink",innerText:n?r:t,passage:t?r:n}}},simpleLink:{fn:function(e){return{type:"twineLink",innerText:e[1],passage:e[1]}}},hookPrependedFront:{fn:function(e){return{name:e[1],isFront:!0,tagPosition:"prepended"}}},hookAnonymousFront:{fn:function(){return{isFront:!0,demote:function(){this.error("This tagged hook doesn't have a matching ].")}}},canFollow:["macro","variable"]},hookAppendedFront:{fn:function(){return{isFront:!0}},cannotFollow:["macro","variable"]},hookBack:{fn:function(){return{type:"hookAppendedBack",matches:{hookPrependedFront:"hook",hookAnonymousFront:"hook"}}}},hookAppendedBack:{fn:function(e){return{name:e[1],tagPosition:"appended",matches:{hookAppendedFront:"hook"}}}},verbatimOpener:{fn:function(e){var t=e[0].length,n={};return n["verbatim"+t]="verbatim",{type:"verbatim"+t,isFront:!0,matches:n}}},collapsedFront:{fn:function(){return{isFront:!0}}},collapsedBack:{fn:function(){return{matches:{collapsedFront:"collapsed"}}}},escapedLine:{fn:c},legacyLink:{fn:function(e){return{type:"twineLink",innerText:e[1],passage:e[2]}}}}),i=h(a,{macroFront:{fn:function(e){return{isFront:!0,name:e[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:"grouping",macroFront:"macro"}}}},hookRef:{fn:f("name")},variable:{fn:f("name")},whitespace:{fn:c,cannotFollow:"text"}}),s=h(a,Object.assign({macroName:{canFollow:["macroFront"],fn:function(e){return e[2]?{isMethodCall:!0,innerText:e[2]}:{isMethodCall:!1}}},groupingFront:{fn:function(){return{isFront:!0}}},property:{fn:f("name"),canFollow:["variable","hookRef","property","itsProperty","belongingItProperty","macro","grouping","string"]},possessiveOperator:{fn:c},itsProperty:{fn:f("name")},itsOperator:{fn:c},belongingItProperty:{cannotFollow:["text"],fn:f("name")},belongingItOperator:{cannotFollow:["text"],fn:c},belongingProperty:{cannotFollow:["text"],fn:f("name")},belongingOperator:{cannotFollow:["text"],fn:c},escapedStringChar:{fn:function(){return{type:"text"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:"string"}}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:"string"}}}},cssTime:{fn:function(e){return{value:+e[1]*(e[2].toLowerCase()==="s"?1e3:1)}}},colour:{cannotFollow:["text"],fn:function(e){var t,n=e[0].toLowerCase(),r={red:"e61919",orange:"e68019",yellow:"e5e619",lime:"80e619",green:"19e619",cyan:"19e5e6",aqua:"19e5e6",blue:"197fe6",navy:"1919e6",purple:"7f19e6",fuchsia:"e619e5",magenta:"e619e5",white:"fff",black:"000",gray:"888",grey:"888"};return Object.hasOwnProperty.call(r,n)?t="#"+r[n]:t=n,{colour:t}}},number:{fn:function(e){return{value:parseFloat(e[0])}}},addition:{fn:c},subtraction:{fn:c},multiplication:{fn:c},division:{fn:c},inequality:{fn:function(e){return{operator:e[0]}}},augmentedAssign:{fn:function(e){return{operator:e[0][0]}}},identifier:{fn:f("name")}},["boolean","is","to","into","and","or","not","isNot","contains","isIn"].reduce(function(e,t){return e[t]={fn:c,cannotFollow:["text"]},e},{}),["comma","spread","addition","subtraction","multiplication","division"].reduce(function(e,t){return e[t]={fn:c},e},{}))),[].push.apply(u,Object.keys(n).concat(Object.keys(r)).concat(Object.keys(i))),[].push.apply(a,Object.keys(i).concat(Object.keys(s))),o=Object.assign({},n,r,i,s),Object.keys(o).forEach(function(t){var n=e[t];typeof n!="string"?o[t].pattern=n:o[t].pattern=new RegExp("^(?:"+n+")","i"),e[t+"Peek"]&&(o[t].peek=e[t+"Peek"])}),Object.assign(t.rules,o),t.startMode=u,t}function n(n){var r=Object.freeze({lex:t(n).lex,Patterns:e});return r}var e;Object.assign=Object.assign||function(t){var n=1,r,i;for(;n<arguments.length;n++){r=arguments[n];for(i in r)Object.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},typeof module=="object"?(e=require("patterns"),module.exports=n(require("lexer"))):typeof define=="function"&&define.amd?define("markup",["lexer","patterns"],function(t,r){return e=r,n(t)}):typeof StoryFormat=="function"&&this instanceof StoryFormat?(e=this.modules.Patterns,this.modules.Markup=n(this.modules.Lexer),this.lex=this.modules.Markup.lex):(e=this.Patterns,this.TwineMarkup=n(this.TwineLexer))}.call(this||(typeof global!="undefined"?global:window)),function(){"use strict";function r(e){return(e+"").toLowerCase().replace(/-|_/g,"")}function s(e,t){if(!e.update)return;var n=e.from.line,r=t.split("\n").slice(0,e.from.line+1);return r[n]=r[n].slice(0,e.from.ch)+e.text[0],r=r.concat(e.text.slice(1)),e.update({line:0,ch:0},e.to,r),r.join("\n")}var e,t,n,i="text,string,substring,num,number,if,unless,elseif,else,nonzero,first-nonzero,passage,nonempty,first-nonempty,weekday,monthday,currenttime,currentdate,min,max,abs,sign,sin,cos,tan,floor,round,ceil,pow,exp,sqrt,log,log10,log2,random,either,alert,prompt,confirm,openURL,reload,gotoURL,pageURL,hook,transition,t8n,font,align,text-colour,text-color,color,colour,text-rotate,background,text-style,css,replace,append,prepend,click,mouseover,mouseout,click-replace,mouseover-replace,mouseout-replace,click-append,mouseover-append,mouseout-append,click-prepend,mouseover-prepend,mouseout-prepend,set,put,move,a,array,range,subarray,shuffled,sorted,rotated,datanames,datavalues,history,datamap,dataset,count,display,print,goto,live,stop,savegame,savedgames,loadgame,link,link-goto".split(",").map(r);typeof define=="function"&&define.amd?define("markup",[],function(t){e=t.lex}):typeof StoryFormat=="function"&&this instanceof StoryFormat&&(e=this.modules.Markup.lex),window.CodeMirror&&CodeMirror.defineMode("harlowe",function(){var t,o=function(){var r=n.doc;t=e(r.getValue()),r.on("beforeChange",function(e,t){var n=r.getValue();s(t,n)}),r.off("change"),r.on("change",function(){var n=r.getValue();t=e(n)}),r.on("swapDoc",o),o=null};return{startState:function(){return n||(n=CodeMirror.modes.harlowe.cm,n.setOption("placeholder",["Enter the body text of your passage here.","''Bold'', //italics//, ^^superscript^^, ~~strikethrough~~, and <p>HTML tags</p> are available.","To display special symbols without them being transformed, put them between `backticks`.","To link to another passage, write the link text and the passage name like this: [[link text->passage name]]\nor this: [[passage name<-link text]]\nor this: [[link text]].","Macros like (set:) and (display:) are the programming of your passage. If you've (set:) a $variable, you can just enter its name to print it out.","To make a 'hook', put [single square brackets] around text - or leave it empty [] - then put a macro like (if:), a $variable, or a |nametag> outside the front, |like>[so].","Hooks can be used for many things: showing text (if:) something happened, applying a (text-style:), making a place to (append:) text later on, and much more!","Consult the Harlowe documentation for more information."].join("\n\n"))),{pos:0}},blankLine:function(e){e.pos++},token:function(n,s){var u,a,f,l,c={},h,p="";o&&o(),u=t.pathAt(s.pos),a=u[0];if(!a)return s.pos++,n.next(),null;while(a===a.tokenAt(s.pos)&&!n.eol())s.pos++,n.next();n.eol()&&s.pos++;for(h=0;h<u.length;h+=1){l=u[h].type,f="harlowe-"+l,c[f]>1&&(f+="-"+c[f]),c[f]=(c[f]||0)+1;switch(l){case"macroName":i.indexOf(r(u[h].text.slice(0,-1)))===-1&&(f+=" harlowe-error")}p+=f+" "}return p}}}),t=document.querySelector("style#cm-harlowe"),t||(t=document.createElement("style"),t.setAttribute("id","cm-harlowe"),document.head.appendChild(t)),t.innerHTML=function(){function e(e,t,n){return function(r){return"background-color: hsla("+e+","+t+"%,"+n+"%,"+r+");"}}var t=e(40,100,50),n=e(220,100,50),r="color: #a84186;",i=r+"font-style:italic;",s="color: #3333cc;",o="color: firebrick; background-color: hsla(17, 100%, 74%, 0.74);";return{hook:t(.05),"hook-2":t(.1),"hook-3":t(.15),"hook-4":t(.2),"hook-5":t(.25),"hook-6":t(.3),"hook-7":t(.35),"hook-8":t(.4),"^=hook, ^=hook-":"font-weight:bold;",error:o,macro:r,macroName:i,"^=macro ":"font-weight:bold;","bold, strong":"font-weight:bold;","italic, em":"font-style:italic;",verbatim:"background-color: hsla(0,0%,50%,0.1)","^=collapsed":"font-weight:bold; color: hsl(201, 100%, 30%);",collapsed:n(.025),"collapsed.hook":n(.05),"collapsed.hook-2":n(.1),"collapsed.hook-3":n(.15),"collapsed.hook-4":n(.2),"collapsed.hook-5":n(.25),"collapsed.hook-6":n(.3),"collapsed.hook-7":n(.35),"collapsed.hook-8":n(.4),twineLink:s,tag:"color: #4d4d9d;","boolean":"color: #626262;",string:"color: #008282;",number:"color: #A15000;",variable:"color: #005682;",hookRef:"color: #007f54;",heading:"font-weight:bold;",hr:"display:block; background-image: linear-gradient(0deg, transparent, transparent 45%, silver 45%, transparent 55%, transparent);",align:"display:block; color: hsl(14, 99%, 27%); background-color: hsla(14, 99%, 87%, 0.2);",escapedLine:"font-weight:bold; color: hsl(51, 100%, 30%);","identifier, property, belongingProperty, itsProperty, belongingItProperty, belongingItOperator":"color: #0076b2;",toString:function(){return Object.keys(this).reduce(function(e,t){var n;return t==="toString"?e:(n=t.split(", ").map(function r(e){return e.indexOf(".")>-1?e.split(/\./g).map(r).join(""):e.indexOf("^=")===0?"[class^='cm-harlowe-"+e.slice(2)+"']":".cm-harlowe-"+e}),e+n.join(", ")+"{"+this[t]+"}")}.bind(this),"")}}+""}()}.call(this);}});
+window.storyFormat({"name":"Harlowe","version":"1.2.2","author":"Leon Arnott","description":"The default story format for Twine 2.","image":"icon.svg","url":"http://twinery.org/","proofing":false,"source":"<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<title>{{STORY_NAME}}</title>\n<style title=\"Twine CSS\">@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@-webkit-keyframes rumble{50%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}}@keyframes rumble{50%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}}@-webkit-keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@-webkit-keyframes box-flash{0%{background-color:white;color:white}}@keyframes box-flash{0%{background-color:white;color:white}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}20%{-webkit-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}40%{-webkit-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}60%{-webkit-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}80%{-webkit-transform:scale(0.925, 0.925);transform:scale(0.925, 0.925)}to{-webkit-transform:scale(1, 1);transform:scale(1, 1)}}@keyframes pulse{0%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}20%{-webkit-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}40%{-webkit-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}60%{-webkit-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}80%{-webkit-transform:scale(0.925, 0.925);transform:scale(0.925, 0.925)}to{-webkit-transform:scale(1, 1);transform:scale(1, 1)}}@-webkit-keyframes shudder-in{0%, to{-webkit-transform:translateX(0em);transform:translateX(0em)}5%, 25%, 45%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%, 35%, 55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-0.6em);transform:translateX(-0.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-0.2em);transform:translateX(-0.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder-in{0%, to{-webkit-transform:translateX(0em);transform:translateX(0em)}5%, 25%, 45%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%, 35%, 55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-0.6em);transform:translateX(-0.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-0.2em);transform:translateX(-0.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}.debug-mode tw-expression[type=hookref]{background-color:rgba(115,123,140,0.15)}.debug-mode tw-expression[type=hookref]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"?\" attr(name)}.debug-mode tw-expression[type=variable]{background-color:rgba(140,128,115,0.15)}.debug-mode tw-expression[type=variable]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"$\" attr(name)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+0){background-color:rgba(136,153,102,0.15)}.debug-mode tw-expression[type=macro]:nth-of-type(2n+1){background-color:rgba(102,153,102,0.15)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+2){background-color:rgba(102,153,136,0.15)}.debug-mode tw-expression[type=macro][name=\"display\"]{background-color:rgba(0,170,255,0.1) !important}.debug-mode tw-expression[type=macro][name=\"if\"],.debug-mode tw-expression[type=macro][name=\"if\"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name=\"unless\"],.debug-mode tw-expression[type=macro][name=\"unless\"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name=\"elseif\"],.debug-mode tw-expression[type=macro][name=\"elseif\"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name=\"else\"],.debug-mode tw-expression[type=macro][name=\"else\"]+tw-hook:not([name]){background-color:rgba(0,255,0,0.1) !important}.debug-mode tw-expression[type=macro].false{background-color:rgba(255,0,0,0.2) !important}.debug-mode tw-expression[type=macro].false+tw-hook:not([name]){display:none}.debug-mode tw-expression[type=macro][name=\"a\"],.debug-mode tw-expression[type=macro][name=\"array\"],.debug-mode tw-expression[type=macro][name=\"datamap\"],.debug-mode tw-expression[type=macro][name=\"dataset\"],.debug-mode tw-expression[type=macro][name=\"colour\"],.debug-mode tw-expression[type=macro][name=\"color\"],.debug-mode tw-expression[type=macro][name=\"num\"],.debug-mode tw-expression[type=macro][name=\"number\"],.debug-mode tw-expression[type=macro][name=\"text\"],.debug-mode tw-expression[type=macro][name=\"print\"]{background-color:rgba(255,255,0,0.2) !important}.debug-mode tw-expression[type=macro][name=\"put\"],.debug-mode tw-expression[type=macro][name=\"set\"]{background-color:rgba(255,128,0,0.2) !important}.debug-mode tw-expression[type=macro][name=\"script\"]{background-color:rgba(255,191,0,0.2) !important}.debug-mode tw-expression[type=macro][name=\"style\"]{background-color:rgba(185,198,198,0.2) !important}.debug-mode tw-expression[type=macro][name^=\"link\"],.debug-mode tw-expression[type=macro][name^=\"click\"],.debug-mode tw-expression[type=macro][name^=\"mouseover\"],.debug-mode tw-expression[type=macro][name^=\"mouseout\"]{background-color:rgba(128,223,32,0.2) !important}.debug-mode tw-expression[type=macro][name^=\"replace\"],.debug-mode tw-expression[type=macro][name^=\"prepend\"],.debug-mode tw-expression[type=macro][name^=\"append\"],.debug-mode tw-expression[type=macro][name^=\"remove\"]{background-color:rgba(223,96,32,0.2) !important}.debug-mode tw-expression[type=macro][name=\"live\"]{background-color:rgba(32,96,223,0.2) !important}.debug-mode tw-expression[type=macro]::before{content:\"(\" attr(name) \":)\";padding:0 0.5rem;font-size:1rem;vertical-align:middle;line-height:normal;background-color:inherit;border:1px solid rgba(255,255,255,0.5)}.debug-mode tw-hook{background-color:rgba(0,85,255,0.1) !important}.debug-mode tw-hook::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"[\"}.debug-mode tw-hook::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"]\"}.debug-mode tw-hook[name]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"]<\" attr(name) \"|\"}.debug-mode tw-pseudo-hook{background-color:rgba(255,170,0,0.1) !important}.debug-mode tw-collapsed::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"{\"}.debug-mode tw-collapsed::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"}\"}.debug-mode tw-verbatim::before,.debug-mode tw-verbatim::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:\"`\"}.debug-mode tw-align[style*=\"text-align: center\"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 50%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*=\"text-align: left\"]{background:linear-gradient(to right, rgba(255,204,189,0.25) 0%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*=\"text-align: right\"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 100%)}.debug-mode p{background-color:rgba(255,213,0,0.1)}.debug-mode tw-enchantment{animation:enchantment 0.5s infinite;-webkit-animation:enchantment 0.5s infinite;border:1px solid}.debug-mode tw-link::after,.debug-mode tw-broken-link::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(passage-name)}.debug-mode tw-include{background-color:rgba(204,128,51,0.1)}.debug-mode tw-include::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(type) ' \"' attr(title) '\"'}@keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}@-webkit-keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}tw-debugger{position:fixed;bottom:0;right:0;z-index:999999;min-width:10em;min-height:1em;padding:1em;font-size:1.5em;border-left:solid #000 2px;border-top:solid #000 2px;border-top-left-radius:0.5em;background:#fff;transition:opacity 0.2s;-webkit-transition:opacity 0.2s;opacity:0.8}@media screen and (max-width: 1280px){tw-debugger{font-size:1.25em}}@media screen and (max-width: 960px){tw-debugger{font-size:1em}}@media screen and (max-width: 640px){tw-debugger{font-size:0.8em}}tw-debugger:hover{opacity:1}.show-invisibles{border-radius:3px;border:solid #999 1px;background-color:#fff;font-size:inherit}.debug-mode .show-invisibles{background-color:#eee;box-shadow:inset #ddd 3px 5px 0.5em}tw-link,.link,tw-icon{cursor:pointer}tw-link,.enchantment-link{color:#4169E1;font-weight:bold;text-decoration:none;transition:color 0.2s ease-in-out}tw-link:hover,.enchantment-link:hover{color:DeepSkyBlue}tw-link:active,.enchantment-link:active{color:#DD4B39}.visited{color:#6941e1}.visited:hover{color:#E3E}tw-broken-link{color:#993333;border-bottom:2px solid #993333;cursor:not-allowed}.enchantment-mouseover{border-bottom:1px dashed #666}.enchantment-mouseout{border:rgba(64,149,191,0.25) 1px solid}.enchantment-mouseout:hover{background-color:rgba(64,149,191,0.25);border:transparent 1px solid;border-radius:0.2em}html{font:100% Georgia, serif;margin:0;background-color:transparent;color:#000;height:100%;overflow-x:hidden;box-sizing:border-box}*,:before,:after{position:relative;box-sizing:inherit}body{margin:0;background-color:transparent}tw-storydata{display:none}tw-story{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:60%;font-size:1.5em;line-height:1.5em;margin:5% auto}@media screen and (max-width: 1024px){tw-story{font-size:1.2em}}@media screen and (max-width: 896px){tw-story{font-size:1.05em}}@media screen and (max-width: 768px){tw-story{font-size:.9em}}tw-passage{display:block}tw-sidebar{left:-5em;width:3em;position:absolute;text-align:center;display:block}tw-icon{display:block;margin:0.5em 0;opacity:0.1;font-size:2.75em}tw-icon:hover{opacity:0.3}tw-error{display:inline-block;border-radius:0.2em;padding:0.2em;font-size:1rem;cursor:help}tw-error.error{background-color:rgba(223,58,190,0.4);color:black}tw-error.warning{background-color:rgba(223,140,58,0.4);color:black;display:none}.debug-mode tw-error.warning{display:inline}tw-error-explanation{display:block;font-size:0.8rem;line-height:1rem}tw-error-explanation-button{cursor:pointer;line-height:0em;border-radius:1px;border:1px solid black;font-size:0.8rem;margin:0 0.4rem;opacity:0.5}tw-error-explanation-button .folddown-arrowhead{display:inline-block}tw-notifier{border-radius:0.2em;padding:0.2em;font-size:1rem;background-color:rgba(223,182,58,0.4);display:none}.debug-mode tw-notifier{display:inline}tw-notifier::before{content:attr(message)}tw-colour{border:1px solid black;display:inline-block;width:1em;height:1em}h1{font-size:3em}h2{font-size:2.25em}h3{font-size:1.75em}h1,h2,h3,h4,h5,h6{line-height:1em;margin:0.6em 0}pre{font-size:1rem}small{font-size:70%}big{font-size:120%}mark{color:rgba(0,0,0,0.6);background-color:#ff9}ins{color:rgba(0,0,0,0.6);background-color:rgba(255,242,204,0.5);border-radius:0.5em;box-shadow:0em 0em 0.2em #ffe699;text-decoration:none}del{background-color:#000;text-decoration:none}center{text-align:center;margin:0 auto;width:60%}blink{text-decoration:none;animation:fade-in-out 1s steps(1, end) infinite alternate;-webkit-animation:fade-in-out 1s steps(1, end) infinite alternate}tw-align{display:block}tw-outline{color:white;text-shadow:-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000}tw-shadow{text-shadow:0.08em 0.08em 0.08em #000}tw-emboss{text-shadow:0.08em 0.08em 0em #000;color:white}tw-condense{letter-spacing:-0.08em}tw-expand{letter-spacing:0.1em}tw-blur{color:transparent;text-shadow:0em 0em 0.08em #000}tw-blurrier{color:transparent;text-shadow:0em 0em 0.2em #000}tw-blurrier::selection{background-color:transparent;color:transparent}tw-blurrier::-moz-selection{background-color:transparent;color:transparent}tw-smear{color:transparent;text-shadow:0em 0em 0.02em rgba(0,0,0,0.75),-0.2em 0em 0.5em rgba(0,0,0,0.5),0.2em 0em 0.5em rgba(0,0,0,0.5)}tw-mirror{display:inline-block;transform:scaleX(-1);-webkit-transform:scaleX(-1)}tw-upside-down{display:inline-block;transform:scaleY(-1);-webkit-transform:scaleY(-1)}tw-fade-in-out{text-decoration:none;animation:fade-in-out 2s ease-in-out infinite alternate;-webkit-animation:fade-in-out 2s ease-in-out infinite alternate}tw-rumble{-webkit-animation:rumble linear 0.1s 0s infinite;animation:rumble linear 0.1s 0s infinite;display:inline-block}tw-shudder{-webkit-animation:shudder linear 0.1s 0s infinite;animation:shudder linear 0.1s 0s infinite;display:inline-block}tw-shudder-in{animation:shudder-in 1s ease-out;-webkit-animation:shudder-in 1s ease-out}.transition-in{-webkit-animation:appear 0ms step-start;animation:appear 0ms step-start}.transition-out{-webkit-animation:appear 0ms step-end;animation:appear 0ms step-end}[data-t8n^=fade-in].transition-in,.transition-in[data-t8n^=dissolve]{-webkit-animation:appear 0.8s;animation:appear 0.8s}[data-t8n^=dissolve].transition-out{-webkit-animation:appear 0.8s reverse;animation:appear 0.8s reverse}[data-t8n^=shudder-in].transition-in,.transition-in[data-t8n^=shudder]{display:inline-block;-webkit-animation:shudder-in 0.8s;animation:shudder-in 0.8s}[data-t8n^=shudder-out].transition-out,.transition-out[data-t8n^=shudder]{display:inline-block;-webkit-animation:shudder-out 0.8s;animation:shudder-out 0.8s}[data-t8n^=boxflash].transition-in{-webkit-animation:box-flash 0.8s;animation:box-flash 0.8s}[data-t8n^=pulse].transition-in{-webkit-animation:pulse 0.8s;animation:pulse 0.8s}[data-t8n^=pulse].transition-out{-webkit-animation:pulse 0.8s reverse;animation:pulse 0.8s reverse}[data-t8n$=fast]{animation-duration:0.4s;-webkit-animation-duration:0.4s}[data-t8n$=slow]{animation-duration:1.2s;-webkit-animation-duration:1.2s}\n</style>\n</head>\n\n<body>\n\n<tw-story></tw-story>\n\n{{STORY_DATA}}\n\n<script title=\"Twine engine code\" data-main=\"harlowe\">\"use strict\";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i[\"return\"]&&_i[\"return\"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return sliceIterator(arr,i);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&\"function\"==typeof Symbol&&obj.constructor===Symbol?\"symbol\":typeof obj};!function(){/**\n * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.\n * Available via the MIT or new BSD license.\n * see: http://github.com/jrburke/almond for details\n */\nvar requirejs,require,define;!function(undef){function hasProp(obj,prop){return hasOwn.call(obj,prop)}function normalize(name,baseName){var nameParts,nameSegment,mapValue,foundMap,lastIndex,foundI,foundStarMap,starI,i,j,part,baseParts=baseName&&baseName.split(\"/\"),map=config.map,starMap=map&&map[\"*\"]||{};if(name&&\".\"===name.charAt(0))if(baseName){for(name=name.split(\"/\"),lastIndex=name.length-1,config.nodeIdCompat&&jsSuffixRegExp.test(name[lastIndex])&&(name[lastIndex]=name[lastIndex].replace(jsSuffixRegExp,\"\")),name=baseParts.slice(0,baseParts.length-1).concat(name),i=0;i<name.length;i+=1)if(part=name[i],\".\"===part)name.splice(i,1),i-=1;else if(\"..\"===part){if(1===i&&(\"..\"===name[2]||\"..\"===name[0]))break;i>0&&(name.splice(i-1,2),i-=2)}name=name.join(\"/\")}else 0===name.indexOf(\"./\")&&(name=name.substring(2));if((baseParts||starMap)&&map){for(nameParts=name.split(\"/\"),i=nameParts.length;i>0;i-=1){if(nameSegment=nameParts.slice(0,i).join(\"/\"),baseParts)for(j=baseParts.length;j>0;j-=1)if(mapValue=map[baseParts.slice(0,j).join(\"/\")],mapValue&&(mapValue=mapValue[nameSegment])){foundMap=mapValue,foundI=i;break}if(foundMap)break;!foundStarMap&&starMap&&starMap[nameSegment]&&(foundStarMap=starMap[nameSegment],starI=i)}!foundMap&&foundStarMap&&(foundMap=foundStarMap,foundI=starI),foundMap&&(nameParts.splice(0,foundI,foundMap),name=nameParts.join(\"/\"))}return name}function makeRequire(relName,forceSync){return function(){var args=aps.call(arguments,0);return\"string\"!=typeof args[0]&&1===args.length&&args.push(null),_req.apply(undef,args.concat([relName,forceSync]))}}function makeNormalize(relName){return function(name){return normalize(name,relName)}}function makeLoad(depName){return function(value){defined[depName]=value}}function callDep(name){if(hasProp(waiting,name)){var args=waiting[name];delete waiting[name],defining[name]=!0,main.apply(undef,args)}if(!hasProp(defined,name)&&!hasProp(defining,name))throw new Error(\"No \"+name);return defined[name]}function splitPrefix(name){var prefix,index=name?name.indexOf(\"!\"):-1;return index>-1&&(prefix=name.substring(0,index),name=name.substring(index+1,name.length)),[prefix,name]}function makeConfig(name){return function(){return config&&config.config&&config.config[name]||{}}}var main,_req,makeMap,handlers,defined={},waiting={},config={},defining={},hasOwn=Object.prototype.hasOwnProperty,aps=[].slice,jsSuffixRegExp=/\\.js$/;makeMap=function(name,relName){var plugin,parts=splitPrefix(name),prefix=parts[0];return name=parts[1],prefix&&(prefix=normalize(prefix,relName),plugin=callDep(prefix)),prefix?name=plugin&&plugin.normalize?plugin.normalize(name,makeNormalize(relName)):normalize(name,relName):(name=normalize(name,relName),parts=splitPrefix(name),prefix=parts[0],name=parts[1],prefix&&(plugin=callDep(prefix))),{f:prefix?prefix+\"!\"+name:name,n:name,pr:prefix,p:plugin}},handlers={require:function(name){return makeRequire(name)},exports:function(name){var e=defined[name];return\"undefined\"!=typeof e?e:defined[name]={}},module:function(name){return{id:name,uri:\"\",exports:defined[name],config:makeConfig(name)}}},main=function(name,deps,callback,relName){var cjsModule,depName,ret,map,i,usingExports,args=[],callbackType=\"undefined\"==typeof callback?\"undefined\":_typeof(callback);if(relName=relName||name,\"undefined\"===callbackType||\"function\"===callbackType){for(deps=!deps.length&&callback.length?[\"require\",\"exports\",\"module\"]:deps,i=0;i<deps.length;i+=1)if(map=makeMap(deps[i],relName),depName=map.f,\"require\"===depName)args[i]=handlers.require(name);else if(\"exports\"===depName)args[i]=handlers.exports(name),usingExports=!0;else if(\"module\"===depName)cjsModule=args[i]=handlers.module(name);else if(hasProp(defined,depName)||hasProp(waiting,depName)||hasProp(defining,depName))args[i]=callDep(depName);else{if(!map.p)throw new Error(name+\" missing \"+depName);map.p.load(map.n,makeRequire(relName,!0),makeLoad(depName),{}),args[i]=defined[depName]}ret=callback?callback.apply(defined[name],args):void 0,name&&(cjsModule&&cjsModule.exports!==undef&&cjsModule.exports!==defined[name]?defined[name]=cjsModule.exports:ret===undef&&usingExports||(defined[name]=ret))}else name&&(defined[name]=callback)},requirejs=require=_req=function(deps,callback,relName,forceSync,alt){if(\"string\"==typeof deps)return handlers[deps]?handlers[deps](callback):callDep(makeMap(deps,callback).f);if(!deps.splice){if(config=deps,config.deps&&_req(config.deps,config.callback),!callback)return;callback.splice?(deps=callback,callback=relName,relName=null):deps=undef}return callback=callback||function(){},\"function\"==typeof relName&&(relName=forceSync,forceSync=alt),forceSync?main(undef,deps,callback,relName):setTimeout(function(){main(undef,deps,callback,relName)},4),_req},_req.config=function(cfg){return _req(cfg)},requirejs._defined=defined,define=function(name,deps,callback){if(\"string\"!=typeof name)throw new Error(\"See almond README: incorrect module build, no module name\");deps.splice||(callback=deps,deps=[]),hasProp(defined,name)||hasProp(waiting,name)||(waiting[name]=[name,deps,callback])},define.amd={jQuery:!0}}(),define(\"almond\",function(){}),function(global,factory){\"object\"===(\"undefined\"==typeof module?\"undefined\":_typeof(module))&&\"object\"===_typeof(module.exports)?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error(\"jQuery requires a window with a document\");return factory(w)}:factory(global)}(\"undefined\"!=typeof window?window:this,function(window,noGlobal){function isArrayLike(obj){var length=!!obj&&\"length\"in obj&&obj.length,type=jQuery.type(obj);return\"function\"===type||jQuery.isWindow(obj)?!1:\"array\"===type||0===length||\"number\"==typeof length&&length>0&&length-1 in obj}function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier))return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not});if(qualifier.nodeType)return jQuery.grep(elements,function(elem){return elem===qualifier!==not});if(\"string\"==typeof qualifier){if(risSimple.test(qualifier))return jQuery.filter(qualifier,elements,not);qualifier=jQuery.filter(qualifier,elements)}return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not})}function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}function createOptions(options){var object={};return jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=!0}),object}function completed(){document.removeEventListener(\"DOMContentLoaded\",completed),window.removeEventListener(\"load\",completed),jQuery.ready()}function Data(){this.expando=jQuery.expando+Data.uid++}function dataAttr(elem,key,data){var name;if(void 0===data&&1===elem.nodeType)if(name=\"data-\"+key.replace(rmultiDash,\"-$&\").toLowerCase(),data=elem.getAttribute(name),\"string\"==typeof data){try{data=\"true\"===data?!0:\"false\"===data?!1:\"null\"===data?null:+data+\"\"===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){}dataUser.set(elem,key,data)}else data=void 0;return data}function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,\"\")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?\"\":\"px\"),initialInUnit=(jQuery.cssNumber[prop]||\"px\"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3],valueParts=valueParts||[],initialInUnit=+initial||1;do scale=scale||\".5\",initialInUnit/=scale,jQuery.style(elem,prop,initialInUnit+unit);while(scale!==(scale=currentValue()/initial)&&1!==scale&&--maxIterations)}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}function getAll(context,tag){var ret=\"undefined\"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag||\"*\"):\"undefined\"!=typeof context.querySelectorAll?context.querySelectorAll(tag||\"*\"):[];return void 0===tag||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;l>i;i++)dataPriv.set(elems[i],\"globalEval\",!refElements||dataPriv.get(refElements[i],\"globalEval\"))}function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;l>i;i++)if(elem=elems[i],elem||0===elem)if(\"object\"===jQuery.type(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(tmp=tmp||fragment.appendChild(context.createElement(\"div\")),tag=(rtagName.exec(elem)||[\"\",\"\"])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2],j=wrap[0];j--;)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes),tmp=fragment.firstChild,tmp.textContent=\"\"}else nodes.push(context.createTextNode(elem));for(fragment.textContent=\"\",i=0;elem=nodes[i++];)if(selection&&jQuery.inArray(elem,selection)>-1)ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(fragment.appendChild(elem),\"script\"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||\"\")&&scripts.push(elem);return fragment}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function _on(elem,types,selector,data,fn,one){var origFn,type;if(\"object\"===(\"undefined\"==typeof types?\"undefined\":_typeof(types))){\"string\"!=typeof selector&&(data=data||selector,selector=void 0);for(type in types)_on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&(\"string\"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),fn===!1)fn=returnFalse;else if(!fn)return this;return 1===one&&(origFn=fn,fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)},fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)),elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}function manipulationTarget(elem,content){return jQuery.nodeName(elem,\"table\")&&jQuery.nodeName(11!==content.nodeType?content:content.firstChild,\"tr\")?elem.getElementsByTagName(\"tbody\")[0]||elem:elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute(\"type\"))+\"/\"+elem.type,elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);return match?elem.type=match[1]:elem.removeAttribute(\"type\"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events)){delete pdataCur.handle,pdataCur.events={};for(type in events)for(i=0,l=events[type].length;l>i;i++)jQuery.event.add(dest,type,events[type][i])}dataUser.hasData(src)&&(udataOld=dataUser.access(src),udataCur=jQuery.extend({},udataOld),dataUser.set(dest,udataCur))}}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();\"input\"===nodeName&&rcheckableType.test(src.type)?dest.checked=src.checked:(\"input\"===nodeName||\"textarea\"===nodeName)&&(dest.defaultValue=src.defaultValue)}function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&\"string\"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);isFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored),first=fragment.firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(scripts=jQuery.map(getAll(fragment,\"script\"),disableScript),hasScripts=scripts.length;l>i;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,\"script\"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;hasScripts>i;i++)node=scripts[i],rscriptType.test(node.type||\"\")&&!dataPriv.access(node,\"globalEval\")&&jQuery.contains(doc,node)&&(node.src?jQuery._evalUrl&&jQuery._evalUrl(node.src):jQuery.globalEval(node.textContent.replace(rcleanScript,\"\")))}return collection}function _remove(elem,selector,keepData){for(var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=nodes[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(keepData&&jQuery.contains(node.ownerDocument,node)&&setGlobalEval(getAll(node,\"script\")),node.parentNode.removeChild(node));return elem}function actualDisplay(name,doc){var elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=jQuery.css(elem[0],\"display\");return elem.detach(),display}function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];return display||(display=actualDisplay(nodeName,doc),\"none\"!==display&&display||(iframe=(iframe||jQuery(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(doc.documentElement),doc=iframe[0].contentDocument,doc.write(),doc.close(),display=actualDisplay(nodeName,doc),iframe.detach()),elemdisplay[nodeName]=display),display}function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return computed=computed||getStyles(elem),computed&&(ret=computed.getPropertyValue(name)||computed[name],\"\"!==ret||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)&&(width=style.width,minWidth=style.minWidth,maxWidth=style.maxWidth,style.minWidth=style.maxWidth=style.width=ret,ret=computed.width,style.width=width,style.minWidth=minWidth,style.maxWidth=maxWidth)),void 0!==ret?ret+\"\":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){return conditionFn()?void delete this.get:(this.get=hookFn).apply(this,arguments)}}}function vendorPropName(name){if(name in emptyStyle)return name;for(var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if(name=cssPrefixes[i]+capName,name in emptyStyle)return name}function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||\"px\"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){for(var i=extra===(isBorderBox?\"border\":\"content\")?4:\"width\"===name?1:0,val=0;4>i;i+=2)\"margin\"===extra&&(val+=jQuery.css(elem,extra+cssExpand[i],!0,styles)),isBorderBox?(\"content\"===extra&&(val-=jQuery.css(elem,\"padding\"+cssExpand[i],!0,styles)),\"margin\"!==extra&&(val-=jQuery.css(elem,\"border\"+cssExpand[i]+\"Width\",!0,styles))):(val+=jQuery.css(elem,\"padding\"+cssExpand[i],!0,styles),\"padding\"!==extra&&(val+=jQuery.css(elem,\"border\"+cssExpand[i]+\"Width\",!0,styles)));return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=!0,val=\"width\"===name?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=\"border-box\"===jQuery.css(elem,\"boxSizing\",!1,styles);if(document.msFullscreenElement&&window.top!==window&&elem.getClientRects().length&&(val=Math.round(100*elem.getBoundingClientRect()[name])),0>=val||null==val){if(val=curCSS(elem,name,styles),(0>val||null==val)&&(val=elem.style[name]),rnumnonpx.test(val))return val;valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]),val=parseFloat(val)||0}return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?\"border\":\"content\"),valueIsBorderBox,styles)+\"px\"}function showHide(elements,show){for(var display,elem,hidden,values=[],index=0,length=elements.length;length>index;index++)elem=elements[index],elem.style&&(values[index]=dataPriv.get(elem,\"olddisplay\"),display=elem.style.display,show?(values[index]||\"none\"!==display||(elem.style.display=\"\"),\"\"===elem.style.display&&isHidden(elem)&&(values[index]=dataPriv.access(elem,\"olddisplay\",defaultDisplay(elem.nodeName)))):(hidden=isHidden(elem),\"none\"===display&&hidden||dataPriv.set(elem,\"olddisplay\",hidden?display:jQuery.css(elem,\"display\"))));for(index=0;length>index;index++)elem=elements[index],elem.style&&(show&&\"none\"!==elem.style.display&&\"\"!==elem.style.display||(elem.style.display=show?values[index]||\"\":\"none\"));return elements}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}function createFxNow(){return window.setTimeout(function(){fxNow=void 0}),fxNow=jQuery.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};for(includeWidth=includeWidth?1:0;4>i;i+=2-includeWidth)which=cssExpand[i],attrs[\"margin\"+which]=attrs[\"padding\"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners[\"*\"]),index=0,length=collection.length;length>index;index++)if(tween=collection[index].call(animation,prop,value))return tween}function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,checkDisplay,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=dataPriv.get(elem,\"fxshow\");opts.queue||(hooks=jQuery._queueHooks(elem,\"fx\"),null==hooks.unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,\"fx\").length||hooks.empty.fire()})})),1===elem.nodeType&&(\"height\"in props||\"width\"in props)&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],display=jQuery.css(elem,\"display\"),checkDisplay=\"none\"===display?dataPriv.get(elem,\"olddisplay\")||defaultDisplay(elem.nodeName):display,\"inline\"===checkDisplay&&\"none\"===jQuery.css(elem,\"float\")&&(style.display=\"inline-block\")),opts.overflow&&(style.overflow=\"hidden\",anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]}));for(prop in props)if(value=props[prop],rfxtypes.exec(value)){if(delete props[prop],toggle=toggle||\"toggle\"===value,value===(hidden?\"hide\":\"show\")){if(\"show\"!==value||!dataShow||void 0===dataShow[prop])continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}else display=void 0;if(jQuery.isEmptyObject(orig))\"inline\"===(\"none\"===display?defaultDisplay(elem.nodeName):display)&&(style.display=display);else{dataShow?\"hidden\"in dataShow&&(hidden=dataShow.hidden):dataShow=dataPriv.access(elem,\"fxshow\",{}),toggle&&(dataShow.hidden=!hidden),hidden?jQuery(elem).show():anim.done(function(){jQuery(elem).hide()}),anim.done(function(){var prop;dataPriv.remove(elem,\"fxshow\");for(prop in orig)jQuery.style(elem,prop,orig[prop])});for(prop in orig)tween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(dataShow[prop]=tween.start,hidden&&(tween.end=tween.start,tween.start=\"width\"===prop||\"height\"===prop?1:0))}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props)if(name=jQuery.camelCase(index),easing=specialEasing[name],value=props[index],jQuery.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),hooks=jQuery.cssHooks[name],hooks&&\"expand\"in hooks){value=hooks.expand(value),delete props[name];for(index in value)index in props||(props[index]=value[index],specialEasing[index]=easing)}else specialEasing[name]=easing}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;length>index;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),1>percent&&length?remaining:(deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;length>index;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(propFilter(props,animation.opts.specialEasing);length>index;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return jQuery.isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result)),result;return jQuery.map(props,createTween,animation),jQuery.isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)}function getClass(elem){return elem.getAttribute&&elem.getAttribute(\"class\")||\"\"}function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){\"string\"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression=\"*\");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func))for(;dataType=dataTypes[i++];)\"+\"===dataType[0]?(dataType=dataType.slice(1)||\"*\",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return\"string\"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}var inspected={},seekingTransport=structure===transports;return inspect(options.dataTypes[0])||!inspected[\"*\"]&&inspect(\"*\")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)void 0!==src[key]&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}function ajaxHandleResponses(s,jqXHR,responses){for(var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;\"*\"===dataTypes[0];)dataTypes.shift(),void 0===ct&&(ct=s.mimeType||jqXHR.getResponseHeader(\"Content-Type\"));if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}if(dataTypes[0]in responses)finalDataType=dataTypes[0];else{for(type in responses){if(!dataTypes[0]||s.converters[type+\" \"+dataTypes[0]]){finalDataType=type;break}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}return finalDataType?(finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]):void 0}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if(\"*\"===current)current=prev;else if(\"*\"!==prev&&prev!==current){if(conv=converters[prev+\" \"+current]||converters[\"* \"+current],!conv)for(conv2 in converters)if(tmp=conv2.split(\" \"),tmp[1]===current&&(conv=converters[prev+\" \"+tmp[0]]||converters[\"* \"+tmp[0]])){conv===!0?conv=converters[conv2]:converters[conv2]!==!0&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(conv!==!0)if(conv&&s[\"throws\"])response=conv(response);else try{response=conv(response)}catch(e){return{state:\"parsererror\",error:conv?e:\"No conversion from \"+prev+\" to \"+current}}}return{state:\"success\",data:response}}function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+\"[\"+(\"object\"===(\"undefined\"==typeof v?\"undefined\":_typeof(v))&&null!=v?i:\"\")+\"]\",v,traditional,add)});else if(traditional||\"object\"!==jQuery.type(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+\"[\"+name+\"]\",obj[name],traditional,add)}function getWindow(elem){return jQuery.isWindow(elem)?elem:9===elem.nodeType&&elem.defaultView}var arr=[],document=window.document,_slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,support={},version=\"2.2.0\",jQuery=function jQuery(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:\"\",length:0,toArray:function(){return _slice.call(this)},get:function(num){return null!=num?0>num?this[num+this.length]:this[num]:_slice.call(this)},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret.context=this.context,ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(_slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(0>i?len:0);return this.pushStack(j>=0&&len>j?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:arr.sort,splice:arr.splice},jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=!1;for(\"boolean\"==typeof target&&(deep=target,target=arguments[i]||{},i++),\"object\"===(\"undefined\"==typeof target?\"undefined\":_typeof(target))||jQuery.isFunction(target)||(target={}),i===length&&(target=this,i--);length>i;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],copy=options[name],target!==copy&&(deep&©&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&jQuery.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):void 0!==copy&&(target[name]=copy));return target},jQuery.extend({expando:\"jQuery\"+(version+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return\"function\"===jQuery.type(obj)},isArray:Array.isArray,isWindow:function(obj){return null!=obj&&obj===obj.window},isNumeric:function(obj){var realStringObj=obj&&obj.toString();return!jQuery.isArray(obj)&&realStringObj-parseFloat(realStringObj)+1>=0},isPlainObject:function(obj){return\"object\"!==jQuery.type(obj)||obj.nodeType||jQuery.isWindow(obj)?!1:obj.constructor&&!hasOwn.call(obj.constructor.prototype,\"isPrototypeOf\")?!1:!0},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},type:function(obj){return null==obj?obj+\"\":\"object\"===(\"undefined\"==typeof obj?\"undefined\":_typeof(obj))||\"function\"==typeof obj?class2type[toString.call(obj)]||\"object\":\"undefined\"==typeof obj?\"undefined\":_typeof(obj)},globalEval:function(code){var script,indirect=eval;code=jQuery.trim(code),code&&(1===code.indexOf(\"use strict\")?(script=document.createElement(\"script\"),script.text=code,document.head.appendChild(script).parentNode.removeChild(script)):indirect(code))},camelCase:function(string){return string.replace(rmsPrefix,\"ms-\").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback){var length,i=0;if(isArrayLike(obj))for(length=obj.length;length>i&&callback.call(obj[i],i,obj[i])!==!1;i++);else for(i in obj)if(callback.call(obj[i],i,obj[i])===!1)break;return obj},trim:function(text){return null==text?\"\":(text+\"\").replace(rtrim,\"\")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,\"string\"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){return null==arr?-1:indexOf.call(arr,elem,i)},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;len>j;j++)first[i++]=second[j];return first.length=i,first},grep:function(elems,callback,invert){for(var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;length>i;i++)callbackInverse=!callback(elems[i],i),callbackInverse!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;length>i;i++)value=callback(elems[i],i,arg),null!=value&&ret.push(value);else for(i in elems)value=callback(elems[i],i,arg),null!=value&&ret.push(value);return concat.apply([],ret)},guid:1,proxy:function proxy(fn,context){var tmp,args,proxy;return\"string\"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),jQuery.isFunction(fn)?(args=_slice.call(arguments,2),proxy=function(){return fn.apply(context||this,args.concat(_slice.call(arguments)))},proxy.guid=fn.guid=fn.guid||jQuery.guid++,proxy):void 0},now:Date.now,support:support}),\"function\"==typeof Symbol&&(jQuery.fn[Symbol.iterator]=arr[Symbol.iterator]),jQuery.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(i,name){class2type[\"[object \"+name+\"]\"]=name.toLowerCase()});var Sizzle=function(window){function Sizzle(selector,context,results,seed){var m,i,elem,nid,nidselect,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],\"string\"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(!(!support.qsa||compilerCache[selector+\" \"]||rbuggyQSA&&rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if(\"object\"!==context.nodeName.toLowerCase()){\nfor((nid=context.getAttribute(\"id\"))?nid=nid.replace(rescape,\"\\\\$&\"):context.setAttribute(\"id\",nid=expando),groups=tokenize(selector),i=groups.length,nidselect=ridentifier.test(nid)?\"#\"+nid:\"[id='\"+nid+\"']\";i--;)groups[i]=nidselect+\" \"+toSelector(groups[i]);newSelector=groups.join(\",\"),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute(\"id\")}}}return select(selector.replace(rtrim,\"$1\"),context,results,seed)}function createCache(){function cache(key,value){return keys.push(key+\" \")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+\" \"]=value}var keys=[];return cache}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var div=document.createElement(\"div\");try{return!!fn(div)}catch(e){return!1}finally{div.parentNode&&div.parentNode.removeChild(div),div=null}}function addHandle(attrs,handler){for(var arr=attrs.split(\"|\"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return\"input\"===name&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(\"input\"===name||\"button\"===name)&&elem.type===type}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&\"undefined\"!=typeof context.getElementsByTagName&&context}function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector=\"\";len>i;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&\"parentNode\"===dir,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml)}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements){if(outerCache=elem[expando]||(elem[expando]={}),uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={}),(oldCache=uniqueCache[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if(uniqueCache[dir]=newCache,newCache[2]=matcher(elem,context,xml))return!0}}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function multipleContexts(selector,contexts,results){for(var i=0,len=contexts.length;len>i;i++)Sizzle(selector,contexts[i],results);return results}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;len>i;i++)(elem=unmatched[i])&&(!filter||filter(elem,context,xml))&&(newUnmatched.push(elem),mapped&&map.push(i));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||\"*\",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[\" \"],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,!0),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];len>i;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if(matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches),matcher[expando]){for(j=++i;len>j&&!Expr.relative[tokens[j].type];j++);return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:\" \"===tokens[i-2].type?\"*\":\"\"})).replace(rtrim,\"$1\"),matcher,j>i&&matcherFromTokens(tokens.slice(i,j)),len>j&&matcherFromTokens(tokens=tokens.slice(j)),len>j&&toSelector(tokens))}matchers.push(matcher)}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i=\"0\",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG(\"*\",outermost),dirrunsUnique=dirruns+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando=\"sizzle\"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){return a===b&&(hasDuplicate=!0),0},MAX_NEGATIVE=1<<31,hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){for(var i=0,len=list.length;len>i;i++)if(list[i]===elem)return i;return-1},booleans=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",whitespace=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",identifier=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",attributes=\"\\\\[\"+whitespace+\"*(\"+identifier+\")(?:\"+whitespace+\"*([*^$|!~]?=)\"+whitespace+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+identifier+\"))|)\"+whitespace+\"*\\\\]\",pseudos=\":(\"+identifier+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+attributes+\")*)|.*)\\\\)|)\",rwhitespace=new RegExp(whitespace+\"+\",\"g\"),rtrim=new RegExp(\"^\"+whitespace+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+whitespace+\"+$\",\"g\"),rcomma=new RegExp(\"^\"+whitespace+\"*,\"+whitespace+\"*\"),rcombinators=new RegExp(\"^\"+whitespace+\"*([>+~]|\"+whitespace+\")\"+whitespace+\"*\"),rattributeQuotes=new RegExp(\"=\"+whitespace+\"*([^\\\\]'\\\"]*?)\"+whitespace+\"*\\\\]\",\"g\"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp(\"^\"+identifier+\"$\"),matchExpr={ID:new RegExp(\"^#(\"+identifier+\")\"),CLASS:new RegExp(\"^\\\\.(\"+identifier+\")\"),TAG:new RegExp(\"^(\"+identifier+\"|[*])\"),ATTR:new RegExp(\"^\"+attributes),PSEUDO:new RegExp(\"^\"+pseudos),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+whitespace+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+whitespace+\"*(?:([+-]|)\"+whitespace+\"*(\\\\d+)|))\"+whitespace+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+booleans+\")$\",\"i\"),needsContext:new RegExp(\"^\"+whitespace+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+whitespace+\"*((?:-\\\\d)?\\\\d*)\"+whitespace+\"*\\\\)|)(?=[^-]|$)\",\"i\")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\\d$/i,rnative=/^[^{]+\\{\\s*\\[native \\w/,rquickExpr=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\\\/g,runescape=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+whitespace+\"?|(\"+whitespace+\")|.)\",\"ig\"),funescape=function(_,escaped,escapedWhitespace){var high=\"0x\"+escaped-65536;return high!==high||escapedWhitespace?escaped:0>high?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},unloadHandler=function(){setDocument()};try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?\"HTML\"!==documentElement.nodeName:!1},setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(document=doc,docElem=document.documentElement,documentIsHTML=!isXML(document),(parent=document.defaultView)&&parent.top!==parent&&(parent.addEventListener?parent.addEventListener(\"unload\",unloadHandler,!1):parent.attachEvent&&parent.attachEvent(\"onunload\",unloadHandler)),support.attributes=assert(function(div){return div.className=\"i\",!div.getAttribute(\"className\")}),support.getElementsByTagName=assert(function(div){return div.appendChild(document.createComment(\"\")),!div.getElementsByTagName(\"*\").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(div){return docElem.appendChild(div).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.find.ID=function(id,context){if(\"undefined\"!=typeof context.getElementById&&documentIsHTML){var m=context.getElementById(id);return m?[m]:[]}},Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute(\"id\")===attrId}}):(delete Expr.find.ID,Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=\"undefined\"!=typeof elem.getAttributeNode&&elem.getAttributeNode(\"id\");return node&&node.value===attrId}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return\"undefined\"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if(\"*\"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){return\"undefined\"!=typeof context.getElementsByClassName&&documentIsHTML?context.getElementsByClassName(className):void 0},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(div){docElem.appendChild(div).innerHTML=\"<a id='\"+expando+\"'></a><select id='\"+expando+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",div.querySelectorAll(\"[msallowcapture^='']\").length&&rbuggyQSA.push(\"[*^$]=\"+whitespace+\"*(?:''|\\\"\\\")\"),div.querySelectorAll(\"[selected]\").length||rbuggyQSA.push(\"\\\\[\"+whitespace+\"*(?:value|\"+booleans+\")\"),div.querySelectorAll(\"[id~=\"+expando+\"-]\").length||rbuggyQSA.push(\"~=\"),div.querySelectorAll(\":checked\").length||rbuggyQSA.push(\":checked\"),div.querySelectorAll(\"a#\"+expando+\"+*\").length||rbuggyQSA.push(\".#.+[+~]\")}),assert(function(div){var input=document.createElement(\"input\");input.setAttribute(\"type\",\"hidden\"),div.appendChild(input).setAttribute(\"name\",\"D\"),div.querySelectorAll(\"[name=d]\").length&&rbuggyQSA.push(\"name\"+whitespace+\"*[*^$|!~]?=\"),div.querySelectorAll(\":enabled\").length||rbuggyQSA.push(\":enabled\",\":disabled\"),div.querySelectorAll(\"*,:x\"),rbuggyQSA.push(\",.*:\")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(div){support.disconnectedMatch=matches.call(div,\"div\"),matches.call(div,\"[s!='']:x\"),rbuggyMatches.push(\"!=\",pseudos)}),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join(\"|\")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join(\"|\")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare?compare:(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&compare||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},document):document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),expr=expr.replace(rattributeQuotes,\"='$1']\"),!(!support.matchesSelector||!documentIsHTML||compilerCache[expr+\" \"]||rbuggyMatches&&rbuggyMatches.test(expr)||rbuggyQSA&&rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):void 0;return void 0!==val?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null},Sizzle.error=function(msg){throw new Error(\"Syntax error, unrecognized expression: \"+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret=\"\",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if(\"string\"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||\"\").replace(runescape,funescape),\"~=\"===match[2]&&(match[3]=\" \"+match[3]+\" \"),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),\"nth\"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*(\"even\"===match[3]||\"odd\"===match[3])),match[5]=+(match[7]+match[8]||\"odd\"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||\"\":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(\")\",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return\"*\"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+\" \"];return pattern||(pattern=new RegExp(\"(^|\"+whitespace+\")\"+className+\"(\"+whitespace+\"|$)\"))&&classCache(className,function(elem){return pattern.test(\"string\"==typeof elem.className&&elem.className||\"undefined\"!=typeof elem.getAttribute&&elem.getAttribute(\"class\")||\"\")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?\"!=\"===operator:operator?(result+=\"\",\"=\"===operator?result===check:\"!=\"===operator?result!==check:\"^=\"===operator?check&&0===result.indexOf(check):\"*=\"===operator?check&&result.indexOf(check)>-1:\"$=\"===operator?check&&result.slice(-check.length)===check:\"~=\"===operator?(\" \"+result.replace(rwhitespace,\" \")+\" \").indexOf(check)>-1:\"|=\"===operator?result===check||result.slice(0,check.length+1)===check+\"-\":!1):!0}},CHILD:function(type,what,argument,first,last){var simple=\"nth\"!==type.slice(0,3),forward=\"last\"!==type.slice(-4),ofType=\"of-type\"===what;return 1===first&&0===last?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?\"nextSibling\":\"previousSibling\",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir=\"only\"===type&&!start&&\"nextSibling\"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(node=parent,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(node=elem,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex),diff===!1)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&(outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),uniqueCache[type]=[dirruns,diff]),node!==elem)););return diff-=last,diff===first||diff%first===0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error(\"unsupported pseudo: \"+pseudo);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,\"\",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)idx=indexOf(seed,matched[i]),seed[idx]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,\"$1\"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||\"\")||Sizzle.error(\"unsupported lang: \"+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do if(elemLang=documentIsHTML?elem.lang:elem.getAttribute(\"xml:lang\")||elem.getAttribute(\"lang\"))return elemLang=elemLang.toLowerCase(),elemLang===lang||0===elemLang.indexOf(lang+\"-\");while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:function(elem){return elem.disabled===!1},disabled:function(elem){return elem.disabled===!0},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return\"input\"===nodeName&&!!elem.checked||\"option\"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,elem.selected===!0},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},parent:function(elem){return!Expr.pseudos.empty(elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return\"input\"===name&&\"button\"===elem.type||\"button\"===name},text:function(elem){var attr;return\"input\"===elem.nodeName.toLowerCase()&&\"text\"===elem.type&&(null==(attr=elem.getAttribute(\"type\"))||\"text\"===attr.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[0>argument?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){for(var i=0;length>i;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;length>i;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=0>argument?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=0>argument?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}},Expr.pseudos.nth=Expr.pseudos.eq;for(i in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=createInputPseudo(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=createButtonPseudo(i);return setFilters.prototype=Expr.filters=Expr.pseudos,Expr.setFilters=new setFilters,tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+\" \"];if(cached)return parseOnly?0:cached.slice(0);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){(!matched||(match=rcomma.exec(soFar)))&&(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim,\" \")}),soFar=soFar.slice(matched.length));for(type in Expr.filter)!(match=matchExpr[type].exec(soFar))||preFilters[type]&&!(match=preFilters[type](match))||(matched=match.shift(),tokens.push({value:matched,type:type,matches:match}),soFar=soFar.slice(matched.length));if(!matched)break}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+\" \"];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)cached=matcherFromTokens(match[i]),cached[expando]?setMatchers.push(cached):elementMatchers.push(cached);cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers)),cached.selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=\"function\"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if(tokens=match[0]=match[0].slice(0),tokens.length>2&&\"ID\"===(token=tokens[0]).type&&support.getById&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0],!context)return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),selector=seed.length&&toSelector(tokens),!selector)return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split(\"\").sort(sortOrder).join(\"\")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(div1){return 1&div1.compareDocumentPosition(document.createElement(\"div\"))}),assert(function(div){return div.innerHTML=\"<a href='#'></a>\",\"#\"===div.firstChild.getAttribute(\"href\")})||addHandle(\"type|href|height|width\",function(elem,name,isXML){return isXML?void 0:elem.getAttribute(name,\"type\"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(div){return div.innerHTML=\"<input/>\",div.firstChild.setAttribute(\"value\",\"\"),\"\"===div.firstChild.getAttribute(\"value\")})||addHandle(\"value\",function(elem,name,isXML){return isXML||\"input\"!==elem.nodeName.toLowerCase()?void 0:elem.defaultValue}),assert(function(div){return null==div.getAttribute(\"disabled\")})||addHandle(booleans,function(elem,name,isXML){var val;return isXML?void 0:elem[name]===!0?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),Sizzle}(window);jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[\":\"]=jQuery.expr.pseudos,jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains;var dir=function(elem,_dir,until){for(var matched=[],truncate=void 0!==until;(elem=elem[_dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},_siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/,risSimple=/^.[^:#\\[\\.,]*$/;jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=\":not(\"+expr+\")\"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,len=this.length,ret=[],self=this;if(\"string\"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;len>i;i++)if(jQuery.contains(self[i],this))return!0}));for(i=0;len>i;i++)jQuery.find(selector,self[i],ret);return ret=this.pushStack(len>1?jQuery.unique(ret):ret),ret.selector=this.selector?this.selector+\" \"+selector:selector,ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,\"string\"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,\"string\"==typeof selector){if(match=\"<\"===selector[0]&&\">\"===selector[selector.length-1]&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector),!match||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)jQuery.isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return elem=document.getElementById(match[2]),elem&&elem.parentNode&&(this.length=1,this[0]=elem),this.context=document,this.selector=selector,this}return selector.nodeType?(this.context=this[0]=selector,this.length=1,this):jQuery.isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):(void 0!==selector.selector&&(this.selector=selector.selector,this.context=selector.context),jQuery.makeArray(selector,this))};init.prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;\n\nreturn this.filter(function(){for(var i=0;l>i;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){for(var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||\"string\"!=typeof selectors?jQuery(selectors,context||this.context):0;l>i;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(pos?pos.index(cur)>-1:1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?\"string\"==typeof elem?indexOf.call(jQuery(elem),this[0]):indexOf.call(this,elem.jquery?elem[0]:elem):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function parent(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?parent:null},parents:function(elem){return dir(elem,\"parentNode\")},parentsUntil:function(elem,i,until){return dir(elem,\"parentNode\",until)},next:function(elem){return sibling(elem,\"nextSibling\")},prev:function(elem){return sibling(elem,\"previousSibling\")},nextAll:function(elem){return dir(elem,\"nextSibling\")},prevAll:function(elem){return dir(elem,\"previousSibling\")},nextUntil:function(elem,i,until){return dir(elem,\"nextSibling\",until)},prevUntil:function(elem,i,until){return dir(elem,\"previousSibling\",until)},siblings:function(elem){return _siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return _siblings(elem.firstChild)},contents:function(elem){return elem.contentDocument||jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);return\"Until\"!==name.slice(-5)&&(selector=until),selector&&\"string\"==typeof selector&&(matched=jQuery.filter(selector,matched)),this.length>1&&(guaranteedUnique[name]||jQuery.uniqueSort(matched),rparentsprev.test(name)&&matched.reverse()),this.pushStack(matched)}});var rnotwhite=/\\S+/g;jQuery.Callbacks=function(options){options=\"string\"==typeof options?createOptions(options):jQuery.extend({},options);var firing,memory,_fired,_locked,list=[],queue=[],firingIndex=-1,fire=function(){for(_locked=options.once,_fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)list[firingIndex].apply(memory[0],memory[1])===!1&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,_locked&&(list=memory?[]:\"\")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){jQuery.isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&\"string\"!==jQuery.type(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),firingIndex>=index&&firingIndex--}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){return list&&(list=[]),this},disable:function(){return _locked=queue=[],list=memory=\"\",this},disabled:function(){return!list},lock:function(){return _locked=queue=[],memory||(list=memory=\"\"),this},locked:function(){return!!_locked},fireWith:function(context,args){return _locked||(args=args||[],args=[context,args.slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!_fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[[\"resolve\",\"done\",jQuery.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",jQuery.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",jQuery.Callbacks(\"memory\")]],_state=\"pending\",_promise2={state:function(){return _state},always:function(){return deferred.done(arguments).fail(arguments),this},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&jQuery.isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+\"With\"](this===_promise2?newDefer.promise():this,fn?[returned]:arguments)})}),fns=null}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,_promise2):_promise2}},deferred={};return _promise2.pipe=_promise2.then,jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];_promise2[tuple[1]]=list.add,stateString&&list.add(function(){_state=stateString},tuples[1^i][2].disable,tuples[2][2].lock),deferred[tuple[0]]=function(){return deferred[tuple[0]+\"With\"](this===deferred?_promise2:this,arguments),this},deferred[tuple[0]+\"With\"]=list.fireWith}),_promise2.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(subordinate){var progressValues,progressContexts,resolveContexts,i=0,resolveValues=_slice.call(arguments),length=resolveValues.length,remaining=1!==length||subordinate&&jQuery.isFunction(subordinate.promise)?length:0,deferred=1===remaining?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this,values[i]=arguments.length>1?_slice.call(arguments):value,values===progressValues?deferred.notifyWith(contexts,values):--remaining||deferred.resolveWith(contexts,values)}};if(length>1)for(progressValues=new Array(length),progressContexts=new Array(length),resolveContexts=new Array(length);length>i;i++)resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)?resolveValues[i].promise().progress(updateFunc(i,progressContexts,progressValues)).done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject):--remaining;return remaining||deferred.resolveWith(resolveContexts,resolveValues),deferred.promise()}});var readyList;jQuery.fn.ready=function(fn){return jQuery.ready.promise().done(fn),this},jQuery.extend({isReady:!1,readyWait:1,holdReady:function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},ready:function(wait){(wait===!0?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0,wait!==!0&&--jQuery.readyWait>0||(readyList.resolveWith(document,[jQuery]),jQuery.fn.triggerHandler&&(jQuery(document).triggerHandler(\"ready\"),jQuery(document).off(\"ready\"))))}}),jQuery.ready.promise=function(obj){return readyList||(readyList=jQuery.Deferred(),\"complete\"===document.readyState||\"loading\"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(jQuery.ready):(document.addEventListener(\"DOMContentLoaded\",completed),window.addEventListener(\"load\",completed))),readyList.promise(obj)},jQuery.ready.promise();var access=function access(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=null==key;if(\"object\"===jQuery.type(key)){chainable=!0;for(i in key)access(elems,fn,i,key[i],!0,emptyGet,raw)}else if(void 0!==value&&(chainable=!0,jQuery.isFunction(value)||(raw=!0),bulk&&(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),fn))for(;len>i;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet},acceptData=function(owner){return 1===owner.nodeType||9===owner.nodeType||!+owner.nodeType};Data.uid=1,Data.prototype={register:function(owner,initial){var value=initial||{};return owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,writable:!0,configurable:!0}),owner[this.expando]},cache:function(owner){if(!acceptData(owner))return{};var value=owner[this.expando];return value||(value={},acceptData(owner)&&(owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,configurable:!0}))),value},set:function(owner,data,value){var prop,cache=this.cache(owner);if(\"string\"==typeof data)cache[data]=value;else for(prop in data)cache[prop]=data[prop];return cache},get:function(owner,key){return void 0===key?this.cache(owner):owner[this.expando]&&owner[this.expando][key]},access:function(owner,key,value){var stored;return void 0===key||key&&\"string\"==typeof key&&void 0===value?(stored=this.get(owner,key),void 0!==stored?stored:this.get(owner,jQuery.camelCase(key))):(this.set(owner,key,value),void 0!==value?value:key)},remove:function(owner,key){var i,name,camel,cache=owner[this.expando];if(void 0!==cache){if(void 0===key)this.register(owner);else{jQuery.isArray(key)?name=key.concat(key.map(jQuery.camelCase)):(camel=jQuery.camelCase(key),key in cache?name=[key,camel]:(name=camel,name=name in cache?[name]:name.match(rnotwhite)||[])),i=name.length;for(;i--;)delete cache[name[i]]}(void 0===key||jQuery.isEmptyObject(cache))&&(owner.nodeType?owner[this.expando]=void 0:delete owner[this.expando])}},hasData:function(owner){var cache=owner[this.expando];return void 0!==cache&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data,dataUser=new Data,rbrace=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,rmultiDash=/[A-Z]/g;jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem)},data:function(elem,name,_data){return dataUser.access(elem,name,_data)},removeData:function(elem,name){dataUser.remove(elem,name)},_data:function(elem,name,data){return dataPriv.access(elem,name,data)},_removeData:function(elem,name){dataPriv.remove(elem,name)}}),jQuery.fn.extend({data:function data(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(void 0===key){if(this.length&&(data=dataUser.get(elem),1===elem.nodeType&&!dataPriv.get(elem,\"hasDataAttrs\"))){for(i=attrs.length;i--;)attrs[i]&&(name=attrs[i].name,0===name.indexOf(\"data-\")&&(name=jQuery.camelCase(name.slice(5)),dataAttr(elem,name,data[name])));dataPriv.set(elem,\"hasDataAttrs\",!0)}return data}return\"object\"===(\"undefined\"==typeof key?\"undefined\":_typeof(key))?this.each(function(){dataUser.set(this,key)}):access(this,function(value){var data,camelKey;if(elem&&void 0===value){if(data=dataUser.get(elem,key)||dataUser.get(elem,key.replace(rmultiDash,\"-$&\").toLowerCase()),void 0!==data)return data;if(camelKey=jQuery.camelCase(key),data=dataUser.get(elem,camelKey),void 0!==data)return data;if(data=dataAttr(elem,camelKey,void 0),void 0!==data)return data}else camelKey=jQuery.camelCase(key),this.each(function(){var data=dataUser.get(this,camelKey);dataUser.set(this,camelKey,value),key.indexOf(\"-\")>-1&&void 0!==data&&dataUser.set(this,key,value)})},null,value,arguments.length>1,null,!0)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}}),jQuery.extend({queue:function queue(elem,type,data){var queue;return elem?(type=(type||\"fx\")+\"queue\",queue=dataPriv.get(elem,type),data&&(!queue||jQuery.isArray(data)?queue=dataPriv.access(elem,type,jQuery.makeArray(data)):queue.push(data)),queue||[]):void 0},dequeue:function(elem,type){type=type||\"fx\";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};\"inprogress\"===fn&&(fn=queue.shift(),startLength--),fn&&(\"fx\"===type&&queue.unshift(\"inprogress\"),delete hooks.stop,fn.call(elem,next,hooks)),!startLength&&hooks&&hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+\"queueHooks\";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks(\"once memory\").add(function(){dataPriv.remove(elem,[type+\"queue\",key])})})}}),jQuery.fn.extend({queue:function(type,data){var setter=2;return\"string\"!=typeof type&&(data=type,type=\"fx\",setter--),arguments.length<setter?jQuery.queue(this[0],type):void 0===data?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),\"fx\"===type&&\"inprogress\"!==queue[0]&&jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||\"fx\",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){--count||defer.resolveWith(elements,[elements])};for(\"string\"!=typeof type&&(obj=type,type=void 0),type=type||\"fx\";i--;)tmp=dataPriv.get(elements[i],type+\"queueHooks\"),tmp&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var pnum=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,rcssNum=new RegExp(\"^(?:([+-])=|)(\"+pnum+\")([a-z%]*)$\",\"i\"),cssExpand=[\"Top\",\"Right\",\"Bottom\",\"Left\"],isHidden=function(elem,el){return elem=el||elem,\"none\"===jQuery.css(elem,\"display\")||!jQuery.contains(elem.ownerDocument,elem)},rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([\\w:-]+)/,rscriptType=/^$|\\/(?:java|ecma)script/i,wrapMap={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var rhtml=/<|&#?\\w+;/;!function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement(\"div\")),input=document.createElement(\"input\");input.setAttribute(\"type\",\"radio\"),input.setAttribute(\"checked\",\"checked\"),input.setAttribute(\"name\",\"t\"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML=\"<textarea>x</textarea>\",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue}();var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\\.(.+)|)/;jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(elemData)for(handler.handler&&(handleObjIn=handler,handler=handleObjIn.handler,selector=handleObjIn.selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return\"undefined\"!=typeof jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),types=(types||\"\").match(rnotwhite)||[\"\"],t=types.length;t--;)tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||\"\").split(\".\").sort(),type&&(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(\".\")},handleObjIn),(handlers=events[type])||(handlers=events[type]=[],handlers.delegateCount=0,special.setup&&special.setup.call(elem,data,namespaces,eventHandle)!==!1||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(elemData&&(events=elemData.events)){for(types=(types||\"\").match(rnotwhite)||[\"\"],t=types.length;t--;)if(tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||\"\").split(\".\").sort(),type){for(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,handlers=events[type]||[],tmp=tmp[2]&&new RegExp(\"(^|\\\\.)\"+namespaces.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&(\"**\"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&special.teardown.call(elem,namespaces,elemData.handle)!==!1||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&dataPriv.remove(elem,\"handle events\")}},dispatch:function(event){event=jQuery.event.fix(event);var i,j,ret,matched,handleObj,handlerQueue=[],args=_slice.call(arguments),handlers=(dataPriv.get(this,\"events\")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};if(args[0]=event,event.delegateTarget=this,!special.preDispatch||special.preDispatch.call(this,event)!==!1){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)(!event.rnamespace||event.rnamespace.test(handleObj.namespace))&&(event.handleObj=handleObj,event.data=handleObj.data,ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args),void 0!==ret&&(event.result=ret)===!1&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,_handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=_handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&(\"click\"!==event.type||isNaN(event.button)||event.button<1))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&(cur.disabled!==!0||\"click\"!==event.type)){for(matches=[],i=0;delegateCount>i;i++)handleObj=_handlers[i],sel=handleObj.selector+\" \",void 0===matches[sel]&&(matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length),matches[sel]&&matches.push(handleObj);matches.length&&handlerQueue.push({elem:cur,handlers:matches})}return delegateCount<_handlers.length&&handlerQueue.push({elem:this,handlers:_handlers.slice(delegateCount)}),handlerQueue},props:\"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(event,original){return null==event.which&&(event.which=null!=original.charCode?original.charCode:original.keyCode),event}},mouseHooks:{props:\"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(event,original){var eventDoc,doc,body,button=original.button;return null==event.pageX&&null!=original.clientX&&(eventDoc=event.target.ownerDocument||document,doc=eventDoc.documentElement,body=eventDoc.body,event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0),event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)),event.which||void 0===button||(event.which=1&button?1:2&button?3:4&button?2:0),event}},fix:function(event){if(event[jQuery.expando])return event;var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];for(fixHook||(this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{}),copy=fixHook.props?this.props.concat(fixHook.props):this.props,event=new jQuery.Event(originalEvent),i=copy.length;i--;)prop=copy[i],event[prop]=originalEvent[prop];return event.target||(event.target=document),3===event.target.nodeType&&(event.target=event.target.parentNode),fixHook.filter?fixHook.filter(event,originalEvent):event},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==safeActiveElement()&&this.focus?(this.focus(),!1):void 0},delegateType:\"focusin\"},blur:{trigger:function(){return this===safeActiveElement()&&this.blur?(this.blur(),!1):void 0},delegateType:\"focusout\"},click:{trigger:function(){return\"checkbox\"===this.type&&this.click&&jQuery.nodeName(this,\"input\")?(this.click(),!1):void 0},_default:function(event){return jQuery.nodeName(event.target,\"a\")}},beforeunload:{postDispatch:function(event){void 0!==event.result&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}}},jQuery.removeEvent=function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)},jQuery.Event=function(src,props){return this instanceof jQuery.Event?(src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||void 0===src.defaultPrevented&&src.returnValue===!1?returnTrue:returnFalse):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||jQuery.now(),void(this[jQuery.expando]=!0)):new jQuery.Event(src,props)},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&e.stopImmediatePropagation(),this.stopPropagation()}},jQuery.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;return(!related||related!==target&&!jQuery.contains(target,related))&&(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),ret}}}),jQuery.fn.extend({on:function(types,selector,data,fn){return _on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return _on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+\".\"+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if(\"object\"===(\"undefined\"==typeof types?\"undefined\":_typeof(types))){for(type in types)this.off(type,selector,types[type]);return this}return(selector===!1||\"function\"==typeof selector)&&(fn=selector,selector=void 0),fn===!1&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)})}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\\s*(?:[^=]|=\\s*.checked.)/i,rscriptTypeMasked=/^true\\/(.*)/,rcleanScript=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,\"<$1></$2>\")},clone:function clone(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(!0),inPage=jQuery.contains(elem.ownerDocument,elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),srcElements=getAll(elem),i=0,l=srcElements.length;l>i;i++)fixInput(srcElements[i],destElements[i]);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0,l=srcElements.length;l>i;i++)cloneCopyEvent(srcElements[i],destElements[i]);else cloneCopyEvent(elem,clone);return destElements=getAll(clone,\"script\"),destElements.length>0&&setGlobalEval(destElements,!inPage&&getAll(elem,\"script\")),clone},cleanData:function(elems){for(var data,elem,type,special=jQuery.event.special,i=0;void 0!==(elem=elems[i]);i++)if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=void 0}elem[dataUser.expando]&&(elem[dataUser.expando]=void 0)}}}),jQuery.fn.extend({domManip:domManip,detach:function(selector){return _remove(this,selector,!0)},remove:function(selector){return _remove(this,selector)},text:function(value){return access(this,function(value){return void 0===value?jQuery.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=value)})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.appendChild(elem)}})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++)1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.textContent=\"\");return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null==dataAndEvents?!1:dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(void 0===value&&1===elem.nodeType)return elem.innerHTML;if(\"string\"==typeof value&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||[\"\",\"\"])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;l>i;i++)elem=this[i]||{},1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),parent&&parent.replaceChild(elem,this))},ignored)}}),jQuery.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(name,original){jQuery.fn[name]=function(selector){for(var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;last>=i;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),push.apply(ret,elems.get());return this.pushStack(ret)}});var iframe,elemdisplay={HTML:\"block\",BODY:\"block\"},rmargin=/^margin/,rnumnonpx=new RegExp(\"^(\"+pnum+\")(?!px)[a-z%]+$\",\"i\"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view.opener||(view=window),view.getComputedStyle(elem)},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];ret=callback.apply(elem,args||[]);for(name in options)elem.style[name]=old[name];return ret},documentElement=document.documentElement;!function(){function computeStyleTests(){div.style.cssText=\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",div.innerHTML=\"\",documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal=\"1%\"!==divStyle.top,reliableMarginLeftVal=\"2px\"===divStyle.marginLeft,boxSizingReliableVal=\"4px\"===divStyle.width,div.style.marginRight=\"50%\",pixelMarginRightVal=\"4px\"===divStyle.marginRight,documentElement.removeChild(container)}var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement(\"div\"),div=document.createElement(\"div\");div.style&&(div.style.backgroundClip=\"content-box\",div.cloneNode(!0).style.backgroundClip=\"\",support.clearCloneStyle=\"content-box\"===div.style.backgroundClip,container.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",container.appendChild(div),jQuery.extend(support,{pixelPosition:function(){return computeStyleTests(),pixelPositionVal},boxSizingReliable:function(){return null==boxSizingReliableVal&&computeStyleTests(),boxSizingReliableVal},pixelMarginRight:function(){return null==boxSizingReliableVal&&computeStyleTests(),pixelMarginRightVal},reliableMarginLeft:function(){return null==boxSizingReliableVal&&computeStyleTests(),reliableMarginLeftVal},reliableMarginRight:function(){var ret,marginDiv=div.appendChild(document.createElement(\"div\"));return marginDiv.style.cssText=div.style.cssText=\"-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\",marginDiv.style.marginRight=marginDiv.style.width=\"0\",div.style.width=\"1px\",documentElement.appendChild(container),ret=!parseFloat(window.getComputedStyle(marginDiv).marginRight),documentElement.removeChild(container),div.removeChild(marginDiv),ret}}))}();var rdisplayswap=/^(none|table(?!-c[ea]).+)/,cssShow={position:\"absolute\",visibility:\"hidden\",display:\"block\"},cssNormalTransform={letterSpacing:\"0\",fontWeight:\"400\"},cssPrefixes=[\"Webkit\",\"O\",\"Moz\",\"ms\"],emptyStyle=document.createElement(\"div\").style;jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,\"opacity\");return\"\"===ret?\"1\":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":\"cssFloat\"},style:function style(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],void 0===value?hooks&&\"get\"in hooks&&void 0!==(ret=hooks.get(elem,!1,extra))?ret:style[name]:(type=\"undefined\"==typeof value?\"undefined\":_typeof(value),\"string\"===type&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type=\"number\"),null!=value&&value===value&&(\"number\"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?\"\":\"px\")),support.clearCloneStyle||\"\"!==value||0!==name.indexOf(\"background\")||(style[name]=\"inherit\"),hooks&&\"set\"in hooks&&void 0===(value=hooks.set(elem,value,extra))||(style[name]=value)),void 0)}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],hooks&&\"get\"in hooks&&(val=hooks.get(elem,!0,extra)),void 0===val&&(val=curCSS(elem,name,styles)),\"normal\"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),\"\"===extra||extra?(num=parseFloat(val),extra===!0||isFinite(num)?num||0:val):val}}),jQuery.each([\"height\",\"width\"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){return computed?rdisplayswap.test(jQuery.css(elem,\"display\"))&&0===elem.offsetWidth?swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra):void 0},set:function(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,\"border-box\"===jQuery.css(elem,\"boxSizing\",!1,styles),styles);\n\nreturn subtract&&(matches=rcssNum.exec(value))&&\"px\"!==(matches[3]||\"px\")&&(elem.style[name]=value,value=jQuery.css(elem,name)),setPositiveNumber(elem,value,subtract)}}}),jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){return computed?(parseFloat(curCSS(elem,\"marginLeft\"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}))+\"px\":void 0}),jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){return computed?swap(elem,{display:\"inline-block\"},curCSS,[elem,\"marginRight\"]):void 0}),jQuery.each({margin:\"\",padding:\"\",border:\"Width\"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts=\"string\"==typeof value?value.split(\" \"):[value];4>i;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},rmargin.test(prefix)||(jQuery.cssHooks[prefix+suffix].set=setPositiveNumber)}),jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){for(styles=getStyles(elem),len=name.length;len>i;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return void 0!==value?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return\"boolean\"==typeof state?state?this.show():this.hide():this.each(function(){isHidden(this)?jQuery(this).show():jQuery(this).hide()})}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem,this.prop=prop,this.easing=easing||jQuery.easing._default,this.options=options,this.start=this.now=this.cur(),this.end=end,this.unit=unit||(jQuery.cssNumber[prop]?\"\":\"px\")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];return this.pos=eased=this.options.duration?jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,\"\"),result&&\"auto\"!==result?result:0)},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:\"swing\"},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;jQuery.Animation=jQuery.extend(Animation,{tweeners:{\"*\":[function(prop,value){var tween=this.createTween(prop,value);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){jQuery.isFunction(props)?(callback=props,props=[\"*\"]):props=props.match(rnotwhite);for(var prop,index=0,length=props.length;length>index;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&\"object\"===(\"undefined\"==typeof speed?\"undefined\":_typeof(speed))?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};return opt.duration=jQuery.fx.off?0:\"number\"==typeof opt.duration?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default,(null==opt.queue||opt.queue===!0)&&(opt.queue=\"fx\"),opt.old=opt.complete,opt.complete=function(){jQuery.isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css(\"opacity\",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);(empty||dataPriv.get(this,\"finish\"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||optall.queue===!1?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop,stop(gotoEnd)};return\"string\"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=void 0),clearQueue&&type!==!1&&this.queue(type||\"fx\",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+\"queueHooks\",timers=jQuery.timers,data=dataPriv.get(this);if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));(dequeue||!gotoEnd)&&jQuery.dequeue(this,type)})},finish:function(type){return type!==!1&&(type=type||\"fx\"),this.each(function(){var index,data=dataPriv.get(this),queue=data[type+\"queue\"],hooks=data[type+\"queueHooks\"],timers=jQuery.timers,length=queue?queue.length:0;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;length>index;index++)queue[index]&&queue[index].finish&&queue[index].finish.call(this);delete data.finish})}}),jQuery.each([\"toggle\",\"show\",\"hide\"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return null==speed||\"boolean\"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),speed,easing,callback)}}),jQuery.each({slideDown:genFx(\"show\"),slideUp:genFx(\"hide\"),slideToggle:genFx(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}}),jQuery.timers=[],jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;for(fxNow=jQuery.now();i<timers.length;i++)timer=timers[i],timer()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=void 0},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),timer()?jQuery.fx.start():jQuery.timers.pop()},jQuery.fx.interval=13,jQuery.fx.start=function(){timerId||(timerId=window.setInterval(jQuery.fx.tick,jQuery.fx.interval))},jQuery.fx.stop=function(){window.clearInterval(timerId),timerId=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(time,type){return time=jQuery.fx?jQuery.fx.speeds[time]||time:time,type=type||\"fx\",this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})},function(){var input=document.createElement(\"input\"),select=document.createElement(\"select\"),opt=select.appendChild(document.createElement(\"option\"));input.type=\"checkbox\",support.checkOn=\"\"!==input.value,support.optSelected=opt.selected,select.disabled=!0,support.optDisabled=!opt.disabled,input=document.createElement(\"input\"),input.value=\"t\",input.type=\"radio\",support.radioValue=\"t\"===input.value}();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}}),jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return\"undefined\"==typeof elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(name=name.toLowerCase(),hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:void 0)),void 0!==value?null===value?void jQuery.removeAttr(elem,name):hooks&&\"set\"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:(elem.setAttribute(name,value+\"\"),value):hooks&&\"get\"in hooks&&null!==(ret=hooks.get(elem,name))?ret:(ret=jQuery.find.attr(elem,name),null==ret?void 0:ret))},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&\"radio\"===value&&jQuery.nodeName(elem,\"input\")){var val=elem.value;return elem.setAttribute(\"type\",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)propName=jQuery.propFix[name]||name,jQuery.expr.match.bool.test(name)&&(elem[propName]=!1),elem.removeAttribute(name)}}),boolHook={set:function(elem,value,name){return value===!1?jQuery.removeAttr(elem,name):elem.setAttribute(name,name),name}},jQuery.each(jQuery.expr.match.bool.source.match(/\\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle;return isXML||(handle=attrHandle[name],attrHandle[name]=ret,ret=null!=getter(elem,name,isXML)?name.toLowerCase():null,attrHandle[name]=handle),ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}}),jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),void 0!==value?hooks&&\"set\"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:elem[name]=value:hooks&&\"get\"in hooks&&null!==(ret=hooks.get(elem,name))?ret:elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,\"tabindex\");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&parent.parentNode&&parent.parentNode.selectedIndex,null}}),jQuery.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){jQuery.propFix[this.toLowerCase()]=this});var rclass=/[\\t\\r\\n\\f]/g;jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if(\"string\"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(\" \"+curValue+\" \").replace(rclass,\" \")){for(j=0;clazz=classes[j++];)cur.indexOf(\" \"+clazz+\" \")<0&&(cur+=clazz+\" \");finalValue=jQuery.trim(cur),curValue!==finalValue&&elem.setAttribute(\"class\",finalValue)}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(\" \"+curValue+\" \").replace(rclass,\" \")){for(j=0;clazz=classes[j++];)for(;cur.indexOf(\" \"+clazz+\" \")>-1;)cur=cur.replace(\" \"+clazz+\" \",\" \");finalValue=jQuery.trim(cur),curValue!==finalValue&&elem.setAttribute(\"class\",finalValue)}return this},toggleClass:function(value,stateVal){var type=\"undefined\"==typeof value?\"undefined\":_typeof(value);return\"boolean\"==typeof stateVal&&\"string\"===type?stateVal?this.addClass(value):this.removeClass(value):this.each(jQuery.isFunction(value)?function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}:function(){var className,i,self,classNames;if(\"string\"===type)for(i=0,self=jQuery(this),classNames=value.match(rnotwhite)||[];className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else(void 0===value||\"boolean\"===type)&&(className=getClass(this),className&&dataPriv.set(this,\"__className__\",className),this.setAttribute&&this.setAttribute(\"class\",className||value===!1?\"\":dataPriv.get(this,\"__className__\")||\"\"))})},hasClass:function(selector){var className,elem,i=0;for(className=\" \"+selector+\" \";elem=this[i++];)if(1===elem.nodeType&&(\" \"+getClass(elem)+\" \").replace(rclass,\" \").indexOf(className)>-1)return!0;return!1}});var rreturn=/\\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];{if(arguments.length)return isFunction=jQuery.isFunction(value),this.each(function(i){var val;1===this.nodeType&&(val=isFunction?value.call(this,i,jQuery(this).val()):value,null==val?val=\"\":\"number\"==typeof val?val+=\"\":jQuery.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?\"\":value+\"\"})),hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()],hooks&&\"set\"in hooks&&void 0!==hooks.set(this,val,\"value\")||(this.value=val))});if(elem)return hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()],hooks&&\"get\"in hooks&&void 0!==(ret=hooks.get(elem,\"value\"))?ret:(ret=elem.value,\"string\"==typeof ret?ret.replace(rreturn,\"\"):null==ret?\"\":ret)}}}),jQuery.extend({valHooks:{option:{get:function(elem){return jQuery.trim(elem.value)}},select:{get:function(elem){for(var value,option,options=elem.options,index=elem.selectedIndex,one=\"select-one\"===elem.type||0>index,values=one?null:[],max=one?index+1:options.length,i=0>index?max:one?index:0;max>i;i++)if(option=options[i],!(!option.selected&&i!==index||(support.optDisabled?option.disabled:null!==option.getAttribute(\"disabled\"))||option.parentNode.disabled&&jQuery.nodeName(option.parentNode,\"optgroup\"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)option=options[i],(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)&&(optionSet=!0);return optionSet||(elem.selectedIndex=-1),values}}}}),jQuery.each([\"radio\",\"checkbox\"],function(){jQuery.valHooks[this]={set:function(elem,value){return jQuery.isArray(value)?elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1:void 0}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute(\"value\")?\"on\":elem.value})});var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,\"type\")?event.type:event,namespaces=hasOwn.call(event,\"namespace\")?event.namespace.split(\".\"):[];if(cur=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(\".\")>-1&&(namespaces=type.split(\".\"),type=namespaces.shift(),namespaces.sort()),ontype=type.indexOf(\":\")<0&&\"on\"+type,event=event[jQuery.expando]?event:new jQuery.Event(type,\"object\"===(\"undefined\"==typeof event?\"undefined\":_typeof(event))&&event),event.isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join(\".\"),event.rnamespace=event.namespace?new RegExp(\"(^|\\\\.)\"+namespaces.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,event.result=void 0,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||special.trigger.apply(elem,data)!==!1)){if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)event.type=i>1?bubbleType:special.bindType||type,handle=(dataPriv.get(cur,\"events\")||{})[event.type]&&dataPriv.get(cur,\"handle\"),handle&&handle.apply(cur,data),handle=ontype&&cur[ontype],handle&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),event.result===!1&&event.preventDefault());return event.type=type,onlyHandlers||event.isDefaultPrevented()||special._default&&special._default.apply(eventPath.pop(),data)!==!1||!acceptData(elem)||ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)&&(tmp=elem[ontype],tmp&&(elem[ontype]=null),jQuery.event.triggered=type,elem[type](),jQuery.event.triggered=void 0,tmp&&(elem[ontype]=tmp)),event.result}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});jQuery.event.trigger(e,null,elem),e.isDefaultPrevented()&&event.preventDefault()}}),jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];return elem?jQuery.event.trigger(type,data,elem,!0):void 0}}),jQuery.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}}),support.focusin=\"onfocusin\"in window,support.focusin||jQuery.each({focus:\"focusin\",blur:\"focusout\"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);attaches||doc.addEventListener(orig,handler,!0),dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;attaches?dataPriv.access(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),dataPriv.remove(doc,fix))}}});var location=window.location,nonce=jQuery.now(),rquery=/\\?/;jQuery.parseJSON=function(data){return JSON.parse(data+\"\")},jQuery.parseXML=function(data){var xml;if(!data||\"string\"!=typeof data)return null;try{xml=(new window.DOMParser).parseFromString(data,\"text/xml\")}catch(e){xml=void 0}return(!xml||xml.getElementsByTagName(\"parsererror\").length)&&jQuery.error(\"Invalid XML: \"+data),xml};var rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\\/\\//,prefilters={},transports={},allTypes=\"*/\".concat(\"*\"),originAnchor=document.createElement(\"a\");originAnchor.href=location.href,jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:\"GET\",isLocal:rlocalProtocol.test(location.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":allTypes,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":jQuery.parseJSON,\"text xml\":jQuery.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;2!==state&&(state=2,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=void 0,responseHeadersString=headers||\"\",jqXHR.readyState=status>0?4:0,isSuccess=status>=200&&300>status||304===status,responses&&(response=ajaxHandleResponses(s,jqXHR,responses)),response=ajaxConvert(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&(modified=jqXHR.getResponseHeader(\"Last-Modified\"),modified&&(jQuery.lastModified[cacheURL]=modified),modified=jqXHR.getResponseHeader(\"etag\"),modified&&(jQuery.etag[cacheURL]=modified)),204===status||\"HEAD\"===s.type?statusText=\"nocontent\":304===status?statusText=\"notmodified\":(statusText=response.state,success=response.data,error=response.error,isSuccess=!error)):(error=statusText,(status||!statusText)&&(statusText=\"error\",0>status&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+\"\",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(_statusCode),_statusCode=void 0,fireGlobals&&globalEventContext.trigger(isSuccess?\"ajaxSuccess\":\"ajaxError\",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger(\"ajaxComplete\",[jqXHR,s]),--jQuery.active||jQuery.event.trigger(\"ajaxStop\")))}\"object\"===(\"undefined\"==typeof url?\"undefined\":_typeof(url))&&(options=url,url=void 0),options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,fireGlobals,i,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks(\"once memory\"),_statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort=\"canceled\",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(2===state){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return 2===state?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();return state||(name=requestHeadersNames[lname]=requestHeadersNames[lname]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return state||(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(2>state)for(code in map)_statusCode[code]=[_statusCode[code],map[code]];else jqXHR.always(map[jqXHR.status]);return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR).complete=completeDeferred.add,jqXHR.success=jqXHR.done,jqXHR.error=jqXHR.fail,s.url=((url||s.url||location.href)+\"\").replace(rhash,\"\").replace(rprotocol,location.protocol+\"//\"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=jQuery.trim(s.dataType||\"*\").toLowerCase().match(rnotwhite)||[\"\"],null==s.crossDomain){urlAnchor=document.createElement(\"a\");try{urlAnchor.href=s.url,urlAnchor.href=urlAnchor.href,s.crossDomain=originAnchor.protocol+\"//\"+originAnchor.host!=urlAnchor.protocol+\"//\"+urlAnchor.host}catch(e){s.crossDomain=!0}}if(s.data&&s.processData&&\"string\"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),2===state)return jqXHR;fireGlobals=jQuery.event&&s.global,fireGlobals&&0===jQuery.active++&&jQuery.event.trigger(\"ajaxStart\"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url,s.hasContent||(s.data&&(cacheURL=s.url+=(rquery.test(cacheURL)?\"&\":\"?\")+s.data,delete s.data),s.cache===!1&&(s.url=rts.test(cacheURL)?cacheURL.replace(rts,\"$1_=\"+nonce++):cacheURL+(rquery.test(cacheURL)?\"&\":\"?\")+\"_=\"+nonce++)),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader(\"If-Modified-Since\",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader(\"If-None-Match\",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&s.contentType!==!1||options.contentType)&&jqXHR.setRequestHeader(\"Content-Type\",s.contentType),jqXHR.setRequestHeader(\"Accept\",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(\"*\"!==s.dataTypes[0]?\", \"+allTypes+\"; q=0.01\":\"\"):s.accepts[\"*\"]);for(i in s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===!1||2===state))return jqXHR.abort();strAbort=\"abort\";for(i in{success:1,error:1,complete:1})jqXHR[i](s[i]);if(transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger(\"ajaxSend\",[jqXHR,s]),2===state)return jqXHR;s.async&&s.timeout>0&&(timeoutTimer=window.setTimeout(function(){jqXHR.abort(\"timeout\")},s.timeout));try{state=1,transport.send(requestHeaders,done)}catch(e){if(!(2>state))throw e;done(-1,e)}}else done(-1,\"No Transport\");return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,\"json\")},getScript:function(url,callback){return jQuery.get(url,void 0,callback,\"script\")}}),jQuery.each([\"get\",\"post\"],function(i,method){jQuery[method]=function(url,data,callback,type){return jQuery.isFunction(data)&&(type=type||callback,callback=data,data=void 0),jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}}),jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0})},jQuery.fn.extend({wrapAll:function(html){var wrap;return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapAll(html.call(this,i))}):(this[0]&&(wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstElementChild;)elem=elem.firstElementChild;return elem}).append(this)),this)},wrapInner:function(html){return this.each(jQuery.isFunction(html)?function(i){jQuery(this).wrapInner(html.call(this,i))}:function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){jQuery.nodeName(this,\"body\")||jQuery(this).replaceWith(this.childNodes)}).end()}}),jQuery.expr.filters.hidden=function(elem){return!jQuery.expr.filters.visible(elem)},jQuery.expr.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0||elem.getClientRects().length>0};var r20=/%20/g,rbracket=/\\[\\]$/,rCRLF=/\\r?\\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():null==value?\"\":value,s[s.length]=encodeURIComponent(key)+\"=\"+encodeURIComponent(value)};if(void 0===traditional&&(traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional),jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a))jQuery.each(a,function(){add(this.name,this.value)});else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join(\"&\").replace(r20,\"+\")},jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,\"elements\");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(\":disabled\")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return null==val?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,\"\\r\\n\")}}):{name:elem.name,value:val.replace(rCRLF,\"\\r\\n\")}}).get()}}),jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&\"withCredentials\"in xhrSupported,support.ajax=xhrSupported=!!xhrSupported,jQuery.ajaxTransport(function(options){var _callback,errorCallback;return support.cors||xhrSupported&&!options.crossDomain?{send:function(headers,complete){var i,xhr=options.xhr();if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),options.crossDomain||headers[\"X-Requested-With\"]||(headers[\"X-Requested-With\"]=\"XMLHttpRequest\");for(i in headers)xhr.setRequestHeader(i,headers[i]);_callback=function(type){return function(){_callback&&(_callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null,\"abort\"===type?xhr.abort():\"error\"===type?\"number\"!=typeof xhr.status?complete(0,\"error\"):complete(xhr.status,xhr.statusText):complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,\"text\"!==(xhr.responseType||\"text\")||\"string\"!=typeof xhr.responseText?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders()))}},xhr.onload=_callback(),errorCallback=xhr.onerror=_callback(\"error\"),void 0!==xhr.onabort?xhr.onabort=errorCallback:xhr.onreadystatechange=function(){4===xhr.readyState&&window.setTimeout(function(){_callback&&errorCallback()})},_callback=_callback(\"abort\");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(_callback)throw e}},abort:function(){_callback&&_callback()}}:void 0}),jQuery.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(text){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter(\"script\",function(s){void 0===s.cache&&(s.cache=!1),s.crossDomain&&(s.type=\"GET\")}),jQuery.ajaxTransport(\"script\",function(s){if(s.crossDomain){var script,_callback2;return{send:function(_,complete){script=jQuery(\"<script>\").prop({charset:s.scriptCharset,src:s.url}).on(\"load error\",_callback2=function(evt){script.remove(),_callback2=null,evt&&complete(\"error\"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){_callback2&&_callback2()}}}});var oldCallbacks=[],rjsonp=/(=)\\?(?=&|$)|\\?\\?/;jQuery.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+\"_\"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter(\"json jsonp\",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==!1&&(rjsonp.test(s.url)?\"url\":\"string\"==typeof s.data&&0===(s.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&rjsonp.test(s.data)&&\"data\");\n\nreturn jsonProp||\"jsonp\"===s.dataTypes[0]?(callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,\"$1\"+callbackName):s.jsonp!==!1&&(s.url+=(rquery.test(s.url)?\"&\":\"?\")+s.jsonp+\"=\"+callbackName),s.converters[\"script json\"]=function(){return responseContainer||jQuery.error(callbackName+\" was not called\"),responseContainer[0]},s.dataTypes[0]=\"json\",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&jQuery.isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),\"script\"):void 0}),support.createHTMLDocument=function(){var body=document.implementation.createHTMLDocument(\"\").body;return body.innerHTML=\"<form></form><form></form>\",2===body.childNodes.length}(),jQuery.parseHTML=function(data,context,keepScripts){if(!data||\"string\"!=typeof data)return null;\"boolean\"==typeof context&&(keepScripts=context,context=!1),context=context||(support.createHTMLDocument?document.implementation.createHTMLDocument(\"\"):document);var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];return parsed?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if(\"string\"!=typeof url&&_load)return _load.apply(this,arguments);var selector,type,response,self=this,off=url.indexOf(\" \");return off>-1&&(selector=jQuery.trim(url.slice(off)),url=url.slice(0,off)),jQuery.isFunction(params)?(callback=params,params=void 0):params&&\"object\"===(\"undefined\"==typeof params?\"undefined\":_typeof(params))&&(type=\"POST\"),self.length>0&&jQuery.ajax({url:url,type:type||\"GET\",dataType:\"html\",data:params}).done(function(responseText){response=arguments,self.html(selector?jQuery(\"<div>\").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(self,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,\"position\"),curElem=jQuery(elem),props={};\"static\"===position&&(elem.style.position=\"relative\"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,\"top\"),curCSSLeft=jQuery.css(elem,\"left\"),calculatePosition=(\"absolute\"===position||\"fixed\"===position)&&(curCSSTop+curCSSLeft).indexOf(\"auto\")>-1,calculatePosition?(curPosition=curElem.position(),curTop=curPosition.top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),jQuery.isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),\"using\"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var docElem,win,elem=this[0],box={top:0,left:0},doc=elem&&elem.ownerDocument;if(doc)return docElem=doc.documentElement,jQuery.contains(docElem,elem)?(box=elem.getBoundingClientRect(),win=getWindow(doc),{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft}):box},position:function(){if(this[0]){var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};return\"fixed\"===jQuery.css(elem,\"position\")?offset=elem.getBoundingClientRect():(offsetParent=this.offsetParent(),offset=this.offset(),jQuery.nodeName(offsetParent[0],\"html\")||(parentOffset=offsetParent.offset()),parentOffset.top+=jQuery.css(offsetParent[0],\"borderTopWidth\",!0)-offsetParent.scrollTop(),parentOffset.left+=jQuery.css(offsetParent[0],\"borderLeftWidth\",!0)-offsetParent.scrollLeft()),{top:offset.top-parentOffset.top-jQuery.css(elem,\"marginTop\",!0),left:offset.left-parentOffset.left-jQuery.css(elem,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&\"static\"===jQuery.css(offsetParent,\"position\");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(method,prop){var top=\"pageYOffset\"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);return void 0===val?win?win[prop]:elem[method]:void(win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):elem[method]=val)},method,val,arguments.length)}}),jQuery.each([\"top\",\"left\"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){return computed?(computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+\"px\":computed):void 0})}),jQuery.each({Height:\"height\",Width:\"width\"},function(name,type){jQuery.each({padding:\"inner\"+name,content:type,\"\":\"outer\"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||\"boolean\"!=typeof margin),extra=defaultExtra||(margin===!0||value===!0?\"margin\":\"border\");return access(this,function(elem,type,value){var doc;return jQuery.isWindow(elem)?elem.document.documentElement[\"client\"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body[\"scroll\"+name],doc[\"scroll\"+name],elem.body[\"offset\"+name],doc[\"offset\"+name],doc[\"client\"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable,null)}})}),jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,\"**\"):this.off(types,selector||\"**\",fn)},size:function(){return this.length}}),jQuery.fn.andSelf=jQuery.fn.addBack,\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return jQuery});var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery}),/*!\n * https://github.com/paulmillr/es6-shim\n * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)\n * and contributors, MIT License\n * es6-shim: v0.34.4\n * see https://github.com/paulmillr/es6-shim/blob/0.34.4/LICENSE\n * Details and documentation:\n * https://github.com/paulmillr/es6-shim/\n */\nfunction(root,factory){\"function\"==typeof define&&define.amd?define(\"es6-shim\",factory):\"object\"===(\"undefined\"==typeof exports?\"undefined\":_typeof(exports))?module.exports=factory():root.returnExports=factory()}(this,function(){var ArrayIterator,_apply=Function.call.bind(Function.apply),_call=Function.call.bind(Function.call),isArray=Array.isArray,keys=Object.keys,not=function(func){return function(){return!_apply(func,this,arguments)}},throwsError=function(func){try{return func(),!1}catch(e){return!0}},valueOrFalseIfThrows=function(func){try{return func()}catch(e){return!1}},isCallableWithoutNew=not(throwsError),arePropertyDescriptorsSupported=function(){return!throwsError(function(){Object.defineProperty({},\"x\",{get:function(){}})})},supportsDescriptors=!!Object.defineProperty&&arePropertyDescriptorsSupported(),functionsHaveNames=\"foo\"===function(){}.name,_forEach=Function.call.bind(Array.prototype.forEach),_reduce=Function.call.bind(Array.prototype.reduce),_filter=Function.call.bind(Array.prototype.filter),_some=Function.call.bind(Array.prototype.some),defineProperty=function(object,name,value,force){!force&&name in object||(supportsDescriptors?Object.defineProperty(object,name,{configurable:!0,enumerable:!1,writable:!0,value:value}):object[name]=value)},defineProperties=function(object,map,forceOverride){_forEach(keys(map),function(name){var method=map[name];defineProperty(object,name,method,!!forceOverride)})},_toString=Function.call.bind(Object.prototype.toString),isCallable=\"function\"==typeof/abc/?function(x){return\"function\"==typeof x&&\"[object Function]\"===_toString(x)}:function(x){return\"function\"==typeof x},Value={getter:function(object,name,_getter){if(!supportsDescriptors)throw new TypeError(\"getters require true ES5 support\");Object.defineProperty(object,name,{configurable:!0,enumerable:!1,get:_getter})},proxy:function(originalObject,key,targetObject){if(!supportsDescriptors)throw new TypeError(\"getters require true ES5 support\");var originalDescriptor=Object.getOwnPropertyDescriptor(originalObject,key);Object.defineProperty(targetObject,key,{configurable:originalDescriptor.configurable,enumerable:originalDescriptor.enumerable,get:function(){return originalObject[key]},set:function(value){originalObject[key]=value}})},redefine:function(object,property,newValue){if(supportsDescriptors){var descriptor=Object.getOwnPropertyDescriptor(object,property);descriptor.value=newValue,Object.defineProperty(object,property,descriptor)}else object[property]=newValue},defineByDescriptor:function(object,property,descriptor){supportsDescriptors?Object.defineProperty(object,property,descriptor):\"value\"in descriptor&&(object[property]=descriptor.value)},preserveToString:function(target,source){source&&isCallable(source.toString)&&defineProperty(target,\"toString\",source.toString.bind(source),!0)}},create=Object.create||function(prototype,properties){var Prototype=function(){};Prototype.prototype=prototype;var object=new Prototype;return\"undefined\"!=typeof properties&&keys(properties).forEach(function(key){Value.defineByDescriptor(object,key,properties[key])}),object},supportsSubclassing=function(C,f){return Object.setPrototypeOf?valueOrFalseIfThrows(function(){var Sub=function Subclass(arg){var o=new C(arg);return Object.setPrototypeOf(o,Subclass.prototype),o};return Object.setPrototypeOf(Sub,C),Sub.prototype=create(C.prototype,{constructor:{value:Sub}}),f(Sub)}):!1},getGlobal=function(){if(\"undefined\"!=typeof self)return self;if(\"undefined\"!=typeof window)return window;if(\"undefined\"!=typeof global)return global;throw new Error(\"unable to locate global object\")},globals=getGlobal(),globalIsFinite=globals.isFinite,_indexOf=Function.call.bind(String.prototype.indexOf),_concat=Function.call.bind(Array.prototype.concat),_sort=Function.call.bind(Array.prototype.sort),_strSlice=Function.call.bind(String.prototype.slice),_push=Function.call.bind(Array.prototype.push),_pushApply=Function.apply.bind(Array.prototype.push),_shift=Function.call.bind(Array.prototype.shift),_max=Math.max,_min=Math.min,_floor=Math.floor,_abs=Math.abs,_log=Math.log,_sqrt=Math.sqrt,_hasOwnProperty=Function.call.bind(Object.prototype.hasOwnProperty),noop=function(){},_Symbol=globals.Symbol||{},symbolSpecies=_Symbol.species||\"@@species\",numberIsNaN=Number.isNaN||function(value){return value!==value},numberIsFinite=Number.isFinite||function(value){return\"number\"==typeof value&&globalIsFinite(value)},isStandardArguments=function(value){return\"[object Arguments]\"===_toString(value)},isLegacyArguments=function(value){return null!==value&&\"object\"===(\"undefined\"==typeof value?\"undefined\":_typeof(value))&&\"number\"==typeof value.length&&value.length>=0&&\"[object Array]\"!==_toString(value)&&\"[object Function]\"===_toString(value.callee)},isArguments=isStandardArguments(arguments)?isStandardArguments:isLegacyArguments,Type={primitive:function(x){return null===x||\"function\"!=typeof x&&\"object\"!==(\"undefined\"==typeof x?\"undefined\":_typeof(x))},object:function(x){return null!==x&&\"object\"===(\"undefined\"==typeof x?\"undefined\":_typeof(x))},string:function(x){return\"[object String]\"===_toString(x)},regex:function(x){return\"[object RegExp]\"===_toString(x)},symbol:function(x){return\"function\"==typeof globals.Symbol&&\"symbol\"===(\"undefined\"==typeof x?\"undefined\":_typeof(x))}},overrideNative=function(object,property,replacement){var original=object[property];defineProperty(object,property,replacement,!0),Value.preserveToString(object[property],original)},hasSymbols=\"function\"==typeof _Symbol&&\"function\"==typeof _Symbol[\"for\"]&&Type.symbol(_Symbol()),$iterator$=Type.symbol(_Symbol.iterator)?_Symbol.iterator:\"_es6-shim iterator_\";globals.Set&&\"function\"==typeof(new globals.Set)[\"@@iterator\"]&&($iterator$=\"@@iterator\"),globals.Reflect||defineProperty(globals,\"Reflect\",{});var Reflect=globals.Reflect,$String=String,ES={Call:function(F,V){var args=arguments.length>2?arguments[2]:[];if(!ES.IsCallable(F))throw new TypeError(F+\" is not a function\");return _apply(F,V,args)},RequireObjectCoercible:function(x,optMessage){if(null==x)throw new TypeError(optMessage||\"Cannot call method on \"+x);return x},TypeIsObject:function(x){return void 0===x||null===x||x===!0||x===!1?!1:\"function\"==typeof x||\"object\"===(\"undefined\"==typeof x?\"undefined\":_typeof(x))},ToObject:function(o,optMessage){return Object(ES.RequireObjectCoercible(o,optMessage))},IsCallable:isCallable,IsConstructor:function(x){return ES.IsCallable(x)},ToInt32:function(x){return ES.ToNumber(x)>>0},ToUint32:function(x){return ES.ToNumber(x)>>>0},ToNumber:function(value){if(\"[object Symbol]\"===_toString(value))throw new TypeError(\"Cannot convert a Symbol value to a number\");return+value},ToInteger:function(value){var number=ES.ToNumber(value);return numberIsNaN(number)?0:0!==number&&numberIsFinite(number)?(number>0?1:-1)*_floor(_abs(number)):number},ToLength:function(value){var len=ES.ToInteger(value);return 0>=len?0:len>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:len},SameValue:function(a,b){return a===b?0===a?1/a===1/b:!0:numberIsNaN(a)&&numberIsNaN(b)},SameValueZero:function(a,b){return a===b||numberIsNaN(a)&&numberIsNaN(b)},IsIterable:function(o){return ES.TypeIsObject(o)&&(\"undefined\"!=typeof o[$iterator$]||isArguments(o))},GetIterator:function(o){if(isArguments(o))return new ArrayIterator(o,\"value\");var itFn=ES.GetMethod(o,$iterator$);if(!ES.IsCallable(itFn))throw new TypeError(\"value is not an iterable\");var it=ES.Call(itFn,o);if(!ES.TypeIsObject(it))throw new TypeError(\"bad iterator\");return it},GetMethod:function(o,p){var func=ES.ToObject(o)[p];if(void 0===func||null===func)return void 0;if(!ES.IsCallable(func))throw new TypeError(\"Method not callable: \"+p);return func},IteratorComplete:function(iterResult){return!!iterResult.done},IteratorClose:function(iterator,completionIsThrow){var returnMethod=ES.GetMethod(iterator,\"return\");if(void 0!==returnMethod){var innerResult,innerException;try{innerResult=ES.Call(returnMethod,iterator)}catch(e){innerException=e}if(!completionIsThrow){if(innerException)throw innerException;if(!ES.TypeIsObject(innerResult))throw new TypeError(\"Iterator's return method returned a non-object.\")}}},IteratorNext:function(it){var result=arguments.length>1?it.next(arguments[1]):it.next();if(!ES.TypeIsObject(result))throw new TypeError(\"bad iterator\");return result},IteratorStep:function(it){var result=ES.IteratorNext(it),done=ES.IteratorComplete(result);return done?!1:result},Construct:function(C,args,newTarget,isES6internal){var target=\"undefined\"==typeof newTarget?C:newTarget;if(!isES6internal&&Reflect.construct)return Reflect.construct(C,args,target);var proto=target.prototype;ES.TypeIsObject(proto)||(proto=Object.prototype);var obj=create(proto),result=ES.Call(C,obj,args);return ES.TypeIsObject(result)?result:obj},SpeciesConstructor:function(O,defaultConstructor){var C=O.constructor;if(void 0===C)return defaultConstructor;if(!ES.TypeIsObject(C))throw new TypeError(\"Bad constructor\");var S=C[symbolSpecies];if(void 0===S||null===S)return defaultConstructor;if(!ES.IsConstructor(S))throw new TypeError(\"Bad @@species\");return S},CreateHTML:function(string,tag,attribute,value){var S=ES.ToString(string),p1=\"<\"+tag;if(\"\"!==attribute){var V=ES.ToString(value),escapedV=V.replace(/\"/g,\""\");p1+=\" \"+attribute+'=\"'+escapedV+'\"'}var p2=p1+\">\",p3=p2+S;return p3+\"</\"+tag+\">\"},IsRegExp:function(argument){if(!ES.TypeIsObject(argument))return!1;var isRegExp=argument[_Symbol.match];return\"undefined\"!=typeof isRegExp?!!isRegExp:Type.regex(argument)},ToString:function(string){return $String(string)}};if(supportsDescriptors&&hasSymbols){var defineWellKnownSymbol=function(name){if(Type.symbol(_Symbol[name]))return _Symbol[name];var sym=_Symbol[\"for\"](\"Symbol.\"+name);return Object.defineProperty(_Symbol,name,{configurable:!1,enumerable:!1,writable:!1,value:sym}),sym};if(!Type.symbol(_Symbol.search)){var symbolSearch=defineWellKnownSymbol(\"search\"),originalSearch=String.prototype.search;defineProperty(RegExp.prototype,symbolSearch,function(string){return ES.Call(originalSearch,string,[this])});var searchShim=function(regexp){var O=ES.RequireObjectCoercible(this);if(null!==regexp&&\"undefined\"!=typeof regexp){var searcher=ES.GetMethod(regexp,symbolSearch);if(\"undefined\"!=typeof searcher)return ES.Call(searcher,regexp,[O])}return ES.Call(originalSearch,O,[ES.ToString(regexp)])};overrideNative(String.prototype,\"search\",searchShim)}if(!Type.symbol(_Symbol.replace)){var symbolReplace=defineWellKnownSymbol(\"replace\"),originalReplace=String.prototype.replace;defineProperty(RegExp.prototype,symbolReplace,function(string,replaceValue){return ES.Call(originalReplace,string,[this,replaceValue])});var replaceShim=function(searchValue,replaceValue){var O=ES.RequireObjectCoercible(this);if(null!==searchValue&&\"undefined\"!=typeof searchValue){var replacer=ES.GetMethod(searchValue,symbolReplace);if(\"undefined\"!=typeof replacer)return ES.Call(replacer,searchValue,[O,replaceValue])}return ES.Call(originalReplace,O,[ES.ToString(searchValue),replaceValue])};overrideNative(String.prototype,\"replace\",replaceShim)}if(!Type.symbol(_Symbol.split)){var symbolSplit=defineWellKnownSymbol(\"split\"),originalSplit=String.prototype.split;defineProperty(RegExp.prototype,symbolSplit,function(string,limit){return ES.Call(originalSplit,string,[this,limit])});var splitShim=function(separator,limit){var O=ES.RequireObjectCoercible(this);if(null!==separator&&\"undefined\"!=typeof separator){var splitter=ES.GetMethod(separator,symbolSplit);if(\"undefined\"!=typeof splitter)return ES.Call(splitter,separator,[O,limit])}return ES.Call(originalSplit,O,[ES.ToString(separator),limit])};overrideNative(String.prototype,\"split\",splitShim)}var symbolMatchExists=Type.symbol(_Symbol.match),stringMatchIgnoresSymbolMatch=symbolMatchExists&&function(){var o={};return o[_Symbol.match]=function(){return 42},42!==\"a\".match(o)}();if(!symbolMatchExists||stringMatchIgnoresSymbolMatch){var symbolMatch=defineWellKnownSymbol(\"match\"),originalMatch=String.prototype.match;defineProperty(RegExp.prototype,symbolMatch,function(string){return ES.Call(originalMatch,string,[this])});var matchShim=function(regexp){var O=ES.RequireObjectCoercible(this);if(null!==regexp&&\"undefined\"!=typeof regexp){var matcher=ES.GetMethod(regexp,symbolMatch);if(\"undefined\"!=typeof matcher)return ES.Call(matcher,regexp,[O])}return ES.Call(originalMatch,O,[ES.ToString(regexp)])};overrideNative(String.prototype,\"match\",matchShim)}}var wrapConstructor=function(original,replacement,keysToSkip){Value.preserveToString(replacement,original),Object.setPrototypeOf&&Object.setPrototypeOf(original,replacement),supportsDescriptors?_forEach(Object.getOwnPropertyNames(original),function(key){key in noop||keysToSkip[key]||Value.proxy(original,key,replacement)}):_forEach(Object.keys(original),function(key){key in noop||keysToSkip[key]||(replacement[key]=original[key])}),replacement.prototype=original.prototype,Value.redefine(original.prototype,\"constructor\",replacement)},defaultSpeciesGetter=function(){return this},addDefaultSpecies=function(C){supportsDescriptors&&!_hasOwnProperty(C,symbolSpecies)&&Value.getter(C,symbolSpecies,defaultSpeciesGetter)},addIterator=function(prototype,impl){var implementation=impl||function(){return this};defineProperty(prototype,$iterator$,implementation),!prototype[$iterator$]&&Type.symbol($iterator$)&&(prototype[$iterator$]=implementation)},createDataProperty=function(object,name,value){supportsDescriptors?Object.defineProperty(object,name,{configurable:!0,enumerable:!0,writable:!0,value:value}):object[name]=value},createDataPropertyOrThrow=function(object,name,value){if(createDataProperty(object,name,value),!ES.SameValue(object[name],value))throw new TypeError(\"property is nonconfigurable\")},emulateES6construct=function(o,defaultNewTarget,defaultProto,slots){if(!ES.TypeIsObject(o))throw new TypeError(\"Constructor requires `new`: \"+defaultNewTarget.name);var proto=defaultNewTarget.prototype;ES.TypeIsObject(proto)||(proto=defaultProto);var obj=create(proto);for(var name in slots)if(_hasOwnProperty(slots,name)){var value=slots[name];defineProperty(obj,name,value,!0)}return obj};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var originalFromCodePoint=String.fromCodePoint;overrideNative(String,\"fromCodePoint\",function(){return ES.Call(originalFromCodePoint,this,arguments)})}var StringShims={fromCodePoint:function(){for(var next,result=[],i=0,length=arguments.length;length>i;i++){if(next=Number(arguments[i]),!ES.SameValue(next,ES.ToInteger(next))||0>next||next>1114111)throw new RangeError(\"Invalid code point \"+next);65536>next?_push(result,String.fromCharCode(next)):(next-=65536,_push(result,String.fromCharCode((next>>10)+55296)),_push(result,String.fromCharCode(next%1024+56320)))}return result.join(\"\")},raw:function(callSite){var cooked=ES.ToObject(callSite,\"bad callSite\"),rawString=ES.ToObject(cooked.raw,\"bad raw value\"),len=rawString.length,literalsegments=ES.ToLength(len);if(0>=literalsegments)return\"\";for(var nextKey,next,nextSeg,nextSub,stringElements=[],nextIndex=0;literalsegments>nextIndex&&(nextKey=ES.ToString(nextIndex),nextSeg=ES.ToString(rawString[nextKey]),_push(stringElements,nextSeg),!(nextIndex+1>=literalsegments));)next=nextIndex+1<arguments.length?arguments[nextIndex+1]:\"\",nextSub=ES.ToString(next),_push(stringElements,nextSub),nextIndex+=1;return stringElements.join(\"\")}};String.raw&&\"xy\"!==String.raw({raw:{0:\"x\",1:\"y\",length:2}})&&overrideNative(String,\"raw\",StringShims.raw),defineProperties(String,StringShims);var stringRepeat=function repeat(s,times){if(1>times)return\"\";if(times%2)return repeat(s,times-1)+s;var half=repeat(s,times/2);return half+half},stringMaxLength=1/0,StringPrototypeShims={repeat:function(times){var thisStr=ES.ToString(ES.RequireObjectCoercible(this)),numTimes=ES.ToInteger(times);if(0>numTimes||numTimes>=stringMaxLength)throw new RangeError(\"repeat count must be less than infinity and not overflow maximum string size\");return stringRepeat(thisStr,numTimes)},startsWith:function(searchString){var S=ES.ToString(ES.RequireObjectCoercible(this));if(ES.IsRegExp(searchString))throw new TypeError('Cannot call method \"startsWith\" with a regex');var position,searchStr=ES.ToString(searchString);arguments.length>1&&(position=arguments[1]);var start=_max(ES.ToInteger(position),0);return _strSlice(S,start,start+searchStr.length)===searchStr},endsWith:function(searchString){var S=ES.ToString(ES.RequireObjectCoercible(this));if(ES.IsRegExp(searchString))throw new TypeError('Cannot call method \"endsWith\" with a regex');var endPosition,searchStr=ES.ToString(searchString),len=S.length;arguments.length>1&&(endPosition=arguments[1]);var pos=\"undefined\"==typeof endPosition?len:ES.ToInteger(endPosition),end=_min(_max(pos,0),len);return _strSlice(S,end-searchStr.length,end)===searchStr},includes:function(searchString){if(ES.IsRegExp(searchString))throw new TypeError('\"includes\" does not accept a RegExp');var position,searchStr=ES.ToString(searchString);return arguments.length>1&&(position=arguments[1]),-1!==_indexOf(this,searchStr,position)},codePointAt:function(pos){var thisStr=ES.ToString(ES.RequireObjectCoercible(this)),position=ES.ToInteger(pos),length=thisStr.length;if(position>=0&&length>position){var first=thisStr.charCodeAt(position),isEnd=position+1===length;if(55296>first||first>56319||isEnd)return first;var second=thisStr.charCodeAt(position+1);return 56320>second||second>57343?first:1024*(first-55296)+(second-56320)+65536}}};if(String.prototype.includes&&\"a\".includes(\"a\",1/0)!==!1&&overrideNative(String.prototype,\"includes\",StringPrototypeShims.includes),String.prototype.startsWith&&String.prototype.endsWith){var startsWithRejectsRegex=throwsError(function(){\"/a/\".startsWith(/a/)}),startsWithHandlesInfinity=valueOrFalseIfThrows(function(){return\"abc\".startsWith(\"a\",1/0)===!1});startsWithRejectsRegex&&startsWithHandlesInfinity||(overrideNative(String.prototype,\"startsWith\",StringPrototypeShims.startsWith),overrideNative(String.prototype,\"endsWith\",StringPrototypeShims.endsWith))}if(hasSymbols){var startsWithSupportsSymbolMatch=valueOrFalseIfThrows(function(){var re=/a/;return re[_Symbol.match]=!1,\"/a/\".startsWith(re)});startsWithSupportsSymbolMatch||overrideNative(String.prototype,\"startsWith\",StringPrototypeShims.startsWith);var endsWithSupportsSymbolMatch=valueOrFalseIfThrows(function(){var re=/a/;return re[_Symbol.match]=!1,\"/a/\".endsWith(re)});endsWithSupportsSymbolMatch||overrideNative(String.prototype,\"endsWith\",StringPrototypeShims.endsWith);var includesSupportsSymbolMatch=valueOrFalseIfThrows(function(){var re=/a/;return re[_Symbol.match]=!1,\"/a/\".includes(re)});includesSupportsSymbolMatch||overrideNative(String.prototype,\"includes\",StringPrototypeShims.includes)}defineProperties(String.prototype,StringPrototypeShims);var ws=[\"\t\\n\u000b\\f\\r \",\" \\u2028\",\"\\u2029\"].join(\"\"),trimRegexp=new RegExp(\"(^[\"+ws+\"]+)|([\"+ws+\"]+$)\",\"g\"),trimShim=function(){return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp,\"\")},nonWS=[\"
\",\"\",\"\"].join(\"\"),nonWSregex=new RegExp(\"[\"+nonWS+\"]\",\"g\"),isBadHexRegex=/^[\\-+]0x[0-9a-f]+$/i,hasStringTrimBug=nonWS.trim().length!==nonWS.length;defineProperty(String.prototype,\"trim\",trimShim,hasStringTrimBug);var StringIterator=function(s){ES.RequireObjectCoercible(s),this._s=ES.ToString(s),this._i=0};StringIterator.prototype.next=function(){var s=this._s,i=this._i;if(\"undefined\"==typeof s||i>=s.length)return this._s=void 0,{value:void 0,done:!0};var second,len,first=s.charCodeAt(i);return 55296>first||first>56319||i+1===s.length?len=1:(second=s.charCodeAt(i+1),len=56320>second||second>57343?1:2),this._i=i+len,{value:s.substr(i,len),done:!1}},addIterator(StringIterator.prototype),addIterator(String.prototype,function(){return new StringIterator(this)});var ArrayShims={from:function(items){var mapFn,C=this;arguments.length>1&&(mapFn=arguments[1]);var mapping,T;if(\"undefined\"==typeof mapFn)mapping=!1;else{if(!ES.IsCallable(mapFn))throw new TypeError(\"Array.from: when provided, the second argument must be a function\");arguments.length>2&&(T=arguments[2]),mapping=!0}var length,result,i,usingIterator=\"undefined\"!=typeof(isArguments(items)||ES.GetMethod(items,$iterator$));if(usingIterator){result=ES.IsConstructor(C)?Object(new C):[];var next,nextValue,iterator=ES.GetIterator(items);for(i=0;;){if(next=ES.IteratorStep(iterator),next===!1)break;nextValue=next.value;try{mapping&&(nextValue=\"undefined\"==typeof T?mapFn(nextValue,i):_call(mapFn,T,nextValue,i)),result[i]=nextValue}catch(e){throw ES.IteratorClose(iterator,!0),e}i+=1}length=i}else{var arrayLike=ES.ToObject(items);length=ES.ToLength(arrayLike.length),result=ES.IsConstructor(C)?Object(new C(length)):new Array(length);var value;for(i=0;length>i;++i)value=arrayLike[i],mapping&&(value=\"undefined\"==typeof T?mapFn(value,i):_call(mapFn,T,value,i)),result[i]=value}return result.length=length,result},of:function(){for(var len=arguments.length,C=this,A=isArray(C)||!ES.IsCallable(C)?new Array(len):ES.Construct(C,[len]),k=0;len>k;++k)createDataPropertyOrThrow(A,k,arguments[k]);return A.length=len,A}};defineProperties(Array,ArrayShims),addDefaultSpecies(Array);var iteratorResult=function(x){return{value:x,done:0===arguments.length}};ArrayIterator=function(array,kind){this.i=0,this.array=array,this.kind=kind},defineProperties(ArrayIterator.prototype,{next:function(){var i=this.i,array=this.array;if(!(this instanceof ArrayIterator))throw new TypeError(\"Not an ArrayIterator\");if(\"undefined\"!=typeof array)for(var len=ES.ToLength(array.length);len>i;i++){var retval,kind=this.kind;return\"key\"===kind?retval=i:\"value\"===kind?retval=array[i]:\"entry\"===kind&&(retval=[i,array[i]]),this.i=i+1,{value:retval,done:!1}}return this.array=void 0,{value:void 0,done:!0}}}),addIterator(ArrayIterator.prototype);var orderKeys=function(a,b){var aNumeric=String(ES.ToInteger(a))===a,bNumeric=String(ES.ToInteger(b))===b;return aNumeric&&bNumeric?b-a:aNumeric&&!bNumeric?-1:!aNumeric&&bNumeric?1:a.localeCompare(b)},getAllKeys=function(object){var ownKeys=[],keys=[];for(var key in object)_push(_hasOwnProperty(object,key)?ownKeys:keys,key);return _sort(ownKeys,orderKeys),_sort(keys,orderKeys),_concat(ownKeys,keys)},ObjectIterator=function(object,kind){defineProperties(this,{object:object,array:getAllKeys(object),kind:kind})};defineProperties(ObjectIterator.prototype,{next:function(){var key,array=this.array;if(!(this instanceof ObjectIterator))throw new TypeError(\"Not an ObjectIterator\");for(;array.length>0;)if(key=_shift(array),key in this.object)return iteratorResult(\"key\"===this.kind?key:\"value\"===this.kind?this.object[key]:[key,this.object[key]]);return iteratorResult()}}),addIterator(ObjectIterator.prototype);var arrayOfSupportsSubclassing=Array.of===ArrayShims.of||function(){var Foo=function(len){this.length=len};Foo.prototype=[];var fooArr=Array.of.apply(Foo,[1,2]);return fooArr instanceof Foo&&2===fooArr.length}();arrayOfSupportsSubclassing||overrideNative(Array,\"of\",ArrayShims.of);var ArrayPrototypeShims={copyWithin:function(target,start){var end,o=ES.ToObject(this),len=ES.ToLength(o.length),relativeTarget=ES.ToInteger(target),relativeStart=ES.ToInteger(start),to=0>relativeTarget?_max(len+relativeTarget,0):_min(relativeTarget,len),from=0>relativeStart?_max(len+relativeStart,0):_min(relativeStart,len);arguments.length>2&&(end=arguments[2]);var relativeEnd=\"undefined\"==typeof end?len:ES.ToInteger(end),finalItem=0>relativeEnd?_max(len+relativeEnd,0):_min(relativeEnd,len),count=_min(finalItem-from,len-to),direction=1;for(to>from&&from+count>to&&(direction=-1,from+=count-1,to+=count-1);count>0;)from in o?o[to]=o[from]:delete o[to],from+=direction,to+=direction,count-=1;return o},fill:function(value){var start;arguments.length>1&&(start=arguments[1]);var end;arguments.length>2&&(end=arguments[2]);var O=ES.ToObject(this),len=ES.ToLength(O.length);start=ES.ToInteger(\"undefined\"==typeof start?0:start),end=ES.ToInteger(\"undefined\"==typeof end?len:end);for(var relativeStart=0>start?_max(len+start,0):_min(start,len),relativeEnd=0>end?len+end:end,i=relativeStart;len>i&&relativeEnd>i;++i)O[i]=value;return O},find:function(predicate){var list=ES.ToObject(this),length=ES.ToLength(list.length);if(!ES.IsCallable(predicate))throw new TypeError(\"Array#find: predicate must be a function\");for(var value,thisArg=arguments.length>1?arguments[1]:null,i=0;length>i;i++)if(value=list[i],thisArg){if(_call(predicate,thisArg,value,i,list))return value}else if(predicate(value,i,list))return value},findIndex:function(predicate){var list=ES.ToObject(this),length=ES.ToLength(list.length);if(!ES.IsCallable(predicate))throw new TypeError(\"Array#findIndex: predicate must be a function\");for(var thisArg=arguments.length>1?arguments[1]:null,i=0;length>i;i++)if(thisArg){if(_call(predicate,thisArg,list[i],i,list))return i}else if(predicate(list[i],i,list))return i;return-1},keys:function(){return new ArrayIterator(this,\"key\")},values:function(){return new ArrayIterator(this,\"value\")},entries:function(){return new ArrayIterator(this,\"entry\")}};if(Array.prototype.keys&&!ES.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!ES.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[$iterator$]&&(defineProperties(Array.prototype,{values:Array.prototype[$iterator$]}),Type.symbol(_Symbol.unscopables)&&(Array.prototype[_Symbol.unscopables].values=!0)),functionsHaveNames&&Array.prototype.values&&\"values\"!==Array.prototype.values.name){var originalArrayPrototypeValues=Array.prototype.values;overrideNative(Array.prototype,\"values\",function(){return ES.Call(originalArrayPrototypeValues,this,arguments)}),defineProperty(Array.prototype,$iterator$,Array.prototype.values,!0)}defineProperties(Array.prototype,ArrayPrototypeShims),addIterator(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&addIterator(Object.getPrototypeOf([].values()));var arrayFromSwallowsNegativeLengths=function(){return valueOrFalseIfThrows(function(){return 0===Array.from({length:-1}).length})}(),arrayFromHandlesIterables=function(){var arr=Array.from([0].entries());return 1===arr.length&&isArray(arr[0])&&0===arr[0][0]&&0===arr[0][1]}();arrayFromSwallowsNegativeLengths&&arrayFromHandlesIterables||overrideNative(Array,\"from\",ArrayShims.from);var arrayFromHandlesUndefinedMapFunction=function(){return valueOrFalseIfThrows(function(){return Array.from([0],void 0)})}();if(!arrayFromHandlesUndefinedMapFunction){var origArrayFrom=Array.from;overrideNative(Array,\"from\",function(items){return arguments.length>1&&\"undefined\"!=typeof arguments[1]?ES.Call(origArrayFrom,this,arguments):_call(origArrayFrom,this,items)})}var int32sAsOne=-(Math.pow(2,32)-1),toLengthsCorrectly=function(method,reversed){var obj={length:int32sAsOne};return obj[reversed?(obj.length>>>0)-1:0]=!0,valueOrFalseIfThrows(function(){return _call(method,obj,function(){throw new RangeError(\"should not reach here\")},[]),!0})};if(!toLengthsCorrectly(Array.prototype.forEach)){var originalForEach=Array.prototype.forEach;overrideNative(Array.prototype,\"forEach\",function(){return ES.Call(originalForEach,this.length>=0?this:[],arguments)},!0)}if(!toLengthsCorrectly(Array.prototype.map)){var originalMap=Array.prototype.map;overrideNative(Array.prototype,\"map\",function(){return ES.Call(originalMap,this.length>=0?this:[],arguments)},!0)}if(!toLengthsCorrectly(Array.prototype.filter)){var originalFilter=Array.prototype.filter;overrideNative(Array.prototype,\"filter\",function(){return ES.Call(originalFilter,this.length>=0?this:[],arguments)},!0)}if(!toLengthsCorrectly(Array.prototype.some)){var originalSome=Array.prototype.some;overrideNative(Array.prototype,\"some\",function(){return ES.Call(originalSome,this.length>=0?this:[],arguments)},!0)}if(!toLengthsCorrectly(Array.prototype.every)){var originalEvery=Array.prototype.every;overrideNative(Array.prototype,\"every\",function(){return ES.Call(originalEvery,this.length>=0?this:[],arguments)},!0)}if(!toLengthsCorrectly(Array.prototype.reduce)){var originalReduce=Array.prototype.reduce;overrideNative(Array.prototype,\"reduce\",function(){return ES.Call(originalReduce,this.length>=0?this:[],arguments)},!0)}if(!toLengthsCorrectly(Array.prototype.reduceRight,!0)){var originalReduceRight=Array.prototype.reduceRight;overrideNative(Array.prototype,\"reduceRight\",function(){return ES.Call(originalReduceRight,this.length>=0?this:[],arguments)},!0)}var lacksOctalSupport=8!==Number(\"0o10\"),lacksBinarySupport=2!==Number(\"0b10\"),trimsNonWhitespace=_some(nonWS,function(c){return 0===Number(c+0+c)});if(lacksOctalSupport||lacksBinarySupport||trimsNonWhitespace){var OrigNumber=Number,binaryRegex=/^0b[01]+$/i,octalRegex=/^0o[0-7]+$/i,isBinary=binaryRegex.test.bind(binaryRegex),isOctal=octalRegex.test.bind(octalRegex),toPrimitive=function(O){var result;if(\"function\"==typeof O.valueOf&&(result=O.valueOf(),Type.primitive(result)))return result;if(\"function\"==typeof O.toString&&(result=O.toString(),Type.primitive(result)))return result;throw new TypeError(\"No default value\")},hasNonWS=nonWSregex.test.bind(nonWSregex),isBadHex=isBadHexRegex.test.bind(isBadHexRegex),NumberShim=function(){var NumberShim=function(value){var primValue;primValue=arguments.length>0?Type.primitive(value)?value:toPrimitive(value,\"number\"):0,\"string\"==typeof primValue&&(primValue=ES.Call(trimShim,primValue),isBinary(primValue)?primValue=parseInt(_strSlice(primValue,2),2):isOctal(primValue)?primValue=parseInt(_strSlice(primValue,2),8):(hasNonWS(primValue)||isBadHex(primValue))&&(primValue=0/0));var receiver=this,valueOfSucceeds=valueOrFalseIfThrows(function(){return OrigNumber.prototype.valueOf.call(receiver),!0});return receiver instanceof NumberShim&&!valueOfSucceeds?new OrigNumber(primValue):OrigNumber(primValue)};return NumberShim}();wrapConstructor(OrigNumber,NumberShim,{}),defineProperties(NumberShim,{NaN:OrigNumber.NaN,MAX_VALUE:OrigNumber.MAX_VALUE,MIN_VALUE:OrigNumber.MIN_VALUE,NEGATIVE_INFINITY:OrigNumber.NEGATIVE_INFINITY,POSITIVE_INFINITY:OrigNumber.POSITIVE_INFINITY}),Number=NumberShim,Value.redefine(globals,\"Number\",NumberShim)}var maxSafeInteger=Math.pow(2,53)-1;defineProperties(Number,{MAX_SAFE_INTEGER:maxSafeInteger,MIN_SAFE_INTEGER:-maxSafeInteger,EPSILON:2.220446049250313e-16,parseInt:globals.parseInt,parseFloat:globals.parseFloat,isFinite:numberIsFinite,isInteger:function(value){return numberIsFinite(value)&&ES.ToInteger(value)===value},isSafeInteger:function(value){return Number.isInteger(value)&&_abs(value)<=Number.MAX_SAFE_INTEGER},isNaN:numberIsNaN}),defineProperty(Number,\"parseInt\",globals.parseInt,Number.parseInt!==globals.parseInt),[,1].find(function(item,idx){return 0===idx})||overrideNative(Array.prototype,\"find\",ArrayPrototypeShims.find),0!==[,1].findIndex(function(item,idx){return 0===idx})&&overrideNative(Array.prototype,\"findIndex\",ArrayPrototypeShims.findIndex);var isEnumerableOn=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),ensureEnumerable=function(obj,prop){supportsDescriptors&&isEnumerableOn(obj,prop)&&Object.defineProperty(obj,prop,{enumerable:!1})},sliceArgs=function(){for(var initial=Number(this),len=arguments.length,desiredArgCount=len-initial,args=new Array(0>desiredArgCount?0:desiredArgCount),i=initial;len>i;++i)args[i-initial]=arguments[i];return args},assignTo=function(source){return function(target,key){return target[key]=source[key],target}},assignReducer=function(target,source){var symbols,sourceKeys=keys(Object(source));return ES.IsCallable(Object.getOwnPropertySymbols)&&(symbols=_filter(Object.getOwnPropertySymbols(Object(source)),isEnumerableOn(source))),_reduce(_concat(sourceKeys,symbols||[]),assignTo(source),target)},ObjectShims={assign:function(target){var to=ES.ToObject(target,\"Cannot convert undefined or null to object\");return _reduce(ES.Call(sliceArgs,1,arguments),assignReducer,to);\n\n},is:function(a,b){return ES.SameValue(a,b)}},assignHasPendingExceptions=Object.assign&&Object.preventExtensions&&function(){var thrower=Object.preventExtensions({1:2});try{Object.assign(thrower,\"xy\")}catch(e){return\"y\"===thrower[1]}}();if(assignHasPendingExceptions&&overrideNative(Object,\"assign\",ObjectShims.assign),defineProperties(Object,ObjectShims),supportsDescriptors){var ES5ObjectShims={setPrototypeOf:function(Object,magic){var set,checkArgs=function(O,proto){if(!ES.TypeIsObject(O))throw new TypeError(\"cannot set prototype on a non-object\");if(null!==proto&&!ES.TypeIsObject(proto))throw new TypeError(\"can only set prototype to an object or null\"+proto)},setPrototypeOf=function(O,proto){return checkArgs(O,proto),_call(set,O,proto),O};try{set=Object.getOwnPropertyDescriptor(Object.prototype,magic).set,_call(set,{},null)}catch(e){if(Object.prototype!=={}[magic])return;set=function(proto){this[magic]=proto},setPrototypeOf.polyfill=setPrototypeOf(setPrototypeOf({},null),Object.prototype)instanceof Object}return setPrototypeOf}(Object,\"__proto__\")};defineProperties(Object,ES5ObjectShims)}Object.setPrototypeOf&&Object.getPrototypeOf&&null!==Object.getPrototypeOf(Object.setPrototypeOf({},null))&&null===Object.getPrototypeOf(Object.create(null))&&!function(){var FAKENULL=Object.create(null),gpo=Object.getPrototypeOf,spo=Object.setPrototypeOf;Object.getPrototypeOf=function(o){var result=gpo(o);return result===FAKENULL?null:result},Object.setPrototypeOf=function(o,p){var proto=null===p?FAKENULL:p;return spo(o,proto)},Object.setPrototypeOf.polyfill=!1}();var objectKeysAcceptsPrimitives=!throwsError(function(){Object.keys(\"foo\")});if(!objectKeysAcceptsPrimitives){var originalObjectKeys=Object.keys;overrideNative(Object,\"keys\",function(value){return originalObjectKeys(ES.ToObject(value))}),keys=Object.keys}if(Object.getOwnPropertyNames){var objectGOPNAcceptsPrimitives=!throwsError(function(){Object.getOwnPropertyNames(\"foo\")});if(!objectGOPNAcceptsPrimitives){var cachedWindowNames=\"object\"===(\"undefined\"==typeof window?\"undefined\":_typeof(window))?Object.getOwnPropertyNames(window):[],originalObjectGetOwnPropertyNames=Object.getOwnPropertyNames;overrideNative(Object,\"getOwnPropertyNames\",function(value){var val=ES.ToObject(value);if(\"[object Window]\"===_toString(val))try{return originalObjectGetOwnPropertyNames(val)}catch(e){return _concat([],cachedWindowNames)}return originalObjectGetOwnPropertyNames(val)})}}if(Object.getOwnPropertyDescriptor){var objectGOPDAcceptsPrimitives=!throwsError(function(){Object.getOwnPropertyDescriptor(\"foo\",\"bar\")});if(!objectGOPDAcceptsPrimitives){var originalObjectGetOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;overrideNative(Object,\"getOwnPropertyDescriptor\",function(value,property){return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value),property)})}}if(Object.seal){var objectSealAcceptsPrimitives=!throwsError(function(){Object.seal(\"foo\")});if(!objectSealAcceptsPrimitives){var originalObjectSeal=Object.seal;overrideNative(Object,\"seal\",function(value){return Type.object(value)?originalObjectSeal(value):value})}}if(Object.isSealed){var objectIsSealedAcceptsPrimitives=!throwsError(function(){Object.isSealed(\"foo\")});if(!objectIsSealedAcceptsPrimitives){var originalObjectIsSealed=Object.isSealed;overrideNative(Object,\"isSealed\",function(value){return Type.object(value)?originalObjectIsSealed(value):!0})}}if(Object.freeze){var objectFreezeAcceptsPrimitives=!throwsError(function(){Object.freeze(\"foo\")});if(!objectFreezeAcceptsPrimitives){var originalObjectFreeze=Object.freeze;overrideNative(Object,\"freeze\",function(value){return Type.object(value)?originalObjectFreeze(value):value})}}if(Object.isFrozen){var objectIsFrozenAcceptsPrimitives=!throwsError(function(){Object.isFrozen(\"foo\")});if(!objectIsFrozenAcceptsPrimitives){var originalObjectIsFrozen=Object.isFrozen;overrideNative(Object,\"isFrozen\",function(value){return Type.object(value)?originalObjectIsFrozen(value):!0})}}if(Object.preventExtensions){var objectPreventExtensionsAcceptsPrimitives=!throwsError(function(){Object.preventExtensions(\"foo\")});if(!objectPreventExtensionsAcceptsPrimitives){var originalObjectPreventExtensions=Object.preventExtensions;overrideNative(Object,\"preventExtensions\",function(value){return Type.object(value)?originalObjectPreventExtensions(value):value})}}if(Object.isExtensible){var objectIsExtensibleAcceptsPrimitives=!throwsError(function(){Object.isExtensible(\"foo\")});if(!objectIsExtensibleAcceptsPrimitives){var originalObjectIsExtensible=Object.isExtensible;overrideNative(Object,\"isExtensible\",function(value){return Type.object(value)?originalObjectIsExtensible(value):!1})}}if(Object.getPrototypeOf){var objectGetProtoAcceptsPrimitives=!throwsError(function(){Object.getPrototypeOf(\"foo\")});if(!objectGetProtoAcceptsPrimitives){var originalGetProto=Object.getPrototypeOf;overrideNative(Object,\"getPrototypeOf\",function(value){return originalGetProto(ES.ToObject(value))})}}var hasFlags=supportsDescriptors&&function(){var desc=Object.getOwnPropertyDescriptor(RegExp.prototype,\"flags\");return desc&&ES.IsCallable(desc.get)}();if(supportsDescriptors&&!hasFlags){var regExpFlagsGetter=function(){if(!ES.TypeIsObject(this))throw new TypeError(\"Method called on incompatible type: must be an object.\");var result=\"\";return this.global&&(result+=\"g\"),this.ignoreCase&&(result+=\"i\"),this.multiline&&(result+=\"m\"),this.unicode&&(result+=\"u\"),this.sticky&&(result+=\"y\"),result};Value.getter(RegExp.prototype,\"flags\",regExpFlagsGetter)}var regExpSupportsFlagsWithRegex=supportsDescriptors&&valueOrFalseIfThrows(function(){return\"/a/i\"===String(new RegExp(/a/g,\"i\"))}),regExpNeedsToSupportSymbolMatch=hasSymbols&&supportsDescriptors&&function(){var regex=/./;return regex[_Symbol.match]=!1,RegExp(regex)===regex}();if(supportsDescriptors&&(!regExpSupportsFlagsWithRegex||regExpNeedsToSupportSymbolMatch)){var flagsGetter=Object.getOwnPropertyDescriptor(RegExp.prototype,\"flags\").get,sourceDesc=Object.getOwnPropertyDescriptor(RegExp.prototype,\"source\")||{},legacySourceGetter=function(){return this.source},sourceGetter=ES.IsCallable(sourceDesc.get)?sourceDesc.get:legacySourceGetter,OrigRegExp=RegExp,RegExpShim=function(){return function RegExp(pattern,flags){var patternIsRegExp=ES.IsRegExp(pattern),calledWithNew=this instanceof RegExp;if(!calledWithNew&&patternIsRegExp&&\"undefined\"==typeof flags&&pattern.constructor===RegExp)return pattern;var P=pattern,F=flags;return Type.regex(pattern)?(P=ES.Call(sourceGetter,pattern),F=\"undefined\"==typeof flags?ES.Call(flagsGetter,pattern):flags,new RegExp(P,F)):(patternIsRegExp&&(P=pattern.source,F=\"undefined\"==typeof flags?pattern.flags:flags),new OrigRegExp(pattern,flags))}}();wrapConstructor(OrigRegExp,RegExpShim,{$input:!0}),RegExp=RegExpShim,Value.redefine(globals,\"RegExp\",RegExpShim)}if(supportsDescriptors){var regexGlobals={input:\"$_\",lastMatch:\"$&\",lastParen:\"$+\",leftContext:\"$`\",rightContext:\"$'\"};_forEach(keys(regexGlobals),function(prop){prop in RegExp&&!(regexGlobals[prop]in RegExp)&&Value.getter(RegExp,regexGlobals[prop],function(){return RegExp[prop]})})}addDefaultSpecies(RegExp);var inverseEpsilon=1/Number.EPSILON,roundTiesToEven=function(n){return n+inverseEpsilon-inverseEpsilon},BINARY_32_EPSILON=Math.pow(2,-23),BINARY_32_MAX_VALUE=Math.pow(2,127)*(2-BINARY_32_EPSILON),BINARY_32_MIN_VALUE=Math.pow(2,-126),numberCLZ=Number.prototype.clz;delete Number.prototype.clz;var MathShims={acosh:function(value){var x=Number(value);return Number.isNaN(x)||1>value?0/0:1===x?0:x===1/0?x:_log(x/Math.E+_sqrt(x+1)*_sqrt(x-1)/Math.E)+1},asinh:function(value){var x=Number(value);return 0!==x&&globalIsFinite(x)?0>x?-Math.asinh(-x):_log(x+_sqrt(x*x+1)):x},atanh:function(value){var x=Number(value);return Number.isNaN(x)||-1>x||x>1?0/0:-1===x?-(1/0):1===x?1/0:0===x?x:.5*_log((1+x)/(1-x))},cbrt:function(value){var x=Number(value);if(0===x)return x;var result,negate=0>x;return negate&&(x=-x),x===1/0?result=1/0:(result=Math.exp(_log(x)/3),result=(x/(result*result)+2*result)/3),negate?-result:result},clz32:function(value){var x=Number(value),number=ES.ToUint32(x);return 0===number?32:numberCLZ?ES.Call(numberCLZ,number):31-_floor(_log(number+.5)*Math.LOG2E)},cosh:function(value){var x=Number(value);return 0===x?1:Number.isNaN(x)?0/0:globalIsFinite(x)?(0>x&&(x=-x),x>21?Math.exp(x)/2:(Math.exp(x)+Math.exp(-x))/2):1/0},expm1:function(value){var x=Number(value);if(x===-(1/0))return-1;if(!globalIsFinite(x)||0===x)return x;if(_abs(x)>.5)return Math.exp(x)-1;for(var t=x,sum=0,n=1;sum+t!==sum;)sum+=t,n+=1,t*=x/n;return sum},hypot:function(){for(var result=0,largest=0,i=0;i<arguments.length;++i){var value=_abs(Number(arguments[i]));value>largest?(result*=largest/value*(largest/value),result+=1,largest=value):result+=value>0?value/largest*(value/largest):value}return largest===1/0?1/0:largest*_sqrt(result)},log2:function(value){return _log(value)*Math.LOG2E},log10:function(value){return _log(value)*Math.LOG10E},log1p:function(value){var x=Number(value);return-1>x||Number.isNaN(x)?0/0:0===x||x===1/0?x:-1===x?-(1/0):1+x-1===0?x:x*(_log(1+x)/(1+x-1))},sign:function(value){var number=Number(value);return 0===number?number:Number.isNaN(number)?number:0>number?-1:1},sinh:function(value){var x=Number(value);return globalIsFinite(x)&&0!==x?_abs(x)<1?(Math.expm1(x)-Math.expm1(-x))/2:(Math.exp(x-1)-Math.exp(-x-1))*Math.E/2:x},tanh:function(value){var x=Number(value);if(Number.isNaN(x)||0===x)return x;if(x===1/0)return 1;if(x===-(1/0))return-1;var a=Math.expm1(x),b=Math.expm1(-x);return a===1/0?1:b===1/0?-1:(a-b)/(Math.exp(x)+Math.exp(-x))},trunc:function(value){var x=Number(value);return 0>x?-_floor(-x):_floor(x)},imul:function(x,y){var a=ES.ToUint32(x),b=ES.ToUint32(y),ah=a>>>16&65535,al=65535&a,bh=b>>>16&65535,bl=65535&b;return al*bl+(ah*bl+al*bh<<16>>>0)|0},fround:function(x){var v=Number(x);if(0===v||v===1/0||v===-(1/0)||numberIsNaN(v))return v;var sign=Math.sign(v),abs=_abs(v);if(BINARY_32_MIN_VALUE>abs)return sign*roundTiesToEven(abs/BINARY_32_MIN_VALUE/BINARY_32_EPSILON)*BINARY_32_MIN_VALUE*BINARY_32_EPSILON;var a=(1+BINARY_32_EPSILON/Number.EPSILON)*abs,result=a-(a-abs);return result>BINARY_32_MAX_VALUE||numberIsNaN(result)?sign*(1/0):sign*result}};defineProperties(Math,MathShims),defineProperty(Math,\"log1p\",MathShims.log1p,-1e-17!==Math.log1p(-1e-17)),defineProperty(Math,\"asinh\",MathShims.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),defineProperty(Math,\"tanh\",MathShims.tanh,-2e-17!==Math.tanh(-2e-17)),defineProperty(Math,\"acosh\",MathShims.acosh,Math.acosh(Number.MAX_VALUE)===1/0),defineProperty(Math,\"cbrt\",MathShims.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8),defineProperty(Math,\"sinh\",MathShims.sinh,-2e-17!==Math.sinh(-2e-17));var expm1OfTen=Math.expm1(10);defineProperty(Math,\"expm1\",MathShims.expm1,expm1OfTen>22025.465794806718||22025.465794806718>expm1OfTen);var origMathRound=Math.round,roundHandlesBoundaryConditions=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(-.5+Number.EPSILON/3.99),smallestPositiveNumberWhereRoundBreaks=inverseEpsilon+1,largestPositiveNumberWhereRoundBreaks=2*inverseEpsilon-1,roundDoesNotIncreaseIntegers=[smallestPositiveNumberWhereRoundBreaks,largestPositiveNumberWhereRoundBreaks].every(function(num){return Math.round(num)===num});defineProperty(Math,\"round\",function(x){var floor=_floor(x),ceil=-1===floor?-0:floor+1;return.5>x-floor?floor:ceil},!roundHandlesBoundaryConditions||!roundDoesNotIncreaseIntegers),Value.preserveToString(Math.round,origMathRound);var origImul=Math.imul;-5!==Math.imul(4294967295,5)&&(Math.imul=MathShims.imul,Value.preserveToString(Math.imul,origImul)),2!==Math.imul.length&&overrideNative(Math,\"imul\",function(){return ES.Call(origImul,Math,arguments)});var PromiseShim=function(){var setTimeout=globals.setTimeout;if(\"function\"==typeof setTimeout||\"object\"===(\"undefined\"==typeof setTimeout?\"undefined\":_typeof(setTimeout))){ES.IsPromise=function(promise){return ES.TypeIsObject(promise)?\"undefined\"==typeof promise._promise?!1:!0:!1};var makeZeroTimeout,PromiseCapability=function(C){if(!ES.IsConstructor(C))throw new TypeError(\"Bad promise constructor\");var capability=this,resolver=function(resolve,reject){if(void 0!==capability.resolve||void 0!==capability.reject)throw new TypeError(\"Bad Promise implementation!\");capability.resolve=resolve,capability.reject=reject};if(capability.resolve=void 0,capability.reject=void 0,capability.promise=new C(resolver),!ES.IsCallable(capability.resolve)||!ES.IsCallable(capability.reject))throw new TypeError(\"Bad promise constructor\")};\"undefined\"!=typeof window&&ES.IsCallable(window.postMessage)&&(makeZeroTimeout=function(){var timeouts=[],messageName=\"zero-timeout-message\",setZeroTimeout=function(fn){_push(timeouts,fn),window.postMessage(messageName,\"*\")},handleMessage=function(event){if(event.source===window&&event.data===messageName){if(event.stopPropagation(),0===timeouts.length)return;var fn=_shift(timeouts);fn()}};return window.addEventListener(\"message\",handleMessage,!0),setZeroTimeout});var Promise$prototype,Promise$prototype$then,makePromiseAsap=function(){var P=globals.Promise,pr=P&&P.resolve&&P.resolve();return pr&&function(task){return pr.then(task)}},enqueue=ES.IsCallable(globals.setImmediate)?globals.setImmediate:\"object\"===(\"undefined\"==typeof process?\"undefined\":_typeof(process))&&process.nextTick?process.nextTick:makePromiseAsap()||(ES.IsCallable(makeZeroTimeout)?makeZeroTimeout():function(task){setTimeout(task,0)}),PROMISE_IDENTITY=function(x){return x},PROMISE_THROWER=function(e){throw e},PROMISE_PENDING=0,PROMISE_FULFILLED=1,PROMISE_REJECTED=2,PROMISE_FULFILL_OFFSET=0,PROMISE_REJECT_OFFSET=1,PROMISE_CAPABILITY_OFFSET=2,PROMISE_FAKE_CAPABILITY={},enqueuePromiseReactionJob=function(handler,capability,argument){enqueue(function(){promiseReactionJob(handler,capability,argument)})},promiseReactionJob=function(handler,promiseCapability,argument){var handlerResult,f;if(promiseCapability===PROMISE_FAKE_CAPABILITY)return handler(argument);try{handlerResult=handler(argument),f=promiseCapability.resolve}catch(e){handlerResult=e,f=promiseCapability.reject}f(handlerResult)},fulfillPromise=function(promise,value){var _promise=promise._promise,length=_promise.reactionLength;if(length>0&&(enqueuePromiseReactionJob(_promise.fulfillReactionHandler0,_promise.reactionCapability0,value),_promise.fulfillReactionHandler0=void 0,_promise.rejectReactions0=void 0,_promise.reactionCapability0=void 0,length>1))for(var i=1,idx=0;length>i;i++,idx+=3)enqueuePromiseReactionJob(_promise[idx+PROMISE_FULFILL_OFFSET],_promise[idx+PROMISE_CAPABILITY_OFFSET],value),promise[idx+PROMISE_FULFILL_OFFSET]=void 0,promise[idx+PROMISE_REJECT_OFFSET]=void 0,promise[idx+PROMISE_CAPABILITY_OFFSET]=void 0;_promise.result=value,_promise.state=PROMISE_FULFILLED,_promise.reactionLength=0},rejectPromise=function(promise,reason){var _promise=promise._promise,length=_promise.reactionLength;if(length>0&&(enqueuePromiseReactionJob(_promise.rejectReactionHandler0,_promise.reactionCapability0,reason),_promise.fulfillReactionHandler0=void 0,_promise.rejectReactions0=void 0,_promise.reactionCapability0=void 0,length>1))for(var i=1,idx=0;length>i;i++,idx+=3)enqueuePromiseReactionJob(_promise[idx+PROMISE_REJECT_OFFSET],_promise[idx+PROMISE_CAPABILITY_OFFSET],reason),promise[idx+PROMISE_FULFILL_OFFSET]=void 0,promise[idx+PROMISE_REJECT_OFFSET]=void 0,promise[idx+PROMISE_CAPABILITY_OFFSET]=void 0;_promise.result=reason,_promise.state=PROMISE_REJECTED,_promise.reactionLength=0},createResolvingFunctions=function(promise){var alreadyResolved=!1,resolve=function(resolution){var then;if(!alreadyResolved){if(alreadyResolved=!0,resolution===promise)return rejectPromise(promise,new TypeError(\"Self resolution\"));if(!ES.TypeIsObject(resolution))return fulfillPromise(promise,resolution);try{then=resolution.then}catch(e){return rejectPromise(promise,e)}return ES.IsCallable(then)?void enqueue(function(){promiseResolveThenableJob(promise,resolution,then)}):fulfillPromise(promise,resolution)}},reject=function(reason){return alreadyResolved?void 0:(alreadyResolved=!0,rejectPromise(promise,reason))};return{resolve:resolve,reject:reject}},optimizedThen=function(then,thenable,resolve,reject){then===Promise$prototype$then?_call(then,thenable,resolve,reject,PROMISE_FAKE_CAPABILITY):_call(then,thenable,resolve,reject)},promiseResolveThenableJob=function(promise,thenable,then){var resolvingFunctions=createResolvingFunctions(promise),resolve=resolvingFunctions.resolve,reject=resolvingFunctions.reject;try{optimizedThen(then,thenable,resolve,reject)}catch(e){reject(e)}},Promise=function(){var PromiseShim=function(resolver){if(!(this instanceof PromiseShim))throw new TypeError('Constructor Promise requires \"new\"');if(this&&this._promise)throw new TypeError(\"Bad construction\");if(!ES.IsCallable(resolver))throw new TypeError(\"not a valid resolver\");var promise=emulateES6construct(this,PromiseShim,Promise$prototype,{_promise:{result:void 0,state:PROMISE_PENDING,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),resolvingFunctions=createResolvingFunctions(promise),reject=resolvingFunctions.reject;try{resolver(resolvingFunctions.resolve,reject)}catch(e){reject(e)}return promise};return PromiseShim}();Promise$prototype=Promise.prototype;var _promiseAllResolver=function(index,values,capability,remaining){var alreadyCalled=!1;return function(x){if(!alreadyCalled&&(alreadyCalled=!0,values[index]=x,0===--remaining.count)){var resolve=capability.resolve;resolve(values)}}},performPromiseAll=function(iteratorRecord,C,resultCapability){for(var next,nextValue,it=iteratorRecord.iterator,values=[],remaining={count:1},index=0;;){try{if(next=ES.IteratorStep(it),next===!1){iteratorRecord.done=!0;break}nextValue=next.value}catch(e){throw iteratorRecord.done=!0,e}values[index]=void 0;var nextPromise=C.resolve(nextValue),resolveElement=_promiseAllResolver(index,values,resultCapability,remaining);remaining.count+=1,optimizedThen(nextPromise.then,nextPromise,resolveElement,resultCapability.reject),index+=1}if(0===--remaining.count){var resolve=resultCapability.resolve;resolve(values)}return resultCapability.promise},performPromiseRace=function(iteratorRecord,C,resultCapability){for(var next,nextValue,nextPromise,it=iteratorRecord.iterator;;){try{if(next=ES.IteratorStep(it),next===!1){iteratorRecord.done=!0;break}nextValue=next.value}catch(e){throw iteratorRecord.done=!0,e}nextPromise=C.resolve(nextValue),optimizedThen(nextPromise.then,nextPromise,resultCapability.resolve,resultCapability.reject)}return resultCapability.promise};return defineProperties(Promise,{all:function(iterable){var C=this;if(!ES.TypeIsObject(C))throw new TypeError(\"Promise is not object\");var iterator,iteratorRecord,capability=new PromiseCapability(C);try{return iterator=ES.GetIterator(iterable),iteratorRecord={iterator:iterator,done:!1},performPromiseAll(iteratorRecord,C,capability)}catch(e){var exception=e;if(iteratorRecord&&!iteratorRecord.done)try{ES.IteratorClose(iterator,!0)}catch(ee){exception=ee}var reject=capability.reject;return reject(exception),capability.promise}},race:function(iterable){var C=this;if(!ES.TypeIsObject(C))throw new TypeError(\"Promise is not object\");var iterator,iteratorRecord,capability=new PromiseCapability(C);try{return iterator=ES.GetIterator(iterable),iteratorRecord={iterator:iterator,done:!1},performPromiseRace(iteratorRecord,C,capability)}catch(e){var exception=e;if(iteratorRecord&&!iteratorRecord.done)try{ES.IteratorClose(iterator,!0)}catch(ee){exception=ee}var reject=capability.reject;return reject(exception),capability.promise}},reject:function(reason){var C=this;if(!ES.TypeIsObject(C))throw new TypeError(\"Bad promise constructor\");var capability=new PromiseCapability(C),rejectFunc=capability.reject;return rejectFunc(reason),capability.promise},resolve:function(v){var C=this;if(!ES.TypeIsObject(C))throw new TypeError(\"Bad promise constructor\");if(ES.IsPromise(v)){var constructor=v.constructor;if(constructor===C)return v}var capability=new PromiseCapability(C),resolveFunc=capability.resolve;return resolveFunc(v),capability.promise}}),defineProperties(Promise$prototype,{\"catch\":function(onRejected){return this.then(null,onRejected)},then:function(onFulfilled,onRejected){var promise=this;if(!ES.IsPromise(promise))throw new TypeError(\"not a promise\");var resultCapability,C=ES.SpeciesConstructor(promise,Promise),returnValueIsIgnored=arguments.length>2&&arguments[2]===PROMISE_FAKE_CAPABILITY;resultCapability=returnValueIsIgnored&&C===Promise?PROMISE_FAKE_CAPABILITY:new PromiseCapability(C);var value,fulfillReactionHandler=ES.IsCallable(onFulfilled)?onFulfilled:PROMISE_IDENTITY,rejectReactionHandler=ES.IsCallable(onRejected)?onRejected:PROMISE_THROWER,_promise=promise._promise;if(_promise.state===PROMISE_PENDING){if(0===_promise.reactionLength)_promise.fulfillReactionHandler0=fulfillReactionHandler,_promise.rejectReactionHandler0=rejectReactionHandler,_promise.reactionCapability0=resultCapability;else{var idx=3*(_promise.reactionLength-1);_promise[idx+PROMISE_FULFILL_OFFSET]=fulfillReactionHandler,_promise[idx+PROMISE_REJECT_OFFSET]=rejectReactionHandler,_promise[idx+PROMISE_CAPABILITY_OFFSET]=resultCapability}_promise.reactionLength+=1}else if(_promise.state===PROMISE_FULFILLED)value=_promise.result,enqueuePromiseReactionJob(fulfillReactionHandler,resultCapability,value);else{if(_promise.state!==PROMISE_REJECTED)throw new TypeError(\"unexpected Promise state\");value=_promise.result,enqueuePromiseReactionJob(rejectReactionHandler,resultCapability,value)}return resultCapability.promise}}),PROMISE_FAKE_CAPABILITY=new PromiseCapability(Promise),Promise$prototype$then=Promise$prototype.then,Promise}}();if(globals.Promise&&(delete globals.Promise.accept,delete globals.Promise.defer,delete globals.Promise.prototype.chain),\"function\"==typeof PromiseShim){defineProperties(globals,{Promise:PromiseShim});var promiseSupportsSubclassing=supportsSubclassing(globals.Promise,function(S){return S.resolve(42).then(function(){})instanceof S}),promiseIgnoresNonFunctionThenCallbacks=!throwsError(function(){globals.Promise.reject(42).then(null,5).then(null,noop)}),promiseRequiresObjectContext=throwsError(function(){globals.Promise.call(3,noop)}),promiseResolveBroken=function(Promise){var p=Promise.resolve(5);p.constructor={};var p2=Promise.resolve(p);try{p2.then(null,noop).then(null,noop)}catch(e){return!0}return p===p2}(globals.Promise),getsThenSynchronously=supportsDescriptors&&function(){var count=0,thenable=Object.defineProperty({},\"then\",{get:function(){count+=1}});return Promise.resolve(thenable),1===count}(),BadResolverPromise=function BadResolverPromise(executor){var p=new Promise(executor);executor(3,function(){}),this.then=p.then,this.constructor=BadResolverPromise};BadResolverPromise.prototype=Promise.prototype,BadResolverPromise.all=Promise.all;var hasBadResolverPromise=valueOrFalseIfThrows(function(){return!!BadResolverPromise.all([1,2])});if(promiseSupportsSubclassing&&promiseIgnoresNonFunctionThenCallbacks&&promiseRequiresObjectContext&&!promiseResolveBroken&&getsThenSynchronously&&!hasBadResolverPromise||(Promise=PromiseShim,overrideNative(globals,\"Promise\",PromiseShim)),1!==Promise.all.length){var origAll=Promise.all;overrideNative(Promise,\"all\",function(){return ES.Call(origAll,this,arguments)})}if(1!==Promise.race.length){var origRace=Promise.race;overrideNative(Promise,\"race\",function(){return ES.Call(origRace,this,arguments)})}if(1!==Promise.resolve.length){var origResolve=Promise.resolve;overrideNative(Promise,\"resolve\",function(){return ES.Call(origResolve,this,arguments)})}if(1!==Promise.reject.length){var origReject=Promise.reject;overrideNative(Promise,\"reject\",function(){return ES.Call(origReject,this,arguments)})}ensureEnumerable(Promise,\"all\"),ensureEnumerable(Promise,\"race\"),ensureEnumerable(Promise,\"resolve\"),ensureEnumerable(Promise,\"reject\"),addDefaultSpecies(Promise)}var testOrder=function(a){var b=keys(_reduce(a,function(o,k){return o[k]=!0,o},{}));return a.join(\":\")===b.join(\":\")},preservesInsertionOrder=testOrder([\"z\",\"a\",\"bb\"]),preservesNumericInsertionOrder=testOrder([\"z\",1,\"a\",\"3\",2]);if(supportsDescriptors){var fastkey=function(key){return preservesInsertionOrder?\"undefined\"==typeof key||null===key?\"^\"+ES.ToString(key):\"string\"==typeof key?\"$\"+key:\"number\"==typeof key?preservesNumericInsertionOrder?key:\"n\"+key:\"boolean\"==typeof key?\"b\"+key:null:null},emptyObject=function(){return Object.create?Object.create(null):{}},addIterableToMap=function(MapConstructor,map,iterable){if(isArray(iterable)||Type.string(iterable))_forEach(iterable,function(entry){if(!ES.TypeIsObject(entry))throw new TypeError(\"Iterator value \"+entry+\" is not an entry object\");map.set(entry[0],entry[1])});else if(iterable instanceof MapConstructor)_call(MapConstructor.prototype.forEach,iterable,function(value,key){map.set(key,value)});else{var iter,adder;if(null!==iterable&&\"undefined\"!=typeof iterable){if(adder=map.set,!ES.IsCallable(adder))throw new TypeError(\"bad map\");iter=ES.GetIterator(iterable)}if(\"undefined\"!=typeof iter)for(;;){var next=ES.IteratorStep(iter);if(next===!1)break;var nextItem=next.value;try{if(!ES.TypeIsObject(nextItem))throw new TypeError(\"Iterator value \"+nextItem+\" is not an entry object\");_call(adder,map,nextItem[0],nextItem[1])}catch(e){throw ES.IteratorClose(iter,!0),e}}}},addIterableToSet=function(SetConstructor,set,iterable){if(isArray(iterable)||Type.string(iterable))_forEach(iterable,function(value){set.add(value)});else if(iterable instanceof SetConstructor)_call(SetConstructor.prototype.forEach,iterable,function(value){set.add(value)});else{var iter,adder;if(null!==iterable&&\"undefined\"!=typeof iterable){if(adder=set.add,!ES.IsCallable(adder))throw new TypeError(\"bad set\");iter=ES.GetIterator(iterable)}if(\"undefined\"!=typeof iter)for(;;){var next=ES.IteratorStep(iter);if(next===!1)break;var nextValue=next.value;try{_call(adder,set,nextValue)}catch(e){throw ES.IteratorClose(iter,!0),e}}}},collectionShims={Map:function(){var empty={},MapEntry=function(key,value){this.key=key,this.value=value,this.next=null,this.prev=null};MapEntry.prototype.isRemoved=function(){return this.key===empty};var isMap=function(map){return!!map._es6map},requireMapSlot=function(map,method){if(!ES.TypeIsObject(map)||!isMap(map))throw new TypeError(\"Method Map.prototype.\"+method+\" called on incompatible receiver \"+ES.ToString(map))},MapIterator=function(map,kind){requireMapSlot(map,\"[[MapIterator]]\"),this.head=map._head,this.i=this.head,this.kind=kind};MapIterator.prototype={next:function(){var result,i=this.i,kind=this.kind,head=this.head;if(\"undefined\"==typeof this.i)return{value:void 0,done:!0};for(;i.isRemoved()&&i!==head;)i=i.prev;for(;i.next!==head;)if(i=i.next,!i.isRemoved())return result=\"key\"===kind?i.key:\"value\"===kind?i.value:[i.key,i.value],this.i=i,{value:result,done:!1};return this.i=void 0,{value:void 0,done:!0}}},addIterator(MapIterator.prototype);var Map$prototype,MapShim=function Map(){if(!(this instanceof Map))throw new TypeError('Constructor Map requires \"new\"');if(this&&this._es6map)throw new TypeError(\"Bad construction\");var map=emulateES6construct(this,Map,Map$prototype,{_es6map:!0,_head:null,_storage:emptyObject(),_size:0}),head=new MapEntry(null,null);return head.next=head.prev=head,map._head=head,arguments.length>0&&addIterableToMap(Map,map,arguments[0]),map};return Map$prototype=MapShim.prototype,Value.getter(Map$prototype,\"size\",function(){if(\"undefined\"==typeof this._size)throw new TypeError(\"size method called on incompatible Map\");return this._size}),defineProperties(Map$prototype,{get:function(key){requireMapSlot(this,\"get\");var fkey=fastkey(key);if(null!==fkey){var entry=this._storage[fkey];return entry?entry.value:void 0}for(var head=this._head,i=head;(i=i.next)!==head;)if(ES.SameValueZero(i.key,key))return i.value},has:function(key){requireMapSlot(this,\"has\");var fkey=fastkey(key);if(null!==fkey)return\"undefined\"!=typeof this._storage[fkey];for(var head=this._head,i=head;(i=i.next)!==head;)if(ES.SameValueZero(i.key,key))return!0;return!1},set:function(key,value){requireMapSlot(this,\"set\");var entry,head=this._head,i=head,fkey=fastkey(key);if(null!==fkey){if(\"undefined\"!=typeof this._storage[fkey])return this._storage[fkey].value=value,this;entry=this._storage[fkey]=new MapEntry(key,value),i=head.prev}for(;(i=i.next)!==head;)if(ES.SameValueZero(i.key,key))return i.value=value,this;return entry=entry||new MapEntry(key,value),ES.SameValue(-0,key)&&(entry.key=0),entry.next=this._head,entry.prev=this._head.prev,entry.prev.next=entry,entry.next.prev=entry,this._size+=1,this},\"delete\":function(key){requireMapSlot(this,\"delete\");var head=this._head,i=head,fkey=fastkey(key);if(null!==fkey){if(\"undefined\"==typeof this._storage[fkey])return!1;i=this._storage[fkey].prev,delete this._storage[fkey]}for(;(i=i.next)!==head;)if(ES.SameValueZero(i.key,key))return i.key=i.value=empty,i.prev.next=i.next,i.next.prev=i.prev,this._size-=1,!0;return!1},clear:function(){requireMapSlot(this,\"clear\"),this._size=0,this._storage=emptyObject();for(var head=this._head,i=head,p=i.next;(i=p)!==head;)i.key=i.value=empty,p=i.next,i.next=i.prev=head;head.next=head.prev=head},keys:function(){return requireMapSlot(this,\"keys\"),new MapIterator(this,\"key\")},values:function(){return requireMapSlot(this,\"values\"),new MapIterator(this,\"value\")},entries:function(){return requireMapSlot(this,\"entries\"),new MapIterator(this,\"key+value\")},forEach:function(callback){requireMapSlot(this,\"forEach\");for(var context=arguments.length>1?arguments[1]:null,it=this.entries(),entry=it.next();!entry.done;entry=it.next())context?_call(callback,context,entry.value[1],entry.value[0],this):callback(entry.value[1],entry.value[0],this)}}),addIterator(Map$prototype,Map$prototype.entries),MapShim}(),Set:function(){var Set$prototype,isSet=function(set){return set._es6set&&\"undefined\"!=typeof set._storage},requireSetSlot=function(set,method){if(!ES.TypeIsObject(set)||!isSet(set))throw new TypeError(\"Set.prototype.\"+method+\" called on incompatible receiver \"+ES.ToString(set))},SetShim=function Set(){if(!(this instanceof Set))throw new TypeError('Constructor Set requires \"new\"');if(this&&this._es6set)throw new TypeError(\"Bad construction\");var set=emulateES6construct(this,Set,Set$prototype,{_es6set:!0,\"[[SetData]]\":null,_storage:emptyObject()});if(!set._es6set)throw new TypeError(\"bad set\");return arguments.length>0&&addIterableToSet(Set,set,arguments[0]),set};Set$prototype=SetShim.prototype;var decodeKey=function(key){var k=key;if(\"^null\"===k)return null;if(\"^undefined\"===k)return void 0;var first=k.charAt(0);return\"$\"===first?_strSlice(k,1):\"n\"===first?+_strSlice(k,1):\"b\"===first?\"btrue\"===k:+k},ensureMap=function(set){if(!set[\"[[SetData]]\"]){var m=set[\"[[SetData]]\"]=new collectionShims.Map;_forEach(keys(set._storage),function(key){var k=decodeKey(key);m.set(k,k)}),set[\"[[SetData]]\"]=m}set._storage=null};return Value.getter(SetShim.prototype,\"size\",function(){return requireSetSlot(this,\"size\"),this._storage?keys(this._storage).length:(ensureMap(this),this[\"[[SetData]]\"].size)}),defineProperties(SetShim.prototype,{has:function(key){requireSetSlot(this,\"has\");var fkey;return this._storage&&null!==(fkey=fastkey(key))?!!this._storage[fkey]:(ensureMap(this),this[\"[[SetData]]\"].has(key))},add:function(key){requireSetSlot(this,\"add\");var fkey;return this._storage&&null!==(fkey=fastkey(key))?(this._storage[fkey]=!0,this):(ensureMap(this),this[\"[[SetData]]\"].set(key,key),this)},\"delete\":function(key){requireSetSlot(this,\"delete\");var fkey;if(this._storage&&null!==(fkey=fastkey(key))){var hasFKey=_hasOwnProperty(this._storage,fkey);return delete this._storage[fkey]&&hasFKey}return ensureMap(this),this[\"[[SetData]]\"][\"delete\"](key)},clear:function(){requireSetSlot(this,\"clear\"),this._storage&&(this._storage=emptyObject()),this[\"[[SetData]]\"]&&this[\"[[SetData]]\"].clear()},\nvalues:function(){return requireSetSlot(this,\"values\"),ensureMap(this),this[\"[[SetData]]\"].values()},entries:function(){return requireSetSlot(this,\"entries\"),ensureMap(this),this[\"[[SetData]]\"].entries()},forEach:function(callback){requireSetSlot(this,\"forEach\");var context=arguments.length>1?arguments[1]:null,entireSet=this;ensureMap(entireSet),this[\"[[SetData]]\"].forEach(function(value,key){context?_call(callback,context,key,key,entireSet):callback(key,key,entireSet)})}}),defineProperty(SetShim.prototype,\"keys\",SetShim.prototype.values,!0),addIterator(SetShim.prototype,SetShim.prototype.values),SetShim}()};if(globals.Map||globals.Set){var mapAcceptsArguments=valueOrFalseIfThrows(function(){return 2===new Map([[1,2]]).get(1)});if(!mapAcceptsArguments){var OrigMapNoArgs=globals.Map;globals.Map=function Map(){if(!(this instanceof Map))throw new TypeError('Constructor Map requires \"new\"');var m=new OrigMapNoArgs;return arguments.length>0&&addIterableToMap(Map,m,arguments[0]),delete m.constructor,Object.setPrototypeOf(m,globals.Map.prototype),m},globals.Map.prototype=create(OrigMapNoArgs.prototype),defineProperty(globals.Map.prototype,\"constructor\",globals.Map,!0),Value.preserveToString(globals.Map,OrigMapNoArgs)}var testMap=new Map,mapUsesSameValueZero=function(){var m=new Map([[1,0],[2,0],[3,0],[4,0]]);return m.set(-0,m),m.get(0)===m&&m.get(-0)===m&&m.has(0)&&m.has(-0)}(),mapSupportsChaining=testMap.set(1,2)===testMap;if(!mapUsesSameValueZero||!mapSupportsChaining){var origMapSet=Map.prototype.set;overrideNative(Map.prototype,\"set\",function(k,v){return _call(origMapSet,this,0===k?0:k,v),this})}if(!mapUsesSameValueZero){var origMapGet=Map.prototype.get,origMapHas=Map.prototype.has;defineProperties(Map.prototype,{get:function(k){return _call(origMapGet,this,0===k?0:k)},has:function(k){return _call(origMapHas,this,0===k?0:k)}},!0),Value.preserveToString(Map.prototype.get,origMapGet),Value.preserveToString(Map.prototype.has,origMapHas)}var testSet=new Set,setUsesSameValueZero=function(s){return s[\"delete\"](0),s.add(-0),!s.has(0)}(testSet),setSupportsChaining=testSet.add(1)===testSet;if(!setUsesSameValueZero||!setSupportsChaining){var origSetAdd=Set.prototype.add;Set.prototype.add=function(v){return _call(origSetAdd,this,0===v?0:v),this},Value.preserveToString(Set.prototype.add,origSetAdd)}if(!setUsesSameValueZero){var origSetHas=Set.prototype.has;Set.prototype.has=function(v){return _call(origSetHas,this,0===v?0:v)},Value.preserveToString(Set.prototype.has,origSetHas);var origSetDel=Set.prototype[\"delete\"];Set.prototype[\"delete\"]=function(v){return _call(origSetDel,this,0===v?0:v)},Value.preserveToString(Set.prototype[\"delete\"],origSetDel)}var mapSupportsSubclassing=supportsSubclassing(globals.Map,function(M){var m=new M([]);return m.set(42,42),m instanceof M}),mapFailsToSupportSubclassing=Object.setPrototypeOf&&!mapSupportsSubclassing,mapRequiresNew=function(){try{return!(globals.Map()instanceof globals.Map)}catch(e){return e instanceof TypeError}}();if(0!==globals.Map.length||mapFailsToSupportSubclassing||!mapRequiresNew){var OrigMap=globals.Map;globals.Map=function Map(){if(!(this instanceof Map))throw new TypeError('Constructor Map requires \"new\"');var m=new OrigMap;return arguments.length>0&&addIterableToMap(Map,m,arguments[0]),delete m.constructor,Object.setPrototypeOf(m,Map.prototype),m},globals.Map.prototype=OrigMap.prototype,defineProperty(globals.Map.prototype,\"constructor\",globals.Map,!0),Value.preserveToString(globals.Map,OrigMap)}var setSupportsSubclassing=supportsSubclassing(globals.Set,function(S){var s=new S([]);return s.add(42,42),s instanceof S}),setFailsToSupportSubclassing=Object.setPrototypeOf&&!setSupportsSubclassing,setRequiresNew=function(){try{return!(globals.Set()instanceof globals.Set)}catch(e){return e instanceof TypeError}}();if(0!==globals.Set.length||setFailsToSupportSubclassing||!setRequiresNew){var OrigSet=globals.Set;globals.Set=function Set(){if(!(this instanceof Set))throw new TypeError('Constructor Set requires \"new\"');var s=new OrigSet;return arguments.length>0&&addIterableToSet(Set,s,arguments[0]),delete s.constructor,Object.setPrototypeOf(s,Set.prototype),s},globals.Set.prototype=OrigSet.prototype,defineProperty(globals.Set.prototype,\"constructor\",globals.Set,!0),Value.preserveToString(globals.Set,OrigSet)}var mapIterationThrowsStopIterator=!valueOrFalseIfThrows(function(){return(new Map).keys().next().done});if((\"function\"!=typeof globals.Map.prototype.clear||0!==(new globals.Set).size||0!==(new globals.Map).size||\"function\"!=typeof globals.Map.prototype.keys||\"function\"!=typeof globals.Set.prototype.keys||\"function\"!=typeof globals.Map.prototype.forEach||\"function\"!=typeof globals.Set.prototype.forEach||isCallableWithoutNew(globals.Map)||isCallableWithoutNew(globals.Set)||\"function\"!=typeof(new globals.Map).keys().next||mapIterationThrowsStopIterator||!mapSupportsSubclassing)&&defineProperties(globals,{Map:collectionShims.Map,Set:collectionShims.Set},!0),globals.Set.prototype.keys!==globals.Set.prototype.values&&defineProperty(globals.Set.prototype,\"keys\",globals.Set.prototype.values,!0),addIterator(Object.getPrototypeOf((new globals.Map).keys())),addIterator(Object.getPrototypeOf((new globals.Set).keys())),functionsHaveNames&&\"has\"!==globals.Set.prototype.has.name){var anonymousSetHas=globals.Set.prototype.has;overrideNative(globals.Set.prototype,\"has\",function(key){return _call(anonymousSetHas,this,key)})}}defineProperties(globals,collectionShims),addDefaultSpecies(globals.Map),addDefaultSpecies(globals.Set)}var throwUnlessTargetIsObject=function(target){if(!ES.TypeIsObject(target))throw new TypeError(\"target must be an object\")},ReflectShims={apply:function(){return ES.Call(ES.Call,null,arguments)},construct:function(constructor,args){if(!ES.IsConstructor(constructor))throw new TypeError(\"First argument must be a constructor.\");var newTarget=arguments.length>2?arguments[2]:constructor;if(!ES.IsConstructor(newTarget))throw new TypeError(\"new.target must be a constructor.\");return ES.Construct(constructor,args,newTarget,\"internal\")},deleteProperty:function(target,key){if(throwUnlessTargetIsObject(target),supportsDescriptors){var desc=Object.getOwnPropertyDescriptor(target,key);if(desc&&!desc.configurable)return!1}return delete target[key]},enumerate:function(target){return throwUnlessTargetIsObject(target),new ObjectIterator(target,\"key\")},has:function(target,key){return throwUnlessTargetIsObject(target),key in target}};Object.getOwnPropertyNames&&Object.assign(ReflectShims,{ownKeys:function(target){throwUnlessTargetIsObject(target);var keys=Object.getOwnPropertyNames(target);return ES.IsCallable(Object.getOwnPropertySymbols)&&_pushApply(keys,Object.getOwnPropertySymbols(target)),keys}});var callAndCatchException=function(func){return!throwsError(func)};if(Object.preventExtensions&&Object.assign(ReflectShims,{isExtensible:function(target){return throwUnlessTargetIsObject(target),Object.isExtensible(target)},preventExtensions:function(target){return throwUnlessTargetIsObject(target),callAndCatchException(function(){Object.preventExtensions(target)})}}),supportsDescriptors){var internalGet=function(target,key,receiver){var desc=Object.getOwnPropertyDescriptor(target,key);if(!desc){var parent=Object.getPrototypeOf(target);return null===parent?void 0:internalGet(parent,key,receiver)}return\"value\"in desc?desc.value:desc.get?ES.Call(desc.get,receiver):void 0},internalSet=function(target,key,value,receiver){var desc=Object.getOwnPropertyDescriptor(target,key);if(!desc){var parent=Object.getPrototypeOf(target);if(null!==parent)return internalSet(parent,key,value,receiver);desc={value:void 0,writable:!0,enumerable:!0,configurable:!0}}if(\"value\"in desc){if(!desc.writable)return!1;if(!ES.TypeIsObject(receiver))return!1;var existingDesc=Object.getOwnPropertyDescriptor(receiver,key);return existingDesc?Reflect.defineProperty(receiver,key,{value:value}):Reflect.defineProperty(receiver,key,{value:value,writable:!0,enumerable:!0,configurable:!0})}return desc.set?(_call(desc.set,receiver,value),!0):!1};Object.assign(ReflectShims,{defineProperty:function(target,propertyKey,attributes){return throwUnlessTargetIsObject(target),callAndCatchException(function(){Object.defineProperty(target,propertyKey,attributes)})},getOwnPropertyDescriptor:function(target,propertyKey){return throwUnlessTargetIsObject(target),Object.getOwnPropertyDescriptor(target,propertyKey)},get:function(target,key){throwUnlessTargetIsObject(target);var receiver=arguments.length>2?arguments[2]:target;return internalGet(target,key,receiver)},set:function(target,key,value){throwUnlessTargetIsObject(target);var receiver=arguments.length>3?arguments[3]:target;return internalSet(target,key,value,receiver)}})}if(Object.getPrototypeOf){var objectDotGetPrototypeOf=Object.getPrototypeOf;ReflectShims.getPrototypeOf=function(target){return throwUnlessTargetIsObject(target),objectDotGetPrototypeOf(target)}}if(Object.setPrototypeOf&&ReflectShims.getPrototypeOf){var willCreateCircularPrototype=function(object,lastProto){for(var proto=lastProto;proto;){if(object===proto)return!0;proto=ReflectShims.getPrototypeOf(proto)}return!1};Object.assign(ReflectShims,{setPrototypeOf:function(object,proto){if(throwUnlessTargetIsObject(object),null!==proto&&!ES.TypeIsObject(proto))throw new TypeError(\"proto must be an object or null\");return proto===Reflect.getPrototypeOf(object)?!0:Reflect.isExtensible&&!Reflect.isExtensible(object)?!1:willCreateCircularPrototype(object,proto)?!1:(Object.setPrototypeOf(object,proto),!0)}})}var defineOrOverrideReflectProperty=function(key,shim){if(ES.IsCallable(globals.Reflect[key])){var acceptsPrimitives=valueOrFalseIfThrows(function(){return globals.Reflect[key](1),globals.Reflect[key](0/0),globals.Reflect[key](!0),!0});acceptsPrimitives&&overrideNative(globals.Reflect,key,shim)}else defineProperty(globals.Reflect,key,shim)};if(Object.keys(ReflectShims).forEach(function(key){defineOrOverrideReflectProperty(key,ReflectShims[key])}),functionsHaveNames&&\"getPrototypeOf\"!==globals.Reflect.getPrototypeOf.name){var originalReflectGetProto=globals.Reflect.getPrototypeOf;overrideNative(globals.Reflect,\"getPrototypeOf\",function(target){return _call(originalReflectGetProto,globals.Reflect,target)})}if(globals.Reflect.setPrototypeOf&&valueOrFalseIfThrows(function(){return globals.Reflect.setPrototypeOf(1,{}),!0})&&overrideNative(globals.Reflect,\"setPrototypeOf\",ReflectShims.setPrototypeOf),globals.Reflect.defineProperty&&(valueOrFalseIfThrows(function(){var basic=!globals.Reflect.defineProperty(1,\"test\",{value:1}),extensible=\"function\"!=typeof Object.preventExtensions||!globals.Reflect.defineProperty(Object.preventExtensions({}),\"test\",{});return basic&&extensible})||overrideNative(globals.Reflect,\"defineProperty\",ReflectShims.defineProperty)),globals.Reflect.construct&&(valueOrFalseIfThrows(function(){var F=function(){};return globals.Reflect.construct(function(){},[],F)instanceof F})||overrideNative(globals.Reflect,\"construct\",ReflectShims.construct)),\"Invalid Date\"!==String(new Date(0/0))){var dateToString=Date.prototype.toString,shimmedDateToString=function(){var valueOf=+this;return valueOf!==valueOf?\"Invalid Date\":ES.Call(dateToString,this)};overrideNative(Date.prototype,\"toString\",shimmedDateToString)}var stringHTMLshims={anchor:function(name){return ES.CreateHTML(this,\"a\",\"name\",name)},big:function(){return ES.CreateHTML(this,\"big\",\"\",\"\")},blink:function(){return ES.CreateHTML(this,\"blink\",\"\",\"\")},bold:function(){return ES.CreateHTML(this,\"b\",\"\",\"\")},fixed:function(){return ES.CreateHTML(this,\"tt\",\"\",\"\")},fontcolor:function(color){return ES.CreateHTML(this,\"font\",\"color\",color)},fontsize:function(size){return ES.CreateHTML(this,\"font\",\"size\",size)},italics:function(){return ES.CreateHTML(this,\"i\",\"\",\"\")},link:function(url){return ES.CreateHTML(this,\"a\",\"href\",url)},small:function(){return ES.CreateHTML(this,\"small\",\"\",\"\")},strike:function(){return ES.CreateHTML(this,\"strike\",\"\",\"\")},sub:function(){return ES.CreateHTML(this,\"sub\",\"\",\"\")},sup:function(){return ES.CreateHTML(this,\"sup\",\"\",\"\")}};_forEach(Object.keys(stringHTMLshims),function(key){var method=String.prototype[key],shouldOverwrite=!1;if(ES.IsCallable(method)){var output=_call(method,\"\",' \" '),quotesCount=_concat([],output.match(/\"/g)).length;shouldOverwrite=output!==output.toLowerCase()||quotesCount>2}else shouldOverwrite=!0;shouldOverwrite&&overrideNative(String.prototype,key,stringHTMLshims[key])});var JSONstringifiesSymbols=function(){if(!hasSymbols)return!1;var stringify=\"object\"===(\"undefined\"==typeof JSON?\"undefined\":_typeof(JSON))&&\"function\"==typeof JSON.stringify?JSON.stringify:null;if(!stringify)return!1;if(\"undefined\"!=typeof stringify(_Symbol()))return!0;if(\"[null]\"!==stringify([_Symbol()]))return!0;var obj={a:_Symbol()};return obj[_Symbol()]=!0,\"{}\"!==stringify(obj)?!0:!1}(),JSONstringifyAcceptsObjectSymbol=valueOrFalseIfThrows(function(){return hasSymbols?\"{}\"===JSON.stringify(Object(_Symbol()))&&\"[{}]\"===JSON.stringify([Object(_Symbol())]):!0});if(JSONstringifiesSymbols||!JSONstringifyAcceptsObjectSymbol){var origStringify=JSON.stringify;overrideNative(JSON,\"stringify\",function(value){if(\"symbol\"!==(\"undefined\"==typeof value?\"undefined\":_typeof(value))){var replacer;arguments.length>1&&(replacer=arguments[1]);var args=[value];if(isArray(replacer))args.push(replacer);else{var replaceFn=ES.IsCallable(replacer)?replacer:null,wrappedReplacer=function(key,val){var parsedValue=replaceFn?_call(replaceFn,this,key,val):val;return\"symbol\"!==(\"undefined\"==typeof parsedValue?\"undefined\":_typeof(parsedValue))?Type.symbol(parsedValue)?assignTo({})(parsedValue):parsedValue:void 0};args.push(wrappedReplacer)}return arguments.length>2&&args.push(arguments[2]),origStringify.apply(this,args)}})}return globals}),define(\"jqueryplugins\",[\"jquery\"],function($){$.prototype.extend({popAttr:function(attr){var ret=this.attr(attr);return this.removeAttr(attr),ret},popData:function(name){var ret=this.data(name);return this.removeData(name),ret},tag:function(){return this[0]&&this[0].tagName&&this[0].tagName.toLowerCase()},textNodes:function(){return 1===this.length&&this[0]instanceof Text?[this[0]]:Array.from(this.add(this.contents().add(this.find(\"*\").contents())).filter(function(){return this instanceof Text})).sort(function(left,right){return 2&left.compareDocumentPosition(right)?1:-1})},prevTextNode:function(){var elem=this.first()[0],parent=this.parent();if(!parent.length)return null;var textNodes=parent.textNodes().filter(function(e){var pos=e.compareDocumentPosition(elem);return 4&pos&&!(8&pos)});return textNodes=textNodes[textNodes.length-1],textNodes?textNodes:parent.prevTextNode()},nextTextNode:function(){var elem=this.last()[0],parent=this.parent();if(!parent.length)return null;var textNodes=parent.textNodes().filter(function(e){var pos=e.compareDocumentPosition(elem);return 2&pos&&!(8&pos)})[0];return textNodes?textNodes:parent.nextTextNode()}})}),function(){function Token(){for(var i=0;i<arguments.length;i++)for(var j in arguments[i])this[j]=arguments[i][j]}function cacheChildPos(token,childToken){token.childAt=token.childAt||{};for(var i=childToken.start;i<childToken.end;i+=1)token.childAt[i]=childToken}function shouldTest(rule,text,lastToken,unmatchedLength){return!(rule.canFollow&&!(rule.canFollow.indexOf(lastToken&&lastToken.type)>-1)||rule.cannotFollow&&(-1!==rule.cannotFollow.indexOf(lastToken&&lastToken.type)||rule.cannotFollow.indexOf(\"text\")>-1&&unmatchedLength)||rule.peek&&rule.peek!==text.slice(0,rule.peek.length))}function _lex(parentToken){for(var src=parentToken.innerText,frontTokenStack=[],index=0,firstUnmatchedIndex=index,endIndex=src.length,lastToken=null;endIndex>index;){for(var slice=src.slice(index),mode=(frontTokenStack.length?frontTokenStack[0]:parentToken).innerMode,i=0,l=mode.length;l>i;i+=1){var rule=rules[mode[i]];if(shouldTest(rule,slice,lastToken,index>firstUnmatchedIndex)&&rule.pattern.test(slice)){var match=rule.pattern.exec(slice),tokenData=rule.fn(match),isMatchingBack=!1,ft=0;if(tokenData.matches){for(;ft<frontTokenStack.length;ft+=1){var type=frontTokenStack[ft].type;if(type in tokenData.matches){isMatchingBack=!0;break}tokenData.cannotCross&&tokenData.cannotCross.indexOf(type)>-1&&(ft=frontTokenStack.length-1)}if(ft>=frontTokenStack.length&&!tokenData.isFront)continue}index>firstUnmatchedIndex&&parentToken.addChild({type:\"text\",text:src.slice(firstUnmatchedIndex,index),innerMode:mode}),lastToken=parentToken.addChild(tokenData),index+=lastToken.text.length,firstUnmatchedIndex=index,isMatchingBack&&(foldTokens(parentToken,lastToken,frontTokenStack[ft]),frontTokenStack=frontTokenStack.slice(ft+1)),lastToken.isFrontToken()&&frontTokenStack.unshift(lastToken);break}}i===l&&(index+=1,null===lastToken&&(lastToken={type:\"text\"}))}for(index>firstUnmatchedIndex&&parentToken.addChild({type:\"text\",text:src.slice(firstUnmatchedIndex,index),innerMode:(frontTokenStack.length?frontTokenStack[0]:parentToken).innerMode});frontTokenStack.length>0;)frontTokenStack.shift().demote();return parentToken}function foldTokens(parentToken,backToken,frontToken){var backTokenIndex=parentToken.children.indexOf(backToken),frontTokenIndex=parentToken.children.indexOf(frontToken);backToken.children=parentToken.children.splice(frontTokenIndex+1,backTokenIndex-(frontTokenIndex+1)),backToken.children.forEach(function(token){cacheChildPos(backToken,token)}),backToken.type=backToken.matches[frontToken.type],backToken.innerText=\"\";for(var i=0,l=backToken.children.length;l>i;i++)backToken.innerText+=backToken.children[i].text;backToken.start=frontToken.start,backToken.text=frontToken.text+backToken.innerText+backToken.text,Object.keys(frontToken).forEach(function(key){Object.hasOwnProperty.call(backToken,key)||(backToken[key]=frontToken[key])}),backToken.isFront&&(backToken.isFront=!1),parentToken.children.splice(frontTokenIndex,1),cacheChildPos(parentToken,backToken)}var Lexer=void 0,rules={};Token.prototype={constructor:Token,addChild:function(tokenData){var index=this.lastChildEnd(),childToken=new Token({start:index,end:tokenData.text&&index+tokenData.text.length,children:[]},tokenData);return childToken.innerText&&_lex(childToken),this.children.push(childToken),cacheChildPos(this,childToken),childToken},lastChild:function(){return this.children?this.children[this.children.length-1]||null:null},lastChildEnd:function(){var lastToken=this.lastChild();return lastToken?lastToken.end:this.start+Math.max(0,this.text.indexOf(this.innerText))},tokenAt:function(index){if(index<this.start||index>=this.end)return null;if(this.childAt)return this.childAt[index]&&this.childAt[index].tokenAt(index)||this;if(this.children.length)for(var i=0;i<this.children.length;i+=1){var childToken=this.children[i].tokenAt(index);if(childToken)return childToken}return this},pathAt:function(index){if(index<this.start||index>=this.end)return[];if(this.childAt)return(this.childAt[index]&&this.childAt[index].pathAt(index)||[]).concat(this);var path=[];if(this.children.length)for(var i=0;i<this.children.length;i+=1){var childPath=this.children[i].pathAt(index);if(childPath.length){path.concat(childPath);break}}return path.concat(this)},nearestTokenAt:function(index){return index<this.start||index>=this.end?null:this.children?this.children.reduce(function(prevValue,child){return prevValue||(index>=child.start&&index<child.end?child:null)},null):this},everyLeaf:function everyLeaf(fn){if(!this.children||0===this.children.length)return!!fn(this);var ret=void 0;return this.children.everyLeaf(function(){ret=ret&&!!everyLeaf(fn)})},isWhitespace:function(){return this.everyLeaf(function(e){return\"whitespace\"===e.type||!e.text.trim()})},isFrontToken:function(){return this.isFront},isBackToken:function(){return\"matches\"in this},demote:function(){this.type=\"text\"},error:function(message){this.type=\"error\",this.message=message},toString:function(){var ret=this.type+\"(\"+this.start+\"→\"+this.end+\")\";return this.children&&this.children.length>0&&(ret+=\"[\"+this.children+\"]\"),ret}},Lexer={lex:function(src,initIndex){return _lex(new Token({type:\"root\",start:initIndex||0,end:src.length,text:src,innerText:src,children:[],childAt:{},innerMode:Lexer.startMode}))},rules:rules},\"object\"===(\"undefined\"==typeof module?\"undefined\":_typeof(module))?module.exports=Lexer:\"function\"==typeof define&&define.amd?define(\"lexer\",[],function(){return Lexer}):\"function\"==typeof StoryFormat&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Lexer=Lexer):this.TwineLexer=Lexer}.call(eval(\"this\")||(\"undefined\"!=typeof global?global:window)),function(){function escape(str){return str&&\"object\"===(\"undefined\"==typeof str?\"undefined\":_typeof(str))?(Object.keys(str).forEach(function(e){str[e]=escape(str[e])}),str):(str+\"\").replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}function notChars(){return\"[^\"+Array.apply(0,arguments).map(escape).join(\"\")+\"]*\"}function makeWrapper(starter){return function(){return\"(\"+starter+Array.apply(0,arguments).join(\"|\")+\")\"}}var Patterns=void 0,either=makeWrapper(\"?:\"),notBefore=makeWrapper(\"?!\"),before=makeWrapper(\"?=\"),ws=\"[ \\\\f\\\\t\\\\v - \\u2028\\u2029 ]*\",mws=ws.replace(\"*\",\"+\"),wb=\"\\\\b\",escapedLine=\"\\\\\\\\\\\\n\\\\\\\\?|\\\\n\\\\\\\\\",br=\"\\\\n(?!\\\\\\\\)\",anyLetter=\"[\\\\w\\\\-À-Þß-ÿŐŰőű]\",anyLetterStrict=\"[\\\\wÀ-Þß-ÿŐŰőű]\",eol=either(\"\\\\n\",\"$\"),noUnescapedLineBreak=\"(\"+either(escapedLine,\"[^\\\\n]\")+\"+)\",bullet=\"\\\\*\",bulleted=ws+\"(\"+bullet+\"+)\"+mws+noUnescapedLineBreak+eol,numberPoint=\"(?:0\\\\.)\",numbered=ws+\"(\"+numberPoint+\"+)\"+mws+noUnescapedLineBreak+eol,hr=ws+\"-{3,}\"+ws+eol,heading=ws+\"(#{1,6})\"+ws+noUnescapedLineBreak+eol,align=ws+\"(==+>|<=+|=+><=+|<==+>)\"+ws+eol,passageLink={opener:\"\\\\[\\\\[(?!\\\\[)\",text:\"(\"+notChars(\"]\")+\")\",rightSeparator:either(\"\\\\->\",\"\\\\|\"),leftSeparator:\"<\\\\-\",closer:\"\\\\]\\\\]\",legacySeparator:\"\\\\|\",legacyText:\"(\"+either(\"[^\\\\|\\\\]]\",\"\\\\]\"+notBefore(\"\\\\]\"))+\"+)\"},validPropertyName=anyLetter.replace(\"\\\\-\",\"\")+\"*\"+anyLetter.replace(\"\\\\-\",\"\").replace(\"\\\\w\",\"a-zA-Z\")+anyLetter.replace(\"\\\\-\",\"\")+\"*\",variable=\"\\\\$(\"+validPropertyName+\")\",property=\"'s\"+mws+\"(\"+validPropertyName+\")\",belongingProperty=\"(\"+validPropertyName+\")\"+mws+\"of\"+wb+notBefore(\"it\"+wb),possessiveOperator=\"'s\"+mws,belongingOperator=\"of\"+wb,identifier=either(\"it\",\"time\")+wb,itsProperty=\"its\"+mws+\"(\"+validPropertyName+\")\",itsOperator=\"its\"+mws,belongingItProperty=\"(\"+validPropertyName+\")\"+mws+\"of\"+mws+\"it\"+wb,belongingItOperator=\"of\"+wb+mws+\"it\"+wb,macro={opener:\"\\\\(\",name:\"(\"+either(anyLetter.replace(\"]\",\"\\\\/]\")+anyLetter+\"*\",variable)+\"):\",closer:\"\\\\)\"},twine1Macro=\"<<[^>\\\\s]+\\\\s*(?:\\\\\\\\.|'(?:[^'\\\\\\\\]*\\\\\\\\.)*[^'\\\\\\\\]*'|\\\"(?:[^\\\"\\\\\\\\]*\\\\\\\\.)*[^\\\"\\\\\\\\]*\\\"|[^'\\\"\\\\\\\\>]|>(?!>))*>>\",tag={name:\"[a-zA-Z][\\\\w\\\\-]*\",attrs:\"(?:\\\"[^\\\"]*\\\"|'[^']*'|[^'\\\">])*?\"},hookTagFront=\"\\\\|(\"+anyLetter.replace(\"]\",\"_]\")+\"*)>\",hookTagBack=\"<(\"+anyLetter.replace(\"]\",\"_]\")+\"*)\\\\|\",number=\"\\\\b(\\\\d+(?:\\\\.\\\\d+)?(?:[eE][+\\\\-]?\\\\d+)?|NaN)\"+notBefore(\"m?s\")+\"\\\\b\";passageLink.main=passageLink.opener+either(passageLink.text+passageLink.rightSeparator,passageLink.text.replace(\"*\",\"*?\")+passageLink.leftSeparator)+passageLink.text,Patterns={upperLetter:\"[A-ZÀ-ÞŐŰ]\",lowerLetter:\"[a-z0-9_\\\\-ß-ÿőű]\",anyLetter:anyLetter,anyLetterStrict:anyLetterStrict,whitespace:mws,escapedLine:escapedLine,br:br,commentFront:\"<!--\",commentBack:\"-->\",tag:\"<\\\\/?\"+tag.name+tag.attrs+\">\",tagPeek:\"<\",scriptStyleTag:\"<(\"+either(\"script\",\"style\")+\")\"+tag.attrs+\">[^]*?<\\\\/\\\\1>\",scriptStyleTagOpener:\"<\",url:\"(\"+either(\"https?\",\"mailto\",\"javascript\",\"ftp\",\"data\")+\":\\\\/\\\\/[^\\\\s<]+[^<.,:;\\\"')\\\\]\\\\s])\",bullet:bullet,hr:hr,heading:heading,align:align,bulleted:bulleted,numbered:numbered,delOpener:escape(\"~~\"),italicOpener:escape(\"//\"),boldOpener:escape(\"''\"),supOpener:escape(\"^^\"),strongFront:escape(\"**\"),strongBack:escape(\"**\"),emFront:escape(\"*\"),emBack:escape(\"*\"),verbatimOpener:\"`+\",collapsedFront:\"{\",collapsedBack:\"}\",hookAppendedFront:\"\\\\[\",hookPrependedFront:hookTagFront+\"\\\\[\",hookAnonymousFront:\"\\\\[\",hookBack:\"\\\\]\"+notBefore(hookTagBack),hookAppendedBack:\"\\\\]\"+hookTagBack,passageLink:passageLink.main+passageLink.closer,passageLinkPeek:\"[[\",legacyLink:passageLink.opener+passageLink.legacyText+passageLink.legacySeparator+passageLink.legacyText+passageLink.closer,legacyLinkPeek:\"[[\",simpleLink:passageLink.opener+passageLink.legacyText+passageLink.closer,simpleLinkPeek:\"[[\",macroFront:macro.opener+before(macro.name),macroFrontPeek:\"(\",macroName:macro.name,groupingFront:\"\\\\(\"+notBefore(macro.name),groupingFrontPeek:\"(\",groupingBack:\"\\\\)\",twine1Macro:twine1Macro,twine1MacroPeek:\"<<\",property:property,propertyPeek:\"'s\",belongingProperty:belongingProperty,possessiveOperator:possessiveOperator,belongingOperator:belongingOperator,belongingOperatorPeek:\"of\",itsOperator:itsOperator,itsOperatorPeek:\"its\",belongingItOperator:belongingItOperator,belongingItOperatorPeek:\"of\",variable:variable,variablePeek:\"$\",hookRef:\"\\\\?(\"+anyLetter+\"+)\\\\b\",hookRefPeek:\"?\",cssTime:\"(\\\\d+\\\\.?\\\\d*|\\\\d*\\\\.?\\\\d+)(m?s)\"+wb,colour:either(either(\"Red\",\"Orange\",\"Yellow\",\"Lime\",\"Green\",\"Cyan\",\"Aqua\",\"Blue\",\"Navy\",\"Purple\",\"Fuchsia\",\"Magenta\",\"White\",\"Gray\",\"Grey\",\"Black\"),\"#[\\\\dA-Fa-f]{3}(?:[\\\\dA-Fa-f]{3})?\"),number:number,\"boolean\":either(\"true\",\"false\")+wb,identifier:identifier,itsProperty:itsProperty,itsPropertyPeek:\"its\",belongingItProperty:belongingItProperty,escapedStringChar:\"\\\\\\\\[^\\\\n]\",singleStringOpener:\"'\",doubleStringOpener:'\"',is:\"is\"+notBefore(\" not\",\" in\")+wb,isNot:\"is not\"+wb,and:\"and\"+wb,or:\"or\"+wb,not:\"not\"+wb,inequality:either(\"<(?!=)\",\"<=\",\">(?!=)\",\">=\"),isIn:\"is in\"+wb,contains:\"contains\"+wb,addition:escape(\"+\")+notBefore(\"=\"),subtraction:escape(\"-\")+notBefore(\"=\"),multiplication:escape(\"*\")+notBefore(\"=\"),division:either(\"/\",\"%\")+notBefore(\"=\"),comma:\",\",spread:\"\\\\.\\\\.\\\\.\"+notBefore(\"\\\\.\"),to:either(\"to\"+wb,\"=\"),into:\"into\"+wb,augmentedAssign:either(\"\\\\+\",\"\\\\-\",\"\\\\*\",\"\\\\/\",\"%\")+\"=\"},\"object\"===(\"undefined\"==typeof module?\"undefined\":_typeof(module))?module.exports=Patterns:\"function\"==typeof define&&define.amd?define(\"patterns\",[],function(){return Patterns}):\"function\"==typeof StoryFormat&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Patterns=Patterns):this.Patterns=Patterns}.call(eval(\"this\")||(\"undefined\"!=typeof global?global:window)),function(){function rules(Lexer){function textTokenFn(name){return name=name||\"innerText\",function(match){var innerText=match.reduceRight(function(a,b,index){return a||(index?b:\"\")},\"\"),data={};return data[name]=innerText,data}}function openerFn(name,foldedName){var matches={};return matches[name]=foldedName,function(){return{isFront:!0,matches:matches}}}function setupRules(mode,target){return Object.keys(target).forEach(function(ruleName){var innerFn=target[ruleName].fn;target[ruleName].fn=function(match){var ret=innerFn(match);return ret.text||(ret.text=match[0]),ret.type||(ret.type=ruleName),ret.innerMode||(ret.innerMode=mode),ret}}),target}var emptyFn=Object.bind(0,null),markupMode=[],macroMode=[],blockRules=setupRules(markupMode,{hr:{fn:emptyFn},bulleted:{fn:function(match){return{depth:match[1].length,innerText:match[2]}}},numbered:{fn:function(match){return{depth:match[1].length/2,innerText:match[2]}}},heading:{fn:function(match){return{depth:match[1].length,innerText:match[2]}}},align:{fn:function(match){var align=void 0,arrow=match[1],centerIndex=arrow.indexOf(\"><\");return~centerIndex?(align=Math.round(centerIndex/(arrow.length-2)*50),25===align&&(align=\"center\")):\"<\"===arrow[0]&&\">\"===arrow.slice(-1)?align=\"justify\":arrow.indexOf(\">\")>-1?align=\"right\":arrow.indexOf(\"<\")>-1&&(align=\"left\"),{align:align}}}});Object.keys(blockRules).forEach(function(key){blockRules[key].canFollow=[null,\"br\",\"hr\",\"bulleted\",\"numbered\",\"heading\",\"align\"],blockRules[key].cannotFollow=[\"text\"]});var inlineRules=setupRules(markupMode,{twine1Macro:{fn:function(){return{type:\"error\",message:\"Harlowe macros use a different syntax to Twine 1 and SugarCube macros.\"}}},br:{fn:emptyFn},emBack:{fn:function(){return{matches:{emFront:\"em\"}}}},strongBack:{fn:function(){return{matches:{strongFront:\"strong\"}}}},strongFront:{fn:function(){return{isFront:!0}}},emFront:{fn:function(){return{isFront:!0}}},boldOpener:{fn:openerFn(\"boldOpener\",\"bold\")},italicOpener:{fn:openerFn(\"italicOpener\",\"italic\")},delOpener:{fn:openerFn(\"delOpener\",\"del\")},supOpener:{fn:openerFn(\"supOpener\",\"sup\")},commentFront:{fn:function(){return{isFront:!0}}},commentBack:{fn:function(){return{matches:{commentFront:\"comment\"}}}},scriptStyleTag:{fn:emptyFn},tag:{fn:emptyFn},url:{fn:emptyFn},passageLink:{fn:function(match){var p1=match[1],p2=match[2],p3=match[3];return{type:\"twineLink\",innerText:p2?p3:p1,passage:p1?p3:p2}}},simpleLink:{fn:function(match){return{type:\"twineLink\",innerText:match[1],passage:match[1]}}},hookPrependedFront:{fn:function(match){return{name:match[1],isFront:!0,tagPosition:\"prepended\"}}},hookAnonymousFront:{fn:function(){return{isFront:!0,demote:function(){this.error(\"This tagged hook doesn't have a matching ].\")}}},canFollow:[\"macro\",\"variable\"]},hookAppendedFront:{fn:function(){return{isFront:!0}},cannotFollow:[\"macro\",\"variable\"]},hookBack:{fn:function(){return{type:\"hookAppendedBack\",matches:{hookPrependedFront:\"hook\",hookAnonymousFront:\"hook\"}}}},hookAppendedBack:{fn:function(match){return{name:match[1],tagPosition:\"appended\",matches:{hookAppendedFront:\"hook\"}}}},verbatimOpener:{fn:function(match){var number=match[0].length,matches={};return matches[\"verbatim\"+number]=\"verbatim\",{type:\"verbatim\"+number,isFront:!0,matches:matches}}},collapsedFront:{fn:function(){return{isFront:!0}}},collapsedBack:{fn:function(){return{matches:{collapsedFront:\"collapsed\"}}}},escapedLine:{fn:emptyFn},legacyLink:{fn:function(match){return{type:\"twineLink\",innerText:match[1],passage:match[2]}}}}),expressionRules=setupRules(macroMode,{macroFront:{fn:function(match){return{isFront:!0,name:match[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:\"grouping\",macroFront:\"macro\"},cannotCross:[\"singleStringOpener\",\"doubleStringOpener\"]}}},hookRef:{fn:textTokenFn(\"name\")},variable:{fn:textTokenFn(\"name\")},whitespace:{fn:emptyFn,cannotFollow:\"text\"}}),macroRules=setupRules(macroMode,Object.assign({macroName:{canFollow:[\"macroFront\"],fn:function(match){return match[2]?{isMethodCall:!0,innerText:match[2]}:{isMethodCall:!1}}},groupingFront:{fn:function(){return{isFront:!0}}},property:{fn:textTokenFn(\"name\"),canFollow:[\"variable\",\"hookRef\",\"property\",\"itsProperty\",\"belongingItProperty\",\"macro\",\"grouping\",\"string\",\"boolean\",\"number\"]},possessiveOperator:{fn:emptyFn},itsProperty:{cannotFollow:[\"text\"],fn:textTokenFn(\"name\")},itsOperator:{cannotFollow:[\"text\"],fn:emptyFn},belongingItProperty:{cannotFollow:[\"text\"],fn:textTokenFn(\"name\")},belongingItOperator:{cannotFollow:[\"text\"],fn:emptyFn},belongingProperty:{cannotFollow:[\"text\"],fn:textTokenFn(\"name\")},belongingOperator:{cannotFollow:[\"text\"],fn:emptyFn},escapedStringChar:{fn:function(){return{type:\"text\"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:\"string\"}}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:\"string\"}}}},cssTime:{fn:function(match){return{value:+match[1]*(\"s\"===match[2].toLowerCase()?1e3:1)}}},colour:{cannotFollow:[\"text\"],fn:function(match){var colour,m=match[0].toLowerCase(),mapping={red:\"e61919\",orange:\"e68019\",yellow:\"e5e619\",lime:\"80e619\",green:\"19e619\",cyan:\"19e5e6\",aqua:\"19e5e6\",blue:\"197fe6\",navy:\"1919e6\",purple:\"7f19e6\",fuchsia:\"e619e5\",magenta:\"e619e5\",white:\"fff\",black:\"000\",gray:\"888\",grey:\"888\"};return colour=Object.hasOwnProperty.call(mapping,m)?\"#\"+mapping[m]:m,{colour:colour}}},number:{fn:function(match){return{value:parseFloat(match[0])}}},addition:{fn:emptyFn},subtraction:{fn:emptyFn},multiplication:{fn:emptyFn},division:{fn:emptyFn},inequality:{fn:function(match){return{operator:match[0]}}},augmentedAssign:{fn:function(match){return{operator:match[0][0]}}},identifier:{fn:textTokenFn(\"name\"),cannotFollow:[\"text\"]\n}},[\"boolean\",\"is\",\"to\",\"into\",\"and\",\"or\",\"not\",\"isNot\",\"contains\",\"isIn\"].reduce(function(a,e){return a[e]={fn:emptyFn,cannotFollow:[\"text\"]},a},{}),[\"comma\",\"spread\",\"addition\",\"subtraction\",\"multiplication\",\"division\"].reduce(function(a,e){return a[e]={fn:emptyFn},a},{})));markupMode.push.apply(markupMode,_toConsumableArray(Object.keys(blockRules)).concat(_toConsumableArray(Object.keys(inlineRules)),_toConsumableArray(Object.keys(expressionRules)))),macroMode.push.apply(macroMode,_toConsumableArray(Object.keys(expressionRules)).concat(_toConsumableArray(Object.keys(macroRules))));var allRules=Object.assign({},blockRules,inlineRules,expressionRules,macroRules);return Object.keys(allRules).forEach(function(key){var re=Patterns[key];allRules[key].pattern=\"string\"!=typeof re?re:new RegExp(\"^(?:\"+re+\")\",\"i\"),Patterns[key+\"Peek\"]&&(allRules[key].peek=Patterns[key+\"Peek\"])}),Object.assign(Lexer.rules,allRules),Lexer.startMode=markupMode,Lexer}function exporter(Lexer){var TwineMarkup=Object.freeze({lex:rules(Lexer).lex,Patterns:Patterns});return TwineMarkup}var Patterns=void 0;Object.assign=Object.assign||function(obj){for(var i=1;i<arguments.length;i++){var target=arguments[i];for(var key in target)Object.hasOwnProperty.call(target,key)&&(obj[key]=target[key])}return obj},\"object\"===(\"undefined\"==typeof module?\"undefined\":_typeof(module))?(Patterns=require(\"patterns\"),module.exports=exporter(require(\"lexer\"))):\"function\"==typeof define&&define.amd?define(\"markup\",[\"lexer\",\"patterns\"],function(Lexer,P){return Patterns=P,exporter(Lexer)}):\"function\"==typeof StoryFormat&&this instanceof StoryFormat?(Patterns=this.modules.Patterns,this.modules.Markup=exporter(this.modules.Lexer),this.lex=this.modules.Markup.lex):(Patterns=this.Patterns,this.TwineMarkup=exporter(this.TwineLexer))}.call(eval(\"this\")||(\"undefined\"!=typeof global?global:window)),define(\"utils/selectors\",[],function(){return Object.freeze({passage:\"tw-passage\",story:\"tw-story\",sidebar:\"tw-sidebar\",internalLink:\"tw-link\",brokenLink:\"tw-broken-link\",hook:\"tw-hook\",pseudoHook:\"tw-pseudo-hook\",enchantment:\"tw-enchantment\",expression:\"tw-expression\",enchanter:\"[enchanter]\",script:\"[role=script]\",stylesheet:\"[role=stylesheet]\",storyData:\"tw-storydata\",passageData:\"tw-passagedata\",whitespace:\"tw-char[char=space], tw-char[char=tab], br\",collapsed:\"tw-collapsed\"})}),define(\"utils/customelements\",[],function(){if(document.registerElement){var CustomElements={};return function register(name){for(var proto=Object.create(HTMLElement.prototype),propDef={},_len=arguments.length,props=Array(_len>1?_len-1:0),_key=1;_len>_key;_key++)props[_key-1]=arguments[_key];props.forEach(function(p){propDef[p]={value:null}}),Object.defineProperties(proto,propDef);var el=document.registerElement(name,{prototype:proto});return CustomElements[name]=el,register}(\"tw-storydata\",\"storyname\",\"startnode\",\"creator\",\"creator-version\",\"options\")(\"tw-passagedata\",\"name\",\"pid\",\"position\")(\"tw-story\")(\"tw-debugger\")(\"tw-passage\")(\"tw-link\",\"passage-name\")(\"tw-broken-link\",\"passage-name\")(\"tw-expression\",\"type\",\"name\",\"js\")(\"tw-sidebar\")(\"tw-icon\")(\"tw-align\")(\"tw-collapsed\")(\"tw-verbatim\")(\"tw-hook\",\"name\",\"source\")(\"tw-pseudo-hook\")(\"tw-transition-container\")(\"tw-error\")(\"tw-error-explanation\")(\"tw-error-explanation-button\")(\"tw-notifier\",\"message\"),Object.freeze(CustomElements)}}),define(\"utils\",[\"jquery\",\"markup\",\"utils/selectors\",\"utils/customelements\"],function(_$2,TwineMarkup,Selectors){var lockDesc={configurable:0,writable:0},t8nAnimationTimes={\"transition-in\":Object.create(null),\"transition-out\":Object.create(null)},usuallyBlockElements=\"audio,blockquote,canvas,div,h1,h2,h3,h4,h5,hr,ol,p,pre,table,ul,video,tw-align,tw-story,tw-passage\".split(\",\"),usuallyInlineElements=\"a,b,i,em,strong,sup,sub,abbr,acronym,s,strike,del,big,small,script,img,button,input,tw-link,tw-broken-link,tw-verbatim,tw-collapsed,tw-error\".split(\",\"),nonDetachableElements=[\"audio\"],storyElement=void 0,Utils={lockProperties:function(obj){for(var keys=Object.keys(obj),propDesc={},i=0;i<keys.length;i++)propDesc[keys[i]]=lockDesc;return Object.defineProperties(obj,propDesc)},lockProperty:function(obj,prop,value){var propDesc=Object.create(lockDesc);return value&&(propDesc.value=value),Object.defineProperty(obj,prop,propDesc),obj},getInheritedPropertyDescriptor:function(obj,prop){for(;obj&&!obj.hasOwnProperty(prop);)obj=Object.getPrototypeOf(obj);return obj&&Object.getOwnPropertyDescriptor(obj,prop)||null},toJSLiteral:JSON.stringify,toTSStringLiteral:function(str){var _Math,consecutiveGraves=(_Math=Math).max.apply(_Math,_toConsumableArray((str.match(/(`+)/g)||[]).map(function(e){return e.length}).concat(0)))+1;return\"`\".repeat(consecutiveGraves)+str+\"`\".repeat(consecutiveGraves)},cssTimeUnit:function(s){if(\"string\"==typeof s){if(s=s.toLowerCase(),\"ms\"===s.slice(-2))return+s.slice(0,-2)||0;if(\"s\"===s.slice(-1))return 1e3*+s.slice(0,-1)||0}else if(Array.isArray(s)){var _ret=function(){var ret=[];return s.forEach(function(e){var time=Utils.cssTimeUnit(e);time>0&&ret.push(time)}),{v:ret}}();if(\"object\"===(\"undefined\"==typeof _ret?\"undefined\":_typeof(_ret)))return _ret.v}return 0},nth:function(num){var lastDigit=(num+\"\").slice(-1);return num+(\"1\"===lastDigit?\"st\":\"2\"===lastDigit?\"nd\":\"3\"===lastDigit?\"rd\":\"th\")},plural:function(num,noun){return num+\" \"+noun+(num>1?\"s\":\"\")},unescape:function(text){return text.replace(/&(?:amp|lt|gt|quot|nbsp|zwnj|#39|#96);/g,function(e){return{\"&\":\"&\",\">\":\">\",\"<\":\"<\",\""\":'\"',\"'\":\"'\",\" \":String.fromCharCode(160),\"‌\":String.fromCharCode(8204)}[e]})},escape:function(text){return text.replace(/[&><\"']/g,function(e){return{\"&\":\"&\",\">\":\">\",\"<\":\"<\",'\"':\""\",\"'\":\"'\"}[e]})},insensitiveName:function(e){return(e+\"\").toLowerCase().replace(/-|_/g,\"\")},wrapHTMLTag:function(text,tagName){return\"<\"+tagName+\">\"+text+\"</\"+tagName+\">\"},findAndFilter:function(q,selector){return q=_$2(q||Utils.storyElement),q.filter(selector).add(q.find(selector))},closestHookSpan:function(elems){var ret=elems.closest(Selectors.hook+\",\"+Selectors.pseudoHook);return ret.length?ret:elems},childrenProbablyInline:function(jq){var unknown=[];return Array.prototype.every.call(jq.find(\"*\"),function(elem){return elem.hidden||/none|inline/.test(elem.style.display)?!0:usuallyBlockElements.indexOf(elem.tagName.toLowerCase())>-1||/none|inline/.test(elem.style.display)?!1:usuallyInlineElements.indexOf(elem.tagName.toLowerCase())>-1?!0:(unknown.push(elem),!0)})&&unknown.every(function(elem){return/none|inline/.test(elem.style.display)})},transitionReplace:function(oldElem,newElem,transIndex){oldElem=Utils.closestHookSpan(oldElem);var container1=_$2(\"<tw-transition-container>\").css(\"position\",\"relative\");container1.insertBefore(oldElem.first());var container2a=void 0;newElem&&(container2a=_$2(\"<tw-transition-container>\").appendTo(container1),newElem.appendTo(container2a));var container2b=_$2(\"<tw-transition-container>\").css(\"position\",\"absolute\").prependTo(container1);oldElem.detach().appendTo(container2b),Utils.transitionOut(container2b,transIndex),newElem&&Utils.transitionIn(container2a,transIndex,function(){container2a.unwrap().children().first().unwrap()})},transitionOut:function(el,transIndex){function onComplete(){el.remove()}var childrenInline=Utils.childrenProbablyInline(el),mustWrap=el.length>1||!childrenInline||-1===[\"tw-hook\",\"tw-passage\"].indexOf(el.tag());mustWrap&&(el=el.wrapAll(\"<tw-transition-container>\").parent()),el.attr(\"data-t8n\",transIndex).addClass(\"transition-out\"),Utils.childrenProbablyInline(el)&&el.css(\"display\",\"inline-block\");var delay=Utils.transitionTime(transIndex,\"transition-out\");delay?window.setTimeout(onComplete,delay):onComplete()},transitionIn:function(el,transIndex){function onComplete(){var detachable=0===Utils.findAndFilter(el,nonDetachableElements.join(\",\")).length;mustWrap&&detachable?el.contents().unwrap():el.removeClass(\"transition-in\").removeAttr(\"data-t8n\")}var childrenInline=Utils.childrenProbablyInline(el),mustWrap=el.length>1||!childrenInline||-1===[\"tw-hook\",\"tw-passage\"].indexOf(el.tag());mustWrap&&(el=el.wrapAll(\"<tw-transition-container>\").parent()),el.attr(\"data-t8n\",transIndex).addClass(\"transition-in\"),Utils.childrenProbablyInline(el)&&el.css(\"display\",\"inline-block\");var delay=Utils.transitionTime(transIndex,\"transition-in\");delay?window.setTimeout(onComplete,delay):onComplete()},transitionTime:function(transIndex,className){var animClass=t8nAnimationTimes[className];if(!animClass[transIndex]){var p=_$2(\"<p>\").appendTo(document.body).attr(\"data-t8n\",transIndex).addClass(className);animClass[transIndex]=Utils.cssTimeUnit(p.css(\"animation-duration\"))+Utils.cssTimeUnit(p.css(\"animation-delay\")),p.remove()}return animClass[transIndex]},$:function(str,context){return _$2(str,context||Utils.storyElement).not(\".transition-out, .transition-out *\")},log:function(data){window.console&&console.log(data)},impossible:function(where,data){window.console&&console.error(where+\"(): \"+data)},assert:function(assertion){window.console&&(assertion||console.error(\"Assertion failed!\"))},assertMustHave:function(object,props){if(window.console)for(var i=0;i<props.length;i+=1)props[i]in object||console.error(\"Assertion failed: \"+object+\" lacks property \"+props[i])},assertOnlyHas:function(object,props){if(window.console)for(var i in object)-1===props.indexOf(i)&&console.error(\"Assertion failed: \"+object+\" had unexpected property '\"+i+\"'!\")},get storyElement(){return storyElement}};return _$2(function(){return storyElement=_$2(Selectors.story)}),Object.freeze(Utils)}),define(\"twinescript/compiler\",[\"utils\"],function(_ref){function indexOfType(array){for(var _len2=arguments.length,types=Array(_len2>1?_len2-1:0),_key2=1;_len2>_key2;_key2++)types[_key2-1]=arguments[_key2];for(var i=0;i<array.length;i+=1)if(types.indexOf(array[i].type)>-1)return i;return 0/0}function rightAssociativeIndexOfType(array){for(var _len3=arguments.length,types=Array(_len3>1?_len3-1:0),_key3=1;_len3>_key3;_key3++)types[_key3-1]=arguments[_key3];return array.length-1-indexOfType.apply(void 0,[[].concat(_toConsumableArray(array)).reverse()].concat(types))}function compile(tokens,isVarRef){if(!tokens)return\"\";tokens=[].concat(tokens);var token=tokens[0];if(1===tokens.length){if(\"identifier\"===token.type)return isVarRef?\"TwineError.create('keyword','I can\\\\'t use \\\\'\"+token.text+\"\\\\' in this position.') \":\" Operations.Identifiers.\"+token.text.toLowerCase()+\" \";if(\"variable\"===token.type)return\"VarRef.create(State.variables,\"+toJSLiteral(token.name)+\")\"+(isVarRef?\"\":\".get()\");if(\"hookRef\"===token.type)return isVarRef?\"VarRef.create(section.selectHook('?\"+token.name+\"'), 'TwineScript_Assignee')\":\" section.selectHook('?\"+token.name+\"') \";if(\"string\"===token.type)return token.text.replace(/\\n/g,\"\\\\n\");if(\"colour\"===token.type)return\"Colour.create(\"+toJSLiteral(token.colour)+\")\";if(\"root\"===token.type)return compile(token.children)}var i=void 0,macroNameToken=void 0,left=void 0,right=void 0,midString=void 0,operation=void 0,assignment=void 0,possessive=void 0,needsLeft=!0,needsRight=!0,implicitLeftIt=!1;return(i=indexOfType(tokens,\"comma\"))>-1?(midString=\",\",needsRight=!1):(i=indexOfType(tokens,\"spread\"))>-1?(midString=\"Operations.makeSpreader(\",right=compile(tokens.splice(i+1))+\")\",needsLeft=!1):(i=indexOfType(tokens,\"to\"))>-1?(assignment=\"to\",left=\"Operations.setIt(\"+compile(tokens.slice(0,i),\"varRef\")+\")\"):(i=indexOfType(tokens,\"into\"))>-1?(assignment=\"into\",right=compile(tokens.slice(0,i),\"varRef\"),left=\"Operations.setIt(\"+compile(tokens.slice(i+1),\"varRef\")+\")\"):(i=indexOfType(tokens,\"augmentedAssign\"))>-1?(assignment=tokens[i].operator,left=compile(tokens.slice(0,i),\"varRef\"),right=\"Operations['\"+assignment+\"'](\"+(compile(tokens.slice(0,i))+\",\"+compile(tokens.splice(i+1)))+\")\"):(i=indexOfType(tokens,\"and\",\"or\"))>-1?operation=tokens[i].type:(i=indexOfType(tokens,\"is\",\"isNot\"))>-1?(implicitLeftIt=!0,operation=tokens[i].type):(i=indexOfType(tokens,\"contains\",\"isIn\"))>-1?(implicitLeftIt=!0,operation=tokens[i].type):(i=indexOfType(tokens,\"inequality\"))>-1?(implicitLeftIt=!0,operation=tokens[i].operator):(i=indexOfType(tokens,\"addition\",\"subtraction\"))>-1?(operation=tokens[i].text,left=compile(tokens.slice(0,i)),left.trim()||(left=\"0\")):(i=indexOfType(tokens,\"multiplication\",\"division\"))>-1?operation=tokens[i].text:(i=indexOfType(tokens,\"not\"))>-1?(midString=\"Operations.not(\",right=compile(tokens.splice(i+1))+\")\",needsLeft=!1):(i=indexOfType(tokens,\"belongingProperty\"))>-1?(right=\"VarRef.create(\"+compile(tokens.slice(i+1),\"varref\")+\",\"+toJSLiteral(tokens[i].name)+\")\"+(isVarRef?\"\":\".get()\"),midString=\" \",needsLeft=needsRight=!1):(i=indexOfType(tokens,\"belongingOperator\",\"belongingItOperator\"))>-1?(tokens[i].type.includes(\"It\")&&(right=\"Operations.Identifiers.it\",needsRight=!1),possessive=\"belonging\"):(i=rightAssociativeIndexOfType(tokens,\"property\"))>-1?(left=\"VarRef.create(\"+compile(tokens.slice(0,i),\"varref\")+\",\"+toJSLiteral(tokens[i].name)+\")\"+(isVarRef?\"\":\".get()\"),midString=\" \",needsLeft=needsRight=!1):(i=rightAssociativeIndexOfType(tokens,\"itsProperty\"))>-1||(i=indexOfType(tokens,\"belongingItProperty\"))>-1?(left=\"VarRef.create(Operations.Identifiers.it,\"+toJSLiteral(tokens[i].name)+\").get()\",midString=\" \",needsLeft=needsRight=!1):(i=rightAssociativeIndexOfType(tokens,\"possessiveOperator\",\"itsOperator\"))>-1?(tokens[i].type.includes(\"it\")&&(left=\"Operations.Identifiers.it\",needsLeft=!1),possessive=\"possessive\"):(i=indexOfType(tokens,\"macro\"))>-1?(macroNameToken=tokens[i].children[0],assert(\"macroName\"===macroNameToken.type),midString=\"Macros.run(\"+(macroNameToken.isMethodCall?compile(macroNameToken.children):'\"'+tokens[i].name+'\"')+\", [section,\"+compile(tokens[i].children.slice(1))+\"])\",needsLeft=needsRight=!1):(i=indexOfType(tokens,\"grouping\"))>-1&&(midString=\"(\"+compile(tokens[i].children,isVarRef)+\")\",needsLeft=needsRight=!1),i>-1?(left=left||compile(tokens.slice(0,i),isVarRef).trim(),right=right||compile(tokens.splice(i+1)).trim(),implicitLeftIt&&!left&&(left=\" Operations.Identifiers.it \"),needsLeft&&!left||needsRight&&!right?\"TwineError.create('operation','I need some code to be \"+(needsLeft?\"left \":\"\")+(needsLeft&&needsRight?\"and \":\"\")+(needsRight?\"right \":\"\")+'of \"'+tokens[i].text+\"\\\"')\":midString?left+midString+right:assignment?\"Operations.makeAssignmentRequest(\"+[left,right,toJSLiteral(assignment)]+\")\":possessive?\"VarRef.create(\"+(\"belonging\"===possessive?right:left)+\",{computed:true,value:\"+(\"belonging\"===possessive?left:right)+\"})\"+(isVarRef?\"\":\".get()\"):operation?\" Operations[\"+toJSLiteral(operation)+\"](\"+left+\",\"+right+\") \":\"\"):1===tokens.length?((token.value||token.text)+\"\").trim()||\" \":tokens.reduce(function(a,token){return a+compile(token,isVarRef)},\"\")}var toJSLiteral=_ref.toJSLiteral,assert=_ref.assert;return compile}),define(\"internaltypes/twineerror\",[\"jquery\",\"utils\"],function($,_ref2){var impossible=_ref2.impossible,assert=_ref2.assert,escape=_ref2.escape,errorExplanations={syntax:\"The markup seems to contain a mistake.\",saving:\"I tried to save or load the game, but I couldn't do it.\",operation:\"I tried to use an operation on some data, but the data's type was incorrect.\",macrocall:\"I tried to use a macro, but its call wasn't written correctly.\",datatype:\"I tried to use a macro, but was given the wrong type of data to it.\",keyword:\"I was given a keyword in a way that I didn't understand.\",changer:\"This is a command to change a hook, but it isn't being used correctly.\",infinite:\"I almost ended up doing the same thing over and over, forever.\",property:\"I tried to access a value in a string/array/datamap, but I couldn't find it.\",unimplemented:\"I currently don't have this particular feature. I'm sorry.\",javascript:\"This error message was reported by your browser's Javascript engine. I don't understand it either, but it usually means that an expression was badly written.\"},TwineError={create:function(type,message,explanation){return message||impossible(\"TwineError.create\",\"called with only 1 string.\"),assert(explanation||type in errorExplanations),Object.assign(Object.create(this),{type:type,message:message,explanation:explanation})},fromError:function(error){return TwineError.create(\"javascript\",\"☕ \"+error.message)},containsError:function(){for(var _len4=arguments.length,args=Array(_len4),_key4=0;_len4>_key4;_key4++)args[_key4]=arguments[_key4];return args.reduce(function(last,e){return last?last:e instanceof Error?e:TwineError.isPrototypeOf(e)?e:Array.isArray(e)?TwineError.containsError.apply(TwineError,_toConsumableArray(e)):!1},!1)},createWarning:function(type,message){return Object.assign(this.create(type,message),{warning:!0})},render:function(titleText){titleText=titleText||\"\";var errorElement=$(\"<tw-error class='\"+(\"javascript\"===this.type?\"javascript \":\"\")+(this.warning?\"warning\":\"error\")+\"' title='\"+escape(titleText)+\"'>\"+escape(this.message)+\"</tw-error>\"),explanationElement=$(\"<tw-error-explanation>\").text(this.explanation||errorExplanations[this.type]).hide(),explanationButton=$(\"<tw-error-explanation-button tabindex=0>\").html(\"<span class='folddown-arrowhead'>►</span>\");return explanationButton.on(\"click\",function(){explanationElement.toggle(),explanationButton.children(\".folddown-arrowhead\").css(\"transform\",\"rotate(\"+(explanationElement.is(\":visible\")?\"90deg\":\"0deg\")+\")\")}),errorElement.append(explanationButton).append(explanationElement),errorElement}};return TwineError}),define(\"renderer\",[\"utils\",\"markup\",\"twinescript/compiler\",\"internaltypes/twineerror\"],function(_ref3,TwineMarkup,Compiler,TwineError){function renderTag(token,tagName){var contents=Renderer.render(token.children);return contents&&wrapHTMLTag(contents,tagName)}var wrapHTMLTag=_ref3.wrapHTMLTag,escape=_ref3.escape,impossible=_ref3.impossible,toJSLiteral=_ref3.toJSLiteral,Renderer=void 0,center=\"text-align: center; max-width:50%; \";return Renderer={options:{},exec:function(){var cachedInput=void 0,cachedOutput=void 0;return function(src){return\"string\"!=typeof src?(impossible(\"Renderer.exec\",\"source was not a string, but \"+(\"undefined\"==typeof src?\"undefined\":_typeof(src))),\"\"):src===cachedInput?cachedOutput:(cachedInput=src,cachedOutput=Renderer.render(TwineMarkup.lex(src).children))}}(),render:function render(tokens){var out=\"\";if(!tokens)return out;for(var len=tokens.length,i=0;len>i;i+=1){var token=tokens[i];switch(token.type){case\"error\":out+=TwineError.create(\"syntax\",token.message).render(escape(token.text))[0].outerHTML;break;case\"numbered\":case\"bulleted\":var tagName=\"numbered\"===token.type?\"ol\":\"ul\";out+=\"<\"+tagName+\">\";for(var depth=1;len>i&&tokens[i]&&tokens[i].type===token.type;)out+=(\"<\"+tagName+\">\").repeat(Math.max(0,tokens[i].depth-depth)),out+=(\"</\"+tagName+\">\").repeat(Math.max(0,depth-tokens[i].depth)),depth=tokens[i].depth,out+=renderTag(tokens[i],\"li\"),i+=1;i-=1,out+=(\"</\"+tagName+\">\").repeat(depth+1);break;case\"align\":for(;token&&\"align\"===token.type;){var style=\"\",body=\"\",align=token.align,j=i+=1;if(\"left\"===align){i-=1;break}for(;len>i&&tokens[i]&&\"align\"!==tokens[i].type;)i+=1;switch(body+=render(tokens.slice(j,i)),align){case\"center\":style+=center+\"margin-left: auto; margin-right: auto;\";break;case\"justify\":case\"right\":style+=\"text-align: \"+align+\";\";break;default:+align&&(style+=center+\"margin-left: \"+align+\"%;\")}out+=\"<tw-align \"+(style?'style=\"'+style+'\"':\"\")+(Renderer.options.debug?' title=\"'+token.text+'\"':\"\")+\">\"+body+\"</tw-align>\\n\",token=tokens[i]}break;case\"heading\":out+=renderTag(token,\"h\"+token.depth);break;case\"br\":case\"hr\":out+=\"<\"+token.type+\">\";break;case\"escapedLine\":case\"comment\":break;case\"inlineUrl\":out+='<a class=\"link\" href=\"'+escape(token.text)+'\">'+token.text+\"</a>\";break;case\"scriptStyleTag\":case\"tag\":out+=token.text.startsWith(\"</\")?token.text:token.text.replace(/>$/,\" data-raw>\");break;case\"sub\":case\"sup\":case\"del\":case\"strong\":case\"em\":out+=renderTag(token,token.type);break;case\"bold\":out+=renderTag(token,\"b\");break;case\"italic\":out+=renderTag(token,\"i\");break;case\"twineLink\":var newTwineLinkToken=TwineMarkup.lex(\"(link-goto:\"+toJSLiteral(token.innerText)+\",\"+toJSLiteral(token.passage)+\")\");out+=render(newTwineLinkToken.children);break;case\"hook\":out+=\"<tw-hook \"+(token.name?'name=\"'+token.name+'\"':\"\")+(Renderer.options.debug&&token.name?' title=\"Hook: ?'+token.name+'\"':\"\")+' source=\"'+escape(token.innerText)+'\"></tw-hook>';break;case\"verbatim\":out+=wrapHTMLTag(escape(token.innerText).replace(/\\n/g,\"<br>\"),\"tw-verbatim\");break;case\"collapsed\":out+=renderTag(token,\"tw-collapsed\");break;case\"hookRef\":case\"variable\":case\"macro\":out+='<tw-expression type=\"'+token.type+'\" name=\"'+escape(token.name||token.text)+'\"'+(Renderer.options.debug?' title=\"'+escape(token.text)+'\"':\"\")+' js=\"'+escape(Compiler(token))+'\"></tw-expression>';break;default:out+=token.children&&token.children.length?render(token.children):token.text}}return out}},Object.freeze(Renderer)}),define(\"passages\",[\"jquery\",\"utils\",\"utils/selectors\"],function($,_ref4,Selectors){function Passage(elem){return Object.assign(new Map([[\"source\",unescape(elem.html())],[\"tags\",(elem.attr(\"tags\")||\"\").split(/\\s/)],[\"name\",elem.attr(\"name\")]]),{TwineScript_TypeName:\"passage datamap\",TwineScript_ObjectName:\"a passage datamap\"})}var unescape=_ref4.unescape,Passages=Object.assign(new Map,{TwineScript_ObjectName:\"the Passages datamap\",getTagged:function(tag){var ret=[];return this.forEach(function(v){var tags=v instanceof Map&&v.get(\"tags\");Array.isArray(tags)&&tags.indexOf(tag)>-1&&ret.push(v)}),ret.sort(function(left,right){return left.get(\"name\")>right.get(\"name\")})},create:Passage});return $(function(){Array.from($(Selectors.storyData+\" > \"+Selectors.passageData)).forEach(function(e){e=$(e),Passages.set(e.attr(\"name\"),new Passage(e))})}),Passages}),define(\"state\",[\"utils\",\"passages\"],function(_ref5,Passages){var impossible=_ref5.impossible,SystemVariables={TwineScript_ObjectName:\"this story's variables\",TwineScript_Writeproof:[]},Moment={passage:\"\",variables:SystemVariables,create:function(p,v){var ret=Object.create(Moment);return ret.passage=p||\"\",ret.variables=Object.assign(Object.create(this.variables),v),ret}},timeline=[],recent=-1,present=Moment.create(),serialisable=!0,State=Object.assign({get passage(){return present.passage},get variables(){return present.variables},get pastLength(){return recent},get futureLength(){return timeline.length-1-recent},passageNameVisited:function(name){var ret=0;if(!Passages.get(name))return 0;for(var i=0;recent>=i;i++)ret+=+(name===timeline[i].passage);return ret},passageNameLastVisited:function(name){if(!Passages.get(name))return 1/0;if(name===present.passage)return 0;for(var i=recent;i>0;i--)if(timeline[i].passage===name)return recent-i+1;return 1/0},pastPassageNames:function(){for(var ret=[],i=recent-1;i>=0;i--)ret.unshift(timeline[i].passage);return ret},newPresent:function(newPassageName){present=(timeline[recent]||Moment).create(newPassageName)},play:function(newPassageName){present||impossible(\"State.play\",\"present is undefined!\"),present.passage=newPassageName,timeline=timeline.slice(0,recent+1).concat(present),recent+=1,this.newPresent(newPassageName)},rewind:function(arg){var steps=1,moved=!1;if(arg)if(\"string\"==typeof arg){if(steps=this.passageNameLastVisited(arg),steps===1/0)return}else\"number\"==typeof arg&&(steps=arg);for(;steps>0&&recent>0;steps--)moved=!0,recent-=1;return moved&&this.newPresent(timeline[recent].passage),moved},fastForward:function(arg){var steps=1,moved=!1;for(\"number\"==typeof arg&&(steps=arg);steps>0&&timeline.length>0;steps--)moved=!0,recent+=1;return moved&&this.newPresent(timeline[recent].passage),moved},reset:function(){timeline=[],recent=-1,present=Moment.create(),serialisable=!0}},function(){function isSerialisable(variable){return\"number\"==typeof variable||\"boolean\"==typeof variable||\"string\"==typeof variable||null===variable||Array.isArray(variable)&&variable.every(isSerialisable)||variable instanceof Set&&Array.from(variable).every(isSerialisable)||variable instanceof Map&&Array.from(variable.values()).every(isSerialisable)}function replacer(name,variable){return variable instanceof Set?{\"(dataset:)\":Array.from(variable)}:variable instanceof Map?{\"(datamap:)\":Array.from(variable)}:variable}function reviver(name,variable){if(Object.prototype.isPrototypeOf(variable)){if(Array.isArray(variable[\"(dataset:)\"]))return new Set(variable[\"(dataset:)\"]);if(Array.isArray(variable[\"(datamap:)\"]))return new Map(variable[\"(datamap:)\"])}return variable}function serialise(){var ret=timeline.slice(0,recent+1);if(serialisable=serialisable&&ret.every(function(moment){return Object.keys(moment.variables).every(function(e){return isSerialisable(moment.variables[e])})}),!serialisable)return!1;try{return JSON.stringify(ret,replacer)}catch(e){return!1}}function deserialise(str){var newTimeline=void 0,lastVariables=SystemVariables;try{newTimeline=JSON.parse(str,reviver)}catch(e){return!1}return Array.isArray(newTimeline)?(newTimeline=newTimeline.map(function(moment){return\"object\"===(\"undefined\"==typeof moment?\"undefined\":_typeof(moment))&&moment.hasOwnProperty(\"passage\")&&moment.hasOwnProperty(\"variables\")?(moment.variables=Object.assign(Object.create(lastVariables),moment.variables),lastVariables=moment.variables,Object.assign(Object.create(Moment),moment)):!1})).indexOf(!1)>-1?!1:(timeline=newTimeline,recent=timeline.length-1,void this.newPresent(timeline[recent].passage)):!1}return{serialise:serialise,deserialise:deserialise}}());return Object.seal(Moment),Object.freeze(State)}),define(\"utils/naturalsort\",[],function(){return function(locale){return function naturalSort(a,b){var oFxNcL,oFyNcL,collator,colCmp,re=/(^-?[0-9]+(\\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,sre=/(^[ ]*|[ ]*$)/g,dre=/(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[\\/\\-]\\d{1,4}[\\/\\-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/,hre=/^0x[0-9a-f]+$/i,ore=/^0/,i=function(s){return naturalSort.insensitive&&(\"\"+s).toLowerCase()||\"\"+s},x=i(a).replace(sre,\"\")||\"\",y=i(b).replace(sre,\"\")||\"\",xN=x.replace(re,\"\\x00$1\\x00\").replace(/\\0$/,\"\").replace(/^\\0/,\"\").split(\"\\x00\"),yN=y.replace(re,\"\\x00$1\\x00\").replace(/\\0$/,\"\").replace(/^\\0/,\"\").split(\"\\x00\"),xD=parseInt(x.match(hre))||1!==xN.length&&x.match(dre)&&Date.parse(x),yD=parseInt(y.match(hre))||xD&&y.match(dre)&&Date.parse(y)||null;if(locale&&window.Intl&&window.Intl.Collator&&(collator=window.Intl.Collator(locale)),yD){if(yD>xD)return-1;if(xD>yD)return 1}for(var cLoc=0,numS=Math.max(xN.length,yN.length);numS>cLoc;cLoc++){if(oFxNcL=!(xN[cLoc]||\"\").match(ore)&&parseFloat(xN[cLoc])||xN[cLoc]||0,oFyNcL=!(yN[cLoc]||\"\").match(ore)&&parseFloat(yN[cLoc])||yN[cLoc]||0,isNaN(oFxNcL)!==isNaN(oFyNcL))return isNaN(oFxNcL)?1:-1;if((\"undefined\"==typeof oFxNcL?\"undefined\":_typeof(oFxNcL))!==(\"undefined\"==typeof oFyNcL?\"undefined\":_typeof(oFyNcL)))oFxNcL+=\"\",oFyNcL+=\"\";else if(\"string\"==typeof oFxNcL&&collator&&(colCmp=collator.compare(oFxNcL,oFyNcL),0!==colCmp))return colCmp;if(oFyNcL>oFxNcL)return-1;if(oFxNcL>oFyNcL)return 1}return 0}}}),define(\"utils/operationutils\",[\"utils\",\"internaltypes/twineerror\"],function(_ref6,TwineError){function isObject(value){return!!value&&(\"object\"===(\"undefined\"==typeof value?\"undefined\":_typeof(value))||\"function\"==typeof value)}function collectionType(value){return Array.isArray(value)?\"array\":value instanceof Map?\"datamap\":value instanceof Set?\"dataset\":value&&\"object\"===(\"undefined\"==typeof value?\"undefined\":_typeof(value))?\"object\":\"\"}function isValidDatamapName(map,name){if(assert(map instanceof Map),\"string\"!=typeof name&&\"number\"!=typeof name)return TwineError.create(\"property\",\"Only strings and numbers can be used as data names for \"+objectName(map)+\", not \"+objectName(name)+\".\");var otherName=\"string\"==typeof name?+name:\"\"+name;return!Number.isNaN(otherName)&&map.has(otherName)?TwineError.create(\"property\",\"You mustn't use both \"+objectName(name)+\" and \"+objectName(otherName)+\" as data names in the same datamap.\"):!0}function isSequential(value){return\"string\"==typeof value||Array.isArray(value)}function clone(value){if(!isObject(value))return value;if(\"function\"==typeof value.TwineScript_Clone)return value.TwineScript_Clone();if(Array.isArray(value))return[].concat(_toConsumableArray(value));if(value instanceof Map)return Object.assign(new Map(value),value);if(value instanceof Set)return Object.assign(new Set(value),value);if(\"function\"==typeof value)return Object.assign(value.bind(),value);switch(Object.getPrototypeOf(value)){case Object.prototype:return Object.assign({},value);case null:return Object.assign(Object.create(null),value)}return impossible(\"OperationUtils.clone\",\"The value \"+(value.toSource?value.toSource():value)+\" cannot be cloned!\"),value}function coerceToString(fn,left,right){return\"string\"==typeof left&&isObject(right)&&\"TwineScript_ToString\"in right?fn(left,right.TwineScript_ToString()):\"string\"==typeof right&&isObject(left)&&\"TwineScript_ToString\"in left?fn(left.TwineScript_ToString(),right):!1}function objectName(obj){return isObject(obj)&&\"TwineScript_ObjectName\"in obj?obj.TwineScript_ObjectName:Array.isArray(obj)?\"an array\":obj instanceof Map?\"a datamap\":obj instanceof Set?\"a dataset\":\"boolean\"==typeof obj?\"the logic value '\"+obj+\"'\":\"string\"==typeof obj||\"number\"==typeof obj?\"the \"+(\"undefined\"==typeof obj?\"undefined\":_typeof(obj))+\" \"+toJSLiteral(obj):void 0===obj?\"an empty variable\":\"...whatever this is\"}function typeName(obj){return obj.innerType?\"either\"===obj.pattern?(assert(Array.isArray(obj.innerType)),obj.innerType.map(typeName).join(\" or \")):\"optional\"===obj.pattern?\"(an optional) \"+typeName(obj.innerType):typeName(obj.innerType):obj===String||obj===Number||obj===Boolean?\"a \"+_typeof(obj()):obj===Map?\"a datamap\":obj===Set?\"a dataset\":obj===Array?\"an array\":isObject(obj)&&\"TwineScript_TypeName\"in obj?obj.TwineScript_TypeName:objectName(obj)}function is(l,r){return\"object\"!==(\"undefined\"==typeof l?\"undefined\":_typeof(l))&&\"object\"!==(\"undefined\"==typeof r?\"undefined\":_typeof(r))?l===r:Array.isArray(l)&&Array.isArray(r)?l.length!==r.length?!1:l.every(function(element,index){return is(r[index],element)}):l instanceof Map&&r instanceof Map?is(Array.from(l.entries()).sort(),Array.from(r.entries()).sort()):l instanceof Set&&r instanceof Set?is(Array.from(l.values()),Array.from(r.values())):l&&\"function\"==typeof l.TwineScript_is?l.TwineScript_is(r):l&&\"object\"===(\"undefined\"==typeof l?\"undefined\":_typeof(l))&&r&&\"object\"===(\"undefined\"==typeof r?\"undefined\":_typeof(r))&&Object.getPrototypeOf(l)===Object.prototype&&Object.getPrototypeOf(r)===Object.prototype?is(Object.getOwnPropertyNames(l).map(function(name){return[name,l[name]]}),Object.getOwnPropertyNames(r).map(function(name){return[name,r[name]]})):Object.is(l,r)}function contains(container,obj){if(container){if(\"string\"==typeof container)return container.indexOf(obj)>-1;if(Array.isArray(container))return container.some(function(e){return is(e,obj)});if(container instanceof Set||container instanceof Map)return Array.from(container.keys()).some(function(e){return is(e,obj)})}return is(container,obj)}function subset(sequence,a,b){if(!a||!b)return TwineError.create(\"macrocall\",\"The sub\"+collectionType(sequence)+\" index values must not be 0 or NaN.\");if(0>a&&(a=sequence.length+a+1),0>b&&(b=sequence.length+b+1),a>b)return subset(sequence,b,a);var isString=\"string\"==typeof sequence;isString&&(sequence=Array.from(sequence));var ret=sequence.slice(a>0?a-1:a,b);return isString?ret.join(\"\"):ret}var assert=_ref6.assert,impossible=_ref6.impossible,toJSLiteral=_ref6.toJSLiteral,OperationUtils=Object.freeze({isObject:isObject,isValidDatamapName:isValidDatamapName,collectionType:collectionType,isSequential:isSequential,clone:clone,coerceToString:coerceToString,objectName:objectName,typeName:typeName,is:is,contains:contains,subset:subset,numericIndex:/^(?:[1-9]\\d*|0)$/});return OperationUtils}),define(\"macros\",[\"jquery\",\"utils/naturalsort\",\"utils\",\"utils/operationutils\",\"internaltypes/twineerror\"],function($,NaturalSort,_ref7,_ref8,TwineError){\nfunction readArguments(fn){return function(args){args=args.reduce(function(newArgs,el){if(el&&el.spreader===!0)if(Array.isArray(el.value)||\"string\"==typeof el.value)for(var i=0;i<el.value.length;i++)newArgs.push(el.value[i]);else newArgs.push(el.value instanceof Set?Array.from(el.value).sort(NaturalSort(\"en\")):TwineError.create(\"operation\",\"I can't spread out \"+objectName(el.value)+\", which is not a string, dataset or array.\"));else newArgs.push(el);return newArgs},[]);var error=TwineError.containsError(args);return error?error:fn.apply(void 0,_toConsumableArray(args))}}function singleTypeCheck(arg,type){if(null===type)return void 0===arg;if(type.innerType){if(\"optional\"===type.pattern||\"zero or more\"===type.pattern)return void 0===arg?!0:singleTypeCheck(arg,type.innerType);if(\"either\"===type.pattern)return type.innerType.some(function(type){return singleTypeCheck(arg,type)});if(\"wrapped\"===type.pattern)return singleTypeCheck(arg,type.innerType)}return void 0!==type&&void 0===arg?!1:type!==Macros.TypeSignature.Any||void 0===arg||arg.TwineScript_Unobservable?type===String?\"string\"==typeof arg:type===Boolean?\"boolean\"==typeof arg:type===Number?\"number\"==typeof arg:type===Array?Array.isArray(arg):type===Map||type===Set?arg instanceof type:Object.isPrototypeOf.call(type,arg):!0}function typeSignatureCheck(name,fn,typeSignature){if(!typeSignature)return fn;typeSignature=[].concat(typeSignature),name=\"(\"+(Array.isArray(name)&&name.length>1?name[0]:name)+\":)\";var signatureInfo=void 0;return signatureInfo=typeSignature.length>0?\"The \"+name+\" macro must only be given \"+typeSignature.map(typeName).reduce(function(a,e,i,arr){return a+(0===i?\"\":i<arr.length-1?\", \":\", and \")+e},\"\")+(typeSignature.length>1?\", in that order\":\".\"):\"The macro must not be given any data - just write \"+name+\".\",function(section){for(var _len5=arguments.length,args=Array(_len5>1?_len5-1:0),_key5=1;_len5>_key5;_key5++)args[_key5-1]=arguments[_key5];for(var rest=void 0,ind=0,end=Math.max(args.length,typeSignature.length);end>ind;ind+=1){var type=typeSignature[ind],arg=args[ind];if(ind>=typeSignature.length&&!rest)return TwineError.create(\"typesignature\",args.length-typeSignature.length+\" too many values were given to this \"+name+\" macro.\",signatureInfo);if(type||(type=rest),!type.innerType||\"rest\"!==type.pattern&&\"zero or more\"!==type.pattern||(rest=type.innerType,\"rest\"===type.pattern&&(type=type.innerType)),!singleTypeCheck(arg,type))return void 0===arg?TwineError.create(\"typesignature\",\"The \"+name+\" macro needs \"+plural(typeSignature.length-ind,\"more value\")+\".\",signatureInfo):arg&&arg.TwineScript_Unobservable&&type===Macros.TypeSignature.Any?TwineError.create(\"typesignature\",name+\"'s \"+nth(ind+1)+\" value is not valid data for this macro.\",signatureInfo):TwineError.create(\"typesignature\",name+\"'s \"+nth(ind+1)+\" value is \"+objectName(arg)+\", but should be \"+typeName(type)+\".\",type.message||signatureInfo)}return fn.apply(void 0,[section].concat(args))}}function privateAdd(name,type,fn){Array.isArray(name)?name.forEach(function(n){return lockProperty(macroRegistry,insensitiveName(n),fn)}):lockProperty(macroRegistry,insensitiveName(name),fn)}var insensitiveName=_ref7.insensitiveName,nth=_ref7.nth,plural=_ref7.plural,assert=_ref7.assert,lockProperty=_ref7.lockProperty,objectName=_ref8.objectName,typeName=_ref8.typeName,Macros=void 0,macroRegistry={},commandRegistry={};return Macros={has:function(e){return e=insensitiveName(e),macroRegistry.hasOwnProperty(e)},get:function(e){return e=insensitiveName(e),macroRegistry.hasOwnProperty(e)&¯oRegistry[e]},add:function add(name,fn,typeSignature){return privateAdd(name,\"value\",readArguments(typeSignatureCheck(name,fn,typeSignature))),add},addChanger:function addChanger(name,fn,changerCommandFn,typeSignature){return assert(changerCommandFn),privateAdd(name,\"changer\",readArguments(typeSignatureCheck(name,fn,typeSignature))),commandRegistry[Array.isArray(name)?name[0]:name]=changerCommandFn,addChanger},getChangerFn:function(name){return commandRegistry[name]},TypeSignature:{optional:function(type){return{pattern:\"optional\",innerType:type}},zeroOrMore:function(type){return{pattern:\"zero or more\",innerType:type}},either:function(){for(var _len6=arguments.length,innerType=Array(_len6),_key6=0;_len6>_key6;_key6++)innerType[_key6]=arguments[_key6];return{pattern:\"either\",innerType:innerType}},rest:function(type){return{pattern:\"rest\",innerType:type}},wrapped:function(innerType,message){return{pattern:\"wrapped\",innerType:innerType,message:message}},Any:{TwineScript_TypeName:\"anything\"}},run:function(name,args){return TwineError.containsError(name)?name:Macros.has(name)?Macros.get(name)(args):TwineError.create(\"macrocall\",\"I can't run the macro '\"+name+\"' because it doesn't exist.\")}},Object.freeze(Macros)}),define(\"datatypes/colour\",[\"utils\",\"jquery\"],function(_ref9,$){function css3ToRGB(colourName){if(colourName in cssNameCache)return cssNameCache[colourName];var colour=$(\"<p>\").css(\"background-color\",colourName).css(\"background-color\");return colour=colour.startsWith(\"rgb\")?colour.match(/\\d+/g).reduce(function(colour,num,ind){return colour[\"rgb\"[ind]]=+num,colour},{}):{r:192,g:192,b:192},cssNameCache[colourName]=colour,colour}function hexToRGB(str){return\"string\"!=typeof str?str:(str=str.replace(\"#\",\"\"),str=str.replace(tripleDigit,\"$1$1$2$2$3$3\"),{r:parseInt(str.slice(0,2),16),g:parseInt(str.slice(2,4),16),b:parseInt(str.slice(4,6),16)})}var assert=_ref9.assert,singleDigit=/^([\\da-fA-F])$/,tripleDigit=/^([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])$/,sextupleDigit=/^([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])([\\da-fA-F])$/,cssNameCache=Object.create(null),Colour=Object.freeze({colour:!0,TwineScript_TypeName:\"a colour\",TwineScript_ObjectName:\"a colour\",\"TwineScript_+\":function(other){var l=this,r=other;return Colour.create({r:Math.min(Math.round(.6*(l.r+r.r)),255),g:Math.min(Math.round(.6*(l.g+r.g)),255),b:Math.min(Math.round(.6*(l.b+r.b)),255)})},TwineScript_Print:function(){return\"<tw-colour style='background-color:rgb(\"+[this.r,this.g,this.b].join(\",\")+\");'></span>\"},TwineScript_is:function(other){return Colour.isPrototypeOf(other)&&other.r===this.r&&other.g===this.g&&other.b===this.b},TwineScript_Clone:function(){return Colour.create(this)},toHexString:function(){return assert(this!==Colour),\"#\"+this.r.toString(16).replace(singleDigit,\"0$1\")+this.g.toString(16).replace(singleDigit,\"0$1\")+this.b.toString(16).replace(singleDigit,\"0$1\")},create:function(rgbObj){return\"string\"==typeof rgbObj?this.create(Colour.isHexString(rgbObj)?hexToRGB(rgbObj):css3ToRGB(rgbObj)):Object.assign(Object.create(this),rgbObj)},isHexString:function(str){return\"string\"==typeof str&&\"#\"===str[0]&&(str.slice(1).match(tripleDigit)||str.slice(1).match(sextupleDigit))}});return Colour}),define(\"utils/hookutils\",[\"jquery\",\"utils/selectors\"],function($,Selectors){function sliceNode(node,start,end){var l=node.textContent.length;if(!(start>=l)){var newNode=void 0,ret=[newNode=0===start?node:node.splitText(start)];return end&&(0>=end&&(end=l-end),l>end&&ret.push(newNode.splitText(end-start))),ret}}function findTextInNodes(textNodes,searchString){var examinedNodes=[],examinedText=\"\",ret=[];if(!textNodes.length||!searchString)return ret;for(;textNodes.length>0;){examinedNodes.push(textNodes[0]),examinedText+=textNodes[0].textContent,textNodes.shift();var index=examinedText.indexOf(searchString);if(index>-1){for(var _ret2,remainingLength=examinedText.length-(index+searchString.length);index>=examinedNodes[0].textContent.length;)index-=examinedNodes[0].textContent.length,examinedNodes.shift();if(1===examinedNodes.length){var _slices=sliceNode(examinedNodes[0],index,index+searchString.length);ret.push(_slices[0]),_slices[1]&&textNodes.unshift(_slices[1]);break}ret.push(sliceNode(examinedNodes[0],index,examinedNodes[0].length)[0]),(_ret2=ret).push.apply(_ret2,_toConsumableArray(examinedNodes.slice(1,-1)));var slices=sliceNode(examinedNodes[examinedNodes.length-1],0,examinedNodes[examinedNodes.length-1].textContent.length-remainingLength);ret.push(slices[0]),slices[1]&&textNodes.unshift(slices[1]),ret=ret.filter(Boolean);break}}return[ret].concat(_toConsumableArray(findTextInNodes(textNodes,searchString)))}var HookUtils={wrapTextNodes:function(searchString,dom,htmlTag){var nodes=findTextInNodes(dom.textNodes(),searchString),ret=$();return nodes.forEach(function(e){ret=ret.add($(e).wrapAll(htmlTag))}),ret},selectorType:function(val){if(val&&\"string\"==typeof val){var r=/\\?(\\w*)/.exec(val);return r&&r.length?\"hookRef\":\"<\"===val[0]&&\">\"===val[val.length-1]?\"html\":\"string\"}return\"undefined\"},hookToSelector:function(c){return c=c.replace(/\"/g,\""\"),Selectors.hook+'[name=\"'+c+'\"]'}};return Object.freeze(HookUtils)}),define(\"datatypes/hookset\",[\"jquery\",\"utils/hookutils\"],function($,_ref10){function hooks(){return this.section.$(hookToSelector(this.selector.slice(1)))}function jQueryCall(methodName){for(var myHooks=hooks.call(this),_len7=arguments.length,args=Array(_len7>1?_len7-1:0),_key7=1;_len7>_key7;_key7++)args[_key7-1]=arguments[_key7];return methodName in myHooks&&myHooks[methodName].apply(myHooks,args)}var hookToSelector=_ref10.hookToSelector,HookSet=Object.freeze({forEach:function(fn){return jQueryCall.call(this,\"each\",function(i){fn($(this),i)})},text:function(){return jQueryCall.call(this,\"text\")},TwineScript_ToString:function(){return this.text()},TwineScript_Print:function(){return this.text()},get TwineScript_ObjectName(){return this.selector+\" (a hook reference)\"},TwineScript_TypeName:\"a hook reference (like ?this)\",set TwineScript_Assignee(value){this.section.renderInto(value,hooks.call(this),{append:\"replace\"})},get TwineScript_Assignee(){return this},TwineScript_AssignValue:function(){return jQueryCall.call(this,\"text\")},TwineScript_DeleteValue:function(prop){\"TwineScript_Assignee\"===prop&&jQueryCall.call(this,\"text\",\"\")},create:function(section,hookSelector){var ret=Object.create(this);return ret.section=section,ret.selector=hookSelector,Object.freeze(ret)}});return HookSet}),define(\"internaltypes/varref\",[\"state\",\"internaltypes/twineerror\",\"utils/operationutils\",\"datatypes/hookset\"],function(State,TwineError,_ref11,HookSet){function compilePropertyIndex(obj,prop){var error=void 0;if(obj instanceof Map&&(error=TwineError.containsError(isValidDatamapName(obj,prop))))return error;if(isSequential(obj)){var match=void 0;if(\"number\"==typeof prop)prop-=1;else if(\"string\"==typeof prop&&(match=/(\\d+)(?:st|[nr]d|th)last/i.exec(prop)))prop=-match[1]+\"\";else if(\"string\"==typeof prop&&(match=/(\\d+)(?:st|[nr]d|th)/i.exec(prop)))prop=match[1]-1+\"\";else if(\"last\"===prop)prop=-1;else if(\"length\"!==prop)return TwineError.create(\"property\",\"You can only access position strings/numbers ('4th', 'last', '2ndlast', (2), etc.) and 'length' of \"+objectName(obj)+\", not \"+objectName(prop)+\".\")}else if(obj instanceof Set){if(\"length\"!==prop)return TwineError.create(\"property\",\"You can only get the 'length' of a \"+objectName(obj)+\".\",\"To check contained values, use the 'contains' operator.\");prop=\"size\"}else if(\"number\"==typeof obj||\"boolean\"==typeof obj)return TwineError.create(\"property\",\"You can't get data values from \"+objectName(obj)+\".\");return prop}function compilePropertyChain(object,propertyChain){var compiledPropertyChain=propertyChain.reduce(function(arr,prop,i){prop.computed&&(prop=prop.value),prop=Array.isArray(prop)?prop.map(function(prop){return compilePropertyIndex(object,prop)}):compilePropertyIndex(object,prop);var error=void 0;return(error=TwineError.containsError(arr,prop))?error:(i<propertyChain.length-1&&(object=_get(object,prop)),arr.push(prop),arr)},[]);return{compiledPropertyChain:compiledPropertyChain,deepestObject:object}}function objectOrMapGet(obj,prop){return void 0===obj?obj:obj instanceof Map?obj.get(prop):(isSequential(obj)&&0>prop-0&&(prop=obj.length+(prop-0)),obj[prop])}function propertyDebugName(prop){return prop.computed?\"(\"+objectName(prop.value)+\")\":\"'\"+prop+\"'\"}function canSet(obj,prop){if(Array.isArray(prop))return prop.map(function(prop){return canSet(obj,prop)});var specialCollectionErrorMsg=\"I won't add \"+propertyDebugName(prop)+\" to \"+objectName(obj)+\" because it's one of my special system collections.\",writeproofErrorMsg=\"I can't modify '\"+propertyDebugName(prop)+\"' because it holds one of my special system collections.\";if(obj instanceof Map)return obj.TwineScript_Sealed&&!obj.has(prop)?TwineError.create(\"operation\",specialCollectionErrorMsg):obj.TwineScript_Writeproof&&obj.TwineScript_Writeproof.indexOf(prop)>-1?TwineError.create(\"operation\",writeproofErrorMsg):!0;if(isSequential(obj)){if(\"length\"===prop)return TwineError.create(\"operation\",\"I can't forcibly alter the length of \"+objectName(obj)+\".\");if(+prop!==(0|prop))return TwineError.create(\"property\",objectName(obj)+\" can only have position keys ('3rd', '1st', (5), etc.), not \"+propertyDebugName(prop)+\".\")}return!obj.TwineScript_Sealed||prop in obj?obj.TwineScript_Writeproof&&obj.TwineScript_Writeproof.indexOf(prop)>-1?TwineError.create(\"operation\",writeproofErrorMsg):\"number\"==typeof obj||\"boolean\"==typeof obj?TwineError.create(\"operation\",\"You can't alter the data values of \"+objectName(obj)+\".\"):!0:TwineError.create(\"operation\",specialCollectionErrorMsg)}function objectOrMapSet(obj,prop,value){obj instanceof Map?obj.set(prop,value):(isSequential(obj)&&0>prop-0&&(prop=obj.length+(prop-0)),obj[prop]=value)}function objectOrMapDelete(obj,prop){isSequential(obj)&&0>prop-0&&(prop=obj.length+(prop-0)),Array.isArray(obj)&&numericIndex.exec(prop)?obj.splice(prop,1):obj instanceof Map||obj instanceof Set?obj[\"delete\"](prop):obj.TwineScript_DeleteValue?obj.TwineScript_DeleteValue(prop):delete obj[prop]}function wrapError(error){function self(){return error}return{get:self,set:self,\"delete\":self}}function _get(obj,prop,originalProp){if(Array.isArray(prop))return prop.map(function(e){return _get(obj,e,e)})[\"string\"==typeof obj?\"join\":\"valueOf\"](\"\");\"string\"==typeof obj&&(obj=[].concat(_toConsumableArray(obj)));var result=objectOrMapGet(obj,prop);return void 0===result?obj===State.variables?defaultValue:TwineError.create(\"property\",\"I can't find a \"+propertyDebugName(originalProp)+\" data name in \"+objectName(obj)):result}function mutateRight(fn,value){var _this=this,result=this.compiledPropertyChain.reduce(function(arr,prop){var object=void 0;return object=0===arr.length?_this.object:_get.apply(void 0,_toConsumableArray(arr[arr.length-1])),arr.push([object,prop])&&arr},[]).reduceRight(fn,value);return TwineError.containsError(result)?result:void 0}var isObject=_ref11.isObject,isSequential=_ref11.isSequential,objectName=_ref11.objectName,clone=_ref11.clone,numericIndex=_ref11.numericIndex,isValidDatamapName=_ref11.isValidDatamapName,defaultValue=0,VarRefProto=Object.freeze({varref:!0,get:function(){return _get(this.deepestObject,this.compiledPropertyChain.slice(-1)[0],this.propertyChain.slice(-1)[0])},set:function(value){return value&&value.TwineScript_AssignValue&&(value=value.TwineScript_AssignValue()),mutateRight.call(this,function(value,_ref12,i){var _ref13=_slicedToArray(_ref12,2),object=_ref13[0],property=_ref13[1],error=void 0;if(error=TwineError.containsError(value,object,property)||TwineError.containsError(isObject(object)&&canSet(object,property)))return error;if(HookSet.isPrototypeOf(object)&&\"string\"!=typeof value)return TwineError.create(\"datatype\",\"You can only set hook references to strings, not \"+objectName(value)+\".\");if(\"string\"==typeof object){var _ret3=function(){if(\"string\"!=typeof value||value.length!==(Array.isArray(property)?property.length:1))return{v:TwineError.create(\"datatype\",\"I can't put this non-string value, \"+objectName(value)+\", in a string.\")};object=[].concat(_toConsumableArray(object));var valArray=[].concat(_toConsumableArray(value));[].concat(property).forEach(function(index){0>0+index&&(index=object.length+(0+index)),object=[].concat(_toConsumableArray(object.slice(0,index)),[valArray.shift()],_toConsumableArray(object.slice(index+1)))}),object=object.join(\"\")}();if(\"object\"===(\"undefined\"==typeof _ret3?\"undefined\":_typeof(_ret3)))return _ret3.v}else isObject(object)&&(Array.isArray(property)&&isSequential(value)?(\"string\"==typeof value&&(value=[].concat(_toConsumableArray(value))),property.map(function(prop,i){return[prop,value[i]]}).forEach(function(_ref14){var _ref15=_slicedToArray(_ref14,2),e=_ref15[0],value=_ref15[1];return objectOrMapSet(object,e,value)})):objectOrMapSet(object,property,value));return i>0&&(object=clone(object)),object},value)},\"delete\":function(){return mutateRight.call(this,function(value,_ref16,i){var _ref17=_slicedToArray(_ref16,2),object=_ref17[0],property=_ref17[1],error=void 0;return(error=TwineError.containsError(value,object,property)||TwineError.containsError(isObject(object)&&canSet(object,property)))?error:(i>0&&(object=clone(object)),null===value?isObject(object)&&(Array.isArray(property)?property.forEach(function(prop){return objectOrMapDelete(object,prop)}):objectOrMapDelete(object,property)):objectOrMapSet(object,property,value),object)},null)},create:function(object,propertyChain){var error=void 0;if(error=TwineError.containsError(object))return wrapError(error);propertyChain=[].concat(propertyChain),VarRefProto.isPrototypeOf(object)&&(propertyChain=object.propertyChain.concat(propertyChain),object=object.object);var _compilePropertyChain=compilePropertyChain(object,propertyChain),compiledPropertyChain=_compilePropertyChain.compiledPropertyChain,deepestObject=_compilePropertyChain.deepestObject;return(error=TwineError.containsError(compiledPropertyChain,deepestObject))?wrapError(error):Object.assign(Object.create(VarRefProto),{object:object,propertyChain:propertyChain,compiledPropertyChain:compiledPropertyChain,deepestObject:deepestObject})},get TwineScript_ObjectName(){return(this.object===State.variables?\"$\":objectName(this.object)+\"'s \")+this.propertyChain.reduce(function(a,e){return a+\"'s \"+propertyDebugName(e)})}});return VarRefProto}),define(\"internaltypes/assignmentrequest\",[\"utils\"],function(_ref18){var assert=_ref18.assert,assignmentRequest=Object.freeze({assignmentRequest:!0,TwineScript_TypeName:\"an assignment operation\",TwineScript_ObjectName:\"an assignment operation\",TwineScript_Unobservable:!0,create:function(dest,src,operator){return assert(\"propertyChain\"in dest&&\"object\"in dest),Object.assign(Object.create(this),{dest:dest,src:src,operator:operator})}});return assignmentRequest}),define(\"twinescript/operations\",[\"state\",\"datatypes/colour\",\"internaltypes/assignmentrequest\",\"utils/operationutils\",\"internaltypes/twineerror\"],function(State,Colour,AssignmentRequest,_ref19,TwineError){function onlyPrimitives(type,fn,operationVerb,message){return operationVerb=operationVerb||\"do this to\",function(left,right){1===fn.length&&(right=left);var error=void 0;return(error=TwineError.containsError(left,right))?error:(\"undefined\"==typeof left?\"undefined\":_typeof(left))!==type||(\"undefined\"==typeof right?\"undefined\":_typeof(right))!==type?TwineError.create(\"operation\",\"I can only \"+operationVerb+\" \"+type+\"s, not \"+objectName((\"undefined\"==typeof left?\"undefined\":_typeof(left))!==type?left:right)+\".\",message):fn(left,right)}}function doNotCoerce(fn){return function(left,right){var error=void 0;return(error=TwineError.containsError(left,right))?error:left&&left.varref?TwineError.create(\"operation\",\"I can't give an expression a new value.\"):(\"undefined\"==typeof left?\"undefined\":_typeof(left))!==(\"undefined\"==typeof right?\"undefined\":_typeof(right))||collectionType(left)!==collectionType(right)?coerceToString(fn,left,right)||TwineError.create(\"operation\",objectName(left)+\" isn't the same type of data as \"+objectName(right)):fn(left,right)}}function comparisonOp(fn){return function(left,right){return It=left,fn(left,right)}}var isObject=_ref19.isObject,collectionType=_ref19.collectionType,coerceToString=_ref19.coerceToString,is=_ref19.is,contains=_ref19.contains,objectName=_ref19.objectName,Operations=void 0,It=0,andOrNotMessage=\"If one of these values is a number, you may want to write a check that it 'is not 0'. Also, if one is a string, you may want to write a check that it 'is not \\\"\\\" '.\";return Operations={create:function(section){var ret=Object.create(this);return ret.Identifiers={get it(){return It},get time(){return Date.now()-section.timestamp}},ret},and:onlyPrimitives(\"boolean\",doNotCoerce(function(l,r){return l&&r}),\"use 'and' to join\",andOrNotMessage),or:onlyPrimitives(\"boolean\",doNotCoerce(function(l,r){return l||r}),\"use 'or' to join\",andOrNotMessage),not:onlyPrimitives(\"boolean\",function(e){return!e},\"use 'not' to invert\",andOrNotMessage),\"+\":doNotCoerce(function(l,r){if(Array.isArray(l))return[].concat(_toConsumableArray(l),_toConsumableArray(r));var ret=void 0;return l instanceof Map?(ret=new Map(l),r.forEach(function(v,k){return ret.set(k,v)}),ret):l instanceof Set?(ret=new Set(l),r.forEach(function(v){return ret.add(v)}),ret):\"function\"==typeof l[\"TwineScript_+\"]?l[\"TwineScript_+\"](r):\"string|number|boolean\".includes(\"undefined\"==typeof l?\"undefined\":_typeof(l))?l+r:TwineError.create(\"operation\",\"I can't use + on \"+objectName(l)+\".\")}),\"-\":doNotCoerce(function(l,r){if(Array.isArray(l))return l.filter(function(e){return-1===r.indexOf(e)});var ret=void 0;return l instanceof Set?(ret=new Set(l),r.forEach(function(v){return ret[\"delete\"](v)}),ret):\"string\"==typeof l?l.split(r).join(\"\"):l-r}),\"*\":onlyPrimitives(\"number\",doNotCoerce(function(l,r){return l*r}),\"multiply\"),\"/\":onlyPrimitives(\"number\",doNotCoerce(function(l,r){return 0===r?TwineError.create(\"operation\",\"I can't divide \"+objectName(l)+\" by zero.\"):l/r}),\"divide\"),\"%\":onlyPrimitives(\"number\",doNotCoerce(function(l,r){return 0===r?TwineError.create(\"operation\",\"I can't modulo \"+objectName(l)+\" by zero.\"):l%r}),\"modulus\"),\"<\":comparisonOp(onlyPrimitives(\"number\",doNotCoerce(function(l,r){return r>l}),\"do < to\")),\">\":comparisonOp(onlyPrimitives(\"number\",doNotCoerce(function(l,r){return l>r}),\"do > to\")),\"<=\":comparisonOp(onlyPrimitives(\"number\",doNotCoerce(function(l,r){return r>=l}),\"do <= to\")),\">=\":comparisonOp(onlyPrimitives(\"number\",doNotCoerce(function(l,r){return l>=r}),\"do >= to\")),is:comparisonOp(is),isNot:comparisonOp(function(l,r){return!Operations.is(l,r)}),contains:comparisonOp(contains),isIn:comparisonOp(function(l,r){return contains(r,l)}),makeSpreader:function(val){return{value:val,spreader:!0}},makeAssignmentRequest:function(dest,src,operator){var error=TwineError.containsError(dest,src);return error?error:src&&src.TwineScript_Unobservable?TwineError.create(\"operation\",\"That type of value can't be stored.\"):isObject(dest)&&\"propertyChain\"in dest?AssignmentRequest.create(dest,src,operator):TwineError.create(\"operation\",\"I can't store a new value inside \"+objectName(dest)+\".\")},setIt:function(e){return TwineError.containsError(e)?e:e.varref?(It=e.get(),e):TwineError.create(\"operation\",\"I can't put a new value into \"+objectName(e)+\".\")}},Object.freeze(Operations)}),define(\"twinescript/environ\",[\"macros\",\"state\",\"utils\",\"datatypes/colour\",\"internaltypes/varref\",\"internaltypes/twineerror\",\"twinescript/operations\"],function(Macros,State,Utils,Colour,VarRef,TwineError,OperationsProto){return function(section){\"object\"===(\"undefined\"==typeof section?\"undefined\":_typeof(section))&§ion||Utils.impossible(\"TwineScript.environ\",\"no Section argument was given!\");var Operations=OperationsProto.create(section);return section.eval=function(){try{return eval(Array.from(arguments).join(\"\"))}catch(e){return Utils.log(e),Utils.log(Array.from(arguments).join(\"\")),e}},section}}),define(\"internaltypes/pseudohookset\",[\"jquery\",\"utils/hookutils\"],function($,_ref20){var wrapTextNodes=_ref20.wrapTextNodes,PseudoHookSet=Object.freeze({forEach:function(fn){var e=wrapTextNodes(this.selector,this.section.dom,\"<tw-pseudo-hook>\").parent();e.each(function(i){fn($(this),i)}),e.contents().unwrap().parent().each(function(){this.normalize()})},create:function(section,pseudoHookSelector){var ret=Object.create(this);return ret.section=section,ret.selector=pseudoHookSelector,ret}});return PseudoHookSet}),define(\"internaltypes/changedescriptor\",[\"jquery\",\"utils\",\"renderer\"],function($,_ref21,_ref22){var assertOnlyHas=_ref21.assertOnlyHas,impossible=_ref21.impossible,transitionIn=_ref21.transitionIn,exec=_ref22.exec,changeDescriptorShape=void 0,ChangeDescriptor={source:\"\",enabled:!0,target:null,append:\"append\",transition:\"instant\",transitionTime:0,styles:null,attr:null,data:null,section:null,create:function(properties,changer){var ret=Object.assign(Object.create(this),{attr:[].concat(this.attr||[]),styles:[].concat(this.styles||[])},properties);return changer&&changer.run(ret),ret},update:function(){var _this2=this,target=this.target;Array.isArray(this.styles)&&setTimeout(function(){var _Object;return target.css((_Object=Object).assign.apply(_Object,_toConsumableArray([{}].concat(_this2.styles))))}),this.attr&&this.attr.forEach(function(e){return target.attr(e)}),this.data&&target.data(this.data)},render:function(){var target=this.target,source=this.source,transition=this.transition,enabled=this.enabled,append=this.append;if(assertOnlyHas(this,changeDescriptorShape),!target||!enabled)return $();if(!(append in target)){if(\"replace\"!==append)return void impossible(\"Section.render\",\"The target jQuery doesn't have a '\"+append+\"' method.\");target.empty(),append=\"append\"}var dom=$(source&&$.parseHTML(exec(source),document,!0));return target[append](dom.length?dom:void 0),this.update(),transition&&transitionIn(\"replace\"===append?target:dom,transition),dom}};return changeDescriptorShape=Object.keys(ChangeDescriptor),Object.seal(ChangeDescriptor)}),define(\"internaltypes/twinenotifier\",[\"jquery\",\"utils\"],function($,_ref23){var impossible=_ref23.impossible,TwineNotifier={create:function(message){return message||impossible(\"TwineNotifier.create\",\"called with only 1 string.\"),Object.assign(Object.create(TwineNotifier),{message:message})},render:function(){return $(\"<tw-notifier>\").attr(\"message\",this.message)}};return TwineNotifier}),define(\"section\",[\"jquery\",\"utils\",\"utils/selectors\",\"renderer\",\"twinescript/environ\",\"state\",\"utils/hookutils\",\"datatypes/hookset\",\"internaltypes/pseudohookset\",\"internaltypes/changedescriptor\",\"internaltypes/twineerror\",\"internaltypes/twinenotifier\"],function($,Utils,Selectors,Renderer,Environ,State,HookUtils,HookSet,PseudoHookSet,ChangeDescriptor,TwineError,TwineNotifier){function applyExpressionToHook(expr,result){var nextHook=expr.next(Selectors.hook);if(result&&result.changer)if(nextHook.length){var enabled=this.renderInto(nextHook.popAttr(\"source\"),nextHook,result);if(!enabled)return expr.addClass(\"false\"),void(\"elseif\"!==Utils.insensitiveName(expr.attr(\"name\"))&&(this.stack[0].lastHookShown=!1))}else expr.replaceWith(TwineError.create(\"changer\",\"The (\"+result.macroName+\":) command should be assigned to a variable or attached to a hook.\",\"Macros like this should usually be touching the left side of a hook: \"+expr.attr(\"title\")+\"[Some text]\").render(expr.attr(\"title\")));else if(result&&result.live)runLiveHook.call(this,nextHook,result.delay,result.event);else if((result===!1||null===result||void 0===result)&&(nextHook.removeAttr(\"source\"),expr.addClass(\"false\"),nextHook.length))return void(this.stack[0].lastHookShown=!1);nextHook.length&&(this.stack[0].lastHookShown=!0)}function runExpression(expr){var result=this.eval(expr.popAttr(\"js\")||\"\");if(TwineError.containsError(result))result instanceof Error&&(result=TwineError.fromError(result)),expr.replaceWith(result.render(expr.attr(\"title\"),expr));else if(TwineNotifier.isPrototypeOf(result))expr.append(result.render());else if(result&&result.TwineScript_Print&&!result.changer){if(result=result.TwineScript_Print(),result.earlyExit)return!1;result instanceof $?expr.append(result):TwineError.containsError(result)?(result instanceof Error&&(result=TwineError.fromError(result)),expr.replaceWith(result.render(expr.attr(\"title\"),expr))):this.renderInto(result,expr)}else\"string\"==typeof result||\"number\"==typeof result||\"object\"===(\"undefined\"==typeof result?\"undefined\":_typeof(result))&&result&&result.toString!==Object.prototype.toString?this.renderInto(result+\"\",expr):applyExpressionToHook.call(this,expr,result)}function collapse(elem){function noVerbatim(e){return 0===$(this||e).parentsUntil(\"tw-collapsed\").filter(\"tw-verbatim, tw-expression, [collapsing=false]\").length}var beforeNode=elem.prevTextNode();$(beforeNode).parents(\"tw-collapsed\").length||(beforeNode=null);var afterNode=elem.nextTextNode();$(afterNode).parents(\"tw-collapsed\").length||(afterNode=null),Utils.findAndFilter(elem,\"br:not([data-raw])\").filter(noVerbatim).replaceWith(document.createTextNode(\" \"));var nodes=elem.textNodes(),finalSpaces=0;nodes.reduce(function(prevNode,node){return noVerbatim(node)?(node.textContent=node.textContent.replace(/\\s+/g,\" \"),\" \"!==node.textContent[0]||prevNode&&prevNode.textContent&&!(prevNode.textContent.search(/\\s$/)>-1)||(node.textContent=node.textContent.slice(1)),node):document.createTextNode(\"A\")},beforeNode),[].concat(_toConsumableArray(nodes)).reverse().every(function(node){return noVerbatim(node)?node.textContent.match(/^\\s*$/)?(finalSpaces+=node.textContent.length,node.textContent=\"\",!0):(node.textContent=node.textContent.replace(/\\s+$/,function(substr){return finalSpaces+=substr.length,\"\"}),!1):!1}),finalSpaces>0&&afterNode&&(nodes[nodes.length-1].textContent+=\" \"),elem[0]&&supportsNormalize()&&elem[0].normalize()}function runLiveHook(target,delay){var _this3=this,source=target.popAttr(\"source\")||\"\";delay=void 0===delay?20:delay;var recursive=function recursive(){_this3.inDOM()&&(_this3.renderInto(source,target,{append:\"replace\"}),target.find(Selectors.expression+\"[name='stop']\").length||_this3.inDOM()&&setTimeout(recursive,delay))};setTimeout(recursive,delay)}var Section=void 0,supportsNormalize=function(){var result=void 0;return function(){if(void 0!==result)return result;var p=$(\"<p>\");return p[0].normalize?(p.append(document.createTextNode(\"0-\"),document.createTextNode(\"2\"),document.createTextNode(\"\"))[0].normalize(),result=1===p.contents().length):result=!1}}();return Section={create:function(dom){Utils.assert(dom instanceof $&&1===dom.length);var ret=Object.assign(Object.create(this),{timestamp:Date.now(),dom:dom||Utils.storyElement,stack:[],enchantments:[]});return ret=Environ(ret)},inDOM:function(){return $(Utils.storyElement).find(this.dom).length>0},$:function(str){return Utils.$(str,this.dom)},evaluateTwineMarkup:function(expr){var p=$(\"<p>\");this.renderInto(expr,p);var errors=void 0;return(errors=p.find(\"tw-error\")).length>0?errors:p.text()},selectHook:function(selectorString){if(HookSet.isPrototypeOf(selectorString)||PseudoHookSet.isPrototypeOf(selectorString))return selectorString;switch(HookUtils.selectorType(selectorString)){case\"hookRef\":return HookSet.create(this,selectorString);case\"html\":return Utils.findAndFilter(this.dom.add(Utils.storyElement),selectorString.slice(1,-1));case\"string\":return PseudoHookSet.create(this,selectorString)}return null},renderInto:function(source,target,changers){var desc=ChangeDescriptor.create({target:target,source:source});if(desc.section=this,changers&&[].concat(changers).forEach(function(changer){changer&&changer.changer?changer.run(desc):Object.assign(desc,changer)}),\"string\"==typeof desc.target&&(desc.target=this.selectHook(desc.target)),!desc.target)return Utils.impossible(\"Section.renderInto\",\"ChangeDescriptor has source but not a target!\"),!1;var dom=$();this.stack.length>=50?dom=TwineError.create(\"infinite\",\"Printing this expression may have trapped me in an infinite loop.\").render(target.attr(\"title\")).replaceAll(target):desc.target instanceof $?dom=desc.render():desc.target.forEach(function(e){dom=dom.add(desc.create({target:e}).render())}),this.stack.unshift(Object.create(null));var section=this;return Utils.findAndFilter(dom,Selectors.hook+\",\"+Selectors.expression).each(function(){\nvar expr=$(this);switch(expr.tag()){case Selectors.hook:expr.attr(\"source\")&&(section.renderInto(expr.attr(\"source\"),expr),expr.removeAttr(\"source\"));break;case Selectors.expression:return runExpression.call(section,expr)}}),dom.length&&target instanceof $&&target.is(Selectors.hook)&&target.parents(\"tw-collapsed\").length>0&&collapse(dom),Utils.findAndFilter(dom,Selectors.collapsed).each(function(){collapse($(this))}),this.stack.shift(),0===this.stack.length&&this.updateEnchantments(),desc.enabled},updateEnchantments:function(){this.enchantments.forEach(function(e){e.disenchant(),e.enchantScope()})}},Object.preventExtensions(Section)}),define(\"engine\",[\"jquery\",\"utils\",\"utils/selectors\",\"state\",\"section\",\"passages\"],function($,Utils,Selectors,State,Section,Passages){function createPassageElement(){var container=$(\"<tw-passage><tw-sidebar>\"),sidebar=container.children(Selectors.sidebar);options.permalink&&State.save&&sidebar.append('<tw-icon tabindex=0 class=\"permalink\" title=\"Permanent link to this passage\"><a href=\"#'+State.save()+'\">§');var back=$('<tw-icon tabindex=0 class=\"undo\" title=\"Undo\">↶</tw-icon>').click(Engine.goBack),fwd=$('<tw-icon tabindex=0 class=\"redo\" title=\"Redo\">↷</tw-icon>').click(Engine.goForward);return State.pastLength<=0&&back.css(\"visibility\",\"hidden\"),State.futureLength<=0&&fwd.css(\"visibility\",\"hidden\"),sidebar.append(back).append(fwd),container}function setupPassageElement(tagType,setupPassage){return\"<tw-include type=\"+tagType+\" title='\"+escape(setupPassage.get(\"name\"))+\"'>\"+setupPassage.get(\"source\")+\"</tw-include>\"}function showPassage(name,stretch){var t8n=\"instant\",passageData=Passages.get(name),story=Utils.storyElement,parent=story.parent();parent.is(Selectors.enchantment)&&(parent=story.unwrap().parent()),passageData&&passageData instanceof Map&&passageData.has(\"source\")||impossible(\"Engine.showPassage\",\"There's no passage with the name \\\"\"+name+'\"!'),story.detach();var oldPassages=Utils.$(story.children(passageSelector));!stretch&&t8n&&transitionOut(oldPassages,t8n);var newPassage=createPassageElement().appendTo(story);assert(newPassage.length>0);var section=Section.create(newPassage),source=passageData.get(\"source\");source=(options.debug?Passages.getTagged(\"debug-header\").map(setupPassageElement.bind(0,\"debug-header\")).join(\"\"):\"\")+Passages.getTagged(\"header\").map(setupPassageElement.bind(0,\"header\")).join(\"\")+source+Passages.getTagged(\"footer\").map(setupPassageElement.bind(0,\"footer\")).join(\"\")+(options.debug?Passages.getTagged(\"debug-footer\").map(setupPassageElement.bind(0,\"debug-footer\")).join(\"\"):\"\"),State.pastLength<=0&&(options.debug&&(source=Passages.getTagged(\"debug-startup\").map(setupPassageElement.bind(0,\"debug-startup\")).join(\"\")+source),source=Passages.getTagged(\"startup\").map(setupPassageElement.bind(0,\"startup\")).join(\"\")+source),section.renderInto(source,newPassage,[{transition:\"dissolve\"}]),$(\"html\").append(story.parent().length?story.parent():story),scroll(0,stretch?newPassage.offset().top-.05*$(window).height():parent.offset().top)}var escape=Utils.escape,impossible=Utils.impossible,passageSelector=Utils.passageSelector,transitionOut=Utils.transitionOut,assert=Utils.assert,Engine=void 0,options=Object.create(null);return Engine={goBack:function(){State.rewind()&&showPassage(State.passage)},goForward:function(){State.fastForward()&&showPassage(State.passage)},goToPassage:function(id,stretch){State.play(id),showPassage(id,stretch)},showPassage:showPassage,options:options},Object.freeze(Engine)}),define(\"macrolib/values\",[\"macros\",\"utils/operationutils\",\"internaltypes/twineerror\"],function(Macros,_ref24,TwineError){function mathFilter(fn){return function(args){var result=fn.apply(void 0,_toConsumableArray(args));return\"number\"!=typeof result||isNaN(result)?TwineError.create(\"macrocall\",\"This mathematical expression doesn't compute!\"):result}}function either(){return arguments.length<=~~(Math.random()*arguments.length)+0?void 0:arguments[~~(Math.random()*arguments.length)+0]}var subset=_ref24.subset,objectName=_ref24.objectName,_Macros$TypeSignature=Macros.TypeSignature,rest=_Macros$TypeSignature.rest,zeroOrMore=_Macros$TypeSignature.zeroOrMore,Any=_Macros$TypeSignature.Any;Macros.add([\"text\",\"string\"],function(){for(var _len8=arguments.length,args=Array(_len8>1?_len8-1:0),_key8=1;_len8>_key8;_key8++)args[_key8-1]=arguments[_key8];return args.join(\"\")},[zeroOrMore(Macros.TypeSignature.either(String,Number,Boolean,Array))])(\"substring\",function(_,string,a,b){return subset(string,a,b)},[String,Number,Number])([\"num\",\"number\"],function(_,expr){return Number.isNaN(+expr)?TwineError.create(\"macrocall\",\"I couldn't convert \"+objectName(expr)+\" to a number.\"):+expr},[String]),{weekday:[function(){return[\"Sun\",\"Mon\",\"Tues\",\"Wednes\",\"Thurs\",\"Fri\",\"Satur\"][(new Date).getDay()]+\"day\"},null],monthday:[function(){return(new Date).getDate()},null],currenttime:[function(){var d=new Date,am=d.getHours()<12;return d.getHours()%12+\":\"+d.getMinutes()+\" \"+(am?\"A\":\"P\")+\"M\"},null],currentdate:[function(){return(new Date).toDateString()},null],min:[Math.min,rest(Number)],max:[Math.max,rest(Number)],abs:[Math.abs,Number],sign:[Math.sign,Number],sin:[Math.sin,Number],cos:[Math.cos,Number],tan:[Math.tan,Number],floor:[Math.floor,Number],round:[Math.round,Number],ceil:[Math.ceil,Number],pow:[Math.pow,Number],exp:[Math.exp,Number],sqrt:[mathFilter(Math.sqrt),Number],log:[mathFilter(Math.log),Number],log10:[mathFilter(Math.log10),Number],log2:[mathFilter(Math.log2),Number],random:[function(a,b){if(a!==(0|a)||b!==(0|b))return TwineError.create(\"macrocall\",\"(random:) only accepts whole numbers, not \"+objectName(a!==(0|a)?a:b));var from=void 0,to=void 0;return b?(from=Math.min(a,b),to=Math.max(a,b)):(from=0,to=a),to+=1,~~(Math.random()*(to-from))+from},[Number,Macros.TypeSignature.optional(Number)]],either:[either,rest(Any)],alert:[function(text){return window.alert(text||\"\")},String],prompt:[function(text,value){return window.prompt(text||\"\",value||\"\")||\"\"},String,String],confirm:[function(text){return window.confirm(text||\"\")},String],openURL:[window.open,String],reload:[window.location.reload.bind(window.location),null],gotoURL:[window.location.assign.bind(window.location),String],pageURL:[function(){return window.location.href},null],\"\":function(){var _this4=this;Object.keys(this).forEach(function(key){key&&!function(){var fn=_this4[key][0],typeSignature=_this4[key][1];Macros.add(key,function(){for(var _len9=arguments.length,rest=Array(_len9>1?_len9-1:0),_key9=1;_len9>_key9;_key9++)rest[_key9-1]=arguments[_key9];return fn.apply(void 0,rest)},typeSignature)}()})}}[\"\"]()}),function(global){!function(){if(!global.requestAnimationFrame){global.webkitRequestAnimationFrame&&(global.requestAnimationFrame=global.webkitRequestAnimationFrame,global.cancelAnimationFrame=global.webkitCancelAnimationFrame||global.webkitCancelRequestAnimationFrame);var lastTime=0;global.requestAnimationFrame=function(callback){var currTime=(new Date).getTime(),timeToCall=Math.max(0,16-(currTime-lastTime)),id=global.setTimeout(function(){callback(currTime+timeToCall)},timeToCall);return lastTime=currTime+timeToCall,id},global.cancelAnimationFrame=function(id){clearTimeout(id)}}}(),\"function\"==typeof define&&define(\"requestAnimationFrame\",[],function(){return global.requestAnimationFrame})}(window),define(\"macrolib/commands\",[\"requestAnimationFrame\",\"macros\",\"utils\",\"state\",\"passages\",\"engine\",\"internaltypes/twineerror\",\"utils/operationutils\"],function(requestAnimationFrame,Macros,_ref25,State,Passages,Engine,TwineError,_ref26){function storagePrefix(text){return\"(\"+text+\" \"+Engine.options.ifid+\") \"}var toJSLiteral=_ref25.toJSLiteral,unescape=_ref25.unescape,isObject=_ref26.isObject,_Macros$TypeSignature2=Macros.TypeSignature,Any=_Macros$TypeSignature2.Any,optional=_Macros$TypeSignature2.optional,hasStorage=!!localStorage&&function(){try{return localStorage.setItem(\"test\",\"1\"),localStorage.removeItem(\"test\"),!0}catch(e){return!1}}();Macros.add(\"display\",function(_,name){return{TwineScript_ObjectName:\"a (display: \"+toJSLiteral(name)+\") command\",TwineScript_TypeName:\"a (display:) command\",TwineScript_Print:function(){return Passages.has(name)?unescape(Passages.get(name).get(\"source\")):TwineError.create(\"macrocall\",\"I can't (display:) the passage '\"+name+\"' because it doesn't exist.\")}}},[String])(\"print\",function print(_,expr){if(TwineError.containsError(expr))return expr;if(expr&&\"function\"==typeof expr.TwineScript_Print)expr=expr.TwineScript_Print();else if(expr instanceof Map){if(expr=Array.from(expr.entries()),TwineError.containsError(expr))return expr;expr=expr.reduce(function(html,pair){return html+\"<tr><td>\"+print(_,pair[0]).TwineScript_Print()+\"</td><td>\"+print(_,pair[1]).TwineScript_Print()+\"</td></tr>\"},\"<table class=datamap>\")+\"</table>\"}else if(expr instanceof Set)expr=Array.from(expr.values());else if(Array.isArray(expr))expr+=\"\";else{if(isObject(expr))throw new TypeError(\"I don't know how to print this value yet.\");expr+=\"\"}return{TwineScript_ObjectName:\"a (print: \"+toJSLiteral(expr)+\") command\",TwineScript_TypeName:\"a (print:) command\",TwineScript_Print:function(){return expr}}},[Any])(\"goto\",function(_,name){return{TwineScript_ObjectName:\"a (go-to: \"+toJSLiteral(name)+\") command\",TwineScript_TypeName:\"a (go-to:) command\",TwineScript_Print:function(){return Passages.has(name)?(requestAnimationFrame(Engine.goToPassage.bind(Engine,name,!1)),{earlyExit:1}):TwineError.create(\"macrocall\",\"I can't (go-to:) the passage '\"+name+\"' because it doesn't exist.\")}}},[String])(\"live\",function(_,delay){return{TwineScript_ObjectName:\"a (live: \"+delay+\") command\",TwineScript_TypeName:\"a (live:) command\",live:!0,delay:delay}},[optional(Number)])(\"stop\",function(){return{TwineScript_ObjectName:\"a (stop:) command\",TwineScript_TypeName:\"a (stop:) command\",TwineScript_Print:function(){return\"\"}}},[])(\"savegame\",function(_,slotName,fileName){if(fileName=fileName||\"\",!hasStorage)return!1;var serialisation=State.serialise();if(!serialisation)return TwineError.create(\"saving\",\"The game's variables contain a complex data structure; the game can no longer be saved.\");try{return localStorage.setItem(storagePrefix(\"Saved Game\")+slotName,serialisation),localStorage.setItem(storagePrefix(\"Saved Game Filename\")+slotName,fileName),!0}catch(e){return!1}},[String,optional(String)])(\"loadgame\",function(_,slotName){return{TwineScript_ObjectName:\"a (load-game:) command\",TwineScript_TypeName:\"a (load-game:) command\",TwineScript_Print:function(){var saveData=localStorage.getItem(storagePrefix(\"Saved Game\")+slotName);return saveData?(State.deserialise(saveData),requestAnimationFrame(Engine.showPassage.bind(Engine,State.passage,!1)),{earlyExit:1}):TwineError.create(\"saving\",\"I can't find a save slot named '\"+slotName+\"'!\")}}},[String])}),define(\"macrolib/datastructures\",[\"jquery\",\"utils/naturalsort\",\"macros\",\"utils/operationutils\",\"state\",\"engine\",\"passages\",\"internaltypes/assignmentrequest\",\"internaltypes/twineerror\",\"internaltypes/twinenotifier\"],function($,NaturalSort,Macros,_ref27,State,Engine,Passages,AssignmentRequest,TwineError,TwineNotifier){var objectName=_ref27.objectName,subset=_ref27.subset,collectionType=_ref27.collectionType,isValidDatamapName=_ref27.isValidDatamapName,_Macros$TypeSignature3=Macros.TypeSignature,optional=_Macros$TypeSignature3.optional,rest=_Macros$TypeSignature3.rest,zeroOrMore=_Macros$TypeSignature3.zeroOrMore,Any=_Macros$TypeSignature3.Any;Macros.add(\"set\",function(){for(var debugMessage=\"\",i=0;i<arguments.length-1;i+=1){var ar=arguments.length<=i+1?void 0:arguments[i+1];if(\"into\"===ar.operator)return TwineError.create(\"macrocall\",\"Please say 'to' when using the (set:) macro.\");var result=ar.dest.set(ar.src);if(TwineError.isPrototypeOf(result))return result;Engine.options.debug&&(debugMessage+=(debugMessage?\"; \":\"\")+objectName(ar.dest)+\" is now \"+objectName(ar.src))}return{TwineScript_TypeName:\"a (set:) operation\",TwineScript_ObjectName:\"a (set:) operation\",TwineScript_Unobservable:!0,TwineScript_Print:function(){return debugMessage&&TwineNotifier.create(debugMessage).render()}}},[rest(AssignmentRequest)])(\"put\",function(){for(var debugMessage=\"\",i=0;i<arguments.length-1;i+=1){var ar=arguments.length<=i+1?void 0:arguments[i+1];if(\"into\"!==ar.operator)return TwineError.create(\"macrocall\",\"Please say 'into' when using the (put:) macro.\");var result=ar.dest.set(ar.src);if(TwineError.isPrototypeOf(result))return result;Engine.options.debug&&(debugMessage+=(debugMessage?\"; \":\"\")+objectName(ar.dest)+\" is now \"+objectName(ar.src))}return{TwineScript_TypeName:\"a (put:) operation\",TwineScript_ObjectName:\"a (put:) operation\",TwineScript_Unobservable:!0,TwineScript_Print:function(){return debugMessage&&TwineNotifier.create(debugMessage).render()}}},[rest(AssignmentRequest)])(\"move\",function(_,ar){if(\"into\"!==ar.operator)return TwineError.create(\"macrocall\",\"Please say 'into' when using the (move:) macro.\");if(ar.src&&ar.src.varref){var get=ar.src.get(),error=void 0;if(error=TwineError.containsError(get))return error;ar.dest.set(get),ar.src[\"delete\"]()}else ar.dest.set(ar.src),ar.src.TwineScript_DeleteValue&&ar.src.TwineScript_DeleteValue();return{TwineScript_TypeName:\"a (move:) operation\",TwineScript_ObjectName:\"a (move:) operation\",TwineScript_Unobservable:!0,TwineScript_Print:\"\"}},[rest(AssignmentRequest)])([\"a\",\"array\"],function(){for(var _len10=arguments.length,args=Array(_len10>1?_len10-1:0),_key10=1;_len10>_key10;_key10++)args[_key10-1]=arguments[_key10];return args},zeroOrMore(Any))(\"range\",function range(_,a,b){if(a>b)return range(_,b,a);var ret=[a];for(b-=a;b-->0;)ret.push(++a);return ret},[Number,Number])(\"subarray\",function(_,array,a,b){return subset(array,a,b)},[Array,Number,Number])(\"shuffled\",function(){for(var _len11=arguments.length,args=Array(_len11>1?_len11-1:0),_key11=1;_len11>_key11;_key11++)args[_key11-1]=arguments[_key11];return args.reduce(function(a,e,ind){var j=Math.random()*(ind+1)|0;return j===ind?a.push(e):(a.push(a[j]),a[j]=e),a},[])},[Any,rest(Any)])(\"sorted\",function(){for(var _len12=arguments.length,args=Array(_len12>1?_len12-1:0),_key12=1;_len12>_key12;_key12++)args[_key12-1]=arguments[_key12];return args.sort(NaturalSort(\"en\"))},[String,rest(String)])(\"rotated\",function(_,number){for(var _len13=arguments.length,array=Array(_len13>2?_len13-2:0),_key13=2;_len13>_key13;_key13++)array[_key13-2]=arguments[_key13];return number*=-1,0===number?TwineError.create(\"macrocall\",\"I can't rotate these values by 0 positions.\"):Math.abs(number)>=array.length?TwineError.create(\"macrocall\",\"I can't rotate these \"+array.length+\" values by \"+number+\" positions.\"):array.slice(number).concat(array.slice(0,number))},[Any,Any,rest(Any)])(\"datanames\",function(_,map){return Array.from(map.keys()).sort(NaturalSort(\"en\"))},[Map])(\"datavalues\",function(_,map){return Array.from(map.entries()).sort(function(a,b){return[a[0],b[0]].sort(NaturalSort(\"en\"))[0]===a[0]?-1:1}).map(function(e){return e[1]})},[Map])(\"history\",function(){return State.pastPassageNames()},[])(\"passage\",function(_,passageName){return Passages.get(passageName||State.passage)||TwineError.create(\"macrocall\",\"There's no passage named '\"+passageName+\"' in this story.\")},[optional(String)])(\"savedgames\",function(){function storagePrefix(text){return\"(\"+text+\" \"+Engine.options.ifid+\") \"}var i=0,key=void 0,savesMap=new Map;do{key=localStorage.key(i),i+=1;var prefix=storagePrefix(\"Saved Game\");key&&key.startsWith(prefix)&&(key=key.slice(prefix.length),savesMap.set(key,localStorage.getItem(storagePrefix(\"Saved Game Filename\")+key)))}while(key);return savesMap},[])(\"datamap\",function(){for(var _len14=arguments.length,args=Array(_len14>1?_len14-1:0),_key14=1;_len14>_key14;_key14++)args[_key14-1]=arguments[_key14];var key=void 0,map=new Map,status=args.reduce(function(status,element){var error=void 0;if(TwineError.containsError(status))return status;if(void 0===key)key=element;else{if(error=TwineError.containsError(isValidDatamapName(map,key)))return error;if(map.has(key))return TwineError.create(\"macrocall\",\"You used the same data name (\"+objectName(key)+\") twice in the same (datamap:) call.\");map.set(key,element),key=void 0}return status},!0);return TwineError.containsError(status)?status:void 0!==key?TwineError.create(\"macrocall\",\"This datamap has a data name without a value.\"):map},zeroOrMore(Any))(\"dataset\",function(){for(var _len15=arguments.length,args=Array(_len15>1?_len15-1:0),_key15=1;_len15>_key15;_key15++)args[_key15-1]=arguments[_key15];return new Set(args)},zeroOrMore(Any))(\"count\",function(_,collection,value){switch(collectionType(collection)){case\"dataset\":case\"datamap\":return+collection.has(name);case\"string\":return\"string\"!=typeof value?new TypeError(objectName(collection)+\" can't contain \"+objectName(value)+\" because it isn't a string.\"):collection.split(value).length-1;case\"array\":return collection.reduce(function(count,e){return count+(e===value)},0)}},[Any,Any])}),define(\"datatypes/changercommand\",[\"utils\",\"macros\",\"utils/operationutils\"],function(_ref28,Macros,_ref29){var assert=_ref28.assert,is=_ref29.is,ChangerCommand={changer:!0,TwineScript_TypeName:\"a changer command\",TwineScript_Print:function(){return\"[A '\"+this.macroName+\"' command]\"},create:function(macroName,params,next){return assert(void 0===params||Array.isArray(params)),Object.assign(Object.create(this),{macroName:macroName,params:params,next:next||null,TwineScript_ObjectName:\"a (\"+macroName+\":) command\"})},\"TwineScript_+\":function(other){for(var ret=this.TwineScript_Clone();ret.next;)ret=ret.next;return ret.next=other,ret},TwineScript_is:function(other){return ChangerCommand.isPrototypeOf(other)?this.macroName===other.macroName&&is(this.params,other.params)&&is(this.next,other.next):void 0},TwineScript_Clone:function(){return this.create(this.macroName,this.params,this.next)},run:function(desc){Macros.getChangerFn(this.macroName).apply(void 0,[desc].concat(_toConsumableArray(this.params))),this.next&&this.next.run(desc)}};return Object.freeze(ChangerCommand)}),define(\"macrolib/stylechangers\",[\"jquery\",\"macros\",\"utils\",\"utils/selectors\",\"datatypes/colour\",\"datatypes/changercommand\",\"internaltypes/twineerror\"],function($,Macros,_ref30,Selectors,Colour,ChangerCommand,TwineError){var insensitiveName=_ref30.insensitiveName,assert=_ref30.assert,childrenProbablyInline=_ref30.childrenProbablyInline,_Macros$TypeSignature4=Macros.TypeSignature,either=_Macros$TypeSignature4.either,wrapped=_Macros$TypeSignature4.wrapped,IfTypeSignature=[wrapped(Boolean,'If you gave a number, you may instead want to check that the number is not 0. If you gave a string, you may instead want to check that the string is not \"\".')];Macros.addChanger(\"if\",function(_,expr){return ChangerCommand.create(\"if\",[expr])},function(d,expr){return d.enabled=d.enabled&&expr},IfTypeSignature)(\"unless\",function(_,expr){return ChangerCommand.create(\"unless\",[!expr])},function(d,expr){return d.enabled=d.enabled&&expr},IfTypeSignature)(\"elseif\",function(section,expr){return\"lastHookShown\"in section.stack[0]?ChangerCommand.create(\"elseif\",[section.stack[0].lastHookShown===!1&&!!expr]):TwineError.create(\"macrocall\",\"There's no (if:) or something else before this to do (else-if:) with.\")},function(d,expr){return d.enabled=d.enabled&&expr},IfTypeSignature)(\"else\",function(section){return\"lastHookShown\"in section.stack[0]?ChangerCommand.create(\"else\",[section.stack[0].lastHookShown===!1]):TwineError.create(\"macrocall\",\"There's nothing before this to do (else:) with.\")},function(d,expr){return d.enabled=d.enabled&&expr},null)([\"hook\"],function(_,name){return ChangerCommand.create(\"hook\",[name])},function(d,name){return d.attr.push({name:name})},[String])([\"transition\",\"t8n\"],function(_,name){var validT8ns=[\"dissolve\",\"shudder\",\"pulse\"];return name=insensitiveName(name),-1===validT8ns.indexOf(name)?TwineError.create(\"macrocall\",\"'\"+name+'\" is not a valid (transition:)',\"Only the following names are recognised (capitalisation and hyphens ignored): \"+validT8ns.join(\", \")):ChangerCommand.create(\"transition\",[name])},function(d,name){return d.transition=name,d},[String])(\"font\",function(_,family){return ChangerCommand.create(\"font\",[family])},function(d,family){return d.styles.push({\"font-family\":family}),d},[String])(\"align\",function(_,arrow){var style=void 0,centerIndex=arrow.indexOf(\"><\");if(!/^(==+>|<=+|=+><=+|<==+>)$/.test(arrow))return TwineError.create(\"macrocall\",'The (align:) macro requires an alignment arrow (\"==>\", \"<==\", \"==><=\" etc.) be provided, not \"'+arrow+'\"');if(~centerIndex){var alignPercent=Math.round(centerIndex/(arrow.length-2)*50);style=Object.assign({\"text-align\":\"center\",\"max-width\":\"50%\"},25===alignPercent?{\"margin-left\":\"auto\",\"margin-right\":\"auto\"}:{\"margin-left\":alignPercent+\"%\"})}else style=\"<\"===arrow[0]&&\">\"===arrow.slice(-1)?{\"text-align\":\"justify\",\"max-width\":\"50%\"}:arrow.includes(\">\")?{\"text-align\":\"right\"}:{\"text-align\":\"left\"};return style.display=\"block\",ChangerCommand.create(\"align\",[style])},function(d,style){d.styles.push(style)},[String])([\"text-colour\",\"text-color\",\"color\",\"colour\"],function(_,CSScolour){return CSScolour&&CSScolour.colour&&(CSScolour=CSScolour.toHexString(CSScolour)),ChangerCommand.create(\"text-colour\",[CSScolour])},function(d,CSScolour){return d.styles.push({color:CSScolour}),d},[either(String,Colour)])(\"text-rotate\",function(_,rotation){return ChangerCommand.create(\"text-rotate\",[rotation])},function(d,rotation){return d.styles.push({display:\"inline-block\",transform:function(){var currentTransform=$(this).css(\"transform\")||\"\";return\"none\"===currentTransform&&(currentTransform=\"\"),currentTransform+\" rotate(\"+rotation+\"deg)\"}}),d},[Number])(\"background\",function(_,value){return value&&value.colour&&(value=value.toHexString(value)),ChangerCommand.create(\"background\",[value])},function(d,value){var property=void 0;return property=Colour.isHexString(value)?{\"background-color\":value}:{\"background-size\":\"cover\",\"background-image\":\"url(\"+value+\")\"},d.styles.push(property,{display:function(){return childrenProbablyInline($(this))?\"initial\":\"block\"}}),d},[either(String,Colour)]).apply(void 0,_toConsumableArray(function(){var colourTransparent={color:\"transparent\"},styleTagNames=Object.assign(Object.create(null),{bold:{\"font-weight\":\"bold\"},italic:{\"font-style\":\"italic\"},underline:{\"text-decoration\":\"underline\"},strike:{\"text-decoration\":\"line-through\"},superscript:{\"vertical-align\":\"super\",\"font-size\":\".83em\"},subscript:{\"vertical-align\":\"sub\",\"font-size\":\".83em\"},blink:{animation:\"fade-in-out 1s steps(1,end) infinite alternate\"},shudder:{animation:\"shudder linear 0.1s 0s infinite\",display:\"inline-block\"},mark:{\"background-color\":\"hsla(60, 100%, 50%, 0.6)\"},condense:{\"letter-spacing\":\"-0.08em\"},expand:{\"letter-spacing\":\"0.1em\"},outline:[{\"text-shadow\":function(){var colour=$(this).css(\"color\");return\"-1px -1px 0 \"+colour+\", 1px -1px 0 \"+colour+\",-1px 1px 0 \"+colour+\", 1px 1px 0 \"+colour}},{color:function(){return $(this).css(\"background-color\")}}],shadow:{\"text-shadow\":function(){return\"0.08em 0.08em 0.08em \"+$(this).css(\"color\")}},emboss:{\"text-shadow\":function(){return\"0.08em 0.08em 0em \"+$(this).css(\"color\")}},smear:[{\"text-shadow\":function(){var colour=$(this).css(\"color\");return\"0em 0em 0.02em \"+colour+\",-0.2em 0em 0.5em \"+colour+\", 0.2em 0em 0.5em \"+colour}},colourTransparent],blur:[{\"text-shadow\":function(){return\"0em 0em 0.08em \"+$(this).css(\"color\")}},colourTransparent],blurrier:[{\"text-shadow\":function(){return\"0em 0em 0.2em \"+$(this).css(\"color\")},\"user-select\":\"none\"},colourTransparent],mirror:{display:\"inline-block\",transform:\"scaleX(-1)\"},upsidedown:{display:\"inline-block\",transform:\"scaleY(-1)\"},fadeinout:{animation:\"fade-in-out 2s ease-in-out infinite alternate\"},rumble:{animation:\"rumble linear 0.1s 0s infinite\",display:\"inline-block\"}});return[\"text-style\",function(_,styleName){return styleName=insensitiveName(styleName),styleName in styleTagNames?ChangerCommand.create(\"text-style\",[styleName]):TwineError.create(\"macrocall\",\"'\"+styleName+'\" is not a valid (textstyle:)',\"Only the following names are recognised (capitalisation and hyphens ignored): \"+Object.keys(styleTagNames).join(\", \"))},function(d,styleName){return assert(styleName in styleTagNames),d.styles=d.styles.concat(styleTagNames[styleName]),d}]}()).concat([[String]]))(\"css\",function(_,text){return text.trim().endsWith(\";\")||(text+=\";\"),ChangerCommand.create(\"css\",[text])},function(d,text){return d.attr.push({style:function(){return($(this).attr(\"style\")||\"\")+text}}),d},[String])}),define(\"internaltypes/enchantment\",[\"jquery\",\"utils\",\"internaltypes/changedescriptor\"],function($,Utils,ChangeDescriptor){var Enchantment={create:function(descriptor){return Utils.assertOnlyHas(descriptor,[\"scope\",\"attr\",\"data\",\"changer\"]),Object.assign(Object.create(this),{enchantments:$()},descriptor)},enchantScope:function(){var _this5=this,attr=this.attr,data=this.data,changer=this.changer,scope=this.scope;scope instanceof $&&(scope=Array.prototype.map.call(scope,function(e){return $(e)})),this.enchantments=$(),scope.forEach(function(e){var wrapping=e.wrapAll(\"<tw-enchantment>\").parent();if(attr&&wrapping.attr(attr),data&&wrapping.data(data),changer){var cd=ChangeDescriptor.create({target:wrapping});changer.run(cd),cd.update()}e.is(\"tw-story\")&&wrapping.css({width:\"100%\",height:\"100%\"}),_this5.enchantments=_this5.enchantments.add(wrapping)})},disenchant:function(){this.enchantments.each(function(){$(this).contents().unwrap()})}};return Object.freeze(Enchantment)}),define(\"macrolib/enchantments\",[\"jquery\",\"utils\",\"macros\",\"datatypes/hookset\",\"datatypes/changercommand\",\"internaltypes/enchantment\",\"internaltypes/twineerror\"],function($,Utils,Macros,HookSet,ChangerCommand,Enchantment,TwineError){function newEnchantmentMacroFns(enchantDesc,name){return Utils.assert(enchantDesc),$(function(){Utils.storyElement.on(enchantDesc.event+\".enchantment\",\".\"+enchantDesc.classList.replace(/ /g,\".\"),function(){var enchantment=$(this),event=enchantment.data(\"enchantmentEvent\");event&&event(enchantment)})}),[function(_,selector){return selector.selector&&(selector=selector.selector),selector?ChangerCommand.create(name,[selector]):TwineError.create(\"datatype\",\"The string given to this (\"+name+\":) macro was empty.\")},function(desc,selector){desc.enabled=!1,enchantDesc.rerender&&(desc.target=selector,desc.append=enchantDesc.rerender);var enchantData=Enchantment.create({attr:Object.assign({\"class\":enchantDesc.classList},enchantDesc.classList.includes(\"link\")?{tabIndex:\"0\"}:{}),data:{enchantmentEvent:function(){if(enchantDesc.once){var index=desc.section.enchantments.indexOf(enchantData);desc.section.enchantments.splice(index,1),enchantData.disenchant()}desc.section.renderInto(desc.source,null,Object.assign({},desc,{enabled:!0}))}},scope:desc.section.selectHook(selector)});return desc.section.enchantments.push(enchantData),enchantData.enchantScope(),desc},either(HookSet,String)]}var either=Macros.TypeSignature.either,revisionTypes=[\"replace\",\"append\",\"prepend\"];revisionTypes.forEach(function(e){Macros.addChanger(e,function(_,scope){return scope?ChangerCommand.create(e,[scope]):TwineError.create(\"datatype\",\"The string given to this (\"+e+\":) macro was empty.\")},function(desc,scope){var collapsing=$(desc.target.context).parents().filter(\"tw-collapsed\").length>0;return collapsing||(desc.attr=[].concat(_toConsumableArray(desc.attr),[{collapsing:!1}])),desc.target=scope,desc.append=e,desc},either(HookSet,String))});var interactionTypes=[{name:\"click\",enchantDesc:{event:\"click\",once:!0,rerender:\"\",classList:\"link enchantment-link\"}},{name:\"mouseover\",enchantDesc:{event:\"mouseenter\",once:!0,rerender:\"\",classList:\"enchantment-mouseover\"}},{name:\"mouseout\",enchantDesc:{event:\"mouseleave\",once:!0,rerender:\"\",classList:\"enchantment-mouseout\"}}];interactionTypes.forEach(function(e){return Macros.addChanger.apply(Macros,[e.name].concat(_toConsumableArray(newEnchantmentMacroFns(e.enchantDesc,e.name))))}),revisionTypes.forEach(function(revisionType){interactionTypes.forEach(function(interactionType){var enchantDesc=Object.assign({},interactionType.enchantDesc,{rerender:revisionType}),name=interactionType.name+\"-\"+revisionType;Macros.addChanger.apply(Macros,[name].concat(_toConsumableArray(newEnchantmentMacroFns(enchantDesc,name))))})})}),define(\"macrolib/links\",[\"jquery\",\"macros\",\"utils\",\"utils/selectors\",\"state\",\"passages\",\"engine\",\"datatypes/changercommand\"],function($,Macros,Utils,Selectors,State,Passages,Engine,ChangerCommand){var optional=Macros.TypeSignature.optional;$(function(){return $(Utils.storyElement).on(\"click.passage-link\",Selectors.internalLink,function(){var link=$(this),event=link.parent().data(\"clickEvent\");if(event)return void event(link);var next=link.attr(\"passage-name\");next&&Engine.goToPassage(next,!1)})}),[[\"link\",\"link-replace\"],[\"link-reveal\"],[\"link-repeat\"]].forEach(function(arr){return Macros.addChanger(arr,function(_,expr){return ChangerCommand.create(arr[0],[expr])},function(desc,text){var innerSource=desc.source;desc.source=\"<tw-link tabindex=0>\"+text+\"</tw-link>\",desc.append=\"link\"===arr[0]?\"replace\":\"append\",desc.data={clickEvent:function(link){desc.source=innerSource,desc.section.renderInto(innerSource+\"\",null,desc),\"link-reveal\"===arr[0]&&link.contents().unwrap()}}},[String])}),Macros.add([\"link-goto\"],function(section,text,passage){return{TwineScript_TypeName:\"a (link-goto: \"+Utils.toJSLiteral(text)+\", \"+Utils.toJSLiteral(passage)+\") command\",TwineScript_ObjectName:\"a (link-goto:) command\",TwineScript_Print:function(){var passageName=section.evaluateTwineMarkup(Utils.unescape(passage||text));if(passageName instanceof $)return passageName;if(!Passages.has(passageName))return'<tw-broken-link passage-name=\"'+Utils.escape(passageName)+'\">'+(text||passage)+\"</tw-broken-link>\";var visited=State.passageNameVisited(passageName);return\"<tw-link tabindex=0 \"+(visited>0?'class=\"visited\" ':\"\")+'passage-name=\"'+Utils.escape(passageName)+'\">'+(text||passage)+\"</tw-link>\"}}},[String,optional(String)])}),define(\"macrolib\",[\"utils\",\"macrolib/values\",\"macrolib/commands\",\"macrolib/datastructures\",\"macrolib/stylechangers\",\"macrolib/enchantments\",\"macrolib/links\"],function(_ref31){var log=_ref31.log;log(\"Loaded the built-in macros.\")}),define(\"repl\",[\"utils\",\"markup\",\"twinescript/compiler\",\"twinescript/environ\"],function(Utils,TwineMarkup,Compiler,Environ){window.REPL=function(a){var r=Compiler(TwineMarkup.lex(\"(print:\"+a+\")\"));return console.log(r),Environ({}).eval(r)},window.LEX=function(a){var r=TwineMarkup.lex(a);return 1===r.length?r[0]:r}}),require.config({paths:{jquery:\"../node_modules/jquery/dist/jquery\",almond:\"../node_modules/almond/almond\",\"es6-shim\":\"../node_modules/es6-shim/es6-shim\",requestAnimationFrame:\"../node_modules/requestanimationframe/app/requestAnimationFrame\",jqueryplugins:\"utils/jqueryplugins\",markup:\"./markup/markup\",lexer:\"./markup/lexer\",patterns:\"./markup/patterns\"},deps:[\"jquery\",\"es6-shim\",\"jqueryplugins\"]}),require([\"jquery\",\"renderer\",\"state\",\"engine\",\"passages\",\"utils/selectors\",\"macrolib\",\"repl\"],function($,Renderer,State,Engine,Passages,Selectors){function _eval(text){return eval(text+\"\")}function testPlayCleanup(){[\"_\",\"Backbone\",\"Store\",\"Mn\",\"Marionette\",\"saveAs\",\"FastClick\",\"JSZip\",\"SVG\",\"requestAnimFrame\",\"UUID\",\"XDate\",\"CodeMirror\",\"ui\",\"nwui\",\"AppPref\",\"Passage\",\"StoryFormat\",\"Story\",\"AppPrefCollection\",\"PassageCollection\",\"StoryCollection\",\"StoryFormatCollection\",\"WelcomeView\",\"StoryItemView\",\"StoryListView\",\"PassageItemView\",\"StoryEditView\",\"TwineRouter\",\"TransRegion\",\"TwineApp\",\"app\",\"storyFormat\"].forEach(function(name){try{delete window[name]}catch(e){window[name]=void 0}})}var _installHandlers=function(){var html=$(document.documentElement),debugHTML=\"<tw-debugger><button class='show-invisibles'>⚯ Debug View</button></tw-debugger>\";html.on(\"keydown\",function(event){13===event.which&&\"0\"===event.target.getAttribute(\"tabindex\")&&$(event.target).trigger(\"click\");\n\n}),Engine.options.debug&&($(document.body).append(debugHTML),$(\".show-invisibles\").click(function(){html.toggleClass(\"debug-mode\").is(\".debug-mode\")})),_installHandlers=null};!function(oldOnError){window.onerror=function(message,_,__,___,error){var stack=error&&error.stack&&\"\\n\"+error.stack.replace(/\\([^\\)]+\\)/g,\"\")+\"\\n\"||\"(\"+message+\")\\n\";alert(\"Sorry to interrupt, but this page's code has got itself in a mess. \"+stack+\"(This is probably due to a bug in the Twine game engine.)\"),window.onerror=oldOnError,\"function\"==typeof oldOnError&&oldOnError.apply(void 0,arguments)}}(window.onerror),$(function(){var header=$(Selectors.storyData);if(0!==header.length){\"TwineApp\"in window&&testPlayCleanup();var options=header.attr(\"options\");options&&options.split(/\\s/).forEach(function(b){Renderer.options[b]=Engine.options[b]=!0});var startPassage=header.attr(\"startnode\");return Renderer.options.ifid=Engine.options.ifid=header.attr(\"ifid\"),startPassage||(startPassage=[].reduce.call($(Selectors.passageData),function(id,el){var pid=el.getAttribute(\"pid\");return id>pid?pid:id},1/0)),startPassage=$(Selectors.passageData+\"[pid=\"+startPassage+\"]\").attr(\"name\"),_installHandlers(),$(Selectors.script).each(function(i){try{_eval($(this).html())}catch(e){alert(\"There is a problem with this story's script (#\"+(i+1)+\"):\\n\\n\"+e.message)}}),$(Selectors.stylesheet).each(function(i){$(document.head).append('<style data-title=\"Story stylesheet '+(i+1)+'\">'+$(this).html())}),window.location.hash&&!window.location.hash.includes(\"stories\")&&State.load(window.location.hash)?void Engine.showPassage(State.passage):void Engine.goToPassage(startPassage)}})}),define(\"harlowe\",function(){}),require([\"harlowe\"])}();</script>\n\n\n</body>\n</html>\n","setup": function(){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};(function(){function Token(){for(var i=0;i<arguments.length;i++)for(var j in arguments[i])this[j]=arguments[i][j]}function cacheChildPos(token,childToken){token.childAt=token.childAt||{};for(var i=childToken.start;i<childToken.end;i+=1)token.childAt[i]=childToken}function shouldTest(rule,text,lastToken,unmatchedLength){return!(rule.canFollow&&!(rule.canFollow.indexOf(lastToken&&lastToken.type)>-1)||rule.cannotFollow&&(-1!==rule.cannotFollow.indexOf(lastToken&&lastToken.type)||rule.cannotFollow.indexOf("text")>-1&&unmatchedLength)||rule.peek&&rule.peek!==text.slice(0,rule.peek.length))}function _lex(parentToken){for(var src=parentToken.innerText,frontTokenStack=[],index=0,firstUnmatchedIndex=index,endIndex=src.length,lastToken=null;endIndex>index;){for(var slice=src.slice(index),mode=(frontTokenStack.length?frontTokenStack[0]:parentToken).innerMode,i=0,l=mode.length;l>i;i+=1){var rule=rules[mode[i]];if(shouldTest(rule,slice,lastToken,index>firstUnmatchedIndex)&&rule.pattern.test(slice)){var match=rule.pattern.exec(slice),tokenData=rule.fn(match),isMatchingBack=!1,ft=0;if(tokenData.matches){for(;ft<frontTokenStack.length;ft+=1){var type=frontTokenStack[ft].type;if(type in tokenData.matches){isMatchingBack=!0;break}tokenData.cannotCross&&tokenData.cannotCross.indexOf(type)>-1&&(ft=frontTokenStack.length-1)}if(ft>=frontTokenStack.length&&!tokenData.isFront)continue}index>firstUnmatchedIndex&&parentToken.addChild({type:"text",text:src.slice(firstUnmatchedIndex,index),innerMode:mode}),lastToken=parentToken.addChild(tokenData),index+=lastToken.text.length,firstUnmatchedIndex=index,isMatchingBack&&(foldTokens(parentToken,lastToken,frontTokenStack[ft]),frontTokenStack=frontTokenStack.slice(ft+1)),lastToken.isFrontToken()&&frontTokenStack.unshift(lastToken);break}}i===l&&(index+=1,null===lastToken&&(lastToken={type:"text"}))}for(index>firstUnmatchedIndex&&parentToken.addChild({type:"text",text:src.slice(firstUnmatchedIndex,index),innerMode:(frontTokenStack.length?frontTokenStack[0]:parentToken).innerMode});frontTokenStack.length>0;)frontTokenStack.shift().demote();return parentToken}function foldTokens(parentToken,backToken,frontToken){var backTokenIndex=parentToken.children.indexOf(backToken),frontTokenIndex=parentToken.children.indexOf(frontToken);backToken.children=parentToken.children.splice(frontTokenIndex+1,backTokenIndex-(frontTokenIndex+1)),backToken.children.forEach(function(token){cacheChildPos(backToken,token)}),backToken.type=backToken.matches[frontToken.type],backToken.innerText="";for(var i=0,l=backToken.children.length;l>i;i++)backToken.innerText+=backToken.children[i].text;backToken.start=frontToken.start,backToken.text=frontToken.text+backToken.innerText+backToken.text,Object.keys(frontToken).forEach(function(key){Object.hasOwnProperty.call(backToken,key)||(backToken[key]=frontToken[key])}),backToken.isFront&&(backToken.isFront=!1),parentToken.children.splice(frontTokenIndex,1),cacheChildPos(parentToken,backToken)}var Lexer=void 0,rules={};Token.prototype={constructor:Token,addChild:function(tokenData){var index=this.lastChildEnd(),childToken=new Token({start:index,end:tokenData.text&&index+tokenData.text.length,children:[]},tokenData);return childToken.innerText&&_lex(childToken),this.children.push(childToken),cacheChildPos(this,childToken),childToken},lastChild:function(){return this.children?this.children[this.children.length-1]||null:null},lastChildEnd:function(){var lastToken=this.lastChild();return lastToken?lastToken.end:this.start+Math.max(0,this.text.indexOf(this.innerText))},tokenAt:function(index){if(index<this.start||index>=this.end)return null;if(this.childAt)return this.childAt[index]&&this.childAt[index].tokenAt(index)||this;if(this.children.length)for(var i=0;i<this.children.length;i+=1){var childToken=this.children[i].tokenAt(index);if(childToken)return childToken}return this},pathAt:function(index){if(index<this.start||index>=this.end)return[];if(this.childAt)return(this.childAt[index]&&this.childAt[index].pathAt(index)||[]).concat(this);var path=[];if(this.children.length)for(var i=0;i<this.children.length;i+=1){var childPath=this.children[i].pathAt(index);if(childPath.length){path.concat(childPath);break}}return path.concat(this)},nearestTokenAt:function(index){return index<this.start||index>=this.end?null:this.children?this.children.reduce(function(prevValue,child){return prevValue||(index>=child.start&&index<child.end?child:null)},null):this},everyLeaf:function everyLeaf(fn){if(!this.children||0===this.children.length)return!!fn(this);var ret=void 0;return this.children.everyLeaf(function(){ret=ret&&!!everyLeaf(fn)})},isWhitespace:function(){return this.everyLeaf(function(e){return"whitespace"===e.type||!e.text.trim()})},isFrontToken:function(){return this.isFront},isBackToken:function(){return"matches"in this},demote:function(){this.type="text"},error:function(message){this.type="error",this.message=message},toString:function(){var ret=this.type+"("+this.start+"→"+this.end+")";return this.children&&this.children.length>0&&(ret+="["+this.children+"]"),ret}},Lexer={lex:function(src,initIndex){return _lex(new Token({type:"root",start:initIndex||0,end:src.length,text:src,innerText:src,children:[],childAt:{},innerMode:Lexer.startMode}))},rules:rules},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=Lexer:"function"==typeof define&&define.amd?define("lexer",[],function(){return Lexer}):"function"==typeof StoryFormat&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Lexer=Lexer):this.TwineLexer=Lexer}).call(eval("this")||("undefined"!=typeof global?global:window)),function(){function escape(str){return str&&"object"===("undefined"==typeof str?"undefined":_typeof(str))?(Object.keys(str).forEach(function(e){str[e]=escape(str[e])}),str):(str+"").replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function notChars(){return"[^"+Array.apply(0,arguments).map(escape).join("")+"]*"}function makeWrapper(starter){return function(){return"("+starter+Array.apply(0,arguments).join("|")+")"}}var Patterns=void 0,either=makeWrapper("?:"),notBefore=makeWrapper("?!"),before=makeWrapper("?="),ws="[ \\f\\t\\v - \u2028\u2029 ]*",mws=ws.replace("*","+"),wb="\\b",escapedLine="\\\\\\n\\\\?|\\n\\\\",br="\\n(?!\\\\)",anyLetter="[\\w\\-À-Þß-ÿŐŰőű]",anyLetterStrict="[\\wÀ-Þß-ÿŐŰőű]",eol=either("\\n","$"),noUnescapedLineBreak="("+either(escapedLine,"[^\\n]")+"+)",bullet="\\*",bulleted=ws+"("+bullet+"+)"+mws+noUnescapedLineBreak+eol,numberPoint="(?:0\\.)",numbered=ws+"("+numberPoint+"+)"+mws+noUnescapedLineBreak+eol,hr=ws+"-{3,}"+ws+eol,heading=ws+"(#{1,6})"+ws+noUnescapedLineBreak+eol,align=ws+"(==+>|<=+|=+><=+|<==+>)"+ws+eol,passageLink={opener:"\\[\\[(?!\\[)",text:"("+notChars("]")+")",rightSeparator:either("\\->","\\|"),leftSeparator:"<\\-",closer:"\\]\\]",legacySeparator:"\\|",legacyText:"("+either("[^\\|\\]]","\\]"+notBefore("\\]"))+"+)"},validPropertyName=anyLetter.replace("\\-","")+"*"+anyLetter.replace("\\-","").replace("\\w","a-zA-Z")+anyLetter.replace("\\-","")+"*",variable="\\$("+validPropertyName+")",property="'s"+mws+"("+validPropertyName+")",belongingProperty="("+validPropertyName+")"+mws+"of"+wb+notBefore("it"+wb),possessiveOperator="'s"+mws,belongingOperator="of"+wb,identifier=either("it","time")+wb,itsProperty="its"+mws+"("+validPropertyName+")",itsOperator="its"+mws,belongingItProperty="("+validPropertyName+")"+mws+"of"+mws+"it"+wb,belongingItOperator="of"+wb+mws+"it"+wb,macro={opener:"\\(",name:"("+either(anyLetter.replace("]","\\/]")+anyLetter+"*",variable)+"):",closer:"\\)"},twine1Macro="<<[^>\\s]+\\s*(?:\\\\.|'(?:[^'\\\\]*\\\\.)*[^'\\\\]*'|\"(?:[^\"\\\\]*\\\\.)*[^\"\\\\]*\"|[^'\"\\\\>]|>(?!>))*>>",tag={name:"[a-zA-Z][\\w\\-]*",attrs:"(?:\"[^\"]*\"|'[^']*'|[^'\">])*?"},hookTagFront="\\|("+anyLetter.replace("]","_]")+"*)>",hookTagBack="<("+anyLetter.replace("]","_]")+"*)\\|",number="\\b(\\d+(?:\\.\\d+)?(?:[eE][+\\-]?\\d+)?|NaN)"+notBefore("m?s")+"\\b";passageLink.main=passageLink.opener+either(passageLink.text+passageLink.rightSeparator,passageLink.text.replace("*","*?")+passageLink.leftSeparator)+passageLink.text,Patterns={upperLetter:"[A-ZÀ-ÞŐŰ]",lowerLetter:"[a-z0-9_\\-ß-ÿőű]",anyLetter:anyLetter,anyLetterStrict:anyLetterStrict,whitespace:mws,escapedLine:escapedLine,br:br,commentFront:"<!--",commentBack:"-->",tag:"<\\/?"+tag.name+tag.attrs+">",tagPeek:"<",scriptStyleTag:"<("+either("script","style")+")"+tag.attrs+">[^]*?<\\/\\1>",scriptStyleTagOpener:"<",url:"("+either("https?","mailto","javascript","ftp","data")+":\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])",bullet:bullet,hr:hr,heading:heading,align:align,bulleted:bulleted,numbered:numbered,delOpener:escape("~~"),italicOpener:escape("//"),boldOpener:escape("''"),supOpener:escape("^^"),strongFront:escape("**"),strongBack:escape("**"),emFront:escape("*"),emBack:escape("*"),verbatimOpener:"`+",collapsedFront:"{",collapsedBack:"}",hookAppendedFront:"\\[",hookPrependedFront:hookTagFront+"\\[",hookAnonymousFront:"\\[",hookBack:"\\]"+notBefore(hookTagBack),hookAppendedBack:"\\]"+hookTagBack,passageLink:passageLink.main+passageLink.closer,passageLinkPeek:"[[",legacyLink:passageLink.opener+passageLink.legacyText+passageLink.legacySeparator+passageLink.legacyText+passageLink.closer,legacyLinkPeek:"[[",simpleLink:passageLink.opener+passageLink.legacyText+passageLink.closer,simpleLinkPeek:"[[",macroFront:macro.opener+before(macro.name),macroFrontPeek:"(",macroName:macro.name,groupingFront:"\\("+notBefore(macro.name),groupingFrontPeek:"(",groupingBack:"\\)",twine1Macro:twine1Macro,twine1MacroPeek:"<<",property:property,propertyPeek:"'s",belongingProperty:belongingProperty,possessiveOperator:possessiveOperator,belongingOperator:belongingOperator,belongingOperatorPeek:"of",itsOperator:itsOperator,itsOperatorPeek:"its",belongingItOperator:belongingItOperator,belongingItOperatorPeek:"of",variable:variable,variablePeek:"$",hookRef:"\\?("+anyLetter+"+)\\b",hookRefPeek:"?",cssTime:"(\\d+\\.?\\d*|\\d*\\.?\\d+)(m?s)"+wb,colour:either(either("Red","Orange","Yellow","Lime","Green","Cyan","Aqua","Blue","Navy","Purple","Fuchsia","Magenta","White","Gray","Grey","Black"),"#[\\dA-Fa-f]{3}(?:[\\dA-Fa-f]{3})?"),number:number,"boolean":either("true","false")+wb,identifier:identifier,itsProperty:itsProperty,itsPropertyPeek:"its",belongingItProperty:belongingItProperty,escapedStringChar:"\\\\[^\\n]",singleStringOpener:"'",doubleStringOpener:'"',is:"is"+notBefore(" not"," in")+wb,isNot:"is not"+wb,and:"and"+wb,or:"or"+wb,not:"not"+wb,inequality:either("<(?!=)","<=",">(?!=)",">="),isIn:"is in"+wb,contains:"contains"+wb,addition:escape("+")+notBefore("="),subtraction:escape("-")+notBefore("="),multiplication:escape("*")+notBefore("="),division:either("/","%")+notBefore("="),comma:",",spread:"\\.\\.\\."+notBefore("\\."),to:either("to"+wb,"="),into:"into"+wb,augmentedAssign:either("\\+","\\-","\\*","\\/","%")+"="},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=Patterns:"function"==typeof define&&define.amd?define("patterns",[],function(){return Patterns}):"function"==typeof StoryFormat&&this instanceof StoryFormat?(this.modules||(this.modules={}),this.modules.Patterns=Patterns):this.Patterns=Patterns}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){function rules(Lexer){function textTokenFn(name){return name=name||"innerText",function(match){var innerText=match.reduceRight(function(a,b,index){return a||(index?b:"")},""),data={};return data[name]=innerText,data}}function openerFn(name,foldedName){var matches={};return matches[name]=foldedName,function(){return{isFront:!0,matches:matches}}}function setupRules(mode,target){return Object.keys(target).forEach(function(ruleName){var innerFn=target[ruleName].fn;target[ruleName].fn=function(match){var ret=innerFn(match);return ret.text||(ret.text=match[0]),ret.type||(ret.type=ruleName),ret.innerMode||(ret.innerMode=mode),ret}}),target}var emptyFn=Object.bind(0,null),markupMode=[],macroMode=[],blockRules=setupRules(markupMode,{hr:{fn:emptyFn},bulleted:{fn:function(match){return{depth:match[1].length,innerText:match[2]}}},numbered:{fn:function(match){return{depth:match[1].length/2,innerText:match[2]}}},heading:{fn:function(match){return{depth:match[1].length,innerText:match[2]}}},align:{fn:function(match){var align=void 0,arrow=match[1],centerIndex=arrow.indexOf("><");return~centerIndex?(align=Math.round(centerIndex/(arrow.length-2)*50),25===align&&(align="center")):"<"===arrow[0]&&">"===arrow.slice(-1)?align="justify":arrow.indexOf(">")>-1?align="right":arrow.indexOf("<")>-1&&(align="left"),{align:align}}}});Object.keys(blockRules).forEach(function(key){blockRules[key].canFollow=[null,"br","hr","bulleted","numbered","heading","align"],blockRules[key].cannotFollow=["text"]});var inlineRules=setupRules(markupMode,{twine1Macro:{fn:function(){return{type:"error",message:"Harlowe macros use a different syntax to Twine 1 and SugarCube macros."}}},br:{fn:emptyFn},emBack:{fn:function(){return{matches:{emFront:"em"}}}},strongBack:{fn:function(){return{matches:{strongFront:"strong"}}}},strongFront:{fn:function(){return{isFront:!0}}},emFront:{fn:function(){return{isFront:!0}}},boldOpener:{fn:openerFn("boldOpener","bold")},italicOpener:{fn:openerFn("italicOpener","italic")},delOpener:{fn:openerFn("delOpener","del")},supOpener:{fn:openerFn("supOpener","sup")},commentFront:{fn:function(){return{isFront:!0}}},commentBack:{fn:function(){return{matches:{commentFront:"comment"}}}},scriptStyleTag:{fn:emptyFn},tag:{fn:emptyFn},url:{fn:emptyFn},passageLink:{fn:function(match){var p1=match[1],p2=match[2],p3=match[3];return{type:"twineLink",innerText:p2?p3:p1,passage:p1?p3:p2}}},simpleLink:{fn:function(match){return{type:"twineLink",innerText:match[1],passage:match[1]}}},hookPrependedFront:{fn:function(match){return{name:match[1],isFront:!0,tagPosition:"prepended"}}},hookAnonymousFront:{fn:function(){return{isFront:!0,demote:function(){this.error("This tagged hook doesn't have a matching ].")}}},canFollow:["macro","variable"]},hookAppendedFront:{fn:function(){return{isFront:!0}},cannotFollow:["macro","variable"]},hookBack:{fn:function(){return{type:"hookAppendedBack",matches:{hookPrependedFront:"hook",hookAnonymousFront:"hook"}}}},hookAppendedBack:{fn:function(match){return{name:match[1],tagPosition:"appended",matches:{hookAppendedFront:"hook"}}}},verbatimOpener:{fn:function(match){var number=match[0].length,matches={};return matches["verbatim"+number]="verbatim",{type:"verbatim"+number,isFront:!0,matches:matches}}},collapsedFront:{fn:function(){return{isFront:!0}}},collapsedBack:{fn:function(){return{matches:{collapsedFront:"collapsed"}}}},escapedLine:{fn:emptyFn},legacyLink:{fn:function(match){return{type:"twineLink",innerText:match[1],passage:match[2]}}}}),expressionRules=setupRules(macroMode,{macroFront:{fn:function(match){return{isFront:!0,name:match[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:"grouping",macroFront:"macro"},cannotCross:["singleStringOpener","doubleStringOpener"]}}},hookRef:{fn:textTokenFn("name")},variable:{fn:textTokenFn("name")},whitespace:{fn:emptyFn,cannotFollow:"text"}}),macroRules=setupRules(macroMode,Object.assign({macroName:{canFollow:["macroFront"],fn:function(match){return match[2]?{isMethodCall:!0,innerText:match[2]}:{isMethodCall:!1}}},groupingFront:{fn:function(){return{isFront:!0}}},property:{fn:textTokenFn("name"),canFollow:["variable","hookRef","property","itsProperty","belongingItProperty","macro","grouping","string","boolean","number"]},possessiveOperator:{fn:emptyFn},itsProperty:{cannotFollow:["text"],fn:textTokenFn("name")},itsOperator:{cannotFollow:["text"],fn:emptyFn},belongingItProperty:{cannotFollow:["text"],fn:textTokenFn("name")},belongingItOperator:{cannotFollow:["text"],fn:emptyFn},belongingProperty:{cannotFollow:["text"],fn:textTokenFn("name")},belongingOperator:{cannotFollow:["text"],fn:emptyFn},escapedStringChar:{fn:function(){return{type:"text"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:"string"}}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:"string"}}}},cssTime:{fn:function(match){return{value:+match[1]*("s"===match[2].toLowerCase()?1e3:1)}}},colour:{cannotFollow:["text"],fn:function(match){var colour,m=match[0].toLowerCase(),mapping={red:"e61919",orange:"e68019",yellow:"e5e619",lime:"80e619",green:"19e619",cyan:"19e5e6",aqua:"19e5e6",blue:"197fe6",navy:"1919e6",purple:"7f19e6",fuchsia:"e619e5",magenta:"e619e5",white:"fff",black:"000",gray:"888",grey:"888"};return colour=Object.hasOwnProperty.call(mapping,m)?"#"+mapping[m]:m,{colour:colour}}},number:{fn:function(match){return{value:parseFloat(match[0])}}},addition:{fn:emptyFn},subtraction:{fn:emptyFn},multiplication:{fn:emptyFn},division:{fn:emptyFn},inequality:{fn:function(match){return{operator:match[0]}}},augmentedAssign:{fn:function(match){return{operator:match[0][0]}}},identifier:{fn:textTokenFn("name"),cannotFollow:["text"]}},["boolean","is","to","into","and","or","not","isNot","contains","isIn"].reduce(function(a,e){return a[e]={fn:emptyFn,cannotFollow:["text"]},a},{}),["comma","spread","addition","subtraction","multiplication","division"].reduce(function(a,e){return a[e]={fn:emptyFn},a},{})));markupMode.push.apply(markupMode,_toConsumableArray(Object.keys(blockRules)).concat(_toConsumableArray(Object.keys(inlineRules)),_toConsumableArray(Object.keys(expressionRules)))),macroMode.push.apply(macroMode,_toConsumableArray(Object.keys(expressionRules)).concat(_toConsumableArray(Object.keys(macroRules))));var allRules=Object.assign({},blockRules,inlineRules,expressionRules,macroRules);return Object.keys(allRules).forEach(function(key){var re=Patterns[key];allRules[key].pattern="string"!=typeof re?re:new RegExp("^(?:"+re+")","i"),Patterns[key+"Peek"]&&(allRules[key].peek=Patterns[key+"Peek"])}),Object.assign(Lexer.rules,allRules),Lexer.startMode=markupMode,Lexer}function exporter(Lexer){var TwineMarkup=Object.freeze({lex:rules(Lexer).lex,Patterns:Patterns});return TwineMarkup}var Patterns=void 0;Object.assign=Object.assign||function(obj){for(var i=1;i<arguments.length;i++){var target=arguments[i];for(var key in target)Object.hasOwnProperty.call(target,key)&&(obj[key]=target[key])}return obj},"object"===("undefined"==typeof module?"undefined":_typeof(module))?(Patterns=require("patterns"),module.exports=exporter(require("lexer"))):"function"==typeof define&&define.amd?define("markup",["lexer","patterns"],function(Lexer,P){return Patterns=P,exporter(Lexer)}):"function"==typeof StoryFormat&&this instanceof StoryFormat?(Patterns=this.modules.Patterns,this.modules.Markup=exporter(this.modules.Lexer),this.lex=this.modules.Markup.lex):(Patterns=this.Patterns,this.TwineMarkup=exporter(this.TwineLexer))}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){var insensitiveName=function(e){return(e+"").toLowerCase().replace(/-|_/g,"")},validMacros="text,string,substring,num,number,if,unless,elseif,else,nonzero,first-nonzero,passage,nonempty,first-nonempty,weekday,monthday,currenttime,currentdate,min,max,abs,sign,sin,cos,tan,floor,round,ceil,pow,exp,sqrt,log,log10,log2,random,either,alert,prompt,confirm,openURL,reload,gotoURL,pageURL,hook,transition,t8n,font,align,text-colour,text-color,color,colour,text-rotate,background,text-style,css,replace,append,prepend,click,mouseover,mouseout,click-replace,mouseover-replace,mouseout-replace,click-append,mouseover-append,mouseout-append,click-prepend,mouseover-prepend,mouseout-prepend,set,put,move,a,array,range,subarray,shuffled,sorted,rotated,datanames,datavalues,history,datamap,dataset,count,display,print,goto,live,stop,savegame,savedgames,loadgame,link,link-goto,link-replace,link-repeat,link-reveal".split(",").map(insensitiveName),lex=void 0;"function"==typeof define&&define.amd?define("markup",[],function(markup){lex=markup.lex}):"function"==typeof StoryFormat&&this instanceof StoryFormat&&(lex=this.modules.Markup.lex),window.CodeMirror&&CodeMirror.defineMode("harlowe",function(){function forceFullChange(changeObj,oldText){if(changeObj.update){var line=changeObj.from.line,newText=oldText.split("\n").slice(0,changeObj.from.line+1);return newText[line]=newText[line].slice(0,changeObj.from.ch)+changeObj.text[0],newText=newText.concat(changeObj.text.slice(1)),changeObj.update({line:0,ch:0},changeObj.to,newText),newText.join("\n")}}function cursorMarking(doc){cursorMarks.length&&(cursorMarks.forEach(function(mark){return mark.clear()}),cursorMarks=[]);var token=tree.tokenAt(doc.indexFromPos(doc.getCursor()));token&&(cursorMarks.push(doc.markText(doc.posFromIndex(token.start),doc.posFromIndex(token.end),{className:"cm-harlowe-cursor"})),("variable"===token.type||"hookRef"===token.type)&&referenceTokens[token.type].forEach(function(e){e!==token&&e.name===token.name&&cursorMarks.push(doc.markText(doc.posFromIndex(e.start),doc.posFromIndex(e.end),{className:"cm-harlowe-variableOccurrence"}))}),"hookRef"===token.type&&referenceTokens.hook.forEach(function(e){if(e.name===token.name){var tagStart="appended"===e.tagPosition?e.end-e.name.length-1:e.start+1;cursorMarks.push(doc.markText(doc.posFromIndex(tagStart),doc.posFromIndex(tagStart+e.name.length),{className:"cm-harlowe-hookOccurrence"}))}}))}var cm=void 0,tree=void 0,referenceTokens={variable:[],hook:[],hookRef:[],populate:function(){var _this=this;this.variable=[],this.hook=[],this.hookRef=[];var recur=function recur(token){"variable"===token.type?_this.variable.push(token):"hook"===token.type?_this.hook.push(token):"hookRef"===token.type&&_this.hookRef.push(token),token.children.forEach(recur)};tree.children.forEach(recur)}},cursorMarks=[],_init=function(){var doc=cm.doc;tree=lex(doc.getValue()),referenceTokens.populate(),doc.on("beforeChange",function(_,change){var oldText=doc.getValue();forceFullChange(change,oldText)}),doc.on("change",function(){var text=doc.getValue();tree=lex(text),referenceTokens.populate()}),doc.on("swapDoc",_init),doc.on("cursorActivity",cursorMarking),_init=null};return{startState:function(){return cm||(cm=CodeMirror.modes.harlowe.cm,cm.setOption("placeholder",["Enter the body text of your passage here.","''Bold'', //italics//, ^^superscript^^, ~~strikethrough~~, and <p>HTML tags</p> are available.","To display special symbols without them being transformed, put them between `backticks`.","To link to another passage, write the link text and the passage name like this: [[link text->passage name]]\nor this: [[passage name<-link text]]\nor this: [[link text]].","Macros like (set:) and (display:) are the programming of your passage. If you've (set:) a $variable, you can just enter its name to print it out.","To make a 'hook', put [single square brackets] around text - or leave it empty [] - then put a macro like (if:), a $variable, or a |nametag> outside the front, |like>[so].","Hooks can be used for many things: showing text (if:) something happened, applying a (text-style:), making a place to (append:) text later on, and much more!","Consult the Harlowe documentation for more information."].join("\n\n"))),{pos:0}},blankLine:function(state){state.pos++},token:function(stream,state){_init&&_init();var currentBranch=tree.pathAt(state.pos),currentToken=currentBranch[0];if(!currentToken)return state.pos++,stream.next(),null;for(;currentToken===currentToken.tokenAt(state.pos)&&!stream.eol();)state.pos++,stream.next();stream.eol()&&state.pos++;for(var counts={},ret="",i=0;i<currentBranch.length;i+=1){var type=currentBranch[i].type,name="harlowe-"+type;switch(counts[name]=(counts[name]||0)+1,counts[name]>1&&(name+="-"+counts[name]),type){case"macroName":-1===validMacros.indexOf(insensitiveName(currentBranch[i].text.slice(0,-1)))&&(name+=" harlowe-error")}ret+=name+" "}return ret}}});var harloweStyles=document.querySelector("style#cm-harlowe");harloweStyles||(harloweStyles=document.createElement("style"),harloweStyles.setAttribute("id","cm-harlowe"),document.head.appendChild(harloweStyles)),harloweStyles.innerHTML=function(){function nestedBG(h,s,l){return function(e){return"background-color: hsla("+h+","+s+"%,"+l+"%,"+e+");"}}var warmHookBG=nestedBG(40,100,50),coolHookBG=nestedBG(220,100,50),macro=function(percent){return nestedBG(320,44,50)(percent)+"color: #a84186;"},invalid="color: firebrick !important; background-color: hsla(17, 100%, 74%, 0.74) !important;",intangible="font-weight:100; color: hsla(0,0,0,0.5)";return{root:"box-sizing:border-box;",cursor:"border-bottom: 2px solid darkgray;",hook:warmHookBG(.05),"hook-2":warmHookBG(.1),"hook-3":warmHookBG(.15),"hook-4":warmHookBG(.2),"hook-5":warmHookBG(.25),"hook-6":warmHookBG(.3),"hook-7":warmHookBG(.35),"hook-8":warmHookBG(.4),"^=hook , ^=hook-":"font-weight:bold;",error:invalid,macro:macro(.05),"macro-2":macro(.1),"macro-3":macro(.15),"macro-4":macro(.2),"macro-5":macro(.25),"macro-6":macro(.3),"macro-7":macro(.35),"macro-8":macro(.4),macroName:"font-style:italic;","^=macro ":"font-weight:bold;","bold, strong":"font-weight:bold;","italic, em":"font-style:italic;",sup:"vertical-align: super;font-size:0.8em;",verbatim:"background-color: hsla(0,0%,50%,0.1);","^=bold, ^=strong, ^=italic, ^=em, ^=sup, ^=verbatim":intangible,"^=collapsed":"font-weight:bold; color: hsl(201, 100%, 30%);",collapsed:coolHookBG(.025),"collapsed.hook":coolHookBG(.05),"collapsed.hook-2":coolHookBG(.1),"collapsed.hook-3":coolHookBG(.15),"collapsed.hook-4":coolHookBG(.2),"collapsed.hook-5":coolHookBG(.25),"collapsed.hook-6":coolHookBG(.3),"collapsed.hook-7":coolHookBG(.35),"collapsed.hook-8":coolHookBG(.4),"twineLink:not(.text)":"color: #3333cc;",tag:"color: #4d4d9d;","boolean":"color: #626262;",string:"color: #008282;",number:"color: #A15000;",variable:"color: #005682;",hookRef:"color: #007f54;","variableOccurrence, hookOccurrence":"background: #7fffd4 !important;",heading:"font-weight:bold;",hr:"display:block; background-image: linear-gradient(0deg, transparent, transparent 45%, silver 45%, transparent 55%, transparent);",align:"display:block; color: hsl(14, 99%, 27%); background-color: hsla(14, 99%, 87%, 0.2);",escapedLine:"font-weight:bold; color: hsl(51, 100%, 30%);","identifier, property, belongingProperty, itsProperty, belongingItProperty, belongingItOperator":"color: #0076b2;",toString:function(){var _this2=this;return Object.keys(this).reduce(function(a,e){var selector;return"toString"===e?a:(selector=e.split(", ").map(function map(e){return e.indexOf(".")>-1?e.split(/\./g).map(map).join(""):0===e.indexOf("^=")?"[class^='cm-harlowe-"+e.slice(2)+"']":".cm-harlowe-"+e}),a+selector.join(", ")+"{"+_this2[e]+"}")},"")}}+""}()}.call(eval("this"));}});