-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
294 lines (218 loc) · 359 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TGS Experiences</title>
<style title="Twine CSS">@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@keyframes fade-in-out{0%,to{opacity:0}50%{opacity:1}}@-webkit-keyframes rumble{50%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}}@keyframes rumble{50%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}}@-webkit-keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder{50%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@-webkit-keyframes box-flash{0%{background-color:white;color:white}}@keyframes box-flash{0%{background-color:white;color:white}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}20%{-webkit-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}40%{-webkit-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}60%{-webkit-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}80%{-webkit-transform:scale(0.925, 0.925);transform:scale(0.925, 0.925)}to{-webkit-transform:scale(1, 1);transform:scale(1, 1)}}@keyframes pulse{0%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}20%{-webkit-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}40%{-webkit-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}60%{-webkit-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05)}80%{-webkit-transform:scale(0.925, 0.925);transform:scale(0.925, 0.925)}to{-webkit-transform:scale(1, 1);transform:scale(1, 1)}}@-webkit-keyframes shudder-in{0%, to{-webkit-transform:translateX(0em);transform:translateX(0em)}5%, 25%, 45%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%, 35%, 55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-0.6em);transform:translateX(-0.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-0.2em);transform:translateX(-0.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@keyframes shudder-in{0%, to{-webkit-transform:translateX(0em);transform:translateX(0em)}5%, 25%, 45%{-webkit-transform:translateX(-1em);transform:translateX(-1em)}15%, 35%, 55%{-webkit-transform:translateX(1em);transform:translateX(1em)}65%{-webkit-transform:translateX(-0.6em);transform:translateX(-0.6em)}75%{-webkit-transform:translateX(0.6em);transform:translateX(0.6em)}85%{-webkit-transform:translateX(-0.2em);transform:translateX(-0.2em)}95%{-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}@-webkit-keyframes rumble-in{0%, to{-webkit-transform:translateY(0em);transform:translateY(0em)}5%, 25%, 45%{-webkit-transform:translateY(-1em);transform:translateY(-1em)}15%, 35%, 55%{-webkit-transform:translateY(1em);transform:translateY(1em)}65%{-webkit-transform:translateY(-0.6em);transform:translateY(-0.6em)}75%{-webkit-transform:translateY(0.6em);transform:translateY(0.6em)}85%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}95%{-webkit-transform:translateY(0.2em);transform:translateY(0.2em)}}@keyframes rumble-in{0%, to{-webkit-transform:translateY(0em);transform:translateY(0em)}5%, 25%, 45%{-webkit-transform:translateY(-1em);transform:translateY(-1em)}15%, 35%, 55%{-webkit-transform:translateY(1em);transform:translateY(1em)}65%{-webkit-transform:translateY(-0.6em);transform:translateY(-0.6em)}75%{-webkit-transform:translateY(0.6em);transform:translateY(0.6em)}85%{-webkit-transform:translateY(-0.2em);transform:translateY(-0.2em)}95%{-webkit-transform:translateY(0.2em);transform:translateY(0.2em)}}@-webkit-keyframes slide-right{0%{-webkit-transform:translateX(-100vw);transform:translateX(-100vw)}}@keyframes slide-right{0%{-webkit-transform:translateX(-100vw);transform:translateX(-100vw)}}@-webkit-keyframes slide-left{0%{-webkit-transform:translateX(100vw);transform:translateX(100vw)}}@keyframes slide-left{0%{-webkit-transform:translateX(100vw);transform:translateX(100vw)}}@-webkit-keyframes slide-up{0%{-webkit-transform:translateY(100vh);transform:translateY(100vh)}}@keyframes slide-up{0%{-webkit-transform:translateY(100vh);transform:translateY(100vh)}}@-webkit-keyframes slide-down{0%{-webkit-transform:translateY(-100vh);transform:translateY(-100vh)}}@keyframes slide-down{0%{-webkit-transform:translateY(-100vh);transform:translateY(-100vh)}}@-webkit-keyframes flicker{0%,29%,31%,63%,65%,77%,79%,86%,88%,91%,93%{opacity:0}30%{opacity:0.2}64%{opacity:0.4}78%{opacity:0.6}87%{opacity:0.8}92%, to{opacity:1}}@keyframes flicker{0%,29%,31%,63%,65%,77%,79%,86%,88%,91%,93%{opacity:0}30%{opacity:0.2}64%{opacity:0.4}78%{opacity:0.6}87%{opacity:0.8}92%, to{opacity:1}}.debug-mode tw-expression[type=hookref]{background-color:rgba(115,123,140,0.15)}.debug-mode tw-expression[type=hookref]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"?" attr(name)}.debug-mode tw-expression[type=variable]{background-color:rgba(140,128,115,0.15)}.debug-mode tw-expression[type=variable]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"$" attr(name)}.debug-mode tw-expression[type=tempVariable]{background-color:rgba(140,128,115,0.15)}.debug-mode tw-expression[type=tempVariable]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"_" attr(name)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+0){background-color:rgba(136,153,102,0.15)}.debug-mode tw-expression[type=macro]:nth-of-type(2n+1){background-color:rgba(102,153,102,0.15)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+2){background-color:rgba(102,153,136,0.15)}.debug-mode tw-expression[type=macro][name="for"],.debug-mode tw-expression[type=macro][name="loop"],.debug-mode tw-expression[type=macro][name="print"],.debug-mode tw-expression[type=macro][name="enchant"],.debug-mode tw-expression[type=macro][name="display"]{background-color:rgba(0,170,255,0.1) !important}.debug-mode tw-expression[type=macro][name="if"],.debug-mode tw-expression[type=macro][name="if"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name="unless"],.debug-mode tw-expression[type=macro][name="unless"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name="elseif"],.debug-mode tw-expression[type=macro][name="elseif"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name="else"],.debug-mode tw-expression[type=macro][name="else"]+tw-hook:not([name]){background-color:rgba(0,255,0,0.1) !important}.debug-mode tw-expression[type=macro][name="hidden"],.debug-mode tw-expression[type=macro].false{background-color:rgba(255,0,0,0.2) !important}.debug-mode tw-expression[type=macro][name="hidden"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro].false+tw-hook:not([name]){display:none}.debug-mode tw-expression[type=macro][name="either"],.debug-mode tw-expression[type=macro][name="a"],.debug-mode tw-expression[type=macro][name="dm"],.debug-mode tw-expression[type=macro][name="ds"],.debug-mode tw-expression[type=macro][name="array"],.debug-mode tw-expression[type=macro][name^="sub"],.debug-mode tw-expression[type=macro][name="altered"],.debug-mode tw-expression[type=macro][name="count"],.debug-mode tw-expression[type=macro][name^="data"],.debug-mode tw-expression[type=macro][name="find"],.debug-mode tw-expression[type=macro][name$="ed"],.debug-mode tw-expression[type=macro][name$="-pass"],.debug-mode tw-expression[type=macro][name="range"],.debug-mode tw-expression[type=macro][name^="num"],.debug-mode tw-expression[type=macro][name^="str"],.debug-mode tw-expression[type=macro][name="text"],.debug-mode tw-expression[type=macro][name^="lower"],.debug-mode tw-expression[type=macro][name^="upper"],.debug-mode tw-expression[type=macro][name="words"],.debug-mode tw-expression[type=macro][name="ceil"],.debug-mode tw-expression[type=macro][name="floor"],.debug-mode tw-expression[type=macro][name="random"],.debug-mode tw-expression[type=macro][name="abs"],.debug-mode tw-expression[type=macro][name="cos"],.debug-mode tw-expression[type=macro][name="exp"],.debug-mode tw-expression[type=macro][name^="log"],.debug-mode tw-expression[type=macro][name="max"],.debug-mode tw-expression[type=macro][name="min"],.debug-mode tw-expression[type=macro][name="pow"],.debug-mode tw-expression[type=macro][name="sign"],.debug-mode tw-expression[type=macro][name="sin"],.debug-mode tw-expression[type=macro][name="sqrt"],.debug-mode tw-expression[type=macro][name="tan"],.debug-mode tw-expression[type=macro][name="round"],.debug-mode tw-expression[type=macro][name^="hsl"],.debug-mode tw-expression[type=macro][name^="rgb"]{background-color:rgba(255,255,0,0.2) !important}.debug-mode tw-expression[type=macro][name$="-game"],.debug-mode tw-expression[type=macro][name="move"],.debug-mode tw-expression[type=macro][name="put"],.debug-mode tw-expression[type=macro][name="set"]{background-color:rgba(255,128,0,0.2) !important}.debug-mode tw-expression[type=macro][name^="link"],.debug-mode tw-expression[type=macro][name$="-link"],.debug-mode tw-expression[type=macro][name="dropdown"],.debug-mode tw-expression[type=macro][name^="click"],.debug-mode tw-expression[type=macro][name="goto"],.debug-mode tw-expression[type=macro][name="undo"],.debug-mode tw-expression[type=macro][name^="mouseo"]{background-color:rgba(32,191,223,0.2) !important}.debug-mode tw-expression[type=macro][name^="replace"],.debug-mode tw-expression[type=macro][name^="prepend"],.debug-mode tw-expression[type=macro][name^="append"],.debug-mode tw-expression[type=macro][name="show"],.debug-mode tw-expression[type=macro][name^="remove"]{background-color:rgba(223,96,32,0.2) !important}.debug-mode tw-expression[type=macro][name="event"],.debug-mode tw-expression[type=macro][name="live"]{background-color:rgba(32,32,223,0.2) !important}.debug-mode tw-expression[type=macro][name="align"],.debug-mode tw-expression[type=macro][name^="colo"],.debug-mode tw-expression[type=macro][name="background"],.debug-mode tw-expression[type=macro][name="css"],.debug-mode tw-expression[type=macro][name="font"],.debug-mode tw-expression[type=macro][name="hook"],.debug-mode tw-expression[type=macro][name$="-style"],.debug-mode tw-expression[type=macro][name^="text-"],.debug-mode tw-expression[type=macro][name^="transition"],.debug-mode tw-expression[type=macro][name^="t8n"],.debug-mode tw-expression[type=macro][name="live"]{background-color:rgba(255,191,0,0.2) !important}.debug-mode tw-expression[type=macro]::before{content:"(" attr(name) ":)";padding:0 0.5rem;font-size:1rem;vertical-align:middle;line-height:normal;background-color:inherit;border:1px solid rgba(255,255,255,0.5)}.debug-mode tw-hook{background-color:rgba(0,85,255,0.1) !important}.debug-mode tw-hook::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"["}.debug-mode tw-hook::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"]"}.debug-mode tw-hook[name]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"]<" attr(name) "|"}.debug-mode tw-pseudo-hook{background-color:rgba(255,170,0,0.1) !important}.debug-mode tw-collapsed::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"{"}.debug-mode tw-collapsed::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"}"}.debug-mode tw-verbatim::before,.debug-mode tw-verbatim::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"`"}.debug-mode tw-align[style*="text-align: center"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 50%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*="text-align: left"]{background:linear-gradient(to right, rgba(255,204,189,0.25) 0%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*="text-align: right"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 100%)}.debug-mode tw-column{background-color:rgba(189,228,255,0.2)}.debug-mode tw-enchantment{animation:enchantment 0.5s infinite;-webkit-animation:enchantment 0.5s infinite;border:1px solid}.debug-mode tw-link::after,.debug-mode tw-broken-link::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(passage-name)}.debug-mode tw-include{background-color:rgba(204,128,51,0.1)}.debug-mode tw-include::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(type) ' "' attr(title) '"'}@keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}@-webkit-keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}tw-debugger{position:fixed;box-sizing:border-box;bottom:0;right:0;z-index:999999;min-width:10em;min-height:1em;padding:0em 1em 1em 1em;font-size:1.25em;font-family:sans-serif;color:#000;border-left:solid #000 2px;border-top:solid #000 2px;border-top-left-radius:.5em;background:#fff;opacity:1}tw-debugger select{margin-right:1em;width:12em}tw-debugger button{border-radius:3px;border:solid #999 1px;margin:auto 4px;background-color:#fff;font-size:inherit;color:#000}tw-debugger button.enabled{background-color:#eee;box-shadow:inset #ddd 3px 5px 0.5em}tw-debugger .panel{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:absolute;bottom:100%;left:-2px;right:0;padding:1em;max-height:40vh;overflow-y:scroll;overflow-x:hidden;z-index:999998;background:#fff;border:inherit;border-bottom:solid #999 2px;border-top-left-radius:.5em;border-bottom-left-radius:.5em;font-size:0.8em}tw-debugger .panel:empty,tw-debugger .panel[hidden]{display:none}tw-debugger .panel table{border-spacing:0px}tw-debugger .variable-row{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;flex-shrink:0}tw-debugger .variable-row:nth-child(2n){background:#EEE}tw-debugger .variable-name{display:inline-block;width:50%}tw-debugger .temporary-variable-scope{opacity:0.8;font-size:0.75em}tw-debugger .temporary-variable-scope::before{content:" in "}tw-debugger .global::before{content:"$"}tw-debugger .temporary::before{content:"_"}tw-debugger .variable-path{opacity:0.4}tw-debugger .variable-value{display:inline-block;width:50%}tw-debugger .error-row{background-color:rgba(230,101,204,0.3)}tw-debugger .error-row:nth-child(2n){background-color:rgba(237,145,219,0.3)}tw-debugger .error-row *{padding:0.25em 0.5em}tw-debugger .error-row .error-message{cursor:help}tw-debugger .panel-source{font-family:monospace;overflow-x:scroll;white-space:pre}tw-debugger .tabs{padding-bottom:0.5em}tw-debugger .tab{border-radius:0px 0px 0.5em 0.5em;border-top:none}tw-dialog{z-index:999997;position:fixed;left:auto;right:auto;bottom:auto;top:auto;border:#fff solid 2px;padding:2em;color:#fff;background-color:#000;display:block;max-width:50vw;max-height:75vh;overflow:hidden}tw-dialog input[type=text]{font-size:inherit;width:100%}tw-backdrop{z-index:999996;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center}tw-link,.link,tw-icon,.enchantment-clickblock{cursor:pointer}tw-link,.enchantment-link{color:#4169E1;font-weight:bold;text-decoration:none;transition:color 0.2s ease-in-out}tw-passage tw-enchantment[style^="color"] tw-link:not(:hover),tw-passage tw-enchantment[style*=" color"] tw-link:not(:hover),tw-passage tw-enchantment[style^="color"] .enchantment-link:not(:hover),tw-passage tw-enchantment[style*=" color"] .enchantment-link:not(:hover){color:inherit}tw-link:hover,.enchantment-link:hover{color:#00bfff}tw-link:active,.enchantment-link:active{color:#DD4B39}.visited{color:#6941e1}tw-passage tw-enchantment[style^="color"] .visited:not(:hover),tw-passage tw-enchantment[style*=" color"] .visited:not(:hover){color:inherit}.visited:hover{color:#E3E}tw-broken-link{color:#993333;border-bottom:2px solid #993333;cursor:not-allowed}tw-passage tw-enchantment[style^="color"] tw-broken-link:not(:hover),tw-passage tw-enchantment[style*=" color"] tw-broken-link:not(:hover){color:inherit}.enchantment-mouseover{border-bottom:1px dashed #666}.enchantment-mouseout{border:rgba(64,149,191,0.25) 1px solid}.enchantment-mouseout:hover{background-color:rgba(64,149,191,0.25);border:transparent 1px solid;border-radius:0.2em}.enchantment-clickblock{box-shadow:inset 0 0 0 0.5vmax;display:block;color:rgba(65,105,225,0.5);transition:color 0.2s ease-in-out}.enchantment-clickblock:hover{color:rgba(0,191,255,0.5)}.enchantment-clickblock:active{color:rgba(222,78,59,0.5)}html{margin:0;height:100%;overflow-x:hidden}*,:before,:after{position:relative;box-sizing:inherit}body{margin:0;height:100%}tw-storydata{display:none}tw-story{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font:100% Georgia, serif;box-sizing:border-box;width:100%;min-height:100%;font-size:1.5em;line-height:1.5em;padding:5% 20%;margin:0;overflow:hidden;background-color:#000;color:#fff}tw-story br[data-cons]{display:block;height:0;margin:0.8ex 0}tw-story select{background-color:transparent;font:inherit;border-style:solid;padding:2px}tw-story select:not([disabled]){color:inherit}tw-passage{display:block}tw-sidebar{left:-5em;width:3em;position:absolute;text-align:center;display:block}tw-icon{display:block;margin:0.5em 0;opacity:0.2;font-size:2.75em}tw-icon:hover{opacity:0.4}tw-hook:empty,tw-expression:empty{display:none}tw-error{display:inline-block;border-radius:0.2em;padding:0.2em;font-size:1rem;cursor:help}tw-error.error{background-color:rgba(223,58,190,0.4);color:#fff}tw-error.warning{background-color:rgba(223,140,58,0.4);color:#fff;display:none}.debug-mode tw-error.warning{display:inline}tw-error-explanation{display:block;font-size:0.8rem;line-height:1rem}tw-error-explanation-button{cursor:pointer;line-height:0em;border-radius:1px;border:1px solid black;font-size:0.8rem;margin:0 0.4rem;opacity:0.5}tw-error-explanation-button .folddown-arrowhead{display:inline-block}tw-notifier{border-radius:0.2em;padding:0.2em;font-size:1rem;background-color:rgba(223,182,58,0.4);display:none}.debug-mode tw-notifier{display:inline}tw-notifier::before{content:attr(message)}tw-colour{border:1px solid black;display:inline-block;width:1em;height:1em}h1{font-size:3em}h2{font-size:2.25em}h3{font-size:1.75em}h1,h2,h3,h4,h5,h6{line-height:1em;margin:0.3em 0 0.6em 0}pre{font-size:1rem;line-height:initial}small{font-size:70%}big{font-size:120%}mark{color:rgba(0,0,0,0.6);background-color:#ff9}ins{color:rgba(0,0,0,0.6);background-color:rgba(255,242,204,0.5);border-radius:0.5em;box-shadow:0em 0em 0.2em #ffe699;text-decoration:none}center{text-align:center;margin:0 auto;width:60%}blink{text-decoration:none;animation:fade-in-out 1s steps(1, end) infinite alternate;-webkit-animation:fade-in-out 1s steps(1, end) infinite alternate}tw-align{display:block}tw-columns{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between}tw-outline{color:white;text-shadow:-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000}tw-shadow{text-shadow:0.08em 0.08em 0.08em #000}tw-emboss{text-shadow:0.08em 0.08em 0em #000;color:white}tw-condense{letter-spacing:-0.08em}tw-expand{letter-spacing:0.1em}tw-blur{color:transparent;text-shadow:0em 0em 0.08em #000}tw-blurrier{color:transparent;text-shadow:0em 0em 0.2em #000}tw-blurrier::selection{background-color:transparent;color:transparent}tw-blurrier::-moz-selection{background-color:transparent;color:transparent}tw-smear{color:transparent;text-shadow:0em 0em 0.02em rgba(0,0,0,0.75),-0.2em 0em 0.5em rgba(0,0,0,0.5),0.2em 0em 0.5em rgba(0,0,0,0.5)}tw-mirror{display:inline-block;transform:scaleX(-1);-webkit-transform:scaleX(-1)}tw-upside-down{display:inline-block;transform:scaleY(-1);-webkit-transform:scaleY(-1)}tw-fade-in-out{text-decoration:none;animation:fade-in-out 2s ease-in-out infinite alternate;-webkit-animation:fade-in-out 2s ease-in-out infinite alternate}tw-rumble{-webkit-animation:rumble linear 0.1s 0s infinite;animation:rumble linear 0.1s 0s infinite;display:inline-block}tw-shudder{-webkit-animation:shudder linear 0.1s 0s infinite;animation:shudder linear 0.1s 0s infinite;display:inline-block}tw-shudder-in{animation:shudder-in 1s ease-out;-webkit-animation:shudder-in 1s ease-out}.transition-in{-webkit-animation:appear 0ms step-start;animation:appear 0ms step-start}.transition-out{-webkit-animation:appear 0ms step-end;animation:appear 0ms step-end}[data-t8n^=dissolve].transition-in{-webkit-animation:appear .8s;animation:appear .8s}[data-t8n^=dissolve].transition-out{-webkit-animation:appear .8s reverse;animation:appear .8s reverse}[data-t8n^=shudder].transition-in{display:inline-block;-webkit-animation:shudder-in .8s;animation:shudder-in .8s}[data-t8n^=shudder].transition-out{display:inline-block;-webkit-animation:shudder-in .8s reverse;animation:shudder-in .8s reverse}[data-t8n^=rumble].transition-in{display:inline-block;-webkit-animation:rumble-in .8s;animation:rumble-in .8s}[data-t8n^=rumble].transition-out{display:inline-block;-webkit-animation:rumble-in .8s reverse;animation:rumble-in .8s reverse}[data-t8n^=boxflash].transition-in{-webkit-animation:box-flash .8s;animation:box-flash .8s}[data-t8n^=pulse].transition-in{-webkit-animation:pulse .8s;animation:pulse .8s;display:inline-block}[data-t8n^=pulse].transition-out{-webkit-animation:pulse .8s reverse;animation:pulse .8s reverse;display:inline-block}[data-t8n^=slideleft].transition-in{-webkit-animation:slide-left .8s;animation:slide-left .8s;display:inline-block}[data-t8n^=slideleft].transition-out{-webkit-animation:slide-right .8s reverse;animation:slide-right .8s reverse;display:inline-block}[data-t8n^=slideright].transition-in{-webkit-animation:slide-right .8s;animation:slide-right .8s;display:inline-block}[data-t8n^=slideright].transition-out{-webkit-animation:slide-left .8s reverse;animation:slide-left .8s reverse;display:inline-block}[data-t8n^=slideup].transition-in{-webkit-animation:slide-up .8s;animation:slide-up .8s;display:inline-block}[data-t8n^=slideup].transition-out{-webkit-animation:slide-down .8s reverse;animation:slide-down .8s reverse;display:inline-block}[data-t8n^=slidedown].transition-in{-webkit-animation:slide-down .8s;animation:slide-down .8s;display:inline-block}[data-t8n^=slidedown].transition-out{-webkit-animation:slide-up .8s reverse;animation:slide-up .8s reverse;display:inline-block}[data-t8n^=flicker].transition-in{-webkit-animation:flicker .8s;animation:flicker .8s}[data-t8n^=flicker].transition-out{-webkit-animation:flicker .8s reverse;animation:flicker .8s reverse}[data-t8n$=fast]{animation-duration:.4s;-webkit-animation-duration:.4s}[data-t8n$=slow]{animation-duration:1.6s;-webkit-animation-duration:1.6s}
</style>
</head>
<body>
<tw-story></tw-story>
<tw-storydata name="TGS Experiences" startnode="1" creator="Twine" creator-version="2.3.8" ifid="A9FD09F3-1FFD-437A-BDA1-51B5063BCBB3" zoom="1" format="Harlowe" format-version="3.1.0" options="" hidden><style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style><script role="script" id="twine-user-script" type="text/twine-javascript"></script><tw-passagedata pid="1" name="Home" tags="" position="725,225" size="100,100">###Welcome!
Many international students who consider Yale-NUS College also consider enrolling in the Tuition Grant Scheme (TGS).
For many, the TGS is the first serious contract they ever sign. Further, the obligations that it comes with reach further into the future than they are used to planning for. No doubt this is stressful. That said, with a little planning, the TGS can be a terrific deal that reduces the short- and long-term financial burdens of college.
###This Website
Students often have very specific questions about what is possible under the TGS, why others made certain choices, and how various negotiations actually work out on the ground.
This website is a simple decision tree that helps you see, vicariously, some of the ways in which Yale-NUS students have managed the TGS in the past.
Go ahead and click through the various decisions to get a sense of what possibilities have already been explored by past students. At the end of most paths, you will find a short testimonial written by a Yale-NUS alumnus. In the cases where it proved hard to find a real-life account, I have laid out a (hopefully) balanced list of reasons why such a path may make sense.
###The decision tree starts [[here->During Admission]].
###FAQ
I have put a standard FAQ about the TGS [[here->General FAQ]]. Please look through this if you have questions about the basic "deal". If your questions are not answered by this FAQ, you could also consider contacting Ms Shien-Min Teo at CIPE.
###Disclaimer
I can almost guarantee that all the information you will read here came from a place of love and care, and is honest to the best of everyone's ability. However, some features of the TGS will inevitably change with time, and so some of this information may slowly become dated.
###Credits
Built in April 2020 by Anshuman Mohan (Class of '17 and Alumni Council 2019-21). Many thanks to all the testimonial-writers, and to the amazing staff at Yale-NUS CIPE and Yale-NUS Admissions.</tw-passagedata><tw-passagedata pid="2" name="During Admission" tags="" position="800,375" size="100,100">###During Admission
As part of enrolling at Yale-NUS, a student needs to tell Admissions her TGS decision. Note that once she has turned the TGS down, she cannot go back on it. However, if she takes up the TGS, there are opportunties for flexibility at various points in her academic and working life. The tree explores eventually explores these further.
Anyway, when it comes to actually accepting her offer, the student will either [[sign->Signed Bond]] the bond, or [[not->Did Not Sign Bond]].</tw-passagedata><tw-passagedata pid="3" name="General FAQ" tags="" position="575,225" size="100,100">###General FAQ
Perhaps we could just hyperlink to a standard FAQ that CIPE already uses?</tw-passagedata><tw-passagedata pid="4" name=" Paused With The Intention of Coming Back" tags="" position="975,1150" size="200,100"># Pausing, Coming Back
Another feature of the TGS is that it can be "paused" for educational purposes. Pausing the bond is a bit of a process, and most importantly it involves leaving a substantial sum of money with the MOE, which a graduate can get back after she returns to Singapore and starts a job.
Luckily there is a **<a href="https://anshumanmohan.github.io/TGS-exp/bankers-guarantee-guide.html" target="_blank" style="text-decoration: none">good guide</a>** about this.
[[Carmen Denia '17->Carmen]] left Singapore for a Masters degree immediately after graduating from Yale-NUS, and then returned to Singpaore to start her fist job.
[[Yihao Xie '17->Yihao]] worked in Singapore for a year, then paused his bond to pursue a Masters. He eventually decided not to return to Singapore, and discharged his financial obligations remotely.</tw-passagedata><tw-passagedata pid="5" name="Yihao" tags="" position="1100,1275" size="100,100">###Yihao's Testimonial
**Story**
I was leaving for the U.S. to do a 1-year Master's degree after working for close to a year towards my TGS.
**Process**
I deferred my bond by going online, filling out some forms, photocopying some paperwork, preparing the money, visiting a bank, and eventually submitting everything to MOE before leaving Singapore. This process took me around 5 weeks.
**Reasons**
My reason for deferring, instead of outright buying out of the TGS, was simple: if things did't go well for me in the US post-graduation, I could return to Singapore to find a job and not lose my banker’s guarantee (more than S$50k in my case). In the end I found a job in the US, and wrote to MOE about my decision. At this point they simply took the banker's guarantee that I had deposited before I left, and my TGS was done and dusted.
**Takeaways**
So if you're going abroad for further studies, and you think Singapore just maayy be your destination after your studies, my recommendation is to defer and not buy out. You pay some small sum of money for bank commission etc., but it's nothing compared to the $$ you can save. Plus, compared to other kinds of bureaucratic red tape that foreigners would have to jump through, the TGS was very straightforward. MOE was responsive and helpful.
**Tip**
When you apply for a bond deferral, the MOE will ask for the exact date when you'll leave your Singapore job. They need this in order to precisely “pause” your bond-working timer and figure out precisely how much you owe the MOE (in time), and therefore how much your banker’s guarantee should be (in dollars). Figuring out this end date is a bit tricky because you don’t typically know your last day until you resign at your job. This means you’ll need to do some negotiation and explanation with your HR department.</tw-passagedata><tw-passagedata pid="6" name="Carmen" tags="" position="950,1275" size="100,100">###Carmen's Testimonial
Ciao! My name is Carmen and I am from the Class of 2017. I majored in Literature, and it was at Yale-NUS that I fell in love with theology and the arts of pre-modern Western Europe. (For context, I matriculated with plans to be a physics major, so my, my how things have changed! Hehe.) In senior year, I felt that I wanted just a little bit more of the academic life before working, so I decided to pursue a master’s degree in Religion and the Arts immediately after college.
A few factors allowed me to make this choice:
0. I deferred the TGS work obligation instead of buying out the TGS because, at the time, I was hoping to reside permanently in Singapore. Having lived in Singapore since high school, I saw the MA as just a brief break from my then long-term plan to stay in Singapore. I also had no intention to pursue doctoral studies.
0. A series of unusual circumstances meant that I could borrow from someone the whole Banker’s Guarantee (BG) sum. This was and remains a great gift, without which I could not have secured the deferral.
0. The Institute of Sacred Music, together with Yale Divinity School, offers generous funding, which is quite uncommon in the world of master’s degrees. The Institute’s support for my studies meant that doing the MA would not add to my student debt.
I raise these points because a few members of staff and some of my kin did dissuade me from pursuing the MA, and I can see where they were coming from. Their reasons ranged from doubts about the value of an advanced degree in the humanities to whether I should just finish the work obligation first, so that if I decided to do a PhD right after finishing the MA, I could continue because MOE guidelines require TGS holders to work in Singapore between deferrals for study. Others highlighted that deferring would be a rather financially burdensome choice. However, the factors listed above meant that I had the means to go on the program and to come back to Singapore. All things considered, it was prudent and a joy to take on this exciting opportunity.
What I had not fully anticipated when I left were the logistical challenges in returning. These are not so bad that I would discourage deferring for an MA — going for mine is perhaps one of the best choices I have ever made, though that’s a discussion for another day :) — but some strategising and tolerance for uncertainty will serve well the returning TGS holder. Here were some things I worked through back then:
0. There are two main things I was looking for upon returning to Singapore (other than a good plate of ayam penyet): a place to stay and a job. Getting a job during my final year of the MA could have been more efficient because if one receives an employment offer while still overseas, one could enter Singapore through the same processes that bring in many other workers. The systems for entering the country, renting a place, getting a new phone line, etc. can account for someone entering with employment.The main disadvantage I saw in searching for a job during my final year of study is that I would have less time and mental space for my studies, professors, and friends, who had all grown dear to me. As I wanted to savour the last months in New Haven, I decided not to apply for jobs until I arrived in Singapore.
0. Now this decision was the root of a number of challenges I faced upon my return. These were not insurmountable and if I had to do it all over again, I would make the same decision, but I do admit that the compounded effect of juggling the next few points was somewhat stressful.
0.0. Just re-entering Singapore can be challenging and here I do not mean the ICA officers at Changi Airport. Before I could take my flight from Chicago to Singapore, the US airport staff wanted to see either an exit ticket (leaving Singapore) or some kind of pass to stay in Singapore. I believe that this is standard practice for foreigners travelling to Singapore, which was why months before graduation from Yale, I had already requested from MOE a letter on official letterhead stating why I was entering Singapore on a short-term pass without an exit ticket. MOE said that the e-mail they were going to send before my graduation would suffice. This e-mail was an automated reminder that I had to return to Singapore (specifically, I had to submit a signed document at the MOE building) within the month after graduation or lose the BG. However, as it was not on MOE’s letterhead, the staff at my departure airport were not keen to let me on the plane, and I was only allowed to fly after speaking with a senior member of staff. As such, I would recommend bringing along a copy of the bond deferment approval, which MOE would have sent you at the start of your deferral, and your TGS contract. You may still have to face a difficult conversation at the airport, but at least you will have additional material to back up your story. An alternative is to have an exit ticket heading to a country that you can reside in soon after you return to Singapore, but I did not get one as I was planning to look for a job while living in Singapore.
0.0. It could be helpful to apply for an Long-Term Visit Pass (under the category for “Graduate from an Institute of Higher Learning Seeking Employment in Singapore”) immediately upon your return. It seems that one has to be in Singapore to apply for the LTVP because the application form asks for the number on your disembarkation card, but applicants can travel once the electronic application has been submitted. If you are planning to stay in Singapore while it is being processed, the processing time can be quick, but legally it can take up to 6 weeks, so you have to keep track of and possibly extend your Short Term Visit Pass (the STVP, which a tourist receives upon arrival and usually lasts for 30 days).
0.0.0. It might help to avoid travelling out of Singapore until you have secured a LTVP so you will not have to go through this scenario with multiple airport staff members, but for what it is worth, I did have to travel a few times without having an LTVP yet and survived, so it is possible, just tedious and a slightly nerve-wracking to answer each airport’s questions.
0.0.0. Small pro-tip: Since the passport that I held in Singapore expired while I was overseas, I had to e-mail the ICA my new passport number before applying for the LTVP because the ICA’s electronic application system matches the previous passport number to one’s FIN, but an expired passport cannot be used to apply for an LTVP.
0.0.0. A second pro-tip: If you cancel your LTVP application even at the point of fulfilling LTVP formalities at the ICA, they will refund the fees. At least, my very kind ICA officer refunded mine because my Employment Pass (EP) was approved on the same day that my LTVP was approved, so I did not need the LTVP anymore.
0.0. One may have to get a little creative with finding a place to stay. I had the good fortune of being able to stay somewhere without having to show an LTVP/EP/S Pass immediately. That is not quite a common situation in the Singapore housing scene because many lessors do require such passes. If you are fortunate enough to be able to find a place that lets you stay without detailed documentation or perhaps you stay with friends for a while, one possible challenge is not having a way to provide proof of local residence (e.g. utility bills might not be in your name if you do not have one of these passes and utility bills are often used as proof of residence). Such documentation would be needed in tasks like updating bank account information or getting a postpaid phone line. In case you were wondering, MOE will not be able to write a letter on one’s behalf regarding one’s address or living situation (I know because I tried asking hehe.)
0.0. Speaking of banks, I shall not be able to go into great detail on this because every bank operates differently, but I would strongly recommend ensuring before you leave that your debit card will expire well after your return and that your internet banking app functions well. Otherwise, getting access to your money can get tricky. Note that to access the BG funds, you will have to pick up a release document in person from MOE.
0.0. If you are financially responsible for yourself, it probably goes without saying that living in Singapore without a job means paying Singapore prices without an income. (Yikes.)
Reflecting on the first few months of my return, I realise that the situation today is quite different for those considering a similar path. As I write this in early 2020, the graduating seniors of Yale-NUS are facing an economy and graduate studies scene finding its bearings after global struggles, and that must be terribly daunting, indeed. Apart from a listening ear and directing you to CIPE’s expert care, all I can offer are two guiding stars that were invaluable to me as I navigated life post-deferral.
The first was to remember that I am never alone. Conversations with CIPE and loved ones helped me articulate the challenges at hand and how to face them. A cloud of concerns can seem overwhelming until one sits with a trusted friend and pins down the lightning bolts: What exactly are the MOM regulations or industry limitations that I am struggling to follow? When am I actually running out of money? What are my due dates for getting the different passes? To the friends, mentors, and family who held me through that time, I remain ever grateful; I hope you, my reader, will also reach out to those who love you and want what is best for you as you make important decisions.
The second guiding star was to find joy in embracing patience. Returning for the work obligation involved a lot of waiting: waiting for e-mails, ideas, permission, news, results, and rejection. Patience was necessary when a bureaucrat could not sympathise with my request. Patience was also necessary for me to remember that the person at the other end of the line was probably struggling to comply with their own restrictions. And I had to be patient with myself because the ways that I had flourished overseas made re-acclimating to Singapore harder than I could have imagined. But joy was ever-present in growing through situations as they came. There was joy if I made time daily for the little things, such as books, music, phone calls, new places, or favourite snacks. And my joy was deepened when I recalled the gift that it was to have had a few extra years of study — the very same years which prepared me to keep cultivating a life of the mind until today.
J.R.R. Tolkien in The Lord of the Rings mentions that even the very wise cannot see all ends, so I would hesitate for anyone to think that my story is over or the definitive story for anyone else thinking about deferring the TGS work obligation for further studies. But I hope that this (lengthy and logistical) account can be an encouragement for those who would like to study a little longer before working. It has been done and done happily! Truth be told, I no longer plan to reside in Singapore in the long-term, but I am here for now because I would like to contribute to a country that has given me so much over the years; I am grateful that I have more to give because of having been away for a while. I hope that you too, my reader, will have the opportunities and support you need to grow, to dream, and to flourish wherever the TGS might take you.
</tw-passagedata><tw-passagedata pid="7" name="Signed Bond" tags="" position="650,375" size="100,100">###Signed the bond
In order to accept the bond, a student must indicate to Admissions that she accepts Yale-NUS's offer including the TGS. Then, on a fixed date in her first semester, she is called in to actually sign the paper contract of the bond. Signing the bond leaves college life largely unaffected, except of course for those sweet savings in every semester's bill.
###Caution
At the risk of editorializing, a word of advice: please do not try to optimize your entire college experience into a quest towards a high-paying job with which to serve the TGS. College, especially the liberal arts variety of college, is designed for exploring.
###Liquid state
One of the greatest features of the bond is that it is liquidisable. That is to say, a graduate's three-year *time* obligation can be converted, at a fair rate, into a *monetary* obligation. She can discharge this cash obligation with cold hard cash, and is then free to leave Singapore and continue her life anywhere in the world. In this tree I'm calling this process "buying out of the TGS".
###Buying out while at YNC
A student may decide during college that the TGS is not the best for her after all. More about this [[here->Bought Out During College]].
###Graduating with the TGS
Most students, however, [[graduate with the TGS in play->Graduated with TGS]]. Read on to see what adventures they get up to.</tw-passagedata><tw-passagedata pid="8" name="Did Not Sign Bond" tags="" position="950,375" size="200,100">###Choosing not to sign the bond
While a large number of international students start at Yale-NUS on the TGS, it is also perfectly reasonable to elect not to! The basic process is simple: when accepting her admission offer, the student just indicates to Admissions that she doesn't want to be on the bond.
Her tuition bills every semester will be the full tuition cost, minus any scholarships and aid has have received. When she graduates, she will have no financial- or time-based obligations towards Singapore.
###A few reasons for not signing the bond:
0. The tuition fee reduction is not important to the student and/or her family, and she would rather just have a traditional college experience without a work obligation at the end
0. She is strongly considering a career path that does not have good job prospects in Singapore
0. She already has firm post-college plans that require her to move away from Singpore after graduating from Yale-NUS. A few examples:
* She is dead-set on following a career trajectory that needs her to stay in school pretty much continuously from your undergraduate years onwards. Examples of this include medical school, law school, and academia. Note, however, that it is still possible to follow these paths while on the bond; explore the tree to see how others have done this
* She has family/other obligations in some other country. Examples include parental care and business interests
###After college
After graduating without the bond, a graduate either [[leaves->Left Singapore After College]] Singapore, or continues to [[stay->Stayed in Singapore Without Bond]] in Singapore even without the TGS's work obligations.</tw-passagedata><tw-passagedata pid="9" name="Left Singapore After College" tags="" position="1075,500" size="100,100">###Leaving Immediately After Graduation
As noted in the previous page, a student who turns down the bond usually does so because, during admission, she has strong reasons to be in some other country after graduating. Provided those reasons remain in play when they graduate, it makes sense that she leaves Singapore to pursue those opportunties.</tw-passagedata><tw-passagedata pid="10" name="Stayed in Singapore Without Bond" tags="" position="925,500" size="100,100">###Staying on Singapore while not serving the TGS
There are several reasons a graduate may stay on in Singapore although she is not on the TGS. A few anectodal reasons:
0. She finds that her social and professional networks are strongest in Singapore
0. She finds a great job after searching globally, and the location just happens to be Singapore
0. She has a longterm plan to enter academia, so she gains experience and improves her credentials by working under a Yale-NUS or NUS professor for a few years, and applies a few cycles later</tw-passagedata><tw-passagedata pid="11" name="Brian" tags="" position="375,500" size="100,100">###Brian's Testimonial
**Story**
I decided to break my TGS at the end of my sophomore year. This meant that I had to repay ("buy out") the amount I had received from the MOE over two years, and then pay additional tuition for my remaining two years at Yale-NUS. The additional two years were smooth; my tuitions fees were just appropriately higher every semester.
**Why**
At the time, I was still a little unsure about whether to continue with the grant since, while I was relatively sure I would attend graduate school of some kind in the US after graduating, I had also been told I could potentially defer the grant for after graduate school (I’ve since found out that this deferment requires effectively giving them the full TGS amount to hold, not just a deferral request). In the end, my parents decided to pay it off for me to keep my options open - we reasoned that an obligation to return to Singapore right after graduate school was more likely to be restrictive than beneficial and, if we were going to pay it off at any point, it was best to do it as early as possible to avoid interest.
**Issues**
I was definitely in a privileged position since my parents could cover the TGS amount, having set aside enough money to cover a more expensive US college tuition. I hit a small bump in the road when the bill the MOE sent me was egregiously off - the Yale-NUS office helped me work it out pretty painlessly and the process as a whole was relatively straightforward.
**Next**
After graduation, I attended a one year post-baccalaureate program to get pre-medical coursework under my belt, worked for a year in clinical research to apply for medical school, and am currently a first year medical student. This particular route would have been very difficult to take with the TGS, because the year of clinical research would have counted as my “first job”, and the only way to legally take that job would have been to somehow buy out of TGS as soon as I graduated from my post-baccalaureate program.
**Takeaway**
Buying out of the TGS early made the bulk payment more manageable since it saved me a good deal of money in interest. The saved interest is definitely the biggest advantage of breaking the TGS so early on, but it comes with the cost of missing out on some immense savings if you somehow find yourself working in Singapore later on!</tw-passagedata><tw-passagedata pid="12" name="Graham" tags="" position="525,500" size="100,100">###Graham's Testimonial
**Logistics**
I signed and remained on the TGS through till my 8th (final) semester of college, when I used a Yale-NUS assisted loan program to break out of and repay the liquidated damages of the TGS in full. This loan program may not exist anymore, so please don’t assume that this will still apply. The amount repaid was the prevailing subsidy of SGD$15,000 per year (for four years), plus retrospective interest on the TGS subsidy from the previous four years amounting to SGD$11,686, making the total damages SGD$71,686 (only applicable to Class of 2017). This amount was converted into a DBS Education loan in my personal DBS bank account, with interest being charged at the mid-market rate of DBS, UOB, and OCBC (around 4-5% per annum) after my graduate studies ended. I was not charged interest during grad school, though I’m unsure if that was a feature of the DBS Education loan, or the loan specially arranged through Yale-NUS.
**Backstory**
Now, some backstory which I hope will be helpful to those of you considering my path. I chose to break out of the TGS because I intended to pursue graduate school overseas, and at the time, I did not believe I would return to Singapore in the short-term future. Ideally, I would have used a Banker’s Guarantee to defer the bond, to at least allow myself the possibility of returning to Singapore and fulfilling the TGS after grad school. As you may know, however, the Banker’s Guarantee requires that you hand over the entire lump sum of liquidated damages to the MOE to hold in a locked account until you return to Singapore and begin fulfilling the TGS. This was not financially feasible for me or my family – we couldn’t afford to lock up almost \$72k for years on end, nor could we obtain a private or bank loan of that size. This means that in order to attend grad school immediately after college, I needed to break out of the TGS entirely.
After finishing my graduate studies, it so happened that my next career step landed me back in Singapore. This was completely unforeseen, and of course, if I had had any inkling of this possibility, I would have gone to much greater efforts to defer the TGS and somehow secure a Banker’s Guarantee. But such is life. We make the best decisions we can with the information we have.
**Advice**
To those set on grad school, consider whether you need to attend the instant you graduate, or whether that advanced degree could perhaps wait a few years, without much long-term difference. Three years is a blink in the larger scope of your career. Also, remember that the TGS is fulfilled on a prorated monthly basis, meaning you can work a year or two and pay off the rest (then still go to grad school). If you feel that grad school must be your immediate next step, and have good reasons to back that up, then by all means go for it. Do your best to defer the TGS and secure a Banker’s Guarantee, if you can, just to allow yourself that possibility of returning to SG and working it off (PhDs are a possible exception here, as they’re too long to bet on a return to SG). But if finances make the deferral impossible, as happened for me, know that it’s not the end of the world, either. The TGS debt will set you back some years in terms of financial goals and long-term savings, yes, but it’s not a financial death sentence. I have been working for two years while paying $750 per month on my DBS Education loan, but have still built decent savings, and hope to repay the loan in a full lump sum payment within the next year or two, at most.
Everyone’s position and priorities in navigating life and finances post-college will be different, so there is no right answer here. Weigh everything as carefully as you can, hear out different stories (as you’re doing now, kudos), and know that one way or another, you’ll come out just fine. </tw-passagedata><tw-passagedata pid="13" name="Graduated with TGS" tags="" position="675,625" size="200,200">###Graduating with the TGS
A student who signs the TGS usually does so with the intention of graduating with the bond in place. Being on the TGS does **not** mean that she cannot leave Singapore, nor does it mean that she must start work immediately.
The basic deal is straightforward: her *first job(s)* should be with a Singapore-registered company, meaning that she draws her salary in Singapore Dollars and pays taxes in Singapore.
On the ground, this is administered via the start day listed on her work pass. Starting from then, if she works for 36 months, she will owe the government nothing. If she changes jobs, or is not on a work visa for some other reason, this "timer" will pause and resume appropriately. There are some finer points here, but a simple way to see it is that she must draw an SGD salary for 36 full months.
###Work Passes
A work pass is essentially a national ID card, and is required in order to legally work in Singapore. There is some nuance to this, and you may want to read a [[litte more->Work Passes]] about the various kinds of passes.
###Flexibility within the TGS
A graduate does not have to serve the bond by working for 36 months. There are at least four main paths here, and some of these can be combined and "stacked" as appropriate.
0. She can [[buy out of the bond->Bought out of the Bond for Good]], with no obligation to work in Singapore in the future
0. For educational purposes only, she can [[pause -> Paused With The Intention of Coming Back]] the bond with the intention of returning to Singapore and resuming the bond
0. She can serve the bond [[outside of Singapore->Served (Part of) the Bond Outside of Singapore]]
0. She can, of course [[serve the bond entirely->Served the Bond All the Way]]</tw-passagedata><tw-passagedata pid="14" name="Bought out of the Bond for Good" tags="" position="1075,650" size="200,100">###Buying out of the TGS after having started it
While the TGS is a great deal, it should not come in the way of life. Several graduates have chosen to initially begin serving their time-based obligation via a job in Singapore, but to then convert their *time*-based obligation into a *monetary* obligation, discharge that obligation, and leave Singapore. The reasons range widely, as you will read soon.
Hear from an [[anonymous alum->Anon]] about how they worked on the Bond for one year, and then paid off the bond and left Singapore.
Hear also from [[Matthew Bolden '17->Matt]] about how a dream job in DC convinced him to leave Singapore after serving two years of his bond.</tw-passagedata><tw-passagedata pid="15" name="Served the Bond All the Way" tags="" position="375,1150" size="200,100">###Serving all the way
Some graduates choose to serve the TGS all the way to completion. Of course no one from Yale-NUS has done that yet, since the first graduation ever was less than three years ago. However, here are a few testimonials on people's future plans.
[[Kei Franklin '17->Kei]] is planning on taking a well-deserved break.
Some will [[leave Singapore->Left Singapore after TGS]] for a job elsewhere, while others will [[continue in Singapore->Stayed on in SG after TGS]], bond or no bond.
Others are off to grad school. [[Hoa->Hoa]] will start a professional masters, while [[Anshuman->Anshuman]] will start a PhD.</tw-passagedata><tw-passagedata pid="16" name="Anon" tags="" position="1200,775" size="100,100">###Anonymous Testimonial
**Story**
I had always looked forward to working in Singapore, and found a position after graduation in the technology sector in Singapore. However, after 18 months I chose to buy out the remainder of my bond (i.e. half the full amount).
**Reasons**
I was unhappy with my work environment but found that potential employers were usually unable to sponsor work visas. In contrast, I was able to find strong leads within a short period of time in my home country. More personally, I felt less tied to Singapore and wanted to be closer to home (a niece was born and there were more to come!). And financially, it became clear to me that the longer-term earnings from a better job opportunity elsewhere would outweigh the hit to my savings from the buyout. Looking back, I hadn’t realized how much economies, immigration policies, my personal circumstances, and even foreign exchange rates would change over the six years since I enrolled and these all played into whether or not it was “worth it” to stay or leave. I’m very glad I stuck around to explore the country differently after graduating, but I also know that choosing to leave when I did was the right decision for me professionally and personally.
**Challenges and Tips**
One challenge I had was that there were virtually no accurate records regarding the amount of liquidated damages I owed, either from the original contract or my financial aid/tuition records. The MOE office was very helpful in answering my questions over email and I was able to understand their calculations, but I highly recommended keeping records of the amount contributed to your tuition fees by the tuition grant each year. Lastly, for the buyout amount, every day counts (including weekends!), so keep that in mind when deciding on employment in Singapore.</tw-passagedata><tw-passagedata pid="17" name="Matt" tags="" position="1050,775" size="100,100">###Matt's Testimonial
Incoming</tw-passagedata><tw-passagedata pid="18" name="Left Singapore after TGS" tags="" position="300,1300" size="100,100">TODO</tw-passagedata><tw-passagedata pid="19" name="Stayed on in SG after TGS" tags="" position="425,1300" size="100,100">TODO</tw-passagedata><tw-passagedata pid="20" name="Bought Out During College" tags="" position="400,375" size="200,100">###Buying Out of the TGS while still a student at Yale-NUS
[[Brian Huang '17->Brian]] started Yale-NUS on the TGS, but then bought himself out of the bond, paying it off outright.
[[Graham Link '17->Graham]] started at Yale-NUS on the TGS, but, in his 8th semester, bought of the TGS. He used a loan to discharge the financial obligation.</tw-passagedata><tw-passagedata pid="21" name="Hoa" tags="" position="550,1300" size="100,100">###Hoa's Testimonial
**Reasons for Serving in Full**
I don’t think there was ever a doubt in my mind that I would take the bond, or finish the bond before proceeding to my next steps. There were two key decision-making factors:
0. Financial: Without the financial support that came with the TGS, I would not have been able to attend school at Yale-NUS College. Similarly, upon graduation, I would not have been able to attend graduate school without first working and saving up. Whether or not there was a bond, I would have needed to work anyway if I wanted to pursue higher education, and since I spent my university days in Singapore, it was easier to imagine working/pursuing work here than anywhere else.
0. Academic/professional: I consider myself a very non-academic person, so I have never considered getting a PhD (which is ironic because my first job was at a research center, but honestly I didn’t realise how academic credentials were so important in the research/think-tank world until I got there). If I would pursue higher-ed, it was at most a Masters. This conviction probably also came from fatigue after 4 years in university, but in any case it fits into my general logic that I would probably then need to spend some time working before figuring out which Masters I want to pursue, if it was not an academic/research Masters I was going for.
**Reflection on this plan**
And so I began my three years of serving the bond, spending half the time in a research institution, the other half in a strategy consulting firm. I applied to, and received an offer from, a Masters in Community and Regional Planning, following from my undergraduate degree in Urban Studies. To be honest, I have always known I wanted to go deeper into planning, which begs the question - what then were the three years of professional experience for, other than just serving the bond? Could I have deferred it, as some of my peers did, go for my Masters, get ahead of the game, and start my professional journey earlier on a path that I felt suitable for me?
The answer is, of course, yes, I could have done all of those things. And some people may deem me silly for not having made a move earlier. But I am able to speak to you with so much certainty now precisely because I had those three years - three years to figure out what I loved and didn’t love about the various career paths I have tried, three years to get over my school fatigue and to really crave this upcoming experience, three years to transition out of my college self into someone who thinks more independently instead of being constantly influenced by FOMO and peer pressure, three years to also figure out not just the school and the discipline I want to pursue, but the place I want to be in, the lifestyle that would give me the most fulfilment and peace. And with those three years, unlike the last time, I would be able to pursue this education, even if I don't get a single penny of aid. I am able to make an investment in myself, with the money I have made, and to be honest, that feels pretty darn good too.
So yes, there were definitely times when I feel a little trapped or when my time here feels pointless, especially when I think of these three years as just “fulfilling the bond,” but with all honesty, from the bottom of my heart, it was so much more. I think I would be shooting myself in the foot if I went for a professional Masters without any professional experience. More than knowing what skills I want and which tools I lack, now I know which area of work would give me purpose and joy, and that justifies my next steps more than anything else in the world.
</tw-passagedata><tw-passagedata pid="22" name="Anshuman" tags="" position="625,1175" size="100,100">TODO</tw-passagedata><tw-passagedata pid="23" name="Served (Part of) the Bond Outside of Singapore" tags="" position="275,650" size="200,100">Hear from [[John Reid '17->John]] and [[Sanjana Tadepalli '17->Sanjana]], both of whom served a portion of the bond outside of Singapore. </tw-passagedata><tw-passagedata pid="24" name="John" tags="" position="250,775" size="100,100">###John's Testimonial
I’ve had a somewhat wonky experience of the TGS, but it’s worked out pretty well for me.
**Background**
I graduated a semester later than the rest of my batch because I did one semester of NUS Overseas College in Beijing (would recommend 8/10), plus my final semester “studying abroad” in my hometown of Cape Town, South Africa (would recommend 10/10).
**Story**
During my final semester I started looking for jobs in Singapore, but the process was a bit slow because I wasn’t there in person. At the same time my then-girlfriend (now wife) had started a Princeton in Asia fellowship in Myanmar (would not recommend, 3/10, but only that particular posting). She was going to be there for at least a year, so I thought I might as well also look for a job in Myanmar. As luck would have it, a family friend was starting an early-stage investment company in Myanmar and needed someone that “knew tech stuff”. The company was registered in Singapore but operating in Myanmar, which is actually a very common structure for startups and investment firms across Southeast Asia. With a bit of research, I figured out that this would qualify for the TGS. I applied, got the job and spent the whole year of 2018 in Myanmar. It was a blast - quite a fun although chaotic and messy place to be.
**Challenges I faced**
0. You have to be much more determined to make the TGS work outside of Singapore. Here in Singapore people often have some awareness of the scheme given the number of foreigners studying here, and compliance doesn’t cost the companies anything. Out in Myanmar I had to constantly bug my boss to get the paperwork in order, and had an email thread 30+ replies long with Norvin and someone from MOE to make sure that this was legal.
0. Even then I got minorly screwed over because the first 3 months of my employment didn’t count as the investment company wasn’t yet officially incorporated. At the end of the day, the company had to specifically pay taxes on my behalf and get the tax documents signed.
0. Because you’re doing something outside of the norm, there will be a lot more uncertainty around the processes and requirements. You’ll have to read the TGS fine print and get official confirmation from someone at MOE that your time counted as valid service.
</tw-passagedata><tw-passagedata pid="25" name="Sanjana" tags="" position="400,775" size="100,100">###Sanjana's Testimonial
**Story**
Six months into my job, my company announced that they were opening a new office in my hometown of Bangalore, India. This was about a year and half into the bond and was my second TGS job. I was able to convince my bosses that I would be able to leverage “local knowledge” and would be the right person to send to open up the office. Two weeks later, I had moved back to Bangalore.
**Details**
How did I leave Singapore while on the TGS? A key thing to note here is that I was sent to India on a secondment. Broadly, this meant that I continued to work for the Singapore entity and was loaned as a resource to the Bangalore office. When I first landed in Bangalore, we didn’t have a registered entity in India, so being paid overseas was the only option, which made negotiating a secondment very easy. I didn’t need to update MOE - they told me that as long as I was getting paid and paying tax in Singapore, they didn’t need me to be in Singapore. I even held my usual Singapore Employment Pass. Since I am an Indian citizen, I didn’t need a work visa to be in India. In terms of the TGS, the move was very easy - I sublet my house in Singapore and took a flight. There were no other formalities.
The initial duration of my secondment was six months. After six months passed, I decided to continue in Bangalore and my secondment was extended. This is where things got slightly murkier for me on account of Indian law. Per indian regulations, I didn’t need to pay tax in India as long as I was out of the country for 182 days per financial year. Since I came to India in October, my time there spanned two financial years and I was able to stay in India for 11 months, thanks to some overseas work travel in the middle. However, at some point, time did run out and I needed to start paying tax in both countries. There is a tax agreement between Singapore and India that means you only pay tax in one country but I’m not sure how this affects the TGS.
Anyway, this wasn’t something I got to explore because after 11 months, the company I worked for no longer wanted to second me. This was for a number of reasons, the main one of which was company structure: the Indian office was independent of the Singapore office (both just answered to the London office directly), and the India team had grown from 2 to 11. They no longer felt the need to second a (relatively) expensive overseas resource and chose to send me back to Singapore instead. Perhaps things would have worked out differently if the India entity had been a subsidiary of the Singapore one.
When I first moved to Bangalore, the rationale was that I would save up money and pay off the bond once I could no longer work in the Bangalore office. In reality, spending an uncertain year in India made me crave the stability of work and social life in Singapore. Setting up an office is hard work - we were a team of 2 doing the same work that 8 people did in Singapore and the work culture in India was definitely an adjustment. I decided to come back to Singapore and look for another job in a completely different sector, which I eventually got and work at now.
**Takeaways**
Would I recommend doing this? Maybe. It is nice to have the flexibility to leave and return. A lot of how easy this is depends on the structure of your company. You can always be seconded to any entity, but for it to work in the long term, the place you work at ideally needs to be a subsidiary of the Singapore entity you are paid by. If you are considering this option, this is where I would start. Speak to your company’s legal team and make sure of the company structure. In my specific situation, this was not the case and it made navigating two legal/tax systems pretty complicated. As a result, it was an uncertain and disruptive year - I always had about three months of foresight and was constantly waiting for an email from a tax consultant or lawyer. This has a lot to do with Indian regulations as well - things vary wildly from country to country.
</tw-passagedata><tw-passagedata pid="26" name="S Pass Editorial Note" tags="" position="600,1000" size="100,100">###The S Pass
Instead of giving a single testimonial, here I have collated a few points that came up repeatedly when I spoke to alumni.
####Basics
0. After the Employment Pass (EP), the S Pass (SP) is perhaps the second most common for a graduate of Yale-NUS. The MOM's recommended salary minimum for an SP is meaningfully lower than for an EP, meaning it is "easier to get".
0. There is a fine line between exactly what kind of job qualifies for what pass, but, by and large, the SP is designed for "mid-skilled workers", typically in vocational jobs in industries such as shipping and construction.
0. One consequence of the above is that the SP comes with certain protections. For example, if you're on an SP your employer has to pay for your health insurance. This is not the case for EP holders.
0. Depending on the sector of your work and the number of foreign workers on SP (FWOSP) your employer already has, your employer has to pay a cash levy to the government in addition to paying you your salary. The levy increases as the percentage of FWOSP increases for that company.
####Navigating the Pass
0. Usually the employee is not deciding what work pass they get. The employer decides whether to apply for SP/EP/both. If they choose both, it's up to the MOM to characterize the worker. If you hit the criteria for EP, or are close to hitting it, just apply for EP. If you're far, just click both so you at least get something.
0. It is possible to later convert from an SP to an EP, usually motivated by a raise at work. In such a case, your employer should just apply for an EP withouth cancelling the existing SP. If the EP is apporoved, it just carries over.
####Red Flags
0. There are a few crooked things that a company may try to do to avoid paying the levy. For example, there's a particular levy upto 10% FWOSP, but a higher levy (nearly double!) for 10%-13% FWOSP. If you are the hire that would tip them over the bar, the company may try to pay you EP rates to get you an EP and save the levy, but then ask you to pay them some money back every month. This is a bad idea.
0. The same is also possible if the company is already at 13% FWOSP, and thus cannot hire any more FWOSP. They can, however, hire more FWs on EP. So again, they pay you a higher amount on paper, get you an EP, and ask you to pay them back every month. Bad idea.
0. Remember, this is a percentage, with a numerator and a denominator. So sometimes you could be in a situation where the moment a Singaporean colleague quits, you trip up the FWOSP percentage and need to be fired. Avoid such situations.</tw-passagedata><tw-passagedata pid="27" name="EntrePass Testimonial" tags="" position="725,1000" size="100,100">###Hrishi's Testimonial
Incoming</tw-passagedata><tw-passagedata pid="28" name="EP Editorial Note" tags="" position="850,1000" size="100,100">TODO</tw-passagedata><tw-passagedata pid="29" name="Work Passes" tags="" position="675,875" size="200,100">###Work Passes
In addition to a national ID, a work pass serves as:
* a legal right to live and rent in Singapore
* a long-term visa to Singapore
* a "timer" of how long one has worked in Singapore, as explained before.
There are three broad kinds of work pass, and there are a few nuances to each of them. They are: the [[S Pass->S Pass Editorial Note]], the [[EntrePass->EntrePass Testimonial]], and the [[Employment Pass->EP Editorial Note]]. </tw-passagedata><tw-passagedata pid="30" name="Kei" tags="" position="225,1175" size="100,100">###Kei's Testimonial
**Reasons for Serving in Full**
I decided to serve the entirety of my TGS for several reasons:
0. Financially, it seemed like the wisest choice, and I relished the thought of being able to walk away from college debt-free, and possibly even with savings.
0. I thought it could be fun to be in Singapore for three years after college with friends from YNC.
0. Three years of working experience seemed like a good opportunity to understand what ‘the working world’ is actually like, and where I might fit into it.
**Thoughts on Those Reasons**
Reflecting on these three initial intentions, I’d say:
0. I’m very grateful to be leaving Singapore with no debt, and with some savings. This has allowed me to feel liberated in relation to my parents (having not burdened them financially) and to feel like I have many more options in terms of next steps, given that I have some savings. I’ve managed to accrue savings even while living a healthy and good life, and choosing to work in sectors that do not pay very well. It is very possible!
0. Without a strong community and network of friends also serving their TGS bonds, I do not think Reason 1 would have been enough to keep me in Singapore. Living with -- and transitioning into working life alongside -- many dear friends from YNC has ended up being a major highlight of this time. Some friendships have gotten even stronger, and all of them have changed in fascinating and precious ways. This time period has really cemented for me many friendships and a sense of community that I now trust will be lifelong.
0. In my three years of serving the TGS bond, I’ve worked in the public, social, and private sectors. While these work experiences were each challenging for different reasons, they also gave me a good sense of the many different faces of ‘working life’, and where I might like to position myself professionally moving forward. Before graduating, I knew what I found interesting (the kinds of ideas, issues, and people that I resonated with) but I did not know how this translated into ‘a job’. I suppose I see the last three years as a process of figuring that out, in an experiential trial-and-error kind of way. In my TGS working experiences I’ve developed a lot of professional confidence, skills, and insight that have served (and I would imagine will continue to serve) me well in each subsequent workplace. I’ve also grown my professional networks extensively - a resource that I know will be very valuable in future.
**Next Steps**
Now that I’m approaching the end of my TGS, I’m planning to take a pause in order to figure out what to do next. I feel like I’ve been very progress- and future-oriented these past 7 years, prioritising my personal and professional development quite rigorously. It’s now time to step back and reflect (...the part where you chew and digest all the food you’ve been stuffing into your mouth...) in order to take stock and decide what I want to do next. I may travel, I may spend time with family, I may try and ‘do nothing’ for a few months. I imagine in the future I may end up pursuing further education or training, or jumping into a new professional role that feels aligned with my interests and skills. For now, though, I feel very content to take a pause in order to consider and consolidate all that I’ve learned and decide on my next steps with clarity.
If I don’t take this pause now, I know that there’s a risk it will never happen. I’ve met so many older professionals and mentors who have also endorsed this choice saying that they had once wanted to take a similar ‘break’ but had never made the time for it, and thus the opportunity flew by and it never happened. </tw-passagedata></tw-storydata>
<script title="Twine engine code" data-main="harlowe">"use strict";function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var _slicedToArray=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){/**
* @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
* Released under MIT license, http://github.com/requirejs/almond/LICENSE
*/
var requirejs,require,define;!function(e){function t(e,t){return v.call(e,t)}function n(e,t){var n,r,i,o,a,s,c,u,l,f,p,d,h=t&&t.split("/"),g=y.map,m=g&&g["*"]||{};if(e){for(e=e.split("/"),a=e.length-1,y.nodeIdCompat&&w.test(e[a])&&(e[a]=e[a].replace(w,"")),"."===e[0].charAt(0)&&h&&(d=h.slice(0,h.length-1),e=d.concat(e)),l=0;l<e.length;l++)if("."===(p=e[l]))e.splice(l,1),l-=1;else if(".."===p){if(0===l||1===l&&".."===e[2]||".."===e[l-1])continue;l>0&&(e.splice(l-1,2),l-=2)}e=e.join("/")}if((h||m)&&g){for(n=e.split("/"),l=n.length;l>0;l-=1){if(r=n.slice(0,l).join("/"),h)for(f=h.length;f>0;f-=1)if((i=g[h.slice(0,f).join("/")])&&(i=i[r])){o=i,s=l;break}if(o)break;!c&&m&&m[r]&&(c=m[r],u=l)}!o&&c&&(o=c,s=u),o&&(n.splice(0,s,o),e=n.join("/"))}return e}function r(t,n){return function(){var r=b.call(arguments,0);return"string"!=typeof r[0]&&1===r.length&&r.push(null),f.apply(e,r.concat([t,n]))}}function i(e){return function(t){return n(t,e)}}function o(e){return function(t){h[e]=t}}function a(n){if(t(g,n)){var r=g[n];delete g[n],m[n]=!0,l.apply(e,r)}if(!t(h,n)&&!t(m,n))throw new Error("No "+n);return h[n]}function s(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function c(e){return e?s(e):[]}function u(e){return function(){return y&&y.config&&y.config[e]||{}}}var l,f,p,d,h={},g={},y={},m={},v=Object.prototype.hasOwnProperty,b=[].slice,w=/\.js$/;p=function(e,t){var r,o=s(e),c=o[0],u=t[1];return e=o[1],c&&(c=n(c,u),r=a(c)),c?e=r&&r.normalize?r.normalize(e,i(u)):n(e,u):(e=n(e,u),o=s(e),c=o[0],e=o[1],c&&(r=a(c))),{f:c?c+"!"+e:e,n:e,pr:c,p:r}},d={require:function(e){return r(e)},exports:function(e){var t=h[e];return void 0!==t?t:h[e]={}},module:function(e){return{id:e,uri:"",exports:h[e],config:u(e)}}},l=function(n,i,s,u){var l,f,y,v,b,w,x,T=[],S=void 0===s?"undefined":_typeof(s);if(u=u||n,w=c(u),"undefined"===S||"function"===S){for(i=!i.length&&s.length?["require","exports","module"]:i,b=0;b<i.length;b+=1)if(v=p(i[b],w),"require"===(f=v.f))T[b]=d.require(n);else if("exports"===f)T[b]=d.exports(n),x=!0;else if("module"===f)l=T[b]=d.module(n);else if(t(h,f)||t(g,f)||t(m,f))T[b]=a(f);else{if(!v.p)throw new Error(n+" missing "+f);v.p.load(v.n,r(u,!0),o(f),{}),T[b]=h[f]}y=s?s.apply(h[n],T):void 0,n&&(l&&l.exports!==e&&l.exports!==h[n]?h[n]=l.exports:y===e&&x||(h[n]=y))}else n&&(h[n]=s)},requirejs=require=f=function(t,n,r,i,o){if("string"==typeof t)return d[t]?d[t](n):a(p(t,c(n)).f);if(!t.splice){if(y=t,y.deps&&f(y.deps,y.callback),!n)return;n.splice?(t=n,n=r,r=null):t=e}return n=n||function(){},"function"==typeof r&&(r=i,i=o),i?l(e,t,n,r):setTimeout(function(){l(e,t,n,r)},4),f},f.config=function(e){return f(e)},requirejs._defined=h,define=function(e,n,r){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");n.splice||(r=n,n=[]),t(h,e)||t(g,e)||(g[e]=[e,n,r])},define.amd={jQuery:!0}}(),define("almond",function(){}),function(e,t){"object"===("undefined"==typeof module?"undefined":_typeof(module))&&"object"===_typeof(module.exports)?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e,t,n){n=n||ce;var r,i,o=n.createElement("script");if(o.text=e,t)for(r in Te)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function r(e){return null==e?e+"":"object"===(void 0===e?"undefined":_typeof(e))||"function"==typeof e?he[ge.call(e)]||"object":void 0===e?"undefined":_typeof(e)}function i(e){var t=!!e&&"length"in e&&e.length,n=r(e);return!we(e)&&!xe(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function a(e,t,n){return we(t)?Se.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?Se.grep(e,function(e){return e===t!==n}):"string"!=typeof t?Se.grep(e,function(e){return de.call(t,e)>-1!==n}):Se.filter(t,e,n)}function s(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function c(e){var t={};return Se.each(e.match(Me)||[],function(e,n){t[n]=!0}),t}function u(e){return e}function l(e){throw e}function f(e,t,n,r){var i;try{e&&we(i=e.promise)?i.call(e).done(t).fail(n):e&&we(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}function p(){ce.removeEventListener("DOMContentLoaded",p),e.removeEventListener("load",p),Se.ready()}function d(e,t){return t.toUpperCase()}function h(e){return e.replace(qe,"ms-").replace(Fe,d)}function g(){this.expando=Se.expando+g.uid++}function y(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Be.test(e)?JSON.parse(e):e)}function m(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(We,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=y(n)}catch(e){}$e.set(e,t,n)}else n=void 0;return n}function v(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return Se.css(e,t,"")},c=s(),u=n&&n[3]||(Se.cssNumber[t]?"":"px"),l=e.nodeType&&(Se.cssNumber[t]||"px"!==u&&+c)&&Ue.exec(Se.css(e,t));if(l&&l[3]!==u){for(c/=2,u=u||l[3],l=+c||1;a--;)Se.style(e,t,l+u),(1-o)*(1-(o=s()/c||.5))<=0&&(a=0),l/=o;l*=2,Se.style(e,t,l+u),n=n||[]}return n&&(l=+l||+c||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=u,r.start=l,r.end=i)),i}function b(e){var t,n=e.ownerDocument,r=e.nodeName,i=Ke[r];return i||(t=n.body.appendChild(n.createElement(r)),i=Se.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Ke[r]=i,i)}function w(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)r=e[o],r.style&&(n=r.style.display,t?("none"===n&&(i[o]=Ve.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&Ze(r)&&(i[o]=b(r))):"none"!==n&&(i[o]="none",Ve.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}function x(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&o(e,t)?Se.merge([e],n):n}function T(e,t){for(var n=0,r=e.length;n<r;n++)Ve.set(e[n],"globalEval",!t||Ve.get(t[n],"globalEval"))}function S(e,t,n,i,o){for(var a,s,c,u,l,f,p=t.createDocumentFragment(),d=[],h=0,g=e.length;h<g;h++)if((a=e[h])||0===a)if("object"===r(a))Se.merge(d,a.nodeType?[a]:a);else if(it.test(a)){for(s=s||p.appendChild(t.createElement("div")),c=(tt.exec(a)||["",""])[1].toLowerCase(),u=rt[c]||rt._default,s.innerHTML=u[1]+Se.htmlPrefilter(a)+u[2],f=u[0];f--;)s=s.lastChild;Se.merge(d,s.childNodes),s=p.firstChild,s.textContent=""}else d.push(t.createTextNode(a));for(p.textContent="",h=0;a=d[h++];)if(i&&Se.inArray(a,i)>-1)o&&o.push(a);else if(l=Xe(a),s=x(p.appendChild(a),"script"),l&&T(s),n)for(f=0;a=s[f++];)nt.test(a.type||"")&&n.push(a);return p}function k(){return!0}function O(){return!1}function j(e,t){return e===A()==("focus"===t)}function A(){try{return ce.activeElement}catch(e){}}function C(e,t,n,r,i,o){var a,s;if("object"===(void 0===t?"undefined":_typeof(t))){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)C(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=O;else if(!i)return e;return 1===o&&(a=i,i=function(e){return Se().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=Se.guid++)),e.each(function(){Se.event.add(this,t,i,r,n)})}function E(e,t,n){if(!n)return void(void 0===Ve.get(e,t)&&Se.event.add(e,t,k));Ve.set(e,t,!1),Se.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=Ve.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(Se.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=le.call(arguments),Ve.set(this,t,o),r=n(this,t),this[t](),i=Ve.get(this,t),o!==i||r?Ve.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else o.length&&(Ve.set(this,t,{value:Se.event.trigger(Se.extend(o[0],Se.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})}function N(e,t){return o(e,"table")&&o(11!==t.nodeType?t:t.firstChild,"tr")?Se(e).children("tbody")[0]||e:e}function _(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function P(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function I(e,t){var n,r,i,o,a,s,c,u;if(1===t.nodeType){if(Ve.hasData(e)&&(o=Ve.access(e),a=Ve.set(t,o),u=o.events)){delete a.handle,a.events={};for(i in u)for(n=0,r=u[i].length;n<r;n++)Se.event.add(t,i,u[i][n])}$e.hasData(e)&&(s=$e.access(e),c=Se.extend({},s),$e.set(t,c))}}function M(e,t){var n=t.nodeName.toLowerCase();"input"===n&&et.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function D(e,t,r,i){t=fe.apply([],t);var o,a,s,c,u,l,f=0,p=e.length,d=p-1,h=t[0],g=we(h);if(g||p>1&&"string"==typeof h&&!be.checkClone&<.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),D(o,t,r,i)});if(p&&(o=S(t,e[0].ownerDocument,!1,e,i),a=o.firstChild,1===o.childNodes.length&&(o=a),a||i)){for(s=Se.map(x(o,"script"),_),c=s.length;f<p;f++)u=o,f!==d&&(u=Se.clone(u,!0,!0),c&&Se.merge(s,x(u,"script"))),r.call(e[f],u,f);if(c)for(l=s[s.length-1].ownerDocument,Se.map(s,P),f=0;f<c;f++)u=s[f],nt.test(u.type||"")&&!Ve.access(u,"globalEval")&&Se.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?Se._evalUrl&&!u.noModule&&Se._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):n(u.textContent.replace(ft,""),u,l))}return e}function L(e,t,n){for(var r,i=t?Se.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||Se.cleanData(x(r)),r.parentNode&&(n&&Xe(r)&&T(x(r,"script")),r.parentNode.removeChild(r));return e}function R(e,t,n){var r,i,o,a,s=e.style;return n=n||dt(e),n&&(a=n.getPropertyValue(t)||n[t],""!==a||Xe(e)||(a=Se.style(e,t)),!be.pixelBoxStyles()&&pt.test(a)&&ht.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function q(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function F(e){for(var t=e[0].toUpperCase()+e.slice(1),n=gt.length;n--;)if((e=gt[n]+t)in yt)return e}function H(e){var t=Se.cssProps[e]||mt[e];return t||(e in yt?e:mt[e]=F(e)||e)}function V(e,t,n){var r=Ue.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function $(e,t,n,r,i,o){var a="width"===t?1:0,s=0,c=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(c+=Se.css(e,n+Ge[a],!0,i)),r?("content"===n&&(c-=Se.css(e,"padding"+Ge[a],!0,i)),"margin"!==n&&(c-=Se.css(e,"border"+Ge[a]+"Width",!0,i))):(c+=Se.css(e,"padding"+Ge[a],!0,i),"padding"!==n?c+=Se.css(e,"border"+Ge[a]+"Width",!0,i):s+=Se.css(e,"border"+Ge[a]+"Width",!0,i));return!r&&o>=0&&(c+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-c-s-.5))||0),c}function B(e,t,n){var r=dt(e),i=!be.boxSizingReliable()||n,o=i&&"border-box"===Se.css(e,"boxSizing",!1,r),a=o,s=R(e,t,r),c="offset"+t[0].toUpperCase()+t.slice(1);if(pt.test(s)){if(!n)return s;s="auto"}return(!be.boxSizingReliable()&&o||"auto"===s||!parseFloat(s)&&"inline"===Se.css(e,"display",!1,r))&&e.getClientRects().length&&(o="border-box"===Se.css(e,"boxSizing",!1,r),(a=c in e)&&(s=e[c])),(s=parseFloat(s)||0)+$(e,t,n||(o?"border":"content"),a,r,s)+"px"}function W(e,t,n,r,i){return new W.prototype.init(e,t,n,r,i)}function z(){St&&(!1===ce.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(z):e.setTimeout(z,Se.fx.interval),Se.fx.tick())}function U(){return e.setTimeout(function(){Tt=void 0}),Tt=Date.now()}function G(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)n=Ge[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function J(e,t,n){for(var r,i=(Z.tweeners[t]||[]).concat(Z.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function X(e,t,n){var r,i,o,a,s,c,u,l,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&Ze(e),y=Ve.get(e,"fxshow");n.queue||(a=Se._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,Se.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],kt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||Se.style(e,r)}if((c=!Se.isEmptyObject(t))||!Se.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],u=y&&y.display,null==u&&(u=Ve.get(e,"display")),l=Se.css(e,"display"),"none"===l&&(u?l=u:(w([e],!0),u=e.style.display||u,l=Se.css(e,"display"),w([e]))),("inline"===l||"inline-block"===l&&null!=u)&&"none"===Se.css(e,"float")&&(c||(p.done(function(){h.display=u}),null==u&&(l=h.display,u="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),c=!1;for(r in d)c||(y?"hidden"in y&&(g=y.hidden):y=Ve.access(e,"fxshow",{display:u}),o&&(y.hidden=!g),g&&w([e],!0),p.done(function(){g||w([e]),Ve.remove(e,"fxshow");for(r in d)Se.style(e,r,d[r])})),c=J(g?y[r]:0,r,p),r in y||(y[r]=c.start,g&&(c.end=c.start,c.start=0))}}function Y(e,t){var n,r,i,o,a;for(n in e)if(r=h(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=Se.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function Z(e,t,n){var r,i,o=0,a=Z.prefilters.length,s=Se.Deferred().always(function(){delete c.elem}),c=function(){if(i)return!1;for(var t=Tt||U(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,c=u.tweens.length;a<c;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),o<1&&c?n:(c||s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:Se.extend({},t),opts:Se.extend(!0,{specialEasing:{},easing:Se.easing._default},n),originalProperties:t,originalOptions:n,startTime:Tt||U(),duration:n.duration,tweens:[],createTween:function(t,n){var r=Se.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)u.tweens[n].run(1);return t?(s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u,t])):s.rejectWith(e,[u,t]),this}}),l=u.props;for(Y(l,u.opts.specialEasing);o<a;o++)if(r=Z.prefilters[o].call(u,e,l,u.opts))return we(r.stop)&&(Se._queueHooks(u.elem,u.opts.queue).stop=r.stop.bind(r)),r;return Se.map(l,J,u),we(u.opts.start)&&u.opts.start.call(e,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),Se.fx.timer(Se.extend(c,{elem:e,anim:u,queue:u.opts.queue})),u}function Q(e){return(e.match(Me)||[]).join(" ")}function K(e){return e.getAttribute&&e.getAttribute("class")||""}function ee(e){return Array.isArray(e)?e:"string"==typeof e?e.match(Me)||[]:[]}function te(e,t,n,i){var o;if(Array.isArray(t))Se.each(t,function(t,r){n||Lt.test(e)?i(e,r):te(e+"["+("object"===(void 0===r?"undefined":_typeof(r))&&null!=r?t:"")+"]",r,n,i)});else if(n||"object"!==r(t))i(e,t);else for(o in t)te(e+"["+o+"]",t[o],n,i)}function ne(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(Me)||[];if(we(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function re(e,t,n,r){function i(s){var c;return o[s]=!0,Se.each(e[s]||[],function(e,s){var u=s(t,n,r);return"string"!=typeof u||a||o[u]?a?!(c=u):void 0:(t.dataTypes.unshift(u),i(u),!1)}),c}var o={},a=e===Jt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function ie(e,t){var n,r,i=Se.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&Se.extend(!0,e,r),e}function oe(e,t,n){for(var r,i,o,a,s=e.contents,c=e.dataTypes;"*"===c[0];)c.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){c.unshift(i);break}if(c[0]in n)o=c[0];else{for(i in n){if(!c[0]||e.converters[i+" "+c[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==c[0]&&c.unshift(o),n[o]}function ae(e,t,n,r){var i,o,a,s,c,u={},l=e.dataTypes.slice();if(l[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!c&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),c=o,o=l.shift())if("*"===o)o=c;else if("*"!==c&&c!==o){if(!(a=u[c+" "+o]||u["* "+o]))for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[c+" "+s[0]]||u["* "+s[0]])){!0===a?a=u[i]:!0!==u[i]&&(o=s[0],l.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+c+" to "+o}}}return{state:"success",data:t}}var se=[],ce=e.document,ue=Object.getPrototypeOf,le=se.slice,fe=se.concat,pe=se.push,de=se.indexOf,he={},ge=he.toString,ye=he.hasOwnProperty,me=ye.toString,ve=me.call(Object),be={},we=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},xe=function(e){return null!=e&&e===e.window},Te={type:!0,src:!0,nonce:!0,noModule:!0},Se=function e(t,n){return new e.fn.init(t,n)},ke=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;Se.fn=Se.prototype={jquery:"3.4.1",constructor:Se,length:0,toArray:function(){return le.call(this)},get:function(e){return null==e?le.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=Se.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return Se.each(this,e)},map:function(e){return this.pushStack(Se.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(le.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:pe,sort:se.sort,splice:se.splice},Se.extend=Se.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,c=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[s]||{},s++),"object"===(void 0===a?"undefined":_typeof(a))||we(a)||(a={}),s===c&&(a=this,s--);s<c;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(u&&r&&(Se.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||Se.isPlainObject(n)?n:{},i=!1,a[t]=Se.extend(u,o,r)):void 0!==r&&(a[t]=r));return a},Se.extend({expando:"jQuery"+("3.4.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ge.call(e))&&(!(t=ue(e))||"function"==typeof(n=ye.call(t,"constructor")&&t.constructor)&&me.call(n)===ve)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){n(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(i(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(ke,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(i(Object(e))?Se.merge(n,"string"==typeof e?[e]:e):pe.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:de.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,o,a=0,s=[];if(i(e))for(r=e.length;a<r;a++)null!=(o=t(e[a],a,n))&&s.push(o);else for(a in e)null!=(o=t(e[a],a,n))&&s.push(o);return fe.apply([],s)},guid:1,support:be}),"function"==typeof Symbol&&(Se.fn[Symbol.iterator]=se[Symbol.iterator]),Se.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){he["[object "+t+"]"]=t.toLowerCase()});var Oe=function(e){function t(e,t,n,r){var i,o,a,s,c,l,p,d=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!r&&((t?t.ownerDocument||t:F)!==_&&N(t),t=t||_,I)){if(11!==h&&(c=me.exec(e)))if(i=c[1]){if(9===h){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(d&&(a=d.getElementById(i))&&R(t,a)&&a.id===i)return n.push(a),n}else{if(c[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((i=c[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(i)),n}if(w.qsa&&!z[e+" "]&&(!M||!M.test(e))&&(1!==h||"object"!==t.nodeName.toLowerCase())){if(p=e,d=t,1===h&&ue.test(e)){for((s=t.getAttribute("id"))?s=s.replace(xe,Te):t.setAttribute("id",s=q),l=k(e),o=l.length;o--;)l[o]="#"+s+" "+f(l[o]);p=l.join(","),d=ve.test(e)&&u(t.parentNode)||t}try{return Z.apply(n,d.querySelectorAll(p)),n}catch(t){z(e,!0)}finally{s===q&&t.removeAttribute("id")}}}return j(e.replace(ae,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>x.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[q]=!0,e}function i(e){var t=_.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)x.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ke(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&void 0!==e.getElementsByTagName&&e}function l(){}function f(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=V++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,c){var u,l,f,p=[H,s];if(c){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,c))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(f=t[q]||(t[q]={}),l=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((u=l[o])&&u[0]===H&&u[1]===s)return p[2]=u[2];if(l[o]=p,p[2]=e(t,n,c))return!0}return!1}}function d(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function h(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function g(e,t,n,r,i){for(var o,a=[],s=0,c=e.length,u=null!=t;s<c;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),u&&t.push(s)));return a}function y(e,t,n,i,o,a){return i&&!i[q]&&(i=y(i)),o&&!o[q]&&(o=y(o,a)),r(function(r,a,s,c){var u,l,f,p=[],d=[],y=a.length,m=r||h(t||"*",s.nodeType?[s]:s,[]),v=!e||!r&&t?m:g(m,p,e,s,c),b=n?o||(r?e:y||i)?[]:a:v;if(n&&n(v,b,s,c),i)for(u=g(b,d),i(u,[],s,c),l=u.length;l--;)(f=u[l])&&(b[d[l]]=!(v[d[l]]=f));if(r){if(o||e){if(o){for(u=[],l=b.length;l--;)(f=b[l])&&u.push(v[l]=f);o(null,b=[],u,c)}for(l=b.length;l--;)(f=b[l])&&(u=o?K(r,f):p[l])>-1&&(r[u]=!(a[u]=f))}}else b=g(b===a?b.splice(y,b.length):b),o?o(null,a,b,c):Z.apply(a,b)})}function m(e){for(var t,n,r,i=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,c=p(function(e){return e===t},a,!0),u=p(function(e){return K(t,e)>-1},a,!0),l=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?c(e,n,r):u(e,n,r));return t=null,i}];s<i;s++)if(n=x.relative[e[s].type])l=[p(d(l),n)];else{if(n=x.filter[e[s].type].apply(null,e[s].matches),n[q]){for(r=++s;r<i&&!x.relative[e[r].type];r++);return y(s>1&&d(l),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ae,"$1"),n,s<r&&m(e.slice(s,r)),r<i&&m(e=e.slice(r)),r<i&&f(e))}l.push(n)}return d(l)}function v(e,n){var i=n.length>0,o=e.length>0,a=function(r,a,s,c,u){var l,f,p,d=0,h="0",y=r&&[],m=[],v=A,b=r||o&&x.find.TAG("*",u),w=H+=null==v?1:Math.random()||.1,T=b.length;for(u&&(A=a===_||a||u);h!==T&&null!=(l=b[h]);h++){if(o&&l){for(f=0,a||l.ownerDocument===_||(N(l),s=!I);p=e[f++];)if(p(l,a||_,s)){c.push(l);break}u&&(H=w)}i&&((l=!p&&l)&&d--,r&&y.push(l))}if(d+=h,i&&h!==d){for(f=0;p=n[f++];)p(y,m,a,s);if(r){if(d>0)for(;h--;)y[h]||m[h]||(m[h]=X.call(c));m=g(m)}Z.apply(c,m),u&&!r&&m.length>0&&d+n.length>1&&t.uniqueSort(c)}return u&&(H=w,A=v),y};return i?r(a):a}var b,w,x,T,S,k,O,j,A,C,E,N,_,P,I,M,D,L,R,q="sizzle"+1*new Date,F=e.document,H=0,V=0,$=n(),B=n(),W=n(),z=n(),U=function(e,t){return e===t&&(E=!0),0},G={}.hasOwnProperty,J=[],X=J.pop,Y=J.push,Z=J.push,Q=J.slice,K=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},ee="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",te="[\\x20\\t\\r\\n\\f]",ne="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",re="\\["+te+"*("+ne+")(?:"+te+"*([*^$|!~]?=)"+te+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ne+"))|)"+te+"*\\]",ie=":("+ne+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+re+")*)|.*)\\)|)",oe=new RegExp(te+"+","g"),ae=new RegExp("^"+te+"+|((?:^|[^\\\\])(?:\\\\.)*)"+te+"+$","g"),se=new RegExp("^"+te+"*,"+te+"*"),ce=new RegExp("^"+te+"*([>+~]|"+te+")"+te+"*"),ue=new RegExp(te+"|>"),le=new RegExp(ie),fe=new RegExp("^"+ne+"$"),pe={ID:new RegExp("^#("+ne+")"),CLASS:new RegExp("^\\.("+ne+")"),TAG:new RegExp("^("+ne+"|[*])"),ATTR:new RegExp("^"+re),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+te+"*(even|odd|(([+-]|)(\\d*)n|)"+te+"*(?:([+-]|)"+te+"*(\\d+)|))"+te+"*\\)|)","i"),bool:new RegExp("^(?:"+ee+")$","i"),needsContext:new RegExp("^"+te+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+te+"*((?:-\\d)?\\d*)"+te+"*\\)|)(?=[^-]|$)","i")},de=/HTML$/i,he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,ye=/^[^{]+\{\s*\[native \w/,me=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,be=new RegExp("\\\\([\\da-f]{1,6}"+te+"?|("+te+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},xe=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Se=function(){N()},ke=p(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{Z.apply(J=Q.call(F.childNodes),F.childNodes),J[F.childNodes.length].nodeType}catch(e){Z={apply:J.length?function(e,t){Y.apply(e,Q.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},S=t.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!de.test(t||n&&n.nodeName||"HTML")},N=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:F;return r!==_&&9===r.nodeType&&r.documentElement?(_=r,P=_.documentElement,I=!S(_),F!==_&&(n=_.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Se,!1):n.attachEvent&&n.attachEvent("onunload",Se)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(_.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=ye.test(_.getElementsByClassName),w.getById=i(function(e){return P.appendChild(e).id=q,!_.getElementsByName||!_.getElementsByName(q).length}),w.getById?(x.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if(void 0!==t.getElementById&&I){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},x.find.ID=function(e,t){if(void 0!==t.getElementById&&I){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=w.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=w.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&I)return t.getElementsByClassName(e)},D=[],M=[],(w.qsa=ye.test(_.querySelectorAll))&&(i(function(e){P.appendChild(e).innerHTML="<a id='"+q+"'></a><select id='"+q+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&M.push("[*^$]="+te+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||M.push("\\["+te+"*(?:value|"+ee+")"),e.querySelectorAll("[id~="+q+"-]").length||M.push("~="),e.querySelectorAll(":checked").length||M.push(":checked"),e.querySelectorAll("a#"+q+"+*").length||M.push(".#.+[+~]")}),i(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=_.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&M.push("name"+te+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&M.push(":enabled",":disabled"),P.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(w.matchesSelector=ye.test(L=P.matches||P.webkitMatchesSelector||P.mozMatchesSelector||P.oMatchesSelector||P.msMatchesSelector))&&i(function(e){w.disconnectedMatch=L.call(e,"*"),L.call(e,"[s!='']:x"),D.push("!=",ie)}),M=M.length&&new RegExp(M.join("|")),D=D.length&&new RegExp(D.join("|")),t=ye.test(P.compareDocumentPosition),R=t||ye.test(P.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return E=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===_||e.ownerDocument===F&&R(F,e)?-1:t===_||t.ownerDocument===F&&R(F,t)?1:C?K(C,e)-K(C,t):0:4&n?-1:1)}:function(e,t){if(e===t)return E=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],c=[t];if(!i||!o)return e===_?-1:t===_?1:i?-1:o?1:C?K(C,e)-K(C,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;s[r]===c[r];)r++;return r?a(s[r],c[r]):s[r]===F?-1:c[r]===F?1:0},_):_},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==_&&N(e),w.matchesSelector&&I&&!z[n+" "]&&(!D||!D.test(n))&&(!M||!M.test(n)))try{var r=L.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){z(n,!0)}return t(n,_,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==_&&N(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==_&&N(e);var n=x.attrHandle[t.toLowerCase()],r=n&&G.call(x.attrHandle,t.toLowerCase())?n(e,t,!I):void 0;return void 0!==r?r:w.attributes||!I?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(xe,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(E=!w.detectDuplicates,C=!w.sortStable&&e.slice(0),e.sort(U),E){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return C=null,e},T=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=T(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=T(t);return n},
x=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&le.test(n)&&(t=k(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+te+")"+e+"("+te+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(oe," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,c){var u,l,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,m=s&&t.nodeName.toLowerCase(),v=!c&&!s,b=!1;if(y){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&v){for(p=y,f=p[q]||(p[q]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),u=l[e]||[],d=u[0]===H&&u[1],b=d&&u[2],p=d&&y.childNodes[d];p=++d&&p&&p[g]||(b=d=0)||h.pop();)if(1===p.nodeType&&++b&&p===t){l[e]=[H,d,b];break}}else if(v&&(p=t,f=p[q]||(p[q]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),u=l[e]||[],d=u[0]===H&&u[1],b=d),!1===b)for(;(p=++d&&p&&p[g]||(b=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++b||(v&&(f=p[q]||(p[q]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[H,b]),p!==t)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,n){var i,o=x.pseudos[e]||x.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[q]?o(n):o.length>1?(i=[e,e,"",n],x.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=K(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=O(e.replace(ae,"$1"));return i[q]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||T(t)).indexOf(e)>-1}}),lang:r(function(e){return fe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do{if(n=I?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===P},focus:function(e){return e===_.activeElement&&(!_.hasFocus||_.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:s(!1),disabled:s(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},x.pseudos.nth=x.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[b]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(b);for(b in{submit:!0,reset:!0})x.pseudos[b]=function(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}(b);return l.prototype=x.filters=x.pseudos,x.setFilters=new l,k=t.tokenize=function(e,n){var r,i,o,a,s,c,u,l=B[e+" "];if(l)return n?0:l.slice(0);for(s=e,c=[],u=x.preFilter;s;){r&&!(i=se.exec(s))||(i&&(s=s.slice(i[0].length)||s),c.push(o=[])),r=!1,(i=ce.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(ae," ")}),s=s.slice(r.length));for(a in x.filter)!(i=pe[a].exec(s))||u[a]&&!(i=u[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):B(e,c).slice(0)},O=t.compile=function(e,t){var n,r=[],i=[],o=W[e+" "];if(!o){for(t||(t=k(e)),n=t.length;n--;)o=m(t[n]),o[q]?r.push(o):i.push(o);o=W(e,v(i,r)),o.selector=e}return o},j=t.select=function(e,t,n,r){var i,o,a,s,c,l="function"==typeof e&&e,p=!r&&k(e=l.selector||e);if(n=n||[],1===p.length){if(o=p[0]=p[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&9===t.nodeType&&I&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(be,we),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!x.relative[s=a.type]);)if((c=x.find[s])&&(r=c(a.matches[0].replace(be,we),ve.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&f(o)))return Z.apply(n,r),n;break}}return(l||O(e,p))(r,t,!I,n,!t||ve.test(e)&&u(t.parentNode)||t),n},w.sortStable=q.split("").sort(U).join("")===q,w.detectDuplicates=!!E,N(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(_.createElement("fieldset"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ee,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);Se.find=Oe,Se.expr=Oe.selectors,Se.expr[":"]=Se.expr.pseudos,Se.uniqueSort=Se.unique=Oe.uniqueSort,Se.text=Oe.getText,Se.isXMLDoc=Oe.isXML,Se.contains=Oe.contains,Se.escapeSelector=Oe.escape;var je=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&Se(e).is(n))break;r.push(e)}return r},Ae=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Ce=Se.expr.match.needsContext,Ee=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;Se.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Se.find.matchesSelector(r,e)?[r]:[]:Se.find.matches(e,Se.grep(t,function(e){return 1===e.nodeType}))},Se.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(Se(e).filter(function(){for(t=0;t<r;t++)if(Se.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)Se.find(e,i[t],n);return r>1?Se.uniqueSort(n):n},filter:function(e){return this.pushStack(a(this,e||[],!1))},not:function(e){return this.pushStack(a(this,e||[],!0))},is:function(e){return!!a(this,"string"==typeof e&&Ce.test(e)?Se(e):e||[],!1).length}});var Ne,_e=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(Se.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ne,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:_e.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof Se?t[0]:t,Se.merge(this,Se.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:ce,!0)),Ee.test(r[1])&&Se.isPlainObject(t))for(r in t)we(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=ce.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):we(e)?void 0!==n.ready?n.ready(e):e(Se):Se.makeArray(e,this)}).prototype=Se.fn,Ne=Se(ce);var Pe=/^(?:parents|prev(?:Until|All))/,Ie={children:!0,contents:!0,next:!0,prev:!0};Se.fn.extend({has:function(e){var t=Se(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(Se.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&Se(e);if(!Ce.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&Se.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?Se.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?de.call(Se(e),this[0]):de.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Se.uniqueSort(Se.merge(this.get(),Se(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Se.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return je(e,"parentNode")},parentsUntil:function(e,t,n){return je(e,"parentNode",n)},next:function(e){return s(e,"nextSibling")},prev:function(e){return s(e,"previousSibling")},nextAll:function(e){return je(e,"nextSibling")},prevAll:function(e){return je(e,"previousSibling")},nextUntil:function(e,t,n){return je(e,"nextSibling",n)},prevUntil:function(e,t,n){return je(e,"previousSibling",n)},siblings:function(e){return Ae((e.parentNode||{}).firstChild,e)},children:function(e){return Ae(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(o(e,"template")&&(e=e.content||e),Se.merge([],e.childNodes))}},function(e,t){Se.fn[e]=function(n,r){var i=Se.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Se.filter(r,i)),this.length>1&&(Ie[e]||Se.uniqueSort(i),Pe.test(e)&&i.reverse()),this.pushStack(i)}});var Me=/[^\x20\t\r\n\f]+/g;Se.Callbacks=function(e){e="string"==typeof e?c(e):Se.extend({},e);var t,n,i,o,a=[],s=[],u=-1,l=function(){for(o=o||e.once,i=t=!0;s.length;u=-1)for(n=s.shift();++u<a.length;)!1===a[u].apply(n[0],n[1])&&e.stopOnFalse&&(u=a.length,n=!1);e.memory||(n=!1),t=!1,o&&(a=n?[]:"")},f={add:function(){return a&&(n&&!t&&(u=a.length-1,s.push(n)),function t(n){Se.each(n,function(n,i){we(i)?e.unique&&f.has(i)||a.push(i):i&&i.length&&"string"!==r(i)&&t(i)})}(arguments),n&&!t&&l()),this},remove:function(){return Se.each(arguments,function(e,t){for(var n;(n=Se.inArray(t,a,n))>-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?Se.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return o=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return o=s=[],n||t||(a=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!i}};return f},Se.extend({Deferred:function(t){var n=[["notify","progress",Se.Callbacks("memory"),Se.Callbacks("memory"),2],["resolve","done",Se.Callbacks("once memory"),Se.Callbacks("once memory"),0,"resolved"],["reject","fail",Se.Callbacks("once memory"),Se.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return Se.Deferred(function(t){Se.each(n,function(n,r){var i=we(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&we(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var s=this,c=arguments,f=function(){var e,f;if(!(t<a)){if((e=r.apply(s,c))===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"===(void 0===e?"undefined":_typeof(e))||"function"==typeof e)&&e.then,we(f)?i?f.call(e,o(a,n,u,i),o(a,n,l,i)):(a++,f.call(e,o(a,n,u,i),o(a,n,l,i),o(a,n,u,n.notifyWith))):(r!==u&&(s=void 0,c=[e]),(i||n.resolveWith)(s,c))}},p=i?f:function(){try{f()}catch(e){Se.Deferred.exceptionHook&&Se.Deferred.exceptionHook(e,p.stackTrace),t+1>=a&&(r!==l&&(s=void 0,c=[e]),n.rejectWith(s,c))}};t?p():(Se.Deferred.getStackHook&&(p.stackTrace=Se.Deferred.getStackHook()),e.setTimeout(p))}}var a=0;return Se.Deferred(function(e){n[0][3].add(o(0,e,we(i)?i:u,e.notifyWith)),n[1][3].add(o(0,e,we(t)?t:u)),n[2][3].add(o(0,e,we(r)?r:l))}).promise()},promise:function(e){return null!=e?Se.extend(e,i):i}},o={};return Se.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=le.call(arguments),o=Se.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?le.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(f(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||we(i[n]&&i[n].then)))return o.then();for(;n--;)f(i[n],a(n),o.reject);return o.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;Se.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},Se.readyException=function(t){e.setTimeout(function(){throw t})};var Le=Se.Deferred();Se.fn.ready=function(e){return Le.then(e).catch(function(e){Se.readyException(e)}),this},Se.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--Se.readyWait:Se.isReady)||(Se.isReady=!0,!0!==e&&--Se.readyWait>0||Le.resolveWith(ce,[Se]))}}),Se.ready.then=Le.then,"complete"===ce.readyState||"loading"!==ce.readyState&&!ce.documentElement.doScroll?e.setTimeout(Se.ready):(ce.addEventListener("DOMContentLoaded",p),e.addEventListener("load",p));var Re=function e(t,n,i,o,a,s,c){var u=0,l=t.length,f=null==i;if("object"===r(i)){a=!0;for(u in i)e(t,n,u,i[u],!0,s,c)}else if(void 0!==o&&(a=!0,we(o)||(c=!0),f&&(c?(n.call(t,o),n=null):(f=n,n=function(e,t,n){return f.call(Se(e),n)})),n))for(;u<l;u++)n(t[u],i,c?o:o.call(t[u],u,n(t[u],i)));return a?t:f?n.call(t):l?n(t[0],i):s},qe=/^-ms-/,Fe=/-([a-z])/g,He=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};g.uid=1,g.prototype={cache:function(e){var t=e[this.expando];return t||(t={},He(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[h(t)]=n;else for(r in t)i[h(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][h(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){Array.isArray(t)?t=t.map(h):(t=h(t),t=t in r?[t]:t.match(Me)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||Se.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!Se.isEmptyObject(t)}};var Ve=new g,$e=new g,Be=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,We=/[A-Z]/g;Se.extend({hasData:function(e){return $e.hasData(e)||Ve.hasData(e)},data:function(e,t,n){return $e.access(e,t,n)},removeData:function(e,t){$e.remove(e,t)},_data:function(e,t,n){return Ve.access(e,t,n)},_removeData:function(e,t){Ve.remove(e,t)}}),Se.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=$e.get(o),1===o.nodeType&&!Ve.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=h(r.slice(5)),m(o,r,i[r])));Ve.set(o,"hasDataAttrs",!0)}return i}return"object"===(void 0===e?"undefined":_typeof(e))?this.each(function(){$e.set(this,e)}):Re(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=$e.get(o,e)))return n;if(void 0!==(n=m(o,e)))return n}else this.each(function(){$e.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){$e.remove(this,e)})}}),Se.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Ve.get(e,t),n&&(!r||Array.isArray(n)?r=Ve.access(e,t,Se.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=Se.queue(e,t),r=n.length,i=n.shift(),o=Se._queueHooks(e,t),a=function(){Se.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Ve.get(e,n)||Ve.access(e,n,{empty:Se.Callbacks("once memory").add(function(){Ve.remove(e,[t+"queue",n])})})}}),Se.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?Se.queue(this[0],e):void 0===t?this:this.each(function(){var n=Se.queue(this,e,t);Se._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&Se.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Se.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=Se.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Ve.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ze=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ue=new RegExp("^(?:([+-])=|)("+ze+")([a-z%]*)$","i"),Ge=["Top","Right","Bottom","Left"],Je=ce.documentElement,Xe=function(e){return Se.contains(e.ownerDocument,e)},Ye={composed:!0};Je.getRootNode&&(Xe=function(e){return Se.contains(e.ownerDocument,e)||e.getRootNode(Ye)===e.ownerDocument});var Ze=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&Xe(e)&&"none"===Se.css(e,"display")},Qe=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i},Ke={};Se.fn.extend({show:function(){return w(this,!0)},hide:function(){return w(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Ze(this)?Se(this).show():Se(this).hide()})}});var et=/^(?:checkbox|radio)$/i,tt=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,nt=/^$|^module$|\/(?:java|ecma)script/i,rt={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};rt.optgroup=rt.option,rt.tbody=rt.tfoot=rt.colgroup=rt.caption=rt.thead,rt.th=rt.td;var it=/<|&#?\w+;/;!function(){var e=ce.createDocumentFragment(),t=e.appendChild(ce.createElement("div")),n=ce.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),be.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",be.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var ot=/^key/,at=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,st=/^([^.]*)(?:\.(.+)|)/;Se.event={global:{},add:function(e,t,n,r,i){var o,a,s,c,u,l,f,p,d,h,g,y=Ve.get(e);if(y)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&Se.find.matchesSelector(Je,i),n.guid||(n.guid=Se.guid++),(c=y.events)||(c=y.events={}),(a=y.handle)||(a=y.handle=function(t){return void 0!==Se&&Se.event.triggered!==t.type?Se.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Me)||[""],u=t.length;u--;)s=st.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d&&(f=Se.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=Se.event.special[d]||{},l=Se.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&Se.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=c[d])||(p=c[d]=[],p.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,l):p.push(l),Se.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,c,u,l,f,p,d,h,g,y=Ve.hasData(e)&&Ve.get(e);if(y&&(c=y.events)){for(t=(t||"").match(Me)||[""],u=t.length;u--;)if(s=st.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){for(f=Se.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=c[d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)l=p[o],!i&&g!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(o,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||Se.removeEvent(e,d,y.handle),delete c[d])}else for(d in c)Se.event.remove(e,d+t[u],n,r,!0);Se.isEmptyObject(c)&&Ve.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=Se.event.fix(e),c=new Array(arguments.length),u=(Ve.get(this,"events")||{})[s.type]||[],l=Se.event.special[s.type]||{};for(c[0]=s,t=1;t<arguments.length;t++)c[t]=arguments[t];if(s.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,s)){for(a=Se.event.handlers.call(this,s,u),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((Se.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,c))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],c=t.delegateCount,u=e.target;if(c&&u.nodeType&&!("click"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],a={},n=0;n<c;n++)r=t[n],i=r.selector+" ",void 0===a[i]&&(a[i]=r.needsContext?Se(i,this).index(u)>-1:Se.find(i,this,null,[u]).length),a[i]&&o.push(r);o.length&&s.push({elem:u,handlers:o})}return u=this,c<t.length&&s.push({elem:u,handlers:t.slice(c)}),s},addProp:function(e,t){Object.defineProperty(Se.Event.prototype,e,{enumerable:!0,configurable:!0,get:we(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[Se.expando]?e:new Se.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return et.test(t.type)&&t.click&&o(t,"input")&&E(t,"click",k),!1},trigger:function(e){var t=this||e;return et.test(t.type)&&t.click&&o(t,"input")&&E(t,"click"),!0},_default:function(e){var t=e.target;return et.test(t.type)&&t.click&&o(t,"input")&&Ve.get(t,"click")||o(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},Se.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},Se.Event=function(e,t){if(!(this instanceof Se.Event))return new Se.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?k:O,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&Se.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[Se.expando]=!0},Se.Event.prototype={constructor:Se.Event,isDefaultPrevented:O,isPropagationStopped:O,isImmediatePropagationStopped:O,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=k,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=k,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=k,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},Se.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&ot.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&at.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},Se.event.addProp),Se.each({focus:"focusin",blur:"focusout"},function(e,t){Se.event.special[e]={setup:function(){return E(this,e,j),!1},trigger:function(){return E(this,e),!0},delegateType:t}}),Se.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){Se.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||Se.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),Se.fn.extend({on:function(e,t,n,r){return C(this,e,t,n,r)},one:function(e,t,n,r){return C(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,Se(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"===(void 0===e?"undefined":_typeof(e))){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=O),this.each(function(){Se.event.remove(this,e,n,t)})}});var ct=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ut=/<script|<style|<link/i,lt=/checked\s*(?:[^=]|=\s*.checked.)/i,ft=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;Se.extend({htmlPrefilter:function(e){return e.replace(ct,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),c=Xe(e);if(!(be.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Se.isXMLDoc(e)))for(a=x(s),o=x(e),r=0,i=o.length;r<i;r++)M(o[r],a[r]);if(t)if(n)for(o=o||x(e),a=a||x(s),r=0,i=o.length;r<i;r++)I(o[r],a[r]);else I(e,s);return a=x(s,"script"),a.length>0&&T(a,!c&&x(e,"script")),s},cleanData:function(e){for(var t,n,r,i=Se.event.special,o=0;void 0!==(n=e[o]);o++)if(He(n)){if(t=n[Ve.expando]){if(t.events)for(r in t.events)i[r]?Se.event.remove(n,r):Se.removeEvent(n,r,t.handle);n[Ve.expando]=void 0}n[$e.expando]&&(n[$e.expando]=void 0)}}}),Se.fn.extend({detach:function(e){return L(this,e,!0)},remove:function(e){return L(this,e)},text:function(e){return Re(this,function(e){return void 0===e?Se.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){N(this,e).appendChild(e)}})},prepend:function(){return D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=N(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Se.cleanData(x(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return Se.clone(this,e,t)})},html:function(e){return Re(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ut.test(e)&&!rt[(tt.exec(e)||["",""])[1].toLowerCase()]){e=Se.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(Se.cleanData(x(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return D(this,arguments,function(t){var n=this.parentNode;Se.inArray(this,e)<0&&(Se.cleanData(x(this)),n&&n.replaceChild(t,this))},e)}}),Se.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Se.fn[e]=function(e){for(var n,r=[],i=Se(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),Se(i[a])[t](n),pe.apply(r,n.get());return this.pushStack(r)}});var pt=new RegExp("^("+ze+")(?!px)[a-z%]+$","i"),dt=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},ht=new RegExp(Ge.join("|"),"i");!function(){function t(){if(u){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",Je.appendChild(c).appendChild(u);var t=e.getComputedStyle(u);r="1%"!==t.top,s=12===n(t.marginLeft),u.style.right="60%",a=36===n(t.right),i=36===n(t.width),u.style.position="absolute",o=12===n(u.offsetWidth/3),Je.removeChild(c),u=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,c=ce.createElement("div"),u=ce.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",be.clearCloneStyle="content-box"===u.style.backgroundClip,Se.extend(be,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),s},scrollboxSize:function(){return t(),o}}))}();var gt=["Webkit","Moz","ms"],yt=ce.createElement("div").style,mt={},vt=/^(none|table(?!-c[ea]).+)/,bt=/^--/,wt={position:"absolute",visibility:"hidden",display:"block"},xt={letterSpacing:"0",fontWeight:"400"};Se.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=R(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=h(t),c=bt.test(t),u=e.style;if(c||(t=H(s)),a=Se.cssHooks[t]||Se.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];o=void 0===n?"undefined":_typeof(n),"string"===o&&(i=Ue.exec(n))&&i[1]&&(n=v(e,t,i),o="number"),null!=n&&n===n&&("number"!==o||c||(n+=i&&i[3]||(Se.cssNumber[s]?"":"px")),be.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(c?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,r){var i,o,a,s=h(t);return bt.test(t)||(t=H(s)),a=Se.cssHooks[t]||Se.cssHooks[s],
a&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=R(e,t,r)),"normal"===i&&t in xt&&(i=xt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),Se.each(["height","width"],function(e,t){Se.cssHooks[t]={get:function(e,n,r){if(n)return!vt.test(Se.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?B(e,t,r):Qe(e,wt,function(){return B(e,t,r)})},set:function(e,n,r){var i,o=dt(e),a=!be.scrollboxSize()&&"absolute"===o.position,s=a||r,c=s&&"border-box"===Se.css(e,"boxSizing",!1,o),u=r?$(e,t,r,c,o):0;return c&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-$(e,t,"border",!1,o)-.5)),u&&(i=Ue.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=Se.css(e,t)),V(e,n,u)}}}),Se.cssHooks.marginLeft=q(be.reliableMarginLeft,function(e,t){if(t)return(parseFloat(R(e,"marginLeft"))||e.getBoundingClientRect().left-Qe(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),Se.each({margin:"",padding:"",border:"Width"},function(e,t){Se.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Ge[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(Se.cssHooks[e+t].set=V)}),Se.fn.extend({css:function(e,t){return Re(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=dt(e),i=t.length;a<i;a++)o[t[a]]=Se.css(e,t[a],!1,r);return o}return void 0!==n?Se.style(e,t,n):Se.css(e,t)},e,t,arguments.length>1)}}),Se.Tween=W,W.prototype={constructor:W,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||Se.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Se.cssNumber[n]?"":"px")},cur:function(){var e=W.propHooks[this.prop];return e&&e.get?e.get(this):W.propHooks._default.get(this)},run:function(e){var t,n=W.propHooks[this.prop];return this.options.duration?this.pos=t=Se.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):W.propHooks._default.set(this),this}},W.prototype.init.prototype=W.prototype,W.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=Se.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){Se.fx.step[e.prop]?Se.fx.step[e.prop](e):1!==e.elem.nodeType||!Se.cssHooks[e.prop]&&null==e.elem.style[H(e.prop)]?e.elem[e.prop]=e.now:Se.style(e.elem,e.prop,e.now+e.unit)}}},W.propHooks.scrollTop=W.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Se.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},Se.fx=W.prototype.init,Se.fx.step={};var Tt,St,kt=/^(?:toggle|show|hide)$/,Ot=/queueHooks$/;Se.Animation=Se.extend(Z,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return v(n.elem,e,Ue.exec(t),n),n}]},tweener:function(e,t){we(e)?(t=e,e=["*"]):e=e.match(Me);for(var n,r=0,i=e.length;r<i;r++)n=e[r],Z.tweeners[n]=Z.tweeners[n]||[],Z.tweeners[n].unshift(t)},prefilters:[X],prefilter:function(e,t){t?Z.prefilters.unshift(e):Z.prefilters.push(e)}}),Se.speed=function(e,t,n){var r=e&&"object"===(void 0===e?"undefined":_typeof(e))?Se.extend({},e):{complete:n||!n&&t||we(e)&&e,duration:e,easing:n&&t||t&&!we(t)&&t};return Se.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in Se.fx.speeds?r.duration=Se.fx.speeds[r.duration]:r.duration=Se.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){we(r.old)&&r.old.call(this),r.queue&&Se.dequeue(this,r.queue)},r},Se.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Ze).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Se.isEmptyObject(e),o=Se.speed(t,n,r),a=function(){var t=Z(this,Se.extend({},e),o);(i||Ve.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=Se.timers,a=Ve.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&Ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||Se.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=Ve.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=Se.timers,a=r?r.length:0;for(n.finish=!0,Se.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),Se.each(["toggle","show","hide"],function(e,t){var n=Se.fn[t];Se.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(G(t,!0),e,r,i)}}),Se.each({slideDown:G("show"),slideUp:G("hide"),slideToggle:G("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Se.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Se.timers=[],Se.fx.tick=function(){var e,t=0,n=Se.timers;for(Tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||Se.fx.stop(),Tt=void 0},Se.fx.timer=function(e){Se.timers.push(e),Se.fx.start()},Se.fx.interval=13,Se.fx.start=function(){St||(St=!0,z())},Se.fx.stop=function(){St=null},Se.fx.speeds={slow:600,fast:200,_default:400},Se.fn.delay=function(t,n){return t=Se.fx?Se.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=ce.createElement("input"),t=ce.createElement("select"),n=t.appendChild(ce.createElement("option"));e.type="checkbox",be.checkOn=""!==e.value,be.optSelected=n.selected,e=ce.createElement("input"),e.value="t",e.type="radio",be.radioValue="t"===e.value}();var jt,At=Se.expr.attrHandle;Se.fn.extend({attr:function(e,t){return Re(this,Se.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Se.removeAttr(this,e)})}}),Se.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?Se.prop(e,t,n):(1===o&&Se.isXMLDoc(e)||(i=Se.attrHooks[t.toLowerCase()]||(Se.expr.match.bool.test(t)?jt:void 0)),void 0!==n?null===n?void Se.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=Se.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!be.radioValue&&"radio"===t&&o(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Me);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),jt={set:function(e,t,n){return!1===t?Se.removeAttr(e,n):e.setAttribute(n,n),n}},Se.each(Se.expr.match.bool.source.match(/\w+/g),function(e,t){var n=At[t]||Se.find.attr;At[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=At[a],At[a]=i,i=null!=n(e,t,r)?a:null,At[a]=o),i}});var Ct=/^(?:input|select|textarea|button)$/i,Et=/^(?:a|area)$/i;Se.fn.extend({prop:function(e,t){return Re(this,Se.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Se.propFix[e]||e]})}}),Se.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&Se.isXMLDoc(e)||(t=Se.propFix[t]||t,i=Se.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=Se.find.attr(e,"tabindex");return t?parseInt(t,10):Ct.test(e.nodeName)||Et.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),be.optSelected||(Se.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),Se.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Se.propFix[this.toLowerCase()]=this}),Se.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,c=0;if(we(e))return this.each(function(t){Se(this).addClass(e.call(this,t,K(this)))});if(t=ee(e),t.length)for(;n=this[c++];)if(i=K(n),r=1===n.nodeType&&" "+Q(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=Q(r),i!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,c=0;if(we(e))return this.each(function(t){Se(this).removeClass(e.call(this,t,K(this)))});if(!arguments.length)return this.attr("class","");if(t=ee(e),t.length)for(;n=this[c++];)if(i=K(n),r=1===n.nodeType&&" "+Q(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=Q(r),i!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=void 0===e?"undefined":_typeof(e),r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):we(e)?this.each(function(n){Se(this).toggleClass(e.call(this,n,K(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=Se(this),a=ee(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=K(this),t&&Ve.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Ve.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+Q(K(n))+" ").indexOf(t)>-1)return!0;return!1}});var Nt=/\r/g;Se.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=we(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,Se(this).val()):e,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=Se.map(i,function(e){return null==e?"":e+""})),(t=Se.valHooks[this.type]||Se.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=Se.valHooks[i.type]||Se.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Nt,""):null==n?"":n)}}}),Se.extend({valHooks:{option:{get:function(e){var t=Se.find.attr(e,"value");return null!=t?t:Q(Se.text(e))}},select:{get:function(e){var t,n,r,i=e.options,a=e.selectedIndex,s="select-one"===e.type,c=s?null:[],u=s?a+1:i.length;for(r=a<0?u:s?a:0;r<u;r++)if(n=i[r],(n.selected||r===a)&&!n.disabled&&(!n.parentNode.disabled||!o(n.parentNode,"optgroup"))){if(t=Se(n).val(),s)return t;c.push(t)}return c},set:function(e,t){for(var n,r,i=e.options,o=Se.makeArray(t),a=i.length;a--;)r=i[a],(r.selected=Se.inArray(Se.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),Se.each(["radio","checkbox"],function(){Se.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=Se.inArray(Se(e).val(),t)>-1}},be.checkOn||(Se.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),be.focusin="onfocusin"in e;var _t=/^(?:focusinfocus|focusoutblur)$/,Pt=function(e){e.stopPropagation()};Se.extend(Se.event,{trigger:function(t,n,r,i){var o,a,s,c,u,l,f,p,d=[r||ce],h=ye.call(t,"type")?t.type:t,g=ye.call(t,"namespace")?t.namespace.split("."):[];if(a=p=s=r=r||ce,3!==r.nodeType&&8!==r.nodeType&&!_t.test(h+Se.event.triggered)&&(h.indexOf(".")>-1&&(g=h.split("."),h=g.shift(),g.sort()),u=h.indexOf(":")<0&&"on"+h,t=t[Se.expando]?t:new Se.Event(h,"object"===(void 0===t?"undefined":_typeof(t))&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:Se.makeArray(n,[t]),f=Se.event.special[h]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!xe(r)){for(c=f.delegateType||h,_t.test(c+h)||(a=a.parentNode);a;a=a.parentNode)d.push(a),s=a;s===(r.ownerDocument||ce)&&d.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=d[o++])&&!t.isPropagationStopped();)p=a,t.type=o>1?c:f.bindType||h,l=(Ve.get(a,"events")||{})[t.type]&&Ve.get(a,"handle"),l&&l.apply(a,n),(l=u&&a[u])&&l.apply&&He(a)&&(t.result=l.apply(a,n),!1===t.result&&t.preventDefault());return t.type=h,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(d.pop(),n)||!He(r)||u&&we(r[h])&&!xe(r)&&(s=r[u],s&&(r[u]=null),Se.event.triggered=h,t.isPropagationStopped()&&p.addEventListener(h,Pt),r[h](),t.isPropagationStopped()&&p.removeEventListener(h,Pt),Se.event.triggered=void 0,s&&(r[u]=s)),t.result}},simulate:function(e,t,n){var r=Se.extend(new Se.Event,n,{type:e,isSimulated:!0});Se.event.trigger(r,null,t)}}),Se.fn.extend({trigger:function(e,t){return this.each(function(){Se.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return Se.event.trigger(e,t,n,!0)}}),be.focusin||Se.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){Se.event.simulate(t,e.target,Se.event.fix(e))};Se.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Ve.access(r,t);i||r.addEventListener(e,n,!0),Ve.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Ve.access(r,t)-1;i?Ve.access(r,t,i):(r.removeEventListener(e,n,!0),Ve.remove(r,t))}}});var It=e.location,Mt=Date.now(),Dt=/\?/;Se.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||Se.error("Invalid XML: "+t),n};var Lt=/\[\]$/,Rt=/\r?\n/g,qt=/^(?:submit|button|image|reset|file)$/i,Ft=/^(?:input|select|textarea|keygen)/i;Se.param=function(e,t){var n,r=[],i=function(e,t){var n=we(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!Se.isPlainObject(e))Se.each(e,function(){i(this.name,this.value)});else for(n in e)te(n,e[n],t,i);return r.join("&")},Se.fn.extend({serialize:function(){return Se.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Se.prop(this,"elements");return e?Se.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Se(this).is(":disabled")&&Ft.test(this.nodeName)&&!qt.test(e)&&(this.checked||!et.test(e))}).map(function(e,t){var n=Se(this).val();return null==n?null:Array.isArray(n)?Se.map(n,function(e){return{name:t.name,value:e.replace(Rt,"\r\n")}}):{name:t.name,value:n.replace(Rt,"\r\n")}}).get()}});var Ht=/%20/g,Vt=/#.*$/,$t=/([?&])_=[^&]*/,Bt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Wt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,zt=/^(?:GET|HEAD)$/,Ut=/^\/\//,Gt={},Jt={},Xt="*/".concat("*"),Yt=ce.createElement("a");Yt.href=It.href,Se.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:It.href,type:"GET",isLocal:Wt.test(It.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Xt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":Se.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ie(ie(e,Se.ajaxSettings),t):ie(Se.ajaxSettings,e)},ajaxPrefilter:ne(Gt),ajaxTransport:ne(Jt),ajax:function(t,n){function r(t,n,r,s){var u,p,d,w,x,T=n;l||(l=!0,c&&e.clearTimeout(c),i=void 0,a=s||"",S.readyState=t>0?4:0,u=t>=200&&t<300||304===t,r&&(w=oe(h,S,r)),w=ae(h,w,S,u),u?(h.ifModified&&(x=S.getResponseHeader("Last-Modified"),x&&(Se.lastModified[o]=x),(x=S.getResponseHeader("etag"))&&(Se.etag[o]=x)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=w.state,p=w.data,d=w.error,u=!d)):(d=T,!t&&T||(T="error",t<0&&(t=0))),S.status=t,S.statusText=(n||T)+"",u?m.resolveWith(g,[p,T,S]):m.rejectWith(g,[S,T,d]),S.statusCode(b),b=void 0,f&&y.trigger(u?"ajaxSuccess":"ajaxError",[S,h,u?p:d]),v.fireWith(g,[S,T]),f&&(y.trigger("ajaxComplete",[S,h]),--Se.active||Se.event.trigger("ajaxStop")))}"object"===(void 0===t?"undefined":_typeof(t))&&(n=t,t=void 0),n=n||{};var i,o,a,s,c,u,l,f,p,d,h=Se.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?Se(g):Se.event,m=Se.Deferred(),v=Se.Callbacks("once memory"),b=h.statusCode||{},w={},x={},T="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(l){if(!s)for(s={};t=Bt.exec(a);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?a:null},setRequestHeader:function(e,t){return null==l&&(e=x[e.toLowerCase()]=x[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)S.always(e[S.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(m.promise(S),h.url=((t||h.url||It.href)+"").replace(Ut,It.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Me)||[""],null==h.crossDomain){u=ce.createElement("a");try{u.href=h.url,u.href=u.href,h.crossDomain=Yt.protocol+"//"+Yt.host!=u.protocol+"//"+u.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Se.param(h.data,h.traditional)),re(Gt,h,n,S),l)return S;f=Se.event&&h.global,f&&0==Se.active++&&Se.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!zt.test(h.type),o=h.url.replace(Vt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Ht,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(Dt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace($t,"$1"),d=(Dt.test(o)?"&":"?")+"_="+Mt+++d),h.url=o+d),h.ifModified&&(Se.lastModified[o]&&S.setRequestHeader("If-Modified-Since",Se.lastModified[o]),Se.etag[o]&&S.setRequestHeader("If-None-Match",Se.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&S.setRequestHeader("Content-Type",h.contentType),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Xt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)S.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,S,h)||l))return S.abort();if(T="abort",v.add(h.complete),S.done(h.success),S.fail(h.error),i=re(Jt,h,n,S)){if(S.readyState=1,f&&y.trigger("ajaxSend",[S,h]),l)return S;h.async&&h.timeout>0&&(c=e.setTimeout(function(){S.abort("timeout")},h.timeout));try{l=!1,i.send(w,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return S},getJSON:function(e,t,n){return Se.get(e,t,n,"json")},getScript:function(e,t){return Se.get(e,void 0,t,"script")}}),Se.each(["get","post"],function(e,t){Se[t]=function(e,n,r,i){return we(n)&&(i=i||r,r=n,n=void 0),Se.ajax(Se.extend({url:e,type:t,dataType:i,data:n,success:r},Se.isPlainObject(e)&&e))}}),Se._evalUrl=function(e,t){return Se.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){Se.globalEval(e,t)}})},Se.fn.extend({wrapAll:function(e){var t;return this[0]&&(we(e)&&(e=e.call(this[0])),t=Se(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return we(e)?this.each(function(t){Se(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Se(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=we(e);return this.each(function(n){Se(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){Se(this).replaceWith(this.childNodes)}),this}}),Se.expr.pseudos.hidden=function(e){return!Se.expr.pseudos.visible(e)},Se.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},Se.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Zt={0:200,1223:204},Qt=Se.ajaxSettings.xhr();be.cors=!!Qt&&"withCredentials"in Qt,be.ajax=Qt=!!Qt,Se.ajaxTransport(function(t){var n,r;if(be.cors||Qt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Zt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),Se.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),Se.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return Se.globalEval(e),e}}}),Se.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Se.ajaxTransport("script",function(e){if(e.crossDomain||e.scriptAttrs){var t,n;return{send:function(r,i){t=Se("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),ce.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Kt=[],en=/(=)\?(?=&|$)|\?\?/;Se.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||Se.expando+"_"+Mt++;return this[e]=!0,e}}),Se.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(en.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&en.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=we(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(en,"$1"+i):!1!==t.jsonp&&(t.url+=(Dt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||Se.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?Se(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Kt.push(i)),a&&we(o)&&o(a[0]),a=o=void 0}),"script"}),be.createHTMLDocument=function(){var e=ce.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),Se.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,i,o;return t||(be.createHTMLDocument?(t=ce.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=ce.location.href,t.head.appendChild(r)):t=ce),i=Ee.exec(e),o=!n&&[],i?[t.createElement(i[1])]:(i=S([e],t,o),o&&o.length&&Se(o).remove(),Se.merge([],i.childNodes))},Se.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=Q(e.slice(s)),e=e.slice(0,s)),we(t)?(n=t,t=void 0):t&&"object"===(void 0===t?"undefined":_typeof(t))&&(i="POST"),a.length>0&&Se.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?Se("<div>").append(Se.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},Se.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){Se.fn[t]=function(e){return this.on(t,e)}}),Se.expr.pseudos.animated=function(e){return Se.grep(Se.timers,function(t){return e===t.elem}).length},Se.offset={setOffset:function(e,t,n){var r,i,o,a,s,c,u,l=Se.css(e,"position"),f=Se(e),p={};"static"===l&&(e.style.position="relative"),s=f.offset(),o=Se.css(e,"top"),c=Se.css(e,"left"),u=("absolute"===l||"fixed"===l)&&(o+c).indexOf("auto")>-1,u?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(c)||0),we(t)&&(t=t.call(e,n,Se.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},Se.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){Se.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===Se.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===Se.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&(i=Se(e).offset(),i.top+=Se.css(e,"borderTopWidth",!0),i.left+=Se.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-Se.css(r,"marginTop",!0),left:t.left-i.left-Se.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===Se.css(e,"position");)e=e.offsetParent;return e||Je})}}),Se.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;Se.fn[e]=function(r){return Re(this,function(e,r,i){var o;if(xe(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),Se.each(["top","left"],function(e,t){Se.cssHooks[t]=q(be.pixelPosition,function(e,n){if(n)return n=R(e,t),pt.test(n)?Se(e).position()[t]+"px":n})}),Se.each({Height:"height",Width:"width"},function(e,t){Se.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){Se.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return Re(this,function(t,n,i){var o;return xe(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?Se.css(t,n,s):Se.style(t,n,i,s)},t,a?i:void 0,a)}})}),Se.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){Se.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),Se.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),Se.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),Se.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),we(e))return r=le.call(arguments,2),i=function(){return e.apply(t||this,r.concat(le.call(arguments)))},i.guid=e.guid=e.guid||Se.guid++,i},Se.holdReady=function(e){e?Se.readyWait++:Se.ready(!0)},Se.isArray=Array.isArray,Se.parseJSON=JSON.parse,Se.nodeName=o,Se.isFunction=we,Se.isWindow=xe,Se.camelCase=h,Se.type=r,Se.now=Date.now,Se.isNumeric=function(e){var t=Se.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return Se});var tn=e.jQuery,nn=e.$;return Se.noConflict=function(t){return e.$===Se&&(e.$=nn),t&&e.jQuery===Se&&(e.jQuery=tn),Se},t||(e.jQuery=e.$=Se),Se}),/*!
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
* es6-shim: v0.35.4
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
function(e,t){"function"==typeof define&&define.amd?define("es6-shim",t):"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?module.exports=t():e.returnExports=t()}(this,function(){var e,t=Function.call.bind(Function.apply),n=Function.call.bind(Function.call),r=Array.isArray,i=Object.keys,o=function(e){try{return e(),!1}catch(e){return!0}},a=function(e){try{return e()}catch(e){return!1}},s=function(e){return function(){return!t(e,this,arguments)}}(o),c=!!Object.defineProperty&&function(){return!o(function(){return Object.defineProperty({},"x",{get:function(){}})})}(),u="foo"===function(){}.name,l=Function.call.bind(Array.prototype.forEach),f=Function.call.bind(Array.prototype.reduce),p=Function.call.bind(Array.prototype.filter),d=Function.call.bind(Array.prototype.some),h=function(e,t,n,r){!r&&t in e||(c?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n}):e[t]=n)},g=function(e,t,n){l(i(t),function(r){var i=t[r];h(e,r,i,!!n)})},y=Function.call.bind(Object.prototype.toString),m="function"==typeof/abc/?function(e){return"function"==typeof e&&"[object Function]"===y(e)}:function(e){return"function"==typeof e},v={getter:function(e,t,n){if(!c)throw new TypeError("getters require true ES5 support");Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get:n})},proxy:function(e,t,n){if(!c)throw new TypeError("getters require true ES5 support");var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,{configurable:r.configurable,enumerable:r.enumerable,get:function(){return e[t]},set:function(n){e[t]=n}})},redefine:function(e,t,n){if(c){var r=Object.getOwnPropertyDescriptor(e,t);r.value=n,Object.defineProperty(e,t,r)}else e[t]=n},defineByDescriptor:function(e,t,n){c?Object.defineProperty(e,t,n):"value"in n&&(e[t]=n.value)},preserveToString:function(e,t){t&&m(t.toString)&&h(e,"toString",t.toString.bind(t),!0)}},b=Object.create||function(e,t){var n=function(){};n.prototype=e;var r=new n;return void 0!==t&&i(t).forEach(function(e){v.defineByDescriptor(r,e,t[e])}),r},w=function(e,t){return!!Object.setPrototypeOf&&a(function(){var n=function t(n){var r=new e(n);return Object.setPrototypeOf(r,t.prototype),r};return Object.setPrototypeOf(n,e),n.prototype=b(e.prototype,{constructor:{value:n}}),t(n)})},x=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}(),T=x.isFinite,S=Function.call.bind(String.prototype.indexOf),k=Function.apply.bind(Array.prototype.indexOf),O=Function.call.bind(Array.prototype.concat),j=Function.call.bind(String.prototype.slice),A=Function.call.bind(Array.prototype.push),C=Function.apply.bind(Array.prototype.push),E=Function.call.bind(Array.prototype.shift),N=Math.max,_=Math.min,P=Math.floor,I=Math.abs,M=Math.exp,D=Math.log,L=Math.sqrt,R=Function.call.bind(Object.prototype.hasOwnProperty),q=function(){},F=x.Map,H=F&&F.prototype.delete,V=F&&F.prototype.get,$=F&&F.prototype.has,B=F&&F.prototype.set,W=x.Symbol||{},z=W.species||"@@species",U=Number.isNaN||function(e){return e!==e},G=Number.isFinite||function(e){return"number"==typeof e&&T(e)},J=m(Math.sign)?Math.sign:function(e){var t=Number(e);return 0===t?t:U(t)?t:t<0?-1:1},X=function(e){var t=Number(e);return t<-1||U(t)?NaN:0===t||t===1/0?t:-1===t?-1/0:1+t-1==0?t:t*(D(1+t)/(1+t-1))},Y=function(e){return"[object Arguments]"===y(e)},Z=function(e){return null!==e&&"object"===(void 0===e?"undefined":_typeof(e))&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==y(e)&&"[object Function]"===y(e.callee)},Q=Y(arguments)?Y:Z,K={primitive:function(e){return null===e||"function"!=typeof e&&"object"!==(void 0===e?"undefined":_typeof(e))},string:function(e){return"[object String]"===y(e)},regex:function(e){return"[object RegExp]"===y(e)},symbol:function(e){return"function"==typeof x.Symbol&&"symbol"===(void 0===e?"undefined":_typeof(e))}},ee=function(e,t,n){var r=e[t];h(e,t,n,!0),v.preserveToString(e[t],r)},te="function"==typeof W&&"function"==typeof W.for&&K.symbol(W()),ne=K.symbol(W.iterator)?W.iterator:"_es6-shim iterator_";x.Set&&"function"==typeof(new x.Set)["@@iterator"]&&(ne="@@iterator"),x.Reflect||h(x,"Reflect",{},!0);var re=x.Reflect,ie=String,oe="undefined"!=typeof document&&document?document.all:null,ae=null==oe?function(e){return null==e}:function(e){return null==e&&e!==oe},se={Call:function(e,n){var r=arguments.length>2?arguments[2]:[];if(!se.IsCallable(e))throw new TypeError(e+" is not a function");return t(e,n,r)},RequireObjectCoercible:function(e,t){if(ae(e))throw new TypeError(t||"Cannot call method on "+e);return e},TypeIsObject:function(e){return void 0!==e&&null!==e&&!0!==e&&!1!==e&&("function"==typeof e||"object"===(void 0===e?"undefined":_typeof(e))||e===oe)},ToObject:function(e,t){return Object(se.RequireObjectCoercible(e,t))},IsCallable:m,IsConstructor:function(e){return se.IsCallable(e)},ToInt32:function(e){return se.ToNumber(e)>>0},ToUint32:function(e){return se.ToNumber(e)>>>0},ToNumber:function(e){if("[object Symbol]"===y(e))throw new TypeError("Cannot convert a Symbol value to a number");return+e},ToInteger:function(e){var t=se.ToNumber(e);return U(t)?0:0!==t&&G(t)?(t>0?1:-1)*P(I(t)):t},ToLength:function(e){var t=se.ToInteger(e);return t<=0?0:t>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t},SameValue:function(e,t){return e===t?0!==e||1/e==1/t:U(e)&&U(t)},SameValueZero:function(e,t){return e===t||U(e)&&U(t)},IsIterable:function(e){return se.TypeIsObject(e)&&(void 0!==e[ne]||Q(e))},GetIterator:function(t){if(Q(t))return new e(t,"value");var n=se.GetMethod(t,ne);if(!se.IsCallable(n))throw new TypeError("value is not an iterable");var r=se.Call(n,t);if(!se.TypeIsObject(r))throw new TypeError("bad iterator");return r},GetMethod:function(e,t){var n=se.ToObject(e)[t];if(!ae(n)){if(!se.IsCallable(n))throw new TypeError("Method not callable: "+t);return n}},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var n=se.GetMethod(e,"return");if(void 0!==n){var r,i;try{r=se.Call(n,e)}catch(e){i=e}if(!t){if(i)throw i;if(!se.TypeIsObject(r))throw new TypeError("Iterator's return method returned a non-object.")}}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!se.TypeIsObject(t))throw new TypeError("bad iterator");return t},IteratorStep:function(e){var t=se.IteratorNext(e);return!se.IteratorComplete(t)&&t},Construct:function(e,t,n,r){var i=void 0===n?e:n;if(!r&&re.construct)return re.construct(e,t,i);var o=i.prototype;se.TypeIsObject(o)||(o=Object.prototype);var a=b(o),s=se.Call(e,a,t);return se.TypeIsObject(s)?s:a},SpeciesConstructor:function(e,t){var n=e.constructor;if(void 0===n)return t;if(!se.TypeIsObject(n))throw new TypeError("Bad constructor");var r=n[z];if(ae(r))return t;if(!se.IsConstructor(r))throw new TypeError("Bad @@species");return r},CreateHTML:function(e,t,n,r){var i=se.ToString(e),o="<"+t;if(""!==n){o+=" "+n+'="'+se.ToString(r).replace(/"/g,""")+'"'}return o+">"+i+"</"+t+">"},IsRegExp:function(e){if(!se.TypeIsObject(e))return!1;var t=e[W.match];return void 0!==t?!!t:K.regex(e)},ToString:function(e){return ie(e)}};if(c&&te){var ce=function(e){if(K.symbol(W[e]))return W[e];var t=W.for("Symbol."+e);return Object.defineProperty(W,e,{configurable:!1,enumerable:!1,writable:!1,value:t}),t};if(!K.symbol(W.search)){var ue=ce("search"),le=String.prototype.search;h(RegExp.prototype,ue,function(e){return se.Call(le,e,[this])});var fe=function(e){var t=se.RequireObjectCoercible(this);if(!ae(e)){var n=se.GetMethod(e,ue);if(void 0!==n)return se.Call(n,e,[t])}return se.Call(le,t,[se.ToString(e)])};ee(String.prototype,"search",fe)}if(!K.symbol(W.replace)){var pe=ce("replace"),de=String.prototype.replace;h(RegExp.prototype,pe,function(e,t){return se.Call(de,e,[this,t])});var he=function(e,t){var n=se.RequireObjectCoercible(this);if(!ae(e)){var r=se.GetMethod(e,pe);if(void 0!==r)return se.Call(r,e,[n,t])}return se.Call(de,n,[se.ToString(e),t])};ee(String.prototype,"replace",he)}if(!K.symbol(W.split)){var ge=ce("split"),ye=String.prototype.split;h(RegExp.prototype,ge,function(e,t){return se.Call(ye,e,[this,t])});var me=function(e,t){var n=se.RequireObjectCoercible(this);if(!ae(e)){var r=se.GetMethod(e,ge);if(void 0!==r)return se.Call(r,e,[n,t])}return se.Call(ye,n,[se.ToString(e),t])};ee(String.prototype,"split",me)}var ve=K.symbol(W.match),be=ve&&function(){var e={};return e[W.match]=function(){return 42},42!=="a".match(e)}();if(!ve||be){var we=ce("match"),xe=String.prototype.match;h(RegExp.prototype,we,function(e){return se.Call(xe,e,[this])});var Te=function(e){var t=se.RequireObjectCoercible(this);if(!ae(e)){var n=se.GetMethod(e,we);if(void 0!==n)return se.Call(n,e,[t])}return se.Call(xe,t,[se.ToString(e)])};ee(String.prototype,"match",Te)}}var Se=function(e,t,n){v.preserveToString(t,e),Object.setPrototypeOf&&Object.setPrototypeOf(e,t),c?l(Object.getOwnPropertyNames(e),function(r){r in q||n[r]||v.proxy(e,r,t)}):l(Object.keys(e),function(r){r in q||n[r]||(t[r]=e[r])}),t.prototype=e.prototype,v.redefine(e.prototype,"constructor",t)},ke=function(){return this},Oe=function(e){c&&!R(e,z)&&v.getter(e,z,ke)},je=function(e,t){var n=t||function(){return this};h(e,ne,n),!e[ne]&&K.symbol(ne)&&(e[ne]=n)},Ae=function(e,t,n){c?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n},Ce=function(e,t,n){if(Ae(e,t,n),!se.SameValue(e[t],n))throw new TypeError("property is nonconfigurable")},Ee=function(e,t,n,r){if(!se.TypeIsObject(e))throw new TypeError("Constructor requires `new`: "+t.name);var i=t.prototype;se.TypeIsObject(i)||(i=n);var o=b(i);for(var a in r)if(R(r,a)){var s=r[a];h(o,a,s,!0)}return o};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var Ne=String.fromCodePoint;ee(String,"fromCodePoint",function(e){return se.Call(Ne,this,arguments)})}var _e={fromCodePoint:function(e){for(var t,n=[],r=0,i=arguments.length;r<i;r++){if(t=Number(arguments[r]),!se.SameValue(t,se.ToInteger(t))||t<0||t>1114111)throw new RangeError("Invalid code point "+t);t<65536?A(n,String.fromCharCode(t)):(t-=65536,A(n,String.fromCharCode(55296+(t>>10))),A(n,String.fromCharCode(t%1024+56320)))}return n.join("")},raw:function(e){var t=se.ToObject(e,"bad callSite"),n=se.ToObject(t.raw,"bad raw value"),r=n.length,i=se.ToLength(r);if(i<=0)return"";for(var o,a,s,c,u=[],l=0;l<i&&(o=se.ToString(l),s=se.ToString(n[o]),A(u,s),!(l+1>=i));)a=l+1<arguments.length?arguments[l+1]:"",c=se.ToString(a),A(u,c),l+=1;return u.join("")}};String.raw&&"xy"!==String.raw({raw:{0:"x",1:"y",length:2}})&&ee(String,"raw",_e.raw),g(String,_e);var Pe=function e(t,n){if(n<1)return"";if(n%2)return e(t,n-1)+t;var r=e(t,n/2);return r+r},Ie={repeat:function(e){var t=se.ToString(se.RequireObjectCoercible(this)),n=se.ToInteger(e);if(n<0||n>=1/0)throw new RangeError("repeat count must be less than infinity and not overflow maximum string size");return Pe(t,n)},startsWith:function(e){var t=se.ToString(se.RequireObjectCoercible(this));if(se.IsRegExp(e))throw new TypeError('Cannot call method "startsWith" with a regex');var n,r=se.ToString(e);arguments.length>1&&(n=arguments[1]);var i=N(se.ToInteger(n),0);return j(t,i,i+r.length)===r},endsWith:function(e){var t=se.ToString(se.RequireObjectCoercible(this));if(se.IsRegExp(e))throw new TypeError('Cannot call method "endsWith" with a regex');var n,r=se.ToString(e),i=t.length;arguments.length>1&&(n=arguments[1]);var o=void 0===n?i:se.ToInteger(n),a=_(N(o,0),i);return j(t,a-r.length,a)===r},includes:function(e){if(se.IsRegExp(e))throw new TypeError('"includes" does not accept a RegExp');var t,n=se.ToString(e);return arguments.length>1&&(t=arguments[1]),-1!==S(this,n,t)},codePointAt:function(e){var t=se.ToString(se.RequireObjectCoercible(this)),n=se.ToInteger(e),r=t.length;if(n>=0&&n<r){var i=t.charCodeAt(n),o=n+1===r;if(i<55296||i>56319||o)return i;var a=t.charCodeAt(n+1);return a<56320||a>57343?i:1024*(i-55296)+(a-56320)+65536}}};if(String.prototype.includes&&!1!=="a".includes("a",1/0)&&ee(String.prototype,"includes",Ie.includes),String.prototype.startsWith&&String.prototype.endsWith){var Me=o(function(){return"/a/".startsWith(/a/)}),De=a(function(){return!1==="abc".startsWith("a",1/0)});Me&&De||(ee(String.prototype,"startsWith",Ie.startsWith),ee(String.prototype,"endsWith",Ie.endsWith))}if(te){a(function(){var e=/a/;return e[W.match]=!1,"/a/".startsWith(e)})||ee(String.prototype,"startsWith",Ie.startsWith);a(function(){var e=/a/;return e[W.match]=!1,"/a/".endsWith(e)})||ee(String.prototype,"endsWith",Ie.endsWith);a(function(){var e=/a/;return e[W.match]=!1,"/a/".includes(e)})||ee(String.prototype,"includes",Ie.includes)}g(String.prototype,Ie);var Le=["\t\n\v\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join(""),Re=new RegExp("(^["+Le+"]+)|(["+Le+"]+$)","g"),qe=function(){return se.ToString(se.RequireObjectCoercible(this)).replace(Re,"")},Fe=["\x85","\u200b","\ufffe"].join(""),He=new RegExp("["+Fe+"]","g"),Ve=/^[-+]0x[0-9a-f]+$/i,$e=Fe.trim().length!==Fe.length;h(String.prototype,"trim",qe,$e);var Be=function(e){return{value:e,done:0===arguments.length}},We=function(e){se.RequireObjectCoercible(e),this._s=se.ToString(e),this._i=0};We.prototype.next=function(){var e=this._s,t=this._i;if(void 0===e||t>=e.length)return this._s=void 0,Be();var n,r,i=e.charCodeAt(t);return i<55296||i>56319||t+1===e.length?r=1:(n=e.charCodeAt(t+1),r=n<56320||n>57343?1:2),this._i=t+r,Be(e.substr(t,r))},je(We.prototype),je(String.prototype,function(){return new We(this)});var ze={from:function(e){var t,r=this;arguments.length>1&&(t=arguments[1]);var i,o;if(void 0===t)i=!1;else{if(!se.IsCallable(t))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(o=arguments[2]),i=!0}var a,s,c,u=void 0!==(Q(e)||se.GetMethod(e,ne));if(u){s=se.IsConstructor(r)?Object(new r):[];var l,f,p=se.GetIterator(e);for(c=0;;){if(!1===(l=se.IteratorStep(p)))break;f=l.value;try{i&&(f=void 0===o?t(f,c):n(t,o,f,c)),s[c]=f}catch(e){throw se.IteratorClose(p,!0),e}c+=1}a=c}else{var d=se.ToObject(e);a=se.ToLength(d.length),s=se.IsConstructor(r)?Object(new r(a)):new Array(a);var h;for(c=0;c<a;++c)h=d[c],i&&(h=void 0===o?t(h,c):n(t,o,h,c)),Ce(s,c,h)}return s.length=a,s},of:function(){for(var e=arguments.length,t=this,n=r(t)||!se.IsCallable(t)?new Array(e):se.Construct(t,[e]),i=0;i<e;++i)Ce(n,i,arguments[i]);return n.length=e,n}};g(Array,ze),Oe(Array),e=function(e,t){this.i=0,this.array=e,this.kind=t},g(e.prototype,{next:function(){var t=this.i,n=this.array;if(!(this instanceof e))throw new TypeError("Not an ArrayIterator");if(void 0!==n)for(var r=se.ToLength(n.length);t<r;t++){var i,o=this.kind;return"key"===o?i=t:"value"===o?i=n[t]:"entry"===o&&(i=[t,n[t]]),this.i=t+1,Be(i)}return this.array=void 0,Be()}}),je(e.prototype),Array.of===ze.of||function(){var e=function(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&2===t.length}()||ee(Array,"of",ze.of);var Ue={copyWithin:function(e,t){var n,r=se.ToObject(this),i=se.ToLength(r.length),o=se.ToInteger(e),a=se.ToInteger(t),s=o<0?N(i+o,0):_(o,i),c=a<0?N(i+a,0):_(a,i);arguments.length>2&&(n=arguments[2]);var u=void 0===n?i:se.ToInteger(n),l=u<0?N(i+u,0):_(u,i),f=_(l-c,i-s),p=1;for(c<s&&s<c+f&&(p=-1,c+=f-1,s+=f-1);f>0;)c in r?r[s]=r[c]:delete r[s],c+=p,s+=p,f-=1;return r},fill:function(e){var t;arguments.length>1&&(t=arguments[1]);var n;arguments.length>2&&(n=arguments[2]);var r=se.ToObject(this),i=se.ToLength(r.length);t=se.ToInteger(void 0===t?0:t),n=se.ToInteger(void 0===n?i:n);for(var o=t<0?N(i+t,0):_(t,i),a=n<0?i+n:n,s=o;s<i&&s<a;++s)r[s]=e;return r},find:function(e){var t=se.ToObject(this),r=se.ToLength(t.length);if(!se.IsCallable(e))throw new TypeError("Array#find: predicate must be a function");for(var i,o=arguments.length>1?arguments[1]:null,a=0;a<r;a++)if(i=t[a],o){if(n(e,o,i,a,t))return i}else if(e(i,a,t))return i},findIndex:function(e){var t=se.ToObject(this),r=se.ToLength(t.length);if(!se.IsCallable(e))throw new TypeError("Array#findIndex: predicate must be a function");for(var i=arguments.length>1?arguments[1]:null,o=0;o<r;o++)if(i){if(n(e,i,t[o],o,t))return o}else if(e(t[o],o,t))return o;return-1},keys:function(){return new e(this,"key")},values:function(){return new e(this,"value")},entries:function(){return new e(this,"entry")}};if(Array.prototype.keys&&!se.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!se.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[ne]&&(g(Array.prototype,{values:Array.prototype[ne]}),K.symbol(W.unscopables)&&(Array.prototype[W.unscopables].values=!0)),u&&Array.prototype.values&&"values"!==Array.prototype.values.name){var Ge=Array.prototype.values;ee(Array.prototype,"values",function(){return se.Call(Ge,this,arguments)}),h(Array.prototype,ne,Array.prototype.values,!0)}g(Array.prototype,Ue),1/[!0].indexOf(!0,-0)<0&&h(Array.prototype,"indexOf",function(e){var t=k(this,arguments);return 0===t&&1/t<0?0:t},!0),je(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&je(Object.getPrototypeOf([].values()));var Je=function(){return a(function(){return 0===Array.from({length:-1}).length})}(),Xe=function(){var e=Array.from([0].entries());return 1===e.length&&r(e[0])&&0===e[0][0]&&0===e[0][1]}();if(Je&&Xe||ee(Array,"from",ze.from),!function(){return a(function(){return Array.from([0],void 0)})}()){var Ye=Array.from;ee(Array,"from",function(e){return arguments.length>1&&void 0!==arguments[1]?se.Call(Ye,this,arguments):n(Ye,this,e)})}var Ze=-(Math.pow(2,32)-1),Qe=function(e,t){var r={length:Ze};return r[t?(r.length>>>0)-1:0]=!0,a(function(){return n(e,r,function(){throw new RangeError("should not reach here")},[]),!0})};if(!Qe(Array.prototype.forEach)){var Ke=Array.prototype.forEach;ee(Array.prototype,"forEach",function(e){return se.Call(Ke,this.length>=0?this:[],arguments)})}if(!Qe(Array.prototype.map)){var et=Array.prototype.map;ee(Array.prototype,"map",function(e){return se.Call(et,this.length>=0?this:[],arguments)})}if(!Qe(Array.prototype.filter)){var tt=Array.prototype.filter;ee(Array.prototype,"filter",function(e){return se.Call(tt,this.length>=0?this:[],arguments)})}if(!Qe(Array.prototype.some)){var nt=Array.prototype.some;ee(Array.prototype,"some",function(e){return se.Call(nt,this.length>=0?this:[],arguments)})}if(!Qe(Array.prototype.every)){var rt=Array.prototype.every;ee(Array.prototype,"every",function(e){return se.Call(rt,this.length>=0?this:[],arguments)})}if(!Qe(Array.prototype.reduce)){var it=Array.prototype.reduce;ee(Array.prototype,"reduce",function(e){return se.Call(it,this.length>=0?this:[],arguments)})}if(!Qe(Array.prototype.reduceRight,!0)){var ot=Array.prototype.reduceRight;ee(Array.prototype,"reduceRight",function(e){return se.Call(ot,this.length>=0?this:[],arguments)})}var at=8!==Number("0o10"),st=2!==Number("0b10"),ct=d(Fe,function(e){return 0===Number(e+0+e)});if(at||st||ct){var ut=Number,lt=/^0b[01]+$/i,ft=/^0o[0-7]+$/i,pt=lt.test.bind(lt),dt=ft.test.bind(ft),ht=function(e){var t;if("function"==typeof e.valueOf&&(t=e.valueOf(),K.primitive(t)))return t;if("function"==typeof e.toString&&(t=e.toString(),K.primitive(t)))return t;throw new TypeError("No default value")},gt=He.test.bind(He),yt=Ve.test.bind(Ve),mt=function(){var e=function(t){var n;"string"==typeof(n=arguments.length>0?K.primitive(t)?t:ht(t):0)&&(n=se.Call(qe,n),pt(n)?n=parseInt(j(n,2),2):dt(n)?n=parseInt(j(n,2),8):(gt(n)||yt(n))&&(n=NaN));var r=this,i=a(function(){return ut.prototype.valueOf.call(r),!0});return r instanceof e&&!i?new ut(n):ut(n)};return e}();Se(ut,mt,{}),g(mt,{NaN:ut.NaN,MAX_VALUE:ut.MAX_VALUE,MIN_VALUE:ut.MIN_VALUE,NEGATIVE_INFINITY:ut.NEGATIVE_INFINITY,POSITIVE_INFINITY:ut.POSITIVE_INFINITY}),Number=mt,v.redefine(x,"Number",mt)}var vt=Math.pow(2,53)-1;g(Number,{MAX_SAFE_INTEGER:vt,MIN_SAFE_INTEGER:-vt,EPSILON:2.220446049250313e-16,parseInt:x.parseInt,parseFloat:x.parseFloat,isFinite:G,isInteger:function(e){return G(e)&&se.ToInteger(e)===e},isSafeInteger:function(e){return Number.isInteger(e)&&I(e)<=Number.MAX_SAFE_INTEGER},isNaN:U}),h(Number,"parseInt",x.parseInt,Number.parseInt!==x.parseInt),1===[,1].find(function(){return!0})&&ee(Array.prototype,"find",Ue.find),0!==[,1].findIndex(function(){return!0})&&ee(Array.prototype,"findIndex",Ue.findIndex);var bt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),wt=function(e,t){c&&bt(e,t)&&Object.defineProperty(e,t,{enumerable:!1})},xt=function(){for(var e=Number(this),t=arguments.length,n=t-e,r=new Array(n<0?0:n),i=e;i<t;++i)r[i-e]=arguments[i];return r},Tt=function(e){return function(t,n){return t[n]=e[n],t}},St=function(e,t){var n,r=i(Object(t));return se.IsCallable(Object.getOwnPropertySymbols)&&(n=p(Object.getOwnPropertySymbols(Object(t)),bt(t))),f(O(r,n||[]),Tt(t),e)},kt={assign:function(e,t){var n=se.ToObject(e,"Cannot convert undefined or null to object");return f(se.Call(xt,1,arguments),St,n)},is:function(e,t){return se.SameValue(e,t)}};if(Object.assign&&Object.preventExtensions&&function(){var e=Object.preventExtensions({1:2});try{Object.assign(e,"xy")}catch(t){return"y"===e[1]}}()&&ee(Object,"assign",kt.assign),g(Object,kt),c){var Ot={setPrototypeOf:function(e,t){var r,i=function(e,t){if(!se.TypeIsObject(e))throw new TypeError("cannot set prototype on a non-object");if(null!==t&&!se.TypeIsObject(t))throw new TypeError("can only set prototype to an object or null"+t)},o=function(e,t){return i(e,t),n(r,e,t),e};try{r=e.getOwnPropertyDescriptor(e.prototype,"__proto__").set,n(r,{},null)}catch(t){if(e.prototype!=={}.__proto__)return;r=function(e){this.__proto__=e},o.polyfill=o(o({},null),e.prototype)instanceof e}return o}(Object)};g(Object,Ot)}if(Object.setPrototypeOf&&Object.getPrototypeOf&&null!==Object.getPrototypeOf(Object.setPrototypeOf({},null))&&null===Object.getPrototypeOf(Object.create(null))&&function(){var e=Object.create(null),t=Object.getPrototypeOf,n=Object.setPrototypeOf;Object.getPrototypeOf=function(n){var r=t(n);return r===e?null:r},Object.setPrototypeOf=function(t,r){return n(t,null===r?e:r)},Object.setPrototypeOf.polyfill=!1}(),!!o(function(){return Object.keys("foo")})){var jt=Object.keys;ee(Object,"keys",function(e){return jt(se.ToObject(e))}),i=Object.keys}if(o(function(){return Object.keys(/a/g)})){var At=Object.keys;ee(Object,"keys",function(e){if(K.regex(e)){var t=[];for(var n in e)R(e,n)&&A(t,n);return t}return At(e)}),i=Object.keys}if(Object.getOwnPropertyNames){if(!!o(function(){return Object.getOwnPropertyNames("foo")})){var Ct="object"===("undefined"==typeof window?"undefined":_typeof(window))?Object.getOwnPropertyNames(window):[],Et=Object.getOwnPropertyNames;ee(Object,"getOwnPropertyNames",function(e){var t=se.ToObject(e);if("[object Window]"===y(t))try{return Et(t)}catch(e){return O([],Ct)}return Et(t)})}}if(Object.getOwnPropertyDescriptor){if(!!o(function(){return Object.getOwnPropertyDescriptor("foo","bar")})){var Nt=Object.getOwnPropertyDescriptor;ee(Object,"getOwnPropertyDescriptor",function(e,t){return Nt(se.ToObject(e),t)})}}if(Object.seal){if(!!o(function(){return Object.seal("foo")})){var _t=Object.seal;ee(Object,"seal",function(e){return se.TypeIsObject(e)?_t(e):e})}}if(Object.isSealed){if(!!o(function(){return Object.isSealed("foo")})){var Pt=Object.isSealed;ee(Object,"isSealed",function(e){return!se.TypeIsObject(e)||Pt(e)})}}if(Object.freeze){if(!!o(function(){return Object.freeze("foo")})){var It=Object.freeze;ee(Object,"freeze",function(e){return se.TypeIsObject(e)?It(e):e})}}if(Object.isFrozen){if(!!o(function(){return Object.isFrozen("foo")})){var Mt=Object.isFrozen;ee(Object,"isFrozen",function(e){return!se.TypeIsObject(e)||Mt(e)})}}if(Object.preventExtensions){if(!!o(function(){return Object.preventExtensions("foo")})){var Dt=Object.preventExtensions;ee(Object,"preventExtensions",function(e){return se.TypeIsObject(e)?Dt(e):e})}}if(Object.isExtensible){if(!!o(function(){return Object.isExtensible("foo")})){var Lt=Object.isExtensible;ee(Object,"isExtensible",function(e){return!!se.TypeIsObject(e)&&Lt(e)})}}if(Object.getPrototypeOf){if(!!o(function(){return Object.getPrototypeOf("foo")})){var Rt=Object.getPrototypeOf;ee(Object,"getPrototypeOf",function(e){return Rt(se.ToObject(e))})}}var qt=c&&function(){var e=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags");return e&&se.IsCallable(e.get)}();if(c&&!qt){var Ft=function(){if(!se.TypeIsObject(this))throw new TypeError("Method called on incompatible type: must be an object.");var e="";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.unicode&&(e+="u"),this.sticky&&(e+="y"),e};v.getter(RegExp.prototype,"flags",Ft)}var Ht=c&&a(function(){return"/a/i"===String(new RegExp(/a/g,"i"))}),Vt=te&&c&&function(){var e=/./;return e[W.match]=!1,RegExp(e)===e}(),$t=a(function(){return"/abc/"===RegExp.prototype.toString.call({source:"abc"})}),Bt=$t&&a(function(){return"/a/b"===RegExp.prototype.toString.call({source:"a",flags:"b"})});if(!$t||!Bt){var Wt=RegExp.prototype.toString;h(RegExp.prototype,"toString",function(){var e=se.RequireObjectCoercible(this);return K.regex(e)?n(Wt,e):"/"+ie(e.source)+"/"+ie(e.flags)},!0),v.preserveToString(RegExp.prototype.toString,Wt)}if(c&&(!Ht||Vt)){var zt=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags").get,Ut=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")||{},Gt=function(){return this.source},Jt=se.IsCallable(Ut.get)?Ut.get:Gt,Xt=RegExp,Yt=function(){return function e(t,n){var r=se.IsRegExp(t);if(!(this instanceof e)&&r&&void 0===n&&t.constructor===e)return t;var i=t,o=n;return K.regex(t)?(i=se.Call(Jt,t),o=void 0===n?se.Call(zt,t):n,new e(i,o)):(r&&(i=t.source,o=void 0===n?t.flags:n),new Xt(t,n))}}();Se(Xt,Yt,{$input:!0}),RegExp=Yt,v.redefine(x,"RegExp",Yt)}if(c){var Zt={input:"$_",lastMatch:"$&",lastParen:"$+",leftContext:"$`",rightContext:"$'"};l(i(Zt),function(e){e in RegExp&&!(Zt[e]in RegExp)&&v.getter(RegExp,Zt[e],function(){return RegExp[e]})})}Oe(RegExp);var Qt=1/Number.EPSILON,Kt=function(e){return e+Qt-Qt},en=Math.pow(2,-23),tn=Math.pow(2,127)*(2-en),nn=Math.pow(2,-126),rn=Math.E,on=Math.LOG2E,an=Math.LOG10E,sn=Number.prototype.clz;delete Number.prototype.clz;var cn={acosh:function(e){var t=Number(e);if(U(t)||e<1)return NaN;if(1===t)return 0;if(t===1/0)return t;var n=1/(t*t);if(t<2)return X(t-1+L(1-n)*t);var r=t/2;return X(r+L(1-n)*r-1)+1/on},asinh:function(e){var t=Number(e);if(0===t||!T(t))return t;var n=I(t),r=n*n,i=J(t);return n<1?i*X(n+r/(L(r+1)+1)):i*(X(n/2+L(1+1/r)*n/2-1)+1/on)},atanh:function(e){var t=Number(e);if(0===t)return t;if(-1===t)return-1/0;if(1===t)return 1/0;if(U(t)||t<-1||t>1)return NaN;var n=I(t);return J(t)*X(2*n/(1-n))/2},cbrt:function(e){var t=Number(e);if(0===t)return t;var n,r=t<0;return r&&(t=-t),t===1/0?n=1/0:(n=M(D(t)/3),n=(t/(n*n)+2*n)/3),r?-n:n},clz32:function(e){var t=Number(e),n=se.ToUint32(t);return 0===n?32:sn?se.Call(sn,n):31-P(D(n+.5)*on)},cosh:function(e){var t=Number(e);if(0===t)return 1;if(U(t))return NaN;if(!T(t))return 1/0;var n=M(I(t)-1);return(n+1/(n*rn*rn))*(rn/2)},expm1:function(e){var t=Number(e);if(t===-1/0)return-1;if(!T(t)||0===t)return t;if(I(t)>.5)return M(t)-1;for(var n=t,r=0,i=1;r+n!==r;)r+=n,i+=1,n*=t/i;return r},hypot:function(e,t){for(var n=0,r=0,i=0;i<arguments.length;++i){var o=I(Number(arguments[i]));r<o?(n*=r/o*(r/o),n+=1,r=o):n+=o>0?o/r*(o/r):o}return r===1/0?1/0:r*L(n)},log2:function(e){return D(e)*on},log10:function(e){return D(e)*an},log1p:X,sign:J,sinh:function(e){var t=Number(e);if(!T(t)||0===t)return t;var n=I(t);if(n<1){var r=Math.expm1(n);return J(t)*r*(1+1/(r+1))/2}var i=M(n-1);return J(t)*(i-1/(i*rn*rn))*(rn/2)},tanh:function(e){var t=Number(e);return U(t)||0===t?t:t>=20?1:t<=-20?-1:(Math.expm1(t)-Math.expm1(-t))/(M(t)+M(-t))},trunc:function(e){var t=Number(e);return t<0?-P(-t):P(t)},imul:function(e,t){var n=se.ToUint32(e),r=se.ToUint32(t),i=n>>>16&65535,o=65535&n,a=r>>>16&65535,s=65535&r;return o*s+(i*s+o*a<<16>>>0)|0},fround:function(e){var t=Number(e);if(0===t||t===1/0||t===-1/0||U(t))return t;var n=J(t),r=I(t);if(r<nn)return n*Kt(r/nn/en)*nn*en;var i=(1+en/Number.EPSILON)*r,o=i-(i-r);return o>tn||U(o)?n*(1/0):n*o}},un=function(e,t,n){return I(1-e/t)/Number.EPSILON<(n||8)};g(Math,cn),h(Math,"sinh",cn.sinh,Math.sinh(710)===1/0),h(Math,"cosh",cn.cosh,Math.cosh(710)===1/0),h(Math,"log1p",cn.log1p,-1e-17!==Math.log1p(-1e-17)),h(Math,"asinh",cn.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),h(Math,"asinh",cn.asinh,Math.asinh(1e300)===1/0),h(Math,"atanh",cn.atanh,0===Math.atanh(1e-300)),h(Math,"tanh",cn.tanh,-2e-17!==Math.tanh(-2e-17)),h(Math,"acosh",cn.acosh,Math.acosh(Number.MAX_VALUE)===1/0),h(Math,"acosh",cn.acosh,!un(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON))),h(Math,"cbrt",cn.cbrt,!un(Math.cbrt(1e-300),1e-100)),h(Math,"sinh",cn.sinh,-2e-17!==Math.sinh(-2e-17));var ln=Math.expm1(10);h(Math,"expm1",cn.expm1,ln>22025.465794806718||ln<22025.465794806718);var fn=Math.round,pn=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(Number.EPSILON/3.99-.5),dn=Qt+1,hn=2*Qt-1,gn=[dn,hn].every(function(e){return Math.round(e)===e});h(Math,"round",function(e){var t=P(e),n=-1===t?-0:t+1;return e-t<.5?t:n},!pn||!gn),v.preserveToString(Math.round,fn);var yn=Math.imul;-5!==Math.imul(4294967295,5)&&(Math.imul=cn.imul,v.preserveToString(Math.imul,yn)),2!==Math.imul.length&&ee(Math,"imul",function(e,t){return se.Call(yn,Math,arguments)});var mn=function(){var e=x.setTimeout;if("function"==typeof e||"object"===(void 0===e?"undefined":_typeof(e))){se.IsPromise=function(e){return!!se.TypeIsObject(e)&&void 0!==e._promise};var t,r=function(e){if(!se.IsConstructor(e))throw new TypeError("Bad promise constructor");var t=this,n=function(e,n){if(void 0!==t.resolve||void 0!==t.reject)throw new TypeError("Bad Promise implementation!");t.resolve=e,t.reject=n};if(t.resolve=void 0,t.reject=void 0,t.promise=new e(n),!se.IsCallable(t.resolve)||!se.IsCallable(t.reject))throw new TypeError("Bad promise constructor")};"undefined"!=typeof window&&se.IsCallable(window.postMessage)&&(t=function(){var e=[],t=function(t){A(e,t),window.postMessage("zero-timeout-message","*")},n=function(t){if(t.source===window&&"zero-timeout-message"===t.data){if(t.stopPropagation(),0===e.length)return;E(e)()}};return window.addEventListener("message",n,!0),t});var i,o,a=se.IsCallable(x.setImmediate)?x.setImmediate:"object"===("undefined"==typeof process?"undefined":_typeof(process))&&process.nextTick?process.nextTick:function(){var e=x.Promise,t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}}()||(se.IsCallable(t)?t():function(t){e(t,0)}),s=function(e){return e},c=function(e){throw e},u={},l=function(e,t,n){a(function(){f(e,t,n)})},f=function(e,t,n){var r,i;if(t===u)return e(n);try{r=e(n),i=t.resolve}catch(e){r=e,i=t.reject}i(r)},p=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(l(n.fulfillReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;i<r;i++,o+=3)l(n[o+0],n[o+2],t),e[o+0]=void 0,e[o+1]=void 0,e[o+2]=void 0;n.result=t,n.state=1,n.reactionLength=0},d=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(l(n.rejectReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;i<r;i++,o+=3)l(n[o+1],n[o+2],t),e[o+0]=void 0,e[o+1]=void 0,e[o+2]=void 0;n.result=t,n.state=2,n.reactionLength=0},h=function(e){var t=!1;return{resolve:function(n){var r;if(!t){if(t=!0,n===e)return d(e,new TypeError("Self resolution"));if(!se.TypeIsObject(n))return p(e,n);try{r=n.then}catch(t){return d(e,t)}if(!se.IsCallable(r))return p(e,n);a(function(){m(e,n,r)})}},reject:function(n){if(!t)return t=!0,d(e,n)}}
},y=function(e,t,r,i){e===o?n(e,t,r,i,u):n(e,t,r,i)},m=function(e,t,n){var r=h(e),i=r.resolve,o=r.reject;try{y(n,t,i,o)}catch(e){o(e)}},v=function(){var e=function(t){if(!(this instanceof e))throw new TypeError('Constructor Promise requires "new"');if(this&&this._promise)throw new TypeError("Bad construction");if(!se.IsCallable(t))throw new TypeError("not a valid resolver");var n=Ee(this,e,i,{_promise:{result:void 0,state:0,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),r=h(n),o=r.reject;try{t(r.resolve,o)}catch(e){o(e)}return n};return e}();i=v.prototype;var b=function(e,t,n,r){var i=!1;return function(o){if(!i&&(i=!0,t[e]=o,0==--r.count)){(0,n.resolve)(t)}}},w=function(e,t,n){for(var r,i,o=e.iterator,a=[],s={count:1},c=0;;){try{if(!1===(r=se.IteratorStep(o))){e.done=!0;break}i=r.value}catch(t){throw e.done=!0,t}a[c]=void 0;var u=t.resolve(i),l=b(c,a,n,s);s.count+=1,y(u.then,u,l,n.reject),c+=1}if(0==--s.count){(0,n.resolve)(a)}return n.promise},T=function(e,t,n){for(var r,i,o,a=e.iterator;;){try{if(!1===(r=se.IteratorStep(a))){e.done=!0;break}i=r.value}catch(t){throw e.done=!0,t}o=t.resolve(i),y(o.then,o,n.resolve,n.reject)}return n.promise};return g(v,{all:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Promise is not object");var n,i,o=new r(t);try{return n=se.GetIterator(e),i={iterator:n,done:!1},w(i,t,o)}catch(e){var a=e;if(i&&!i.done)try{se.IteratorClose(n,!0)}catch(e){a=e}var s=o.reject;return s(a),o.promise}},race:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Promise is not object");var n,i,o=new r(t);try{return n=se.GetIterator(e),i={iterator:n,done:!1},T(i,t,o)}catch(e){var a=e;if(i&&!i.done)try{se.IteratorClose(n,!0)}catch(e){a=e}var s=o.reject;return s(a),o.promise}},reject:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Bad promise constructor");var n=new r(t);return(0,n.reject)(e),n.promise},resolve:function(e){var t=this;if(!se.TypeIsObject(t))throw new TypeError("Bad promise constructor");if(se.IsPromise(e)){var n=e.constructor;if(n===t)return e}var i=new r(t);return(0,i.resolve)(e),i.promise}}),g(i,{catch:function(e){return this.then(null,e)},then:function(e,t){var n=this;if(!se.IsPromise(n))throw new TypeError("not a promise");var i,o=se.SpeciesConstructor(n,v);i=arguments.length>2&&arguments[2]===u&&o===v?u:new r(o);var a,f=se.IsCallable(e)?e:s,p=se.IsCallable(t)?t:c,d=n._promise;if(0===d.state){if(0===d.reactionLength)d.fulfillReactionHandler0=f,d.rejectReactionHandler0=p,d.reactionCapability0=i;else{var h=3*(d.reactionLength-1);d[h+0]=f,d[h+1]=p,d[h+2]=i}d.reactionLength+=1}else if(1===d.state)a=d.result,l(f,i,a);else{if(2!==d.state)throw new TypeError("unexpected Promise state");a=d.result,l(p,i,a)}return i.promise}}),u=new r(v),o=i.then,v}}();if(x.Promise&&(delete x.Promise.accept,delete x.Promise.defer,delete x.Promise.prototype.chain),"function"==typeof mn){g(x,{Promise:mn});var vn=w(x.Promise,function(e){return e.resolve(42).then(function(){})instanceof e}),bn=!o(function(){return x.Promise.reject(42).then(null,5).then(null,q)}),wn=o(function(){return x.Promise.call(3,q)}),xn=function(e){var t=e.resolve(5);t.constructor={};var n=e.resolve(t);try{n.then(null,q).then(null,q)}catch(e){return!0}return t===n}(x.Promise),Tn=c&&function(){var e=0,t=Object.defineProperty({},"then",{get:function(){e+=1}});return Promise.resolve(t),1===e}(),Sn=function e(t){var n=new Promise(t);t(3,function(){}),this.then=n.then,this.constructor=e};Sn.prototype=Promise.prototype,Sn.all=Promise.all;var kn=a(function(){return!!Sn.all([1,2])});if(vn&&bn&&wn&&!xn&&Tn&&!kn||(Promise=mn,ee(x,"Promise",mn)),1!==Promise.all.length){var On=Promise.all;ee(Promise,"all",function(e){return se.Call(On,this,arguments)})}if(1!==Promise.race.length){var jn=Promise.race;ee(Promise,"race",function(e){return se.Call(jn,this,arguments)})}if(1!==Promise.resolve.length){var An=Promise.resolve;ee(Promise,"resolve",function(e){return se.Call(An,this,arguments)})}if(1!==Promise.reject.length){var Cn=Promise.reject;ee(Promise,"reject",function(e){return se.Call(Cn,this,arguments)})}wt(Promise,"all"),wt(Promise,"race"),wt(Promise,"resolve"),wt(Promise,"reject"),Oe(Promise)}var En=function(e){var t=i(f(e,function(e,t){return e[t]=!0,e},{}));return e.join(":")===t.join(":")},Nn=En(["z","a","bb"]),_n=En(["z",1,"a","3",2]);if(c){var Pn=function(e,t){return t||Nn?ae(e)?"^"+se.ToString(e):"string"==typeof e?"$"+e:"number"==typeof e?_n?e:"n"+e:"boolean"==typeof e?"b"+e:null:null},In=function(){return Object.create?Object.create(null):{}},Mn=function(e,t,i){if(r(i)||K.string(i))l(i,function(e){if(!se.TypeIsObject(e))throw new TypeError("Iterator value "+e+" is not an entry object");t.set(e[0],e[1])});else if(i instanceof e)n(e.prototype.forEach,i,function(e,n){t.set(n,e)});else{var o,a;if(!ae(i)){if(a=t.set,!se.IsCallable(a))throw new TypeError("bad map");o=se.GetIterator(i)}if(void 0!==o)for(;;){var s=se.IteratorStep(o);if(!1===s)break;var c=s.value;try{if(!se.TypeIsObject(c))throw new TypeError("Iterator value "+c+" is not an entry object");n(a,t,c[0],c[1])}catch(e){throw se.IteratorClose(o,!0),e}}}},Dn=function(e,t,i){if(r(i)||K.string(i))l(i,function(e){t.add(e)});else if(i instanceof e)n(e.prototype.forEach,i,function(e){t.add(e)});else{var o,a;if(!ae(i)){if(a=t.add,!se.IsCallable(a))throw new TypeError("bad set");o=se.GetIterator(i)}if(void 0!==o)for(;;){var s=se.IteratorStep(o);if(!1===s)break;var c=s.value;try{n(a,t,c)}catch(e){throw se.IteratorClose(o,!0),e}}}},Ln={Map:function(){var e={},t=function(e,t){this.key=e,this.value=t,this.next=null,this.prev=null};t.prototype.isRemoved=function(){return this.key===e};var r=function(e){return!!e._es6map},i=function(e,t){if(!se.TypeIsObject(e)||!r(e))throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+se.ToString(e))},o=function(e,t){i(e,"[[MapIterator]]"),this.head=e._head,this.i=this.head,this.kind=t};o.prototype={isMapIterator:!0,next:function(){if(!this.isMapIterator)throw new TypeError("Not a MapIterator");var e=this.i,t=this.kind,n=this.head;if(void 0===this.i)return Be();for(;e.isRemoved()&&e!==n;)e=e.prev;for(var r;e.next!==n;)if(e=e.next,!e.isRemoved())return r="key"===t?e.key:"value"===t?e.value:[e.key,e.value],this.i=e,Be(r);return this.i=void 0,Be()}},je(o.prototype);var a,s=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');if(this&&this._es6map)throw new TypeError("Bad construction");var n=Ee(this,e,a,{_es6map:!0,_head:null,_map:F?new F:null,_size:0,_storage:In()}),r=new t(null,null);return r.next=r.prev=r,n._head=r,arguments.length>0&&Mn(e,n,arguments[0]),n};return a=s.prototype,v.getter(a,"size",function(){if(void 0===this._size)throw new TypeError("size method called on incompatible Map");return this._size}),g(a,{get:function(e){i(this,"get");var t,n=Pn(e,!0);if(null!==n)return t=this._storage[n],t?t.value:void 0;if(this._map)return t=V.call(this._map,e),t?t.value:void 0;for(var r=this._head,o=r;(o=o.next)!==r;)if(se.SameValueZero(o.key,e))return o.value},has:function(e){i(this,"has");var t=Pn(e,!0);if(null!==t)return void 0!==this._storage[t];if(this._map)return $.call(this._map,e);for(var n=this._head,r=n;(r=r.next)!==n;)if(se.SameValueZero(r.key,e))return!0;return!1},set:function(e,n){i(this,"set");var r,o=this._head,a=o,s=Pn(e,!0);if(null!==s){if(void 0!==this._storage[s])return this._storage[s].value=n,this;r=this._storage[s]=new t(e,n),a=o.prev}else this._map&&($.call(this._map,e)?V.call(this._map,e).value=n:(r=new t(e,n),B.call(this._map,e,r),a=o.prev));for(;(a=a.next)!==o;)if(se.SameValueZero(a.key,e))return a.value=n,this;return r=r||new t(e,n),se.SameValue(-0,e)&&(r.key=0),r.next=this._head,r.prev=this._head.prev,r.prev.next=r,r.next.prev=r,this._size+=1,this},delete:function(t){i(this,"delete");var n=this._head,r=n,o=Pn(t,!0);if(null!==o){if(void 0===this._storage[o])return!1;r=this._storage[o].prev,delete this._storage[o]}else if(this._map){if(!$.call(this._map,t))return!1;r=V.call(this._map,t).prev,H.call(this._map,t)}for(;(r=r.next)!==n;)if(se.SameValueZero(r.key,t))return r.key=e,r.value=e,r.prev.next=r.next,r.next.prev=r.prev,this._size-=1,!0;return!1},clear:function(){i(this,"clear"),this._map=F?new F:null,this._size=0,this._storage=In();for(var t=this._head,n=t,r=n.next;(n=r)!==t;)n.key=e,n.value=e,r=n.next,n.next=n.prev=t;t.next=t.prev=t},keys:function(){return i(this,"keys"),new o(this,"key")},values:function(){return i(this,"values"),new o(this,"value")},entries:function(){return i(this,"entries"),new o(this,"key+value")},forEach:function(e){i(this,"forEach");for(var t=arguments.length>1?arguments[1]:null,r=this.entries(),o=r.next();!o.done;o=r.next())t?n(e,t,o.value[1],o.value[0],this):e(o.value[1],o.value[0],this)}}),je(a,a.entries),s}(),Set:function(){var e,t=function(e){return e._es6set&&void 0!==e._storage},r=function(e,n){if(!se.TypeIsObject(e)||!t(e))throw new TypeError("Set.prototype."+n+" called on incompatible receiver "+se.ToString(e))},o=function t(){if(!(this instanceof t))throw new TypeError('Constructor Set requires "new"');if(this&&this._es6set)throw new TypeError("Bad construction");var n=Ee(this,t,e,{_es6set:!0,"[[SetData]]":null,_storage:In()});if(!n._es6set)throw new TypeError("bad set");return arguments.length>0&&Dn(t,n,arguments[0]),n};e=o.prototype;var a=function(e){var t=e;if("^null"===t)return null;if("^undefined"!==t){var n=t.charAt(0);return"$"===n?j(t,1):"n"===n?+j(t,1):"b"===n?"btrue"===t:+t}},s=function(e){if(!e["[[SetData]]"]){var t=new Ln.Map;e["[[SetData]]"]=t,l(i(e._storage),function(e){var n=a(e);t.set(n,n)}),e["[[SetData]]"]=t}e._storage=null};v.getter(o.prototype,"size",function(){return r(this,"size"),this._storage?i(this._storage).length:(s(this),this["[[SetData]]"].size)}),g(o.prototype,{has:function(e){r(this,"has");var t;return this._storage&&null!==(t=Pn(e))?!!this._storage[t]:(s(this),this["[[SetData]]"].has(e))},add:function(e){r(this,"add");var t;return this._storage&&null!==(t=Pn(e))?(this._storage[t]=!0,this):(s(this),this["[[SetData]]"].set(e,e),this)},delete:function(e){r(this,"delete");var t;if(this._storage&&null!==(t=Pn(e))){var n=R(this._storage,t);return delete this._storage[t]&&n}return s(this),this["[[SetData]]"].delete(e)},clear:function(){r(this,"clear"),this._storage&&(this._storage=In()),this["[[SetData]]"]&&this["[[SetData]]"].clear()},values:function(){return r(this,"values"),s(this),new c(this["[[SetData]]"].values())},entries:function(){return r(this,"entries"),s(this),new c(this["[[SetData]]"].entries())},forEach:function(e){r(this,"forEach");var t=arguments.length>1?arguments[1]:null,i=this;s(i),this["[[SetData]]"].forEach(function(r,o){t?n(e,t,o,o,i):e(o,o,i)})}}),h(o.prototype,"keys",o.prototype.values,!0),je(o.prototype,o.prototype.values);var c=function(e){this.it=e};return c.prototype={isSetIterator:!0,next:function(){if(!this.isSetIterator)throw new TypeError("Not a SetIterator");return this.it.next()}},je(c.prototype),o}()};if(x.Set&&!Set.prototype.delete&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys)&&(x.Set=Ln.Set),x.Map||x.Set){a(function(){return 2===new Map([[1,2]]).get(1)})||(x.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new F;return arguments.length>0&&Mn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,x.Map.prototype),t},x.Map.prototype=b(F.prototype),h(x.Map.prototype,"constructor",x.Map,!0),v.preserveToString(x.Map,F));var Rn=new Map,qn=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);return e.set(-0,e),e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}(),Fn=Rn.set(1,2)===Rn;qn&&Fn||ee(Map.prototype,"set",function(e,t){return n(B,this,0===e?0:e,t),this}),qn||(g(Map.prototype,{get:function(e){return n(V,this,0===e?0:e)},has:function(e){return n($,this,0===e?0:e)}},!0),v.preserveToString(Map.prototype.get,V),v.preserveToString(Map.prototype.has,$));var Hn=new Set,Vn=Set.prototype.delete&&Set.prototype.add&&Set.prototype.has&&function(e){return e.delete(0),e.add(-0),!e.has(0)}(Hn),$n=Hn.add(1)===Hn;if(!Vn||!$n){var Bn=Set.prototype.add;Set.prototype.add=function(e){return n(Bn,this,0===e?0:e),this},v.preserveToString(Set.prototype.add,Bn)}if(!Vn){var Wn=Set.prototype.has;Set.prototype.has=function(e){return n(Wn,this,0===e?0:e)},v.preserveToString(Set.prototype.has,Wn);var zn=Set.prototype.delete;Set.prototype.delete=function(e){return n(zn,this,0===e?0:e)},v.preserveToString(Set.prototype.delete,zn)}var Un=w(x.Map,function(e){var t=new e([]);return t.set(42,42),t instanceof e}),Gn=Object.setPrototypeOf&&!Un,Jn=function(){try{return!(x.Map()instanceof x.Map)}catch(e){return e instanceof TypeError}}();0===x.Map.length&&!Gn&&Jn||(x.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new F;return arguments.length>0&&Mn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},x.Map.prototype=F.prototype,h(x.Map.prototype,"constructor",x.Map,!0),v.preserveToString(x.Map,F));var Xn=w(x.Set,function(e){var t=new e([]);return t.add(42,42),t instanceof e}),Yn=Object.setPrototypeOf&&!Xn,Zn=function(){try{return!(x.Set()instanceof x.Set)}catch(e){return e instanceof TypeError}}();if(0!==x.Set.length||Yn||!Zn){var Qn=x.Set;x.Set=function e(){if(!(this instanceof e))throw new TypeError('Constructor Set requires "new"');var t=new Qn;return arguments.length>0&&Dn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},x.Set.prototype=Qn.prototype,h(x.Set.prototype,"constructor",x.Set,!0),v.preserveToString(x.Set,Qn)}var Kn=new x.Map,er=!a(function(){return Kn.keys().next().done});if(("function"!=typeof x.Map.prototype.clear||0!==(new x.Set).size||0!==Kn.size||"function"!=typeof x.Map.prototype.keys||"function"!=typeof x.Set.prototype.keys||"function"!=typeof x.Map.prototype.forEach||"function"!=typeof x.Set.prototype.forEach||s(x.Map)||s(x.Set)||"function"!=typeof Kn.keys().next||er||!Un)&&g(x,{Map:Ln.Map,Set:Ln.Set},!0),x.Set.prototype.keys!==x.Set.prototype.values&&h(x.Set.prototype,"keys",x.Set.prototype.values,!0),je(Object.getPrototypeOf((new x.Map).keys())),je(Object.getPrototypeOf((new x.Set).keys())),u&&"has"!==x.Set.prototype.has.name){var tr=x.Set.prototype.has;ee(x.Set.prototype,"has",function(e){return n(tr,this,e)})}}g(x,Ln),Oe(x.Map),Oe(x.Set)}var nr=function(e){if(!se.TypeIsObject(e))throw new TypeError("target must be an object")},rr={apply:function(){return se.Call(se.Call,null,arguments)},construct:function(e,t){if(!se.IsConstructor(e))throw new TypeError("First argument must be a constructor.");var n=arguments.length>2?arguments[2]:e;if(!se.IsConstructor(n))throw new TypeError("new.target must be a constructor.");return se.Construct(e,t,n,"internal")},deleteProperty:function(e,t){if(nr(e),c){var n=Object.getOwnPropertyDescriptor(e,t);if(n&&!n.configurable)return!1}return delete e[t]},has:function(e,t){return nr(e),t in e}};Object.getOwnPropertyNames&&Object.assign(rr,{ownKeys:function(e){nr(e);var t=Object.getOwnPropertyNames(e);return se.IsCallable(Object.getOwnPropertySymbols)&&C(t,Object.getOwnPropertySymbols(e)),t}});var ir=function(e){return!o(e)};if(Object.preventExtensions&&Object.assign(rr,{isExtensible:function(e){return nr(e),Object.isExtensible(e)},preventExtensions:function(e){return nr(e),ir(function(){return Object.preventExtensions(e)})}}),c){var or=function(e,t,n){var r=Object.getOwnPropertyDescriptor(e,t);if(!r){var i=Object.getPrototypeOf(e);if(null===i)return;return or(i,t,n)}return"value"in r?r.value:r.get?se.Call(r.get,n):void 0},ar=function(e,t,r,i){var o=Object.getOwnPropertyDescriptor(e,t);if(!o){var a=Object.getPrototypeOf(e);if(null!==a)return ar(a,t,r,i);o={value:void 0,writable:!0,enumerable:!0,configurable:!0}}if("value"in o){if(!o.writable)return!1;if(!se.TypeIsObject(i))return!1;return Object.getOwnPropertyDescriptor(i,t)?re.defineProperty(i,t,{value:r}):re.defineProperty(i,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}return!!o.set&&(n(o.set,i,r),!0)};Object.assign(rr,{defineProperty:function(e,t,n){return nr(e),ir(function(){return Object.defineProperty(e,t,n)})},getOwnPropertyDescriptor:function(e,t){return nr(e),Object.getOwnPropertyDescriptor(e,t)},get:function(e,t){nr(e);var n=arguments.length>2?arguments[2]:e;return or(e,t,n)},set:function(e,t,n){nr(e);var r=arguments.length>3?arguments[3]:e;return ar(e,t,n,r)}})}if(Object.getPrototypeOf){var sr=Object.getPrototypeOf;rr.getPrototypeOf=function(e){return nr(e),sr(e)}}if(Object.setPrototypeOf&&rr.getPrototypeOf){var cr=function(e,t){for(var n=t;n;){if(e===n)return!0;n=rr.getPrototypeOf(n)}return!1};Object.assign(rr,{setPrototypeOf:function(e,t){if(nr(e),null!==t&&!se.TypeIsObject(t))throw new TypeError("proto must be an object or null");return t===re.getPrototypeOf(e)||!(re.isExtensible&&!re.isExtensible(e))&&(!cr(e,t)&&(Object.setPrototypeOf(e,t),!0))}})}var ur=function(e,t){if(se.IsCallable(x.Reflect[e])){a(function(){return x.Reflect[e](1),x.Reflect[e](NaN),x.Reflect[e](!0),!0})&&ee(x.Reflect,e,t)}else h(x.Reflect,e,t)};Object.keys(rr).forEach(function(e){ur(e,rr[e])});var lr=x.Reflect.getPrototypeOf;if(u&&lr&&"getPrototypeOf"!==lr.name&&ee(x.Reflect,"getPrototypeOf",function(e){return n(lr,x.Reflect,e)}),x.Reflect.setPrototypeOf&&a(function(){return x.Reflect.setPrototypeOf(1,{}),!0})&&ee(x.Reflect,"setPrototypeOf",rr.setPrototypeOf),x.Reflect.defineProperty&&(a(function(){var e=!x.Reflect.defineProperty(1,"test",{value:1}),t="function"!=typeof Object.preventExtensions||!x.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})||ee(x.Reflect,"defineProperty",rr.defineProperty)),x.Reflect.construct&&(a(function(){var e=function(){};return x.Reflect.construct(function(){},[],e)instanceof e})||ee(x.Reflect,"construct",rr.construct)),"Invalid Date"!==String(new Date(NaN))){var fr=Date.prototype.toString,pr=function(){var e=+this;return e!==e?"Invalid Date":se.Call(fr,this)};ee(Date.prototype,"toString",pr)}var dr={anchor:function(e){return se.CreateHTML(this,"a","name",e)},big:function(){return se.CreateHTML(this,"big","","")},blink:function(){return se.CreateHTML(this,"blink","","")},bold:function(){return se.CreateHTML(this,"b","","")},fixed:function(){return se.CreateHTML(this,"tt","","")},fontcolor:function(e){return se.CreateHTML(this,"font","color",e)},fontsize:function(e){return se.CreateHTML(this,"font","size",e)},italics:function(){return se.CreateHTML(this,"i","","")},link:function(e){return se.CreateHTML(this,"a","href",e)},small:function(){return se.CreateHTML(this,"small","","")},strike:function(){return se.CreateHTML(this,"strike","","")},sub:function(){return se.CreateHTML(this,"sub","","")},sup:function(){return se.CreateHTML(this,"sup","","")}};l(Object.keys(dr),function(e){var t=String.prototype[e],r=!1;if(se.IsCallable(t)){var i=n(t,"",' " '),o=O([],i.match(/"/g)).length;r=i!==i.toLowerCase()||o>2}else r=!0;r&&ee(String.prototype,e,dr[e])});var hr=function(){if(!te)return!1;var e="object"===("undefined"==typeof JSON?"undefined":_typeof(JSON))&&"function"==typeof JSON.stringify?JSON.stringify:null;if(!e)return!1;if(void 0!==e(W()))return!0;if("[null]"!==e([W()]))return!0;var t={a:W()};return t[W()]=!0,"{}"!==e(t)}(),gr=a(function(){return!te||"{}"===JSON.stringify(Object(W()))&&"[{}]"===JSON.stringify([Object(W())])});if(hr||!gr){var yr=JSON.stringify;ee(JSON,"stringify",function(e){if("symbol"!==(void 0===e?"undefined":_typeof(e))){var t;arguments.length>1&&(t=arguments[1]);var i=[e];if(r(t))i.push(t);else{var o=se.IsCallable(t)?t:null,a=function(e,t){var r=o?n(o,this,e,t):t;if("symbol"!==(void 0===r?"undefined":_typeof(r)))return K.symbol(r)?Tt({})(r):r};i.push(a)}return arguments.length>2&&i.push(arguments[2]),yr.apply(this,i)}})}return x}),define("jqueryplugins",["jquery"],function(e){e.prototype.extend({popAttr:function(e){var t=this.attr(e);return this.removeAttr(e),t},popData:function(e){var t=this.data(e);return this.removeData(e),t},tag:function(){return this[0]&&this[0].tagName&&this[0].tagName.toLowerCase()},textNodes:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*";return 1===this.length&&this[0]instanceof Text?[this[0]]:Array.from(this.add(this.contents().add(this.find(e).contents())).filter(function(){return this instanceof Text})).sort(function(e,t){return 2&e.compareDocumentPosition(t)?1:-1})},findAndFilter:function(e){return this.filter(e).add(this.find(e))}})}),function(){function e(){for(var e=0;e<arguments.length;e++)for(var t in arguments[e])this[t]=arguments[e][t]}function t(e,t){e.childAt=e.childAt||{};for(var n=t.start;n<t.end;n+=1)e.childAt[n]=t}function n(e,t,n,r){return!(e.canFollow&&!(e.canFollow.indexOf(n&&n.type)>-1)||e.cannotFollow&&(-1!==e.cannotFollow.indexOf(n&&n.type)||e.cannotFollow.indexOf("text")>-1&&r)||e.peek&&e.peek.toLowerCase()!==t.slice(0,e.peek.length).toLowerCase())}function r(e){for(var t=e.innerText,r=[],o=0,s=o,c=t.length,u=null;o<c;){for(var l=t.slice(o),f=(r.length?r[0]:e).innerMode,p=0,d=f.length;p<d;p+=1){var h=a[f[p]];if(n(h,l,u,s<o)&&h.pattern.test(l)){var g=h.pattern.exec(l),y=h.fn(g),m=!1,v=0;if(y.matches){for(;v<r.length;v+=1){var b=r[v].type;if(b in y.matches){m=!0;break}0===b.indexOf("verbatim")&&(b="verbatimOpener"),y.cannotCross&&y.cannotCross.indexOf(b)>-1&&(v=r.length-1)}if(v>=r.length&&!y.isFront)continue}s<o&&e.addChild({type:"text",text:t.slice(s,o),innerMode:f}),u=e.addChild(y),o+=u.text.length,s=o,m&&(i(e,u,r[v]),r=r.slice(v+1)),u.isFrontToken()&&r.unshift(u);break}}p===d&&(o+=1,null===u&&(u={type:"text"}))}for(s<o&&e.addChild({type:"text",text:t.slice(s,o),innerMode:(r.length?r[0]:e).innerMode});r.length>0;)r.shift().demote();return e}function i(e,n,r){var i=e.children.indexOf(n),o=e.children.indexOf(r);n.children=e.children.splice(o+1,i-(o+1)),n.children.forEach(function(e){t(n,e)}),n.type=n.matches[r.type],n.innerText="";for(var a=0,s=n.children.length;a<s;a++)n.innerText+=n.children[a].text;n.start=r.start,n.text=r.text+n.innerText+n.text,Object.keys(r).forEach(function(e){Object.hasOwnProperty.call(n,e)||(n[e]=r[e])}),n.isFront&&(n.isFront=!1),e.children.splice(o,1),t(e,n)}var o=void 0,a={};e.prototype={constructor:e,addChild:function(n){var i=this.lastChildEnd(),o=new e({start:i,end:n.text&&i+n.text.length,children:[]},n);return o.innerText&&r(o),this.children.push(o),t(this,o),o},firstChild:function(){return this.children?this.children[0]||null:null},lastChild:function(){return this.children?this.children[this.children.length-1]||null:null},lastChildEnd:function(){var e=this.lastChild();return e?e.end:this.start+Math.max(0,this.text.indexOf(this.innerText))},tokenAt:function(e){if(e<this.start||e>=this.end)return null;if(this.childAt)return this.childAt[e]&&this.childAt[e].tokenAt(e)||this;if(this.children.length)for(var t=0;t<this.children.length;t+=1){var n=this.children[t].tokenAt(e);if(n)return n}return this},pathAt:function(e){if(e<this.start||e>=this.end)return[];if(this.childAt)return(this.childAt[e]&&this.childAt[e].pathAt(e)||[]).concat(this);var t=[];if(this.children.length)for(var n=0;n<this.children.length;n+=1){var r=this.children[n].pathAt(e);if(r.length){t.concat(r);break}}return t.concat(this)},nearestTokenAt:function(e){return e<this.start||e>=this.end?null:this.children?this.children.reduce(function(t,n){return t||(e>=n.start&&e<n.end?n:null)},null):this},everyLeaf:function(e){return this.children&&0!==this.children.length?this.children.reduce(function(t,n){return n.everyLeaf(e)&&t},!0):!!e(this)},isWhitespace:function(){return this.everyLeaf(function(e){return"whitespace"===e.type||!e.text.trim()})},isFrontToken:function(){return this.isFront},isBackToken:function(){return"matches"in this},demote:function(){this.type="text"},error:function(e){this.type="error",this.message=e},toString:function(){var e=this.type+"("+this.start+"\u2192"+this.end+")";return this.children&&this.children.length>0&&(e+="["+this.children+"]"),e}},o={lex:function(t,n){return r(new e({type:"root",start:n||0,end:t.length,text:t,innerText:t,children:[],childAt:{},innerMode:o.modes.start}))},rules:a,modes:{}},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=o:"function"==typeof define&&define.amd?define("lexer",[],function(){return o}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Lexer=o):this.TwineLexer=o}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){function e(t){return t&&"object"===(void 0===t?"undefined":_typeof(t))?(Object.keys(t).forEach(function(n){t[n]=e(t[n])}),t):(t+"").replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function t(e){return function(){return"("+e+Array.apply(0,arguments).join("|")+")"}}var n=void 0,r=t("?:"),i=t("?!"),o=t("?="),a="[ \\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]*",s=a.replace("*","+"),c="\\b",u="[\\w\\-\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171\\uD800-\\uDFFF]",l=u.replace("\\-",""),f=r("\\n","$"),p="("+r("\\\\\\n\\\\?|\\n\\\\","[^\\n]")+"+)",d=a+"(\\*+)"+s+p+f,h=a+"((?:0\\.)+)"+s+p+f,g=a+"-{3,}"+a+f,y=a+"(#{1,6})"+a+p+f,m=a+"(==+>|<=+|=+><=+|<==+>)"+a+f,v=a+"(=+\\|+|\\|+=+|=+\\|+=+|\\|=+\\|)"+a+f,b={opener:"\\[\\[(?!\\[)",text:"("+function(){return"[^"+Array.apply(0,arguments).map(e).join("")+"]*"}("]")+")",rightSeparator:r("\\->","\\|"),leftSeparator:"<\\-",closer:"\\]\\]",legacySeparator:"\\|",legacyText:"("+r("[^\\|\\]]","\\]"+i("\\]"))+"+)"},w=l+"*"+l.replace("\\w","a-zA-Z")+l+"*",x="\\$("+w+")",T="'s"+s+"("+w+")",S="("+w+")"+s+"of"+c+i("it\\b"),k="'s"+s,O=r("it","time","visits?","exits?")+c,j="its"+s+"("+w+")",A="its"+s,C="("+w+")"+s+"of"+s+"it"+c,E="of\\b"+s+"it"+c,N={opener:"\\(",name:"("+r(u+"+",x)+"):"+i("\\/"),closer:"\\)"},_=r("=<","=>","[gl]te?\\b","n?eq\\b","isnot\\b","are\\b","x\\b","isa\\b","or"+s+"a"+c),P={name:"[a-zA-Z][\\w\\-]*",attrs:"(?:\"[^\"]*\"|'[^']*'|[^'\">])*?"},I="\\|("+u+"+)(>|\\))",M="(<|\\()("+u+"+)\\|",D="_("+w+")"+c,L="\\b(\\d+(?:\\.\\d+)?(?:[eE][+\\-]?\\d+)?)"+i("m?s")+c;b.main=b.opener+r(b.text+b.rightSeparator,b.text.replace("*","*?")+b.leftSeparator)+b.text,n={upperLetter:"[A-Z\\u00c0-\\u00de\\u0150\\u0170]",lowerLetter:"[a-z0-9_\\-\\u00df-\\u00ff\\u0151\\u0171]",anyLetter:u,anyLetterStrict:l,whitespace:s,escapedLine:"\\\\\\n\\\\?|\\n\\\\",br:"\\n(?!\\\\)",commentFront:"\x3c!--",commentBack:"--\x3e",tag:"<\\/?"+P.name+P.attrs+">",tagPeek:"<",scriptStyleTag:"<("+r("script","style","textarea")+")"+P.attrs+">[^]*?<\\/\\1>",scriptStyleTagOpener:"<",url:"("+r("https?","mailto","javascript","ftp","data")+":\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])",bullet:"\\*",hr:g,heading:y,align:m,column:v,bulleted:d,numbered:h,strikeOpener:e("~~"),italicOpener:e("//"),boldOpener:e("''"),supOpener:e("^^"),strongFront:e("**"),strongBack:e("**"),emFront:e("*"),emBack:e("*"),verbatimOpener:"`+",collapsedFront:"{",collapsedBack:"}",hookAppendedFront:"\\["+i("=+"),hookPrependedFront:I+"\\["+i("=+"),hookFront:"\\["+i("=+"),hookBack:"\\]"+i(M),hookAppendedBack:"\\]"+M,unclosedHook:"\\[=+",unclosedHookPrepended:I+"\\[=+",passageLink:b.main+b.closer,passageLinkPeek:"[[",legacyLink:b.opener+b.legacyText+b.legacySeparator+b.legacyText+b.closer,legacyLinkPeek:"[[",simpleLink:b.opener+b.legacyText+b.closer,simpleLinkPeek:"[[",macroFront:N.opener+o(N.name),macroFrontPeek:"(",macroName:N.name,groupingFront:"\\("+i(N.name),groupingFrontPeek:"(",groupingBack:"\\)",twine1Macro:"<<[^>\\s]+\\s*(?:\\\\.|'(?:[^'\\\\]*\\\\.)*[^'\\\\]*'|\"(?:[^\"\\\\]*\\\\.)*[^\"\\\\]*\"|[^'\"\\\\>]|>(?!>))*>>",twine1MacroPeek:"<<",property:T,propertyPeek:"'s",belongingProperty:S,possessiveOperator:k,belongingOperator:"of\\b",belongingOperatorPeek:"of",itsOperator:A,itsOperatorPeek:"its",belongingItOperator:E,belongingItOperatorPeek:"of",variable:x,variablePeek:"$",tempVariable:D,tempVariablePeek:"_",hookRef:"\\?("+u+"+)\\b",hookRefPeek:"?",cssTime:"(\\d+\\.?\\d*|\\d*\\.?\\d+)(m?s)\\b",colour:r(r("Red","Orange","Yellow","Lime","Green","Cyan","Aqua","Blue","Navy","Purple","Fuchsia","Magenta","White","Gray","Grey","Black"),"#[\\dA-Fa-f]{3}(?:[\\dA-Fa-f]{3})?"),datatype:r("array","boolean","changer","colour","gradient","color","command","dm","datamap","ds","dataset","number","num","string","str"),number:L,boolean:r("true","false")+c,identifier:O,itsProperty:j,itsPropertyPeek:"its",belongingItProperty:C,escapedStringChar:"\\\\[^\\n]",singleStringOpener:"'",doubleStringOpener:'"',is:"is"+i(s+"not"+c,s+"an?"+c,s+"in"+c,s+"<",s+">")+c,isNot:"is"+s+"not"+i(s+"a"+c)+c,isA:"is"+s+"an?"+c,isNotA:"is"+s+"not"+s+"an?"+c,matches:"matches"+s,and:"and\\b",or:"or\\b",not:"not\\b",inequality:"((?:is(?:"+s+"not)?"+a+")*)("+r("<(?!=)","<=",">(?!=)",">=")+")",isIn:"is"+s+"in"+c,contains:"contains\\b",addition:e("+")+i("="),subtraction:e("-")+i("="),multiplication:e("*")+i("="),division:r("/","%")+i("="),comma:",",spread:"\\.\\.\\."+i("\\."),to:r("to\\b","="),into:"into\\b",making:"making\\b",where:"where\\b",when:"when\\b",via:"via\\b",with:"with\\b",each:"each\\b",augmentedAssign:r("\\+","\\-","\\*","\\/","%")+"=",bind:"bind\\b",incorrectOperator:_},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=n:"function"==typeof define&&define.amd?define("patterns",[],function(){return n}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Patterns=n):this.Patterns=n}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){function e(e){function t(e){return e=e||"innerText",function(t){var n=t.reduceRight(function(e,t,n){return e||(n?t:"")},""),r={};return r[e]=n,r}}function r(e,t){var n={};return n[e]=t,function(){return{isFront:!0,matches:n,cannotCross:["verbatimOpener"]}}}function i(e,t){return Object.keys(t).forEach(function(n){var r=t[n].fn;t[n].fn=function(t){var i=r(t);return i.text||(i.text=t[0]),i.type||(i.type=n),i.innerMode||(i.innerMode=e),i}}),t}var o=Object.bind(0,null),a=[],s=[],c=i(a,{hr:{fn:o},bulleted:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},numbered:{fn:function(e){return{depth:e[1].length/2,innerText:e[2]}}},heading:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},align:{fn:function(e){var t=void 0,n=e[1],r=n.indexOf("><");return~r?25===(t=Math.round(r/(n.length-2)*50))&&(t="center"):"<"===n[0]&&">"===n.slice(-1)?t="justify":n.indexOf(">")>-1?t="right":n.indexOf("<")>-1&&(t="left"),{align:t}}},column:{fn:function(e){var t=void 0,n=e[1],r=n.indexOf("|");return r&&r<n.length-1?t="center":"|"===n[0]&&"|"===n.slice(-1)?t="none":r===n.length-1?t="right":r||(t="left"),{column:t,width:/\|+/.exec(n)[0].length,marginLeft:/^=*/.exec(n)[0].length,marginRight:/=*$/.exec(n)[0].length}}}});Object.keys(c).forEach(function(e){c[e].canFollow=[null,"br","hr","bulleted","numbered","heading","align"],c[e].cannotFollow=["text"]});var u=i(a,{twine1Macro:{fn:function(){return{type:"error",message:"Harlowe macros use a different syntax to Twine 1 and SugarCube macros."}}},emBack:{fn:function(){return{matches:{emFront:"em"},cannotCross:["verbatimOpener"]}}},strongBack:{fn:function(){return{matches:{strongFront:"strong"},cannotCross:["verbatimOpener"]}}},strongFront:{fn:function(){return{isFront:!0}}},emFront:{fn:function(){return{isFront:!0}}},boldOpener:{fn:r("boldOpener","bold")},italicOpener:{fn:r("italicOpener","italic")},strikeOpener:{fn:r("strikeOpener","strike")},supOpener:{fn:r("supOpener","sup")},commentFront:{fn:function(){return{isFront:!0}}},commentBack:{fn:function(){return{matches:{commentFront:"comment"}}}},scriptStyleTag:{fn:o},tag:{fn:o},url:{fn:o},hookPrependedFront:{fn:function(e){return{name:e[1],hidden:")"===e[2],isFront:!0,tagPosition:"prepended"}}},hookFront:{fn:function(){return{isFront:!0}}},hookBack:{fn:function(){return{matches:{hookPrependedFront:"hook",hookFront:"hook"},cannotCross:["verbatimOpener"]}}},hookAppendedBack:{fn:function(e){return{name:e[2],hidden:"("===e[1],tagPosition:"appended",matches:{
hookFront:"hook"},cannotCross:["verbatimOpener"]}}},unclosedHook:{fn:o},unclosedHookPrepended:{fn:function(e){return{type:"unclosedHook",name:e[1],hidden:")"===e[2]}}},verbatimOpener:{fn:function(e){var t=e[0].length,n={};return n["verbatim"+t]="verbatim",{type:"verbatim"+t,isFront:!0,matches:n}}},collapsedFront:{fn:function(){return{isFront:!0}}},collapsedBack:{fn:function(){return{matches:{collapsedFront:"collapsed"},cannotCross:["verbatimOpener"]}}},escapedLine:{fn:o},legacyLink:{fn:function(e){return{type:"twineLink",innerText:e[1],passage:e[2]}}},br:{fn:o}}),l=i(s,{macroFront:{fn:function(e){return{isFront:!0,name:e[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:"grouping",macroFront:"macro"},cannotCross:["singleStringOpener","doubleStringOpener"]}}},passageLink:{fn:function(e){var t=e[1]||"",n=e[2]||"",r=e[3]||"";return{type:"twineLink",innerText:n?r:t,passage:t?r:n}}},simpleLink:{fn:function(e){return{type:"twineLink",innerText:e[1]||"",passage:e[1]||""}}},variable:{fn:t("name")},tempVariable:{fn:t("name")}}),f=i(s,Object.assign({macroName:{canFollow:["macroFront"],fn:function(e){return e[2]?{isMethodCall:!0,innerText:e[2]}:{isMethodCall:!1}}},groupingFront:{fn:function(){return{isFront:!0}}},property:{fn:t("name"),canFollow:["variable","hookRef","property","tempVariable","colour","itsProperty","belongingItProperty","macro","grouping","string","boolean","number"]},possessiveOperator:{fn:o},itsProperty:{cannotFollow:["text"],fn:t("name")},itsOperator:{cannotFollow:["text"],fn:o},belongingItProperty:{cannotFollow:["text"],fn:t("name")},belongingItOperator:{cannotFollow:["text"],fn:o},belongingProperty:{cannotFollow:["text"],fn:t("name")},belongingOperator:{cannotFollow:["text"],fn:o},escapedStringChar:{fn:function(){return{type:"text"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:"string"}}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:"string"}}}},hookRef:{fn:t("name")},cssTime:{fn:function(e){return{value:+e[1]*("s"===e[2].toLowerCase()?1e3:1)}}},datatype:{cannotFollow:["text"],fn:function(e){return{name:e[0].toLowerCase()}}},colour:{cannotFollow:["text"],fn:function(e){var t,n=e[0].toLowerCase(),r={red:"e61919",orange:"e68019",yellow:"e5e619",lime:"80e619",green:"19e619",cyan:"19e5e6",aqua:"19e5e6",blue:"197fe6",navy:"1919e6",purple:"7f19e6",fuchsia:"e619e5",magenta:"e619e5",white:"fff",black:"000",gray:"888",grey:"888"};return t=Object.hasOwnProperty.call(r,n)?"#"+r[n]:n,{colour:t}}},number:{fn:function(e){return{value:parseFloat(e[0])}}},inequality:{fn:function(e){return{operator:e[2],negate:e[1].indexOf("not")>-1}}},augmentedAssign:{fn:function(e){return{operator:e[0][0]}}},identifier:{fn:t("name"),cannotFollow:["text"]},whitespace:{fn:o,cannotFollow:"text"},incorrectOperator:{fn:function(e){var t={"=>":">=","=<":"<=",gte:">=",lte:"<=",gt:">",lt:"<",eq:"is",isnot:"is not",neq:"is not",isa:"is a",are:"is",x:"*","or a":"or"}[e[0].toLowerCase().replace(/\s+/g," ")];return{type:"error",message:"Please say "+(t?"'"+t+"'":"something else")+" instead of '"+e[0]+"'.",explanation:"In the interests of readability, I want certain operators to be in a specific form."}},cannotFollow:"text"}},["boolean","is","to","into","where","when","via","with","making","each","and","or","not","isNot","contains","isIn","isA","isNotA","matches","bind"].reduce(function(e,t){return e[t]={fn:o,cannotFollow:["text"]},e},{}),["comma","spread","addition","subtraction","multiplication","division"].reduce(function(e,t){return e[t]={fn:o},e},{})));a.push.apply(a,_toConsumableArray(Object.keys(c)).concat(_toConsumableArray(Object.keys(l)),_toConsumableArray(Object.keys(u)))),s.push.apply(s,_toConsumableArray(Object.keys(l)).concat(_toConsumableArray(Object.keys(f))));var p=Object.assign({},c,u,l,f);return Object.keys(p).forEach(function(e){var t=n[e];p[e].pattern="string"!=typeof t?t:new RegExp("^(?:"+t+")","i"),n[e+"Peek"]&&(p[e].peek=n[e+"Peek"])}),Object.assign(e.rules,p),e.modes.start=e.modes.markup=a,e.modes.macro=s,e}function t(t){return Object.freeze({lex:e(t).lex,Patterns:n})}var n=void 0;Object.assign=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},"object"===("undefined"==typeof module?"undefined":_typeof(module))?(n=require("./patterns"),module.exports=t(require("./lexer"))):"function"==typeof define&&define.amd?define("markup",["lexer","patterns"],function(e,r){return n=r,t(e)}):this&&this.loaded&&this.modules?(n=this.modules.Patterns,this.modules.Markup=t(this.modules.Lexer)):(n=this.Patterns,this.TwineMarkup=t(this.TwineLexer))}.call(eval("this")||("undefined"!=typeof global?global:window)),define("utils/selectors",[],function(){return Object.freeze({passage:"tw-passage",story:"tw-story",sidebar:"tw-sidebar",internalLink:"tw-link",brokenLink:"tw-broken-link",hook:"tw-hook",enchantment:"tw-enchantment",expression:"tw-expression",script:"[role=script]",stylesheet:"[role=stylesheet]",storyData:"tw-storydata",passageData:"tw-passagedata",collapsed:"tw-collapsed",backdrop:"tw-backdrop",dialog:"tw-dialog",error:"tw-error"})}),define("utils/polyfills",[],function(){var e=Array.prototype;"function"!=typeof e.includes&&(e.includes=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!Number.isNaN(t)&&Number.isFinite(n)&&void 0!==t)return e.indexOf.call(this,t,n)>-1;var r=Object(this),i=parseInt(r.length);if(i<=0)return!1;for(var o=n>=0?n:Math.max(0,i+n);o<i;){if(Object.is(t,r[o]))return!0;o+=1}return!1})}),define("utils",["jquery","markup","utils/selectors","utils/polyfills"],function(e,t,n){function r(t,n){var r=o[n];if(!r[t]){var i=e("<p>").appendTo(document.body).attr("data-t8n",t).addClass(n);r[t]=u.cssTimeUnit(i.css("animation-duration"))+u.cssTimeUnit(i.css("animation-delay")),i.remove()}return r[t]}var i={configurable:0,writable:0},o={"transition-in":Object.create(null),"transition-out":Object.create(null)},a="audio,blockquote,canvas,div,h1,h2,h3,h4,h5,hr,ol,p,pre,table,ul,video,tw-align,tw-story,tw-passage".split(","),s="a,b,i,em,strong,sup,sub,abbr,acronym,s,strike,del,big,small,script,img,button,input,tw-link,tw-broken-link,tw-verbatim,tw-collapsed,tw-error".split(","),c=["audio"],u=void 0,l=void 0,f=[];return u={lockProperty:function(e,t,n){var r=Object.create(i);return n&&(r.value=n),Object.defineProperty(e,t,r),e},permutations:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=t.length,i=[[].concat(t)],o=Array(r).fill(0),a=1,s=void 0,c=void 0;a<r;)o[a]<a?(s=a%2&&o[a],c=t[a],t[a]=t[s],t[s]=c,++o[a],a=1,i.push([].concat(t))):(o[a]=0,++a);return i},toJSLiteral:function(e){return e instanceof Map?"(new Map("+u.toJSLiteral([].concat(_toConsumableArray(e.entries())))+"))":e instanceof Set?"(new Set("+u.toJSLiteral([].concat(_toConsumableArray(e.values())))+"))":JSON.stringify(e)},cssTimeUnit:function(e){return e=e.toLowerCase(),"ms"===e.slice(-2)?+e.slice(0,-2)||0:"s"===e.slice(-1)?1e3*+e.slice(0,-1)||0:0},nth:function(e){var t=(+e+"").slice(-1);return e+("1"===t?"st":"2"===t?"nd":"3"===t?"rd":"th")},plural:function(e,t){return e+" "+t+(e>1?"s":"")},andList:function(e){return 1===e.length?e[0]:e.slice(0,-1).join(", ")+" and "+e[e.length-1]},realWhitespace:"[ \\n\\r\\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]",anyRealLetter:"[\\dA-Za-z\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171\\uD800-\\uDFFF]",unescape:function(e){return e.replace(/&(?:amp|lt|gt|quot|nbsp|zwnj|#39|#96);/g,function(e){return{"&":"&",">":">","<":"<",""":'"',"'":"'"," ":String.fromCharCode(160),"‌":String.fromCharCode(8204)}[e]})},escape:function(e){return e.replace(/[&><"']/g,function(e){return{"&":"&",">":">","<":"<",'"':""","'":"'"}[e]})},insensitiveName:function(e){return(e+"").toLowerCase().replace(/-|_/g,"")},childrenProbablyInline:function(e){var t=[];return Array.prototype.every.call(e.find("*"),function(e){return!(!e.hidden&&!/none|inline/.test(e.style.display))||!a.includes(e.tagName.toLowerCase())&&!/none|inline/.test(e.style.display)&&(!!s.includes(e.tagName.toLowerCase())||(t.push(e),!0))})&&t.every(function(e){return/none|inline/.test(e.style.display)})},transitionReplace:function(t,r,i){var o=t.closest(n.hook);o.length>0&&(t=o);var a=e("<tw-transition-container>").css("position","relative");a.insertBefore(t.first());var s=void 0;r&&(s=e("<tw-transition-container>").appendTo(a),r.appendTo(s));var c=e("<tw-transition-container>").css("position","absolute").prependTo(a);t.detach().appendTo(c),u.transitionOut(c,i),r&&u.transitionIn(s,i,function(){s.unwrap().children().first().unwrap()})},transitionOut:function(e,t,n){function i(){e.remove()}if(0!==e.length){var o=u.childrenProbablyInline(e);(e.length>1||!o||!["tw-hook","tw-passage"].includes(e.tag()))&&(e=e.wrapAll("<tw-transition-container>").parent()),e.attr("data-t8n",t).addClass("transition-out"),u.childrenProbablyInline(e)&&e.css("display","inline-block"),"number"==typeof n&&e.css("animation-duration",n+"ms");var a=n||r(t,"transition-out");a?window.setTimeout(i,a):i()}},transitionIn:function(e,t,n){function i(){var t=0===e.findAndFilter(c.join(",")).length;a&&t?e.contents().unwrap():e.removeClass("transition-in").removeAttr("data-t8n")}if(0!==e.length){var o=u.childrenProbablyInline(e),a=e.length>1||!o||!["tw-hook","tw-passage"].includes(e.tag());a&&(e=e.wrapAll("<tw-transition-container>").parent()),e.attr("data-t8n",t).addClass("transition-in"),"number"==typeof n&&e.css("animation-duration",n+"ms"),u.childrenProbablyInline(e)&&e.css("display","inline-block");var s=n||r(t,"transition-in");s?window.setTimeout(i,s):i()}},$:function(t,n){return e(t,n||u.storyElement).not(".transition-out, .transition-out *")},impossible:function(e,t){window.console&&console.error(e+"(): "+t)},assertMustHave:function(e,t){if(window.console)for(var n=0;n<t.length;n+=1)t[n]in e||console.error("Assertion failed: object lacks property "+t[n])},assertOnlyHas:function(e,t){if(window.console)for(var n in e)t.includes(n)||console.error("Assertion failed: object had unexpected property '"+n+"'!")},onStartup:function(e){f?f.push(e):e()},get storyElement(){return l}},e(function(){l=e(n.story),f.forEach(function(e){return e()}),f=null}),Object.freeze(u)}),define("utils/naturalsort",[],function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String;return function(n,r){var i,o,a,s,c=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,u=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,l=/^0x[0-9a-f]+$/i,f=/^0/,p=t(n).trim(),d=t(r).trim(),h=p.replace(c,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),g=d.replace(c,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),y=parseInt(p.match(l))||1!==h.length&&p.match(u)&&Date.parse(p),m=parseInt(d.match(l))||y&&d.match(u)&&Date.parse(d)||null;if(e&&window.Intl&&window.Intl.Collator&&(a=window.Intl.Collator(e)),m){if(y<m)return-1;if(y>m)return 1}for(var v=0,b=Math.max(h.length,g.length);v<b;v++){if(i=!(h[v]||"").match(f)&&parseFloat(h[v])||h[v]||0,o=!(g[v]||"").match(f)&&parseFloat(g[v])||g[v]||0,isNaN(i)!==isNaN(o))return isNaN(i)?1:-1;if((void 0===i?"undefined":_typeof(i))!==(void 0===o?"undefined":_typeof(o)))i+="",o+="";else if("string"==typeof i&&a&&0!==(s=a.compare(i,o)))return s;if(i<o)return-1;if(i>o)return 1}return 0}}}),define("passages",["jquery","utils/naturalsort","utils","utils/selectors"],function(e,t,n,r){function i(e){return Object.assign(new Map([["source",o(e.html())],["tags",(e.attr("tags")||"").split(/\s/)||[]],["name",e.attr("name")]]),{TwineScript_TypeName:"a passage datamap",TwineScript_ObjectName:"a passage datamap"})}var o=n.unescape,a=n.onStartup,s=Object.assign(new Map,{TwineScript_ObjectName:"the Passages datamap",getTagged:function(e){var n=t("en",function(e){return e.get("name")}),r=[];return this.forEach(function(t){var n=t instanceof Map&&t.get("tags");Array.isArray(n)&&n.includes(e)&&r.push(t)}),r.sort(n)},hasValid:function(e){var t=this.get(e);return t&&t instanceof Map&&t.has("source")},create:i});return a(function(){Array.from(e(r.storyData+" > "+r.passageData)).forEach(function(t){t=e(t),s.set(t.attr("name"),new i(t))})}),s}),define("datatypes/hookset",["jquery","utils","utils/selectors","markup"],function(e,t,n,r){function i(e){var t=[].concat(_toConsumableArray(e.textContent));return 1===t.length?[e]:t.reduce(function(e,t){return t.match(p)&&e[e.length-1].match(p)?e[e.length-1]+=t:e.push(t),e},[]).reduce(function(t,n){var r=e;return n.length<e.textContent.length&&(e=e.splitText(n.length)),t.concat(r)},[])}function o(e,t,n){var r=e.textContent.length;if(!(t>=r)){var i=void 0,o=[i=0===t?e:e.splitText(t)];return n&&(n<=0&&(n=r-n),n<r&&o.push(i.splitText(n-t))),o}}function a(e,t){var n=[],r="",i=[];if(!e.length||!t)return i;for(;e.length>0;){n.push(e[0]),r+=e[0].textContent,e.shift();var s=r.indexOf(t);if(s>-1){for(var c,u=r.length-(s+t.length);s>=n[0].textContent.length;)s-=n[0].textContent.length,n.shift();if(1===n.length){var l=o(n[0],s,s+t.length);i.push(l[0]),l[1]&&e.unshift(l[1]);break}i.push(o(n[0],s,n[0].length)[0]),(c=i).push.apply(c,_toConsumableArray(n.slice(1,-1)));var f=o(n[n.length-1],0,n[n.length-1].textContent.length-u);i.push(f[0]),f[1]&&e.unshift(f[1]),i=i.filter(Boolean);break}}return[i].concat(_toConsumableArray(a(e,t)))}function s(t,n){var r=a(n.textNodes(),t),i=e();return r.forEach(function(t){i=i.add(e(t).wrapAll("<tw-pseudo-hook>").parent())}),i}function c(e){e=t.insensitiveName(e).replace(/\?/g,"").replace(/"/g,""");var r=n.hook+'[name="'+e+'"]';return r+={page:", tw-story",passage:", tw-passage",sidebar:", tw-sidebar",link:", tw-link, .enchantment-link"}[e]||""}function u(n){var r=n.dom,o=e();this.prev&&(o=o.add(u.call(this.prev,{dom:r})));var a=function(t,n){if(Array.isArray(n))return n.reduce(function(e,n){return e.add(t.get(n))},e());if(n&&"object"===(void 0===n?"undefined":_typeof(n))&&"first"in n&&"last"in n){var r=n.first,o=n.last,a=t.length;r<0&&(r+=a),o<0&&(o+=a);for(var s=e(t.get(r));r!==o;)r+=Math.sign(o-r),s=s.add(t.get(r));return s}if("string"==typeof n){if("chars"===n){var c=e();return t.textNodes().forEach(function(e){return i(e).forEach(function(e){return c=c.add(e)})}),c}if("links"===n)return t.find("tw-link, .enchantment-link");if("lines"===n){var u=t.findAndFilter("br:not(tw-sidebar *)").get(),l=[e()],f=e();return t.textNodes(":not(tw-sidebar):not(tw-sidebar *)").forEach(function(t){2&t.compareDocumentPosition(u[0])&&(u.shift(),l.push(e())),l[l.length-1]=l[l.length-1].add(t)}),l.forEach(function(e){return f=f.add(e.wrapAll("<tw-pseudo-hook>").parent())}),f}}return e(t.get(n))};if(this.selector){var l=void 0;l=this.selector.match("^"+f.hookRef+"$")?r.add(r.parentsUntil(t.storyElement.parent())).findAndFilter(c(this.selector)):s(this.selector,r),o=this.properties.length?o.add(this.properties.reduce(a,l)):o.add(l)}return this.base&&(o=o.add(this.properties.reduce(a,u.call(this.base,{dom:r})))),o}function l(e){if(!e)return[];var n=e.selector,r=e.base,i=e.properties,o=e.prev;return[JSON.stringify([t.insensitiveName(n)||"",l(r),[].concat(_toConsumableArray(i)).sort()])].concat(_toConsumableArray(l(o))).sort()}var f=r.Patterns,p=new RegExp(t.realWhitespace+"+"),d=Object.freeze({forEach:function(t,n){var r=u.call(this,t).each(function(t){n(e(this),t)});return t.dom.findAndFilter("tw-pseudo-hook").contents().unwrap(),r},hooks:function(e){return u.call(this,e)},get TwineScript_ObjectName(){return this.properties.length>0||this.prev?"a complex hook name":this.selector+" (a hook name)"},TwineScript_TypeName:"a hook name (like ?this)",TwineScript_Unstorable:!0,"TwineScript_+":function(e){var t=e.TwineScript_Clone();return t.prev=this,t},TwineScript_is:function(e){return l(this)+""==l(e)+""},TwineScript_GetProperty:function(e){return d.create(void 0,this,[e],void 0)},TwineScript_Properties:["chars","links","lines"],TwineScript_Clone:function(){return d.create(this.selector,this.base,this.properties,this.prev)},create:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;return Object.assign(Object.create(this||d),{selector:e,base:t,properties:n,prev:r})},from:function(e){return d.isPrototypeOf(e)?e:d.create(e)}});return d}),define("internaltypes/twineerror",["jquery","utils"],function(e,t){var n=t.impossible,r=t.escape,i={syntax:"The markup seems to contain a mistake.",saving:"I tried to save or load the game, but I couldn't do it.",operation:"I tried to perform an operation on some data, but the data's type was incorrect.",macrocall:"I tried to use a macro, but its call wasn't written correctly.",datatype:"I tried to use a macro, but was given the wrong type of data to it.",infinite:"I almost ended up doing the same thing over and over, forever.",property:"I tried to access a value in a string/array/datamap, but I couldn't find it.",unimplemented:"I currently don't have this particular feature. I'm sorry.",javascript:"This error message was reported by your browser's Javascript engine. I don't understand it either, but it usually means that an expression was badly written."},o={error:[],warning:[]},a={create:function(e,t,r){return t||n("TwineError.create","called with only 1 string."),r||e in i||n("TwineError.create","no error explanation given"),Object.assign(Object.create(this),{type:e,message:t,explanation:r})},fromError:function(e){return a.create("javascript","\u2615 "+e.message)},containsError:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t){return e||(t instanceof Error?t:a.isPrototypeOf(t)?t:!!Array.isArray(t)&&a.containsError.apply(a,_toConsumableArray(t)))},!1)},createWarning:function(e,t){return Object.assign(this.create(e,t),{warning:!0})},render:function(t){var n=this;t=t||"";var a=e("<tw-error class='"+("javascript"===this.type?"javascript ":"")+(this.warning?"warning":"error")+"' title='"+r(t)+"'>"+r(this.message)+"</tw-error>"),s=e("<tw-error-explanation>").text(this.explanation||i[this.type]).hide(),c=e("<tw-error-explanation-button tabindex=0>").html("<span class='folddown-arrowhead'>►</span>");return c.on("click",function(){s.toggle(),c.children(".folddown-arrowhead").css("transform","rotate("+(s.is(":visible")?"90deg":"0deg")+")")}),a.append(c).append(s),a.data("TwineError",this),o.error.forEach(function(e){return e(n,t)}),a},on:function(e,t){return e in o?("function"!=typeof t||o[e].includes(t)||o[e].push(t),a):void n("TwineError.on","invalid event name")}};return a}),define("utils/operationutils",["jquery","utils","datatypes/hookset","internaltypes/twineerror"],function(e,t,n,r){function i(e){return!!e&&("object"===(void 0===e?"undefined":_typeof(e))||"function"==typeof e)}function o(e){return Array.isArray(e)?"array":e instanceof Map?"datamap":e instanceof Set?"dataset":"string"==typeof e?"string":e&&"object"===(void 0===e?"undefined":_typeof(e))?"object":""}function a(e,t){if(e instanceof Map||b("isValidDatamapName","called with non-Map"),r.containsError(t))return t;if("string"!=typeof t&&"number"!=typeof t)return r.create("property","Only strings and numbers can be used as data names for "+l(e)+", not "+l(t)+".");var n="string"==typeof t?+t:""+t;return!(!Number.isNaN(n)&&e.has(n))||r.create("property","You mustn't use both "+l(t)+" and "+l(n)+" as data names in the same datamap.")}function s(e,t){if(null===t)return void 0===e;if(t.innerType){if("optional"===t.pattern||"zero or more"===t.pattern)return void 0===e||s(e,t.innerType);if("either"===t.pattern)return t.innerType.some(function(t){return s(e,t)});if("lambda"===t.pattern&&s(e,t.innerType))return"string"!=typeof t.clauses&&b("singleTypeCheck","lambda signature had non-string clauses"),t.clauses.includes("where")==="where"in e&&t.clauses.includes("making")==="making"in e&&t.clauses.includes("via")==="via"in e&&t.clauses.includes("with")==="with"in e;if("wrapped"===t.pattern)return s(e,t.innerType)}return(void 0===t||void 0!==e)&&("anything"===t.TwineScript_TypeName&&void 0!==e&&!e.TwineScript_Unstorable||(t===String?"string"==typeof e:t===Boolean?"boolean"==typeof e:t===parseInt?"number"==typeof e&&!Number.isNaN(e)&&!(e+"").includes("."):t===Number?"number"==typeof e&&!Number.isNaN(e):t===Array?Array.isArray(e):t===Map||t===Set?e instanceof t:Object.isPrototypeOf.call(t,e)))}function c(e){return"string"==typeof e||Array.isArray(e)||n.isPrototypeOf(e)}function u(e){if(!i(e))return e;if("function"==typeof e.TwineScript_Clone)return e.TwineScript_Clone();if(Array.isArray(e))return[].concat(_toConsumableArray(e));if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if("function"==typeof e)return Object.assign(e.bind(),e);switch(Object.getPrototypeOf(e)){case Object.prototype:return Object.assign({},e);case null:return Object.assign(Object.create(null),e)}return b("OperationUtils.clone","The value "+(e.toSource?e.toSource():e)+" cannot be cloned!"),e}function l(e){return i(e)&&"TwineScript_ObjectName"in e?e.TwineScript_ObjectName:Array.isArray(e)?"an array":e instanceof Map?"a datamap":e instanceof Set?"a dataset":"boolean"==typeof e?"the boolean value '"+e+"'":"string"==typeof e||"number"==typeof e?"the "+(void 0===e?"undefined":_typeof(e))+" "+x(e):void 0===e?"an empty variable":"...whatever this is"}function f(e){return Object.getPrototypeOf(e)===Object.prototype&&e.innerType?e.typeName?e.typeName:"either"===e.pattern?(Array.isArray(e.innerType)||b("typeName",'"either" pattern had non-array inner type'),e.innerType.map(f).join(" or ")):"optional"===e.pattern?"(optional) "+f(e.innerType):f(e.innerType):e===String||e===Number||e===Boolean?"a "+_typeof(e()):e===parseInt?"a whole number":e===Map?"a datamap":e===Set?"a dataset":e===Array?"an array":i(e)&&"TwineScript_TypeName"in e?e.TwineScript_TypeName:l(e)}function p(e,t){return"object"!==(void 0===e?"undefined":_typeof(e))&&"object"!==(void 0===t?"undefined":_typeof(t))?e===t:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,n){return p(t[n],e)}):e instanceof Map&&t instanceof Map?p(Array.from(e.entries()).sort(),Array.from(t.entries()).sort()):e instanceof Set&&t instanceof Set?p([].concat(_toConsumableArray(e)),[].concat(_toConsumableArray(t))):e&&"function"==typeof e.TwineScript_is?e.TwineScript_is(t):e&&"object"===(void 0===e?"undefined":_typeof(e))&&t&&"object"===(void 0===t?"undefined":_typeof(t))&&Object.getPrototypeOf(e)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype?p(Object.getOwnPropertyNames(e).map(function(t){return[t,e[t]]}),Object.getOwnPropertyNames(t).map(function(e){return[e,t[e]]})):Object.is(e,t)}function d(e,t){if(e||""===e){if("string"==typeof e)return e.includes(t);if(Array.isArray(e))return e.some(function(e){return p(e,t)});if(e instanceof Set||e instanceof Map)return Array.from(e.keys()).some(function(e){return p(e,t)})}return r.create("operation",l(e)+" cannot contain any values, let alone "+l(t))}function h(e,t){return"function"==typeof t.TwineScript_IsTypeOf?t.TwineScript_IsTypeOf(e):r.create("operation",'"is a" should only be used to compare type names, not '+l(t)+".")}function g(e,t){return e&&"function"==typeof e.TwineScript_IsTypeOf?e.TwineScript_IsTypeOf(t):t&&"function"==typeof t.TwineScript_IsTypeOf?t.TwineScript_IsTypeOf(e):Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,n){return g(e,t[n])}):e instanceof Map&&t instanceof Map?g(Array.from(e.entries()).sort(),Array.from(t.entries()).sort()):e instanceof Set&&t instanceof Set?(e=[].concat(_toConsumableArray(e)),w.apply(void 0,_toConsumableArray(t)).some(function(t){return g(e,t)})):p(e,t)}function y(e,t,n){if(!t||!n)return r.create("macrocall","The sub"+o(e)+" index values must not be 0 or NaN.");var i="string"==typeof e;if(i&&(e=Array.from(e)),t<0&&(t=e.length+t+1),n<0&&(n=e.length+n+1),t>n)return y(arguments[0],n,t);var a=e.slice(t>0?t-1:t,n).map(u);return i?a.join(""):a}function m(t){return r.containsError(t)?t:t&&"function"==typeof t.TwineScript_Print?t.TwineScript_Print():t instanceof Map?(t=Array.from(t.entries()),r.containsError(t)?t:t.reduce(function(e,t){var n=_slicedToArray(t,2),r=n[0],i=n[1];return e+"<tr><td>`"+m(r)+"`</td><td>`"+m(i)+"`</td></tr>"},"<table class=datamap>")+"</table>"):t instanceof Set?Array.from(t.values()).map(m)+"":Array.isArray(t)?t.map(m)+"":t instanceof e?t:i(t)?r.create("unimplemented","I don't know how to print this value yet."):t+""}function v(e,t){if(e>t)return v(t,e);var n=[e];for(t-=e;t-- >0;)n.push(++e);return n}var b=t.impossible,w=t.permutations,x=t.toJSLiteral;return Object.freeze({isObject:i,singleTypeCheck:s,isValidDatamapName:a,collectionType:o,isSequential:c,clone:u,objectName:l,typeName:f,is:p,contains:d,isA:h,matches:g,subset:y,range:v,printBuiltinValue:m,numericIndex:/^(?:[1-9]\d*|0)$/,unique:function(e,t,n){return!n.slice(t+1).some(function(t){return p(e,t)})}})}),define("twinescript/compiler",["utils"],function(e){function t(e,t){for(var n=0;n<e.length;n+=1)if(t.includes(e[n].type))return n;return NaN}function n(e,n){return e.length-1-t.apply(void 0,[[].concat(_toConsumableArray(e)).reverse(),n])}function r(e,r){var i=[];return e.length?([["error"],["comma"],{rightAssociative:["spread","bind"]},["to"],["into"],["where","when","via"],["with","making","each"],["augmentedAssign"],["and","or"],["is","isNot"],["contains","isIn"],["isA","isNotA"],["matches"],["inequality"],["addition","subtraction"],["multiplication","division"],{rightAssociative:["not","positive","negative"]},{rightAssociative:["belongingProperty"]},{rightAssociative:["belongingOperator","belongingItOperator"]},["property"],["itsProperty"],{rightAssociative:["belongingItProperty"]},["possessiveOperator","itsOperator"],["twineLink"],["macro"],["grouping"]]["most"===r?"reverse":"valueOf"]().some(function(r){var o=void 0;if(o=r.rightAssociative?t(e,r.rightAssociative):n(e,r),!Number.isNaN(o)&&o>-1)return i=[e[o],o],!0}),i):i}function i(e){if("inequality"===e.type){var t=e.operator;return e.negate?{">":"<=","<":">=",">=":"<","<=":">"}[t]:t}return e.type}function o(e){var t=i(e);return{">":"<","<":">",">=":"<=","<=":">=",contains:"isIn",isIn:"contains",isA:"typifies",typifies:"isA",isNotA:"untypifies",untypifies:"isNotA"}[t]||t}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isVarRef,u=t.whitespaceError,l=t.elidedComparison,f=t.testNeedsRight;if(e=[].concat(e),!e.length)return n&&u?"TwineError.create('operation',"+s(u)+")":"";var p=e[0];if(1===e.length){if("identifier"===p.type)return n?"VarRef.create(Operations.Identifiers,"+s(p.text)+")":" Operations.Identifiers."+p.text.toLowerCase()+" ";if("variable"===p.type)return"VarRef.create(State.variables,"+s(p.name)+")"+(n?"":".get()");if("tempVariable"===p.type)return"VarRef.create(section.stack[0].tempVariables,"+s(p.name)+")"+(n?"":".get()");if("hookRef"===p.type)return" HookSet.create('?"+p.name+"') ";if("string"===p.type)return p.text.replace(/\n/g,"\\n");if("colour"===p.type)return"Colour.create("+s(p.colour)+")";if("datatype"===p.type)return"Datatype.create("+s(p.name)+")";if("blockedValue"===p.type)return"section.blockedValue()";if("root"===p.type)return a(p.children);if("whitespace"===p.type&&n&&u)return"TwineError.create('operation',"+s(u)+")"}var d=void 0,h=r(e,"least"),g=_slicedToArray(h,2);p=g[0],d=g[1];var y=(p||{}).type,m=function(e){return{isVarRef:!0,whitespaceError:"I need usable data to be on the "+e+' of "'+p.text+'".'}},v=void 0,b=void 0,w=void 0,x=void 0,T=void 0,S=void 0,k=!0,O=!0,j=!1;if(y){if("error"===y)return"TwineError.create('syntax',"+s(p.message)+")";if("comma"===y)w=",",O=!1;else if("spread"===y)w="Operations.makeSpreader(",b=a(e.slice(d+1))+")",k=!1;else if("bind"===y)w="VarBind.create(",b=a(e.slice(d+1),m("right"))+")",k=!1;else if("to"===y)T="to",b=a(e.slice(d+1),m("right")),v="Operations.setIt("+a(e.slice(0,d),m("left"))+")";else if("into"===y)T="into",b=a(e.slice(0,d),m("left")),v="Operations.setIt("+a(e.slice(d+1),m("right"))+")";else if("where"===y||"when"===y||"via"===y)v="Lambda.create("+(a(e.slice(0,d),{isVarRef:!0,whitespaceError:null}).trim()||"undefined")+",",w=s(p.type)+",",b=s(a(e.slice(d+1)))+")";else if("with"===y||"making"===y||"each"===y){var A=e.slice(d+1);![2,3].includes(A.length)||"whitespace"!==A[0].type||"tempVariable"!==A[1].type||A[2]&&"whitespace"!==A[2].type?(v="TwineError.create('operation','I need a temporary variable to the right of \\'",w=p.type,b="\\'.')"):"each"===y?(v="Lambda.create(",w=a(A,m("right")).trim(),b=",'where','true')"):(v="Lambda.create("+(a(e.slice(0,d),{isVarRef:!0,whitespaceError:null}).trim()||"undefined")+",",w=s(p.type)+",",b=s(A[1].name)+")")}else if("augmentedAssign"===y)T=p.operator,v=a(e.slice(0,d),m("left")),b="Operations['"+T+"']("+a(e.slice(0,d))+","+a(e.slice(d+1))+")";else if("and"===y||"or"===y){var C=function e(t){var n=r(t,"least"),i=_slicedToArray(n,2),o=i[0],a=i[1];if(o)return["inequality","is","isNot","isIn","contains","isA","typifies","isNotA","untypifies","matches"].includes(o.type)?o:["and","or"].includes(o.type)?e(t.slice(0,a))||e(t.slice(a+1)):void 0},E=C(e.slice(0,d)),N=C(e.slice(d+1)),_="TwineError.create('operation', 'This use of \"is not\" and \""+y+"\" is grammatically ambiguous','Maybe try rewriting this as \"__ is not __ "+y+" __ is not __\"') ";if(x=p.type,l===p.type)x="",v=a(e.slice(0,d),{isVarRef:n,elidedComparison:l}).trim(),w=",",b=a(e.slice(d+1),{elidedComparison:l}).trim();else if(E&&!N){var P=E,I=s(i(P));if("isNot"===P.type||"isNotA"===P.type||"untypifies"===P.type)return _;b="Operations.elidedComparisonOperator("+s(p.type)+","+I+","+a(e.slice(d+1),{elidedComparison:y})+")"}else if(!E&&N){var M=N,D=e.indexOf(M),L=s(o(M));if("isNot"===M.type||"isNotA"===M.type||"untypifies"===M.type)return _;b="Operations.elidedComparisonOperator("+s(p.type)+","+L+","+a(e.slice(0,d),{elidedComparison:y})+")",v=a([].concat(_toConsumableArray(e.slice(D+1)),[Object.assign(Object.create(M),_defineProperty({},"inequality"===M.type?"operator":"type",o(M)))],_toConsumableArray(e.slice(d+1,D))))}}else if("is"===y||"isNot"===y||"contains"===y||"isIn"===y||"inequality"===y||"isA"===y||"typifies"===y||"isNotA"===y||"untypifies"===y||"matches"===y)j=!0,x=i(p);else if("addition"===y||"subtraction"===y){var R=a(e.slice(0,d),{testNeedsRight:!0}).trim();if(!R)return p.type={addition:"positive",subtraction:"negative"}[y],a(e,{isVarRef:n,whitespaceError:u,elidedComparison:l,testNeedsRight:f});x=p.text}else if("multiplication"===y||"division"===y)x=p.text;else if("positive"===y||"negative"===y)x="*",v="negative"===y?"-1":"1";else if("not"===y)w=" ",b="Operations.not("+a(e.slice(d+1))+")",k=!1;else if("belongingProperty"===y)b="VarRef.create("+a(e.slice(d+1),m("right"))+","+s(p.name)+")"+(n?"":".get()"),w=" ",k=O=!1;else if("belongingOperator"===y||"belongingItOperator"===y)p.type.includes("It")?(b="Operations.Identifiers.it",O=!1):b=a(e.slice(d+1),m("right")),S="belonging";else if("property"===y)v="VarRef.create("+a(e.slice(0,d),m("left"))+","+s(p.name)+")"+(n?"":".get()"),w=" ",k=O=!1;else if("itsProperty"===y||"belongingItProperty"===y)v="VarRef.create(Operations.Identifiers.it,"+s(p.name)+").get()",w=" ",k=O=!1;else if("possessiveOperator"===y||"itsOperator"===y)p.type.includes("it")&&(v="Operations.Identifiers.it",k=!1),S="possessive";else if("twineLink"===y)w='Macros.run("link-goto", [section,'+s(p.innerText)+","+s(p.passage)+"])",k=O=!1;else if("macro"===y){var q=p.children[0];"macroName"!==q.type&&c("Compiler.compile","macro token had no macroName child token"),w="Macros.run("+(q.isMethodCall?a(q.children):'"'+p.name+'"')+", [section,"+a(p.children.slice(1))+"])",k=O=!1}else"grouping"===y&&(w="("+a(p.children,{isVarRef:n})+")",k=O=!1)}else;return d>-1?(x&&(n=!1),v=v||a(e.slice(0,d),{isVarRef:n
}).trim(),b=b||a(e.slice(d+1)).trim(),j&&!v&&(v=" Operations.Identifiers.it "),k&&!v||O&&!b?f&&O&&!b?"":"TwineError.create('operation','I need some code to be "+(k?"left ":"")+(k&&O?"and ":"")+(O?"right ":"")+'of "'+p.text+"\"')":w?v+w+b:T?"Operations.makeAssignmentRequest("+[v,b,s(T)]+")":S?"VarRef.create("+("belonging"===S?b:v)+",{computed:true,value:"+("belonging"===S?v:b)+"})"+(n?"":".get()"):x?" Operations["+s(x)+"]("+v+","+b+") ":""):1===e.length?(("value"in e[0]?e[0].value:e[0].text)+"").trim()||" ":e.reduce(function(e,t){return e+a(t,{isVarRef:n})},"")}var s=e.toJSLiteral,c=e.impossible;return a}),define("renderer",["utils","markup","twinescript/compiler","internaltypes/twineerror"],function(e,t,n,r){function i(e,t){return"<"+t+">"+e+"</"+t+">"}function o(e,t){var n=f.render(e.children);return n&&i(n,t)}function a(e){var t=[];if("string"!==e.type)for(var n=0;n<e.children.length;n+=1)t.push.apply(t,_toConsumableArray(a(e.children[n])));var r=e.firstChild();return"macro"===e.type&&r&&"macroName"===r.type&&f.options.blockerMacros.includes(l(r.text.slice(0,-1)))&&t.push(e),t}var s=e.escape,c=e.impossible,u=e.toJSLiteral,l=e.insensitiveName,f=void 0,p="text-align: center; max-width:50%; ";return f={options:{blockerMacros:[]},exec:function(){var e=void 0,n=void 0;return function(r){return"string"!=typeof r?(c("Renderer.exec","source was not a string, but "+(void 0===r?"undefined":_typeof(r))),""):r===e?n:(e=r,n=f.render(t.lex(r).children))}}(),render:function e(c){var d="",h=[];if(!c)return d;for(var g=c.length,y=0;y<g;y+=1){var m=c[y];switch(m.type){case"error":d+=r.create("syntax",m.message).render(s(m.text))[0].outerHTML;break;case"numbered":case"bulleted":var v="numbered"===m.type?"ol":"ul";d+="<"+v+">";for(var b=1;y<g&&c[y]&&c[y].type===m.type;)d+=("<"+v+">").repeat(Math.max(0,c[y].depth-b)),d+=("</"+v+">").repeat(Math.max(0,b-c[y].depth)),b=c[y].depth,d+=o(c[y],"li"),y+=1;y-=1,d+=("</"+v+">").repeat(b+1);break;case"align":for(;m&&"align"===m.type;){var w=m,x=w.align,T=y+=1;if("left"===x){y-=1;break}for(;y<g&&c[y]&&"align"!==c[y].type;)y+=1;var S=e(c.slice(T,y)),k="";switch(x){case"center":k+=p+"margin-left: auto; margin-right: auto;";break;case"justify":case"right":k+="text-align: "+x+";";break;default:+x&&(k+=p+"margin-left: "+x+"%;")}d+="<tw-align "+(k?'style="'+k+'"':"")+(f.options.debug?' title="'+m.text+'"':"")+">"+S+"</tw-align>\n",m=c[y]}break;case"column":for(var O=[];m&&"column"===m.type;){var j=m,A=j.column,C=y+=1;if("none"===A){y-=1;break}for(;y<g&&c[y]&&"column"!==c[y].type;)y+=1;O.push({text:m.text,type:A,body:e(c.slice(C,y)),width:m.width,marginLeft:m.marginLeft,marginRight:m.marginRight}),m=c[y]}O.length&&function(){var e=O.reduce(function(e,t){return e+t.width},0);d+="<tw-columns>"+O.map(function(t){return"<tw-column type="+t.type+' style="width:'+t.width/e*100+"%; margin-left: "+t.marginLeft+"em; margin-right: "+t.marginRight+'em;" '+(f.options.debug?' title="'+t.text+'"':"")+">"+t.body+"</tw-column>\n"}).join("")+"</tw-columns>"}();break;case"heading":d+=o(m,"h"+m.depth);break;case"br":if(!h.length||/td|th/.test(h[0])){d+="<br>";for(var E=c[y+1];E&&("br"===E.type||"tag"===E.type&&/^<br\b/i.test(E.text));)d+="<br data-cons "+("tag"===E.type?"data-raw":"")+">",y+=1,E=c[y+1]}break;case"hr":d+="<hr>";break;case"escapedLine":case"comment":break;case"inlineUrl":d+='<a class="link" href="'+s(m.text)+'">'+m.text+"</a>";break;case"scriptStyleTag":case"tag":var N=m.text.toLowerCase();/^<\/?(?:table|thead|tbody|tr|tfoot|td|th)\b/.test(N)&&h[m.text.startsWith("</")?"shift":"unshift"](N),d+=m.text.startsWith("</")?m.text:m.text.replace(/>$/," data-raw>");break;case"sub":case"sup":case"strong":case"em":d+=o(m,m.type);break;case"strike":d+=o(m,"s");break;case"bold":d+=o(m,"b");break;case"italic":d+=o(m,"i");break;case"twineLink":var _=_slicedToArray(t.lex("(link-goto:"+u(m.innerText)+","+u(m.passage)+")").children,1),P=_[0];d+='<tw-expression type="macro" name="link-goto"'+(f.options.debug?' title="'+s(m.text)+'"':"")+' js="'+s(n(P))+'"></tw-expression>';break;case"hook":d+="<tw-hook "+(m.hidden?"hidden ":"")+(m.name?'name="'+l(m.name)+'"':"")+(f.options.debug&&m.name?' title="Hook: ?'+m.name+'"':"")+' source="'+s(m.innerText)+'"></tw-hook>';break;case"unclosedHook":return d+="<tw-hook "+(m.hidden?"hidden ":"")+(m.name?'name="'+l(m.name)+'"':"")+'source="'+s(c.slice(y+1,g).map(function(e){return e.text}).join(""))+'"></tw-hook>';case"verbatim":d+=i(s(m.innerText).replace(/\n/g,"<br>"),"tw-verbatim");break;case"collapsed":d+=o(m,"tw-collapsed");break;case"variable":case"tempVariable":case"macro":var I="macro"===m.type?a(m):[],M=I.map(function(e){var t=n(e);return e.type="blockedValue",t});d+='<tw-expression type="'+m.type+'" name="'+s(m.name||m.text)+'"'+(f.options.debug?' title="'+s(m.text)+'"':"")+(I.length?' blockers="'+s(JSON.stringify(M))+'"':"")+' js="'+s(n(m))+'"></tw-expression>',I.forEach(function(e){return e.type="macro"});break;default:d+=m.children&&m.children.length?e(m.children):m.text}}return d}},Object.freeze(f)}),define("internaltypes/changedescriptor",["jquery","utils","renderer","datatypes/hookset"],function(e,t,n,r){var i=t.assertOnlyHas,o=t.impossible,a=t.transitionIn,s=n.exec,c=void 0,u={source:"",innerSource:"",enabled:!0,target:null,append:"append",newTargets:null,transition:"instant",transitionTime:null,transitionDeferred:!1,loopVars:null,styles:null,attr:null,data:null,section:null,summary:function(){var e=this;return["source","innerSource","enabled","target","append","newTargets","transition","transitionTime"].filter(function(t){return e.hasOwnProperty(t)}).concat([this.attr.length&&"attr",this.styles.length&&"styles",Object.keys(this.loopVars).length&&"loopVars",Object.keys(this.data).length&&"data"].filter(Boolean))},create:function(e,t){var n=Object.assign(Object.create(this),{attr:[].concat(this.attr||[]),styles:[].concat(this.styles||[]),loopVars:this.loopVars||{},data:this.data||{}},e);return t&&t.run(n),n},update:function(){var e=this,t=this.section,n=this.newTargets,i=this.target,o=function(t){if(Array.isArray(e.styles)&&e.styles.length>0){var n=e.styles.reduce(function(e,t){return Object.keys(t).forEach(function(n){var r=t[n];e[+("function"==typeof r)][n]=r}),e},[{},{}]),r=_slicedToArray(n,2),i=r[0],o=r[1];t.css(i),setTimeout(function(){return t.css(o)})}e.attr&&e.attr.forEach(function(e){return t.attr(e)}),e.data&&t.data(e.data)};Array.isArray(n)&&n.length&&(i=n.map(function(e){return e.target})),[].concat(i).forEach(function(e){r.isPrototypeOf(e)?e.forEach(t,o):o(e)})},render:function(){var t=this,n=this.source,l=this.transition,f=this.transitionTime,p=this.transitionDeferred,d=this.enabled,h=this.data,g=this.section,y=this.newTargets,m=this.target,v=this.target,b=this.append;if(i(this,c),!d||void 0!==m.popAttr("hidden"))return u.create({target:m,data:Object.assign({},h,{hiddenSource:n})}).update(),e();if(Array.isArray(y)&&y.length&&(m=y),!m)return o("ChangeDescriptor.render","ChangeDescriptor has source but not a target!"),e();var w=e();if([].concat(m).filter(function(e){return!e.jquery}).map(function(e){var t=b,n=void 0;if(e.target&&e.append){var r=e;t=r.append,n=r.before,e=e.target}return{elements:e.hooks(g,v).filter(function(){return!(n&&1&this.compareDocumentPosition(document)&&2&this.compareDocumentPosition(v[0]))}),append:t}},[]).forEach(function(n){var r=n.elements,i=n.append;r.each(function(n,r){r=e(r),w=w.add(t.create({target:r,append:i,newTargets:null}).render()),r.filter("tw-pseudo-hook").contents().unwrap()})}),w.length||Array.isArray(m)||r.isPrototypeOf(m))return w;if(!(b in m)){if("replace"!==b)return o("Section.render","The target doesn't have a '"+b+"' method."),e();m[0]instanceof Text?b="replaceWith":(m.empty(),b="append")}return m[0]instanceof Text&&("append"===b&&(b="after"),"prepend"===b&&(b="before")),w=e(n&&e.parseHTML(s(n),document,!0)),m[b](w.length?w:void 0),this.update(),l&&!p&&a("replace"===b?m:w,l,f),w}};return c=Object.keys(u),Object.seal(u)}),define("datatypes/changercommand",["utils","utils/operationutils","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r){var i=e.impossible,o=t.is,a={},s={changer:!0,TwineScript_TypeName:"a changer command",TwineScript_Print:function(){return"`[A ('"+this.macroName+"':) command]`"},summary:function(){var e=n.create();return this.run(e),e.summary()},create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Array.isArray(t)||i("ChangerCommand.create","params was not an array"),Object.assign(Object.create(this),{macroName:e,params:t,next:n,TwineScript_ObjectName:"a ("+e+":) command"})},"TwineScript_+":function(e){for(var t=this.TwineScript_Clone(),n=t;n.next;)n=n.next;return n.next=e,t},TwineScript_is:function(e){if(s.isPrototypeOf(e))return this.macroName===e.macroName&&o(this.params,e.params)&&o(this.next,e.next)},TwineScript_Clone:function(){return this.create(this.macroName,this.params,this.next)},run:function(e){var t=a[this.macroName].apply(a,[e].concat(_toConsumableArray(this.params)));if(r.containsError(t))return t;this.next&&this.next.run(e)},register:function(e,t){a[e]=t}};return Object.freeze(s)}),define("state",["utils","passages","datatypes/changercommand","internaltypes/twineerror","utils/operationutils"],function(e,t,n,r,i){function o(){if(m.hasSessionStorage){var e=m.serialise();if("string"==typeof e)try{sessionStorage.setItem("Saved Session",e)}catch(e){return}}}function a(e){h=(p[d]||f).create(e),o()}var s=e.impossible,c=i.objectName,u=["localStorage","sessionStorage"].map(function(e){try{return!!window[e]&&function(){return window[e].setItem("test","1"),window[e].removeItem("test"),!0}()}catch(e){return!1}}),l={TwineScript_ObjectName:"this story's variables",TwineScript_VariableStore:!0},f={passage:"",variables:l,create:function(e,t){var n=Object.create(f);return n.passage=e||"",n.variables=Object.assign(Object.create(this.variables),t),n}},p=[],d=-1,h=f.create(),g=void 0,y={forward:[],back:[],load:[]},m=void 0;return m=Object.assign({get passage(){return h.passage},get variables(){return h.variables},get pastLength(){return d},get futureLength(){return p.length-1-d},passageNameVisited:function(e){var n=0;if(!t.get(e))return 0;for(var r=0;r<=d;r++)n+=+(e===p[r].passage);return n},passageNameLastVisited:function(e){if(!t.get(e))return 1/0;if(e===h.passage)return 0;for(var n=d;n>0;n--)if(p[n].passage===e)return d-n+1;return 1/0},pastPassageNames:function(){for(var e=[],t=d-1;t>=0;t--)e.unshift(p[t].passage);return e},play:function(e){h||s("State.play","present is undefined!"),h.passage=e,p=p.slice(0,d+1).concat(h),d+=1,a(e),y.forward.forEach(function(t){return t(e)})},rewind:function(e){var t=1,n=!1;if(e)if("string"==typeof e){if((t=this.passageNameLastVisited(e))===1/0)return}else"number"==typeof e&&(t=e);for(;t>0&&d>0;t--)n=!0,d-=1;return n&&(a(p[d].passage),y.back.forEach(function(e){return e()})),n},fastForward:function(e){var t=1,n=!1;for("number"==typeof e&&(t=e);t>0&&p.length>0;t--)n=!0,d+=1;return n&&(a(p[d].passage),y.forward.forEach(function(e){return e(p[d].passage,"fastForward")})),n},on:function(e,t){return e in y?("function"!=typeof t||y[e].includes(t)||y[e].push(t),m):void s("State.on","invalid event name")},reset:function(){window.jasmine&&(p=[],d=-1,h=f.create(),g=void 0,y.load.forEach(function(e){return e(p)}))},hasStorage:u[0],hasSessionStorage:u[1]},function(){function e(t){return"number"==typeof t||"boolean"==typeof t||"string"==typeof t||null===t||Array.isArray(t)&&t.every(e)||t instanceof Set&&Array.from(t).every(e)||t instanceof Map&&Array.from(t.values()).every(e)||n.isPrototypeOf(t)}function i(e,t){return t instanceof Set?{"(dataset:)":Array.from(t)}:t instanceof Map?{"(datamap:)":Array.from(t)}:n.isPrototypeOf(t)?{changer:{name:t.macroName,params:t.params,next:t.next}}:t}function o(e,t){if(t&&"object"===(void 0===t?"undefined":_typeof(t))){if(Array.isArray(t["(dataset:)"]))return new Set(t["(dataset:)"]);if(Array.isArray(t["(datamap:)"]))return new Map(t["(datamap:)"]);if(t.changer&&"object"===_typeof(t.changer)){var r=t.changer,i=r.name,o=r.params,a=r.next;return n.create(i,o,a)}}return t}function s(){var t=p.slice(0,d+1),n=t.map(function(t){return Object.keys(t.variables).filter(function(n){return t.variables[n]&&!e(t.variables[n])}).map(function(e){return[e,t.variables[e]]})});if(g||(g=n.reduce(function(e,t,n){var r=_slicedToArray(t,2),i=r[0],o=r[1];return e||i&&[i,o,n+1]},void 0)),g){var o=g,a=_slicedToArray(o,3),s=a[0],u=a[1],l=a[2];return r.create("saving","The variable $"+s+" holds "+c(u)+" (which is, or contains, a complex data value) on turn "+l+"; the game can no longer be saved.")}try{return JSON.stringify(t,i)}catch(e){return!1}}function u(e){var n=void 0,r=l,i="The save data is unintelligible.";try{n=JSON.parse(e,o)}catch(e){return Error(i)}if(!Array.isArray(n))return Error(i);var s=void 0;return(s=(n=n.map(function(e){return"object"===(void 0===e?"undefined":_typeof(e))&&e.hasOwnProperty("passage")&&e.hasOwnProperty("variables")?t.hasValid(e.passage)?(e.variables=Object.assign(Object.create(r),e.variables),r=e.variables,Object.assign(Object.create(f),e)):Error("The data refers to a passage named '"+e.passage+"', but it isn't in this story."):Error(i)})).find(function(e){return e instanceof Error}))?s:(p=n,y.load.forEach(function(e){return e(p)}),d=p.length-1,a(p[d].passage),!0)}return{serialise:s,deserialise:u}}()),Object.seal(f),Object.freeze(m)}),define("datatypes/colour",["jquery"],function(e){function t(t){if(t in s)return s[t];var n=e("<p>").css("background-color",t).css("background-color");return n=n.startsWith("rgb")?n.match(/\d+/g).reduce(function(e,t,n){return e["rgb"[n]]=+t,e},{}):{r:192,g:192,b:192},s[t]=n,n}function n(e){return"string"!=typeof e?e:(e=e.replace("#",""),e=e.replace(o,"$1$1$2$2$3$3"),{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16)})}function r(e){var t=e.r,n=e.g,r=e.b,i=e.a;t/=255,n/=255,r/=255;var o=Math.max(t,n,r),a=Math.min(t,n,r),s=(o+a)/2,c=o-a;if(o===a)return{h:0,s:0,l:s};var u=void 0;switch(o){case t:u=(n-r)/c+(n<r?6:0);break;case n:u=(r-t)/c+2;break;case r:u=(t-n)/c+4}return u=Math.round(60*u),{h:u,s:s>.5?c/(2-o-a):c/(o+a),l:s,a:i}}function i(e){function t(e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?c+6*(s-c)*e:e<.5?s:e<2/3?c+(s-c)*(2/3-e)*6:c}var n=e.h,r=e.s,i=e.l,o=e.a;if(0===r){var a=Math.floor(255*i);return{r:a,g:a,b:a}}n/=360;var s=i<.5?i*(1+r):i+r-i*r,c=2*i-s;return{r:Math.floor(255*t(n+1/3)),g:Math.floor(255*t(n)),b:Math.floor(255*t(n-1/3)),a:o}}var o=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,a=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,s=Object.create(null),c=Object.freeze({TwineScript_TypeName:"a colour",TwineScript_ObjectName:"a colour",TwineScript_DebugName:function(){return"a colour "+this.TwineScript_Print()},"TwineScript_+":function(e){var t=this,n=e;return c.create({r:Math.min(Math.round(.6*(t.r+n.r)),255),g:Math.min(Math.round(.6*(t.g+n.g)),255),b:Math.min(Math.round(.6*(t.b+n.b)),255),a:(t.a+n.a)/2})},TwineScript_Print:function(){return"<tw-colour style='background-color:rgba("+[this.r,this.g,this.b,this.a].join(",")+");'></span>"},TwineScript_is:function(e){return c.isPrototypeOf(e)&&e.r===this.r&&e.g===this.g&&e.b===this.b&&e.a===this.a},TwineScript_Clone:function(){return c.create(this)},toRGBAString:function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.a+")"},TwineScript_GetProperty:function(e){return"h"===e||"s"===e||"l"===e?r(this)[e]:"r"===e||"g"===e||"b"===e?this[e]:void 0},TwineScript_Properties:["h","s","l","r","g","b"],create:function(e){return"string"==typeof e?c.isHexString(e)?this.create(n(e)):this.create(t(e)):!("h"in e&&"s"in e&&"l"in e)||"r"in e||"g"in e||"b"in e?("a"in e&&"number"==typeof e.a||(e.a=1),Object.assign(Object.create(this),e)):this.create(i(e))},isHexString:function(e){return"string"==typeof e&&"#"===e[0]&&(e.slice(1).match(o)||e.slice(1).match(a))},isCSS3Function:function(e){return"string"==typeof e&&/^(?:rgb|hsl)a?\(\s*\d+\s*,\s*\d+%?\s*,\s*\d+%?(?:,\s*\d+(?:\.\d+)?\s*)?\)$/.test(e)}});return c}),define("datatypes/gradient",[],function(){var e=Object.freeze({TwineScript_TypeName:"a gradient",TwineScript_ObjectName:"a gradient",TwineScript_DebugName:function(){return"a gradient "+this.TwineScript_Print()},TwineScript_GetProperty:function(e){return"angle"===e?this.angle:"stops"===e?this.stops.map(function(e){return new Map([["percent",e.stop],["colour",e.colour.TwineScript_Clone()]])}):void 0},TwineScript_Properties:["angle","stops"],TwineScript_is:function(e){var t=this;return e.angle===this.angle&&e.stops.length===this.stops.length&&e.stops.every(function(e,n){var r=e.colour,i=e.stop;return t.stops[n].stop===i&&t.stops[n].colour.TwineScript_is(r)})},TwineScript_Clone:function(){return e.create(this.angle,[].concat(_toConsumableArray(this.stops)))},TwineScript_Print:function(){return"<tw-colour style='background:"+this.toLinearGradientString()+"'></tw-colour>"},create:function(e,t){return Object.assign(Object.create(this),{angle:e,stops:t.sort(function(e,t){return e.stop-t.stop})})},toLinearGradientString:function(){return"linear-gradient("+this.angle+"deg, "+this.stops.reduce(function(e,t){var n=t.colour,r=t.stop;return e+n.toRGBAString()+" "+100*r+"%,"},"").slice(0,-1)+")"}});return e}),define("internaltypes/varref",["state","internaltypes/twineerror","utils","utils/operationutils","datatypes/hookset","datatypes/colour","datatypes/gradient"],function(e,t,n,r,i,o,a){function s(e,n){var r=void 0;if(e instanceof Map&&(r=t.containsError(A(e,n))))return r;if(T(e)){var o=void 0,a="You can only access position strings/numbers ('4th', 'last', '2ndlast', (2), etc.) or slices ('1stTo2ndlast', '3rdTo5th'), ";if("number"==typeof n){if(0===n)return t.create("property","You can't access elements at position 0 of "+S(e)+".","Only positive and negative position values exist.");n>0&&(n-=1)}else if("string"==typeof n&&(o=/^(\d+)(?:st|[nr]d|th)last$/i.exec(n)))n=-o[1];else if("string"==typeof n&&(o=/^(\d+)(?:st|[nr]d|th)$/i.exec(n)))n=o[1]-1;else if("string"==typeof n&&(o=/^(?:(\d+)(?:st|[nr]d|th)(last)?|last)to(?:(\d+)(?:st|[nr]d|th)(last)?|last)$/i.exec(n))){var s=o,c=_slicedToArray(s,5),u=c[1],l=void 0===u?0:u,f=c[2],p=c[3],d=void 0===p?0:p,h=c[4];l=f?-l:l-1,d=h?-d:d-1,n={last:d,first:l}}else if("last"===n)n=-1;else{if(i.isPrototypeOf(e)&&!i.TwineScript_Properties.includes(n))return t.create("property",a+w(i.TwineScript_Properties.map(function(e){return"'"+e+"'"}))+" of "+S(e)+", not "+S(n)+".");if(!["length","any","all"].includes(n)&&!i.isPrototypeOf(e))return t.create("property",a+"'length', 'any' and 'all' of "+S(e)+", not "+S(n)+".")}}else if(e instanceof Set){if(!["length","any","all"].includes(n))return t.create("property","You can only get the 'length', 'any' and 'all' of "+S(e)+".","To check contained values, use the 'contains' operator.");"length"===n&&(n="size")}else{if(Array.isArray(e.TwineScript_Properties)&&!e.TwineScript_Properties.includes(n))return t.create("property","You can only get the "+w(e.TwineScript_Properties.map(function(e){return"'"+e+"'"}))+" of "+S(e)+", not "+S(n)+".");if("number"==typeof e||"boolean"==typeof e)return t.create("property","You can't get data values from "+S(e)+".")}return n}function c(e,n){return{compiledPropertyChain:n.reduce(function(r,i,o){i.computed&&(i=i.value),E.isPrototypeOf(i)&&(i=i.get()),i=Array.isArray(i)?i.map(function(t){return s(e,t)}):s(e,i);var a=void 0;return(a=t.containsError(r,i))?a:(o<n.length-1&&(e=m(e,i)),r.push(i),r)},[]),deepestObject:e}}function u(e,t){return t-0<0&&Math.abs(t)<=e.length?e.length+(t-0):t}function l(e,t){var n="'"+t+"' value"+("any"===t?"":"s")+" of ";return{determiner:t,array:[].concat(_toConsumableArray(e)),TwineScript_ObjectName:n+S(e),TwineScript_TypeName:n+"a data structure",TwineScript_Unstorable:!0,TwineScript_Print:function(){return"`["+this.TwineScript_TypeName+"]`"}}}function f(e,t){if(void 0===e)return e;if(e instanceof Map||e.varref)return e.get(t);if(T(e)&&Number.isFinite(t)&&(t=u(e,t)),"any"===t||"all"===t)return l(e,t);if(e.TwineScript_GetProperty)return e.TwineScript_GetProperty(t);var n=e[t];return"function"!=typeof n?n:void 0}function p(e){return e.computed?"string"==typeof e.value?"('"+e.value+"')":"("+e.value+")":"'"+e+"'"}function d(e,n){if(Array.isArray(n))return n.map(function(t){return d(e,t)});if(i.isPrototypeOf(e))return t.create("operation","I can't modify "+S(e),"You should alter hooks indirectly using macros like (replace:) or (enchant:).");if(e instanceof Set)return t.create("operation","I can't modify "+S(e),"You should use an (array:) if you need to modify the data inside this dataset.");if(o.isPrototypeOf(e)||a.isPrototypeOf(e))return t.create("operation","I can't modify the components of "+S(e)+".");if(e instanceof Map)return"string"==typeof n||t.create("operation",S(e)+" can only have string data names, not "+S(n)+".");if(T(e)){if(["length","any","all"].includes(n))return t.create("operation","I can't forcibly alter the '"+n+"' of "+S(e)+".");if(+n!=(0|n))return t.create("property",S(e)+" can only have position keys ('3rd', '1st', (5), etc.), not "+p(n)+".")}return e.TwineScript_Identifiers&&n in e?t.create("keyword","I can't alter the value of the '"+n+"' identifier.","You can only alter data in variables and hooks, not fixed identifiers."):"number"!=typeof e&&"boolean"!=typeof e||t.create("operation","You can't alter the data values of "+S(e)+".")}function h(e,t,n){var r=t;e instanceof Map?e.set(t,n):(T(e)&&(t=u(e,t)),e.TwineScript_Set?e.TwineScript_Set(t):e[t]=n),_.set.forEach(function(t){return t(e,r,n)})}function g(e,t){var n=t;T(e)&&(t=u(e,t)),Array.isArray(e)&&j.exec(t)?e.splice(t,1):e instanceof Map||e instanceof Set?e.delete(t):delete e[t],_.delete.forEach(function(t){return t(e,n)})}function y(e){function t(){return e}return{get:t,set:t,delete:t,varref:!0}}function m(n,r,o){if(r&&"object"===(void 0===r?"undefined":_typeof(r))&&"last"in r&&"first"in r){if(i.isPrototypeOf(n))return n.TwineScript_GetProperty(r);var a=r.first,s=r.last;return C(n,a+(a>=0),s+(s>=0))}if(Array.isArray(r))return i.isPrototypeOf(n)?n.TwineScript_GetProperty(r):r.map(function(e){return m(n,e,e)})["string"==typeof n?"join":"valueOf"]("");"string"==typeof n&&(n=[].concat(_toConsumableArray(n)));var c=f(n,r);return void 0===c?n===e.variables?N:n.TwineScript_VariableStore?t.create("property","There isn't a temp variable named _"+o+" in this place.","Temp variables only exist inside the same passage and hook in which they're (set:)."):t.create("property","I can't find a "+p(o)+" data name in "+S(n)):c}function v(e,n){var r=this,i=this.compiledPropertyChain.reduce(function(e,t){var n=void 0;return n=0===e.length?r.object:m.apply(void 0,_toConsumableArray(e[e.length-1])),e.push([n,t])&&e},[]).reduceRight(e,n);return t.containsError(i)?i:void 0}var b=n.impossible,w=n.andList,x=r.isObject,T=r.isSequential,S=r.objectName,k=r.typeName,O=r.clone,j=r.numericIndex,A=r.isValidDatamapName,C=r.subset,E=void 0,N=0,_={set:[],delete:[]};return E=Object.freeze({varref:!0,get:function(){return m(this.deepestObject,this.compiledPropertyChain.slice(-1)[0],this.propertyChain.slice(-1)[0])},set:function(e){return!this.object||this.object.TwineScript_VariableStore||this.object.TwineScript_Identifiers?v.call(this,function(e,n,r){var i=_slicedToArray(n,2),o=i[0],a=i[1],s=void 0;if(s=t.containsError(e,o,a)||t.containsError(d(o,a)))return s;if(e&&e.TwineScript_Unstorable)return t.create("operation",k(e)+" can't be stored.");if(r>0&&(o=O(o)),"string"==typeof o){if("string"!=typeof e||e.length!==(Array.isArray(a)?a.length:1))return t.create("datatype","I can't put this non-string value, "+S(e)+", in a string.");o=[].concat(_toConsumableArray(o));var c=[].concat(_toConsumableArray(e));[].concat(a).forEach(function(e){0+e<0&&(e=o.length+(0+e)),o=[].concat(_toConsumableArray(o.slice(0,e)),[c.shift()],_toConsumableArray(o.slice(e+1)))}),o=o.join("")}else x(o)&&(Array.isArray(a)&&T(e)?("string"==typeof e&&(e=[].concat(_toConsumableArray(e))),a.map(function(t,n){return[t,e[n]]}).forEach(function(e){var t=_slicedToArray(e,2),n=t[0],r=t[1];return h(o,n,r)})):h(o,a,e));return o},e):t.create("macrocall","I can't (set:) "+S(this)+", if the "+(S(this.object).match(/ (.+$)/)||["","value"])[1]+" isn't stored in a variable.","Modifying data structures that aren't in variables won't change the game state at all.")},delete:function(){return v.call(this,function(e,n,r){var i=_slicedToArray(n,2),o=i[0],a=i[1],s=void 0;if(s=t.containsError(e,o,a)||t.containsError(d(o,a)))return s;if(r>0&&(o=O(o)),null===e){var c="string"==typeof o;c&&(o=[].concat(_toConsumableArray(o))),Array.isArray(a)?(T(o)&&(a=[].concat(_toConsumableArray(new Set(a))),a.sort(function(e,t){return u(o,t)-u(o,e)})),a.forEach(function(e){return g(o,e)})):g(o,a),c&&(o=o.join(""))}else h(o,a,e);return o},null)},create:function(e,n){var r=void 0;if(r=t.containsError(e))return y(r);n=[].concat(n),E.isPrototypeOf(e)&&(n=e.propertyChain.concat(n),e=e.object);var i=c(e,n),o=i.compiledPropertyChain,a=i.deepestObject;return(r=t.containsError(o,a))?y(r):Object.assign(Object.create(E),{object:e,propertyChain:n,compiledPropertyChain:o,deepestObject:a})},get TwineScript_ObjectName(){var t=this,n=function(n,r){return r||t.object!==e.variables&&!t.object.TwineScript_VariableStore?p(n):n};return(this.object===e.variables?"$":this.object.TwineScript_VariableStore?"_":S(this.object)+"'s ")+(1===this.propertyChain.length?n(this.propertyChain[0]):this.propertyChain.reduce(function(e,t,r){return e+"'s "+n(t,r)}))+(this.object.TwineScript_VariableStoreName?" in "+this.object.TwineScript_VariableStoreName:"")},on:function(e,t){return e in _?("function"!=typeof t||_[e].includes(t)||_[e].push(t),E):void b("VarRef.on","invalid event name")}})}),define("internaltypes/varscope",[],function(){return{TwineScript_ObjectName:"the temporary variables",TwineScript_VariableStore:!0}}),define("datatypes/lambda",["utils","utils/operationutils","internaltypes/varscope","internaltypes/twineerror"],function(e,t,n,r){var i=e.toJSLiteral,o=e.insensitiveName,a=(e.plural,t.typeName,t.objectName,t.singleTypeCheck,Object.freeze({lambda:!0,TwineScript_TypeName:"a lambda",get TwineScript_ObjectName(){return'a "'+("making"in this?"making ... ":"")+("with"in this?"with ... ":"")+("where"in this?"where ... ":"")+("when"in this?"when ... ":"")+("via"in this?"via ... ":"")+'" lambda'},TwineScript_Print:function(){return"`[A lambda]`"},TwineScript_is:function(e){return e===this},TypeSignature:function(e){return{pattern:"lambda",innerType:a,clauses:e,typeName:'a "'+e.split().concat("").join(" ...")+'" lambda'}},create:function(e,t,i){var s=void 0;if(r.containsError(e))return e;if(a.isPrototypeOf(e)){if("when"===t||"when"in e)return r.create("syntax","A 'when' lambda cannot have any other clauses, such as '"+t+"'.");if(t in e&&("where"!==t||"true"!==e[t]))return r.create("syntax","This lambda has two '"+t+"' clauses.");s=e}else{if("when"===t&&void 0!==e)return r.create("syntax","A 'when' lambda shouldn't begin with a temporary variable (just use 'when' followed by the condition).");if(void 0!==e&&(!e||!e.varref||!n.isPrototypeOf(e.object)||e.propertyChain.length>1))return r.create("syntax","This lambda needs to start with a single temporary variable.");s=Object.create(this),s.loop=e?e.propertyChain[0]:""}s[t]=i;var c=[s.making,s.with,s.loop].filter(function(e,t,n){return e&&n.indexOf(o(e))!==t});return c.length?r.create("syntax","This lambda has two variables named '"+c[0]+"'.","Lambdas should have all-unique parameter names."):s},apply:function(e,t){var o=t.loop,a=t.with,s=t.making,c=t.fail,u=t.pass,l=t.ignoreVia,f=t.tempVariables;f=f||Object.create(e.stack.length?e.stack[0].tempVariables:n),[[this.loop,o],[this.with,a],[this.making,s]].forEach(function(e){var t=_slicedToArray(e,2),n=t[0],r=t[1];return n&&(f[n]=r)}),e.stack.unshift(Object.assign(Object.create(null),{tempVariables:f})),!o||this.with||this.making||this.when?e.eval("Operations").initialiseIt(r.create("operation","I can't use 'it', or an implied 'it', in "+this.TwineScript_ObjectName)):e.eval("Operations").initialiseIt(o);var p=!l&&this.via,d=e.eval("where"in this||"when"in this?"Operations.where("+(this.where||this.when)+","+(p||i(u))+","+i(c)+")":p||i(u));return e.stack.shift(),d},filter:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=void 0,a=t.reduce(function(t,a){if(o=r.containsError(t))return o;var s=n.apply(e,{loop:a,pass:!0,fail:!1,ignoreVia:!0,tempVariables:i});return(o=r.containsError(s))?o:t.concat(s?[a]:[])},[]);return(o=r.containsError(a))?o:a}}));return a}),define("macros",["jquery","utils/naturalsort","utils","utils/operationutils","datatypes/changercommand","datatypes/lambda","datatypes/hookset","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c){function u(e){return function(n){n=n.reduce(function(e,n){if(n&&!0===n.spreader){var r=n.value,i=c.containsError(r);if(i)return i;if(Array.isArray(r)||"string"==typeof r)for(var o=0;o<r.length;o++)e.push(r[o]);else r instanceof Set?e.push.apply(e,_toConsumableArray(Array.from(r).sort(t("en")))):e.push(c.create("operation","I can't spread out "+m(r)+", because it is not a string, dataset, or array."))}else e.push(n);return e},[]);var r=c.containsError(n);return r||e.apply(void 0,_toConsumableArray(n))}}function l(e,t,n){n=[].concat(n||[]),e="("+(Array.isArray(e)&&e.length>1?e[0]:e)+":)";var r=void 0;return r=n.length>0?"The "+e+" macro must only be given "+g(n.map(v))+(n.length>1?", in that order":"."):"The macro must not be given any data - just write "+e+".",function(i){for(var a=arguments.length,s=Array(a>1?a-1:0),u=1;u<a;u++)s[u-1]=arguments[u];for(var l=void 0,f=0,p=Math.max(s.length,n.length);f<p;f+=1){var y=function(t,i){var a=n[t],u=s[t];return t>=n.length&&!l?{v:c.create("datatype",s.length-n.length+" too many values were given to this "+e+" macro.",r)}:(a||(a=l),!a.innerType||"rest"!==a.pattern&&"zero or more"!==a.pattern||(l=a.innerType,"rest"===a.pattern&&(a=a.innerType)),b(u,a)?void 0:void 0===u?{v:c.create("datatype","The "+e+" macro needs "+h(n.length-t,"more value")+".",r)}:u&&u.TwineScript_Unstorable&&(a===w.TypeSignature.Any||a.innerType&&a.innerType===w.TypeSignature.Any)?{v:c.create("datatype",e+"'s "+d(t+1)+" value, "+m(u)+", is not valid data for this macro.",r)}:u&&o.isPrototypeOf(u)&&"lambda"===a.pattern?{v:c.create("datatype",e+"'s "+d(t+1)+" value (a lambda) should have "+g(["where","when","making","via","with"].filter(function(e){return a.clauses.includes(e)}).map(function(e){return"a '"+e+"' clause"}))+", not "+g(["where","when","making","via","with"].filter(function(e){return e in u}).map(function(e){return"a '"+e+"' clause"}))+".")}:{v:c.create("datatype",e+"'s "+d(t+1)+" value is "+m(u)+", but should be "+v(a)+".",a.message||r)})}(f);if("object"===(void 0===y?"undefined":_typeof(y)))return y.v}return t.apply(void 0,[i].concat(s))}}function f(e,t){Array.isArray(e)?e.forEach(function(e){return y(x,p(e),t)}):y(x,p(e),t)}var p=n.insensitiveName,d=n.nth,h=n.plural,g=n.andList,y=n.lockProperty,m=r.objectName,v=r.typeName,b=r.singleTypeCheck,w=void 0,x={},T=function(e,t,n,r){return function(){for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];o=o.slice(1);var c=t.apply(void 0,_toConsumableArray(o));if(c)return c;var u=s.create(),l=Object.assign({TwineScript_ObjectName:"a ("+e+":) command",TwineScript_TypeName:"a ("+e+":) command",TwineScript_Print:function(){return"`[A ("+e+":) command]`"}},r?{TwineScript_Attach:function(e){return e.run(u),l},TwineScript_Run:function(e){return n.apply(void 0,[u,e].concat(_toConsumableArray(o)))}}:{TwineScript_Run:function(e){return n.apply(void 0,[e].concat(_toConsumableArray(o)))}});return l}};return w={has:function(e){return e=p(e),x.hasOwnProperty(e)},get:function(e){return e=p(e),x.hasOwnProperty(e)&&x[e]},
add:function e(t,n,r){return f(t,u(l(t,n,r))),e},addChanger:function e(t,n,r,o){return f(t,u(l(t,n,o))),i.register(Array.isArray(t)?t[0]:t,r),e},addCommand:function e(t,n,r,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=[].concat(t)[0];return f(t,u(l(t,T(a,n,r,o),i))),e},TypeSignature:{optional:function(e){return{pattern:"optional",innerType:e}},zeroOrMore:function(e){return{pattern:"zero or more",innerType:e}},either:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{pattern:"either",innerType:t}},rest:function(e){return{pattern:"rest",innerType:e}},wrapped:function(e,t){return{pattern:"wrapped",innerType:e,message:t}},Any:{TwineScript_TypeName:"anything"}},run:function(e,t){return c.containsError(e)?e:w.has(e)?w.get(e)(t):c.create("macrocall","I can't run the macro '"+e+"' because it doesn't exist.","Did you mean to run a macro? If you have a word written like (this:), it is regarded as a macro name.")}},Object.freeze(w)}),define("datatypes/datatype",["datatypes/changercommand","datatypes/colour","datatypes/gradient"],function(e,t,n){var r=Object.freeze({datatype:!0,TwineScript_TypeName:"a datatype",TwineScript_Print:function(){return"`["+this.TwineScript_ObjectName+"]`"},TwineScript_is:function(e){return r.isPrototypeOf(e)&&e.name===this.name},TwineScript_Clone:function(){return r.create(this.name)},TwineScript_IsTypeOf:function(e){return this.name===(Array.isArray(e)?"array":e instanceof Map?"datamap":e instanceof Set?"dataset":t.isPrototypeOf(e)?"colour":n.isPrototypeOf(e)?"gradient":"string"==typeof e?"string":"number"==typeof e?"number":"boolean"==typeof e?"boolean":"unknown")},create:function(e){return e="dm"===e?"datamap":"ds"===e?"dataset":"num"===e?"number":"str"===e?"string":"color"===e?"colour":e,Object.assign(Object.create(this),{name:e,TwineScript_ObjectName:"the "+e+" datatype"})}});return r}),define("datatypes/varbind",["utils","utils/operationutils","internaltypes/varref","internaltypes/twineerror"],function(e,t,n,r){var i=t.objectName;return Object.freeze({TwineScript_TypeName:"a bound variable",TwineScript_ObjectName:"a bound variable",TwineScript_Unstorable:!0,set:function(e){var t=this.varRef.set(e),n=void 0;if(n=r.containsError(t))return n},create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"one way";return n.isPrototypeOf(e)||e.varref?Object.assign(Object.create(this),{varRef:e,bind:t}):r.create("operation","I can only 'bind' a variable, not "+i(e)+".")}})}),define("datatypes/assignmentrequest",["utils"],function(e){var t=e.assertMustHave;return Object.freeze({assignmentRequest:!0,TwineScript_TypeName:"a 'to' or 'into' expression",TwineScript_ObjectName:"a 'to' or 'into' expression",TwineScript_Unstorable:!0,create:function(e,n,r){return t(e,["varref"]),Object.assign(Object.create(this),{dest:e,src:n,operator:r})}})}),define("twinescript/operations",["jquery","state","datatypes/assignmentrequest","utils/operationutils","internaltypes/twineerror"],function(e,t,n,r,i){function o(e,t,n,r){return n=n||"do this to",function(o,a){1===t.length&&(a=o);var s=void 0;return(s=i.containsError(o,a))?s:(void 0===o?"undefined":_typeof(o))!==e||(void 0===a?"undefined":_typeof(a))!==e?i.create("operation","I can only "+n+" "+e+"s, not "+y((void 0===o?"undefined":_typeof(o))!==e?o:a)+".",r):t(o,a)}}function a(e){return function(t,n){var r=void 0;return(r=i.containsError(t,n))?r:t&&t.varref?i.create("operation","I can't give an expression a new value."):(void 0===t?"undefined":_typeof(t))!==(void 0===n?"undefined":_typeof(n))||c(t)&&"TwineScript_TypeName"in t&&c(n)&&"TwineScript_TypeName"in n&&t.TwineScript_TypeName!==n.TwineScript_TypeName||u(t)!==u(n)?i.create("operation",y(t)+" isn't the same type of data as "+y(n)):e(t,n)}}function s(e){return function t(n,r){var o=void 0;if(o=i.containsError(n,r))return o;if(v=n,n.determiner){var a="all"===n.determiner;return n.array.reduce(function(e,n){var o=void 0,s=t(n,r);return(o=i.containsError(e,s))?o:a?e&&s:e||s},a)}if(r.determiner){var s="all"===r.determiner;return r.array.reduce(function(e,r){var o=void 0,a=t(n,r);return(o=i.containsError(e,a))?o:s?e&&a:e||a},s)}return e(n,r)}}var c=r.isObject,u=r.collectionType,l=r.is,f=r.isA,p=r.clone,d=r.unique,h=r.contains,g=r.matches,y=(r.typeName,r.objectName),m=void 0,v=0,b="If one of these values is a number, you may want to write a check that it 'is not 0'. Also, if one is a string, you may want to write a check that it 'is not \"\" '.";return m={create:function(n){var r=Object.create(this);return r.Identifiers={TwineScript_Identifiers:!0,get it(){return v},get time(){return Date.now()-n.timestamp},get visits(){return t.pastPassageNames().filter(function(e){return e===t.passage}).length+1},get visit(){return r.Identifiers.visits},get exits(){return n.dom.find("tw-enchantment, tw-link").filter(function(t,n){return e(n).data("enchantmentEvent")||e(n).parent().data("linkPassageName")||e(n).parent().data("clickEvent")}).length},get exit(){return r.Identifiers.exits}},r},elidedComparisonOperator:function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return r.reduce(function(n,r){return"boolean"==typeof r?r:m[e](n,m[t](v,r))},"and"===e)},and:o("boolean",a(function(e,t){return e&&t}),"use 'and' to join",b),or:o("boolean",a(function(e,t){return e||t}),"use 'or' to join",b),not:o("boolean",function(e){return!e},"use 'not' to invert",b),"+":a(function(e,t){if(Array.isArray(e))return[].concat(_toConsumableArray(e),_toConsumableArray(t));var n=void 0;return e instanceof Map?(n=new Map(e),t.forEach(function(e,t){return n.set(t,e)}),n):e instanceof Set?new Set([].concat(_toConsumableArray(e),_toConsumableArray(t)).filter(d).map(p)):"function"==typeof e["TwineScript_+"]?e["TwineScript_+"](t):"string|number|boolean".includes(void 0===e?"undefined":_typeof(e))?e+t:i.create("operation","I can't use + on "+y(e)+".")}),"-":a(function(e,t){if(Array.isArray(e))return e.filter(function(e){return!t.some(function(t){return l(e,t)})});if(e instanceof Set){var n=[].concat(_toConsumableArray(t));return new Set([].concat(_toConsumableArray(e)).filter(function(e){return!n.some(function(t){return l(e,t)})}))}return"string"==typeof e?e.split(t).join(""):"number"==typeof e?e-t:i.create("operation","I can't use - on "+y(e)+".")}),"*":o("number",a(function(e,t){return e*t}),"multiply"),"/":o("number",a(function(e,t){return 0===t?i.create("operation","I can't divide "+y(e)+" by zero."):e/t}),"divide"),"%":o("number",a(function(e,t){return 0===t?i.create("operation","I can't modulo "+y(e)+" by zero."):e%t}),"modulus"),"<":s(o("number",a(function(e,t){return e<t}),"do < to")),">":s(o("number",a(function(e,t){return e>t}),"do > to")),"<=":s(o("number",a(function(e,t){return e<=t}),"do <= to")),">=":s(o("number",a(function(e,t){return e>=t}),"do >= to")),is:s(l),isNot:s(function(e,t){return!m.is(e,t)}),contains:s(h),isIn:s(function(e,t){return h(t,e)}),isA:s(f),isNotA:s(function(e,t){return!f(e,t)}),typifies:s(function(e,t){return f(t,e)}),untypifies:s(function(e,t){return!f(t,e)}),matches:s(g),where:function(e,t,n){var r=void 0;return(r=i.containsError(e))?r:"boolean"!=typeof e?i.create("operation","This lambda's 'where' clause must evaluate to true or false, not "+y(e)+"."):e?t:n},makeSpreader:function(e){return{value:e,spreader:!0}},makeAssignmentRequest:function(e,t,r){var o=i.containsError(e,t);return o||(c(e)&&"varref"in e?n.create(e,t,r):i.create("operation","I can't store a new value inside "+y(e)+"."))},setIt:function(e){return i.containsError(e)?e:e.varref?(v=e.get(),e):i.create("operation","I can't put a new value into "+y(e)+".")},initialiseIt:function(e){v=e}},Object.freeze(m)}),define("twinescript/environ",["macros","state","utils","datatypes/colour","datatypes/hookset","datatypes/lambda","datatypes/datatype","datatypes/varbind","internaltypes/varref","internaltypes/twineerror","twinescript/operations"],function(Macros,State,Utils,Colour,HookSet,Lambda,Datatype,VarBind,VarRef,TwineError,OperationsProto){return function(section){"object"===(void 0===section?"undefined":_typeof(section))&§ion||Utils.impossible("TwineScript.environ","no Section argument was given!");var Operations=OperationsProto.create(section);return section.eval=function(){try{for(var _len7=arguments.length,args=Array(_len7),_key7=0;_key7<_len7;_key7++)args[_key7]=arguments[_key7];return eval(args.join(""))}catch(e){return e}},section}}),define("internaltypes/twinenotifier",["jquery","utils"],function(e,t){var n=t.impossible,r={create:function(e){return e||n("TwineNotifier.create","called with only 1 string."),Object.assign(Object.create(r),{message:e})},render:function(){return e("<tw-notifier>").attr("message",this.message)}};return r}),define("section",["jquery","utils","utils/selectors","renderer","twinescript/environ","twinescript/operations","state","utils/operationutils","datatypes/changercommand","datatypes/hookset","datatypes/colour","internaltypes/changedescriptor","internaltypes/varscope","internaltypes/twineerror","internaltypes/twinenotifier"],function(e,t,n,r,i,o,a,s,c,u,l,f,p,d,h){function g(e,n,r){if(n&&"object"===(void 0===n?"undefined":_typeof(n))&&c.isPrototypeOf(n)){if(!this.renderInto(r.popAttr("source"),r,n)){var i=t.insensitiveName(e.attr("name"));if(["if","elseif","unless","else"].includes(i)&&(e.addClass("false"),"elseif"!==i&&(this.stack[0].lastHookShown=!1)),r.data("live")){var o=r.data("live"),a=o.delay,s=o.event;x.call(this,e,r,a,s)}return}}else{if(!1===n)return r.attr("source")&&r.data("hiddenSource",r.popAttr("source")),e.addClass("false"),void(this.stack[0].lastHookShown=!1);!0!==n&&e.replaceWith(d.create("datatype",S(n)+" cannot be attached to this hook.","Only Booleans, changer commands, and the (live:) macro can be attached to hooks.").render(e.attr("title")))}this.stack[0].lastHookShown=!0}function y(t){var n=t instanceof e?t[0]:t,r=n.nextSibling;if(r&&(r instanceof Text&&!r.textContent.trim()||"br"===(r.tagName||"").toLowerCase())){var i=y(r),o=i.whitespace,a=i.nextElem;return{whitespace:e(r).add(o),nextElem:a}}return{whitespace:e(),nextElem:e(r)}}function m(r){var i=this.eval(r.popAttr("js")||"");this.stackTop.evaluateOnly&&i&&(c.isPrototypeOf(i)||"function"==typeof i.TwineScript_Run)&&(i=d.create("syntax","I can't work out what this "+this.stackTop.evaluateOnly+" should evaluate to, because it contains a "+c.isPrototypeOf(i)?"changer":"command.","Please rewrite this without putting changers or commands here."));var a=void 0,s=void 0,u=e();for(s=r;c.isPrototypeOf(i);){var p=y(s);if(a=p.whitespace,s=p.nextElem,s[0]instanceof Text&&"+"===s[0].textContent.trim()){var m=void 0,v=s,b=y(v);if(m=b.whitespace,s=b.nextElem,s.is(n.expression)){var w=this.eval(s.popAttr("js"));if(d.containsError(w)){i=w;break}var x=o["+"](i,w);e(a).add(v).add(m).remove(),i=d.containsError(x)?d.create("operation","I can't combine "+S(i)+" with "+S(w)+".","function"==typeof w.TwineScript_Run?"If you want to attach this changer to "+S(w)+", remove the + between them.":"Changers can only be added to other changers."):x;continue}}if(s.is(n.expression)){var k=this.eval(s.popAttr("js"));if(d.containsError(k)){i=k;break}if(k&&"object"===(void 0===k?"undefined":_typeof(k))&&"function"==typeof k.TwineScript_Attach){i=k.TwineScript_Attach(i);break}return c.isPrototypeOf(k)?void r.replaceWith(d.create("operation","Changers like ("+i.macroName+":) need to be combined using + between them.","Place the + between the changer macros, or the variables holding them. The + is absent only between a changer and its attached hook or command.").render(r.attr("title"))):void r.replaceWith(d.create("operation",S(k)+" can't have changers like ("+i.macroName+":) attached.","Changers placed just before hooks, links and commands will attempt to attach, but in this case it didn't work.").render(r.attr("title")))}if(s.is(n.hook)){a.remove(),u=s;break}i.macroName||t.impossible("Section.runExpression","changer has no macroName");var O=r.attr("title")||"("+i.macroName+": ...)";return void r.replaceWith(d.create("syntax","The ("+i.macroName+":) changer should be stored in a variable or attached to a hook.","Macros like this should appear to the left of a hook: "+O+"[Some text]").render(r.attr("title")))}u=u.length?u:y(r).nextElem.filter(n.hook);var j=void 0;if(j=d.containsError(i))j instanceof Error&&(j=d.fromError(j)),r.replaceWith(j.render(r.attr("title"),r));else if(h.isPrototypeOf(i))r.append(i.render());else if(i&&"function"==typeof i.TwineScript_Run)if(i=i.TwineScript_Run(this),d.containsError(i))r.replaceWith(i.render(r.attr("title")));else if(f.isPrototypeOf(i)){if(i.data&&i.data.live)return void r.replaceWith(d.create("unimplemented","I currently can't attach (live:) or (event:) macros to commands - only hooks.").render(r.attr("title")));i.section=this,i.target=s,this.renderInto("",s,i)}else{if("blocked"===i)return void(this.stackTop.blocked=!0);i&&t.impossible("Section.runExpression","TwineScript_Run() returned a non-ChangeDescriptor "+(void 0===i?"undefined":_typeof(i))+': "'+i+'"')}else!u.length&&("string"==typeof i||"number"==typeof i||i instanceof Map||i instanceof Set||Array.isArray(i)||l.isPrototypeOf(i))||i&&"function"==typeof i.TwineScript_Print&&!c.isPrototypeOf(i)?(i=T(i),d.containsError(i)?(i instanceof Error&&(i=d.fromError(i)),r.replaceWith(i.render(r.attr("title")))):"string"!=typeof i?t.impossible("printBuiltinValue() produced a non-string "+(void 0===i?"undefined":_typeof(i))):this.renderInto(i,r)):u.length?g.call(this,r,i,u):c.isPrototypeOf(i)||"boolean"==typeof i||t.impossible("Section.runExpression","The expression evaluated to an unknown value: "+i.toSource())}function v(e){var t=e.first()[0],n=e.parent();if(!n.length)return null;var r=n.textNodes().filter(function(e){var n=e.compareDocumentPosition(t);return 4&n&&!(8&n)});return(r=r[r.length-1])||v(n)}function b(e){var t=e.last()[0],n=e.parent();if(!n.length)return null;var r=n.textNodes().filter(function(e){var n=e.compareDocumentPosition(t);return 2&n&&!(8&n)})[0];return r||b(n)}function w(t){function n(t){return 0===e(this||t).parentsUntil("tw-collapsed").filter("tw-verbatim, tw-expression, [collapsing=false]").length}var r=v(t);e(r).parents("tw-collapsed").length||(r=null);var i=b(t);e(i).parents("tw-collapsed").length||(i=null),t.findAndFilter("br:not([data-raw])").filter(n).replaceWith(document.createTextNode(" "));var o=t.textNodes(),a=0;o.reduce(function(e,t){return n(t)?(t.textContent=t.textContent.replace(/\s+/g," ")," "!==t.textContent[0]||e&&e.textContent&&!(e.textContent.search(/\s$/)>-1)||(t.textContent=t.textContent.slice(1)),t):document.createTextNode("A")},r),[].concat(_toConsumableArray(o)).reverse().every(function(e){return!!n(e)&&(e.textContent.match(/^\s*$/)?(a+=e.textContent.length,e.textContent="",!0):(e.textContent=e.textContent.replace(/\s+$/,function(e){return a+=e.length,""}),!1))}),a>0&&i&&(o[o.length-1].textContent+=" "),t[0]&&O()&&t[0].normalize()}function x(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:20,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;a&&t.assertMustHave(a,["when"]);var s=r.data("hiddenSource")||"",c=_slicedToArray(this.stack,1),u=c[0].tempVariables,l=this.whenUnblocked.bind(this,function(){if(i.inDOM()){var t=a&&a.filter(i,[!0],u);if(d.containsError(t))return void t.render(e.attr("title")).replaceAll(e);if(a&&!t[0])return void setTimeout(l,o);i.renderInto(s,r,{append:"replace"}),t||r.find(n.expression+"[name='stop']").length||i.inDOM()&&setTimeout(l,o)}});setTimeout(l,o)}var T=s.printBuiltinValue,S=s.objectName,k=void 0,O=function(){var t=void 0;return function(){if(void 0!==t)return t;var n=e("<p>");return n[0].normalize?(n.append(document.createTextNode("0-"),document.createTextNode("2"),document.createTextNode(""))[0].normalize(),t=1===n.contents().length):t=!1}}();return k={create:function(n){n instanceof e&&1===n.length||t.impossible("Section.create","called with no DOM element");var r=Object.assign(Object.create(this),{timestamp:Date.now(),dom:n||t.storyElement,stack:[],enchantments:[],unblockCallbacks:[]});return r=i(r)},get stackTop(){return this.stack[0]},inDOM:function(){return e(t.storyElement).find(this.dom).length>0},evaluateTwineMarkup:function(t,n){var r=e("<p>");this.stack.unshift({desc:f.create({target:r,source:t,section:this}),tempVariables:this.stackTop.tempVariables,evaluateOnly:n}),this.execute();var i=void 0;return(i=r.find("tw-error")).length>0?i:r},renderInto:function(t,r,i){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=f.create({target:r,source:t,section:this});if(i)if(c.isPrototypeOf(i)){var u=i.run(s);if(d.containsError(u))return u.render(r.attr("title")).replaceAll(r),!1}else Object.assign(s,i);if(r=s.target,this.stack.length>=50)return d.create("infinite","Printing this expression may have trapped me in an infinite loop.").render(r.attr("title")).replaceAll(r),!1;var l=function(t,i){var a=r instanceof e&&r.is(n.hook)&&r.parents("tw-collapsed").length>0;o.stack.unshift({desc:t,tempVariables:i,collapses:a,evaluateOnly:o.stackTop&&o.stackTop.evaluateOnly})};if(!a){a=Object.create(this.stack.length?this.stackTop.tempVariables:p);var h=r&&r.tag();a.TwineScript_VariableStoreName=h===n.hook?r.attr("name")?"?"+r.attr("name"):"an unnamed hook":h===n.expression?"a "+r.attr("type")+" expression":h===n.passage?"this passage":"an unknown scope"}return Object.keys(s.loopVars).length?function(){var e=Object.assign({},s.loopVars),t=Math.min.apply(Math,_toConsumableArray(Object.keys(e).map(function(t){return e[t].length})));if(t){for(var n=t-1;n>=0;n-=1)!function(t){l(s,Object.keys(e).reduce(function(n,r){return n[r]=e[r][t],n},Object.create(a)))}(n);for(var n=t-1;n>=0&&!o.stackTop.blocked;n-=1)o.execute()}}():(l(s,a),this.execute()),0===this.stack.length&&this.updateEnchantments(),s.enabled},execute:function(){var r=_slicedToArray(this.stack,1),i=r[0],o=i.desc,a=i.dom,s=i.collapses,c=i.evaluateOnly;o&&!a&&(a=o.render(),this.stackTop.dom=a,this.stackTop.desc=void 0);var u=this;a.findAndFilter(n.hook+","+n.expression).each(function(){var r=e(this);switch(r.tag()){case n.hook:r.attr("hidden")&&(r.removeAttr("hidden"),r.data("hiddenSource",r.popAttr("source"))),r.attr("source")&&u.renderInto(r.popAttr("source"),r);break;case n.expression:if(r.attr("blockers")){if(c)return void r.removeAttr("blockers").removeAttr("js").replaceWith(d.create("syntax","I can't use a macro like (prompt:) or (confirm:) in "+c+".","Please rewrite this without putting such macros here.").render(r.attr("title"),r));var i=[];try{i=JSON.parse(r.popAttr("blockers")),r.data("blockers",i)}catch(e){t.impossible("Section.execute","JSON.parse blockers failed.")}}if(r.data("blockers")){var o=r.data("blockers");if(o.length){u.stackTop.blocked=!0;var a=u.eval(o.shift());return d.containsError(a)&&(u.stackTop.blocked=!1,r.removeData("blockers").replaceWith(a.render(r.attr("title"),r))),!1}r.removeData("blockers")}if(r.attr("js")&&m.call(u,r),u.stackTop.blocked)return!1}}),u.stackTop.blocked||(a.length&&s&&w(a),a.findAndFilter(n.collapsed).each(function(){w(e(this))}),this.stack.shift())},updateEnchantments:function(){this.enchantments.forEach(function(e){e.disenchant(),e.enchantScope()})},unblock:function(e){for(this.stack.length||t.impossible("Section.unblock","stack is empty"),this.stackTop.blocked=!1,void 0!==e&&(this.stackTop.blockedValues=(this.stackTop.blockedValues||[]).concat(e));this.stack.length&&!this.stackTop.blocked;)this.execute();if(!this.stack.length)for(;this.unblockCallbacks.length>0;){var n=this.unblockCallbacks.shift();if(n(),this.stackTop.blocked)return}},whenUnblocked:function(e){if(!this.stack.length||!this.stackTop.blocked)return void e();this.unblockCallbacks=this.unblockCallbacks.concat(e)},blockedValue:function(){var e=this.stackTop;return e||t.impossible("Section.blockedValue","stack is empty"),e.blockedValues&&e.blockedValues.length||t.impossible("Section.blockedValue","blockedValues is missing or empty"),e.blockedValues.shift()}},Object.preventExtensions(k)}),define("engine",["jquery","utils","utils/selectors","state","section","passages"],function(e,t,n,r,i,o){function a(){var t=e("<tw-passage><tw-sidebar>"),i=t.children(n.sidebar);h.permalink&&r.save&&i.append('<tw-icon tabindex=0 class="permalink" title="Permanent link to this passage"><a href="#'+r.save()+'">§');var o=e('<tw-icon tabindex=0 class="undo" title="Undo">↶</tw-icon>').click(function(){return d.goBack()}),a=e('<tw-icon tabindex=0 class="redo" title="Redo">↷</tw-icon>').click(function(){return d.goForward()});return r.pastLength<=0&&o.css("visibility","hidden"),r.futureLength<=0&&a.css("visibility","hidden"),i.append(o).append(a),t}function s(e,t){return"<tw-include type="+e+" title='"+u(t.get("name"))+"'>"+t.get("source")+"</tw-include>"}function c(c){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.assertOnlyHas(u,["stretch","transitionIn","transitionOut","transitionTime"]);var d=o.get(c),g=t.storyElement,y=g.parent(),m=u.stretch,v=u.transitionOut,b=u.transitionIn,w=u.transitionTime;if(v=v||"instant",b=b||"dissolve",y.is(n.enchantment)){var x=y.data("enchantedProperties");x&&g.css(x.reduce(function(e,t){return e[t]="",e},{})),y=g.unwrap().parent()}o.hasValid(c)||l("Engine.showPassage","There's no passage with the name \""+c+'"!'),g.detach();var T=t.$(g.children(f));!m&&v&&(p(T,v,w),T.css("position","absolute"));var S=(d.get("tags")||[]).join(" "),k=a().appendTo(g).attr({tags:S});g.attr({tags:S});var O=i.create(k),j=d.get("source");j=o.getTagged("header").map(s.bind(0,"header")).join("")+(h.debug?o.getTagged("debug-header").map(s.bind(0,"debug-header")).join(""):"")+j+o.getTagged("footer").map(s.bind(0,"footer")).join("")+(h.debug?o.getTagged("debug-footer").map(s.bind(0,"debug-footer")).join(""):""),r.pastLength<=0&&(h.debug&&(j=o.getTagged("debug-startup").map(s.bind(0,"debug-startup")).join("")+j),j=o.getTagged("startup").map(s.bind(0,"startup")).join("")+j),O.renderInto(j,k,{transition:b,transitionTime:w}),y.append(g.parents().length?g.parents().last():g),scroll(0,m?k.offset().top-.05*e(window).height():g.offset().top)}var u=t.escape,l=t.impossible,f=t.passageSelector,p=t.transitionOut,d=void 0,h=Object.create(null);return d={goBack:function(e){r.rewind()&&c(r.passage,e)},goForward:function(e){r.fastForward()&&c(r.passage,e)},goToPassage:function(e,t){r.play(e),c(e,t)},showPassage:c,options:h},Object.freeze(d)}),define("debugmode",["jquery","utils","state","internaltypes/varref","internaltypes/twineerror","utils/operationutils","engine","passages"],function(e,t,n,r,i,o,a,s){var c=o.objectName,u=(o.typeName,o.is),l=o.isObject;return function(){function o(){var e=y.children();d.find(".tab-variables").text(e.length+" Variable"+(1!==e.length?"s":""))}function f(n,r,i,a){var s=y.children('[data-name="'+t.escape(n+"")+'"][data-path="'+t.escape(r+"")+'"]'),u=l(i)&&i.TwineScript_DebugName?i.TwineScript_DebugName():t.escape(c(i));s.length||(s=e('<div class="variable-row" data-name="'+t.escape(n+"")+'" data-path="'+t.escape(r+"")+'" data-value="'+u+'"></div>').appendTo(y));var p="";r.length&&(p=r.reduce(function(e,t){return e+t+"'s "},"")),s.empty().append("<span class='variable-name "+(p?"":a?"temporary":"global")+"'>"+(p?"<span class='variable-path "+(a?"temporary":"global")+"'>"+t.escape(p)+"</span> ":"")+t.escape(n+"")+(a?"<span class='temporary-variable-scope'>"+a+"</span>":"")+"</span><span class='variable-value'>"+u+"</span>").css("padding-left",Math.min(5,r.length)+"em").appendTo(y),o(),Array.isArray(i)?i.forEach(function(e,i){return f(t.nth(i+1),r.concat(n),e,a)}):i instanceof Map?[].concat(_toConsumableArray(i)).forEach(function(e){var t=_slicedToArray(e,2),i=t[0],o=t[1];return f(i,r.concat(n),o,a)}):i instanceof Set&&[].concat(_toConsumableArray(i)).forEach(function(e){return f("???",r.concat(n),e,a)})}function p(){var t=[];y.children().each(function(r,i){i=e(i);var a=i.attr("data-name"),s=i.attr("data-path"),c=i.attr("data-value");s||a.startsWith("TwineScript")||(a in n.variables?(t.push(a),u(n.variables[a],c)||f(a,[],n.variables[a])):(i.remove(),o()))});for(var r in n.variables)r.startsWith("TwineScript")||t.includes(r)||f(r,[],n.variables[r]);d.find(".panel-source").text(s.get(n.passage).get("source"))}var d=e("<tw-debugger>\n\t\t<div class='panel panel-variables'></div>\n\t\t<div class='panel panel-errors' hidden><table></table></div>\n\t\t<div class='panel panel-source' hidden></div>\n\t\t<div class='tabs'>\n\t\t<button class='tab tab-variables enabled'>0 Variables</button> <button class='tab tab-errors'>0 Errors</button> <button class='tab tab-source'>Source</button>\n\t\t</div>\n\t\tTurns: <select class='turns' disabled></select><button class='show-invisibles'>Debug View</button></tw-debugger>"),h=d.find(".show-invisibles");h.click(function(){e(document.documentElement).toggleClass("debug-mode"),h.toggleClass("enabled")}),["variables","source","errors"].forEach(function(e){var t=d.find(".tab-"+e),n=d.find(".panel-"+e);t.click(function(){t.toggleClass("enabled"),d.find(".tab:not(.tab-"+e+")").removeClass("enabled"),d.find(".panel").attr("hidden",""),t.is(".enabled")&&n.removeAttr("hidden")})});var g=d.find(".turns");g.change(function(e){var t=e.target.value,r=t-n.pastLength;0!==r&&(n[r<0?"rewind":"fastForward"](Math.abs(r)),a.showPassage(n.passage))}),n.on("forward",function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=n.pastLength;i>1&&g.removeAttr("disabled"),r?(g.find("[selected]").removeAttr("selected"),g.val(i)):(g.children().each(function(t,n){t>=i&&e(n).remove()}),g.append("<option value="+i+">"+(i+1)+": "+t+"</option>").val(i))}).on("back",function(){n.pastLength<=1&&g.attr("disabled"),g.find("[selected]").removeAttr("selected"),g.val(n.pastLength)}).on("load",function(e){g.empty(),g[e.length<=1?"attr":"removeAttr"]("disabled"),e.forEach(function(e,t){return g.append("<option value="+t+">"+(t+1)+": "+e.passage+"</option>")})});var y=d.find(".panel-variables");n.on("forward",p).on("back",p),n.on("load",function(){return e(".panel-variables").empty()}),r.on("set",function(e,t,r){(e===n.variables||e.TwineScript_VariableStore)&&f(t,[],r,e===n.variables?"":e.TwineScript_VariableStoreName)}).on("delete",function(e,t){e===n.variables&&y.find('[data-name="'+t+'"]:not(.temporary)').remove()}),i.on("error",function(t,r){var i=e('<tr class="error-row"><td class="error-passage">'+n.passage+'</td><td class="error-message">'+t.message+"</td></tr>");i.find(".error-message").attr("title",r);var o=d.find(".panel-errors table"),a=o.children().length+1;a>500&&o.children(":first-child").remove(),o.append(i),d.find(".tab-errors").text(a+" Error"+(1!==a?"s":""))}),e(document.body).append(d)}}),define("utils/dialog",["jquery","renderer"],function(e,t){function n(n,r,i,o){var a=e(t.exec("<tw-backdrop><tw-dialog>\n"+(r||""===r?"=><=\n<input type=text></input>\n\n=><=\n":"")+"==>\n"+(o?"|||=\n<tw-link tabindex=0>OK</tw-link>\n=|\n<tw-link tabindex=0>Cancel</tw-link>":"\n<tw-link tabindex=0>OK</tw-link>")+"</tw-dialog></tw-backdrop>"));return a.find("tw-dialog").prepend(t.exec(n)),r&&a.find("input").last().val(r),a.find("tw-link").last().on("click",function(){a.remove(),i()}),o&&e(a.find("tw-link").get(-2)).on("click",function(){a.remove(),o()}),a}return n}),define("macrolib/values",["macros","utils","utils/operationutils","datatypes/colour","datatypes/gradient","internaltypes/twineerror"],function(e,t,n,r,i,o){function a(e){return function(){var t=e.apply(void 0,arguments);return"number"!=typeof t||isNaN(t)?o.create("macrocall","This mathematical expression doesn't compute!"):t}}var s=t.realWhitespace,c=t.nth,u=t.anyRealLetter,l=n.subset,f=n.objectName,p=n.clone,d=e.TypeSignature,h=d.rest,g=d.zeroOrMore,y=d.either,m=d.optional,v=d.Any;e.add(["text","string","str"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.join("")},[g(e.TypeSignature.either(String,Number,Boolean,Array))])("substring",function(e,t,n,r){return l(t,n,r)},[String,parseInt,parseInt])("lowercase",function(e,t){return t.toLowerCase()},[String])("uppercase",function(e,t){return t.toUpperCase()},[String])("lowerfirst",function(e,t){return t.replace(new RegExp(u+"+"),function(e){return e=Array.from(e),e[0].toLowerCase()+e.slice(1).join("").toLowerCase()})},[String])("upperfirst",function(e,t){return t.replace(new RegExp(u+"+"),function(e){return e=Array.from(e),e[0].toUpperCase()+e.slice(1).join("").toLowerCase()})},[String])("words",function(e,t){return t.split(new RegExp(s+"+")).filter(Boolean)},[String])(["str-repeated","string-repeated"],function(e,t,n){return t<=0?o.create("macrocall","I can't repeat this string "+t+" times."):0===n.length?o.create("macrocall","I can't repeat an empty string."):n.repeat(t)},[parseInt,String])(["str-reversed","string-reversed"],function(e,t){return[].concat(_toConsumableArray(t)).reverse().join("")},[String])(["num","number"],function(e,t){return Number.isNaN(+t)?o.create("macrocall","I couldn't convert "+f(t)+" to a number."):+t},[String])(["rgb","rgba"],function(e){for(var t,n=0;n<3;n+=1)if((t=arguments.length<=n+1?void 0:arguments[n+1])<0||t>255)return o.create("macrocall","RGB values must be whole numbers between 0 and 255, not "+f(t)+".");return(arguments.length<=4?void 0:arguments[4])<0||(arguments.length<=4?void 0:arguments[4])>1?o.create("macrocall","Alpha values must be numbers between 0 and 1 inclusive, not "+f(arguments.length<=4?void 0:arguments[4])+"."):r.create({r:arguments.length<=1?void 0:arguments[1],g:arguments.length<=2?void 0:arguments[2],b:arguments.length<=3?void 0:arguments[3],a:arguments.length<=4?void 0:arguments[4]})},[parseInt,parseInt,parseInt,m(Number)])(["hsl","hsla"],function(e,t,n,i,a){var s=" values must be numbers between 0 and 1 inclusive, not ";return n<0||n>1?o.create("macrocall","Saturation"+s+f(n)+"."):i<0||i>1?o.create("macrocall","Lightness"+s+f(i)+"."):a<0||a>1?o.create("macrocall","Alpha"+s+f(i)+"."):(t=Math.round(t)%360,t<0&&(t+=360),r.create({h:t,s:n,l:i,a:a}))},[Number,Number,Number,m(Number)])(["gradient"],function(e,t){for(var n=arguments.length,a=Array(n>2?n-2:0),s=2;s<n;s++)a[s-2]=arguments[s];if("number"!=typeof t)return o.create("datatype","(gradient:)'s first argument should be a number of degrees, not "+f(t)+".");if(t=Math.round(t)%360,t<0&&(t+=360),a.length<4)return o.create("datatype","(gradient:) must be given at least 2 colour-stop pairs of numbers and colours.");var c=void 0,u=[],l=a.reduce(function(e,t){if(o.containsError(e))return e;if(void 0===c)c=t;else{if("number"!=typeof c||c<0||c>1)return r.isPrototypeOf(c)?o.create("datatype","(gradient:) colour-stops should be pairs of numbers and colours, not colours and numbers."):o.create("datatype","(gradient:) colour-stop percents should be fractional numbers between 0 and 1, not "+f(c)+".");if(!r.isPrototypeOf(t))return"string"==typeof t&&t.startsWith("#")?o.create("datatype",'HTML hex colours should be given to (gradient:) as bare colour values like #808080, not strings like "'+t+'".'):o.create("datatype","(gradient:) colours should be built-in colours, HTML hex colours, or colours produced by (rgb:), (rgba:), (hsl:) or (hsla:), not "+f(c)+".");u.push({stop:c,colour:p(t)}),c=void 0}return e},!0);return o.containsError(l)?l:void 0!==c?o.create("macrocall","This gradient has a colour-stop percent without a colour."):i.create(t,u)},[Number,h(y(Number,r))])("cond",function(e){for(var t=0;t<(arguments.length<=1?0:arguments.length-1);t+=2){var n=arguments.length<=t+1?void 0:arguments[t+1];if(t===(arguments.length<=1?0:arguments.length-1)-1||o.containsError(n))return n;if("boolean"!=typeof n)return o.create("datatype","(cond:)'s "+c(t+1)+" value is "+f(n)+", but should be a boolean.");if(n)return arguments.length<=t+1+1?void 0:arguments[t+1+1]}
return o.create("macrocall","An odd number of values must be given to (cond:), not "+(arguments.length<=1?0:arguments.length-1),"(cond:) must be given one or more pairs of booleans and values, as well as one final value.")},[Boolean,v,h(v)]),{weekday:[function(){return["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date).getDay()]+"day"},null],monthday:[function(){return(new Date).getDate()},null],currenttime:[function(){var e=new Date,t=e.getHours()<12;return(e.getHours()%12||12)+":"+(e.getMinutes()<10?"0":"")+e.getMinutes()+" "+(t?"A":"P")+"M"},null],currentdate:[function(){return(new Date).toDateString()},null],min:[Math.min,h(Number)],max:[Math.max,h(Number)],abs:[Math.abs,Number],sign:[Math.sign,Number],sin:[Math.sin,Number],cos:[Math.cos,Number],tan:[Math.tan,Number],floor:[Math.floor,Number],round:[Math.round,Number],ceil:[Math.ceil,Number],pow:[a(Math.pow),[Number,Number]],exp:[Math.exp,Number],sqrt:[a(Math.sqrt),Number],log:[a(Math.log),Number],log10:[a(Math.log10),Number],log2:[a(Math.log2),Number],random:[function(e,t){var n=void 0,r=void 0;return t?(n=Math.min(e,t),r=Math.max(e,t)):(n=0,r=e),r+=1,~~(Math.random()*(r-n))+n},[parseInt,e.TypeSignature.optional(parseInt)]],either:[function(){var e;return e=~~(Math.random()*arguments.length),arguments.length<=e?void 0:arguments[e]},h(v)],nth:[function(e){var t;return e<=0?o.create("datatype","(nth:)'s first value should be a positive whole number, not "+e):(t=(e-1)%(arguments.length<=1?0:arguments.length-1)+1,arguments.length<=t?void 0:arguments[t])},[parseInt,h(v)]],"":function(){var t=this;Object.keys(this).forEach(function(n){if(n){var r=t[n][0],i=t[n][1];e.add(n,function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return r.apply(void 0,n)},i)}})}}[""]()}),function(e){!function(){if(!e.requestAnimationFrame){if(e.webkitRequestAnimationFrame)return e.requestAnimationFrame=e.webkitRequestAnimationFrame,void(e.cancelAnimationFrame=e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame);var t=0;e.requestAnimationFrame=function(n){var r=(new Date).getTime(),i=Math.max(0,16-(r-t)),o=e.setTimeout(function(){n(r+i)},i);return t=r+i,o},e.cancelAnimationFrame=function(e){clearTimeout(e)}}}(),"function"==typeof define&&define("requestAnimationFrame",[],function(){return e.requestAnimationFrame})}(window),define("macrolib/commands",["jquery","requestAnimationFrame","macros","utils","utils/selectors","state","passages","renderer","engine","internaltypes/twineerror","datatypes/hookset","datatypes/varbind","utils/operationutils","utils/dialog"],function(e,t,n,r,i,o,a,s,c,u,l,f,p,d){function h(e){return"("+e+" "+c.options.ifid+") "}var g=p.printBuiltinValue,y=n.TypeSignature,m=y.Any,v=y.rest,b=y.either,w=y.optional,x=Object.assign;n.addCommand("display",function(e){if(!a.hasValid(e))return u.create("macrocall","I can't (display:) the passage '"+e+"' because it doesn't exist.")},function(e,t,n){return x(e,{source:r.unescape(a.get(n).get("source"))})},[String])("print",function(){},function(e,t,n){return x(e,{source:g(n)})},[m])("go-to",function(e){if(!a.hasValid(e))return u.create("macrocall","I can't (go-to:) the passage '"+e+"' because it doesn't exist.")},function(e,n,r){return t(function(){return c.goToPassage(r,{transitionOut:e.data.t8nDepart,transitionIn:e.data.t8nArrive})}),"blocked"},[String])("undo",function(){},function(e){return o.pastLength<1?u.create("macrocall","I can't (undo:) on the first turn."):(t(function(){return c.goBack({transitionOut:e.data.t8nDepart,transitionIn:e.data.t8nArrive})}),"blocked")},[])("cycling-link",function(){if(""===(arguments.length<=0?void 0:arguments[0]))return u.create("macrocall","The first string in a (cycling-link:) can't be empty.");if(arguments.length<=(f.isPrototypeOf(arguments.length<=0?void 0:arguments[0])?2:1)){var e;return u.create("macrocall","I need two or more strings to cycle through, not just '"+(e=arguments.length-1,arguments.length<=e?void 0:arguments[e])+"'.")}},function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];var o=void 0;f.isPrototypeOf(r[0])&&(o=r.shift());var a=0,s=_slicedToArray(t.stack,1),c=s[0].tempVariables;e.data.clickEvent=function(t){a=(a+1)%r.length;var n=""===r[a]?"":"<tw-link>"+r[a]+"</tw-link>";if(o){var i=o.set(r[a]);if(u.containsError(i))return void t.replaceWith(i.render(r[a]))}var s=x({},e,{source:n,transitionDeferred:!1});e.section.renderInto("",null,s,c)};var l="<tw-link>"+r[0]+"</tw-link>";if(o){var p=o.set(r[a]);if(u.containsError(p))return p}return x(e,{source:l,append:"replace",transitionDeferred:!0})},[b(f,String),v(String)]),r.onStartup(function(){return e(r.storyElement).on("change.dropdown-macro","select",function(){var t=e(this),n=t.closest("tw-expression, tw-hook").data("dropdownEvent");n&&n(t)})}),n.addCommand("dropdown",function(e){var t;return""===(arguments.length<=1?void 0:arguments[1])||""===(t=(arguments.length<=1?0:arguments.length-1)-1+1,arguments.length<=t?void 0:arguments[t])?u.create("macrocall","The first or last strings in a (dropdown:) can't be empty.","Because empty strings create separators within (dropdown:)s, having them at the start or end doesn't make sense."):(arguments.length<=1?0:arguments.length-1)<=1?u.create("macrocall","I need two or more strings to create a (dropdown:) menu, not just "+(arguments.length<=1?0:arguments.length-1)+"."):void 0},function(e,t,n){for(var r=arguments.length,i=Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];var a=Math.max.apply(Math,_toConsumableArray(i.map(function(e){return[].concat(_toConsumableArray(e)).length}))),s="<select>"+i.map(function(e,t){return"<option"+(0===t?" selected":"")+(""===e?" disabled":"")+">"+(e||"\u2500".repeat(a))+"</option>"}).join("\n")+"</select>";e.data.dropdownEvent=function(e){var t=e.val(),r=n.set(t);if(u.containsError(r))return void e.replaceWith(r.render(t))};var c=n.set(i[0]);return u.containsError(c)?c:x(e,{source:s,append:"replace"})},[f,String,v(String)])("show",function(){},function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return r.forEach(function(n){return n.forEach(t,function(n){var r=n.data("hiddenSource");void 0!==r&&(t.renderInto("",null,x({},e,{source:r,target:n})),n.removeData("hiddenSource"))})}),e},[v(l)])("stop",function(){},function(){},[],!1)("load-game",function(){},function(e,n){var i=localStorage.getItem(h("Saved Game")+n);if(!i)return u.create("saving","I can't find a save slot named '"+n+"'!");var a=o.deserialise(i);if(a instanceof Error){var s=d("Sorry to interrupt... The story tried to load saved data, but there was a problem.\n"+a.message+"\n\nThat data might have been saved from a different version of this story. Should I delete it?\n(Type 'delete' and choose OK to delete it.)\n\nEither way, the story will now continue without loading the data.","",function(){e.unblock()},function(){"delete"===s.find("input").last().val()&&localStorage.removeItem(h("Saved Game")+n),e.unblock()});return r.storyElement.append(s),"blocked"}t(c.showPassage.bind(c,o.passage,!1))},[String],!1)("alert",function(){},function(e,t){r.storyElement.append(d(t,!1,function(){return e.unblock()})),e.stackTop.blocked=!0},[String],!1)("open-url",function(){},function(e,t){window.open(t,"")},[String],!1)("reload",function(){},function(){if(o.pastLength<1)return u.create("infinite","I mustn't (reload:) the page in the starting passage.");o.hasSessionStorage&&sessionStorage.removeItem("Saved Session"),window.location.reload()},[],!1)("goto-url",function(){},function(e,t){window.location.assign(t)},[String],!1),n.add("save-game",function(e,t,n){if(n=n||"",!o.hasStorage)return!1;var r=o.serialise();if(u.containsError(r))return r;if(!1===r)return!1;try{return localStorage.setItem(h("Saved Game")+t,r),localStorage.setItem(h("Saved Game Filename")+t,n),!0}catch(e){return!1}},[String,w(String)])("prompt",function(e,t,n){var i=d(t,n,function(){e.unblock(n)},function(){e.unblock(i.find("input").last().val())});r.storyElement.append(i)},[String,String])("confirm",function(e,t){r.storyElement.append(d(t,!1,function(){return e.unblock(!1)},function(){return e.unblock(!0)}))},[String])("page-url",function(){return window.location.href},[]),s.options.blockerMacros.push("prompt","confirm")}),define("macrolib/datastructures",["jquery","utils/naturalsort","macros","utils/operationutils","state","engine","passages","datatypes/lambda","datatypes/assignmentrequest","internaltypes/twineerror","internaltypes/twinenotifier"],function(e,t,n,r,i,o,a,s,c,u,l){var f=r.objectName,p=(r.typeName,r.subset),d=r.collectionType,h=r.isValidDatamapName,g=r.is,y=r.unique,m=r.clone,v=r.range,b=n.TypeSignature,w=b.optional,x=b.rest,T=b.either,S=b.zeroOrMore,k=b.Any;n.add("set",function(e){for(var t="",n=0;n<(arguments.length<=1?0:arguments.length-1);n+=1){var r=arguments.length<=n+1?void 0:arguments[n+1];if("into"===r.operator)return u.create("macrocall","Please say 'to' when using the (set:) macro.");var i=void 0;if(r.src&&r.src.varref){var a=r.src.get(),s=void 0;if(s=u.containsError(a))return s;i=r.dest.set(a)}else i=r.dest.set(r.src);if(u.isPrototypeOf(i))return i;o.options.debug&&(t+=(t?"; ":"")+f(r.dest)+" is now "+f(r.src))}return{TwineScript_TypeName:"a (set:) operation",TwineScript_ObjectName:"a (set:) operation",TwineScript_Unstorable:!0,TwineScript_Print:function(){return t&&l.create(t).render()[0].outerHTML}}},[x(c)])("put",function(e){for(var t="",n=0;n<(arguments.length<=1?0:arguments.length-1);n+=1){var r=arguments.length<=n+1?void 0:arguments[n+1];if("into"!==r.operator)return u.create("macrocall","Please say 'into' when using the (put:) macro.");var i=r.dest.set(r.src);if(u.isPrototypeOf(i))return i;o.options.debug&&(t+=(t?"; ":"")+f(r.dest)+" is now "+f(r.src))}return{TwineScript_TypeName:"a (put:) operation",TwineScript_ObjectName:"a (put:) operation",TwineScript_Unstorable:!0,TwineScript_Print:function(){return t&&l.create(t).render()[0].outerHTML}}},[x(c)])("move",function(e){for(var t="",n=0;n<(arguments.length<=1?0:arguments.length-1);n+=1){var r=arguments.length<=n+1?void 0:arguments[n+1];if("into"!==r.operator)return u.create("macrocall","Please say 'into' when using the (move:) macro.");var i=void 0,a=void 0;if(r.src&&r.src.varref){var s=r.src.get();if(a=u.containsError(s))return a;if(i=r.dest.set(s),a=u.containsError(i))return a;r.src.delete()}else if(i=r.dest.set(r.src),a=u.containsError(i))return a;o.options.debug&&(t+=(t?"; ":"")+f(r.dest)+" is now "+f(r.src))}return{TwineScript_TypeName:"a (move:) operation",TwineScript_ObjectName:"a (move:) operation",TwineScript_Unstorable:!0,TwineScript_Print:function(){return t&&l.create(t).render()[0].outerHTML}}},[x(c)])(["a","array"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n},S(k))("range",function(e,t,n){return v(t,n)},[parseInt,parseInt])("subarray",function(e,t,n,r){return p(t,n,r)},[Array,parseInt,parseInt])("reversed",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reverse().map(m)},S(k))("shuffled",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce(function(e,t,n){var r=Math.random()*(n+1)|0;return r===n?e.push(t):(e.push(e[r]),e[r]=t),e},[]).map(m)},[k,x(k)])("sorted",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.sort(t("en"))},[T(Number,String),x(T(Number,String))])("rotated",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return t*=-1,0===t?u.create("macrocall","I can't rotate these values by 0 positions."):Math.abs(t)>=r.length?u.create("macrocall","I can't rotate these "+r.length+" values by "+t+" positions."):r.slice(t).concat(r.slice(0,t)).map(m)},[parseInt,k,x(k)])("repeated",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];if(t<=0)return u.create("macrocall","I can't repeat these values "+t+" times.");for(var o=[];t-- >0;)o.push.apply(o,r);return o.map(m)},[parseInt,x(k)])("interlaced",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var i=Math.min.apply(Math,_toConsumableArray(n.map(function(e){return e.length}))),o=[],a=0;a<i;a+=1)for(var s=0;s<n.length;s+=1)o.push(m(n[s][a]));return o},[Array,x(Array)]),n.add("altered",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return r.map(function(n){return t.apply(e,{loop:n})})},[s.TypeSignature("via"),S(k)])("find",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return t.filter(e,r)},[s.TypeSignature("where"),S(k)])("all-pass",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];var o=t.filter(e,r);return u.containsError(o)||o.length===r.length},[s.TypeSignature("where"),S(k)])("some-pass",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];var o=t.filter(e,r);return u.containsError(o)||o.length>0},[s.TypeSignature("where"),S(k)])("none-pass",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];var o=t.filter(e,r);return u.containsError(o)||0===o.length},[s.TypeSignature("where"),S(k)])("folded",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return"where"in t&&(r=t.filter(e,r)),u.containsError(r)||r.reduce(function(n,r){return t.apply(e,{making:n,loop:r})})},[T(s.TypeSignature("where via making"),s.TypeSignature("via making")),x(k)]),n.add("datanames",function(e,n){return Array.from(n.keys()).sort(t("en"))},[Map])("datavalues",function(e,n){return Array.from(n.entries()).sort(t("en",function(e){return String(e[0])})).map(function(e){return m(e[1])})},[Map])("dataentries",function(e,n){return Array.from(n.entries()).sort(function(e,n){return[e[0],n[0]].sort(t("en"))[0]===e[0]?-1:1}).map(function(e){return new Map([["name",e[0]],["value",m(e[1])]])})},[Map])("history",function(e,t){if(!t)return i.pastPassageNames();var n=t.filter(e,i.pastPassageNames().map(function(e){return a.get(e)}));return u.containsError(n)?n:n.map(function(e){return e.get("name")})},[w(s.TypeSignature("where"))])("passage",function(e,t){return u.containsError(t)?t:m(a.get(t||i.passage))||u.create("macrocall","There's no passage named '"+t+"' in this story.")},[w(String)])("passages",function(e,n){if(u.containsError(n))return n;var r=t("en"),i=[].concat(_toConsumableArray(a.values())),o=n?n.filter(e,i):i,s=u.containsError(o);return s||o.sort(function(e,t){return r(e.get("name"),t.get("name"))})},[w(s.TypeSignature("where"))])("savedgames",function(){function e(e){return"("+e+" "+o.options.ifid+") "}var t=0,n=void 0,r=new Map;do{if(!i.hasStorage)break;n=localStorage.key(t),t+=1;var a=e("Saved Game");n&&n.startsWith(a)&&(n=n.slice(a.length),r.set(n,localStorage.getItem(e("Saved Game Filename")+n)))}while(n);return r},[])(["datamap","dm"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=void 0,o=new Map,a=n.reduce(function(e,t){var n=void 0;if(u.containsError(e))return e;if(void 0===i)i=t;else{if(n=u.containsError(h(o,i)))return n;if(o.has(i))return u.create("macrocall","You used the same data name ("+f(i)+") twice in the same (datamap:) call.");o.set(i,m(t)),i=void 0}return e},!0);return u.containsError(a)?a:void 0!==i?u.create("macrocall","This datamap has a data name without a value."):o},S(k))(["dataset","ds"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new Set(n.filter(y).map(m))},S(k))("count",function e(t,n){for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];if(i.length>1){var a=void 0,s=i.map(function(r){return e(t,n,r)});return(a=u.containsError(s))?a:s.reduce(function(e,t){return e+t},0)}var c=i[0];switch(d(n)){case"dataset":case"datamap":return u.create("macrocall","(count:) shouldn't be given a datamap or dataset.","You should use the 'contains' operator instead. For instance, write: $variable contains 'value'.");case"string":return"string"!=typeof c?u.create("macrocall",f(n)+" can't contain "+f(c)+" because it isn't a string."):c?n.split(c).length-1:0;case"array":return n.reduce(function(e,t){return e+g(t,c)},0);default:return u.create("macrocall",f(n)+" can't contain values, let alone "+f(c)+".")}},[k,x(k)])}),define("macrolib/stylechangers",["jquery","macros","utils","utils/selectors","datatypes/colour","datatypes/gradient","datatypes/changercommand","datatypes/lambda","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c,u){var l=t.TypeSignature,f=l.either,p=l.wrapped,d=l.optional,h=l.Any,g=l.zeroOrMore,y=[p(Boolean,'If you gave a number, you may instead want to check that the number is not 0. If you gave a string, you may instead want to check that the string is not "".')];n.onStartup(function(){return e(n.storyElement).on("mouseenter.hover-macro","[hover=false]",function(){var t=e(this),n=t.data("hoverChanger");t.data({mouseoutStyle:t.attr("style")||""}),c.create({target:t},n).update(),t.attr("hover",!0)}).on("mouseleave.hover-macro","[hover=true]",function(){var t=e(this),n=t.data("mouseoutStyle");t.attr("style",n).removeData("mouseoutStyle").attr("hover",!1)})});var m=["instant","dissolve","rumble","shudder","pulse","flicker","slideleft","slideright","slideup","slidedown"],v="Only the following names are recognised (capitalisation and hyphens ignored): "+m.join(", ");t.addChanger("if",function(e,t){return a.create("if",[t])},function(e,t){return e.enabled=e.enabled&&t},y)("unless",function(e,t){return a.create("unless",[!t])},function(e,t){return e.enabled=e.enabled&&t},y)("elseif",function(e,t){return"lastHookShown"in e.stack[0]?a.create("elseif",[!1===e.stack[0].lastHookShown&&!!t]):u.create("macrocall","There's no (if:) or something else before this to do (else-if:) with.")},function(e,t){return e.enabled=e.enabled&&t},y)("else",function(e){return"lastHookShown"in e.stack[0]?a.create("else",[!1===e.stack[0].lastHookShown]):u.create("macrocall","There's nothing before this to do (else:) with.")},function(e,t){return e.enabled=e.enabled&&t},null)("hidden",function(){return a.create("hidden")},function(e){return e.enabled=!1},null)("live",function(e,t){return a.create("live",[t])},function(e,t){e.enabled=!1,e.data.live={delay:t}},d(Number))("event",function(e,t){return a.create("event",[t])},function(e,t){e.enabled=!1,e.data.live={event:t}},s.TypeSignature("when"))("more",function(){return a.create("more")},function(e){e.enabled=!1,e.data.live={event:{when:!0,filter:function(e){return 0!==e.eval("Operations").Identifiers.exits?[]:[!0]}}}},null)("hook",function(e,t){return a.create("hook",[t])},function(e,t){return e.attr.push({name:t})},[String])(["for","loop"],function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return t.loop?a.create("for",[t,r]):u.create("datatype","The lambda provided to (for:) must refer to a temp variable, not just 'it'.")},function(e,t,n){var r=t.filter(e.section,n),i=void 0;if(i=u.containsError(r))return i;e.loopVars[t.loop]=r||[]},[s.TypeSignature("where"),g(h)])(["transition","t8n"],function(e,t){return t=n.insensitiveName(t),-1===m.indexOf(t)?u.create("datatype","'"+t+"' is not a valid (transition:)",v):a.create("transition",[t])},function(e,t){return e.transition=t,e},[String])(["transition-time","t8n-time"],function(e,t){return t<=0?u.create("datatype","(transition-time:) should be a positive number of (milli)seconds, not "+t):a.create("transition-time",[t])},function(e,t){return e.transitionTime=t,e.data.t8nTime=t,e},[Number])(["transition-depart","t8n-depart"],function(e,t){return t=n.insensitiveName(t),-1===m.indexOf(t)?u.create("datatype","'"+t+"' is not a valid transition",v):a.create("transition-depart",[t])},function(e,t){return e.data.t8nDepart=t,e},[String])(["transition-arrive","t8n-arrive"],function(e,t){return t=n.insensitiveName(t),-1===m.indexOf(t)?u.create("datatype","'"+t+"' is not a valid transition",v):a.create("transition-arrive",[t])},function(e,t){return e.data.t8nArrive=t,e},[String])("font",function(e,t){return a.create("font",[t])},function(e,t){return e.styles.push({"font-family":t}),e},[String])("align",function(e,t){var n=void 0,r=t.indexOf("><");if(!/^(==+>|<=+|=+><=+|<==+>)$/.test(t))return u.create("macrocall",'The (align:) macro requires an alignment arrow ("==>", "<==", "==><=" etc.) be provided, not "'+t+'"');if(~r){var i=Math.round(r/(t.length-2)*50);n=Object.assign({"text-align":"center","max-width":"50%"},25===i?{"margin-left":"auto","margin-right":"auto"}:{"margin-left":i+"%"})}else n="<"===t[0]&&">"===t.slice(-1)?{"text-align":"justify","max-width":"50%"}:t.includes(">")?{"text-align":"right"}:{"text-align":"left"};return n.display="block",a.create("align",[n])},function(e,t){e.styles.push(t)},[String])(["text-colour","text-color","color","colour"],function(e,t){return i.isPrototypeOf(t)&&(t=t.toRGBAString(t)),a.create("text-colour",[t])},function(e,t){return e.styles.push({color:t}),e},[f(String,i)])("text-rotate",function(e,t){return a.create("text-rotate",[t])},function(t,n){return t.styles.push({display:"inline-block",transform:function(){var t=e(this).css("transform")||"";return"none"===t&&(t=""),t+" rotate("+n+"deg)"}}),t},[Number])("background",function(e,t){return i.isPrototypeOf(t)?t=t.toRGBAString(t):o.isPrototypeOf(t)&&(t=t.toLinearGradientString(t)),a.create("background",[t])},function(t,r){var o=void 0;return o=i.isHexString(r)||i.isCSS3Function(r)?{"background-color":r}:r.startsWith("linear-gradient(")?{"background-image":r}:{"background-size":"cover","background-image":"url("+r+")"},t.styles.push(o,{display:function(){return n.childrenProbablyInline(e(this))?"initial":"block"}}),t},[f(String,i,o)]).apply(void 0,_toConsumableArray(function(){var t={color:function(){return"transparent"}},r=Object.assign(Object.create(null),{none:{},bold:{"font-weight":"bold"},italic:{"font-style":"italic"},underline:{"text-decoration":"underline"},strike:{"text-decoration":"line-through"},superscript:{"vertical-align":"super","font-size":".83em"},subscript:{"vertical-align":"sub","font-size":".83em"},blink:{animation:"fade-in-out 1s steps(1,end) infinite alternate"},shudder:{animation:"shudder linear 0.1s 0s infinite",display:"inline-block"},mark:{"background-color":"hsla(60, 100%, 50%, 0.6)"},condense:{"letter-spacing":"-0.08em"},expand:{"letter-spacing":"0.1em"},outline:[{"text-shadow":function(){var t=e(this).css("color");return"-1px -1px 0 "+t+", 1px -1px 0 "+t+",-1px 1px 0 "+t+", 1px 1px 0 "+t}},{color:function(){for(var t=e(this);t.length&&t[0]!==document;t=t.parent()){var n=t.css("background-color");if("transparent"!==n&&!n.match(/^\w+a\(.+?,\s*0\s*\)$/))return n}return"#fff"}}],shadow:{"text-shadow":function(){return"0.08em 0.08em 0.08em "+e(this).css("color")}},emboss:{"text-shadow":function(){return"0.08em 0.08em 0em "+e(this).css("color")}},smear:[{"text-shadow":function(){var t=e(this).css("color");return"0em 0em 0.02em "+t+",-0.2em 0em 0.5em "+t+", 0.2em 0em 0.5em "+t}},t],blur:[{"text-shadow":function(){return"0em 0em 0.08em "+e(this).css("color")}},t],blurrier:[{"text-shadow":function(){return"0em 0em 0.2em "+e(this).css("color")},"user-select":"none"},t],mirror:{display:"inline-block",transform:"scaleX(-1)"},upsidedown:{display:"inline-block",transform:"scaleY(-1)"},fadeinout:{animation:"fade-in-out 2s ease-in-out infinite alternate"},rumble:{animation:"rumble linear 0.1s 0s infinite",display:"inline-block"}});return["text-style",function(e,t){return t=n.insensitiveName(t),t in r?a.create("text-style",[t]):u.create("datatype","'"+t+"' is not a valid (text-style:)","Only the following names are recognised (capitalisation and hyphens ignored): "+Object.keys(r).join(", "))},function(e,t){return n.assertMustHave(r,[t]),e.styles="none"===t?[]:e.styles.concat(r[t]),e}]}()).concat([[String]]))("hover-style",function(e,t){var n=c.create(),r=(t.run(n),n.summary());return r+""=="styles"||r.every(function(e){return"styles"===e||"attr"===e})&&n.attr.every(function(e){return Object.keys(e)+""=="style"})?a.create("hover-style",[t]):u.create("datatype","The changer given to (hover-style:) must only change the hook's style.")},function(e,t){return e.data.hoverChanger=t,e.attr.push({hover:!1}),e},[a])("css",function(e,t){return t.trim().endsWith(";")||(t+=";"),a.create("css",[t])},function(t,n){return t.attr.push({style:function(){return(e(this).attr("style")||"")+n}}),t},[String])}),define("internaltypes/enchantment",["jquery","utils","internaltypes/changedescriptor"],function(e,t,n){var r={create:function(n){return t.assertOnlyHas(n,["scope","section","attr","data","changer","functions"]),Object.assign(Object.create(this),{enchantments:e()},n)},enchantScope:function(){var r=this,i=this.attr,o=this.data,a=this.functions,s=this.section,c=this.changer,u=this.scope;u instanceof e&&(u=Array.prototype.map.call(u,function(t){return e(t)})),this.enchantments=e(),u.forEach(s,function(e){var u=e.wrapAll("<tw-enchantment>").parent();if(i&&u.attr(i),o&&u.data(o),a&&a.forEach(function(e){return e(u)}),c){var l=n.create({section:s,target:u});if(c.run(l),l.update(),e.is(t.storyElement)){var f=Object.keys(Object.assign.apply(Object,[{}].concat(_toConsumableArray(l.styles))));e.css(f.reduce(function(e,t){return e[t]="inherit",e},{})),u.data({enchantedProperties:f})}}e.is(t.storyElement)&&u.css({width:"100%",height:"100%"}),r.enchantments=r.enchantments.add(u)})},disenchant:function(){this.enchantments.each(function(){var n=e(this).contents();n.unwrap();var r=e(this).data("enchantedProperties");r&&n.has(t.storyElement)&&t.storyElement.css(r.reduce(function(e,t){return e[t]="",e},{}))})}};return Object.freeze(r)}),define("macrolib/enchantments",["jquery","utils","utils/selectors","utils/operationutils","engine","passages","macros","datatypes/hookset","datatypes/changercommand","internaltypes/enchantment","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c,u,l){function f(n,r){return t.onStartup(function(){t.storyElement.on(n.event+".enchantment","."+n.classList.replace(/ /g,"."),function(){var t=e(this),n=t.data("enchantmentEvent");n&&n(t)})}),[function(e,t){return t?c.create(r,[s.from(t)]):l.create("datatype","A string given to this ("+r+":) macro was empty.")},function(e,t){e.enabled=!1,e.transitionDeferred=!0,n.rerender&&(e.newTargets=(e.newTargets||[]).concat({target:t,append:n.rerender}));var r=_slicedToArray(e.section.stack,1),o=r[0].tempVariables,a=u.create({functions:[function(e){e.attr("class",e.children().is("tw-story, tw-sidebar, tw-passage")?n.blockClassList:n.classList)}],attr:(n.classList+"").match(/\b(?:link|enchantment-clickblock)\b/)?{tabIndex:"0"}:{},data:{enchantmentEvent:function(){if(!e.section.stackTop||!e.section.stackTop.blocked){if(n.once){var t=e.section.enchantments.indexOf(a);e.section.enchantments.splice(t,1),a.disenchant()}if(n.goto)return void i.goToPassage(n.goto,{transitionOut:n.transitionOut,transitionIn:n.transitionIn});e.section.renderInto(e.source,null,Object.assign({},e,{enabled:!0,transitionDeferred:!1}),o)}}},scope:t,section:e.section});return e.section.enchantments.push(a),a.enchantScope(),e},h(s,String)]}var p=r.is,d=a.TypeSignature,h=d.either,g=d.rest;a.addCommand("enchant",function(e,t){var n=t.summary();if(n.includes("newTargets")||n.includes("target"))return l.create("macrocall","The changer given to (enchant:) can't include a revision command like (replace:) or (append:).")},function(e,t,n){var r=u.create({scope:s.from(t),changer:n,section:e});return e.enchantments.push(r),r.enchantScope(),""},[h(s,String),c],!1);var y=["replace","append","prepend"];y.forEach(function(t){a.addChanger(t,function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.every(Boolean)?c.create(t,r.map(s.from)):l.create("datatype","A string given to this ("+t+":) macro was empty.")},function(n){for(var r,i=arguments.length,o=Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];return e(n.target).parents().filter("tw-collapsed").length>0||(n.attr=[].concat(_toConsumableArray(n.attr),[{collapsing:!1}])),n.newTargets=n.newTargets||[],(r=n.newTargets).push.apply(r,_toConsumableArray(o.filter(function(e){return!n.newTargets.some(function(n){var r=n.target,i=n.append;return p(e,r)&&t===i})}).map(function(e){return{target:e,append:t,before:!0}}))),n},g(h(s,String)))}),t.onStartup(function(){t.storyElement.on("click.enchantment",function(){Array.from(e(this).parents(".enchantment-clickblock")).sort(function(e,t){return 8&e.compareDocumentPosition(t)?1:-1}).forEach(function(t){var n=e(t).data("enchantmentEvent");n&&n()})})});var m=[{name:"click",enchantDesc:{event:"click",once:!0,rerender:"",classList:"link enchantment-link",blockClassList:"enchantment-clickblock"}},{name:"mouseover",enchantDesc:{event:"mouseenter",once:!0,rerender:"",classList:"enchantment-mouseover"}},{name:"mouseout",enchantDesc:{event:"mouseleave",once:!0,rerender:"",classList:"enchantment-mouseout"}}];m.forEach(function(e){return a.addChanger.apply(a,[e.name].concat(_toConsumableArray(f(e.enchantDesc,e.name))))}),y.forEach(function(e){m.forEach(function(t){var n=Object.assign({},t.enchantDesc,{rerender:e}),r=t.name+"-"+e;a.addChanger.apply(a,[r].concat(_toConsumableArray(f(n,r))))})}),m.forEach(function(e){var t=e.name+"-goto";a.addCommand(t,function(e,n){return e&&n?o.hasValid(n)?void 0:l.create("macrocall","I can't ("+t+":) the passage '"+n+"' because it doesn't exist."):l.create("datatype","A string given to this ("+t+":) macro was empty.")},function(n,r,i,o){var a=f(Object.assign({},e.enchantDesc,{goto:o,transitionOut:n.data.t8nDepart,transitionIn:n.data.t8nArrive}),t);return(0,_slicedToArray(a,2)[1])({section:r},s.from(i)),Object.assign(n,{source:""})},[h(s,String),String])})}),define("macrolib/links",["jquery","macros","utils","utils/selectors","state","passages","engine","datatypes/changercommand","datatypes/hookset","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c,u){function l(e,t,r){r=r||t;var i=o.hasValid(t)&&t===r,a=e.evaluateTwineMarkup(n.unescape(r),"a link's passage name"),s=void 0;if(i){var c=a.children().length>0?"`".repeat((r.match(/`+/)||[]).reduce(function(e,t){return Math.max(e,t.length+1)},1)):"";t=c+"\0".repeat(!!c)+t+"\0".repeat(!!c)+c}else a.findAndFilter("tw-error").length&&(s=a.findAndFilter("tw-error").data("TwineError")),r=a.text();return{text:t,passage:r,error:s}}var f=t.TypeSignature,p=f.optional,d=f.rest,h=["Links can't have empty strings for their displayed text.","In the link syntax, a link's displayed text is inside the [[ and ]], and on the non-pointy side of the -> or <- arrow if it's there."],g=Object.assign;n.onStartup(function(){return e(n.storyElement).on("click.passage-link",r.internalLink,function(){var t=e(this),n=t.closest("tw-expression"),r=t.closest("tw-expression, tw-hook"),i=r.data("clickEvent"),o=r.data("section");if(!(o&&o.stackTop&&o.stackTop.blocked)){if(i){if(t.find("tw-error").length>0)return;return void i(t)}var s=n.data("linkPassageName"),c=n.data("t8nDepart"),u=n.data("t8nArrive"),l=n.data("t8nTime");return n.find("tw-enchantment").each(function(t,n){c=e(n).data("t8nDepart")||c,u=e(n).data("t8nArrive")||u,l=void 0!==e(n).data("t8nTime")?e(n).data("t8nTime"):l}),s?void a.goToPassage(s,{transitionOut:c,transitionIn:u,transitionTime:l}):t.is("[undo]")?void a.goBack({transitionOut:c,transitionIn:u,transitionTime:l}):void 0}})}),[["link","link-replace"],["link-reveal"],["link-repeat"]].forEach(function(e){return t.addChanger(e,function(t,n){return n?s.create(e[0],[n]):u.create("macrocall",h[0])},function(t,n){t.innerSource||(t.innerSource=t.source),t.source="<tw-link tabindex=0>"+n+"</tw-link>",t.append="link"===e[0]?"replace":"append",t.transitionDeferred=!0;var r=_slicedToArray(t.section.stack,1),i=r[0].tempVariables
;t.data.section=t.section,t.data.clickEvent=function(n){"link-reveal"===e[0]&&n.contents().unwrap(),t.source=t.innerSource+"",t.transitionDeferred=!1,t.section.renderInto("",null,t,i)}},[String])}),t.addCommand(["link-goto"],function(e){if(!e)return u.create.apply(u,["macrocall"].concat(h))},function(e,t,r,a){var s=void 0,c=l(t,r,a);if(r=c.text,a=c.passage,s=c.error)return s;var u=void 0;return o.hasValid(a)||(u='<tw-broken-link passage-name="'+n.escape(a)+'">'+r+"</tw-broken-link>"),u=u||"<tw-link tabindex=0 "+(i.passageNameVisited(a)>0?'class="visited" ':"")+">"+r+"</tw-link>",e.data.linkPassageName=a,e.data.section=t,g(e,{source:u,transitionDeferred:!0})},[String,p(String)])("link-undo",function(e){if(!e)return u.create("macrocall",h[0])},function(e,t,n){return i.pastLength<1?u.create("macrocall","I can't use (link-undo:) on the first turn."):(e.data.section=t,g(e,{source:"<tw-link tabindex=0 undo>"+n+"</tw-link>",transitionDeferred:!0}))},[String])("link-show",function(e){if(!e)return u.create("macrocall",h[0])},function(e,t,n){for(var r=arguments.length,i=Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];var a=_slicedToArray(t.stack,1),s=a[0].tempVariables;return e.data.section=t,e.data.clickEvent=function(n){n.contents().unwrap(),i.forEach(function(n){return n.forEach(t,function(n){var r=n.data("hiddenSource");void 0!==r&&t.renderInto("",null,g({},e,{source:r,target:n,transitionDeferred:!1}),s)})})},g(e,{source:"<tw-link tabindex=0>"+n+"</tw-link>",transitionDeferred:!0})},[String,d(c)]),t.addChanger(["link-reveal-goto"],function(e,t,n){if(!t)return u.create.apply(u,["macrocall"].concat(h));var r=l(e,t,n);return t=r.text,n=r.passage,r.error||s.create("link-reveal-goto",[t,n])},function(e,t,r){if(!o.hasValid(r))return void(e.source='<tw-broken-link passage-name="'+n.escape(r)+'">'+t+"</tw-broken-link>");e.innerSource||(e.innerSource=e.source);var s=i.passageNameVisited(r);e.source="<tw-link tabindex=0 "+(s>0?'class="visited" ':"")+">"+t+"</tw-link>",e.append="append",e.transitionDeferred=!0;var c=_slicedToArray(e.section.stack,1),u=c[0].tempVariables;e.data.section=e.section,e.data.clickEvent=function(t){e.source=e.innerSource,t.contents().unwrap(),e.transitionDeferred=!1,e.section.renderInto(e.innerSource+"",null,e,u),e.section.whenUnblocked(function(){return a.goToPassage(r,{transitionOut:e.data.t8nDepart,transitionIn:e.data.t8nArrive})})}},[String,p(String)])}),define("repl",["utils","engine","markup","twinescript/compiler","twinescript/environ"],function(e,t,n,r,i){e.onStartup(function(){return setTimeout(function(){t.options.debug&&(window.REPL=function(e){var t=r(n.lex("(print:"+e+")"));console.log(t);var o=i({}).eval(t);return o.TwineScript_Print?o.TwineScript_Print():o},window.LEX=function(e){var t=n.lex(e);return 1===t.length?t[0]:t})})})}),require.config({paths:{jquery:"../node_modules/jquery/dist/jquery",almond:"../node_modules/almond/almond","es6-shim":"../node_modules/es6-shim/es6-shim",requestAnimationFrame:"../node_modules/requestanimationframe/app/requestAnimationFrame",jqueryplugins:"utils/jqueryplugins",markup:"./markup/markup",lexer:"./markup/lexer",patterns:"./markup/patterns"},deps:["jquery","es6-shim","jqueryplugins"]}),require(["jquery","debugmode","renderer","state","engine","passages","utils","utils/selectors","utils/dialog","macros","macrolib/values","macrolib/commands","macrolib/datastructures","macrolib/stylechangers","macrolib/enchantments","macrolib/links","repl"],function($,DebugMode,Renderer,State,Engine,Passages,Utils,Selectors,Dialog){function __HarloweEval(text){return eval(text+"")}function printJSError(e){var t=e.name+": "+e.message;if(e.stack){var n=e.stack.split("\n"),r=n.findIndex(function(e){return e.includes("__HarloweEval")});t+="\n"+n.slice(0,r).join("\n").replace(/\([^\)]+\)/g,"")}return"<div style='font-family:monospace;overflow-y:scroll;max-height:30vh'>```"+t+"```</div>"}var _installHandlers=function(){$(document.documentElement).on("keydown",function(e){13===e.which&&"0"===e.target.getAttribute("tabindex")&&$(e.target).trigger("click")}),Engine.options.debug&&DebugMode(),_installHandlers=null};!function(e){window.onerror=function(t,n,r,i,o){window.onerror=e,Utils.storyElement.parent().append(Dialog("Sorry to interrupt, but this page's code has got itself in a mess.\n\n"+printJSError(o)+"\n(This is probably due to a bug in the Harlowe game engine.)",void 0,function(){})),"function"==typeof e&&e.apply(void 0,arguments)}}(window.onerror),Utils.onStartup(function(){var e=$(Selectors.storyData);if(0!==e.length){var t=e.attr("options");t&&t.split(/\s/).forEach(function(e){Renderer.options[e]=Engine.options[e]=!0});var n=e.attr("startnode");Renderer.options.ifid=Engine.options.ifid=e.attr("ifid"),n||(n=[].reduce.call($(Selectors.passageData),function(e,t){var n=t.getAttribute("pid");return n<e?n:e},1/0)),n=$(Selectors.passageData+"[pid="+n+"]").attr("name"),_installHandlers();var r=!1;$(Selectors.script).each(function(e){try{__HarloweEval($(this).html())}catch(t){r||(r=!0,Utils.storyElement.parent().append(Dialog("There is a problem with this story's "+Utils.nth(e+1)+" script:\n\n"+printJSError(t),void 0,function(){})))}}),$(Selectors.stylesheet).each(function(e){$(document.head).append('<style data-title="Story stylesheet '+(e+1)+'">'+$(this).html())});var i=!Engine.options.debug&&State.hasSessionStorage&&sessionStorage.getItem("Saved Session");if(i&&!0===State.deserialise(i))return void Engine.showPassage(State.passage,!1);Engine.goToPassage(n)}})}),define("harlowe",function(){}),require(["harlowe"])}();
</script>
</body>
</html>