-
Notifications
You must be signed in to change notification settings - Fork 125
/
Emulatrix_DOSBox.htm
executable file
·732 lines (616 loc) · 328 KB
/
Emulatrix_DOSBox.htm
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
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Emulatrix</title>
<link rel="stylesheet" href="Emulatrix.css">
</head>
<body>
<script>
var CPU_TYPE = "auto"; // auto | 386 | 386_slow | 486_slow | pentium_slow | 386_prefetch
var CPU_RAMSIZE = "64";
var game_data;
var SAVEDATA;
var SAVENAME;
var download_PathRoot = "/c";
var download_PathCurrent = "/c";
var upload_PathRoot = "/c";
var upload_PathCurrent = "/c";
var mySavedGameLabelTimeout;
var Emulator_started = false;
var Emulator_soundEnabled = true;
// browserfs.min.js
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.BrowserFS=e():t.BrowserFS=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){(function(t,r,i,o){"use strict";function s(t){if(t)return t;throw new me(ge.EIO,"Initialize BrowserFS with a file system using BrowserFS.initialize(filesystem)")}function a(t,e){switch(typeof t){case"number":return t;case"string":var n=parseInt(t,8);return isNaN(n)?e:n;default:return e}}function c(t){if(t instanceof Date)return t;if("number"==typeof t)return new Date(1e3*t);throw new me(ge.EINVAL,"Invalid time.")}function u(t){if(t.indexOf("\0")>=0)throw new me(ge.EINVAL,"Path must be a string without null bytes.");if(""===t)throw new me(ge.EINVAL,"Path must not be empty.");return ye.resolve(t)}function f(t,e,n,r){switch(typeof t){case"object":return{encoding:"undefined"!=typeof t.encoding?t.encoding:e,flag:"undefined"!=typeof t.flag?t.flag:n,mode:a(t.mode,r)};case"string":return{encoding:t,flag:n,mode:r};default:return{encoding:e,flag:n,mode:r}}}function h(){}function p(){throw new Error("BFS has reached an impossible code path; please file a bug.")}function l(t,e,n){n.existsSync(t)||(l(ye.dirname(t),e,n),n.mkdirSync(t,e))}function d(t){var e=y(t),n=e.byteOffset,r=e.byteLength;return 0===n&&r===e.buffer.byteLength?e.buffer:e.buffer.slice(n,n+r)}function y(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function g(t){return t instanceof r?t:t instanceof Uint8Array?_(t):new r(t)}function _(t){return t instanceof r?t:0===t.byteOffset&&t.byteLength===t.buffer.byteLength?v(t.buffer):new r(t)}function v(t){try{return new r(t)}catch(e){return new r(new Uint8Array(t))}}function w(t,e,n){if(void 0===e&&(e=0),void 0===n&&(n=t.length),e<0||n<0||n>t.length||e>n)throw new TypeError("Invalid slice bounds on buffer of length "+t.length+": ["+e+", "+n+"]");if(0===t.length)return new r(0);var i=y(t),o=t[0],s=(o+1)%255;return t[0]=s,i[0]===s?(i[0]=o,_(i.slice(e,n))):(t[0]=o,_(i.subarray(e,n)))}function m(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function E(t,e,n){return e=Ve(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Ve(r.length-e,0),s=Array(o);++i<o;)s[i]=r[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=r[i];return a[e]=n(s),m(t,this,a)}}function S(t){return t}function b(t,e){return E(t,e,S)}function k(t){return b(function(e,n){var r=We(function(n,r){var i=this;return t(e,function(t,e){t.apply(i,n.concat([e]))},r)});return n.length?r.apply(this,n):r})}function I(t){var e=Ge.call(t,Qe),n=t[Qe];try{t[Qe]=void 0;var r=!0}catch(t){}var i=Je.call(t);return r&&(e?t[Qe]=n:delete t[Qe]),i}function O(t){return tn.call(t)}function F(t){return null==t?void 0===t?nn:en:rn&&rn in Object(t)?I(t):O(t)}function R(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function N(t){if(!R(t))return!1;var e=F(t);return e==sn||e==an||e==on||e==cn}function L(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=un}function T(t){return null!=t&&L(t.length)&&!N(t)}function x(){}function D(t){return function(){if(null!==t){var e=t;t=null,e.apply(this,arguments)}}}function A(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function P(t){return null!=t&&"object"==typeof t}function C(t){return P(t)&&F(t)==pn}function U(){return!1}function M(t,e){return e=null==e?kn:e,!!e&&("number"==typeof t||In.test(t))&&t>-1&&t%1==0&&t<e}function B(t){return P(t)&&L(t.length)&&!!Gn[F(t)]}function j(t){return function(e){return t(e)}}function z(t,e){var n=_n(t),r=!n&&gn(t),i=!n&&!r&&bn(t),o=!n&&!r&&!i&&rr(t),s=n||r||i||o,a=s?A(t.length,String):[],c=a.length;for(var u in t)!e&&!or.call(t,u)||s&&("length"==u||i&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||M(u,c))||a.push(u);return a}function q(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||sr;return t===n}function V(t,e){return function(n){return t(e(n))}}function W(t){if(!q(t))return ar(t);var e=[];for(var n in Object(t))ur.call(t,n)&&"constructor"!=n&&e.push(n);return e}function H(t){return T(t)?z(t):W(t)}function Z(t){var e=-1,n=t.length;return function(){return++e<n?{value:t[e],key:e}:null}}function Y(t){var e=-1;return function(){var n=t.next();return n.done?null:(e++,{value:n.value,key:e})}}function X(t){var e=H(t),n=-1,r=e.length;return function(){var i=e[++n];return n<r?{value:t[i],key:i}:null}}function K(t){if(T(t))return Z(t);var e=hn(t);return e?Y(e):X(t)}function G(t){return function(){if(null===t)throw new Error("Callback was already called.");var e=t;t=null,e.apply(this,arguments)}}function J(t){return function(e,n,r){function i(t,e){if(c-=1,t)a=!0,r(t);else{if(e===fr||a&&c<=0)return a=!0,r(null);o()}}function o(){for(;c<t&&!a;){var e=s();if(null===e)return a=!0,void(c<=0&&r(null));c+=1,n(e.value,e.key,G(i))}}if(r=D(r||x),t<=0||!e)return r(null);var s=K(e),a=!1,c=0;o()}}function Q(t,e,n,r){J(e)(t,n,r)}function $(t,e){return function(n,r,i){return t(n,e,r,i)}}function tt(t,e,n){function r(t){t?n(t):++o===s&&n(null)}n=D(n||x);var i=0,o=0,s=t.length;for(0===s&&n(null);i<s;i++)e(t[i],i,G(r))}function et(t){return function(e,n,r){return t(pr,e,n,r)}}function nt(t,e,n,r){r=r||x,e=e||[];var i=[],o=0;t(e,function(t,e,r){var s=o++;n(t,function(t,e){i[s]=e,r(t)})},function(t){r(t,i)})}function rt(t){return function(e,n,r,i){return t(J(n),e,r,i)}}function it(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function ot(t){return function(e,n,r){for(var i=-1,o=Object(e),s=r(e),a=s.length;a--;){var c=s[t?a:++i];if(n(o[c],c,o)===!1)break}return e}}function st(t){setTimeout(t,0)}function at(t){return b(function(e,n){t(function(){e.apply(null,n)})})}function ct(t,e,n,r){r=D(r||x),Pr(t,function(t,r,i){n(e,t,function(t,n){e=n,i(t)})},function(t){r(t,e)})}function ut(t){return b(function(e,n){e.apply(null,n.concat([b(function(e,n){"object"==typeof console&&(e?console.error&&console.error(e):console[t]&&it(n,function(e){console[t](e)}))})]))})}function ft(t){return function(e,n,r){return t(e,r)}}function ht(t,e,n){pr(t,ft(e),n)}function pt(){Mr||(Mr={},Mr[Dropbox.ApiError.NETWORK_ERROR]=ge.EIO,Mr[Dropbox.ApiError.INVALID_PARAM]=ge.EINVAL,Mr[Dropbox.ApiError.INVALID_TOKEN]=ge.EPERM,Mr[Dropbox.ApiError.OAUTH_ERROR]=ge.EPERM,Mr[Dropbox.ApiError.NOT_FOUND]=ge.ENOENT,Mr[Dropbox.ApiError.INVALID_METHOD]=ge.EINVAL,Mr[Dropbox.ApiError.NOT_ACCEPTABLE]=ge.EINVAL,Mr[Dropbox.ApiError.CONFLICT]=ge.EINVAL,Mr[Dropbox.ApiError.RATE_LIMITED]=ge.EBUSY,Mr[Dropbox.ApiError.SERVER_ERROR]=ge.EBUSY,Mr[Dropbox.ApiError.OVER_QUOTA]=ge.ENOSPC)}function lt(t){return t&&t.stat.isFile}function dt(t){return t&&t.stat.isFolder}function yt(t){return null===t||void 0===t||"object"==typeof t&&"number"==typeof t.byteLength}function gt(t,e){void 0===e&&(e="");for(var n=t.errno,r=t.node,i=[];r&&(i.unshift(r.name),r!==r.parent);)r=r.parent;return new me(n,ve[n],i.length>0?"/"+i.join("/"):e)}function _t(t,e){if(null!==e&&"object"==typeof e){var n=e,r=n.path;r&&(r="/"+ye.relative(t,r),n.message=n.message.replace(n.path,r),n.path=r)}return e}function vt(t,e){return"function"==typeof e?function(n){arguments.length>0&&(arguments[0]=_t(t,n)),e.apply(null,arguments)}:e}function wt(t,e,n){return"Sync"!==t.slice(t.length-4)?function(){return arguments.length>0&&(e&&(arguments[0]=ye.join(this._folder,arguments[0])),n&&(arguments[1]=ye.join(this._folder,arguments[1])),arguments[arguments.length-1]=vt(this._folder,arguments[arguments.length-1])),this._wrapped[t].apply(this._wrapped,arguments)}:function(){try{return e&&(arguments[0]=ye.join(this._folder,arguments[0])),n&&(arguments[1]=ye.join(this._folder,arguments[1])),this._wrapped[t].apply(this._wrapped,arguments)}catch(t){throw _t(this._folder,t)}}}function mt(t){return t.isDirectory}function Et(t,e,n,r){if("undefined"!=typeof navigator.webkitPersistentStorage)switch(t){case _e.PERSISTENT:navigator.webkitPersistentStorage.requestQuota(e,n,r);break;case _e.TEMPORARY:navigator.webkitTemporaryStorage.requestQuota(e,n,r);break;default:r(new TypeError("Invalid storage type: "+t))}else _e.webkitStorageInfo.requestQuota(t,e,n,r)}function St(t){return Array.prototype.slice.call(t||[],0)}function bt(t,e,n){switch(t.name){case"PathExistsError":return me.EEXIST(e);case"QuotaExceededError":return me.FileError(ge.ENOSPC,e);case"NotFoundError":return me.ENOENT(e);case"SecurityError":return me.FileError(ge.EACCES,e);case"InvalidModificationError":return me.FileError(ge.EPERM,e);case"TypeMismatchError":return me.FileError(n?ge.ENOTDIR:ge.EISDIR,e);case"EncodingError":case"InvalidStateError":case"NoModificationAllowedError":default:return me.FileError(ge.EINVAL,e)}}function kt(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0,n="x"===t?e:3&e|8;return n.toString(16)})}function It(t,e){return!t||(e(t),!1)}function Ot(t,e,n){return!t||(e.abort(function(){n(t)}),!1)}function Ft(t,e){switch(void 0===e&&(e=t.toString()),t.name){case"NotFoundError":return new me(ge.ENOENT,e);case"QuotaExceededError":return new me(ge.ENOSPC,e);default:return new me(ge.EIO,e)}}function Rt(t,e,n){return void 0===e&&(e=ge.EIO),void 0===n&&(n=null),function(r){r.preventDefault(),t(new me(e,null!==n?n:void 0))}}function Nt(t,e,n){return e?function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var r=e[0],i=this._getFs(r);e[0]=i.path;try{return i.fs[t].apply(i.fs,e)}catch(t){throw this.standardizeError(t,i.path,r),t}}:function(){for(var e=this,n=[],r=arguments.length;r--;)n[r]=arguments[r];var i=n[0],o=this._getFs(i);if(n[0]=o.path,"function"==typeof n[n.length-1]){var s=n[n.length-1];n[n.length-1]=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];t.length>0&&t[0]instanceof me&&e.standardizeError(t[0],o.path,i),s.apply(null,t)}}return o.fs[t].apply(o.fs,n)}}function Lt(t){return 146|t}function Tt(t){return Se.getFileFlag(t)}function xt(t){return{type:mi.API_ERROR,errorData:jt(t.writeToBuffer())}}function Dt(t){return me.fromBuffer(zt(t.errorData))}function At(t){return{type:mi.ERROR,name:t.name,message:t.message,stack:t.stack}}function Pt(t){var e=_e[t.name];"function"!=typeof e&&(e=Error);var n=new e(t.message);return n.stack=t.stack,n}function Ct(t){return{type:mi.STATS,statsData:jt(t.toBuffer())}}function Ut(t){return ke.fromBuffer(zt(t.statsData))}function Mt(t){return{type:mi.FILEFLAG,flagStr:t.getFlagString()}}function Bt(t){return Se.getFileFlag(t.flagStr)}function jt(t){return d(t)}function zt(t){return v(t)}function qt(t){return{type:mi.BUFFER,data:jt(t)}}function Vt(t){return zt(t.data)}function Wt(t){return t&&"object"==typeof t&&t.hasOwnProperty("browserfsMessage")&&t.browserfsMessage}function Ht(t){return t&&"object"==typeof t&&t.hasOwnProperty("browserfsMessage")&&t.browserfsMessage}function Zt(t,e,n){var i=new XMLHttpRequest;i.open("GET",t,!0);var o=!0;switch(e){case"buffer":i.responseType="arraybuffer";break;case"json":try{i.responseType="json",o="json"===i.responseType}catch(t){o=!1}break;default:return n(new me(ge.EINVAL,"Invalid download type: "+e))}i.onreadystatechange=function(t){if(4===i.readyState){if(200!==i.status)return n(new me(i.status,"XHR error."));switch(e){case"buffer":return n(null,new r(i.response?i.response:0));case"json":return o?n(null,i.response):n(null,JSON.parse(i.responseText))}}},i.send()}function Yt(t,e){var n=new XMLHttpRequest;n.open("GET",t,!1);var i=null,o=null;if(n.overrideMimeType("text/plain; charset=x-user-defined"),n.onreadystatechange=function(t){if(4===n.readyState){if(200!==n.status)return void(o=new me(n.status,"XHR error."));switch(e){case"buffer":var s=n.responseText;i=new r(s.length);for(var a=0;a<s.length;a++)i[a]=s.charCodeAt(a);return;case"json":return void(i=JSON.parse(n.responseText))}}},n.send(),o)throw o;return i}function Xt(t,e){var n=new XMLHttpRequest;switch(n.open("GET",t,!1),e){case"buffer":n.responseType="arraybuffer";break;case"json":break;default:throw new me(ge.EINVAL,"Invalid download type: "+e)}var i,o;if(n.onreadystatechange=function(t){if(4===n.readyState)if(200===n.status)switch(e){case"buffer":i=new r(n.response);break;case"json":i=JSON.parse(n.response)}else o=new me(n.status,"XHR error.")},n.send(),o)throw o;return i}function Kt(t,e,n){var r=new XMLHttpRequest;r.open("HEAD",e,t),r.onreadystatechange=function(t){if(4===r.readyState){if(200!==r.status)return n(new me(r.status,"XHR HEAD error."));try{return n(null,parseInt(r.getResponseHeader("Content-Length")||"-1",10))}catch(t){return n(new me(ge.EIO,"XHR HEAD error: Could not read content-length."))}}},r.send()}function Gt(t){var e=-1;return Kt(!1,t,function(t,n){if(t)throw t;e=n}),e}function Jt(t,e){Kt(!0,t,e)}function Qt(t){return!!t&&t.isFile()}function $t(t){return!!t&&t.isDir()}function te(t,e,n){try{n(null,t.toString(e))}catch(t){n(t)}}function ee(t,e){var n=31&e,r=(e>>5&15)-1,i=(e>>9)+1980,o=31&t,s=t>>5&63,a=t>>11;return new Date(i,r,n,a,s,o)}function ne(t,e,n,r){return 0===r?"":e?t.toString("utf8",n,n+r):Pi.byte2str(t.slice(n,n+r))}function re(t,e,n){return t.toString("ascii",e,e+n).trim()}function ie(t,e,n){if(1===n)return String.fromCharCode(t[e]);for(var r=Math.floor(n/2),i=new Array(r),o=0;o<r;o++){var s=e+(o<<1);i[o]=String.fromCharCode(t[s+1]|t[s]<<8)}return i.join("")}function oe(t,e){var n=parseInt(re(t,e,4),10),r=parseInt(re(t,e+4,2),10),i=parseInt(re(t,e+6,2),10),o=parseInt(re(t,e+8,2),10),s=parseInt(re(t,e+10,2),10),a=parseInt(re(t,e+12,2),10),c=parseInt(re(t,e+14,2),10);return new Date(n,r,i,o,s,a,100*c)}function se(t,e){var n=t[e],r=t[e+1],i=t[e+2],o=t[e+3],s=t[e+4],a=t[e+5];return new Date(n,r-1,i,o,s,a)}function ae(t,e){var n=t.slice(e),r=new ro(n);switch(r.signatureWord()){case 17221:return new io(n);case 20548:return new oo(n);case 21328:return new so(n);case 21332:return new ao(n);case 17746:return new co(n);case 17747:return new uo(n);case 20568:return new ho(n);case 20558:return new po(n);case 21324:return new lo(n);case 20045:return new go(n);case 17228:return new _o(n);case 20556:return new vo(n);case 21061:return new wo(n);case 21574:return new mo(n);case 21318:return new Eo(n);case 21074:return new fo(n);default:return r}}function ce(t,e,n,r){n-=4;for(var i=new Array;e<n;){var o=ae(t,e),s=o.length();if(0===s)return i;if(e+=s,o instanceof ao)break;o instanceof io?i=i.concat(o.getEntries(r)):i.push(o)}return i}function ue(t){t.Buffer=r,t.process=o;var e=t.require?t.require:null;t.require=function(t){var n=he(t);return n?n:e.apply(null,Array.prototype.slice.call(arguments,0))}}function fe(t,e){Oo[t]=e}function he(t){switch(t){case"fs":return Re;case"path":return ye;case"buffer":return de;case"process":return o;case"bfs_utils":return xe;default:return Oo[t]}}function pe(t){return Re.initialize(t)}Object.defineProperty(e,"__esModule",{value:!0});var le,de=n(1),ye=n(14);le="undefined"!=typeof window?window:"undefined"!=typeof self?self:t;var ge,_e=le;!function(t){t[t.EPERM=1]="EPERM",t[t.ENOENT=2]="ENOENT",t[t.EIO=5]="EIO",t[t.EBADF=9]="EBADF",t[t.EACCES=13]="EACCES",t[t.EBUSY=16]="EBUSY",t[t.EEXIST=17]="EEXIST",t[t.ENOTDIR=20]="ENOTDIR",t[t.EISDIR=21]="EISDIR",t[t.EINVAL=22]="EINVAL",t[t.EFBIG=27]="EFBIG",t[t.ENOSPC=28]="ENOSPC",t[t.EROFS=30]="EROFS",t[t.ENOTEMPTY=39]="ENOTEMPTY",t[t.ENOTSUP=95]="ENOTSUP"}(ge||(ge={}));var ve={};ve[ge.EPERM]="Operation not permitted.",ve[ge.ENOENT]="No such file or directory.",ve[ge.EIO]="Input/output error.",ve[ge.EBADF]="Bad file descriptor.",ve[ge.EACCES]="Permission denied.",ve[ge.EBUSY]="Resource busy or locked.",ve[ge.EEXIST]="File exists.",ve[ge.ENOTDIR]="File is not a directory.",ve[ge.EISDIR]="File is a directory.",ve[ge.EINVAL]="Invalid argument.",ve[ge.EFBIG]="File is too big.",ve[ge.ENOSPC]="No space left on disk.",ve[ge.EROFS]="Cannot modify a read-only file system.",ve[ge.ENOTEMPTY]="Directory is not empty.",ve[ge.ENOTSUP]="Operation is not supported.";var we,me=function(t){function e(e,n,r){void 0===n&&(n=ve[e]),t.call(this,n),this.syscall="",this.errno=e,this.code=ge[e],this.path=r,this.stack=(new t).stack,this.message="Error: "+this.code+": "+n+(this.path?", '"+this.path+"'":"")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.fromJSON=function(t){var n=new e(0);return n.errno=t.errno,n.code=t.code,n.path=t.path,n.stack=t.stack,n.message=t.message,n},e.fromBuffer=function(t,n){return void 0===n&&(n=0),e.fromJSON(JSON.parse(t.toString("utf8",n+4,n+4+t.readUInt32LE(n))))},e.FileError=function(t,n){return new e(t,ve[t],n)},e.ENOENT=function(t){return this.FileError(ge.ENOENT,t)},e.EEXIST=function(t){return this.FileError(ge.EEXIST,t)},e.EISDIR=function(t){return this.FileError(ge.EISDIR,t)},e.ENOTDIR=function(t){return this.FileError(ge.ENOTDIR,t)},e.EPERM=function(t){return this.FileError(ge.EPERM,t)},e.ENOTEMPTY=function(t){return this.FileError(ge.ENOTEMPTY,t)},e.prototype.toString=function(){return this.message},e.prototype.toJSON=function(){return{errno:this.errno,code:this.code,path:this.path,stack:this.stack,message:this.message}},e.prototype.writeToBuffer=function(t,e){void 0===t&&(t=new r(this.bufferSize())),void 0===e&&(e=0);var n=t.write(JSON.stringify(this.toJSON()),e+4);return t.writeUInt32LE(n,e),t},e.prototype.bufferSize=function(){return 4+r.byteLength(JSON.stringify(this.toJSON()))},e}(Error),Ee=Object.freeze({get ErrorCode(){return ge},ErrorStrings:ve,ApiError:me});!function(t){t[t.NOP=0]="NOP",t[t.THROW_EXCEPTION=1]="THROW_EXCEPTION",t[t.TRUNCATE_FILE=2]="TRUNCATE_FILE",t[t.CREATE_FILE=3]="CREATE_FILE"}(we||(we={}));var Se=function t(e){if(this.flagStr=e,t.validFlagStrs.indexOf(e)<0)throw new me(ge.EINVAL,"Invalid flag: "+e)};Se.getFileFlag=function(t){return Se.flagCache.hasOwnProperty(t)?Se.flagCache[t]:Se.flagCache[t]=new Se(t)},Se.prototype.getFlagString=function(){return this.flagStr},Se.prototype.isReadable=function(){return this.flagStr.indexOf("r")!==-1||this.flagStr.indexOf("+")!==-1},Se.prototype.isWriteable=function(){return this.flagStr.indexOf("w")!==-1||this.flagStr.indexOf("a")!==-1||this.flagStr.indexOf("+")!==-1},Se.prototype.isTruncating=function(){return this.flagStr.indexOf("w")!==-1},Se.prototype.isAppendable=function(){return this.flagStr.indexOf("a")!==-1},Se.prototype.isSynchronous=function(){return this.flagStr.indexOf("s")!==-1},Se.prototype.isExclusive=function(){return this.flagStr.indexOf("x")!==-1},Se.prototype.pathExistsAction=function(){return this.isExclusive()?we.THROW_EXCEPTION:this.isTruncating()?we.TRUNCATE_FILE:we.NOP},Se.prototype.pathNotExistsAction=function(){return(this.isWriteable()||this.isAppendable())&&"r+"!==this.flagStr?we.CREATE_FILE:we.THROW_EXCEPTION},Se.flagCache={},Se.validFlagStrs=["r","r+","rs","rs+","w","wx","w+","wx+","a","ax","a+","ax+"];var be;!function(t){t[t.FILE=32768]="FILE",t[t.DIRECTORY=16384]="DIRECTORY",t[t.SYMLINK=40960]="SYMLINK"}(be||(be={}));var ke=function(t,e,n,r,i,o){if(void 0===r&&(r=new Date),void 0===i&&(i=new Date),void 0===o&&(o=new Date),this.size=e,this.atime=r,this.mtime=i,this.ctime=o,this.dev=0,this.ino=0,this.rdev=0,this.nlink=1,this.blksize=4096,this.uid=0,this.gid=0,this.birthtime=new Date(0),this.fileData=null,n)this.mode=n;else switch(t){case be.FILE:this.mode=420;break;case be.DIRECTORY:default:this.mode=511}this.blocks=Math.ceil(e/512),this.mode<4096&&(this.mode|=t)};ke.fromBuffer=function(t){var e=t.readUInt32LE(0),n=t.readUInt32LE(4),r=t.readDoubleLE(8),i=t.readDoubleLE(16),o=t.readDoubleLE(24);return new ke(61440&n,e,4095&n,new Date(r),new Date(i),new Date(o))},ke.prototype.toBuffer=function(){var t=new r(32);return t.writeUInt32LE(this.size,0),t.writeUInt32LE(this.mode,4),t.writeDoubleLE(this.atime.getTime(),8),t.writeDoubleLE(this.mtime.getTime(),16),t.writeDoubleLE(this.ctime.getTime(),24),t},ke.prototype.clone=function(){return new ke(61440&this.mode,this.size,4095&this.mode,this.atime,this.mtime,this.ctime)},ke.prototype.isFile=function(){return(61440&this.mode)===be.FILE},ke.prototype.isDirectory=function(){return(61440&this.mode)===be.DIRECTORY},ke.prototype.isSymbolicLink=function(){return(61440&this.mode)===be.SYMLINK},ke.prototype.chmod=function(t){this.mode=61440&this.mode|t},ke.prototype.isSocket=function(){return!1},ke.prototype.isBlockDevice=function(){return!1},ke.prototype.isCharacterDevice=function(){return!1},ke.prototype.isFIFO=function(){return!1};var Ie=function(t,e){return t},Oe=function(){this.F_OK=0,this.R_OK=4,this.W_OK=2,this.X_OK=1,this.root=null,this.fdMap={},this.nextFd=100};Oe.prototype.initialize=function(t){if(!t.constructor.isAvailable())throw new me(ge.EINVAL,"Tried to instantiate BrowserFS with an unavailable file system.");return this.root=t},Oe.prototype._toUnixTimestamp=function(t){if("number"==typeof t)return t;if(t instanceof Date)return t.getTime()/1e3;throw new Error("Cannot parse time: "+t)},Oe.prototype.getRootFS=function(){return this.root?this.root:null},Oe.prototype.rename=function(t,e,n){void 0===n&&(n=h);var r=Ie(n,1);try{s(this.root).rename(u(t),u(e),r)}catch(t){r(t)}},Oe.prototype.renameSync=function(t,e){s(this.root).renameSync(u(t),u(e))},Oe.prototype.exists=function(t,e){void 0===e&&(e=h);var n=Ie(e,1);try{return s(this.root).exists(u(t),n)}catch(t){return n(!1)}},Oe.prototype.existsSync=function(t){try{return s(this.root).existsSync(u(t))}catch(t){return!1}},Oe.prototype.stat=function(t,e){void 0===e&&(e=h);var n=Ie(e,2);try{return s(this.root).stat(u(t),!1,n)}catch(t){return n(t)}},Oe.prototype.statSync=function(t){return s(this.root).statSync(u(t),!1)},Oe.prototype.lstat=function(t,e){void 0===e&&(e=h);var n=Ie(e,2);try{return s(this.root).stat(u(t),!0,n)}catch(t){return n(t)}},Oe.prototype.lstatSync=function(t){return s(this.root).statSync(u(t),!0)},Oe.prototype.truncate=function(t,e,n){void 0===e&&(e=0),void 0===n&&(n=h);var r=0;"function"==typeof e?n=e:"number"==typeof e&&(r=e);var i=Ie(n,1);try{if(r<0)throw new me(ge.EINVAL);return s(this.root).truncate(u(t),r,i)}catch(t){return i(t)}},Oe.prototype.truncateSync=function(t,e){if(void 0===e&&(e=0),e<0)throw new me(ge.EINVAL);return s(this.root).truncateSync(u(t),e)},Oe.prototype.unlink=function(t,e){void 0===e&&(e=h);var n=Ie(e,1);try{return s(this.root).unlink(u(t),n)}catch(t){return n(t)}},Oe.prototype.unlinkSync=function(t){return s(this.root).unlinkSync(u(t))},Oe.prototype.open=function(t,e,n,r){var i=this;void 0===r&&(r=h);var o=a(n,420);r="function"==typeof n?n:r;var c=Ie(r,2);try{s(this.root).open(u(t),Se.getFileFlag(e),o,function(t,e){e?c(t,i.getFdForFile(e)):c(t)})}catch(t){c(t)}},Oe.prototype.openSync=function(t,e,n){return void 0===n&&(n=420),this.getFdForFile(s(this.root).openSync(u(t),Se.getFileFlag(e),a(n,420)))},Oe.prototype.readFile=function(t,e,n){void 0===e&&(e={}),void 0===n&&(n=h);var r=f(e,null,"r",null);n="function"==typeof e?e:n;var i=Ie(n,2);try{var o=Se.getFileFlag(r.flag);return o.isReadable()?s(this.root).readFile(u(t),r.encoding,o,i):i(new me(ge.EINVAL,"Flag passed to readFile must allow for reading."))}catch(t){return i(t)}},Oe.prototype.readFileSync=function(t,e){void 0===e&&(e={});var n=f(e,null,"r",null),r=Se.getFileFlag(n.flag);if(!r.isReadable())throw new me(ge.EINVAL,"Flag passed to readFile must allow for reading.");return s(this.root).readFileSync(u(t),n.encoding,r)},Oe.prototype.writeFile=function(t,e,n,r){void 0===n&&(n={}),void 0===r&&(r=h);var i=f(n,"utf8","w",420);r="function"==typeof n?n:r;var o=Ie(r,1);try{var a=Se.getFileFlag(i.flag);return a.isWriteable()?s(this.root).writeFile(u(t),e,i.encoding,a,i.mode,o):o(new me(ge.EINVAL,"Flag passed to writeFile must allow for writing."))}catch(t){return o(t)}},Oe.prototype.writeFileSync=function(t,e,n){var r=f(n,"utf8","w",420),i=Se.getFileFlag(r.flag);if(!i.isWriteable())throw new me(ge.EINVAL,"Flag passed to writeFile must allow for writing.");return s(this.root).writeFileSync(u(t),e,r.encoding,i,r.mode)},Oe.prototype.appendFile=function(t,e,n,r){void 0===r&&(r=h);var i=f(n,"utf8","a",420);r="function"==typeof n?n:r;var o=Ie(r,1);try{var a=Se.getFileFlag(i.flag);if(!a.isAppendable())return o(new me(ge.EINVAL,"Flag passed to appendFile must allow for appending."));s(this.root).appendFile(u(t),e,i.encoding,a,i.mode,o)}catch(t){o(t)}},Oe.prototype.appendFileSync=function(t,e,n){var r=f(n,"utf8","a",420),i=Se.getFileFlag(r.flag);if(!i.isAppendable())throw new me(ge.EINVAL,"Flag passed to appendFile must allow for appending.");return s(this.root).appendFileSync(u(t),e,r.encoding,i,r.mode)},Oe.prototype.fstat=function(t,e){void 0===e&&(e=h);var n=Ie(e,2);try{var r=this.fd2file(t);r.stat(n)}catch(t){n(t)}},Oe.prototype.fstatSync=function(t){return this.fd2file(t).statSync()},Oe.prototype.close=function(t,e){var n=this;void 0===e&&(e=h);var r=Ie(e,1);try{this.fd2file(t).close(function(e){e||n.closeFd(t),r(e)})}catch(t){r(t)}},Oe.prototype.closeSync=function(t){this.fd2file(t).closeSync(),this.closeFd(t)},Oe.prototype.ftruncate=function(t,e,n){void 0===n&&(n=h);var r="number"==typeof e?e:0;n="function"==typeof e?e:n;var i=Ie(n,1);try{var o=this.fd2file(t);if(r<0)throw new me(ge.EINVAL);o.truncate(r,i)}catch(t){i(t)}},Oe.prototype.ftruncateSync=function(t,e){void 0===e&&(e=0);var n=this.fd2file(t);if(e<0)throw new me(ge.EINVAL);n.truncateSync(e)},Oe.prototype.fsync=function(t,e){void 0===e&&(e=h);var n=Ie(e,1);try{this.fd2file(t).sync(n)}catch(t){n(t)}},Oe.prototype.fsyncSync=function(t){this.fd2file(t).syncSync()},Oe.prototype.fdatasync=function(t,e){void 0===e&&(e=h);var n=Ie(e,1);try{this.fd2file(t).datasync(n)}catch(t){n(t)}},Oe.prototype.fdatasyncSync=function(t){this.fd2file(t).datasyncSync()},Oe.prototype.write=function(t,e,n,i,o,s){void 0===s&&(s=h);var a,c,u,f=null;if("string"==typeof e){var p="utf8";switch(typeof n){case"function":s=n;break;case"number":f=n,p="string"==typeof i?i:"utf8",s="function"==typeof o?o:s;break;default:return(s="function"==typeof i?i:"function"==typeof o?o:s)(new me(ge.EINVAL,"Invalid arguments."))}a=new r(e,p),c=0,u=a.length}else a=e,c=n,u=i,f="number"==typeof o?o:null,s="function"==typeof o?o:s;var l=Ie(s,3);try{var d=this.fd2file(t);void 0!==f&&null!==f||(f=d.getPos()),d.write(a,c,u,f,l)}catch(t){l(t)}},Oe.prototype.writeSync=function(t,e,n,i,o){var s,a,c,u=0;if("string"==typeof e){c="number"==typeof n?n:null;var f="string"==typeof i?i:"utf8";u=0,s=new r(e,f),a=s.length}else s=e,u=n,a=i,c="number"==typeof o?o:null;var h=this.fd2file(t);return void 0!==c&&null!==c||(c=h.getPos()),h.writeSync(s,u,a,c)},Oe.prototype.read=function(t,e,n,i,o,s){void 0===s&&(s=h);var a,c,u,f,p;if("number"==typeof e){u=e,a=n;var l=i;s="function"==typeof o?o:s,c=0,f=new r(u),p=Ie(function(t,e,n){return t?s(t):void s(t,n.toString(l),e)},3)}else f=e,c=n,u=i,a=o,p=Ie(s,3);try{var d=this.fd2file(t);void 0!==a&&null!==a||(a=d.getPos()),d.read(f,c,u,a,p)}catch(t){p(t)}},Oe.prototype.readSync=function(t,e,n,i,o){var s,a,c,u,f=!1,h="utf8";"number"==typeof e?(c=e,u=n,h=i,a=0,s=new r(c),f=!0):(s=e,a=n,c=i,u=o);var p=this.fd2file(t);void 0!==u&&null!==u||(u=p.getPos());var l=p.readSync(s,a,c,u);return f?[s.toString(h),l]:l},Oe.prototype.fchown=function(t,e,n,r){void 0===r&&(r=h);var i=Ie(r,1);try{this.fd2file(t).chown(e,n,i)}catch(t){i(t)}},Oe.prototype.fchownSync=function(t,e,n){this.fd2file(t).chownSync(e,n)},Oe.prototype.fchmod=function(t,e,n){var r=Ie(n,1);try{var i="string"==typeof e?parseInt(e,8):e;this.fd2file(t).chmod(i,r)}catch(t){r(t)}},Oe.prototype.fchmodSync=function(t,e){var n="string"==typeof e?parseInt(e,8):e;this.fd2file(t).chmodSync(n)},Oe.prototype.futimes=function(t,e,n,r){void 0===r&&(r=h);var i=Ie(r,1);try{var o=this.fd2file(t);"number"==typeof e&&(e=new Date(1e3*e)),"number"==typeof n&&(n=new Date(1e3*n)),o.utimes(e,n,i)}catch(t){i(t)}},Oe.prototype.futimesSync=function(t,e,n){this.fd2file(t).utimesSync(c(e),c(n))},Oe.prototype.rmdir=function(t,e){void 0===e&&(e=h);var n=Ie(e,1);try{t=u(t),s(this.root).rmdir(t,n)}catch(t){n(t)}},Oe.prototype.rmdirSync=function(t){return t=u(t),s(this.root).rmdirSync(t)},Oe.prototype.mkdir=function(t,e,n){void 0===n&&(n=h),"function"==typeof e&&(n=e,e=511);var r=Ie(n,1);try{t=u(t),s(this.root).mkdir(t,e,r)}catch(t){r(t)}},Oe.prototype.mkdirSync=function(t,e){s(this.root).mkdirSync(u(t),a(e,511))},Oe.prototype.readdir=function(t,e){void 0===e&&(e=h);var n=Ie(e,2);try{t=u(t),s(this.root).readdir(t,n)}catch(t){n(t)}},Oe.prototype.readdirSync=function(t){return t=u(t),s(this.root).readdirSync(t)},Oe.prototype.link=function(t,e,n){void 0===n&&(n=h);var r=Ie(n,1);try{t=u(t),e=u(e),s(this.root).link(t,e,r)}catch(t){r(t)}},Oe.prototype.linkSync=function(t,e){return t=u(t),e=u(e),s(this.root).linkSync(t,e)},Oe.prototype.symlink=function(t,e,n,r){void 0===r&&(r=h);var i="string"==typeof n?n:"file";r="function"==typeof n?n:r;var o=Ie(r,1);try{if("file"!==i&&"dir"!==i)return o(new me(ge.EINVAL,"Invalid type: "+i));t=u(t),e=u(e),s(this.root).symlink(t,e,i,o)}catch(t){o(t)}},Oe.prototype.symlinkSync=function(t,e,n){if(n){if("file"!==n&&"dir"!==n)throw new me(ge.EINVAL,"Invalid type: "+n)}else n="file";return t=u(t),e=u(e),s(this.root).symlinkSync(t,e,n)},Oe.prototype.readlink=function(t,e){void 0===e&&(e=h);var n=Ie(e,2);try{t=u(t),s(this.root).readlink(t,n)}catch(t){n(t)}},Oe.prototype.readlinkSync=function(t){return t=u(t),s(this.root).readlinkSync(t)},Oe.prototype.chown=function(t,e,n,r){void 0===r&&(r=h);var i=Ie(r,1);try{t=u(t),s(this.root).chown(t,!1,e,n,i)}catch(t){i(t)}},Oe.prototype.chownSync=function(t,e,n){t=u(t),s(this.root).chownSync(t,!1,e,n)},Oe.prototype.lchown=function(t,e,n,r){void 0===r&&(r=h);var i=Ie(r,1);try{t=u(t),s(this.root).chown(t,!0,e,n,i)}catch(t){i(t)}},Oe.prototype.lchownSync=function(t,e,n){t=u(t),s(this.root).chownSync(t,!0,e,n)},Oe.prototype.chmod=function(t,e,n){void 0===n&&(n=h);var r=Ie(n,1);try{var i=a(e,-1);if(i<0)throw new me(ge.EINVAL,"Invalid mode.");s(this.root).chmod(u(t),!1,i,r)}catch(t){r(t)}},Oe.prototype.chmodSync=function(t,e){var n=a(e,-1);if(n<0)throw new me(ge.EINVAL,"Invalid mode.");t=u(t),s(this.root).chmodSync(t,!1,n)},Oe.prototype.lchmod=function(t,e,n){void 0===n&&(n=h);var r=Ie(n,1);try{var i=a(e,-1);if(i<0)throw new me(ge.EINVAL,"Invalid mode.");s(this.root).chmod(u(t),!0,i,r)}catch(t){r(t)}},Oe.prototype.lchmodSync=function(t,e){var n=a(e,-1);if(n<1)throw new me(ge.EINVAL,"Invalid mode.");s(this.root).chmodSync(u(t),!0,n)},Oe.prototype.utimes=function(t,e,n,r){void 0===r&&(r=h);var i=Ie(r,1);try{s(this.root).utimes(u(t),c(e),c(n),i)}catch(t){i(t)}},Oe.prototype.utimesSync=function(t,e,n){s(this.root).utimesSync(u(t),c(e),c(n))},Oe.prototype.realpath=function(t,e,n){void 0===n&&(n=h);var r="object"==typeof e?e:{};n="function"==typeof e?e:h;var i=Ie(n,2);try{t=u(t),s(this.root).realpath(t,r,i)}catch(t){i(t)}},Oe.prototype.realpathSync=function(t,e){return void 0===e&&(e={}),t=u(t),s(this.root).realpathSync(t,e)},Oe.prototype.watchFile=function(t,e,n){throw void 0===n&&(n=h),new me(ge.ENOTSUP)},Oe.prototype.unwatchFile=function(t,e){throw void 0===e&&(e=h),new me(ge.ENOTSUP)},Oe.prototype.watch=function(t,e,n){throw void 0===n&&(n=h),new me(ge.ENOTSUP)},Oe.prototype.access=function(t,e,n){throw void 0===n&&(n=h),new me(ge.ENOTSUP)},Oe.prototype.accessSync=function(t,e){throw new me(ge.ENOTSUP)},Oe.prototype.createReadStream=function(t,e){throw new me(ge.ENOTSUP)},Oe.prototype.createWriteStream=function(t,e){throw new me(ge.ENOTSUP)},Oe.prototype.wrapCallbacks=function(t){Ie=t},Oe.prototype.getFdForFile=function(t){var e=this.nextFd++;return this.fdMap[e]=t,e},Oe.prototype.fd2file=function(t){var e=this.fdMap[t];if(e)return e;throw new me(ge.EBADF,"Invalid file descriptor.")},Oe.prototype.closeFd=function(t){delete this.fdMap[t]},Oe.Stats=ke;var Fe=new Oe,Re={},Ne=Oe.prototype;Object.keys(Ne).forEach(function(t){"function"==typeof Fe[t]?Re[t]=function(){return Fe[t].apply(Fe,arguments);}:Re[t]=Fe[t]}),Re.changeFSModule=function(t){Fe=t},Re.getFSModule=function(){return Fe},Re.FS=Oe;var Le="undefined"!=typeof navigator&&!(!/(msie) ([\w.]+)/.exec(navigator.userAgent.toLowerCase())&&navigator.userAgent.indexOf("Trident")===-1),Te="undefined"==typeof window,xe=Object.freeze({isIE:Le,isWebWorker:Te,fail:p,mkdirpSync:l,buffer2ArrayBuffer:d,buffer2Uint8array:y,arrayish2Buffer:g,uint8Array2Buffer:_,arrayBuffer2Buffer:v,copyingSlice:w}),De=function(t){this.fs=t,this.nodefs=t.getNodeFS(),this.FS=t.getFS(),this.PATH=t.getPATH(),this.ERRNO_CODES=t.getERRNO_CODES()};De.prototype.open=function(t){var e=this.fs.realPath(t.node),n=this.FS;try{n.isFile(t.node.mode)&&(t.nfd=this.nodefs.openSync(e,this.fs.flagsToPermissionString(t.flags)))}catch(t){if(!t.code)throw t;throw new n.ErrnoError(this.ERRNO_CODES[t.code])}},De.prototype.close=function(t){var e=this.FS;try{e.isFile(t.node.mode)&&t.nfd&&this.nodefs.closeSync(t.nfd)}catch(t){if(!t.code)throw t;throw new e.ErrnoError(this.ERRNO_CODES[t.code])}},De.prototype.read=function(t,e,n,r,i){try{return this.nodefs.readSync(t.nfd,_(e),n,r,i)}catch(t){throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},De.prototype.write=function(t,e,n,r,i){try{return this.nodefs.writeSync(t.nfd,_(e),n,r,i)}catch(t){throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},De.prototype.llseek=function(t,e,n){var r=e;if(1===n)r+=t.position;else if(2===n&&this.FS.isFile(t.node.mode))try{var i=this.nodefs.fstatSync(t.nfd);r+=i.size}catch(t){throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}if(r<0)throw new this.FS.ErrnoError(this.ERRNO_CODES.EINVAL);return t.position=r,r};var Ae=function(t){this.fs=t,this.nodefs=t.getNodeFS(),this.FS=t.getFS(),this.PATH=t.getPATH(),this.ERRNO_CODES=t.getERRNO_CODES()};Ae.prototype.getattr=function(t){var e,n=this.fs.realPath(t);try{e=this.nodefs.lstatSync(n)}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}return{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},Ae.prototype.setattr=function(t,e){var n=this.fs.realPath(t);try{if(void 0!==e.mode&&(this.nodefs.chmodSync(n,e.mode),t.mode=e.mode),void 0!==e.timestamp){var r=new Date(e.timestamp);this.nodefs.utimesSync(n,r,r)}}catch(t){if(!t.code)throw t;if("ENOTSUP"!==t.code)throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}if(void 0!==e.size)try{this.nodefs.truncateSync(n,e.size)}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},Ae.prototype.lookup=function(t,e){var n=this.PATH.join2(this.fs.realPath(t),e),r=this.fs.getMode(n);return this.fs.createNode(t,e,r)},Ae.prototype.mknod=function(t,e,n,r){var i=this.fs.createNode(t,e,n,r),o=this.fs.realPath(i);try{this.FS.isDir(i.mode)?this.nodefs.mkdirSync(o,i.mode):this.nodefs.writeFileSync(o,"",{mode:i.mode})}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}return i},Ae.prototype.rename=function(t,e,n){var r=this.fs.realPath(t),i=this.PATH.join2(this.fs.realPath(e),n);try{this.nodefs.renameSync(r,i),t.name=n,t.parent=e}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},Ae.prototype.unlink=function(t,e){var n=this.PATH.join2(this.fs.realPath(t),e);try{this.nodefs.unlinkSync(n)}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},Ae.prototype.rmdir=function(t,e){var n=this.PATH.join2(this.fs.realPath(t),e);try{this.nodefs.rmdirSync(n)}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},Ae.prototype.readdir=function(t){var e=this.fs.realPath(t);try{var n=this.nodefs.readdirSync(e);return n.push(".",".."),n}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},Ae.prototype.symlink=function(t,e,n){var r=this.PATH.join2(this.fs.realPath(t),e);try{this.nodefs.symlinkSync(n,r)}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}},Ae.prototype.readlink=function(t){var e=this.fs.realPath(t);try{return this.nodefs.readlinkSync(e)}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}};var Pe=function(t,e,n,r){void 0===t&&(t=self.FS),void 0===e&&(e=self.PATH),void 0===n&&(n=self.ERRNO_CODES),void 0===r&&(r=Re),this.flagsToPermissionStringMap={0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},this.nodefs=r,this.FS=t,this.PATH=e,this.ERRNO_CODES=n,this.node_ops=new Ae(this),this.stream_ops=new De(this)};Pe.prototype.mount=function(t){return this.createNode(null,"/",this.getMode(t.opts.root),0)},Pe.prototype.createNode=function(t,e,n,r){var i=this.FS;if(!i.isDir(n)&&!i.isFile(n)&&!i.isLink(n))throw new i.ErrnoError(this.ERRNO_CODES.EINVAL);var o=i.createNode(t,e,n);return o.node_ops=this.node_ops,o.stream_ops=this.stream_ops,o},Pe.prototype.getMode=function(t){var e;try{e=this.nodefs.lstatSync(t)}catch(t){if(!t.code)throw t;throw new this.FS.ErrnoError(this.ERRNO_CODES[t.code])}return e.mode},Pe.prototype.realPath=function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),this.PATH.join.apply(null,e)},Pe.prototype.flagsToPermissionString=function(t){var e="string"==typeof t?parseInt(t,10):t;return e&=8191,e in this.flagsToPermissionStringMap?this.flagsToPermissionStringMap[e]:t},Pe.prototype.getNodeFS=function(){return this.nodefs},Pe.prototype.getFS=function(){return this.FS},Pe.prototype.getPATH=function(){return this.PATH},Pe.prototype.getERRNO_CODES=function(){return this.ERRNO_CODES};var Ce=function(){};Ce.prototype.supportsLinks=function(){return!1},Ce.prototype.diskSpace=function(t,e){e(0,0)},Ce.prototype.openFile=function(t,e,n){throw new me(ge.ENOTSUP)},Ce.prototype.createFile=function(t,e,n,r){throw new me(ge.ENOTSUP)},Ce.prototype.open=function(t,e,n,r){var i=this,o=function(o,s){if(o)switch(e.pathNotExistsAction()){case we.CREATE_FILE:return i.stat(ye.dirname(t),!1,function(o,s){o?r(o):s&&!s.isDirectory()?r(me.ENOTDIR(ye.dirname(t))):i.createFile(t,e,n,r)});case we.THROW_EXCEPTION:return r(me.ENOENT(t));default:return r(new me(ge.EINVAL,"Invalid FileFlag object."))}else{if(s&&s.isDirectory())return r(me.EISDIR(t));switch(e.pathExistsAction()){case we.THROW_EXCEPTION:return r(me.EEXIST(t));case we.TRUNCATE_FILE:return i.openFile(t,e,function(t,e){t?r(t):e?e.truncate(0,function(){e.sync(function(){r(null,e)})}):p()});case we.NOP:return i.openFile(t,e,r);default:return r(new me(ge.EINVAL,"Invalid FileFlag object."))}}};this.stat(t,!1,o)},Ce.prototype.rename=function(t,e,n){n(new me(ge.ENOTSUP))},Ce.prototype.renameSync=function(t,e){throw new me(ge.ENOTSUP)},Ce.prototype.stat=function(t,e,n){n(new me(ge.ENOTSUP))},Ce.prototype.statSync=function(t,e){throw new me(ge.ENOTSUP)},Ce.prototype.openFileSync=function(t,e,n){throw new me(ge.ENOTSUP)},Ce.prototype.createFileSync=function(t,e,n){throw new me(ge.ENOTSUP)},Ce.prototype.openSync=function(t,e,n){var r;try{r=this.statSync(t,!1)}catch(r){switch(e.pathNotExistsAction()){case we.CREATE_FILE:var i=this.statSync(ye.dirname(t),!1);if(!i.isDirectory())throw me.ENOTDIR(ye.dirname(t));return this.createFileSync(t,e,n);case we.THROW_EXCEPTION:throw me.ENOENT(t);default:throw new me(ge.EINVAL,"Invalid FileFlag object.")}}if(r.isDirectory())throw me.EISDIR(t);switch(e.pathExistsAction()){case we.THROW_EXCEPTION:throw me.EEXIST(t);case we.TRUNCATE_FILE:return this.unlinkSync(t),this.createFileSync(t,e,r.mode);case we.NOP:return this.openFileSync(t,e,n);default:throw new me(ge.EINVAL,"Invalid FileFlag object.")}},Ce.prototype.unlink=function(t,e){e(new me(ge.ENOTSUP))},Ce.prototype.unlinkSync=function(t){throw new me(ge.ENOTSUP)},Ce.prototype.rmdir=function(t,e){e(new me(ge.ENOTSUP))},Ce.prototype.rmdirSync=function(t){throw new me(ge.ENOTSUP)},Ce.prototype.mkdir=function(t,e,n){n(new me(ge.ENOTSUP))},Ce.prototype.mkdirSync=function(t,e){throw new me(ge.ENOTSUP)},Ce.prototype.readdir=function(t,e){e(new me(ge.ENOTSUP))},Ce.prototype.readdirSync=function(t){throw new me(ge.ENOTSUP)},Ce.prototype.exists=function(t,e){this.stat(t,null,function(t){e(!t)})},Ce.prototype.existsSync=function(t){try{return this.statSync(t,!0),!0}catch(t){return!1}},Ce.prototype.realpath=function(t,e,n){if(this.supportsLinks())for(var r=t.split(ye.sep),i=0;i<r.length;i++){var o=r.slice(0,i+1);r[i]=ye.join.apply(null,o)}else this.exists(t,function(e){e?n(null,t):n(me.ENOENT(t))})},Ce.prototype.realpathSync=function(t,e){if(this.supportsLinks()){for(var n=t.split(ye.sep),r=0;r<n.length;r++){var i=n.slice(0,r+1);n[r]=ye.join.apply(ye,i)}return n.join(ye.sep)}if(this.existsSync(t))return t;throw me.ENOENT(t)},Ce.prototype.truncate=function(t,e,n){this.open(t,Se.getFileFlag("r+"),420,function(t,r){return t?n(t):void r.truncate(e,function(t){r.close(function(e){n(t||e)})})})},Ce.prototype.truncateSync=function(t,e){var n=this.openSync(t,Se.getFileFlag("r+"),420);try{n.truncateSync(e)}catch(t){throw t}finally{n.closeSync()}},Ce.prototype.readFile=function(t,e,n,i){var o=i;this.open(t,n,420,function(t,n){return t?i(t):(i=function(t,e){n.close(function(n){return t||(t=n),o(t,e)})},void n.stat(function(t,o){if(t)return i(t);var s=new r(o.size);n.read(s,0,o.size,0,function(t){if(t)return i(t);if(null===e)return i(t,s);try{i(null,s.toString(e))}catch(t){i(t)}})}))})},Ce.prototype.readFileSync=function(t,e,n){var i=this.openSync(t,n,420);try{var o=i.statSync(),s=new r(o.size);return i.readSync(s,0,o.size,0),i.closeSync(),null===e?s:s.toString(e)}finally{i.closeSync()}},Ce.prototype.writeFile=function(t,e,n,i,o,s){var a=s;this.open(t,i,420,function(t,i){if(t)return s(t);s=function(t){i.close(function(e){a(t?t:e)})};try{"string"==typeof e&&(e=new r(e,n))}catch(t){return s(t)}i.write(e,0,e.length,0,s)})},Ce.prototype.writeFileSync=function(t,e,n,i,o){var s=this.openSync(t,i,o);try{"string"==typeof e&&(e=new r(e,n)),s.writeSync(e,0,e.length,0)}finally{s.closeSync()}},Ce.prototype.appendFile=function(t,e,n,i,o,s){var a=s;this.open(t,i,o,function(t,i){return t?s(t):(s=function(t){i.close(function(e){a(t?t:e)})},"string"==typeof e&&(e=new r(e,n)),void i.write(e,0,e.length,null,s))})},Ce.prototype.appendFileSync=function(t,e,n,i,o){var s=this.openSync(t,i,o);try{"string"==typeof e&&(e=new r(e,n)),s.writeSync(e,0,e.length,null)}finally{s.closeSync()}},Ce.prototype.chmod=function(t,e,n,r){r(new me(ge.ENOTSUP))},Ce.prototype.chmodSync=function(t,e,n){throw new me(ge.ENOTSUP)},Ce.prototype.chown=function(t,e,n,r,i){i(new me(ge.ENOTSUP))},Ce.prototype.chownSync=function(t,e,n,r){throw new me(ge.ENOTSUP)},Ce.prototype.utimes=function(t,e,n,r){r(new me(ge.ENOTSUP))},Ce.prototype.utimesSync=function(t,e,n){throw new me(ge.ENOTSUP)},Ce.prototype.link=function(t,e,n){n(new me(ge.ENOTSUP))},Ce.prototype.linkSync=function(t,e){throw new me(ge.ENOTSUP)},Ce.prototype.symlink=function(t,e,n,r){r(new me(ge.ENOTSUP))},Ce.prototype.symlinkSync=function(t,e,n){throw new me(ge.ENOTSUP)},Ce.prototype.readlink=function(t,e){e(new me(ge.ENOTSUP))},Ce.prototype.readlinkSync=function(t){throw new me(ge.ENOTSUP)};var Ue=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.supportsSynch=function(){return!0},e.prototype.rename=function(t,e,n){try{this.renameSync(t,e),n()}catch(t){n(t)}},e.prototype.stat=function(t,e,n){try{n(null,this.statSync(t,e))}catch(t){n(t)}},e.prototype.open=function(t,e,n,r){try{r(null,this.openSync(t,e,n))}catch(t){r(t)}},e.prototype.unlink=function(t,e){try{this.unlinkSync(t),e()}catch(t){e(t)}},e.prototype.rmdir=function(t,e){try{this.rmdirSync(t),e()}catch(t){e(t)}},e.prototype.mkdir=function(t,e,n){try{this.mkdirSync(t,e),n()}catch(t){n(t)}},e.prototype.readdir=function(t,e){try{e(null,this.readdirSync(t))}catch(t){e(t)}},e.prototype.chmod=function(t,e,n,r){try{this.chmodSync(t,e,n),r()}catch(t){r(t)}},e.prototype.chown=function(t,e,n,r,i){try{this.chownSync(t,e,n,r),i()}catch(t){i(t)}},e.prototype.utimes=function(t,e,n,r){try{this.utimesSync(t,e,n),r()}catch(t){r(t)}},e.prototype.link=function(t,e,n){try{this.linkSync(t,e),n()}catch(t){n(t)}},e.prototype.symlink=function(t,e,n,r){try{this.symlinkSync(t,e,n),r()}catch(t){r(t)}},e.prototype.readlink=function(t,e){try{e(null,this.readlinkSync(t))}catch(t){e(t)}},e}(Ce),Me=function(){};Me.prototype.sync=function(t){t(new me(ge.ENOTSUP))},Me.prototype.syncSync=function(){throw new me(ge.ENOTSUP)},Me.prototype.datasync=function(t){this.sync(t)},Me.prototype.datasyncSync=function(){return this.syncSync()},Me.prototype.chown=function(t,e,n){n(new me(ge.ENOTSUP))},Me.prototype.chownSync=function(t,e){throw new me(ge.ENOTSUP)},Me.prototype.chmod=function(t,e){e(new me(ge.ENOTSUP))},Me.prototype.chmodSync=function(t){throw new me(ge.ENOTSUP)},Me.prototype.utimes=function(t,e,n){n(new me(ge.ENOTSUP))},Me.prototype.utimesSync=function(t,e){throw new me(ge.ENOTSUP)};var Be=function(t){function e(e,n,i,o,s){if(t.call(this),this._pos=0,this._dirty=!1,this._fs=e,this._path=n,this._flag=i,this._stat=o,s?this._buffer=s:this._buffer=new r(0),this._stat.size!==this._buffer.length&&this._flag.isReadable())throw new Error("Invalid buffer: Buffer is "+this._buffer.length+" long, yet Stats object specifies that file is "+this._stat.size+" long.")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getBuffer=function(){return this._buffer},e.prototype.getStats=function(){return this._stat},e.prototype.getFlag=function(){return this._flag},e.prototype.getPath=function(){return this._path},e.prototype.getPos=function(){return this._flag.isAppendable()?this._stat.size:this._pos},e.prototype.advancePos=function(t){return this._pos+=t},e.prototype.setPos=function(t){return this._pos=t},e.prototype.sync=function(t){try{this.syncSync(),t()}catch(e){t(e)}},e.prototype.syncSync=function(){throw new me(ge.ENOTSUP)},e.prototype.close=function(t){try{this.closeSync(),t()}catch(e){t(e)}},e.prototype.closeSync=function(){throw new me(ge.ENOTSUP)},e.prototype.stat=function(t){try{t(null,this._stat.clone())}catch(e){t(e)}},e.prototype.statSync=function(){return this._stat.clone()},e.prototype.truncate=function(t,e){try{this.truncateSync(t),this._flag.isSynchronous()&&!Re.getRootFS().supportsSynch()&&this.sync(e),e()}catch(t){return e(t)}},e.prototype.truncateSync=function(t){if(this._dirty=!0,!this._flag.isWriteable())throw new me(ge.EPERM,"File not opened with a writeable mode.");if(this._stat.mtime=new Date,t>this._buffer.length){var e=new r(t-this._buffer.length);return e.fill(0),this.writeSync(e,0,e.length,this._buffer.length),void(this._flag.isSynchronous()&&Re.getRootFS().supportsSynch()&&this.syncSync())}this._stat.size=t;var n=new r(t);this._buffer.copy(n,0,0,t),this._buffer=n,this._flag.isSynchronous()&&Re.getRootFS().supportsSynch()&&this.syncSync()},e.prototype.write=function(t,e,n,r,i){try{i(null,this.writeSync(t,e,n,r),t)}catch(t){i(t)}},e.prototype.writeSync=function(t,e,n,i){if(this._dirty=!0,void 0!==i&&null!==i||(i=this.getPos()),!this._flag.isWriteable())throw new me(ge.EPERM,"File not opened with a writeable mode.");var o=i+n;if(o>this._stat.size&&(this._stat.size=o,o>this._buffer.length)){var s=new r(o);this._buffer.copy(s),this._buffer=s}var a=t.copy(this._buffer,i,e,e+n);return this._stat.mtime=new Date,this._flag.isSynchronous()?(this.syncSync(),a):(this.setPos(i+a),a)},e.prototype.read=function(t,e,n,r,i){try{i(null,this.readSync(t,e,n,r),t)}catch(t){i(t)}},e.prototype.readSync=function(t,e,n,r){if(!this._flag.isReadable())throw new me(ge.EPERM,"File not opened with a readable mode.");void 0!==r&&null!==r||(r=this.getPos());var i=r+n;i>this._stat.size&&(n=this._stat.size-r);var o=this._buffer.copy(t,e,r,r+n);return this._stat.atime=new Date,this._pos=r+n,o},e.prototype.chmod=function(t,e){try{this.chmodSync(t),e()}catch(t){e(t)}},e.prototype.chmodSync=function(t){if(!this._fs.supportsProps())throw new me(ge.ENOTSUP);this._dirty=!0,this._stat.chmod(t),this.syncSync()},e.prototype.isDirty=function(){return this._dirty},e.prototype.resetDirty=function(){this._dirty=!1},e}(Me),je=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.sync=function(t){t()},e.prototype.syncSync=function(){},e.prototype.close=function(t){t()},e.prototype.closeSync=function(){},e}(Be),ze=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.syncSync=function(){this.isDirty()&&(this._fs._syncSync(this),this.resetDirty())},e.prototype.closeSync=function(){this.syncSync()},e}(Be),qe=function(t){function e(e,n){if(t.call(this),this._queue=[],this._queueRunning=!1,this._isInitialized=!1,this._initializeCallbacks=[],this._sync=e,this._async=n,!e.supportsSynch())throw new Error("The first argument to AsyncMirror needs to be a synchronous file system.")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.getName=function(){return"AsyncMirror"},e.prototype._syncSync=function(t){this._sync.writeFileSync(t.getPath(),t.getBuffer(),null,Se.getFileFlag("w"),t.getStats().mode),this.enqueueOp({apiMethod:"writeFile",arguments:[t.getPath(),t.getBuffer(),null,t.getFlag(),t.getStats().mode]})},e.prototype.initialize=function(t){var e=this,n=this._initializeCallbacks,r=function(t){e._isInitialized=!t,e._initializeCallbacks=[],n.forEach(function(e){return e(t)})};if(this._isInitialized)t();else if(1===n.push(t)){var i=function(t,n,r){"/"!==t&&e._sync.mkdirSync(t,n),e._async.readdir(t,function(e,n){function i(e){e?r(e):o<n.length?(s(ye.join(t,n[o]),i),o++):r()}var o=0;e?r(e):i()})},o=function(t,n,r){e._async.readFile(t,null,Se.getFileFlag("r"),function(i,o){if(i)r(i);else try{e._sync.writeFileSync(t,o,null,Se.getFileFlag("w"),n)}catch(t){i=t}finally{r(i)}})},s=function(t,n){e._async.stat(t,!1,function(e,r){e?n(e):r.isDirectory()?i(t,r.mode,n):o(t,r.mode,n)})};i("/",0,r)}},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsSynch=function(){return!0},e.prototype.supportsLinks=function(){return!1},e.prototype.supportsProps=function(){return this._sync.supportsProps()&&this._async.supportsProps()},e.prototype.renameSync=function(t,e){this.checkInitialized(),this._sync.renameSync(t,e),this.enqueueOp({apiMethod:"rename",arguments:[t,e]})},e.prototype.statSync=function(t,e){return this.checkInitialized(),this._sync.statSync(t,e)},e.prototype.openSync=function(t,e,n){this.checkInitialized();var r=this._sync.openSync(t,e,n);return r.closeSync(),new ze(this,t,e,this._sync.statSync(t,!1),this._sync.readFileSync(t,null,Se.getFileFlag("r")))},e.prototype.unlinkSync=function(t){this.checkInitialized(),this._sync.unlinkSync(t),this.enqueueOp({apiMethod:"unlink",arguments:[t]})},e.prototype.rmdirSync=function(t){this.checkInitialized(),this._sync.rmdirSync(t),this.enqueueOp({apiMethod:"rmdir",arguments:[t]})},e.prototype.mkdirSync=function(t,e){this.checkInitialized(),this._sync.mkdirSync(t,e),this.enqueueOp({apiMethod:"mkdir",arguments:[t,e]})},e.prototype.readdirSync=function(t){return this.checkInitialized(),this._sync.readdirSync(t)},e.prototype.existsSync=function(t){return this.checkInitialized(),this._sync.existsSync(t)},e.prototype.chmodSync=function(t,e,n){this.checkInitialized(),this._sync.chmodSync(t,e,n),this.enqueueOp({apiMethod:"chmod",arguments:[t,e,n]})},e.prototype.chownSync=function(t,e,n,r){this.checkInitialized(),this._sync.chownSync(t,e,n,r),this.enqueueOp({apiMethod:"chown",arguments:[t,e,n,r]})},e.prototype.utimesSync=function(t,e,n){this.checkInitialized(),this._sync.utimesSync(t,e,n),this.enqueueOp({apiMethod:"utimes",arguments:[t,e,n]})},e.prototype.checkInitialized=function(){if(!this._isInitialized)throw new me(ge.EPERM,"AsyncMirrorFS is not initialized. Please initialize AsyncMirrorFS using its initialize() method before using it.")},e.prototype.enqueueOp=function(t){var e=this;if(this._queue.push(t),!this._queueRunning){this._queueRunning=!0;var n=function(t){if(t&&console.error("WARNING: File system has desynchronized. Received following error: "+t+"\n$"),e._queue.length>0){var r=e._queue.shift(),i=r.arguments;i.push(n),e._async[r.apiMethod].apply(e._async,i)}else e._queueRunning=!1};n()}},e}(Ue),Ve=Math.max,We=function(t){return b(function(e){var n=e.pop();t.call(this,e,n)})},He="object"==typeof t&&t&&t.Object===Object&&t,Ze="object"==typeof self&&self&&self.Object===Object&&self,Ye=He||Ze||Function("return this")(),Xe=Ye.Symbol,Ke=Object.prototype,Ge=Ke.hasOwnProperty,Je=Ke.toString,Qe=Xe?Xe.toStringTag:void 0,$e=Object.prototype,tn=$e.toString,en="[object Null]",nn="[object Undefined]",rn=Xe?Xe.toStringTag:void 0,on="[object AsyncFunction]",sn="[object Function]",an="[object GeneratorFunction]",cn="[object Proxy]",un=9007199254740991,fn="function"==typeof Symbol&&Symbol.iterator,hn=function(t){return fn&&t[fn]&&t[fn]()},pn="[object Arguments]",ln=Object.prototype,dn=ln.hasOwnProperty,yn=ln.propertyIsEnumerable,gn=C(function(){return arguments}())?C:function(t){return P(t)&&dn.call(t,"callee")&&!yn.call(t,"callee")},_n=Array.isArray,vn="object"==typeof e&&e&&!e.nodeType&&e,wn=vn&&"object"==typeof i&&i&&!i.nodeType&&i,mn=wn&&wn.exports===vn,En=mn?Ye.Buffer:void 0,Sn=En?En.isBuffer:void 0,bn=Sn||U,kn=9007199254740991,In=/^(?:0|[1-9]\d*)$/,On="[object Arguments]",Fn="[object Array]",Rn="[object Boolean]",Nn="[object Date]",Ln="[object Error]",Tn="[object Function]",xn="[object Map]",Dn="[object Number]",An="[object Object]",Pn="[object RegExp]",Cn="[object Set]",Un="[object String]",Mn="[object WeakMap]",Bn="[object ArrayBuffer]",jn="[object DataView]",zn="[object Float32Array]",qn="[object Float64Array]",Vn="[object Int8Array]",Wn="[object Int16Array]",Hn="[object Int32Array]",Zn="[object Uint8Array]",Yn="[object Uint8ClampedArray]",Xn="[object Uint16Array]",Kn="[object Uint32Array]",Gn={};Gn[zn]=Gn[qn]=Gn[Vn]=Gn[Wn]=Gn[Hn]=Gn[Zn]=Gn[Yn]=Gn[Xn]=Gn[Kn]=!0,Gn[On]=Gn[Fn]=Gn[Bn]=Gn[Rn]=Gn[jn]=Gn[Nn]=Gn[Ln]=Gn[Tn]=Gn[xn]=Gn[Dn]=Gn[An]=Gn[Pn]=Gn[Cn]=Gn[Un]=Gn[Mn]=!1;var Jn="object"==typeof e&&e&&!e.nodeType&&e,Qn=Jn&&"object"==typeof i&&i&&!i.nodeType&&i,$n=Qn&&Qn.exports===Jn,tr=$n&&He.process,er=function(){try{return tr&&tr.binding&&tr.binding("util")}catch(t){}}(),nr=er&&er.isTypedArray,rr=nr?j(nr):B,ir=Object.prototype,or=ir.hasOwnProperty,sr=Object.prototype,ar=V(Object.keys,Object),cr=Object.prototype,ur=cr.hasOwnProperty,fr={},hr=$(Q,1/0),pr=function(t,e,n){var r=T(t)?tt:hr;r(t,e,n)},lr=et(nt);k(lr);var dr=rt(nt),yr=$(dr,1);k(yr),b(function(t,e){return b(function(n){return t.apply(null,e.concat(n))})});var gr,_r=(ot(),"\\ud800-\\udfff"),vr="\\u0300-\\u036f",wr="\\ufe20-\\ufe2f",mr="\\u20d0-\\u20ff",Er=vr+wr+mr,Sr="\\ufe0e\\ufe0f",br="["+_r+"]",kr="["+Er+"]",Ir="\\ud83c[\\udffb-\\udfff]",Or="(?:"+kr+"|"+Ir+")",Fr="[^"+_r+"]",Rr="(?:\\ud83c[\\udde6-\\uddff]){2}",Nr="[\\ud800-\\udbff][\\udc00-\\udfff]",Lr="\\u200d",Tr=Or+"?",xr="["+Sr+"]?",Dr=("(?:"+Lr+"(?:"+[Fr,Rr,Nr].join("|")+")"+xr+Tr+")*","(?:"+[Fr+kr+"?",kr,Rr,Nr,br].join("|")+")","function"==typeof setImmediate&&setImmediate),Ar="object"==typeof o&&"function"==typeof o.nextTick;gr=Dr?setImmediate:Ar?o.nextTick:st,at(gr);var Pr=$(Q,1),Cr=b(function(t){return b(function(e){var n=this,r=e[e.length-1];"function"==typeof r?e.pop():r=x,ct(t,e,function(t,e,r){e.apply(n,t.concat([b(function(t,e){r(t,e)})]))},function(t,e){r.apply(n,[t].concat(e))})})});b(function(t){return Cr.apply(null,t.reverse())}),b(function(t){var e=[null].concat(t);return We(function(t,n){return n.apply(this,e)})}),ut("dir"),ut("log");var Ur;Ur=Ar?o.nextTick:Dr?setImmediate:st,at(Ur);var Mr,Br=(Math.ceil,Math.max,function(t){this._cache={},this._client=t});Br.prototype.readdir=function(t,e){var n=this,r=this.getCachedDirInfo(t);this._wrap(function(e){null!==r&&r.contents?n._client.readdir(t,{contentHash:r.stat.contentHash},e):n._client.readdir(t,e)},function(i,o,s,a){i?i.status===Dropbox.ApiError.NO_CONTENT&&null!==r?e(null,r.contents.slice(0)):e(i):(n.updateCachedDirInfo(t,s,o.slice(0)),a.forEach(function(e){n.updateCachedInfo(ye.join(t,e.name),e)}),e(null,o))})},Br.prototype.remove=function(t,e){var n=this;this._wrap(function(e){n._client.remove(t,e)},function(r,i){r||n.updateCachedInfo(t,i),e(r)})},Br.prototype.move=function(t,e,n){var r=this;this._wrap(function(n){r._client.move(t,e,n)},function(i,o){i||(r.deleteCachedInfo(t),r.updateCachedInfo(e,o)),n(i)})},Br.prototype.stat=function(t,e){var n=this;this._wrap(function(e){n._client.stat(t,e)},function(r,i){r||n.updateCachedInfo(t,i),e(r,i)})},Br.prototype.readFile=function(t,e){var n=this,r=this.getCachedFileInfo(t);null!==r&&null!==r.contents?this.stat(t,function(i,o){i?e(i):o.contentHash===r.stat.contentHash?e(i,r.contents.slice(0),r.stat):n.readFile(t,e)}):this._wrap(function(e){n._client.readFile(t,{arrayBuffer:!0},e)},function(r,i,o){r||n.updateCachedInfo(t,o,i.slice(0)),e(r,i,o)})},Br.prototype.writeFile=function(t,e,n){var r=this;this._wrap(function(n){r._client.writeFile(t,e,n)},function(i,o){i||r.updateCachedInfo(t,o,e.slice(0)),n(i,o)})},Br.prototype.mkdir=function(t,e){var n=this;this._wrap(function(e){n._client.mkdir(t,e)},function(r,i){r||n.updateCachedInfo(t,i,[]),e(r)})},Br.prototype._wrap=function(t,e){var n=0,r=function(i){var o=2;if(i&&3>++n)switch(i.status){case Dropbox.ApiError.SERVER_ERROR:case Dropbox.ApiError.NETWORK_ERROR:case Dropbox.ApiError.RATE_LIMITED:setTimeout(function(){t(r)},1e3*o);break;default:e.apply(null,arguments)}else e.apply(null,arguments)};t(r)},Br.prototype.getCachedInfo=function(t){return this._cache[t.toLowerCase()]},Br.prototype.putCachedInfo=function(t,e){this._cache[t.toLowerCase()]=e},Br.prototype.deleteCachedInfo=function(t){delete this._cache[t.toLowerCase()]},Br.prototype.getCachedDirInfo=function(t){var e=this.getCachedInfo(t);return dt(e)?e:null},Br.prototype.getCachedFileInfo=function(t){var e=this.getCachedInfo(t);return lt(e)?e:null},Br.prototype.updateCachedDirInfo=function(t,e,n){void 0===n&&(n=null);var r=this.getCachedInfo(t);null===e.contentHash||void 0!==r&&r.stat.contentHash===e.contentHash||this.putCachedInfo(t,{stat:e,contents:n})},Br.prototype.updateCachedFileInfo=function(t,e,n){void 0===n&&(n=null);var r=this.getCachedInfo(t);null===e.versionTag||void 0!==r&&r.stat.versionTag===e.versionTag||this.putCachedInfo(t,{stat:e,contents:n})},Br.prototype.updateCachedInfo=function(t,e,n){void 0===n&&(n=null),e.isFile&&yt(n)?this.updateCachedFileInfo(t,e,n):e.isFolder&&Array.isArray(n)&&this.updateCachedDirInfo(t,e,n)};var jr=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.sync=function(t){var e=this;if(this.isDirty()){var n=this.getBuffer(),r=d(n);this._fs._writeFileStrict(this.getPath(),r,function(n){n||e.resetDirty(),t(n)})}else t()},e.prototype.close=function(t){this.sync(t)},e}(Be),zr=function(t){function e(e){t.call(this),this._client=new Br(e),pt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return"undefined"!=typeof Dropbox},e.prototype.getName=function(){return"Dropbox"},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsSymlinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!1},e.prototype.empty=function(t){var e=this;this._client.readdir("/",function(n,r){if(n)t(e.convert(n,"/"));else{var i=function(t,n){var r=ye.join("/",t);e._client.remove(r,function(t){n(t?e.convert(t,r):null)})},o=function(e){e?t(e):t()};ht(r,i,o)}})},e.prototype.rename=function(t,e,n){var r=this;this._client.move(t,e,function(i){i?r._client.stat(e,function(o,s){if(o||s.isFolder){var a=i.response.error.indexOf(t)>-1?t:e;n(r.convert(i,a))}else r._client.remove(e,function(i){i?n(r.convert(i,e)):r.rename(t,e,n)})}):n()})},e.prototype.stat=function(t,e,n){var r=this;this._client.stat(t,function(e,i){if(e)n(r.convert(e,t));else{if(!i||!i.isRemoved){var o=new ke(r._statType(i),i.size);return n(null,o)}n(me.FileError(ge.ENOENT,t))}})},e.prototype.open=function(t,e,n,i){var o=this;this._client.readFile(t,function(n,s,a){if(!n){var c;c=null===s?new r(0):v(s);var u=o._makeFile(t,e,a,c);return i(null,u)}if(e.isReadable())i(o.convert(n,t));else switch(n.status){case Dropbox.ApiError.NOT_FOUND:var f=new ArrayBuffer(0);return o._writeFileStrict(t,f,function(n,r){if(n)i(n);else{var s=o._makeFile(t,e,r,v(f));i(null,s)}});default:return i(o.convert(n,t))}})},e.prototype._writeFileStrict=function(t,e,n){var r=this,i=ye.dirname(t);this.stat(i,!1,function(o,s){o?n(me.FileError(ge.ENOENT,i)):r._client.writeFile(t,e,function(e,i){e?n(r.convert(e,t)):n(null,i)})})},e.prototype._statType=function(t){return t.isFile?be.FILE:be.DIRECTORY},e.prototype._makeFile=function(t,e,n,r){var i=this._statType(n),o=new ke(i,n.size);return new jr(this,t,e,o,r)},e.prototype._remove=function(t,e,n){var r=this;this._client.stat(t,function(i,o){i?e(r.convert(i,t)):o.isFile&&!n?e(me.FileError(ge.ENOTDIR,t)):!o.isFile&&n?e(me.FileError(ge.EISDIR,t)):r._client.remove(t,function(n){e(n?r.convert(n,t):null)})})},e.prototype.unlink=function(t,e){this._remove(t,e,!0)},e.prototype.rmdir=function(t,e){this._remove(t,e,!1)},e.prototype.mkdir=function(t,e,n){var r=this,i=ye.dirname(t);this._client.stat(i,function(e,o){e?n(r.convert(e,i)):r._client.mkdir(t,function(e){n(e?me.FileError(ge.EEXIST,t):null)})})},e.prototype.readdir=function(t,e){var n=this;this._client.readdir(t,function(t,r){return t?e(n.convert(t)):e(null,r)})},e.prototype.convert=function(t,e){void 0===e&&(e=null);var n=Mr[t.status];return void 0===n&&(n=ge.EIO),e?me.FileError(n,e):new me(n)},e}(Ce),qr=function(t){function e(e,n,r,i){t.call(this),this._fs=e,this._FS=n,this._path=r,this._stream=i}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getPos=function(){},e.prototype.close=function(t){var e=null;try{this.closeSync()}catch(t){e=t}finally{t(e)}},e.prototype.closeSync=function(){try{this._FS.close(this._stream)}catch(t){throw gt(t,this._path)}},e.prototype.stat=function(t){try{t(null,this.statSync())}catch(e){t(e)}},e.prototype.statSync=function(){try{return this._fs.statSync(this._path,!1)}catch(t){throw gt(t,this._path)}},e.prototype.truncate=function(t,e){var n=null;try{this.truncateSync(t)}catch(t){n=t}finally{e(n)}},e.prototype.truncateSync=function(t){try{this._FS.ftruncate(this._stream.fd,t)}catch(t){throw gt(t,this._path)}},e.prototype.write=function(t,e,n,r,i){try{i(null,this.writeSync(t,e,n,r),t)}catch(t){i(t)}},e.prototype.writeSync=function(t,e,n,r){try{var i=y(t),o=null===r?void 0:r;return this._FS.write(this._stream,i,e,n,o)}catch(t){throw gt(t,this._path)}},e.prototype.read=function(t,e,n,r,i){try{i(null,this.readSync(t,e,n,r),t)}catch(t){i(t)}},e.prototype.readSync=function(t,e,n,r){try{var i=y(t),o=null===r?void 0:r;return this._FS.read(this._stream,i,e,n,o)}catch(t){throw gt(t,this._path)}},e.prototype.sync=function(t){t()},e.prototype.syncSync=function(){},e.prototype.chown=function(t,e,n){var r=null;try{this.chownSync(t,e)}catch(t){r=t}finally{n(r)}},e.prototype.chownSync=function(t,e){try{this._FS.fchown(this._stream.fd,t,e)}catch(t){throw gt(t,this._path)}},e.prototype.chmod=function(t,e){var n=null;try{this.chmodSync(t)}catch(t){n=t}finally{e(n)}},e.prototype.chmodSync=function(t){try{this._FS.fchmod(this._stream.fd,t)}catch(t){throw gt(t,this._path)}},e.prototype.utimes=function(t,e,n){var r=null;try{this.utimesSync(t,e)}catch(t){r=t}finally{n(r)}},e.prototype.utimesSync=function(t,e){this._fs.utimesSync(this._path,t,e)},e}(Me),Vr=function(t){function e(e){t.call(this),this._FS=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.getName=function(){return this._FS.DB_NAME()},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsLinks=function(){return!0},e.prototype.supportsProps=function(){return!0},e.prototype.supportsSynch=function(){return!0},e.prototype.renameSync=function(t,e){try{this._FS.rename(t,e)}catch(n){throw n.errno===ge.ENOENT?gt(n,this.existsSync(t)?e:t):gt(n)}},e.prototype.statSync=function(t,e){try{var n=e?this._FS.lstat(t):this._FS.stat(t),r=this.modeToFileType(n.mode);return new ke(r,n.size,n.mode,n.atime,n.mtime,n.ctime)}catch(e){throw gt(e,t)}},e.prototype.openSync=function(t,e,n){try{var r=this._FS.open(t,e.getFlagString(),n);if(this._FS.isDir(r.node.mode))throw this._FS.close(r),me.EISDIR(t);return new qr(this,this._FS,t,r)}catch(e){throw gt(e,t)}},e.prototype.unlinkSync=function(t){try{this._FS.unlink(t)}catch(e){throw gt(e,t)}},e.prototype.rmdirSync=function(t){try{this._FS.rmdir(t)}catch(e){throw gt(e,t)}},e.prototype.mkdirSync=function(t,e){try{this._FS.mkdir(t,e)}catch(e){throw gt(e,t)}},e.prototype.readdirSync=function(t){try{return this._FS.readdir(t).filter(function(t){return"."!==t&&".."!==t})}catch(e){throw gt(e,t)}},e.prototype.truncateSync=function(t,e){try{this._FS.truncate(t,e)}catch(e){throw gt(e,t)}},e.prototype.readFileSync=function(t,e,n){try{var r=this._FS.readFile(t,{flags:n.getFlagString()}),i=_(r);return e?i.toString(e):i}catch(e){throw gt(e,t)}},e.prototype.writeFileSync=function(t,e,n,i,o){try{n&&(e=new r(e,n));var s=y(e);this._FS.writeFile(t,s,{flags:i.getFlagString(),encoding:"binary"}),this._FS.chmod(t,o)}catch(e){throw gt(e,t)}},e.prototype.chmodSync=function(t,e,n){try{e?this._FS.lchmod(t,n):this._FS.chmod(t,n)}catch(e){throw gt(e,t)}},e.prototype.chownSync=function(t,e,n,r){try{e?this._FS.lchown(t,n,r):this._FS.chown(t,n,r)}catch(e){throw gt(e,t)}},e.prototype.symlinkSync=function(t,e,n){try{this._FS.symlink(t,e)}catch(t){throw gt(t)}},e.prototype.readlinkSync=function(t){try{return this._FS.readlink(t)}catch(e){throw gt(e,t)}},e.prototype.utimesSync=function(t,e,n){try{this._FS.utime(t,e.getTime(),n.getTime())}catch(e){throw gt(e,t)}},e.prototype.modeToFileType=function(t){if(this._FS.isDir(t))return be.DIRECTORY;if(this._FS.isFile(t))return be.FILE;if(this._FS.isLink(t))return be.SYMLINK;throw me.EPERM("Invalid mode: "+t)},e}(Ue),Wr=function(t){function e(e,n){t.call(this),this._folder=e,this._wrapped=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.initialize=function(t){var e=this;this._wrapped.exists(this._folder,function(n){n?t():e._wrapped.isReadOnly()?t(me.ENOENT(e._folder)):e._wrapped.mkdir(e._folder,511,t)})},e.prototype.getName=function(){return this._wrapped.getName()},e.prototype.isReadOnly=function(){return this._wrapped.isReadOnly()},e.prototype.supportsProps=function(){return this._wrapped.supportsProps()},e.prototype.supportsSynch=function(){return this._wrapped.supportsSynch()},e.prototype.supportsLinks=function(){return!1},e}(Ce);["diskSpace","stat","statSync","open","openSync","unlink","unlinkSync","rmdir","rmdirSync","mkdir","mkdirSync","readdir","readdirSync","exists","existsSync","realpath","realpathSync","truncate","truncateSync","readFile","readFileSync","writeFile","writeFileSync","appendFile","appendFileSync","chmod","chmodSync","chown","chownSync","utimes","utimesSync","readlink","readlinkSync"].forEach(function(t){Wr.prototype[t]=wt(t,!0,!1)}),["rename","renameSync","link","linkSync","symlink","symlinkSync"].forEach(function(t){Wr.prototype[t]=wt(t,!0,!0)});var Hr=_e.webkitRequestFileSystem||_e.requestFileSystem||null,Zr=function(t){function e(e,n,r,i,o,s){t.call(this,e,r,i,o,s),this._entry=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.sync=function(t){var e=this;return this.isDirty()?void this._entry.createWriter(function(n){var r=e.getBuffer(),i=new Blob([d(r)]),o=i.size;n.onwriteend=function(r){n.onwriteend=null,n.onerror=null,n.truncate(o),e.resetDirty(),t()},n.onerror=function(n){t(bt(n,e.getPath(),!1))},n.write(i)}):t()},e.prototype.close=function(t){this.sync(t)},e}(Be),Yr=function(t){function e(e,n){void 0===e&&(e=5),void 0===n&&(n=_e.PERSISTENT),t.call(this),this.size=1048576*e,this.type=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!!Hr},e.prototype.getName=function(){return"HTML5 FileSystem"},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsSymlinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!1},e.prototype.allocate=function(t){var e=this;void 0===t&&(t=function(){});var n=function(n){e.fs=n,t()},r=function(e){t(bt(e,"/",!0))};this.type===_e.PERSISTENT?Et(this.type,this.size,function(t){Hr(e.type,t,n,r)},r):Hr(this.type,this.size,n,r)},e.prototype.empty=function(t){this._readdir("/",function(e,n){if(e)console.error("Failed to empty FS"),t(e);else{var r=function(n){e?(console.error("Failed to empty FS"),t(e)):t()},i=function(t,e){var n=function(){e()},r=function(n){e(bt(n,t.fullPath,!t.isDirectory))};mt(t)?t.removeRecursively(n,r):t.remove(n,r)};ht(n,i,r)}})},e.prototype.rename=function(t,e,n){var r=this,i=2,o=0,s=this.fs.root,a=t,c=function(t){--i<=0&&n(bt(t,a,!1))},u=function(i){return 2===++o?n(new me(ge.EINVAL,"Something was identified as both a file and a directory. This should never happen.")):t===e?n():(a=ye.dirname(e),void s.getDirectory(a,{},function(o){a=ye.basename(e),i.moveTo(o,a,function(t){n()},function(o){i.isDirectory?(a=e,r.unlink(e,function(i){i?c(o):r.rename(t,e,n)})):c(o)})},c))};s.getFile(t,{},u,c),s.getDirectory(t,{},u,c)},e.prototype.stat=function(t,e,n){var r=this,i={create:!1},o=function(t){var e=function(t){var e=new ke(be.FILE,t.size);n(null,e)};t.file(e,a)},s=function(t){var e=4096,r=new ke(be.DIRECTORY,e);n(null,r)},a=function(e){n(bt(e,t,!1))},c=function(){r.fs.root.getDirectory(t,i,s,a)};this.fs.root.getFile(t,i,o,c)},e.prototype.open=function(t,e,n,r){var i=this,o=function(n){r("InvalidModificationError"===n.name&&e.isExclusive()?me.EEXIST(t):bt(n,t,!1))};this.fs.root.getFile(t,{create:e.pathNotExistsAction()===we.CREATE_FILE,exclusive:e.isExclusive()},function(n){n.file(function(s){var a=new FileReader;a.onloadend=function(o){var c=i._makeFile(t,n,e,s,a.result);r(null,c)},a.onerror=function(t){o(a.error)},a.readAsArrayBuffer(s)},o)},o)},e.prototype.unlink=function(t,e){this._remove(t,e,!0)},e.prototype.rmdir=function(t,e){var n=this;this.readdir(t,function(r,i){r?e(r):i.length>0?e(me.ENOTEMPTY(t)):n._remove(t,e,!1)})},e.prototype.mkdir=function(t,e,n){var r={create:!0,exclusive:!0},i=function(t){n()},o=function(e){n(bt(e,t,!0))};this.fs.root.getDirectory(t,r,i,o)},e.prototype.readdir=function(t,e){this._readdir(t,function(t,n){if(t)return e(t);for(var r=[],i=0;i<n.length;i++)r.push(n[i].name);e(null,r)})},e.prototype._makeFile=function(t,e,n,r,i){void 0===i&&(i=new ArrayBuffer(0));var o=new ke(be.FILE,r.size),s=v(i);return new Zr(this,e,t,n,o,s)},e.prototype._readdir=function(t,e){var n=function(n){e(bt(n,t,!0))};this.fs.root.getDirectory(t,{create:!1},function(t){var r=t.createReader(),i=[],o=function(){r.readEntries(function(t){t.length?(i=i.concat(St(t)),o()):e(null,i)},n)};o()},n)},e.prototype._remove=function(t,e,n){var r=function(r){var i=function(){e()},o=function(r){e(bt(r,t,!n))};r.remove(i,o)},i=function(r){e(bt(r,t,!n))},o={create:!1};n?this.fs.root.getFile(t,o,r,i):this.fs.root.getDirectory(t,o,r,i)},e}(Ce),Xr=function(t,e,n,r,i,o){this.id=t,this.size=e,this.mode=n,this.atime=r,this.mtime=i,this.ctime=o};Xr.fromBuffer=function(t){if(void 0===t)throw new Error("NO");return new Xr(t.toString("ascii",30),t.readUInt32LE(0),t.readUInt16LE(4),t.readDoubleLE(6),t.readDoubleLE(14),t.readDoubleLE(22))},Xr.prototype.toStats=function(){return new ke((61440&this.mode)===be.DIRECTORY?be.DIRECTORY:be.FILE,this.size,this.mode,new Date(this.atime),new Date(this.mtime),new Date(this.ctime))},Xr.prototype.getSize=function(){return 30+this.id.length},Xr.prototype.toBuffer=function(t){return void 0===t&&(t=new r(this.getSize())),t.writeUInt32LE(this.size,0),t.writeUInt16LE(this.mode,4),t.writeDoubleLE(this.atime,6),t.writeDoubleLE(this.mtime,14),t.writeDoubleLE(this.ctime,22),t.write(this.id,30,this.id.length,"ascii"),t},Xr.prototype.update=function(t){var e=!1;this.size!==t.size&&(this.size=t.size,e=!0),this.mode!==t.mode&&(this.mode=t.mode,e=!0);var n=t.atime.getTime();this.atime!==n&&(this.atime=n,e=!0);var r=t.mtime.getTime();this.mtime!==r&&(this.mtime=r,e=!0);var i=t.ctime.getTime();return this.ctime!==i&&(this.ctime=i,e=!0),e},Xr.prototype.isFile=function(){return(61440&this.mode)===be.FILE},Xr.prototype.isDirectory=function(){return(61440&this.mode)===be.DIRECTORY};var Kr="/",Gr=function(t){this.store=t,this.originalData={},this.modifiedKeys=[]};Gr.prototype.get=function(t){var e=this.store.get(t);return this.stashOldValue(t,e),e},Gr.prototype.put=function(t,e,n){return this.markModified(t),this.store.put(t,e,n)},Gr.prototype.del=function(t){this.markModified(t),this.store.del(t)},Gr.prototype.commit=function(){},Gr.prototype.abort=function(){for(var t=this,e=0;e<this.modifiedKeys.length;e++){var n=t.modifiedKeys[e],r=t.originalData[n];r?t.store.put(n,r,!0):t.store.del(n)}},Gr.prototype.stashOldValue=function(t,e){this.originalData.hasOwnProperty(t)||(this.originalData[t]=e)},Gr.prototype.markModified=function(t){this.modifiedKeys.indexOf(t)===-1&&(this.modifiedKeys.push(t),this.originalData.hasOwnProperty(t)||(this.originalData[t]=this.store.get(t)))};var Jr=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.syncSync=function(){this.isDirty()&&(this._fs._syncSync(this.getPath(),this.getBuffer(),this.getStats()),this.resetDirty())},e.prototype.closeSync=function(){this.syncSync()},e}(Be),Qr=function(t){function e(e){t.call(this),this.store=e.store,this.makeRootDirectory()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.getName=function(){return this.store.name()},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsSymlinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!0},e.prototype.empty=function(){this.store.clear(),this.makeRootDirectory()},e.prototype.renameSync=function(t,e){var n=this.store.beginTransaction("readwrite"),i=ye.dirname(t),o=ye.basename(t),s=ye.dirname(e),a=ye.basename(e),c=this.findINode(n,i),u=this.getDirListing(n,i,c);if(!u[o])throw me.ENOENT(t);var f=u[o];if(delete u[o],0===(s+"/").indexOf(t+"/"))throw new me(ge.EBUSY,i);var h,p;if(s===i?(h=c,p=u):(h=this.findINode(n,s),p=this.getDirListing(n,s,h)),p[a]){var l=this.getINode(n,e,p[a]);if(!l.isFile())throw me.EPERM(e);try{n.del(l.id),n.del(p[a])}catch(t){throw n.abort(),t}}p[a]=f;try{n.put(c.id,new r(JSON.stringify(u)),!0),n.put(h.id,new r(JSON.stringify(p)),!0)}catch(t){throw n.abort(),t}n.commit()},e.prototype.statSync=function(t,e){return this.findINode(this.store.beginTransaction("readonly"),t).toStats()},e.prototype.createFileSync=function(t,e,n){var i=this.store.beginTransaction("readwrite"),o=new r(0),s=this.commitNewFile(i,t,be.FILE,n,o);return new Jr(this,t,e,s.toStats(),o)},e.prototype.openFileSync=function(t,e){var n=this.store.beginTransaction("readonly"),r=this.findINode(n,t),i=n.get(r.id);if(void 0===i)throw me.ENOENT(t);return new Jr(this,t,e,r.toStats(),i)},e.prototype.unlinkSync=function(t){this.removeEntry(t,!1)},e.prototype.rmdirSync=function(t){if(this.readdirSync(t).length>0)throw me.ENOTEMPTY(t);this.removeEntry(t,!0)},e.prototype.mkdirSync=function(t,e){var n=this.store.beginTransaction("readwrite"),i=new r("{}");this.commitNewFile(n,t,be.DIRECTORY,e,i)},e.prototype.readdirSync=function(t){var e=this.store.beginTransaction("readonly");return Object.keys(this.getDirListing(e,t,this.findINode(e,t)))},e.prototype._syncSync=function(t,e,n){var r=this.store.beginTransaction("readwrite"),i=this._findINode(r,ye.dirname(t),ye.basename(t)),o=this.getINode(r,t,i),s=o.update(n);try{r.put(o.id,e,!0),s&&r.put(i,o.toBuffer(),!0)}catch(t){throw r.abort(),t}r.commit()},e.prototype.makeRootDirectory=function(){var t=this.store.beginTransaction("readwrite");if(void 0===t.get(Kr)){var e=(new Date).getTime(),n=new Xr(kt(),4096,511|be.DIRECTORY,e,e,e);t.put(n.id,new r("{}"),!1),t.put(Kr,n.toBuffer(),!1),t.commit()}},e.prototype._findINode=function(t,e,n){var r=this,i=function(i){var o=r.getDirListing(t,e,i);if(o[n])return o[n];throw me.ENOENT(ye.resolve(e,n))};return"/"===e?""===n?Kr:i(this.getINode(t,e,Kr)):i(this.getINode(t,e+ye.sep+n,this._findINode(t,ye.dirname(e),ye.basename(e))))},e.prototype.findINode=function(t,e){return this.getINode(t,e,this._findINode(t,ye.dirname(e),ye.basename(e)))},e.prototype.getINode=function(t,e,n){var r=t.get(n);if(void 0===r)throw me.ENOENT(e);return Xr.fromBuffer(r)},e.prototype.getDirListing=function(t,e,n){if(!n.isDirectory())throw me.ENOTDIR(e);var r=t.get(n.id);if(void 0===r)throw me.ENOENT(e);return JSON.parse(r.toString())},e.prototype.addNewNode=function(t,e){for(var n,r=0;r<5;)try{return n=kt(),t.put(n,e,!1),n}catch(t){}throw new me(ge.EIO,"Unable to commit data to key-value store.")},e.prototype.commitNewFile=function(t,e,n,i,o){var s=ye.dirname(e),a=ye.basename(e),c=this.findINode(t,s),u=this.getDirListing(t,s,c),f=(new Date).getTime();if("/"===e)throw me.EEXIST(e);if(u[a])throw me.EEXIST(e);var h;try{var p=this.addNewNode(t,o);h=new Xr(p,o.length,i|n,f,f,f);var l=this.addNewNode(t,h.toBuffer());u[a]=l,t.put(c.id,new r(JSON.stringify(u)),!0)}catch(e){throw t.abort(),e}return t.commit(),h},e.prototype.removeEntry=function(t,e){var n=this.store.beginTransaction("readwrite"),i=ye.dirname(t),o=this.findINode(n,i),s=this.getDirListing(n,i,o),a=ye.basename(t);if(!s[a])throw me.ENOENT(t);var c=s[a];delete s[a];var u=this.getINode(n,t,c);if(!e&&u.isDirectory())throw me.EISDIR(t);if(e&&!u.isDirectory())throw me.ENOTDIR(t);try{n.del(u.id),n.del(c),n.put(o.id,new r(JSON.stringify(s)),!0)}catch(t){throw n.abort(),t}n.commit()},e}(Ue),$r=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.sync=function(t){var e=this;this.isDirty()?this._fs._sync(this.getPath(),this.getBuffer(),this.getStats(),function(n){n||e.resetDirty(),t(n)}):t()},e.prototype.close=function(t){this.sync(t)},e}(Be),ti=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.init=function(t,e){this.store=t,this.makeRootDirectory(e)},e.prototype.getName=function(){return this.store.name()},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsSymlinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!1},e.prototype.empty=function(t){var e=this;this.store.clear(function(n){It(n,t)&&e.makeRootDirectory(t)})},e.prototype.rename=function(t,e,n){var i=this,o=this.store.beginTransaction("readwrite"),s=ye.dirname(t),a=ye.basename(t),c=ye.dirname(e),u=ye.basename(e),f={},h={},p=!1;if(0===(c+"/").indexOf(t+"/"))return n(new me(ge.EBUSY,s));var l=function(){if(!p&&h.hasOwnProperty(s)&&h.hasOwnProperty(c)){var l=h[s],d=f[s],y=h[c],g=f[c];if(l[a]){var _=l[a];delete l[a];var v=function(){y[u]=_,o.put(d.id,new r(JSON.stringify(l)),!0,function(t){Ot(t,o,n)&&(s===c?o.commit(n):o.put(g.id,new r(JSON.stringify(y)),!0,function(t){Ot(t,o,n)&&o.commit(n)}))})};y[u]?i.getINode(o,e,y[u],function(t,r){Ot(t,o,n)&&(r.isFile()?o.del(r.id,function(t){Ot(t,o,n)&&o.del(y[u],function(t){Ot(t,o,n)&&v()})}):o.abort(function(t){n(me.EPERM(e))}))}):v()}else n(me.ENOENT(t))}},d=function(t){i.findINodeAndDirListing(o,t,function(e,r,i){e?p||(p=!0,o.abort(function(){n(e)})):(f[t]=r,h[t]=i,l())})};d(s),s!==c&&d(c)},e.prototype.stat=function(t,e,n){var r=this.store.beginTransaction("readonly");this.findINode(r,t,function(t,e){It(t,n)&&n(null,e.toStats())})},e.prototype.createFile=function(t,e,n,i){var o=this,s=this.store.beginTransaction("readwrite"),a=new r(0);this.commitNewFile(s,t,be.FILE,n,a,function(n,r){It(n,i)&&i(null,new $r(o,t,e,r.toStats(),a))})},e.prototype.openFile=function(t,e,n){var r=this,i=this.store.beginTransaction("readonly");this.findINode(i,t,function(o,s){It(o,n)&&i.get(s.id,function(i,o){It(i,n)&&(void 0===o?n(me.ENOENT(t)):n(null,new $r(r,t,e,s.toStats(),o)))})})},e.prototype.unlink=function(t,e){this.removeEntry(t,!1,e)},e.prototype.rmdir=function(t,e){var n=this;this.readdir(t,function(r,i){r?e(r):i.length>0?e(me.ENOTEMPTY(t)):n.removeEntry(t,!0,e)})},e.prototype.mkdir=function(t,e,n){var i=this.store.beginTransaction("readwrite"),o=new r("{}");this.commitNewFile(i,t,be.DIRECTORY,e,o,n)},e.prototype.readdir=function(t,e){var n=this,r=this.store.beginTransaction("readonly");this.findINode(r,t,function(i,o){It(i,e)&&n.getDirListing(r,t,o,function(t,n){It(t,e)&&e(null,Object.keys(n))})})},e.prototype._sync=function(t,e,n,r){var i=this,o=this.store.beginTransaction("readwrite");this._findINode(o,ye.dirname(t),ye.basename(t),function(s,a){Ot(s,o,r)&&i.getINode(o,t,a,function(t,i){if(Ot(t,o,r)){var s=i.update(n);o.put(i.id,e,!0,function(t){Ot(t,o,r)&&(s?o.put(a,i.toBuffer(),!0,function(t){Ot(t,o,r)&&o.commit(r)}):o.commit(r))})}})})},e.prototype.makeRootDirectory=function(t){var e=this.store.beginTransaction("readwrite");e.get(Kr,function(n,i){if(n||void 0===i){var o=(new Date).getTime(),s=new Xr(kt(),4096,511|be.DIRECTORY,o,o,o);e.put(s.id,new r("{}"),!1,function(n){Ot(n,e,t)&&e.put(Kr,s.toBuffer(),!1,function(n){n?e.abort(function(){t(n)}):e.commit(t)})})}else e.commit(t)})},e.prototype._findINode=function(t,e,n,r){var i=this,o=function(t,i,o){t?r(t):o[n]?r(null,o[n]):r(me.ENOENT(ye.resolve(e,n)))};"/"===e?""===n?r(null,Kr):this.getINode(t,e,Kr,function(n,s){It(n,r)&&i.getDirListing(t,e,s,function(t,e){o(t,s,e)})}):this.findINodeAndDirListing(t,e,o)},e.prototype.findINode=function(t,e,n){var r=this;this._findINode(t,ye.dirname(e),ye.basename(e),function(i,o){It(i,n)&&r.getINode(t,e,o,n)})},e.prototype.getINode=function(t,e,n,r){t.get(n,function(t,n){It(t,r)&&(void 0===n?r(me.ENOENT(e)):r(null,Xr.fromBuffer(n)))})},e.prototype.getDirListing=function(t,e,n,r){n.isDirectory()?t.get(n.id,function(t,n){if(It(t,r))try{r(null,JSON.parse(n.toString()))}catch(t){r(me.ENOENT(e))}}):r(me.ENOTDIR(e))},e.prototype.findINodeAndDirListing=function(t,e,n){var r=this;this.findINode(t,e,function(i,o){It(i,n)&&r.getDirListing(t,e,o,function(t,e){It(t,n)&&n(null,o,e)})})},e.prototype.addNewNode=function(t,e,n){var r,i=0,o=function(){5===++i?n(new me(ge.EIO,"Unable to commit data to key-value store.")):(r=kt(),t.put(r,e,!1,function(t,e){t||!e?o():n(null,r)}))};o()},e.prototype.commitNewFile=function(t,e,n,i,o,s){var a=this,c=ye.dirname(e),u=ye.basename(e),f=(new Date).getTime();return"/"===e?s(me.EEXIST(e)):void this.findINodeAndDirListing(t,c,function(c,h,p){Ot(c,t,s)&&(p[u]?t.abort(function(){s(me.EEXIST(e))}):a.addNewNode(t,o,function(e,c){if(Ot(e,t,s)){var l=new Xr(c,o.length,i|n,f,f,f);a.addNewNode(t,l.toBuffer(),function(e,n){Ot(e,t,s)&&(p[u]=n,t.put(h.id,new r(JSON.stringify(p)),!0,function(e){Ot(e,t,s)&&t.commit(function(e){Ot(e,t,s)&&s(null,l)})}))})}}))})},e.prototype.removeEntry=function(t,e,n){var i=this,o=this.store.beginTransaction("readwrite"),s=ye.dirname(t),a=ye.basename(t);this.findINodeAndDirListing(o,s,function(s,c,u){if(Ot(s,o,n))if(u[a]){var f=u[a];delete u[a],i.getINode(o,t,f,function(i,s){Ot(i,o,n)&&(!e&&s.isDirectory()?o.abort(function(){n(me.EISDIR(t))}):e&&!s.isDirectory()?o.abort(function(){n(me.ENOTDIR(t))}):o.del(s.id,function(t){Ot(t,o,n)&&o.del(f,function(t){Ot(t,o,n)&&o.put(c.id,new r(JSON.stringify(u)),!0,function(t){Ot(t,o,n)&&o.commit(n)})})}))})}else o.abort(function(){n(me.ENOENT(t))})})},e}(Ce),ei=function(){this.store={}};ei.prototype.name=function(){return"In-memory"},ei.prototype.clear=function(){this.store={}},ei.prototype.beginTransaction=function(t){return new Gr(this)},ei.prototype.get=function(t){return this.store[t]},ei.prototype.put=function(t,e,n){return!(!n&&this.store.hasOwnProperty(t))&&(this.store[t]=e,!0)},ei.prototype.del=function(t){delete this.store[t]};var ni=function(t){function e(){t.call(this,{store:new ei})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Qr),ri=_e.indexedDB||_e.mozIndexedDB||_e.webkitIndexedDB||_e.msIndexedDB,ii=function(t,e){this.tx=t,this.store=e};ii.prototype.get=function(t,e){try{var n=this.store.get(t);n.onerror=Rt(e),n.onsuccess=function(t){var n=t.target.result;void 0===n?e(null,n):e(null,v(n))}}catch(t){e(Ft(t))}};var oi=function(t){function e(e,n){t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.put=function(t,e,n,r){try{var i,o=d(e);i=n?this.store.put(o,t):this.store.add(o,t),i.onerror=Rt(r),i.onsuccess=function(t){r(null,!0)}}catch(t){r(Ft(t))}},e.prototype.del=function(t,e){try{var n=this.store.delete(t);n.onerror=Rt(e),n.onsuccess=function(t){e()}}catch(t){e(Ft(t))}},e.prototype.commit=function(t){setTimeout(t,0)},e.prototype.abort=function(t){var e=null;try{this.tx.abort()}catch(t){e=Ft(t)}finally{t(e)}},e}(ii),si=function(t,e){var n=this;void 0===e&&(e="browserfs"),this.storeName=e;var r=ri.open(this.storeName,1);r.onupgradeneeded=function(t){var e=t.target.result;e.objectStoreNames.contains(n.storeName)&&e.deleteObjectStore(n.storeName),e.createObjectStore(n.storeName)},r.onsuccess=function(e){n.db=e.target.result,t(null,n)},r.onerror=Rt(t,ge.EACCES)};si.prototype.name=function(){return"IndexedDB - "+this.storeName},si.prototype.clear=function(t){try{var e=this.db.transaction(this.storeName,"readwrite"),n=e.objectStore(this.storeName),r=n.clear();r.onsuccess=function(e){setTimeout(t,0)},r.onerror=Rt(t)}catch(e){t(Ft(e))}},si.prototype.beginTransaction=function(t){void 0===t&&(t="readonly");var e=this.db.transaction(this.storeName,t),n=e.objectStore(this.storeName);if("readwrite"===t)return new oi(e,n);if("readonly"===t)return new ii(e,n);throw new me(ge.EINVAL,"Invalid transaction type.")};var ai,ci=function(t){function e(e,n){var r=this;t.call(this);var i=new si(function(t){t?e(t):r.init(i,function(t){e(t,r)})},n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){try{return"undefined"!=typeof ri&&null!==ri.open("__browserfs_test__")}catch(t){return!1}},e}(ti),ui=!1;try{_e.localStorage.setItem("__test__",String.fromCharCode(55296)),ui=_e.localStorage.getItem("__test__")===String.fromCharCode(55296)}catch(t){ui=!1}ai=ui?"binary_string":"binary_string_ie",r.isEncoding(ai)||(ai="base64");var fi=function(){};fi.prototype.name=function(){return"LocalStorage"},fi.prototype.clear=function(){_e.localStorage.clear()},fi.prototype.beginTransaction=function(t){return new Gr(this)},fi.prototype.get=function(t){try{var e=_e.localStorage.getItem(t);if(null!==e)return new r(e,ai)}catch(t){}},fi.prototype.put=function(t,e,n){try{return!(!n&&null!==_e.localStorage.getItem(t))&&(_e.localStorage.setItem(t,e.toString(ai)),!0)}catch(t){throw new me(ge.ENOSPC,"LocalStorage is full.")}},fi.prototype.del=function(t){try{_e.localStorage.removeItem(t)}catch(e){throw new me(ge.EIO,"Unable to delete key "+t+": "+e)}};for(var hi=function(t){function e(){t.call(this,{store:new fi})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return"undefined"!=typeof _e.localStorage},e}(Qr),pi=function(t){function e(){t.call(this),this.mountList=[],this.mntMap={},this.rootFs=new ni}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.mount=function(t,e){if("/"!==t[0]&&(t="/"+t),t=ye.resolve(t),this.mntMap[t])throw new me(ge.EINVAL,"Mount point "+t+" is already taken.");l(t,511,this.rootFs),this.mntMap[t]=e,this.mountList.push(t),this.mountList=this.mountList.sort(function(t,e){return e.length-t.length})},e.prototype.umount=function(t){var e=this;if("/"!==t[0]&&(t="/"+t),t=ye.resolve(t),!this.mntMap[t])throw new me(ge.EINVAL,"Mount point "+t+" is already unmounted.");for(delete this.mntMap[t],this.mountList.splice(this.mountList.indexOf(t),1);"/"!==t&&0===e.rootFs.readdirSync(t).length;)e.rootFs.rmdirSync(t),t=ye.dirname(t)},e.prototype._getFs=function(t){for(var e=this,n=this.mountList,r=n.length,i=0;i<r;i++){var o=n[i];if(o.length<=t.length&&0===t.indexOf(o))return t=t.substr(o.length>1?o.length:0),""===t&&(t="/"),{fs:e.mntMap[o],path:t}}return{fs:this.rootFs,path:t}},e.prototype.getName=function(){return"MountableFileSystem"},e.prototype.diskSpace=function(t,e){e(0,0)},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsLinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!0},e.prototype.standardizeError=function(t,e,n){var r=t.message.indexOf(e);return r!==-1&&(t.message=t.message.substr(0,r)+n+t.message.substr(r+e.length),t.path=n),t},e.prototype.rename=function(t,e,n){var r=this,i=this._getFs(t),o=this._getFs(e);return i.fs===o.fs?i.fs.rename(i.path,o.path,function(s){s&&r.standardizeError(r.standardizeError(s,i.path,t),o.path,e),n(s)}):Re.readFile(t,function(r,i){return r?n(r):void Re.writeFile(e,i,function(e){return e?n(e):void Re.unlink(t,n)})})},e.prototype.renameSync=function(t,e){var n=this._getFs(t),r=this._getFs(e);if(n.fs===r.fs)try{return n.fs.renameSync(n.path,r.path)}catch(i){throw this.standardizeError(this.standardizeError(i,n.path,t),r.path,e),i}var i=Re.readFileSync(t);return Re.writeFileSync(e,i),Re.unlinkSync(t)},e.prototype.readdirSync=function(t){var e=this._getFs(t),n=null;if(e.fs!==this.rootFs)try{n=this.rootFs.readdirSync(t)}catch(t){}try{var r=e.fs.readdirSync(e.path);return null===n?r:r.concat(n.filter(function(t){return r.indexOf(t)===-1}))}catch(r){if(null===n)throw this.standardizeError(r,e.path,t);return n}},e.prototype.readdir=function(t,e){var n=this,r=this._getFs(t);r.fs.readdir(r.path,function(i,o){if(r.fs!==n.rootFs)try{var s=n.rootFs.readdirSync(t);o=o?o.concat(s.filter(function(t){return o.indexOf(t)===-1})):s}catch(o){if(i)return e(n.standardizeError(i,r.path,t))}else if(i)return e(n.standardizeError(i,r.path,t));e(null,o)})},e.prototype.rmdirSync=function(t){var e=this._getFs(t);if(this._containsMountPt(t))throw me.ENOTEMPTY(t);try{e.fs.rmdirSync(e.path)}catch(n){throw this.standardizeError(n,e.path,t)}},e.prototype.rmdir=function(t,e){var n=this,r=this._getFs(t);this._containsMountPt(t)?e(me.ENOTEMPTY(t)):r.fs.rmdir(r.path,function(i){e(i?n.standardizeError(i,r.path,t):null)})},e.prototype._containsMountPt=function(t){for(var e=this.mountList,n=e.length,r=0;r<n;r++){var i=e[r];if(i.length>=t.length&&i.slice(0,t.length)===t)return!0}return!1},e}(Ce),li=[["exists","unlink","readlink"],["stat","mkdir","realpath","truncate"],["open","readFile","chmod","utimes"],["chown"],["writeFile","appendFile"]],di=0;di<li.length;di++)for(var yi=li[di],gi=0;gi<yi.length;gi++){var _i=yi[gi];pi.prototype[_i]=Nt(_i,!1,di+1),pi.prototype[_i+"Sync"]=Nt(_i+"Sync",!0,di+1)}var vi=function(){this._locked=!1,this._waiters=[]};vi.prototype.lock=function(t){return this._locked?void this._waiters.push(t):(this._locked=!0,void t())},vi.prototype.unlock=function(){if(!this._locked)throw new Error("unlock of a non-locked mutex");var t=this._waiters.shift();return t?void setImmediate(t):void(this._locked=!1)},vi.prototype.tryLock=function(){return!this._locked&&(this._locked=!0,!0)},vi.prototype.isLocked=function(){return this._locked};var wi=function(t){this._fs=t,this._mu=new vi};wi.prototype.getName=function(){return"LockedFS<"+this._fs.getName()+">"},wi.prototype.getFSUnlocked=function(){return this._fs},wi.prototype.initialize=function(t){this._fs.initialize(t)},wi.prototype.diskSpace=function(t,e){this._fs.diskSpace(t,e)},wi.prototype.isReadOnly=function(){return this._fs.isReadOnly()},wi.prototype.supportsLinks=function(){return this._fs.supportsLinks()},wi.prototype.supportsProps=function(){return this._fs.supportsProps()},wi.prototype.supportsSynch=function(){return this._fs.supportsSynch()},wi.prototype.rename=function(t,e,n){var r=this;this._mu.lock(function(){r._fs.rename(t,e,function(t){r._mu.unlock(),n(t)})})},wi.prototype.renameSync=function(t,e){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.renameSync(t,e)},wi.prototype.stat=function(t,e,n){var r=this;this._mu.lock(function(){r._fs.stat(t,e,function(t,e){r._mu.unlock(),n(t,e)})})},wi.prototype.statSync=function(t,e){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.statSync(t,e)},wi.prototype.open=function(t,e,n,r){var i=this;this._mu.lock(function(){i._fs.open(t,e,n,function(t,e){i._mu.unlock(),r(t,e)})})},wi.prototype.openSync=function(t,e,n){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.openSync(t,e,n)},wi.prototype.unlink=function(t,e){var n=this;this._mu.lock(function(){n._fs.unlink(t,function(t){n._mu.unlock(),e(t)})})},wi.prototype.unlinkSync=function(t){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.unlinkSync(t)},wi.prototype.rmdir=function(t,e){var n=this;this._mu.lock(function(){n._fs.rmdir(t,function(t){n._mu.unlock(),e(t)})})},wi.prototype.rmdirSync=function(t){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.rmdirSync(t)},wi.prototype.mkdir=function(t,e,n){var r=this;this._mu.lock(function(){r._fs.mkdir(t,e,function(t){r._mu.unlock(),n(t)})})},wi.prototype.mkdirSync=function(t,e){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.mkdirSync(t,e)},wi.prototype.readdir=function(t,e){var n=this;this._mu.lock(function(){n._fs.readdir(t,function(t,r){n._mu.unlock(),e(t,r)})})},wi.prototype.readdirSync=function(t){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.readdirSync(t)},wi.prototype.exists=function(t,e){var n=this;this._mu.lock(function(){n._fs.exists(t,function(t){n._mu.unlock(),e(t)})})},wi.prototype.existsSync=function(t){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.existsSync(t)},wi.prototype.realpath=function(t,e,n){var r=this;this._mu.lock(function(){r._fs.realpath(t,e,function(t,e){r._mu.unlock(),n(t,e)})})},wi.prototype.realpathSync=function(t,e){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.realpathSync(t,e)},wi.prototype.truncate=function(t,e,n){var r=this;this._mu.lock(function(){r._fs.truncate(t,e,function(t){r._mu.unlock(),n(t)})})},wi.prototype.truncateSync=function(t,e){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.truncateSync(t,e)},wi.prototype.readFile=function(t,e,n,r){var i=this;this._mu.lock(function(){i._fs.readFile(t,e,n,function(t,e){i._mu.unlock(),r(t,e)})})},wi.prototype.readFileSync=function(t,e,n){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.readFileSync(t,e,n)},wi.prototype.writeFile=function(t,e,n,r,i,o){var s=this;this._mu.lock(function(){s._fs.writeFile(t,e,n,r,i,function(t){s._mu.unlock(),o(t)})})},wi.prototype.writeFileSync=function(t,e,n,r,i){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.writeFileSync(t,e,n,r,i)},wi.prototype.appendFile=function(t,e,n,r,i,o){var s=this;this._mu.lock(function(){s._fs.appendFile(t,e,n,r,i,function(t){s._mu.unlock(),o(t)})})},wi.prototype.appendFileSync=function(t,e,n,r,i){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.appendFileSync(t,e,n,r,i)},wi.prototype.chmod=function(t,e,n,r){var i=this;this._mu.lock(function(){i._fs.chmod(t,e,n,function(t){i._mu.unlock(),r(t)})})},wi.prototype.chmodSync=function(t,e,n){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.chmodSync(t,e,n)},wi.prototype.chown=function(t,e,n,r,i){var o=this;this._mu.lock(function(){o._fs.chown(t,e,n,r,function(t){o._mu.unlock(),i(t)})})},wi.prototype.chownSync=function(t,e,n,r){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.chownSync(t,e,n,r)},wi.prototype.utimes=function(t,e,n,r){var i=this;this._mu.lock(function(){i._fs.utimes(t,e,n,function(t){i._mu.unlock(),r(t)})})},wi.prototype.utimesSync=function(t,e,n){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.utimesSync(t,e,n)},wi.prototype.link=function(t,e,n){var r=this;this._mu.lock(function(){r._fs.link(t,e,function(t){r._mu.unlock(),n(t)})})},wi.prototype.linkSync=function(t,e){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.linkSync(t,e)},wi.prototype.symlink=function(t,e,n,r){var i=this;this._mu.lock(function(){i._fs.symlink(t,e,n,function(t){i._mu.unlock(),r(t)})})},wi.prototype.symlinkSync=function(t,e,n){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.symlinkSync(t,e,n)},wi.prototype.readlink=function(t,e){var n=this;this._mu.lock(function(){n._fs.readlink(t,function(t,r){n._mu.unlock(),e(t,r)})})},wi.prototype.readlinkSync=function(t){if(this._mu.isLocked())throw new Error("invalid sync call");return this._fs.readlinkSync(t)};var mi,Ei="/.deletedFiles.log",Si=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.sync=function(t){var e=this;return this.isDirty()?void this._fs._syncAsync(this,function(n){e.resetDirty(),t(n)}):void t(null)},e.prototype.syncSync=function(){this.isDirty()&&(this._fs._syncSync(this),this.resetDirty())},e.prototype.close=function(t){this.sync(t)},e.prototype.closeSync=function(){this.syncSync()},e}(Be),bi=function(t){function e(e,n){if(t.call(this),this._isInitialized=!1,this._initializeCallbacks=[],this._deletedFiles={},this._deleteLog="",this._deleteLogUpdatePending=!1,this._deleteLogUpdateNeeded=!1,this._deleteLogError=null,this._writable=e,this._readable=n,this._writable.isReadOnly())throw new me(ge.EINVAL,"Writable file system must be writable.")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.getOverlayedFileSystems=function(){return{readable:this._readable,writable:this._writable}},e.prototype._syncAsync=function(t,e){var n=this;this.createParentDirectoriesAsync(t.getPath(),function(r){return r?e(r):void n._writable.writeFile(t.getPath(),t.getBuffer(),null,Tt("w"),t.getStats().mode,e)})},e.prototype._syncSync=function(t){this.createParentDirectories(t.getPath()),this._writable.writeFileSync(t.getPath(),t.getBuffer(),null,Tt("w"),t.getStats().mode)},e.prototype.getName=function(){return"OverlayFS"},e.prototype.initialize=function(t){var e=this,n=this._initializeCallbacks,r=function(t){e._isInitialized=!t,e._initializeCallbacks=[],n.forEach(function(e){return e(t)})};return this._isInitialized?t():(n.push(t),void(1===n.length&&this._writable.readFile(Ei,"utf8",Tt("r"),function(t,n){if(t){if(t.errno!==ge.ENOENT)return r(t)}else e._deleteLog=n;e._reparseDeletionLog(),r()})))},e.prototype.isReadOnly=function(){return!1},e.prototype.supportsSynch=function(){return this._readable.supportsSynch()&&this._writable.supportsSynch()},e.prototype.supportsLinks=function(){return!1},e.prototype.supportsProps=function(){return this._readable.supportsProps()&&this._writable.supportsProps()},e.prototype.getDeletionLog=function(){return this._deleteLog},e.prototype.restoreDeletionLog=function(t){this._deleteLog=t,this._reparseDeletionLog(),this.updateLog("")},e.prototype.rename=function(t,e,n){var r=this;if(this.checkInitAsync(n)&&!this.checkPathAsync(t,n)&&!this.checkPathAsync(e,n))return t===Ei||e===Ei?n(me.EPERM("Cannot rename deletion log.")):t===e?n():void this.stat(t,!1,function(i,o){return i?n(i):r.stat(e,!1,function(i,s){function a(r){var i=r.shift();if(!i)return n();var o=ye.resolve(t,i),s=ye.resolve(e,i);c.rename(o,s,function(t){return t?n(t):void a(r)})}var c=r,u=511;if(o.isDirectory()){if(i)return i.errno!==ge.ENOENT?n(i):r._writable.exists(t,function(i){return i?r._writable.rename(t,e,n):void r._writable.mkdir(e,u,function(e){return e?n(e):void r._readable.readdir(t,function(t,e){return t?n():void a(e)})})});if(u=s.mode,!s.isDirectory())return n(me.ENOTDIR(e));r.readdir(e,function(i,o){return o&&o.length?n(me.ENOTEMPTY(e)):void r._readable.readdir(t,function(t,e){return t?n():void a(e)})})}return s&&s.isDirectory()?n(me.EISDIR(e)):void r.readFile(t,null,Tt("r"),function(i,s){return i?n(i):r.writeFile(e,s,null,Tt("w"),o.mode,function(e){return e?n(e):r.unlink(t,n)})})})})},e.prototype.renameSync=function(t,e){var n=this;if(this.checkInitialized(),this.checkPath(t),this.checkPath(e),t===Ei||e===Ei)throw me.EPERM("Cannot rename deletion log.");var r=this.statSync(t,!1);if(r.isDirectory()){if(t===e)return;var i=511;if(this.existsSync(e)){var o=this.statSync(e,!1);if(i=o.mode,!o.isDirectory())throw me.ENOTDIR(e);if(this.readdirSync(e).length>0)throw me.ENOTEMPTY(e)}this._writable.existsSync(t)?this._writable.renameSync(t,e):this._writable.existsSync(e)||this._writable.mkdirSync(e,i),this._readable.existsSync(t)&&this._readable.readdirSync(t).forEach(function(r){n.renameSync(ye.resolve(t,r),ye.resolve(e,r))})}else{if(this.existsSync(e)&&this.statSync(e,!1).isDirectory())throw me.EISDIR(e);this.writeFileSync(e,this.readFileSync(t,null,Tt("r")),null,Tt("w"),r.mode)}t!==e&&this.existsSync(t)&&this.unlinkSync(t)},e.prototype.stat=function(t,e,n){var r=this;this.checkInitAsync(n)&&this._writable.stat(t,e,function(i,o){i&&i.errno===ge.ENOENT?(r._deletedFiles[t]&&n(me.ENOENT(t)),r._readable.stat(t,e,function(t,e){e&&(e=e.clone(),e.mode=Lt(e.mode)),n(t,e)})):n(i,o)})},e.prototype.statSync=function(t,e){this.checkInitialized();try{return this._writable.statSync(t,e)}catch(r){if(this._deletedFiles[t])throw me.ENOENT(t);var n=this._readable.statSync(t,e).clone();return n.mode=Lt(n.mode),n}},e.prototype.open=function(t,e,n,r){var i=this;this.checkInitAsync(r)&&!this.checkPathAsync(t,r)&&this.stat(t,!1,function(o,s){if(s)switch(e.pathExistsAction()){case we.TRUNCATE_FILE:return i.createParentDirectoriesAsync(t,function(o){return o?r(o):void i._writable.open(t,e,n,r)});case we.NOP:return i._writable.exists(t,function(o){o?i._writable.open(t,e,n,r):(s=s.clone(),s.mode=n,i._readable.readFile(t,null,Tt("r"),function(n,o){if(n)return r(n);s.size===-1&&(s.size=o.length);var a=new Si(i,t,e,s,o);r(null,a)}))});default:return r(me.EEXIST(t))}else switch(e.pathNotExistsAction()){case we.CREATE_FILE:return i.createParentDirectoriesAsync(t,function(o){return o?r(o):i._writable.open(t,e,n,r)});default:return r(me.ENOENT(t))}})},e.prototype.openSync=function(t,e,n){if(this.checkInitialized(),this.checkPath(t),t===Ei)throw me.EPERM("Cannot open deletion log.");if(this.existsSync(t))switch(e.pathExistsAction()){case we.TRUNCATE_FILE:return this.createParentDirectories(t),this._writable.openSync(t,e,n);case we.NOP:if(this._writable.existsSync(t))return this._writable.openSync(t,e,n);var r=this._readable.readFileSync(t,null,Tt("r")),i=this._readable.statSync(t,!1).clone();return i.mode=n,new Si(this,t,e,i,r);default:throw me.EEXIST(t)}else switch(e.pathNotExistsAction()){case we.CREATE_FILE:return this.createParentDirectories(t),this._writable.openSync(t,e,n);default:throw me.ENOENT(t)}},e.prototype.unlink=function(t,e){var n=this;this.checkInitAsync(e)&&!this.checkPathAsync(t,e)&&this.exists(t,function(r){return r?void n._writable.exists(t,function(r){return r?n._writable.unlink(t,function(r){return r?e(r):void n.exists(t,function(r){r&&n.deletePath(t),e(null)})}):(n.deletePath(t),void e(null))}):e(me.ENOENT(t))})},e.prototype.unlinkSync=function(t){if(this.checkInitialized(),this.checkPath(t),!this.existsSync(t))throw me.ENOENT(t);this._writable.existsSync(t)&&this._writable.unlinkSync(t),this.existsSync(t)&&this.deletePath(t)},e.prototype.rmdir=function(t,e){var n=this;if(this.checkInitAsync(e)){var r=function(){n.readdir(t,function(r,i){return r?e(r):i.length?e(me.ENOTEMPTY(t)):(n.deletePath(t),void e(null))})};this.exists(t,function(i){return i?void n._writable.exists(t,function(i){i?n._writable.rmdir(t,function(i){return i?e(i):void n._readable.exists(t,function(t){t?r():e()})}):r()}):e(me.ENOENT(t))})}},e.prototype.rmdirSync=function(t){if(this.checkInitialized(),!this.existsSync(t))throw me.ENOENT(t);if(this._writable.existsSync(t)&&this._writable.rmdirSync(t),this.existsSync(t)){if(this.readdirSync(t).length>0)throw me.ENOTEMPTY(t);this.deletePath(t)}},e.prototype.mkdir=function(t,e,n){var r=this;this.checkInitAsync(n)&&this.exists(t,function(i){return i?n(me.EEXIST(t)):void r.createParentDirectoriesAsync(t,function(i){return i?n(i):void r._writable.mkdir(t,e,n)})})},e.prototype.mkdirSync=function(t,e){if(this.checkInitialized(),this.existsSync(t))throw me.EEXIST(t);this.createParentDirectories(t),this._writable.mkdirSync(t,e)},e.prototype.readdir=function(t,e){var n=this;this.checkInitAsync(e)&&this.stat(t,!1,function(r,i){return r?e(r):i.isDirectory()?void n._writable.readdir(t,function(r,i){return r&&"ENOENT"!==r.code?e(r):(!r&&i||(i=[]),void n._readable.readdir(t,function(r,o){!r&&o||(o=[]);var s={},a=i.concat(o.filter(function(e){return!n._deletedFiles[t+"/"+e]})).filter(function(t){var e=!s[t];return s[t]=!0,e});e(null,a)}))}):e(me.ENOTDIR(t))})},e.prototype.readdirSync=function(t){var e=this;this.checkInitialized();var n=this.statSync(t,!1);if(!n.isDirectory())throw me.ENOTDIR(t);var r=[];try{r=r.concat(this._writable.readdirSync(t))}catch(t){}try{r=r.concat(this._readable.readdirSync(t).filter(function(n){return!e._deletedFiles[t+"/"+n]}))}catch(t){}var i={};return r.filter(function(t){var e=!i[t];return i[t]=!0,e})},e.prototype.exists=function(t,e){var n=this;this.checkInitialized(),this._writable.exists(t,function(r){return r?e(!0):void n._readable.exists(t,function(r){e(r&&n._deletedFiles[t]!==!0)})})},e.prototype.existsSync=function(t){return this.checkInitialized(),this._writable.existsSync(t)||this._readable.existsSync(t)&&this._deletedFiles[t]!==!0},e.prototype.chmod=function(t,e,n,r){var i=this;this.checkInitAsync(r)&&this.operateOnWritableAsync(t,function(o){return o?r(o):void i._writable.chmod(t,e,n,r)})},e.prototype.chmodSync=function(t,e,n){var r=this;this.checkInitialized(),this.operateOnWritable(t,function(){r._writable.chmodSync(t,e,n)})},e.prototype.chown=function(t,e,n,r,i){var o=this;this.checkInitAsync(i)&&this.operateOnWritableAsync(t,function(s){return s?i(s):void o._writable.chown(t,e,n,r,i)})},e.prototype.chownSync=function(t,e,n,r){var i=this;this.checkInitialized(),this.operateOnWritable(t,function(){i._writable.chownSync(t,e,n,r)})},e.prototype.utimes=function(t,e,n,r){var i=this;this.checkInitAsync(r)&&this.operateOnWritableAsync(t,function(o){return o?r(o):void i._writable.utimes(t,e,n,r)})},e.prototype.utimesSync=function(t,e,n){var r=this;this.checkInitialized(),this.operateOnWritable(t,function(){r._writable.utimesSync(t,e,n)})},e.prototype.deletePath=function(t){this._deletedFiles[t]=!0,this.updateLog("d"+t+"\n")},e.prototype.updateLog=function(t){var e=this;this._deleteLog+=t,this._deleteLogUpdatePending?this._deleteLogUpdateNeeded=!0:(this._deleteLogUpdatePending=!0,this._writable.writeFile(Ei,this._deleteLog,"utf8",Se.getFileFlag("w"),420,function(t){e._deleteLogUpdatePending=!1,t?e._deleteLogError=t:e._deleteLogUpdateNeeded&&(e._deleteLogUpdateNeeded=!1,e.updateLog(""))}))},e.prototype._reparseDeletionLog=function(){var t=this;this._deletedFiles={},this._deleteLog.split("\n").forEach(function(e){t._deletedFiles[e.slice(1)]="d"===e.slice(0,1)})},e.prototype.checkInitialized=function(){if(!this._isInitialized)throw new me(ge.EPERM,"OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it.");if(null!==this._deleteLogError){var t=this._deleteLogError;throw this._deleteLogError=null,t}},e.prototype.checkInitAsync=function(t){if(!this._isInitialized)return t(new me(ge.EPERM,"OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it.")),!1;if(null!==this._deleteLogError){var e=this._deleteLogError;return this._deleteLogError=null,t(e),!1}return!0},e.prototype.checkPath=function(t){if(t===Ei)throw me.EPERM(t)},e.prototype.checkPathAsync=function(t,e){return t===Ei&&(e(me.EPERM(t)),!0)},e.prototype.createParentDirectoriesAsync=function(t,e){function n(t,e){t?(o.push(i),i=ye.dirname(i),s._writable.stat(i,!1,n)):r()}function r(){if(!o.length)return e();var t=o.pop();s._readable.stat(t,!1,function(n,i){return i?void s._writable.mkdir(t,i.mode,function(t){return t?e(t):void r()}):e()})}var i=ye.dirname(t),o=[],s=this;this._writable.stat(i,!1,n)},e.prototype.createParentDirectories=function(t){for(var e=this,n=ye.dirname(t),r=[];!this._writable.existsSync(n);)r.push(n),n=ye.dirname(n);r=r.reverse(),r.forEach(function(t){e._writable.mkdirSync(t,e.statSync(t,!1).mode)})},e.prototype.operateOnWritable=function(t,e){if(!this.existsSync(t))throw me.ENOENT(t);this._writable.existsSync(t)||this.copyToWritable(t),e()},e.prototype.operateOnWritableAsync=function(t,e){var n=this;this.exists(t,function(r){return r?void n._writable.exists(t,function(r){return r?void e():n.copyToWritableAsync(t,e)}):e(me.ENOENT(t))})},e.prototype.copyToWritable=function(t){var e=this.statSync(t,!1);e.isDirectory()?this._writable.mkdirSync(t,e.mode):this.writeFileSync(t,this._readable.readFileSync(t,null,Tt("r")),null,Tt("w"),this.statSync(t,!1).mode)},e.prototype.copyToWritableAsync=function(t,e){var n=this;this.stat(t,!1,function(r,i){return r?e(r):i.isDirectory()?n._writable.mkdir(t,i.mode,e):void n._readable.readFile(t,null,Tt("r"),function(r,o){return r?e(r):void n.writeFile(t,o,null,Tt("w"),i.mode,e)})})},e}(Ce),ki=function(t){function e(e,n){t.call(this,new bi(e,n))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return bi.isAvailable()},e.prototype.initialize=function(e){t.prototype.initialize.call(this,e)},e.prototype.getOverlayedFileSystems=function(){return t.prototype.getFSUnlocked.call(this).getOverlayedFileSystems()},e.prototype.unwrap=function(){return t.prototype.getFSUnlocked.call(this)},e}(wi);!function(t){t[t.CB=0]="CB",t[t.FD=1]="FD",t[t.API_ERROR=2]="API_ERROR",t[t.STATS=3]="STATS",t[t.PROBE=4]="PROBE",t[t.FILEFLAG=5]="FILEFLAG",t[t.BUFFER=6]="BUFFER",t[t.ERROR=7]="ERROR"}(mi||(mi={}));var Ii=function(){this._callbacks={},this._nextId=0};Ii.prototype.toRemoteArg=function(t){var e=this._nextId++;return this._callbacks[e]=t,{type:mi.CB,id:e}},Ii.prototype.toLocalArg=function(t){var e=this._callbacks[t];return delete this._callbacks[t],e};var Oi=function(){this._fileDescriptors={},this._nextId=0};Oi.prototype.toRemoteArg=function(t,e,n,i){var o,s,a=this._nextId++;this._fileDescriptors[a]=t,t.stat(function(c,u){c?i(c):(s=jt(u.toBuffer()),n.isReadable()?t.read(new r(u.size),0,u.size,0,function(t,r,c){t?i(t):(o=jt(c),i(null,{type:mi.FD,id:a,data:o,stat:s,path:e,flag:n.getFlagString()}))}):i(null,{type:mi.FD,id:a,data:new ArrayBuffer(0),stat:s,path:e,flag:n.getFlagString()}))})},Oi.prototype.applyFdAPIRequest=function(t,e){var n=this,r=t.args[0];this._applyFdChanges(r,function(i,o){i?e(i):o[t.method](function(i){"close"===t.method&&delete n._fileDescriptors[r.id],e(i)})})},Oi.prototype._applyFdChanges=function(t,e){var n=this._fileDescriptors[t.id],r=zt(t.data),i=ke.fromBuffer(zt(t.stat)),o=Se.getFileFlag(t.flag);o.isWriteable()?n.write(r,0,r.length,o.isAppendable()?n.getPos():0,function(t){function s(){n.stat(function(t,r){t?e(t):r.mode!==i.mode?n.chmod(i.mode,function(t){e(t,n)}):e(t,n)})}t?e(t):o.isAppendable()?s():n.truncate(r.length,function(){s()})}):e(null,n)};var Fi=function(t){function e(e,n,r,i,o,s){t.call(this,e,n,r,i,s),this._remoteFdId=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getRemoteFdId=function(){return this._remoteFdId},e.prototype.toRemoteArg=function(){return{type:mi.FD,id:this._remoteFdId,data:jt(this.getBuffer()),stat:jt(this.getStats().toBuffer()),path:this.getPath(),flag:this.getFlag().getFlagString()}},e.prototype.sync=function(t){this._syncClose("sync",t)},e.prototype.close=function(t){this._syncClose("close",t)},e.prototype._syncClose=function(t,e){var n=this;this.isDirty()?this._fs.syncClose(t,this,function(t){t||n.resetDirty(),e(t)}):e()},e}(Be),Ri=function(t){function e(e){var n=this;t.call(this),this._callbackConverter=new Ii,this._isInitialized=!1,this._isReadOnly=!1,this._supportLinks=!1,this._supportProps=!1,this._worker=e,this._worker.addEventListener("message",function(t){var e=t.data;if(Ht(e)){var r,i=e.args,o=new Array(i.length);for(r=0;r<o.length;r++)o[r]=n._argRemote2Local(i[r]);n._callbackConverter.toLocalArg(e.cbId).apply(null,o)}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return"undefined"!=typeof importScripts||"undefined"!=typeof Worker},e.attachRemoteListener=function(t){function e(t,e,n){switch(typeof t){case"object":t instanceof ke?n(null,Ct(t)):t instanceof me?n(null,xt(t)):t instanceof Me?n(null,i.toRemoteArg(t,e[0],e[1],n)):t instanceof Se?n(null,Mt(t)):t instanceof r?n(null,qt(t)):t instanceof Error?n(null,At(t)):n(null,t);break;default:n(null,t)}}function n(n,r){if(!n)return n;switch(typeof n){case"object":if("number"!=typeof n.type)return n;var i=n;switch(i.type){case mi.CB:var o=n.id;return function(){function n(e){u>0&&(u=-1,s={browserfsMessage:!0,cbId:o,args:[xt(e)]},t.postMessage(s))}var i,s,a=arguments,c=new Array(arguments.length),u=arguments.length;for(i=0;i<arguments.length;i++)!function(i,a){e(a,r,function(e,r){c[i]=r,e?n(e):0===--u&&(s={browserfsMessage:!0,cbId:o,args:c},t.postMessage(s))})}(i,a[i]);0===arguments.length&&(s={browserfsMessage:!0,cbId:o,args:c},t.postMessage(s))};case mi.API_ERROR:return Dt(i);case mi.STATS:return Ut(i);case mi.FILEFLAG:return Bt(i);case mi.BUFFER:return Vt(i);case mi.ERROR:return Pt(i);default:return n}default:return n}}var i=new Oi;t.addEventListener("message",function(e){var r=e.data;if(Wt(r)){var o=r.args,s=new Array(o.length);switch(r.method){case"close":case"sync":!function(){var e=o[1];i.applyFdAPIRequest(r,function(n){var r={browserfsMessage:!0,cbId:e.id,args:n?[xt(n)]:[]};t.postMessage(r)})}();break;case"probe":!function(){var e=Re.getRootFS(),n=o[1],r={type:mi.PROBE,isReadOnly:e.isReadOnly(),supportsLinks:e.supportsLinks(),supportsProps:e.supportsProps()},i={browserfsMessage:!0,cbId:n.id,args:[r]};t.postMessage(i)}();break;default:for(var a=0;a<o.length;a++)s[a]=n(o[a],s);var c=Re.getRootFS();c[r.method].apply(c,s)}}})},e.prototype.getName=function(){return"WorkerFS"},e.prototype._argLocal2Remote=function(t){if(!t)return t;switch(typeof t){case"object":return t instanceof ke?Ct(t):t instanceof me?xt(t):t instanceof Fi?t.toRemoteArg():t instanceof Se?Mt(t):t instanceof r?qt(t):t instanceof Error?At(t):"Unknown argument";case"function":return this._callbackConverter.toRemoteArg(t);default:return t}},e.prototype.initialize=function(t){var e=this;if(this._isInitialized)t();else{var n={browserfsMessage:!0,method:"probe",args:[this._argLocal2Remote(new r(0)),this._callbackConverter.toRemoteArg(function(n){e._isInitialized=!0,e._isReadOnly=n.isReadOnly,e._supportLinks=n.supportsLinks,e._supportProps=n.supportsProps,t()})]};this._worker.postMessage(n)}},e.prototype.isReadOnly=function(){return this._isReadOnly},e.prototype.supportsSynch=function(){return!1},e.prototype.supportsLinks=function(){return this._supportLinks},e.prototype.supportsProps=function(){return this._supportProps},e.prototype.rename=function(t,e,n){this._rpc("rename",arguments)},e.prototype.stat=function(t,e,n){this._rpc("stat",arguments)},e.prototype.open=function(t,e,n,r){this._rpc("open",arguments)},e.prototype.unlink=function(t,e){this._rpc("unlink",arguments)},e.prototype.rmdir=function(t,e){this._rpc("rmdir",arguments)},e.prototype.mkdir=function(t,e,n){this._rpc("mkdir",arguments)},e.prototype.readdir=function(t,e){this._rpc("readdir",arguments)},e.prototype.exists=function(t,e){this._rpc("exists",arguments)},e.prototype.realpath=function(t,e,n){this._rpc("realpath",arguments)},e.prototype.truncate=function(t,e,n){this._rpc("truncate",arguments)},e.prototype.readFile=function(t,e,n,r){this._rpc("readFile",arguments)},e.prototype.writeFile=function(t,e,n,r,i,o){this._rpc("writeFile",arguments)},e.prototype.appendFile=function(t,e,n,r,i,o){this._rpc("appendFile",arguments)},e.prototype.chmod=function(t,e,n,r){this._rpc("chmod",arguments)},e.prototype.chown=function(t,e,n,r,i){this._rpc("chown",arguments)},e.prototype.utimes=function(t,e,n,r){this._rpc("utimes",arguments)},e.prototype.link=function(t,e,n){this._rpc("link",arguments)},e.prototype.symlink=function(t,e,n,r){this._rpc("symlink",arguments)},e.prototype.readlink=function(t,e){this._rpc("readlink",arguments)},e.prototype.syncClose=function(t,e,n){this._worker.postMessage({browserfsMessage:!0,method:t,args:[e.toRemoteArg(),this._callbackConverter.toRemoteArg(n)]})},e.prototype._argRemote2Local=function(t){if(!t)return t;switch(typeof t){case"object":if("number"!=typeof t.type)return t;var e=t;switch(e.type){case mi.API_ERROR:return Dt(e);case mi.FD:var n=e;return new Fi(this,n.path,Se.getFileFlag(n.flag),ke.fromBuffer(zt(n.stat)),n.id,zt(n.data));case mi.STATS:return Ut(e);case mi.FILEFLAG:return Bt(e);case mi.BUFFER:return Vt(e);case mi.ERROR:return Pt(e);default:return t}default:return t}},e.prototype._rpc=function(t,e){for(var n=this,r=new Array(e.length),i=0;i<e.length;i++)r[i]=n._argLocal2Remote(e[i]);var o={browserfsMessage:!0,method:t,args:r};this._worker.postMessage(o)},e}(Ce),Ni=Zt,Li=Le&&"undefined"!=typeof Blob?Xt:Yt,Ti=function(){this._index={},this.addPath("/",new Di)};Ti.fromListing=function(t){var e=new Ti,n=new Di;e._index["/"]=n;for(var r=[["",t,n]];r.length>0;){var i=void 0,o=r.pop(),s=o[0],a=o[1],c=o[2];for(var u in a)if(a.hasOwnProperty(u)){var f=a[u],h=s+"/"+u;f?(e._index[h]=i=new Di,r.push([h,f,i])):i=new xi(new ke(be.FILE,-1,365)),c&&(c._ls[u]=i)}}return e},Ti.prototype.fileIterator=function(t){var e=this;for(var n in e._index)if(e._index.hasOwnProperty(n))for(var r=e._index[n],i=r.getListing(),o=0;o<i.length;o++){var s=r.getItem(i[o]);Qt(s)&&t(s.getData())}},Ti.prototype.addPath=function(t,e){if(!e)throw new Error("Inode must be specified");if("/"!==t[0])throw new Error("Path must be absolute, got: "+t);if(this._index.hasOwnProperty(t))return this._index[t]===e;var n=this._split_path(t),r=n[0],i=n[1],o=this._index[r];return!(void 0===o&&"/"!==t&&(o=new Di,!this.addPath(r,o)))&&(!("/"!==t&&!o.addItem(i,e))&&($t(e)&&(this._index[t]=e),!0))},Ti.prototype.addPathFast=function(t,e){var n=t.lastIndexOf("/"),r=0===n?"/":t.substring(0,n),i=t.substring(n+1),o=this._index[r];return void 0===o&&(o=new Di,this.addPathFast(r,o)),!!o.addItem(i,e)&&(e.isDir()&&(this._index[t]=e),!0)},Ti.prototype.removePath=function(t){var e=this,n=this._split_path(t),r=n[0],i=n[1],o=this._index[r];if(void 0===o)return null;var s=o.remItem(i);if(null===s)return null;if($t(s)){for(var a=s.getListing(),c=0;c<a.length;c++)e.removePath(t+"/"+a[c]);"/"!==t&&delete this._index[t]}return s},Ti.prototype.ls=function(t){var e=this._index[t];return void 0===e?null:e.getListing()},Ti.prototype.getInode=function(t){var e=this._split_path(t),n=e[0],r=e[1],i=this._index[n];return void 0===i?null:n===t?i:i.getItem(r)},Ti.prototype._split_path=function(t){var e=ye.dirname(t),n=t.substr(e.length+("/"===e?0:1));return[e,n]};var xi=function(t){this.data=t};xi.prototype.isFile=function(){return!0},xi.prototype.isDir=function(){return!1},xi.prototype.getData=function(){return this.data},xi.prototype.setData=function(t){this.data=t};var Di=function(t){void 0===t&&(t=null),this.data=t,this._ls={}};Di.prototype.isFile=function(){return!1},Di.prototype.isDir=function(){return!0},Di.prototype.getData=function(){return this.data},Di.prototype.getStats=function(){return new ke(be.DIRECTORY,4096,365)},Di.prototype.getListing=function(){return Object.keys(this._ls)},Di.prototype.getItem=function(t){var e=this._ls[t];return e?e:null},Di.prototype.addItem=function(t,e){return!(t in this._ls)&&(this._ls[t]=e,!0)},Di.prototype.remItem=function(t){var e=this._ls[t];return void 0===e?null:(delete this._ls[t],e)};var Ai=function(t){function e(e,n){void 0===n&&(n=""),t.call(this),e||(e="index.json"),n.length>0&&"/"!==n.charAt(n.length-1)&&(n+="/"),this.prefixUrl=n;var r=null;if("string"==typeof e){if(r=this._requestFileSync(e,"json"),!r)throw new Error("Unable to find listing at URL: ${listingUrlOrObj}")}else r=e;this._index=Ti.fromListing(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return"undefined"!=typeof XMLHttpRequest&&null!==XMLHttpRequest},e.prototype.empty=function(){this._index.fileIterator(function(t){t.fileData=null})},e.prototype._requestFileSizeAsync=function(t,e){Jt(this.getXhrPath(t),e)},e.prototype._requestFileSizeSync=function(t){return Gt(this.getXhrPath(t))},e.prototype.getName=function(){return"XmlHttpRequest"},e.prototype.diskSpace=function(t,e){e(0,0)},e.prototype.isReadOnly=function(){return!0},e.prototype.supportsLinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!0},e.prototype.preloadFile=function(t,e){var n=this._index.getInode(t);if(!Qt(n))throw me.EISDIR(t);if(null===n)throw me.ENOENT(t);var r=n.getData();r.size=e.length,r.fileData=e},e.prototype.stat=function(t,e,n){var r=this._index.getInode(t);if(null===r)return n(me.ENOENT(t));var i;Qt(r)?(i=r.getData(),i.size<0?this._requestFileSizeAsync(t,function(t,e){return t?n(t):(i.size=e,void n(null,i.clone()))}):n(null,i.clone())):$t(r)?(i=r.getStats(),n(null,i)):n(me.FileError(ge.EINVAL,t))},e.prototype.statSync=function(t,e){var n=this._index.getInode(t);if(null===n)throw me.ENOENT(t);var r;if(Qt(n))r=n.getData(),r.size<0&&(r.size=this._requestFileSizeSync(t));else{if(!$t(n))throw me.FileError(ge.EINVAL,t);r=n.getStats()}return r},e.prototype.open=function(t,e,n,r){if(e.isWriteable())return r(new me(ge.EPERM,t));var i=this,o=this._index.getInode(t);if(null===o)return r(me.ENOENT(t));if(!Qt(o))return r(me.EISDIR(t));var s=o.getData();switch(e.pathExistsAction()){case we.THROW_EXCEPTION:case we.TRUNCATE_FILE:return r(me.EEXIST(t));case we.NOP:if(s.fileData)return r(null,new je(i,t,e,s.clone(),s.fileData));this._requestFileAsync(t,"buffer",function(n,o){return n?r(n):(s.size=o.length,s.fileData=o,r(null,new je(i,t,e,s.clone(),o)))});break;default:return r(new me(ge.EINVAL,"Invalid FileMode object."))}},e.prototype.openSync=function(t,e,n){if(e.isWriteable())throw new me(ge.EPERM,t);var r=this._index.getInode(t);if(null===r)throw me.ENOENT(t);if(!Qt(r))throw me.EISDIR(t);var i=r.getData();switch(e.pathExistsAction()){case we.THROW_EXCEPTION:case we.TRUNCATE_FILE:throw me.EEXIST(t);case we.NOP:if(i.fileData)return new je(this,t,e,i.clone(),i.fileData);var o=this._requestFileSync(t,"buffer");return i.size=o.length,i.fileData=o,new je(this,t,e,i.clone(),o);default:throw new me(ge.EINVAL,"Invalid FileMode object.")}},e.prototype.readdir=function(t,e){try{e(null,this.readdirSync(t))}catch(t){e(t)}},e.prototype.readdirSync=function(t){var e=this._index.getInode(t);if(null===e)throw me.ENOENT(t);if($t(e))return e.getListing();throw me.ENOTDIR(t)},e.prototype.readFile=function(t,e,n,r){var i=r;this.open(t,n,420,function(t,n){if(t)return r(t);r=function(t,e){n.close(function(n){return t||(t=n),i(t,e)})};var o=n,s=o.getBuffer();null===e?r(t,w(s)):te(s,e,r)})},e.prototype.readFileSync=function(t,e,n){var r=this.openSync(t,n,420);try{var i=r,o=i.getBuffer();return null===e?w(o):o.toString(e)}finally{r.closeSync()}},e.prototype.getXhrPath=function(t){return"/"===t.charAt(0)&&(t=t.slice(1)),this.prefixUrl+t},e.prototype._requestFileAsync=function(t,e,n){Ni(this.getXhrPath(t),e,n)},e.prototype._requestFileSync=function(t,e){return Li(this.getXhrPath(t),e)},e}(Ce),Pi=function(){};Pi.str2byte=function(t,e){for(var n=t.length>e.length?e.length:t.length,r=0;r<n;r++){var i=t.charCodeAt(r);if(i>127){var o=Pi.extendedChars.indexOf(t.charAt(r));o>-1&&(i=o+128)}e[i]=r}return n},Pi.byte2str=function(t){for(var e=new Array(t.length),n=0;n<t.length;n++){var r=t[n];r>127?e[n]=Pi.extendedChars[r-128]:e[n]=String.fromCharCode(r)}return e.join("")},Pi.byteLength=function(t){return t.length},Pi.extendedChars=["Ç","ü","é","â","ä","à","å","ç","ê","ë","è","ï","î","ì","Ä","Å","É","æ","Æ","ô","ö","ò","û","ù","ÿ","Ö","Ü","ø","£","Ø","×","ƒ","á","í","ó","ú","ñ","Ñ","ª","º","¿","®","¬","½","¼","¡","«","»","_","_","_","¦","¦","Á","Â","À","©","¦","¦","+","+","¢","¥","+","+","-","-","+","-","+","ã","Ã","+","+","-","-","¦","-","+","¤","ð","Ð","Ê","Ë","È","i","Í","Î","Ï","+","+","_","_","¦","Ì","_","Ó","ß","Ô","Ò","õ","Õ","µ","þ","Þ","Ú","Û","Ù","ý","Ý","¯","´","","±","_","¾","¶","§","÷","¸","°","¨","·","¹","³","²","_"," "];var Ci,Ui=n(23).inflateRaw,Mi={};!function(t){t[t.MSDOS=0]="MSDOS",t[t.AMIGA=1]="AMIGA",t[t.OPENVMS=2]="OPENVMS",t[t.UNIX=3]="UNIX",t[t.VM_CMS=4]="VM_CMS",t[t.ATARI_ST=5]="ATARI_ST",t[t.OS2_HPFS=6]="OS2_HPFS",t[t.MAC=7]="MAC",t[t.Z_SYSTEM=8]="Z_SYSTEM",t[t.CP_M=9]="CP_M",t[t.NTFS=10]="NTFS",t[t.MVS=11]="MVS",t[t.VSE=12]="VSE",t[t.ACORN_RISC=13]="ACORN_RISC",t[t.VFAT=14]="VFAT",t[t.ALT_MVS=15]="ALT_MVS",t[t.BEOS=16]="BEOS",t[t.TANDEM=17]="TANDEM",t[t.OS_400=18]="OS_400",t[t.OSX=19]="OSX"}(Ci||(Ci={}));var Bi;!function(t){t[t.STORED=0]="STORED",t[t.SHRUNK=1]="SHRUNK",t[t.REDUCED_1=2]="REDUCED_1",t[t.REDUCED_2=3]="REDUCED_2",t[t.REDUCED_3=4]="REDUCED_3",t[t.REDUCED_4=5]="REDUCED_4",t[t.IMPLODE=6]="IMPLODE",t[t.DEFLATE=8]="DEFLATE",t[t.DEFLATE64=9]="DEFLATE64",t[t.TERSE_OLD=10]="TERSE_OLD",t[t.BZIP2=12]="BZIP2",t[t.LZMA=14]="LZMA",t[t.TERSE_NEW=18]="TERSE_NEW",t[t.LZ77=19]="LZ77",t[t.WAVPACK=97]="WAVPACK",t[t.PPMD=98]="PPMD"}(Bi||(Bi={}));var ji=function(t){if(this.data=t,67324752!==t.readUInt32LE(0))throw new me(ge.EINVAL,"Invalid Zip file: Local file header has invalid signature: "+this.data.readUInt32LE(0))};ji.prototype.versionNeeded=function(){return this.data.readUInt16LE(4)},ji.prototype.flags=function(){return this.data.readUInt16LE(6)},ji.prototype.compressionMethod=function(){return this.data.readUInt16LE(8)},ji.prototype.lastModFileTime=function(){return ee(this.data.readUInt16LE(10),this.data.readUInt16LE(12))},ji.prototype.rawLastModFileTime=function(){return this.data.readUInt32LE(10)},ji.prototype.crc32=function(){return this.data.readUInt32LE(14)},ji.prototype.fileNameLength=function(){return this.data.readUInt16LE(26)},ji.prototype.extraFieldLength=function(){return this.data.readUInt16LE(28)},ji.prototype.fileName=function(){return ne(this.data,this.useUTF8(),30,this.fileNameLength())},ji.prototype.extraField=function(){var t=30+this.fileNameLength();return this.data.slice(t,t+this.extraFieldLength())},ji.prototype.totalSize=function(){return 30+this.fileNameLength()+this.extraFieldLength()},ji.prototype.useUTF8=function(){return 2048===(2048&this.flags())};var zi=function(t,e,n){this.header=t,this.record=e,this.data=n};zi.prototype.decompress=function(){var t=this.header.compressionMethod(),e=Mi[t];if(e)return e(this.data,this.record.compressedSize(),this.record.uncompressedSize(),this.record.flag());var n=Bi[t];throw n||(n="Unknown: "+t),new me(ge.EINVAL,"Invalid compression method on file '"+this.header.fileName()+"': "+n)},zi.prototype.getHeader=function(){return this.header},zi.prototype.getRecord=function(){return this.record},zi.prototype.getRawData=function(){return this.data};var qi=function(t){this.data=t};qi.prototype.crc32=function(){return this.data.readUInt32LE(0)},qi.prototype.compressedSize=function(){return this.data.readUInt32LE(4)},qi.prototype.uncompressedSize=function(){return this.data.readUInt32LE(8)};var Vi=function(t){if(this.data=t,134630224!==this.data.readUInt32LE(0))throw new me(ge.EINVAL,"Invalid archive extra data record signature: "+this.data.readUInt32LE(0))};Vi.prototype.length=function(){return this.data.readUInt32LE(4)},Vi.prototype.extraFieldData=function(){return this.data.slice(8,8+this.length())};var Wi=function(t){if(this.data=t,84233040!==this.data.readUInt32LE(0))throw new me(ge.EINVAL,"Invalid digital signature signature: "+this.data.readUInt32LE(0))};Wi.prototype.size=function(){return this.data.readUInt16LE(4)},Wi.prototype.signatureData=function(){return this.data.slice(6,6+this.size())};var Hi=function(t,e){if(this.zipData=t,this.data=e,33639248!==this.data.readUInt32LE(0))throw new me(ge.EINVAL,"Invalid Zip file: Central directory record has invalid signature: "+this.data.readUInt32LE(0));this._filename=this.produceFilename()};Hi.prototype.versionMadeBy=function(){return this.data.readUInt16LE(4)},Hi.prototype.versionNeeded=function(){return this.data.readUInt16LE(6)},Hi.prototype.flag=function(){return this.data.readUInt16LE(8)},Hi.prototype.compressionMethod=function(){return this.data.readUInt16LE(10)},Hi.prototype.lastModFileTime=function(){return ee(this.data.readUInt16LE(12),this.data.readUInt16LE(14))},Hi.prototype.rawLastModFileTime=function(){return this.data.readUInt32LE(12)},Hi.prototype.crc32=function(){return this.data.readUInt32LE(16)},Hi.prototype.compressedSize=function(){return this.data.readUInt32LE(20)},Hi.prototype.uncompressedSize=function(){return this.data.readUInt32LE(24)},Hi.prototype.fileNameLength=function(){return this.data.readUInt16LE(28)},Hi.prototype.extraFieldLength=function(){return this.data.readUInt16LE(30)},Hi.prototype.fileCommentLength=function(){return this.data.readUInt16LE(32)},Hi.prototype.diskNumberStart=function(){return this.data.readUInt16LE(34)},Hi.prototype.internalAttributes=function(){return this.data.readUInt16LE(36)},Hi.prototype.externalAttributes=function(){return this.data.readUInt32LE(38)},Hi.prototype.headerRelativeOffset=function(){return this.data.readUInt32LE(42)},Hi.prototype.produceFilename=function(){var t=ne(this.data,this.useUTF8(),46,this.fileNameLength());return t.replace(/\\/g,"/")},Hi.prototype.fileName=function(){return this._filename},Hi.prototype.rawFileName=function(){return this.data.slice(46,46+this.fileNameLength())},Hi.prototype.extraField=function(){var t=44+this.fileNameLength();return this.data.slice(t,t+this.extraFieldLength())},Hi.prototype.fileComment=function(){var t=46+this.fileNameLength()+this.extraFieldLength();return ne(this.data,this.useUTF8(),t,this.fileCommentLength())},Hi.prototype.rawFileComment=function(){var t=46+this.fileNameLength()+this.extraFieldLength();return this.data.slice(t,t+this.fileCommentLength())},Hi.prototype.totalSize=function(){return 46+this.fileNameLength()+this.extraFieldLength()+this.fileCommentLength()},Hi.prototype.isDirectory=function(){var t=this.fileName();return!!(16&this.externalAttributes())||"/"===t.charAt(t.length-1)},Hi.prototype.isFile=function(){return!this.isDirectory()},Hi.prototype.useUTF8=function(){return 2048===(2048&this.flag())},Hi.prototype.isEncrypted=function(){return 1===(1&this.flag())},Hi.prototype.getFileData=function(){var t=this.headerRelativeOffset(),e=new ji(this.zipData.slice(t));return new zi(e,this,this.zipData.slice(t+e.totalSize()))},Hi.prototype.getData=function(){return this.getFileData().decompress()},Hi.prototype.getRawData=function(){return this.getFileData().getRawData()},Hi.prototype.getStats=function(){return new ke(be.FILE,this.uncompressedSize(),365,new Date,this.lastModFileTime())};var Zi=function(t){if(this.data=t,101010256!==this.data.readUInt32LE(0))throw new me(ge.EINVAL,"Invalid Zip file: End of central directory record has invalid signature: "+this.data.readUInt32LE(0))};Zi.prototype.diskNumber=function(){return this.data.readUInt16LE(4)},Zi.prototype.cdDiskNumber=function(){return this.data.readUInt16LE(6)},Zi.prototype.cdDiskEntryCount=function(){return this.data.readUInt16LE(8)},Zi.prototype.cdTotalEntryCount=function(){return this.data.readUInt16LE(10)},Zi.prototype.cdSize=function(){return this.data.readUInt32LE(12)},Zi.prototype.cdOffset=function(){return this.data.readUInt32LE(16)},Zi.prototype.cdZipCommentLength=function(){return this.data.readUInt16LE(20)},Zi.prototype.cdZipComment=function(){return ne(this.data,!0,22,this.cdZipCommentLength())},Zi.prototype.rawCdZipComment=function(){return this.data.slice(22,22+this.cdZipCommentLength())};var Yi=function(t,e,n,r){this.index=t,this.directoryEntries=e,this.eocd=n,this.data=r},Xi=function(t){function e(e,n){void 0===n&&(n=""),t.call(this),this.name=n,this._index=new Ti,this._directoryEntries=[],this._eocd=null,e instanceof Yi?(this._index=e.index,this._directoryEntries=e.directoryEntries,this._eocd=e.eocd,this.data=e.data):(this.data=e,this.populateIndex())}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.RegisterDecompressionMethod=function(t,e){Mi[t]=e},e.computeIndex=function(t,n){var r=new Ti,i=e.getEOCD(t);if(i.diskNumber()!==i.cdDiskNumber())throw new me(ge.EINVAL,"ZipFS does not support spanned zip files.");var o=i.cdOffset();if(4294967295===o)throw new me(ge.EINVAL,"ZipFS does not support Zip64.");var s=o+i.cdSize();e.computeIndexResponsive(t,r,o,s,n,[],i)},e.getEOCD=function(t){for(var e=22,n=Math.min(e+65535,t.length-1),r=e;r<n;r++)if(101010256===t.readUInt32LE(t.length-r))return new Zi(t.slice(t.length-r));throw new me(ge.EINVAL,"Invalid ZIP file: Could not locate End of Central Directory signature.")},e.addToIndex=function(t,e){var n=t.fileName();if("/"===n.charAt(0))throw new Error("WHY IS THIS ABSOLUTE");"/"===n.charAt(n.length-1)&&(n=n.substr(0,n.length-1)),t.isDirectory()?e.addPathFast("/"+n,new Di(t)):e.addPathFast("/"+n,new xi(t))},e.computeIndexResponsive=function(t,n,r,i,o,s,a){if(r<i){for(var c=0;c++<200&&r<i;){var u=new Hi(t,t.slice(r));e.addToIndex(u,n),r+=u.totalSize(),s.push(u)}setImmediate(function(){e.computeIndexResponsive(t,n,r,i,o,s,a)})}else o(new Yi(n,s,a,t))},e.prototype.getName=function(){return"ZipFS"+(""!==this.name?" "+this.name:"")},e.prototype.getCentralDirectoryEntry=function(t){var e=this._index.getInode(t);if(null===e)throw me.ENOENT(t);if(Qt(e))return e.getData();if($t(e))return e.getData();throw me.EPERM("Invalid inode: "+e)},e.prototype.getCentralDirectoryEntryAt=function(t){var e=this._directoryEntries[t];if(!e)throw new RangeError("Invalid directory index: "+t+".");return e},e.prototype.getNumberOfCentralDirectoryEntries=function(){return this._directoryEntries.length},e.prototype.getEndOfCentralDirectory=function(){return this._eocd},e.prototype.diskSpace=function(t,e){e(this.data.length,0)},e.prototype.isReadOnly=function(){return!0},e.prototype.supportsLinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!0},e.prototype.statSync=function(t,e){var n=this._index.getInode(t);if(null===n)throw me.ENOENT(t);var r;if(Qt(n))r=n.getData().getStats();else{if(!$t(n))throw new me(ge.EINVAL,"Invalid inode.");r=n.getStats()}return r},e.prototype.openSync=function(t,e,n){if(e.isWriteable())throw new me(ge.EPERM,t);var r=this._index.getInode(t);if(!r)throw me.ENOENT(t);if(!Qt(r))throw me.EISDIR(t);var i=r.getData(),o=i.getStats();switch(e.pathExistsAction()){case we.THROW_EXCEPTION:case we.TRUNCATE_FILE:throw me.EEXIST(t);case we.NOP:return new je(this,t,e,o,i.getData());default:throw new me(ge.EINVAL,"Invalid FileMode object.")}},e.prototype.readdirSync=function(t){var e=this._index.getInode(t);if(e){if($t(e))return e.getListing();throw me.ENOTDIR(t)}throw me.ENOENT(t)},e.prototype.readFileSync=function(t,e,n){var r=this.openSync(t,n,420);try{var i=r,o=i.getBuffer();return null===e?w(o):o.toString(e)}finally{r.closeSync()}},e.prototype.populateIndex=function(){var t=this,n=this._eocd=e.getEOCD(this.data);if(n.diskNumber()!==n.cdDiskNumber())throw new me(ge.EINVAL,"ZipFS does not support spanned zip files.");var r=n.cdOffset();if(4294967295===r)throw new me(ge.EINVAL,"ZipFS does not support Zip64.");for(var i=r+n.cdSize();r<i;){var o=new Hi(t.data,t.data.slice(r));r+=o.totalSize(),e.addToIndex(o,t._index),t._directoryEntries.push(o)}},e}(Ue);Xi.CompressionMethod=Bi,Xi.RegisterDecompressionMethod(Bi.DEFLATE,function(t,e,n){return g(Ui(t.slice(0,e),{chunkSize:n}))}),Xi.RegisterDecompressionMethod(Bi.STORED,function(t,e,n){return w(t,0,n)});var Ki="IEEE_P1282",Gi=function(t){this._data=t};Gi.prototype.type=function(){return this._data[0]},Gi.prototype.standardIdentifier=function(){return re(this._data,1,5)},Gi.prototype.version=function(){return this._data[6]},Gi.prototype.data=function(){return this._data.slice(7,2048)};var Ji=function(t){function e(e){t.call(this,e),this._root=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.systemIdentifier=function(){return this._getString32(8)},e.prototype.volumeIdentifier=function(){return this._getString32(40)},e.prototype.volumeSpaceSize=function(){return this._data.readUInt32LE(80)},e.prototype.volumeSetSize=function(){return this._data.readUInt16LE(120)},e.prototype.volumeSequenceNumber=function(){return this._data.readUInt16LE(124)},e.prototype.logicalBlockSize=function(){return this._data.readUInt16LE(128)},e.prototype.pathTableSize=function(){return this._data.readUInt32LE(132)},e.prototype.locationOfTypeLPathTable=function(){return this._data.readUInt32LE(140)},e.prototype.locationOfOptionalTypeLPathTable=function(){return this._data.readUInt32LE(144)},e.prototype.locationOfTypeMPathTable=function(){return this._data.readUInt32BE(148)},e.prototype.locationOfOptionalTypeMPathTable=function(){return this._data.readUInt32BE(152)},e.prototype.rootDirectoryEntry=function(t){return null===this._root&&(this._root=this._constructRootDirectoryRecord(this._data.slice(156)),this._root.rootCheckForRockRidge(t)),this._root},e.prototype.volumeSetIdentifier=function(){return this._getString(190,128)},e.prototype.publisherIdentifier=function(){return this._getString(318,128)},e.prototype.dataPreparerIdentifier=function(){return this._getString(446,128)},e.prototype.applicationIdentifier=function(){return this._getString(574,128)},e.prototype.copyrightFileIdentifier=function(){return this._getString(702,38)},e.prototype.abstractFileIdentifier=function(){return this._getString(740,36)},e.prototype.bibliographicFileIdentifier=function(){return this._getString(776,37)},e.prototype.volumeCreationDate=function(){return oe(this._data,813)},e.prototype.volumeModificationDate=function(){return oe(this._data,830)},e.prototype.volumeExpirationDate=function(){return oe(this._data,847)},e.prototype.volumeEffectiveDate=function(){return oe(this._data,864)},e.prototype.fileStructureVersion=function(){return this._data[881]},e.prototype.applicationUsed=function(){return this._data.slice(883,1395)},e.prototype.reserved=function(){return this._data.slice(1395,2048)},e.prototype._getString32=function(t){return this._getString(t,32)},e}(Gi),Qi=function(t){function e(e){if(t.call(this,e),1!==this.type())throw new me(ge.EIO,"Invalid primary volume descriptor.")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.name=function(){return"ISO9660"},e.prototype._constructRootDirectoryRecord=function(t){return new eo(t,-1)},e.prototype._getString=function(t,e){return this._getString(t,e)},e}(Ji),$i=function(t){function e(e){if(t.call(this,e),2!==this.type())throw new me(ge.EIO,"Invalid supplementary volume descriptor.");var n=this.escapeSequence(),r=n[2];if(37!==n[0]||47!==n[1]||64!==r&&67!==r&&69!==r)throw new me(ge.EIO,"Unrecognized escape sequence for SupplementaryVolumeDescriptor: "+n.toString())}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.name=function(){return"Joliet"},e.prototype.escapeSequence=function(){return this._data.slice(88,120)},e.prototype._constructRootDirectoryRecord=function(t){return new no(t,-1)},e.prototype._getString=function(t,e){return ie(this._data,t,e)},e}(Ji),to=function(t,e){this._suEntries=null,this._fileOrDir=null,this._data=t,this._rockRidgeOffset=e};to.prototype.hasRockRidge=function(){return this._rockRidgeOffset>-1},to.prototype.getRockRidgeOffset=function(){return this._rockRidgeOffset},to.prototype.rootCheckForRockRidge=function(t){var e=this.getDirectory(t);this._rockRidgeOffset=e.getDotEntry(t)._getRockRidgeOffset(t),this._rockRidgeOffset>-1&&(this._fileOrDir=null)},to.prototype.length=function(){return this._data[0]},to.prototype.extendedAttributeRecordLength=function(){return this._data[1]},to.prototype.lba=function(){return 2048*this._data.readUInt32LE(2)},to.prototype.dataLength=function(){return this._data.readUInt32LE(10)},to.prototype.recordingDate=function(){return se(this._data,18)},to.prototype.fileFlags=function(){return this._data[25]},to.prototype.fileUnitSize=function(){return this._data[26]},to.prototype.interleaveGapSize=function(){return this._data[27]},to.prototype.volumeSequenceNumber=function(){return this._data.readUInt16LE(28)},to.prototype.identifier=function(){return this._getString(33,this._data[32])},to.prototype.fileName=function(t){if(this.hasRockRidge()){var e=this._rockRidgeFilename(t);if(null!==e)return e}var n=this.identifier();if(this.isDirectory(t))return n;var r=n.indexOf(";");return r===-1?n:"."===n[r-1]?n.slice(0,r-1):n.slice(0,r)},to.prototype.isDirectory=function(t){var e=!!(2&this.fileFlags());return!e&&this.hasRockRidge()&&(e=this.getSUEntries(t).filter(function(t){return t instanceof _o}).length>0),e},to.prototype.isSymlink=function(t){return this.hasRockRidge()&&this.getSUEntries(t).filter(function(t){return t instanceof lo}).length>0},to.prototype.getSymlinkPath=function(t){for(var e="",n=this.getSUEntries(t),r=this._getGetString(),i=0;i<n.length;i++){var o=n[i];if(o instanceof lo){for(var s=o.componentRecords(),a=0;a<s.length;a++){var c=s[a],u=c.flags();2&u?e+="./":4&u?e+="../":8&u?e+="/":(e+=c.content(r),1&u||(e+="/"))}if(!o.continueFlag())break}}return e.length>1&&"/"===e[e.length-1]?e.slice(0,e.length-1):e},to.prototype.getFile=function(t){if(this.isDirectory(t))throw new Error("Tried to get a File from a directory.");return null===this._fileOrDir&&(this._fileOrDir=t.slice(this.lba(),this.lba()+this.dataLength())),this._fileOrDir},to.prototype.getDirectory=function(t){if(!this.isDirectory(t))throw new Error("Tried to get a Directory from a file.");return null===this._fileOrDir&&(this._fileOrDir=this._constructDirectory(t)),this._fileOrDir},to.prototype.getSUEntries=function(t){return this._suEntries||this._constructSUEntries(t),this._suEntries},to.prototype._rockRidgeFilename=function(t){var e=this.getSUEntries(t).filter(function(t){return t instanceof go});if(0===e.length||6&e[0].flags())return null;for(var n="",r=this._getGetString(),i=0;i<e.length;i++){var o=e[i];if(n+=o.name(r),!(1&o.flags()))break}return n},to.prototype._constructSUEntries=function(t){var e=33+this._data[32];e%2===1&&e++,e+=this._rockRidgeOffset,this._suEntries=ce(this._data,e,this.length(),t)},to.prototype._getRockRidgeOffset=function(t){this._rockRidgeOffset=0;var e=this.getSUEntries(t);if(e.length>0){var n=e[0];if(n instanceof so&&n.checkBytesPass())for(var r=1;r<e.length;r++){var i=e[r];if(i instanceof fo||i instanceof co&&i.extensionIdentifier()===Ki)return n.bytesSkipped()}}return this._rockRidgeOffset=-1,-1};var eo=function(t){function e(e,n){t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._getString=function(t,e){return re(this._data,t,e)},e.prototype._constructDirectory=function(t){return new bo(this,t)},e.prototype._getGetString=function(){return re},e}(to),no=function(t){function e(e,n){t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._getString=function(t,e){return ie(this._data,t,e)},e.prototype._constructDirectory=function(t){return new ko(this,t)},e.prototype._getGetString=function(){return ie},e}(to),ro=function(t){this._data=t};ro.prototype.signatureWord=function(){return this._data.readUInt16BE(0)},ro.prototype.signatureWordString=function(){return re(this._data,0,2)},ro.prototype.length=function(){return this._data[2]},ro.prototype.suVersion=function(){return this._data[3]};var io=function(t){function e(e){t.call(this,e),this._entries=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.continuationLba=function(){return this._data.readUInt32LE(4)},e.prototype.continuationLbaOffset=function(){return this._data.readUInt32LE(12)},e.prototype.continuationLength=function(){return this._data.readUInt32LE(20)},e.prototype.getEntries=function(t){if(!this._entries){var e=2048*this.continuationLba()+this.continuationLbaOffset();this._entries=ce(t,e,this.continuationLength(),t)}return this._entries},e}(ro),oo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(ro),so=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.checkBytesPass=function(){return 190===this._data[4]&&239===this._data[5]},e.prototype.bytesSkipped=function(){return this._data[6]},e}(ro),ao=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(ro),co=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.identifierLength=function(){return this._data[4]},e.prototype.descriptorLength=function(){return this._data[5]},e.prototype.sourceLength=function(){return this._data[6]},e.prototype.extensionVersion=function(){return this._data[7]},e.prototype.extensionIdentifier=function(){return re(this._data,8,this.identifierLength())},e.prototype.extensionDescriptor=function(){return re(this._data,8+this.identifierLength(),this.descriptorLength())},e.prototype.extensionSource=function(){return re(this._data,8+this.identifierLength()+this.descriptorLength(),this.sourceLength())},e}(ro),uo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.extensionSequence=function(){return this._data[4]},e}(ro),fo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(ro),ho=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.mode=function(){return this._data.readUInt32LE(4)},e.prototype.fileLinks=function(){return this._data.readUInt32LE(12)},e.prototype.uid=function(){return this._data.readUInt32LE(20)},e.prototype.gid=function(){return this._data.readUInt32LE(28)},e.prototype.inode=function(){return this._data.readUInt32LE(36)},e}(ro),po=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.devTHigh=function(){return this._data.readUInt32LE(4)},e.prototype.devTLow=function(){return this._data.readUInt32LE(12)},e}(ro),lo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flags=function(){return this._data[4]},e.prototype.continueFlag=function(){return 1&this.flags()},e.prototype.componentRecords=function(){for(var t=this,e=new Array,n=5;n<this.length();){var r=new yo(t._data.slice(n));e.push(r),n+=r.length()}return e},e}(ro),yo=function(t){this._data=t};yo.prototype.flags=function(){return this._data[0]},yo.prototype.length=function(){return 2+this.componentLength()},yo.prototype.componentLength=function(){return this._data[1]},yo.prototype.content=function(t){return t(this._data,2,this.componentLength())};var go=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flags=function(){return this._data[4]},e.prototype.name=function(t){return t(this._data,5,this.length()-5)},e}(ro),_o=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.childDirectoryLba=function(){return this._data.readUInt32LE(4)},e}(ro),vo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.parentDirectoryLba=function(){return this._data.readUInt32LE(4)},e}(ro),wo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(ro),mo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flags=function(){return this._data[4]},e.prototype.creation=function(){return 1&this.flags()?this._longFormDates()?oe(this._data,5):se(this._data,5):null},e.prototype.modify=function(){if(2&this.flags()){var t=1&this.flags()?1:0;return this._longFormDates?oe(this._data,5+17*t):se(this._data,5+7*t)}return null},e.prototype.access=function(){if(4&this.flags()){var t=1&this.flags()?1:0;return t+=2&this.flags()?1:0,this._longFormDates?oe(this._data,5+17*t):se(this._data,5+7*t)}return null},e.prototype.backup=function(){if(16&this.flags()){var t=1&this.flags()?1:0;return t+=2&this.flags()?1:0,t+=4&this.flags()?1:0,this._longFormDates?oe(this._data,5+17*t):se(this._data,5+7*t)}return null},e.prototype.expiration=function(){if(32&this.flags()){var t=1&this.flags()?1:0;return t+=2&this.flags()?1:0,t+=4&this.flags()?1:0,t+=16&this.flags()?1:0,this._longFormDates?oe(this._data,5+17*t):se(this._data,5+7*t)}return null},e.prototype.effective=function(){if(64&this.flags()){var t=1&this.flags()?1:0;return t+=2&this.flags()?1:0,t+=4&this.flags()?1:0,t+=16&this.flags()?1:0,t+=32&this.flags()?1:0,this._longFormDates?oe(this._data,5+17*t):se(this._data,5+7*t)}return null},e.prototype._longFormDates=function(){return!!this.flags()},e}(ro),Eo=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.virtualSizeHigh=function(){return this._data.readUInt32LE(4)},e.prototype.virtualSizeLow=function(){return this._data.readUInt32LE(12)},e.prototype.tableDepth=function(){return this._data[20]},e}(ro),So=function(t,e){var n=this;this._fileList=[],this._fileMap={},this._record=t;var r=t.lba(),i=r+t.dataLength();if(!(2&t.fileFlags())){var o=t.getSUEntries(e).filter(function(t){return t instanceof _o})[0];r=2048*o.childDirectoryLba(),i=1/0}for(;r<i;){var s=e[r];if(0!==s){var a=n._constructDirectoryRecord(e.slice(r)),c=a.fileName(e);"\0"!==c&&""!==c?a.hasRockRidge()&&0!==a.getSUEntries(e).filter(function(t){return t instanceof wo}).length||(n._fileMap[c]=a,n._fileList.push(c)):i===1/0&&(i=r+a.dataLength()),r+=a.length()}else r++}};So.prototype.getRecord=function(t){return this._fileMap[t]},So.prototype.getFileList=function(){return this._fileList},So.prototype.getDotEntry=function(t){return this._constructDirectoryRecord(t.slice(this._record.lba()))};var bo=function(t){function e(e,n){t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._constructDirectoryRecord=function(t){return new eo(t,this._record.getRockRidgeOffset())},e}(So),ko=function(t){function e(e,n){t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._constructDirectoryRecord=function(t){return new no(t,this._record.getRockRidgeOffset())},e}(So),Io=function(t){function e(e,n){var r=this;void 0===n&&(n=""),t.call(this),this._data=e;for(var i=!1,o=32768,s=new Array;!i;){var a=e.slice(o),c=new Gi(a);switch(c.type()){case 1:s.push(new Qi(a));break;case 2:s.push(new $i(a));break;case 255:i=!0}o+=2048}if(0===s.length)throw new me(ge.EIO,"Unable to find a suitable volume descriptor.");s.forEach(function(t){r._pvd&&2===r._pvd.type()||(r._pvd=t)}),this._root=this._pvd.rootDirectoryEntry(e),this._name=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.isAvailable=function(){return!0},e.prototype.getName=function(){var t="IsoFS"+this._name+"-"+this._pvd.name();return this._root.hasRockRidge()&&(t+="-RockRidge"),t},e.prototype.diskSpace=function(t,e){e(this._data.length,0)},e.prototype.isReadOnly=function(){return!0},e.prototype.supportsLinks=function(){return!1},e.prototype.supportsProps=function(){return!1},e.prototype.supportsSynch=function(){return!0},e.prototype.statSync=function(t,e){var n=this._getDirectoryRecord(t);if(null===n)throw me.ENOENT(t);return this._getStats(t,n)},e.prototype.openSync=function(t,e,n){if(e.isWriteable())throw new me(ge.EPERM,t);var r=this._getDirectoryRecord(t);if(!r)throw me.ENOENT(t);if(r.isSymlink(this._data))return this.openSync(ye.resolve(t,r.getSymlinkPath(this._data)),e,n);if(r.isDirectory(this._data))throw me.EISDIR(t);var i=r.getFile(this._data),o=this._getStats(t,r);switch(e.pathExistsAction()){case we.THROW_EXCEPTION:case we.TRUNCATE_FILE:throw me.EEXIST(t);case we.NOP:return new je(this,t,e,o,i);default:throw new me(ge.EINVAL,"Invalid FileMode object.")}},e.prototype.readdirSync=function(t){var e=this._getDirectoryRecord(t);if(e){if(e.isDirectory(this._data))return e.getDirectory(this._data).getFileList().slice(0);throw me.ENOTDIR(t)}throw me.ENOENT(t)},e.prototype.readFileSync=function(t,e,n){var r=this.openSync(t,n,420);try{var i=r,o=i.getBuffer();return null===e?w(o):o.toString(e)}finally{r.closeSync()}},e.prototype._getDirectoryRecord=function(t){var e=this;if("/"===t)return this._root;for(var n=t.split("/").slice(1),r=this._root,i=0;i<n.length;i++){if(!r.isDirectory(e._data))return null;if(r=r.getDirectory(e._data).getRecord(n[i]),!r)return null}return r},e.prototype._getStats=function(t,e){if(e.isSymlink(this._data)){var n=ye.resolve(t,e.getSymlinkPath(this._data)),r=this._getDirectoryRecord(n);return r?this._getStats(n,r):null}var i=e.dataLength(),o=365,s=e.recordingDate(),a=s,c=s,u=s;if(e.hasRockRidge())for(var f=e.getSUEntries(this._data),h=0;h<f.length;h++){var p=f[h];if(p instanceof ho)o=p.mode();else if(p instanceof mo){var l=p.flags();4&l&&(a=p.access()),2&l&&(c=p.modify()),1&l&&(u=p.creation())}}return o&=365,new ke(e.isDirectory(this._data)?be.DIRECTORY:be.FILE,i,o,a,c,u)},e}(Ue),Oo={AsyncMirror:qe,Dropbox:zr,Emscripten:Vr,FolderAdapter:Wr,HTML5FS:Yr,InMemory:ni,IndexedDB:ci,IsoFS:Io,LocalStorage:hi,MountableFileSystem:pi,OverlayFS:ki,WorkerFS:Ri,XmlHttpRequest:Ai,ZipFS:Xi};if(o.initializeTTYs&&o.initializeTTYs(),"b"!=="ab".substr(-1)&&(String.prototype.substr=function(t){return function(e,n){return e<0&&(e=this.length+e),t.call(this,e,n)}}(String.prototype.substr)),"undefined"==typeof setImmediate){var Fo=_e,Ro=[],No="zero-timeout-message",Lo=function(){if("undefined"!=typeof Fo.importScripts||!Fo.postMessage)return!1;var t=!0,e=Fo.onmessage;return Fo.onmessage=function(){t=!1},Fo.postMessage("","*"),Fo.onmessage=e,t};if(Lo()){Fo.setImmediate=function(t){Ro.push(t),Fo.postMessage(No,"*")};var To=function(t){if(t.source===self&&t.data===No&&(t.stopPropagation?t.stopPropagation():t.cancelBubble=!0,Ro.length>0)){var e=Ro.shift();return e()}};Fo.addEventListener?Fo.addEventListener("message",To,!0):Fo.attachEvent("onmessage",To)}else if(Fo.MessageChannel){var xo=new Fo.MessageChannel;xo.port1.onmessage=function(t){if(Ro.length>0)return Ro.shift()()},Fo.setImmediate=function(t){Ro.push(t),xo.port2.postMessage("")}}else Fo.setImmediate=function(t){return setTimeout(t,0)}}"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&(Uint8Array.prototype.slice||(Uint8Array.prototype.slice=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.length);var n=this;return t<0&&(t=this.length+t,t<0&&(t=0)),e<0&&(e=this.length+e,e<0&&(e=0)),e<t&&(e=t),new Uint8Array(n.buffer,n.byteOffset+t,e-t)})),e.install=ue,e.registerFileSystem=fe,e.BFSRequire=he,e.initialize=pe,e.EmscriptenFS=Pe,e.FileSystem=Oo,e.Errors=Ee}).call(e,function(){return this}(),n(7),n(41)(t),n(3))},function(t,e,n){(function(t){"use strict";function r(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}function i(e){if(e>K)throw new RangeError("Invalid typed array length");var n=new Uint8Array(e);return n.__proto__=t.prototype,n}function t(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(t)}return o(t,e,n)}function o(t,e,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?h(t,e,n):"string"==typeof t?u(t,e):p(t)}function s(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function a(t,e,n){return s(t),t<=0?i(t):void 0!==e?"string"==typeof n?i(t).fill(e,n):i(t).fill(e):i(t)}function c(t){return s(t),i(t<0?0:0|l(t))}function u(e,n){if("string"==typeof n&&""!==n||(n="utf8"),!t.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|y(e,n),o=i(r),s=o.write(e,n);return s!==r&&(o=o.slice(0,s)),o}function f(t){for(var e=t.length<0?0:0|l(t.length),n=i(e),r=0;r<e;r+=1)n[r]=255&t[r];return n}function h(e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");var i;return i=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r),i.__proto__=t.prototype,i}function p(e){if(t.isBuffer(e)){var n=0|l(e.length),r=i(n);return 0===r.length?r:(e.copy(r,0,0,n),r)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||Z(e.length)?i(0):f(e);if("Buffer"===e.type&&Array.isArray(e.data))return f(e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function l(t){if(t>=K)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K.toString(16)+" bytes");return 0|t}function d(e){return+e!=e&&(e=0),t.alloc(+e)}function y(e,n){if(t.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var i=!1;;)switch(n){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(e).length;default:if(i)return z(e).length;n=(""+n).toLowerCase(),i=!0}}function g(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return F(this,e,n);case"ascii":return N(this,e,n);case"latin1":case"binary":return L(this,e,n);case"base64":return O(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function _(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(e,n,r,i,o){if(0===e.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof n&&(n=t.from(n,i)),t.isBuffer(n))return 0===n.length?-1:w(e,n,r,i,o);if("number"==typeof n)return n&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,n,r):Uint8Array.prototype.lastIndexOf.call(e,n,r):w(e,[n],r,i,o);throw new TypeError("val must be string, number or Buffer")}function w(t,e,n,r,i){function o(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}var s=1,a=t.length,c=e.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,n/=2}var u;if(i){var f=-1;for(u=n;u<a;u++)if(o(t,u)===o(e,f===-1?0:u-f)){if(f===-1&&(f=u),u-f+1===c)return f*s}else f!==-1&&(u-=u-f),f=-1}else for(n+c>a&&(n=a-c),u=n;u>=0;u--){for(var h=!0,p=0;p<c;p++)if(o(t,u+p)!==o(e,p)){h=!1;break}if(h)return u}return-1}function m(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[n+s]=a}return s}function E(t,e,n,r){return H(z(e,t.length-n),t,n,r)}function S(t,e,n,r){return H(q(e),t,n,r)}function b(t,e,n,r){return S(t,e,n,r)}function k(t,e,n,r){return H(W(e),t,n,r)}function I(t,e,n,r){return H(V(e,t.length-n),t,n,r)}function O(t,e,n){return 0===e&&n===t.length?Y.fromByteArray(t):Y.fromByteArray(t.slice(e,n))}function F(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=n){var c,u,f,h;switch(a){case 1:o<128&&(s=o);break;case 2:c=t[i+1],128===(192&c)&&(h=(31&o)<<6|63&c,h>127&&(s=h));break;case 3:c=t[i+1],u=t[i+2],128===(192&c)&&128===(192&u)&&(h=(15&o)<<12|(63&c)<<6|63&u,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:c=t[i+1],u=t[i+2],f=t[i+3],128===(192&c)&&128===(192&u)&&128===(192&f)&&(h=(15&o)<<18|(63&c)<<12|(63&u)<<6|63&f,h>65535&&h<1114112&&(s=h))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|1023&s),r.push(s),i+=a}return R(r)}function R(t){var e=t.length;if(e<=G)return String.fromCharCode.apply(String,t);for(var n="",r=0;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=G));return n}function N(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function L(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function T(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=e;o<n;++o)i+=j(t[o]);return i}function x(t,e,n){for(var r=t.slice(e,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function D(t,e,n){if(t%1!==0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function A(e,n,r,i,o,s){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(n>o||n<s)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function P(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function C(t,e,n,r,i){return e=+e,n>>>=0,i||P(t,e,n,4,3.4028234663852886e38,-3.4028234663852886e38),X.write(t,e,n,r,23,4),n+4}function U(t,e,n,r,i){return e=+e,n>>>=0,i||P(t,e,n,8,1.7976931348623157e308,-1.7976931348623157e308),X.write(t,e,n,r,52,8),n+8}function M(t){if(t=B(t).replace(J,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function B(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function j(t){return t<16?"0"+t.toString(16):t.toString(16)}function z(t,e){e=e||1/0;for(var n,r=t.length,i=null,o=[],s=0;s<r;++s){if(n=t.charCodeAt(s),n>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function q(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}function V(t,e){for(var n,r,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)n=t.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}function W(t){return Y.toByteArray(M(t))}function H(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function Z(t){return t!==t}var Y=n(18),X=n(21);e.Buffer=t,e.SlowBuffer=d,e.INSPECT_MAX_BYTES=50;var K=2147483647;e.kMaxLength=K,t.TYPED_ARRAY_SUPPORT=r(),t.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&t[Symbol.species]===t&&Object.defineProperty(t,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),t.poolSize=8192,t.from=function(t,e,n){return o(t,e,n)},t.prototype.__proto__=Uint8Array.prototype,t.__proto__=Uint8Array,t.alloc=function(t,e,n){return a(t,e,n)},t.allocUnsafe=function(t){return c(t)},t.allocUnsafeSlow=function(t){return c(t)},t.isBuffer=function(t){return!(null==t||!t._isBuffer)},t.compare=function(e,n){if(!t.isBuffer(e)||!t.isBuffer(n))throw new TypeError("Arguments must be Buffers");if(e===n)return 0;for(var r=e.length,i=n.length,o=0,s=Math.min(r,i);o<s;++o)if(e[o]!==n[o]){r=e[o],i=n[o];break}return r<i?-1:i<r?1:0},t.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},t.concat=function(e,n){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return t.alloc(0);var r;if(void 0===n)for(n=0,r=0;r<e.length;++r)n+=e[r].length;var i=t.allocUnsafe(n),o=0;for(r=0;r<e.length;++r){var s=e[r];if(!t.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(i,o),o+=s.length}return i},t.byteLength=y,t.prototype._isBuffer=!0,t.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)_(this,e,e+1);return this},t.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)_(this,e,e+3),_(this,e+1,e+2);return this},t.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)_(this,e,e+7),_(this,e+1,e+6),_(this,e+2,e+5),_(this,e+3,e+4);return this},t.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?F(this,0,t):g.apply(this,arguments)},t.prototype.equals=function(e){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===t.compare(this,e)},t.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},t.prototype.compare=function(e,n,r,i,o){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===n&&(n=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),n<0||r>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&n>=r)return 0;if(i>=o)return-1;if(n>=r)return 1;if(n>>>=0,r>>>=0,i>>>=0,o>>>=0,this===e)return 0;for(var s=o-i,a=r-n,c=Math.min(s,a),u=this.slice(i,o),f=e.slice(n,r),h=0;h<c;++h)if(u[h]!==f[h]){s=u[h],a=f[h];break}return s<a?-1:a<s?1:0},t.prototype.includes=function(t,e,n){return this.indexOf(t,e,n)!==-1},t.prototype.indexOf=function(t,e,n){return v(this,t,e,n,!0)},t.prototype.lastIndexOf=function(t,e,n){return v(this,t,e,n,!1)},t.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return m(this,t,e,n);case"utf8":case"utf-8":return E(this,t,e,n);case"ascii":return S(this,t,e,n);case"latin1":case"binary":return b(this,t,e,n);case"base64":return k(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var G=4096;t.prototype.slice=function(e,n){var r=this.length;e=~~e,n=void 0===n?r:~~n,e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),n<0?(n+=r,n<0&&(n=0)):n>r&&(n=r),n<e&&(n=e);var i=this.subarray(e,n);return i.__proto__=t.prototype,i},t.prototype.readUIntLE=function(t,e,n){t>>>=0,e>>>=0,n||D(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},t.prototype.readUIntBE=function(t,e,n){t>>>=0,e>>>=0,n||D(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},t.prototype.readUInt8=function(t,e){return t>>>=0,e||D(t,1,this.length),this[t]},t.prototype.readUInt16LE=function(t,e){return t>>>=0,e||D(t,2,this.length),this[t]|this[t+1]<<8},t.prototype.readUInt16BE=function(t,e){return t>>>=0,e||D(t,2,this.length),this[t]<<8|this[t+1]},t.prototype.readUInt32LE=function(t,e){return t>>>=0,e||D(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},t.prototype.readUInt32BE=function(t,e){return t>>>=0,e||D(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},t.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||D(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*e)),r},t.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||D(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},t.prototype.readInt8=function(t,e){return t>>>=0,e||D(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},t.prototype.readInt16LE=function(t,e){t>>>=0,e||D(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},t.prototype.readInt16BE=function(t,e){t>>>=0,e||D(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},t.prototype.readInt32LE=function(t,e){return t>>>=0,e||D(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},t.prototype.readInt32BE=function(t,e){return t>>>=0,e||D(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},t.prototype.readFloatLE=function(t,e){return t>>>=0,e||D(t,4,this.length),X.read(this,t,!0,23,4)},t.prototype.readFloatBE=function(t,e){return t>>>=0,e||D(t,4,this.length),X.read(this,t,!1,23,4)},t.prototype.readDoubleLE=function(t,e){return t>>>=0,e||D(t,8,this.length),X.read(this,t,!0,52,8)},t.prototype.readDoubleBE=function(t,e){return t>>>=0,e||D(t,8,this.length),X.read(this,t,!1,52,8)},t.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){var i=Math.pow(2,8*n)-1;A(this,t,e,n,i,0)}var o=1,s=0;for(this[e]=255&t;++s<n&&(o*=256);)this[e+s]=t/o&255;return e+n},t.prototype.writeUIntBE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){var i=Math.pow(2,8*n)-1;A(this,t,e,n,i,0)}var o=n-1,s=1;for(this[e+o]=255&t;--o>=0&&(s*=256);)this[e+o]=t/s&255;return e+n},t.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},t.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},t.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},t.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},t.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},t.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);A(this,t,e,n,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<n&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},t.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);A(this,t,e,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},t.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},t.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},t.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},t.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},t.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},t.prototype.writeFloatLE=function(t,e,n){return C(this,t,e,!0,n)},t.prototype.writeFloatBE=function(t,e,n){return C(this,t,e,!1,n)},t.prototype.writeDoubleLE=function(t,e,n){return U(this,t,e,!0,n)},t.prototype.writeDoubleBE=function(t,e,n){return U(this,t,e,!1,n)},t.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,o=r-n;if(this===t&&n<e&&e<r)for(i=o-1;i>=0;--i)t[i+e]=this[i+n];else if(o<1e3)for(i=0;i<o;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),e);return o},t.prototype.fill=function(e,n,r,i){if("string"==typeof e){if("string"==typeof n?(i=n,n=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!t.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(n<0||this.length<n||this.length<r)throw new RangeError("Out of range index");if(r<=n)return this;n>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var s;if("number"==typeof e)for(s=n;s<r;++s)this[s]=e;else{var a=t.isBuffer(e)?e:new t(e,i),c=a.length;for(s=0;s<r-n;++s)this[s+n]=a[s%c]}return this};var J=/[^+\/0-9A-Za-z-_]/g}).call(e,n(7))},function(t,e,n){"use strict";function r(t){return this instanceof r?(u.call(this,t),f.call(this,t),t&&t.readable===!1&&(this.readable=!1),t&&t.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,t&&t.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",i)):new r(t)}function i(){this.allowHalfOpen||this._writableState.ended||a(o,this)}function o(t){t.end()}var s=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=r;var a=n(11),c=n(5);c.inherits=n(4);var u=n(16),f=n(13);c.inherits(r,u);for(var h=s(f.prototype),p=0;p<h.length;p++){var l=h[p];r.prototype[l]||(r.prototype[l]=f.prototype[l])}},function(t,e,n){"use strict";function r(t){s[t]||("function"==typeof o[t]?s[t]=function(){return o[t].apply(o,arguments)}:s[t]=o[t])}var i=n(19),o=new i,s={};for(var a in o)r(a);s.initializeTTYs=function(){null===o.stdin&&(o.initializeTTYs(),s.stdin=o.stdin,s.stdout=o.stdout,s.stderr=o.stderr)},o.nextTick(function(){s.initializeTTYs()}),t.exports=s},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){(function(t){function n(t){return Array.isArray?Array.isArray(t):"[object Array]"===g(t)}function r(t){return"boolean"==typeof t}function i(t){return null===t}function o(t){return null==t}function s(t){return"number"==typeof t}function a(t){return"string"==typeof t}function c(t){return"symbol"==typeof t}function u(t){return void 0===t}function f(t){return"[object RegExp]"===g(t)}function h(t){return"object"==typeof t&&null!==t}function p(t){return"[object Date]"===g(t)}function l(t){return"[object Error]"===g(t)||t instanceof Error}function d(t){return"function"==typeof t}function y(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t}function g(t){return Object.prototype.toString.call(t)}e.isArray=n,e.isBoolean=r,e.isNull=i,e.isNullOrUndefined=o,e.isNumber=s,e.isString=a,e.isSymbol=c,e.isUndefined=u,e.isRegExp=f,e.isObject=h,e.isDate=p,e.isError=l,e.isFunction=d,e.isPrimitive=y,e.isBuffer=t.isBuffer}).call(e,n(7))},function(t,e){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(t){return"function"==typeof t}function i(t){return"number"==typeof t}function o(t){return"object"==typeof t&&null!==t}function s(t){return void 0===t}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!i(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,n,i,a,c,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(e=arguments[1],e instanceof Error)throw e;var f=new Error('Uncaught, unspecified "error" event. ('+e+")");throw f.context=e,f}if(n=this._events[t],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(o(n))for(a=Array.prototype.slice.call(arguments,1),u=n.slice(),i=u.length,c=0;c<i;c++)u[c].apply(this,a);return!0},n.prototype.addListener=function(t,e){var i;if(!r(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,r(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,o(this._events[t])&&!this._events[t].warned&&(i=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,i&&i>0&&this._events[t].length>i&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function n(){this.removeListener(t,n),i||(i=!0,e.apply(this,arguments))}if(!r(e))throw TypeError("listener must be a function");var i=!1;return n.listener=e,this.on(t,n),this},n.prototype.removeListener=function(t,e){var n,i,s,a;if(!r(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(n=this._events[t],s=n.length,i=-1,n===e||r(n.listener)&&n.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(o(n)){for(a=s;a-- >0;)if(n[a]===e||n[a].listener&&n[a].listener===e){i=a;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[t],r(n))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?r(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(r(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,n){t.exports=n(1).Buffer},function(t,e){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var r={arraySet:function(t,e,n,r,i){if(e.subarray&&t.subarray)return void t.set(e.subarray(n,n+r),i);for(var o=0;o<r;o++)t[i+o]=e[n+o]},flattenChunks:function(t){var e,n,r,i,o,s;for(r=0,e=0,n=t.length;e<n;e++)r+=t[e].length;for(s=new Uint8Array(r),i=0,e=0,n=t.length;e<n;e++)o=t[e],s.set(o,i),i+=o.length;return s}},i={arraySet:function(t,e,n,r,i){for(var o=0;o<r;o++)t[i+o]=e[n+o]},flattenChunks:function(t){return[].concat.apply([],t)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,i))},e.setTyped(n)},function(t,e,n){function r(){i.call(this)}t.exports=r;var i=n(6).EventEmitter,o=n(4);o(r,i),r.Readable=n(37),r.Writable=n(39),r.Duplex=n(34),r.Transform=n(38),r.PassThrough=n(36),r.Stream=r,r.prototype.pipe=function(t,e){function n(e){t.writable&&!1===t.write(e)&&u.pause&&u.pause()}function r(){u.readable&&u.resume&&u.resume()}function o(){f||(f=!0,t.end())}function s(){f||(f=!0,"function"==typeof t.destroy&&t.destroy())}function a(t){if(c(),0===i.listenerCount(this,"error"))throw t}function c(){u.removeListener("data",n),t.removeListener("drain",r),u.removeListener("end",o),u.removeListener("close",s),u.removeListener("error",a),t.removeListener("error",a),u.removeListener("end",c),u.removeListener("close",c),t.removeListener("close",c)}var u=this;u.on("data",n),t.on("drain",r),t._isStdio||e&&e.end===!1||(u.on("end",o),u.on("close",s));var f=!1;return u.on("error",a),t.on("error",a),u.on("end",c),u.on("close",c),t.on("close",c),t.emit("pipe",u),t}},function(t,e,n){(function(t){"use strict";var r=n(1),i=r.Buffer,o=r.SlowBuffer,s=r.kMaxLength||2147483647;e.alloc=function(t,e,n){if("function"==typeof i.alloc)return i.alloc(t,e,n);if("number"==typeof n)throw new TypeError("encoding must not be number");if("number"!=typeof t)throw new TypeError("size must be a number");if(t>s)throw new RangeError("size is too large");var r=n,o=e;void 0===o&&(r=void 0,o=0);var a=new i(t);if("string"==typeof o)for(var c=new i(o,r),u=c.length,f=-1;++f<t;)a[f]=c[f%u];else a.fill(o);return a},e.allocUnsafe=function(t){if("function"==typeof i.allocUnsafe)return i.allocUnsafe(t);if("number"!=typeof t)throw new TypeError("size must be a number");if(t>s)throw new RangeError("size is too large");return new i(t)},e.from=function(e,n,r){if("function"==typeof i.from&&(!t.Uint8Array||Uint8Array.from!==i.from))return i.from(e,n,r);if("number"==typeof e)throw new TypeError('"value" argument must not be a number');if("string"==typeof e)return new i(e,n);if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer){var o=n;if(1===arguments.length)return new i(e);"undefined"==typeof o&&(o=0);var s=r;if("undefined"==typeof s&&(s=e.byteLength-o),o>=e.byteLength)throw new RangeError("'offset' is out of bounds");if(s>e.byteLength-o)throw new RangeError("'length' is out of bounds");return new i(e.slice(o,o+s))}if(i.isBuffer(e)){var a=new i(e.length);return e.copy(a,0,0,e.length),a}if(e){if(Array.isArray(e)||"undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return new i(e);if("Buffer"===e.type&&Array.isArray(e.data))return new i(e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},e.allocUnsafeSlow=function(t){if("function"==typeof i.allocUnsafeSlow)return i.allocUnsafeSlow(t);if("number"!=typeof t)throw new TypeError("size must be a number");if(t>=s)throw new RangeError("size is too large");return new o(t)}}).call(e,function(){return this}())},function(t,e,n){(function(e){"use strict";function n(t,n,r,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick(function(){t.call(null,n)});case 3:return e.nextTick(function(){t.call(null,n,r)});case 4:return e.nextTick(function(){t.call(null,n,r,i)});default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return e.nextTick(function(){t.apply(null,o)})}}!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?t.exports=n:t.exports=e.nextTick}).call(e,n(3))},function(t,e,n){"use strict";function r(t){this.afterTransform=function(e,n){return i(t,e,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function i(t,e,n){var r=t._transformState;r.transforming=!1;var i=r.writecb;if(!i)return t.emit("error",new Error("no writecb in Transform class"));r.writechunk=null,r.writecb=null,null!==n&&void 0!==n&&t.push(n),i(e);var o=t._readableState;o.reading=!1,(o.needReadable||o.length<o.highWaterMark)&&t._read(o.highWaterMark)}function o(t){if(!(this instanceof o))return new o(t);a.call(this,t),this._transformState=new r(this);var e=this;this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(t,n){s(e,t,n)}):s(e)})}function s(t,e,n){if(e)return t.emit("error",e);null!==n&&void 0!==n&&t.push(n);var r=t._writableState,i=t._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(i.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}t.exports=o;var a=n(2),c=n(5);c.inherits=n(4),c.inherits(o,a),o.prototype.push=function(t,e){return this._transformState.needTransform=!1,a.prototype.push.call(this,t,e)},o.prototype._transform=function(t,e,n){throw new Error("_transform() is not implemented")},o.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0}},function(t,e,n){(function(e){"use strict";function r(){}function i(t,e,n){this.chunk=t,this.encoding=e,this.callback=n,this.next=null}function o(t,e){b=b||n(2),t=t||{},this.objectMode=!!t.objectMode,e instanceof b&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var r=t.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){d(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new S(this)}function s(t){return b=b||n(2),T.call(s,this)||this instanceof b?(this._writableState=new o(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev)),void F.call(this)):new s(t)}function a(t,e){var n=new Error("write after end");t.emit("error",n),k(e,n)}function c(t,e,n,r){var i=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):N.isBuffer(n)||"string"==typeof n||void 0===n||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(t.emit("error",o),k(r,o),i=!1),i}function u(t,e,n){return t.objectMode||t.decodeStrings===!1||"string"!=typeof e||(e=L.from(e,n)),e}function f(t,e,n,r,o){n=u(e,n,r),N.isBuffer(n)&&(r="buffer");var s=e.objectMode?1:n.length;e.length+=s;var a=e.length<e.highWaterMark;if(a||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest=new i(n,r,o),c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else h(t,e,!1,s,n,r,o);return a}function h(t,e,n,r,i,o,s){e.writelen=r,e.writecb=s,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function p(t,e,n,r,i){--e.pendingcb,n?k(i,r):i(r),t._writableState.errorEmitted=!0,t.emit("error",r)}function l(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function d(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(l(n),e)p(t,n,r,e,i);else{var o=v(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||_(t,n),r?I(y,t,n,o,i):y(t,n,o,i)}}function y(t,e,n,r){n||g(t,e),e.pendingcb--,r(),m(t,e)}function g(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}function _(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),o=e.corkedRequestsFree;o.entry=n;for(var s=0;n;)i[s]=n,n=n.next,s+=1;h(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new S(e)}else{for(;n;){var a=n.chunk,c=n.encoding,u=n.callback,f=e.objectMode?1:a.length;if(h(t,e,!1,f,a,c,u),n=n.next,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequestCount=0,e.bufferedRequest=n,e.bufferProcessing=!1}function v(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function w(t,e){e.prefinished||(e.prefinished=!0,t.emit("prefinish"))}function m(t,e){var n=v(e);return n&&(0===e.pendingcb?(w(t,e),e.finished=!0,t.emit("finish")):w(t,e)),n}function E(t,e,n){e.ending=!0,m(t,e),n&&(e.finished?k(n):t.once("finish",n)),e.ended=!0,t.writable=!1}function S(t){var e=this;this.next=null,this.entry=null,this.finish=function(n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}}t.exports=s;var b,k=n(11),I=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?setImmediate:k;s.WritableState=o;var O=n(5);O.inherits=n(4);var F,R={deprecate:n(40)};!function(){try{F=n(9)}catch(t){}finally{F||(F=n(6).EventEmitter)}}();var N=n(1).Buffer,L=n(10);O.inherits(s,F),o.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(o.prototype,"buffer",{get:R.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(t){}}();var T;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(T=Function.prototype[Symbol.hasInstance],Object.defineProperty(s,Symbol.hasInstance,{value:function(t){return!!T.call(this,t)||t&&t._writableState instanceof o}})):T=function(t){return t instanceof this},s.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},s.prototype.write=function(t,e,n){var i=this._writableState,o=!1;return"function"==typeof e&&(n=e,e=null),N.isBuffer(t)?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof n&&(n=r),i.ended?a(this,n):c(this,i,t,n)&&(i.pendingcb++,o=f(this,i,t,e,n)),o},s.prototype.cork=function(){var t=this._writableState;t.corked++},s.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||_(this,t))},s.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},s.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},s.prototype._writev=null,s.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!==t&&void 0!==t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||E(this,r,n)}}).call(e,n(3))},function(t,e,n){(function(e){"use strict";function n(t){var e=r.exec(t);return e.shift(),e}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(){function t(){}return t.normalize=function(e){""===e&&(e=".");var n=e.charAt(0)===t.sep;e=t._removeDuplicateSeps(e);for(var r=e.split(t.sep),i=[],o=0;o<r.length;o++){var s=r[o];"."!==s&&(".."===s&&(n||!n&&i.length>0&&".."!==i[0])?i.pop():i.push(s))}if(!n&&i.length<2)switch(i.length){case 1:""===i[0]&&i.unshift(".");break;default:i.push(".")}return e=i.join(t.sep),n&&e.charAt(0)!==t.sep&&(e=t.sep+e),e},t.join=function(){for(var e=[],n=0;n<arguments.length;n++)e[n-0]=arguments[n];for(var r=[],i=0;i<e.length;i++){var o=e[i];if("string"!=typeof o)throw new TypeError("Invalid argument type to path.join: "+typeof o);""!==o&&r.push(o)}return t.normalize(r.join(t.sep))},t.resolve=function(){for(var n=[],r=0;r<arguments.length;r++)n[r-0]=arguments[r];for(var i=[],o=0;o<n.length;o++){var s=n[o];if("string"!=typeof s)throw new TypeError("Invalid argument type to path.join: "+typeof s);""!==s&&(s.charAt(0)===t.sep&&(i=[]),i.push(s))}var a=t.normalize(i.join(t.sep));if(a.length>1&&a.charAt(a.length-1)===t.sep)return a.substr(0,a.length-1);if(a.charAt(0)!==t.sep){"."!==a.charAt(0)||1!==a.length&&a.charAt(1)!==t.sep||(a=1===a.length?"":a.substr(2));var c=e.cwd();a=""!==a?this.normalize(c+("/"!==c?t.sep:"")+a):c}return a},t.relative=function(e,n){var r;e=t.resolve(e),n=t.resolve(n);var i=e.split(t.sep),o=n.split(t.sep);o.shift(),i.shift();var s=0,a=[];for(r=0;r<i.length;r++){var c=i[r];if(c!==o[r]){s=i.length-r;break}}a=o.slice(r),1===i.length&&""===i[0]&&(s=0),s>i.length&&(s=i.length);var u="";for(r=0;r<s;r++)u+="../";return u+=a.join(t.sep),u.length>1&&u.charAt(u.length-1)===t.sep&&(u=u.substr(0,u.length-1)),u},t.dirname=function(e){e=t._removeDuplicateSeps(e);var n=e.charAt(0)===t.sep,r=e.split(t.sep);return""===r.pop()&&r.length>0&&r.pop(),r.length>1||1===r.length&&!n?r.join(t.sep):n?t.sep:"."},t.basename=function(e,n){if(void 0===n&&(n=""),""===e)return e;e=t.normalize(e);var r=e.split(t.sep),i=r[r.length-1];if(""===i&&r.length>1)return r[r.length-2];if(n.length>0){var o=i.substr(i.length-n.length);if(o===n)return i.substr(0,i.length-n.length)}return i},t.extname=function(e){e=t.normalize(e);var n=e.split(t.sep);if(e=n.pop(),""===e&&n.length>0&&(e=n.pop()),".."===e)return"";var r=e.lastIndexOf(".");return r===-1||0===r?"":e.substr(r)},t.isAbsolute=function(e){return e.length>0&&e.charAt(0)===t.sep},t._makeLong=function(t){return t},t.parse=function(t){var e=n(t);return{root:e[0],dir:e[0]+e[1].slice(0,-1),base:e[2],ext:e[3],name:e[2].slice(0,e[2].length-e[3].length)}},t.format=function(e){if(null===e||"object"!=typeof e)throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var n=e.root||"";if("string"!=typeof n)throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var r=e.dir?e.dir+t.sep:"",i=e.base||"";return r+i},t._removeDuplicateSeps=function(t){return t=t.replace(this._replaceRegex,this.sep)},t.sep="/",t._replaceRegex=new RegExp("//+","g"),t.delimiter=":",t.posix=t,t.win32=t,t}();t.exports=i}).call(e,n(3))},function(t,e,n){"use strict";function r(t){return this instanceof r?void i.call(this,t):new r(t)}t.exports=r;var i=n(12),o=n(5);o.inherits=n(4),o.inherits(r,i),r.prototype._transform=function(t,e,n){n(null,t)}},function(t,e,n){(function(e){"use strict";function r(t,e,n){return"function"==typeof t.prependListener?t.prependListener(e,n):void(t._events&&t._events[e]?T(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n))}function i(t,e){N=N||n(2),t=t||{},this.objectMode=!!t.objectMode,e instanceof N&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var r=t.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i,this.highWaterMark=~~this.highWaterMark,this.buffer=new j,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(B||(B=n(17).StringDecoder),this.decoder=new B(t.encoding),this.encoding=t.encoding)}function o(t){return N=N||n(2),this instanceof o?(this._readableState=new i(t,this),this.readable=!0,t&&"function"==typeof t.read&&(this._read=t.read),void x.call(this)):new o(t)}function s(t,e,n,r,i){var o=f(e,n);if(o)t.emit("error",o);else if(null===n)e.reading=!1,h(t,e);else if(e.objectMode||n&&n.length>0)if(e.ended&&!i){var s=new Error("stream.push() after EOF");t.emit("error",s)}else if(e.endEmitted&&i){var c=new Error("stream.unshift() after end event");t.emit("error",c)}else{var u;!e.decoder||i||r||(n=e.decoder.write(n),u=!e.objectMode&&0===n.length),i||(e.reading=!1),u||(e.flowing&&0===e.length&&!e.sync?(t.emit("data",n),t.read(0)):(e.length+=e.objectMode?1:n.length,i?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&p(t))),d(t,e)}else i||(e.reading=!1);return a(e)}function a(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}function c(t){return t>=z?t=z:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function u(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=c(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function f(t,e){var n=null;return A.isBuffer(e)||"string"==typeof e||null===e||void 0===e||t.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function h(t,e){if(!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,p(t)}}function p(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(M("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?L(l,t):l(t))}function l(t){M("emit readable"),t.emit("readable"),m(t)}function d(t,e){e.readingMore||(e.readingMore=!0,L(y,t,e))}function y(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(M("maybeReadMore read 0"),t.read(0),n!==e.length);)n=e.length;e.readingMore=!1}function g(t){return function(){var e=t._readableState;M("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&D(t,"data")&&(e.flowing=!0,m(t))}}function _(t){M("readable nexttick read 0"),t.read(0)}function v(t,e){e.resumeScheduled||(e.resumeScheduled=!0,L(w,t,e))}function w(t,e){e.reading||(M("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),m(t),e.flowing&&!e.reading&&t.read(0)}function m(t){var e=t._readableState;for(M("flow",e.flowing);e.flowing&&null!==t.read(););}function E(t,e){if(0===e.length)return null;var n;return e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=S(t,e.buffer,e.decoder),n}function S(t,e,n){var r;return t<e.head.data.length?(r=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):r=t===e.head.data.length?e.shift():n?b(t,e):k(t,e),r}function b(t,e){var n=e.head,r=1,i=n.data;for(t-=i.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(i+=s===o.length?o:o.slice(0,t),t-=s,0===t){s===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++r}return e.length-=r,i}function k(t,e){var n=P.allocUnsafe(t),r=e.head,i=1;for(r.data.copy(n),t-=r.data.length;r=r.next;){var o=r.data,s=t>o.length?o.length:t;if(o.copy(n,n.length-t,0,s),t-=s,0===t){s===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(s));break}++i}return e.length-=i,n}function I(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,L(O,e,t))}function O(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function F(t,e){for(var n=0,r=t.length;n<r;n++)e(t[n],n)}function R(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}t.exports=o;var N,L=n(11),T=n(22);o.ReadableState=i;var x,D=(n(6).EventEmitter,function(t,e){return t.listeners(e).length});!function(){try{x=n(9)}catch(t){}finally{x||(x=n(6).EventEmitter)}}();var A=n(1).Buffer,P=n(10),C=n(5);C.inherits=n(4);var U=n(42),M=void 0;M=U&&U.debuglog?U.debuglog("stream"):function(){};var B,j=n(35);C.inherits(o,x),o.prototype.push=function(t,e){var n=this._readableState;return n.objectMode||"string"!=typeof t||(e=e||n.defaultEncoding,e!==n.encoding&&(t=P.from(t,e),e="")),s(this,n,t,e,!1)},o.prototype.unshift=function(t){var e=this._readableState;return s(this,e,t,"",!0)},o.prototype.isPaused=function(){return this._readableState.flowing===!1},o.prototype.setEncoding=function(t){return B||(B=n(17).StringDecoder),this._readableState.decoder=new B(t),this._readableState.encoding=t,this};var z=8388608;o.prototype.read=function(t){M("read",t),t=parseInt(t,10);var e=this._readableState,n=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return M("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?I(this):p(this),null;if(t=u(t,e),0===t&&e.ended)return 0===e.length&&I(this),null;var r=e.needReadable;M("need readable",r),(0===e.length||e.length-t<e.highWaterMark)&&(r=!0,M("length less than watermark",r)),e.ended||e.reading?(r=!1,M("reading or ended",r)):r&&(M("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=u(n,e)));var i;return i=t>0?E(t,e):null,null===i?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&I(this)),null!==i&&this.emit("data",i),i},o.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},o.prototype.pipe=function(t,n){function i(t){M("onunpipe"),t===p&&s()}function o(){M("onend"),t.end()}function s(){M("cleanup"),t.removeListener("close",u),t.removeListener("finish",f),t.removeListener("drain",_),t.removeListener("error",c),t.removeListener("unpipe",i),p.removeListener("end",o),p.removeListener("end",s),p.removeListener("data",a),v=!0,!l.awaitDrain||t._writableState&&!t._writableState.needDrain||_()}function a(e){M("ondata"),w=!1;var n=t.write(e);!1!==n||w||((1===l.pipesCount&&l.pipes===t||l.pipesCount>1&&R(l.pipes,t)!==-1)&&!v&&(M("false write response, pause",p._readableState.awaitDrain),p._readableState.awaitDrain++,w=!0),p.pause())}function c(e){M("onerror",e),h(),t.removeListener("error",c),0===D(t,"error")&&t.emit("error",e)}function u(){t.removeListener("finish",f),h()}function f(){M("onfinish"),t.removeListener("close",u),h()}function h(){M("unpipe"),p.unpipe(t)}var p=this,l=this._readableState;switch(l.pipesCount){case 0:l.pipes=t;break;case 1:l.pipes=[l.pipes,t];break;default:l.pipes.push(t)}l.pipesCount+=1,M("pipe count=%d opts=%j",l.pipesCount,n);var d=(!n||n.end!==!1)&&t!==e.stdout&&t!==e.stderr,y=d?o:s;l.endEmitted?L(y):p.once("end",y),t.on("unpipe",i);var _=g(p);t.on("drain",_);var v=!1,w=!1;return p.on("data",a),r(t,"error",c),t.once("close",u),t.once("finish",f),t.emit("pipe",p),l.flowing||(M("pipe resume"),p.resume()),t},o.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var i=0;i<r;i++)n[i].emit("unpipe",this);return this}var o=R(e.pipes,t);return o===-1?this:(e.pipes.splice(o,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this),this)},o.prototype.on=function(t,e){var n=x.prototype.on.call(this,t,e);if("data"===t)this._readableState.flowing!==!1&&this.resume();else if("readable"===t){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&p(this,r):L(_,this))}return n},o.prototype.addListener=o.prototype.on,o.prototype.resume=function(){var t=this._readableState;return t.flowing||(M("resume"),t.flowing=!0,v(this,t)),this},o.prototype.pause=function(){return M("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(M("pause"),this._readableState.flowing=!1,this.emit("pause")),this},o.prototype.wrap=function(t){var e=this._readableState,n=!1,r=this;t.on("end",function(){if(M("wrapped end"),e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&r.push(t)}r.push(null)}),t.on("data",function(i){if(M("wrapped data"),e.decoder&&(i=e.decoder.write(i)),(!e.objectMode||null!==i&&void 0!==i)&&(e.objectMode||i&&i.length)){var o=r.push(i);o||(n=!0,t.pause())}});for(var i in t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));var o=["error","close","destroy","pause","resume"];return F(o,function(e){t.on(e,r.emit.bind(r,e))}),r._read=function(e){M("wrapped _read",e),n&&(n=!1,t.resume())},r},o._fromList=E}).call(e,n(3))},function(t,e,n){function r(t){if(t&&!c(t))throw new Error("Unknown encoding: "+t)}function i(t){return t.toString(this.encoding)}function o(t){this.charReceived=t.length%2,this.charLength=this.charReceived?2:0}function s(t){this.charReceived=t.length%3,this.charLength=this.charReceived?3:0}var a=n(1).Buffer,c=a.isEncoding||function(t){switch(t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},u=e.StringDecoder=function(t){switch(this.encoding=(t||"utf8").toLowerCase().replace(/[-_]/,""),r(t),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=o;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=s;break;default:return void(this.write=i)}this.charBuffer=new a(6),this.charReceived=0,this.charLength=0};u.prototype.write=function(t){for(var e="";this.charLength;){var n=t.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:t.length;if(t.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";t=t.slice(n,t.length),e=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var r=e.charCodeAt(e.length-1);if(!(r>=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===t.length)return e;break}this.charLength+=this.surrogateSize,e=""}this.detectIncompleteChar(t);var i=t.length;this.charLength&&(t.copy(this.charBuffer,0,t.length-this.charReceived,i),i-=this.charReceived),e+=t.toString(this.encoding,0,i);var i=e.length-1,r=e.charCodeAt(i);if(r>=55296&&r<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),t.copy(this.charBuffer,0,0,o),e.substring(0,i)}return e},u.prototype.detectIncompleteChar=function(t){for(var e=t.length>=3?3:t.length;e>0;e--){var n=t[t.length-e];if(1==e&&n>>5==6){this.charLength=2;break}if(e<=2&&n>>4==14){this.charLength=3;break}if(e<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=e},u.prototype.end=function(t){var e="";if(t&&t.length&&(e=this.write(t)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;e+=r.slice(0,n).toString(i)}return e}},function(t,e){"use strict";function n(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function r(t){return 3*t.length/4-n(t)}function i(t){var e,r,i,o,s,a,c=t.length;s=n(t),a=new f(3*c/4-s),i=s>0?c-4:c;var h=0;for(e=0,r=0;e<i;e+=4,r+=3)o=u[t.charCodeAt(e)]<<18|u[t.charCodeAt(e+1)]<<12|u[t.charCodeAt(e+2)]<<6|u[t.charCodeAt(e+3)],a[h++]=o>>16&255,a[h++]=o>>8&255,a[h++]=255&o;return 2===s?(o=u[t.charCodeAt(e)]<<2|u[t.charCodeAt(e+1)]>>4,a[h++]=255&o):1===s&&(o=u[t.charCodeAt(e)]<<10|u[t.charCodeAt(e+1)]<<4|u[t.charCodeAt(e+2)]>>2,a[h++]=o>>8&255,a[h++]=255&o),a}function o(t){return c[t>>18&63]+c[t>>12&63]+c[t>>6&63]+c[63&t]}function s(t,e,n){for(var r,i=[],s=e;s<n;s+=3)r=(t[s]<<16)+(t[s+1]<<8)+t[s+2],i.push(o(r));return i.join("")}function a(t){for(var e,n=t.length,r=n%3,i="",o=[],a=16383,u=0,f=n-r;u<f;u+=a)o.push(s(t,u,u+a>f?f:u+a));return 1===r?(e=t[n-1],i+=c[e>>2],i+=c[e<<4&63],i+="=="):2===r&&(e=(t[n-2]<<8)+t[n-1],i+=c[e>>10],i+=c[e>>4&63],i+=c[e<<2&63],i+="="),o.push(i),o.join("")}e.byteLength=r,e.toByteArray=i,e.fromByteArray=a;for(var c=[],u=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p=0,l=h.length;p<l;++p)c[p]=h[p],u[h.charCodeAt(p)]=p;u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},function(t,e,n){(function(e){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=n(6),o=null,s=function(){function t(t,e){this.fun=t,this.array=e}return t.prototype.run=function(){this.fun.apply(null,this.array)},t}(),a=function(){function t(){this._queue=[],this._draining=!1,this._currentQueue=null,this._queueIndex=-1}return t.prototype.push=function(t){var e=this;1!==this._queue.push(t)||this._draining||setTimeout(function(){return e._drainQueue()},0)},t.prototype._cleanUpNextTick=function(){this._draining=!1,this._currentQueue&&this._currentQueue.length?this._queue=this._currentQueue.concat(this._queue):this._queueIndex=-1,this._queue.length&&this._drainQueue()},t.prototype._drainQueue=function(){var t=this;if(!this._draining){var e=setTimeout(function(){return t._cleanUpNextTick()});this._draining=!0;for(var n=this._queue.length;n;){for(this._currentQueue=this._queue,this._queue=[];++this._queueIndex<n;)this._currentQueue&&this._currentQueue[this._queueIndex].run();this._queueIndex=-1,n=this._queue.length}this._currentQueue=null,this._draining=!1,clearTimeout(e)}},t}(),c=function(t){function i(){t.apply(this,arguments),this.startTime=Date.now(),this._cwd="/",this.platform="browser",this.argv=[],this.execArgv=[],this.stdout=null,this.stderr=null,this.stdin=null,this.domain=null,this._queue=new a,this.execPath=e,this.env={},this.exitCode=0,this._gid=1,this._uid=1,this.version="v5.0",this.versions={http_parser:"0.0",node:"5.0",v8:"0.0",uv:"0.0",zlib:"0.0",ares:"0.0",icu:"0.0",modules:"0",openssl:"0.0"},this.config={target_defaults:{cflags:[],default_configuration:"Release",defines:[],include_dirs:[],libraries:[]},variables:{clang:0,host_arch:"x32",node_install_npm:!1,node_install_waf:!1,node_prefix:"",node_shared_cares:!1,node_shared_http_parser:!1,node_shared_libuv:!1,node_shared_zlib:!1,node_shared_v8:!1,node_use_dtrace:!1,node_use_etw:!1,node_use_openssl:!1,node_shared_openssl:!1,strict_aliasing:!1,target_arch:"x32",v8_use_snapshot:!1,v8_no_strict_aliasing:0,visibility:""}},this.pid=1e3*Math.random()|0,this.title="node",this.arch="x32",this._mask=18,this.connected=void 0}return r(i,t),i.prototype.chdir=function(t){null===o&&(o=n(14)),this._cwd=o.resolve(t)},i.prototype.cwd=function(){return this._cwd},i.prototype.uptime=function(){return(Date.now()-this.startTime)/1e3|0},i.prototype.nextTick=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];this._queue.push(new s(t,e))},i.prototype.abort=function(){this.emit("abort")},i.prototype.exit=function(t){this.exitCode=t,this.emit("exit",[t])},i.prototype.getgid=function(){return this._gid},i.prototype.setgid=function(t){"number"==typeof t?this._gid=t:this._gid=1},i.prototype.getuid=function(){return this._uid},i.prototype.setuid=function(t){"number"==typeof t?this._uid=t:this._uid=1},i.prototype.kill=function(t,e){this.emit("kill",[t,e])},i.prototype.memoryUsage=function(){return{rss:0,heapTotal:0,heapUsed:0}},i.prototype.umask=function(t){void 0===t&&(t=this._mask);var e=this._mask;return this._mask=t,this.emit("umask",[t]),e},i.prototype.hrtime=function(){var t;t="undefined"!=typeof performance?performance.now():Date.now?Date.now():(new Date).getTime();var e=t/1e3|0;return t-=1e3*e,t=1e6*t|0,[e,t]},i.prototype.initializeTTYs=function(){if(null===this.stdout){var t=n(20);this.stdout=new t,this.stderr=new t,this.stdin=new t}},i.prototype.disconnect=function(){},i}(i.EventEmitter);t.exports=c}).call(e,"/")},function(t,e,n){(function(e){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=n(9),o=function(t){function n(){t.call(this),this.isRaw=!1,this.columns=80,this.rows=120,this.isTTY=!0,this._bufferedWrites=[],this._waitingForWrites=!1}return r(n,t),n.prototype.setRawMode=function(t){this.isRaw!==t&&(this.isRaw=t,this.emit("modeChange"))},n.prototype.changeColumns=function(t){t!==this.columns&&(this.columns=t,this.emit("resize"))},n.prototype.changeRows=function(t){t!==this.rows&&(this.rows=t,this.emit("resize"))},n.isatty=function(t){return t&&t instanceof n},n.prototype._write=function(t,n,r){var i;try{var o;o="string"==typeof t?new e(t,n):t,this._bufferedWrites.push(o),this._waitingForWrites&&this._read(1024)}catch(t){i=t}finally{r(i)}},n.prototype._read=function(t){if(0===this._bufferedWrites.length)this._waitingForWrites=!0;else for(;this._bufferedWrites.length>0&&(this._waitingForWrites=this.push(this._bufferedWrites.shift()),this._waitingForWrites););},n}(i.Duplex);t.exports=o}).call(e,n(7))},function(t,e){e.read=function(t,e,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,u=c>>1,f=-7,h=n?i-1:0,p=n?-1:1,l=t[e+h];for(h+=p,o=l&(1<<-f)-1,l>>=-f,f+=a;f>0;o=256*o+t[e+h],h+=p,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=r;f>0;s=256*s+t[e+h],h+=p,f-=8);if(0===o)o=1-u;else{if(o===c)return s?NaN:(l?-1:1)*(1/0);s+=Math.pow(2,r),o-=u}return(l?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var s,a,c,u=8*o-i-1,f=(1<<u)-1,h=f>>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,l=r?0:o-1,d=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),e+=s+h>=1?p/c:p*Math.pow(2,1-h),e*c>=2&&(s++,c/=2),s+h>=f?(a=0,s=f):s+h>=1?(a=(e*c-1)*Math.pow(2,i),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[n+l]=255&a,l+=d,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;t[n+l]=255&s,l+=d,s/=256,u-=8);t[n+l-d]|=128*y}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){"use strict";function r(t){if(!(this instanceof r))return new r(t);this.options=a.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var n=s.inflateInit2(this.strm,e.windowBits);if(n!==u.Z_OK)throw new Error(f[n]);this.header=new p,s.inflateGetHeader(this.strm,this.header)}function i(t,e){var n=new r(e);if(n.push(t,!0),n.err)throw n.msg||f[n.err];return n.result}function o(t,e){return e=e||{},e.raw=!0,i(t,e)}var s=n(30),a=n(8),c=n(24),u=n(26),f=n(32),h=n(33),p=n(28),l=Object.prototype.toString;r.prototype.push=function(t,e){var n,r,i,o,f,h,p=this.strm,d=this.options.chunkSize,y=this.options.dictionary,g=!1;if(this.ended)return!1;r=e===~~e?e:e===!0?u.Z_FINISH:u.Z_NO_FLUSH,"string"==typeof t?p.input=c.binstring2buf(t):"[object ArrayBuffer]"===l.call(t)?p.input=new Uint8Array(t):p.input=t,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new a.Buf8(d),p.next_out=0,p.avail_out=d),n=s.inflate(p,u.Z_NO_FLUSH),n===u.Z_NEED_DICT&&y&&(h="string"==typeof y?c.string2buf(y):"[object ArrayBuffer]"===l.call(y)?new Uint8Array(y):y,n=s.inflateSetDictionary(this.strm,h)),n===u.Z_BUF_ERROR&&g===!0&&(n=u.Z_OK,g=!1),n!==u.Z_STREAM_END&&n!==u.Z_OK)return this.onEnd(n),this.ended=!0,!1;p.next_out&&(0!==p.avail_out&&n!==u.Z_STREAM_END&&(0!==p.avail_in||r!==u.Z_FINISH&&r!==u.Z_SYNC_FLUSH)||("string"===this.options.to?(i=c.utf8border(p.output,p.next_out),o=p.next_out-i,f=c.buf2string(p.output,i),p.next_out=o,p.avail_out=d-o,o&&a.arraySet(p.output,p.output,i,o,0),this.onData(f)):this.onData(a.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(g=!0)}while((p.avail_in>0||0===p.avail_out)&&n!==u.Z_STREAM_END);return n===u.Z_STREAM_END&&(r=u.Z_FINISH),r===u.Z_FINISH?(n=s.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===u.Z_OK):r!==u.Z_SYNC_FLUSH||(this.onEnd(u.Z_OK),p.avail_out=0,!0)},r.prototype.onData=function(t){this.chunks.push(t)},r.prototype.onEnd=function(t){t===u.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=r,e.inflate=i,e.inflateRaw=o,e.ungzip=i},function(t,e,n){"use strict";function r(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&o))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var n="",r=0;r<e;r++)n+=String.fromCharCode(t[r]);return n}var i=n(8),o=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var a=new i.Buf8(256),c=0;c<256;c++)a[c]=c>=252?6:c>=248?5:c>=240?4:c>=224?3:c>=192?2:1;a[254]=a[254]=1,e.string2buf=function(t){var e,n,r,o,s,a=t.length,c=0;for(o=0;o<a;o++)n=t.charCodeAt(o),55296===(64512&n)&&o+1<a&&(r=t.charCodeAt(o+1),56320===(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),o++)),c+=n<128?1:n<2048?2:n<65536?3:4;for(e=new i.Buf8(c),s=0,o=0;s<c;o++)n=t.charCodeAt(o),55296===(64512&n)&&o+1<a&&(r=t.charCodeAt(o+1),56320===(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),o++)),n<128?e[s++]=n:n<2048?(e[s++]=192|n>>>6,e[s++]=128|63&n):n<65536?(e[s++]=224|n>>>12,e[s++]=128|n>>>6&63,e[s++]=128|63&n):(e[s++]=240|n>>>18,e[s++]=128|n>>>12&63,e[s++]=128|n>>>6&63,e[s++]=128|63&n);return e},e.buf2binstring=function(t){return r(t,t.length)},e.binstring2buf=function(t){for(var e=new i.Buf8(t.length),n=0,r=e.length;n<r;n++)e[n]=t.charCodeAt(n);return e},e.buf2string=function(t,e){var n,i,o,s,c=e||t.length,u=new Array(2*c);for(i=0,n=0;n<c;)if(o=t[n++],o<128)u[i++]=o;else if(s=a[o],s>4)u[i++]=65533,n+=s-1;else{for(o&=2===s?31:3===s?15:7;s>1&&n<c;)o=o<<6|63&t[n++],s--;s>1?u[i++]=65533:o<65536?u[i++]=o:(o-=65536,u[i++]=55296|o>>10&1023,u[i++]=56320|1023&o)}return r(u,i)},e.utf8border=function(t,e){var n;for(e=e||t.length,e>t.length&&(e=t.length),n=e-1;n>=0&&128===(192&t[n]);)n--;return n<0?e:0===n?e:n+a[t[n]]>e?n:e}},function(t,e){"use strict";function n(t,e,n,r){for(var i=65535&t|0,o=t>>>16&65535|0,s=0;0!==n;){s=n>2e3?2e3:n,n-=s;do i=i+e[r++]|0,o=o+i|0;while(--s);i%=65521,o%=65521}return i|o<<16|0}t.exports=n},function(t,e){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e){"use strict";function n(){for(var t,e=[],n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}function r(t,e,n,r){var o=i,s=r+n;t^=-1;for(var a=r;a<s;a++)t=t>>>8^o[255&(t^e[a])];return t^-1}var i=n();t.exports=r},function(t,e){"use strict";function n(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}t.exports=n},function(t,e){"use strict";var n=30,r=12;t.exports=function(t,e){var i,o,s,a,c,u,f,h,p,l,d,y,g,_,v,w,m,E,S,b,k,I,O,F,R;i=t.state,o=t.next_in,F=t.input,s=o+(t.avail_in-5),a=t.next_out,R=t.output,c=a-(e-t.avail_out),u=a+(t.avail_out-257),f=i.dmax,h=i.wsize,p=i.whave,l=i.wnext,d=i.window,y=i.hold,g=i.bits,_=i.lencode,v=i.distcode,w=(1<<i.lenbits)-1,m=(1<<i.distbits)-1;t:do{g<15&&(y+=F[o++]<<g,g+=8,y+=F[o++]<<g,g+=8),E=_[y&w];e:for(;;){if(S=E>>>24,y>>>=S,g-=S,S=E>>>16&255,0===S)R[a++]=65535&E;else{if(!(16&S)){if(0===(64&S)){E=_[(65535&E)+(y&(1<<S)-1)];continue e}if(32&S){i.mode=r;break t}t.msg="invalid literal/length code",i.mode=n;break t}b=65535&E,S&=15,S&&(g<S&&(y+=F[o++]<<g,g+=8),b+=y&(1<<S)-1,y>>>=S,g-=S),g<15&&(y+=F[o++]<<g,g+=8,y+=F[o++]<<g,g+=8),E=v[y&m];n:for(;;){if(S=E>>>24,y>>>=S,g-=S,S=E>>>16&255,!(16&S)){if(0===(64&S)){E=v[(65535&E)+(y&(1<<S)-1)];continue n}t.msg="invalid distance code",i.mode=n;break t}if(k=65535&E,S&=15,g<S&&(y+=F[o++]<<g,g+=8,g<S&&(y+=F[o++]<<g,g+=8)),k+=y&(1<<S)-1,k>f){t.msg="invalid distance too far back",i.mode=n;break t}if(y>>>=S,g-=S,S=a-c,k>S){if(S=k-S,S>p&&i.sane){t.msg="invalid distance too far back",i.mode=n;break t}if(I=0,O=d,0===l){if(I+=h-S,S<b){b-=S;do R[a++]=d[I++];while(--S);I=a-k,O=R}}else if(l<S){if(I+=h+l-S,S-=l,S<b){b-=S;do R[a++]=d[I++];while(--S);if(I=0,l<b){S=l,b-=S;do R[a++]=d[I++];while(--S);I=a-k,O=R}}}else if(I+=l-S,S<b){b-=S;do R[a++]=d[I++];while(--S);I=a-k,O=R}for(;b>2;)R[a++]=O[I++],R[a++]=O[I++],R[a++]=O[I++],b-=3;b&&(R[a++]=O[I++],b>1&&(R[a++]=O[I++]))}else{I=a-k;do R[a++]=R[I++],R[a++]=R[I++],R[a++]=R[I++],b-=3;while(b>2);b&&(R[a++]=R[I++],b>1&&(R[a++]=R[I++]))}break}}break}}while(o<s&&a<u);b=g>>3,o-=b,g-=b<<3,y&=(1<<g)-1,t.next_in=o,t.next_out=a,t.avail_in=o<s?5+(s-o):5-(o-s),t.avail_out=a<u?257+(u-a):257-(a-u),i.hold=y,i.bits=g}},function(t,e,n){"use strict";function r(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function i(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new v.Buf16(320),this.work=new v.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function o(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=U,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new v.Buf32(yt),e.distcode=e.distdyn=new v.Buf32(gt),e.sane=1,e.back=-1,N):x}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,o(t)):x}function a(t,e){var n,r;return t&&t.state?(r=t.state,e<0?(n=0,e=-e):(n=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?x:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,s(t))):x}function c(t,e){var n,r;return t?(r=new i,t.state=r,r.window=null,n=a(t,e),n!==N&&(t.state=null),n):x}function u(t){return c(t,vt)}function f(t){if(wt){var e;for(g=new v.Buf32(512),_=new v.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(S(k,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;S(I,t.lens,0,32,_,0,t.work,{bits:5}),wt=!1}t.lencode=g,t.lenbits=9,t.distcode=_,t.distbits=5}function h(t,e,n,r){var i,o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new v.Buf8(o.wsize)),r>=o.wsize?(v.arraySet(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>r&&(i=r),v.arraySet(o.window,e,n-r,i,o.wnext),r-=i,r?(v.arraySet(o.window,e,n-r,r,0),o.wnext=r,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=i))),0}function p(t,e){var n,i,o,s,a,c,u,p,l,d,y,g,_,yt,gt,_t,vt,wt,mt,Et,St,bt,kt,It,Ot=0,Ft=new v.Buf8(4),Rt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return x;n=t.state,n.mode===X&&(n.mode=K),a=t.next_out,o=t.output,u=t.avail_out,s=t.next_in,i=t.input,c=t.avail_in,p=n.hold,l=n.bits,d=c,y=u,bt=N;t:for(;;)switch(n.mode){case U:if(0===n.wrap){n.mode=K;break}for(;l<16;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(2&n.wrap&&35615===p){n.check=0,Ft[0]=255&p,Ft[1]=p>>>8&255,n.check=m(n.check,Ft,2,0),p=0,l=0,n.mode=M;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&p)<<8)+(p>>8))%31){t.msg="incorrect header check",n.mode=pt;break}if((15&p)!==C){t.msg="unknown compression method",n.mode=pt;break}if(p>>>=4,l-=4,St=(15&p)+8,0===n.wbits)n.wbits=St;else if(St>n.wbits){t.msg="invalid window size",n.mode=pt;break}n.dmax=1<<St,t.adler=n.check=1,n.mode=512&p?Z:X,p=0,l=0;break;case M:for(;l<16;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(n.flags=p,(255&n.flags)!==C){t.msg="unknown compression method",n.mode=pt;break}if(57344&n.flags){t.msg="unknown header flags set",n.mode=pt;break}n.head&&(n.head.text=p>>8&1),512&n.flags&&(Ft[0]=255&p,Ft[1]=p>>>8&255,n.check=m(n.check,Ft,2,0)),p=0,l=0,n.mode=B;case B:for(;l<32;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}n.head&&(n.head.time=p),512&n.flags&&(Ft[0]=255&p,Ft[1]=p>>>8&255,Ft[2]=p>>>16&255,Ft[3]=p>>>24&255,n.check=m(n.check,Ft,4,0)),p=0,l=0,n.mode=j;case j:for(;l<16;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}n.head&&(n.head.xflags=255&p,n.head.os=p>>8),512&n.flags&&(Ft[0]=255&p,Ft[1]=p>>>8&255,n.check=m(n.check,Ft,2,0)),p=0,l=0,n.mode=z;case z:if(1024&n.flags){for(;l<16;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}n.length=p,n.head&&(n.head.extra_len=p),512&n.flags&&(Ft[0]=255&p,Ft[1]=p>>>8&255,n.check=m(n.check,Ft,2,0)),p=0,l=0}else n.head&&(n.head.extra=null);n.mode=q;case q:if(1024&n.flags&&(g=n.length,g>c&&(g=c),g&&(n.head&&(St=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),v.arraySet(n.head.extra,i,s,g,St)),512&n.flags&&(n.check=m(n.check,i,g,s)),c-=g,s+=g,n.length-=g),n.length))break t;n.length=0,n.mode=V;case V:if(2048&n.flags){if(0===c)break t;g=0;do St=i[s+g++],n.head&&St&&n.length<65536&&(n.head.name+=String.fromCharCode(St));while(St&&g<c);if(512&n.flags&&(n.check=m(n.check,i,g,s)),c-=g,s+=g,St)break t}else n.head&&(n.head.name=null);n.length=0,n.mode=W;case W:if(4096&n.flags){if(0===c)break t;g=0;do St=i[s+g++],n.head&&St&&n.length<65536&&(n.head.comment+=String.fromCharCode(St));while(St&&g<c);if(512&n.flags&&(n.check=m(n.check,i,g,s)),c-=g,s+=g,St)break t}else n.head&&(n.head.comment=null);n.mode=H;case H:if(512&n.flags){for(;l<16;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(p!==(65535&n.check)){t.msg="header crc mismatch",n.mode=pt;break}p=0,l=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=X;break;case Z:for(;l<32;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}t.adler=n.check=r(p),p=0,l=0,n.mode=Y;case Y:if(0===n.havedict)return t.next_out=a,t.avail_out=u,t.next_in=s,t.avail_in=c,n.hold=p,n.bits=l,T;t.adler=n.check=1,n.mode=X;case X:if(e===F||e===R)break t;case K:if(n.last){p>>>=7&l,l-=7&l,n.mode=ut;break}for(;l<3;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}switch(n.last=1&p,p>>>=1,l-=1,3&p){case 0:n.mode=G;break;case 1:if(f(n),n.mode=nt,e===R){p>>>=2,l-=2;break t}break;case 2:n.mode=$;break;case 3:t.msg="invalid block type",n.mode=pt}p>>>=2,l-=2;break;case G:for(p>>>=7&l,l-=7&l;l<32;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if((65535&p)!==(p>>>16^65535)){t.msg="invalid stored block lengths",n.mode=pt;break}if(n.length=65535&p,p=0,l=0,n.mode=J,e===R)break t;case J:n.mode=Q;case Q:if(g=n.length){if(g>c&&(g=c),g>u&&(g=u),0===g)break t;v.arraySet(o,i,s,g,a),c-=g,s+=g,u-=g,a+=g,n.length-=g;break}n.mode=X;break;case $:for(;l<14;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(n.nlen=(31&p)+257,p>>>=5,l-=5,n.ndist=(31&p)+1,p>>>=5,l-=5,n.ncode=(15&p)+4,p>>>=4,l-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=pt;break}n.have=0,n.mode=tt;case tt:for(;n.have<n.ncode;){for(;l<3;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}n.lens[Rt[n.have++]]=7&p,p>>>=3,l-=3}for(;n.have<19;)n.lens[Rt[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,kt={bits:n.lenbits},bt=S(b,n.lens,0,19,n.lencode,0,n.work,kt),n.lenbits=kt.bits,bt){t.msg="invalid code lengths set",n.mode=pt;break}n.have=0,n.mode=et;case et:for(;n.have<n.nlen+n.ndist;){for(;Ot=n.lencode[p&(1<<n.lenbits)-1],gt=Ot>>>24,_t=Ot>>>16&255,vt=65535&Ot,!(gt<=l);){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(vt<16)p>>>=gt,l-=gt,n.lens[n.have++]=vt;else{if(16===vt){for(It=gt+2;l<It;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(p>>>=gt,l-=gt,0===n.have){t.msg="invalid bit length repeat",n.mode=pt;break}St=n.lens[n.have-1],g=3+(3&p),p>>>=2,l-=2}else if(17===vt){for(It=gt+3;l<It;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}p>>>=gt,l-=gt,St=0,g=3+(7&p),p>>>=3,l-=3}else{for(It=gt+7;l<It;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}p>>>=gt,l-=gt,St=0,g=11+(127&p),p>>>=7,l-=7}if(n.have+g>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=pt;break}for(;g--;)n.lens[n.have++]=St}}if(n.mode===pt)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=pt;break}if(n.lenbits=9,kt={bits:n.lenbits},bt=S(k,n.lens,0,n.nlen,n.lencode,0,n.work,kt),n.lenbits=kt.bits,bt){t.msg="invalid literal/lengths set",n.mode=pt;break}if(n.distbits=6,n.distcode=n.distdyn,kt={bits:n.distbits},bt=S(I,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,kt),n.distbits=kt.bits,bt){t.msg="invalid distances set",n.mode=pt;break}if(n.mode=nt,e===R)break t;case nt:n.mode=rt;case rt:if(c>=6&&u>=258){t.next_out=a,t.avail_out=u,t.next_in=s,t.avail_in=c,n.hold=p,n.bits=l,E(t,y),a=t.next_out,o=t.output,u=t.avail_out,s=t.next_in,i=t.input,c=t.avail_in,p=n.hold,l=n.bits,n.mode===X&&(n.back=-1);break}for(n.back=0;Ot=n.lencode[p&(1<<n.lenbits)-1],gt=Ot>>>24,_t=Ot>>>16&255,vt=65535&Ot,!(gt<=l);){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(_t&&0===(240&_t)){for(wt=gt,mt=_t,Et=vt;Ot=n.lencode[Et+((p&(1<<wt+mt)-1)>>wt)],gt=Ot>>>24,_t=Ot>>>16&255,vt=65535&Ot,!(wt+gt<=l);){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}p>>>=wt,l-=wt,n.back+=wt}if(p>>>=gt,l-=gt,n.back+=gt,n.length=vt,0===_t){n.mode=ct;break}if(32&_t){n.back=-1,n.mode=X;break}if(64&_t){t.msg="invalid literal/length code",n.mode=pt;break}n.extra=15&_t,n.mode=it;case it:if(n.extra){for(It=n.extra;l<It;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}n.length+=p&(1<<n.extra)-1,p>>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=ot;case ot:for(;Ot=n.distcode[p&(1<<n.distbits)-1],gt=Ot>>>24,_t=Ot>>>16&255,vt=65535&Ot,!(gt<=l);){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(0===(240&_t)){for(wt=gt,mt=_t,Et=vt;Ot=n.distcode[Et+((p&(1<<wt+mt)-1)>>wt)],gt=Ot>>>24,_t=Ot>>>16&255,vt=65535&Ot,!(wt+gt<=l);){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}p>>>=wt,l-=wt,n.back+=wt}if(p>>>=gt,l-=gt,n.back+=gt,64&_t){t.msg="invalid distance code",n.mode=pt;break}n.offset=vt,n.extra=15&_t,n.mode=st;case st:if(n.extra){for(It=n.extra;l<It;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}n.offset+=p&(1<<n.extra)-1,p>>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=pt;break}n.mode=at;case at:if(0===u)break t;if(g=y-u,n.offset>g){if(g=n.offset-g,g>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=pt;break}g>n.wnext?(g-=n.wnext,_=n.wsize-g):_=n.wnext-g,g>n.length&&(g=n.length),yt=n.window}else yt=o,_=a-n.offset,g=n.length;g>u&&(g=u),u-=g,n.length-=g;do o[a++]=yt[_++];while(--g);0===n.length&&(n.mode=rt);break;case ct:if(0===u)break t;o[a++]=n.length,u--,n.mode=rt;break;case ut:if(n.wrap){for(;l<32;){if(0===c)break t;c--,p|=i[s++]<<l,l+=8}if(y-=u,t.total_out+=y,n.total+=y,y&&(t.adler=n.check=n.flags?m(n.check,o,y,a-y):w(n.check,o,y,a-y)),y=u,(n.flags?p:r(p))!==n.check){t.msg="incorrect data check",n.mode=pt;break}p=0,l=0}n.mode=ft;case ft:if(n.wrap&&n.flags){for(;l<32;){if(0===c)break t;c--,p+=i[s++]<<l,l+=8}if(p!==(4294967295&n.total)){t.msg="incorrect length check",n.mode=pt;break}p=0,l=0}n.mode=ht;case ht:bt=L;break t;case pt:bt=D;break t;case lt:return A;case dt:default:return x}return t.next_out=a,t.avail_out=u,t.next_in=s,t.avail_in=c,n.hold=p,n.bits=l,(n.wsize||y!==t.avail_out&&n.mode<pt&&(n.mode<ut||e!==O))&&h(t,t.output,t.next_out,y-t.avail_out)?(n.mode=lt,A):(d-=t.avail_in,y-=t.avail_out,t.total_in+=d,t.total_out+=y,n.total+=y,n.wrap&&y&&(t.adler=n.check=n.flags?m(n.check,o,y,t.next_out-y):w(n.check,o,y,t.next_out-y)),t.data_type=n.bits+(n.last?64:0)+(n.mode===X?128:0)+(n.mode===nt||n.mode===J?256:0),(0===d&&0===y||e===O)&&bt===N&&(bt=P),bt)}function l(t){if(!t||!t.state)return x;var e=t.state;return e.window&&(e.window=null),t.state=null,N}function d(t,e){var n;return t&&t.state?(n=t.state,0===(2&n.wrap)?x:(n.head=e,e.done=!1,N)):x}function y(t,e){var n,r,i,o=e.length;return t&&t.state?(n=t.state,0!==n.wrap&&n.mode!==Y?x:n.mode===Y&&(r=1,r=w(r,e,o,0),r!==n.check)?D:(i=h(t,e,o,o))?(n.mode=lt,A):(n.havedict=1,N)):x}var g,_,v=n(8),w=n(25),m=n(27),E=n(29),S=n(31),b=0,k=1,I=2,O=4,F=5,R=6,N=0,L=1,T=2,x=-2,D=-3,A=-4,P=-5,C=8,U=1,M=2,B=3,j=4,z=5,q=6,V=7,W=8,H=9,Z=10,Y=11,X=12,K=13,G=14,J=15,Q=16,$=17,tt=18,et=19,nt=20,rt=21,it=22,ot=23,st=24,at=25,ct=26,ut=27,ft=28,ht=29,pt=30,lt=31,dt=32,yt=852,gt=592,_t=15,vt=_t,wt=!0;e.inflateReset=s,e.inflateReset2=a,e.inflateResetKeep=o,e.inflateInit=u,e.inflateInit2=c,e.inflate=p,e.inflateEnd=l,e.inflateGetHeader=d,e.inflateSetDictionary=y,e.inflateInfo="pako inflate (from Nodeca project)"},function(t,e,n){"use strict";var r=n(8),i=15,o=852,s=592,a=0,c=1,u=2,f=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],h=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],p=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],l=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(t,e,n,d,y,g,_,v){var w,m,E,S,b,k,I,O,F,R=v.bits,N=0,L=0,T=0,x=0,D=0,A=0,P=0,C=0,U=0,M=0,B=null,j=0,z=new r.Buf16(i+1),q=new r.Buf16(i+1),V=null,W=0;for(N=0;N<=i;N++)z[N]=0;for(L=0;L<d;L++)z[e[n+L]]++;for(D=R,x=i;x>=1&&0===z[x];x--);if(D>x&&(D=x),0===x)return y[g++]=20971520,y[g++]=20971520,v.bits=1,0;for(T=1;T<x&&0===z[T];T++);for(D<T&&(D=T),C=1,N=1;N<=i;N++)if(C<<=1,C-=z[N],C<0)return-1;if(C>0&&(t===a||1!==x))return-1;for(q[1]=0,N=1;N<i;N++)q[N+1]=q[N]+z[N];for(L=0;L<d;L++)0!==e[n+L]&&(_[q[e[n+L]]++]=L);if(t===a?(B=V=_,k=19):t===c?(B=f,j-=257,V=h,W-=257,k=256):(B=p,V=l,k=-1),M=0,L=0,N=T,b=g,A=D,P=0,E=-1,U=1<<D,S=U-1,t===c&&U>o||t===u&&U>s)return 1;for(;;){I=N-P,_[L]<k?(O=0,F=_[L]):_[L]>k?(O=V[W+_[L]],F=B[j+_[L]]):(O=96,F=0),w=1<<N-P,m=1<<A,T=m;do m-=w,y[b+(M>>P)+m]=I<<24|O<<16|F|0;while(0!==m);for(w=1<<N-1;M&w;)w>>=1;if(0!==w?(M&=w-1,M+=w):M=0,L++,0===--z[N]){if(N===x)break;N=e[n+_[L]]}if(N>D&&(M&S)!==E){for(0===P&&(P=D),b+=T,A=N-P,C=1<<A;A+P<x&&(C-=z[A+P],!(C<=0));)A++,C<<=1;if(U+=1<<A,t===c&&U>o||t===u&&U>s)return 1;E=M&S,y[E]=D<<24|A<<16|b-g|0}}return 0!==M&&(y[b+M]=N-P<<24|64<<16|0),v.bits=D,0}},function(t,e){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(t,e){"use strict";function n(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}t.exports=n},function(t,e,n){t.exports=n(2)},function(t,e,n){"use strict";function r(){this.head=null,this.tail=null,this.length=0}var i=(n(1).Buffer,n(10));t.exports=r,r.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},r.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},r.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},r.prototype.clear=function(){this.head=this.tail=null,this.length=0},r.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},r.prototype.concat=function(t){if(0===this.length)return i.alloc(0);if(1===this.length)return this.head.data;for(var e=i.allocUnsafe(t>>>0),n=this.head,r=0;n;)n.data.copy(e,r),r+=n.data.length,n=n.next;return e}},function(t,e,n){t.exports=n(15)},function(t,e,n){(function(r){var i=function(){try{return n(9)}catch(t){}}();e=t.exports=n(16),e.Stream=i||e,e.Readable=e,e.Writable=n(13),e.Duplex=n(2),e.Transform=n(12),e.PassThrough=n(15),!r.browser&&"disable"===r.env.READABLE_STREAM&&i&&(t.exports=i)}).call(e,n(3))},function(t,e,n){t.exports=n(12)},function(t,e,n){t.exports=n(13)},function(t,e){(function(e){function n(t,e){function n(){if(!i){if(r("throwDeprecation"))throw new Error(e);r("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}if(r("noDeprecation"))return t;var i=!1;return n}function r(t){try{if(!e.localStorage)return!1}catch(t){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=n}).call(e,function(){return this}())},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){}])});
// es6-promise.min.js
(function(){"use strict";function t(t){return"function"==typeof t}var e=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};Date.now;function n(){}Object.create;var r=0,o=function(t,e){_[r]=t,_[r+1]=e,2===(r+=2)&&a()},i="undefined"!=typeof window?window:{},s=i.MutationObserver||i.WebKitMutationObserver,u="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;var a,c,f,l,h,_=new Array(1e3);function p(){for(var t=0;t<r;t+=2){(0,_[t])(_[t+1]),_[t]=void 0,_[t+1]=void 0}r=0}function d(){}"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?a=function(){process.nextTick(p)}:s?(f=0,l=new s(p),h=document.createTextNode(""),l.observe(h,{characterData:!0}),a=function(){h.data=f=++f%2}):u?((c=new MessageChannel).port1.onmessage=p,a=function(){c.port2.postMessage(0)}):a=function(){setTimeout(p,1)};var v=void 0,y=1,m=2,w=new M;function b(e,n){if(n.constructor===e.constructor)u=e,(a=n)._state===y?j(u,a._result):u._state===m?E(u,a._result):P(a,void 0,function(t){g(u,t)},function(t){E(u,t)});else{var r=function(t){try{return t.then}catch(t){return w.error=t,w}}(n);r===w?E(e,w.error):void 0===r?j(e,n):t(r)?(i=n,s=r,o(function(t){var e=!1,n=function(t,e,n,r){try{t.call(e,n,r)}catch(t){return t}}(s,i,function(n){e||(e=!0,i!==n?g(t,n):j(t,n))},function(n){e||(e=!0,E(t,n))},t._label);!e&&n&&(e=!0,E(t,n))},e)):j(e,n)}var i,s,u,a}function g(t,e){var n;t===e?E(t,new TypeError("You cannot resolve a promise with itself")):"function"==typeof(n=e)||"object"==typeof n&&null!==n?b(t,e):j(t,e)}function A(t){t._onerror&&t._onerror(t._result),T(t)}function j(t,e){t._state===v&&(t._result=e,t._state=y,0===t._subscribers.length||o(T,t))}function E(t,e){t._state===v&&(t._state=m,t._result=e,o(A,t))}function P(t,e,n,r){var i=t._subscribers,s=i.length;t._onerror=null,i[s]=e,i[s+y]=n,i[s+m]=r,0===s&&t._state&&o(T,t)}function T(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r,o,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?S(n,r,o,i):o(i);t._subscribers.length=0}}function M(){this.error=null}var O=new M;function S(e,n,r,o){var i,s,u,a,c=t(r);if(c){if((i=function(t,e){try{return t(e)}catch(t){return O.error=t,O}}(r,o))===O?(a=!0,s=i.error,i=null):u=!0,n===i)return void E(n,new TypeError("A promises callback cannot return that same promise."))}else i=o,u=!0;n._state!==v||(c&&u?g(n,i):a?E(n,s):e===y?j(n,i):e===m&&E(n,i))}function k(t,e,n,r){this._instanceConstructor=t,this.promise=new t(d,r),this._abortOnReject=n,this._validateInput(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._init(),0===this.length?j(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&j(this.promise,this._result))):E(this.promise,this._validationError())}k.prototype._validateInput=function(t){return e(t)},k.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},k.prototype._init=function(){this._result=new Array(this.length)};var C=k;k.prototype._enumerate=function(){for(var t=this.length,e=this.promise,n=this._input,r=0;e._state===v&&r<t;r++)this._eachEntry(n[r],r)},k.prototype._eachEntry=function(t,e){var n,r=this._instanceConstructor;"object"==typeof(n=t)&&null!==n?t.constructor===r&&t._state!==v?(t._onerror=null,this._settledAt(t._state,e,t._result)):this._willSettleAt(r.resolve(t),e):(this._remaining--,this._result[e]=this._makeResult(y,e,t))},k.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===v&&(this._remaining--,this._abortOnReject&&t===m?E(r,n):this._result[e]=this._makeResult(t,e,n)),0===this._remaining&&j(r,this._result)},k.prototype._makeResult=function(t,e,n){return n},k.prototype._willSettleAt=function(t,e){var n=this;P(t,void 0,function(t){n._settledAt(y,e,t)},function(t){n._settledAt(m,e,t)})};var R=0;var x=Y;function Y(e){this._id=R++,this._state=void 0,this._result=void 0,this._subscribers=[],d!==e&&(t(e)||function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof Y||function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}(),function(t,e){try{e(function(e){g(t,e)},function(e){E(t,e)})}catch(e){E(t,e)}}(this,e))}Y.all=function(t,e){return new C(this,t,!0,e).promise},Y.race=function(t,n){var r=new this(d,n);if(!e(t))return E(r,new TypeError("You must pass an array to race.")),r;var o=t.length;function i(t){g(r,t)}function s(t){E(r,t)}for(var u=0;r._state===v&&u<o;u++)P(this.resolve(t[u]),void 0,i,s);return r},Y.resolve=function(t,e){if(t&&"object"==typeof t&&t.constructor===this)return t;var n=new this(d,e);return g(n,t),n},Y.reject=function(t,e){var n=new this(d,e);return E(n,t),n},Y.prototype={constructor:Y,then:function(t,e){var n=this._state;if(n===y&&!t||n===m&&!e)return this;var r=new this.constructor(d),i=this._result;if(n){var s=arguments[n-1];o(function(){S(n,r,s,i)})}else P(this,r,t,e);return r},catch:function(t){return this.then(null,t)}};var D={Promise:x,polyfill:function(){var e,n;"Promise"in(e="undefined"!=typeof global?global:"undefined"!=typeof window&&window.document?window:self)&&"resolve"in e.Promise&&"reject"in e.Promise&&"all"in e.Promise&&"race"in e.Promise&&(new e.Promise(function(t){n=t}),t(n))||(e.Promise=x)}};"function"==typeof define&&define.amd?define(function(){return D}):"undefined"!=typeof module&&module.exports?module.exports=D:void 0!==this&&(this.ES6Promise=D)}).call(this);
// pkzip.exe
var pkzipExe = "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";
// _base64toArrayBuffer.js
function _base64ToArrayBuffer(base64){var binary_string = window.atob(base64);var len = binary_string.length;var bytes = new Uint8Array(len);for (var i = 0; i < len; i++){bytes[i] = binary_string.charCodeAt(i);}return bytes.buffer;}
// ZIPFileLoader.js
window.localStorage.clear();(function (Promise){function ZIPFileLoader(){var init_module=function(r){return{arguments:["-conf","/dosbox.conf","-c","@ECHO OFF","-c","mount a /home/web_user -t floppy","-c","SET PATH=Z:\\;A:\\","-c","mount y .","-c","IF EXIST y:/emulator/c/c.img imgmount c y:/emulator/c/c.img","-c","IF EXIST y:/emulator/c/c.img boot -l c","-c","mount -u y","-c","mount c /emulator/c","-c","c:","-c","IF EXIST AUTORUN.BAT AUTORUN.BAT"],screenIsReadOnly:false,print:function(n){},canvas:document.getElementById("containerdosbox"),waitAfterDownloading:false,noInitialRun:false,preInit:function(){BrowserFS.initialize(r);var n=new BrowserFS.EmscriptenFS;FS.mkdir("/emulator");FS.mount(n,{root:"/"},"/emulator");FS.writeFile("/dosbox.conf","[dosbox]\nmemsize=" + CPU_RAMSIZE +"\n[cpu]\ncputype=" + CPU_TYPE);var dataView = new Uint8Array(_base64ToArrayBuffer(pkzipExe));FS.writeFile("/home/web_user/PKZIP.EXE",dataView,{encoding:"binary"},function(err){});}}};var loading=Promise.resolve({files:[{drive:"c",mountpoint:"/c",file:{title:"",url:"",optional:false}}]});loading.then(function (_game_data){return new Promise(function(resolve,reject){window.localStorage.clear();var inMemoryFS=new BrowserFS.FileSystem.InMemory();var AsyncMirrorFS=BrowserFS.FileSystem.AsyncMirror,IndexedDB=BrowserFS.FileSystem.IndexedDB;deltaFS=new AsyncMirrorFS(inMemoryFS,new IndexedDB(function(e,fs){deltaFS=inMemoryFS;finish();},"fileSystemKey" in _game_data?_game_data.fileSystemKey:"RetroArch"));function finish(){game_data=_game_data;game_data.fs=new BrowserFS.FileSystem.OverlayFS(deltaFS,new BrowserFS.FileSystem.MountableFileSystem());game_data.fs.initialize(function(e){if(e){reject();}else{var Buffer=BrowserFS.BFSRequire("buffer").Buffer;function fetch(file){if("data" in file&&file.data!==null&& typeof file.data!=="undefined"){return Promise.resolve(file.data);}return new Promise(function(resolve,reject){var dataView=new Uint8Array(parent.ROMDATA);resolve(dataView);});}function mountat(drive){return function(data){if(data!==null){drive=drive.toLowerCase();var mountpoint="/"+drive;game_data.fs.getOverlayedFileSystems().readable.mount(mountpoint,new BrowserFS.FileSystem.ZipFS(new Buffer(data)));}};}Promise.all(game_data.files.map(function(f){if(f&&f.file){if(f.drive){return fetch(f.file).then(mountat(f.drive));}}return null;})).then(resolve,reject);}});}});}).then(function(game_files){if(!game_data){return null;}return Promise.resolve();},function(){}).then(function(){if(!game_data){return null;}Module=init_module(game_data.fs);if(game_data.emulatorJS){return null;}else{}return null;},function(){});};window.ZIPFileLoader=ZIPFileLoader;})(typeof Promise==="undefined"?ES6Promise.Promise:Promise);
// attachScript.min.js
function attachScript(e){return new Promise(function(t,r){var n;function a(e){e.target==n&&(n.removeEventListener("load",a),n.removeEventListener("error",o),t())}function o(e){e.target==n&&(n.removeEventListener("load",a),n.removeEventListener("error",o),r())}if(e){var i=document.getElementsByTagName("head")[0];(n=document.createElement("script")).addEventListener("load",a),n.addEventListener("error",o),n.type="text/javascript",n.src=e,i.appendChild(n)}})}
// mobile compatibility
var joystick=null;
var JoyStick=function(t,e){var i=void 0===(e=e||{}).title?"joystick":e.title,n=void 0===e.width?0:e.width,o=void 0===e.height?0:e.height,h=void 0===e.internalFillColor?"rgba(0,0,0,0.25)":e.internalFillColor,r=void 0===e.internalLineWidth?2:e.internalLineWidth,d=void 0===e.internalStrokeColor?"rgba(255,255,255,0.175)":e.internalStrokeColor,a=void 0===e.externalLineWidth?2:e.externalLineWidth,l=void 0===e.externalStrokeColor?"rgba(255,255,255,0.175)":e.externalStrokeColor,c=document.getElementById(t),u=document.createElement("canvas");u.id=i,0==n&&(n=c.clientWidth),0==o&&(o=c.clientHeight),u.width=n,u.height=o,c.appendChild(u);var g=u.getContext("2d"),s=0,f=2*Math.PI,v=(u.width-110)/2,w=v+5,p=v+30,C=u.width/2,L=u.height/2,S=u.width/10,W=-1*S,k=u.height/10,E=-1*k,m=C,G=L,x=-1;function y(){g.beginPath(),g.arc(C,L,p,0,f,!1),g.lineWidth=a,g.strokeStyle=l,g.stroke()}function R(){g.beginPath(),m<v&&(m=w),m+v>u.width&&(m=u.width-w),G<v&&(G=w),G+v>u.height&&(G=u.height-w),g.arc(m,G,v,0,f,!1);var t=g.createRadialGradient(C,L,5,C,L,200);t.addColorStop(0,h),t.addColorStop(1,d),g.fillStyle=t,g.fill(),g.lineWidth=r,g.strokeStyle=d,g.stroke()}u.addEventListener("touchstart",function(t){s=1;for(var e=u.getBoundingClientRect(),i=e.left+u.offsetWidth,n=e.top,o=0;o<t.touches.length;o++)t.touches[o].pageX<=i&&t.touches[o].pageY>=n&&(x=o)},!1),u.addEventListener("touchmove",function(t){if(t.preventDefault(),1==s)try{x>-1&&(m=t.touches[x].pageX,G=u.height-(window.innerHeight-t.touches[x].pageY),m-=u.offsetLeft,g.clearRect(0,0,u.width,u.height),y(),R())}catch(t){}},!1),u.addEventListener("touchend",function(t){s=0,x=-1,m=C,G=L,g.clearRect(0,0,u.width,u.height),y(),R()},!1),u.addEventListener("mousedown",function(t){s=1},!1),u.addEventListener("mousemove",function(t){1==s&&(m=t.pageX,G=u.height-(window.innerHeight-t.pageY),m-=u.offsetLeft,G-=u.offsetTop,g.clearRect(0,0,u.width,u.height),y(),R())},!1),u.addEventListener("mouseup",function(t){s=0,m=C,G=L,g.clearRect(0,0,u.width,u.height),y(),R()},!1),y(),R(),this.GetWidth=function(){return u.width},this.GetHeight=function(){return u.height},this.GetPosX=function(){return m},this.GetPosY=function(){return G},this.GetX=function(){return((m-C)/w*100).toFixed()},this.GetY=function(){return((G-L)/w*100*-1).toFixed()},this.GetDir=function(){var t="",e=m-C,i=G-L;return i>=E&&i<=k&&(t="C"),i<E&&(t="N"),i>k&&(t="S"),e<W&&("C"==t?t="W":t+="W"),e>S&&("C"==t?t="E":t+="E"),t}};
function isMobileDevice(){return!!(navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)||navigator.userAgent.match(/Windows Phone/i))}
function sendVirtualKey(eventType,keyCode,charCode){try{var e=document.createEventObject?document.createEventObject():document.createEvent("Events");if(e.initEvent&&e.initEvent(eventType,!0,!0),e.keyCode=keyCode,e.which=keyCode,e.charCode=charCode,"undefined"!=typeof JSEvents&&JSEvents.eventHandlers&&JSEvents.eventHandlers.length>0)for(var i=0;i<JSEvents.eventHandlers.length;++i)JSEvents.eventHandlers[i].target!=Module.canvas&&JSEvents.eventHandlers[i].target!=window||JSEvents.eventHandlers[i].eventTypeString!=eventType||JSEvents.eventHandlers[i].handlerFunc(e);else Module.canvas.dispatchEvent?Module.canvas.dispatchEvent(e):Module.canvas.fireEvent("on"+eventType,e)}catch(e){}}
function showVirtualJoystick(){joystick = new JoyStick("joyDiv");setInterval(function(){var joystickDirection = joystick.GetDir();switch(joystickDirection){case "N":try{sendVirtualKey("keydown",38,38);sendVirtualKey("keyup",40,40);sendVirtualKey("keyup",37,37);sendVirtualKey("keyup",39,39)}catch(err){}break;case "S":try{sendVirtualKey("keydown",40,40);sendVirtualKey("keyup",38,38);sendVirtualKey("keyup",37,37);sendVirtualKey("keyup",39,39)}catch(err){}break;case "W":try{sendVirtualKey("keydown",37,37);sendVirtualKey("keyup",38,38);sendVirtualKey("keyup",40,40);sendVirtualKey("keyup",39,39)}catch(err){}break;case "E":try{sendVirtualKey("keydown",39,39);sendVirtualKey("keyup",38,38);sendVirtualKey("keyup",40,40);sendVirtualKey("keyup",37,37)}catch(err){}break;case "NW":try{sendVirtualKey("keydown",38,38);sendVirtualKey("keydown",37,37);sendVirtualKey("keyup",39,39);sendVirtualKey("keyup",40,40)}catch(err){}break;case "NE":try{sendVirtualKey("keydown",38,38);sendVirtualKey("keydown",39,39);sendVirtualKey("keyup",40,40);sendVirtualKey("keyup",37,37)}catch(err){}break;case "SE":try{sendVirtualKey("keydown",40,40);sendVirtualKey("keydown",39,39);sendVirtualKey("keyup",38,38);sendVirtualKey("keyup",37,47)}catch(err){}break;case "SW":try{sendVirtualKey("keydown",40,40);sendVirtualKey("keydown",37,37);sendVirtualKey("keyup",38,38);sendVirtualKey("keyup",39,49)}catch(err){}break;default:try{sendVirtualKey("keyup",39,39);sendVirtualKey("keyup",38,38);sendVirtualKey("keyup",40,40);sendVirtualKey("keyup",37,37)}catch(err){}break}},25)}
/*
---------------------------------------------------------------------------------------------------------
- FUNCTIONS TO ALLOW TO DOWNLOAD A FILE FROM BROWSERFS -
---------------------------------------------------------------------------------------------------------
*/
function download_Save(filePath,filename)
{
try
{
// READING THE FILE THAT WILL BE DOWNLOADED
var rawReading = FS.readFile("/emulator" + filePath);
var fileAsArray = new Uint8Array(rawReading);
// DOWNLOADING THE FILE
download_Blob(fileAsArray, filename, "application/octet-stream");
// SHOWING THE 'FILE SAVED' LABEL
document.getElementsByClassName("gui_saving")[0].style.display = "block";
// CLEARING THE PREVIOUS TIMEOUT FOR HIDING THE 'FILE SAVED' LABEL (IF ANY)
try{clearTimeout(mySavedGameLabelTimeout)}catch(err){}
// WAITING 3000 MS
mySavedGameLabelTimeout = setTimeout(function()
{
// HIDING THE 'FILE SAVED' LABEL
document.getElementsByClassName("gui_saving")[0].style.display = "none";
}, 3000);
}
catch(err)
{
}
}
function download_Blob(data, fileName, mimeType)
{
// CREATING A BLOB OBJECT WITH THE FILENAME AND DATA
var blob = new Blob([data], {type: mimeType});
// CREATING A URL WITH THE BLOB OBJECT
var url = window.URL.createObjectURL(blob);
// DOWNLOADING THE CONTENT FROM THAT URL
download_URL(url, fileName);
}
function download_URL(data, fileName)
{
// CREATING A CLICKEABLE LINK
var a = document.createElement("a");
// SETTING THE LINK DESTINATION
a.href = data;
// SETTING THE FILENAME FOR THE DOWNLOAD
a.download = fileName;
// ADDING THE LINK TO THE DOCUMENT BODY
document.body.appendChild(a);
// HIDING THE LINK
a.style = "display: none";
// CLICKING ON THE LINK
a.click();
// REMOVING THE LINK
a.remove();
}
function downloadROMState()
{
// CHECKING IF THE EMULATOR IS NOT STARTED AND PREVENTING TO GO ANY FURTHER IF THAT'S THE CASE
if (Emulator_started==false){return}
// CHECKING IF THE FILE DOWNLOAD DIALOG IS VISIBLE
if (document.getElementsByClassName("filedownload_container")[0].style.display == "block")
{
// HIDING THE FILE DOWNLOAD DIALOG
document.getElementsByClassName("filedownload_container")[0].style.display = "none";
}
else
{
// SETTING THE DEFAULT PATH TO THE FILE DOWNLOAD DIALOG
download_PathCurrent = download_PathRoot;
// GETTING THE SYSTEM FILE LIST IN ORDER TO DISPLAY THE FILE DOWNLOAD DIALOG
download_getFileList();
}
}
function download_HideFileList()
{
// SETTING THE DEFAULT PATH TO THE FILE DOWNLOAD DIALOG
download_PathCurrent = download_PathRoot;
// HIDING THE FILE DOWNLOAD DIALOG
document.getElementsByClassName("filedownload_container")[0].style.display = "none";
}
function download_getFileList()
{
// GETTING THE SELECT LIST
var selectList = document.getElementsByClassName("filedownload_select")[0];
// CLEARING THE SELECT LIST
selectList.innerHTML = "";
// GETTING THE CURRENT DOWNLOAD PATH
var pathToShow = download_PathCurrent;
try
{
// REPLACING SLASHES FOR BACKSLASHES
pathToShow = "C:\\" + download_PathCurrent.substr(3,download_PathCurrent.length);
var re = new RegExp("/", "g");
pathToShow = pathToShow.replace(re, "\\");
}
catch(err)
{
}
// UPDATING THE CURRENT LOCATION IN THE FILE LIST DIALOG
document.getElementsByClassName("filedownload_location_value")[0].innerHTML = pathToShow;
// SHOWING THE FILE LIST DIALOG AND HIDING THE FOLDER LIST DIALOG
document.getElementsByClassName("fileupload_container")[0].style.display = "none";
document.getElementsByClassName("filedownload_container")[0].style.display = "block";
try
{
// READING EVERY ITEM WITHIN THE PATH
game_data.fs.readdir(download_PathCurrent, function(myItem, content)
{
// CHECKING IF THE ITEM IS A FOLDER
if (!myItem)
{
// SETTING THE VARIABLES THAT WILL BE STORING THE FOLDER NAMES AND FILE NAMES
var rawListFolders = [];
var rawListFiles = [];
// LOOPING THE CONTENT OF THE FOLDER
for(var i = 0; i < content.length; i++)
{
// CHECKING THE OBJECT TYPE
game_data.fs.readdir(download_PathCurrent + "/" + content[i], function(myItem2, content2)
{
// CHECKING IF THE ITEM IS A FOLDER
if (!myItem2)
{
// ADDING ITEM TO THE FOLDER LIST
rawListFolders.push(content[i]);
}
else
{
// ADDING ITEM TO THE FILE LIST
rawListFiles.push(content[i]);
}
});
}
// CHECKING IF THE CURRENT PATH IS THE ROOT PATH
if (download_PathCurrent!=download_PathRoot)
{
// ADDING THE 'GO BACK TO THE PARENT FOLDER' ITEM
rawListFolders.push("..");
}
// SORTING THE FOLDERS
rawListFolders.sort(function(a,b){if(a.toLowerCase()<b.toLowerCase())return -1;if(a.toLowerCase()>b.toLowerCase())return 1;return 0;});
// SORTING THE FILES
rawListFiles.sort(function(a,b){if(a.toLowerCase()<b.toLowerCase())return -1;if(a.toLowerCase()>b.toLowerCase())return 1;return 0;});
// ADDING THE FOLDERS TO THE SELECT LIST
for(var i = 0; i < rawListFolders.length; i++)
{
var opt = "<div class='filedownload_fileitem' onclick='download_checkContent(\"" + rawListFolders[i] + "\",true)'><span class='filedownload_fileitem_name'><DIR> " + rawListFolders[i].toUpperCase() + "</span></div>";
selectList.innerHTML = selectList.innerHTML + opt;
}
// ADDING THE FILES TO THE SELECT LIST
for(var i = 0; i < rawListFiles.length; i++)
{
var opt = "<div class='filedownload_fileitem' onclick='download_checkContent(\"" + rawListFiles[i] + "\",false)'><span class='filedownload_fileitem_name'>" + rawListFiles[i].toUpperCase() + "</span></div>";
selectList.innerHTML = selectList.innerHTML + opt;
}
}
else
{
// IF THE PATH IS NOT A FOLDER, IT IS A FILE, THAT MUST BE DOWNLOADED
downloadROMState();
}
});
}
catch(err)
{
}
}
function download_checkContent(selectedItemValue,isFolder)
{
try
{
// CHECKING IF IT IS A FOLDER
if (isFolder==true)
{
// CHECKING IF IT IS A 'GO BACK TO THE PARENT FOLDER' ITEM
if (selectedItemValue=="..")
{
// UPDATING THE CURRENT PATH WITH THE PARENT FOLDER
download_PathCurrent = download_PathCurrent.substr(0,download_PathCurrent.lastIndexOf("/"));
}
else
{
// UPDATING THE CURRENT PATH WITH THE SELECTED FOLDER
download_PathCurrent = download_PathCurrent + "/" + selectedItemValue;
}
// CALLING THE FUNCTION THAT GETS THE FILE LIST BUT WITH THE UPDATED PATH
download_getFileList();
}
else
{
// DOWNLOADING THE SELECTED FILE
download_Save(download_PathCurrent + "/" + selectedItemValue,selectedItemValue);
// HIDING THE FILE DOWNLOAD DIALOG
download_HideFileList();
}
}
catch(err)
{
}
}
/*
---------------------------------------------------------------------------------------------------------
- FUNCTIONS TO ALLOW TO UPLOAD A FILE FROM BROWSERFS -
---------------------------------------------------------------------------------------------------------
*/
function uploadROMState()
{
// CHECKING IF THE EMULATOR IS NOT STARTED AND PREVENTING TO GO ANY FURTHER IF THAT'S THE CASE
if (Emulator_started==false){return}
// CLICK THE FILE SELECTOR
document.getElementById("fileupload_uploader").click();
}
function upload_getFile(files)
{
try
{
// CREATING THE FILE READER
var filereader = new FileReader();
// GETTING THE FILENAME
filereader.file_name = files[0].name;
// SETTING THAT WILL HAPPEN WHEN THE FILE IS READ
filereader.onload = function()
{
// SETTING THE FILE CONTENT FOR THE EMULATOR
SAVEDATA = this.result;
SAVENAME = files[0].name;
// CLEARING THE SELECTED FILE VALUE
document.getElementById("fileupload_uploader").value = null;
// GETTING THE SYSTEM FOLDER LIST IN ORDER TO DISPLAY THE FILE UPLOAD DIALOG
upload_getFolderList();
};
// READING THE SELECTED FILE
filereader.readAsArrayBuffer(files[0]);
}
catch(err)
{
}
}
function upload_getFolderList()
{
// GETTING THE SELECT LIST
var selectList = document.getElementsByClassName("fileupload_select")[0];
// CLEARING THE FOLDER LIST
selectList.innerHTML = "";
// GETTING THE CURRENT UPLOAD PATH
var pathToShow = upload_PathCurrent;
try
{
// REPLACING SLASHES FOR BACKSLASHES
pathToShow = "C:\\" + upload_PathCurrent.substr(3,upload_PathCurrent.length);
var re = new RegExp("/", "g");
pathToShow = pathToShow.replace(re, "\\");
}
catch(err)
{
}
// UPDATING THE CURRENT LOCATION IN THE FILE LIST DIALOG
document.getElementsByClassName("fileupload_location_value")[0].innerHTML = pathToShow;
// SHOWING THE FOLDER LIST DIALOG AND HIDING THE FILE LIST DIALOG
document.getElementsByClassName("fileupload_container")[0].style.display = "block";
document.getElementsByClassName("filedownload_container")[0].style.display = "none";
try
{
// READING EVERY ITEM WITHIN THE PATH
game_data.fs.readdir(upload_PathCurrent, function(myItem, content)
{
// CHECKING IF THE ITEM IS A FOLDER
if (!myItem)
{
// SETTING THE VARIABLES THAT WILL BE STORING THE FOLDER NAMES
var rawListFolders = [];
// LOOPING THE CONTENT OF THE FOLDER
for(var i = 0; i < content.length; i++)
{
// CHECKING THE OBJECT TYPE
game_data.fs.readdir(upload_PathCurrent + "/" + content[i], function(myItem2, content2)
{
// CHECKING IF THE ITEM IS A FOLDER
if (!myItem2)
{
// ADDING ITEM TO THE FOLDER LIST
rawListFolders.push(content[i]);
}
});
}
// CHECKING IF THE CURRENT PATH IS THE ROOT PATH
if (upload_PathCurrent!=upload_PathRoot)
{
// ADDING THE 'GO BACK TO THE PARENT FOLDER' ITEM
rawListFolders.push("..");
}
// SORTING THE FOLDERS
rawListFolders.sort(function(a,b){if(a.toLowerCase()<b.toLowerCase())return -1;if(a.toLowerCase()>b.toLowerCase())return 1;return 0;});
// ADDING THE FOLDERS TO THE SELECT LIST
for(var i = 0; i < rawListFolders.length; i++)
{
var opt = "<div class='fileupload_fileitem' onclick='upload_checkContent(\"" + rawListFolders[i] + "\",true)'><span class='fileupload_fileitem_name'><DIR> " + rawListFolders[i].toUpperCase() + "</span></div>";
selectList.innerHTML = selectList.innerHTML + opt;
}
}
});
}
catch(err)
{
}
}
function upload_checkContent(selectedItemValue,isFolder)
{
try
{
// CHECKING IF IT IS A FOLDER
if (isFolder==true)
{
// CHECKING IF IT IS A 'GO BACK TO THE PARENT FOLDER' ITEM
if (selectedItemValue=="..")
{
// UPDATING THE CURRENT PATH WITH THE PARENT FOLDER
upload_PathCurrent = upload_PathCurrent.substr(0,upload_PathCurrent.lastIndexOf("/"));
}
else
{
// UPDATING THE CURRENT PATH WITH THE SELECTED FOLDER
upload_PathCurrent = upload_PathCurrent + "/" + selectedItemValue;
}
// CALLING THE FUNCTION THAT GETS THE FOLDER LIST BUT WITH THE UPDATED PATH
upload_getFolderList();
}
}
catch(err)
{
}
}
function upload_writeFile()
{
try
{
// GETTING THE DATA FOR THE FILE
var dataView = new Uint8Array(SAVEDATA);
// CREATING THE FILE
FS.writeFile("/emulator" + upload_PathCurrent + "/" + SAVENAME, dataView, {encoding: "binary"}, function(err){});
}
catch(err)
{
}
// HIDING THE FILE UPLOAD DIALOG
upload_HideFolderList();
}
function upload_ResetPath()
{
// SETTING THE DEFAULT PATH TO THE FILE UPLOAD DIALOG
upload_PathCurrent = upload_PathRoot;
// GETTING THE SYSTEM FILE LIST IN ORDER TO DISPLAY THE FILE UPLOAD DIALOG
upload_getFolderList();
}
function upload_HideFolderList()
{
// SETTING THE DEFAULT PATH TO THE FILE UPLOAD DIALOG
upload_PathCurrent = upload_PathRoot;
// HIDING THE FILE UPLOAD DIALOG
document.getElementsByClassName("fileupload_container")[0].style.display = "none";
}
/*
---------------------------------------------------------------------------------------------------------
- FUNCTIONS TO INCRESE AND DECREASE CYCLES -
---------------------------------------------------------------------------------------------------------
*/
function decreaseCycles()
{
// PRESSING CTRL+F11
sendVirtualKey("keydown",17,17);
sendVirtualKey("keydown",122,122);
// WAITING 100 MS
setTimeout(function()
{
// RELEASING CTRL+F11
sendVirtualKey("keyup",17,17);
sendVirtualKey("keyup",122,122);
},100);
}
function increaseCycles()
{
// PRESSING CTRL+F12
sendVirtualKey("keydown",17,17);
sendVirtualKey("keydown",123,123);
// WAITING 100 MS
setTimeout(function()
{
// RELEASING CTRL+F12
sendVirtualKey("keyup",17,17);
sendVirtualKey("keyup",123,123);
},100);
}
/*
---------------------------------------------------------------------------------------------------------
- FUNCTION TO TOGGLE SOUND STATUS -
---------------------------------------------------------------------------------------------------------
*/
function toggleSound(GAME_SOUND_ENABLED)
{
// CHECKING IF THE EMULATOR IS NOT STARTED AND PREVENTING TO GO ANY FURTHER IF THAT'S THE CASE
if (Emulator_started==false){return}
// RESUMING THE EMULATION
Emulator_running = true;
// UPDATING THE SOUND STATUS ACCORDING THE USER SETTING
Emulator_soundEnabled = GAME_SOUND_ENABLED;
}
/*
---------------------------------------------------------------------------------------------------------
- FUNCTIONS TO RUN DOSBOX AND SEVERAL EVENTS -
---------------------------------------------------------------------------------------------------------
*/
function loadZipIntoVD()
{
// LOADING AND DECOMPRESSING THE SELECTED ZIP FILE IN THE BROWSER FILE SYSTEM
var zipLoader = new ZIPFileLoader();
// LOADING THE DOSBOX EMULATOR
attachScript("Emulatrix_DOSBox.js");
}
function mouseChecker()
{
// CHECKING IF THE POINTER IS NOT LOCKED IN THE DOSBOX EMULATION
if(document.pointerLockElement!=document.getElementById("containerdosbox"))
{
// CALLING THE PARENT FUNCTION FOR CLEARING THE MOVEMENTS IDLE TIMER
parent.goBackButtonResetIncrement();
}
else
{
// HIDING THE FILE UPLOAD AND DOWNLOAD DIALOGS
document.getElementsByClassName("filedownload_container")[0].style.display = "none";
document.getElementsByClassName("fileupload_container")[0].style.display = "none";
}
}
function detectAltEnter(e)
{
try
{
// GETTING THE KEY EVENT
e = e || window.event;
// CHECKING IF IT IS A ALT+ENTER COMBINATION
if (e.altKey && e.keyCode == 13)
{
// PREVENTING THE EVENT IN ORDER TO NOT SHOW THE BLACK MARGIN BUG
// THAT IT'S DISPLAYED AS A 'FULLSCREEN' MODE
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
}
}
catch(err)
{
}
}
function checkControls()
{
// UPDATING THE SOUND STATUS ACCORDING TO THE USER SETTING
try{Emulator_soundEnabled = parent.getSoundStatus()}catch(err){Emulator_soundEnabled = true;}
// NOTIFYING TO THE PARENT THAT THE EMULATOR IS ALREADY RUNNING AND THAT
// IT CAN SHOW THE ACTION BUTTONS (STATES HANDLER, RESTART, SOUND, ETC.)
parent.enableControls();
// CHECKING IF IT IS A MOBILE DEVICE AND THAT THE MOBILE CONTROLS MUST BE DISPLAYED
if (isMobileDevice()==true && parent.mobileControlsVisible()==true)
{
// SHOWING THE VIRTUAL BUTTONS AND ASSIGNING TOUCHING EVENTS TO EACH ONE OF THEM
document.getElementsByClassName("gui_dosbox_keyesc")[0].style.display = "block";
document.getElementsByClassName("gui_dosbox_keyesc")[0].addEventListener("touchstart",function(event){sendVirtualKey("keydown",27,27)});
document.getElementsByClassName("gui_dosbox_keyesc")[0].addEventListener("touchend",function(event){sendVirtualKey("keyup",27,27)});
document.getElementsByClassName("gui_dosbox_keyalt")[0].style.display = "block";
document.getElementsByClassName("gui_dosbox_keyalt")[0].addEventListener("touchstart",function(event){sendVirtualKey("keydown",18,18)});
document.getElementsByClassName("gui_dosbox_keyalt")[0].addEventListener("touchend",function(event){sendVirtualKey("keyup",18,18)});
document.getElementsByClassName("gui_dosbox_keyctrl")[0].style.display = "block";
document.getElementsByClassName("gui_dosbox_keyctrl")[0].addEventListener("touchstart",function(event){sendVirtualKey("keydown",17,17)});
document.getElementsByClassName("gui_dosbox_keyctrl")[0].addEventListener("touchend",function(event){sendVirtualKey("keyup",17,17)});
document.getElementsByClassName("gui_dosbox_keyshift")[0].style.display = "block";
document.getElementsByClassName("gui_dosbox_keyshift")[0].addEventListener("touchstart",function(event){sendVirtualKey("keydown",16,16)});
document.getElementsByClassName("gui_dosbox_keyshift")[0].addEventListener("touchend",function(event){sendVirtualKey("keyup",16,16)});
document.getElementsByClassName("gui_dosbox_keyenter")[0].style.display = "block";
document.getElementsByClassName("gui_dosbox_keyenter")[0].addEventListener("touchstart",function(event){sendVirtualKey("keydown",13,13)});
document.getElementsByClassName("gui_dosbox_keyenter")[0].addEventListener("touchend",function(event){sendVirtualKey("keyup",13,13)});
document.getElementsByClassName("gui_dosbox_keyspace")[0].style.display = "block";
document.getElementsByClassName("gui_dosbox_keyspace")[0].addEventListener("touchstart",function(event){sendVirtualKey("keydown",32,32)});
document.getElementsByClassName("gui_dosbox_keyspace")[0].addEventListener("touchend",function(event){sendVirtualKey("keyup",32,32)});
// SHOWING THE VIRTUAL JOYSTICK
document.getElementsByClassName("gui_joystick")[0].style.display = "block";
showVirtualJoystick();
}
}
window.addEventListener("blur", function()
{
try
{
// PAUSING THE DOSBOX EMULATION
Emulator_running = false;
}
catch(err)
{
}
});
window.addEventListener("focus", function()
{
try
{
// RESUMING THE DOSBOX EMULATION
Emulator_running = true;
// EXECUTING THE LAST FUNCTION WITH THE LAST TIMEOUT
Browser.safeSetTimeout(DOSBox_lastFunc,DOSBox_lastTimeout);
}
catch(err)
{
}
});
window.addEventListener("load", function()
{
// SHOWING THE CANVAS CONTAINER
document.getElementById("container").style.display="block";
// LOADING THE ZIP FILE AFTER 1000 MS
setTimeout(function(){loadZipIntoVD()},1000);
// SETTING FUNCTIONS THAT WILL BE CALLED WHEN THE USER CLICKS, DOUBLE CLICKS OR MOVES THE MOUSE IN ORDER TO SHOW THE SYSTEM ICONS
document.addEventListener("click", mouseChecker, false);
document.addEventListener("dblclick", mouseChecker, false);
document.addEventListener("mousemove", mouseChecker, false);
document.addEventListener("pointerlockchange", mouseChecker, false);
document.addEventListener("mozpointerlockchange", mouseChecker, false);
document.addEventListener("webkitpointerlockchange", mouseChecker, false);
// BUGFIX FOR FULLSCREEN
document.addEventListener("keydown",function(e){detectAltEnter(e)});
document.addEventListener("keypress",function(e){detectAltEnter(e)});
document.addEventListener("keyup", function(e){detectAltEnter(e)});
// CLEARING THE SELECTED FILE TO UPLOAD VALUE
document.getElementById("fileupload_uploader").value = null;
});
window.onerror = function (msg, url, lineNo, columnNo, error)
{
// SOMETIMES THE DOSBOX SCRIPT WON'T BE SUCCESSFULLY EXECUTED IF THE PAGE TAB IS NOT ACTIVE.
// WINDOW.ONLOAD DOESN'T FIX THIS.
// THAT'S WHY THE CODE BELOW GIVES ANOTHER TRY TO RUN THE DOSBOX SCRIPT WITH THE SELECTED ZIP FILE.
// WAITING 5000 MS
setTimeout(function()
{
// RELOADING THE PAGE
document.location.reload(true);
}, 5000);
return true;
}
</script>
<div class="gui_pleasewait_title"><script>document.write(parent.STRING_STARTINGEMULATOR);</script></div><div class="pleasewait"><div class="lds-spinner"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>
<div id="container">
<canvas id="containerdosbox" oncontextmenu="event.preventDefault()"></canvas>
<div class="gui_joystick" id="joyDiv"></div>
<div class="gui_dosbox_keyesc" oncontextmenu="return false;">ESC</div>
<div class="gui_dosbox_keyalt" oncontextmenu="return false;">ALT</div>
<div class="gui_dosbox_keyctrl" oncontextmenu="return false;">CTRL</div>
<div class="gui_dosbox_keyshift" oncontextmenu="return false;">SHIFT</div>
<div class="gui_dosbox_keyenter" oncontextmenu="return false;">ENTER</div>
<div class="gui_dosbox_keyspace" oncontextmenu="return false;">SPACE</div>
<div class="filedownload_container">
<div class="filedownload_title">
<span class="filedownload_title_value" id="filedownload_title_value"><script>document.write(parent.STRING_DOWNLOADFILE);</script></span>
<div class="filedownload_title_close" onclick="download_HideFileList()">X</div>
</div>
<div class="filedownload_location"><div class="filedownload_location_value"> </div></div>
<div class="filedownload_select"></div>
</div>
<div class="fileupload_container">
<div class="fileupload_title">
<span class="fileupload_title_value" id="fileupload_title_value"><script>document.write(parent.STRING_SELECTFOLDER);</script></span>
<div class="fileupload_title_close" onclick="upload_HideFolderList()">X</div>
</div>
<div class="fileupload_location"><div class="fileupload_location_value"> </div></div>
<div class="fileupload_select"></div>
<div class="fileupload_submit" onclick="upload_writeFile()"><script>document.write(parent.STRING_UPLOADFILE);</script></div>
</div>
<div class="gui_saving"><script>document.write(parent.STRING_SAVED);</script></div>
<input type="file" class="fileupload_uploader" id="fileupload_uploader" onchange="upload_getFile(event.target.files);">
</div>
</body>
</html>