-
Notifications
You must be signed in to change notification settings - Fork 12
/
gettingstarted.html
411 lines (259 loc) · 268 KB
/
gettingstarted.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
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>gettingstarted_en</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)}}.debug-mode tw-expression[type=hookref]{background-color:rgba(115,123,140,0.15)}.debug-mode tw-expression[type=hookref]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"?" attr(name)}.debug-mode tw-expression[type=variable]{background-color:rgba(140,128,115,0.15)}.debug-mode tw-expression[type=variable]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"$" attr(name)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+0){background-color:rgba(136,153,102,0.15)}.debug-mode tw-expression[type=macro]:nth-of-type(2n+1){background-color:rgba(102,153,102,0.15)}.debug-mode tw-expression[type=macro]:nth-of-type(4n+2){background-color:rgba(102,153,136,0.15)}.debug-mode tw-expression[type=macro][name="display"]{background-color:rgba(0,170,255,0.1) !important}.debug-mode tw-expression[type=macro][name="if"],.debug-mode tw-expression[type=macro][name="if"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name="unless"],.debug-mode tw-expression[type=macro][name="unless"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name="elseif"],.debug-mode tw-expression[type=macro][name="elseif"]+tw-hook:not([name]),.debug-mode tw-expression[type=macro][name="else"],.debug-mode tw-expression[type=macro][name="else"]+tw-hook:not([name]){background-color:rgba(0,255,0,0.1) !important}.debug-mode tw-expression[type=macro].false{background-color:rgba(255,0,0,0.2) !important}.debug-mode tw-expression[type=macro].false+tw-hook:not([name]){display:none}.debug-mode tw-expression[type=macro][name="a"],.debug-mode tw-expression[type=macro][name="array"],.debug-mode tw-expression[type=macro][name="datamap"],.debug-mode tw-expression[type=macro][name="dataset"],.debug-mode tw-expression[type=macro][name="colour"],.debug-mode tw-expression[type=macro][name="color"],.debug-mode tw-expression[type=macro][name="num"],.debug-mode tw-expression[type=macro][name="number"],.debug-mode tw-expression[type=macro][name="text"],.debug-mode tw-expression[type=macro][name="print"]{background-color:rgba(255,255,0,0.2) !important}.debug-mode tw-expression[type=macro][name="put"],.debug-mode tw-expression[type=macro][name="set"]{background-color:rgba(255,128,0,0.2) !important}.debug-mode tw-expression[type=macro][name="script"]{background-color:rgba(255,191,0,0.2) !important}.debug-mode tw-expression[type=macro][name="style"]{background-color:rgba(185,198,198,0.2) !important}.debug-mode tw-expression[type=macro][name^="link"],.debug-mode tw-expression[type=macro][name^="click"],.debug-mode tw-expression[type=macro][name^="mouseover"],.debug-mode tw-expression[type=macro][name^="mouseout"]{background-color:rgba(128,223,32,0.2) !important}.debug-mode tw-expression[type=macro][name^="replace"],.debug-mode tw-expression[type=macro][name^="prepend"],.debug-mode tw-expression[type=macro][name^="append"],.debug-mode tw-expression[type=macro][name^="remove"]{background-color:rgba(223,96,32,0.2) !important}.debug-mode tw-expression[type=macro][name="live"]{background-color:rgba(32,96,223,0.2) !important}.debug-mode tw-expression[type=macro]::before{content:"(" attr(name) ":)";padding:0 0.5rem;font-size:1rem;vertical-align:middle;line-height:normal;background-color:inherit;border:1px solid rgba(255,255,255,0.5)}.debug-mode tw-hook{background-color:rgba(0,85,255,0.1) !important}.debug-mode tw-hook::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"["}.debug-mode tw-hook::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"]"}.debug-mode tw-hook[name]::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"]<" attr(name) "|"}.debug-mode tw-pseudo-hook{background-color:rgba(255,170,0,0.1) !important}.debug-mode tw-collapsed::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"{"}.debug-mode tw-collapsed::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"}"}.debug-mode tw-verbatim::before,.debug-mode tw-verbatim::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:"`"}.debug-mode tw-align[style*="text-align: center"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 50%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*="text-align: left"]{background:linear-gradient(to right, rgba(255,204,189,0.25) 0%, rgba(255,204,189,0) 100%)}.debug-mode tw-align[style*="text-align: right"]{background:linear-gradient(to right, rgba(255,204,189,0) 0%, rgba(255,204,189,0.25) 100%)}.debug-mode p{background-color:rgba(255,213,0,0.1)}.debug-mode tw-enchantment{animation:enchantment 0.5s infinite;-webkit-animation:enchantment 0.5s infinite;border:1px solid}.debug-mode tw-link::after,.debug-mode tw-broken-link::after{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(passage-name)}.debug-mode tw-include{background-color:rgba(204,128,51,0.1)}.debug-mode tw-include::before{font-size:0.8rem;padding-left:0.2rem;padding-right:0.2rem;vertical-align:top;content:attr(type) ' "' attr(title) '"'}@keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}@-webkit-keyframes enchantment{0%,to{border-color:#ffb366}50%{border-color:#6fc}}tw-debugger{position:fixed;bottom:0;right:0;z-index:999999;min-width:10em;min-height:1em;padding:1em;font-size:1.5em;border-left:solid #000 2px;border-top:solid #000 2px;border-top-left-radius:0.5em;background:#fff;transition:opacity 0.2s;-webkit-transition:opacity 0.2s;opacity:0.8}@media screen and (max-width: 1280px){tw-debugger{font-size:1.25em}}@media screen and (max-width: 960px){tw-debugger{font-size:1em}}@media screen and (max-width: 640px){tw-debugger{font-size:0.8em}}tw-debugger:hover{opacity:1}.show-invisibles{border-radius:3px;border:solid #999 1px;background-color:#fff;font-size:inherit}.debug-mode .show-invisibles{background-color:#eee;box-shadow:inset #ddd 3px 5px 0.5em}tw-link,.link,tw-icon{cursor:pointer}tw-link,.enchantment-link{color:#4169E1;font-weight:bold;text-decoration:none;transition:color 0.2s ease-in-out}tw-link:hover,.enchantment-link:hover{color:DeepSkyBlue}tw-link:active,.enchantment-link:active{color:#DD4B39}.visited{color:#6941e1}.visited:hover{color:#E3E}tw-broken-link{color:#993333;border-bottom:2px solid #993333;cursor:not-allowed}.enchantment-mouseover{border-bottom:1px dashed #666}.enchantment-mouseout{border:rgba(64,149,191,0.25) 1px solid}.enchantment-mouseout:hover{background-color:rgba(64,149,191,0.25);border:transparent 1px solid;border-radius:0.2em}html{font:100% Georgia, serif;margin:0;background-color:transparent;color:#000;height:100%;overflow-x:hidden;box-sizing:border-box}*,:before,:after{position:relative;box-sizing:inherit}body{margin:0;background-color:transparent}tw-storydata{display:none}tw-story{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:60%;font-size:1.5em;line-height:1.5em;margin:5% auto}@media screen and (max-width: 1024px){tw-story{font-size:1.2em}}@media screen and (max-width: 896px){tw-story{font-size:1.05em}}@media screen and (max-width: 768px){tw-story{font-size:.9em}}tw-passage{display:block}tw-sidebar{left:-5em;width:3em;position:absolute;text-align:center;display:block}tw-icon{display:block;margin:0.5em 0;opacity:0.1;font-size:2.75em}tw-icon:hover{opacity:0.3}tw-error{display:inline-block;border-radius:0.2em;padding:0.2em;font-size:1rem;cursor:help}tw-error.error{background-color:rgba(223,58,190,0.4);color:black}tw-error.warning{background-color:rgba(223,140,58,0.4);color:black;display:none}.debug-mode tw-error.warning{display:inline}tw-error-explanation{display:block;font-size:0.8rem;line-height:1rem}tw-error-explanation-button{cursor:pointer;line-height:0em;border-radius:1px;border:1px solid black;font-size:0.8rem;margin:0 0.4rem;opacity:0.5}tw-error-explanation-button .folddown-arrowhead{display:inline-block}tw-notifier{border-radius:0.2em;padding:0.2em;font-size:1rem;background-color:rgba(223,182,58,0.4);display:none}.debug-mode tw-notifier{display:inline}tw-notifier::before{content:attr(message)}tw-colour{border:1px solid black;display:inline-block;width:1em;height:1em}h1{font-size:3em}h2{font-size:2.25em}h3{font-size:1.75em}h1,h2,h3,h4,h5,h6{line-height:1em;margin:0.6em 0}pre{font-size:1rem}small{font-size:70%}big{font-size:120%}mark{color:rgba(0,0,0,0.6);background-color:#ff9}ins{color:rgba(0,0,0,0.6);background-color:rgba(255,242,204,0.5);border-radius:0.5em;box-shadow:0em 0em 0.2em #ffe699;text-decoration:none}del{background-color:#000;text-decoration:none}center{text-align:center;margin:0 auto;width:60%}blink{text-decoration:none;animation:fade-in-out 1s steps(1, end) infinite alternate;-webkit-animation:fade-in-out 1s steps(1, end) infinite alternate}tw-align{display:block}tw-outline{color:white;text-shadow:-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000}tw-shadow{text-shadow:0.08em 0.08em 0.08em #000}tw-emboss{text-shadow:0.08em 0.08em 0em #000;color:white}tw-condense{letter-spacing:-0.08em}tw-expand{letter-spacing:0.1em}tw-blur{color:transparent;text-shadow:0em 0em 0.08em #000}tw-blurrier{color:transparent;text-shadow:0em 0em 0.2em #000}tw-blurrier::selection{background-color:transparent;color:transparent}tw-blurrier::-moz-selection{background-color:transparent;color:transparent}tw-smear{color:transparent;text-shadow:0em 0em 0.02em rgba(0,0,0,0.75),-0.2em 0em 0.5em rgba(0,0,0,0.5),0.2em 0em 0.5em rgba(0,0,0,0.5)}tw-mirror{display:inline-block;transform:scaleX(-1);-webkit-transform:scaleX(-1)}tw-upside-down{display:inline-block;transform:scaleY(-1);-webkit-transform:scaleY(-1)}tw-fade-in-out{text-decoration:none;animation:fade-in-out 2s ease-in-out infinite alternate;-webkit-animation:fade-in-out 2s ease-in-out infinite alternate}tw-rumble{-webkit-animation:rumble linear 0.1s 0s infinite;animation:rumble linear 0.1s 0s infinite;display:inline-block}tw-shudder{-webkit-animation:shudder linear 0.1s 0s infinite;animation:shudder linear 0.1s 0s infinite;display:inline-block}tw-shudder-in{animation:shudder-in 1s ease-out;-webkit-animation:shudder-in 1s ease-out}.transition-in{-webkit-animation:appear 0ms step-start;animation:appear 0ms step-start}.transition-out{-webkit-animation:appear 0ms step-end;animation:appear 0ms step-end}[data-t8n^=fade-in].transition-in,.transition-in[data-t8n^=dissolve]{-webkit-animation:appear 0.8s;animation:appear 0.8s}[data-t8n^=dissolve].transition-out{-webkit-animation:appear 0.8s reverse;animation:appear 0.8s reverse}[data-t8n^=shudder-in].transition-in,.transition-in[data-t8n^=shudder]{display:inline-block;-webkit-animation:shudder-in 0.8s;animation:shudder-in 0.8s}[data-t8n^=shudder-out].transition-out,.transition-out[data-t8n^=shudder]{display:inline-block;-webkit-animation:shudder-out 0.8s;animation:shudder-out 0.8s}[data-t8n^=boxflash].transition-in{-webkit-animation:box-flash 0.8s;animation:box-flash 0.8s}[data-t8n^=pulse].transition-in{-webkit-animation:pulse 0.8s;animation:pulse 0.8s}[data-t8n^=pulse].transition-out{-webkit-animation:pulse 0.8s reverse;animation:pulse 0.8s reverse}[data-t8n$=fast]{animation-duration:0.4s;-webkit-animation-duration:0.4s}[data-t8n$=slow]{animation-duration:1.2s;-webkit-animation-duration:1.2s}
</style>
</head>
<body>
<tw-story></tw-story>
<tw-storydata name="gettingstarted_en" startnode="1" creator="Twine" creator-version="2.2.1" ifid="D628E389-87D3-4DF7-9AD8-C8CF1DCE3ED7" zoom="1" format="Harlowe" format-version="1.2.4" 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="Who are you?" tags="" position="67,101" size="100,100"><div style="text-align: center"><button onclick="window.location.href='gettingstarted_es.html'">Español</button><button onclick="window.location.href='gettingstarted_tr.html'">Türkçe</button><button onclick="window.location.href='gettingstarted_ru.html'">Русский</button><button onclick="window.location.href='gettingstarted_zhcn.html'">简体中文</button><button onclick="window.location.href='gettingstarted_zhtw.html'">繁体中文</button><button onclick="window.location.href='gettingstarted_ar.html'">العربية</button><button onclick="window.location.href='gettingstarted_fa.html'">فارسی</button>
''//Who are you?//''</div>
{
<table style="width:100%" valign="top">
<tr style="text-align:center">
<td>}[[<img src="assets/game/developer1.png" alt="Developer" width="300" />|I'm a developer]]{</td>
<td>}[[<img src="assets/game/user1.png" alt="User" width="300"/>|I'm an end user]]{</td>
</tr>
<tr>
<td style="text-align:center">[[I'm a developer]]</td>
<td style="text-align:center">[[I'm an end user]]</td>
</tr>
</table>}</tw-passagedata><tw-passagedata pid="2" name="I'm an end user" tags="" position="353,5" size="100,100"><div style="text-align: center">''//Pluggable Transports for End Users//''</div>
<p><img src="assets/game/user1.png" alt="End user" style="padding: 0 15px; float: right; max-width: 300px" width="75%" /></p>You're probably here because you want to get past something that's blocking your access to Internet content. What do you want to do now?
[[Give me a quick solution!]]
[[I want to build something myself]]
<!--
{<table style="width:100%" valign="top">
<tr>
<td style="text-align: left">You're probably here because you want to get past something that's blocking your access to something on the Internet. What do you want to do now?
<br /><br />
[[Give me a quick solution!]]<br />
[[I want to build something myself]]
</td>
<td style="text-align: center"><img src="assets/game/user1.png" alt="End user" width="50%" /></td>
</tr>
</table>}
<div style="text-align: center">''//Background//''</div>-->
Some of the most common sites and services are blocked in different ways on different networks. Sometimes, these blocks occur at the national level, and are put in place permanently; or they could be happening around an important election. Read Freedom House's annual <a href="https://freedomhouse.org/report/freedom-net/freedom-net-2017" target="_blank">Freedom on the Net</a> report to find out more about how widespread this is.
Other times, it may be that your Internet Service Provider (ISP) is blocking access to content. An ISP is anyone whos provides your network connection and doesn't want you to access something - it could be your corporate firewall, your school network, or your telecom company.
In many cases, it's frustrating when you can't get to the content you want. Pluggable Transports are designed to help you find the best way to get to the content, and there are several types of transport. The idea behind it is that they all talk to the system in a common way, and allow app developers and sysadmins to implement one solution that can access multiple different transports at any given time.
[[Go back|Who are you?]]
<!--
''//Pluggable Transports for End Users//''
You're probably here because you want to get past something that's blocking your access to something on the Internet. What do you want to do now?
[[Give me a quick solution!]]
[[I want to build something myself]]
--></tw-passagedata><tw-passagedata pid="3" name="I'm a developer" tags="" position="65,227" size="100,100"><div style="text-align: center">''//Pluggable Transports for Developers//''</div>
You already know you want to use Pluggable Transports with your software, and are looking for some additional resources. What can we help you with today?
<p><img src="assets/game/developer1.png" alt="Developer" style="padding: 0 15px; float: left; max-width: 300px" width="100%" /></p>- [[I want to install support for Pluggable Transports on my OpenVPN server|OpenVPN and Pluggable Transports]]
- [[Using Pluggable Transports in my Go app]]
- [[Testing Pluggable Transports]]
- [[I want to write a transport]]
- [[Pluggable Transports specification|Pluggable Transports specification]]
[[Go back|Who are you?]]
<!--
{<table style="width:100%" valign="top">
<tr>
<td style="text-align: center"><img src="assets/game/developer1.png" alt="Developer" width="300" /></td>
<td style="text-align: left">You already know you want to use Pluggable Transports with your software, and are looking for some additional resources. What can we help you with today?
<br /><br />
- [[I want to install support for Pluggable Transports on my OpenVPN server|OpenVPN and Pluggable Transports]]<br />
- [[Using Pluggable Transports in my Go app]]<br />
- [[Testing Pluggable Transports]]<br />
- [[I want to write a transport]]<br />
- [[Pluggable Transports specification|Pluggable Transports specification]]
</td>
</tr>
</table>}
[[Go back|Who are you?]]
</tw-passagedata><tw-passagedata pid="4" name="Give me a quick solution!" tags="" position="474,169" size="100,100"><div style="text-align: center">''//Using Pluggable Transports//''</div>
<p><img src="assets/game/jigsaw.png" alt="Ready made apps" style="padding: 0 15px; float: left; margin-left: -100px; max-width: 500px" width="75%" /></p>You need to get to your content quickly. Thankfully, there are several pieces of software out there already that have implemented Pluggable Transports. If you're on a desktop machine, you might already be using <a href="https://torproject.org" target="_blank">Tor Browser</a>, which can be configured to use bridges - these are Pluggable Transport connectors that get you onto the network when Tor itself is blocked.
If you're on a mobile device, you could try <a href="https://getlantern.org" target="_blank">Lantern</a> or <a href="https://psiphon.ca" target="_blank">Psiphon</a>, both of which work on Android and iOS. There are also apps to get you onto the Tor network - you can see more examples <a href="https://www.pluggabletransports.info/implement/" target="_blank">here</a>, with links to download and install.
Everything we show you is open source, and there's a solution for every desktop and mobile operating system you're likely to use.
Does this give you the answer you're looking for?
[[Yes, I'm done!|I'm done!]]
No, [[I want to build something myself]]
[[Go back|I'm an end user]]
[[Start over|Who are you?]]
<!--
{<table style="width:100%" valign="top">
<tr>
<td><img src="assets/game/jigsaw.png" alt="Ready made apps" width="75%"/></td>
<td style="text-align: left" width="60%">You need to get to your content quickly. Thankfully, there are several pieces of software out there already that have implemented Pluggable Transports. If you're on a desktop machine, you might already be using <a href="https://torproject.org" target="_blank">Tor Browser</a>, which can be configured to use bridges - these are Pluggable Transport connectors that get you onto the network when Tor itself is blocked.
If you're on a mobile device, you could try <a href="https://getlantern.org" target="_blank">Lantern</a> or <a href="https://psiphon.ca" target="_blank">Psiphon</a>, both of which work on Android and iOS. There are also apps to get you onto the Tor network - you can see more examples <a href="https://www.pluggabletransports.info/implement/" target="_blank">here</a>, with links to download and install. Everything we show you is open source, and there's a solution for every desktop and mobile operating system you're likely to use.
</td>
</tr>
</table>}
Everything we show you is open source, and there's a solution for every desktop and mobile operating system you're likely to use.
Does this give you the answer you're looking for?
[[Yes, I'm done!|I'm done!]]
No, [[I want to build something myself]]
[[Go back|I'm an end user]]
[[Start over|Who are you?]]
<p style="margin-top: 20px;"></p>
--></tw-passagedata><tw-passagedata pid="5" name="I want to build something myself" tags="" position="746,203" size="100,100"><div style="text-align: center">''//Building Your Own Pluggable Transports Solution//''</div>
Rather than using <a href="https://www.pluggabletransports.info/implement/" target="_blank">existing tools</a>, you're going to build your own Pluggable Transports-based system. Here are two options:
* Marionette: Redjack's Marionette (<a href="https://www.github.com/redjack/marionette" target="_blank">https://www.github.com/redjack/marionette</a>) is a command-line tool that can be easily built on a Mac or CentOS system. We have published getting started guides for both the <a href="/implement/marionette-server" target="_blank">server</a> and <a href="/implement/marionette-client" target="_blank">client</a>. More information and detailed documentation are available directly from <a href="https://github.com/redjack/marionette/blob/master/doc/USER_GUIDE.md" target="_blank">the project</a>.
* Moonbounce: Operator Foundation (<a href="https://www.operatorfoundation.org" target="_blank">https://www.operatorfoundation.org</a>) has created a graphical user interface on Mac OSX for implementing OpenVPN with support for Pluggable Transports. They also have a script for provisioning an OpenVPN server on Digital Ocean.
Alternatively, you might want to configure OpenVPN yourself.
[[I want to do a manual install|OpenVPN and Pluggable Transports]]
[[Go back|I'm an end user]]
[[Start over|Who are you?]]</tw-passagedata><tw-passagedata pid="6" name="I'm done!" tags="" position="50,732" size="100,100"><<div style="text-align: center">''//I'm done!//''</div>
Thanks for following our story! Let us know what you think of this - you can <a href="mailto:[email protected]">email us</a> or <a href="https://www.twitter.com/plugtransports" target="_blank">find us on Twitter</a>. For other useful links, visit the <a href="https://www.pluggabletransports.info" target="_blank">Pluggable Transports web site</a>, and see these <a href="https://www.pluggabletransports.info/community" target="_blank">community links</a> for more info.
<img src="assets/game/developer_user2.png" alt="We're happy!" style="display: block; margin-left: auto; margin-right: auto;" width="100%">
[[Start over|Who are you?]]</tw-passagedata><tw-passagedata pid="7" name="Moonbounce" tags="" position="1011,22" size="100,100">''//Moonbounce//''
From Operator Foundation's <a href="https://github.com/OperatorFoundation/Moonbounce/blob/master/README.md" target="_blank">README</a> file:
***Moonbounce is a graphical user interface for using an OpenVPN client and server with Pluggable Transport support. The goal of Moonbounce is to provide a usability-focused, streamlined user experience to using PT-enabled OpenVPN.***
<img src="assets/game/moonbounce.jpg">
You can get the code for the client <a href="https://github.com/OperatorFoundation/Moonbounce" target="_blank">here</a>, and if you want to provision a server on Digital Ocean, you can see how to do that using the <a href="https://github.com/OperatorFoundation/shapeshifter-server" target="_blank">Shapeshifter Server scripts</a>.
[[I'm done!]]
[[Go back|I want to build something myself]]
[[Start over|Who are you?]]</tw-passagedata><tw-passagedata pid="8" name="OpenVPN and Pluggable Transports" tags="" position="501,430" size="100,100"><div style="text-align: center">''//OpenVPN and Pluggable Transports//''</div>
If you're here, you've probably got an OpenVPN server running, and you want to add support for Pluggable Transports. However, maybe you need some help installing OpenVPN?
[[Yes, please help me with OpenVPN|Installing and configuring OpenVPN]]
[[I have OpenVPN running, let's talk Pluggable Transports|Installing Pluggable Transports on OpenVPN]]
[[Go back|Who are you?]]
[[Start over|Who are you?]]</tw-passagedata><tw-passagedata pid="9" name="Installing and configuring OpenVPN" tags="" position="666,567" size="100,100"><div style="text-align: center">''//Installing and Configuring OpenVPN//''</div>
<p><img src="assets/game/plug.png" alt="Plugging in" style="padding: 0 15px; float: right; max-width: 300px" width="100%" /></p>Our <a href="https://www.pluggabletransports.info/implement/openvpn/#preparation" target="_blank:">guide to installing OpenVPN</a> takes you through these three steps:
* Preparation: Getting the dependencies (openssl, ca-certificates, git, golang, curl, screen).
* OpenVPN installation: How to install, configure and test OpenVPN with root / sudo access on your server.
* Install and configure certificates: Setting up the OpenVPN network, and generating certificates for the server and clients.
Once that's complete, and you're happy with the basic setup, it's time to move on to the Pluggable Transports configuration.
[[Move on to Pluggable Transports|Installing Pluggable Transports on OpenVPN]]
[[Go back|OpenVPN and Pluggable Transports]]
[[Start over|Who are you?]]</tw-passagedata><tw-passagedata pid="10" name="Installing Pluggable Transports on OpenVPN" tags="" position="499,698" size="100,100"><div style="text-align: center">''//Installing Pluggable Transports on OpenVPN//''</div>
<p><img src="assets/game/plug.png" alt="Plugging in" style="padding: 0 15px; float: right; max-width: 300px" width="100%" /></p>You have an OpenVPN server running, and have tested client connections. You now want to add Pluggable Transports support. To do this, you're going to install <a href="https://github.com/OperatorFoundation/shapeshifter-dispatcher" target="_blank">shapeshifter-dispatcher</a>, which will allow you to proxy both TCP and UDP traffic.
Our guide to installing Pluggable Transports with OpenVPN will help you <a href="https://www.pluggabletransports.info/implement/openvpn/#server-obfuscation-configuration" target="_blank">install and configure shapeshifter</a>.
The steps you will be guided through are:
* Install and configure shapeshifter-dispatcher
* Server and client setup
Once this is done, you will have your own server running OpenVPN with Pluggable Transports!
Alternatively, you could run <a href="https://github.com/OpenInternet/openvpn-shapeshifter">this script</a> to install and configure OpenVPN on Ubuntu and Debian servers.
Are you done with this guide?
[[I'm done!]]
[[Start over|Who are you?]]</tw-passagedata><tw-passagedata pid="11" name="Pluggable Transports specification" tags="" position="122,486" size="100,100"><div style="text-align: center">''//Pluggable Transports Specification//''</div>
The current version of the spec is available <a href="https://www.pluggabletransports.info/spec/pt2draft3" target="_blank">here</a>.
The developments that led to the Pluggable Transports 2.0 specification included:
* An API for the Go programming language
* Support for the UDP protocol
* A wider variety of apps and implementations for different environments
Version 2.1 reframed this as a modular specification, so that components of the spec can be upgraded independently, and developers can be compliant even if their work is tied to one platform.
As you would expect, the specification for Pluggable Transports continues to evolve. You may find that the current spec doesn't work for your needs, and you might want to contribute to the next version. If that's the case, you can do that via <a href="https://github.com/Pluggable-Transports/Pluggable-Transports-spec" target="_blank">the Github repo</a>.
[[I'm done!]]
[[Go back|I'm a developer]]
[[Start over|Who are you?]]</tw-passagedata><tw-passagedata pid="12" name="Using Pluggable Transports in my Go app" tags="" position="13,359" size="100,100"><div style="text-align: center">''//Using Pluggable Transports in Go//''</div>
<p><img src="assets/game/plug.png" alt="Plugging in" style="padding: 0 15px; float: right; max-width: 300px" width="100%" />Our full guide for using Pluggable Transports in Go is available <a href="https://www.pluggabletransports.info/implement/go/" target="_blank">here</a>. We take you through these steps in a sample deployment:
* What are the Transport and TransportListener interfaces?
* Creating a Go program
* Using a Transport in a Server application
* Using a Transport in a Client application
Once you're done with that guide, you might want to look at how to test your app in different environments.
[[Testing Pluggable Transports]]
[[I'm done!]]
[[Go back|I'm a developer]]
[[Start over|Who are you?]]
<!--
{<table style="width:100%" valign="top">
<tr style="text-align:left">
<td style="text-align: left" width="60%">
Our full guide for using Pluggable Transports in Go is available <a href="https://www.pluggabletransports.info/implement/go/" target="_blank">here</a>. We take you through these steps in a sample deployment:
<br /><br />
* What are the Transport and TransportListener interfaces?<br />
* Creating a Go program<br />
* Using a Transport in a Server application<br />
* Using a Transport in a Client application<br />
Once you're done with that guide, you might want to look at how to test your app in different environments.<br /><br />
[[Testing Pluggable Transports]]<br />
[[I'm done!]]<br />
[[Go back|I'm a developer]]
</td>
<td><img src="assets/game/plug.png" alt="Plugging In" width="75%">
</td>
</tr>
</table>}
<!--
<div style="text-align: center">''//Using Pluggable Transports in Go//''</div>
Our full guide for using Pluggable Transports in Go is available <a href="https://www.pluggabletransports.info/implement/go/" target="_blank">here</a>. We take you through these steps in a sample deployment:
{<table style="width:100%" valign="top">
<tr style="text-align:left">
<td style="text-align: left" width="60%">
* What are the Transport and TransportListener interfaces?
* Creating a Go program
* Using a Transport in a Server application
* Using a Transport in a Client application
</td>
<td><img src="assets/game/plug.png" alt="Plugging In" width="100%">
</td>
</tr>
</table>}
Once you're done with that guide, you might want to look at how to test your app in different environments.-->
<!--
Our full guide for using Pluggable Transports in Go is available <a href="https://www.pluggabletransports.info/implement/go/" target="_blank">here</a>. We take you through these steps in a sample deployment:
* What are the Transport and TransportListener interfaces?
* Creating a Go program
* Using a Transport in a Server application
* Using a Transport in a Client application
Once you're done with that guide, you might want to look at how to test your app in different environments.
[[Testing Pluggable Transports]]
[[I'm done!]]
[[Go back|I'm a developer]]
[[Start over|Who are you?]]
--></tw-passagedata><tw-passagedata pid="13" name="Testing Pluggable Transports" tags="" position="357,765" size="100,100"><div style="text-align: center">''//Testing Pluggable Transports//''</div>
<img src="assets/game/tester.png" alt="Testing... testing..." style="padding: 0 15px; float: right; max-width: 300px" width="100%" />There are many different ways in which access to sites and services can be blocked, ranging from simple IP address or DNS blocking to rules created from deep packet inspection (DPI). You might want to test a network environment that simulates some of the many ways in which this can happen.
We recommend investigating the following services:
* <a href="https://github.com/OperatorFoundation/AdversaryLab" target="_blank">Adversary Lab</a>: Created by Operator Foundation, with support from the Pluggable Transports community. Adversary Lab is a service that analyzes captured network traffic to extract statistical properties. Using this analysis, filtering rules can be synthesized to block sampled traffic.
* <a href="https://openinternet.github.io/copilot/" target="_blank">CoPilot</a>: This is a wireless hotspot that provides an easy to use web interface for simulating custom censorship environments. It comes with various plugins and the ability to import censorship “rules” from standard Intrusion prevention and detection systems.
[[I'm done!]]
[[Go back|I'm a developer]]
[[Start over|Who are you?]]
<!--
{<table style="width:100%" valign="top">
<tr style="text-align:left">
<td style="text-align: left" width="50%">
We recommend investigating the following services:
<br /><br />
* <a href="https://github.com/OperatorFoundation/AdversaryLab" target="_blank">Adversary Lab</a>: Created by Operator Foundation, with support from the Pluggable Transports community. Adversary Lab is a service that analyzes captured network traffic to extract statistical properties. Using this analysis, filtering rules can be synthesized to block sampled traffic.
<br /><br />
* <a href="https://openinternet.github.io/copilot/" target="_blank">CoPilot</a>: This is a wireless hotspot that provides an easy to use web interface for simulating custom censorship environments. It comes with various plugins and the ability to import censorship “rules” from standard Intrusion prevention and detection systems.
</td>
<td><img src="assets/game/tester.png" alt="Testing... testing..." width="75%">
</td>
</tr>
</table>}
[[I'm done!]]
[[Go back|I'm a developer]]
[[Start over|Who are you?]]--></tw-passagedata><tw-passagedata pid="14" name="I want to write a transport" tags="" position="254,556" size="100,100"><div style="text-align: center">''//Writing Pluggable Transports//''</div>
Do you have an idea for a Pluggable Transport? Do you want to implement something that follows the current spec and can help improve the community's work?
The first place to start is to look at the [[Pluggable Transports specification]]. There is also a <a href="https://www.pluggabletransports.info/transports/" target="_blank">Transports Library</a> that will tell you about the existing transports.
When you're ready to move on, our <a href="https://www.pluggabletransports.info/build/how/" target="_blank">online guide</a> will talk you through creating a transport in the Go programming language, by providing an example implementation of the interface which provides a simple ROT13 cipher on the contents of the application data stream.
Don't forget to also look at <a href="https://www.surveymonkey.com/r/pluggabletransports" target="_blank">the Internews small grants pool</a> to investigate funding for new Pluggable Transports.
[[Testing Pluggable Transports]]
[[I'm done!]]
[[Go back|I'm a developer]]
[[Start over|Who are you?]]</tw-passagedata></tw-storydata>
<script title="Twine engine code" data-main="harlowe">"use strict";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,o=!1,i=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){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}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,o,i,a,s,u,c,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],"."===p)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(o=g[h.slice(0,f).join("/")],o&&(o=o[r])){i=o,s=l;break}if(i)break;!u&&m&&m[r]&&(u=m[r],c=l)}!i&&u&&(i=u,s=c),i&&(n.splice(0,s,i),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 o(e){return function(t){return n(t,e)}}function i(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 u(e){return e?s(e):[]}function c(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,i=s(e),u=i[0],c=t[1];return e=i[1],u&&(u=n(u,c),r=a(u)),u?e=r&&r.normalize?r.normalize(e,o(c)):n(e,c):(e=n(e,c),i=s(e),u=i[0],e=i[1],u&&(r=a(u))),{f:u?u+"!"+e:e,n:e,pr:u,p:r}},d={require:function(e){return r(e)},exports:function(e){var t=h[e];return"undefined"!=typeof t?t:h[e]={}},module:function(e){return{id:e,uri:"",exports:h[e],config:c(e)}}},l=function(n,o,s,c){var l,f,y,v,b,w,x,T=[],O="undefined"==typeof s?"undefined":_typeof(s);if(c=c||n,w=u(c),"undefined"===O||"function"===O){for(o=!o.length&&s.length?["require","exports","module"]:o,b=0;b<o.length;b+=1)if(v=p(o[b],w),f=v.f,"require"===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(c,!0),i(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,o,i){if("string"==typeof t)return d[t]?d[t](n):a(p(t,u(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=o,o=i),o?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){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=he.type(e);return"function"===n||he.isWindow(e)?!1:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function o(e,t,n){return he.isFunction(t)?he.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?he.grep(e,function(e){return e===t!==n}):"string"!=typeof t?he.grep(e,function(e){return ae.call(t,e)>-1!==n}):je.test(t)?he.filter(t,e,n):(t=he.filter(t,e),he.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return he.each(e.match(Ne)||[],function(e,n){t[n]=!0}),t}function s(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&he.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&he.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),he.ready()}function f(){this.expando=he.expando+f.uid++}function p(e){return"true"===e?!0:"false"===e?!1:"null"===e?null:e===+e+""?+e:Le.test(e)?JSON.parse(e):e}function d(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(qe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}De.set(e,t,n)}else n=void 0;return n}function h(e,t,n,r){var o,i=1,a=20,s=r?function(){return r.cur()}:function(){return he.css(e,t,"")},u=s(),c=n&&n[3]||(he.cssNumber[t]?"":"px"),l=(he.cssNumber[t]||"px"!==c&&+u)&&He.exec(he.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,he.style(e,t,l+c);while(i!==(i=s()/u)&&1!==i&&--a)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Be[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=he.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Be[r]=o,o)}function y(e,t){for(var n,r,o=[],i=0,a=e.length;a>i;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=Fe.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&ze(r)&&(o[i]=g(r))):"none"!==n&&(o[i]="none",Fe.set(r,"display",n)));for(i=0;a>i;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function m(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&he.nodeName(e,t)?he.merge([e],n):n}function v(e,t){for(var n=0,r=e.length;r>n;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function b(e,t,n,r,o){for(var i,a,s,u,c,l,f=t.createDocumentFragment(),p=[],d=0,h=e.length;h>d;d++)if(i=e[d],i||0===i)if("object"===he.type(i))he.merge(p,i.nodeType?[i]:i);else if(Je.test(i)){for(a=a||f.appendChild(t.createElement("div")),s=(Ue.exec(i)||["",""])[1].toLowerCase(),u=Xe[s]||Xe._default,a.innerHTML=u[1]+he.htmlPrefilter(i)+u[2],l=u[0];l--;)a=a.lastChild;he.merge(p,a.childNodes),a=f.firstChild,a.textContent=""}else p.push(t.createTextNode(i));for(f.textContent="",d=0;i=p[d++];)if(r&&he.inArray(i,r)>-1)o&&o.push(i);else if(c=he.contains(i.ownerDocument,i),a=m(f.appendChild(i),"script"),c&&v(a),n)for(l=0;i=a[l++];)Ge.test(i.type||"")&&n.push(i);return f}function w(){return!0}function x(){return!1}function T(){try{return te.activeElement}catch(e){}}function O(e,t,n,r,o,i){var a,s;if("object"===("undefined"==typeof t?"undefined":_typeof(t))){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)O(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=x;else if(!o)return e;return 1===i&&(a=o,o=function(e){return he().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=he.guid++)),e.each(function(){he.event.add(this,t,o,r,n)})}function j(e,t){return he.nodeName(e,"table")&&he.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function S(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function k(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function C(e,t){var n,r,o,i,a,s,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),a=Fe.set(t,i),c=i.events)){delete a.handle,a.events={};for(o in c)for(n=0,r=c[o].length;r>n;n++)he.event.add(t,o,c[o][n])}De.hasData(e)&&(s=De.access(e),u=he.extend({},s),De.set(t,u))}}function A(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Ve.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}function E(e,t,r,o){t=oe.apply([],t);var i,a,s,u,c,l,f=0,p=e.length,d=p-1,h=t[0],g=he.isFunction(h);if(g||p>1&&"string"==typeof h&&!pe.checkClone&&nt.test(h))return e.each(function(n){var i=e.eq(n);g&&(t[0]=h.call(this,n,i.html())),E(i,t,r,o)});if(p&&(i=b(t,e[0].ownerDocument,!1,e,o),a=i.firstChild,1===i.childNodes.length&&(i=a),a||o)){for(s=he.map(m(i,"script"),S),u=s.length;p>f;f++)c=i,f!==d&&(c=he.clone(c,!0,!0),u&&he.merge(s,m(c,"script"))),r.call(e[f],c,f);if(u)for(l=s[s.length-1].ownerDocument,he.map(s,k),f=0;u>f;f++)c=s[f],Ge.test(c.type||"")&&!Fe.access(c,"globalEval")&&he.contains(l,c)&&(c.src?he._evalUrl&&he._evalUrl(c.src):n(c.textContent.replace(ot,""),l))}return e}function N(e,t,n){for(var r,o=t?he.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||he.cleanData(m(r)),r.parentNode&&(n&&he.contains(r.ownerDocument,r)&&v(m(r,"script")),r.parentNode.removeChild(r));return e}function P(e,t,n){var r,o,i,a,s=e.style;return n=n||st(e),n&&(a=n.getPropertyValue(t)||n[t],""!==a||he.contains(e.ownerDocument,e)||(a=he.style(e,t)),!pe.pixelMarginRight()&&at.test(a)&&it.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i)),void 0!==a?a+"":a}function I(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function _(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in pt)return e}function M(e,t,n){var r=He.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o){var i,a=0;for(i=n===(r?"border":"content")?4:"width"===t?1:0;4>i;i+=2)"margin"===n&&(a+=he.css(e,n+$e[i],!0,o)),r?("content"===n&&(a-=he.css(e,"padding"+$e[i],!0,o)),"margin"!==n&&(a-=he.css(e,"border"+$e[i]+"Width",!0,o))):(a+=he.css(e,"padding"+$e[i],!0,o),"padding"!==n&&(a+=he.css(e,"border"+$e[i]+"Width",!0,o)));return a}function D(e,t,n){var r,o=!0,i=st(e),a="border-box"===he.css(e,"boxSizing",!1,i);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),0>=r||null==r){if(r=P(e,t,i),(0>r||null==r)&&(r=e.style[t]),at.test(r))return r;o=a&&(pe.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(a?"border":"content"),o,i)+"px"}function L(e,t,n,r,o){return new L.prototype.init(e,t,n,r,o)}function q(){ht&&(e.requestAnimationFrame(q),he.fx.tick())}function R(){return e.setTimeout(function(){dt=void 0}),dt=he.now()}function H(e,t){var n,r=0,o={height:e};for(t=t?1:0;4>r;r+=2-t)n=$e[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function $(e,t,n){for(var r,o=(B.tweeners[t]||[]).concat(B.tweeners["*"]),i=0,a=o.length;a>i;i++)if(r=o[i].call(n,t,e))return r}function z(e,t,n){var r,o,i,a,s,u,c,l,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ze(e),m=Fe.get(e,"fxshow");n.queue||(a=he._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--,he.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(o=t[r],gt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!m||void 0===m[r])continue;g=!0}d[r]=m&&m[r]||he.style(e,r)}if(u=!he.isEmptyObject(t),u||!he.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],c=m&&m.display,null==c&&(c=Fe.get(e,"display")),l=he.css(e,"display"),"none"===l&&(c?l=c:(y([e],!0),c=e.style.display||c,l=he.css(e,"display"),y([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===he.css(e,"float")&&(u||(p.done(function(){h.display=c}),null==c&&(l=h.display,c="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]})),u=!1;for(r in d)u||(m?"hidden"in m&&(g=m.hidden):m=Fe.access(e,"fxshow",{display:c}),i&&(m.hidden=!g),g&&y([e],!0),p.done(function(){g||y([e]),Fe.remove(e,"fxshow");for(r in d)he.style(e,r,d[r])})),u=$(g?m[r]:0,r,p),r in m||(m[r]=u.start,g&&(u.end=u.start,u.start=0))}}function W(e,t){var n,r,o,i,a;for(n in e)if(r=he.camelCase(n),o=t[r],i=e[n],he.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),a=he.cssHooks[r],a&&"expand"in a){i=a.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function B(e,t,n){var r,o,i=0,a=B.prefilters.length,s=he.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=dt||R(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,i=1-r,a=0,u=c.tweens.length;u>a;a++)c.tweens[a].run(i);return s.notifyWith(e,[c,i,n]),1>i&&u?n:(s.resolveWith(e,[c]),!1)},c=s.promise({elem:e,props:he.extend({},t),opts:he.extend(!0,{specialEasing:{},easing:he.easing._default},n),originalProperties:t,originalOptions:n,startTime:dt||R(),duration:n.duration,tweens:[],createTween:function(t,n){var r=he.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(o)return this;for(o=!0;r>n;n++)c.tweens[n].run(1);return t?(s.notifyWith(e,[c,1,0]),s.resolveWith(e,[c,t])):s.rejectWith(e,[c,t]),this}}),l=c.props;for(W(l,c.opts.specialEasing);a>i;i++)if(r=B.prefilters[i].call(c,e,l,c.opts))return he.isFunction(r.stop)&&(he._queueHooks(c.elem,c.opts.queue).stop=he.proxy(r.stop,r)),r;return he.map(l,$,c),he.isFunction(c.opts.start)&&c.opts.start.call(e,c),he.fx.timer(he.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function V(e){var t=e.match(Ne)||[];return t.join(" ")}function U(e){return e.getAttribute&&e.getAttribute("class")||""}function G(e,t,n,r){var o;if(he.isArray(t))he.each(t,function(t,o){n||kt.test(e)?r(e,o):G(e+"["+("object"===("undefined"==typeof o?"undefined":_typeof(o))&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==he.type(t))r(e,t);else for(o in t)G(e+"["+o+"]",t[o],n,r)}function X(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(Ne)||[];if(he.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function J(e,t,n,r){function o(s){var u;return i[s]=!0,he.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||a||i[c]?a?!(u=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),u}var i={},a=e===qt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Y(e,t){var n,r,o=he.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&he.extend(!0,e,r),e}function Q(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}return i?(i!==u[0]&&u.unshift(i),n[i]):void 0}function Z(e,t,n,r){var o,i,a,s,u,c={},l=e.dataTypes.slice();if(l[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=l.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(a=c[u+" "+i]||c["* "+i],!a)for(o in c)if(s=o.split(" "),s[1]===i&&(a=c[u+" "+s[0]]||c["* "+s[0]])){a===!0?a=c[o]:c[o]!==!0&&(i=s[0],l.unshift(s[1]));break}if(a!==!0)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function K(e){return he.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,oe=ee.concat,ie=ee.push,ae=ee.indexOf,se={},ue=se.toString,ce=se.hasOwnProperty,le=ce.toString,fe=le.call(Object),pe={},de="3.1.1",he=function e(t,n){return new e.fn.init(t,n)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ye=/^-ms-/,me=/-([a-z])/g,ve=function(e,t){return t.toUpperCase()};he.fn=he.prototype={jquery:de,constructor:he,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):0>e?this[e+this.length]:this[e]},pushStack:function(e){var t=he.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return he.each(this,e)},map:function(e){return this.pushStack(he.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ie,sort:ee.sort,splice:ee.splice},he.extend=he.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,u=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[s]||{},s++),"object"===("undefined"==typeof a?"undefined":_typeof(a))||he.isFunction(a)||(a={}),s===u&&(a=this,s--);u>s;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],r=e[t],a!==r&&(c&&r&&(he.isPlainObject(r)||(o=he.isArray(r)))?(o?(o=!1,i=n&&he.isArray(n)?n:[]):i=n&&he.isPlainObject(n)?n:{},a[t]=he.extend(c,i,r)):void 0!==r&&(a[t]=r));return a},he.extend({expando:"jQuery"+(de+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===he.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=he.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return e&&"[object Object]"===ue.call(e)?(t=ne(e))?(n=ce.call(t,"constructor")&&t.constructor,"function"==typeof n&&le.call(n)===fe):!0:!1},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"===("undefined"==typeof e?"undefined":_typeof(e))||"function"==typeof e?se[ue.call(e)]||"object":"undefined"==typeof e?"undefined":_typeof(e)},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(ye,"ms-").replace(me,ve)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,o=0;if(r(e))for(n=e.length;n>o&&t.call(e[o],o,e[o])!==!1;o++);else for(o in e)if(t.call(e[o],o,e[o])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?he.merge(n,"string"==typeof e?[e]:e):ie.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ae.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;n>r;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,a=e.length,s=!n;a>i;i++)r=!t(e[i],i),r!==s&&o.push(e[i]);return o},map:function(e,t,n){var o,i,a=0,s=[];if(r(e))for(o=e.length;o>a;a++)i=t(e[a],a,n),null!=i&&s.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&s.push(i);return oe.apply([],s)},guid:1,proxy:function e(t,n){var r,o,e;return"string"==typeof n&&(r=t[n],n=t,t=r),he.isFunction(t)?(o=re.call(arguments,2),e=function(){return t.apply(n||this,o.concat(re.call(arguments)))},e.guid=t.guid=t.guid||he.guid++,e):void 0},now:Date.now,support:pe}),"function"==typeof Symbol&&(he.fn[Symbol.iterator]=ee[Symbol.iterator]),he.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){se["[object "+t+"]"]=t.toLowerCase()});var be=function(e){function t(e,t,n,r){var o,i,a,s,u,c,l,p=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:$)!==_&&I(t),t=t||_,F)){if(11!==h&&(u=me.exec(e)))if(o=u[1]){if(9===h){if(!(a=t.getElementById(o)))return n;if(a.id===o)return n.push(a),n}else if(p&&(a=p.getElementById(o))&&R(t,a)&&a.id===o)return n.push(a),n}else{if(u[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&T.getElementsByClassName&&t.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(o)),n}if(!(!T.qsa||U[e+" "]||D&&D.test(e))){if(1!==h)p=t,l=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(xe,Te):t.setAttribute("id",s=H),c=k(e),i=c.length;i--;)c[i]="#"+s+" "+d(c[i]);l=c.join(","),p=ve.test(e)&&f(t.parentNode)||t}if(l)try{return Z.apply(n,p.querySelectorAll(l)),n}catch(e){}finally{s===H&&t.removeAttribute("id")}}}return A(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>O.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[H]=!0,e}function o(e){var t=_.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)O.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){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t?t.disabled===e:!1}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function d(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function h(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=W++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,u){var c,l,f,p=[z,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(f=t[H]||(t[H]={}),l=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[i])&&c[0]===z&&c[1]===s)return p[2]=c[2];if(l[i]=p,p[2]=e(t,n,u))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function y(e,n,r){for(var o=0,i=n.length;i>o;o++)t(e,n[o],r);return r}function m(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,c=null!=t;u>s;s++)(i=e[s])&&(!n||n(i,r,o))&&(a.push(i),c&&t.push(s));return a}function v(e,t,n,o,i,a){return o&&!o[H]&&(o=v(o)),i&&!i[H]&&(i=v(i,a)),r(function(r,a,s,u){var c,l,f,p=[],d=[],h=a.length,g=r||y(t||"*",s.nodeType?[s]:s,[]),v=!e||!r&&t?g:m(g,p,e,s,u),b=n?i||(r?e:h||o)?[]:a:v;if(n&&n(v,b,s,u),o)for(c=m(b,d),o(c,[],s,u),l=c.length;l--;)(f=c[l])&&(b[d[l]]=!(v[d[l]]=f));if(r){if(i||e){if(i){for(c=[],l=b.length;l--;)(f=b[l])&&c.push(v[l]=f);i(null,b=[],c,u)}for(l=b.length;l--;)(f=b[l])&&(c=i?ee(r,f):p[l])>-1&&(r[c]=!(a[c]=f))}}else b=m(b===a?b.splice(h,b.length):b),i?i(null,a,b,u):Z.apply(a,b)})}function b(e){for(var t,n,r,o=e.length,i=O.relative[e[0].type],a=i||O.relative[" "],s=i?1:0,u=h(function(e){return e===t},a,!0),c=h(function(e){return ee(t,e)>-1},a,!0),l=[function(e,n,r){var o=!i&&(r||n!==E)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];o>s;s++)if(n=O.relative[e[s].type])l=[h(g(l),n)];else{if(n=O.filter[e[s].type].apply(null,e[s].matches),n[H]){for(r=++s;o>r&&!O.relative[e[r].type];r++);return v(s>1&&g(l),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,r>s&&b(e.slice(s,r)),o>r&&b(e=e.slice(r)),o>r&&d(e))}l.push(n)}return g(l)}function w(e,n){var o=n.length>0,i=e.length>0,a=function(r,a,s,u,c){var l,f,p,d=0,h="0",g=r&&[],y=[],v=E,b=r||i&&O.find.TAG("*",c),w=z+=null==v?1:Math.random()||.1,x=b.length;for(c&&(E=a===_||a||c);h!==x&&null!=(l=b[h]);h++){if(i&&l){for(f=0,a||l.ownerDocument===_||(I(l),s=!F);p=e[f++];)if(p(l,a||_,s)){u.push(l);break}c&&(z=w)}o&&((l=!p&&l)&&d--,r&&g.push(l))}if(d+=h,o&&h!==d){for(f=0;p=n[f++];)p(g,y,a,s);if(r){if(d>0)for(;h--;)g[h]||y[h]||(y[h]=Y.call(u));y=m(y)}Z.apply(u,y),c&&!r&&y.length>0&&d+n.length>1&&t.uniqueSort(u)}return c&&(z=w,E=v),g};return o?r(a):a}var x,T,O,j,S,k,C,A,E,N,P,I,_,M,F,D,L,q,R,H="sizzle"+1*new Date,$=e.document,z=0,W=0,B=n(),V=n(),U=n(),G=function(e,t){return e===t&&(P=!0),0},X={}.hasOwnProperty,J=[],Y=J.pop,Q=J.push,Z=J.push,K=J.slice,ee=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\x00-\\xa0])+",oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ie=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),de={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","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}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?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?"\x00"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Oe=function(){I()},je=h(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{Z.apply(J=K.call($.childNodes),$.childNodes),J[$.childNodes.length].nodeType}catch(e){Z={apply:J.length?function(e,t){Q.apply(e,K.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},S=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},I=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:$;return r!==_&&9===r.nodeType&&r.documentElement?(_=r,M=_.documentElement,F=!S(_),$!==_&&(n=_.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Oe,!1):n.attachEvent&&n.attachEvent("onunload",Oe)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(_.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=ye.test(_.getElementsByClassName),T.getById=o(function(e){return M.appendChild(e).id=H,!_.getElementsByName||!_.getElementsByName(H).length}),T.getById?(O.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}},O.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(O.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},O.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),O.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},O.find.CLASS=T.getElementsByClassName&&function(e,t){return"undefined"!=typeof t.getElementsByClassName&&F?t.getElementsByClassName(e):void 0},L=[],D=[],(T.qsa=ye.test(_.querySelectorAll))&&(o(function(e){M.appendChild(e).innerHTML="<a id='"+H+"'></a><select id='"+H+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&D.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||D.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+H+"-]").length||D.push("~="),e.querySelectorAll(":checked").length||D.push(":checked"),e.querySelectorAll("a#"+H+"+*").length||D.push(".#.+[+~]")}),o(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&&D.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&D.push(":enabled",":disabled"),M.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&D.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),D.push(",.*:")})),(T.matchesSelector=ye.test(q=M.matches||M.webkitMatchesSelector||M.mozMatchesSelector||M.oMatchesSelector||M.msMatchesSelector))&&o(function(e){T.disconnectedMatch=q.call(e,"*"),q.call(e,"[s!='']:x"),L.push("!=",ie)}),D=D.length&&new RegExp(D.join("|")),L=L.length&&new RegExp(L.join("|")),t=ye.test(M.compareDocumentPosition),R=t||ye.test(M.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},G=t?function(e,t){if(e===t)return P=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===_||e.ownerDocument===$&&R($,e)?-1:t===_||t.ownerDocument===$&&R($,t)?1:N?ee(N,e)-ee(N,t):0:4&n?-1:1)}:function(e,t){if(e===t)return P=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,s=[e],u=[t];if(!o||!i)return e===_?-1:t===_?1:o?-1:i?1:N?ee(N,e)-ee(N,t):0;if(o===i)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===$?-1:u[r]===$?1:0},_):_},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==_&&I(e),n=n.replace(le,"='$1']"),!(!T.matchesSelector||!F||U[n+" "]||L&&L.test(n)||D&&D.test(n)))try{var r=q.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,_,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==_&&I(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==_&&I(e);var n=O.attrHandle[t.toLowerCase()],r=n&&X.call(O.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?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,o=0;if(P=!T.detectDuplicates,N=!T.sortStable&&e.slice(0),e.sort(G),P){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return N=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},O=t.selectors={cacheLength:50,createPseudo:r,match:de,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 de.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.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=B[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&B(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:n?(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(ae," ")+" ").indexOf(r)>-1:"|="===n?i===r||i.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,d,h,g=i!==a?"nextSibling":"previousSibling",y=t.parentNode,m=s&&t.nodeName.toLowerCase(),v=!u&&!s,b=!1;if(y){if(i){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[H]||(p[H]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],d=c[0]===z&&c[1],b=d&&c[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]=[z,d,b];break}}else if(v&&(p=t,f=p[H]||(p[H]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],d=c[0]===z&&c[1],b=d),b===!1)for(;(p=++d&&p&&p[g]||(b=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++b||(v&&(f=p[H]||(p[H]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[z,b]),p!==t)););return b-=o,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var o,i=O.pseudos[e]||O.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[H]?i(n):i.length>1?(o=[e,e,"",n],O.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),a=o.length;a--;)r=ee(e,o[a]),e[r]=!(t[r]=o[a])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=C(e.replace(se,"$1"));return o[H]?r(function(e,t,n,r){for(var i,a=o(e,null,r,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,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.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===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===M},focus:function(e){return e===_.activeElement&&(!_.hasFocus||_.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!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,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!O.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:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[0>n?n+t:n]}),even:l(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},O.pseudos.nth=O.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})O.pseudos[x]=s(x);for(x in{submit:!0,reset:!0})O.pseudos[x]=u(x);return p.prototype=O.filters=O.pseudos,O.setFilters=new p,k=t.tokenize=function(e,n){var r,o,i,a,s,u,c,l=V[e+" "];if(l)return n?0:l.slice(0);for(s=e,u=[],c=O.preFilter;s;){(!r||(o=ue.exec(s)))&&(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),r=!1,(o=ce.exec(s))&&(r=o.shift(),i.push({value:r,type:o[0].replace(se," ")}),s=s.slice(r.length));for(a in O.filter)!(o=de[a].exec(s))||c[a]&&!(o=c[a](o))||(r=o.shift(),i.push({value:r,type:a,matches:o}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):V(e,u).slice(0)},C=t.compile=function(e,t){var n,r=[],o=[],i=U[e+" "];if(!i){for(t||(t=k(e)),n=t.length;n--;)i=b(t[n]),i[H]?r.push(i):o.push(i);i=U(e,w(o,r)),i.selector=e}return i},A=t.select=function(e,t,n,r){var o,i,a,s,u,c="function"==typeof e&&e,l=!r&&k(e=c.selector||e);if(n=n||[],1===l.length){if(i=l[0]=l[0].slice(0),i.length>2&&"ID"===(a=i[0]).type&&9===t.nodeType&&F&&O.relative[i[1].type]){if(t=(O.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=de.needsContext.test(e)?0:i.length;o--&&(a=i[o],!O.relative[s=a.type]);)if((u=O.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&d(i),!e)return Z.apply(n,r),n;break}}return(c||C(e,l))(r,t,!F,n,!t||ve.test(e)&&f(t.parentNode)||t),n},T.sortStable=H.split("").sort(G).join("")===H,T.detectDuplicates=!!P,I(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(_.createElement("fieldset"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);he.find=be,he.expr=be.selectors,he.expr[":"]=he.expr.pseudos,he.uniqueSort=he.unique=be.uniqueSort,he.text=be.getText,he.isXMLDoc=be.isXML,he.contains=be.contains,he.escapeSelector=be.escape;var we=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&he(e).is(n))break;r.push(e)}return r},xe=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=he.expr.match.needsContext,Oe=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;he.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?he.find.matchesSelector(r,e)?[r]:[]:he.find.matches(e,he.grep(t,function(e){return 1===e.nodeType}))},he.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(he(e).filter(function(){for(t=0;r>t;t++)if(he.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;r>t;t++)he.find(e,o[t],n);return r>1?he.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?he(e):e||[],!1).length}});var Se,ke=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Ce=he.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||Se,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ke.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof he?t[0]:t,he.merge(this,he.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Oe.test(r[1])&&he.isPlainObject(t))for(r in t)he.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):he.isFunction(e)?void 0!==n.ready?n.ready(e):e(he):he.makeArray(e,this)};Ce.prototype=he.fn,Se=he(te);var Ae=/^(?:parents|prev(?:Until|All))/,Ee={children:!0,contents:!0,next:!0,prev:!0};he.fn.extend({has:function(e){var t=he(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(he.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&he(e);if(!Te.test(e))for(;o>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&he.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?he.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?ae.call(he(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(he.uniqueSort(he.merge(this.get(),he(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),he.each({parent:function e(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(e){return we(e,"parentNode")},parentsUntil:function(e,t,n){return we(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return we(e,"nextSibling")},prevAll:function(e){return we(e,"previousSibling")},nextUntil:function(e,t,n){return we(e,"nextSibling",n)},prevUntil:function(e,t,n){return we(e,"previousSibling",n)},siblings:function(e){return xe((e.parentNode||{}).firstChild,e)},children:function(e){return xe(e.firstChild)},contents:function(e){return e.contentDocument||he.merge([],e.childNodes)}},function(e,t){he.fn[e]=function(n,r){var o=he.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=he.filter(r,o)),this.length>1&&(Ee[e]||he.uniqueSort(o),Ae.test(e)&&o.reverse()),this.pushStack(o)}});var Ne=/[^\x20\t\r\n\f]+/g;he.Callbacks=function(e){e="string"==typeof e?a(e):he.extend({},e);var t,n,r,o,i=[],s=[],u=-1,c=function(){for(o=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<i.length;)i[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},l={add:function(){return i&&(n&&!t&&(u=i.length-1,s.push(n)),function t(n){he.each(n,function(n,r){he.isFunction(r)?e.unique&&l.has(r)||i.push(r):r&&r.length&&"string"!==he.type(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return he.each(arguments,function(e,t){for(var n;(n=he.inArray(t,i,n))>-1;)i.splice(n,1),u>=n&&u--}),this},has:function(e){return e?he.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=s=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=s=[],n||t||(i=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||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},he.extend({Deferred:function(t){var n=[["notify","progress",he.Callbacks("memory"),he.Callbacks("memory"),2],["resolve","done",he.Callbacks("once memory"),he.Callbacks("once memory"),0,"resolved"],["reject","fail",he.Callbacks("once memory"),he.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return he.Deferred(function(t){he.each(n,function(n,r){var o=he.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&he.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(a>t)){if(e=r.apply(c,l),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"===("undefined"==typeof e?"undefined":_typeof(e))||"function"==typeof e)&&e.then,he.isFunction(f)?o?f.call(e,i(a,n,s,o),i(a,n,u,o)):(a++,f.call(e,i(a,n,s,o),i(a,n,u,o),i(a,n,s,n.notifyWith))):(r!==s&&(c=void 0,l=[e]),(o||n.resolveWith)(c,l))}},p=o?f:function(){try{f()}catch(e){he.Deferred.exceptionHook&&he.Deferred.exceptionHook(e,p.stackTrace),t+1>=a&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(he.Deferred.getStackHook&&(p.stackTrace=he.Deferred.getStackHook()),e.setTimeout(p))}}var a=0;return he.Deferred(function(e){n[0][3].add(i(0,e,he.isFunction(o)?o:s,e.notifyWith)),n[1][3].add(i(0,e,he.isFunction(t)?t:s)),n[2][3].add(i(0,e,he.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?he.extend(e,o):o}},i={};return he.each(n,function(e,t){var a=t[2],s=t[5];o[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[0][2].lock),a.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=a.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=he.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(1>=t&&(c(e,i.done(a(n)).resolve,i.reject),"pending"===i.state()||he.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],a(n),i.reject);return i.promise()}});var Pe=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;he.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Pe.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},he.readyException=function(t){e.setTimeout(function(){throw t})};var Ie=he.Deferred();he.fn.ready=function(e){return Ie.then(e).catch(function(e){he.readyException(e)}),this},he.extend({isReady:!1,readyWait:1,holdReady:function(e){e?he.readyWait++:he.ready(!0)},ready:function(e){(e===!0?--he.readyWait:he.isReady)||(he.isReady=!0,e!==!0&&--he.readyWait>0||Ie.resolveWith(te,[he]))}}),he.ready.then=Ie.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(he.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var _e=function e(t,n,r,o,i,a,s){var u=0,c=t.length,l=null==r;if("object"===he.type(r)){i=!0;for(u in r)e(t,n,u,r[u],!0,a,s)}else if(void 0!==o&&(i=!0,he.isFunction(o)||(s=!0),l&&(s?(n.call(t,o),n=null):(l=n,n=function(e,t,n){return l.call(he(e),n)})),n))for(;c>u;u++)n(t[u],r,s?o:o.call(t[u],u,n(t[u],r)));return i?t:l?n.call(t):c?n(t[0],r):a},Me=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Me(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[he.camelCase(t)]=n;else for(r in t)o[he.camelCase(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][he.camelCase(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){he.isArray(t)?t=t.map(he.camelCase):(t=he.camelCase(t),t=t in r?[t]:t.match(Ne)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||he.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&&!he.isEmptyObject(t)}};var Fe=new f,De=new f,Le=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,qe=/[A-Z]/g;he.extend({hasData:function(e){return De.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return De.access(e,t,n)},removeData:function(e,t){De.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),he.fn.extend({data:function e(t,n){var r,o,e,i=this[0],a=i&&i.attributes;if(void 0===t){if(this.length&&(e=De.get(i),1===i.nodeType&&!Fe.get(i,"hasDataAttrs"))){for(r=a.length;r--;)a[r]&&(o=a[r].name,0===o.indexOf("data-")&&(o=he.camelCase(o.slice(5)),d(i,o,e[o])));Fe.set(i,"hasDataAttrs",!0)}return e}return"object"===("undefined"==typeof t?"undefined":_typeof(t))?this.each(function(){De.set(this,t)}):_e(this,function(e){var n;if(i&&void 0===e){if(n=De.get(i,t),void 0!==n)return n;if(n=d(i,t),void 0!==n)return n}else this.each(function(){De.set(this,t,e)})},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){De.remove(this,e)})}}),he.extend({queue:function e(t,n,r){var e;return t?(n=(n||"fx")+"queue",e=Fe.get(t,n),r&&(!e||he.isArray(r)?e=Fe.access(t,n,he.makeArray(r)):e.push(r)),e||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=he.queue(e,t),r=n.length,o=n.shift(),i=he._queueHooks(e,t),a=function(){he.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,a,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:he.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),he.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?he.queue(this[0],e):void 0===t?this:this.each(function(){var n=he.queue(this,e,t);he._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&he.dequeue(this,e)})},dequeue:function(e){return this.each(function(){he.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=he.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)n=Fe.get(i[a],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var Re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,He=new RegExp("^(?:([+-])=|)("+Re+")([a-z%]*)$","i"),$e=["Top","Right","Bottom","Left"],ze=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&he.contains(e.ownerDocument,e)&&"none"===he.css(e,"display")},We=function(e,t,n,r){var o,i,a={};for(i in t)a[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=a[i];return o},Be={};he.fn.extend({show:function(){return y(this,!0)},hide:function(){return y(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ze(this)?he(this).show():he(this).hide()})}});var Ve=/^(?:checkbox|radio)$/i,Ue=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ge=/^$|\/(?:java|ecma)script/i,Xe={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,"",""]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Je=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ye=te.documentElement,Qe=/^key/,Ze=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^([^.]*)(?:\.(.+)|)/;he.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,c,l,f,p,d,h,g,y=Fe.get(e);if(y)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&he.find.matchesSelector(Ye,o),n.guid||(n.guid=he.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof he&&he.event.triggered!==t.type?he.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Ne)||[""],c=t.length;c--;)s=Ke.exec(t[c])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d&&(f=he.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=he.event.special[d]||{},l=he.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&he.expr.match.needsContext.test(o),namespace:h.join(".")},i),(p=u[d])||(p=u[d]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,h,a)!==!1||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),he.event.global[d]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,c,l,f,p,d,h,g,y=Fe.hasData(e)&&Fe.get(e);if(y&&(u=y.events)){for(t=(t||"").match(Ne)||[""],c=t.length;c--;)if(s=Ke.exec(t[c])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){for(f=he.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=u[d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));a&&!p.length&&(f.teardown&&f.teardown.call(e,h,y.handle)!==!1||he.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)he.event.remove(e,d+t[c],n,r,!0);he.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=he.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[s.type]||[],l=he.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,s)!==!1){for(a=he.event.handlers.call(this,s,c),t=0;(o=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!s.isImmediatePropagationStopped();)(!s.rnamespace||s.rnamespace.test(i.namespace))&&(s.handleObj=i,s.data=i.data,r=((he.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),void 0!==r&&(s.result=r)===!1&&(s.preventDefault(),s.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,o,i,a,s=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],a={},n=0;u>n;n++)r=t[n],o=r.selector+" ",void 0===a[o]&&(a[o]=r.needsContext?he(o,this).index(c)>-1:he.find(o,this,null,[c]).length),a[o]&&i.push(r);i.length&&s.push({elem:c,handlers:i})}return c=this,u<t.length&&s.push({elem:c,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(he.Event.prototype,e,{enumerable:!0,configurable:!0,get:he.isFunction(t)?function(){return this.originalEvent?t(this.originalEvent):void 0}:function(){return this.originalEvent?this.originalEvent[e]:void 0},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[he.expando]?e:new he.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==T()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===T()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&he.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return he.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},he.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},he.Event=function(e,t){return this instanceof he.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?w:x,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&&he.extend(this,t),this.timeStamp=e&&e.timeStamp||he.now(),void(this[he.expando]=!0)):new he.Event(e,t)},he.Event.prototype={constructor:he.Event,isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=w,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=w,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=w,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},he.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,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&&Qe.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ze.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},he.event.addProp),he.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){he.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return(!o||o!==r&&!he.contains(r,o))&&(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),he.fn.extend({on:function(e,t,n,r){return O(this,e,t,n,r)},one:function(e,t,n,r){return O(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,he(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"===("undefined"==typeof e?"undefined":_typeof(e))){for(o in e)this.off(o,t,e[o]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=void 0),n===!1&&(n=x),this.each(function(){he.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;he.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function e(t,n,r){var o,i,a,s,e=t.cloneNode(!0),u=he.contains(t.ownerDocument,t);if(!(pe.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||he.isXMLDoc(t)))for(s=m(e),a=m(t),o=0,i=a.length;i>o;o++)A(a[o],s[o]);if(n)if(r)for(a=a||m(t),s=s||m(e),o=0,i=a.length;i>o;o++)C(a[o],s[o]);else C(t,e);return s=m(e,"script"),s.length>0&&v(s,!u&&m(t,"script")),e},cleanData:function(e){for(var t,n,r,o=he.event.special,i=0;void 0!==(n=e[i]);i++)if(Me(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?he.event.remove(n,r):he.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[De.expando]&&(n[De.expando]=void 0)}}}),he.fn.extend({detach:function(e){return N(this,e,!0)},remove:function(e){return N(this,e)},text:function(e){return _e(this,function(e){return void 0===e?he.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 E(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return E(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return E(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return E(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&&(he.cleanData(m(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return he.clone(this,e,t)})},html:function(e){return _e(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&&!tt.test(e)&&!Xe[(Ue.exec(e)||["",""])[1].toLowerCase()]){e=he.htmlPrefilter(e);try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(he.cleanData(m(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return E(this,arguments,function(t){var n=this.parentNode;he.inArray(this,e)<0&&(he.cleanData(m(this)),n&&n.replaceChild(t,this))},e)}}),he.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){he.fn[e]=function(e){for(var n,r=[],o=he(e),i=o.length-1,a=0;i>=a;a++)n=a===i?this:this.clone(!0),he(o[a])[t](n),ie.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,at=new RegExp("^("+Re+")(?!px)[a-z%]+$","i"),st=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(s){s.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Ye.appendChild(a);var t=e.getComputedStyle(s);n="1%"!==t.top,i="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",o="4px"===t.marginRight,Ye.removeChild(a),s=null}}var n,r,o,i,a=te.createElement("div"),s=te.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.appendChild(s),he.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),o},reliableMarginLeft:function(){return t(),i}}))}();var ut=/^(none|table(?!-c[ea]).+)/,ct={position:"absolute",visibility:"hidden",display:"block"},lt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],pt=te.createElement("div").style;he.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=P(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function e(t,n,r,o){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,a,s,u=he.camelCase(n),e=t.style;return n=he.cssProps[u]||(he.cssProps[u]=_(u)||u),s=he.cssHooks[n]||he.cssHooks[u],void 0===r?s&&"get"in s&&void 0!==(i=s.get(t,!1,o))?i:e[n]:(a="undefined"==typeof r?"undefined":_typeof(r),"string"===a&&(i=He.exec(r))&&i[1]&&(r=h(t,n,i),a="number"),null!=r&&r===r&&("number"===a&&(r+=i&&i[3]||(he.cssNumber[u]?"":"px")),pe.clearCloneStyle||""!==r||0!==n.indexOf("background")||(e[n]="inherit"),s&&"set"in s&&void 0===(r=s.set(t,r,o))||(e[n]=r)),void 0)}},css:function(e,t,n,r){var o,i,a,s=he.camelCase(t);return t=he.cssProps[s]||(he.cssProps[s]=_(s)||s),a=he.cssHooks[t]||he.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=P(e,t,r)),"normal"===o&&t in lt&&(o=lt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),he.each(["height","width"],function(e,t){he.cssHooks[t]={get:function(e,n,r){return n?!ut.test(he.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?D(e,t,r):We(e,ct,function(){return D(e,t,r)}):void 0},set:function(e,n,r){var o,i=r&&st(e),a=r&&F(e,t,r,"border-box"===he.css(e,"boxSizing",!1,i),i);return a&&(o=He.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=he.css(e,t)),M(e,n,a)}}}),he.cssHooks.marginLeft=I(pe.reliableMarginLeft,function(e,t){return t?(parseFloat(P(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{
marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px":void 0}),he.each({margin:"",padding:"",border:"Width"},function(e,t){he.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];4>r;r++)o[e+$e[r]+t]=i[r]||i[r-2]||i[0];return o}},it.test(e)||(he.cssHooks[e+t].set=M)}),he.fn.extend({css:function(e,t){return _e(this,function(e,t,n){var r,o,i={},a=0;if(he.isArray(t)){for(r=st(e),o=t.length;o>a;a++)i[t[a]]=he.css(e,t[a],!1,r);return i}return void 0!==n?he.style(e,t,n):he.css(e,t)},e,t,arguments.length>1)}}),he.Tween=L,L.prototype={constructor:L,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||he.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(he.cssNumber[n]?"":"px")},cur:function(){var e=L.propHooks[this.prop];return e&&e.get?e.get(this):L.propHooks._default.get(this)},run:function(e){var t,n=L.propHooks[this.prop];return this.pos=t=this.options.duration?he.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):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):L.propHooks._default.set(this),this}},L.prototype.init.prototype=L.prototype,L.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=he.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){he.fx.step[e.prop]?he.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[he.cssProps[e.prop]]&&!he.cssHooks[e.prop]?e.elem[e.prop]=e.now:he.style(e.elem,e.prop,e.now+e.unit)}}},L.propHooks.scrollTop=L.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},he.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},he.fx=L.prototype.init,he.fx.step={};var dt,ht,gt=/^(?:toggle|show|hide)$/,yt=/queueHooks$/;he.Animation=he.extend(B,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return h(n.elem,e,He.exec(t),n),n}]},tweener:function(e,t){he.isFunction(e)?(t=e,e=["*"]):e=e.match(Ne);for(var n,r=0,o=e.length;o>r;r++)n=e[r],B.tweeners[n]=B.tweeners[n]||[],B.tweeners[n].unshift(t)},prefilters:[z],prefilter:function(e,t){t?B.prefilters.unshift(e):B.prefilters.push(e)}}),he.speed=function(e,t,n){var r=e&&"object"===("undefined"==typeof e?"undefined":_typeof(e))?he.extend({},e):{complete:n||!n&&t||he.isFunction(e)&&e,duration:e,easing:n&&t||t&&!he.isFunction(t)&&t};return he.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration=r.duration in he.fx.speeds?he.fx.speeds[r.duration]:he.fx.speeds._default),(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){he.isFunction(r.old)&&r.old.call(this),r.queue&&he.dequeue(this,r.queue)},r},he.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 o=he.isEmptyObject(e),i=he.speed(t,n,r),a=function(){var t=B(this,he.extend({},e),i);(o||Fe.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||i.queue===!1?this.each(a):this.queue(i.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&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=he.timers,a=Fe.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&yt.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));(t||!n)&&he.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=he.timers,a=r?r.length:0;for(n.finish=!0,he.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),he.each(["toggle","show","hide"],function(e,t){var n=he.fn[t];he.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(H(t,!0),e,r,o)}}),he.each({slideDown:H("show"),slideUp:H("hide"),slideToggle:H("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){he.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),he.timers=[],he.fx.tick=function(){var e,t=0,n=he.timers;for(dt=he.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||he.fx.stop(),dt=void 0},he.fx.timer=function(e){he.timers.push(e),e()?he.fx.start():he.timers.pop()},he.fx.interval=13,he.fx.start=function(){ht||(ht=e.requestAnimationFrame?e.requestAnimationFrame(q):e.setInterval(he.fx.tick,he.fx.interval))},he.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(ht):e.clearInterval(ht),ht=null},he.fx.speeds={slow:600,fast:200,_default:400},he.fn.delay=function(t,n){return t=he.fx?he.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var o=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(o)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var mt,vt=he.expr.attrHandle;he.fn.extend({attr:function(e,t){return _e(this,he.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){he.removeAttr(this,e)})}}),he.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?he.prop(e,t,n):(1===i&&he.isXMLDoc(e)||(o=he.attrHooks[t.toLowerCase()]||(he.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void he.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=he.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&he.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(Ne);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return t===!1?he.removeAttr(e,n):e.setAttribute(n,n),n}},he.each(he.expr.match.bool.source.match(/\w+/g),function(e,t){var n=vt[t]||he.find.attr;vt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=vt[a],vt[a]=o,o=null!=n(e,t,r)?a:null,vt[a]=i),o}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;he.fn.extend({prop:function(e,t){return _e(this,he.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[he.propFix[e]||e]})}}),he.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&he.isXMLDoc(e)||(t=he.propFix[t]||t,o=he.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=he.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(he.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)}}),he.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){he.propFix[this.toLowerCase()]=this}),he.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(he.isFunction(e))return this.each(function(t){he(this).addClass(e.call(this,t,U(this)))});if("string"==typeof e&&e)for(t=e.match(Ne)||[];n=this[u++];)if(o=U(n),r=1===n.nodeType&&" "+V(o)+" "){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=V(r),o!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(he.isFunction(e))return this.each(function(t){he(this).removeClass(e.call(this,t,U(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Ne)||[];n=this[u++];)if(o=U(n),r=1===n.nodeType&&" "+V(o)+" "){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");s=V(r),o!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n="undefined"==typeof e?"undefined":_typeof(e);return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(he.isFunction(e)?function(n){he(this).toggleClass(e.call(this,n,U(this),t),t)}:function(){var t,r,o,i;if("string"===n)for(r=0,o=he(this),i=e.match(Ne)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else(void 0===e||"boolean"===n)&&(t=U(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+V(U(n))+" ").indexOf(t)>-1)return!0;return!1}});var xt=/\r/g;he.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=he.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,he(this).val()):e,null==o?o="":"number"==typeof o?o+="":he.isArray(o)&&(o=he.map(o,function(e){return null==e?"":e+""})),t=he.valHooks[this.type]||he.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=he.valHooks[o.type]||he.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(xt,""):null==n?"":n)}}}),he.extend({valHooks:{option:{get:function(e){var t=he.find.attr(e,"value");return null!=t?t:V(he.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?i+1:o.length;for(r=0>i?u:a?i:0;u>r;r++)if(n=o[r],!(!n.selected&&r!==i||n.disabled||n.parentNode.disabled&&he.nodeName(n.parentNode,"optgroup"))){if(t=he(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,o=e.options,i=he.makeArray(t),a=o.length;a--;)r=o[a],(r.selected=he.inArray(he.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),he.each(["radio","checkbox"],function(){he.valHooks[this]={set:function(e,t){return he.isArray(t)?e.checked=he.inArray(he(e).val(),t)>-1:void 0}},pe.checkOn||(he.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;he.extend(he.event,{trigger:function(t,n,r,o){var i,a,s,u,c,l,f,p=[r||te],d=ce.call(t,"type")?t.type:t,h=ce.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(d+he.event.triggered)&&(d.indexOf(".")>-1&&(h=d.split("."),d=h.shift(),h.sort()),c=d.indexOf(":")<0&&"on"+d,t=t[he.expando]?t:new he.Event(d,"object"===("undefined"==typeof t?"undefined":_typeof(t))&&t),t.isTrigger=o?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:he.makeArray(n,[t]),f=he.event.special[d]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!he.isWindow(r)){for(u=f.delegateType||d,Tt.test(u+d)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||te)&&p.push(s.defaultView||s.parentWindow||e)}for(i=0;(a=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||d,l=(Fe.get(a,"events")||{})[t.type]&&Fe.get(a,"handle"),l&&l.apply(a,n),l=c&&a[c],l&&l.apply&&Me(a)&&(t.result=l.apply(a,n),t.result===!1&&t.preventDefault());return t.type=d,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!Me(r)||c&&he.isFunction(r[d])&&!he.isWindow(r)&&(s=r[c],s&&(r[c]=null),he.event.triggered=d,r[d](),he.event.triggered=void 0,s&&(r[c]=s)),t.result}},simulate:function(e,t,n){var r=he.extend(new he.Event,n,{type:e,isSimulated:!0});he.event.trigger(r,null,t)}}),he.fn.extend({trigger:function(e,t){return this.each(function(){he.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?he.event.trigger(e,t,n,!0):void 0}}),he.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){he.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),he.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||he.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){he.event.simulate(t,e.target,he.event.fix(e))};he.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ot=e.location,jt=he.now(),St=/\?/;he.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)&&he.error("Invalid XML: "+t),n};var kt=/\[\]$/,Ct=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Et=/^(?:input|select|textarea|keygen)/i;he.param=function(e,t){var n,r=[],o=function(e,t){var n=he.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(he.isArray(e)||e.jquery&&!he.isPlainObject(e))he.each(e,function(){o(this.name,this.value)});else for(n in e)G(n,e[n],t,o);return r.join("&")},he.fn.extend({serialize:function(){return he.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=he.prop(this,"elements");return e?he.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!he(this).is(":disabled")&&Et.test(this.nodeName)&&!At.test(e)&&(this.checked||!Ve.test(e))}).map(function(e,t){var n=he(this).val();return null==n?null:he.isArray(n)?he.map(n,function(e){return{name:t.name,value:e.replace(Ct,"\r\n")}}):{name:t.name,value:n.replace(Ct,"\r\n")}}).get()}});var Nt=/%20/g,Pt=/#.*$/,It=/([?&])_=[^&]*/,_t=/^(.*?):[ \t]*([^\r\n]*)$/gm,Mt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Dt=/^\/\//,Lt={},qt={},Rt="*/".concat("*"),Ht=te.createElement("a");Ht.href=Ot.href,he.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ot.href,type:"GET",isLocal:Mt.test(Ot.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,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":he.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Y(Y(e,he.ajaxSettings),t):Y(he.ajaxSettings,e)},ajaxPrefilter:X(Lt),ajaxTransport:X(qt),ajax:function(t,n){function r(t,n,r,s){var c,p,d,w,x,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,a=s||"",O.readyState=t>0?4:0,c=t>=200&&300>t||304===t,r&&(w=Q(h,O,r)),w=Z(h,w,O,c),c?(h.ifModified&&(x=O.getResponseHeader("Last-Modified"),x&&(he.lastModified[i]=x),x=O.getResponseHeader("etag"),x&&(he.etag[i]=x)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=w.state,p=w.data,d=w.error,c=!d)):(d=T,(t||!T)&&(T="error",0>t&&(t=0))),O.status=t,O.statusText=(n||T)+"",c?m.resolveWith(g,[p,T,O]):m.rejectWith(g,[O,T,d]),O.statusCode(b),b=void 0,f&&y.trigger(c?"ajaxSuccess":"ajaxError",[O,h,c?p:d]),v.fireWith(g,[O,T]),f&&(y.trigger("ajaxComplete",[O,h]),--he.active||he.event.trigger("ajaxStop")))}"object"===("undefined"==typeof t?"undefined":_typeof(t))&&(n=t,t=void 0),n=n||{};var o,i,a,s,u,c,l,f,p,d,h=he.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?he(g):he.event,m=he.Deferred(),v=he.Callbacks("once memory"),b=h.statusCode||{},w={},x={},T="canceled",O={readyState:0,getResponseHeader:function(e){var t;if(l){if(!s)for(s={};t=_t.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},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)O.always(e[O.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(m.promise(O),h.url=((t||h.url||Ot.href)+"").replace(Dt,Ot.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Ne)||[""],null==h.crossDomain){c=te.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Ht.protocol+"//"+Ht.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=he.param(h.data,h.traditional)),J(Lt,h,n,O),l)return O;f=he.event&&h.global,f&&0===he.active++&&he.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Ft.test(h.type),i=h.url.replace(Pt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Nt,"+")):(d=h.url.slice(i.length),h.data&&(i+=(St.test(i)?"&":"?")+h.data,delete h.data),h.cache===!1&&(i=i.replace(It,"$1"),d=(St.test(i)?"&":"?")+"_="+jt++ +d),h.url=i+d),h.ifModified&&(he.lastModified[i]&&O.setRequestHeader("If-Modified-Since",he.lastModified[i]),he.etag[i]&&O.setRequestHeader("If-None-Match",he.etag[i])),(h.data&&h.hasContent&&h.contentType!==!1||n.contentType)&&O.setRequestHeader("Content-Type",h.contentType),O.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Rt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)O.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(h.beforeSend.call(g,O,h)===!1||l))return O.abort();if(T="abort",v.add(h.complete),O.done(h.success),O.fail(h.error),o=J(qt,h,n,O)){if(O.readyState=1,f&&y.trigger("ajaxSend",[O,h]),l)return O;h.async&&h.timeout>0&&(u=e.setTimeout(function(){O.abort("timeout")},h.timeout));try{l=!1,o.send(w,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return O},getJSON:function(e,t,n){return he.get(e,t,n,"json")},getScript:function(e,t){return he.get(e,void 0,t,"script")}}),he.each(["get","post"],function(e,t){he[t]=function(e,n,r,o){return he.isFunction(n)&&(o=o||r,r=n,n=void 0),he.ajax(he.extend({url:e,type:t,dataType:o,data:n,success:r},he.isPlainObject(e)&&e))}}),he._evalUrl=function(e){return he.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},he.fn.extend({wrapAll:function(e){var t;return this[0]&&(he.isFunction(e)&&(e=e.call(this[0])),t=he(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 this.each(he.isFunction(e)?function(t){he(this).wrapInner(e.call(this,t))}:function(){var t=he(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=he.isFunction(e);return this.each(function(n){he(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){he(this).replaceWith(this.childNodes)}),this}}),he.expr.pseudos.hidden=function(e){return!he.expr.pseudos.visible(e)},he.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},he.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var $t={0:200,1223:204},zt=he.ajaxSettings.xhr();pe.cors=!!zt&&"withCredentials"in zt,pe.ajax=zt=!!zt,he.ajaxTransport(function(t){var n,r;return pe.cors||zt&&!t.crossDomain?{send:function(o,i){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||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i($t[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=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()}}:void 0}),he.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),he.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 he.globalEval(e),e}}}),he.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),he.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=he("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Wt=[],Bt=/(=)\?(?=&|$)|\?\?/;he.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Wt.pop()||he.expando+"_"+jt++;return this[e]=!0,e}}),he.ajaxPrefilter("json jsonp",function(t,n,r){var o,i,a,s=t.jsonp!==!1&&(Bt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bt.test(t.data)&&"data");return s||"jsonp"===t.dataTypes[0]?(o=t.jsonpCallback=he.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Bt,"$1"+o):t.jsonp!==!1&&(t.url+=(St.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return a||he.error(o+" was not called"),a[0]},t.dataTypes[0]="json",i=e[o],e[o]=function(){a=arguments},r.always(function(){void 0===i?he(e).removeProp(o):e[o]=i,t[o]&&(t.jsonpCallback=n.jsonpCallback,Wt.push(o)),a&&he.isFunction(i)&&i(a[0]),a=i=void 0}),"script"):void 0}),pe.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),he.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,o,i;return t||(pe.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),o=Oe.exec(e),i=!n&&[],o?[t.createElement(o[1])]:(o=b([e],t,i),i&&i.length&&he(i).remove(),he.merge([],o.childNodes))},he.fn.load=function(e,t,n){var r,o,i,a=this,s=e.indexOf(" ");return s>-1&&(r=V(e.slice(s)),e=e.slice(0,s)),he.isFunction(t)?(n=t,t=void 0):t&&"object"===("undefined"==typeof t?"undefined":_typeof(t))&&(o="POST"),a.length>0&&he.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,a.html(r?he("<div>").append(he.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},he.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){he.fn[t]=function(e){return this.on(t,e)}}),he.expr.pseudos.animated=function(e){return he.grep(he.timers,function(t){return e===t.elem}).length},he.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,c,l=he.css(e,"position"),f=he(e),p={};"static"===l&&(e.style.position="relative"),s=f.offset(),i=he.css(e,"top"),u=he.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(i+u).indexOf("auto")>-1,c?(r=f.position(),a=r.top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),he.isFunction(t)&&(t=t.call(e,n,he.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+o),"using"in t?t.using.call(e,p):f.css(p)}},he.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){he.offset.setOffset(this,e,t)});var t,n,r,o,i=this[0];if(i)return i.getClientRects().length?(r=i.getBoundingClientRect(),r.width||r.height?(o=i.ownerDocument,n=K(o),t=o.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===he.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),he.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+he.css(e[0],"borderTopWidth",!0),left:r.left+he.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-he.css(n,"marginTop",!0),left:t.left-r.left-he.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===he.css(e,"position");)e=e.offsetParent;return e||Ye})}}),he.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;he.fn[e]=function(r){return _e(this,function(e,r,o){var i=K(e);return void 0===o?i?i[t]:e[r]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o)},e,r,arguments.length)}}),he.each(["top","left"],function(e,t){he.cssHooks[t]=I(pe.pixelPosition,function(e,n){return n?(n=P(e,t),at.test(n)?he(e).position()[t]+"px":n):void 0})}),he.each({Height:"height",Width:"width"},function(e,t){he.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){he.fn[r]=function(o,i){var a=arguments.length&&(n||"boolean"!=typeof o),s=n||(o===!0||i===!0?"margin":"border");return _e(this,function(t,n,o){var i;return he.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?he.css(t,n,s):he.style(t,n,o,s)},t,a?o:void 0,a)}})}),he.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)}}),he.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return he});var Vt=e.jQuery,Ut=e.$;return he.noConflict=function(t){return e.$===he&&(e.$=Ut),t&&e.jQuery===he&&(e.jQuery=Vt),he},t||(e.jQuery=e.$=he),he}),/*!
* 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.1
* see https://github.com/paulmillr/es6-shim/blob/0.35.1/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,o=Object.keys,i=function(e){return function(){return!t(e,this,arguments)}},a=function(e){try{return e(),!1}catch(e){return!0}},s=function(e){try{return e()}catch(e){return!1}},u=i(a),c=function(){return!a(function(){Object.defineProperty({},"x",{get:function(){}})})},l=!!Object.defineProperty&&c(),f="foo"===function(){}.name,p=Function.call.bind(Array.prototype.forEach),d=Function.call.bind(Array.prototype.reduce),h=Function.call.bind(Array.prototype.filter),g=Function.call.bind(Array.prototype.some),y=function(e,t,n,r){!r&&t in e||(l?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n}):e[t]=n)},m=function(e,t,n){p(o(t),function(r){var o=t[r];y(e,r,o,!!n)})},v=Function.call.bind(Object.prototype.toString),b="function"==typeof/abc/?function(e){return"function"==typeof e&&"[object Function]"===v(e)}:function(e){return"function"==typeof e},w={getter:function(e,t,n){if(!l)throw new TypeError("getters require true ES5 support");Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get:n})},proxy:function(e,t,n){if(!l)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(l){var r=Object.getOwnPropertyDescriptor(e,t);r.value=n,Object.defineProperty(e,t,r)}else e[t]=n},defineByDescriptor:function(e,t,n){l?Object.defineProperty(e,t,n):"value"in n&&(e[t]=n.value)},preserveToString:function(e,t){t&&b(t.toString)&&y(e,"toString",t.toString.bind(t),!0)}},x=Object.create||function(e,t){var n=function(){};n.prototype=e;var r=new n;return"undefined"!=typeof t&&o(t).forEach(function(e){w.defineByDescriptor(r,e,t[e])}),r},T=function(e,t){return Object.setPrototypeOf?s(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=x(e.prototype,{constructor:{value:n}}),t(n)}):!1},O=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")},j=O(),S=j.isFinite,k=Function.call.bind(String.prototype.indexOf),C=Function.apply.bind(Array.prototype.indexOf),A=Function.call.bind(Array.prototype.concat),E=Function.call.bind(String.prototype.slice),N=Function.call.bind(Array.prototype.push),P=Function.apply.bind(Array.prototype.push),I=Function.call.bind(Array.prototype.shift),_=Math.max,M=Math.min,F=Math.floor,D=Math.abs,L=Math.exp,q=Math.log,R=Math.sqrt,H=Function.call.bind(Object.prototype.hasOwnProperty),$=function(){},z=j.Symbol||{},W=z.species||"@@species",B=Number.isNaN||function(e){return e!==e},V=Number.isFinite||function(e){return"number"==typeof e&&S(e)},U=b(Math.sign)?Math.sign:function(e){var t=Number(e);return 0===t?t:B(t)?t:0>t?-1:1},G=function(e){return"[object Arguments]"===v(e)},X=function(e){return null!==e&&"object"===("undefined"==typeof e?"undefined":_typeof(e))&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==v(e)&&"[object Function]"===v(e.callee)},J=G(arguments)?G:X,Y={primitive:function(e){return null===e||"function"!=typeof e&&"object"!==("undefined"==typeof e?"undefined":_typeof(e))},string:function(e){return"[object String]"===v(e)},regex:function(e){return"[object RegExp]"===v(e)},symbol:function(e){return"function"==typeof j.Symbol&&"symbol"===("undefined"==typeof e?"undefined":_typeof(e))}},Q=function(e,t,n){var r=e[t];y(e,t,n,!0),w.preserveToString(e[t],r)},Z="function"==typeof z&&"function"==typeof z.for&&Y.symbol(z()),K=Y.symbol(z.iterator)?z.iterator:"_es6-shim iterator_";j.Set&&"function"==typeof(new j.Set)["@@iterator"]&&(K="@@iterator"),j.Reflect||y(j,"Reflect",{},!0);var ee=j.Reflect,te=String,ne={Call:function(e,n){var r=arguments.length>2?arguments[2]:[];if(!ne.IsCallable(e))throw new TypeError(e+" is not a function");return t(e,n,r)},RequireObjectCoercible:function(e,t){if(null==e)throw new TypeError(t||"Cannot call method on "+e);return e},TypeIsObject:function(e){return void 0===e||null===e||e===!0||e===!1?!1:"function"==typeof e||"object"===("undefined"==typeof e?"undefined":_typeof(e))},ToObject:function(e,t){return Object(ne.RequireObjectCoercible(e,t))},IsCallable:b,IsConstructor:function(e){return ne.IsCallable(e)},ToInt32:function(e){return ne.ToNumber(e)>>0},ToUint32:function(e){return ne.ToNumber(e)>>>0},ToNumber:function(e){if("[object Symbol]"===v(e))throw new TypeError("Cannot convert a Symbol value to a number");return+e},ToInteger:function(e){var t=ne.ToNumber(e);return B(t)?0:0!==t&&V(t)?(t>0?1:-1)*F(D(t)):t},ToLength:function(e){var t=ne.ToInteger(e);return 0>=t?0:t>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t},SameValue:function(e,t){return e===t?0===e?1/e===1/t:!0:B(e)&&B(t)},SameValueZero:function(e,t){return e===t||B(e)&&B(t)},IsIterable:function(e){return ne.TypeIsObject(e)&&("undefined"!=typeof e[K]||J(e))},GetIterator:function(t){if(J(t))return new e(t,"value");var n=ne.GetMethod(t,K);if(!ne.IsCallable(n))throw new TypeError("value is not an iterable");var r=ne.Call(n,t);if(!ne.TypeIsObject(r))throw new TypeError("bad iterator");return r},GetMethod:function(e,t){var n=ne.ToObject(e)[t];if(void 0===n||null===n)return void 0;if(!ne.IsCallable(n))throw new TypeError("Method not callable: "+t);return n},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var n=ne.GetMethod(e,"return");if(void 0!==n){var r,o;try{r=ne.Call(n,e)}catch(e){o=e}if(!t){if(o)throw o;if(!ne.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(!ne.TypeIsObject(t))throw new TypeError("bad iterator");return t},IteratorStep:function(e){var t=ne.IteratorNext(e),n=ne.IteratorComplete(t);return n?!1:t},Construct:function(e,t,n,r){var o="undefined"==typeof n?e:n;if(!r&&ee.construct)return ee.construct(e,t,o);var i=o.prototype;ne.TypeIsObject(i)||(i=Object.prototype);var a=x(i),s=ne.Call(e,a,t);return ne.TypeIsObject(s)?s:a},SpeciesConstructor:function(e,t){var n=e.constructor;if(void 0===n)return t;if(!ne.TypeIsObject(n))throw new TypeError("Bad constructor");var r=n[W];if(void 0===r||null===r)return t;if(!ne.IsConstructor(r))throw new TypeError("Bad @@species");return r},CreateHTML:function(e,t,n,r){var o=ne.ToString(e),i="<"+t;if(""!==n){var a=ne.ToString(r),s=a.replace(/"/g,""");i+=" "+n+'="'+s+'"'}var u=i+">",c=u+o;return c+"</"+t+">"},IsRegExp:function(e){if(!ne.TypeIsObject(e))return!1;var t=e[z.match];return"undefined"!=typeof t?!!t:Y.regex(e)},ToString:function(e){return te(e)}};if(l&&Z){var re=function(e){if(Y.symbol(z[e]))return z[e];var t=z.for("Symbol."+e);return Object.defineProperty(z,e,{configurable:!1,enumerable:!1,writable:!1,value:t}),t};if(!Y.symbol(z.search)){var oe=re("search"),ie=String.prototype.search;y(RegExp.prototype,oe,function(e){return ne.Call(ie,e,[this])});var ae=function(e){var t=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var n=ne.GetMethod(e,oe);if("undefined"!=typeof n)return ne.Call(n,e,[t])}return ne.Call(ie,t,[ne.ToString(e)])};Q(String.prototype,"search",ae)}if(!Y.symbol(z.replace)){var se=re("replace"),ue=String.prototype.replace;y(RegExp.prototype,se,function(e,t){return ne.Call(ue,e,[this,t])});var ce=function(e,t){var n=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var r=ne.GetMethod(e,se);if("undefined"!=typeof r)return ne.Call(r,e,[n,t])}return ne.Call(ue,n,[ne.ToString(e),t])};Q(String.prototype,"replace",ce)}if(!Y.symbol(z.split)){var le=re("split"),fe=String.prototype.split;y(RegExp.prototype,le,function(e,t){return ne.Call(fe,e,[this,t])});var pe=function(e,t){var n=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var r=ne.GetMethod(e,le);if("undefined"!=typeof r)return ne.Call(r,e,[n,t])}return ne.Call(fe,n,[ne.ToString(e),t])};Q(String.prototype,"split",pe)}var de=Y.symbol(z.match),he=de&&function(){var e={};return e[z.match]=function(){return 42},42!=="a".match(e)}();if(!de||he){var ge=re("match"),ye=String.prototype.match;y(RegExp.prototype,ge,function(e){return ne.Call(ye,e,[this])});var me=function(e){var t=ne.RequireObjectCoercible(this);if(null!==e&&"undefined"!=typeof e){var n=ne.GetMethod(e,ge);if("undefined"!=typeof n)return ne.Call(n,e,[t])}return ne.Call(ye,t,[ne.ToString(e)])};Q(String.prototype,"match",me)}}var ve=function(e,t,n){w.preserveToString(t,e),Object.setPrototypeOf&&Object.setPrototypeOf(e,t),l?p(Object.getOwnPropertyNames(e),function(r){r in $||n[r]||w.proxy(e,r,t)}):p(Object.keys(e),function(r){r in $||n[r]||(t[r]=e[r])}),t.prototype=e.prototype,w.redefine(e.prototype,"constructor",t)},be=function(){return this},we=function(e){l&&!H(e,W)&&w.getter(e,W,be)},xe=function(e,t){var n=t||function(){return this};y(e,K,n),!e[K]&&Y.symbol(K)&&(e[K]=n)},Te=function(e,t,n){l?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n},Oe=function(e,t,n){if(Te(e,t,n),!ne.SameValue(e[t],n))throw new TypeError("property is nonconfigurable")},je=function(e,t,n,r){if(!ne.TypeIsObject(e))throw new TypeError("Constructor requires `new`: "+t.name);var o=t.prototype;ne.TypeIsObject(o)||(o=n);var i=x(o);for(var a in r)if(H(r,a)){var s=r[a];y(i,a,s,!0)}return i};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var Se=String.fromCodePoint;Q(String,"fromCodePoint",function(){return ne.Call(Se,this,arguments)})}var ke={fromCodePoint:function(){for(var e,t=[],n=0,r=arguments.length;r>n;n++){if(e=Number(arguments[n]),!ne.SameValue(e,ne.ToInteger(e))||0>e||e>1114111)throw new RangeError("Invalid code point "+e);65536>e?N(t,String.fromCharCode(e)):(e-=65536,N(t,String.fromCharCode((e>>10)+55296)),N(t,String.fromCharCode(e%1024+56320)))}return t.join("")},raw:function(e){var t=ne.ToObject(e,"bad callSite"),n=ne.ToObject(t.raw,"bad raw value"),r=n.length,o=ne.ToLength(r);if(0>=o)return"";for(var i,a,s,u,c=[],l=0;o>l&&(i=ne.ToString(l),s=ne.ToString(n[i]),N(c,s),!(l+1>=o));)a=l+1<arguments.length?arguments[l+1]:"",u=ne.ToString(a),N(c,u),l+=1;return c.join("")}};String.raw&&"xy"!==String.raw({raw:{0:"x",1:"y",length:2}})&&Q(String,"raw",ke.raw),m(String,ke);var Ce=function e(t,n){if(1>n)return"";if(n%2)return e(t,n-1)+t;var r=e(t,n/2);return r+r},Ae=1/0,Ee={repeat:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this)),n=ne.ToInteger(e);if(0>n||n>=Ae)throw new RangeError("repeat count must be less than infinity and not overflow maximum string size");return Ce(t,n)},startsWith:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this));if(ne.IsRegExp(e))throw new TypeError('Cannot call method "startsWith" with a regex');var n,r=ne.ToString(e);arguments.length>1&&(n=arguments[1]);var o=_(ne.ToInteger(n),0);return E(t,o,o+r.length)===r},endsWith:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this));if(ne.IsRegExp(e))throw new TypeError('Cannot call method "endsWith" with a regex');var n,r=ne.ToString(e),o=t.length;arguments.length>1&&(n=arguments[1]);var i="undefined"==typeof n?o:ne.ToInteger(n),a=M(_(i,0),o);return E(t,a-r.length,a)===r},includes:function(e){if(ne.IsRegExp(e))throw new TypeError('"includes" does not accept a RegExp');var t,n=ne.ToString(e);return arguments.length>1&&(t=arguments[1]),-1!==k(this,n,t)},codePointAt:function(e){var t=ne.ToString(ne.RequireObjectCoercible(this)),n=ne.ToInteger(e),r=t.length;if(n>=0&&r>n){var o=t.charCodeAt(n),i=n+1===r;if(55296>o||o>56319||i)return o;var a=t.charCodeAt(n+1);return 56320>a||a>57343?o:1024*(o-55296)+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",1/0)!==!1&&Q(String.prototype,"includes",Ee.includes),String.prototype.startsWith&&String.prototype.endsWith){var Ne=a(function(){"/a/".startsWith(/a/)}),Pe=s(function(){return"abc".startsWith("a",1/0)===!1});Ne&&Pe||(Q(String.prototype,"startsWith",Ee.startsWith),Q(String.prototype,"endsWith",Ee.endsWith))}if(Z){var Ie=s(function(){var e=/a/;return e[z.match]=!1,"/a/".startsWith(e)});Ie||Q(String.prototype,"startsWith",Ee.startsWith);var _e=s(function(){var e=/a/;return e[z.match]=!1,"/a/".endsWith(e)});_e||Q(String.prototype,"endsWith",Ee.endsWith);var Me=s(function(){var e=/a/;return e[z.match]=!1,"/a/".includes(e)});Me||Q(String.prototype,"includes",Ee.includes)}m(String.prototype,Ee);var Fe=[" \n\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join(""),De=new RegExp("(^["+Fe+"]+)|(["+Fe+"]+$)","g"),Le=function(){return ne.ToString(ne.RequireObjectCoercible(this)).replace(De,"")},qe=["\x85","\u200b","\ufffe"].join(""),Re=new RegExp("["+qe+"]","g"),He=/^[\-+]0x[0-9a-f]+$/i,$e=qe.trim().length!==qe.length;y(String.prototype,"trim",Le,$e);var ze=function(e){return{value:e,done:0===arguments.length}},We=function(e){ne.RequireObjectCoercible(e),this._s=ne.ToString(e),this._i=0};We.prototype.next=function(){var e=this._s,t=this._i;if("undefined"==typeof e||t>=e.length)return this._s=void 0,ze();var n,r,o=e.charCodeAt(t);return 55296>o||o>56319||t+1===e.length?r=1:(n=e.charCodeAt(t+1),r=56320>n||n>57343?1:2),this._i=t+r,ze(e.substr(t,r))},xe(We.prototype),xe(String.prototype,function(){return new We(this)});var Be={from:function(e){var t,r=this;arguments.length>1&&(t=arguments[1]);var o,i;if("undefined"==typeof t)o=!1;else{if(!ne.IsCallable(t))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(i=arguments[2]),o=!0}var a,s,u,c="undefined"!=typeof(J(e)||ne.GetMethod(e,K));if(c){s=ne.IsConstructor(r)?Object(new r):[];var l,f,p=ne.GetIterator(e);for(u=0;;){if(l=ne.IteratorStep(p),l===!1)break;f=l.value;try{o&&(f="undefined"==typeof i?t(f,u):n(t,i,f,u)),s[u]=f}catch(e){throw ne.IteratorClose(p,!0),e}u+=1}a=u}else{var d=ne.ToObject(e);a=ne.ToLength(d.length),s=ne.IsConstructor(r)?Object(new r(a)):new Array(a);var h;for(u=0;a>u;++u)h=d[u],o&&(h="undefined"==typeof i?t(h,u):n(t,i,h,u)),Oe(s,u,h)}return s.length=a,s},of:function(){for(var e=arguments.length,t=this,n=r(t)||!ne.IsCallable(t)?new Array(e):ne.Construct(t,[e]),o=0;e>o;++o)Oe(n,o,arguments[o]);return n.length=e,n}};m(Array,Be),we(Array),e=function(e,t){this.i=0,this.array=e,this.kind=t},m(e.prototype,{next:function(){var t=this.i,n=this.array;if(!(this instanceof e))throw new TypeError("Not an ArrayIterator");if("undefined"!=typeof n)for(var r=ne.ToLength(n.length);r>t;t++){var o,i=this.kind;return"key"===i?o=t:"value"===i?o=n[t]:"entry"===i&&(o=[t,n[t]]),this.i=t+1,ze(o)}return this.array=void 0,ze()}}),xe(e.prototype);var Ve=Array.of===Be.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}();Ve||Q(Array,"of",Be.of);var Ue={copyWithin:function(e,t){var n,r=ne.ToObject(this),o=ne.ToLength(r.length),i=ne.ToInteger(e),a=ne.ToInteger(t),s=0>i?_(o+i,0):M(i,o),u=0>a?_(o+a,0):M(a,o);arguments.length>2&&(n=arguments[2]);var c="undefined"==typeof n?o:ne.ToInteger(n),l=0>c?_(o+c,0):M(c,o),f=M(l-u,o-s),p=1;for(s>u&&u+f>s&&(p=-1,u+=f-1,s+=f-1);f>0;)u in r?r[s]=r[u]:delete r[s],u+=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=ne.ToObject(this),o=ne.ToLength(r.length);t=ne.ToInteger("undefined"==typeof t?0:t),n=ne.ToInteger("undefined"==typeof n?o:n);for(var i=0>t?_(o+t,0):M(t,o),a=0>n?o+n:n,s=i;o>s&&a>s;++s)r[s]=e;return r},find:function(e){var t=ne.ToObject(this),r=ne.ToLength(t.length);if(!ne.IsCallable(e))throw new TypeError("Array#find: predicate must be a function");for(var o,i=arguments.length>1?arguments[1]:null,a=0;r>a;a++)if(o=t[a],i){if(n(e,i,o,a,t))return o}else if(e(o,a,t))return o},findIndex:function(e){var t=ne.ToObject(this),r=ne.ToLength(t.length);if(!ne.IsCallable(e))throw new TypeError("Array#findIndex: predicate must be a function");for(var o=arguments.length>1?arguments[1]:null,i=0;r>i;i++)if(o){if(n(e,o,t[i],i,t))return i}else if(e(t[i],i,t))return i;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&&!ne.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!ne.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[K]&&(m(Array.prototype,{values:Array.prototype[K]}),Y.symbol(z.unscopables)&&(Array.prototype[z.unscopables].values=!0)),f&&Array.prototype.values&&"values"!==Array.prototype.values.name){var Ge=Array.prototype.values;Q(Array.prototype,"values",function(){return ne.Call(Ge,this,arguments)}),y(Array.prototype,K,Array.prototype.values,!0)}m(Array.prototype,Ue),1/[!0].indexOf(!0,-0)<0&&y(Array.prototype,"indexOf",function(){var e=C(this,arguments);return 0===e&&0>1/e?0:e},!0),xe(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&xe(Object.getPrototypeOf([].values()));var Xe=function(){return s(function(){return 0===Array.from({length:-1}).length})}(),Je=function(){var e=Array.from([0].entries());return 1===e.length&&r(e[0])&&0===e[0][0]&&0===e[0][1]}();Xe&&Je||Q(Array,"from",Be.from);var Ye=function(){return s(function(){return Array.from([0],void 0)})}();if(!Ye){var Qe=Array.from;Q(Array,"from",function(e){return arguments.length>1&&"undefined"!=typeof arguments[1]?ne.Call(Qe,this,arguments):n(Qe,this,e)})}var Ze=-(Math.pow(2,32)-1),Ke=function(e,t){var r={length:Ze};return r[t?(r.length>>>0)-1:0]=!0,s(function(){return n(e,r,function(){throw new RangeError("should not reach here")},[]),!0})};if(!Ke(Array.prototype.forEach)){var et=Array.prototype.forEach;Q(Array.prototype,"forEach",function(){return ne.Call(et,this.length>=0?this:[],arguments)},!0)}if(!Ke(Array.prototype.map)){var tt=Array.prototype.map;Q(Array.prototype,"map",function(){return ne.Call(tt,this.length>=0?this:[],arguments)},!0)}if(!Ke(Array.prototype.filter)){var nt=Array.prototype.filter;Q(Array.prototype,"filter",function(){return ne.Call(nt,this.length>=0?this:[],arguments)},!0)}if(!Ke(Array.prototype.some)){var rt=Array.prototype.some;Q(Array.prototype,"some",function(){return ne.Call(rt,this.length>=0?this:[],arguments)},!0)}if(!Ke(Array.prototype.every)){var ot=Array.prototype.every;Q(Array.prototype,"every",function(){return ne.Call(ot,this.length>=0?this:[],arguments)},!0)}if(!Ke(Array.prototype.reduce)){var it=Array.prototype.reduce;Q(Array.prototype,"reduce",function(){return ne.Call(it,this.length>=0?this:[],arguments)},!0)}if(!Ke(Array.prototype.reduceRight,!0)){var at=Array.prototype.reduceRight;Q(Array.prototype,"reduceRight",function(){return ne.Call(at,this.length>=0?this:[],arguments)},!0)}var st=8!==Number("0o10"),ut=2!==Number("0b10"),ct=g(qe,function(e){return 0===Number(e+0+e)});if(st||ut||ct){var lt=Number,ft=/^0b[01]+$/i,pt=/^0o[0-7]+$/i,dt=ft.test.bind(ft),ht=pt.test.bind(pt),gt=function(e){var t;if("function"==typeof e.valueOf&&(t=e.valueOf(),Y.primitive(t)))return t;if("function"==typeof e.toString&&(t=e.toString(),Y.primitive(t)))return t;throw new TypeError("No default value")},yt=Re.test.bind(Re),mt=He.test.bind(He),vt=function(){var e=function(t){var n;n=arguments.length>0?Y.primitive(t)?t:gt(t,"number"):0,"string"==typeof n&&(n=ne.Call(Le,n),dt(n)?n=parseInt(E(n,2),2):ht(n)?n=parseInt(E(n,2),8):(yt(n)||mt(n))&&(n=0/0));var r=this,o=s(function(){return lt.prototype.valueOf.call(r),!0});return r instanceof e&&!o?new lt(n):lt(n)};return e}();ve(lt,vt,{}),m(vt,{NaN:lt.NaN,MAX_VALUE:lt.MAX_VALUE,MIN_VALUE:lt.MIN_VALUE,NEGATIVE_INFINITY:lt.NEGATIVE_INFINITY,POSITIVE_INFINITY:lt.POSITIVE_INFINITY}),Number=vt,w.redefine(j,"Number",vt)}var bt=Math.pow(2,53)-1;m(Number,{MAX_SAFE_INTEGER:bt,MIN_SAFE_INTEGER:-bt,EPSILON:2.220446049250313e-16,parseInt:j.parseInt,parseFloat:j.parseFloat,isFinite:V,isInteger:function(e){return V(e)&&ne.ToInteger(e)===e},isSafeInteger:function(e){return Number.isInteger(e)&&D(e)<=Number.MAX_SAFE_INTEGER},isNaN:B}),y(Number,"parseInt",j.parseInt,Number.parseInt!==j.parseInt),[,1].find(function(e,t){return 0===t})||Q(Array.prototype,"find",Ue.find),0!==[,1].findIndex(function(e,t){return 0===t})&&Q(Array.prototype,"findIndex",Ue.findIndex);var wt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),xt=function(e,t){l&&wt(e,t)&&Object.defineProperty(e,t,{enumerable:!1})},Tt=function(){for(var e=Number(this),t=arguments.length,n=t-e,r=new Array(0>n?0:n),o=e;t>o;++o)r[o-e]=arguments[o];return r},Ot=function(e){return function(t,n){return t[n]=e[n],t}},jt=function(e,t){var n,r=o(Object(t));return ne.IsCallable(Object.getOwnPropertySymbols)&&(n=h(Object.getOwnPropertySymbols(Object(t)),wt(t))),d(A(r,n||[]),Ot(t),e)},St={assign:function(e){var t=ne.ToObject(e,"Cannot convert undefined or null to object");return d(ne.Call(Tt,1,arguments),jt,t)},is:function(e,t){return ne.SameValue(e,t)}},kt=Object.assign&&Object.preventExtensions&&function(){var e=Object.preventExtensions({1:2});try{Object.assign(e,"xy")}catch(t){return"y"===e[1]}}();if(kt&&Q(Object,"assign",St.assign),m(Object,St),l){var Ct={setPrototypeOf:function(e,t){var r,o=function(e,t){if(!ne.TypeIsObject(e))throw new TypeError("cannot set prototype on a non-object");if(null!==t&&!ne.TypeIsObject(t))throw new TypeError("can only set prototype to an object or null"+t)},i=function(e,t){return o(e,t),n(r,e,t),e};try{r=e.getOwnPropertyDescriptor(e.prototype,t).set,n(r,{},null)}catch(n){if(e.prototype!=={}[t])return;r=function(e){this[t]=e},i.polyfill=i(i({},null),e.prototype)instanceof e}return i}(Object,"__proto__")};m(Object,Ct)}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){var o=null===r?e:r;return n(t,o)},Object.setPrototypeOf.polyfill=!1}();var At=!a(function(){Object.keys("foo")});if(!At){var Et=Object.keys;Q(Object,"keys",function(e){return Et(ne.ToObject(e))}),o=Object.keys}var Nt=a(function(){Object.keys(/a/g)});if(Nt){var Pt=Object.keys;Q(Object,"keys",function(e){if(Y.regex(e)){var t=[];for(var n in e)H(e,n)&&N(t,n);return t}return Pt(e)}),o=Object.keys}if(Object.getOwnPropertyNames){var It=!a(function(){Object.getOwnPropertyNames("foo")});if(!It){var _t="object"===("undefined"==typeof window?"undefined":_typeof(window))?Object.getOwnPropertyNames(window):[],Mt=Object.getOwnPropertyNames;Q(Object,"getOwnPropertyNames",function(e){var t=ne.ToObject(e);if("[object Window]"===v(t))try{return Mt(t)}catch(e){return A([],_t)}return Mt(t)})}}if(Object.getOwnPropertyDescriptor){var Ft=!a(function(){Object.getOwnPropertyDescriptor("foo","bar")});if(!Ft){var Dt=Object.getOwnPropertyDescriptor;Q(Object,"getOwnPropertyDescriptor",function(e,t){return Dt(ne.ToObject(e),t)})}}if(Object.seal){var Lt=!a(function(){Object.seal("foo")});if(!Lt){var qt=Object.seal;Q(Object,"seal",function(e){return ne.TypeIsObject(e)?qt(e):e})}}if(Object.isSealed){var Rt=!a(function(){Object.isSealed("foo")});if(!Rt){var Ht=Object.isSealed;Q(Object,"isSealed",function(e){return ne.TypeIsObject(e)?Ht(e):!0})}}if(Object.freeze){var $t=!a(function(){Object.freeze("foo")});if(!$t){var zt=Object.freeze;Q(Object,"freeze",function(e){return ne.TypeIsObject(e)?zt(e):e})}}if(Object.isFrozen){var Wt=!a(function(){Object.isFrozen("foo")});if(!Wt){var Bt=Object.isFrozen;Q(Object,"isFrozen",function(e){return ne.TypeIsObject(e)?Bt(e):!0})}}if(Object.preventExtensions){var Vt=!a(function(){Object.preventExtensions("foo")});if(!Vt){var Ut=Object.preventExtensions;Q(Object,"preventExtensions",function(e){return ne.TypeIsObject(e)?Ut(e):e})}}if(Object.isExtensible){var Gt=!a(function(){Object.isExtensible("foo")});if(!Gt){var Xt=Object.isExtensible;Q(Object,"isExtensible",function(e){return ne.TypeIsObject(e)?Xt(e):!1})}}if(Object.getPrototypeOf){var Jt=!a(function(){Object.getPrototypeOf("foo")});if(!Jt){var Yt=Object.getPrototypeOf;Q(Object,"getPrototypeOf",function(e){return Yt(ne.ToObject(e))})}}var Qt=l&&function(){var e=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags");return e&&ne.IsCallable(e.get)}();if(l&&!Qt){var Zt=function(){if(!ne.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};w.getter(RegExp.prototype,"flags",Zt)}var Kt=l&&s(function(){return"/a/i"===String(new RegExp(/a/g,"i"))}),en=Z&&l&&function(){var e=/./;return e[z.match]=!1,RegExp(e)===e}(),tn=s(function(){return"/abc/"===RegExp.prototype.toString.call({source:"abc"})}),nn=tn&&s(function(){return"/a/b"===RegExp.prototype.toString.call({source:"a",flags:"b"})});if(!tn||!nn){var rn=RegExp.prototype.toString;y(RegExp.prototype,"toString",function(){var e=ne.RequireObjectCoercible(this);if(Y.regex(e))return n(rn,e);var t=te(e.source),r=te(e.flags);return"/"+t+"/"+r},!0),w.preserveToString(RegExp.prototype.toString,rn)}if(l&&(!Kt||en)){var on=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags").get,an=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")||{},sn=function(){return this.source},un=ne.IsCallable(an.get)?an.get:sn,cn=RegExp,ln=function(){return function e(t,n){var r=ne.IsRegExp(t),o=this instanceof e;if(!o&&r&&"undefined"==typeof n&&t.constructor===e)return t;var i=t,a=n;return Y.regex(t)?(i=ne.Call(un,t),a="undefined"==typeof n?ne.Call(on,t):n,new e(i,a)):(r&&(i=t.source,a="undefined"==typeof n?t.flags:n),new cn(t,n))}}();ve(cn,ln,{$input:!0}),RegExp=ln,w.redefine(j,"RegExp",ln)}if(l){var fn={input:"$_",lastMatch:"$&",lastParen:"$+",leftContext:"$`",rightContext:"$'"};p(o(fn),function(e){e in RegExp&&!(fn[e]in RegExp)&&w.getter(RegExp,fn[e],function(){return RegExp[e]})})}we(RegExp);var pn=1/Number.EPSILON,dn=function(e){return e+pn-pn},hn=Math.pow(2,-23),gn=Math.pow(2,127)*(2-hn),yn=Math.pow(2,-126),mn=Math.E,vn=Math.LOG2E,bn=Math.LOG10E,wn=Number.prototype.clz;delete Number.prototype.clz;var xn={acosh:function(e){var t=Number(e);return B(t)||1>e?0/0:1===t?0:t===1/0?t:q(t/mn+R(t+1)*R(t-1)/mn)+1},asinh:function e(t){var n=Number(t);return 0!==n&&S(n)?0>n?-e(-n):q(n+R(n*n+1)):n},atanh:function(e){var t=Number(e);return B(t)||-1>t||t>1?0/0:-1===t?-(1/0):1===t?1/0:0===t?t:.5*q((1+t)/(1-t))},cbrt:function(e){var t=Number(e);if(0===t)return t;var n,r=0>t;return r&&(t=-t),t===1/0?n=1/0:(n=L(q(t)/3),n=(t/(n*n)+2*n)/3),r?-n:n},clz32:function(e){var t=Number(e),n=ne.ToUint32(t);return 0===n?32:wn?ne.Call(wn,n):31-F(q(n+.5)*vn)},cosh:function(e){var t=Number(e);return 0===t?1:B(t)?0/0:S(t)?(0>t&&(t=-t),t>21?L(t)/2:(L(t)+L(-t))/2):1/0},expm1:function(e){var t=Number(e);if(t===-(1/0))return-1;if(!S(t)||0===t)return t;if(D(t)>.5)return L(t)-1;for(var n=t,r=0,o=1;r+n!==r;)r+=n,o+=1,n*=t/o;return r},hypot:function(){for(var e=0,t=0,n=0;n<arguments.length;++n){var r=D(Number(arguments[n]));r>t?(e*=t/r*(t/r),e+=1,t=r):e+=r>0?r/t*(r/t):r}return t===1/0?1/0:t*R(e)},log2:function(e){return q(e)*vn},log10:function(e){return q(e)*bn},log1p:function(e){var t=Number(e);return-1>t||B(t)?0/0:0===t||t===1/0?t:-1===t?-(1/0):1+t-1===0?t:t*(q(1+t)/(1+t-1))},sign:U,sinh:function(e){var t=Number(e);return S(t)&&0!==t?D(t)<1?(Math.expm1(t)-Math.expm1(-t))/2:(L(t-1)-L(-t-1))*mn/2:t},tanh:function(e){var t=Number(e);return B(t)||0===t?t:t>=20?1:-20>=t?-1:(Math.expm1(t)-Math.expm1(-t))/(L(t)+L(-t))},trunc:function(e){var t=Number(e);return 0>t?-F(-t):F(t)},imul:function(e,t){var n=ne.ToUint32(e),r=ne.ToUint32(t),o=n>>>16&65535,i=65535&n,a=r>>>16&65535,s=65535&r;return i*s+(o*s+i*a<<16>>>0)|0},fround:function(e){var t=Number(e);if(0===t||t===1/0||t===-(1/0)||B(t))return t;var n=U(t),r=D(t);if(yn>r)return n*dn(r/yn/hn)*yn*hn;var o=(1+hn/Number.EPSILON)*r,i=o-(o-r);return i>gn||B(i)?n*(1/0):n*i}};m(Math,xn),y(Math,"log1p",xn.log1p,-1e-17!==Math.log1p(-1e-17)),y(Math,"asinh",xn.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),y(Math,"tanh",xn.tanh,-2e-17!==Math.tanh(-2e-17)),y(Math,"acosh",xn.acosh,Math.acosh(Number.MAX_VALUE)===1/0),y(Math,"cbrt",xn.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8),y(Math,"sinh",xn.sinh,-2e-17!==Math.sinh(-2e-17));var Tn=Math.expm1(10);y(Math,"expm1",xn.expm1,Tn>22025.465794806718||22025.465794806718>Tn);var On=Math.round,jn=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(-.5+Number.EPSILON/3.99),Sn=pn+1,kn=2*pn-1,Cn=[Sn,kn].every(function(e){return Math.round(e)===e});y(Math,"round",function(e){var t=F(e),n=-1===t?-0:t+1;return.5>e-t?t:n},!jn||!Cn),w.preserveToString(Math.round,On);var An=Math.imul;-5!==Math.imul(4294967295,5)&&(Math.imul=xn.imul,w.preserveToString(Math.imul,An)),2!==Math.imul.length&&Q(Math,"imul",function(){return ne.Call(An,Math,arguments)});var En=function(){var e=j.setTimeout;if("function"==typeof e||"object"===("undefined"==typeof e?"undefined":_typeof(e))){ne.IsPromise=function(e){return ne.TypeIsObject(e)?"undefined"==typeof e._promise?!1:!0:!1};var t,r=function(e){if(!ne.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),!ne.IsCallable(t.resolve)||!ne.IsCallable(t.reject))throw new TypeError("Bad promise constructor")};"undefined"!=typeof window&&ne.IsCallable(window.postMessage)&&(t=function(){var e=[],t="zero-timeout-message",n=function(n){N(e,n),window.postMessage(t,"*")},r=function(n){if(n.source===window&&n.data===t){if(n.stopPropagation(),0===e.length)return;var r=I(e);r()}};return window.addEventListener("message",r,!0),n});var o,i,a=function(){var e=j.Promise,t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}},s=ne.IsCallable(j.setImmediate)?j.setImmediate:"object"===("undefined"==typeof process?"undefined":_typeof(process))&&process.nextTick?process.nextTick:a()||(ne.IsCallable(t)?t():function(t){e(t,0)}),u=function(e){return e},c=function(e){throw e},l=0,f=1,p=2,d=0,h=1,g=2,y={},v=function(e,t,n){s(function(){b(e,t,n)})},b=function(e,t,n){var r,o;if(t===y)return e(n);try{r=e(n),o=t.resolve}catch(e){r=e,o=t.reject}o(r)},w=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(v(n.fulfillReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var o=1,i=0;r>o;o++,i+=3)v(n[i+d],n[i+g],t),e[i+d]=void 0,e[i+h]=void 0,e[i+g]=void 0;n.result=t,n.state=f,n.reactionLength=0},x=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(v(n.rejectReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var o=1,i=0;r>o;o++,i+=3)v(n[i+h],n[i+g],t),e[i+d]=void 0,e[i+h]=void 0,e[i+g]=void 0;n.result=t,n.state=p,n.reactionLength=0},T=function(e){var t=!1,n=function(n){var r;if(!t){if(t=!0,n===e)return x(e,new TypeError("Self resolution"));if(!ne.TypeIsObject(n))return w(e,n);try{r=n.then}catch(t){return x(e,t)}return ne.IsCallable(r)?void s(function(){S(e,n,r)}):w(e,n)}},r=function(n){return t?void 0:(t=!0,x(e,n))};return{resolve:n,reject:r}},O=function(e,t,r,o){e===i?n(e,t,r,o,y):n(e,t,r,o)},S=function(e,t,n){var r=T(e),o=r.resolve,i=r.reject;try{O(n,t,o,i)}catch(e){i(e)}},k=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(!ne.IsCallable(t))throw new TypeError("not a valid resolver");var n=je(this,e,o,{_promise:{result:void 0,state:l,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),r=T(n),i=r.reject;try{t(r.resolve,i)}catch(e){i(e)}return n};return e}();o=k.prototype;var C=function(e,t,n,r){var o=!1;return function(i){if(!o&&(o=!0,t[e]=i,0===--r.count)){var a=n.resolve;a(t)}}},A=function(e,t,n){for(var r,o,i=e.iterator,a=[],s={count:1},u=0;;){try{if(r=ne.IteratorStep(i),r===!1){e.done=!0;break}o=r.value}catch(t){throw e.done=!0,t}a[u]=void 0;var c=t.resolve(o),l=C(u,a,n,s);s.count+=1,O(c.then,c,l,n.reject),u+=1}if(0===--s.count){var f=n.resolve;f(a)}return n.promise},E=function(e,t,n){for(var r,o,i,a=e.iterator;;){try{if(r=ne.IteratorStep(a),r===!1){e.done=!0;break}o=r.value}catch(t){throw e.done=!0,t}i=t.resolve(o),O(i.then,i,n.resolve,n.reject)}return n.promise};return m(k,{all:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Promise is not object");var n,o,i=new r(t);try{return n=ne.GetIterator(e),o={iterator:n,done:!1},A(o,t,i)}catch(e){var a=e;if(o&&!o.done)try{ne.IteratorClose(n,!0)}catch(e){a=e}var s=i.reject;return s(a),i.promise}},race:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Promise is not object");var n,o,i=new r(t);try{return n=ne.GetIterator(e),o={iterator:n,done:!1},E(o,t,i)}catch(e){var a=e;if(o&&!o.done)try{ne.IteratorClose(n,!0)}catch(e){a=e}var s=i.reject;return s(a),i.promise}},reject:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Bad promise constructor");var n=new r(t),o=n.reject;return o(e),n.promise},resolve:function(e){var t=this;if(!ne.TypeIsObject(t))throw new TypeError("Bad promise constructor");if(ne.IsPromise(e)){var n=e.constructor;if(n===t)return e}var o=new r(t),i=o.resolve;return i(e),o.promise}}),m(o,{catch:function(e){return this.then(null,e)},then:function(e,t){var n=this;if(!ne.IsPromise(n))throw new TypeError("not a promise");var o,i=ne.SpeciesConstructor(n,k),a=arguments.length>2&&arguments[2]===y;o=a&&i===k?y:new r(i);var s,m=ne.IsCallable(e)?e:u,b=ne.IsCallable(t)?t:c,w=n._promise;if(w.state===l){if(0===w.reactionLength)w.fulfillReactionHandler0=m,w.rejectReactionHandler0=b,w.reactionCapability0=o;else{var x=3*(w.reactionLength-1);w[x+d]=m,w[x+h]=b,w[x+g]=o}w.reactionLength+=1}else if(w.state===f)s=w.result,v(m,o,s);else{if(w.state!==p)throw new TypeError("unexpected Promise state");s=w.result,v(b,o,s)}return o.promise}}),y=new r(k),i=o.then,k}}();if(j.Promise&&(delete j.Promise.accept,delete j.Promise.defer,delete j.Promise.prototype.chain),"function"==typeof En){m(j,{Promise:En});var Nn=T(j.Promise,function(e){return e.resolve(42).then(function(){})instanceof e}),Pn=!a(function(){j.Promise.reject(42).then(null,5).then(null,$)}),In=a(function(){j.Promise.call(3,$)}),_n=function(e){var t=e.resolve(5);t.constructor={};var n=e.resolve(t);try{n.then(null,$).then(null,$)}catch(e){return!0}return t===n}(j.Promise),Mn=l&&function(){var e=0,t=Object.defineProperty({},"then",{get:function(){e+=1}});return Promise.resolve(t),1===e}(),Fn=function e(t){var n=new Promise(t);t(3,function(){}),this.then=n.then,this.constructor=e};Fn.prototype=Promise.prototype,Fn.all=Promise.all;var Dn=s(function(){return!!Fn.all([1,2])});if(Nn&&Pn&&In&&!_n&&Mn&&!Dn||(Promise=En,Q(j,"Promise",En)),1!==Promise.all.length){var Ln=Promise.all;Q(Promise,"all",function(){return ne.Call(Ln,this,arguments)})}if(1!==Promise.race.length){var qn=Promise.race;Q(Promise,"race",function(){return ne.Call(qn,this,arguments)})}if(1!==Promise.resolve.length){var Rn=Promise.resolve;Q(Promise,"resolve",function(){return ne.Call(Rn,this,arguments)})}if(1!==Promise.reject.length){var Hn=Promise.reject;Q(Promise,"reject",function(){return ne.Call(Hn,this,arguments)})}xt(Promise,"all"),xt(Promise,"race"),xt(Promise,"resolve"),xt(Promise,"reject"),we(Promise)}var $n=function(e){var t=o(d(e,function(e,t){return e[t]=!0,e},{}));return e.join(":")===t.join(":")},zn=$n(["z","a","bb"]),Wn=$n(["z",1,"a","3",2]);if(l){var Bn=function(e){return zn?"undefined"==typeof e||null===e?"^"+ne.ToString(e):"string"==typeof e?"$"+e:"number"==typeof e?Wn?e:"n"+e:"boolean"==typeof e?"b"+e:null:null},Vn=function(){return Object.create?Object.create(null):{}},Un=function(e,t,o){if(r(o)||Y.string(o))p(o,function(e){if(!ne.TypeIsObject(e))throw new TypeError("Iterator value "+e+" is not an entry object");t.set(e[0],e[1])});else if(o instanceof e)n(e.prototype.forEach,o,function(e,n){t.set(n,e)});else{var i,a;if(null!==o&&"undefined"!=typeof o){if(a=t.set,!ne.IsCallable(a))throw new TypeError("bad map");i=ne.GetIterator(o)}if("undefined"!=typeof i)for(;;){var s=ne.IteratorStep(i);if(s===!1)break;var u=s.value;try{if(!ne.TypeIsObject(u))throw new TypeError("Iterator value "+u+" is not an entry object");n(a,t,u[0],u[1])}catch(e){throw ne.IteratorClose(i,!0),e}}}},Gn=function(e,t,o){if(r(o)||Y.string(o))p(o,function(e){t.add(e)});else if(o instanceof e)n(e.prototype.forEach,o,function(e){t.add(e)});else{var i,a;if(null!==o&&"undefined"!=typeof o){if(a=t.add,!ne.IsCallable(a))throw new TypeError("bad set");i=ne.GetIterator(o)}if("undefined"!=typeof i)for(;;){var s=ne.IteratorStep(i);if(s===!1)break;var u=s.value;try{n(a,t,u)}catch(e){throw ne.IteratorClose(i,!0),e}}}},Xn={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},o=function(e,t){if(!ne.TypeIsObject(e)||!r(e))throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ne.ToString(e))},i=function(e,t){o(e,"[[MapIterator]]"),this.head=e._head,this.i=this.head,this.kind=t};i.prototype={next:function(){var e=this.i,t=this.kind,n=this.head;if("undefined"==typeof this.i)return ze();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,ze(r);return this.i=void 0,ze()}},xe(i.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=je(this,e,a,{_es6map:!0,_head:null,_storage:Vn(),_size:0}),r=new t(null,null);return r.next=r.prev=r,n._head=r,arguments.length>0&&Un(e,n,arguments[0]),n};return a=s.prototype,w.getter(a,"size",function(){if("undefined"==typeof this._size)throw new TypeError("size method called on incompatible Map");return this._size}),m(a,{get:function(e){o(this,"get");var t=Bn(e);if(null!==t){var n=this._storage[t];return n?n.value:void 0}for(var r=this._head,i=r;(i=i.next)!==r;)if(ne.SameValueZero(i.key,e))return i.value},has:function(e){o(this,"has");var t=Bn(e);if(null!==t)return"undefined"!=typeof this._storage[t];for(var n=this._head,r=n;(r=r.next)!==n;)if(ne.SameValueZero(r.key,e))return!0;return!1},set:function(e,n){o(this,"set");var r,i=this._head,a=i,s=Bn(e);if(null!==s){if("undefined"!=typeof this._storage[s])return this._storage[s].value=n,this;r=this._storage[s]=new t(e,n),a=i.prev}for(;(a=a.next)!==i;)if(ne.SameValueZero(a.key,e))return a.value=n,this;return r=r||new t(e,n),ne.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){o(this,"delete");var n=this._head,r=n,i=Bn(t);if(null!==i){if("undefined"==typeof this._storage[i])return!1;r=this._storage[i].prev,delete this._storage[i]}for(;(r=r.next)!==n;)if(ne.SameValueZero(r.key,t))return r.key=r.value=e,r.prev.next=r.next,r.next.prev=r.prev,this._size-=1,!0;return!1},clear:function(){o(this,"clear"),this._size=0,this._storage=Vn();for(var t=this._head,n=t,r=n.next;(n=r)!==t;)n.key=n.value=e,r=n.next,n.next=n.prev=t;t.next=t.prev=t},keys:function(){return o(this,"keys"),new i(this,"key")},values:function(){return o(this,"values"),new i(this,"value")},entries:function(){return o(this,"entries"),new i(this,"key+value")},forEach:function(e){o(this,"forEach");for(var t=arguments.length>1?arguments[1]:null,r=this.entries(),i=r.next();!i.done;i=r.next())t?n(e,t,i.value[1],i.value[0],this):e(i.value[1],i.value[0],this)}}),xe(a,a.entries),s}(),Set:function(){var e,t=function(e){return e._es6set&&"undefined"!=typeof e._storage},r=function(e,n){if(!ne.TypeIsObject(e)||!t(e))throw new TypeError("Set.prototype."+n+" called on incompatible receiver "+ne.ToString(e))},i=function t(){if(!(this instanceof t))throw new TypeError('Constructor Set requires "new"');if(this&&this._es6set)throw new TypeError("Bad construction");var n=je(this,t,e,{_es6set:!0,"[[SetData]]":null,_storage:Vn()});if(!n._es6set)throw new TypeError("bad set");return arguments.length>0&&Gn(t,n,arguments[0]),n};e=i.prototype;var a=function(e){var t=e;if("^null"===t)return null;if("^undefined"===t)return void 0;var n=t.charAt(0);return"$"===n?E(t,1):"n"===n?+E(t,1):"b"===n?"btrue"===t:+t},s=function(e){if(!e["[[SetData]]"]){var t=e["[[SetData]]"]=new Xn.Map;p(o(e._storage),function(e){var n=a(e);t.set(n,n)}),e["[[SetData]]"]=t}e._storage=null};return w.getter(i.prototype,"size",function(){return r(this,"size"),this._storage?o(this._storage).length:(s(this),this["[[SetData]]"].size)}),m(i.prototype,{has:function(e){r(this,"has");var t;return this._storage&&null!==(t=Bn(e))?!!this._storage[t]:(s(this),this["[[SetData]]"].has(e))},add:function(e){r(this,"add");var t;return this._storage&&null!==(t=Bn(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=Bn(e))){var n=H(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=Vn()),this["[[SetData]]"]&&this["[[SetData]]"].clear()},values:function(){return r(this,"values"),s(this),this["[[SetData]]"].values()},entries:function(){return r(this,"entries"),s(this),this["[[SetData]]"].entries()},forEach:function(e){r(this,"forEach");var t=arguments.length>1?arguments[1]:null,o=this;s(o),this["[[SetData]]"].forEach(function(r,i){t?n(e,t,i,i,o):e(i,i,o)})}}),y(i.prototype,"keys",i.prototype.values,!0),xe(i.prototype,i.prototype.values),i}()};if(j.Map||j.Set){var Jn=s(function(){return 2===new Map([[1,2]]).get(1)});if(!Jn){var Yn=j.Map;j.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new Yn;return arguments.length>0&&Un(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,j.Map.prototype),t},j.Map.prototype=x(Yn.prototype),y(j.Map.prototype,"constructor",j.Map,!0),w.preserveToString(j.Map,Yn)}var Qn=new Map,Zn=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)}(),Kn=Qn.set(1,2)===Qn;if(!Zn||!Kn){var er=Map.prototype.set;Q(Map.prototype,"set",function(e,t){return n(er,this,0===e?0:e,t),this})}if(!Zn){var tr=Map.prototype.get,nr=Map.prototype.has;m(Map.prototype,{get:function(e){return n(tr,this,0===e?0:e)},has:function(e){return n(nr,this,0===e?0:e)}},!0),w.preserveToString(Map.prototype.get,tr),w.preserveToString(Map.prototype.has,nr)}var rr=new Set,or=function(e){return e.delete(0),e.add(-0),!e.has(0)}(rr),ir=rr.add(1)===rr;if(!or||!ir){var ar=Set.prototype.add;Set.prototype.add=function(e){return n(ar,this,0===e?0:e),this},w.preserveToString(Set.prototype.add,ar)}if(!or){var sr=Set.prototype.has;Set.prototype.has=function(e){return n(sr,this,0===e?0:e)},w.preserveToString(Set.prototype.has,sr);var ur=Set.prototype.delete;Set.prototype.delete=function(e){return n(ur,this,0===e?0:e)},w.preserveToString(Set.prototype.delete,ur)}var cr=T(j.Map,function(e){var t=new e([]);return t.set(42,42),t instanceof e}),lr=Object.setPrototypeOf&&!cr,fr=function(){try{return!(j.Map()instanceof j.Map)}catch(e){return e instanceof TypeError}}();if(0!==j.Map.length||lr||!fr){var pr=j.Map;j.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new pr;return arguments.length>0&&Un(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},j.Map.prototype=pr.prototype,y(j.Map.prototype,"constructor",j.Map,!0),w.preserveToString(j.Map,pr)}var dr=T(j.Set,function(e){var t=new e([]);return t.add(42,42),t instanceof e}),hr=Object.setPrototypeOf&&!dr,gr=function(){try{return!(j.Set()instanceof j.Set)}catch(e){return e instanceof TypeError}}();if(0!==j.Set.length||hr||!gr){var yr=j.Set;j.Set=function e(){if(!(this instanceof e))throw new TypeError('Constructor Set requires "new"');var t=new yr;return arguments.length>0&&Gn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},j.Set.prototype=yr.prototype,y(j.Set.prototype,"constructor",j.Set,!0),w.preserveToString(j.Set,yr)}var mr=new j.Map,vr=!s(function(){return mr.keys().next().done});if(("function"!=typeof j.Map.prototype.clear||0!==(new j.Set).size||0!==mr.size||"function"!=typeof j.Map.prototype.keys||"function"!=typeof j.Set.prototype.keys||"function"!=typeof j.Map.prototype.forEach||"function"!=typeof j.Set.prototype.forEach||u(j.Map)||u(j.Set)||"function"!=typeof mr.keys().next||vr||!cr)&&m(j,{Map:Xn.Map,Set:Xn.Set},!0),j.Set.prototype.keys!==j.Set.prototype.values&&y(j.Set.prototype,"keys",j.Set.prototype.values,!0),xe(Object.getPrototypeOf((new j.Map).keys())),xe(Object.getPrototypeOf((new j.Set).keys())),f&&"has"!==j.Set.prototype.has.name){var br=j.Set.prototype.has;Q(j.Set.prototype,"has",function(e){return n(br,this,e)})}}m(j,Xn),we(j.Map),we(j.Set)}var wr=function(e){if(!ne.TypeIsObject(e))throw new TypeError("target must be an object")},xr={apply:function(){return ne.Call(ne.Call,null,arguments)},construct:function(e,t){if(!ne.IsConstructor(e))throw new TypeError("First argument must be a constructor.");var n=arguments.length>2?arguments[2]:e;if(!ne.IsConstructor(n))throw new TypeError("new.target must be a constructor.");return ne.Construct(e,t,n,"internal")},deleteProperty:function(e,t){if(wr(e),l){var n=Object.getOwnPropertyDescriptor(e,t);if(n&&!n.configurable)return!1}return delete e[t]},has:function(e,t){return wr(e),t in e}};Object.getOwnPropertyNames&&Object.assign(xr,{ownKeys:function(e){wr(e);var t=Object.getOwnPropertyNames(e);return ne.IsCallable(Object.getOwnPropertySymbols)&&P(t,Object.getOwnPropertySymbols(e)),t}});var Tr=function(e){return!a(e)};if(Object.preventExtensions&&Object.assign(xr,{isExtensible:function(e){return wr(e),Object.isExtensible(e)},preventExtensions:function(e){return wr(e),Tr(function(){Object.preventExtensions(e)})}}),l){var Or=function(e,t,n){var r=Object.getOwnPropertyDescriptor(e,t);if(!r){var o=Object.getPrototypeOf(e);return null===o?void 0:Or(o,t,n)}return"value"in r?r.value:r.get?ne.Call(r.get,n):void 0},jr=function(e,t,r,o){var i=Object.getOwnPropertyDescriptor(e,t);if(!i){var a=Object.getPrototypeOf(e);if(null!==a)return jr(a,t,r,o);i={value:void 0,writable:!0,enumerable:!0,configurable:!0}}if("value"in i){if(!i.writable)return!1;if(!ne.TypeIsObject(o))return!1;var s=Object.getOwnPropertyDescriptor(o,t);return s?ee.defineProperty(o,t,{value:r}):ee.defineProperty(o,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}return i.set?(n(i.set,o,r),!0):!1};Object.assign(xr,{defineProperty:function(e,t,n){return wr(e),Tr(function(){Object.defineProperty(e,t,n)})},getOwnPropertyDescriptor:function(e,t){return wr(e),Object.getOwnPropertyDescriptor(e,t)},get:function(e,t){wr(e);var n=arguments.length>2?arguments[2]:e;return Or(e,t,n)},set:function(e,t,n){wr(e);var r=arguments.length>3?arguments[3]:e;return jr(e,t,n,r)}})}if(Object.getPrototypeOf){var Sr=Object.getPrototypeOf;xr.getPrototypeOf=function(e){return wr(e),Sr(e)}}if(Object.setPrototypeOf&&xr.getPrototypeOf){var kr=function(e,t){for(var n=t;n;){if(e===n)return!0;n=xr.getPrototypeOf(n)}return!1};Object.assign(xr,{setPrototypeOf:function(e,t){if(wr(e),null!==t&&!ne.TypeIsObject(t))throw new TypeError("proto must be an object or null");return t===ee.getPrototypeOf(e)?!0:ee.isExtensible&&!ee.isExtensible(e)?!1:kr(e,t)?!1:(Object.setPrototypeOf(e,t),!0)}})}var Cr=function(e,t){if(ne.IsCallable(j.Reflect[e])){var n=s(function(){return j.Reflect[e](1),j.Reflect[e](0/0),j.Reflect[e](!0),!0});n&&Q(j.Reflect,e,t)}else y(j.Reflect,e,t)};Object.keys(xr).forEach(function(e){Cr(e,xr[e])});var Ar=j.Reflect.getPrototypeOf;if(f&&Ar&&"getPrototypeOf"!==Ar.name&&Q(j.Reflect,"getPrototypeOf",function(e){return n(Ar,j.Reflect,e)}),j.Reflect.setPrototypeOf&&s(function(){return j.Reflect.setPrototypeOf(1,{}),!0})&&Q(j.Reflect,"setPrototypeOf",xr.setPrototypeOf),j.Reflect.defineProperty&&(s(function(){var e=!j.Reflect.defineProperty(1,"test",{value:1}),t="function"!=typeof Object.preventExtensions||!j.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})||Q(j.Reflect,"defineProperty",xr.defineProperty)),j.Reflect.construct&&(s(function(){var e=function(){};return j.Reflect.construct(function(){},[],e)instanceof e})||Q(j.Reflect,"construct",xr.construct)),"Invalid Date"!==String(new Date(0/0))){var Er=Date.prototype.toString,Nr=function(){var e=+this;return e!==e?"Invalid Date":ne.Call(Er,this)};Q(Date.prototype,"toString",Nr)}var Pr={anchor:function(e){return ne.CreateHTML(this,"a","name",e)},big:function(){return ne.CreateHTML(this,"big","","")},blink:function(){return ne.CreateHTML(this,"blink","","")},bold:function(){return ne.CreateHTML(this,"b","","")},fixed:function(){return ne.CreateHTML(this,"tt","","")},fontcolor:function(e){return ne.CreateHTML(this,"font","color",e)},fontsize:function(e){return ne.CreateHTML(this,"font","size",e)},italics:function(){return ne.CreateHTML(this,"i","","")},link:function(e){return ne.CreateHTML(this,"a","href",e)},small:function(){return ne.CreateHTML(this,"small","","")},strike:function(){return ne.CreateHTML(this,"strike","","")},sub:function(){return ne.CreateHTML(this,"sub","","")},sup:function(){return ne.CreateHTML(this,"sup","","")}};p(Object.keys(Pr),function(e){var t=String.prototype[e],r=!1;if(ne.IsCallable(t)){var o=n(t,"",' " '),i=A([],o.match(/"/g)).length;r=o!==o.toLowerCase()||i>2}else r=!0;r&&Q(String.prototype,e,Pr[e])});var Ir=function(){if(!Z)return!1;var e="object"===("undefined"==typeof JSON?"undefined":_typeof(JSON))&&"function"==typeof JSON.stringify?JSON.stringify:null;if(!e)return!1;if("undefined"!=typeof e(z()))return!0;if("[null]"!==e([z()]))return!0;var t={a:z()};return t[z()]=!0,"{}"!==e(t)?!0:!1}(),_r=s(function(){return Z?"{}"===JSON.stringify(Object(z()))&&"[{}]"===JSON.stringify([Object(z())]):!0});if(Ir||!_r){var Mr=JSON.stringify;Q(JSON,"stringify",function(e){if("symbol"!==("undefined"==typeof e?"undefined":_typeof(e))){var t;arguments.length>1&&(t=arguments[1]);var o=[e];if(r(t))o.push(t);else{var i=ne.IsCallable(t)?t:null,a=function(e,t){var r=i?n(i,this,e,t):t;return"symbol"!==("undefined"==typeof r?"undefined":_typeof(r))?Y.symbol(r)?Ot({})(r):r:void 0};o.push(a)}return arguments.length>2&&o.push(arguments[2]),Mr.apply(this,o)}})}return j}),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(){return 1===this.length&&this[0]instanceof Text?[this[0]]:Array.from(this.add(this.contents().add(this.find("*").contents())).filter(function(){return this instanceof Text})).sort(function(e,t){return 2&e.compareDocumentPosition(t)?1:-1})},prevTextNode:function(){var e=this.first()[0],t=this.parent();if(!t.length)return null;var n=t.textNodes().filter(function(t){var n=t.compareDocumentPosition(e);return 4&n&&!(8&n)});return n=n[n.length-1],n?n:t.prevTextNode()},nextTextNode:function(){var e=this.last()[0],t=this.parent();if(!t.length)return null;var n=t.textNodes().filter(function(t){var n=t.compareDocumentPosition(e);return 2&n&&!(8&n)})[0];return n?n:t.nextTextNode()}})}),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!==t.slice(0,e.peek.length))}function r(e){for(var t=e.innerText,r=[],i=0,s=i,u=t.length,c=null;u>i;){for(var l=t.slice(i),f=(r.length?r[0]:e).innerMode,p=0,d=f.length;d>p;p+=1){var h=a[f[p]];if(n(h,l,c,i>s)&&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}i>s&&e.addChild({type:"text",text:t.slice(s,i),innerMode:f}),c=e.addChild(y),i+=c.text.length,s=i,m&&(o(e,c,r[v]),r=r.slice(v+1)),c.isFrontToken()&&r.unshift(c);break}}p===d&&(i+=1,null===c&&(c={type:"text"}))}for(i>s&&e.addChild({type:"text",text:t.slice(s,i),innerMode:(r.length?r[0]:e).innerMode});r.length>0;)r.shift().demote();return e}function o(e,n,r){var o=e.children.indexOf(n),i=e.children.indexOf(r);n.children=e.children.splice(i+1,o-(i+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;s>a;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(i,1),t(e,n)}var i=void 0,a={};e.prototype={constructor:e,addChild:function(n){var o=this.lastChildEnd(),i=new e({start:o,end:n.text&&o+n.text.length,children:[]},n);return i.innerText&&r(i),this.children.push(i),t(this,i),i},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(t){if(!this.children||0===this.children.length)return!!t(this);var n=void 0;return this.children.everyLeaf(function(){n=n&&!!e(t)})},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}},i={lex:function(t,n){return r(new e({type:"root",start:n||0,end:t.length,text:t,innerText:t,children:[],childAt:{},innerMode:i.startMode}))},rules:a},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=i:"function"==typeof define&&define.amd?define("lexer",[],function(){return i}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Lexer=i):this.TwineLexer=i}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){function e(t){return t&&"object"===("undefined"==typeof t?"undefined":_typeof(t))?(Object.keys(t).forEach(function(n){t[n]=e(t[n])}),t):(t+"").replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function t(){return"[^"+Array.apply(0,arguments).map(e).join("")+"]*"}function n(e){return function(){return"("+e+Array.apply(0,arguments).join("|")+")"}}var r=void 0,o=n("?:"),i=n("?!"),a=n("?="),s="[ \\f\\t\\v\xa0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]*",u=s.replace("*","+"),c="\\b",l="\\\\\\n\\\\?|\\n\\\\",f="\\n(?!\\\\)",p="[\\w\\-\xc0-\xde\xdf-\xff\u0150\u0170\u0151\u0171]",d="[\\w\xc0-\xde\xdf-\xff\u0150\u0170\u0151\u0171]",h=o("\\n","$"),g="("+o(l,"[^\\n]")+"+)",y="\\*",m=s+"("+y+"+)"+u+g+h,v="(?:0\\.)",b=s+"("+v+"+)"+u+g+h,w=s+"-{3,}"+s+h,x=s+"(#{1,6})"+s+g+h,T=s+"(==+>|<=+|=+><=+|<==+>)"+s+h,O={opener:"\\[\\[(?!\\[)",text:"("+t("]")+")",rightSeparator:o("\\->","\\|"),leftSeparator:"<\\-",closer:"\\]\\]",legacySeparator:"\\|",legacyText:"("+o("[^\\|\\]]","\\]"+i("\\]"))+"+)"},j=p.replace("\\-","")+"*"+p.replace("\\-","").replace("\\w","a-zA-Z")+p.replace("\\-","")+"*",S="\\$("+j+")",k="'s"+u+"("+j+")",C="("+j+")"+u+"of"+c+i("it"+c),A="'s"+u,E="of"+c,N=o("it","time")+c,P="its"+u+"("+j+")",I="its"+u,_="("+j+")"+u+"of"+u+"it"+c,M="of"+c+u+"it"+c,F={opener:"\\(",name:"("+o(p.replace("]","\\/]")+p+"*",S)+"):",closer:"\\)"},D="<<[^>\\s]+\\s*(?:\\\\.|'(?:[^'\\\\]*\\\\.)*[^'\\\\]*'|\"(?:[^\"\\\\]*\\\\.)*[^\"\\\\]*\"|[^'\"\\\\>]|>(?!>))*>>",L={name:"[a-zA-Z][\\w\\-]*",attrs:"(?:\"[^\"]*\"|'[^']*'|[^'\">])*?"},q="\\|("+p.replace("]","_]")+"*)>",R="<("+p.replace("]","_]")+"*)\\|",H="\\b(\\d+(?:\\.\\d+)?(?:[eE][+\\-]?\\d+)?|NaN)"+i("m?s")+"\\b";O.main=O.opener+o(O.text+O.rightSeparator,O.text.replace("*","*?")+O.leftSeparator)+O.text,r={upperLetter:"[A-Z\xc0-\xde\u0150\u0170]",lowerLetter:"[a-z0-9_\\-\xdf-\xff\u0151\u0171]",anyLetter:p,anyLetterStrict:d,whitespace:u,escapedLine:l,br:f,commentFront:"<!--",commentBack:"-->",tag:"<\\/?"+L.name+L.attrs+">",tagPeek:"<",scriptStyleTag:"<("+o("script","style")+")"+L.attrs+">[^]*?<\\/\\1>",scriptStyleTagOpener:"<",url:"("+o("https?","mailto","javascript","ftp","data")+":\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])",bullet:y,hr:w,heading:x,align:T,bulleted:m,numbered:b,delOpener:e("~~"),italicOpener:e("//"),boldOpener:e("''"),supOpener:e("^^"),strongFront:e("**"),strongBack:e("**"),emFront:e("*"),emBack:e("*"),verbatimOpener:"`+",collapsedFront:"{",collapsedBack:"}",hookAppendedFront:"\\[",hookPrependedFront:q+"\\[",hookAnonymousFront:"\\[",hookBack:"\\]"+i(R),hookAppendedBack:"\\]"+R,passageLink:O.main+O.closer,passageLinkPeek:"[[",legacyLink:O.opener+O.legacyText+O.legacySeparator+O.legacyText+O.closer,legacyLinkPeek:"[[",simpleLink:O.opener+O.legacyText+O.closer,simpleLinkPeek:"[[",macroFront:F.opener+a(F.name),macroFrontPeek:"(",macroName:F.name,groupingFront:"\\("+i(F.name),groupingFrontPeek:"(",groupingBack:"\\)",twine1Macro:D,twine1MacroPeek:"<<",property:k,propertyPeek:"'s",belongingProperty:C,possessiveOperator:A,belongingOperator:E,belongingOperatorPeek:"of",itsOperator:I,itsOperatorPeek:"its",belongingItOperator:M,belongingItOperatorPeek:"of",variable:S,variablePeek:"$",hookRef:"\\?("+p+"+)\\b",hookRefPeek:"?",cssTime:"(\\d+\\.?\\d*|\\d*\\.?\\d+)(m?s)"+c,colour:o(o("Red","Orange","Yellow","Lime","Green","Cyan","Aqua","Blue","Navy","Purple","Fuchsia","Magenta","White","Gray","Grey","Black"),"#[\\dA-Fa-f]{3}(?:[\\dA-Fa-f]{3})?"),number:H,boolean:o("true","false")+c,identifier:N,itsProperty:P,itsPropertyPeek:"its",belongingItProperty:_,escapedStringChar:"\\\\[^\\n]",singleStringOpener:"'",doubleStringOpener:'"',is:"is"+i(" not"," in")+c,isNot:"is not"+c,and:"and"+c,or:"or"+c,not:"not"+c,inequality:o("<(?!=)","<=",">(?!=)",">="),isIn:"is in"+c,contains:"contains"+c,addition:e("+")+i("="),subtraction:e("-")+i("="),multiplication:e("*")+i("="),division:o("/","%")+i("="),comma:",",spread:"\\.\\.\\."+i("\\."),to:o("to"+c,"="),into:"into"+c,augmentedAssign:o("\\+","\\-","\\*","\\/","%")+"="},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=r:"function"==typeof define&&define.amd?define("patterns",[],function(){return r}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Patterns=r):this.Patterns=r}.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 o(e,t){return Object.keys(t).forEach(function(n){var r=t[n].fn;t[n].fn=function(t){var o=r(t);return o.text||(o.text=t[0]),o.type||(o.type=n),o.innerMode||(o.innerMode=e),o}}),t}var i=Object.bind(0,null),a=[],s=[],u=o(a,{hr:{fn:i},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?(t=Math.round(r/(n.length-2)*50),25===t&&(t="center")):"<"===n[0]&&">"===n.slice(-1)?t="justify":n.indexOf(">")>-1?t="right":n.indexOf("<")>-1&&(t="left"),{align:t}}}});Object.keys(u).forEach(function(e){u[e].canFollow=[null,"br","hr","bulleted","numbered","heading","align"],u[e].cannotFollow=["text"]});var c=o(a,{twine1Macro:{fn:function(){return{type:"error",message:"Harlowe macros use a different syntax to Twine 1 and SugarCube macros."}}},br:{fn:i},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")},delOpener:{fn:r("delOpener","del")},supOpener:{fn:r("supOpener","sup")},commentFront:{fn:function(){return{isFront:!0}}},commentBack:{fn:function(){return{matches:{commentFront:"comment"}}}},scriptStyleTag:{fn:i},tag:{fn:i},url:{fn:i},passageLink:{fn:function(e){var t=e[1],n=e[2],r=e[3];return{type:"twineLink",innerText:n?r:t,passage:t?r:n}}},simpleLink:{fn:function(e){return{type:"twineLink",innerText:e[1],passage:e[1]}}},hookPrependedFront:{fn:function(e){return{name:e[1],isFront:!0,tagPosition:"prepended"}}},hookAnonymousFront:{fn:function(){return{isFront:!0,demote:function(){this.error("This tagged hook doesn't have a matching ].")}}},canFollow:["macro","variable"]},hookAppendedFront:{fn:function(){return{isFront:!0}},cannotFollow:["macro","variable"]},hookBack:{fn:function(){return{type:"hookAppendedBack",matches:{hookPrependedFront:"hook",hookAnonymousFront:"hook"},cannotCross:["verbatimOpener"]}}},hookAppendedBack:{fn:function(e){return{name:e[1],tagPosition:"appended",matches:{hookAppendedFront:"hook"},cannotCross:["verbatimOpener"]}}},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:i},legacyLink:{fn:function(e){return{type:"twineLink",innerText:e[1],passage:e[2]}}}}),l=o(s,{macroFront:{fn:function(e){return{isFront:!0,name:e[1]}}},groupingBack:{fn:function(){return{matches:{groupingFront:"grouping",macroFront:"macro"},cannotCross:["singleStringOpener","doubleStringOpener"]}}},hookRef:{fn:t("name")},variable:{fn:t("name")},whitespace:{fn:i,cannotFollow:"text"}}),f=o(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","itsProperty","belongingItProperty","macro","grouping","string","boolean","number"]
},possessiveOperator:{fn:i},itsProperty:{cannotFollow:["text"],fn:t("name")},itsOperator:{cannotFollow:["text"],fn:i},belongingItProperty:{cannotFollow:["text"],fn:t("name")},belongingItOperator:{cannotFollow:["text"],fn:i},belongingProperty:{cannotFollow:["text"],fn:t("name")},belongingOperator:{cannotFollow:["text"],fn:i},escapedStringChar:{fn:function(){return{type:"text"}}},singleStringOpener:{fn:function(){return{isFront:!0,matches:{singleStringOpener:"string"}}}},doubleStringOpener:{fn:function(){return{isFront:!0,matches:{doubleStringOpener:"string"}}}},cssTime:{fn:function(e){return{value:+e[1]*("s"===e[2].toLowerCase()?1e3:1)}}},colour:{cannotFollow:["text"],fn:function(e){var t,n=e[0].toLowerCase(),r={red:"e61919",orange:"e68019",yellow:"e5e619",lime:"80e619",green:"19e619",cyan:"19e5e6",aqua:"19e5e6",blue:"197fe6",navy:"1919e6",purple:"7f19e6",fuchsia:"e619e5",magenta:"e619e5",white:"fff",black:"000",gray:"888",grey:"888"};return t=Object.hasOwnProperty.call(r,n)?"#"+r[n]:n,{colour:t}}},number:{fn:function(e){return{value:parseFloat(e[0])}}},addition:{fn:i},subtraction:{fn:i},multiplication:{fn:i},division:{fn:i},inequality:{fn:function(e){return{operator:e[0]}}},augmentedAssign:{fn:function(e){return{operator:e[0][0]}}},identifier:{fn:t("name"),cannotFollow:["text"]}},["boolean","is","to","into","and","or","not","isNot","contains","isIn"].reduce(function(e,t){return e[t]={fn:i,cannotFollow:["text"]},e},{}),["comma","spread","addition","subtraction","multiplication","division"].reduce(function(e,t){return e[t]={fn:i},e},{})));a.push.apply(a,_toConsumableArray(Object.keys(u)).concat(_toConsumableArray(Object.keys(c)),_toConsumableArray(Object.keys(l)))),s.push.apply(s,_toConsumableArray(Object.keys(l)).concat(_toConsumableArray(Object.keys(f))));var p=Object.assign({},u,c,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.startMode=a,e}function t(t){var r=Object.freeze({lex:e(t).lex,Patterns:n});return r}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",pseudoHook:"tw-pseudo-hook",enchantment:"tw-enchantment",expression:"tw-expression",enchanter:"[enchanter]",script:"[role=script]",stylesheet:"[role=stylesheet]",storyData:"tw-storydata",passageData:"tw-passagedata",whitespace:"tw-char[char=space], tw-char[char=tab], br",collapsed:"tw-collapsed"})}),define("utils/customelements",[],function(){if(document.registerElement){var e={};return function t(n){for(var r=Object.create(HTMLElement.prototype),o={},i=arguments.length,a=Array(i>1?i-1:0),s=1;i>s;s++)a[s-1]=arguments[s];a.forEach(function(e){o[e]={value:null}}),Object.defineProperties(r,o);var u=document.registerElement(n,{prototype:r});return e[n]=u,t}("tw-storydata","storyname","startnode","creator","creator-version","options")("tw-passagedata","name","pid","position")("tw-story")("tw-debugger")("tw-passage")("tw-link","passage-name")("tw-broken-link","passage-name")("tw-expression","type","name","js")("tw-sidebar")("tw-icon")("tw-align")("tw-collapsed")("tw-verbatim")("tw-hook","name","source")("tw-pseudo-hook")("tw-transition-container")("tw-error")("tw-error-explanation")("tw-error-explanation-button")("tw-notifier","message"),Object.freeze(e)}}),define("utils",["jquery","markup","utils/selectors","utils/customelements"],function(e,t,n){var r={configurable:0,writable:0},o={"transition-in":Object.create(null),"transition-out":Object.create(null)},i="audio,blockquote,canvas,div,h1,h2,h3,h4,h5,hr,ol,p,pre,table,ul,video,tw-align,tw-story,tw-passage".split(","),a="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(","),s=["audio"],u=void 0,c={lockProperties:function(e){for(var t=Object.keys(e),n={},o=0;o<t.length;o++)n[t[o]]=r;return Object.defineProperties(e,n)},lockProperty:function(e,t,n){var o=Object.create(r);return n&&(o.value=n),Object.defineProperty(e,t,o),e},getInheritedPropertyDescriptor:function(e,t){for(;e&&!e.hasOwnProperty(t);)e=Object.getPrototypeOf(e);return e&&Object.getOwnPropertyDescriptor(e,t)||null},toJSLiteral:JSON.stringify,toTSStringLiteral:function(e){var t=Math.max.apply(Math,_toConsumableArray((e.match(/(`+)/g)||[]).map(function(e){return e.length}).concat(0)))+1;return"`".repeat(t)+e+"`".repeat(t)},cssTimeUnit:function(e){if("string"==typeof e){if(e=e.toLowerCase(),"ms"===e.slice(-2))return+e.slice(0,-2)||0;if("s"===e.slice(-1))return 1e3*+e.slice(0,-1)||0}else if(Array.isArray(e)){var t=function(){var t=[];return e.forEach(function(e){var n=c.cssTimeUnit(e);n>0&&t.push(n)}),{v:t}}();if("object"===("undefined"==typeof t?"undefined":_typeof(t)))return t.v}return 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":"")},unescape:function(e){return e.replace(/&(?:amp|lt|gt|quot|nbsp|zwnj|#39|#96);/g,function(e){return{"&":"&",">":">","<":"<",""":'"',"'":"'"," ":String.fromCharCode(160),"‌":String.fromCharCode(8204)}[e]})},escape:function(e){return e.replace(/[&><"']/g,function(e){return{"&":"&",">":">","<":"<",'"':""","'":"'"}[e]})},insensitiveName:function(e){return(e+"").toLowerCase().replace(/-|_/g,"")},wrapHTMLTag:function(e,t){return"<"+t+">"+e+"</"+t+">"},findAndFilter:function(t,n){return t=e(t||c.storyElement),t.filter(n).add(t.find(n))},closestHookSpan:function(e){var t=e.closest(n.hook+","+n.pseudoHook);return t.length?t:e},childrenProbablyInline:function(e){var t=[];return Array.prototype.every.call(e.find("*"),function(e){return e.hidden||/none|inline/.test(e.style.display)?!0:i.indexOf(e.tagName.toLowerCase())>-1||/none|inline/.test(e.style.display)?!1:a.indexOf(e.tagName.toLowerCase())>-1?!0:(t.push(e),!0)})&&t.every(function(e){return/none|inline/.test(e.style.display)})},transitionReplace:function(t,n,r){t=c.closestHookSpan(t);var o=e("<tw-transition-container>").css("position","relative");o.insertBefore(t.first());var i=void 0;n&&(i=e("<tw-transition-container>").appendTo(o),n.appendTo(i));var a=e("<tw-transition-container>").css("position","absolute").prependTo(o);t.detach().appendTo(a),c.transitionOut(a,r),n&&c.transitionIn(i,r,function(){i.unwrap().children().first().unwrap()})},transitionOut:function(e,t){function n(){e.remove()}var r=c.childrenProbablyInline(e),o=e.length>1||!r||-1===["tw-hook","tw-passage"].indexOf(e.tag());o&&(e=e.wrapAll("<tw-transition-container>").parent()),e.attr("data-t8n",t).addClass("transition-out"),c.childrenProbablyInline(e)&&e.css("display","inline-block");var i=c.transitionTime(t,"transition-out");i?window.setTimeout(n,i):n()},transitionIn:function(e,t){function n(){var t=0===c.findAndFilter(e,s.join(",")).length;o&&t?e.contents().unwrap():e.removeClass("transition-in").removeAttr("data-t8n")}var r=c.childrenProbablyInline(e),o=e.length>1||!r||-1===["tw-hook","tw-passage"].indexOf(e.tag());o&&(e=e.wrapAll("<tw-transition-container>").parent()),e.attr("data-t8n",t).addClass("transition-in"),c.childrenProbablyInline(e)&&e.css("display","inline-block");var i=c.transitionTime(t,"transition-in");i?window.setTimeout(n,i):n()},transitionTime:function(t,n){var r=o[n];if(!r[t]){var i=e("<p>").appendTo(document.body).attr("data-t8n",t).addClass(n);r[t]=c.cssTimeUnit(i.css("animation-duration"))+c.cssTimeUnit(i.css("animation-delay")),i.remove()}return r[t]},$:function(t,n){return e(t,n||c.storyElement).not(".transition-out, .transition-out *")},log:function(e){window.console&&console.log(e)},impossible:function(e,t){window.console&&console.error(e+"(): "+t)},assert:function(e){window.console&&(e||console.error("Assertion failed!"))},assertMustHave:function(e,t){if(window.console)for(var n=0;n<t.length;n+=1)t[n]in e||console.error("Assertion failed: "+e+" lacks property "+t[n])},assertOnlyHas:function(e,t){if(window.console)for(var n in e)-1===t.indexOf(n)&&console.error("Assertion failed: "+e+" had unexpected property '"+n+"'!")},get storyElement(){return u}};return e(function(){return u=e(n.story)}),Object.freeze(c)}),define("twinescript/compiler",["utils"],function(e){function t(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];for(var o=0;o<e.length;o+=1)if(n.indexOf(e[o].type)>-1)return o;return 0/0}function n(e){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;n>o;o++)r[o-1]=arguments[o];return e.length-1-t.apply(void 0,[[].concat(_toConsumableArray(e)).reverse()].concat(r))}function r(e,a){if(!e)return"";e=[].concat(e);var s=e[0];if(1===e.length){if("identifier"===s.type)return a?"TwineError.create('keyword','I can\\'t use \\'"+s.text+"\\' in this position.') ":" Operations.Identifiers."+s.text.toLowerCase()+" ";if("variable"===s.type)return"VarRef.create(State.variables,"+o(s.name)+")"+(a?"":".get()");if("hookRef"===s.type)return a?"VarRef.create(section.selectHook('?"+s.name+"'), 'TwineScript_Assignee')":" section.selectHook('?"+s.name+"') ";if("string"===s.type)return s.text.replace(/\n/g,"\\n");if("colour"===s.type)return"Colour.create("+o(s.colour)+")";if("root"===s.type)return r(s.children)}var u=void 0,c=void 0,l=void 0,f=void 0,p=void 0,d=void 0,h=void 0,g=void 0,y=!0,m=!0,v=!1;return(u=t(e,"comma"))>-1?(p=",",m=!1):(u=t(e,"spread"))>-1?(p="Operations.makeSpreader(",f=r(e.splice(u+1))+")",y=!1):(u=t(e,"to"))>-1?(h="to",l="Operations.setIt("+r(e.slice(0,u),"varRef")+")"):(u=t(e,"into"))>-1?(h="into",f=r(e.slice(0,u),"varRef"),l="Operations.setIt("+r(e.slice(u+1),"varRef")+")"):(u=t(e,"augmentedAssign"))>-1?(h=e[u].operator,l=r(e.slice(0,u),"varRef"),f="Operations['"+h+"']("+(r(e.slice(0,u))+","+r(e.splice(u+1)))+")"):(u=t(e,"and","or"))>-1?d=e[u].type:(u=t(e,"is","isNot"))>-1?(v=!0,d=e[u].type):(u=t(e,"contains","isIn"))>-1?(v=!0,d=e[u].type):(u=t(e,"inequality"))>-1?(v=!0,d=e[u].operator):(u=t(e,"addition","subtraction"))>-1?(d=e[u].text,l=r(e.slice(0,u)),l.trim()||(l="0")):(u=t(e,"multiplication","division"))>-1?d=e[u].text:(u=t(e,"not"))>-1?(p="Operations.not(",f=r(e.splice(u+1))+")",y=!1):(u=t(e,"belongingProperty"))>-1?(f="VarRef.create("+r(e.slice(u+1),"varref")+","+o(e[u].name)+")"+(a?"":".get()"),p=" ",y=m=!1):(u=t(e,"belongingOperator","belongingItOperator"))>-1?(e[u].type.includes("It")&&(f="Operations.Identifiers.it",m=!1),g="belonging"):(u=n(e,"property"))>-1?(l="VarRef.create("+r(e.slice(0,u),"varref")+","+o(e[u].name)+")"+(a?"":".get()"),p=" ",y=m=!1):(u=n(e,"itsProperty"))>-1||(u=t(e,"belongingItProperty"))>-1?(l="VarRef.create(Operations.Identifiers.it,"+o(e[u].name)+").get()",p=" ",y=m=!1):(u=n(e,"possessiveOperator","itsOperator"))>-1?(e[u].type.includes("it")&&(l="Operations.Identifiers.it",y=!1),g="possessive"):(u=t(e,"macro"))>-1?(c=e[u].children[0],i("macroName"===c.type),p="Macros.run("+(c.isMethodCall?r(c.children):'"'+e[u].name+'"')+", [section,"+r(e[u].children.slice(1))+"])",y=m=!1):(u=t(e,"grouping"))>-1&&(p="("+r(e[u].children,a)+")",y=m=!1),u>-1?(d&&(a=!1),l=l||r(e.slice(0,u),a).trim(),f=f||r(e.splice(u+1)).trim(),v&&!l&&(l=" Operations.Identifiers.it "),y&&!l||m&&!f?"TwineError.create('operation','I need some code to be "+(y?"left ":"")+(y&&m?"and ":"")+(m?"right ":"")+'of "'+e[u].text+"\"')":p?l+p+f:h?"Operations.makeAssignmentRequest("+[l,f,o(h)]+")":g?"VarRef.create("+("belonging"===g?f:l)+",{computed:true,value:"+("belonging"===g?l:f)+"})"+(a?"":".get()"):d?" Operations["+o(d)+"]("+l+","+f+") ":""):1===e.length?((s.value||s.text)+"").trim()||" ":e.reduce(function(e,t){return e+r(t,a)},"")}var o=e.toJSLiteral,i=e.assert;return r}),define("internaltypes/twineerror",["jquery","utils"],function(e,t){var n=t.impossible,r=t.assert,o=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 use an operation on some data, but the data's type was incorrect.",macrocall:"I tried to use a macro, but its call wasn't written correctly.",datatype:"I tried to use a macro, but was given the wrong type of data to it.",keyword:"I was given a keyword in a way that I didn't understand.",changer:"This is a command to change a hook, but it isn't being used correctly.",infinite:"I almost ended up doing the same thing over and over, forever.",property:"I tried to access a value in a string/array/datamap, but I couldn't find it.",unimplemented:"I currently don't have this particular feature. I'm sorry.",javascript:"This error message was reported by your browser's Javascript engine. I don't understand it either, but it usually means that an expression was badly written."},a={create:function(e,t,o){return t||n("TwineError.create","called with only 1 string."),r(o||e in i),Object.assign(Object.create(this),{type:e,message:t,explanation:o})},fromError:function(e){return a.create("javascript","\u2615 "+e.message)},containsError:function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return t.reduce(function(e,t){return e?e:t instanceof Error?t:a.isPrototypeOf(t)?t:Array.isArray(t)?a.containsError.apply(a,_toConsumableArray(t)):!1},!1)},createWarning:function(e,t){return Object.assign(this.create(e,t),{warning:!0})},render:function(t){t=t||"";var n=e("<tw-error class='"+("javascript"===this.type?"javascript ":"")+(this.warning?"warning":"error")+"' title='"+o(t)+"'>"+o(this.message)+"</tw-error>"),r=e("<tw-error-explanation>").text(this.explanation||i[this.type]).hide(),a=e("<tw-error-explanation-button tabindex=0>").html("<span class='folddown-arrowhead'>►</span>");return a.on("click",function(){r.toggle(),a.children(".folddown-arrowhead").css("transform","rotate("+(r.is(":visible")?"90deg":"0deg")+")")}),n.append(a).append(r),n}};return a}),define("renderer",["utils","markup","twinescript/compiler","internaltypes/twineerror"],function(e,t,n,r){function o(e,t){var n=c.render(e.children);return n&&i(n,t)}var i=e.wrapHTMLTag,a=e.escape,s=e.impossible,u=e.toJSLiteral,c=void 0,l="text-align: center; max-width:50%; ";return c={options:{},exec:function(){var e=void 0,n=void 0;return function(r){return"string"!=typeof r?(s("Renderer.exec","source was not a string, but "+("undefined"==typeof r?"undefined":_typeof(r))),""):r===e?n:(e=r,n=c.render(t.lex(r).children))}}(),render:function e(s){var f="";if(!s)return f;for(var p=s.length,d=0;p>d;d+=1){var h=s[d];switch(h.type){case"error":f+=r.create("syntax",h.message).render(a(h.text))[0].outerHTML;break;case"numbered":case"bulleted":var g="numbered"===h.type?"ol":"ul";f+="<"+g+">";for(var y=1;p>d&&s[d]&&s[d].type===h.type;)f+=("<"+g+">").repeat(Math.max(0,s[d].depth-y)),f+=("</"+g+">").repeat(Math.max(0,y-s[d].depth)),y=s[d].depth,f+=o(s[d],"li"),d+=1;d-=1,f+=("</"+g+">").repeat(y+1);break;case"align":for(;h&&"align"===h.type;){var m="",v="",b=h.align,w=d+=1;if("left"===b){d-=1;break}for(;p>d&&s[d]&&"align"!==s[d].type;)d+=1;switch(v+=e(s.slice(w,d)),b){case"center":m+=l+"margin-left: auto; margin-right: auto;";break;case"justify":case"right":m+="text-align: "+b+";";break;default:+b&&(m+=l+"margin-left: "+b+"%;")}f+="<tw-align "+(m?'style="'+m+'"':"")+(c.options.debug?' title="'+h.text+'"':"")+">"+v+"</tw-align>\n",h=s[d]}break;case"heading":f+=o(h,"h"+h.depth);break;case"br":case"hr":f+="<"+h.type+">";break;case"escapedLine":case"comment":break;case"inlineUrl":f+='<a class="link" href="'+a(h.text)+'">'+h.text+"</a>";break;case"scriptStyleTag":case"tag":f+=h.text.startsWith("</")?h.text:h.text.replace(/>$/," data-raw>");break;case"sub":case"sup":case"del":case"strong":case"em":f+=o(h,h.type);break;case"bold":f+=o(h,"b");break;case"italic":f+=o(h,"i");break;case"twineLink":var x=t.lex("(link-goto:"+u(h.innerText)+","+u(h.passage)+")");f+=e(x.children);break;case"hook":f+="<tw-hook "+(h.name?'name="'+h.name+'"':"")+(c.options.debug&&h.name?' title="Hook: ?'+h.name+'"':"")+' source="'+a(h.innerText)+'"></tw-hook>';break;case"verbatim":f+=i(a(h.innerText).replace(/\n/g,"<br>"),"tw-verbatim");break;case"collapsed":f+=o(h,"tw-collapsed");break;case"hookRef":case"variable":case"macro":f+='<tw-expression type="'+h.type+'" name="'+a(h.name||h.text)+'"'+(c.options.debug?' title="'+a(h.text)+'"':"")+' js="'+a(n(h))+'"></tw-expression>';break;default:f+=h.children&&h.children.length?e(h.children):h.text}}return f}},Object.freeze(c)}),define("passages",["jquery","utils","utils/selectors"],function(e,t,n){function r(e){return Object.assign(new Map([["source",o(e.html())],["tags",(e.attr("tags")||"").split(/\s/)],["name",e.attr("name")]]),{TwineScript_TypeName:"passage datamap",TwineScript_ObjectName:"a passage datamap"})}var o=t.unescape,i=Object.assign(new Map,{TwineScript_ObjectName:"the Passages datamap",getTagged:function(e){var t=[];return this.forEach(function(n){var r=n instanceof Map&&n.get("tags");Array.isArray(r)&&r.indexOf(e)>-1&&t.push(n)}),t.sort(function(e,t){return e.get("name")>t.get("name")})},create:r});return e(function(){Array.from(e(n.storyData+" > "+n.passageData)).forEach(function(t){t=e(t),i.set(t.attr("name"),new r(t))})}),i}),define("utils/naturalsort",[],function(){return function(e){return function t(n,r){var o,i,a,s,u=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,c=/(^[ ]*|[ ]*$)/g,l=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,f=/^0x[0-9a-f]+$/i,p=/^0/,d=function(e){return t.insensitive&&(""+e).toLowerCase()||""+e},h=d(n).replace(c,"")||"",g=d(r).replace(c,"")||"",y=h.replace(u,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),m=g.replace(u,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),v=parseInt(h.match(f))||1!==y.length&&h.match(l)&&Date.parse(h),b=parseInt(g.match(f))||v&&g.match(l)&&Date.parse(g)||null;if(e&&window.Intl&&window.Intl.Collator&&(a=window.Intl.Collator(e)),b){if(b>v)return-1;if(v>b)return 1}for(var w=0,x=Math.max(y.length,m.length);x>w;w++){if(o=!(y[w]||"").match(p)&&parseFloat(y[w])||y[w]||0,i=!(m[w]||"").match(p)&&parseFloat(m[w])||m[w]||0,isNaN(o)!==isNaN(i))return isNaN(o)?1:-1;if(("undefined"==typeof o?"undefined":_typeof(o))!==("undefined"==typeof i?"undefined":_typeof(i)))o+="",i+="";else if("string"==typeof o&&a&&(s=a.compare(o,i),0!==s))return s;if(i>o)return-1;if(o>i)return 1}return 0}}}),define("utils/operationutils",["utils","internaltypes/twineerror"],function(e,t){function n(e){return!!e&&("object"===("undefined"==typeof e?"undefined":_typeof(e))||"function"==typeof e)}function r(e){return Array.isArray(e)?"array":e instanceof Map?"datamap":e instanceof Set?"dataset":e&&"object"===("undefined"==typeof e?"undefined":_typeof(e))?"object":""}function o(e,n){if(d(e instanceof Map),"string"!=typeof n&&"number"!=typeof n)return t.create("property","Only strings and numbers can be used as data names for "+u(e)+", not "+u(n)+".");var r="string"==typeof n?+n:""+n;return!Number.isNaN(r)&&e.has(r)?t.create("property","You mustn't use both "+u(n)+" and "+u(r)+" as data names in the same datamap."):!0}function i(e){return"string"==typeof e||Array.isArray(e)}function a(e){if(!n(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 Object.assign(new Map(e),e);if(e instanceof Set)return Object.assign(new Set(e),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 h("OperationUtils.clone","The value "+(e.toSource?e.toSource():e)+" cannot be cloned!"),e}function s(e,t,r){return"string"==typeof t&&n(r)&&"TwineScript_ToString"in r?e(t,r.TwineScript_ToString()):"string"==typeof r&&n(t)&&"TwineScript_ToString"in t?e(t.TwineScript_ToString(),r):!1}function u(e){return n(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 logic value '"+e+"'":"string"==typeof e||"number"==typeof e?"the "+("undefined"==typeof e?"undefined":_typeof(e))+" "+g(e):void 0===e?"an empty variable":"...whatever this is"}function c(e){return e.innerType?"either"===e.pattern?(d(Array.isArray(e.innerType)),e.innerType.map(c).join(" or ")):"optional"===e.pattern?"(an optional) "+c(e.innerType):c(e.innerType):e===String||e===Number||e===Boolean?"a "+_typeof(e()):e===Map?"a datamap":e===Set?"a dataset":e===Array?"an array":n(e)&&"TwineScript_TypeName"in e?e.TwineScript_TypeName:u(e)}function l(e,t){return"object"!==("undefined"==typeof e?"undefined":_typeof(e))&&"object"!==("undefined"==typeof t?"undefined":_typeof(t))?e===t:Array.isArray(e)&&Array.isArray(t)?e.length!==t.length?!1:e.every(function(e,n){return l(t[n],e)}):e instanceof Map&&t instanceof Map?l(Array.from(e.entries()).sort(),Array.from(t.entries()).sort()):e instanceof Set&&t instanceof Set?l(Array.from(e.values()),Array.from(t.values())):e&&"function"==typeof e.TwineScript_is?e.TwineScript_is(t):e&&"object"===("undefined"==typeof e?"undefined":_typeof(e))&&t&&"object"===("undefined"==typeof t?"undefined":_typeof(t))&&Object.getPrototypeOf(e)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype?l(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 f(e,t){if(e){if("string"==typeof e)return e.indexOf(t)>-1;if(Array.isArray(e))return e.some(function(e){return l(e,t)});if(e instanceof Set||e instanceof Map)return Array.from(e.keys()).some(function(e){return l(e,t)})}return l(e,t)}function p(e,n,o){if(!n||!o)return t.create("macrocall","The sub"+r(e)+" index values must not be 0 or NaN.");if(0>n&&(n=e.length+n+1),0>o&&(o=e.length+o+1),n>o)return p(e,o,n);var i="string"==typeof e;i&&(e=Array.from(e));var a=e.slice(n>0?n-1:n,o);return i?a.join(""):a}var d=e.assert,h=e.impossible,g=e.toJSLiteral,y=Object.freeze({isObject:n,isValidDatamapName:o,collectionType:r,isSequential:i,clone:a,coerceToString:s,objectName:u,typeName:c,is:l,contains:f,subset:p,numericIndex:/^(?:[1-9]\d*|0)$/});return y}),define("macros",["jquery","utils/naturalsort","utils","utils/operationutils","internaltypes/twineerror"],function(e,t,n,r,o){function i(e){return function(n){n=n.reduce(function(e,n){if(n&&n.spreader===!0)if(Array.isArray(n.value)||"string"==typeof n.value)for(var r=0;r<n.value.length;r++)e.push(n.value[r]);else e.push(n.value instanceof Set?Array.from(n.value).sort(t("en")):o.create("operation","I can't spread out "+h(n.value)+", which is not a string, dataset or array."));else e.push(n);return e},[]);var r=o.containsError(n);return r?r:e.apply(void 0,_toConsumableArray(n))}}function a(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?!0:a(e,t.innerType);if("either"===t.pattern)return t.innerType.some(function(t){return a(e,t)});if("wrapped"===t.pattern)return a(e,t.innerType)}return void 0!==t&&void 0===e?!1:t!==y.TypeSignature.Any||void 0===e||e.TwineScript_Unobservable?t===String?"string"==typeof e:t===Boolean?"boolean"==typeof e:t===Number?"number"==typeof e:t===Array?Array.isArray(e):t===Map||t===Set?e instanceof t:Object.isPrototypeOf.call(t,e):!0}function s(e,t,n){if(!n)return t;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 "+n.map(g).reduce(function(e,t,n,r){return e+(0===n?"":n<r.length-1?", ":", and ")+t},"")+(n.length>1?", in that order":"."):"The macro must not be given any data - just write "+e+".",function(i){for(var s=arguments.length,u=Array(s>1?s-1:0),c=1;s>c;c++)u[c-1]=arguments[c];for(var p=void 0,d=0,m=Math.max(u.length,n.length);m>d;d+=1){var v=n[d],b=u[d];if(d>=n.length&&!p)return o.create("typesignature",u.length-n.length+" too many values were given to this "+e+" macro.",r);if(v||(v=p),!v.innerType||"rest"!==v.pattern&&"zero or more"!==v.pattern||(p=v.innerType,"rest"===v.pattern&&(v=v.innerType)),!a(b,v))return void 0===b?o.create("typesignature","The "+e+" macro needs "+f(n.length-d,"more value")+".",r):b&&b.TwineScript_Unobservable&&v===y.TypeSignature.Any?o.create("typesignature",e+"'s "+l(d+1)+" value is not valid data for this macro.",r):o.create("typesignature",e+"'s "+l(d+1)+" value is "+h(b)+", but should be "+g(v)+".",v.message||r)}return t.apply(void 0,[i].concat(u))}}function u(e,t,n){Array.isArray(e)?e.forEach(function(e){return d(m,c(e),n)}):d(m,c(e),n)}var c=n.insensitiveName,l=n.nth,f=n.plural,p=n.assert,d=n.lockProperty,h=r.objectName,g=r.typeName,y=void 0,m={},v={};return y={has:function(e){return e=c(e),m.hasOwnProperty(e)},get:function(e){return e=c(e),m.hasOwnProperty(e)&&m[e]},add:function e(t,n,r){return u(t,"value",i(s(t,n,r))),e},addChanger:function e(t,n,r,o){return p(r),u(t,"changer",i(s(t,n,o))),v[Array.isArray(t)?t[0]:t]=r,e},getChangerFn:function(e){return v[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;e>n;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 o.containsError(e)?e:y.has(e)?y.get(e)(t):o.create("macrocall","I can't run the macro '"+e+"' because it doesn't exist.")}},Object.freeze(y)}),define("datatypes/changercommand",["utils","macros","utils/operationutils"],function(e,t,n){var r=e.assert,o=n.is,i={changer:!0,TwineScript_TypeName:"a changer command",TwineScript_Print:function(){return"[A '"+this.macroName+"' command]"},create:function(e,t,n){return r(void 0===t||Array.isArray(t)),Object.assign(Object.create(this),{macroName:e,params:t,next:n||null,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){return i.isPrototypeOf(e)?this.macroName===e.macroName&&o(this.params,e.params)&&o(this.next,e.next):void 0},TwineScript_Clone:function(){return this.create(this.macroName,this.params,this.next)},run:function(e){t.getChangerFn(this.macroName).apply(void 0,[e].concat(_toConsumableArray(this.params))),this.next&&this.next.run(e)}};return Object.freeze(i)}),define("state",["utils","passages","datatypes/changercommand","internaltypes/twineerror","utils/operationutils"],function(e,t,n,r,o){var i=e.impossible,a=o.objectName,s={TwineScript_ObjectName:"this story's variables",TwineScript_Writeproof:[]},u={passage:"",variables:s,create:function(e,t){var n=Object.create(u);return n.passage=e||"",n.variables=Object.assign(Object.create(this.variables),t),n}},c=[],l=-1,f=u.create(),p=void 0,d=Object.assign({get passage(){return f.passage},get variables(){return f.variables},get pastLength(){return l},get futureLength(){return c.length-1-l},passageNameVisited:function(e){var n=0;if(!t.get(e))return 0;for(var r=0;l>=r;r++)n+=+(e===c[r].passage);return n},passageNameLastVisited:function(e){if(!t.get(e))return 1/0;if(e===f.passage)return 0;for(var n=l;n>0;n--)if(c[n].passage===e)return l-n+1;return 1/0},pastPassageNames:function(){for(var e=[],t=l-1;t>=0;t--)e.unshift(c[t].passage);return e},newPresent:function(e){f=(c[l]||u).create(e)},play:function(e){f||i("State.play","present is undefined!"),f.passage=e,c=c.slice(0,l+1).concat(f),l+=1,this.newPresent(e)},rewind:function(e){var t=1,n=!1;if(e)if("string"==typeof e){if(t=this.passageNameLastVisited(e),t===1/0)return}else"number"==typeof e&&(t=e);for(;t>0&&l>0;t--)n=!0,l-=1;return n&&this.newPresent(c[l].passage),n},fastForward:function(e){var t=1,n=!1;for("number"==typeof e&&(t=e);t>0&&c.length>0;t--)n=!0,l+=1;return n&&this.newPresent(c[l].passage),n},reset:function(){window.jasmine&&(c=[],l=-1,f=u.create(),p=void 0)}},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 t(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"===("undefined"==typeof 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,o=r.name,i=r.params,a=r.next;return n.create(o,i,a)}}return t}function i(){var n=c.slice(0,l+1),o=n.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(p||(p=o.reduce(function(e,t,n){var r=_slicedToArray(t,2),o=r[0],i=r[1];return e||o&&[o,i,n+1]},void 0)),p){var i=p,s=_slicedToArray(i,3),u=s[0],f=s[1],d=s[2];return r.create("saving","The variable $"+u+" holds "+a(f)+" (which is, or contains, a complex data value) on turn "+d+"; the game can no longer be saved.")}try{return JSON.stringify(n,t)}catch(e){return!1}}function f(e){var t=void 0,n=s;try{t=JSON.parse(e,o)}catch(e){return!1}return Array.isArray(t)?(t=t.map(function(e){return"object"===("undefined"==typeof e?"undefined":_typeof(e))&&e.hasOwnProperty("passage")&&e.hasOwnProperty("variables")?(e.variables=Object.assign(Object.create(n),e.variables),n=e.variables,Object.assign(Object.create(u),e)):!1})).indexOf(!1)>-1?!1:(c=t,l=c.length-1,void this.newPresent(c[l].passage)):!1}return{serialise:i,deserialise:f}}());return Object.seal(u),Object.freeze(d)}),define("datatypes/colour",["utils","jquery"],function(e,t){function n(e){if(e in u)return u[e];var n=t("<p>").css("background-color",e).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},u[e]=n,n}function r(e){return"string"!=typeof e?e:(e=e.replace("#",""),e=e.replace(a,"$1$1$2$2$3$3"),{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16)})}var o=e.assert,i=/^([\da-fA-F])$/,a=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,s=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,u=Object.create(null),c=Object.freeze({colour:!0,TwineScript_TypeName:"a colour",TwineScript_ObjectName:"a colour","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)})},TwineScript_Print:function(){return"<tw-colour style='background-color:rgb("+[this.r,this.g,this.b].join(",")+");'></span>"},TwineScript_is:function(e){return c.isPrototypeOf(e)&&e.r===this.r&&e.g===this.g&&e.b===this.b},TwineScript_Clone:function(){return c.create(this)},toHexString:function(){return o(this!==c),"#"+this.r.toString(16).replace(i,"0$1")+this.g.toString(16).replace(i,"0$1")+this.b.toString(16).replace(i,"0$1")},create:function(e){return"string"==typeof e?this.create(c.isHexString(e)?r(e):n(e)):Object.assign(Object.create(this),e);
},isHexString:function(e){return"string"==typeof e&&"#"===e[0]&&(e.slice(1).match(a)||e.slice(1).match(s))}});return c}),define("utils/hookutils",["jquery","utils/selectors"],function(e,t){function n(e,t,n){var r=e.textContent.length;if(!(t>=r)){var o=void 0,i=[o=0===t?e:e.splitText(t)];return n&&(0>=n&&(n=r-n),r>n&&i.push(o.splitText(n-t))),i}}function r(e,t){var o=[],i="",a=[];if(!e.length||!t)return a;for(;e.length>0;){o.push(e[0]),i+=e[0].textContent,e.shift();var s=i.indexOf(t);if(s>-1){for(var u,c=i.length-(s+t.length);s>=o[0].textContent.length;)s-=o[0].textContent.length,o.shift();if(1===o.length){var l=n(o[0],s,s+t.length);a.push(l[0]),l[1]&&e.unshift(l[1]);break}a.push(n(o[0],s,o[0].length)[0]),(u=a).push.apply(u,_toConsumableArray(o.slice(1,-1)));var f=n(o[o.length-1],0,o[o.length-1].textContent.length-c);a.push(f[0]),f[1]&&e.unshift(f[1]),a=a.filter(Boolean);break}}return[a].concat(_toConsumableArray(r(e,t)))}var o={wrapTextNodes:function(t,n,o){var i=r(n.textNodes(),t),a=e();return i.forEach(function(t){a=a.add(e(t).wrapAll(o))}),a},selectorType:function(e){if(e&&"string"==typeof e){var t=/\?(\w*)/.exec(e);return t&&t.length?"hookRef":"<"===e[0]&&">"===e[e.length-1]?"html":"string"}return"undefined"},hookToSelector:function(e){return e=e.replace(/"/g,"""),t.hook+'[name="'+e+'"]'}};return Object.freeze(o)}),define("datatypes/hookset",["jquery","utils/hookutils"],function(e,t){function n(){return this.section.$(o(this.selector.slice(1)))}function r(e){for(var t=n.call(this),r=arguments.length,o=Array(r>1?r-1:0),i=1;r>i;i++)o[i-1]=arguments[i];return e in t&&t[e].apply(t,o)}var o=t.hookToSelector,i=Object.freeze({forEach:function(t){return r.call(this,"each",function(n){t(e(this),n)})},text:function(){return r.call(this,"text")},TwineScript_ToString:function(){return this.text()},TwineScript_Print:function(){return this.text()},get TwineScript_ObjectName(){return this.selector+" (a hook reference)"},TwineScript_TypeName:"a hook reference (like ?this)",set TwineScript_Assignee(e){this.section.renderInto(e,n.call(this),{append:"replace"})},get TwineScript_Assignee(){return this},TwineScript_AssignValue:function(){return r.call(this,"text")},TwineScript_DeleteValue:function(e){"TwineScript_Assignee"===e&&r.call(this,"text","")},create:function(e,t){var n=Object.create(this);return n.section=e,n.selector=t,Object.freeze(n)}});return i}),define("internaltypes/varref",["state","internaltypes/twineerror","utils/operationutils","datatypes/hookset"],function(e,t,n,r){function o(e,n){var r=void 0;if(e instanceof Map&&(r=t.containsError(b(e,n))))return r;if(g(e)){var o=void 0;if("number"==typeof n)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("last"===n)n=-1;else if("length"!==n)return t.create("property","You can only access position strings/numbers ('4th', 'last', '2ndlast', (2), etc.) and 'length' of "+y(e)+", not "+y(n)+".")}else if(e instanceof Set){if("length"!==n)return t.create("property","You can only get the 'length' of a "+y(e)+".","To check contained values, use the 'contains' operator.");n="size"}else if("number"==typeof e||"boolean"==typeof e)return t.create("property","You can't get data values from "+y(e)+".");return n}function i(e,n){var r=n.reduce(function(r,i,a){i.computed&&(i=i.value),i=Array.isArray(i)?i.map(function(t){return o(e,t)}):o(e,i);var s=void 0;return(s=t.containsError(r,i))?s:(a<n.length-1&&(e=p(e,i)),r.push(i),r)},[]);return{compiledPropertyChain:r,deepestObject:e}}function a(e,t){return void 0===e?e:e instanceof Map?e.get(t):(g(e)&&0>t-0&&(t=e.length+(t-0)),e[t])}function s(e){return e.computed?"("+y(e.value)+")":"'"+e+"'"}function u(e,n){if(Array.isArray(n))return n.map(function(t){return u(e,t)});var r="I won't add "+s(n)+" to "+y(e)+" because it's one of my special system collections.",o="I can't modify '"+s(n)+"' because it holds one of my special system collections.";if(e instanceof Map)return e.TwineScript_Sealed&&!e.has(n)?t.create("operation",r):e.TwineScript_Writeproof&&e.TwineScript_Writeproof.indexOf(n)>-1?t.create("operation",o):!0;if(g(e)){if("length"===n)return t.create("operation","I can't forcibly alter the length of "+y(e)+".");if(+n!==(0|n))return t.create("property",y(e)+" can only have position keys ('3rd', '1st', (5), etc.), not "+s(n)+".")}return!e.TwineScript_Sealed||n in e?e.TwineScript_Writeproof&&e.TwineScript_Writeproof.indexOf(n)>-1?t.create("operation",o):"number"==typeof e||"boolean"==typeof e?t.create("operation","You can't alter the data values of "+y(e)+"."):!0:t.create("operation",r)}function c(e,t,n){e instanceof Map?e.set(t,n):(g(e)&&0>t-0&&(t=e.length+(t-0)),e[t]=n)}function l(e,t){g(e)&&0>t-0&&(t=e.length+(t-0)),Array.isArray(e)&&v.exec(t)?e.splice(t,1):e instanceof Map||e instanceof Set?e.delete(t):e.TwineScript_DeleteValue?e.TwineScript_DeleteValue(t):delete e[t]}function f(e){function t(){return e}return{get:t,set:t,delete:t}}function p(n,r,o){if(Array.isArray(r))return r.map(function(e){return p(n,e,e)})["string"==typeof n?"join":"valueOf"]("");"string"==typeof n&&(n=[].concat(_toConsumableArray(n)));var i=a(n,r);return void 0===i?n===e.variables?w:t.create("property","I can't find a "+s(o)+" data name in "+y(n)):i}function d(e,n){var r=this,o=this.compiledPropertyChain.reduce(function(e,t){var n=void 0;return n=0===e.length?r.object:p.apply(void 0,_toConsumableArray(e[e.length-1])),e.push([n,t])&&e},[]).reduceRight(e,n);return t.containsError(o)?o:void 0}var h=n.isObject,g=n.isSequential,y=n.objectName,m=n.clone,v=n.numericIndex,b=n.isValidDatamapName,w=0,x=Object.freeze({varref:!0,get:function(){return p(this.deepestObject,this.compiledPropertyChain.slice(-1)[0],this.propertyChain.slice(-1)[0])},set:function(e){return e&&e.TwineScript_AssignValue&&(e=e.TwineScript_AssignValue()),d.call(this,function(e,n,o){var i=_slicedToArray(n,2),a=i[0],s=i[1],l=void 0;if(l=t.containsError(e,a,s)||t.containsError(h(a)&&u(a,s)))return l;if(r.isPrototypeOf(a)&&"string"!=typeof e)return t.create("datatype","You can only set hook references to strings, not "+y(e)+".");if("string"==typeof a){var f=function(){if("string"!=typeof e||e.length!==(Array.isArray(s)?s.length:1))return{v:t.create("datatype","I can't put this non-string value, "+y(e)+", in a string.")};a=[].concat(_toConsumableArray(a));var n=[].concat(_toConsumableArray(e));[].concat(s).forEach(function(e){0>0+e&&(e=a.length+(0+e)),a=[].concat(_toConsumableArray(a.slice(0,e)),[n.shift()],_toConsumableArray(a.slice(e+1)))}),a=a.join("")}();if("object"===("undefined"==typeof f?"undefined":_typeof(f)))return f.v}else h(a)&&(Array.isArray(s)&&g(e)?("string"==typeof e&&(e=[].concat(_toConsumableArray(e))),s.map(function(t,n){return[t,e[n]]}).forEach(function(e){var t=_slicedToArray(e,2),n=t[0],r=t[1];return c(a,n,r)})):c(a,s,e));return o>0&&(a=m(a)),a},e)},delete:function(){return d.call(this,function(e,n,r){var o=_slicedToArray(n,2),i=o[0],a=o[1],s=void 0;return(s=t.containsError(e,i,a)||t.containsError(h(i)&&u(i,a)))?s:(r>0&&(i=m(i)),null===e?h(i)&&(Array.isArray(a)?a.forEach(function(e){return l(i,e)}):l(i,a)):c(i,a,e),i)},null)},create:function(e,n){var r=void 0;if(r=t.containsError(e))return f(r);n=[].concat(n),x.isPrototypeOf(e)&&(n=e.propertyChain.concat(n),e=e.object);var o=i(e,n),a=o.compiledPropertyChain,s=o.deepestObject;return(r=t.containsError(a,s))?f(r):Object.assign(Object.create(x),{object:e,propertyChain:n,compiledPropertyChain:a,deepestObject:s})},get TwineScript_ObjectName(){return(this.object===e.variables?"$":y(this.object)+"'s ")+this.propertyChain.reduce(function(e,t){return e+"'s "+s(t)})}});return x}),define("internaltypes/assignmentrequest",["utils"],function(e){var t=e.assert,n=Object.freeze({assignmentRequest:!0,TwineScript_TypeName:"an assignment operation",TwineScript_ObjectName:"an assignment operation",TwineScript_Unobservable:!0,create:function(e,n,r){return t("propertyChain"in e&&"object"in e),Object.assign(Object.create(this),{dest:e,src:n,operator:r})}});return n}),define("twinescript/operations",["state","datatypes/colour","internaltypes/assignmentrequest","utils/operationutils","internaltypes/twineerror"],function(e,t,n,r,o){function i(e,t,n,r){return n=n||"do this to",function(i,a){1===t.length&&(a=i);var s=void 0;return(s=o.containsError(i,a))?s:("undefined"==typeof i?"undefined":_typeof(i))!==e||("undefined"==typeof a?"undefined":_typeof(a))!==e?o.create("operation","I can only "+n+" "+e+"s, not "+d(("undefined"==typeof i?"undefined":_typeof(i))!==e?i:a)+".",r):t(i,a)}}function a(e){return function(t,n){var r=void 0;return(r=o.containsError(t,n))?r:t&&t.varref?o.create("operation","I can't give an expression a new value."):("undefined"==typeof t?"undefined":_typeof(t))!==("undefined"==typeof n?"undefined":_typeof(n))||c(t)!==c(n)?l(e,t,n)||o.create("operation",d(t)+" isn't the same type of data as "+d(n)):e(t,n)}}function s(e){return function(t,n){var r=void 0;return(r=o.containsError(t,n))?r:(g=t,e(t,n))}}var u=r.isObject,c=r.collectionType,l=r.coerceToString,f=r.is,p=r.contains,d=r.objectName,h=void 0,g=0,y="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 h={create:function(e){var t=Object.create(this);return t.Identifiers={get it(){return g},get time(){return Date.now()-e.timestamp}},t},and:i("boolean",a(function(e,t){return e&&t}),"use 'and' to join",y),or:i("boolean",a(function(e,t){return e||t}),"use 'or' to join",y),not:i("boolean",function(e){return!e},"use 'not' to invert",y),"+":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?(n=new Set(e),t.forEach(function(e){return n.add(e)}),n):"function"==typeof e["TwineScript_+"]?e["TwineScript_+"](t):"string|number|boolean".includes("undefined"==typeof e?"undefined":_typeof(e))?e+t:o.create("operation","I can't use + on "+d(e)+".")}),"-":a(function(e,t){if(Array.isArray(e))return e.filter(function(e){return-1===t.indexOf(e)});var n=void 0;return e instanceof Set?(n=new Set(e),t.forEach(function(e){return n.delete(e)}),n):"string"==typeof e?e.split(t).join(""):"number"==typeof e?e-t:o.create("operation","I can't use - on "+d(e)+".")}),"*":i("number",a(function(e,t){return e*t}),"multiply"),"/":i("number",a(function(e,t){return 0===t?o.create("operation","I can't divide "+d(e)+" by zero."):e/t}),"divide"),"%":i("number",a(function(e,t){return 0===t?o.create("operation","I can't modulo "+d(e)+" by zero."):e%t}),"modulus"),"<":s(i("number",a(function(e,t){return t>e}),"do < to")),">":s(i("number",a(function(e,t){return e>t}),"do > to")),"<=":s(i("number",a(function(e,t){return t>=e}),"do <= to")),">=":s(i("number",a(function(e,t){return e>=t}),"do >= to")),is:s(f),isNot:s(function(e,t){return!h.is(e,t)}),contains:s(p),isIn:s(function(e,t){return p(t,e)}),makeSpreader:function(e){return{value:e,spreader:!0}},makeAssignmentRequest:function(e,t,r){var i=o.containsError(e,t);return i?i:t&&t.TwineScript_Unobservable?o.create("operation","That type of value can't be stored."):u(e)&&"propertyChain"in e?n.create(e,t,r):o.create("operation","I can't store a new value inside "+d(e)+".")},setIt:function(e){return o.containsError(e)?e:e.varref?(g=e.get(),e):o.create("operation","I can't put a new value into "+d(e)+".")}},Object.freeze(h)}),define("twinescript/environ",["macros","state","utils","datatypes/colour","internaltypes/varref","internaltypes/twineerror","twinescript/operations"],function(Macros,State,Utils,Colour,VarRef,TwineError,OperationsProto){return function(section){"object"===("undefined"==typeof section?"undefined":_typeof(section))&§ion||Utils.impossible("TwineScript.environ","no Section argument was given!");var Operations=OperationsProto.create(section);return section.eval=function(){try{return eval(Array.from(arguments).join(""))}catch(e){return Utils.log(e),Utils.log(Array.from(arguments).join("")),e}},section}}),define("internaltypes/pseudohookset",["jquery","utils/hookutils"],function(e,t){var n=t.wrapTextNodes,r=Object.freeze({forEach:function(t){var r=n(this.selector,this.section.dom,"<tw-pseudo-hook>").parent();r.each(function(n){t(e(this),n)}),r.contents().unwrap().parent().each(function(){this.normalize()})},create:function(e,t){var n=Object.create(this);return n.section=e,n.selector=t,n}});return r}),define("internaltypes/changedescriptor",["jquery","utils","renderer"],function(e,t,n){var r=t.assertOnlyHas,o=t.impossible,i=t.transitionIn,a=n.exec,s=void 0,u={source:"",enabled:!0,target:null,append:"append",transition:"instant",transitionTime:0,styles:null,attr:null,data:null,section:null,create:function(e,t){var n=Object.assign(Object.create(this),{attr:[].concat(this.attr||[]),styles:[].concat(this.styles||[])},e);return t&&t.run(n),n},update:function(){var e=this,t=this.target;Array.isArray(this.styles)&&setTimeout(function(){return t.css(Object.assign.apply(Object,_toConsumableArray([{}].concat(e.styles))))}),this.attr&&this.attr.forEach(function(e){return t.attr(e)}),this.data&&t.data(this.data)},render:function(){var t=this.target,n=this.source,u=this.transition,c=this.enabled,l=this.append;if(r(this,s),!t||!c)return e();if(!(l in t)){if("replace"!==l)return void o("Section.render","The target jQuery doesn't have a '"+l+"' method.");t.empty(),l="append"}var f=e(n&&e.parseHTML(a(n),document,!0));return t[l](f.length?f:void 0),this.update(),u&&i("replace"===l?t:f,u),f}};return s=Object.keys(u),Object.seal(u)}),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","state","utils/hookutils","datatypes/hookset","internaltypes/pseudohookset","internaltypes/changedescriptor","internaltypes/twineerror","internaltypes/twinenotifier"],function(e,t,n,r,o,i,a,s,u,c,l,f){function p(e,r){var o=e.next(n.hook);if(r&&r.changer)if(o.length){var i=this.renderInto(o.popAttr("source"),o,r);if(!i)return e.addClass("false"),void("elseif"!==t.insensitiveName(e.attr("name"))&&(this.stack[0].lastHookShown=!1))}else e.replaceWith(l.create("changer","The ("+r.macroName+":) command should be assigned to a variable or attached to a hook.","Macros like this should usually be touching the left side of a hook: "+e.attr("title")+"[Some text]").render(e.attr("title")));else if(r&&r.live)g.call(this,o,r.delay,r.event);else if((r===!1||null===r||void 0===r)&&(o.removeAttr("source"),e.addClass("false"),o.length))return void(this.stack[0].lastHookShown=!1);o.length&&(this.stack[0].lastHookShown=!0)}function d(t){var n=this.eval(t.popAttr("js")||"");if(l.containsError(n))n instanceof Error&&(n=l.fromError(n)),t.replaceWith(n.render(t.attr("title"),t));else if(f.isPrototypeOf(n))t.append(n.render());else if(n&&n.TwineScript_Print&&!n.changer){if(n=n.TwineScript_Print(),n.earlyExit)return!1;n instanceof e?t.append(n):l.containsError(n)?(n instanceof Error&&(n=l.fromError(n)),t.replaceWith(n.render(t.attr("title"),t))):this.renderInto(n,t)}else"string"==typeof n||"number"==typeof n||"object"===("undefined"==typeof n?"undefined":_typeof(n))&&n&&n.toString!==Object.prototype.toString?this.renderInto(n+"",t):p.call(this,t,n)}function h(n){function r(t){return 0===e(this||t).parentsUntil("tw-collapsed").filter("tw-verbatim, tw-expression, [collapsing=false]").length}var o=n.prevTextNode();e(o).parents("tw-collapsed").length||(o=null);var i=n.nextTextNode();e(i).parents("tw-collapsed").length||(i=null),t.findAndFilter(n,"br:not([data-raw])").filter(r).replaceWith(document.createTextNode(" "));var a=n.textNodes(),s=0;a.reduce(function(e,t){return r(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")},o),[].concat(_toConsumableArray(a)).reverse().every(function(e){return r(e)?e.textContent.match(/^\s*$/)?(s+=e.textContent.length,e.textContent="",!0):(e.textContent=e.textContent.replace(/\s+$/,function(e){return s+=e.length,""}),!1):!1}),s>0&&i&&(a[a.length-1].textContent+=" "),n[0]&&m()&&n[0].normalize()}function g(e,t){var r=this,o=e.popAttr("source")||"";t=void 0===t?20:t;var i=function i(){r.inDOM()&&(r.renderInto(o,e,{append:"replace"}),e.find(n.expression+"[name='stop']").length||r.inDOM()&&setTimeout(i,t))};setTimeout(i,t)}var y=void 0,m=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 y={create:function(n){t.assert(n instanceof e&&1===n.length);var r=Object.assign(Object.create(this),{timestamp:Date.now(),dom:n||t.storyElement,stack:[],enchantments:[]});return r=o(r)},inDOM:function(){return e(t.storyElement).find(this.dom).length>0},$:function(e){return t.$(e,this.dom)},evaluateTwineMarkup:function(t){var n=e("<p>");this.renderInto(t,n);var r=void 0;return(r=n.find("tw-error")).length>0?r:n.text()},selectHook:function(e){if(s.isPrototypeOf(e)||u.isPrototypeOf(e))return e;switch(a.selectorType(e)){case"hookRef":return s.create(this,e);case"html":return t.findAndFilter(this.dom.add(t.storyElement),e.slice(1,-1));case"string":return u.create(this,e)}return null},renderInto:function(r,o,i){var a=c.create({target:o,source:r});if(a.section=this,i&&[].concat(i).forEach(function(e){e&&e.changer?e.run(a):Object.assign(a,e)}),"string"==typeof a.target&&(a.target=this.selectHook(a.target)),!a.target)return t.impossible("Section.renderInto","ChangeDescriptor has source but not a target!"),!1;var s=e();this.stack.length>=50?s=l.create("infinite","Printing this expression may have trapped me in an infinite loop.").render(o.attr("title")).replaceAll(o):a.target instanceof e?s=a.render():a.target.forEach(function(e){s=s.add(a.create({target:e}).render())}),this.stack.unshift(Object.create(null));var u=this;return t.findAndFilter(s,n.hook+","+n.expression).each(function(){var t=e(this);switch(t.tag()){case n.hook:t.attr("source")&&(u.renderInto(t.attr("source"),t),t.removeAttr("source"));break;case n.expression:return d.call(u,t)}}),s.length&&o instanceof e&&o.is(n.hook)&&o.parents("tw-collapsed").length>0&&h(s),t.findAndFilter(s,n.collapsed).each(function(){h(e(this))}),this.stack.shift(),0===this.stack.length&&this.updateEnchantments(),a.enabled},updateEnchantments:function(){this.enchantments.forEach(function(e){e.disenchant(),e.enchantScope()})}},Object.preventExtensions(y)}),define("engine",["jquery","utils","utils/selectors","state","section","passages"],function(e,t,n,r,o,i){function a(){var t=e("<tw-passage><tw-sidebar>"),o=t.children(n.sidebar);g.permalink&&r.save&&o.append('<tw-icon tabindex=0 class="permalink" title="Permanent link to this passage"><a href="#'+r.save()+'">§');var i=e('<tw-icon tabindex=0 class="undo" title="Undo">↶</tw-icon>').click(h.goBack),a=e('<tw-icon tabindex=0 class="redo" title="Redo">↷</tw-icon>').click(h.goForward);return r.pastLength<=0&&i.css("visibility","hidden"),r.futureLength<=0&&a.css("visibility","hidden"),o.append(i).append(a),t}function s(e,t){return"<tw-include type="+e+" title='"+c(t.get("name"))+"'>"+t.get("source")+"</tw-include>"}function u(u,c){var h="instant",y=i.get(u),m=t.storyElement,v=m.parent();v.is(n.enchantment)&&(v=m.unwrap().parent()),y&&y instanceof Map&&y.has("source")||l("Engine.showPassage","There's no passage with the name \""+u+'"!'),m.detach();var b=t.$(m.children(f));!c&&h&&p(b,h);var w=a().appendTo(m);d(w.length>0);var x=o.create(w),T=y.get("source");T=(g.debug?i.getTagged("debug-header").map(s.bind(0,"debug-header")).join(""):"")+i.getTagged("header").map(s.bind(0,"header")).join("")+T+i.getTagged("footer").map(s.bind(0,"footer")).join("")+(g.debug?i.getTagged("debug-footer").map(s.bind(0,"debug-footer")).join(""):""),r.pastLength<=0&&(g.debug&&(T=i.getTagged("debug-startup").map(s.bind(0,"debug-startup")).join("")+T),T=i.getTagged("startup").map(s.bind(0,"startup")).join("")+T),x.renderInto(T,w,[{transition:"dissolve"}]),e("html").append(m.parent().length?m.parent():m),scroll(0,c?w.offset().top-.05*e(window).height():v.offset().top)}var c=t.escape,l=t.impossible,f=t.passageSelector,p=t.transitionOut,d=t.assert,h=void 0,g=Object.create(null);return h={goBack:function(){r.rewind()&&u(r.passage)},goForward:function(){r.fastForward()&&u(r.passage)},goToPassage:function(e,t){r.play(e),u(e,t)},showPassage:u,options:g},Object.freeze(h)}),define("macrolib/values",["macros","utils/operationutils","internaltypes/twineerror"],function(e,t,n){function r(e){return function(t){var r=e.apply(void 0,_toConsumableArray(t));return"number"!=typeof r||isNaN(r)?n.create("macrocall","This mathematical expression doesn't compute!"):r}}function o(){var e;return e=~~(Math.random()*arguments.length),arguments.length<=e?void 0:arguments[e]}var i=t.subset,a=t.objectName,s=e.TypeSignature,u=s.rest,c=s.zeroOrMore,l=s.Any;e.add(["text","string"],function(){for(var e=arguments.length,t=Array(e>1?e-1:0),n=1;e>n;n++)t[n-1]=arguments[n];return t.join("")},[c(e.TypeSignature.either(String,Number,Boolean,Array))])("substring",function(e,t,n,r){return i(t,n,r)},[String,Number,Number])(["num","number"],function(e,t){return Number.isNaN(+t)?n.create("macrocall","I couldn't convert "+a(t)+" to a number."):+t},[String]),{weekday:[function(){return["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date).getDay()]+"day"},null],monthday:[function(){return(new Date).getDate()},null],currenttime:[function(){var e=new Date,t=e.getHours()<12,n=e.getHours()%12||12,r=(e.getMinutes()<10?"0":"")+e.getMinutes();return n+":"+r+" "+(t?"A":"P")+"M"},null],currentdate:[function(){return(new Date).toDateString()},null],min:[Math.min,u(Number)],max:[Math.max,u(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:[r(Math.pow),Number,Number],exp:[Math.exp,Number],sqrt:[r(Math.sqrt),Number],log:[r(Math.log),Number],log10:[r(Math.log10),Number],log2:[r(Math.log2),Number],random:[function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e!==(0|e)||t!==(0|t))return n.create("macrocall","(random:) only accepts whole numbers, not "+a(e!==(0|e)?e:t));var r=void 0,o=void 0;return t?(r=Math.min(e,t),o=Math.max(e,t)):(r=0,o=e),o+=1,~~(Math.random()*(o-r))+r},[Number,e.TypeSignature.optional(Number)]],either:[o,u(l)],alert:[function(e){return window.alert(e||"")||""},String],prompt:[function(e,t){return window.prompt(e||"",t||"")||""},String,String],confirm:[function(e){return window.confirm(e||"")},String],openURL:[function(e){return window.open(e)&&""},String],reload:[function(){return window.location.reload()||""},null],gotoURL:[function(){return window.location.assign()||""},String],pageURL:[function(){return window.location.href},null],"":function(){var t=this;Object.keys(this).forEach(function(n){n&&!function(){var r=t[n][0],o=t[n][1];e.add(n,function(){for(var e=arguments.length,t=Array(e>1?e-1:0),n=1;e>n;n++)t[n-1]=arguments[n];return r.apply(void 0,t)},o)}()})}}[""]()}),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(),o=Math.max(0,16-(r-t)),i=e.setTimeout(function(){n(r+o)},o);return t=r+o,i},e.cancelAnimationFrame=function(e){clearTimeout(e)}}}(),"function"==typeof define&&define("requestAnimationFrame",[],function(){return e.requestAnimationFrame})}(window),define("macrolib/commands",["requestAnimationFrame","macros","utils","state","passages","engine","internaltypes/twineerror","utils/operationutils"],function(e,t,n,r,o,i,a,s){function u(e){return"("+e+" "+i.options.ifid+") "}var c=n.toJSLiteral,l=n.unescape,f=s.isObject,p=t.TypeSignature,d=p.Any,h=p.optional,g=!!localStorage&&function(){try{return localStorage.setItem("test","1"),localStorage.removeItem("test"),!0}catch(e){return!1}}();t.add("display",function(e,t){return{TwineScript_ObjectName:"a (display: "+c(t)+") command",TwineScript_TypeName:"a (display:) command",TwineScript_Print:function(){return o.has(t)?l(o.get(t).get("source")):a.create("macrocall","I can't (display:) the passage '"+t+"' because it doesn't exist.")}}},[String])("print",function e(t,n){if(a.containsError(n))return n;if(n&&"function"==typeof n.TwineScript_Print)n=n.TwineScript_Print();else if(n instanceof Map){if(n=Array.from(n.entries()),a.containsError(n))return n;n=n.reduce(function(n,r){return n+"<tr><td>"+e(t,r[0]).TwineScript_Print()+"</td><td>"+e(t,r[1]).TwineScript_Print()+"</td></tr>"},"<table class=datamap>")+"</table>"}else if(n instanceof Set)n=Array.from(n.values());else if(Array.isArray(n))n+="";else{if(f(n))throw new TypeError("I don't know how to print this value yet.");n+=""}return{TwineScript_ObjectName:"a (print: "+c(n)+") command",TwineScript_TypeName:"a (print:) command",TwineScript_Print:function(){return n}}},[d])("goto",function(t,n){return{TwineScript_ObjectName:"a (go-to: "+c(n)+") command",TwineScript_TypeName:"a (go-to:) command",TwineScript_Print:function(){return o.has(n)?(e(i.goToPassage.bind(i,n,!1)),{earlyExit:1}):a.create("macrocall","I can't (go-to:) the passage '"+n+"' because it doesn't exist.")}}},[String])("live",function(e,t){return{TwineScript_ObjectName:"a (live: "+t+") command",TwineScript_TypeName:"a (live:) command",live:!0,delay:t}},[h(Number)])("stop",function(){return{TwineScript_ObjectName:"a (stop:) command",TwineScript_TypeName:"a (stop:) command",TwineScript_Print:function(){return""}}},[])("savegame",function(e,t,n){if(n=n||"",!g)return!1;var o=r.serialise();if(a.containsError(o))return o;try{return localStorage.setItem(u("Saved Game")+t,o),localStorage.setItem(u("Saved Game Filename")+t,n),!0}catch(e){return!1}},[String,h(String)])("loadgame",function(t,n){return{TwineScript_ObjectName:"a (load-game:) command",TwineScript_TypeName:"a (load-game:) command",TwineScript_Print:function(){var t=localStorage.getItem(u("Saved Game")+n);return t?(r.deserialise(t),e(i.showPassage.bind(i,r.passage,!1)),{earlyExit:1}):a.create("saving","I can't find a save slot named '"+n+"'!")}}},[String])}),define("macrolib/datastructures",["jquery","utils/naturalsort","macros","utils/operationutils","state","engine","passages","internaltypes/assignmentrequest","internaltypes/twineerror","internaltypes/twinenotifier"],function(e,t,n,r,o,i,a,s,u,c){var l=r.objectName,f=r.subset,p=r.collectionType,d=r.isValidDatamapName,h=n.TypeSignature,g=h.optional,y=h.rest,m=h.zeroOrMore,v=h.Any;n.add("set",function(){for(var e="",t=0;t<(arguments.length<=1?0:arguments.length-1);t+=1){var n=arguments.length<=t+1?void 0:arguments[t+1];if("into"===n.operator)return u.create("macrocall","Please say 'to' when using the (set:) macro.");var r=n.dest.set(n.src);if(u.isPrototypeOf(r))return r;i.options.debug&&(e+=(e?"; ":"")+l(n.dest)+" is now "+l(n.src))}return{TwineScript_TypeName:"a (set:) operation",TwineScript_ObjectName:"a (set:) operation",TwineScript_Unobservable:!0,TwineScript_Print:function(){return e&&c.create(e).render()}}},[y(s)])("put",function(){for(var e="",t=0;t<(arguments.length<=1?0:arguments.length-1);t+=1){var n=arguments.length<=t+1?void 0:arguments[t+1];if("into"!==n.operator)return u.create("macrocall","Please say 'into' when using the (put:) macro.");var r=n.dest.set(n.src);if(u.isPrototypeOf(r))return r;i.options.debug&&(e+=(e?"; ":"")+l(n.dest)+" is now "+l(n.src))}return{TwineScript_TypeName:"a (put:) operation",TwineScript_ObjectName:"a (put:) operation",TwineScript_Unobservable:!0,TwineScript_Print:function(){return e&&c.create(e).render()}}},[y(s)])("move",function(e,t){if("into"!==t.operator)return u.create("macrocall","Please say 'into' when using the (move:) macro.");if(t.src&&t.src.varref){var n=t.src.get(),r=void 0;if(r=u.containsError(n))return r;t.dest.set(n),t.src.delete()}else t.dest.set(t.src),t.src.TwineScript_DeleteValue&&t.src.TwineScript_DeleteValue();return{TwineScript_TypeName:"a (move:) operation",TwineScript_ObjectName:"a (move:) operation",TwineScript_Unobservable:!0,TwineScript_Print:""}},[y(s)])(["a","array"],function(){for(var e=arguments.length,t=Array(e>1?e-1:0),n=1;e>n;n++)t[n-1]=arguments[n];return t},m(v))("range",function e(t,n,r){if(n>r)return e(t,r,n);var o=[n];for(r-=n;r-->0;)o.push(++n);return o},[Number,Number])("subarray",function(e,t,n,r){return f(t,n,r)},[Array,Number,Number])("shuffled",function(){for(var e=arguments.length,t=Array(e>1?e-1:0),n=1;e>n;n++)t[n-1]=arguments[n];return t.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},[])},[v,y(v)])("sorted",function(){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;e>r;r++)n[r-1]=arguments[r];return n.sort(t("en"))},[String,y(String)])("rotated",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;n>o;o++)r[o-2]=arguments[o];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))},[v,v,y(v)])("datanames",function(e,n){return Array.from(n.keys()).sort(t("en"))},[Map])("datavalues",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 e[1]})},[Map])("history",function(){return o.pastPassageNames()},[])("passage",function(e,t){return a.get(t||o.passage)||u.create("macrocall","There's no passage named '"+t+"' in this story.")},[g(String)])("savedgames",function(){function e(e){return"("+e+" "+i.options.ifid+") "}var t=0,n=void 0,r=new Map;do{n=localStorage.key(t),t+=1;var o=e("Saved Game");n&&n.startsWith(o)&&(n=n.slice(o.length),r.set(n,localStorage.getItem(e("Saved Game Filename")+n)))}while(n);return r},[])("datamap",function(){for(var e=arguments.length,t=Array(e>1?e-1:0),n=1;e>n;n++)t[n-1]=arguments[n];var r=void 0,o=new Map,i=t.reduce(function(e,t){var n=void 0;if(u.containsError(e))return e;if(void 0===r)r=t;else{if(n=u.containsError(d(o,r)))return n;if(o.has(r))return u.create("macrocall","You used the same data name ("+l(r)+") twice in the same (datamap:) call.");o.set(r,t),r=void 0}return e},!0);return u.containsError(i)?i:void 0!==r?u.create("macrocall","This datamap has a data name without a value."):o},m(v))("dataset",function(){for(var e=arguments.length,t=Array(e>1?e-1:0),n=1;e>n;n++)t[n-1]=arguments[n];return new Set(t)},m(v))("count",function(e,t,n){switch(p(t)){case"dataset":case"datamap":return+t.has(name);case"string":return"string"!=typeof n?new TypeError(l(t)+" can't contain "+l(n)+" because it isn't a string."):t.split(n).length-1;case"array":return t.reduce(function(e,t){return e+(t===n)},0)}},[v,v])}),define("macrolib/stylechangers",["jquery","macros","utils","utils/selectors","datatypes/colour","datatypes/changercommand","internaltypes/twineerror"],function(e,t,n,r,o,i,a){var s=n.insensitiveName,u=n.assert,c=n.childrenProbablyInline,l=t.TypeSignature,f=l.either,p=l.wrapped,d=[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 "".')];t.addChanger("if",function(e,t){return i.create("if",[t]);
},function(e,t){return e.enabled=e.enabled&&t},d)("unless",function(e,t){return i.create("unless",[!t])},function(e,t){return e.enabled=e.enabled&&t},d)("elseif",function(e,t){return"lastHookShown"in e.stack[0]?i.create("elseif",[e.stack[0].lastHookShown===!1&&!!t]):a.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},d)("else",function(e){return"lastHookShown"in e.stack[0]?i.create("else",[e.stack[0].lastHookShown===!1]):a.create("macrocall","There's nothing before this to do (else:) with.")},function(e,t){return e.enabled=e.enabled&&t},null)(["hook"],function(e,t){return i.create("hook",[t])},function(e,t){return e.attr.push({name:t})},[String])(["transition","t8n"],function(e,t){var n=["dissolve","shudder","pulse"];return t=s(t),-1===n.indexOf(t)?a.create("macrocall","'"+t+'" is not a valid (transition:)',"Only the following names are recognised (capitalisation and hyphens ignored): "+n.join(", ")):i.create("transition",[t])},function(e,t){return e.transition=t,e},[String])("font",function(e,t){return i.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 a.create("macrocall",'The (align:) macro requires an alignment arrow ("==>", "<==", "==><=" etc.) be provided, not "'+t+'"');if(~r){var o=Math.round(r/(t.length-2)*50);n=Object.assign({"text-align":"center","max-width":"50%"},25===o?{"margin-left":"auto","margin-right":"auto"}:{"margin-left":o+"%"})}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",i.create("align",[n])},function(e,t){e.styles.push(t)},[String])(["text-colour","text-color","color","colour"],function(e,t){return t&&t.colour&&(t=t.toHexString(t)),i.create("text-colour",[t])},function(e,t){return e.styles.push({color:t}),e},[f(String,o)])("text-rotate",function(e,t){return i.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 t&&t.colour&&(t=t.toHexString(t)),i.create("background",[t])},function(t,n){var r=void 0;return r=o.isHexString(n)?{"background-color":n}:{"background-size":"cover","background-image":"url("+n+")"},t.styles.push(r,{display:function(){return c(e(this))?"initial":"block"}}),t},[f(String,o)]).apply(void 0,_toConsumableArray(function(){var t={color:"transparent"},n=Object.assign(Object.create(null),{bold:{"font-weight":"bold"},italic:{"font-style":"italic"},underline:{"text-decoration":"underline"},strike:{"text-decoration":"line-through"},superscript:{"vertical-align":"super","font-size":".83em"},subscript:{"vertical-align":"sub","font-size":".83em"},blink:{animation:"fade-in-out 1s steps(1,end) infinite alternate"},shudder:{animation:"shudder linear 0.1s 0s infinite",display:"inline-block"},mark:{"background-color":"hsla(60, 100%, 50%, 0.6)"},condense:{"letter-spacing":"-0.08em"},expand:{"letter-spacing":"0.1em"},outline:[{"text-shadow":function(){var t=e(this).css("color");return"-1px -1px 0 "+t+", 1px -1px 0 "+t+",-1px 1px 0 "+t+", 1px 1px 0 "+t}},{color:function(){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=s(t),t in n?i.create("text-style",[t]):a.create("macrocall","'"+t+'" is not a valid (textstyle:)',"Only the following names are recognised (capitalisation and hyphens ignored): "+Object.keys(n).join(", "))},function(e,t){return u(t in n),e.styles=e.styles.concat(n[t]),e}]}()).concat([[String]]))("css",function(e,t){return t.trim().endsWith(";")||(t+=";"),i.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","attr","data","changer"]),Object.assign(Object.create(this),{enchantments:e()},n)},enchantScope:function(){var t=this,r=this.attr,o=this.data,i=this.changer,a=this.scope;a instanceof e&&(a=Array.prototype.map.call(a,function(t){return e(t)})),this.enchantments=e(),a.forEach(function(e){var a=e.wrapAll("<tw-enchantment>").parent();if(r&&a.attr(r),o&&a.data(o),i){var s=n.create({target:a});i.run(s),s.update()}e.is("tw-story")&&a.css({width:"100%",height:"100%"}),t.enchantments=t.enchantments.add(a)})},disenchant:function(){this.enchantments.each(function(){e(this).contents().unwrap()})}};return Object.freeze(r)}),define("macrolib/enchantments",["jquery","utils","macros","datatypes/hookset","datatypes/changercommand","internaltypes/enchantment","internaltypes/twineerror"],function(e,t,n,r,o,i,a){function s(n,s){return t.assert(n),e(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.selector&&(t=t.selector),t?o.create(s,[t]):a.create("datatype","The string given to this ("+s+":) macro was empty.")},function(e,t){e.enabled=!1,n.rerender&&(e.target=t,e.append=n.rerender);var r=i.create({attr:Object.assign({class:n.classList},n.classList.includes("link")?{tabIndex:"0"}:{}),data:{enchantmentEvent:function(){if(n.once){var t=e.section.enchantments.indexOf(r);e.section.enchantments.splice(t,1),r.disenchant()}e.section.renderInto(e.source,null,Object.assign({},e,{enabled:!0}))}},scope:e.section.selectHook(t)});return e.section.enchantments.push(r),r.enchantScope(),e},u(r,String)]}var u=n.TypeSignature.either,c=["replace","append","prepend"];c.forEach(function(t){n.addChanger(t,function(e,n){return n?o.create(t,[n]):a.create("datatype","The string given to this ("+t+":) macro was empty.")},function(n,r){var o=e(n.target.context).parents().filter("tw-collapsed").length>0;return o||(n.attr=[].concat(_toConsumableArray(n.attr),[{collapsing:!1}])),n.target=r,n.append=t,n},u(r,String))});var l=[{name:"click",enchantDesc:{event:"click",once:!0,rerender:"",classList:"link enchantment-link"}},{name:"mouseover",enchantDesc:{event:"mouseenter",once:!0,rerender:"",classList:"enchantment-mouseover"}},{name:"mouseout",enchantDesc:{event:"mouseleave",once:!0,rerender:"",classList:"enchantment-mouseout"}}];l.forEach(function(e){return n.addChanger.apply(n,[e.name].concat(_toConsumableArray(s(e.enchantDesc,e.name))))}),c.forEach(function(e){l.forEach(function(t){var r=Object.assign({},t.enchantDesc,{rerender:e}),o=t.name+"-"+e;n.addChanger.apply(n,[o].concat(_toConsumableArray(s(r,o))))})})}),define("macrolib/links",["jquery","macros","utils","utils/selectors","state","passages","engine","datatypes/changercommand"],function(e,t,n,r,o,i,a,s){var u=t.TypeSignature.optional;e(function(){return e(n.storyElement).on("click.passage-link",r.internalLink,function(){var t=e(this),n=t.parent().data("clickEvent");if(n)return void n(t);var r=t.attr("passage-name");r&&a.goToPassage(r,!1)})}),[["link","link-replace"],["link-reveal"],["link-repeat"]].forEach(function(e){return t.addChanger(e,function(t,n){return s.create(e[0],[n])},function(t,n){var r=t.source;t.source="<tw-link tabindex=0>"+n+"</tw-link>",t.append="link"===e[0]?"replace":"append",t.data={clickEvent:function(n){t.source=r,t.section.renderInto(r+"",null,t),"link-reveal"===e[0]&&n.contents().unwrap()}}},[String])}),t.add(["link-goto"],function(t,r,a){return{TwineScript_TypeName:"a (link-goto: "+n.toJSLiteral(r)+", "+n.toJSLiteral(a)+") command",TwineScript_ObjectName:"a (link-goto:) command",TwineScript_Print:function(){var s=t.evaluateTwineMarkup(n.unescape(a||r));if(s instanceof e)return s;if(!i.has(s))return'<tw-broken-link passage-name="'+n.escape(s)+'">'+(r||a)+"</tw-broken-link>";var u=o.passageNameVisited(s);return"<tw-link tabindex=0 "+(u>0?'class="visited" ':"")+'passage-name="'+n.escape(s)+'">'+(r||a)+"</tw-link>"}}},[String,u(String)])}),define("macrolib",["utils","macrolib/values","macrolib/commands","macrolib/datastructures","macrolib/stylechangers","macrolib/enchantments","macrolib/links"],function(e){var t=e.log;t("Loaded the built-in macros.")}),define("repl",["utils","markup","twinescript/compiler","twinescript/environ"],function(e,t,n,r){window.REPL=function(e){var o=n(t.lex("(print:"+e+")"));return console.log(o),r({}).eval(o)},window.LEX=function(e){var n=t.lex(e);return 1===n.length?n[0]:n}}),require.config({paths:{jquery:"../node_modules/jquery/dist/jquery",almond:"../node_modules/almond/almond","es6-shim":"../node_modules/es6-shim/es6-shim",requestAnimationFrame:"../node_modules/requestanimationframe/app/requestAnimationFrame",jqueryplugins:"utils/jqueryplugins",markup:"./markup/markup",lexer:"./markup/lexer",patterns:"./markup/patterns"},deps:["jquery","es6-shim","jqueryplugins"]}),require(["jquery","renderer","state","engine","passages","utils/selectors","macrolib","repl"],function($,Renderer,State,Engine,Passages,Selectors){function _eval(text){return eval(text+"")}function testPlayCleanup(){["_","Backbone","Store","Mn","Marionette","saveAs","FastClick","JSZip","SVG","requestAnimFrame","UUID","XDate","CodeMirror","ui","nwui","AppPref","Passage","StoryFormat","Story","AppPrefCollection","PassageCollection","StoryCollection","StoryFormatCollection","WelcomeView","StoryItemView","StoryListView","PassageItemView","StoryEditView","TwineRouter","TransRegion","TwineApp","app","storyFormat"].forEach(function(e){try{delete window[e]}catch(t){window[e]=void 0}})}var _installHandlers=function(){var e=$(document.documentElement),t="<tw-debugger><button class='show-invisibles'>⚯ Debug View</button></tw-debugger>";e.on("keydown",function(e){13===e.which&&"0"===e.target.getAttribute("tabindex")&&$(e.target).trigger("click")}),Engine.options.debug&&($(document.body).append(t),$(".show-invisibles").click(function(){e.toggleClass("debug-mode").is(".debug-mode")})),_installHandlers=null};!function(e){window.onerror=function(t,n,r,o,i){var a=i&&i.stack&&"\n"+i.stack.replace(/\([^\)]+\)/g,"")+"\n"||"("+t+")\n";alert("Sorry to interrupt, but this page's code has got itself in a mess. "+a+"(This is probably due to a bug in the Twine game engine.)"),window.onerror=e,"function"==typeof e&&e.apply(void 0,arguments)}}(window.onerror),$(function(){var e=$(Selectors.storyData);if(0!==e.length){"TwineApp"in window&&testPlayCleanup();var t=e.attr("options");t&&t.split(/\s/).forEach(function(e){Renderer.options[e]=Engine.options[e]=!0});var n=e.attr("startnode");return Renderer.options.ifid=Engine.options.ifid=e.attr("ifid"),n||(n=[].reduce.call($(Selectors.passageData),function(e,t){var n=t.getAttribute("pid");return e>n?n:e},1/0)),n=$(Selectors.passageData+"[pid="+n+"]").attr("name"),_installHandlers(),$(Selectors.script).each(function(e){try{_eval($(this).html())}catch(t){alert("There is a problem with this story's script (#"+(e+1)+"):\n\n"+t.message)}}),$(Selectors.stylesheet).each(function(e){$(document.head).append('<style data-title="Story stylesheet '+(e+1)+'">'+$(this).html())}),window.location.hash&&!window.location.hash.includes("stories")&&State.load(window.location.hash)?void Engine.showPassage(State.passage):void Engine.goToPassage(n)}})}),define("harlowe",function(){}),require(["harlowe"])}();</script>
</body>
</html>