extwee 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  <html data-init="no-js">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <title>undefined</title>
5
+ <title>twineExample</title>
6
6
  <meta name="viewport" content="width=device-width,initial-scale=1" />
7
7
  <!--
8
8
 
@@ -100,7 +100,7 @@ var saveAs=saveAs||navigator.msSaveBlob&&navigator.msSaveBlob.bind(navigator)||f
100
100
  <div id="init-lacking">Your browser lacks required capabilities. Please upgrade it or switch to another to continue.</div>
101
101
  <div id="init-loading"><div>Loading&hellip;</div></div>
102
102
  </div>
103
- <tw-storydata name="twineExample" startnode="2" creator="extwee" creator-version="2.0.2" ifid="2B68ECD6-348F-4CF5-96F8-549A512A8128" zoom="0" format="SugarCube" format-version="2.31.1" options hidden>
103
+ <tw-storydata name="twineExample" startnode="2" creator="extwee" creator-version="2.0.3" ifid="2B68ECD6-348F-4CF5-96F8-549A512A8128" zoom="0" format="SugarCube" format-version="2.31.1" options hidden>
104
104
  <style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css">body {background-color: green;}</style>
105
105
  <script role="script" id="twine-user-script" type="text/twine-javascript"></script>
106
106
  <tw-passagedata pid="1" name="StoryTitle">twineExample</tw-passagedata>
@@ -116,7 +116,7 @@ function S(){return H.length>0?H[0]:null}function E(e){return b()||e<0||e>G?null
116
116
  skipArgs:function(e,t){if(e.hasOwnProperty("skipArgs")){var r=e.skipArgs;return"boolean"==typeof r&&r||Array.isArray(r)&&r.includes(t)}return!!e.hasOwnProperty("skipArg0")&&(e.skipArg0&&e.name===t)},parseArgs:function(){function e(e,t){e:for(;;)switch(e.next()){case"\\":var r=e.next();if(r!==EOF&&"\n"!==r)break;case EOF:case"\n":return EOF;case t:break e}return e.pos}function t(e){var t=e.source.slice(e.pos).search(c);if(t===EOF)return null;switch(0!==t&&(e.pos+=t,e.ignore()),e.next()){case"`":return r;case'"':return n;case"'":return a;case"[":return i;default:return o}}function r(r){return e(r,"`")===EOF?r.error(u.Error,"unterminated backquote expression"):(r.emit(u.Expression),t)}function n(r){return e(r,'"')===EOF?r.error(u.Error,"unterminated double quoted string"):(r.emit(u.String),t)}function a(r){return e(r,"'")===EOF?r.error(u.Error,"unterminated single quoted string"):(r.emit(u.String),t)}function i(e){var r=void 0;if(e.accept("<>IiMmGg")?(r="image",e.acceptRun("<>IiMmGg")):r="link",!e.accept("["))return e.error(u.Error,"malformed "+r+" markup");e.depth=2;e:for(;;)switch(e.next()){case"\\":var n=e.next();if(n!==EOF&&"\n"!==n)break;case EOF:case"\n":return e.error(u.Error,"unterminated "+r+" markup");case"[":++e.depth;break;case"]":if(--e.depth<0)return e.error(u.Error,"unexpected right square bracket ']'");if(1===e.depth){if("]"===e.next()){--e.depth;break e}e.backup()}}return e.emit(u.SquareBracket),t}function o(e){var r=e.source.slice(e.pos).search(l);return e.pos=r===EOF?e.source.length:e.pos+r,e.emit(u.Bareword),r===EOF?null:t}function s(e){var r=new Lexer(e,t),n=[];return r.run().forEach(function(e){var t=e.text;switch(e.type){case u.Error:throw new Error('unable to parse macro argument "'+t+'": '+e.message);case u.Bareword:if(d.test(t))t=State.getVar(t);else if(/^(?:settings|setup)[.[]/.test(t))try{t=Scripting.evalTwineScript(t)}catch(e){throw new Error('unable to parse macro argument "'+t+'": '+e.message)}else if("null"===t)t=null;else if("undefined"===t)t=undefined;else if("true"===t)t=!0;else if("false"===t)t=!1;else if("NaN"===t)t=NaN;else{var r=Number(t);Number.isNaN(r)||(t=r)}break;case u.Expression:if(""===(t=t.slice(1,-1).trim()))t=undefined;else try{t=Scripting.evalTwineScript("("+t+")")}catch(e){throw new Error('unable to parse macro argument expression "'+t+'": '+e.message)}break;case u.String:try{t=Scripting.evalJavaScript(t)}catch(e){throw new Error('unable to parse macro argument string "'+t+'": '+e.message)}break;case u.SquareBracket:var a=Wikifier.helpers.parseSquareBracketedMarkup({source:t,matchStart:0});if(a.hasOwnProperty("error"))throw new Error('unable to parse macro argument "'+t+'": '+a.error);if(a.pos<t.length)throw new Error('unable to parse macro argument "'+t+'": unexpected character(s) "'+t.slice(a.pos)+'" (pos: '+a.pos+")");a.isLink?(t={isLink:!0},t.count=a.hasOwnProperty("text")?2:1,t.link=Wikifier.helpers.evalPassageId(a.link),t.text=a.hasOwnProperty("text")?Wikifier.helpers.evalText(a.text):t.link,t.external=!a.forceInternal&&Wikifier.isExternalLink(t.link),t.setFn=a.hasOwnProperty("setter")?Wikifier.helpers.createShadowSetterCallback(Scripting.parse(a.setter)):null):a.isImage&&(t=function(e){var t={source:e,isImage:!0};if("data:"!==e.slice(0,5)&&Story.has(e)){var r=Story.get(e);r.tags.includes("Twine.image")&&(t.source=r.text,t.passage=r.title)}return t}(Wikifier.helpers.evalPassageId(a.source)),a.hasOwnProperty("align")&&(t.align=a.align),a.hasOwnProperty("text")&&(t.title=Wikifier.helpers.evalText(a.text)),a.hasOwnProperty("link")&&(t.link=Wikifier.helpers.evalPassageId(a.link),t.external=!a.forceInternal&&Wikifier.isExternalLink(t.link)),t.setFn=a.hasOwnProperty("setter")?Wikifier.helpers.createShadowSetterCallback(Scripting.parse(a.setter)):null)}n.push(t)}),n}var u=Lexer.enumFromNames(["Error","Bareword","Expression","String","SquareBracket"]),l=new RegExp(Patterns.space),c=new RegExp(Patterns.notSpace),d=new RegExp("^"+Patterns.variable);return s}()}),Wikifier.Parser.add({name:"link",profiles:["core"],match:"\\[\\[[^[]",handler:function(e){var t=Wikifier.helpers.parseSquareBracketedMarkup(e);if(t.hasOwnProperty("error"))return void e.outputText(e.output,e.matchStart,e.nextMatch);e.nextMatch=t.pos;var r=Wikifier.helpers.evalPassageId(t.link),n=t.hasOwnProperty("text")?Wikifier.helpers.evalText(t.text):r,a=t.hasOwnProperty("setter")?Wikifier.helpers.createShadowSetterCallback(Scripting.parse(t.setter)):null,i=(Config.debug?new DebugView(e.output,"link-markup","[[link]]",e.source.slice(e.matchStart,e.nextMatch)):e).output;t.forceInternal||!Wikifier.isExternalLink(r)?Wikifier.createInternalLink(i,r,n,a):Wikifier.createExternalLink(i,r,n)}}),Wikifier.Parser.add({name:"urlLink",profiles:["core"],match:Patterns.url,handler:function(e){e.outputText(Wikifier.createExternalLink(e.output,e.matchText),e.matchStart,e.nextMatch)}}),Wikifier.Parser.add({name:"image",profiles:["core"],match:"\\[[<>]?[Ii][Mm][Gg]\\[",handler:function(e){var t=Wikifier.helpers.parseSquareBracketedMarkup(e);if(t.hasOwnProperty("error"))return void e.outputText(e.output,e.matchStart,e.nextMatch);e.nextMatch=t.pos;var r=void 0;Config.debug&&(r=new DebugView(e.output,"image-markup",t.hasOwnProperty("link")?"[img[][link]]":"[img[]]",e.source.slice(e.matchStart,e.nextMatch)),r.modes({block:!0}));var n=t.hasOwnProperty("setter")?Wikifier.helpers.createShadowSetterCallback(Scripting.parse(t.setter)):null,a=(Config.debug?r:e).output,i=void 0;if(t.hasOwnProperty("link")){var o=Wikifier.helpers.evalPassageId(t.link);a=t.forceInternal||!Wikifier.isExternalLink(o)?Wikifier.createInternalLink(a,o,null,n):Wikifier.createExternalLink(a,o),a.classList.add("link-image")}if(a=jQuery(document.createElement("img")).appendTo(a).get(0),i=Wikifier.helpers.evalPassageId(t.source),"data:"!==i.slice(0,5)&&Story.has(i)){var s=Story.get(i);s.tags.includes("Twine.image")&&(a.setAttribute("data-passage",s.title),i=s.text.trim())}a.src=i,t.hasOwnProperty("text")&&(a.title=Wikifier.helpers.evalText(t.text)),t.hasOwnProperty("align")&&(a.align=t.align)}}),Wikifier.Parser.add({name:"monospacedByBlock",profiles:["block"],match:"^\\{\\{\\{\\n",lookahead:/^\{\{\{\n((?:^[^\n]*\n)+?)(^\}\}\}$\n?)/gm,handler:function(e){this.lookahead.lastIndex=e.matchStart;var t=this.lookahead.exec(e.source);if(t&&t.index===e.matchStart){var r=jQuery(document.createElement("pre"));jQuery(document.createElement("code")).text(t[1]).appendTo(r),r.appendTo(e.output),e.nextMatch=this.lookahead.lastIndex}}}),Wikifier.Parser.add({name:"formatByChar",profiles:["core"],match:"''|//|__|\\^\\^|~~|==|\\{\\{\\{",handler:function(e){switch(e.matchText){case"''":e.subWikify(jQuery(document.createElement("strong")).appendTo(e.output).get(0),"''");break;case"//":e.subWikify(jQuery(document.createElement("em")).appendTo(e.output).get(0),"//");break;case"__":e.subWikify(jQuery(document.createElement("u")).appendTo(e.output).get(0),"__");break;case"^^":e.subWikify(jQuery(document.createElement("sup")).appendTo(e.output).get(0),"\\^\\^");break;case"~~":e.subWikify(jQuery(document.createElement("sub")).appendTo(e.output).get(0),"~~");break;case"==":e.subWikify(jQuery(document.createElement("s")).appendTo(e.output).get(0),"==");break;case"{{{":var t=/\{\{\{((?:.|\n)*?)\}\}\}/gm;t.lastIndex=e.matchStart;var r=t.exec(e.source);r&&r.index===e.matchStart&&(jQuery(document.createElement("code")).text(r[1]).appendTo(e.output),e.nextMatch=t.lastIndex)}}}),Wikifier.Parser.add({name:"customStyle",profiles:["core"],match:"@@",terminator:"@@",blockRe:/\s*\n/gm,handler:function(e){var t=Wikifier.helpers.inlineCss(e);this.blockRe.lastIndex=e.nextMatch;var r=this.blockRe.exec(e.source),n=r&&r.index===e.nextMatch,a=jQuery(document.createElement(n?"div":"span")).appendTo(e.output);0===t.classes.length&&""===t.id&&0===Object.keys(t.styles).length?a.addClass("marked"):(t.classes.forEach(function(e){return a.addClass(e)}),""!==t.id&&a.attr("id",t.id),a.css(t.styles)),n?(e.nextMatch+=r[0].length,e.subWikify(a[0],"\\n?"+this.terminator)):e.subWikify(a[0],this.terminator)}}),Wikifier.Parser.add({name:"verbatimText",profiles:["core"],match:'"{3}|<[Nn][Oo][Ww][Ii][Kk][Ii]>',lookahead:/(?:"{3}((?:.|\n)*?)"{3})|(?:<[Nn][Oo][Ww][Ii][Kk][Ii]>((?:.|\n)*?)<\/[Nn][Oo][Ww][Ii][Kk][Ii]>)/gm,handler:function(e){this.lookahead.lastIndex=e.matchStart;var t=this.lookahead.exec(e.source);t&&t.index===e.matchStart&&(e.nextMatch=this.lookahead.lastIndex,jQuery(document.createElement("span")).addClass("verbatim").text(t[1]||t[2]).appendTo(e.output))}}),Wikifier.Parser.add({name:"horizontalRule",profiles:["core"],match:"^----+$\\n?|<[Hh][Rr]\\s*/?>\\n?",handler:function(e){jQuery(document.createElement("hr")).appendTo(e.output)}}),Wikifier.Parser.add({name:"emdash",profiles:["core"],match:"--",handler:function(e){jQuery(document.createTextNode("—")).appendTo(e.output)}}),Wikifier.Parser.add({name:"doubleDollarSign",profiles:["core"],match:"\\${2}",handler:function(e){jQuery(document.createTextNode("$")).appendTo(e.output)}}),Wikifier.Parser.add({name:"nakedVariable",profiles:["core"],match:Patterns.variable+"(?:(?:\\."+Patterns.identifier+")|(?:\\[\\d+\\])|(?:\\[\"(?:\\\\.|[^\"\\\\])+\"\\])|(?:\\['(?:\\\\.|[^'\\\\])+'\\])|(?:\\["+Patterns.variable+"\\]))*",handler:function(e){var t=toStringOrDefault(State.getVar(e.matchText),null);null===t?jQuery(document.createTextNode(e.matchText)).appendTo(e.output):new Wikifier((Config.debug?new DebugView(e.output,"variable",e.matchText,e.matchText):e).output,t)}}),Wikifier.Parser.add({name:"template",profiles:["core"],match:"\\?"+Patterns.templateName,handler:function(e){var t=e.matchText.slice(1),r=Template.get(t),n=null;switch(r instanceof Array&&(r=r.random()),void 0===r?"undefined":_typeof(r)){case"function":try{n=toStringOrDefault(r.call({name:t}),null)}catch(r){return throwError(e.output,"cannot execute function template ?"+t+": "+r.message,e.source.slice(e.matchStart,e.nextMatch))}break;case"string":n=r}null===n?jQuery(document.createTextNode(e.matchText)).appendTo(e.output):new Wikifier((Config.debug?new DebugView(e.output,"template",e.matchText,e.matchText):e).output,n)}}),Wikifier.Parser.add({name:"heading",profiles:["block"],match:"^!{1,6}",terminator:"\\n",handler:function(e){if(!Wikifier.helpers.hasBlockContext(e.output.childNodes))return void jQuery(e.output).append(document.createTextNode(e.matchText));e.subWikify(jQuery(document.createElement("h"+e.matchLength)).appendTo(e.output).get(0),this.terminator)}}),Wikifier.Parser.add({name:"table",profiles:["block"],match:"^\\|(?:[^\\n]*)\\|(?:[fhck]?)$",lookahead:/^\|([^\n]*)\|([fhck]?)$/gm,rowTerminator:"\\|(?:[cfhk]?)$\\n?",cellPattern:"(?:\\|([^\\n\\|]*)\\|)|(\\|[cfhk]?$\\n?)",cellTerminator:"(?:\\u0020*)\\|",rowTypes:{c:"caption",f:"tfoot",h:"thead","":"tbody"},handler:function(e){if(!Wikifier.helpers.hasBlockContext(e.output.childNodes))return void jQuery(e.output).append(document.createTextNode(e.matchText));var t=jQuery(document.createElement("table")).appendTo(e.output).get(0),r=[],n=null,a=null,i=0,o=void 0;e.nextMatch=e.matchStart;do{this.lookahead.lastIndex=e.nextMatch;var s=this.lookahead.exec(e.source);if(o=s&&s.index===e.nextMatch){var u=s[2];"k"===u?(t.className=s[1],e.nextMatch+=s[0].length+1):(u!==n&&(n=u,a=jQuery(document.createElement(this.rowTypes[u])).appendTo(t)),"c"===n?(a.css("caption-side",0===i?"top":"bottom"),e.nextMatch+=1,e.subWikify(a[0],this.rowTerminator)):this.rowHandler(e,jQuery(document.createElement("tr")).appendTo(a).get(0),r),++i)}}while(o)},rowHandler:function(e,t,r){var n=this,a=new RegExp(this.cellPattern,"gm"),i=0,o=1,s=void 0;do{a.lastIndex=e.nextMatch;var u=a.exec(e.source);if(s=u&&u.index===e.nextMatch){if("~"===u[1]){var l=r[i];l&&(++l.rowCount,l.$element.attr("rowspan",l.rowCount).css("vertical-align","middle")),e.nextMatch=u.index+u[0].length-1}else if(">"===u[1])++o,e.nextMatch=u.index+u[0].length-1;else{if(u[2]){e.nextMatch=u.index+u[0].length;break}!function(){++e.nextMatch;for(var a=Wikifier.helpers.inlineCss(e),s=!1,u=!1,l=void 0;" "===e.source.substr(e.nextMatch,1);)s=!0,++e.nextMatch;"!"===e.source.substr(e.nextMatch,1)?(l=jQuery(document.createElement("th")).appendTo(t),++e.nextMatch):l=jQuery(document.createElement("td")).appendTo(t),r[i]={rowCount:1,$element:l},o>1&&(l.attr("colspan",o),o=1),e.subWikify(l[0],n.cellTerminator)," "===e.matchText.substr(e.matchText.length-2,1)&&(u=!0),a.classes.forEach(function(e){return l.addClass(e)}),""!==a.id&&l.attr("id",a.id),s&&u?a.styles["text-align"]="center":s?a.styles["text-align"]="right":u&&(a.styles["text-align"]="left"),l.css(a.styles),e.nextMatch=e.nextMatch-1}()}++i}}while(s)}}),Wikifier.Parser.add({name:"list",profiles:["block"],match:"^(?:(?:\\*+)|(?:#+))",lookahead:/^(?:(\*+)|(#+))/gm,terminator:"\\n",handler:function(e){if(!Wikifier.helpers.hasBlockContext(e.output.childNodes))return void jQuery(e.output).append(document.createTextNode(e.matchText));e.nextMatch=e.matchStart;var t=[e.output],r=null,n=0,a=void 0,i=void 0;do{this.lookahead.lastIndex=e.nextMatch;var o=this.lookahead.exec(e.source);if(a=o&&o.index===e.nextMatch){var s=o[2]?"ol":"ul",u=o[0].length;if(e.nextMatch+=o[0].length,u>n)for(i=n;i<u;++i)t.push(jQuery(document.createElement(s)).appendTo(t[t.length-1]).get(0));else if(u<n)for(i=n;i>u;--i)t.pop();else u===n&&s!==r&&(t.pop(),t.push(jQuery(document.createElement(s)).appendTo(t[t.length-1]).get(0)));n=u,r=s,e.subWikify(jQuery(document.createElement("li")).appendTo(t[t.length-1]).get(0),this.terminator)}}while(a)}}),Wikifier.Parser.add({name:"commentByBlock",profiles:["core"],match:"(?:/(?:%|\\*))|(?:\x3c!--)",lookahead:/(?:\/(%|\*)(?:(?:.|\n)*?)\1\/)|(?:<!--(?:(?:.|\n)*?)-->)/gm,handler:function(e){this.lookahead.lastIndex=e.matchStart;var t=this.lookahead.exec(e.source);t&&t.index===e.matchStart&&(e.nextMatch=this.lookahead.lastIndex)}}),Wikifier.Parser.add({name:"lineContinuation",profiles:["core"],match:"\\\\"+Patterns.spaceNoTerminator+"*\\n|\\n"+Patterns.spaceNoTerminator+"*\\\\|\\n?\\\\"+Patterns.spaceNoTerminator+"*$|^"+Patterns.spaceNoTerminator+"*\\\\\\n?",handler:function(e){e.nextMatch=e.matchStart+e.matchLength}}),Wikifier.Parser.add({name:"lineBreak",profiles:["core"],match:"\\n|<[Bb][Rr]\\s*/?>",handler:function(e){e.options.nobr||jQuery(document.createElement("br")).appendTo(e.output)}}),Wikifier.Parser.add({name:"htmlCharacterReference",profiles:["core"],match:"(?:(?:&#?[0-9A-Za-z]{2,8};|.)(?:&#?(?:x0*(?:3[0-6][0-9A-Fa-f]|1D[C-Fc-f][0-9A-Fa-f]|20[D-Fd-f][0-9A-Fa-f]|FE2[0-9A-Fa-f])|0*(?:76[89]|7[7-9][0-9]|8[0-7][0-9]|761[6-9]|76[2-7][0-9]|84[0-3][0-9]|844[0-7]|6505[6-9]|6506[0-9]|6507[0-1]));)+|&#?[0-9A-Za-z]{2,8};)",handler:function(e){jQuery(document.createDocumentFragment()).append(e.matchText).appendTo(e.output)}}),Wikifier.Parser.add({name:"xmlProlog",profiles:["core"],match:"<\\?[Xx][Mm][Ll][^>]*\\?>",handler:function(e){e.nextMatch=e.matchStart+e.matchLength}}),Wikifier.Parser.add({name:"verbatimHtml",profiles:["core"],match:"<[Hh][Tt][Mm][Ll]>",lookahead:/<[Hh][Tt][Mm][Ll]>((?:.|\n)*?)<\/[Hh][Tt][Mm][Ll]>/gm,handler:e}),Wikifier.Parser.add({name:"verbatimScriptTag",profiles:["core"],match:"<[Ss][Cc][Rr][Ii][Pp][Tt][^>]*>",lookahead:/(<[Ss][Cc][Rr][Ii][Pp][Tt]*>(?:.|\n)*?<\/[Ss][Cc][Rr][Ii][Pp][Tt]>)/gm,handler:e}),Wikifier.Parser.add({name:"styleTag",profiles:["core"],match:"<[Ss][Tt][Yy][Ll][Ee][^>]*>",lookahead:/(<[Ss][Tt][Yy][Ll][Ee]*>)((?:.|\n)*?)(<\/[Ss][Tt][Yy][Ll][Ee]>)/gm,imageMarkup:new RegExp(Patterns.cssImage,"g"),hasImageMarkup:new RegExp(Patterns.cssImage),handler:function(e){this.lookahead.lastIndex=e.matchStart;var t=this.lookahead.exec(e.source);if(t&&t.index===e.matchStart){e.nextMatch=this.lookahead.lastIndex;var r=t[2];this.hasImageMarkup.test(r)&&(this.imageMarkup.lastIndex=0,r=r.replace(this.imageMarkup,function(e){var t=Wikifier.helpers.parseSquareBracketedMarkup({source:e,matchStart:0});if(t.hasOwnProperty("error")||t.pos<e.length)return e;var r=t.source;if("data:"!==r.slice(0,5)&&Story.has(r)){var n=Story.get(r);n.tags.includes("Twine.image")&&(r=n.text)}return'url("'+r.replace(/"/g,"%22")+'")'})),jQuery(document.createDocumentFragment()).append(t[1]+r+t[3]).appendTo(e.output)}}}),Wikifier.Parser.add({name:"svgTag",profiles:["core"],match:"<[Ss][Vv][Gg][^>]*>",lookahead:/(<[Ss][Vv][Gg][^>]*>(?:.|\n)*?<\/[Ss][Vv][Gg]>)/gm,namespace:"http://www.w3.org/2000/svg",handler:function(e){var t=this;this.lookahead.lastIndex=e.matchStart;var r=this.lookahead.exec(e.source);if(r&&r.index===e.matchStart){e.nextMatch=this.lookahead.lastIndex;var n=jQuery(document.createDocumentFragment()).append(r[1]);n.find("a[data-passage],image[data-passage]").each(function(r,n){var a=n.tagName.toLowerCase();try{t.processAttributeDirectives(n)}catch(t){return throwError(e.output,"svg|<"+a+">: "+t.message,e.matchText+"…")}n.hasAttribute("data-passage")&&t.processDataAttributes(n,a)}),n.appendTo(e.output)}},processAttributeDirectives:function(e){[].concat(_toConsumableArray(e.attributes)).forEach(function(t){var r=t.name,n=t.value,a="@"===r[0];if(a||r.startsWith("sc-eval:")){var i=r.slice(a?1:8);if("data-setter"===i)throw new Error('evaluation directive is not allowed on the data-setter attribute: "'+r+'"');var o=void 0;try{o=Scripting.evalTwineScript(n)}catch(e){throw new Error('bad evaluation from attribute directive "'+r+'": '+e.message)}try{e.setAttribute(i,o),e.removeAttribute(r)}catch(e){throw new Error('cannot transform attribute directive "'+r+'" into attribute "'+i+'"')}}})},processDataAttributes:function(e,t){var r=e.getAttribute("data-passage");if(null!=r){var n=Wikifier.helpers.evalPassageId(r);if(n!==r&&(r=n,e.setAttribute("data-passage",n)),""!==r)if("image"===t)"data:"!==r.slice(0,5)&&Story.has(r)&&(r=Story.get(r),r.tags.includes("Twine.image")&&e.setAttribute("href",r.text.trim()));else{var a=e.getAttribute("data-setter"),i=void 0;null!=a&&""!==(a=String(a).trim())&&(i=Wikifier.helpers.createShadowSetterCallback(Scripting.parse(a))),Story.has(r)?(e.classList.add("link-internal"),Config.addVisitedLinkClass&&State.hasPlayed(r)&&e.classList.add("link-visited")):e.classList.add("link-broken"),jQuery(e).ariaClick({one:!0},function(){"function"==typeof i&&i.call(this),Engine.play(r)})}}}}),Wikifier.Parser.add({name:"htmlTag",profiles:["core"],match:"<\\w+(?:\\s+[^\\u0000-\\u001F\\u007F-\\u009F\\s\"'>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*?\"|'[^']*?'|[^\\s\"'=<>`]+))?)*\\s*\\/?>",tagRe:/^<(\w+)/,mediaTags:["audio","img","source","track","video"],nobrTags:["audio","colgroup","datalist","dl","figure","meter","ol","optgroup","picture","progress","ruby","select","table","tbody","tfoot","thead","tr","ul","video"],voidTags:["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],handler:function(e){var t=this.tagRe.exec(e.matchText),r=t&&t[1],n=r&&r.toLowerCase();if(n){var a=this.voidTags.includes(n)||e.matchText.endsWith("/>"),i=this.nobrTags.includes(n),o=void 0,s=void 0;if(!a){o="<\\/"+n+"\\s*>";var u=new RegExp(o,"gim");u.lastIndex=e.matchStart,s=u.exec(e.source)}if(!a&&!s)return throwError(e.output,"cannot find a closing tag for HTML <"+r+">",e.matchText+"…");var l=e.output,c=document.createElement(e.output.tagName),d=void 0;for(c.innerHTML=e.matchText;c.firstChild;)c=c.firstChild;try{this.processAttributeDirectives(c)}catch(t){return throwError(e.output,"<"+n+">: "+t.message,e.matchText+"…")}if(c.hasAttribute("data-passage")&&(this.processDataAttributes(c,n),Config.debug&&(d=new DebugView(e.output,"html-"+n,n,e.matchText),d.modes({block:"img"===n,nonvoid:s}),l=d.output)),s){try{Wikifier.Option.push({nobr:i}),e.subWikify(c,o,{ignoreTerminatorCase:!0})}finally{Wikifier.Option.pop()}d&&jQuery(c).find(".debug.block").length>0&&d.modes({block:!0})}l.appendChild("track"===n?c.cloneNode(!0):c)}},processAttributeDirectives:function(e){[].concat(_toConsumableArray(e.attributes)).forEach(function(t){var r=t.name,n=t.value,a="@"===r[0];if(a||r.startsWith("sc-eval:")){var i=r.slice(a?1:8);if("data-setter"===i)throw new Error('evaluation directive is not allowed on the data-setter attribute: "'+r+'"');var o=void 0;try{o=Scripting.evalTwineScript(n)}catch(e){throw new Error('bad evaluation from attribute directive "'+r+'": '+e.message)}try{e.setAttribute(i,o),e.removeAttribute(r)}catch(e){throw new Error('cannot transform attribute directive "'+r+'" into attribute "'+i+'"')}}})},processDataAttributes:function(e,t){var r=e.getAttribute("data-passage");if(null!=r){var n=Wikifier.helpers.evalPassageId(r);if(n!==r&&(r=n,e.setAttribute("data-passage",n)),""!==r)if(this.mediaTags.includes(t)){if("data:"!==r.slice(0,5)&&Story.has(r)){r=Story.get(r);var a=void 0,i=void 0;switch(t){case"audio":case"video":i="Twine."+t;break;case"img":i="Twine.image";break;case"track":i="Twine.vtt";break;case"source":var o=$(e).closest("audio,picture,video");o.length&&(a=o.get(0).tagName.toLowerCase(),i="Twine."+("picture"===a?"image":a))}r.tags.includes(i)&&(e["picture"===a?"srcset":"src"]=r.text.trim())}}else{var s=e.getAttribute("data-setter"),u=void 0;null!=s&&""!==(s=String(s).trim())&&(u=Wikifier.helpers.createShadowSetterCallback(Scripting.parse(s))),Story.has(r)?(e.classList.add("link-internal"),Config.addVisitedLinkClass&&State.hasPlayed(r)&&e.classList.add("link-visited")):e.classList.add("link-broken"),jQuery(e).ariaClick({one:!0},function(){"function"==typeof u&&u.call(this),Engine.play(r)})}}}})}();var Template=function(){function e(e,t){if(!(s(t)||t instanceof Array&&t.length>0&&t.every(s)))throw new TypeError("invalid template type ("+e+"); templates must be: functions, strings, or an array of either");(e instanceof Array?e:[e]).forEach(function(e){if(!o.test(e))throw new Error('invalid template name "'+e+'"');if(i.has(e))throw new Error("cannot clobber existing template ?"+e);i.set(e,t)})}function t(e){(e instanceof Array?e:[e]).forEach(function(e){return i.delete(e)})}function r(e){return i.has(e)?i.get(e):null}function n(e){return i.has(e)}function a(){return i.size}var i=new Map,o=new RegExp("^(?:"+Patterns.templateName+")$"),s=function(e){var t=void 0===e?"undefined":_typeof(e);return"function"===t||"string"===t};return Object.freeze(Object.defineProperties({},{add:{value:e},delete:{value:t},get:{value:r},has:{value:n},size:{get:a}}))}(),Macro=function(){function e(t,r,a){if(Array.isArray(t))return void t.forEach(function(t){return e(t,r,a)});if(!f.test(t))throw new Error('invalid macro name "'+t+'"');if(n(t))throw new Error("cannot clobber existing macro <<"+t+">>");if(u(t))throw new Error("cannot clobber child tag <<"+t+">> of parent macro"+(1===d[t].length?"":"s")+" <<"+d[t].join(">>, <<")+">>");try{if("object"===(void 0===r?"undefined":_typeof(r)))c[t]=a?clone(r):r;else{if(!n(r))throw new Error("cannot create alias of nonexistent macro <<"+r+">>");c[t]=a?clone(c[r]):c[r]}Object.defineProperty(c,t,{writable:!1}),c[t]._MACRO_API=!0}catch(e){throw"TypeError"===e.name?new Error("cannot clobber protected macro <<"+t+">>"):new Error("unknown error when attempting to add macro <<"+t+">>: ["+e.name+"] "+e.message)}if(c[t].hasOwnProperty("tags"))if(null==c[t].tags)o(t);else{if(!Array.isArray(c[t].tags))throw new Error('bad value for "tags" property of macro <<'+t+">>");o(t,c[t].tags)}}function t(e){if(Array.isArray(e))return void e.forEach(function(e){return t(e)});if(n(e)){c[e].hasOwnProperty("tags")&&s(e);try{Object.defineProperty(c,e,{writable:!0}),delete c[e]}catch(t){throw new Error("unknown error removing macro <<"+e+">>: "+t.message)}}else if(u(e))throw new Error("cannot remove child tag <<"+e+">> of parent macro <<"+d[e]+">>")}function r(){return 0===Object.keys(c).length}function n(e){return c.hasOwnProperty(e)}function a(e){var t=null;return n(e)&&"function"==typeof c[e].handler?t=c[e]:macros.hasOwnProperty(e)&&"function"==typeof macros[e].handler&&(t=macros[e]),t}function i(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"init";Object.keys(c).forEach(function(t){"function"==typeof c[t][e]&&c[t][e](t)}),Object.keys(macros).forEach(function(t){"function"==typeof macros[t][e]&&macros[t][e](t)})}function o(e,t){if(!e)throw new Error("no parent specified");for(var r=["/"+e,"end"+e],a=[].concat(r,Array.isArray(t)?t:[]),i=0;i<a.length;++i){var o=a[i];if(n(o))throw new Error("cannot register tag for an existing macro");u(o)?d[o].includes(e)||(d[o].push(e),d[o].sort()):d[o]=[e]}}function s(e){if(!e)throw new Error("no parent specified");Object.keys(d).forEach(function(t){var r=d[t].indexOf(e);-1!==r&&(1===d[t].length?delete d[t]:d[t].splice(r,1))})}function u(e){return d.hasOwnProperty(e)}function l(e){return u(e)?d[e]:null}var c={},d={},f=new RegExp("^(?:"+Patterns.macroName+")$");return Object.freeze(Object.defineProperties({},{add:{value:e},delete:{value:t},isEmpty:{value:r},has:{value:n},get:{value:a},init:{value:i},tags:{value:Object.freeze(Object.defineProperties({},{register:{value:o},unregister:{value:s},has:{value:u},get:{value:l}}))},evalStatements:{value:function(){return Scripting.evalJavaScript.apply(Scripting,arguments)}}}))}(),MacroContext=function(){return function(){function e(t){_classCallCheck(this,e);var r=Object.assign({parent:null,macro:null,name:"",args:null,payload:null,parser:null,source:""},t);if(null===r.macro||""===r.name||null===r.parser)throw new TypeError("context object missing required properties");Object.defineProperties(this,{self:{value:r.macro},name:{value:r.name},args:{value:r.args},payload:{value:r.payload},source:{value:r.source},parent:{value:r.parent},parser:{value:r.parser},_output:{value:r.parser.output},_shadows:{writable:!0,value:null},_debugView:{writable:!0,value:null},_debugViewEnabled:{writable:!0,value:Config.debug}})}return _createClass(e,[{key:"contextHas",value:function(e){for(var t=this;null!==(t=t.parent);)if(e(t))return!0;return!1}},{key:"contextSelect",value:function(e){for(var t=this;null!==(t=t.parent);)if(e(t))return t;return null}},{key:"contextSelectAll",value:function(e){for(var t=[],r=this;null!==(r=r.parent);)e(r)&&t.push(r);return t}},{key:"addShadow",value:function(){var e=this;this._shadows||(this._shadows=new Set);for(var t=new RegExp("^"+Patterns.variable+"$"),r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];n.flat(1/0).forEach(function(r){if("string"!=typeof r)throw new TypeError("variable name must be a string; type: "+(void 0===r?"undefined":_typeof(r)));if(!t.test(r))throw new Error('invalid variable name "'+r+'"');e._shadows.add(r)})}},{key:"createShadowWrapper",value:function(e,t,r){var n=this,a=void 0;return"function"==typeof e&&(a={},this.shadowView.forEach(function(e){var t=e.slice(1),r="$"===e[0]?State.variables:State.temporary;a[e]=r[t]})),function(){for(var i=arguments.length,o=Array(i),s=0;s<i;s++)o[s]=arguments[s];if("function"==typeof r&&r.apply(this,o),"function"==typeof e){var u=Object.keys(a),l=u.length>0?{}:null,c=Wikifier.Parser.get("macro"),d=void 0;try{u.forEach(function(e){var t=e.slice(1),r="$"===e[0]?State.variables:State.temporary;r.hasOwnProperty(t)&&(l[t]=r[t]),r[t]=a[e]}),d=c.context,c.context=n,e.apply(this,o)}finally{d!==undefined&&(c.context=d),u.forEach(function(e){var t=e.slice(1),r="$"===e[0]?State.variables:State.temporary;a[e]=r[t],l.hasOwnProperty(t)?r[t]=l[t]:delete r[t]})}}"function"==typeof t&&t.apply(this,o)}}},{key:"createDebugView",value:function(e,t){return this._debugView=new DebugView(this._output,"macro",e||this.name,t||this.source),null!==this.payload&&this.payload.length>0&&this._debugView.modes({nonvoid:!0}),this._debugViewEnabled=!0,this._debugView}},{key:"removeDebugView",value:function(){null!==this._debugView&&(this._debugView.remove(),this._debugView=null),this._debugViewEnabled=!1}},{key:"error",value:function(e,t){return throwError(this._output,"<<"+this.name+">>: "+e,t||this.source)}},{key:"output",get:function(){return this._debugViewEnabled?this.debugView.output:this._output}},{key:"shadows",get:function(){return[].concat(_toConsumableArray(this._shadows))}},{key:"shadowView",get:function(){var e=new Set;return this.contextSelectAll(function(e){return e._shadows}).forEach(function(t){return t._shadows.forEach(function(t){return e.add(t)})}),[].concat(_toConsumableArray(e))}},{key:"debugView",get:function(){return this._debugViewEnabled?null!==this._debugView?this._debugView:this.createDebugView():null}}]),e}()}();!function(){if(Macro.add("capture",{skipArgs:!0,tags:null,handler:function(){if(0===this.args.raw.length)return this.error("no story/temporary variable list specified");var e={};try{for(var t=new RegExp("("+Patterns.variable+")","g"),r=void 0;null!==(r=t.exec(this.args.raw));){var n=r[1],a=n.slice(1),i="$"===n[0]?State.variables:State.temporary;i.hasOwnProperty(a)&&(e[a]=i[a]),this.addShadow(n)}new Wikifier(this.output,this.payload[0].contents)}finally{this.shadows.forEach(function(t){var r=t.slice(1),n="$"===t[0]?State.variables:State.temporary;e.hasOwnProperty(r)?n[r]=e[r]:delete n[r]})}}}),Macro.add("set",{skipArgs:!0,handler:function(){if(0===this.args.full.length)return this.error("no expression specified");try{Scripting.evalJavaScript(this.args.full)}catch(e){return this.error("bad evaluation: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("unset",{skipArgs:!0,handler:function(){if(0===this.args.full.length)return this.error("no story/temporary variable list specified");for(var e=new RegExp("State\\.(variables|temporary)\\.("+Patterns.identifier+")","g"),t=void 0;null!==(t=e.exec(this.args.full));){var r=State[t[1]],n=t[2];r.hasOwnProperty(n)&&delete r[n]}Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("remember",{skipArgs:!0,handler:function(){if(0===this.args.full.length)return this.error("no expression specified");try{Scripting.evalJavaScript(this.args.full)}catch(e){return this.error("bad evaluation: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}for(var e=storage.get("remember")||{},t=new RegExp("State\\.variables\\.("+Patterns.identifier+")","g"),r=void 0;null!==(r=t.exec(this.args.full));){var n=r[1];e[n]=State.variables[n]}if(!storage.set("remember",e))return this.error("unknown error, cannot remember: "+this.args.raw);Config.debug&&this.debugView.modes({hidden:!0})},init:function(){var e=storage.get("remember");e&&Object.keys(e).forEach(function(t){return State.variables[t]=e[t]})}}),Macro.add("forget",{skipArgs:!0,handler:function(){if(0===this.args.full.length)return this.error("no story variable list specified");for(var e=storage.get("remember"),t=new RegExp("State\\.variables\\.("+Patterns.identifier+")","g"),r=void 0,n=!1;null!==(r=t.exec(this.args.full));){var a=r[1];State.variables.hasOwnProperty(a)&&delete State.variables[a],e&&e.hasOwnProperty(a)&&(n=!0,delete e[a])}if(n)if(0===Object.keys(e).length){if(!storage.delete("remember"))return this.error("unknown error, cannot update remember store")}else if(!storage.set("remember",e))return this.error("unknown error, cannot update remember store");Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("run","set"),Macro.add("script",{skipArgs:!0,tags:null,handler:function(){var e=document.createDocumentFragment();try{Scripting.evalJavaScript(this.payload[0].contents,e)}catch(e){return this.error("bad evaluation: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}Config.debug&&this.createDebugView(),e.hasChildNodes()&&this.output.appendChild(e)}}),Macro.add("include",{handler:function(){if(0===this.args.length)return this.error("no passage specified");var e=void 0;if(e="object"===_typeof(this.args[0])?this.args[0].link:this.args[0],!Story.has(e))return this.error('passage "'+e+'" does not exist');Config.debug&&this.debugView.modes({block:!0}),e=Story.get(e);var t=void 0;t=this.args[1]?jQuery(document.createElement(this.args[1])).addClass(e.domId+" macro-"+this.name).attr("data-passage",e.title).appendTo(this.output):jQuery(this.output),t.wiki(e.processText())}}),Macro.add("nobr",{skipArgs:!0,tags:null,handler:function(){
117
117
  new Wikifier(this.output,this.payload[0].contents.replace(/^\n+|\n+$/g,"").replace(/\n+/g," "))}}),Macro.add(["print","=","-"],{skipArgs:!0,handler:function(){if(0===this.args.full.length)return this.error("no expression specified");try{var e=toStringOrDefault(Scripting.evalJavaScript(this.args.full),null);null!==e&&new Wikifier(this.output,"-"===this.name?Util.escape(e):e)}catch(e){return this.error("bad evaluation: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}}}),Macro.add("silently",{skipArgs:!0,tags:null,handler:function(){var e=document.createDocumentFragment();if(new Wikifier(e,this.payload[0].contents.trim()),Config.debug)this.debugView.modes({block:!0,hidden:!0}),this.output.appendChild(e);else{var t=[].concat(_toConsumableArray(e.querySelectorAll(".error"))).map(function(e){return e.textContent});if(t.length>0)return this.error("error"+(1===t.length?"":"s")+" within contents ("+t.join("; ")+")")}}}),Macro.add("display","include"),Macro.add("if",{skipArgs:!0,tags:["elseif","else"],handler:function(){var e=void 0;try{var t=this.payload.length;for(e=0;e<t;++e)switch(this.payload[e].name){case"else":if(this.payload[e].args.raw.length>0)return/^\s*if\b/i.test(this.payload[e].args.raw)?this.error('whitespace is not allowed between the "else" and "if" in <<elseif>> clause'+(e>0?" (#"+e+")":"")):this.error("<<else>> does not accept a conditional expression (perhaps you meant to use <<elseif>>), invalid: "+this.payload[e].args.raw);if(e+1!==t)return this.error("<<else>> must be the final clause");break;default:if(0===this.payload[e].args.full.length)return this.error("no conditional expression specified for <<"+this.payload[e].name+">> clause"+(e>0?" (#"+e+")":""));if(Config.macros.ifAssignmentError&&/[^!=&^|<>*\/%+-]=[^=>]/.test(this.payload[e].args.full))return this.error("assignment operator found within <<"+this.payload[e].name+">> clause"+(e>0?" (#"+e+")":"")+" (perhaps you meant to use an equality operator: ==, ===, eq, is), invalid: "+this.payload[e].args.raw)}var r=Scripting.evalJavaScript,n=!1;for(e=0;e<t;++e){if(Config.debug&&this.createDebugView(this.payload[e].name,this.payload[e].source).modes({nonvoid:!1}),"else"===this.payload[e].name||r(this.payload[e].args.full)){n=!0,new Wikifier(this.output,this.payload[e].contents);break}Config.debug&&this.debugView.modes({hidden:!0,invalid:!0})}if(Config.debug){for(++e;e<t;++e)this.createDebugView(this.payload[e].name,this.payload[e].source).modes({nonvoid:!1,hidden:!0,invalid:!0});this.createDebugView("/"+this.name,"<</"+this.name+">>").modes({nonvoid:!1,hidden:!n,invalid:!n})}}catch(t){return this.error("bad conditional expression in <<"+(0===e?"if":"elseif")+">> clause"+(e>0?" (#"+e+")":"")+": "+("object"===(void 0===t?"undefined":_typeof(t))?t.message:t))}}}),Macro.add("switch",{skipArgs:["switch"],tags:["case","default"],handler:function(){if(0===this.args.full.length)return this.error("no expression specified");var e=this.payload.length;if(1===e)return this.error("no cases specified");var t=void 0;for(t=1;t<e;++t)switch(this.payload[t].name){case"default":if(this.payload[t].args.length>0)return this.error("<<default>> does not accept values, invalid: "+this.payload[t].args.raw);if(t+1!==e)return this.error("<<default>> must be the final case");break;default:if(0===this.payload[t].args.length)return this.error("no value(s) specified for <<"+this.payload[t].name+">> (#"+t+")")}var r=void 0;try{r=Scripting.evalJavaScript(this.args.full)}catch(e){return this.error("bad evaluation: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}var n=this.debugView,a=!1;for(Config.debug&&n.modes({nonvoid:!1,hidden:!0}),t=1;t<e;++t){if(Config.debug&&this.createDebugView(this.payload[t].name,this.payload[t].source).modes({nonvoid:!1}),"default"===this.payload[t].name||this.payload[t].args.some(function(e){return e===r})){a=!0,new Wikifier(this.output,this.payload[t].contents);break}Config.debug&&this.debugView.modes({hidden:!0,invalid:!0})}if(Config.debug){for(++t;t<e;++t)this.createDebugView(this.payload[t].name,this.payload[t].source).modes({nonvoid:!1,hidden:!0,invalid:!0});n.modes({nonvoid:!1,hidden:!0,invalid:!a}),this.createDebugView("/"+this.name,"<</"+this.name+">>").modes({nonvoid:!1,hidden:!0,invalid:!a})}}}),Macro.add("for",{skipArgs:!0,tags:null,_hasRangeRe:new RegExp("^\\S"+Patterns.anyChar+"*?\\s+range\\s+\\S"+Patterns.anyChar+"*?$"),_rangeRe:new RegExp("^(?:State\\.(variables|temporary)\\.("+Patterns.identifier+")\\s*,\\s*)?State\\.(variables|temporary)\\.("+Patterns.identifier+")\\s+range\\s+(\\S"+Patterns.anyChar+"*?)$"),_3PartRe:/^([^;]*?)\s*;\s*([^;]*?)\s*;\s*([^;]*?)$/,handler:function(){var e=this.args.full.trim(),t=this.payload[0].contents.replace(/\n$/,"");if(0===e.length)this.self._handleFor.call(this,t,null,!0,null);else if(this.self._hasRangeRe.test(e)){var r=e.match(this.self._rangeRe);if(null===r)return this.error("invalid range form syntax, format: [index ,] value range collection");this.self._handleForRange.call(this,t,{type:r[1],name:r[2]},{type:r[3],name:r[4]},r[5])}else{var n=void 0,a=void 0,i=void 0;if(-1===e.indexOf(";")){if(/^\S+\s+in\s+\S+/i.test(e))return this.error("invalid syntax, for…in is not supported; see: for…range");if(/^\S+\s+of\s+\S+/i.test(e))return this.error("invalid syntax, for…of is not supported; see: for…range");a=e}else{var o=e.match(this.self._3PartRe);if(null===o)return this.error("invalid 3-part conditional form syntax, format: [init] ; [condition] ; [post]");n=o[1],a=o[2].trim(),i=o[3],0===a.length&&(a=!0)}this.self._handleFor.call(this,t,n,a,i)}},_handleFor:function(e,t,r,n){var a=Scripting.evalJavaScript,i=!0,o=Config.macros.maxLoopIterations;Config.debug&&this.debugView.modes({block:!0});try{if(TempState.break=null,t)try{a(t)}catch(e){return this.error("bad init expression: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}for(;a(r);){if(--o<0)return this.error("exceeded configured maximum loop iterations ("+Config.macros.maxLoopIterations+")");if(new Wikifier(this.output,i?e.replace(/^\n/,""):e),i&&(i=!1),null!=TempState.break)if(1===TempState.break)TempState.break=null;else if(2===TempState.break){TempState.break=null;break}if(n)try{a(n)}catch(e){return this.error("bad post expression: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}}}catch(e){return this.error("bad conditional expression: "+("object"===(void 0===e?"undefined":_typeof(e))?e.message:e))}finally{TempState.break=null}},_handleForRange:function(e,t,r,n){var a=!0,i=void 0;try{i=this.self._toRangeList(n)}catch(e){return this.error(e.message)}Config.debug&&this.debugView.modes({block:!0});try{TempState.break=null;for(var o=0;o<i.length;++o)if(t.name&&(State[t.type][t.name]=i[o][0]),State[r.type][r.name]=i[o][1],new Wikifier(this.output,a?e.replace(/^\n/,""):e),a&&(a=!1),null!=TempState.break)if(1===TempState.break)TempState.break=null;else if(2===TempState.break){TempState.break=null;break}}catch(e){return this.error("object"===(void 0===e?"undefined":_typeof(e))?e.message:e)}finally{TempState.break=null}},_toRangeList:function(e){var t=Scripting.evalJavaScript,r=void 0;try{r=t("{"===e[0]?"("+e+")":e)}catch(e){if("object"!==(void 0===e?"undefined":_typeof(e)))throw new Error("bad range expression: "+e);throw e.message="bad range expression: "+e.message,e}var n=void 0;switch(void 0===r?"undefined":_typeof(r)){case"string":n=[];for(var a=0;a<r.length;){var i=Util.charAndPosAt(r,a);n.push([a,i.char]),a=1+i.end}break;case"object":if(Array.isArray(r))n=r.map(function(e,t){return[t,e]});else if(r instanceof Set)n=[].concat(_toConsumableArray(r)).map(function(e,t){return[t,e]});else if(r instanceof Map)n=[].concat(_toConsumableArray(r.entries()));else{if("Object"!==Util.toStringTag(r))throw new Error("unsupported range expression type: "+Util.toStringTag(r));n=Object.keys(r).map(function(e){return[e,r[e]]})}break;default:throw new Error("unsupported range expression type: "+(void 0===r?"undefined":_typeof(r)))}return n}}),Macro.add(["break","continue"],{skipArgs:!0,handler:function(){if(!this.contextHas(function(e){return"for"===e.name}))return this.error("must only be used in conjunction with its parent macro <<for>>");TempState.break="continue"===this.name?1:2,Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add(["button","link"],{isAsync:!0,tags:null,handler:function(){var e=this;if(0===this.args.length)return this.error("no "+("button"===this.name?"button":"link")+" text specified");var t=jQuery(document.createElement("button"===this.name?"button":"a")),r=void 0;if("object"===_typeof(this.args[0]))if(this.args[0].isImage){var n=jQuery(document.createElement("img")).attr("src",this.args[0].source).appendTo(t);this.args[0].hasOwnProperty("passage")&&n.attr("data-passage",this.args[0].passage),this.args[0].hasOwnProperty("title")&&n.attr("title",this.args[0].title),this.args[0].hasOwnProperty("align")&&n.attr("align",this.args[0].align),r=this.args[0].link}else t.append(document.createTextNode(this.args[0].text)),r=this.args[0].link;else t.wikiWithOptions({profile:"core"},this.args[0]),r=this.args.length>1?this.args[1]:undefined;null!=r?(t.attr("data-passage",r),Story.has(r)?(t.addClass("link-internal"),Config.addVisitedLinkClass&&State.hasPlayed(r)&&t.addClass("link-visited")):t.addClass("link-broken")):t.addClass("link-internal"),t.addClass("macro-"+this.name).ariaClick({namespace:".macros",one:null!=r},this.createShadowWrapper(""!==this.payload[0].contents?function(){return Wikifier.wikifyEval(e.payload[0].contents.trim())}:null,null!=r?function(){return Engine.play(r)}:null)).appendTo(this.output)}}),Macro.add("checkbox",{isAsync:!0,handler:function(){if(this.args.length<3){var e=[];return this.args.length<1&&e.push("variable name"),this.args.length<2&&e.push("unchecked value"),this.args.length<3&&e.push("checked value"),this.error("no "+e.join(" or ")+" specified")}if("string"!=typeof this.args[0])return this.error("variable name argument is not a string");var t=this.args[0].trim();if("$"!==t[0]&&"_"!==t[0])return this.error('variable name "'+this.args[0]+'" is missing its sigil ($ or _)');var r=Util.slugify(t),n=this.args[1],a=this.args[2],i=document.createElement("input");jQuery(i).attr({id:this.name+"-"+r,name:this.name+"-"+r,type:"checkbox",tabindex:0}).addClass("macro-"+this.name).on("change.macros",this.createShadowWrapper(function(){State.setVar(t,this.checked?a:n)})).appendTo(this.output),this.args.length>3&&"checked"===this.args[3]?(i.checked=!0,State.setVar(t,a)):State.setVar(t,n)}}),Macro.add(["cycle","listbox"],{isAsync:!0,skipArgs:["optionsfrom"],tags:["option","optionsfrom"],handler:function(){var e=this;if(0===this.args.length)return this.error("no variable name specified");if("string"!=typeof this.args[0])return this.error("variable name argument is not a string");var t=this.args[0].trim();if("$"!==t[0]&&"_"!==t[0])return this.error('variable name "'+this.args[0]+'" is missing its sigil ($ or _)');var r=Util.slugify(t),n=this.payload.length;if(1===n)return this.error("no options specified");for(var a=this.args.length>1&&"autoselect"===this.args[1],i=[],o={option:0,optionsfrom:0},s=-1,u=1;u<n;++u){var l=this.payload[u];if("option"===l.name){if(++o.option,0===l.args.length)return this.error("no arguments specified for <<"+l.name+">> (#"+o.option+")");if(i.push({label:String(l.args[0]),value:1===l.args.length?l.args[0]:l.args[1]}),l.args.length>2&&"selected"===l.args[2]){if(a)return this.error("cannot specify both the autoselect and selected keywords");if(-1!==s)return this.error("multiple selected keywords specified for <<"+l.name+">> (#"+(s+1)+" & #"+o.option+")");s=i.length-1}}else{var c=function(){if(++o.optionsfrom,0===l.args.full.length)return{v:e.error("no expression specified for <<"+l.name+">> (#"+o.optionsfrom+")")};var t=void 0;try{var r=l.args.full;t=Scripting.evalJavaScript("{"===r[0]?"("+r+")":r)}catch(t){return{v:e.error("bad evaluation: "+("object"===(void 0===t?"undefined":_typeof(t))?t.message:t))}}if("object"!==(void 0===t?"undefined":_typeof(t))||null===t)return{v:e.error("expression must yield a supported collection or generic object (type: "+(null===t?"null":void 0===t?"undefined":_typeof(t))+")")};if(t instanceof Array||t instanceof Set)t.forEach(function(e){return i.push({label:String(e),value:e})});else if(t instanceof Map)t.forEach(function(e,t){return i.push({label:String(t),value:e})});else{var n=Util.toStringTag(t);if("Object"!==n)return{v:e.error("expression must yield a supported collection or generic object (object type: "+n+")")};Object.keys(t).forEach(function(e){return i.push({label:e,value:t[e]})})}}();if("object"===(void 0===c?"undefined":_typeof(c)))return c.v}}if(-1===s)if(a){var d=Util.sameValueZero,f=State.getVar(t),p=i.findIndex(function(e){return d(e.value,f)});s=-1===p?0:p}else s=0;if("cycle"===this.name){var h=s;jQuery(document.createElement("a")).wikiWithOptions({profile:"core"},i[s].label).attr("id",this.name+"-"+r).addClass("macro-"+this.name).ariaClick({namespace:".macros"},this.createShadowWrapper(function(){h=(h+1)%i.length,$(this).empty().wikiWithOptions({profile:"core"},i[h].label),State.setVar(t,i[h].value)})).appendTo(this.output)}else{var g=jQuery(document.createElement("select"));i.forEach(function(e,t){jQuery(document.createElement("option")).val(t).text(e.label).appendTo(g)}),g.attr({id:this.name+"-"+r,name:this.name+"-"+r,tabindex:0}).addClass("macro-"+this.name).val(s).on("change.macros",this.createShadowWrapper(function(){State.setVar(t,i[Number(this.value)].value)})).appendTo(this.output)}State.setVar(t,i[s].value)}}),Macro.add(["linkappend","linkprepend","linkreplace"],{isAsync:!0,tags:null,handler:function(){var e=this;if(0===this.args.length)return this.error("no link text specified");var t=jQuery(document.createElement("a")),r=jQuery(document.createElement("span")),n=this.args.length>1&&/^(?:transition|t8n)$/.test(this.args[1]);t.wikiWithOptions({profile:"core"},this.args[0]).addClass("link-internal macro-"+this.name).ariaClick({namespace:".macros",one:!0},this.createShadowWrapper(function(){if("linkreplace"===e.name?t.remove():t.wrap('<span class="macro-'+e.name+'"></span>').replaceWith(function(){return t.html()}),""!==e.payload[0].contents){var a=document.createDocumentFragment();new Wikifier(a,e.payload[0].contents),r.append(a)}n&&setTimeout(function(){return r.removeClass("macro-"+e.name+"-in")},Engine.minDomActionDelay)})).appendTo(this.output),r.addClass("macro-"+this.name+"-insert"),n&&r.addClass("macro-"+this.name+"-in"),"linkprepend"===this.name?r.insertBefore(t):r.insertAfter(t)}}),Macro.add("radiobutton",{isAsync:!0,handler:function(){if(this.args.length<2){var e=[];return this.args.length<1&&e.push("variable name"),this.args.length<2&&e.push("checked value"),this.error("no "+e.join(" or ")+" specified")}if("string"!=typeof this.args[0])return this.error("variable name argument is not a string");var t=this.args[0].trim();if("$"!==t[0]&&"_"!==t[0])return this.error('variable name "'+this.args[0]+'" is missing its sigil ($ or _)');var r=Util.slugify(t),n=this.args[1],a=document.createElement("input");TempState.hasOwnProperty(this.name)||(TempState[this.name]={}),TempState[this.name].hasOwnProperty(r)||(TempState[this.name][r]=0),jQuery(a).attr({id:this.name+"-"+r+"-"+TempState[this.name][r]++,name:this.name+"-"+r,type:"radio",tabindex:0}).addClass("macro-"+this.name).on("change.macros",this.createShadowWrapper(function(){this.checked&&State.setVar(t,n)})).appendTo(this.output),this.args.length>2&&"checked"===this.args[2]&&(a.checked=!0,State.setVar(t,n))}}),Macro.add("textarea",{isAsync:!0,handler:function(){if(this.args.length<2){var e=[];return this.args.length<1&&e.push("variable name"),this.args.length<2&&e.push("default value"),this.error("no "+e.join(" or ")+" specified")}if("string"!=typeof this.args[0])return this.error("variable name argument is not a string");var t=this.args[0].trim();if("$"!==t[0]&&"_"!==t[0])return this.error('variable name "'+this.args[0]+'" is missing its sigil ($ or _)');Config.debug&&this.debugView.modes({block:!0});var r=Util.slugify(t),n=this.args[1],a="autofocus"===this.args[2],i=document.createElement("textarea");jQuery(i).attr({id:this.name+"-"+r,name:this.name+"-"+r,rows:4,tabindex:0}).addClass("macro-"+this.name).on("change.macros",this.createShadowWrapper(function(){State.setVar(t,this.value)})).appendTo(this.output),State.setVar(t,n),i.textContent=n,a&&(i.setAttribute("autofocus","autofocus"),postdisplay["#autofocus:"+i.id]=function(e){delete postdisplay[e],setTimeout(function(){return i.focus()},Engine.minDomActionDelay)})}}),Macro.add("textbox",{isAsync:!0,handler:function(){if(this.args.length<2){var e=[];return this.args.length<1&&e.push("variable name"),this.args.length<2&&e.push("default value"),this.error("no "+e.join(" or ")+" specified")}if("string"!=typeof this.args[0])return this.error("variable name argument is not a string");var t=this.args[0].trim();if("$"!==t[0]&&"_"!==t[0])return this.error('variable name "'+this.args[0]+'" is missing its sigil ($ or _)');Config.debug&&this.debugView.modes({block:!0});var r=Util.slugify(t),n=this.args[1],a=document.createElement("input"),i=!1,o=void 0;this.args.length>3?(o=this.args[2],i="autofocus"===this.args[3]):this.args.length>2&&("autofocus"===this.args[2]?i=!0:o=this.args[2]),"object"===(void 0===o?"undefined":_typeof(o))&&(o=o.link),jQuery(a).attr({id:this.name+"-"+r,name:this.name+"-"+r,type:"text",tabindex:0}).addClass("macro-"+this.name).on("change.macros",this.createShadowWrapper(function(){State.setVar(t,this.value)})).on("keypress.macros",this.createShadowWrapper(function(e){13===e.which&&(e.preventDefault(),State.setVar(t,this.value),null!=o&&Engine.play(o))})).appendTo(this.output),State.setVar(t,n),a.value=n,i&&(a.setAttribute("autofocus","autofocus"),postdisplay["#autofocus:"+a.id]=function(e){delete postdisplay[e],setTimeout(function(){return a.focus()},Engine.minDomActionDelay)})}}),Macro.add("click","link"),Macro.add("actions",{handler:function(){for(var e=jQuery(document.createElement("ul")).addClass(this.name).appendTo(this.output),t=0;t<this.args.length;++t){var r=void 0,n=void 0,a=void 0,i=void 0;"object"===_typeof(this.args[t])?this.args[t].isImage?(a=jQuery(document.createElement("img")).attr("src",this.args[t].source),this.args[t].hasOwnProperty("passage")&&a.attr("data-passage",this.args[t].passage),this.args[t].hasOwnProperty("title")&&a.attr("title",this.args[t].title),this.args[t].hasOwnProperty("align")&&a.attr("align",this.args[t].align),r=this.args[t].link,i=this.args[t].setFn):(n=this.args[t].text,r=this.args[t].link,i=this.args[t].setFn):n=r=this.args[t],State.variables.hasOwnProperty("#actions")&&State.variables["#actions"].hasOwnProperty(r)&&State.variables["#actions"][r]||jQuery(Wikifier.createInternalLink(jQuery(document.createElement("li")).appendTo(e),r,null,function(e,t){return function(){State.variables.hasOwnProperty("#actions")||(State.variables["#actions"]={}),State.variables["#actions"][e]=!0,"function"==typeof t&&t()}}(r,i))).addClass("macro-"+this.name).append(a||document.createTextNode(n))}}}),Macro.add(["back","return"],{handler:function(){if(this.args.length>1)return this.error("too many arguments specified, check the documentation for details");var e=-1,t=void 0,r=void 0,n=void 0;if(1===this.args.length&&("object"===_typeof(this.args[0])?this.args[0].isImage?(n=jQuery(document.createElement("img")).attr("src",this.args[0].source),this.args[0].hasOwnProperty("passage")&&n.attr("data-passage",this.args[0].passage),this.args[0].hasOwnProperty("title")&&n.attr("title",this.args[0].title),this.args[0].hasOwnProperty("align")&&n.attr("align",this.args[0].align),this.args[0].hasOwnProperty("link")&&(t=this.args[0].link)):1===this.args[0].count?t=this.args[0].link:(r=this.args[0].text,t=this.args[0].link):1===this.args.length&&(r=this.args[0])),null==t){for(var a=State.length-2;a>=0;--a)if(State.history[a].title!==State.passage){e=a,t=State.history[a].title;break}if(null==t&&"return"===this.name)for(var i=State.expired.length-1;i>=0;--i)if(State.expired[i]!==State.passage){t=State.expired[i];break}}else{if(!Story.has(t))return this.error('passage "'+t+'" does not exist');if("back"===this.name){for(var o=State.length-2;o>=0;--o)if(State.history[o].title===t){e=o;break}if(-1===e)return this.error('cannot find passage "'+t+'" in the current story history')}}if(null==t)return this.error("cannot find passage");var s=void 0;s="back"!==this.name||-1!==e?jQuery(document.createElement("a")).addClass("link-internal").ariaClick({one:!0},"return"===this.name?function(){return Engine.play(t)}:function(){return Engine.goTo(e)}):jQuery(document.createElement("span")).addClass("link-disabled"),s.addClass("macro-"+this.name).append(n||document.createTextNode(r||L10n.get("macro"+this.name.toUpperFirst()+"Text"))).appendTo(this.output)}}),Macro.add("choice",{handler:function(){if(0===this.args.length)return this.error("no passage specified");var e=State.passage,t=void 0,r=void 0,n=void 0,a=void 0;if(1===this.args.length?"object"===_typeof(this.args[0])?this.args[0].isImage?(n=jQuery(document.createElement("img")).attr("src",this.args[0].source),this.args[0].hasOwnProperty("passage")&&n.attr("data-passage",this.args[0].passage),this.args[0].hasOwnProperty("title")&&n.attr("title",this.args[0].title),this.args[0].hasOwnProperty("align")&&n.attr("align",this.args[0].align),t=this.args[0].link,a=this.args[0].setFn):(r=this.args[0].text,t=this.args[0].link,a=this.args[0].setFn):r=t=this.args[0]:(t=this.args[0],r=this.args[1]),State.variables.hasOwnProperty("#choice")&&State.variables["#choice"].hasOwnProperty(e)&&State.variables["#choice"][e])return void jQuery(document.createElement("span")).addClass("link-disabled macro-"+this.name).attr("tabindex",-1).append(n||document.createTextNode(r)).appendTo(this.output);jQuery(Wikifier.createInternalLink(this.output,t,null,function(){State.variables.hasOwnProperty("#choice")||(State.variables["#choice"]={}),State.variables["#choice"][e]=!0,"function"==typeof a&&a()})).addClass("macro-"+this.name).append(n||document.createTextNode(r))}}),Macro.add(["addclass","toggleclass"],{handler:function(){if(this.args.length<2){var e=[];return this.args.length<1&&e.push("selector"),this.args.length<2&&e.push("class names"),this.error("no "+e.join(" or ")+" specified")}var t=jQuery(this.args[0]);if(0===t.length)return this.error('no elements matched the selector "'+this.args[0]+'"');switch(this.name){case"addclass":t.addClass(this.args[1].trim());break;case"toggleclass":t.toggleClass(this.args[1].trim())}Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("removeclass",{handler:function(){if(0===this.args.length)return this.error("no selector specified");var e=jQuery(this.args[0]);if(0===e.length)return this.error('no elements matched the selector "'+this.args[0]+'"');this.args.length>1?e.removeClass(this.args[1].trim()):e.removeClass(),Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("copy",{handler:function(){if(0===this.args.length)return this.error("no selector specified");var e=jQuery(this.args[0]);if(0===e.length)return this.error('no elements matched the selector "'+this.args[0]+'"');jQuery(this.output).append(e.html()),Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add(["append","prepend","replace"],{tags:null,handler:function(){var e=this;if(0===this.args.length)return this.error("no selector specified");var t=jQuery(this.args[0]);if(0===t.length)return this.error('no elements matched the selector "'+this.args[0]+'"');if(""!==this.payload[0].contents){var r=this.args.length>1&&/^(?:transition|t8n)$/.test(this.args[1]),n=void 0;switch(r?(n=jQuery(document.createElement("span")),n.addClass("macro-"+this.name+"-insert macro-"+this.name+"-in"),setTimeout(function(){return n.removeClass("macro-"+e.name+"-in")},Engine.minDomActionDelay)):n=jQuery(document.createDocumentFragment()),n.wiki(this.payload[0].contents),this.name){case"replace":t.empty();case"append":t.append(n);break;case"prepend":t.prepend(n)}}else"replace"===this.name&&t.empty();Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("remove",{handler:function(){if(0===this.args.length)return this.error("no selector specified");var e=jQuery(this.args[0]);if(0===e.length)return this.error('no elements matched the selector "'+this.args[0]+'"');e.remove(),Config.debug&&this.debugView.modes({hidden:!0})}}),Has.audio){var e=function(e,t){return'only one playback action allowed per invocation, "'+e+'" cannot be combined with "'+t+'"'};Macro.add("audio",{handler:function(){if(this.args.length<2){var t=[];return this.args.length<1&&t.push("track and/or group IDs"),this.args.length<2&&t.push("actions"),this.error("no "+t.join(" or ")+" specified")}var r=void 0;try{r=SimpleAudio.select(this.args[0])}catch(e){return this.error(e.message)}for(var n=this.args.slice(1),a=void 0,i=5,o=void 0,s=void 0,u=void 0,l=void 0,c=void 0,d=void 0;n.length>0;){var f=n.shift(),p=void 0;switch(f){case"load":case"pause":case"play":case"stop":case"unload":if(a)return this.error(e(f,a));a=f;break;case"fadein":if(a)return this.error(e(f,a));a="fade",o=1;break;case"fadeout":if(a)return this.error(e(f,a));a="fade",o=0;break;case"fadeto":if(a)return this.error(e(f,a));if(0===n.length)return this.error("fadeto missing required level value");if(a="fade",p=n.shift(),o=Number.parseFloat(p),Number.isNaN(o)||!Number.isFinite(o))return this.error("cannot parse fadeto: "+p);break;case"fadeoverto":if(a)return this.error(e(f,a));if(n.length<2){var h=[];return n.length<1&&h.push("seconds"),n.length<2&&h.push("level"),this.error("fadeoverto missing required "+h.join(" and ")+" value"+(h.length>1?"s":""))}if(a="fade",p=n.shift(),i=Number.parseFloat(p),Number.isNaN(i)||!Number.isFinite(i))return this.error("cannot parse fadeoverto: "+p);if(p=n.shift(),o=Number.parseFloat(p),Number.isNaN(o)||!Number.isFinite(o))return this.error("cannot parse fadeoverto: "+p);break;case"volume":if(0===n.length)return this.error("volume missing required level value");if(p=n.shift(),d=Number.parseFloat(p),Number.isNaN(d)||!Number.isFinite(d))return this.error("cannot parse volume: "+p);break;case"mute":case"unmute":u="mute"===f;break;case"time":if(0===n.length)return this.error("time missing required seconds value");if(p=n.shift(),c=Number.parseFloat(p),Number.isNaN(c)||!Number.isFinite(c))return this.error("cannot parse time: "+p);break;case"loop":case"unloop":s="loop"===f;break;case"goto":if(0===n.length)return this.error("goto missing required passage title");if(p=n.shift(),l="object"===(void 0===p?"undefined":_typeof(p))?p.link:p,!Story.has(l))return this.error('passage "'+l+'" does not exist');break;default:return this.error("unknown action: "+f)}}try{if(null!=d&&r.volume(d),null!=c&&r.time(c),null!=u&&r.mute(u),null!=s&&r.loop(s),null!=l){var g="ended.macros.macro-"+this.name+"_goto";r.off(g).one(g,function(){r.off(g),Engine.play(l)})}switch(a){case"fade":r.fade(i,o);break;case"load":r.load();break;case"pause":r.pause();break;case"play":r.playWhenAllowed();break;case"stop":r.stop();break;case"unload":r.unload()}Config.debug&&this.debugView.modes({hidden:!0})}catch(e){return this.error("error executing action: "+e.message)}}}),Macro.add("cacheaudio",{handler:function(){var e=this;if(this.args.length<2){var t=[];return this.args.length<1&&t.push("track ID"),this.args.length<2&&t.push("sources"),this.error("no "+t.join(" or ")+" specified")}var r=String(this.args[0]).trim(),n=/^format:\s*([\w-]+)\s*;\s*/i;try{SimpleAudio.tracks.add(r,this.args.slice(1).map(function(t){if(n.test(t)){if(Config.debug)return e.error('track ID "'+r+'": format specifier migration required, "format:formatId;" → "formatId|"');t=t.replace(n,"$1|")}return t}))}catch(e){return this.error(e.message)}if(Config.debug&&!SimpleAudio.tracks.get(r).hasSource())return this.error('track ID "'+r+'": no supported audio sources found');Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("createaudiogroup",{tags:["track"],handler:function(){if(0===this.args.length)return this.error("no group ID specified");if(1===this.payload.length)return this.error("no tracks defined via <<track>>");Config.debug&&this.debugView.modes({nonvoid:!1,hidden:!0});for(var e=String(this.args[0]).trim(),t=[],r=1,n=this.payload.length;r<n;++r){if(this.payload[r].args.length<1)return this.error("no track ID specified");t.push(String(this.payload[r].args[0]).trim()),Config.debug&&this.createDebugView(this.payload[r].name,this.payload[r].source).modes({nonvoid:!1,hidden:!0})}try{SimpleAudio.groups.add(e,t)}catch(e){return this.error(e.message)}Config.debug&&this.createDebugView("/"+this.name,"<</"+this.name+">>").modes({nonvoid:!1,hidden:!0})}}),Macro.add("createplaylist",{tags:["track"],handler:function(){if(0===this.args.length)return this.error("no list ID specified");if(1===this.payload.length)return this.error("no tracks defined via <<track>>");var e=Macro.get("playlist");if(null!==e.from&&"createplaylist"!==e.from)return this.error("a playlist has already been defined with <<setplaylist>>");Config.debug&&this.debugView.modes({nonvoid:!1,hidden:!0});for(var t=String(this.args[0]).trim(),r=[],n=1,a=this.payload.length;n<a;++n){if(0===this.payload[n].args.length)return this.error("no track ID specified");for(var i={id:String(this.payload[n].args[0]).trim()},o=this.payload[n].args.slice(1);o.length>0;){var s=o.shift(),u=void 0,l=void 0;switch(s){case"copy":case"own":i.own=!0;break;case"rate":o.length>0&&o.shift();break;case"volume":if(0===o.length)return this.error("volume missing required level value");if(u=o.shift(),l=Number.parseFloat(u),Number.isNaN(l)||!Number.isFinite(l))return this.error("cannot parse volume: "+u);i.volume=l;break;default:return this.error("unknown action: "+s)}}r.push(i),Config.debug&&this.createDebugView(this.payload[n].name,this.payload[n].source).modes({nonvoid:!1,hidden:!0})}try{SimpleAudio.lists.add(t,r)}catch(e){return this.error(e.message)}null===e.from&&(e.from="createplaylist"),Config.debug&&this.createDebugView("/"+this.name,"<</"+this.name+">>").modes({nonvoid:!1,hidden:!0})}}),Macro.add("masteraudio",{handler:function(){if(0===this.args.length)return this.error("no actions specified");for(var t=this.args.slice(0),r=void 0,n=void 0,a=void 0,i=void 0;t.length>0;){var o=t.shift(),s=void 0;switch(o){case"load":case"stop":case"unload":if(r)return this.error(e(o,r));r=o;break;case"mute":case"unmute":n="mute"===o;break;case"muteonhide":case"nomuteonhide":a="muteonhide"===o;break;case"volume":if(0===t.length)return this.error("volume missing required level value");if(s=t.shift(),i=Number.parseFloat(s),Number.isNaN(i)||!Number.isFinite(i))return this.error("cannot parse volume: "+s);break;default:return this.error("unknown action: "+o)}}try{switch(null!=n&&SimpleAudio.mute(n),null!=a&&SimpleAudio.muteOnHidden(a),null!=i&&SimpleAudio.volume(i),r){case"load":SimpleAudio.load();break;case"stop":SimpleAudio.stop();break;case"unload":SimpleAudio.unload()}Config.debug&&this.debugView.modes({hidden:!0})}catch(e){return this.error("error executing action: "+e.message)}}}),Macro.add("playlist",{from:null,handler:function(){var t=this.self.from;if(null===t)return this.error("no playlists have been created");var r=void 0,n=void 0;if("createplaylist"===t){if(this.args.length<2){var a=[];return this.args.length<1&&a.push("list ID"),this.args.length<2&&a.push("actions"),this.error("no "+a.join(" or ")+" specified")}var i=String(this.args[0]).trim();if(!SimpleAudio.lists.has(i))return this.error('playlist "'+i+'" does not exist');r=SimpleAudio.lists.get(i),n=this.args.slice(1)}else{if(0===this.args.length)return this.error("no actions specified");r=SimpleAudio.lists.get("setplaylist"),n=this.args.slice(0)}for(var o=void 0,s=5,u=void 0,l=void 0,c=void 0,d=void 0,f=void 0;n.length>0;){var p=n.shift(),h=void 0;switch(p){case"load":case"pause":case"play":case"skip":case"stop":case"unload":if(o)return this.error(e(p,o));o=p;break
118
118
  ;case"fadein":if(o)return this.error(e(p,o));o="fade",u=1;break;case"fadeout":if(o)return this.error(e(p,o));o="fade",u=0;break;case"fadeto":if(o)return this.error(e(p,o));if(0===n.length)return this.error("fadeto missing required level value");if(o="fade",h=n.shift(),u=Number.parseFloat(h),Number.isNaN(u)||!Number.isFinite(u))return this.error("cannot parse fadeto: "+h);break;case"fadeoverto":if(o)return this.error(e(p,o));if(n.length<2){var g=[];return n.length<1&&g.push("seconds"),n.length<2&&g.push("level"),this.error("fadeoverto missing required "+g.join(" and ")+" value"+(g.length>1?"s":""))}if(o="fade",h=n.shift(),s=Number.parseFloat(h),Number.isNaN(s)||!Number.isFinite(s))return this.error("cannot parse fadeoverto: "+h);if(h=n.shift(),u=Number.parseFloat(h),Number.isNaN(u)||!Number.isFinite(u))return this.error("cannot parse fadeoverto: "+h);break;case"volume":if(0===n.length)return this.error("volume missing required level value");if(h=n.shift(),f=Number.parseFloat(h),Number.isNaN(f)||!Number.isFinite(f))return this.error("cannot parse volume: "+h);break;case"mute":case"unmute":c="mute"===p;break;case"loop":case"unloop":l="loop"===p;break;case"shuffle":case"unshuffle":d="shuffle"===p;break;default:return this.error("unknown action: "+p)}}try{switch(null!=f&&r.volume(f),null!=c&&r.mute(c),null!=l&&r.loop(l),null!=d&&r.shuffle(d),o){case"fade":r.fade(s,u);break;case"load":r.load();break;case"pause":r.pause();break;case"play":r.playWhenAllowed();break;case"skip":r.skip();break;case"stop":r.stop();break;case"unload":r.unload()}Config.debug&&this.debugView.modes({hidden:!0})}catch(e){return this.error("error executing action: "+e.message)}}}),Macro.add("removeaudiogroup",{handler:function(){if(0===this.args.length)return this.error("no group ID specified");var e=String(this.args[0]).trim();if(!SimpleAudio.groups.has(e))return this.error('group "'+e+'" does not exist');SimpleAudio.groups.delete(e),Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("removeplaylist",{handler:function(){if(0===this.args.length)return this.error("no list ID specified");var e=String(this.args[0]).trim();if(!SimpleAudio.lists.has(e))return this.error('playlist "'+e+'" does not exist');SimpleAudio.lists.delete(e),Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("waitforaudio",{skipArgs:!0,handler:function(){SimpleAudio.loadWithScreen()}}),Macro.add("setplaylist",{handler:function(){if(0===this.args.length)return this.error("no track ID(s) specified");var e=Macro.get("playlist");if(null!==e.from&&"setplaylist"!==e.from)return this.error("playlists have already been defined with <<createplaylist>>");try{SimpleAudio.lists.add("setplaylist",this.args.slice(0))}catch(e){return this.error(e.message)}null===e.from&&(e.from="setplaylist"),Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("stopallaudio",{skipArgs:!0,handler:function(){SimpleAudio.select(":all").stop(),Config.debug&&this.debugView.modes({hidden:!0})}})}else Macro.add(["audio","cacheaudio","createaudiogroup","createplaylist","masteraudio","playlist","removeaudiogroup","removeplaylist","waitforaudio","setplaylist","stopallaudio"],{skipArgs:!0,handler:function(){Config.debug&&this.debugView.modes({hidden:!0})}});Macro.add("goto",{handler:function(){if(0===this.args.length)return this.error("no passage specified");var e=void 0;if(e="object"===_typeof(this.args[0])?this.args[0].link:this.args[0],!Story.has(e))return this.error('passage "'+e+'" does not exist');setTimeout(function(){return Engine.play(e)},Engine.minDomActionDelay)}}),Macro.add("repeat",{isAsync:!0,tags:null,timers:new Set,handler:function(){var e=this;if(0===this.args.length)return this.error("no time value specified");var t=void 0;try{t=Math.max(Engine.minDomActionDelay,Util.fromCssTime(this.args[0]))}catch(e){return this.error(e.message)}Config.debug&&this.debugView.modes({block:!0});var r=this.args.length>1&&/^(?:transition|t8n)$/.test(this.args[1]),n=jQuery(document.createElement("span")).addClass("macro-"+this.name).appendTo(this.output);this.self.registerInterval(this.createShadowWrapper(function(){var t=document.createDocumentFragment();new Wikifier(t,e.payload[0].contents);var a=n;r&&(a=jQuery(document.createElement("span")).addClass("macro-repeat-insert macro-repeat-in").appendTo(a)),a.append(t),r&&setTimeout(function(){return a.removeClass("macro-repeat-in")},Engine.minDomActionDelay)}),t)},registerInterval:function(e,t){var r=this;if("function"!=typeof e)throw new TypeError("callback parameter must be a function");var n=State.turns,a=this.timers,i=null;i=setInterval(function(){if(n!==State.turns)return clearInterval(i),void a.delete(i);var t=void 0;try{TempState.break=null,TempState.hasOwnProperty("repeatTimerId")&&(t=TempState.repeatTimerId),TempState.repeatTimerId=i,e.call(r)}finally{void 0!==t?TempState.repeatTimerId=t:delete TempState.repeatTimerId,TempState.break=null}},t),a.add(i),prehistory.hasOwnProperty("#repeat-timers-cleanup")||(prehistory["#repeat-timers-cleanup"]=function(e){delete prehistory[e],a.forEach(function(e){return clearInterval(e)}),a.clear()})}}),Macro.add("stop",{skipArgs:!0,handler:function(){if(!TempState.hasOwnProperty("repeatTimerId"))return this.error("must only be used in conjunction with its parent macro <<repeat>>");var e=Macro.get("repeat").timers,t=TempState.repeatTimerId;clearInterval(t),e.delete(t),TempState.break=2,Config.debug&&this.debugView.modes({hidden:!0})}}),Macro.add("timed",{isAsync:!0,tags:["next"],timers:new Set,handler:function(){if(0===this.args.length)return this.error("no time value specified in <<timed>>");var e=[];try{e.push({name:this.name,source:this.source,delay:Math.max(Engine.minDomActionDelay,Util.fromCssTime(this.args[0])),content:this.payload[0].contents})}catch(e){return this.error(e.message+" in <<timed>>")}if(this.payload.length>1){var t=void 0;try{var r=void 0;for(t=1,r=this.payload.length;t<r;++t)e.push({name:this.payload[t].name,source:this.payload[t].source,delay:0===this.payload[t].args.length?e[e.length-1].delay:Math.max(Engine.minDomActionDelay,Util.fromCssTime(this.payload[t].args[0])),content:this.payload[t].contents})}catch(e){return this.error(e.message+" in <<next>> (#"+t+")")}}Config.debug&&this.debugView.modes({block:!0});var n=this.args.length>1&&/^(?:transition|t8n)$/.test(this.args[1]),a=jQuery(document.createElement("span")).addClass("macro-"+this.name).appendTo(this.output);this.self.registerTimeout(this.createShadowWrapper(function(e){var t=document.createDocumentFragment();new Wikifier(t,e.content);var r=a;Config.debug&&"next"===e.name&&(r=jQuery(new DebugView(r[0],"macro",e.name,e.source).output)),n&&(r=jQuery(document.createElement("span")).addClass("macro-timed-insert macro-timed-in").appendTo(r)),r.append(t),n&&setTimeout(function(){return r.removeClass("macro-timed-in")},Engine.minDomActionDelay)}),e)},registerTimeout:function(e,t){if("function"!=typeof e)throw new TypeError("callback parameter must be a function");var r=State.turns,n=this.timers,a=null,i=t.shift(),o=function o(){if(n.delete(a),r===State.turns){var s=i;null!=(i=t.shift())&&(a=setTimeout(o,i.delay),n.add(a)),e.call(this,s)}};a=setTimeout(o,i.delay),n.add(a),prehistory.hasOwnProperty("#timed-timers-cleanup")||(prehistory["#timed-timers-cleanup"]=function(e){delete prehistory[e],n.forEach(function(e){return clearTimeout(e)}),n.clear()})}}),Macro.add("widget",{tags:null,handler:function(){if(0===this.args.length)return this.error("no widget name specified");var e=this.args[0];if(Macro.has(e)){if(!Macro.get(e).isWidget)return this.error('cannot clobber existing macro "'+e+'"');Macro.delete(e)}try{Macro.add(e,{isWidget:!0,handler:function(e){return function(){var t=void 0;try{State.variables.hasOwnProperty("args")&&(t=State.variables.args),State.variables.args=[].concat(_toConsumableArray(this.args)),State.variables.args.raw=this.args.raw,State.variables.args.full=this.args.full,this.addShadow("$args");var r=document.createDocumentFragment(),n=[];if(new Wikifier(r,e),Array.from(r.querySelectorAll(".error")).forEach(function(e){n.push(e.textContent)}),0!==n.length)return this.error("error"+(n.length>1?"s":"")+" within widget contents ("+n.join("; ")+")");this.output.appendChild(r)}catch(e){return this.error("cannot execute widget: "+e.message)}finally{void 0!==t?State.variables.args=t:delete State.variables.args}}}(this.payload[0].contents)}),Config.debug&&this.debugView.modes({hidden:!0})}catch(t){return this.error('cannot create widget macro "'+e+'": '+t.message)}}})}();var Dialog=function(){function e(e,t,r,n,a){return jQuery(e).ariaClick(function(e){e.preventDefault(),"function"==typeof r&&r(e),o(t,a),"function"==typeof n&&n(e)})}function t(){var e;return(e=g).append.apply(e,arguments),Dialog}function r(){return g.get(0)}function n(e){return g.trigger(":dialogclosing"),jQuery(document).off(".dialog-close"),y?(y.disconnect(),y=null):g.off(".dialog-resize"),jQuery(window).off(".dialog-resize"),p.removeClass("open").css({left:"",right:"",top:"",bottom:""}),jQuery("#ui-bar,#story").find("[tabindex=-2]").removeAttr("aria-hidden").attr("tabindex",0),jQuery("body>[tabindex=-3]").removeAttr("aria-hidden").removeAttr("tabindex"),f.removeClass("open"),jQuery(document.documentElement).removeAttr("data-dialog"),h.empty(),g.empty().removeClass(),null!==m&&(jQuery(m).focus(),m=null),e&&e.data&&"function"==typeof e.data.closeFn&&e.data.closeFn(e),g.trigger(":dialogclose"),g.trigger(":dialogclosed"),Dialog}function a(){if(!document.getElementById("ui-dialog")){v=function(){var e=void 0;try{var t=document.createElement("p"),r=document.createElement("div");t.style.width="100%",t.style.height="200px",r.style.position="absolute",r.style.left="0px",r.style.top="0px",r.style.width="100px",r.style.height="100px",r.style.visibility="hidden",r.style.overflow="hidden",r.appendChild(t),document.body.appendChild(r);var n=t.offsetWidth;r.style.overflow="auto";var a=t.offsetWidth;n===a&&(a=r.clientWidth),document.body.removeChild(r),e=n-a}catch(e){}return e||17}();var e=jQuery(document.createDocumentFragment()).append('<div id="ui-overlay" class="ui-close"></div><div id="ui-dialog" tabindex="0" role="dialog" aria-labelledby="ui-dialog-title"><div id="ui-dialog-titlebar"><h1 id="ui-dialog-title"></h1><button id="ui-dialog-close" class="ui-close" tabindex="0" aria-label="'+L10n.get("close")+'"></button></div><div id="ui-dialog-body"></div></div>');f=jQuery(e.find("#ui-overlay").get(0)),p=jQuery(e.find("#ui-dialog").get(0)),h=jQuery(e.find("#ui-dialog-title").get(0)),g=jQuery(e.find("#ui-dialog-body").get(0)),e.insertBefore("body>script#script-sugarcube")}}function i(e){return p.hasClass("open")&&(!e||e.splitOrEmpty(/\s+/).every(function(e){return g.hasClass(e)}))}function o(e,t){g.trigger(":dialogopening");var r=jQuery.extend({top:50},e),a=r.top;return i()||(m=safeActiveElement()),jQuery(document.documentElement).attr("data-dialog","open"),f.addClass("open"),null!==g[0].querySelector("img")&&g.imagesLoaded().always(function(){return d({data:{top:a}})}),jQuery("body>:not(script,#store-area,tw-storydata,#ui-bar,#ui-overlay,#ui-dialog)").attr("tabindex",-3).attr("aria-hidden",!0),jQuery("#ui-bar,#story").find("[tabindex]:not([tabindex^=-])").attr("tabindex",-2).attr("aria-hidden",!0),p.css(c(a)).addClass("open").focus(),jQuery(window).on("resize.dialog-resize",null,{top:a},jQuery.throttle(40,d)),Has.mutationObserver?(y=new MutationObserver(function(e){for(var t=0;t<e.length;++t)if("childList"===e[t].type){d({data:{top:a}});break}}),y.observe(g[0],{childList:!0,subtree:!0})):g.on("DOMNodeInserted.dialog-resize DOMNodeRemoved.dialog-resize",null,{top:a},jQuery.throttle(40,d)),jQuery(document).on("click.dialog-close",".ui-close",{closeFn:t},n).on("keypress.dialog-close",".ui-close",function(e){13!==e.which&&32!==e.which||jQuery(this).trigger("click")}),g.trigger(":dialogopen"),g.trigger(":dialogopened"),Dialog}function s(e){return d("object"===(void 0===e?"undefined":_typeof(e))?{data:e}:undefined)}function u(e,t){return g.empty().removeClass(),null!=t&&g.addClass(t),h.empty().append((null!=e?String(e):"")||" "),g.get(0)}function l(){var e;return(e=g).wiki.apply(e,arguments),Dialog}function c(e){var t=null!=e?e:50,r=jQuery(window),n={left:"",right:"",top:"",bottom:""};p.css(n);var a=r.width()-p.outerWidth(!0)-1,i=r.height()-p.outerHeight(!0)-1;return a<=32+v&&(i-=v),i<=32+v&&(a-=v),n.left=n.right=a<=32?16:a/2>>0,n.top=i<=32?n.bottom=16:i/2>t?t:n.bottom=i/2>>0,Object.keys(n).forEach(function(e){""!==n[e]&&(n[e]+="px")}),n}function d(e){var t=e&&e.data&&void 0!==e.data.top?e.data.top:50;"block"===p.css("display")&&(p.css({display:"none"}),p.css(jQuery.extend({display:""},c(t))))}var f=null,p=null,h=null,g=null,m=null,v=0,y=null;return Object.freeze(Object.defineProperties({},{append:{value:t},body:{value:r},close:{value:n},init:{value:a},isOpen:{value:i},open:{value:o},resize:{value:s},setup:{value:u},wiki:{value:l},addClickHandler:{value:e}}))}(),Engine=function(){function e(){jQuery("#init-no-js,#init-lacking").remove(),function(){var e=jQuery(document.createDocumentFragment()),t=Story.has("StoryInterface")&&Story.get("StoryInterface").text.trim();if(t){if(UIBar.destroy(),jQuery(document.head).find("#style-core-display").remove(),e.append(t),0===e.find("#passages").length)throw new Error('no element with ID "passages" found within "StoryInterface" special passage');var r=[];e.find("[data-passage]").each(function(e,t){if("passages"===t.id)throw new Error('"StoryInterface" element <'+t.nodeName.toLowerCase()+' id="passages"> must not contain a "data-passage" content attribute');var n=t.getAttribute("data-passage").trim();if(null!==t.firstElementChild)throw new Error('"StoryInterface" element <'+t.nodeName.toLowerCase()+' data-passage="'+n+'"> contains child elements');Story.has(n)&&r.push({passage:n,element:t})}),r.length>0&&(E=r),Config.ui.updateStoryElements=!1}else e.append('<div id="story" role="main"><div id="passages"></div></div>');e.insertBefore("body>script#script-sugarcube")}(),S=new StyleWrapper(function(){return jQuery(document.createElement("style")).attr({id:"style-aria-outlines",type:"text/css"}).appendTo(document.head).get(0)}());var e=void 0;jQuery(document).on("mousedown.aria-outlines keydown.aria-outlines",function(t){t.type!==e&&(e=t.type,"keydown"===t.type?m():g())})}function t(){if(Story.has("StoryInit"))try{var e=Wikifier.wikifyEval(Story.get("StoryInit").text);if(Config.debug){var t=new DebugView(document.createDocumentFragment(),"special","StoryInit","StoryInit");t.modes({hidden:!0}),t.append(e),k=t.output}}catch(e){console.error(e),Alert.error("StoryInit",e.message)}if(null==Config.passages.start)throw new Error("starting passage not selected");if(!Story.has(Config.passages.start))throw new Error('starting passage ("'+Config.passages.start+'") not found');if(jQuery(document.documentElement).focus(),State.restore())f();else{var r=!0;switch(_typeof(Config.saves.autoload)){case"boolean":Config.saves.autoload&&Save.autosave.ok()&&Save.autosave.has()&&(r=!Save.autosave.load());break;case"string":"prompt"===Config.saves.autoload&&Save.autosave.ok()&&Save.autosave.has()&&(r=!1,UI.buildAutoload(),Dialog.open());break;case"function":Save.autosave.ok()&&Save.autosave.has()&&Config.saves.autoload()&&(r=!Save.autosave.load())}r&&p(Config.passages.start)}}function r(){LoadScreen.show(),window.scroll(0,0),State.reset(),jQuery.event.trigger(":enginerestart"),window.location.reload()}function n(){return b}function a(){return b===v.Idle}function i(){return b!==v.Idle}function o(){return b===v.Rendering}function s(){return w}function u(e){var t=State.goTo(e);return t&&f(),t}function l(e){var t=State.go(e);return t&&f(),t}function c(){return l(-1)}function d(){return l(1)}function f(){return p(State.passage,!0)}function p(e,t){var r=e;b=v.Playing,TempState={},State.clearTemporary();var n=void 0,a=void 0;if("function"==typeof Config.navigation.override)try{var i=Config.navigation.override(r);i&&(r=i)}catch(e){}var o=Story.get(r);if(jQuery.event.trigger({type:":passageinit",passage:o}),Object.keys(prehistory).forEach(function(e){"function"==typeof prehistory[e]&&prehistory[e].call(o,e)}),t||State.create(o.title),document.body.className&&(document.body.className=""),w=Util.now(),Object.keys(predisplay).forEach(function(e){"function"==typeof predisplay[e]&&predisplay[e].call(o,e)}),Story.has("PassageReady"))try{n=Wikifier.wikifyEval(Story.get("PassageReady").text)}catch(e){console.error(e),Alert.error("PassageReady",e.message)}b=v.Rendering;var s=o.tags.length>0?o.tags.join(" "):null,u=document.createElement("div");jQuery(u).attr({id:o.domId,"data-passage":o.title,"data-tags":s}).addClass("passage "+o.className),jQuery(document.body).attr("data-tags",s).addClass(o.className),jQuery(document.documentElement).attr("data-tags",s),jQuery.event.trigger({type:":passagestart",content:u,passage:o}),Object.keys(prerender).forEach(function(e){"function"==typeof prerender[e]&&prerender[e].call(o,u,e)}),Story.has("PassageHeader")&&new Wikifier(u,Story.get("PassageHeader").processText()),u.appendChild(o.render()),Story.has("PassageFooter")&&new Wikifier(u,Story.get("PassageFooter").processText()),jQuery.event.trigger({type:":passagerender",content:u,passage:o}),Object.keys(postrender).forEach(function(e){"function"==typeof postrender[e]&&postrender[e].call(o,u,e)});var l=document.getElementById("passages");if(l.hasChildNodes()&&("number"==typeof Config.passages.transitionOut||"string"==typeof Config.passages.transitionOut&&""!==Config.passages.transitionOut&&Has.transitionEndEvent?[].concat(_toConsumableArray(l.childNodes)).forEach(function(e){var t=jQuery(e);if(e.nodeType===Node.ELEMENT_NODE&&t.hasClass("passage")){if(t.hasClass("passage-out"))return;t.attr("id","out-"+t.attr("id")).addClass("passage-out"),"string"==typeof Config.passages.transitionOut?t.on(Has.transitionEndEvent,function(e){e.originalEvent.propertyName===Config.passages.transitionOut&&t.remove()}):setTimeout(function(){return t.remove()},Math.max(y,Config.passages.transitionOut))}else t.remove()}):jQuery(l).empty()),jQuery(u).addClass("passage-in").appendTo(l),setTimeout(function(){return jQuery(u).removeClass("passage-in")},y),Story.has("StoryDisplayTitle")?null===E&&Config.ui.updateStoryElements||setDisplayTitle(Story.get("StoryDisplayTitle").processText()):Config.passages.displayTitles&&o.title!==Config.passages.start&&(document.title=o.title+" | "+Story.title),window.scroll(0,0),b=v.Playing,Story.has("PassageDone"))try{a=Wikifier.wikifyEval(Story.get("PassageDone").text)}catch(e){console.error(e),Alert.error("PassageDone",e.message)}if(jQuery.event.trigger({type:":passagedisplay",content:u,passage:o}),Object.keys(postdisplay).forEach(function(e){"function"==typeof postdisplay[e]&&postdisplay[e].call(o,e)}),null!==E?E.forEach(function(e){jQuery(e.element).empty(),new Wikifier(e.element,Story.get(e.passage).processText().trim())}):Config.ui.updateStoryElements&&UIBar.update(),Config.debug){var c=void 0;null!=n&&(c=new DebugView(document.createDocumentFragment(),"special","PassageReady","PassageReady"),c.modes({hidden:!0}),c.append(n),jQuery(u).prepend(c.output)),null!=a&&(c=new DebugView(document.createDocumentFragment(),"special","PassageDone","PassageDone"),c.modes({hidden:!0}),c.append(a),jQuery(u).append(c.output)),1===State.turns&&null!=k&&jQuery(u).prepend(k)}switch(g(),jQuery("#story").find("a[href]:not(.link-external)").addClass("link-external").end().find("a,link,button,input,select,textarea").not("[tabindex]").attr("tabindex",0),_typeof(Config.saves.autosave)){case"boolean":Config.saves.autosave&&Save.autosave.save();break;case"object":o.tags.some(function(e){return Config.saves.autosave.includes(e)})&&Save.autosave.save();break;case"function":Config.saves.autosave()&&Save.autosave.save()}return jQuery.event.trigger({type:":passageend",content:u,passage:o}),b=v.Idle,w=Util.now(),u}function h(e,t,r){var n=!1;switch(r){case undefined:break;case"replace":case"back":n=!0;break;default:throw new Error('Engine.display option parameter called with obsolete value "'+r+'"; please notify the developer')}p(e,n)}function g(){S.set("*:focus{outline:none;}")}function m(){S.clear()}var v=Util.toEnum({Idle:"idle",Playing:"playing",Rendering:"rendering"}),y=40,b=v.Idle,w=null,k=null,S=null,E=null;return Object.freeze(Object.defineProperties({},{States:{value:v},minDomActionDelay:{value:y},init:{value:e},start:{value:t},restart:{value:r},state:{get:n},isIdle:{value:a},isPlaying:{value:i},isRendering:{value:o},lastPlay:{get:s},goTo:{value:u},go:{value:l},backward:{value:c},forward:{value:d},show:{value:f},play:{value:p},display:{value:h}}))}(),Passage=function(){var e=void 0;e=/^(?:debug|nobr|passage|widget|twine\..*)$/i;return function(){function t(r,n){var a=this;_classCallCheck(this,t),Object.defineProperties(this,{title:{value:Util.unescape(r)},element:{value:n||null},tags:{value:Object.freeze(n&&n.hasAttribute("tags")?n.getAttribute("tags").trim().splitOrEmpty(/\s+/).sort().filter(function(e,t,r){return 0===t||r[t-1]!==e}):[])},_excerpt:{writable:!0,value:null}}),Object.defineProperties(this,{domId:{value:"passage-"+Util.slugify(this.title)},classes:{value:Object.freeze(0===this.tags.length?[]:function(){return a.tags.filter(function(t){return!e.test(t)}).map(function(e){return Util.slugify(e)})}())}})}return _createClass(t,[{key:"description",value:function(){var e=Config.passages.descriptions;if(null!=e)switch(void 0===e?"undefined":_typeof(e)){case"boolean":if(e)return this.title;break;case"object":if(e instanceof Map&&e.has(this.title))return e.get(this.title);if(e.hasOwnProperty(this.title))return e[this.title];break;case"function":var r=e.call(this);if(r)return r;break;default:throw new TypeError("Config.passages.descriptions must be a boolean, object, or function")}return null===this._excerpt&&(this._excerpt=t.getExcerptFromText(this.text)),this._excerpt}},{key:"processText",value:function(){if(null==this.element)return this.text;if(this.tags.includes("Twine.image"))return"[img["+this.text+"]]";var e=this.text;return Config.passages.onProcess&&(e=Config.passages.onProcess.call(null,{title:this.title,tags:this.tags,text:e})),(Config.passages.nobr||this.tags.includes("nobr"))&&(e=e.replace(/^\n+|\n+$/g,"").replace(/\n+/g," ")),e}},{key:"render",value:function(e){var r=document.createDocumentFragment();return new Wikifier(r,this.processText(),e),this._excerpt=t.getExcerptFromNode(r),r}},{key:"className",get:function(){return this.classes.join(" ")}},{key:"text",get:function(){if(null==this.element){var e=Util.escape(this.title);return'<div class="error-view"><span class="error">'+(L10n.get("errorTitle")+": "+L10n.get("errorNonexistentPassage",{passage:e}))+"</span></div>"}return this.element.textContent.replace(/\r/g,"")}}],[{key:"getExcerptFromNode",value:function(e,t){if(!e.hasChildNodes())return"";var r=e.textContent.trim();if(""!==r){var n=new RegExp("(\\S+(?:\\s+\\S+){0,"+(t>0?t-1:7)+"})");r=r.replace(/\s+/g," ").match(n)}return r?r[1]+"…":"…"}},{key:"getExcerptFromText",value:function(e,t){if(""===e)return"";var r=new RegExp("(\\S+(?:\\s+\\S+){0,"+(t>0?t-1:7)+"})"),n=e.replace(/<<.*?>>/g," ").replace(/<.*?>/g," ").trim().replace(/^\s*\|.*\|.*?$/gm,"").replace(/\[[<>]?img\[[^\]]*\]\]/g,"").replace(/\[\[([^|\]]*?)(?:(?:\||->|<-)[^\]]*)?\]\]/g,"$1").replace(/^\s*!+(.*?)$/gm,"$1").replace(/'{2}|\/{2}|_{2}|@{2}/g,"").trim().replace(/\s+/g," ").match(r);return n?n[1]+"…":"…"}}]),t}()}(),Save=function(){function e(){if("cookie"===storage.name)return n(),Config.saves.autoload=undefined,Config.saves.autosave=undefined,Config.saves.slots=0,!1;var e=r(),t=!1;Array.isArray(e)&&(e={autosave:null,slots:e},t=!0),Config.saves.slots!==e.slots.length&&(Config.saves.slots<e.slots.length?(e.slots.reverse(),e.slots=e.slots.filter(function(e){return!(null===e&&this.count>0)||(--this.count,!1)},{count:e.slots.length-Config.saves.slots}),e.slots.reverse()):Config.saves.slots>e.slots.length&&j(e.slots,Config.saves.slots-e.slots.length),t=!0),T(e.autosave)&&(t=!0);for(var a=0;a<e.slots.length;++a)T(e.slots[a])&&(t=!0);return x(e)&&(storage.delete("saves"),t=!1),t&&O(e),P=e.slots.length-1,!0}function t(){return{autosave:null,slots:j([],Config.saves.slots)}}function r(){var e=storage.get("saves");return null===e?t():e}function n(){return storage.delete("saves"),!0}function a(){return i()||d()}function i(){return"cookie"!==storage.name&&void 0!==Config.saves.autosave}function o(){return null!==r().autosave}function s(){return r().autosave}function u(){var e=r();return null!==e.autosave&&A(e.autosave)}function l(e,t){if("function"==typeof Config.saves.isAllowed&&!Config.saves.isAllowed())return!1;var n=r(),a={title:e||Story.get(State.passage).description(),date:Date.now()};return null!=t&&(a.metadata=t),n.autosave=C(a),O(n)}function c(){var e=r();return e.autosave=null,O(e)}function d(){return"cookie"!==storage.name&&-1!==P}function f(){return P+1}function p(){if(!d())return 0;for(var e=r(),t=0,n=0,a=e.slots.length;n<a;++n)null!==e.slots[n]&&++t;return t}function h(){return 0===p()}function g(e){if(e<0||e>P)return!1;var t=r();return!(e>=t.slots.length||null===t.slots[e])}function m(e){if(e<0||e>P)return null;var t=r();return e>=t.slots.length?null:t.slots[e]}function v(e){if(e<0||e>P)return!1;var t=r();return!(e>=t.slots.length||null===t.slots[e])&&A(t.slots[e])}function y(e,t,n){if("function"==typeof Config.saves.isAllowed&&!Config.saves.isAllowed())return Dialog.isOpen()?$(document).one(":dialogclosed",function(){return UI.alert(L10n.get("savesDisallowed"))}):UI.alert(L10n.get("savesDisallowed")),!1;if(e<0||e>P)return!1;var a=r();if(e>=a.slots.length)return!1;var i={title:t||Story.get(State.passage).description(),date:Date.now()};return null!=n&&(i.metadata=n),a.slots[e]=C(i),O(a)}function b(e){if(e<0||e>P)return!1;var t=r();return!(e>=t.slots.length)&&(t.slots[e]=null,O(t))}function w(e,t){if("function"==typeof Config.saves.isAllowed&&!Config.saves.isAllowed())return void(Dialog.isOpen()?$(document).one(":dialogclosed",function(){return UI.alert(L10n.get("savesDisallowed"))}):UI.alert(L10n.get("savesDisallowed")));var r=null==e?Story.domId:function(e){return String(e).trim().replace(/[\x00-\x1f"#$%&'*+,\/:;<=>?\\^`|\x7f-\x9f]+/g,"").replace(/[_\s\u2013\u2014-]+/g,"-")}(e),n=r+"-"+function(){var e=new Date,t=e.getMonth()+1,r=e.getDate(),n=e.getHours(),a=e.getMinutes(),i=e.getSeconds();return t<10&&(t="0"+t),r<10&&(r="0"+r),n<10&&(n="0"+n),a<10&&(a="0"+a),i<10&&(i="0"+i),""+e.getFullYear()+t+r+"-"+n+a+i}()+".save",a=null==t?{}:{metadata:t},i=LZString.compressToBase64(JSON.stringify(C(a)));saveAs(new Blob([i],{type:"text/plain;charset=UTF-8"}),n)}function k(e){var t=e.target.files[0],r=new FileReader;jQuery(r).on("load",function(e){var r=e.currentTarget;if(r.result){var n=void 0;try{n=JSON.parse(/\.json$/i.test(t.name)||/^\{/.test(r.result)?r.result:LZString.decompressFromBase64(r.result))}catch(e){}A(n)}}),r.readAsText(t)}function S(e){if("function"==typeof Config.saves.isAllowed&&!Config.saves.isAllowed())return Dialog.isOpen()?$(document).one(":dialogclosed",function(){return UI.alert(L10n.get("savesDisallowed"))}):UI.alert(L10n.get("savesDisallowed")),null;var t=null==e?{}:{metadata:e};return LZString.compressToBase64(JSON.stringify(C(t)))}function E(e){var t=void 0;try{t=JSON.parse(LZString.decompressFromBase64(e))}catch(e){}return A(t)?t.metadata:null}function j(e,t){for(var r=0;r<t;++r)e.push(null);return e}function x(e){for(var t=e.slots,r=!0,n=0,a=t.length;n<a;++n)if(null!==t[n]){r=!1;break}return null===e.autosave&&r}function O(e){return x(e)?(storage.delete("saves"),!0):storage.set("saves",e)}function T(e){if(null==e||"object"!==(void 0===e?"undefined":_typeof(e)))return!1;var t=!1;return e.hasOwnProperty("state")&&e.state.hasOwnProperty("delta")&&e.state.hasOwnProperty("index")||(e.hasOwnProperty("data")?(delete e.mode,e.state={delta:State.deltaEncode(e.data)},delete e.data):e.state.hasOwnProperty("delta")?e.state.hasOwnProperty("index")||delete e.state.mode:(delete e.state.mode,e.state.delta=State.deltaEncode(e.state.history),delete e.state.history),e.state.index=e.state.delta.length-1,t=!0),e.state.hasOwnProperty("rseed")&&(e.state.seed=e.state.rseed,delete e.state.rseed,e.state.delta.forEach(function(e,t,r){r[t].hasOwnProperty("rcount")&&(r[t].pull=r[t].rcount,delete r[t].rcount)}),t=!0),(e.state.hasOwnProperty("expired")&&"number"==typeof e.state.expired||e.state.hasOwnProperty("unique")||e.state.hasOwnProperty("last"))&&(e.state.hasOwnProperty("expired")&&"number"==typeof e.state.expired&&delete e.state.expired,(e.state.hasOwnProperty("unique")||e.state.hasOwnProperty("last"))&&(e.state.expired=[],e.state.hasOwnProperty("unique")&&(e.state.expired.push(e.state.unique),delete e.state.unique),e.state.hasOwnProperty("last")&&(e.state.expired.push(e.state.last),delete e.state.last)),t=!0),t}function C(e){if(null!=e&&"object"!==(void 0===e?"undefined":_typeof(e)))throw new Error("supplemental parameter must be an object");var t=Object.assign({},e,{id:Config.saves.id,state:State.marshalForSave()});return Config.saves.version&&(t.version=Config.saves.version),"function"==typeof Config.saves.onSave&&Config.saves.onSave(t),t.state.delta=State.deltaEncode(t.state.history),delete t.state.history,t}function A(e){try{if(T(e),!e||!e.hasOwnProperty("id")||!e.hasOwnProperty("state"))throw new Error(L10n.get("errorSaveMissingData"));if(e.state.history=State.deltaDecode(e.state.delta),delete e.state.delta,"function"==typeof Config.saves.onLoad&&Config.saves.onLoad(e),e.id!==Config.saves.id)throw new Error(L10n.get("errorSaveIdMismatch"));State.unmarshalForSave(e.state),Engine.show()}catch(e){return UI.alert(e.message.toUpperFirst()+".</p><p>"+L10n.get("aborting")+"."),!1}return!0}var P=-1;return Object.freeze(Object.defineProperties({},{init:{value:e},get:{value:r},clear:{value:n},ok:{value:a},autosave:{value:Object.freeze(Object.defineProperties({},{ok:{value:i},has:{value:o},get:{value:s},load:{value:u},save:{value:l},delete:{value:c}}))},slots:{value:Object.freeze(Object.defineProperties({},{ok:{value:d},length:{get:f},isEmpty:{value:h},count:{value:p},has:{value:g},get:{value:m},load:{value:v},save:{value:y},delete:{value:b}}))},export:{value:w},import:{value:k},serialize:{value:S},deserialize:{value:E}}))}(),Setting=function(){function e(){if(storage.has("options")){var e=storage.get("options");null!==e&&(window.SugarCube.settings=settings=Object.assign(t(),e)),r(),storage.delete("options")}n(),v.forEach(function(e){if(e.hasOwnProperty("onInit")){var t={name:e.name,value:settings[e.name],default:e.default};e.hasOwnProperty("list")&&(t.list=e.list),e.onInit.call(t)}})}function t(){return Object.create(null)}function r(){var e=t();return Object.keys(settings).length>0&&v.filter(function(e){return e.type!==m.Header&&settings[e.name]!==e.default}).forEach(function(t){return e[t.name]=settings[t.name]}),0===Object.keys(e).length?(storage.delete("settings"),!0):storage.set("settings",e)}function n(){var e=t(),r=storage.get("settings")||t();v.filter(function(e){return e.type!==m.Header}).forEach(function(t){return e[t.name]=t.default}),window.SugarCube.settings=settings=Object.assign(e,r)}function a(){return window.SugarCube.settings=settings=t(),storage.delete("settings"),!0}function i(e){if(0===arguments.length)a(),n();else{if(null==e||!p(e))throw new Error('nonexistent setting "'+e+'"');var t=h(e);t.type!==m.Header&&(settings[e]=t.default)}return r()}function o(e,t){v.forEach(e,t)}function s(e,t,r){if(arguments.length<3){var n=[];throw arguments.length<1&&n.push("type"),arguments.length<2&&n.push("name"),arguments.length<3&&n.push("definition"),new Error("missing parameters, no "+n.join(" or ")+" specified")}if("object"!==(void 0===r?"undefined":_typeof(r)))throw new TypeError("definition parameter must be an object");if(p(t))throw new Error('cannot clobber existing setting "'+t+'"');var a={type:e,name:t,label:"string"==typeof r.label?r.label.trim():""};if("string"==typeof r.desc){
119
- var i=r.desc.trim();""!==i&&(a.desc=i)}switch(e){case m.Header:break;case m.Toggle:a.default=!!r.default;break;case m.List:if(!r.hasOwnProperty("list"))throw new Error("no list specified");if(!Array.isArray(r.list))throw new TypeError("list must be an array");if(0===r.list.length)throw new Error("list must not be empty");if(a.list=Object.freeze(r.list),null==r.default)a.default=r.list[0];else{var o=r.list.indexOf(r.default);if(-1===o)throw new Error("list does not contain default");a.default=r.list[o]}break;case m.Range:if(!r.hasOwnProperty("min"))throw new Error("no min specified");if("number"!=typeof r.min||Number.isNaN(r.min)||!Number.isFinite(r.min))throw new TypeError("min must be a finite number");if(!r.hasOwnProperty("max"))throw new Error("no max specified");if("number"!=typeof r.max||Number.isNaN(r.max)||!Number.isFinite(r.max))throw new TypeError("max must be a finite number");if(!r.hasOwnProperty("step"))throw new Error("no step specified");if("number"!=typeof r.step||Number.isNaN(r.step)||!Number.isFinite(r.step)||r.step<=0)throw new TypeError("step must be a finite number greater than zero");var s=function(){var e=String(r.step),t=e.lastIndexOf(".");return-1===t?0:e.length-t-1}();if(function(e){if(s>0){var t=Number(r.min+"e"+s),n=Number(r.step+"e"+s),a=Number(e+"e"+s)-t;return Number(a-a%n+t+"e-"+s)}var i=e-r.min;return i-i%r.step+r.min}(r.max)!==r.max)throw new RangeError("max ("+r.max+") is not a multiple of the step ("+r.step+") plus the min ("+r.min+")");if(a.max=r.max,a.min=r.min,a.step=r.step,null==r.default)a.default=r.max;else{if("number"!=typeof r.default||Number.isNaN(r.default)||!Number.isFinite(r.default))throw new TypeError("default must be a finite number");if(r.default<r.min)throw new RangeError("default ("+r.default+") is less than min ("+r.min+")");if(r.default>r.max)throw new RangeError("default ("+r.default+") is greater than max ("+r.max+")");a.default=r.default}break;default:throw new Error("unknown Setting type: "+e)}"function"==typeof r.onInit&&(a.onInit=Object.freeze(r.onInit)),"function"==typeof r.onChange&&(a.onChange=Object.freeze(r.onChange)),v.push(Object.freeze(a))}function u(e,t){s(m.Header,e,{desc:t})}function l(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s.apply(undefined,[m.Toggle].concat(t))}function c(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s.apply(undefined,[m.List].concat(t))}function d(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s.apply(undefined,[m.Range].concat(t))}function f(){return 0===v.length}function p(e){return v.some(function(t){return t.name===e})}function h(e){return v.find(function(t){return t.name===e})}function g(e){p(e)&&delete settings[e];for(var t=0;t<v.length;++t)if(v[t].name===e){v.splice(t,1),g(e);break}}var m=Util.toEnum({Header:0,Toggle:1,List:2,Range:3}),v=[];return Object.freeze(Object.defineProperties({},{Types:{value:m},init:{value:e},create:{value:t},save:{value:r},load:{value:n},clear:{value:a},reset:{value:i},forEach:{value:o},add:{value:s},addHeader:{value:u},addToggle:{value:l},addList:{value:c},addRange:{value:d},isEmpty:{value:f},has:{value:p},get:{value:h},delete:{value:g}}))}(),Story=function(){function e(){function e(e){if(e.tags.includesAny(n))throw new Error('starting passage "'+e.title+'" contains illegal tags; invalid: "'+e.tags.filter(function(e){return n.includes(e)}).sort().join('", "')+'"')}function t(e){if(a.includes(e.title)&&e.tags.includesAny(n))throw new Error('special passage "'+e.title+'" contains illegal tags; invalid: "'+e.tags.filter(function(e){return n.includes(e)}).sort().join('", "')+'"')}var n=["widget"],a=["PassageDone","PassageFooter","PassageHeader","PassageReady","StoryAuthor","StoryBanner","StoryCaption","StoryInit","StoryMenu","StoryShare","StorySubtitle"],i=jQuery("tw-storydata"),o=i.attr("startnode")||"";Config.passages.start=null,Config.debug=/\bdebug\b/.test(i.attr("options")),i.children("style").each(function(e){v.push(new Passage("tw-user-style-"+e,this))}),i.children("script").each(function(e){m.push(new Passage("tw-user-script-"+e,this))}),i.children('tw-passagedata:not([tags~="Twine.private"],[tags~="annotation"])').each(function(){var r=jQuery(this),n=r.attr("pid")||"",a=new Passage(r.attr("name"),this);n===o&&""!==o?(Config.passages.start=a.title,e(a),g[a.title]=a):a.tags.includes("widget")?y.push(a):(t(a),g[a.title]=a)}),w=i.attr("ifid"),r("undefined"),Config.saves.id=Story.domId}function t(){!function(){var e=document.createElement("style");new StyleWrapper(e).add(v.map(function(e){return e.text.trim()}).join("\n")),jQuery(e).appendTo(document.head).attr({id:"style-story",type:"text/css"})}();for(var e=0;e<m.length;++e)try{Scripting.evalJavaScript(m[e].text)}catch(t){console.error(t),Alert.error(m[e].title,"object"===(void 0===t?"undefined":_typeof(t))?t.message:t)}for(var t=0;t<y.length;++t)try{Wikifier.wikifyEval(y[t].processText())}catch(e){console.error(e),Alert.error(y[t].title,"object"===(void 0===e?"undefined":_typeof(e))?e.message:e)}}function r(e){if(null==e)throw new Error("story title must not be null or undefined");var t=Util.unescape(String(e)).trim();if(""===t)throw new Error("story title must not be empty or consist solely of whitespace");if(document.title=b=t,""===(k=Util.slugify(b)))if(""!==w)k=w;else for(var r=0,n=b.length;r<n;++r){var a=Util.charAndPosAt(b,r),i=a.char,o=a.start,s=a.end;k+=i.codePointAt(0).toString(16),r+=s-o}}function n(){return b}function a(){return k}function i(){return w}function o(e){if(!(e instanceof Passage))throw new TypeError("Story.add passage parameter must be an instance of Passage");var t=e.title;return!g.hasOwnProperty(t)&&(g[t]=e,!0)}function s(e){var t=void 0===e?"undefined":_typeof(e);switch(t){case"number":case"string":return g.hasOwnProperty(String(e));case"undefined":break;case"object":t=null===e?"null":"an object";break;default:t="a "+t}throw new TypeError("Story.has title parameter cannot be "+t)}function u(e){var t=void 0===e?"undefined":_typeof(e);switch(t){case"number":case"string":var r=String(e);return g.hasOwnProperty(r)?g[r]:new Passage(r||"(unknown)");case"undefined":break;case"object":t=null===e?"null":"an object";break;default:t="a "+t}throw new TypeError("Story.get title parameter cannot be "+t)}function l(){return Object.freeze(Object.assign({},g))}function c(){return Object.freeze(Array.from(m))}function d(){return Object.freeze(Array.from(v))}function f(){return Object.freeze(Array.from(y))}function p(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"title",n=[];return Object.keys(g).forEach(function(r){var a=g[r];"object"===_typeof(a[e])&&null!==a[e]?a[e]instanceof Array&&a[e].some(function(e){return Util.sameValueZero(e,t)})&&n.push(a):Util.sameValueZero(a[e],t)&&n.push(a)}),n.sort(function(e,t){return e[r]==t[r]?0:e[r]<t[r]?-1:1}),n}function h(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"title";if("function"!=typeof e)throw new TypeError("Story.lookupWith predicate parameter must be a function");var r=[];return Object.keys(g).forEach(function(t){var n=g[t];e(n)&&r.push(n)}),r.sort(function(e,r){return e[t]==r[t]?0:e[t]<r[t]?-1:1}),r}var g={},m=[],v=[],y=[],b="",w="",k="";return Object.freeze(Object.defineProperties({},{load:{value:e},init:{value:t},title:{get:n},domId:{get:a},ifId:{get:i},add:{value:o},has:{value:s},get:{value:u},getAllRegular:{value:l},getAllScript:{value:c},getAllStylesheet:{value:d},getAllWidget:{value:f},lookup:{value:p},lookupWith:{value:h}}))}(),UI=function(){function e(e,t){var r=t,n=Config.debug,a=Config.cleanupWikifierOutput;Config.debug=!1,Config.cleanupWikifierOutput=!1;try{null==r&&(r=document.createElement("ul"));var i=document.createDocumentFragment();new Wikifier(i,Story.get(e).processText().trim());var o=[].concat(_toConsumableArray(i.querySelectorAll(".error"))).map(function(e){return e.textContent.replace(errorPrologRegExp,"")});if(o.length>0)throw new Error(o.join("; "));for(;i.hasChildNodes();){var s=i.firstChild;if(s.nodeType===Node.ELEMENT_NODE&&"A"===s.nodeName.toUpperCase()){var u=document.createElement("li");r.appendChild(u),u.appendChild(s)}else i.removeChild(s)}}finally{Config.cleanupWikifierOutput=a,Config.debug=n}return r}function t(e){jQuery(Dialog.setup("Alert","alert")).append("<p>"+e+'</p><ul class="buttons"><li><button id="alert-ok" class="ui-close">'+L10n.get(["alertOk","ok"])+"</button></li></ul>");for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];Dialog.open.apply(Dialog,r)}function r(){u(),Dialog.open.apply(Dialog,arguments)}function n(){l(),Dialog.open.apply(Dialog,arguments)}function a(){c(),Dialog.open.apply(Dialog,arguments)}function i(){d(),Dialog.open.apply(Dialog,arguments)}function o(){f(),Dialog.open.apply(Dialog,arguments)}function s(){return jQuery(Dialog.setup(L10n.get("autoloadTitle"),"autoload")).append("<p>"+L10n.get("autoloadPrompt")+'</p><ul class="buttons"><li><button id="autoload-ok" class="ui-close">'+L10n.get(["autoloadOk","ok"])+'</button></li><li><button id="autoload-cancel" class="ui-close">'+L10n.get(["autoloadCancel","cancel"])+"</button></li></ul>"),jQuery(document).one("click.autoload",".ui-close",function(e){var t="autoload-ok"===e.target.id;jQuery(document).one(":dialogclosed",function(){t&&Save.autosave.load()||Engine.play(Config.passages.start)})}),!0}function u(){var e=document.createElement("ul");jQuery(Dialog.setup(L10n.get("jumptoTitle"),"jumpto list")).append(e);for(var t=State.expired.length,r=State.size-1;r>=0;--r)if(r!==State.activeIndex){var n=Story.get(State.history[r].title);n&&n.tags.includes("bookmark")&&jQuery(document.createElement("li")).append(jQuery(document.createElement("a")).ariaClick({one:!0},function(e){return function(){return jQuery(document).one(":dialogclosed",function(){return Engine.goTo(e)})}}(r)).addClass("ui-close").text(L10n.get("jumptoTurn")+" "+(t+r+1)+": "+n.description())).appendTo(e)}e.hasChildNodes()||jQuery(e).append("<li><a><em>"+L10n.get("jumptoUnavailable")+"</em></a></li>")}function l(){return jQuery(Dialog.setup(L10n.get("restartTitle"),"restart")).append("<p>"+L10n.get("restartPrompt")+'</p><ul class="buttons"><li><button id="restart-ok">'+L10n.get(["restartOk","ok"])+'</button></li><li><button id="restart-cancel" class="ui-close">'+L10n.get(["restartCancel","cancel"])+"</button></li></ul>").find("#restart-ok").ariaClick({one:!0},function(){jQuery(document).one(":dialogclosed",function(){return Engine.restart()}),Dialog.close()}),!0}function c(){function e(e,t,r,n){var a=jQuery(document.createElement("button")).attr("id","saves-"+e).html(r);return t&&a.addClass(t),n?a.ariaClick(n):a.ariaDisabled(!0),jQuery(document.createElement("li")).append(a)}var r=jQuery(Dialog.setup(L10n.get("savesTitle"),"saves")),n=Save.ok();if(n&&r.append(function(){function e(e,t,r,n,a){var i=jQuery(document.createElement("button")).attr("id","saves-"+e+"-"+n).addClass(e).html(r);return t&&i.addClass(t),a?"auto"===n?i.ariaClick({label:r+" "+L10n.get("savesLabelAuto")},function(){return a()}):i.ariaClick({label:r+" "+L10n.get("savesLabelSlot")+" "+(n+1)},function(){return a(n)}):i.ariaDisabled(!0),i}var t=Save.get(),r=jQuery(document.createElement("tbody"));if(Save.autosave.ok()){var n=jQuery(document.createElement("td")),a=jQuery(document.createElement("td")),i=jQuery(document.createElement("td")),o=jQuery(document.createElement("td"));jQuery(document.createElement("b")).attr({title:L10n.get("savesLabelAuto"),"aria-label":L10n.get("savesLabelAuto")}).text("A").appendTo(n),t.autosave?(a.append(e("load","ui-close",L10n.get("savesLabelLoad"),"auto",function(){jQuery(document).one(":dialogclosed",function(){return Save.autosave.load()})})),jQuery(document.createElement("div")).text(t.autosave.title).appendTo(i),jQuery(document.createElement("div")).addClass("datestamp").html(t.autosave.date?""+new Date(t.autosave.date).toLocaleString():"<em>"+L10n.get("savesUnknownDate")+"</em>").appendTo(i),o.append(e("delete",null,L10n.get("savesLabelDelete"),"auto",function(){Save.autosave.delete(),c()}))):(a.append(e("load",null,L10n.get("savesLabelLoad"),"auto")),i.addClass("empty").text("•  •  •"),o.append(e("delete",null,L10n.get("savesLabelDelete"),"auto"))),jQuery(document.createElement("tr")).append(n).append(a).append(i).append(o).appendTo(r)}for(var s=0,u=t.slots.length;s<u;++s){var l=jQuery(document.createElement("td")),d=jQuery(document.createElement("td")),f=jQuery(document.createElement("td")),p=jQuery(document.createElement("td"));l.append(document.createTextNode(s+1)),t.slots[s]?(d.append(e("load","ui-close",L10n.get("savesLabelLoad"),s,function(e){jQuery(document).one(":dialogclosed",function(){return Save.slots.load(e)})})),jQuery(document.createElement("div")).text(t.slots[s].title).appendTo(f),jQuery(document.createElement("div")).addClass("datestamp").html(t.slots[s].date?""+new Date(t.slots[s].date).toLocaleString():"<em>"+L10n.get("savesUnknownDate")+"</em>").appendTo(f),p.append(e("delete",null,L10n.get("savesLabelDelete"),s,function(e){Save.slots.delete(e),c()}))):(d.append(e("save","ui-close",L10n.get("savesLabelSave"),s,Save.slots.save)),f.addClass("empty").text("•  •  •"),p.append(e("delete",null,L10n.get("savesLabelDelete"),s))),jQuery(document.createElement("tr")).append(l).append(d).append(f).append(p).appendTo(r)}return jQuery(document.createElement("table")).attr("id","saves-list").append(r)}()),n||Has.fileAPI){var a=jQuery(document.createElement("ul")).addClass("buttons").appendTo(r);return Has.fileAPI&&(a.append(e("export","ui-close",L10n.get("savesLabelExport"),function(){return Save.export()})),a.append(e("import",null,L10n.get("savesLabelImport"),function(){return r.find("#saves-import-file").trigger("click")})),jQuery(document.createElement("input")).css({display:"block",visibility:"hidden",position:"fixed",left:"-9999px",top:"-9999px",width:"1px",height:"1px"}).attr({type:"file",id:"saves-import-file",tabindex:-1,"aria-hidden":!0}).on("change",function(e){jQuery(document).one(":dialogclosed",function(){return Save.import(e)}),Dialog.close()}).appendTo(r)),n&&a.append(e("clear",null,L10n.get("savesLabelClear"),Save.autosave.has()||!Save.slots.isEmpty()?function(){Save.clear(),c()}:null)),!0}return t(L10n.get("savesIncapable")),!1}function d(){var e=jQuery(Dialog.setup(L10n.get("settingsTitle"),"settings"));return Setting.forEach(function(t){if(t.type===Setting.Types.Header){var r=t.name,n=Util.slugify(r),a=jQuery(document.createElement("div")),i=jQuery(document.createElement("h2"));return a.attr("id","header-body-"+n).append(i).appendTo(e),i.attr("id","header-heading-"+n).wiki(r),void(t.desc&&jQuery(document.createElement("p")).attr("id","header-desc-"+n).wiki(t.desc).appendTo(a))}var o=t.name,s=Util.slugify(o),u=jQuery(document.createElement("div")),l=jQuery(document.createElement("label")),c=jQuery(document.createElement("div")),d=void 0;switch(jQuery(document.createElement("div")).append(l).append(c).appendTo(u),t.desc&&jQuery(document.createElement("p")).attr("id","setting-desc-"+s).wiki(t.desc).appendTo(u),l.attr({id:"setting-label-"+s,for:"setting-control-"+s}).wiki(t.label),null==settings[o]&&(settings[o]=t.default),t.type){case Setting.Types.Toggle:d=jQuery(document.createElement("button")),settings[o]?d.addClass("enabled").text(L10n.get("settingsOn")):d.text(L10n.get("settingsOff")),d.ariaClick(function(){settings[o]?(jQuery(this).removeClass("enabled").text(L10n.get("settingsOff")),settings[o]=!1):(jQuery(this).addClass("enabled").text(L10n.get("settingsOn")),settings[o]=!0),Setting.save(),t.hasOwnProperty("onChange")&&t.onChange.call({name:o,value:settings[o],default:t.default})});break;case Setting.Types.List:d=jQuery(document.createElement("select"));for(var f=0,p=t.list.length;f<p;++f)jQuery(document.createElement("option")).val(f).text(t.list[f]).appendTo(d);d.val(t.list.indexOf(settings[o])).attr("tabindex",0).on("change",function(){settings[o]=t.list[Number(this.value)],Setting.save(),t.hasOwnProperty("onChange")&&t.onChange.call({name:o,value:settings[o],default:t.default,list:t.list})});break;case Setting.Types.Range:d=jQuery(document.createElement("input")),d.attr({type:"range",min:t.min,max:t.max,step:t.step,value:settings[o],tabindex:0}).on("change input",function(){settings[o]=Number(this.value),Setting.save(),t.hasOwnProperty("onChange")&&t.onChange.call({name:o,value:settings[o],default:t.default,min:t.min,max:t.max,step:t.step})}).on("keypress",function(e){13===e.which&&(e.preventDefault(),d.trigger("change"))})}d.attr("id","setting-control-"+s).appendTo(c),u.attr("id","setting-body-"+s).appendTo(e)}),e.append('<ul class="buttons"><li><button id="settings-ok" class="ui-close">'+L10n.get(["settingsOk","ok"])+'</button></li><li><button id="settings-reset">'+L10n.get("settingsReset")+"</button></li></ul>").find("#settings-reset").ariaClick({one:!0},function(){jQuery(document).one(":dialogclosed",function(){Setting.reset(),window.location.reload()}),Dialog.close()}),!0}function f(){try{jQuery(Dialog.setup(L10n.get("shareTitle"),"share list")).append(e("StoryShare"))}catch(e){return console.error(e),Alert.error("StoryShare",e.message),!1}return!0}return Object.freeze(Object.defineProperties({},{assembleLinkList:{value:e},alert:{value:t},jumpto:{value:r},restart:{value:n},saves:{value:a},settings:{value:i},share:{value:o},buildAutoload:{value:s},buildJumpto:{value:u},buildRestart:{value:l},buildSaves:{value:c},buildSettings:{value:d},buildShare:{value:f},stow:{value:function(){return UIBar.stow()}},unstow:{value:function(){return UIBar.unstow()}},setStoryElements:{value:function(){return UIBar.update()}},isOpen:{value:function(){return Dialog.isOpen.apply(Dialog,arguments)}},body:{value:function(){return Dialog.body()}},setup:{value:function(){return Dialog.setup.apply(Dialog,arguments)}},addClickHandler:{value:function(){return Dialog.addClickHandler.apply(Dialog,arguments)}},open:{value:function(){return Dialog.open.apply(Dialog,arguments)}},close:{value:function(){return Dialog.close.apply(Dialog,arguments)}},resize:{value:function(){return Dialog.resize()}},buildDialogAutoload:{value:s},buildDialogJumpto:{value:u},buildDialogRestart:{value:l},buildDialogSaves:{value:c},buildDialogSettings:{value:d},buildDialogShare:{value:f},buildLinkListFromPassage:{value:e}}))}(),UIBar=function(){function e(){c&&(c.hide(),jQuery(document).off(".ui-bar"),jQuery(document.head).find("#style-ui-bar").remove(),c.remove(),c=null)}function t(){return c&&c.hide(),this}function r(){if(!document.getElementById("ui-bar")){var e=function(){var e=L10n.get("uiBarToggle"),t=L10n.get("uiBarBackward"),r=L10n.get("uiBarJumpto"),n=L10n.get("uiBarForward");return jQuery(document.createDocumentFragment()).append('<div id="ui-bar"><div id="ui-bar-tray"><button id="ui-bar-toggle" tabindex="0" title="'+e+'" aria-label="'+e+'"></button><div id="ui-bar-history"><button id="history-backward" tabindex="0" title="'+t+'" aria-label="'+t+'"></button><button id="history-jumpto" tabindex="0" title="'+r+'" aria-label="'+r+'"></button><button id="history-forward" tabindex="0" title="'+n+'" aria-label="'+n+'"></button></div></div><div id="ui-bar-body"><header id="title" role="banner"><div id="story-banner"></div><h1 id="story-title"></h1><div id="story-subtitle"></div><div id="story-title-separator"></div><p id="story-author"></p></header><div id="story-caption"></div><nav id="menu" role="navigation"><ul id="menu-story"></ul><ul id="menu-core"><li id="menu-item-saves"><a tabindex="0">'+L10n.get("savesTitle")+'</a></li><li id="menu-item-settings"><a tabindex="0">'+L10n.get("settingsTitle")+'</a></li><li id="menu-item-restart"><a tabindex="0">'+L10n.get("restartTitle")+'</a></li><li id="menu-item-share"><a tabindex="0">'+L10n.get("shareTitle")+"</a></li></ul></nav></div></div>")}();c=jQuery(e.find("#ui-bar").get(0)),e.insertBefore("body>script#script-sugarcube"),jQuery(document).on(":historyupdate.ui-bar",function(e,t){return function(){e.ariaDisabled(State.length<2),t.ariaDisabled(State.length===State.size)}}(jQuery("#history-backward"),jQuery("#history-forward")))}}function n(){return c&&"none"===c.css("display")}function a(){return c&&c.hasClass("stowed")}function i(){return c&&c.show(),this}function o(){c&&(("boolean"==typeof Config.ui.stowBarInitially?Config.ui.stowBarInitially:jQuery(window).width()<=Config.ui.stowBarInitially)&&s(!0),jQuery("#ui-bar-toggle").ariaClick({label:L10n.get("uiBarToggle")},function(){return c.toggleClass("stowed")}),Config.history.controls?(jQuery("#history-backward").ariaDisabled(State.length<2).ariaClick({label:L10n.get("uiBarBackward")},function(){return Engine.backward()}),Story.lookup("tags","bookmark").length>0?jQuery("#history-jumpto").ariaClick({label:L10n.get("uiBarJumpto")},function(){return UI.jumpto()}):jQuery("#history-jumpto").remove(),jQuery("#history-forward").ariaDisabled(State.length===State.size).ariaClick({label:L10n.get("uiBarForward")},function(){return Engine.forward()})):jQuery("#ui-bar-history").remove(),Story.has("StoryDisplayTitle")?setDisplayTitle(Story.get("StoryDisplayTitle").processText()):jQuery("#story-title").text(Story.title),Story.has("StoryCaption")||jQuery("#story-caption").remove(),Story.has("StoryMenu")||jQuery("#menu-story").remove(),Config.ui.updateStoryElements||l(),jQuery("#menu-item-saves a").ariaClick(function(e){e.preventDefault(),UI.buildSaves(),Dialog.open()}).text(L10n.get("savesTitle")),Setting.isEmpty()?jQuery("#menu-item-settings").remove():jQuery("#menu-item-settings a").ariaClick(function(e){e.preventDefault(),UI.buildSettings(),Dialog.open()}).text(L10n.get("settingsTitle")),jQuery("#menu-item-restart a").ariaClick(function(e){e.preventDefault(),UI.buildRestart(),Dialog.open()}).text(L10n.get("restartTitle")),Story.has("StoryShare")?jQuery("#menu-item-share a").ariaClick(function(e){e.preventDefault(),UI.buildShare(),Dialog.open()}).text(L10n.get("shareTitle")):jQuery("#menu-item-share").remove())}function s(e){if(c&&!c.hasClass("stowed")){var t=void 0;e&&(t=jQuery("#story"),t.addClass("no-transition"),c.addClass("no-transition")),c.addClass("stowed"),e&&setTimeout(function(){t.removeClass("no-transition"),c.removeClass("no-transition")},Engine.minDomActionDelay)}return this}function u(e){if(c&&c.hasClass("stowed")){var t=void 0;e&&(t=jQuery("#story"),t.addClass("no-transition"),c.addClass("no-transition")),c.removeClass("stowed"),e&&setTimeout(function(){t.removeClass("no-transition"),c.removeClass("no-transition")},Engine.minDomActionDelay)}return this}function l(){if(c){setPageElement("story-banner","StoryBanner"),Story.has("StoryDisplayTitle")&&setDisplayTitle(Story.get("StoryDisplayTitle").processText()),setPageElement("story-subtitle","StorySubtitle"),setPageElement("story-author","StoryAuthor"),setPageElement("story-caption","StoryCaption");var e=document.getElementById("menu-story");if(null!==e&&(jQuery(e).empty(),Story.has("StoryMenu")))try{UI.assembleLinkList("StoryMenu",e)}catch(e){console.error(e),Alert.error("StoryMenu",e.message)}}}var c=null;return Object.freeze(Object.defineProperties({},{destroy:{value:e},hide:{value:t},init:{value:r},isHidden:{value:n},isStowed:{value:a},show:{value:i},start:{value:o},stow:{value:s},unstow:{value:u},update:{value:l},setStoryElements:{value:l}}))}(),DebugBar=function(){function e(){var e=L10n.get("debugBarToggle"),t=L10n.get("debugBarAddWatch"),r=L10n.get("debugBarWatchAll"),n=L10n.get("debugBarWatchNone"),a=L10n.get("debugBarWatchToggle"),l=L10n.get("debugBarViewsToggle");jQuery(document.createDocumentFragment()).append('<div id="debug-bar"><div id="debug-bar-watch"><div>'+L10n.get("debugBarNoWatches")+'</div>></div><div><button id="debug-bar-watch-toggle" tabindex="0" title="'+a+'" aria-label="'+a+'">'+L10n.get("debugBarLabelWatch")+'</button><label id="debug-bar-watch-label" for="debug-bar-watch-input">'+L10n.get("debugBarLabelAdd")+'</label><input id="debug-bar-watch-input" name="debug-bar-watch-input" type="text" list="debug-bar-watch-list" tabindex="0"><datalist id="debug-bar-watch-list" aria-hidden="true" hidden="hidden"></datalist><button id="debug-bar-watch-add" tabindex="0" title="'+t+'" aria-label="'+t+'"></button><button id="debug-bar-watch-all" tabindex="0" title="'+r+'" aria-label="'+r+'"></button><button id="debug-bar-watch-none" tabindex="0" title="'+n+'" aria-label="'+n+'"></button></div><div><button id="debug-bar-views-toggle" tabindex="0" title="'+l+'" aria-label="'+l+'">'+L10n.get("debugBarLabelViews")+'</button><label id="debug-bar-turn-label" for="debug-bar-turn-select">'+L10n.get("debugBarLabelTurn")+'</label><select id="debug-bar-turn-select" tabindex="0"></select></div><button id="debug-bar-toggle" tabindex="0" title="'+e+'" aria-label="'+e+'"></button></div><div id="debug-bar-hint"></div>').appendTo("body"),P=jQuery("#debug-bar"),_=jQuery(P.find("#debug-bar-watch").get(0)),N=jQuery(P.find("#debug-bar-watch-list").get(0)),I=jQuery(P.find("#debug-bar-turn-select").get(0));var c=jQuery(P.find("#debug-bar-toggle").get(0)),d=jQuery(P.find("#debug-bar-watch-toggle").get(0)),f=jQuery(P.find("#debug-bar-watch-input").get(0)),h=jQuery(P.find("#debug-bar-watch-add").get(0)),g=jQuery(P.find("#debug-bar-watch-all").get(0)),m=jQuery(P.find("#debug-bar-watch-none").get(0)),v=jQuery(P.find("#debug-bar-views-toggle").get(0));c.ariaClick(i),d.ariaClick(p),f.on(":addwatch",function(){o(this.value.trim()),this.value=""}).on("keypress",function(e){13===e.which&&(e.preventDefault(),f.trigger(":addwatch"))}),h.ariaClick(function(){return f.trigger(":addwatch")}),g.ariaClick(s),m.ariaClick(u),I.on("change",function(){Engine.goTo(Number(this.value))}),v.ariaClick(function(){DebugView.toggle(),k()}),jQuery(document).on(":historyupdate.debug-bar",x).on(":passageend.debug-bar",function(){E(),j()}).on(":enginerestart.debug-bar",y),b()||DebugView.enable()}function t(){w(),S(),x(),E(),j()}function r(){return D}function n(){h(),D=!0,k()}function a(){g(),D=!1,k()}function i(){D?a():n()}function o(e){T.test(e)&&(A.pushUnique(e),A.sort(),E(),j(),k())}function s(){Object.keys(State.variables).map(function(e){return A.pushUnique("$"+e)}),Object.keys(State.temporary).map(function(e){return A.pushUnique("_"+e)}),A.sort(),E(),j(),k()}function u(){for(var e=A.length-1;e>=0;--e)A.pop();E(),j(),k()}function l(e){A.delete(e),E(),j(),k()}function c(){m(),k()}function d(){v(),k()}function f(){return!_.attr("hidden")}function p(){_.attr("hidden")?d():c()}function h(){P.css("right","-"+P.outerWidth()+"px")}function g(){P.css("right",0)}function m(){_.attr({"aria-hidden":!0,hidden:"hidden"})}function v(){_.removeAttr("aria-hidden hidden")}function y(){session.delete("debugState")}function b(){return session.has("debugState")}function w(){if(!b())return!1;var e=session.get("debugState");return D=e.stowed,A.push.apply(A,_toConsumableArray(e.watchList)),e.watchEnabled?v():m(),e.viewsEnabled?DebugView.enable():DebugView.disable(),!0}function k(){session.set("debugState",{stowed:D,watchList:A,watchEnabled:f(),viewsEnabled:DebugView.isEnabled()})}function S(){D?n():a()}function E(){if(0===A.length)return void _.empty().append("<div>"+L10n.get("debugBarNoWatches")+"</div>");for(var e=L10n.get("debugBarDeleteWatch"),t=jQuery(document.createElement("table")),r=jQuery(document.createElement("tbody")),n=0,a=A.length;n<a;++n)!function(t,n){var a=A[t],i=a.slice(1),o="$"===a[0]?State.variables:State.temporary,s=jQuery(document.createElement("tr")),u=jQuery(document.createElement("button")),c=jQuery(document.createElement("code"));u.addClass("watch-delete").attr("data-name",a).ariaClick({one:!0,label:e},function(){return l(a)}),c.text(O(o[i])),jQuery(document.createElement("td")).append(u).appendTo(s),jQuery(document.createElement("td")).text(a).appendTo(s),jQuery(document.createElement("td")).append(c).appendTo(s),s.appendTo(r)}(n);t.append(r),_.empty().append(t)}function j(){var e=Object.keys(State.variables),t=Object.keys(State.temporary);if(0===e.length&&0===t.length)return void N.empty();var r=[].concat(_toConsumableArray(e.map(function(e){return"$"+e})),_toConsumableArray(t.map(function(e){return"_"+e}))).sort(),n=document.createDocumentFragment();r.delete(A);for(var a=0,i=r.length;a<i;++a)jQuery(document.createElement("option")).val(r[a]).appendTo(n);N.empty().append(n)}function x(){for(var e=State.size,t=State.expired.length,r=document.createDocumentFragment(),n=0;n<e;++n)jQuery(document.createElement("option")).val(n).text(t+n+1+". "+Util.escape(State.history[n].title)).appendTo(r);I.empty().ariaDisabled(e<2).append(r).val(State.activeIndex)}function O(e){if(null===e)return"null";switch(void 0===e?"undefined":_typeof(e)){case"number":if(Number.isNaN(e))return"NaN";if(!Number.isFinite(e))return"Infinity";case"boolean":case"symbol":case"undefined":return String(e);case"string":return JSON.stringify(e);case"function":return"Function"}var t=Util.toStringTag(e);if("Date"===t)return"Date {"+e.toLocaleString()+"}";if("RegExp"===t)return"RegExp "+e.toString();var r=[];if(e instanceof Array||e instanceof Set){for(var n=e instanceof Array?e:Array.from(e),a=0,i=n.length;a<i;++a)r.push(n.hasOwnProperty(a)?O(n[a]):"<empty>");return Object.keys(n).filter(function(e){return!C.test(e)}).forEach(function(e){return r.push(O(e)+": "+O(n[e]))}),t+"("+n.length+") ["+r.join(", ")+"]"}return e instanceof Map?(e.forEach(function(e,t){return r.push(O(t)+" → "+O(e))}),t+"("+e.size+") {"+r.join(", ")+"}"):(Object.keys(e).forEach(function(t){return r.push(O(t)+": "+O(e[t]))}),t+" {"+r.join(", ")+"}")}var T=new RegExp("^"+Patterns.variable+"$"),C=/^\d+$/,A=[],P=null,_=null,N=null,I=null,D=!0;return Object.freeze(Object.defineProperties({},{init:{value:e},isStowed:{value:r},start:{value:t},stow:{value:n},toggle:{value:i},unstow:{value:a},watch:{value:Object.freeze(Object.defineProperties({},{add:{value:o},all:{value:s},clear:{value:u},delete:{value:l},disable:{value:c},enable:{value:d},isEnabled:{value:f},toggle:{value:p}}))}}))}(),LoadScreen=function(){function e(){jQuery(document).on("readystatechange.SugarCube",function(){o.size>0||("complete"===document.readyState?"loading"===jQuery(document.documentElement).attr("data-init")&&(Config.loadDelay>0?setTimeout(function(){0===o.size&&r()},Math.max(Engine.minDomActionDelay,Config.loadDelay)):r()):n())})}function t(){jQuery(document).off("readystatechange.SugarCube"),o.clear(),r()}function r(){jQuery(document.documentElement).removeAttr("data-init")}function n(){jQuery(document.documentElement).attr("data-init","loading")}function a(){return++s,o.add(s),n(),s}function i(e){if(null==e)throw new Error("LoadScreen.unlock called with a null or undefined ID");o.has(e)&&o.delete(e),0===o.size&&jQuery(document).trigger("readystatechange")}var o=new Set,s=0;return Object.freeze(Object.defineProperties({},{init:{value:e},clear:{value:t},hide:{value:r},show:{value:n},lock:{value:a},unlock:{value:i}}))}(),version=Object.freeze({title:"SugarCube",major:2,minor:31,patch:1,prerelease:null,build:9281,date:new Date("2020-04-06T21:22:52.785Z"),extensions:{},toString:function(){var e=this.prerelease?"-"+this.prerelease:"";return this.major+"."+this.minor+"."+this.patch+e+"+"+this.build},short:function(){var e=this.prerelease?"-"+this.prerelease:"";return this.title+" (v"+this.major+"."+this.minor+"."+this.patch+e+")"},long:function(){return this.title+" v"+this.toString()+" ("+this.date.toUTCString()+")"}}),TempState={},macros={},postdisplay={},postrender={},predisplay={},prehistory={},prerender={},session=null,settings={},setup={},storage=null,browser=Browser,config=Config,has=Has,History=State,state=State,tale=Story,TempVariables=State.temporary;window.SugarCube={},jQuery(function(){try{var e=LoadScreen.lock();LoadScreen.init(),document.normalize&&document.normalize(),Story.load(),storage=SimpleStore.create(Story.domId,!0),session=SimpleStore.create(Story.domId,!1),Dialog.init(),UIBar.init(),
119
+ var i=r.desc.trim();""!==i&&(a.desc=i)}switch(e){case m.Header:break;case m.Toggle:a.default=!!r.default;break;case m.List:if(!r.hasOwnProperty("list"))throw new Error("no list specified");if(!Array.isArray(r.list))throw new TypeError("list must be an array");if(0===r.list.length)throw new Error("list must not be empty");if(a.list=Object.freeze(r.list),null==r.default)a.default=r.list[0];else{var o=r.list.indexOf(r.default);if(-1===o)throw new Error("list does not contain default");a.default=r.list[o]}break;case m.Range:if(!r.hasOwnProperty("min"))throw new Error("no min specified");if("number"!=typeof r.min||Number.isNaN(r.min)||!Number.isFinite(r.min))throw new TypeError("min must be a finite number");if(!r.hasOwnProperty("max"))throw new Error("no max specified");if("number"!=typeof r.max||Number.isNaN(r.max)||!Number.isFinite(r.max))throw new TypeError("max must be a finite number");if(!r.hasOwnProperty("step"))throw new Error("no step specified");if("number"!=typeof r.step||Number.isNaN(r.step)||!Number.isFinite(r.step)||r.step<=0)throw new TypeError("step must be a finite number greater than zero");var s=function(){var e=String(r.step),t=e.lastIndexOf(".");return-1===t?0:e.length-t-1}();if(function(e){if(s>0){var t=Number(r.min+"e"+s),n=Number(r.step+"e"+s),a=Number(e+"e"+s)-t;return Number(a-a%n+t+"e-"+s)}var i=e-r.min;return i-i%r.step+r.min}(r.max)!==r.max)throw new RangeError("max ("+r.max+") is not a multiple of the step ("+r.step+") plus the min ("+r.min+")");if(a.max=r.max,a.min=r.min,a.step=r.step,null==r.default)a.default=r.max;else{if("number"!=typeof r.default||Number.isNaN(r.default)||!Number.isFinite(r.default))throw new TypeError("default must be a finite number");if(r.default<r.min)throw new RangeError("default ("+r.default+") is less than min ("+r.min+")");if(r.default>r.max)throw new RangeError("default ("+r.default+") is greater than max ("+r.max+")");a.default=r.default}break;default:throw new Error("unknown Setting type: "+e)}"function"==typeof r.onInit&&(a.onInit=Object.freeze(r.onInit)),"function"==typeof r.onChange&&(a.onChange=Object.freeze(r.onChange)),v.push(Object.freeze(a))}function u(e,t){s(m.Header,e,{desc:t})}function l(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s.apply(undefined,[m.Toggle].concat(t))}function c(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s.apply(undefined,[m.List].concat(t))}function d(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s.apply(undefined,[m.Range].concat(t))}function f(){return 0===v.length}function p(e){return v.some(function(t){return t.name===e})}function h(e){return v.find(function(t){return t.name===e})}function g(e){p(e)&&delete settings[e];for(var t=0;t<v.length;++t)if(v[t].name===e){v.splice(t,1),g(e);break}}var m=Util.toEnum({Header:0,Toggle:1,List:2,Range:3}),v=[];return Object.freeze(Object.defineProperties({},{Types:{value:m},init:{value:e},create:{value:t},save:{value:r},load:{value:n},clear:{value:a},reset:{value:i},forEach:{value:o},add:{value:s},addHeader:{value:u},addToggle:{value:l},addList:{value:c},addRange:{value:d},isEmpty:{value:f},has:{value:p},get:{value:h},delete:{value:g}}))}(),Story=function(){function e(){function e(e){if(e.tags.includesAny(n))throw new Error('starting passage "'+e.title+'" contains illegal tags; invalid: "'+e.tags.filter(function(e){return n.includes(e)}).sort().join('", "')+'"')}function t(e){if(a.includes(e.title)&&e.tags.includesAny(n))throw new Error('special passage "'+e.title+'" contains illegal tags; invalid: "'+e.tags.filter(function(e){return n.includes(e)}).sort().join('", "')+'"')}var n=["widget"],a=["PassageDone","PassageFooter","PassageHeader","PassageReady","StoryAuthor","StoryBanner","StoryCaption","StoryInit","StoryMenu","StoryShare","StorySubtitle"],i=jQuery("tw-storydata"),o=i.attr("startnode")||"";Config.passages.start=null,Config.debug=/\bdebug\b/.test(i.attr("options")),i.children("style").each(function(e){v.push(new Passage("tw-user-style-"+e,this))}),i.children("script").each(function(e){m.push(new Passage("tw-user-script-"+e,this))}),i.children('tw-passagedata:not([tags~="Twine.private"],[tags~="annotation"])').each(function(){var r=jQuery(this),n=r.attr("pid")||"",a=new Passage(r.attr("name"),this);n===o&&""!==o?(Config.passages.start=a.title,e(a),g[a.title]=a):a.tags.includes("widget")?y.push(a):(t(a),g[a.title]=a)}),w=i.attr("ifid"),r("twineExample"),Config.saves.id=Story.domId}function t(){!function(){var e=document.createElement("style");new StyleWrapper(e).add(v.map(function(e){return e.text.trim()}).join("\n")),jQuery(e).appendTo(document.head).attr({id:"style-story",type:"text/css"})}();for(var e=0;e<m.length;++e)try{Scripting.evalJavaScript(m[e].text)}catch(t){console.error(t),Alert.error(m[e].title,"object"===(void 0===t?"undefined":_typeof(t))?t.message:t)}for(var t=0;t<y.length;++t)try{Wikifier.wikifyEval(y[t].processText())}catch(e){console.error(e),Alert.error(y[t].title,"object"===(void 0===e?"undefined":_typeof(e))?e.message:e)}}function r(e){if(null==e)throw new Error("story title must not be null or undefined");var t=Util.unescape(String(e)).trim();if(""===t)throw new Error("story title must not be empty or consist solely of whitespace");if(document.title=b=t,""===(k=Util.slugify(b)))if(""!==w)k=w;else for(var r=0,n=b.length;r<n;++r){var a=Util.charAndPosAt(b,r),i=a.char,o=a.start,s=a.end;k+=i.codePointAt(0).toString(16),r+=s-o}}function n(){return b}function a(){return k}function i(){return w}function o(e){if(!(e instanceof Passage))throw new TypeError("Story.add passage parameter must be an instance of Passage");var t=e.title;return!g.hasOwnProperty(t)&&(g[t]=e,!0)}function s(e){var t=void 0===e?"undefined":_typeof(e);switch(t){case"number":case"string":return g.hasOwnProperty(String(e));case"undefined":break;case"object":t=null===e?"null":"an object";break;default:t="a "+t}throw new TypeError("Story.has title parameter cannot be "+t)}function u(e){var t=void 0===e?"undefined":_typeof(e);switch(t){case"number":case"string":var r=String(e);return g.hasOwnProperty(r)?g[r]:new Passage(r||"(unknown)");case"undefined":break;case"object":t=null===e?"null":"an object";break;default:t="a "+t}throw new TypeError("Story.get title parameter cannot be "+t)}function l(){return Object.freeze(Object.assign({},g))}function c(){return Object.freeze(Array.from(m))}function d(){return Object.freeze(Array.from(v))}function f(){return Object.freeze(Array.from(y))}function p(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"title",n=[];return Object.keys(g).forEach(function(r){var a=g[r];"object"===_typeof(a[e])&&null!==a[e]?a[e]instanceof Array&&a[e].some(function(e){return Util.sameValueZero(e,t)})&&n.push(a):Util.sameValueZero(a[e],t)&&n.push(a)}),n.sort(function(e,t){return e[r]==t[r]?0:e[r]<t[r]?-1:1}),n}function h(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"title";if("function"!=typeof e)throw new TypeError("Story.lookupWith predicate parameter must be a function");var r=[];return Object.keys(g).forEach(function(t){var n=g[t];e(n)&&r.push(n)}),r.sort(function(e,r){return e[t]==r[t]?0:e[t]<r[t]?-1:1}),r}var g={},m=[],v=[],y=[],b="",w="",k="";return Object.freeze(Object.defineProperties({},{load:{value:e},init:{value:t},title:{get:n},domId:{get:a},ifId:{get:i},add:{value:o},has:{value:s},get:{value:u},getAllRegular:{value:l},getAllScript:{value:c},getAllStylesheet:{value:d},getAllWidget:{value:f},lookup:{value:p},lookupWith:{value:h}}))}(),UI=function(){function e(e,t){var r=t,n=Config.debug,a=Config.cleanupWikifierOutput;Config.debug=!1,Config.cleanupWikifierOutput=!1;try{null==r&&(r=document.createElement("ul"));var i=document.createDocumentFragment();new Wikifier(i,Story.get(e).processText().trim());var o=[].concat(_toConsumableArray(i.querySelectorAll(".error"))).map(function(e){return e.textContent.replace(errorPrologRegExp,"")});if(o.length>0)throw new Error(o.join("; "));for(;i.hasChildNodes();){var s=i.firstChild;if(s.nodeType===Node.ELEMENT_NODE&&"A"===s.nodeName.toUpperCase()){var u=document.createElement("li");r.appendChild(u),u.appendChild(s)}else i.removeChild(s)}}finally{Config.cleanupWikifierOutput=a,Config.debug=n}return r}function t(e){jQuery(Dialog.setup("Alert","alert")).append("<p>"+e+'</p><ul class="buttons"><li><button id="alert-ok" class="ui-close">'+L10n.get(["alertOk","ok"])+"</button></li></ul>");for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];Dialog.open.apply(Dialog,r)}function r(){u(),Dialog.open.apply(Dialog,arguments)}function n(){l(),Dialog.open.apply(Dialog,arguments)}function a(){c(),Dialog.open.apply(Dialog,arguments)}function i(){d(),Dialog.open.apply(Dialog,arguments)}function o(){f(),Dialog.open.apply(Dialog,arguments)}function s(){return jQuery(Dialog.setup(L10n.get("autoloadTitle"),"autoload")).append("<p>"+L10n.get("autoloadPrompt")+'</p><ul class="buttons"><li><button id="autoload-ok" class="ui-close">'+L10n.get(["autoloadOk","ok"])+'</button></li><li><button id="autoload-cancel" class="ui-close">'+L10n.get(["autoloadCancel","cancel"])+"</button></li></ul>"),jQuery(document).one("click.autoload",".ui-close",function(e){var t="autoload-ok"===e.target.id;jQuery(document).one(":dialogclosed",function(){t&&Save.autosave.load()||Engine.play(Config.passages.start)})}),!0}function u(){var e=document.createElement("ul");jQuery(Dialog.setup(L10n.get("jumptoTitle"),"jumpto list")).append(e);for(var t=State.expired.length,r=State.size-1;r>=0;--r)if(r!==State.activeIndex){var n=Story.get(State.history[r].title);n&&n.tags.includes("bookmark")&&jQuery(document.createElement("li")).append(jQuery(document.createElement("a")).ariaClick({one:!0},function(e){return function(){return jQuery(document).one(":dialogclosed",function(){return Engine.goTo(e)})}}(r)).addClass("ui-close").text(L10n.get("jumptoTurn")+" "+(t+r+1)+": "+n.description())).appendTo(e)}e.hasChildNodes()||jQuery(e).append("<li><a><em>"+L10n.get("jumptoUnavailable")+"</em></a></li>")}function l(){return jQuery(Dialog.setup(L10n.get("restartTitle"),"restart")).append("<p>"+L10n.get("restartPrompt")+'</p><ul class="buttons"><li><button id="restart-ok">'+L10n.get(["restartOk","ok"])+'</button></li><li><button id="restart-cancel" class="ui-close">'+L10n.get(["restartCancel","cancel"])+"</button></li></ul>").find("#restart-ok").ariaClick({one:!0},function(){jQuery(document).one(":dialogclosed",function(){return Engine.restart()}),Dialog.close()}),!0}function c(){function e(e,t,r,n){var a=jQuery(document.createElement("button")).attr("id","saves-"+e).html(r);return t&&a.addClass(t),n?a.ariaClick(n):a.ariaDisabled(!0),jQuery(document.createElement("li")).append(a)}var r=jQuery(Dialog.setup(L10n.get("savesTitle"),"saves")),n=Save.ok();if(n&&r.append(function(){function e(e,t,r,n,a){var i=jQuery(document.createElement("button")).attr("id","saves-"+e+"-"+n).addClass(e).html(r);return t&&i.addClass(t),a?"auto"===n?i.ariaClick({label:r+" "+L10n.get("savesLabelAuto")},function(){return a()}):i.ariaClick({label:r+" "+L10n.get("savesLabelSlot")+" "+(n+1)},function(){return a(n)}):i.ariaDisabled(!0),i}var t=Save.get(),r=jQuery(document.createElement("tbody"));if(Save.autosave.ok()){var n=jQuery(document.createElement("td")),a=jQuery(document.createElement("td")),i=jQuery(document.createElement("td")),o=jQuery(document.createElement("td"));jQuery(document.createElement("b")).attr({title:L10n.get("savesLabelAuto"),"aria-label":L10n.get("savesLabelAuto")}).text("A").appendTo(n),t.autosave?(a.append(e("load","ui-close",L10n.get("savesLabelLoad"),"auto",function(){jQuery(document).one(":dialogclosed",function(){return Save.autosave.load()})})),jQuery(document.createElement("div")).text(t.autosave.title).appendTo(i),jQuery(document.createElement("div")).addClass("datestamp").html(t.autosave.date?""+new Date(t.autosave.date).toLocaleString():"<em>"+L10n.get("savesUnknownDate")+"</em>").appendTo(i),o.append(e("delete",null,L10n.get("savesLabelDelete"),"auto",function(){Save.autosave.delete(),c()}))):(a.append(e("load",null,L10n.get("savesLabelLoad"),"auto")),i.addClass("empty").text("•  •  •"),o.append(e("delete",null,L10n.get("savesLabelDelete"),"auto"))),jQuery(document.createElement("tr")).append(n).append(a).append(i).append(o).appendTo(r)}for(var s=0,u=t.slots.length;s<u;++s){var l=jQuery(document.createElement("td")),d=jQuery(document.createElement("td")),f=jQuery(document.createElement("td")),p=jQuery(document.createElement("td"));l.append(document.createTextNode(s+1)),t.slots[s]?(d.append(e("load","ui-close",L10n.get("savesLabelLoad"),s,function(e){jQuery(document).one(":dialogclosed",function(){return Save.slots.load(e)})})),jQuery(document.createElement("div")).text(t.slots[s].title).appendTo(f),jQuery(document.createElement("div")).addClass("datestamp").html(t.slots[s].date?""+new Date(t.slots[s].date).toLocaleString():"<em>"+L10n.get("savesUnknownDate")+"</em>").appendTo(f),p.append(e("delete",null,L10n.get("savesLabelDelete"),s,function(e){Save.slots.delete(e),c()}))):(d.append(e("save","ui-close",L10n.get("savesLabelSave"),s,Save.slots.save)),f.addClass("empty").text("•  •  •"),p.append(e("delete",null,L10n.get("savesLabelDelete"),s))),jQuery(document.createElement("tr")).append(l).append(d).append(f).append(p).appendTo(r)}return jQuery(document.createElement("table")).attr("id","saves-list").append(r)}()),n||Has.fileAPI){var a=jQuery(document.createElement("ul")).addClass("buttons").appendTo(r);return Has.fileAPI&&(a.append(e("export","ui-close",L10n.get("savesLabelExport"),function(){return Save.export()})),a.append(e("import",null,L10n.get("savesLabelImport"),function(){return r.find("#saves-import-file").trigger("click")})),jQuery(document.createElement("input")).css({display:"block",visibility:"hidden",position:"fixed",left:"-9999px",top:"-9999px",width:"1px",height:"1px"}).attr({type:"file",id:"saves-import-file",tabindex:-1,"aria-hidden":!0}).on("change",function(e){jQuery(document).one(":dialogclosed",function(){return Save.import(e)}),Dialog.close()}).appendTo(r)),n&&a.append(e("clear",null,L10n.get("savesLabelClear"),Save.autosave.has()||!Save.slots.isEmpty()?function(){Save.clear(),c()}:null)),!0}return t(L10n.get("savesIncapable")),!1}function d(){var e=jQuery(Dialog.setup(L10n.get("settingsTitle"),"settings"));return Setting.forEach(function(t){if(t.type===Setting.Types.Header){var r=t.name,n=Util.slugify(r),a=jQuery(document.createElement("div")),i=jQuery(document.createElement("h2"));return a.attr("id","header-body-"+n).append(i).appendTo(e),i.attr("id","header-heading-"+n).wiki(r),void(t.desc&&jQuery(document.createElement("p")).attr("id","header-desc-"+n).wiki(t.desc).appendTo(a))}var o=t.name,s=Util.slugify(o),u=jQuery(document.createElement("div")),l=jQuery(document.createElement("label")),c=jQuery(document.createElement("div")),d=void 0;switch(jQuery(document.createElement("div")).append(l).append(c).appendTo(u),t.desc&&jQuery(document.createElement("p")).attr("id","setting-desc-"+s).wiki(t.desc).appendTo(u),l.attr({id:"setting-label-"+s,for:"setting-control-"+s}).wiki(t.label),null==settings[o]&&(settings[o]=t.default),t.type){case Setting.Types.Toggle:d=jQuery(document.createElement("button")),settings[o]?d.addClass("enabled").text(L10n.get("settingsOn")):d.text(L10n.get("settingsOff")),d.ariaClick(function(){settings[o]?(jQuery(this).removeClass("enabled").text(L10n.get("settingsOff")),settings[o]=!1):(jQuery(this).addClass("enabled").text(L10n.get("settingsOn")),settings[o]=!0),Setting.save(),t.hasOwnProperty("onChange")&&t.onChange.call({name:o,value:settings[o],default:t.default})});break;case Setting.Types.List:d=jQuery(document.createElement("select"));for(var f=0,p=t.list.length;f<p;++f)jQuery(document.createElement("option")).val(f).text(t.list[f]).appendTo(d);d.val(t.list.indexOf(settings[o])).attr("tabindex",0).on("change",function(){settings[o]=t.list[Number(this.value)],Setting.save(),t.hasOwnProperty("onChange")&&t.onChange.call({name:o,value:settings[o],default:t.default,list:t.list})});break;case Setting.Types.Range:d=jQuery(document.createElement("input")),d.attr({type:"range",min:t.min,max:t.max,step:t.step,value:settings[o],tabindex:0}).on("change input",function(){settings[o]=Number(this.value),Setting.save(),t.hasOwnProperty("onChange")&&t.onChange.call({name:o,value:settings[o],default:t.default,min:t.min,max:t.max,step:t.step})}).on("keypress",function(e){13===e.which&&(e.preventDefault(),d.trigger("change"))})}d.attr("id","setting-control-"+s).appendTo(c),u.attr("id","setting-body-"+s).appendTo(e)}),e.append('<ul class="buttons"><li><button id="settings-ok" class="ui-close">'+L10n.get(["settingsOk","ok"])+'</button></li><li><button id="settings-reset">'+L10n.get("settingsReset")+"</button></li></ul>").find("#settings-reset").ariaClick({one:!0},function(){jQuery(document).one(":dialogclosed",function(){Setting.reset(),window.location.reload()}),Dialog.close()}),!0}function f(){try{jQuery(Dialog.setup(L10n.get("shareTitle"),"share list")).append(e("StoryShare"))}catch(e){return console.error(e),Alert.error("StoryShare",e.message),!1}return!0}return Object.freeze(Object.defineProperties({},{assembleLinkList:{value:e},alert:{value:t},jumpto:{value:r},restart:{value:n},saves:{value:a},settings:{value:i},share:{value:o},buildAutoload:{value:s},buildJumpto:{value:u},buildRestart:{value:l},buildSaves:{value:c},buildSettings:{value:d},buildShare:{value:f},stow:{value:function(){return UIBar.stow()}},unstow:{value:function(){return UIBar.unstow()}},setStoryElements:{value:function(){return UIBar.update()}},isOpen:{value:function(){return Dialog.isOpen.apply(Dialog,arguments)}},body:{value:function(){return Dialog.body()}},setup:{value:function(){return Dialog.setup.apply(Dialog,arguments)}},addClickHandler:{value:function(){return Dialog.addClickHandler.apply(Dialog,arguments)}},open:{value:function(){return Dialog.open.apply(Dialog,arguments)}},close:{value:function(){return Dialog.close.apply(Dialog,arguments)}},resize:{value:function(){return Dialog.resize()}},buildDialogAutoload:{value:s},buildDialogJumpto:{value:u},buildDialogRestart:{value:l},buildDialogSaves:{value:c},buildDialogSettings:{value:d},buildDialogShare:{value:f},buildLinkListFromPassage:{value:e}}))}(),UIBar=function(){function e(){c&&(c.hide(),jQuery(document).off(".ui-bar"),jQuery(document.head).find("#style-ui-bar").remove(),c.remove(),c=null)}function t(){return c&&c.hide(),this}function r(){if(!document.getElementById("ui-bar")){var e=function(){var e=L10n.get("uiBarToggle"),t=L10n.get("uiBarBackward"),r=L10n.get("uiBarJumpto"),n=L10n.get("uiBarForward");return jQuery(document.createDocumentFragment()).append('<div id="ui-bar"><div id="ui-bar-tray"><button id="ui-bar-toggle" tabindex="0" title="'+e+'" aria-label="'+e+'"></button><div id="ui-bar-history"><button id="history-backward" tabindex="0" title="'+t+'" aria-label="'+t+'"></button><button id="history-jumpto" tabindex="0" title="'+r+'" aria-label="'+r+'"></button><button id="history-forward" tabindex="0" title="'+n+'" aria-label="'+n+'"></button></div></div><div id="ui-bar-body"><header id="title" role="banner"><div id="story-banner"></div><h1 id="story-title"></h1><div id="story-subtitle"></div><div id="story-title-separator"></div><p id="story-author"></p></header><div id="story-caption"></div><nav id="menu" role="navigation"><ul id="menu-story"></ul><ul id="menu-core"><li id="menu-item-saves"><a tabindex="0">'+L10n.get("savesTitle")+'</a></li><li id="menu-item-settings"><a tabindex="0">'+L10n.get("settingsTitle")+'</a></li><li id="menu-item-restart"><a tabindex="0">'+L10n.get("restartTitle")+'</a></li><li id="menu-item-share"><a tabindex="0">'+L10n.get("shareTitle")+"</a></li></ul></nav></div></div>")}();c=jQuery(e.find("#ui-bar").get(0)),e.insertBefore("body>script#script-sugarcube"),jQuery(document).on(":historyupdate.ui-bar",function(e,t){return function(){e.ariaDisabled(State.length<2),t.ariaDisabled(State.length===State.size)}}(jQuery("#history-backward"),jQuery("#history-forward")))}}function n(){return c&&"none"===c.css("display")}function a(){return c&&c.hasClass("stowed")}function i(){return c&&c.show(),this}function o(){c&&(("boolean"==typeof Config.ui.stowBarInitially?Config.ui.stowBarInitially:jQuery(window).width()<=Config.ui.stowBarInitially)&&s(!0),jQuery("#ui-bar-toggle").ariaClick({label:L10n.get("uiBarToggle")},function(){return c.toggleClass("stowed")}),Config.history.controls?(jQuery("#history-backward").ariaDisabled(State.length<2).ariaClick({label:L10n.get("uiBarBackward")},function(){return Engine.backward()}),Story.lookup("tags","bookmark").length>0?jQuery("#history-jumpto").ariaClick({label:L10n.get("uiBarJumpto")},function(){return UI.jumpto()}):jQuery("#history-jumpto").remove(),jQuery("#history-forward").ariaDisabled(State.length===State.size).ariaClick({label:L10n.get("uiBarForward")},function(){return Engine.forward()})):jQuery("#ui-bar-history").remove(),Story.has("StoryDisplayTitle")?setDisplayTitle(Story.get("StoryDisplayTitle").processText()):jQuery("#story-title").text(Story.title),Story.has("StoryCaption")||jQuery("#story-caption").remove(),Story.has("StoryMenu")||jQuery("#menu-story").remove(),Config.ui.updateStoryElements||l(),jQuery("#menu-item-saves a").ariaClick(function(e){e.preventDefault(),UI.buildSaves(),Dialog.open()}).text(L10n.get("savesTitle")),Setting.isEmpty()?jQuery("#menu-item-settings").remove():jQuery("#menu-item-settings a").ariaClick(function(e){e.preventDefault(),UI.buildSettings(),Dialog.open()}).text(L10n.get("settingsTitle")),jQuery("#menu-item-restart a").ariaClick(function(e){e.preventDefault(),UI.buildRestart(),Dialog.open()}).text(L10n.get("restartTitle")),Story.has("StoryShare")?jQuery("#menu-item-share a").ariaClick(function(e){e.preventDefault(),UI.buildShare(),Dialog.open()}).text(L10n.get("shareTitle")):jQuery("#menu-item-share").remove())}function s(e){if(c&&!c.hasClass("stowed")){var t=void 0;e&&(t=jQuery("#story"),t.addClass("no-transition"),c.addClass("no-transition")),c.addClass("stowed"),e&&setTimeout(function(){t.removeClass("no-transition"),c.removeClass("no-transition")},Engine.minDomActionDelay)}return this}function u(e){if(c&&c.hasClass("stowed")){var t=void 0;e&&(t=jQuery("#story"),t.addClass("no-transition"),c.addClass("no-transition")),c.removeClass("stowed"),e&&setTimeout(function(){t.removeClass("no-transition"),c.removeClass("no-transition")},Engine.minDomActionDelay)}return this}function l(){if(c){setPageElement("story-banner","StoryBanner"),Story.has("StoryDisplayTitle")&&setDisplayTitle(Story.get("StoryDisplayTitle").processText()),setPageElement("story-subtitle","StorySubtitle"),setPageElement("story-author","StoryAuthor"),setPageElement("story-caption","StoryCaption");var e=document.getElementById("menu-story");if(null!==e&&(jQuery(e).empty(),Story.has("StoryMenu")))try{UI.assembleLinkList("StoryMenu",e)}catch(e){console.error(e),Alert.error("StoryMenu",e.message)}}}var c=null;return Object.freeze(Object.defineProperties({},{destroy:{value:e},hide:{value:t},init:{value:r},isHidden:{value:n},isStowed:{value:a},show:{value:i},start:{value:o},stow:{value:s},unstow:{value:u},update:{value:l},setStoryElements:{value:l}}))}(),DebugBar=function(){function e(){var e=L10n.get("debugBarToggle"),t=L10n.get("debugBarAddWatch"),r=L10n.get("debugBarWatchAll"),n=L10n.get("debugBarWatchNone"),a=L10n.get("debugBarWatchToggle"),l=L10n.get("debugBarViewsToggle");jQuery(document.createDocumentFragment()).append('<div id="debug-bar"><div id="debug-bar-watch"><div>'+L10n.get("debugBarNoWatches")+'</div>></div><div><button id="debug-bar-watch-toggle" tabindex="0" title="'+a+'" aria-label="'+a+'">'+L10n.get("debugBarLabelWatch")+'</button><label id="debug-bar-watch-label" for="debug-bar-watch-input">'+L10n.get("debugBarLabelAdd")+'</label><input id="debug-bar-watch-input" name="debug-bar-watch-input" type="text" list="debug-bar-watch-list" tabindex="0"><datalist id="debug-bar-watch-list" aria-hidden="true" hidden="hidden"></datalist><button id="debug-bar-watch-add" tabindex="0" title="'+t+'" aria-label="'+t+'"></button><button id="debug-bar-watch-all" tabindex="0" title="'+r+'" aria-label="'+r+'"></button><button id="debug-bar-watch-none" tabindex="0" title="'+n+'" aria-label="'+n+'"></button></div><div><button id="debug-bar-views-toggle" tabindex="0" title="'+l+'" aria-label="'+l+'">'+L10n.get("debugBarLabelViews")+'</button><label id="debug-bar-turn-label" for="debug-bar-turn-select">'+L10n.get("debugBarLabelTurn")+'</label><select id="debug-bar-turn-select" tabindex="0"></select></div><button id="debug-bar-toggle" tabindex="0" title="'+e+'" aria-label="'+e+'"></button></div><div id="debug-bar-hint"></div>').appendTo("body"),P=jQuery("#debug-bar"),_=jQuery(P.find("#debug-bar-watch").get(0)),N=jQuery(P.find("#debug-bar-watch-list").get(0)),I=jQuery(P.find("#debug-bar-turn-select").get(0));var c=jQuery(P.find("#debug-bar-toggle").get(0)),d=jQuery(P.find("#debug-bar-watch-toggle").get(0)),f=jQuery(P.find("#debug-bar-watch-input").get(0)),h=jQuery(P.find("#debug-bar-watch-add").get(0)),g=jQuery(P.find("#debug-bar-watch-all").get(0)),m=jQuery(P.find("#debug-bar-watch-none").get(0)),v=jQuery(P.find("#debug-bar-views-toggle").get(0));c.ariaClick(i),d.ariaClick(p),f.on(":addwatch",function(){o(this.value.trim()),this.value=""}).on("keypress",function(e){13===e.which&&(e.preventDefault(),f.trigger(":addwatch"))}),h.ariaClick(function(){return f.trigger(":addwatch")}),g.ariaClick(s),m.ariaClick(u),I.on("change",function(){Engine.goTo(Number(this.value))}),v.ariaClick(function(){DebugView.toggle(),k()}),jQuery(document).on(":historyupdate.debug-bar",x).on(":passageend.debug-bar",function(){E(),j()}).on(":enginerestart.debug-bar",y),b()||DebugView.enable()}function t(){w(),S(),x(),E(),j()}function r(){return D}function n(){h(),D=!0,k()}function a(){g(),D=!1,k()}function i(){D?a():n()}function o(e){T.test(e)&&(A.pushUnique(e),A.sort(),E(),j(),k())}function s(){Object.keys(State.variables).map(function(e){return A.pushUnique("$"+e)}),Object.keys(State.temporary).map(function(e){return A.pushUnique("_"+e)}),A.sort(),E(),j(),k()}function u(){for(var e=A.length-1;e>=0;--e)A.pop();E(),j(),k()}function l(e){A.delete(e),E(),j(),k()}function c(){m(),k()}function d(){v(),k()}function f(){return!_.attr("hidden")}function p(){_.attr("hidden")?d():c()}function h(){P.css("right","-"+P.outerWidth()+"px")}function g(){P.css("right",0)}function m(){_.attr({"aria-hidden":!0,hidden:"hidden"})}function v(){_.removeAttr("aria-hidden hidden")}function y(){session.delete("debugState")}function b(){return session.has("debugState")}function w(){if(!b())return!1;var e=session.get("debugState");return D=e.stowed,A.push.apply(A,_toConsumableArray(e.watchList)),e.watchEnabled?v():m(),e.viewsEnabled?DebugView.enable():DebugView.disable(),!0}function k(){session.set("debugState",{stowed:D,watchList:A,watchEnabled:f(),viewsEnabled:DebugView.isEnabled()})}function S(){D?n():a()}function E(){if(0===A.length)return void _.empty().append("<div>"+L10n.get("debugBarNoWatches")+"</div>");for(var e=L10n.get("debugBarDeleteWatch"),t=jQuery(document.createElement("table")),r=jQuery(document.createElement("tbody")),n=0,a=A.length;n<a;++n)!function(t,n){var a=A[t],i=a.slice(1),o="$"===a[0]?State.variables:State.temporary,s=jQuery(document.createElement("tr")),u=jQuery(document.createElement("button")),c=jQuery(document.createElement("code"));u.addClass("watch-delete").attr("data-name",a).ariaClick({one:!0,label:e},function(){return l(a)}),c.text(O(o[i])),jQuery(document.createElement("td")).append(u).appendTo(s),jQuery(document.createElement("td")).text(a).appendTo(s),jQuery(document.createElement("td")).append(c).appendTo(s),s.appendTo(r)}(n);t.append(r),_.empty().append(t)}function j(){var e=Object.keys(State.variables),t=Object.keys(State.temporary);if(0===e.length&&0===t.length)return void N.empty();var r=[].concat(_toConsumableArray(e.map(function(e){return"$"+e})),_toConsumableArray(t.map(function(e){return"_"+e}))).sort(),n=document.createDocumentFragment();r.delete(A);for(var a=0,i=r.length;a<i;++a)jQuery(document.createElement("option")).val(r[a]).appendTo(n);N.empty().append(n)}function x(){for(var e=State.size,t=State.expired.length,r=document.createDocumentFragment(),n=0;n<e;++n)jQuery(document.createElement("option")).val(n).text(t+n+1+". "+Util.escape(State.history[n].title)).appendTo(r);I.empty().ariaDisabled(e<2).append(r).val(State.activeIndex)}function O(e){if(null===e)return"null";switch(void 0===e?"undefined":_typeof(e)){case"number":if(Number.isNaN(e))return"NaN";if(!Number.isFinite(e))return"Infinity";case"boolean":case"symbol":case"undefined":return String(e);case"string":return JSON.stringify(e);case"function":return"Function"}var t=Util.toStringTag(e);if("Date"===t)return"Date {"+e.toLocaleString()+"}";if("RegExp"===t)return"RegExp "+e.toString();var r=[];if(e instanceof Array||e instanceof Set){for(var n=e instanceof Array?e:Array.from(e),a=0,i=n.length;a<i;++a)r.push(n.hasOwnProperty(a)?O(n[a]):"<empty>");return Object.keys(n).filter(function(e){return!C.test(e)}).forEach(function(e){return r.push(O(e)+": "+O(n[e]))}),t+"("+n.length+") ["+r.join(", ")+"]"}return e instanceof Map?(e.forEach(function(e,t){return r.push(O(t)+" → "+O(e))}),t+"("+e.size+") {"+r.join(", ")+"}"):(Object.keys(e).forEach(function(t){return r.push(O(t)+": "+O(e[t]))}),t+" {"+r.join(", ")+"}")}var T=new RegExp("^"+Patterns.variable+"$"),C=/^\d+$/,A=[],P=null,_=null,N=null,I=null,D=!0;return Object.freeze(Object.defineProperties({},{init:{value:e},isStowed:{value:r},start:{value:t},stow:{value:n},toggle:{value:i},unstow:{value:a},watch:{value:Object.freeze(Object.defineProperties({},{add:{value:o},all:{value:s},clear:{value:u},delete:{value:l},disable:{value:c},enable:{value:d},isEnabled:{value:f},toggle:{value:p}}))}}))}(),LoadScreen=function(){function e(){jQuery(document).on("readystatechange.SugarCube",function(){o.size>0||("complete"===document.readyState?"loading"===jQuery(document.documentElement).attr("data-init")&&(Config.loadDelay>0?setTimeout(function(){0===o.size&&r()},Math.max(Engine.minDomActionDelay,Config.loadDelay)):r()):n())})}function t(){jQuery(document).off("readystatechange.SugarCube"),o.clear(),r()}function r(){jQuery(document.documentElement).removeAttr("data-init")}function n(){jQuery(document.documentElement).attr("data-init","loading")}function a(){return++s,o.add(s),n(),s}function i(e){if(null==e)throw new Error("LoadScreen.unlock called with a null or undefined ID");o.has(e)&&o.delete(e),0===o.size&&jQuery(document).trigger("readystatechange")}var o=new Set,s=0;return Object.freeze(Object.defineProperties({},{init:{value:e},clear:{value:t},hide:{value:r},show:{value:n},lock:{value:a},unlock:{value:i}}))}(),version=Object.freeze({title:"SugarCube",major:2,minor:31,patch:1,prerelease:null,build:9281,date:new Date("2020-04-06T21:22:52.785Z"),extensions:{},toString:function(){var e=this.prerelease?"-"+this.prerelease:"";return this.major+"."+this.minor+"."+this.patch+e+"+"+this.build},short:function(){var e=this.prerelease?"-"+this.prerelease:"";return this.title+" (v"+this.major+"."+this.minor+"."+this.patch+e+")"},long:function(){return this.title+" v"+this.toString()+" ("+this.date.toUTCString()+")"}}),TempState={},macros={},postdisplay={},postrender={},predisplay={},prehistory={},prerender={},session=null,settings={},setup={},storage=null,browser=Browser,config=Config,has=Has,History=State,state=State,tale=Story,TempVariables=State.temporary;window.SugarCube={},jQuery(function(){try{var e=LoadScreen.lock();LoadScreen.init(),document.normalize&&document.normalize(),Story.load(),storage=SimpleStore.create(Story.domId,!0),session=SimpleStore.create(Story.domId,!1),Dialog.init(),UIBar.init(),
120
120
  Engine.init(),Story.init(),L10n.init(),session.has("rcWarn")||"cookie"!==storage.name||(session.set("rcWarn",1),window.alert(L10n.get("warningNoWebStorage"))),Save.init(),Setting.init(),Macro.init(),Engine.start(),Config.debug&&DebugBar.init();var t=$(window),r=setInterval(function(){t.width()&&(clearInterval(r),UIBar.start(),Config.debug&&DebugBar.start(),jQuery.event.trigger({type:":storyready"}),setTimeout(function(){return LoadScreen.unlock(e)},2*Engine.minDomActionDelay))},Engine.minDomActionDelay);Object.defineProperty(window,"SugarCube",{value:Object.seal(Object.assign(Object.create(null),{Browser:Browser,Config:Config,Dialog:Dialog,Engine:Engine,Fullscreen:Fullscreen,Has:Has,L10n:L10n,Macro:Macro,Passage:Passage,Save:Save,Scripting:Scripting,Setting:Setting,SimpleAudio:SimpleAudio,State:State,Story:Story,UI:UI,UIBar:UIBar,DebugBar:DebugBar,Util:Util,Visibility:Visibility,Wikifier:Wikifier,session:session,settings:settings,setup:setup,storage:storage,version:version}))})}catch(e){return console.error(e),LoadScreen.clear(),Alert.fatal(null,e.message,e)}})}(window,window.document,jQuery);}
121
121
  </script>
122
122
  </body>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>undefined</title>
4
+ <title>twineExample</title>
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}body{font:18px Helvetica Neue,Helvetica,Arial,sans-serif;color:#222;margin-left:2em}tw-story{max-width:38em;margin:0 auto;line-height:145%}tw-passage{display:block}a{color:#222;text-decoration-color:#bbb}a:hover{color:#cc8929}a:active,a:hover{text-decoration-color:#cc8929}a:active{color:#ffb040}tw-storydata{display:none}@media screen and (max-device-width:480px){#passage{font-size:70%}}
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>undefined</title>
4
+ <title>TestTags</title>
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}body{font:18px Helvetica Neue,Helvetica,Arial,sans-serif;color:#222;margin-left:2em}tw-story{max-width:38em;margin:0 auto;line-height:145%}tw-passage{display:block}a{color:#222;text-decoration-color:#bbb}a:hover{color:#cc8929}a:active,a:hover{text-decoration-color:#cc8929}a:active{color:#ffb040}tw-storydata{display:none}@media screen and (max-device-width:480px){#passage{font-size:70%}}
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>undefined</title>
4
+ <title>Title</title>
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}body{font:18px Helvetica Neue,Helvetica,Arial,sans-serif;color:#222;margin-left:2em}tw-story{max-width:38em;margin:0 auto;line-height:145%}tw-passage{display:block}a{color:#222;text-decoration-color:#bbb}a:hover{color:#cc8929}a:active,a:hover{text-decoration-color:#cc8929}a:active{color:#ffb040}tw-storydata{display:none}@media screen and (max-device-width:480px){#passage{font-size:70%}}
@@ -9,7 +9,7 @@
9
9
  </head>
10
10
  <body>
11
11
  <tw-story tags></tw-story>
12
- <tw-storydata name="Title" startnode="4" creator="extwee" creator-version="2.0.2" ifid="A2148F0D-A7D6-4EE2-B0A1-CC10B1D17E1A" zoom="0" format="Snowman" format-version="2.0.0" options hidden>
12
+ <tw-storydata name="Title" startnode="4" creator="extwee" creator-version="2.0.3" ifid="A1EFB550-B470-44EA-816C-73683E385FF2" zoom="0" format="Snowman" format-version="2.0.0" options hidden>
13
13
  <style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style>
14
14
  <script role="script" id="twine-user-script" type="text/twine-javascript"></script>
15
15
  <tw-passagedata pid="1" name="A"></tw-passagedata>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>undefined</title>
4
+ <title>Name</title>
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}body{font:18px Helvetica Neue,Helvetica,Arial,sans-serif;color:#222;margin-left:2em}tw-story{max-width:38em;margin:0 auto;line-height:145%}tw-passage{display:block}a{color:#222;text-decoration-color:#bbb}a:hover{color:#cc8929}a:active,a:hover{text-decoration-color:#cc8929}a:active{color:#ffb040}tw-storydata{display:none}@media screen and (max-device-width:480px){#passage{font-size:70%}}
@@ -9,7 +9,7 @@
9
9
  </head>
10
10
  <body>
11
11
  <tw-story tags></tw-story>
12
- <tw-storydata name="Name" startnode="3" creator="extwee" creator-version="2.0.2" ifid="5BA15E42-9C1D-4B9A-839E-7B8E294947A5" zoom="0" format="Snowman" format-version="2.0.0" options hidden>
12
+ <tw-storydata name="Name" startnode="3" creator="extwee" creator-version="2.0.3" ifid="16D0AFBA-80AF-4C7F-9C85-983D043624E4" zoom="0" format="Snowman" format-version="2.0.0" options hidden>
13
13
  <style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style>
14
14
  <script role="script" id="twine-user-script" type="text/twine-javascript"></script>
15
15
  <tw-passagedata pid="1" name="A"></tw-passagedata>